diff --git a/.git2gus/config.json b/.git2gus/config.json new file mode 100644 index 000000000..1c490657b --- /dev/null +++ b/.git2gus/config.json @@ -0,0 +1,10 @@ +{ + "productTag": "a1aB0000000MR0MIAW", + "issueTypeLabels": { + "gus: story": "USER STORY", + "gus: bug": "BUG P4", + "gus: investigation": "INVESTIGATION P4" + }, + "defaultBuild": "Heroku Unscheduled", + "statusWhenClosed": "CLOSED" +} diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS new file mode 100644 index 000000000..25f6404da --- /dev/null +++ b/.github/CODEOWNERS @@ -0,0 +1 @@ +* @heroku/languages diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md new file mode 100644 index 000000000..35d9b7f35 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -0,0 +1,29 @@ +--- +name: Bug report +about: Create a report to help us improve +title: '' +labels: bug +assignees: danielleadams + +--- + + + +**Describe the bug** +A clear and concise description of what the bug is. Please include what the expected behavior is, and log output if you have it. + +**To Reproduce** +Steps to reproduce the behavior: +1. Go to '...' +2. Click on '....' +3. Scroll down to '....' +4. See error + +**Versions (please complete the following information):** + - Heroku Stack: [e.g. `heroku-20`] + - Node Version: [e.g. `15.0.0`] + - NPM or Yarn Version: [e.g. `Yarn 1.22.10`] + - Buildpack Version: [e.g. `heroku/nodejs v175`] (We will try to do our best to support you, but please note that we can only provide support for the latest release of the buildpack.) + +**Additional context** +Add any other context about the problem here. diff --git a/.github/ISSUE_TEMPLATE/enhancement-request.md b/.github/ISSUE_TEMPLATE/enhancement-request.md new file mode 100644 index 000000000..2baf04fa5 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/enhancement-request.md @@ -0,0 +1,20 @@ +--- +name: Enhancement request +about: Suggest an enhancement for this project +title: '' +labels: enhancement +assignees: danielleadams + +--- + +**Is your enhancement request related to a problem? Please describe.** +A clear and concise description of what the problem is. + +**Describe the solution you'd like** +A clear and concise description of what you want to happen. + +**Describe alternatives you've considered** +A clear and concise description of any alternative solutions or features you've considered. + +**Additional context** +Add any other context or screenshots about the feature request here. diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 000000000..7f87ab4ae --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,14 @@ +version: 2 +updates: + - package-ecosystem: "bundler" + directory: "/" + schedule: + interval: "monthly" + - package-ecosystem: "github-actions" + directory: "/" + schedule: + interval: "monthly" + - package-ecosystem: "gomod" + directory: "/" + schedule: + interval: "monthly" diff --git a/.github/workflows/check_changelog.yml b/.github/workflows/check_changelog.yml new file mode 100644 index 000000000..43299aa74 --- /dev/null +++ b/.github/workflows/check_changelog.yml @@ -0,0 +1,25 @@ +name: Check Changelog + +on: + pull_request: + types: [opened, reopened, edited, labeled, unlabeled, synchronize] + +permissions: + contents: read + +jobs: + check-changelog: + runs-on: ubuntu-latest + if: | + !contains(github.event.pull_request.body, '[skip changelog]') && + !contains(github.event.pull_request.body, '[changelog skip]') && + !contains(github.event.pull_request.body, '[skip ci]') && + !contains(github.event.pull_request.labels.*.name, 'skip changelog') && + !contains(github.event.pull_request.labels.*.name, 'dependencies') && + !contains(github.event.pull_request.labels.*.name, 'automation') + steps: + - uses: actions/checkout@v3 + - name: Check that CHANGELOG is touched + run: | + git fetch origin ${{ github.base_ref }} --depth 1 && \ + git diff remotes/origin/${{ github.base_ref }} --name-only | grep CHANGELOG.md diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 000000000..4253f5457 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,58 @@ +name: CI + +on: + push: + branches: ["main"] + pull_request: + +permissions: + contents: read + +jobs: + + unit-test: + runs-on: ubuntu-22.04 + container: + image: heroku/heroku:${{ matrix.stack_number }}-build + strategy: + matrix: + stack_number: ["20", "22"] + env: + STACK: heroku-${{ matrix.stack_number }} + steps: + - name: Checkout + uses: actions/checkout@v2 + - name: Unit tests on heroku:${{ matrix.stack_number }}-build + run: test/unit + + functional-test: + runs-on: ubuntu-22.04 + container: + image: heroku/heroku:${{ matrix.stack_number }}-build + strategy: + matrix: + stack_number: ["20", "22"] + env: + STACK: heroku-${{ matrix.stack_number }} + steps: + - name: Checkout + uses: actions/checkout@v2 + - name: Functional tests on heroku:${{ matrix.stack_number }}-build + run: test/run + + hatchet-test: + runs-on: ubuntu-22.04 + env: + HEROKU_API_KEY: ${{ secrets.HEROKU_API_KEY }} + HEROKU_API_USER: ${{ secrets.HEROKU_API_USER }} + HATCHET_EXPENSIVE_MODE: "1" + steps: + - name: Checkout + uses: actions/checkout@v2 + - name: Install Ruby and gems + uses: ruby/setup-ruby@v1 + with: + ruby-version: '2.7' + bundler-cache: true + - name: Run hatchet tests + run: make hatchet diff --git a/.github/workflows/hatchet_app_cleaner.yml b/.github/workflows/hatchet_app_cleaner.yml new file mode 100644 index 000000000..45d95ad10 --- /dev/null +++ b/.github/workflows/hatchet_app_cleaner.yml @@ -0,0 +1,31 @@ +name: Hatchet app cleaner + +on: + schedule: + # Daily at 6am UTC. + - cron: "0 6 * * *" + # Allow the workflow to be manually triggered too. + workflow_dispatch: + +permissions: + contents: read + +jobs: + hatchet-app-cleaner: + runs-on: ubuntu-latest + env: + HEROKU_API_KEY: ${{ secrets.HEROKU_API_KEY }} + HEROKU_API_USER: ${{ secrets.HEROKU_API_USER }} + HEROKU_DISABLE_AUTOUPDATE: 1 + steps: + - name: Checkout + uses: actions/checkout@v3 + - name: Install Ruby and dependencies + uses: ruby/setup-ruby@v1 + with: + bundler-cache: true + ruby-version: "2.7" + - name: Run Hatchet destroy + # Only apps older than 10 minutes are destroyed, to ensure that any + # in progress CI runs are not interrupted. + run: bundle exec hatchet destroy --older-than 10 diff --git a/.github/workflows/inventory.yml b/.github/workflows/inventory.yml new file mode 100644 index 000000000..021e3568a --- /dev/null +++ b/.github/workflows/inventory.yml @@ -0,0 +1,62 @@ +name: Update Inventory +on: + workflow_dispatch: + schedule: + - cron: '00 4 * * 1-5' + +jobs: + update-nodejs-inventory: + name: Update Node.js Engine Inventory + runs-on: pub-hk-ubuntu-22.04-small + steps: + - name: Checkout Repo + uses: actions/checkout@v3 + - name: Install Rust Toolchain + uses: actions-rs/toolchain@v1 + with: + toolchain: stable + - name: Install Rust Inventory Binaries + run: cargo install heroku-nodejs-utils --bin diff_versions --bin list_versions --git https://github.com/heroku/buildpacks-nodejs + - id: set-diff-msg + name: Set Diff Message + run: echo "::set-output name=msg::$(diff_versions node inventory/node.toml)" + - name: Rebuild Inventory + run: "list_versions node > inventory/node.toml" + - name: Update Changelog + run: echo "${{ steps.set-diff-msg.outputs.msg }}" | xargs -r -I '{}' perl -i -p -e 's/## main\s+/## main\n\n- {}/' CHANGELOG.md + - name: Create Pull Request + uses: peter-evans/create-pull-request@v4.2.4 + with: + title: "Update Node.js Engine Inventory" + commit-message: "Update Inventory for heroku/nodejs engine\n\n${{ steps.set-diff-msg.outputs.msg }}" + branch: update-nodejs-inventory + labels: "automation" + body: "Automated pull-request to update heroku/nodejs engine inventory:\n\n${{ steps.set-diff-msg.outputs.msg }}" + update-yarn-inventory: + name: Update Node.js Yarn Inventory + runs-on: pub-hk-ubuntu-22.04-small + steps: + - name: Checkout Repo + uses: actions/checkout@v3 + - id: install-rust-toolchain + name: Install Rust Toolchain + uses: actions-rs/toolchain@v1 + with: + toolchain: stable + - name: Install Rust Inventory Binaries + run: cargo install heroku-nodejs-utils --bin diff_versions --bin list_versions --git https://github.com/heroku/buildpacks-nodejs + - id: set-diff-msg + name: Set Diff Message + run: echo "::set-output name=msg::$(diff_versions yarn inventory/yarn.toml)" + - name: Rebuild Inventory + run: "list_versions yarn > inventory/yarn.toml" + - name: Update Changelog + run: echo "${{ steps.set-diff-msg.outputs.msg }}" | xargs -r -I '{}' perl -i -p -e 's/## main\s+/## main\n\n- {}/' CHANGELOG.md + - name: Create Pull Request + uses: peter-evans/create-pull-request@v4.2.4 + with: + title: "Update Node.js Yarn Inventory" + commit-message: "Update Inventory for heroku/nodejs yarn\n\n${{ steps.set-diff-msg.outputs.msg }}" + branch: update-yarn-inventory + labels: "automation" + body: "Automated pull-request to update heroku/nodejs yarn inventory:\n\n${{ steps.set-diff-msg.outputs.msg }}" diff --git a/.gitignore b/.gitignore index d03264442..0aa79169a 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,5 @@ .anvil .DS_Store +repos/* +.idea +.build diff --git a/CHANGELOG.md b/CHANGELOG.md index 5629b6ecc..dfcf80338 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,649 @@ -## v7 (2012-03-27) +# Node.js Buildpack Changelog -* remove build asset caching -* prevent installation of devDependencies -* add warning if no nodejs version specified +## main + +## v213 (2023-05-24) + +- Added node version 20.2.0. +- Added yarn version 4.0.0-rc.44. + +## v212 (2023-05-09) + +- Added node version 20.1.0. +- Added yarn version 4.0.0-rc.43, 3.5.1. +- Drop all support and references to the now end-of-life heroku-18. + +## v211 (2023-04-20) + +- Add metrics and tests for Node.js 20.x line + +## v210 (2023-04-20) + +- Added node version 20.0.0. + +## v209 (2023-04-17) + +- Added node version 18.16.0. + +## v208 (2023-04-11) + +- Added node version 19.9.0. + +## v207 (2023-04-03) + +- Added node version 16.20.0. +- Added yarn version 4.0.0-rc.42, 4.0.0-rc.41. + +## v206 (2023-03-24) + +- Added node versions 19.8.0, 19.8.1 +- Added yarn version 3.5.0 + +## v205 (2023-03-13) + +- Added node version 18.15.0 +- Added yarn version 4.0.0-rc.40 + +## v204 (2023-03-03) + +- Switch to inventory-based Node.js and Yarn version resolver ([#1061](https://github.com/heroku/heroku-buildpack-nodejs/pull/1061)) + +## v203 (2023-02-10) + +- Allow yarn version selection for yarn berry projects ([#1060](https://github.com/heroku/heroku-buildpack-nodejs/pull/1060)) + +## v202 (2022-11-03) + +- Update go to 1.19 and recompile resolve-version ([#1050](https://github.com/heroku/heroku-buildpack-nodejs/pull/1050)) + +## v201 (2022-10-19) + +- Add metrics and tests for Node.js 19.x line ([#1046](https://github.com/heroku/heroku-buildpack-nodejs/pull/1046)) +- Update default node version to 18.x for heroku-20 and newer ([#1045](https://github.com/heroku/heroku-buildpack-nodejs/pull/1045)) + +## v200 (2022-10-19) + +- Dependency pruning support for Yarn 2 / 3 / 4 ([#1040](https://github.com/heroku/heroku-buildpack-nodejs/pull/1040)) + +## v199 (2022-10-03) + +- Remove dependency on semver.herokuapp.com ([#1037](https://github.com/heroku/heroku-buildpack-nodejs/pull/1037)) + +## v198 (2022-06-15) + +- Adjust curl retry and connection timeout handling ([#1017](https://github.com/heroku/heroku-buildpack-nodejs/pull/1017)) +- `jq` is no longer installed by the buildpack([#1016](https://github.com/heroku/heroku-buildpack-nodejs/pull/1016)) +- Switch away from deprecated path-based S3 URLs ([#1013](https://github.com/heroku/heroku-buildpack-nodejs/pull/1013)) + +## v197 (2022-06-07) +- Drop the `yarn-native-cache` feature flag ([#1004](https://github.com/heroku/heroku-buildpack-nodejs/pull/1004)) +- Fix for `npm ci` caching ([#1009](https://github.com/heroku/heroku-buildpack-nodejs/pull/1009)) +- Fix skip pruning behavior with Yarn 2 ([#1008](https://github.com/heroku/heroku-buildpack-nodejs/pull/1008)) + +## v196 (2022-05-31) +- Add metrics plugin for Node 17 and 18 ([#1002](https://github.com/heroku/heroku-buildpack-nodejs/pull/1002)) +- Add warning message for Node 18+ incompatibility with heroku-18 ([#1002](https://github.com/heroku/heroku-buildpack-nodejs/pull/1002)) +- Enable Yarn 2 `devDependency` pruning using a custom plugin for all customers ([#1001](https://github.com/heroku/heroku-buildpack-nodejs/pull/1001)) +- Test against Heroku-22 ([#1003](https://github.com/heroku/heroku-buildpack-nodejs/pull/1003)) + +## v195 (2022-04-13) +- Enable Yarn 2 `devDependency` pruning using a custom plugin for 20% of customers ([#999](https://github.com/heroku/heroku-buildpack-nodejs/pull/999)) +- Set xtrace mode in buildpack when BUILDPACK_XTRACE environment variable is set ([#925](https://github.com/heroku/heroku-buildpack-nodejs/pull/925)) + +## v194 (2022-03-30) +- Rollback to v192 due to an edge case with yarn 2 pruning that would cause all devDependencies to be installed + +## v193 (2022-03-28) +- Added Yarn 1.22.18 to `inventory/yarn.toml` ([#992](https://github.com/heroku/heroku-buildpack-nodejs/pull/992)) +- Fix issue with pruning yarn 2 cache when using the workspaces plugin ([#990](https://github.com/heroku/heroku-buildpack-nodejs/pull/990)) + +## v192 (2022-02-16) +- Fix issue with nested yarn cache during cache restoration ([#987](https://github.com/heroku/heroku-buildpack-nodejs/pull/987)) +- Fix issue with nested yarn caches and cache growth ([#985](https://github.com/heroku/heroku-buildpack-nodejs/pull/985)) + +## v191 (2022-02-14) +- Improve support for yarn 2+ installs ([#978](https://github.com/heroku/heroku-buildpack-nodejs/pull/978)) + +## v190 (2022-01-31) +- Update default node version to 16.x ([#973](https://github.com/heroku/heroku-buildpack-nodejs/pull/973)) +- Add Yarn 1.22.1{2,3,4,5} to `inventory/yarn.toml` ([#947](https://github.com/heroku/heroku-buildpack-nodejs/pull/947)) + +## v189 (2021-09-14) +- Revert non-zero-install support from #888 ([#944](https://github.com/heroku/heroku-buildpack-nodejs/pull/944)) + +## v188 (2021-09-10) +- Update Node version inventory, includes 12.22.6, 14.17.6, 16.8.0, 16.7.0 and others ([#940](https://github.com/heroku/heroku-buildpack-nodejs/pull/940)) +- Support non-zero-install support for Yarn 2 ([#888](https://github.com/heroku/heroku-buildpack-nodejs/pull/888)) + +## v187 (2021-09-02) +- Upgrade heroku_hatchet to 7.3.4 to get CI green again ([#936](https://github.com/heroku/heroku-buildpack-nodejs/pull/936)) +- Fix typo in conflicting lockfile failure message ([#901](https://github.com/heroku/heroku-buildpack-nodejs/pull/901)) +- Use local packages with Yarn when present ([#913](https://github.com/heroku/heroku-buildpack-nodejs/pull/913)) +- Add support for running "npm ci" when "npm-shrinkwrap.json" is found on the project directory ([#938](https://github.com/heroku/heroku-buildpack-nodejs/pull/938)) + +## v186 (2021-08-11) +- Refactor $WEB_CONCURRENCY logic ([#931](https://github.com/heroku/heroku-buildpack-nodejs/pull/931)) +- Fix broken tests, update node and yarn inventory, update shunit2 ([#934](https://github.com/heroku/heroku-buildpack-nodejs/pull/934)) +- Fix NODE_BINARY_URL extraction prefix stripping logic ([#928](https://github.com/heroku/heroku-buildpack-nodejs/pull/928)) + +## v185 (2021-06-03) +- Drop Heroku-16 from CI test matrix ([#920](https://github.com/heroku/heroku-buildpack-nodejs/pull/920)) +- Add metrics plugin for Node 16 ([#923](https://github.com/heroku/heroku-buildpack-nodejs/pull/923)) + +## v184 (2021-05-20) +- Prune devDependencies with Yarn 2 ([#891](https://github.com/heroku/heroku-buildpack-nodejs/pull/891)) +- Add 10.x, 12.x, and 14.x to inventory ([902](https://github.com/heroku/heroku-buildpack-nodejs/pull/902)) +- Fix yarn workspace plugin detection ([#905](https://github.com/heroku/heroku-buildpack-nodejs/pull/905)) + +## v183 (2021-02-03) +- Update node version to 14 ([#885](https://github.com/heroku/heroku-buildpack-nodejs/pull/885)) +- Add unit tests around the behavior of `WEB_CONCURRENCY` ([#876](https://github.com/heroku/heroku-buildpack-nodejs/pull/876)) +- Add Node v15.6.0 to inventory ([#892](https://github.com/heroku/heroku-buildpack-nodejs/pull/892)) +- add Node 10.23.2 and 15.7.0 to inventory ([#894](https://github.com/heroku/heroku-buildpack-nodejs/pull/894)) +- Update Node.js plugin for Node 15; Add tests for Node 15 ([#895](https://github.com/heroku/heroku-buildpack-nodejs/pull/895)) +- Log the build time in a failed build ([#896](https://github.com/heroku/heroku-buildpack-nodejs/pull/896)) +- Add Node v15.8.0 to inventory ([#897](https://github.com/heroku/heroku-buildpack-nodejs/pull/897)) + +## v182 (2021-01-05) +- add Node 14.15.3 and 15.5.0 to inventory ([#881](https://github.com/heroku/heroku-buildpack-nodejs/pull/881)) +- Report on parsing errors for `resolve-version.rs` ([#883](https://github.com/heroku/heroku-buildpack-nodejs/pull/883)) +- Add an environment variable for using npm install (instead of npm ci) ([#882](https://github.com/heroku/heroku-buildpack-nodejs/pull/882)) +- add Node 10.23.1, 12.20.1, 14.15.4, and 15.5.1 to inventory ([#886](https://github.com/heroku/heroku-buildpack-nodejs/pull/886)) + +## v181 (2020-12-16) +- Warn to use build flag with ng build as build script ([#878](https://github.com/heroku/heroku-buildpack-nodejs/pull/878)) +- add Node 14.15.2 to inventory ([#879](https://github.com/heroku/heroku-buildpack-nodejs/pull/879)) + +## v180 (2020-12-09) +- add Node 15.4.0 to inventory ([#873](https://github.com/heroku/heroku-buildpack-nodejs/pull/873)) + +## v179 (2020-12-07) +- Fix syntax for passing in script flags for npm build script ([#869](https://github.com/heroku/heroku-buildpack-nodejs/pull/869)) +- add Node 15.3.0 and 12.20.0 to inventory ([#870](https://github.com/heroku/heroku-buildpack-nodejs/pull/870)) + +## v178 (2020-11-17) +- Add NODE_BUILD_FLAG env var ([#859](https://github.com/heroku/heroku-buildpack-nodejs/pull/859)) +- Add 12.19.1, 14.15.1, and 15.2.1 to inventory for security releases ([#865](https://github.com/heroku/heroku-buildpack-nodejs/pull/865)) + +## v177 (2020-11-12) +- add Node 15.2.0 to inventory ([#861](https://github.com/heroku/heroku-buildpack-nodejs/pull/861)) +- Use jq from the stack image ([#854](https://github.com/heroku/heroku-buildpack-nodejs/pull/854)) +- Start testing new `resolve` binaries with inventory lists for Node and Yarn ([#855](https://github.com/heroku/heroku-buildpack-nodejs/pull/855)) +- Follow up to [#855](https://github.com/heroku/heroku-buildpack-nodejs/pull/855) to send captured data with bin/report ([#858](https://github.com/heroku/heroku-buildpack-nodejs/pull/858)) + +## v176 (2020-09-10) +- Only run immutable cache in yarn 2 if caching enabled ([#832](https://github.com/heroku/heroku-buildpack-nodejs/pull/832)) +- Added Hatchet regression tests ([#833](https://github.com/heroku/heroku-buildpack-nodejs/pull/833)) +- Delete unused fixtures ([#835](https://github.com/heroku/heroku-buildpack-nodejs/pull/835)) +- Expand `npm ci` usage to 100% of builds ([#842](https://github.com/heroku/heroku-buildpack-nodejs/pull/842)) + +## v175 (2020-08-13) +- Install Yarn version at 1.22.x when not specified in package.json engines ([#817](https://github.com/heroku/heroku-buildpack-nodejs/pull/817)) +- Run `yarn install` for all Yarn 2 builds ([#819](https://github.com/heroku/heroku-buildpack-nodejs/pull/819)) +- Change all references from Yarn2 to Yarn 2 ([#824](https://github.com/heroku/heroku-buildpack-nodejs/pull/824)) +- Support Yarn 2 node modules ([#821](https://github.com/heroku/heroku-buildpack-nodejs/pull/821)) +- Detect for "node-modules" nodeLinker for Yarn 2 ([#828](https://github.com/heroku/heroku-buildpack-nodejs/pull/828)) + +## v174 (2020-07-23) +- provide custom binary url for node and yarn binary downloads ([#804](https://github.com/heroku/heroku-buildpack-nodejs/pull/804)) +- allow skipping node_modules removal with SKIP_NODE_MODULES_CHECK ([#798](https://github.com/heroku/heroku-buildpack-nodejs/pull/798)) +- expand npm ci usage to 75% of builds ([#812](https://github.com/heroku/heroku-buildpack-nodejs/pull/812)) + +## v173 (2020-07-16) +- update docs URL when node modules are checked into git ([#794](https://github.com/heroku/heroku-buildpack-nodejs/pull/794)) +- move disabling yarn caching YARN_CACHE env var ([#796](https://github.com/heroku/heroku-buildpack-nodejs/pull/796)) +- use meta_get "node-package-manager" for reporting ([#802](https://github.com/heroku/heroku-buildpack-nodejs/pull/802)) +- change YARN_CACHE to USE_YARN_CACHE env var ([#803](https://github.com/heroku/heroku-buildpack-nodejs/pull/803)) +- create a pull request to merge Yarn 2 support ([#795](https://github.com/heroku/heroku-buildpack-nodejs/pull/795)) +- edits to Yarn 2 info and warning messaging ([#806](https://github.com/heroku/heroku-buildpack-nodejs/pull/806)) + +### feature: Yarn 2 support +- Add warning for detection of Yarn 2 usage with caching ([#755](https://github.com/heroku/heroku-buildpack-nodejs/pull/755)) +- Add warning for Yarn 2 usage, warn user of ignoring engine from package.json ([#761](https://github.com/heroku/heroku-buildpack-nodejs/pull/761)) +- Add warning for if .npmrc file exists when using Yarn 2 ([#764](https://github.com/heroku/heroku-buildpack-nodejs/pull/764)) +- Add warning for if .yarnrc file exists when using Yarn 2 ([#768](https://github.com/heroku/heroku-buildpack-nodejs/pull/768)) +- Add checks for Yarn 2 ([#759](https://github.com/heroku/heroku-buildpack-nodejs/pull/759)) +- Turn off production and ignore-script flags for Yarn 2 and add global vendored yarn alias ([775](https://github.com/heroku/heroku-buildpack-nodejs/pull/775)) +- Set `$YARN` to false when `$YARN2` is true ([#776](https://github.com/heroku/heroku-buildpack-nodejs/pull/776)) +- Skip writing to the cache and pruning of the node modules when Yarn 2 is used ([#785](https://github.com/heroku/heroku-buildpack-nodejs/pull/785)) +- Test use of packages in `.yarn/release` directory ([#786](https://github.com/heroku/heroku-buildpack-nodejs/pull/786)) + +## v172 (2020-05-28) +- display yarn engine log to build output when engine is provided in monorepo ([#771](https://github.com/heroku/heroku-buildpack-nodejs/pull/771)) +- move proxy issues section from readme to dev center ([#778](https://github.com/heroku/heroku-buildpack-nodejs/pull/778)) +- warn when NO_PROXY is not set to "amazonaws.com" and HTTP_PROXY or HTTPS_PROXY is set ([#782](https://github.com/heroku/heroku-buildpack-nodejs/pull/782)) +- add heroku cleanup script ([#788](https://github.com/heroku/heroku-buildpack-nodejs/pull/788)) +- add a build step for cleanup script and output to log file ([#790](https://github.com/heroku/heroku-buildpack-nodejs/pull/790)) + +## v171 (2020-04-27) +- Update Travis badge to `master` and other changes in README ([#753](https://github.com/heroku/heroku-buildpack-nodejs/pull/753)) +- Up feature flag test groups ([#758](https://github.com/heroku/heroku-buildpack-nodejs/pull/758)) +- Add Heroku-20 to the Travis test matrix ([#763](https://github.com/heroku/heroku-buildpack-nodejs/pull/763)) +- Add Node 14 plugin and rebuild 10, 12, and 13; Remove rebuilding of 8, 9, and 11 ([#767](https://github.com/heroku/heroku-buildpack-nodejs/pull/767)) +- Add spec support for Node 13 and 14 ([#766](https://github.com/heroku/heroku-buildpack-nodejs/pull/766)) + +## v170 (2020-03-31) +- Bump rake from 12.3.1 to 12.3.3 ([#742](https://github.com/heroku/heroku-buildpack-nodejs/pull/742)) +- Upgrade Go to 1.14 ([#744](https://github.com/heroku/heroku-buildpack-nodejs/pull/744)) +- Bump `npm ci` usage for installing dependencies to 20% ([#745](https://github.com/heroku/heroku-buildpack-nodejs/pull/745)) +- Detect Yarn 2 usage, produce error message, and fail build (until supported) ([#746](https://github.com/heroku/heroku-buildpack-nodejs/pull/746)) +- Compress yq binaries ([#748](https://github.com/heroku/heroku-buildpack-nodejs/pull/748)) +- Move etc/vendor to lib/vendor ([#750](https://github.com/heroku/heroku-buildpack-nodejs/pull/750)) + +## v167 (2020-02-06) +- Make minor upgrades to gems ([#735](https://github.com/heroku/heroku-buildpack-nodejs/pull/735)) +- Fix typo in failure metadata call ([#737](https://github.com/heroku/heroku-buildpack-nodejs/pull/737)) + +## v166 (2019-12-16) +- Add Node 13 metrics plugin ([#731](https://github.com/heroku/heroku-buildpack-nodejs/pull/731), [#732](https://github.com/heroku/heroku-buildpack-nodejs/pull/732)) +- Fix yarn cache feature flag ([#729](https://github.com/heroku/heroku-buildpack-nodejs/pull/729)) + +## v165 (2019-10-24) +- Update README ([#725](https://github.com/heroku/heroku-buildpack-nodejs/pull/725)) +- Update default Node version to 12.x ([#724](https://github.com/heroku/heroku-buildpack-nodejs/pull/724)) + +## v164 (2019-10-17) +- Avoid issues in environments requiring proxies for all connections (#708) +- Extend metadata module in preparation for bin/report work (#709) +- Vendor the buildpack stdlib (#710) +- Check the status code when listing S3 buckets (#711) +- Rename script monitoring metadata (#719) +- Extend bin/report (#718) + +## v163 (2019-09-12) +- Add a minimal version of bin/report. Not user-facing (#700) + +## v162 (2019-09-03) +- Replace broken kb.heroku.com links with help.heroku.com shortlinks (#698) + +## v161 (2019-08-15) +- Expand A/B test of native yarn caching to 50% of apps (#695) + +## v160 (2019-08-07) +- Roll out A/B test of native yarn caching to a small set of apps (#693) + +## v159 (2019-08-01) +- Updates to metadata saved (#689, #690) +- Add native yarn cache caching behind a flag (#691) + +## v158 (2019-07-10) +- Don't suppress curl errors (#680) +- Add logging to track yarn workspace usage (#685) +- Log out number of js, jsx, and ts files (#686) + +## v157 (2019-06-17) +- Prevent `HTTP_PROXY` env var from blocking version-resolution binary + +## v156 (2019-06-12) +- Turn off npm ci experiment + +## v155 (2019-06-06) +- Add metadata for build steps (#677) + +## v154 (2019-06-05) +- Roll out A/B test of npm ci command to 5% of apps (#676) +- Internal fixes (#674, #673) + +## v153 (2019-05-30) +- Test new A/B testing module (#671, #672) + +## v152 (2019-05-28) +- Replace nodebin usage in hatchet tests (#669) +- Add ability to list all node or yarn releases (#668) + +## v151 (2019-05-28) +- Deprecate nodebin in favor of go binary (#667) + +## v150 (2019-05-22) +- Resolve more inconsistencies with version selection (#666) + +## v149 (2019-05-10) +- Resolve the known behavior mismatches between nodebin and the go logic (#664) + +## v148 (2019-05-02) +- Dark-launch new semver matching logic for node binaries (#663) + +## v147 (2019-05-01) +- Dark-launch new semver matching logic for yarn binaries (#661) +- Add node 12.x as a supported version for Node Metrics beta (#662) + +## v146 (2019-04-25) +- Deprecate io.js as an alternative runtime (#658) +- Prototyping new version resolution approach to replace Nodebin (#649 - #657) + +## v145 (2019-04-16) +- Separate prebuild step in log output (#646) +- Clean up script metrics and logging (#647) + +## v144 (2019-04-08) +- Remove temporary wraning about "run build" change (#644) + +## v143 (2019-03-28) +- Internal logging changes (#637, #631, #630) + +## v142 (2019-03-11) +- Add temporary warning about "run build" when the build fails as well (#639) + +## v141 (2019-03-11) +- Add temporary warning about "run build" change to log output (#636) + +## v140 (2019-03-11) +- Run the build script by default (#628) + +## v139 (2019-03-04) +- Make breaking change warning header brighter (#627) + +## v138 (2019-02-20) +- Add new Build header (#625) +- Fix yarn run error when script is empty string (#624) + +## v137 (2019-02-14) +- Internal logging changes (#620, #618, #621) +- Detect build scripts even when they are empty (#617) + +## v136 (2019-02-09) +- Add warning for the upcoming run build change (#616) + +## v135 (2019-02-06) + +- Fix bug where failing builds on CI would not fail CI (#613) +- Internal logging changes (#596, #600) + +## v134 (2018-12-20) + +- Internal changes (#593, #591) +- Handle `$MEMORY_AVAILABLE` when `memory.limit_in_bytes` is nonsensically large (#531) + +## v133 (2018-11-28) + +- Add warning for flatmap-stream 404 failure (#590) + +## v132 (2018-11-12) + +- Quietly add new build script behavior behind a flag (#584, #585) +- Move cache directory layout (#587) + +## v131 (2018-10-31) + +- Improve bin/detect error messages (#575) +- Add support for Node 11 (#578, #582, #580) +- Update default Node version to 10.x + +## v130 (2018-10-03) + +- Unpin Yarn from 1.9.x (#569) + +## v129 (2018-10-02) + +- Fix a bug with formatting (#572) +- internal changes (#567) + +## v128 (2018-09-13) + +- Default to Yarn 1.9.x to avoid a bug (#568) + +## v127 (2018-09-13) + +- interal changes (#566) + +## v126 (2018-09-06) + +- Icrease Node memory default during builds (#561) +- Rework output when caching directories (#559) +- Only write export script if directory is writeable (#539) +- Testing changes (#552, #557, #558) +- Upgrade the Node Metrics plugin (#564) + +## v125 (2018-08-24) + +- Fix issue with old Node and metrics plugin (#555) + +## v124 (2018-08-23) + +- Add plugin for [Node.js Language Metrics](https://devcenter.heroku.com/articles/language-runtime-metrics-nodejs) + +## v123 (2018-03-14) + +- Internal logging changes + +## v122 (2018-03-13) + +- Internal logging changes + +## v121 (2018-03-02) + +- Skip pruning if `NPM_CONFIG_PRODUCTION` or `YARN_PRODUCTION` is defined (#529) + +## v120 (2018-03-01) + +- Skip pruning for versions of npm with known issues with git submodules (#528) +- Add timing metrics (#527) + +## v119 (2018-02-28) + +- Install and prune devDependencies by default (#519) +- [Breaking] Stop setting the env var `NPM_CONFIG_PRODUCTION=true` by default + +## v118 (2018-02-02) + +- Fix issue with `NODE_ENV` in CI (#513) + +## v117 (2018-01-31) + +- Fix bug with previous default cache directories fix for npm and yarn (#511) + +## v116 (2018-01-29) + +- Fix metrics typo (#510) + +## v115 (2017-01-25) + +- Add metrics to track new types of failure (#509) + +## v114 (2017-11-16) + +- Don't default to npm 5.x if the user already has npm >= 5 (#499) + +## v113 (2017-11-13) + +- Bump default version of Node to Node 8 (#497) + +## v112 (2017-11-13) + +- Move default Yarn and npm cache directories to a temporary dir (#459) +- `LOG_CONCURRENCY` fix (#475) +- Default Yarn to `1.x` +- Add `BUILD_DIR` to env var blacklist + +## v111 (2017-09-06) + +- Move `WEB_CONCURRENCY` logic to separate file (#467) +- Temporarily default Yarn to known-good version + +## v110 (2017-07-26) + +- Improve error messages when bin version requirements are invalid (#457) + +## v109 (2017-07-25) + +- Switch to using nodebin to download the node binary (#451) + +## v108 (2017-07-24) + +- Add `$STACK` to the cache signature (#445) +- Log output now differentiates between an empty cache and a new cache signature (#448) +- Remove the use of semver.io to bootstrap npm (#452) +- Switch to using nodebin to download iojs binaries (#450) + +## v107 (2017-07-17) + +- Switch to using nodebin to download the yarn binary (#444) + +## v106 (2017-06-19) + +- Default to npm v5 if `package-lock.json` is present (#429) + +## v105 (2017-05-26) + +- Break the build if yarn and npm lockfiles are both included (#411) + +## v104 (2017-05-22) + +- Add `$PREBUILD` to cache signature (#405) +- Check for `.heroku/node` existence (#384) +- Add `NODE_ENV=test` to `test-compile` (#403) +- Install `yarn` if a version is defined in `engines` (#404) + +## v101 (2017-04-26) + +- Instrument metrics logging +- Undo the Prepend a leading 0 to `WEB_CONCURRENCY` change + +## v99 (2017-04-17) + +- Use yarn in CI tests if available +- Prepend a leading 0 to `WEB_CONCURRENCY` + +## v98 (2017-01-31) + +- Default to the latest LTS node version (6.x) + +## v97 (2017-01-31) + +- Cache node_modules +- No longer run `yarn check` + +## v96 (2017-01-27) + +- Clear caches from the slug +- Warn, rather than failing, on a failed `yarn check` + +## v95 (2017-01-27) + +- Use cache directories instead of node_modules +- Use yarn, if available, as part of the cache signature +- Warn about yarn's youth and evolution on build failures +- Link to opt-out of yarn instructions +- Use `yarn list` instead of `yarn ls` +- Hide final dep tree listings under a `NODE_VERBOSE` flag + +## v94 (2016-12-16) + +- Warn on yarn NODE_ENV and NPM_CONFIG incompatibility +- Pass --ignore-engines flag to yarn to avoid hard failures + +## v93 (2016-12-16) + +- Use yarn instead of npm if yarn.lock file is present + +## v91 (2016-7-7) + +- Do not fail build on output errors +- Do not prune before install (shrinkwrap unsupported by prune) +- Extended warnings (missing dependencies, econnreset, no start) +- Remove hard limit on WEB_CONCURRENCY (32) + +## v90 (2016-4-20) + +- Blacklists the LANG env var + +## v89 (2016-3-11) + +- Adds heroku-prebuild script +- Adds heroku-postbuild script + +## v88 (2016-2-23) + +- Retries all curl requests +- Use HTTPS for node binary downloads again + +## v87 (2015-11-03) + +Several edge-case fixes + +- Enables compiling the same directory multiple times +- Updates tests for Node v5 +- Moves node_modules/.bin binaries to last on the PATH + +## v86 (2015-10-08) + +Fixes piped output buffering issues + +## v85 (2015-10-08) + +Fixes piped output buffering issues (unsuccessful) + +- https://github.com/heroku/heroku-buildpack-nodejs/issues/273 + +## v84 (2015-10-08) + +Replaces sed with awk for output formatting + +- large output (from assets or npm 3) was crashing sed ('resource unavailable') + +## v83 (2015-10-05) + +Caching improvements + +- Fixes modules-checked-in reference URL +- When cache restoration is disabled, empties the cache instead of saving it +- Adds bower_components as a default cache target + +## v82 (2015-09-30) + +Detects bower+angular resolution failures +Detects missing grunt/gulp/bower failures + +## v81 (2015-09-24) + +Supports WEB_CONCURRENCY=28 for Performance-L dynos + +## v80 (2015-08-14) + +Fixes not defaulting to `NODE_ENV=production` during runtime + +## v79 (2015-08-10) + +Supports WEB_CONCURRENCY for Performance-M dynos + +## v78 (2015-07-24) + +Defaults node environment to 'production'; bugfixes + +- Fix runtime signature cache invalidation +- Provide error messaging for un-downloadable binaries +- Default to NODE_ENV=production for both build and runtime +- https://github.com/heroku/heroku-buildpack-nodejs/issues/60 + +## v77 (2015-07-15) + +Npm bootstrapping skipped when using iojs. + +- Fixes https://github.com/heroku/heroku-buildpack-nodejs/issues/202 + +## v76 (2015-06-23) + +Refactor to bring caching logic to the forefront. + +- Fixes cachDirectories issues +- Addresses https://github.com/heroku/heroku-buildpack-nodejs/pull/231 +- Addresses https://github.com/heroku/heroku-buildpack-nodejs/issues/226 +- Simplifies detect (package.json required) + +## v75 (2015-04-24) + +Updated build failure and help messaging. + +## v74 (2015-04-24) + +Updated messaging. + +## v73 (2015-04-24) + +Disables cache restoration if node_modules already exists. + +## v72 (2015-04-23) + +Accepts `cacheDirectories` array in package.json to override default `node_modules` caching. + +- Documented at https://devcenter.heroku.com/articles/nodejs-support#cache-behavior diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 26def27f1..8d621d7a9 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,74 +1,43 @@ -## Testing buildpack changes using Anvil +# Contributing -[Anvil](https://github.com/ddollar/anvil) is a generic build server for Heroku. +Thanks for making a contribution to the Heroku Node.js Buildpack! -``` -gem install anvil-cli -``` +*Note: If you are looking to open an issue or make a contribution to the Heroku Node.js Cloud Native Buildpacks (this includes builds made with `pack`), go here: https://github.com/heroku/nodejs-engine-buildpack* -The [heroku-anvil CLI plugin](https://github.com/ddollar/heroku-anvil) is a wrapper for anvil. +## Setup -``` -heroku plugins:install https://github.com/ddollar/heroku-anvil -``` +### Install Docker (optional) -The [ddollar/test buildpack](https://github.com/ddollar/buildpack-test) is for testing things: it runs `bin/test` on your app. +Before you get started, you may want to [install Docker](https://docs.docker.com/engine/install/). Docker will be needed to run the test suite. -``` -heroku build -b ddollar/test # -b can also point to a local directory -``` +If you don't install Docker, you have the option of waiting until your pull request open to run tests. [The Travis tests can be found here.](https://travis-ci.com/github/heroku/heroku-buildpack-nodejs/pull_requests) -## Compiling new versions of node and npm using Vulcan +### Clone Repo -Install [vulcan](https://github.com/heroku/vulcan) and create your own build server. Use any -app name you want and vulcan will remember it in a `~/.vulcan` config file. +First, you will want to fork and clone the repository. -``` -gem install vulcan -vulcan create builder-bob +```sh +git clone git@github.com:your-username/heroku-buildpack-nodejs.git ``` -Store your S3 credentials in `~/.aws/` +Once you have this on your local machine, you're ready to start making changes. -``` -mkdir -p ~/.aws -echo 'YOUR_AWS_KEY' > ~/.aws/key-nodejs.access -echo 'YOUR_AWS_SECRET' > ~/.aws/key-nodejs.secret -``` +## Testing -Add a credentials exporter to your `.bash_profile` or `.bashrc` +### Writing Tests -``` -setup_nodejs_env () { - export AWS_ID=$(cat ~/.aws/key-nodejs.access) - export AWS_SECRET=$(cat ~/.aws/key-nodejs.secret) - export S3_BUCKET="heroku-buildpack-nodejs" -} -``` +There are unit tests that are run with `shunit`. For any change you make, write a unit test in `test/run` that would break if you removed the code that you've just worked on. Add a fixture (`test/fixtures/*`) if you need an additional sample app to test with. [More info about testing here.](https://github.com/heroku/heroku-buildpack-nodejs#tests) -Build: +### Running Tests -``` -setup_nodejs_env -support/package_nodejs -support/package_npm -``` +To run the tests, run `make test`. You will need Docker installed. This will start a test run of all 3 Heroku stack images that will run serially. If you want to test one stack image (which is usually adequate), run `make heroku-22` (or whatever stack image you'd like to test). -## Publishing buildpack updates +## Opening a Pull Request -``` -heroku plugins:install https://github.com/heroku/heroku-buildpacks +After the work is completed, please open a pull request. If it links to an Issue, please make sure to include in the Description: -cd heroku-buildpack-nodejs -git checkout master -heroku buildpacks:publish heroku/nodejs +```md +Fixes: https://github.com/heroku/heroku-buildpack-nodejs/issues/xxx ``` -- Email [dos@heroku.com](mailto:dos@heroku.com) if changes are significant. -- Add a [changelog item](https://devcenter.heroku.com/admin/changelog_items/new). -- Update [Node Devcenter articles](https://devcenter.heroku.com/admin/articles/owned) as necessary. - -## Keeping up with the Nodeses - -- Run `npm info npm version` to find out the latest available version of npm. -- Follow [@nodejs](https://twitter.com/nodejs) and [@npmjs](https://twitter.com/npmjs) on Twitter. \ No newline at end of file +In the Description, also add an explanation of the work that's done and the tests that are included. diff --git a/Gemfile b/Gemfile new file mode 100644 index 000000000..e4fc0f8fa --- /dev/null +++ b/Gemfile @@ -0,0 +1,8 @@ +source "https://rubygems.org" + +gem 'heroku_hatchet' +gem 'rspec-retry' +gem 'rspec-expectations' +gem 'sem_version' +gem "parallel_split_test" +gem "rake" diff --git a/Gemfile.lock b/Gemfile.lock new file mode 100644 index 000000000..b6e5ea3c1 --- /dev/null +++ b/Gemfile.lock @@ -0,0 +1,57 @@ +GEM + remote: https://rubygems.org/ + specs: + diff-lcs (1.5.0) + erubis (2.7.0) + excon (0.99.0) + heroics (0.1.2) + erubis (~> 2.0) + excon + moneta + multi_json (>= 1.9.2) + webrick + heroku_hatchet (8.0.2) + excon (~> 0) + platform-api (~> 3) + rrrretry (~> 1) + thor (~> 1) + threaded (~> 0) + moneta (1.0.0) + multi_json (1.15.0) + parallel (1.21.0) + parallel_split_test (0.10.0) + parallel (>= 0.5.13) + rspec-core (>= 3.9.0) + platform-api (3.5.0) + heroics (~> 0.1.1) + moneta (~> 1.0.0) + rate_throttle_client (~> 0.1.0) + rake (13.0.6) + rate_throttle_client (0.1.2) + rrrretry (1.0.0) + rspec-core (3.12.0) + rspec-support (~> 3.12.0) + rspec-expectations (3.12.2) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.12.0) + rspec-retry (0.6.2) + rspec-core (> 3.3) + rspec-support (3.12.0) + sem_version (2.0.1) + thor (1.2.1) + threaded (0.0.4) + webrick (1.8.1) + +PLATFORMS + ruby + +DEPENDENCIES + heroku_hatchet + parallel_split_test + rake + rspec-expectations + rspec-retry + sem_version + +BUNDLED WITH + 2.2.28 diff --git a/LICENSE b/LICENSE index ad04dc171..4972b4505 100644 --- a/LICENSE +++ b/LICENSE @@ -1,6 +1,6 @@ MIT License: -Copyright (C) 2012 Heroku, Inc. +Copyright (C) 2012-2013 Heroku, Inc. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: diff --git a/README.md b/README.md index a50977315..c2400ccc8 100644 --- a/README.md +++ b/README.md @@ -1,76 +1,167 @@ -Heroku Buildpack for Node.js -============================ +# Heroku Buildpack for Node.js -This is a [Heroku buildpack](http://devcenter.heroku.com/articles/buildpacks) for Node.js apps. +This is a minor edit of the the official [Heroku buildpack](http://devcenter.heroku.com/articles/buildpacks) for Node.js apps. We forked the repository in order to provide a simple solution to allow pulling npm modules from private github repositories without checking in passwords or other sensitive credentials into source control -The buildpack will detect your app as Node.js if it has a `package.json` file in the root. It will use npm to install your dependencies, and vendors a version of the Node.js runtime into your slug. - -Example Usage -------------- +How it Works Differently +------------------------ +This buildpack looks for a specific config value set through heroku config: ```$GIT_SSH_KEY```. If present, the buildpack expects the base64 encoded contents of a private key whose public key counterpart has been registered with github on a github account with access to any private repositories needed by the application. It decodes the contents into a file, launches ssh-agent and registers that keyfile, prior to executing ```npm install```. Once npm install is finished, it cleans up the environment and file system of the key contents. - $ ls - Procfile package.json web.js - $ heroku create +How to Use: +----------- +* Generate a key: ```ssh-keygen -t rsa -C "your_email@example.com"``` (Enter no passphrase. This buildpack does not support keys with passphrases) +* Add the public key to github: ```pbcopy < ~/.ssh/id_rsa.pub``` and paste the results into the github admin +* Add the private key to your heroku app's config: ```cat id_rsa | base64 | pbcopy```, then ```heroku config:set GIT_SSH_KEY= --app your-app-name``` +* Setup your app to use this buildpack as described below - $ git push heroku master - ... - -----> Heroku receiving push - -----> Fetching custom buildpack - -----> Node.js app detected - -----> Vendoring node 0.4.7 - -----> Installing dependencies with npm 1.0.8 - express@2.1.0 ./node_modules/express - ├── mime@1.2.2 - ├── qs@0.3.1 - └── connect@1.6.2 - Dependencies installed -Node.js and npm versions ------------------------- -You can specify the versions of Node.js and npm your application requires using `package.json` +How it Works Identically to the Official Buildpack +-------------------------------------------------- -```json -{ - "name": "myapp", - "version": "0.0.1", - "engines": { - "node": "~0.10.13", - "npm": "~1.3.2" - } -} -``` +[![CI](https://github.com/heroku/heroku-buildpack-nodejs/actions/workflows/ci.yml/badge.svg)](https://github.com/heroku/heroku-buildpack-nodejs/actions/workflows/ci.yml) -To list the available versions of Node.js and npm, see these manifests: +## Documentation -- [heroku-buildpack-nodejs.s3.amazonaws.com/manifest.nodejs](http://heroku-buildpack-nodejs.s3.amazonaws.com/manifest.nodejs) -- [heroku-buildpack-nodejs.s3.amazonaws.com/manifest.npm](http://heroku-buildpack-nodejs.s3.amazonaws.com/manifest.npm) +For more information about using this Node.js buildpack on Heroku, see these Dev Center articles: -Documentation -------------- +- [Heroku Node.js Support](https://devcenter.heroku.com/articles/nodejs-support) +- [Getting Started with Node.js on Heroku](https://devcenter.heroku.com/articles/nodejs) +- [Troubleshooting Node.js Deploys](https://devcenter.heroku.com/articles/troubleshooting-node-deploys) -For more information about buildpacks and Node.js, see these Dev Center articles: +For more general information about buildpacks on Heroku: -- [Getting Started with Node.js on Heroku](https://devcenter.heroku.com/articles/nodejs) -- [Heroku Node.js Support](https://devcenter.heroku.com/articles/nodejs-support) - [Buildpacks](https://devcenter.heroku.com/articles/buildpacks) - [Buildpack API](https://devcenter.heroku.com/articles/buildpack-api) -Hacking -------- +## Using the Heroku Node.js buildpack + +It's suggested that you use the latest version of the release buildpack. You can set it using the `heroku-cli`. + +```sh +heroku buildpacks:set heroku/nodejs +``` + +Your builds will always used the latest published release of the buildpack. -To make changes to this buildpack, fork it on Github. Push up changes to your fork, then create a new Heroku app to test it, or configure an existing app to use your buildpack: +If you need to use the git url, you can use the `latest` tag to make sure you always have the latest release. **The `main` branch will always have the latest buildpack updates, but it does not correspond with a numbered release.** ```sh +heroku buildpacks:set https://github.com/heroku/heroku-buildpack-nodejs#latest -a my-app +``` + +## Locking to a buildpack version + +Even though it's suggested to use the latest release, you may want to lock dependencies - including buildpacks - to a specific version. + +First, find the version you want from +[the list of buildpack versions](https://github.com/heroku/heroku-buildpack-nodejs/tags). +Then, specify that version with `buildpacks:set`: + +``` +heroku buildpacks:set https://github.com/heroku/heroku-buildpack-nodejs#v176 -a my-app +``` + +### Chain Node with multiple buildpacks + +This buildpack automatically exports node, npm, and any node_modules binaries +into the `$PATH` for easy use in subsequent buildpacks. + +## Feedback + +Having trouble? Dig it? Feature request? + +- [help.heroku.com](https://help.heroku.com/) +- [GitHub issues](https://github.com/heroku/heroku-buildpack-nodejs/issues) + +## Development + +### Prerequisites + +For local development, you may need the following tools: + +- [Docker](https://hub.docker.com/search?type=edition&offering=community) +- [Go 1.14](https://golang.org/doc/install#install) +- [upx](https://upx.github.io/) + +### Deploying an app with a fork or branch + +To make changes to this buildpack, fork it on GitHub. +Push up changes to your fork, then create a new Heroku app to test it, +or configure an existing app to use your buildpack: + +``` # Create a new Heroku app that uses your buildpack heroku create --buildpack # Configure an existing Heroku app to use your buildpack -heroku config:set BUILDPACK_URL= +heroku buildpacks:set # You can also use a git branch! -heroku config:set BUILDPACK_URL=#your-branch +heroku buildpacks:set #your-branch +``` + +### Downloading Plugins + +In order to download the latest plugins that have been released, run the following: + +``` +plugin/download.sh v$VERSION +``` + +Make sure the version is in the format `v#`, ie. `v7`. + +## Tests + +The buildpack tests use [Docker](https://www.docker.com/) to simulate +Heroku's stacks. + +To run the test suite: + +``` +make test +``` + +Or to just test a specific stack: + +``` +make heroku-20-build +make heroku-22-build +``` + +The tests are run via the vendored +[shunit2](https://github.com/kward/shunit2) +test framework. + +### Debugging + +To display the logged build outputs to assist with debugging, use the "echo" and "cat" commands. For example: + +```sh +test() { + local log_file var + + var="testtest" + log_file=$(mktemp) + echo "this is the log file" > "$log_file" + echo "test log file" >> "$log_file" + + # use `echo` and `cat` for printing variables and reading files respectively + echo $var + cat $log_file + + # some cases when debugging is necessary + assertEquals "$var" "testtest" + assertFileContains "test log file" "$log_file" +} +``` + +Running the test above would produce: + +```log +testtest +this is the log file +test log file ``` -For more detailed information about testing buildpacks, see [CONTRIBUTING.md](CONTRIBUTING.md) \ No newline at end of file +The test output writes to `$STD_OUT`, so you can use `cat $STD_OUT` to read output. diff --git a/bin/compile b/bin/compile index f91d1c2d9..cdf075e43 100755 --- a/bin/compile +++ b/bin/compile @@ -1,185 +1,442 @@ #!/usr/bin/env bash -# bin/compile +# bin/compile + +### Configure environment + +set -o errexit # always exit on error +set -o pipefail # don't ignore exit codes when piping output +unset GIT_DIR # Avoid GIT_DIR leak from previous build steps + +[ "$BUILDPACK_XTRACE" ] && set -o xtrace + +### Constants + +# This is used by the buildpack stdlib for metrics +# shellcheck disable=SC2034 +BPLOG_PREFIX="buildpack.nodejs" + +### Configure directories + +BUILD_DIR=${1:-} +CACHE_DIR=${2:-} +ENV_DIR=${3:-} +BP_DIR=$(cd "$(dirname "${0:-}")"; cd ..; pwd) + +### Load dependencies + +# shellcheck source=lib/vendor/stdlib_v7.sh +source "$BP_DIR/lib/vendor/stdlib_v7.sh" +# shellcheck source=lib/output.sh +source "$BP_DIR/lib/output.sh" +# shellcheck source=lib/monitor.sh +source "$BP_DIR/lib/monitor.sh" +# shellcheck source=lib/environment.sh +source "$BP_DIR/lib/environment.sh" +# shellcheck source=lib/failure.sh +source "$BP_DIR/lib/failure.sh" +# shellcheck source=lib/binaries.sh +source "$BP_DIR/lib/binaries.sh" +# shellcheck source=lib/json.sh +source "$BP_DIR/lib/json.sh" +# shellcheck source=lib/cache.sh +source "$BP_DIR/lib/cache.sh" +# shellcheck source=lib/dependencies.sh +source "$BP_DIR/lib/dependencies.sh" +# shellcheck source=lib/plugin.sh +source "$BP_DIR/lib/plugin.sh" +# shellcheck source=lib/uuid.sh +source "$BP_DIR/lib/uuid.sh" +# shellcheck source=lib/kvstore.sh +source "$BP_DIR/lib/kvstore.sh" +# shellcheck source=lib/metadata.sh +source "$BP_DIR/lib/metadata.sh" +# shellcheck source=lib/features.sh +source "$BP_DIR/lib/features.sh" +# shellcheck source=lib/builddata.sh +source "$BP_DIR/lib/builddata.sh" +# shellcheck source=lib/yarn-2.sh +source "$BP_DIR/lib/yarn-2.sh" + +export PATH="$BUILD_DIR/.heroku/node/bin:$BUILD_DIR/.heroku/yarn/bin":$PATH + +LOG_FILE=$(mktemp -t node-build-log.XXXXX) +echo "" > "$LOG_FILE" + +build_start_time=$(nowms) + +### Handle errors + +handle_failure() { + meta_set "node-build-success" "false" + header "Build failed" + fail_using_yarn2_with_yarn_production_environment_variable_set "$LOG_FILE" + fail_yarn_outdated "$LOG_FILE" + fail_yarn_lockfile_outdated "$LOG_FILE" + fail_node_install "$LOG_FILE" "$BUILD_DIR" + fail_yarn_install "$LOG_FILE" "$BUILD_DIR" + fail_invalid_semver "$LOG_FILE" + log_other_failures "$LOG_FILE" + warn_aws_proxy "$BUILD_DIR" + warn_untracked_dependencies "$LOG_FILE" + warn_angular_resolution "$LOG_FILE" + warn_missing_devdeps "$LOG_FILE" "$BUILD_DIR" + warn_econnreset "$LOG_FILE" + log_meta_data >> "$BUILDPACK_LOG_FILE" + failure_message | output "$LOG_FILE" +} +trap 'handle_failure' ERR + +### Initalize metadata store +# Create the metadata store +meta_init "$CACHE_DIR" +# Make sure that it's empty and save any previous build's data +meta_setup +# the "build-step" key keeps track of where we are in the execution +# so that we can see where failed builds errored +meta_set "build-step" "init" + +### Check initial state + +[ -e "$BUILD_DIR/node_modules" ] && PREBUILD=true || PREBUILD=false +[ -f "$BUILD_DIR/yarn.lock" ] && YARN=true || YARN=false +[ -f "$BUILD_DIR/package-lock.json" ] && NPM_LOCK=true || NPM_LOCK=false +YARN_2=$(detect_yarn_2 "$YARN" "$BUILD_DIR") + +### Save build info +features_init "nodejs" "$BUILD_DIR" "$CACHE_DIR" "$BP_DIR/features" +log_initial_state +generate_uuids + +### Failures that should be caught immediately + +fail_dot_heroku "$BUILD_DIR" +fail_dot_heroku_node "$BUILD_DIR" +fail_invalid_package_json "$BUILD_DIR" +fail_multiple_lockfiles "$BUILD_DIR" +fail_iojs_unsupported "$BUILD_DIR" +warn_prebuilt_modules "$BUILD_DIR" +warn_missing_package_json "$BUILD_DIR" + +### Gather more project information + +# we know that package.json is valid json, and can pull more data out +log_project_info "$BUILD_DIR" + +### Compile + +create_env() { + write_profile "$BP_DIR" "$BUILD_DIR" + write_export "$BP_DIR" "$BUILD_DIR" + export_env_dir "$ENV_DIR" + create_default_env "$YARN" +} -# fail fast -set -e +header "Creating runtime environment" | output "$LOG_FILE" -# debug -# set -x +mkdir -p "$BUILD_DIR/.heroku/node/" +cd "$BUILD_DIR" +create_env # can't pipe the whole thing because piping causes subshells, preventing exports +list_node_config | output "$LOG_FILE" +create_build_env -# clean up leaking environment -unset GIT_DIR -# config -SCONS_VERSION="1.2.0" -S3_BUCKET="heroku-buildpack-nodejs" +### Configure vendored package manager +export VENDOR_PATH -# parse and derive params -BUILD_DIR=$1 -CACHE_DIR=$2 -LP_DIR=`cd $(dirname $0); cd ..; pwd` +if [[ "$YARN_2" == "true" ]]; then + if [[ -f "$BUILD_DIR/.npmrc" ]]; then + warn "There is an existing .npmrc file that will not be used. All configurations are read from the .yarnrc.yml file." "https://devcenter.heroku.com/articles/migrating-to-yarn-2" + fi -function error() { - echo " ! $*" >&2 - exit 1 -} + if [[ -f "$BUILD_DIR/.yarnrc" ]]; then + warn "There is an existing .yarnrc file that will not be used. All configurations are read from the .yarnrc.yml file." "https://devcenter.heroku.com/articles/migrating-to-yarn-2" + fi -function mktmpdir() { - dir=$(mktemp -t node-$1-XXXX) - rm -rf $dir - mkdir -p $dir - echo $dir -} + # When in Plug'n'Play mode the yarn cache will include dependencies needed at + # runtime; the cache must live in /app (not /tmp) so that dependencies are + # persisted. When using zero-install, /app/.yarn/cache will include all + # dependencies which yarn should reuse. + if use_yarn_app_cache "$BUILD_DIR"; then + YARN_CACHE_FOLDER=${YARN_CACHE_FOLDER:-"$BUILD_DIR/.yarn/cache"} + fi -function indent() { - c='s/^/ /' - case $(uname) in - Darwin) sed -l "$c";; - *) sed -u "$c";; - esac -} + # When in zero-install mode, use --immutable-cache to verify that the cache + # is pristine. Cache mutation is expected in nonzero installs. + if has_yarn_cache "$BUILD_DIR"; then + YARN_ENABLE_IMMUTABLE_CACHE=${YARN_ENABLE_IMMUTABLE_CACHE:-true} + fi + + meta_set "yarn2-immutable-cache" ${YARN_ENABLE_IMMUTABLE_CACHE:-false} + + if node_modules_enabled "$BUILD_DIR"; then + meta_set "yarn2-pnp-linker" "false" + else + meta_set "yarn2-pnp-linker" "true" + fi -function run_npm() { - command="$1" + ### Configure Yarn 2 + # fail for no yarnrc.yml + fail_missing_yarnrc_yml "$BUILD_DIR" - cd $BUILD_DIR - HOME="$BUILD_DIR" $VENDORED_NODE/bin/node $VENDORED_NPM/cli.js $command 2>&1 | indent + # get yarn_path + VENDOR_PATH=$(get_yarn_path "$BUILD_DIR") - if [ "${PIPESTATUS[*]}" != "0 0" ]; then - echo " ! Failed to $command dependencies with npm" - exit 1 + # fail for no yarnPath in rc + fail_missing_yarn_path "$BUILD_DIR" "$VENDOR_PATH" + + # fail for missing yarn in .yarn/releases + fail_missing_yarn_vendor "$BUILD_DIR" "$VENDOR_PATH" +fi + +### Configure package manager cache directories +[ ! "$YARN_CACHE_FOLDER" ] && YARN_CACHE_FOLDER=$(mktemp -d -t yarncache.XXXXX) +[ ! "$NPM_CONFIG_CACHE" ] && NPM_CONFIG_CACHE=$(mktemp -d -t npmcache.XXXXX) +export YARN_CACHE_FOLDER NPM_CONFIG_CACHE + +install_bins() { + local node_engine npm_engine yarn_engine npm_version node_version + + node_engine=$(read_json "$BUILD_DIR/package.json" ".engines.node") + npm_engine=$(read_json "$BUILD_DIR/package.json" ".engines.npm") + yarn_engine=$(read_json "$BUILD_DIR/package.json" ".engines.yarn") + + meta_set "node-version-request" "$node_engine" + meta_set "npm-version-request" "$npm_engine" + meta_set "yarn-version-request" "$yarn_engine" + + echo "engines.node (package.json): ${node_engine:-unspecified}" + echo "engines.npm (package.json): ${npm_engine:-unspecified (use default)}" + if $YARN || [ -n "$yarn_engine" ]; then + echo "engines.yarn (package.json): ${yarn_engine:-unspecified (use default)}" fi -} + echo "" -function manifest_versions() { - curl "http://${S3_BUCKET}.s3.amazonaws.com/manifest.${1}" -s -o - | tr -s '\n' ' ' -} + warn_node_engine "$node_engine" -function resolve_version() { - available_versions="$1" - requested_version="$2" - default_version="$3" + meta_set "build-step" "install-nodejs" + monitor "install-node-binary" install_nodejs "$node_engine" "$BUILD_DIR/.heroku/node" - args="" - for version in $available_versions; do args="${args} -v \"${version}\""; done + meta_set "build-step" "install-npm" + monitor "install-npm-binary" install_npm "$npm_engine" "$BUILD_DIR/.heroku/node" $NPM_LOCK + + node_version="$(node --version)" + mcount "version.node.$node_version" + meta_set "node-version" "$node_version" + + # Download yarn if there is a yarn.lock file or if the user + # has specified a version of yarn under "engines". We'll still + # only install using yarn if there is a yarn.lock file + if $YARN || [ -n "$yarn_engine" ]; then + meta_set "build-step" "install-yarn" + monitor "install-yarn-binary" install_yarn "$BUILD_DIR/.heroku/yarn" "$yarn_engine" + fi - if [ "$2" == "" ]; then - args="${args} -r \"${default_version}\""; + if $YARN; then + mcount "version.yarn.$(yarn --version)" + meta_set "yarn-version" "$(yarn --version)" else - args="${args} -r \"${requested_version}\""; + mcount "version.npm.$(npm --version)" + meta_set "npm-version" "$(npm --version)" fi - evaluated_versions=$(eval $bootstrap_node/bin/node $LP_DIR/vendor/node-semver/bin/semver ${args} || echo "") - echo "$evaluated_versions" | tail -n 1 -} + warn_old_npm -function package_engine_version() { - version=$(cat $BUILD_DIR/package.json | $bootstrap_node/bin/node $LP_DIR/vendor/json/json engines.$1 2>/dev/null) - if [ $? == 0 ]; then - echo $version | sed -e 's/\([<>=]\) /\1/g' + if [[ $YARN_2 == true ]]; then + YARN=false fi } -function package_resolve_version() { - engine="$1" - resolved_version=$(resolve_version "${engine_versions[$engine]}" "${engine_requests[$engine]}" "${engine_defaults[$engine]}") +header "Installing binaries" | output "$LOG_FILE" +install_bins | output "$LOG_FILE" - if [ "${resolved_version}" == "" ]; then - error "Requested engine $engine version ${engine_requests[$engine]} does not match available versions: ${engine_versions[$engine]}" +if [[ -z "$USE_NPM_INSTALL" ]]; then + if [[ "$(should_use_npm_ci "$BUILD_DIR")" == "true" ]]; then + USE_NPM_INSTALL=false else - echo $resolved_version + USE_NPM_INSTALL=true fi +fi + +restore_cache() { + local cache_status cache_directories restore_cache_start_time + restore_cache_start_time=$(nowms) + + cache_status="$(get_cache_status "$CACHE_DIR")" + cache_directories="$(get_cache_directories "$BUILD_DIR")" + + if $YARN; then + if $PREBUILD && [[ "$SKIP_NODE_MODULES_CHECK" == "true" ]]; then + echo "Keeping existing node_modules because SKIP_NODE_MODULES_CHECK=${SKIP_NODE_MODULES_CHECK}" + elif $PREBUILD; then + warn "node_modules checked into source control" "https://devcenter.heroku.com/articles/node-best-practices#only-git-the-important-bits" + rm -rf "$BUILD_DIR/node_modules" + fi + fi + + if [[ "$cache_status" == "disabled" ]]; then + header "Restoring cache" + echo "Caching has been disabled because NODE_MODULES_CACHE=${NODE_MODULES_CACHE}" + elif [[ "$cache_status" == "valid" ]]; then + header "Restoring cache" + if [[ "$cache_directories" == "" ]]; then + restore_default_cache_directories "$BUILD_DIR" "$CACHE_DIR" "$YARN_CACHE_FOLDER" "$NPM_CONFIG_CACHE" + else + restore_custom_cache_directories "$BUILD_DIR" "$CACHE_DIR" "$cache_directories" + fi + elif [[ "$cache_status" == "new-signature" ]]; then + header "Restoring cache" + if [[ "$cache_directories" == "" ]]; then + echo "Cached directories were not restored due to a change in version of node, npm, yarn or stack" + echo "Module installation may take longer for this build" + else + # If the user has specified custom cache directories, be more explicit + echo "Invalidating cache due to a change in version of node, npm, yarn or stack" + echo "Will not restore the following directories for this build:" + for directory in $cache_directories; do + echo " $directory" + done + fi + else + # No cache exists, be silent + : + fi + + mcount "cache.$cache_status" + meta_set "cache-status" "$cache_status" + meta_time "restore-cache-time" "$restore_cache_start_time" } -function package_download() { - engine="$1" - version="$2" - location="$3" +meta_set "build-step" "restore-cache" +restore_cache | output "$LOG_FILE" + +if [ "$GIT_SSH_KEY" != "" ]; then + echo "Detected SSH key for git. Launching ssh-agent and loading key" + echo $GIT_SSH_KEY | base64 --decode > id_rsa + + # launch ssh-agent, we'll use it to serve our ssh key + # and kill it towards the end of the buildpack's run + eval `ssh-agent -s` + + # We're not supporting passphrases at this time. We could pull that in + # from config as well, but then we'd have to setup expect or some other + # terminal automation tool to feed it into ssh-add. + ssh-add id_rsa + rm id_rsa + + # Add github to the list of known hosts - ignore the warning or else set -e will abort the deployment + ssh -oStrictHostKeyChecking=no -T git@github.com || true +fi - mkdir -p $location - package="http://${S3_BUCKET}.s3.amazonaws.com/$engine-$version.tgz" - curl $package -s -o - | tar xzf - -C $location +build_dependencies() { + local cache_status start + + cache_status="$(get_cache_status "$CACHE_DIR")" + start=$(nowms) + if [[ "$YARN_2" == "true" ]]; then + yarn_2_install "$BUILD_DIR" + elif $YARN; then + yarn_node_modules "$BUILD_DIR" + elif $PREBUILD; then + echo "Prebuild detected (node_modules already exists)" + npm_rebuild "$BUILD_DIR" + else + npm_node_modules "$BUILD_DIR" + fi + + mtime "modules.time.cache.$cache_status" "${start}" + + meta_set "build-step" "build-script" + header "Build" + run_build_script "$BUILD_DIR" +} + +meta_set "build-step" "install-dependencies" +log_build_scripts "$BUILD_DIR" +run_prebuild_script "$BUILD_DIR" | output "$LOG_FILE" +header "Installing dependencies" | output "$LOG_FILE" +build_dependencies | output "$LOG_FILE" + +cache_build() { + local cache_directories cache_build_start_time + cache_build_start_time=$(nowms) + cache_directories="$(get_cache_directories "$BUILD_DIR")" + + clear_cache "$CACHE_DIR" + if ! ${NODE_MODULES_CACHE:-true}; then + # we've already warned that caching is disabled in the restore step + # so be silent here + : + elif [[ "$cache_directories" == "" ]]; then + header "Caching build" + save_default_cache_directories "$BUILD_DIR" "$CACHE_DIR" "$YARN_CACHE_FOLDER" "$NPM_CONFIG_CACHE" + else + header "Caching build" + save_custom_cache_directories "$BUILD_DIR" "$CACHE_DIR" "$cache_directories" + fi + save_signature "$CACHE_DIR" + meta_time "save-cache-time" "$cache_build_start_time" } -function cat_npm_debug_log() { - if [ -f $BUILD_DIR/npm-debug.log ]; then - cat $BUILD_DIR/npm-debug.log +prune_devdependencies() { + if $YARN || $YARN_2; then + yarn_prune_devdependencies "$BUILD_DIR" "$YARN_CACHE_FOLDER" "$BP_DIR" + else + npm_prune_devdependencies "$BUILD_DIR" fi } -trap cat_npm_debug_log EXIT +if $YARN_2; then + meta_set "build-step" "save-cache" + cache_build | output "$LOG_FILE" + meta_set "build-step" "prune-dependencies" + header "Pruning devDependencies" | output "$LOG_FILE" + prune_devdependencies | output "$LOG_FILE" +elif "$YARN" && "$USE_YARN_CACHE" && [[ "$(get_cache_directories "$BUILD_DIR")" == "" ]]; then + meta_set "build-step" "prune-dependencies" + header "Pruning devDependencies" | output "$LOG_FILE" + prune_devdependencies | output "$LOG_FILE" + meta_set "build-step" "save-cache" + cache_build | output "$LOG_FILE" +else + meta_set "build-step" "save-cache" + cache_build | output "$LOG_FILE" + meta_set "build-step" "prune-dependencies" + header "Pruning devDependencies" | output "$LOG_FILE" + prune_devdependencies | output "$LOG_FILE" +fi -bootstrap_node=$(mktmpdir bootstrap_node) -package_download "nodejs" "0.4.7" $bootstrap_node +meta_set "build-step" "cleanup-script" +run_cleanup_script "$BUILD_DIR" | output "$LOG_FILE" -# make some associative arrays -declare -A engine_versions -declare -A engine_defaults -declare -A engine_requests +if [ "$GIT_SSH_KEY" != "" ]; then + # Now that npm has finished running, we shouldn't need the ssh key anymore. Kill ssh-agent + eval `ssh-agent -k` + # Clear that sensitive key data from the environment + export GIT_SSH_KEY=0 +fi -engine_defaults["node"]="0.10.x" -engine_defaults["npm"]="1.3.x" +summarize_build() { + if $NODE_VERBOSE; then + list_dependencies "$BUILD_DIR" + fi -engine_versions["node"]=$(manifest_versions "nodejs") -engine_requests["node"]=$(package_engine_version "node") + mmeasure 'modules.size' "$(measure_size)" + meta_set "node-modules-size" "$(measure_size)" +} -engine_versions["npm"]=$(manifest_versions "npm") -engine_requests["npm"]=$(package_engine_version "npm") +meta_set "build-step" "install-metrics-plugin" +install_plugin "$BP_DIR" "$BUILD_DIR" -echo "-----> Resolving engine versions" +meta_set "build-step" "summarize" +header "Build succeeded!" | output "$LOG_FILE" +mcount "compile" +summarize_build | output "$LOG_FILE" +meta_set "node-build-success" "true" +meta_time "build-time" "$build_start_time" -# add a warning if no version of node specified -if [ "${engine_requests["node"]}" == "" ]; then - echo - echo "WARNING: No version of Node.js specified in package.json, see:" | indent - echo "https://devcenter.heroku.com/articles/nodejs-support#versions" | indent - echo -fi +warn_no_start "$BUILD_DIR" +warn_unmet_dep "$LOG_FILE" +warn_old_npm_lockfile $NPM_LOCK -NODE_VERSION=$(package_resolve_version "node") -echo "Using Node.js version: ${NODE_VERSION}" | indent - -NPM_VERSION=$(package_resolve_version "npm") -echo "Using npm version: ${NPM_VERSION}" | indent - -# cache directories -CACHE_STORE_DIR="$CACHE_DIR/node_modules/$NODE_VERSION/$NPM_VERSION" -CACHE_TARGET_DIR="$BUILD_DIR/node_modules" - -# s3 packages -NODE_PACKAGE="http://${S3_BUCKET}.s3.amazonaws.com/nodejs-${NODE_VERSION}.tgz" -NPM_PACKAGE="http://${S3_BUCKET}.s3.amazonaws.com/npm-${NPM_VERSION}.tgz" -SCONS_PACKAGE="http://${S3_BUCKET}.s3.amazonaws.com/scons-${SCONS_VERSION}.tgz" - -# vendor directories -VENDORED_NODE="$(mktmpdir node)" -VENDORED_NPM="$(mktmpdir npm)" -VENDORED_SCONS="$(mktmpdir scons)" - -# download and unpack packages -echo "-----> Fetching Node.js binaries" -package_download "nodejs" "${NODE_VERSION}" "${VENDORED_NODE}" -package_download "npm" "${NPM_VERSION}" "${VENDORED_NPM}" -package_download "scons" "${SCONS_VERSION}" "${VENDORED_SCONS}" - -# vendor node into the slug -PATH="$BUILD_DIR/bin:$PATH" -echo "-----> Vendoring node into slug" -mkdir -p "$BUILD_DIR/bin" -cp "$VENDORED_NODE/bin/node" "$BUILD_DIR/bin/node" - -# setting up paths for building -PATH="$VENDORED_SCONS:$VENDORED_NODE/bin:$PATH" -INCLUDE_PATH="$VENDORED_NODE/include" -export CPATH="$INCLUDE_PATH:$CPATH" -export CPPPATH="$INCLUDE_PATH:$CPPPATH" - -# install dependencies with npm -echo "-----> Installing dependencies with npm" -run_npm "install --production" -run_npm "rebuild" -echo "Dependencies installed" | indent - -echo "-----> Building runtime environment" -mkdir -p $BUILD_DIR/.profile.d -echo "export PATH=\"\$HOME/bin:\$HOME/node_modules/.bin:\$PATH\"" > $BUILD_DIR/.profile.d/nodejs.sh +meta_set "build-step" "finished" +log_meta_data >> "$BUILDPACK_LOG_FILE" diff --git a/bin/detect b/bin/detect index e887295de..a403fa323 100755 --- a/bin/detect +++ b/bin/detect @@ -1,8 +1,76 @@ #!/usr/bin/env bash # bin/detect -if [ -f $1/package.json ]; then - echo "Node.js" && exit 0 +[ "$BUILDPACK_XTRACE" ] && set -o xtrace + +error() { + local c="2,999 s/^/ ! /" + # send all of our output to stderr + exec 1>&2 + + echo -e "\033[1;31m" # bold; red + echo -n " ! ERROR: " + # this will be fed from stdin + case $(uname) in + Darwin) sed -l "$c";; # mac/bsd sed: -l buffers on line boundaries + *) sed -u "$c";; # unix/gnu sed: -u unbuffered (arbitrary) chunks of data + esac + echo -e "\033[0m" # reset style + exit 1 +} + +if [ -f "$1/package.json" ]; then + echo 'Node.js' + exit 0 +fi + +if [[ -f "$1/.slugignore" ]] && grep -Fxq "package.json" "$1/.slugignore"; then + error << EOF +'package.json' listed in '.slugignore' file + +The 'heroku/nodejs' buildpack is set on this application, but was +unable to detect a 'package.json' file. This is likely because +the '.slugignore' file is removing it before the build begins. + +For more information, refer to the following documentation: +https://devcenter.heroku.com/articles/slug-compiler#ignoring-files-with-slugignore +EOF +elif [[ -f "$1/.gitignore" ]] && grep -Fxq "package.json" "$1/.gitignore"; then + error << EOF +'package.json' listed in '.gitignore' file + +The 'heroku/nodejs' buildpack is set on this application, but was +unable to detect a 'package.json' file. This is likely because +the '.gitignore' file is preventing it from being checked in to +the git repo. + +For more information, refer to the following documentation: +https://devcenter.heroku.com/articles/gitignore +EOF else - echo "no" && exit 1 + error <<- EOF +Application not supported by 'heroku/nodejs' buildpack + +The 'heroku/nodejs' buildpack is set on this application, but was +unable to detect a Node.js codebase. + +A Node.js app on Heroku requires a 'package.json' at the root of +the directory structure. + +If you are trying to deploy a Node.js application, ensure that this +file is present at the top level directory. This directory has the +following files: + +$(ls -1p "$1") + +If you are trying to deploy an application written in another +language, you need to change the list of buildpacks set on your +Heroku app using the 'heroku buildpacks' command. + +For more information, refer to the following documentation: +https://devcenter.heroku.com/articles/buildpacks +https://devcenter.heroku.com/articles/nodejs-support#activation +EOF fi + +exit 1 diff --git a/bin/release b/bin/release index 133982fd7..7e12e5ffc 100755 --- a/bin/release +++ b/bin/release @@ -1,8 +1,8 @@ #!/usr/bin/env bash # bin/release -cat < + +### Configure environment + +set -o errexit # always exit on error +set -o pipefail # don't ignore exit codes when piping output + +BUILD_DIR=${1:-} +CACHE_DIR=${2:-} +BP_DIR=$(cd "$(dirname "${0:-}")"; cd ..; pwd) + +### Load dependencies + +# shellcheck source=lib/vendor/stdlib_v7.sh +source "$BP_DIR/lib/vendor/stdlib_v7.sh" +# shellcheck source=lib/output.sh +source "$BP_DIR/lib/output.sh" +# shellcheck source=lib/monitor.sh +source "$BP_DIR/lib/monitor.sh" +# shellcheck source=lib/environment.sh +source "$BP_DIR/lib/environment.sh" +# shellcheck source=lib/failure.sh +source "$BP_DIR/lib/failure.sh" +# shellcheck source=lib/binaries.sh +source "$BP_DIR/lib/binaries.sh" +# shellcheck source=lib/json.sh +source "$BP_DIR/lib/json.sh" +# shellcheck source=lib/cache.sh +source "$BP_DIR/lib/cache.sh" +# shellcheck source=lib/dependencies.sh +source "$BP_DIR/lib/dependencies.sh" +# shellcheck source=lib/plugin.sh +source "$BP_DIR/lib/plugin.sh" +# shellcheck source=lib/uuid.sh +source "$BP_DIR/lib/uuid.sh" +# shellcheck source=lib/kvstore.sh +source "$BP_DIR/lib/kvstore.sh" +# shellcheck source=lib/metadata.sh +source "$BP_DIR/lib/metadata.sh" +# shellcheck source=lib/features.sh +source "$BP_DIR/lib/features.sh" +# shellcheck source=lib/builddata.sh +source "$BP_DIR/lib/builddata.sh" + +export PATH="$BUILD_DIR/.heroku/node/bin:$BUILD_DIR/.heroku/yarn/bin":$PATH + +meta_init "$CACHE_DIR" +features_init "nodejs" "$BUILD_DIR" "$CACHE_DIR" "$BP_DIR/features" + +# a place to build up the output YAML structure +output=$(mktemp -t bin-reportXXXXXX) + +# append the key / value pair to $output, but skip if the value is empty +kv_pair() { + local key value + key="$1" + value="$2" + if [[ -n "$value" ]]; then + echo "$key: $value" >> $output + fi +} + +# use to safely quote strings +kv_pair_string() { + local key value + key="$1" + value="$2" + if [[ -n "$value" ]]; then + value=$(echo $value | sed 's/"/\\"/g') + echo "$key: \"$value\"" >> $output + fi +} + +has_binary_installed() { + [[ -x "$(command -v "$1")" ]] +} + +kv_pair_string "stack" "$STACK" + +# the version of installed binaries +has_binary_installed "node" && kv_pair_string "node_version" "$(node --version)" +has_binary_installed "npm" && kv_pair_string "npm_version" "$(npm --version)" +has_binary_installed "yarn" && kv_pair_string "yarn_version" "$(yarn --version)" + +# what versions were requested +kv_pair_string "node_version_request" "$(read_json "$BUILD_DIR/package.json" ".engines.node")" +kv_pair_string "npm_version_request" "$(read_json "$BUILD_DIR/package.json" ".engines.npm")" +kv_pair_string "yarn_version_request" "$(read_json "$BUILD_DIR/package.json" ".engines.yarn")" + +# build scripts +kv_pair_string "start_script" "$(read_json "$BUILD_DIR/package.json" ".scripts[\"start\"]")" +kv_pair_string "build_script" "$(read_json "$BUILD_DIR/package.json" ".scripts[\"build\"]")" +kv_pair_string "postinstall_script" "$(read_json "$BUILD_DIR/package.json" ".scripts[\"postinstall\"]")" +kv_pair_string "heroku_prebuild_script" "$(read_json "$BUILD_DIR/package.json" ".scripts[\"heroku-prebuild\"]")" +kv_pair_string "heroku_postbuild_script" "$(read_json "$BUILD_DIR/package.json" ".scripts[\"heroku-postbuild\"]")" +kv_pair "build_script_time" "$(meta_get "build-script-time")" +kv_pair "build_script_memory" "$(meta_get "build-script-memory")" +kv_pair "postinstall_script_time" "$(meta_get "postinstall-script-time")" +kv_pair "postinstall_script_memory" "$(meta_get "postinstall-script-memory")" +kv_pair "heroku_prebuild_script_time" "$(meta_get "heroku-prebuild-script-time")" +kv_pair "heroku_prebuild_script_memory" "$(meta_get "heroku-prebuild-script-memory")" +kv_pair "heroku_postbuild_script_time" "$(meta_get "heroku-postbuild-script-time")" +kv_pair "heroku_postbuild_script_memory" "$(meta_get "heroku-postbuild-script-memory")" + +# which package manager was used +kv_pair_string "package_manager" "$(meta_get "node-package-manager")" + +# We have to get this info from bin/compile since a lockfile will be generated if there wasn't one +kv_pair "lock_file" "$(meta_get "has-node-lock-file")" + +# does this project use "workspaces"? +kv_pair "uses_workspaces" "$(json_has_key "$BUILD_DIR/package.json" "workspaces")" +# what workspaces are defined? Logs as: `["packages/*","a","b"]` +kv_pair_string "workspaces" "$(read_json "$BUILD_DIR/package.json" ".workspaces")" +# count # of js, jsx, ts, coffee, vue, and html files to approximate project size, exclude any files in node_modules +kv_pair "num_project_files" "$(find "$BUILD_DIR" -name '*.js' -o -name '*.ts' -o -name '*.jsx' -o -name '*.coffee' -o -name '*.vue' -o -name '*.html' | grep -cv node_modules | tr -d '[:space:]')" +# measure how large node_modules is on disk +kv_pair "node_modules_size" "$(measure_size)" + +# pull metadata from the build +kv_pair_string "build_step" "$(meta_get "build-step")" +kv_pair_string "failure" "$(meta_get "failure")" +kv_pair_string "cache_status" "$(meta_get "cache-status")" +kv_pair "use_npm_ci" "$(meta_get "use-npm-ci")" +kv_pair "build_time" "$(meta_get "build-time")" +kv_pair "skipped_prune" "$(meta_get "skipped-prune")" +kv_pair "cached_bower_components" "$(meta_get "cached-bower-components")" +kv_pair "custom_cache_dirs" "$(meta_get "node-custom-cache-dirs")" + +# pull execution data from the build +kv_pair "install_node_binary_time" "$(meta_get "install-node-binary-time")" +kv_pair "install_node_binary_memory" "$(meta_get "install-node-binary-memory")" +kv_pair "install_npm_binary_time" "$(meta_get "install-npm-binary-time")" +kv_pair "install_npm_binary_memory" "$(meta_get "install-npm-binary-memory")" +kv_pair "install_yarn_binary_time" "$(meta_get "install-yarn-binary-time")" +kv_pair "install_yarn_binary_memory" "$(meta_get "install-yarn-binary-memory")" +kv_pair "restore_cache_time" "$(meta_get "restore-cache-time")" +kv_pair "save_cache_time" "$(meta_get "save-cache-time")" +kv_pair "npm_install_time" "$(meta_get "npm-install-time")" +kv_pair "npm_install_memory" "$(meta_get "npm-install-memory")" +kv_pair "yarn_install_time" "$(meta_get "yarn-install-time")" +kv_pair "yarn_install_memory" "$(meta_get "yarn-install-memory")" +kv_pair "npm_prune_time" "$(meta_get "yarn-prune-time")" +kv_pair "npm_prune_memory" "$(meta_get "yarn-prune-memory")" +kv_pair "yarn_prune_time" "$(meta_get "yarn-prune-time")" +kv_pair "yarn_prune_memory" "$(meta_get "yarn-prune-memory")" + +# testing resolve-version differences +kv_pair "resolve_v2_node" "$(meta_get "resolve-v2-node")" +kv_pair "resolve_v2_yarn" "$(meta_get "resolve-v2-yarn")" +kv_pair_string "resolve_v2_error" "$(meta_get "resolve-v2-error")" + +# save which features were turned on or off +features_list | tr ' ' '\n' | while read -r key; do + if [[ -n $key ]]; then + kv_pair "feature-$key" "$(features_get "$key")" + fi +done + +# emit the metadata on stdout +cat $output diff --git a/bin/test b/bin/test index 215e55008..9c86eba58 100755 --- a/bin/test +++ b/bin/test @@ -1,88 +1,8 @@ #!/usr/bin/env bash -# -# Create a Heroku app with the following buildpack: -# https://github.com/ddollar/buildpack-test -# -# Push this Node.js buildpack to that Heroku app to -# run the tests -# - -testDetectWithPackageJson() { - detect "package-json-version" - assertCaptured "Node.js" - assertCapturedSuccess -} - -testDetectWithoutPackageJson() { - detect "no-package-json" - assertCapturedError 1 "" -} - -testPackageJsonWithVersion() { - compile "package-json-version" - assertNotCaptured "WARNING: No version of Node.js specified" - assertCaptured "Using Node.js version: 0.6.11" - assertCaptured "Using npm version: 1.1.9" - assertCapturedSuccess -} - -testPackageJsonWithoutVersion() { - compile "package-json-noversion" - assertCaptured "WARNING: No version of Node.js specified" - assertCaptured "Using Node.js version: 0.10" - assertCaptured "Using npm version: 1.3" - assertCapturedSuccess -} - -testPackageJsonWithInvalidVersion() { - compile "package-json-invalidversion" - assertCapturedError 1 "Requested engine npm version 1.1.5 does not" -} - -testNothingCached() { - cache=$(mktmpdir) - compile "package-json-version" $cache - assertCapturedSuccess - assertEquals "0" "$(ls -1 $cache | wc -l)" -} - -testProfileCreated() { - compile "package-json-version" - assertCaptured "Building runtime environment" - assertFile "export PATH=\"\$HOME/bin:\$HOME/node_modules/.bin:\$PATH\"" ".profile.d/nodejs.sh" - assertCapturedSuccess -} - -## utils ######################################## - -pushd $(dirname 0) >/dev/null -BASE=$(pwd) -popd >/dev/null - -source ${BASE}/vendor/test-utils/test-utils - -mktmpdir() { - dir=$(mktemp -t testXXXXX) - rm -rf $dir - mkdir $dir - echo $dir -} - -detect() { - capture ${BASE}/bin/detect ${BASE}/test/$1 -} - -COMPILE_DIR="" - -compile() { - COMPILE_DIR=$(mktmpdir) - cp -r ${BASE}/test/$1/* ${COMPILE_DIR}/ - capture ${BASE}/bin/compile ${COMPILE_DIR} $2 -} - -assertFile() { - assertEquals "$1" "$(cat ${COMPILE_DIR}/$2)" -} - -source ${BASE}/vendor/shunit2/shunit2 +BUILD_DIR=${1:-} +if yarn --version > /dev/null 2>&1; then + cd "$BUILD_DIR" && yarn test +else + cd "$BUILD_DIR" && npm test +fi diff --git a/bin/test-compile b/bin/test-compile new file mode 100755 index 000000000..270f7a35b --- /dev/null +++ b/bin/test-compile @@ -0,0 +1,25 @@ +#!/usr/bin/env bash +# bin/test-compile + +### Configure environment + +set -o errexit # always exit on error +set -o pipefail # don't ignore exit codes when piping output + +### Configure directories + +BP_DIR=$(cd "$(dirname "${0:-}")" || exit; cd ..; pwd) + +### Load dependencies +# shellcheck source=lib/environment.sh +source "$BP_DIR/lib/environment.sh" + +### Set up test Node environment + +export NPM_CONFIG_PRODUCTION=${NPM_CONFIG_PRODUCTION:-false} +export NODE_ENV=${NODE_ENV:-test} + +### Compile the app + +"$BP_DIR/bin/compile" "$1" "$2" "$3" +write_ci_profile "$BP_DIR" "$1" diff --git a/buildpack.toml b/buildpack.toml new file mode 100644 index 000000000..6b35ae469 --- /dev/null +++ b/buildpack.toml @@ -0,0 +1,31 @@ +[buildpack] +name = "Node.js" + + [publish.Ignore] + files = [ + ".circleci/", + ".github/", + ".git2gus/", + "etc/", + "spec/", + "test/", + "makefile", + "Gemfile.lock", + "Gemfile", + "hatchet.json", + "go.mod", + "go.sum", + "hatchet.lock", + "cmd/", + # TODO: get rid of these ignores once the yarn plugins are moved into a separate repo + # for now we just need the compiled plugin in yarn2-plugin/prune-dev-dependencies/bundles + "yarn2-plugins/prune-dev-dependencies/.editorconfig", + "yarn2-plugins/prune-dev-dependencies/package-lock.json", + "yarn2-plugins/prune-dev-dependencies/.gitignore", + "yarn2-plugins/prune-dev-dependencies/package.json", + "yarn2-plugins/prune-dev-dependencies/tsconfig.json", + "yarn2-plugins/prune-dev-dependencies/README.md", + "yarn2-plugins/prune-dev-dependencies/tests", + "yarn2-plugins/prune-dev-dependencies/jest.config.js", + "yarn2-plugins/prune-dev-dependencies/src", + ] diff --git a/ci-profile/nodejs.sh b/ci-profile/nodejs.sh new file mode 100755 index 000000000..d1066a135 --- /dev/null +++ b/ci-profile/nodejs.sh @@ -0,0 +1,5 @@ +#!/usr/bin/env bash + +export PATH="$HOME/.heroku/node/bin:$HOME/.heroku/yarn/bin:$PATH:$HOME/bin:$HOME/node_modules/.bin" +export NODE_HOME="$HOME/.heroku/node" +export NODE_ENV=${NODE_ENV:-test} diff --git a/etc/ci-setup.sh b/etc/ci-setup.sh new file mode 100644 index 000000000..6848c297f --- /dev/null +++ b/etc/ci-setup.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash + +[ "$CI" != "true" ] && echo "Not running on CI!" && exit 1 +ci_repo_owner=${CIRCLE_PROJECT_USERNAME:-${GITHUB_REPOSITORY_OWNER}} +[ "$ci_repo_owner" != "heroku" ] && echo "Run tests manually for forked PRs." && exit 0 + +bundle exec hatchet ci:setup diff --git a/etc/hatchet.sh b/etc/hatchet.sh new file mode 100755 index 000000000..55c27a349 --- /dev/null +++ b/etc/hatchet.sh @@ -0,0 +1,26 @@ +#!/usr/bin/env bash + +set -e + +ci_repo_owner=${CIRCLE_PROJECT_USERNAME:-${GITHUB_REPOSITORY_OWNER}} +ci_repo_name=${CIRCLE_PROJECT_REPONAME:-${GITHUB_REPOSITORY}} +ci_branch=${CIRCLE_BRANCH:-${GITHUB_HEAD_REF:-$GITHUB_REF_NAME}} + +[ "$ci_repo_owner" != "heroku" ] && echo "Run tests manually for forked PRs." && exit 0 + +if [[ "$ci_repo_name" == *nodebin ]]; then + HATCHET_BUILDPACK_BRANCH="main" +elif [ -n "$ci_branch" ]; then + HATCHET_BUILDPACK_BRANCH="$ci_branch" +else + HATCHET_BUILDPACK_BRANCH=$(git name-rev HEAD 2> /dev/null | sed 's#HEAD\ \(.*\)#\1#' | sed 's#tags\/##') +fi + +export HATCHET_BUILDPACK_BRANCH + +export HATCHET_RETRIES=3 +export HATCHET_APP_LIMIT=100 +export HATCHET_DEPLOY_STRATEGY=git +export HATCHET_BUILDPACK_BASE="https://github.com/heroku/heroku-buildpack-nodejs" + +bundle exec parallel_split_test "$@" diff --git a/etc/publish.sh b/etc/publish.sh new file mode 100755 index 000000000..3c77cb0ec --- /dev/null +++ b/etc/publish.sh @@ -0,0 +1,40 @@ +#!/bin/bash + +set -e + +BP_NAME=${1:-"heroku/nodejs"} + +# if buildpack-registry CLI plugin is not installed, show a help message and exit +if ! heroku plugins | grep -q "buildpack-registry"; then + echo "Releasing the buildpack requires the buildpack-registry CLI plugin." + echo "https://github.com/heroku/languages-team/blob/main/languages/nodejs/buildpack.md" + echo "" + echo "heroku plugins:install buildpack-registry" + echo "" + echo "Current CLI plugins:" + heroku plugins + exit 1 +fi + +curVersion=$(heroku buildpacks:versions "$BP_NAME" | awk 'FNR == 3 { print $1 }') +newVersion="v$((curVersion + 1))" + +read -r -p "Deploy as version: $newVersion [y/n]? " choice +case "$choice" in + y|Y ) echo "";; + n|N ) exit 0;; + * ) exit 1;; +esac + +originMain=$(git rev-parse origin/main) +echo "Tagging commit $originMain with $newVersion... " +git tag "$newVersion" "${originMain:?}" +git push origin refs/tags/$newVersion + +echo "Tagging commit $originMain with latest... " +git tag -f latest "${originMain:?}" +git push -f origin refs/tags/latest + +heroku buildpacks:publish "$BP_NAME" "$newVersion" + +echo "Done." diff --git a/test/no-package-json/Gemfile b/features similarity index 100% rename from test/no-package-json/Gemfile rename to features diff --git a/hatchet.json b/hatchet.json new file mode 100644 index 000000000..1b964afa6 --- /dev/null +++ b/hatchet.json @@ -0,0 +1,8 @@ +{ + "heroku": [ + "heroku/node-js-getting-started" + ], + "nodejs": [ + "sharpstone/default-node" + ] +} diff --git a/hatchet.lock b/hatchet.lock new file mode 100644 index 000000000..31d328288 --- /dev/null +++ b/hatchet.lock @@ -0,0 +1,5 @@ +--- +- - "./repos/heroku/node-js-getting-started" + - main +- - "./repos/nodejs/default-node" + - master diff --git a/inventory/node.toml b/inventory/node.toml new file mode 100644 index 000000000..f9065fa93 --- /dev/null +++ b/inventory/node.toml @@ -0,0 +1,9522 @@ +name = "node" + +[[releases]] +version = "0.10.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v0.10.0-darwin-x64.tar.gz" +etag = "739c200ca266266ff150ad4d89b83205" + +[[releases]] +version = "0.10.1" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v0.10.1-darwin-x64.tar.gz" +etag = "add2c86408c51ca108e2014030dded1d" + +[[releases]] +version = "0.10.10" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v0.10.10-darwin-x64.tar.gz" +etag = "f6721ca79d7402ddc881ea8f4380b0c2" + +[[releases]] +version = "0.10.11" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v0.10.11-darwin-x64.tar.gz" +etag = "ce0674b2322d7c33664212d211aa4bb9" + +[[releases]] +version = "0.10.12" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v0.10.12-darwin-x64.tar.gz" +etag = "23804ca5de6d2a6139ead017faf1ed60" + +[[releases]] +version = "0.10.13" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v0.10.13-darwin-x64.tar.gz" +etag = "d5a63c84cdb39b470f7ad3dc45c2727a" + +[[releases]] +version = "0.10.14" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v0.10.14-darwin-x64.tar.gz" +etag = "4386f721ba4e862b946f163b62cf61db" + +[[releases]] +version = "0.10.15" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v0.10.15-darwin-x64.tar.gz" +etag = "996c64a09c2a36cddfbf3cdfce493a51" + +[[releases]] +version = "0.10.16" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v0.10.16-darwin-x64.tar.gz" +etag = "d53b6340de354eb048cc7703a44e9b33" + +[[releases]] +version = "0.10.17" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v0.10.17-darwin-x64.tar.gz" +etag = "f67479fe9e0524344a50407575f6c251" + +[[releases]] +version = "0.10.18" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v0.10.18-darwin-x64.tar.gz" +etag = "0aa4270c3c6b2907041ac0d4e1d06731" + +[[releases]] +version = "0.10.19" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v0.10.19-darwin-x64.tar.gz" +etag = "d84eaf1d2a4445ae99d55f0c3a3b5cb0" + +[[releases]] +version = "0.10.2" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v0.10.2-darwin-x64.tar.gz" +etag = "d7217ca7e7710e04d8f4071bf601874b" + +[[releases]] +version = "0.10.20" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v0.10.20-darwin-x64.tar.gz" +etag = "165eb79335dfa844823ed07eebd571ba" + +[[releases]] +version = "0.10.21" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v0.10.21-darwin-x64.tar.gz" +etag = "4cd170168374738bc0c1818c94592be5" + +[[releases]] +version = "0.10.22" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v0.10.22-darwin-x64.tar.gz" +etag = "3541e529c8be6ac367b388a68d32844f" + +[[releases]] +version = "0.10.23" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v0.10.23-darwin-x64.tar.gz" +etag = "8dc094d98bd38f521f84016d4a0ea6d4" + +[[releases]] +version = "0.10.24" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v0.10.24-darwin-x64.tar.gz" +etag = "6127fae6281e5e40dc353e05da190e93" + +[[releases]] +version = "0.10.25" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v0.10.25-darwin-x64.tar.gz" +etag = "9323f6b7987407b9eb8d1402c7741f1a" + +[[releases]] +version = "0.10.26" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v0.10.26-darwin-x64.tar.gz" +etag = "34520fbfd822d3899b49eeaafcdbf170" + +[[releases]] +version = "0.10.27" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v0.10.27-darwin-x64.tar.gz" +etag = "a799579a84476983eb6e387f5185ebf0" + +[[releases]] +version = "0.10.28" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v0.10.28-darwin-x64.tar.gz" +etag = "fffb965e05b2c6f0b7a7b22f33ffad34" + +[[releases]] +version = "0.10.29" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v0.10.29-darwin-x64.tar.gz" +etag = "beb1de9f25c28f417d493124f0e49e53" + +[[releases]] +version = "0.10.3" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v0.10.3-darwin-x64.tar.gz" +etag = "b7effabcbff4fe1dca4e8a5c6bc1fb5c" + +[[releases]] +version = "0.10.30" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v0.10.30-darwin-x64.tar.gz" +etag = "3973ca6d1367474ca02850fb5d7a9d57" + +[[releases]] +version = "0.10.31" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v0.10.31-darwin-x64.tar.gz" +etag = "7a833d417b76c305366b09102eda94d0" + +[[releases]] +version = "0.10.32" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v0.10.32-darwin-x64.tar.gz" +etag = "bd5a65196c2ebe33c0251f19c5321b52" + +[[releases]] +version = "0.10.33" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v0.10.33-darwin-x64.tar.gz" +etag = "6fba8115b885c622d06683d75c676f48" + +[[releases]] +version = "0.10.34" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v0.10.34-darwin-x64.tar.gz" +etag = "62a928fc2a73d860c460865cf123c575" + +[[releases]] +version = "0.10.35" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v0.10.35-darwin-x64.tar.gz" +etag = "7d8e8de66e727e9bc51dead89a7b14cc" + +[[releases]] +version = "0.10.36" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v0.10.36-darwin-x64.tar.gz" +etag = "215ab4fb1cf6e767650ef0d3cd606e17" + +[[releases]] +version = "0.10.37" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v0.10.37-darwin-x64.tar.gz" +etag = "0603dedf1d2026c2331b669f53dc26e1" + +[[releases]] +version = "0.10.38" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v0.10.38-darwin-x64.tar.gz" +etag = "03a18da46350772ecae75ed58908477c" + +[[releases]] +version = "0.10.39" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v0.10.39-darwin-x64.tar.gz" +etag = "e5f59d0ee5a09c81d78395c1dd993a46" + +[[releases]] +version = "0.10.4" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v0.10.4-darwin-x64.tar.gz" +etag = "9fbb0184a5df999712948124cf09dc05" + +[[releases]] +version = "0.10.40" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v0.10.40-darwin-x64.tar.gz" +etag = "76c54366530314da504a5007f15a5aec" + +[[releases]] +version = "0.10.41" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v0.10.41-darwin-x64.tar.gz" +etag = "c677ea00932040e381c23cbd44c0803c" + +[[releases]] +version = "0.10.42" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v0.10.42-darwin-x64.tar.gz" +etag = "a6ba39e90330d93157d57285a64ec452" + +[[releases]] +version = "0.10.43" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v0.10.43-darwin-x64.tar.gz" +etag = "9f780366c50e11d2568a8625a59daff7" + +[[releases]] +version = "0.10.44" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v0.10.44-darwin-x64.tar.gz" +etag = "d8d2ea8e88b0f2cd5ae7aed433fc311e" + +[[releases]] +version = "0.10.45" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v0.10.45-darwin-x64.tar.gz" +etag = "a17db31698018e08a476eedc5e598b6e" + +[[releases]] +version = "0.10.46" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v0.10.46-darwin-x64.tar.gz" +etag = "5f73583d287cf3914f07f787792b5d9c" + +[[releases]] +version = "0.10.47" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v0.10.47-darwin-x64.tar.gz" +etag = "d63dfd67feabdd2cbe45d4abec11d9e3" + +[[releases]] +version = "0.10.48" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v0.10.48-darwin-x64.tar.gz" +etag = "8f543018e5a064588c3bb702cadccafd" + +[[releases]] +version = "0.10.5" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v0.10.5-darwin-x64.tar.gz" +etag = "38fe9f773e5a5ff45c3fec18d1049985" + +[[releases]] +version = "0.10.6" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v0.10.6-darwin-x64.tar.gz" +etag = "7a5967f8f2c1ecf88e82d00e63171fb4" + +[[releases]] +version = "0.10.7" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v0.10.7-darwin-x64.tar.gz" +etag = "55bc3ff33a8f1f75a87e1833fddea26e" + +[[releases]] +version = "0.10.8" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v0.10.8-darwin-x64.tar.gz" +etag = "3a1cf754787f708b693ba306c4acf169" + +[[releases]] +version = "0.10.9" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v0.10.9-darwin-x64.tar.gz" +etag = "a7328931bb7bd251c7d41dbf927e0d41" + +[[releases]] +version = "0.11.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v0.11.0-darwin-x64.tar.gz" +etag = "38f7c4238b49e8c4073e754f7ffdb19c" + +[[releases]] +version = "0.11.1" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v0.11.1-darwin-x64.tar.gz" +etag = "32608390f1fe57f48c187f1c9d2b4e18" + +[[releases]] +version = "0.11.10" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v0.11.10-darwin-x64.tar.gz" +etag = "738f72c339d4071c8e61c793da2e52d1" + +[[releases]] +version = "0.11.11" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v0.11.11-darwin-x64.tar.gz" +etag = "982cc2b49d3e5babdf5bd562fe4c0926" + +[[releases]] +version = "0.11.12" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v0.11.12-darwin-x64.tar.gz" +etag = "afcf17c85420c2c73e45339ded62fa8d" + +[[releases]] +version = "0.11.13" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v0.11.13-darwin-x64.tar.gz" +etag = "21ad4ffb7818e0a417db9337259c396e" + +[[releases]] +version = "0.11.14" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v0.11.14-darwin-x64.tar.gz" +etag = "002ed72f0088c5dddbb1be01c2af0638" + +[[releases]] +version = "0.11.15" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v0.11.15-darwin-x64.tar.gz" +etag = "e3d0eb56dd809049e5702c73d4045a78" + +[[releases]] +version = "0.11.16" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v0.11.16-darwin-x64.tar.gz" +etag = "73634a80432dbbfacada263f6cec36cb" + +[[releases]] +version = "0.11.2" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v0.11.2-darwin-x64.tar.gz" +etag = "3feeee79ae46834e75572c625c0f0542" + +[[releases]] +version = "0.11.3" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v0.11.3-darwin-x64.tar.gz" +etag = "1e56e19afbd95bd795c20056eed4933a" + +[[releases]] +version = "0.11.4" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v0.11.4-darwin-x64.tar.gz" +etag = "ae5c57a9f852fbc9529423e65aa8b696" + +[[releases]] +version = "0.11.5" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v0.11.5-darwin-x64.tar.gz" +etag = "d50ee079ce3cbb49d3f41afef4fecb23" + +[[releases]] +version = "0.11.6" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v0.11.6-darwin-x64.tar.gz" +etag = "6b2ccf9eb054ee10d0673b9357c9a297" + +[[releases]] +version = "0.11.7" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v0.11.7-darwin-x64.tar.gz" +etag = "196d5b28789d1ee20e038193ef7a23de" + +[[releases]] +version = "0.11.8" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v0.11.8-darwin-x64.tar.gz" +etag = "d483c05cbb31924d3bdea30f26f49d23" + +[[releases]] +version = "0.11.9" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v0.11.9-darwin-x64.tar.gz" +etag = "f89e4994ab1c7277a78a0e6d4c0899c3" + +[[releases]] +version = "0.12.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v0.12.0-darwin-x64.tar.gz" +etag = "1d8d0e3c3c0ccfd45c055b42c26c1ca7" + +[[releases]] +version = "0.12.1" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v0.12.1-darwin-x64.tar.gz" +etag = "592ba6e0e99bd8fc58e448f5d9e500cc" + +[[releases]] +version = "0.12.10" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v0.12.10-darwin-x64.tar.gz" +etag = "d9ee01290fc87e63206fb30b5069bb11" + +[[releases]] +version = "0.12.11" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v0.12.11-darwin-x64.tar.gz" +etag = "416dac6ff5d849922bf1d3e0d724bae4" + +[[releases]] +version = "0.12.12" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v0.12.12-darwin-x64.tar.gz" +etag = "ef7e7ab15d21c2d2648293937d0ae44a" + +[[releases]] +version = "0.12.13" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v0.12.13-darwin-x64.tar.gz" +etag = "c6803787452700a9ec319ec2286ff8de" + +[[releases]] +version = "0.12.14" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v0.12.14-darwin-x64.tar.gz" +etag = "e3205a937b4540885f1063f797fce988" + +[[releases]] +version = "0.12.15" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v0.12.15-darwin-x64.tar.gz" +etag = "419ace8c46216989e12a741a44a7731a" + +[[releases]] +version = "0.12.16" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v0.12.16-darwin-x64.tar.gz" +etag = "ee30295fa1aefbfb225463a3b8456363" + +[[releases]] +version = "0.12.17" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v0.12.17-darwin-x64.tar.gz" +etag = "b0b4f1030e12d2b512bbcf90732baf0d" + +[[releases]] +version = "0.12.18" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v0.12.18-darwin-x64.tar.gz" +etag = "49c80986b9d5b1acbf6ad8a1999b6cea" + +[[releases]] +version = "0.12.2" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v0.12.2-darwin-x64.tar.gz" +etag = "fb2fd0e602bc4c0ee4daaff5dac200c6" + +[[releases]] +version = "0.12.3" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v0.12.3-darwin-x64.tar.gz" +etag = "e35219a458ddb2e9e6c24d119b02d1b3" + +[[releases]] +version = "0.12.4" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v0.12.4-darwin-x64.tar.gz" +etag = "b9f311cd43f3e51ac4123f7750989d95" + +[[releases]] +version = "0.12.5" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v0.12.5-darwin-x64.tar.gz" +etag = "0d7ed0f9aab35c791b8064f18b6e2745" + +[[releases]] +version = "0.12.6" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v0.12.6-darwin-x64.tar.gz" +etag = "f435cb7650ae7d4019b51e08c4d62d65" + +[[releases]] +version = "0.12.7" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v0.12.7-darwin-x64.tar.gz" +etag = "ca4897256e00f5b8523cb84e85ad83ea" + +[[releases]] +version = "0.12.8" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v0.12.8-darwin-x64.tar.gz" +etag = "5c25cb525ac6f97b5c0c2eec00111623" + +[[releases]] +version = "0.12.9" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v0.12.9-darwin-x64.tar.gz" +etag = "45b61d6b3c5cdaac0f4046db0565ecbc" + +[[releases]] +version = "0.8.10" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v0.8.10-darwin-x64.tar.gz" +etag = "56dab27cc904791dd324a29e30fe8ae7" + +[[releases]] +version = "0.8.11" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v0.8.11-darwin-x64.tar.gz" +etag = "a35e1376822d0fbad51daadde7cabad7" + +[[releases]] +version = "0.8.12" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v0.8.12-darwin-x64.tar.gz" +etag = "60547b643e4f0966a20cf42407466563" + +[[releases]] +version = "0.8.13" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v0.8.13-darwin-x64.tar.gz" +etag = "61337c8953075670391a8752bda13bda" + +[[releases]] +version = "0.8.14" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v0.8.14-darwin-x64.tar.gz" +etag = "a2c406dddc355c67a6d56fc54d8d39bd" + +[[releases]] +version = "0.8.15" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v0.8.15-darwin-x64.tar.gz" +etag = "b1bf7b088912361e46b5138b64475516" + +[[releases]] +version = "0.8.16" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v0.8.16-darwin-x64.tar.gz" +etag = "face3eaa75cd5aba019ee978813c1d17" + +[[releases]] +version = "0.8.17" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v0.8.17-darwin-x64.tar.gz" +etag = "57832104e0536cb63412197159fe77cf" + +[[releases]] +version = "0.8.18" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v0.8.18-darwin-x64.tar.gz" +etag = "02ee6073e6a87f7c9c00dd602db07163" + +[[releases]] +version = "0.8.19" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v0.8.19-darwin-x64.tar.gz" +etag = "e8b346a4f69ae83767424550af3dd4d0" + +[[releases]] +version = "0.8.20" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v0.8.20-darwin-x64.tar.gz" +etag = "cb0c253f4fcca6b91614e5e56854b311" + +[[releases]] +version = "0.8.21" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v0.8.21-darwin-x64.tar.gz" +etag = "38319ebdc4d2d85d60344f483de0283b" + +[[releases]] +version = "0.8.22" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v0.8.22-darwin-x64.tar.gz" +etag = "fbf42b4daf46c9e116ed01fff61b4c23" + +[[releases]] +version = "0.8.23" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v0.8.23-darwin-x64.tar.gz" +etag = "3f6a2cb26cdf7f350b5d2e2ccea98c77" + +[[releases]] +version = "0.8.24" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v0.8.24-darwin-x64.tar.gz" +etag = "a42122be1f420bdf57c251babf5d8070" + +[[releases]] +version = "0.8.25" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v0.8.25-darwin-x64.tar.gz" +etag = "e89e8300224a071d31ca80c507b9a1f1" + +[[releases]] +version = "0.8.26" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v0.8.26-darwin-x64.tar.gz" +etag = "d280e8b57089db7620373b7d398dc39a" + +[[releases]] +version = "0.8.27" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v0.8.27-darwin-x64.tar.gz" +etag = "3028f490e2e457d67aeb8d4f2835fd33" + +[[releases]] +version = "0.8.28" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v0.8.28-darwin-x64.tar.gz" +etag = "6ab1225ea01032b87d2a9a08adb3402e" + +[[releases]] +version = "0.8.6" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v0.8.6-darwin-x64.tar.gz" +etag = "b5ff6ae04cbf8fe84bc0cffca9fdff7b" + +[[releases]] +version = "0.8.7" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v0.8.7-darwin-x64.tar.gz" +etag = "324266fbf25ba05282209f5bbd60ff11" + +[[releases]] +version = "0.8.8" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v0.8.8-darwin-x64.tar.gz" +etag = "084e6edf8e73a97344cea02fa868e3b1" + +[[releases]] +version = "0.8.9" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v0.8.9-darwin-x64.tar.gz" +etag = "07fe9ebaf6b620cd6ba74370c4f35882" + +[[releases]] +version = "0.9.1" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v0.9.1-darwin-x64.tar.gz" +etag = "50be3aa0d3ee2cede7b4ab972e5175d5" + +[[releases]] +version = "0.9.10" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v0.9.10-darwin-x64.tar.gz" +etag = "88120d7fa1717334114e4a80d0cb0365" + +[[releases]] +version = "0.9.11" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v0.9.11-darwin-x64.tar.gz" +etag = "795a3c869bdb384b34b68e6406bf145f" + +[[releases]] +version = "0.9.12" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v0.9.12-darwin-x64.tar.gz" +etag = "8a56c23f7a5e3724e1bface4398f83ba" + +[[releases]] +version = "0.9.2" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v0.9.2-darwin-x64.tar.gz" +etag = "0c9a0e751ee1b069c835039cc1116f15" + +[[releases]] +version = "0.9.3" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v0.9.3-darwin-x64.tar.gz" +etag = "8141db63871daaaada2db8b8982a1429" + +[[releases]] +version = "0.9.4" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v0.9.4-darwin-x64.tar.gz" +etag = "e9062b989187f679e81070773d041ca5" + +[[releases]] +version = "0.9.5" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v0.9.5-darwin-x64.tar.gz" +etag = "43c36503c316aee0bd66ea360e0d26e0" + +[[releases]] +version = "0.9.6" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v0.9.6-darwin-x64.tar.gz" +etag = "f31a916da408a2c33e2902e9c393be97" + +[[releases]] +version = "0.9.7" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v0.9.7-darwin-x64.tar.gz" +etag = "acb9e55c00a49b1b5ef1226b3b66e327" + +[[releases]] +version = "0.9.8" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v0.9.8-darwin-x64.tar.gz" +etag = "077b15f7b31a1143e008f8ca3a2a747a" + +[[releases]] +version = "0.9.9" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v0.9.9-darwin-x64.tar.gz" +etag = "fda6cf91f58e44dfa9686915ba00b29f" + +[[releases]] +version = "10.0.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v10.0.0-darwin-x64.tar.gz" +etag = "489d0568ea937a3e5041fad18649b51e" + +[[releases]] +version = "10.1.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v10.1.0-darwin-x64.tar.gz" +etag = "075338fcbfb421d80b8b272167367149-2" + +[[releases]] +version = "10.10.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v10.10.0-darwin-x64.tar.gz" +etag = "c21bffff553546ac2776cdb28fb7363c-2" + +[[releases]] +version = "10.11.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v10.11.0-darwin-x64.tar.gz" +etag = "7c1f911d3b24c71f9f0718b93d9bb6b8-2" + +[[releases]] +version = "10.12.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v10.12.0-darwin-x64.tar.gz" +etag = "ffe227e5a6512104f9c2414fafb1b55a-2" + +[[releases]] +version = "10.13.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v10.13.0-darwin-x64.tar.gz" +etag = "d5f7998b145c354695fd17fae1b3f02b-2" + +[[releases]] +version = "10.14.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v10.14.0-darwin-x64.tar.gz" +etag = "c121ed62304a207ba5c7f6b49037fd1b-2" + +[[releases]] +version = "10.14.1" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v10.14.1-darwin-x64.tar.gz" +etag = "eed04220f203896d319837b77919dcff-2" + +[[releases]] +version = "10.14.2" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v10.14.2-darwin-x64.tar.gz" +etag = "b1d3e9268544048430ab8ff3e08b4483-2" + +[[releases]] +version = "10.15.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v10.15.0-darwin-x64.tar.gz" +etag = "7ff7b375d370a97fcd4746f2541fefa0-2" + +[[releases]] +version = "10.15.1" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v10.15.1-darwin-x64.tar.gz" +etag = "7ea7702617b20c5deb6416261782630a-2" + +[[releases]] +version = "10.15.2" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v10.15.2-darwin-x64.tar.gz" +etag = "963ffeecd266832a954db7724fcd86fe-2" + +[[releases]] +version = "10.15.3" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v10.15.3-darwin-x64.tar.gz" +etag = "6b7bb08f102bb5e4e8dee88b46548fb7-2" + +[[releases]] +version = "10.16.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v10.16.0-darwin-x64.tar.gz" +etag = "70b927cdc7bc9d0fd3bc558e5a205cca-3" + +[[releases]] +version = "10.16.1" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v10.16.1-darwin-x64.tar.gz" +etag = "782b24811bc14de243941e17e3e3603c-3" + +[[releases]] +version = "10.16.2" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v10.16.2-darwin-x64.tar.gz" +etag = "cbabef467c591e4d643ec6174f0ec122-3" + +[[releases]] +version = "10.16.3" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v10.16.3-darwin-x64.tar.gz" +etag = "8740ea019b634b1947bbbbfce372c8ee-3" + +[[releases]] +version = "10.17.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v10.17.0-darwin-x64.tar.gz" +etag = "c288126f9b163ae8f210d4be4e544be7-3" + +[[releases]] +version = "10.18.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v10.18.0-darwin-x64.tar.gz" +etag = "0c95534e9dac2cc99fac2f0ddc1bcd46-3" + +[[releases]] +version = "10.18.1" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v10.18.1-darwin-x64.tar.gz" +etag = "1beab3e621a27924a076f88bbd0180f8-3" + +[[releases]] +version = "10.19.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v10.19.0-darwin-x64.tar.gz" +etag = "06ce71192fd267dd866827edccda5996-3" + +[[releases]] +version = "10.2.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v10.2.0-darwin-x64.tar.gz" +etag = "0ea30daa604b1bd929ee178d40af8352-2" + +[[releases]] +version = "10.2.1" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v10.2.1-darwin-x64.tar.gz" +etag = "aa160c78897cd7245bee4412f3bc96e2-2" + +[[releases]] +version = "10.20.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v10.20.0-darwin-x64.tar.gz" +etag = "9333a777f0a74f5b7ea87550d74262c3-3" + +[[releases]] +version = "10.20.1" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v10.20.1-darwin-x64.tar.gz" +etag = "878c0c4323e31dd9106d756abb0b9002-3" + +[[releases]] +version = "10.21.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v10.21.0-darwin-x64.tar.gz" +etag = "3df5c0dec214c35f2d731726733b1c6a-3" + +[[releases]] +version = "10.22.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v10.22.0-darwin-x64.tar.gz" +etag = "0037544c07933ec1d5da9c33092f6831-3" + +[[releases]] +version = "10.22.1" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v10.22.1-darwin-x64.tar.gz" +etag = "d32be387d0f7f21abf2642e23d47b19c-3" + +[[releases]] +version = "10.23.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v10.23.0-darwin-x64.tar.gz" +etag = "7d35b632cb913bb0cee161b3f949932f-3" + +[[releases]] +version = "10.23.1" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v10.23.1-darwin-x64.tar.gz" +etag = "292b25a4474b5829b2ac34a1ecc32100-3" + +[[releases]] +version = "10.3.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v10.3.0-darwin-x64.tar.gz" +etag = "b60c4138233e6dbd81136991478d3ce8" + +[[releases]] +version = "10.4.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v10.4.0-darwin-x64.tar.gz" +etag = "fdfe32890237401b1074b76f4531d7af" + +[[releases]] +version = "10.4.1" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v10.4.1-darwin-x64.tar.gz" +etag = "a2f3db9e73ef1289b98fab580efd1829" + +[[releases]] +version = "10.5.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v10.5.0-darwin-x64.tar.gz" +etag = "ab1b49dcd29791ef0183c6aa4cb00885" + +[[releases]] +version = "10.6.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v10.6.0-darwin-x64.tar.gz" +etag = "48ae42cdab07fa348621cf5525847605" + +[[releases]] +version = "10.7.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v10.7.0-darwin-x64.tar.gz" +etag = "1339db7e1ce0b9a626f49451319ea4c5" + +[[releases]] +version = "10.8.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v10.8.0-darwin-x64.tar.gz" +etag = "cceaa14bbe1408de6a2b00c4b941205b" + +[[releases]] +version = "10.9.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v10.9.0-darwin-x64.tar.gz" +etag = "589b2b59735c2756fa3ab64cdfb1f1a9" + +[[releases]] +version = "11.0.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v11.0.0-darwin-x64.tar.gz" +etag = "ecc3e19ec147553f53a1d55cd7985054" + +[[releases]] +version = "11.1.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v11.1.0-darwin-x64.tar.gz" +etag = "58249d44f40a5a5299fa83f3fd1ee36c" + +[[releases]] +version = "11.10.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v11.10.0-darwin-x64.tar.gz" +etag = "bf5fd780114c9e7981146a4909e2ffde" + +[[releases]] +version = "11.10.1" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v11.10.1-darwin-x64.tar.gz" +etag = "80ac0921ffeca782eabae1e543cf5a1d" + +[[releases]] +version = "11.11.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v11.11.0-darwin-x64.tar.gz" +etag = "736858f23fb79479af941461817424a4" + +[[releases]] +version = "11.12.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v11.12.0-darwin-x64.tar.gz" +etag = "77636576d7ba54c52a984e9891413b16" + +[[releases]] +version = "11.13.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v11.13.0-darwin-x64.tar.gz" +etag = "56d811e1709ae0ba4b591ee2489003c3" + +[[releases]] +version = "11.14.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v11.14.0-darwin-x64.tar.gz" +etag = "59478d7f4976d5d4248b8e6d24b19270" + +[[releases]] +version = "11.15.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v11.15.0-darwin-x64.tar.gz" +etag = "3cc7ff95006b05b6d8cb7b727388c19b" + +[[releases]] +version = "11.2.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v11.2.0-darwin-x64.tar.gz" +etag = "3dbded714a5cebaf5ac447c4484e32fe" + +[[releases]] +version = "11.3.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v11.3.0-darwin-x64.tar.gz" +etag = "d15a0a760aeb7fcd4c0b6a25529759c0" + +[[releases]] +version = "11.4.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v11.4.0-darwin-x64.tar.gz" +etag = "0badf49f8d6aa6d8132916052547865d" + +[[releases]] +version = "11.5.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v11.5.0-darwin-x64.tar.gz" +etag = "f1968a180739aec5a35e7778b77d4bea" + +[[releases]] +version = "11.6.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v11.6.0-darwin-x64.tar.gz" +etag = "bc6044faecbd1a216d11ab8ac05f3a41" + +[[releases]] +version = "11.7.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v11.7.0-darwin-x64.tar.gz" +etag = "ccea4d6956bf66ce6af96cefb93d1f04" + +[[releases]] +version = "11.8.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v11.8.0-darwin-x64.tar.gz" +etag = "d7d522f5bf1e1821d258cdb3ebf87e7c" + +[[releases]] +version = "11.9.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v11.9.0-darwin-x64.tar.gz" +etag = "1dce07e744fd518a9d3bf1611c0e721a" + +[[releases]] +version = "12.0.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v12.0.0-darwin-x64.tar.gz" +etag = "9bd5425992b3e8b27542dd0017140feb" + +[[releases]] +version = "12.1.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v12.1.0-darwin-x64.tar.gz" +etag = "f6464cf5569dcd84a7930dd463636418" + +[[releases]] +version = "12.10.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v12.10.0-darwin-x64.tar.gz" +etag = "ae17569da0e787b77f7811b255c528cb" + +[[releases]] +version = "12.11.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v12.11.0-darwin-x64.tar.gz" +etag = "cfb6ddede26476faa95e4e445dee6254" + +[[releases]] +version = "12.11.1" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v12.11.1-darwin-x64.tar.gz" +etag = "870f6467a4e95f1d3b29f08f8158dde1" + +[[releases]] +version = "12.12.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v12.12.0-darwin-x64.tar.gz" +etag = "72b892d17a1de38b40cddd7fdb39e8e7" + +[[releases]] +version = "12.13.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v12.13.0-darwin-x64.tar.gz" +etag = "e5cb03e25d7996ae24a230a4512c5817" + +[[releases]] +version = "12.13.1" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v12.13.1-darwin-x64.tar.gz" +etag = "1df6f5862c67e5cf377ee8661ed730f4" + +[[releases]] +version = "12.14.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v12.14.0-darwin-x64.tar.gz" +etag = "1ec6c21238c6af4b8c2cb20ae6630df8" + +[[releases]] +version = "12.14.1" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v12.14.1-darwin-x64.tar.gz" +etag = "d98df77c47b0b83b3d0cb04d97374e90" + +[[releases]] +version = "12.15.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v12.15.0-darwin-x64.tar.gz" +etag = "8bf0ff87a9cd53de20f9905a4266b445" + +[[releases]] +version = "12.16.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v12.16.0-darwin-x64.tar.gz" +etag = "5504043d93837eeee1fb3dbfaa52eaa6" + +[[releases]] +version = "12.16.1" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v12.16.1-darwin-x64.tar.gz" +etag = "3bcfe9b7553b9836878c87394d585fbd" + +[[releases]] +version = "12.16.2" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v12.16.2-darwin-x64.tar.gz" +etag = "51645a099c321d971733a645e37847bc" + +[[releases]] +version = "12.16.3" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v12.16.3-darwin-x64.tar.gz" +etag = "db0e17a2dffe405e6077c817131a823d-3" + +[[releases]] +version = "12.2.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v12.2.0-darwin-x64.tar.gz" +etag = "d95b66b6c81e4bbddd94b7ddfa4a4a2f" + +[[releases]] +version = "12.3.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v12.3.0-darwin-x64.tar.gz" +etag = "3b55e52fc17ba959ce339c7fdcee0f56" + +[[releases]] +version = "12.3.1" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v12.3.1-darwin-x64.tar.gz" +etag = "67a1cf0fd7d2b623ff3503f5026b21d4" + +[[releases]] +version = "12.4.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v12.4.0-darwin-x64.tar.gz" +etag = "1327d9429ca77b14ce14b52b622031f2" + +[[releases]] +version = "12.5.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v12.5.0-darwin-x64.tar.gz" +etag = "ace7c880c8178bbdbdc2efae749a9ac7" + +[[releases]] +version = "12.6.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v12.6.0-darwin-x64.tar.gz" +etag = "383b60f419a752c565bfeb1b95a0e843-3" + +[[releases]] +version = "12.7.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v12.7.0-darwin-x64.tar.gz" +etag = "de537f6e5640466b44d7774b61616864-3" + +[[releases]] +version = "12.8.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v12.8.0-darwin-x64.tar.gz" +etag = "a6bf0fad73dd99a3eb92c8dffdf73a9e" + +[[releases]] +version = "12.8.1" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v12.8.1-darwin-x64.tar.gz" +etag = "4c89a11e9cf7c81fdccaaaa23243a52a-3" + +[[releases]] +version = "12.9.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v12.9.0-darwin-x64.tar.gz" +etag = "db54bea21ff05b1faf4515b62df166cc" + +[[releases]] +version = "12.9.1" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v12.9.1-darwin-x64.tar.gz" +etag = "b6c2184b83c94254b3267e485b9540c5-3" + +[[releases]] +version = "13.0.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v13.0.0-darwin-x64.tar.gz" +etag = "9c1d16f64f45ae8f041ede55f9ca3f27-4" + +[[releases]] +version = "13.0.1" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v13.0.1-darwin-x64.tar.gz" +etag = "2e9b0f36d6f58841817fc6eb178e8a09-4" + +[[releases]] +version = "13.1.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v13.1.0-darwin-x64.tar.gz" +etag = "60da832dd768d69cd01dbfccad8fc154-4" + +[[releases]] +version = "13.10.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v13.10.0-darwin-x64.tar.gz" +etag = "0908ebf0f16e61c25083f66bb37f115a-4" + +[[releases]] +version = "13.10.1" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v13.10.1-darwin-x64.tar.gz" +etag = "56e611f1cb321731eb1ef238991ef4da-4" + +[[releases]] +version = "13.11.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v13.11.0-darwin-x64.tar.gz" +etag = "4370def07b18d225755e4acca647593d-4" + +[[releases]] +version = "13.12.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v13.12.0-darwin-x64.tar.gz" +etag = "f014fcc400f09fc071ea300b7b68eed3-4" + +[[releases]] +version = "13.13.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v13.13.0-darwin-x64.tar.gz" +etag = "1503b4a33b739dffa30cb28609c3c882-4" + +[[releases]] +version = "13.2.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v13.2.0-darwin-x64.tar.gz" +etag = "6b7239eebb6bc344cc2e642014ea8402-4" + +[[releases]] +version = "13.3.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v13.3.0-darwin-x64.tar.gz" +etag = "a2090fb5b2388c6e3a970d66a982b267" + +[[releases]] +version = "13.4.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v13.4.0-darwin-x64.tar.gz" +etag = "22c2828a7db7547e4c5487b7cd18f2ce-4" + +[[releases]] +version = "13.5.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v13.5.0-darwin-x64.tar.gz" +etag = "7099d8d7eece8092aadf065201195309-4" + +[[releases]] +version = "13.6.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v13.6.0-darwin-x64.tar.gz" +etag = "4b02b6953ad7f299be3047e9337abbd9" + +[[releases]] +version = "13.7.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v13.7.0-darwin-x64.tar.gz" +etag = "86d6f2e39c4163584ba86e18abad26fb-4" + +[[releases]] +version = "13.8.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v13.8.0-darwin-x64.tar.gz" +etag = "363e99e2177ffbf685410148cb4cf701-4" + +[[releases]] +version = "13.9.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v13.9.0-darwin-x64.tar.gz" +etag = "25433a0b64a3b71b981656b01b3b0031" + +[[releases]] +version = "16.2.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v16.2.0-darwin-x64.tar.gz" +etag = "a5edf585cde418ce69f99eb1c99e4910-4" + +[[releases]] +version = "4.0.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v4.0.0-darwin-x64.tar.gz" +etag = "fd64ae33e7757293e6fe1acf660fd8fa" + +[[releases]] +version = "4.1.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v4.1.0-darwin-x64.tar.gz" +etag = "8ca7483120975d1510ab651d56630941" + +[[releases]] +version = "4.1.1" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v4.1.1-darwin-x64.tar.gz" +etag = "8a51c6314c0e43a911cd214bb34ca383" + +[[releases]] +version = "4.1.2" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v4.1.2-darwin-x64.tar.gz" +etag = "31a3ee2f51bb2018501048f543ea31c7" + +[[releases]] +version = "4.2.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v4.2.0-darwin-x64.tar.gz" +etag = "7372a81b1c6b8340c99421d55a0eda71" + +[[releases]] +version = "4.2.1" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v4.2.1-darwin-x64.tar.gz" +etag = "1570be16287504d7bd5410c6b047cf0c" + +[[releases]] +version = "4.2.2" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v4.2.2-darwin-x64.tar.gz" +etag = "7fa842ce2a6070b09e0dc774d5d9f81c" + +[[releases]] +version = "4.2.3" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v4.2.3-darwin-x64.tar.gz" +etag = "ba6c1db01e0fc29c94106d294959f63e" + +[[releases]] +version = "4.2.4" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v4.2.4-darwin-x64.tar.gz" +etag = "3a68493cd518e34f9cc913ea351b0d76" + +[[releases]] +version = "4.2.5" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v4.2.5-darwin-x64.tar.gz" +etag = "14934b5f60737cd3e2ee01fa5fad16e7" + +[[releases]] +version = "4.2.6" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v4.2.6-darwin-x64.tar.gz" +etag = "cab166afc09599e5b6946c2246aff0bf" + +[[releases]] +version = "4.3.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v4.3.0-darwin-x64.tar.gz" +etag = "e83bc0721bbd693d87e6d4a5739eff16" + +[[releases]] +version = "4.3.1" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v4.3.1-darwin-x64.tar.gz" +etag = "9a55c96b5c23e9d317cb7f5db2a8d9fc" + +[[releases]] +version = "4.3.2" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v4.3.2-darwin-x64.tar.gz" +etag = "1a621360147e89d351dd7262652d6f84" + +[[releases]] +version = "4.4.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v4.4.0-darwin-x64.tar.gz" +etag = "5392ac884a1e0acdf0011eb7fe6d10c3" + +[[releases]] +version = "4.4.1" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v4.4.1-darwin-x64.tar.gz" +etag = "b9ea0c459baa3ebea63cf59ae60373c0" + +[[releases]] +version = "4.4.2" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v4.4.2-darwin-x64.tar.gz" +etag = "b9acc9f1ff3bf474bc33e92b78a06fd3" + +[[releases]] +version = "4.4.3" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v4.4.3-darwin-x64.tar.gz" +etag = "32e4ce24aefbdd19e9b2306a8a0d6d3b" + +[[releases]] +version = "4.4.4" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v4.4.4-darwin-x64.tar.gz" +etag = "1f4c9fd5f68f7b626eb0d48c562d3250" + +[[releases]] +version = "4.4.5" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v4.4.5-darwin-x64.tar.gz" +etag = "553d2f47ade9312a3cb23192df927603" + +[[releases]] +version = "4.4.6" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v4.4.6-darwin-x64.tar.gz" +etag = "9db907435908ae769f0188605b4ce385" + +[[releases]] +version = "4.4.7" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v4.4.7-darwin-x64.tar.gz" +etag = "b2e25ef68900d66cca801bd149ad5fb4" + +[[releases]] +version = "4.5.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v4.5.0-darwin-x64.tar.gz" +etag = "5260810ee7c15d615552257a0d38a15d" + +[[releases]] +version = "4.6.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v4.6.0-darwin-x64.tar.gz" +etag = "89e85f848a731326a993a29cfe225db8" + +[[releases]] +version = "4.6.1" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v4.6.1-darwin-x64.tar.gz" +etag = "535ebadbee21b7a725143686bc662bcc" + +[[releases]] +version = "4.6.2" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v4.6.2-darwin-x64.tar.gz" +etag = "e20736b12e738b28c40e322bce66c399" + +[[releases]] +version = "4.7.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v4.7.0-darwin-x64.tar.gz" +etag = "d6f8e02a4a60e320e5cb7c8795a5a96f" + +[[releases]] +version = "4.7.1" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v4.7.1-darwin-x64.tar.gz" +etag = "0545346f38c803f039f8f63cbe9d8327" + +[[releases]] +version = "4.7.2" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v4.7.2-darwin-x64.tar.gz" +etag = "499521a44c1b2c174c70e0a903287179" + +[[releases]] +version = "4.7.3" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v4.7.3-darwin-x64.tar.gz" +etag = "36ec677543797d5d80cafc3e76cf788c" + +[[releases]] +version = "4.8.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v4.8.0-darwin-x64.tar.gz" +etag = "2160ab2fc4b3d97e30923c8ce73ff6e8" + +[[releases]] +version = "4.8.1" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v4.8.1-darwin-x64.tar.gz" +etag = "04aedde750aa1bf01f16f9d0ae5f0c9c" + +[[releases]] +version = "4.8.2" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v4.8.2-darwin-x64.tar.gz" +etag = "cd776a58cf3b1ba65f295094ab958087" + +[[releases]] +version = "4.8.3" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v4.8.3-darwin-x64.tar.gz" +etag = "d98c95d3735f911a836c6dca72416f00" + +[[releases]] +version = "4.8.4" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v4.8.4-darwin-x64.tar.gz" +etag = "591d6e6146d29ae62a1b9f885b72f652" + +[[releases]] +version = "4.8.5" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v4.8.5-darwin-x64.tar.gz" +etag = "9a8a87347201348b756baf733d88c3a1" + +[[releases]] +version = "4.8.6" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v4.8.6-darwin-x64.tar.gz" +etag = "9a270f3accb5c13ee9a7d238c6b630ec" + +[[releases]] +version = "4.8.7" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v4.8.7-darwin-x64.tar.gz" +etag = "3ec65a0ca5617bafad196f22487b4e92" + +[[releases]] +version = "4.9.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v4.9.0-darwin-x64.tar.gz" +etag = "ab0e0f28d3899e69bc8695ded2f78cda" + +[[releases]] +version = "4.9.1" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v4.9.1-darwin-x64.tar.gz" +etag = "45e1a8ac9e641a82acf976516f435842" + +[[releases]] +version = "5.0.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v5.0.0-darwin-x64.tar.gz" +etag = "b30997758fa2e89cca5434b06cbed440" + +[[releases]] +version = "5.1.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v5.1.0-darwin-x64.tar.gz" +etag = "d531d26ebec53b1ae00e99af25ae2a18" + +[[releases]] +version = "5.1.1" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v5.1.1-darwin-x64.tar.gz" +etag = "c52f962aeb14444c44c12280056f4cc3" + +[[releases]] +version = "5.10.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v5.10.0-darwin-x64.tar.gz" +etag = "9a8d8014841ffff463810b4d1c665f70" + +[[releases]] +version = "5.10.1" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v5.10.1-darwin-x64.tar.gz" +etag = "1dcc9d712dd2df5df88623c72309bf81" + +[[releases]] +version = "5.11.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v5.11.0-darwin-x64.tar.gz" +etag = "c4d12d0bd233b1674de585e2c50896d2" + +[[releases]] +version = "5.11.1" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v5.11.1-darwin-x64.tar.gz" +etag = "7106c928dabe9fde7159bc209e0115cc" + +[[releases]] +version = "5.12.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v5.12.0-darwin-x64.tar.gz" +etag = "46f848fd273ad87f5b9250d8312b7387" + +[[releases]] +version = "5.2.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v5.2.0-darwin-x64.tar.gz" +etag = "db1ae727932b933053862880fa6e5611" + +[[releases]] +version = "5.3.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v5.3.0-darwin-x64.tar.gz" +etag = "cd724378cf7f2c38934ef9361fdd3e9c" + +[[releases]] +version = "5.4.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v5.4.0-darwin-x64.tar.gz" +etag = "8e797a6e476e071fa09f59275f04cca3" + +[[releases]] +version = "5.4.1" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v5.4.1-darwin-x64.tar.gz" +etag = "4a8f9ebb26b5c6858799a32caf90a8ad" + +[[releases]] +version = "5.5.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v5.5.0-darwin-x64.tar.gz" +etag = "7f5c3e0cfc6866d99633c238139f1957" + +[[releases]] +version = "5.6.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v5.6.0-darwin-x64.tar.gz" +etag = "6644c279d0c9e178e87fe5c9b4ac3887" + +[[releases]] +version = "5.7.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v5.7.0-darwin-x64.tar.gz" +etag = "cbfa878e61eeedc29090e96e74783954" + +[[releases]] +version = "5.7.1" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v5.7.1-darwin-x64.tar.gz" +etag = "0db5fb88acd4ba2d65ba68459297c595" + +[[releases]] +version = "5.8.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v5.8.0-darwin-x64.tar.gz" +etag = "c939f95036066bd7f2629a2804c88e39" + +[[releases]] +version = "5.9.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v5.9.0-darwin-x64.tar.gz" +etag = "387926afe9499ffbe8c8417ed452936a" + +[[releases]] +version = "5.9.1" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v5.9.1-darwin-x64.tar.gz" +etag = "25ea4f9c9f6752e9464ebb876f588915" + +[[releases]] +version = "6.0.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v6.0.0-darwin-x64.tar.gz" +etag = "484a3058a2f75664f0c74cae4198ef99" + +[[releases]] +version = "6.1.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v6.1.0-darwin-x64.tar.gz" +etag = "97c09ca684eb6c3e8bf1a7dbbdf4394d" + +[[releases]] +version = "6.10.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v6.10.0-darwin-x64.tar.gz" +etag = "cdcd0f8f7bd8ba7665a3a645a32f9140" + +[[releases]] +version = "6.10.1" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v6.10.1-darwin-x64.tar.gz" +etag = "72d70fe5e6fe2c4123c9d313c8f852a1" + +[[releases]] +version = "6.10.2" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v6.10.2-darwin-x64.tar.gz" +etag = "df91310e47f2442b23e146cc02a6f825" + +[[releases]] +version = "6.10.3" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v6.10.3-darwin-x64.tar.gz" +etag = "c4cc8c509739f40960828aa9c87ef84a" + +[[releases]] +version = "6.11.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v6.11.0-darwin-x64.tar.gz" +etag = "af9fcf8ac3c2bd248c04f953488bce39" + +[[releases]] +version = "6.11.1" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v6.11.1-darwin-x64.tar.gz" +etag = "5250d8876d1d36fb31f08a149de6975b" + +[[releases]] +version = "6.11.2" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v6.11.2-darwin-x64.tar.gz" +etag = "1dc8b1cada5c2f0c651a5aa964dd8352" + +[[releases]] +version = "6.11.3" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v6.11.3-darwin-x64.tar.gz" +etag = "4ac55d1366cd86c93c25fdcd7cbf8e77" + +[[releases]] +version = "6.11.4" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v6.11.4-darwin-x64.tar.gz" +etag = "5ae64364557a952c05077c47bad7c0e4" + +[[releases]] +version = "6.11.5" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v6.11.5-darwin-x64.tar.gz" +etag = "2f2759d8b7a5d7827ec81ad38559f436" + +[[releases]] +version = "6.12.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v6.12.0-darwin-x64.tar.gz" +etag = "1ac3996e047fecba6a795720d910f254" + +[[releases]] +version = "6.12.1" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v6.12.1-darwin-x64.tar.gz" +etag = "01c3d1dcd37be7a64f89739300f75e6f" + +[[releases]] +version = "6.12.2" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v6.12.2-darwin-x64.tar.gz" +etag = "2647861a42f2052d31601b651cfd722b" + +[[releases]] +version = "6.12.3" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v6.12.3-darwin-x64.tar.gz" +etag = "1c5c373a464ed3b6d7de76b13f5dbc8a" + +[[releases]] +version = "6.13.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v6.13.0-darwin-x64.tar.gz" +etag = "8739711a000b22819add0f4a5c9ce90f" + +[[releases]] +version = "6.13.1" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v6.13.1-darwin-x64.tar.gz" +etag = "9a17508fc8573c92095fa7dfa9c20015" + +[[releases]] +version = "6.14.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v6.14.0-darwin-x64.tar.gz" +etag = "91b1b235028d51939f983d8682d2160a" + +[[releases]] +version = "6.14.1" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v6.14.1-darwin-x64.tar.gz" +etag = "8e28708fd099ccd09aee2c7bd4132b12" + +[[releases]] +version = "6.14.2" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v6.14.2-darwin-x64.tar.gz" +etag = "32708275cb56de819a9e8422b553e0ca" + +[[releases]] +version = "6.14.3" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v6.14.3-darwin-x64.tar.gz" +etag = "7351e1f2ae8bcc326c0898e25b71407f" + +[[releases]] +version = "6.14.4" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v6.14.4-darwin-x64.tar.gz" +etag = "0bb04f12c5041367429175a765e0f948" + +[[releases]] +version = "6.15.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v6.15.0-darwin-x64.tar.gz" +etag = "d8db6fa9ab2757996604a0b6e5af31d4" + +[[releases]] +version = "6.15.1" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v6.15.1-darwin-x64.tar.gz" +etag = "f4c860c829f4749ee9196f94239cd2ad" + +[[releases]] +version = "6.16.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v6.16.0-darwin-x64.tar.gz" +etag = "ece449be5f8b9a7a5acc6d7c75d2a97e" + +[[releases]] +version = "6.17.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v6.17.0-darwin-x64.tar.gz" +etag = "0a3afceae5144b47d497c01d40e57fed" + +[[releases]] +version = "6.17.1" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v6.17.1-darwin-x64.tar.gz" +etag = "55394ba4babf46ec8eeded045c1c8c56" + +[[releases]] +version = "6.2.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v6.2.0-darwin-x64.tar.gz" +etag = "26c088c39aa083ce07422ccc7af6d825" + +[[releases]] +version = "6.2.1" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v6.2.1-darwin-x64.tar.gz" +etag = "1bdc85854a27b84c5f9ed0132217b62f" + +[[releases]] +version = "6.2.2" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v6.2.2-darwin-x64.tar.gz" +etag = "6d2ea41938c4ccee53bde9423b1991fc" + +[[releases]] +version = "6.3.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v6.3.0-darwin-x64.tar.gz" +etag = "11ad99b9cf675ace0da8ca880369a338" + +[[releases]] +version = "6.3.1" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v6.3.1-darwin-x64.tar.gz" +etag = "7ad393945bf4b90e2e4c8737035a8167" + +[[releases]] +version = "6.4.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v6.4.0-darwin-x64.tar.gz" +etag = "a39aea666fef161df8e515189d318bbd" + +[[releases]] +version = "6.5.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v6.5.0-darwin-x64.tar.gz" +etag = "44080b266b0312ed1ebe054538be520a" + +[[releases]] +version = "6.6.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v6.6.0-darwin-x64.tar.gz" +etag = "aaf636350e51238f9ebba403741df2ea" + +[[releases]] +version = "6.7.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v6.7.0-darwin-x64.tar.gz" +etag = "cdb82558b770dd763cb7d2f3c9364287" + +[[releases]] +version = "6.8.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v6.8.0-darwin-x64.tar.gz" +etag = "3a0f016ee726588d0e01131b4f779bae" + +[[releases]] +version = "6.8.1" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v6.8.1-darwin-x64.tar.gz" +etag = "f2789ba98dd571b18c652b9cfb3dde0c" + +[[releases]] +version = "6.9.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v6.9.0-darwin-x64.tar.gz" +etag = "c1fab809f9d2e6e4593e726f4977327b" + +[[releases]] +version = "6.9.1" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v6.9.1-darwin-x64.tar.gz" +etag = "3e48d814a8bf69b2f42cea40daa3d252" + +[[releases]] +version = "6.9.2" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v6.9.2-darwin-x64.tar.gz" +etag = "8cdf2b717e404a37872bd3d4f0aee6f6" + +[[releases]] +version = "6.9.3" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v6.9.3-darwin-x64.tar.gz" +etag = "681d8aeff603aec817d3aa17ef88e34f" + +[[releases]] +version = "6.9.4" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v6.9.4-darwin-x64.tar.gz" +etag = "cfc3eff29e952b7f5c15ec0bf10ff877" + +[[releases]] +version = "6.9.5" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v6.9.5-darwin-x64.tar.gz" +etag = "1c4e82ed6c23c454bec36533581b48bd" + +[[releases]] +version = "7.0.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v7.0.0-darwin-x64.tar.gz" +etag = "e54f28c735c95991f3988c6ac0b8962f" + +[[releases]] +version = "7.1.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v7.1.0-darwin-x64.tar.gz" +etag = "46423bbe029458f5d495fa89b0e3ac8e" + +[[releases]] +version = "7.10.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v7.10.0-darwin-x64.tar.gz" +etag = "8d9bca96db9aa8b3c55dda544bb16ea8" + +[[releases]] +version = "7.10.1" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v7.10.1-darwin-x64.tar.gz" +etag = "17cc75617a63682f5c6cf51db5d08c23" + +[[releases]] +version = "7.2.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v7.2.0-darwin-x64.tar.gz" +etag = "9adf88beaad7bb1822ba65ad57e47df4" + +[[releases]] +version = "7.2.1" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v7.2.1-darwin-x64.tar.gz" +etag = "65c680fef9e82f03d720df5b4774af88" + +[[releases]] +version = "7.3.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v7.3.0-darwin-x64.tar.gz" +etag = "6ae4dd30d0470e2ac2ee181e78548d99" + +[[releases]] +version = "7.4.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v7.4.0-darwin-x64.tar.gz" +etag = "7daf628c7d2e8ac005dad53b35982930" + +[[releases]] +version = "7.5.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v7.5.0-darwin-x64.tar.gz" +etag = "0d885817d79da925d7da51f2144a1347" + +[[releases]] +version = "7.6.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v7.6.0-darwin-x64.tar.gz" +etag = "4f907c748933a9e6cce841239d708098" + +[[releases]] +version = "7.7.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v7.7.0-darwin-x64.tar.gz" +etag = "1040d8bcfca44e0fe80d8d6b76036b4b" + +[[releases]] +version = "7.7.1" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v7.7.1-darwin-x64.tar.gz" +etag = "8faf4f7704f956143a7b527f12dc656d" + +[[releases]] +version = "7.7.2" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v7.7.2-darwin-x64.tar.gz" +etag = "e8638adc89c219708629e0fdba15cfb4" + +[[releases]] +version = "7.7.3" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v7.7.3-darwin-x64.tar.gz" +etag = "0b62b1c7c4e0d7c4c1de458c6cbd2cec" + +[[releases]] +version = "7.7.4" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v7.7.4-darwin-x64.tar.gz" +etag = "7149579b4722d2026fc56e3df1dd2f84" + +[[releases]] +version = "7.8.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v7.8.0-darwin-x64.tar.gz" +etag = "95726bc5cb0207f65f47dffe0d6a320a" + +[[releases]] +version = "7.9.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v7.9.0-darwin-x64.tar.gz" +etag = "c4b1f398626b760f3e0ceb1c04d178f1" + +[[releases]] +version = "8.0.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v8.0.0-darwin-x64.tar.gz" +etag = "d1014f2aa625d100861367f7f93be1d6" + +[[releases]] +version = "8.1.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v8.1.0-darwin-x64.tar.gz" +etag = "e70963faa98945377a197c5f663c3cd8" + +[[releases]] +version = "8.1.1" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v8.1.1-darwin-x64.tar.gz" +etag = "f6fefeacd699294845fa4b255f9ad19a" + +[[releases]] +version = "8.1.2" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v8.1.2-darwin-x64.tar.gz" +etag = "0e218035c649612f1d1af2a9472b8e1b" + +[[releases]] +version = "8.1.3" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v8.1.3-darwin-x64.tar.gz" +etag = "7b66582e833f35e18de5914a35c5254c" + +[[releases]] +version = "8.1.4" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v8.1.4-darwin-x64.tar.gz" +etag = "0455fa02b87a530d86bcd2e790d4cf49" + +[[releases]] +version = "8.10.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v8.10.0-darwin-x64.tar.gz" +etag = "2f8c39ba3d09bbf9af648dce29608e2a" + +[[releases]] +version = "8.11.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v8.11.0-darwin-x64.tar.gz" +etag = "ed495410c5288975b251739954a65038" + +[[releases]] +version = "8.11.1" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v8.11.1-darwin-x64.tar.gz" +etag = "346c568c2f2ab7e0b804f2122a313d86" + +[[releases]] +version = "8.11.2" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v8.11.2-darwin-x64.tar.gz" +etag = "a7a4c8391bf5543c64658d7e5776c936" + +[[releases]] +version = "8.11.3" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v8.11.3-darwin-x64.tar.gz" +etag = "6211a102bd368c4f83a869c8b9b4b184" + +[[releases]] +version = "8.11.4" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v8.11.4-darwin-x64.tar.gz" +etag = "c30ef72d947f05a2a803f7bfd32d511b" + +[[releases]] +version = "8.12.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v8.12.0-darwin-x64.tar.gz" +etag = "f1489227237471edcbe1f02505b49ce4" + +[[releases]] +version = "8.13.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v8.13.0-darwin-x64.tar.gz" +etag = "77934dd4a77be45aab6069a2e2cc327c" + +[[releases]] +version = "8.14.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v8.14.0-darwin-x64.tar.gz" +etag = "cd6cfa062d4f62e7126ad653f8ed42aa" + +[[releases]] +version = "8.14.1" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v8.14.1-darwin-x64.tar.gz" +etag = "bf1e2d414c9b8b4ced0fb921536396fd" + +[[releases]] +version = "8.15.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v8.15.0-darwin-x64.tar.gz" +etag = "2b8d16fd1b804feb2534e5dc9d513e4f" + +[[releases]] +version = "8.15.1" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v8.15.1-darwin-x64.tar.gz" +etag = "bf05532c0ef3262c5a40a4af4ee8273a" + +[[releases]] +version = "8.16.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v8.16.0-darwin-x64.tar.gz" +etag = "765e9fb02e197f83d80f8afddf97438d" + +[[releases]] +version = "8.16.1" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v8.16.1-darwin-x64.tar.gz" +etag = "0d5148d32e59dafe82c772ede431290c" + +[[releases]] +version = "8.16.2" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v8.16.2-darwin-x64.tar.gz" +etag = "f5e20750bcc2d5b8642c1d0221f5ae71" + +[[releases]] +version = "8.17.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v8.17.0-darwin-x64.tar.gz" +etag = "794cf5d11fa08aab90c69e879f82a117" + +[[releases]] +version = "8.2.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v8.2.0-darwin-x64.tar.gz" +etag = "765fff5503c98f32d56c6a6554a3bae1" + +[[releases]] +version = "8.2.1" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v8.2.1-darwin-x64.tar.gz" +etag = "8dab18d4f2443c267367571c1cfb1e5f" + +[[releases]] +version = "8.3.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v8.3.0-darwin-x64.tar.gz" +etag = "6264f0d513f85377f95c96a0c6f6ab63" + +[[releases]] +version = "8.4.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v8.4.0-darwin-x64.tar.gz" +etag = "1be19a34c6159d40d96d603c14065752" + +[[releases]] +version = "8.5.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v8.5.0-darwin-x64.tar.gz" +etag = "e57d9b45d1deece35bf55c00b8c5ee92" + +[[releases]] +version = "8.6.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v8.6.0-darwin-x64.tar.gz" +etag = "628fe6b9683cf36ca808a998f5b6088b" + +[[releases]] +version = "8.7.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v8.7.0-darwin-x64.tar.gz" +etag = "87aa0c918a883f1a452a738dfb32a1de" + +[[releases]] +version = "8.8.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v8.8.0-darwin-x64.tar.gz" +etag = "5253bd34ddafc932d97d159492c810b6" + +[[releases]] +version = "8.8.1" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v8.8.1-darwin-x64.tar.gz" +etag = "0ebbd83692c7cde9c5de3cb3b188387f" + +[[releases]] +version = "8.9.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v8.9.0-darwin-x64.tar.gz" +etag = "8fc9f439dd896a56d546ceadb948c5b2" + +[[releases]] +version = "8.9.1" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v8.9.1-darwin-x64.tar.gz" +etag = "e7bfe8c32ce33f3a740538b12d4caa4e" + +[[releases]] +version = "8.9.2" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v8.9.2-darwin-x64.tar.gz" +etag = "db46704db0fd7d3f2cb40668c6dad63c" + +[[releases]] +version = "8.9.3" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v8.9.3-darwin-x64.tar.gz" +etag = "5827bb2a09c8979471030dae5c9f2943" + +[[releases]] +version = "8.9.4" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v8.9.4-darwin-x64.tar.gz" +etag = "bdbd711d842acb83238471181aed5687" + +[[releases]] +version = "9.0.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v9.0.0-darwin-x64.tar.gz" +etag = "71d7195b015f66c96a2d4e2094071730" + +[[releases]] +version = "9.1.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v9.1.0-darwin-x64.tar.gz" +etag = "81331b134680cf948c94baad99ffc69a" + +[[releases]] +version = "9.10.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v9.10.0-darwin-x64.tar.gz" +etag = "6983f25374dfcac22057a7f5b200a2e2" + +[[releases]] +version = "9.10.1" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v9.10.1-darwin-x64.tar.gz" +etag = "ebee6028fd9640179794d7c464931739" + +[[releases]] +version = "9.11.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v9.11.0-darwin-x64.tar.gz" +etag = "e1ebd4c9d3b14b4d689b18bc7a480d7c" + +[[releases]] +version = "9.11.1" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v9.11.1-darwin-x64.tar.gz" +etag = "6818f9754f3aff86ee0b4c5ee0a339aa" + +[[releases]] +version = "9.11.2" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v9.11.2-darwin-x64.tar.gz" +etag = "fc9c918d1ce899d2a48e0062ca4eeae0" + +[[releases]] +version = "9.2.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v9.2.0-darwin-x64.tar.gz" +etag = "4fe4f9d2d17e7a961bb354bfe05fc449" + +[[releases]] +version = "9.2.1" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v9.2.1-darwin-x64.tar.gz" +etag = "24fa4bb6425e89df981b699fd7dfd720" + +[[releases]] +version = "9.3.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v9.3.0-darwin-x64.tar.gz" +etag = "e78be9b5b17670b2f415c608b685e0a2" + +[[releases]] +version = "9.4.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v9.4.0-darwin-x64.tar.gz" +etag = "00af859a02eab98f9dd0c6071695e0a0" + +[[releases]] +version = "9.5.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v9.5.0-darwin-x64.tar.gz" +etag = "1dd0ae5e8fd0ec2f65fc49a7970f2210" + +[[releases]] +version = "9.6.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v9.6.0-darwin-x64.tar.gz" +etag = "31e5b9ab8daa7da8cc9abb33a176bf13" + +[[releases]] +version = "9.6.1" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v9.6.1-darwin-x64.tar.gz" +etag = "495aacaf16d6d26bb00349721ed709c6" + +[[releases]] +version = "9.7.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v9.7.0-darwin-x64.tar.gz" +etag = "a3f595934fe6f421e4db49538baccf7c" + +[[releases]] +version = "9.7.1" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v9.7.1-darwin-x64.tar.gz" +etag = "b56bf1c43373b2aed7341032fad4d76f" + +[[releases]] +version = "9.8.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v9.8.0-darwin-x64.tar.gz" +etag = "03bad9803dbec17794938f54452cb261" + +[[releases]] +version = "9.9.0" +channel = "release" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/darwin-x64/node-v9.9.0-darwin-x64.tar.gz" +etag = "a4c0ab67127c1dbd875dd5967cf9cde8" + +[[releases]] +version = "0.10.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v0.10.0-linux-x64.tar.gz" +etag = "a586044d93acb053d28dd6c0ddf95362" + +[[releases]] +version = "0.10.1" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v0.10.1-linux-x64.tar.gz" +etag = "f24a1fca96c717abc050f7526ee0101a" + +[[releases]] +version = "0.10.10" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v0.10.10-linux-x64.tar.gz" +etag = "561e25c025d922f99d158dac813a4526" + +[[releases]] +version = "0.10.11" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v0.10.11-linux-x64.tar.gz" +etag = "037ca782761ac9e704cc34ae9936de75" + +[[releases]] +version = "0.10.12" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v0.10.12-linux-x64.tar.gz" +etag = "e396dfb737f2c396af7e5c459aadce08" + +[[releases]] +version = "0.10.13" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v0.10.13-linux-x64.tar.gz" +etag = "1819a87f2ac617fb8281ae9efa6abe42" + +[[releases]] +version = "0.10.14" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v0.10.14-linux-x64.tar.gz" +etag = "3a5b08dc92cc54ece1645bb47a33331b" + +[[releases]] +version = "0.10.15" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v0.10.15-linux-x64.tar.gz" +etag = "1f0b836dd88c20854459a67a46aa0bef" + +[[releases]] +version = "0.10.16" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v0.10.16-linux-x64.tar.gz" +etag = "3e7980d5d2fe25323b81bf741d41487f" + +[[releases]] +version = "0.10.17" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v0.10.17-linux-x64.tar.gz" +etag = "d26df32e934b88f2db44223c0112ff7b" + +[[releases]] +version = "0.10.18" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v0.10.18-linux-x64.tar.gz" +etag = "7e01855f266474bb4063209e391d4c61" + +[[releases]] +version = "0.10.19" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v0.10.19-linux-x64.tar.gz" +etag = "8222dc2f5d62f3c0f663852aba0a2b83" + +[[releases]] +version = "0.10.2" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v0.10.2-linux-x64.tar.gz" +etag = "3a42e17ab298349e8236f72c4e39e97a" + +[[releases]] +version = "0.10.20" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v0.10.20-linux-x64.tar.gz" +etag = "37cfd1484fc621078b487ff7678ee2d4" + +[[releases]] +version = "0.10.21" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v0.10.21-linux-x64.tar.gz" +etag = "eab73809ba4ca2840e8dc5f21c873759" + +[[releases]] +version = "0.10.22" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v0.10.22-linux-x64.tar.gz" +etag = "942740fdeceaffe091688a04d87caf2c" + +[[releases]] +version = "0.10.23" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v0.10.23-linux-x64.tar.gz" +etag = "8d39492c18751aed2d77aae60ed8cd64" + +[[releases]] +version = "0.10.24" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v0.10.24-linux-x64.tar.gz" +etag = "e4e23b3ab9ee1d72f98baab8b6aa9aa4" + +[[releases]] +version = "0.10.25" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v0.10.25-linux-x64.tar.gz" +etag = "3738f6c24743f53f520d896ecff5e2b5" + +[[releases]] +version = "0.10.26" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v0.10.26-linux-x64.tar.gz" +etag = "5d41f981ed3bca6cebd4cfc4444537f1" + +[[releases]] +version = "0.10.27" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v0.10.27-linux-x64.tar.gz" +etag = "b2c15782d81eb11c7fed30152217b43d" + +[[releases]] +version = "0.10.28" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v0.10.28-linux-x64.tar.gz" +etag = "693afa81416da3632077bb5c24c168fd" + +[[releases]] +version = "0.10.29" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v0.10.29-linux-x64.tar.gz" +etag = "ea96bef3eda6ebfef38a76ada5ecd24a" + +[[releases]] +version = "0.10.3" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v0.10.3-linux-x64.tar.gz" +etag = "c9746a7e5ff82bd25fd719b8f36203c1" + +[[releases]] +version = "0.10.30" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v0.10.30-linux-x64.tar.gz" +etag = "e96aebef3cc0feaca0e9a7b73740ed01" + +[[releases]] +version = "0.10.31" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v0.10.31-linux-x64.tar.gz" +etag = "566ce38b1b0b46560ac8edd2f50ab087" + +[[releases]] +version = "0.10.32" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v0.10.32-linux-x64.tar.gz" +etag = "126ed002d88315b8d37cec1ee4915454" + +[[releases]] +version = "0.10.33" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v0.10.33-linux-x64.tar.gz" +etag = "1efad7c248b453ee6c62a706f6f86dbe" + +[[releases]] +version = "0.10.34" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v0.10.34-linux-x64.tar.gz" +etag = "03bc7cfbd7be3a093daaa23b76bafd46" + +[[releases]] +version = "0.10.35" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v0.10.35-linux-x64.tar.gz" +etag = "f3b33eed97772ce3a9341bbeb67511d7" + +[[releases]] +version = "0.10.36" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v0.10.36-linux-x64.tar.gz" +etag = "d40acc6f134bc2ab207e04011f452564" + +[[releases]] +version = "0.10.37" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v0.10.37-linux-x64.tar.gz" +etag = "ad487cb3d4d0fe2c710cffbd25e4f238" + +[[releases]] +version = "0.10.38" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v0.10.38-linux-x64.tar.gz" +etag = "8893f1f5ce16c612ba2805432edc0138" + +[[releases]] +version = "0.10.39" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v0.10.39-linux-x64.tar.gz" +etag = "3994985df38a5b7d74ad8918282f411c" + +[[releases]] +version = "0.10.4" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v0.10.4-linux-x64.tar.gz" +etag = "7352980adaa9031fa406c5ad7b9617d9" + +[[releases]] +version = "0.10.40" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v0.10.40-linux-x64.tar.gz" +etag = "efacca570a6ed176a9a3ba18957301b6" + +[[releases]] +version = "0.10.41" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v0.10.41-linux-x64.tar.gz" +etag = "ec75dbc572e66d8d4f9ddbf5cde4dacc" + +[[releases]] +version = "0.10.42" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v0.10.42-linux-x64.tar.gz" +etag = "86a2b747beb3e051417f809a97891dc2" + +[[releases]] +version = "0.10.43" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v0.10.43-linux-x64.tar.gz" +etag = "2ce1317a985b6b359b8dfe22ae4d7c1e" + +[[releases]] +version = "0.10.44" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v0.10.44-linux-x64.tar.gz" +etag = "d06b675830ece4b9ebe21eb556ed4a5f" + +[[releases]] +version = "0.10.45" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v0.10.45-linux-x64.tar.gz" +etag = "1b8a131d469b357acdf219bd6536242a" + +[[releases]] +version = "0.10.46" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v0.10.46-linux-x64.tar.gz" +etag = "cd36e700215520e02eda9f2ae4d3fba5" + +[[releases]] +version = "0.10.47" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v0.10.47-linux-x64.tar.gz" +etag = "97cefdf9c1cec1f1737b53cfa64dfed3" + +[[releases]] +version = "0.10.48" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v0.10.48-linux-x64.tar.gz" +etag = "4eed9a2de77191a3c499c6550ce37f5d" + +[[releases]] +version = "0.10.5" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v0.10.5-linux-x64.tar.gz" +etag = "983f1d6d598038fc0b91da86afaa13a7" + +[[releases]] +version = "0.10.6" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v0.10.6-linux-x64.tar.gz" +etag = "ef7cca05167075f217981f58ed697a6d" + +[[releases]] +version = "0.10.7" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v0.10.7-linux-x64.tar.gz" +etag = "bd90c722623ba236e8869bb838e7801d" + +[[releases]] +version = "0.10.8" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v0.10.8-linux-x64.tar.gz" +etag = "9f723ebc985687fcaaa7636819d562cb" + +[[releases]] +version = "0.10.9" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v0.10.9-linux-x64.tar.gz" +etag = "8b723cf963ad01ddce7ab2d272ab34d6" + +[[releases]] +version = "0.11.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v0.11.0-linux-x64.tar.gz" +etag = "fda656d4a8691fd5103c91c7e22b7860" + +[[releases]] +version = "0.11.1" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v0.11.1-linux-x64.tar.gz" +etag = "bc18d6fe82cff1a6c4ed7cae1f90fa7d" + +[[releases]] +version = "0.11.10" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v0.11.10-linux-x64.tar.gz" +etag = "f9723689606eebaf0e05775ff038fb42" + +[[releases]] +version = "0.11.11" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v0.11.11-linux-x64.tar.gz" +etag = "d78cce4da7582d5ba35be115930522ed" + +[[releases]] +version = "0.11.12" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v0.11.12-linux-x64.tar.gz" +etag = "1c3fe24727955b517ff1b4e97a4cc903" + +[[releases]] +version = "0.11.13" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v0.11.13-linux-x64.tar.gz" +etag = "d8cc3a9d98629590b7d5d75e06fa2c61" + +[[releases]] +version = "0.11.14" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v0.11.14-linux-x64.tar.gz" +etag = "a1651a04eabd1097da63f011e13fea91" + +[[releases]] +version = "0.11.15" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v0.11.15-linux-x64.tar.gz" +etag = "eaec6219f25aff616675159c9717dcb9" + +[[releases]] +version = "0.11.16" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v0.11.16-linux-x64.tar.gz" +etag = "c667ab595837821f61306c9d2d3dd3b3" + +[[releases]] +version = "0.11.2" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v0.11.2-linux-x64.tar.gz" +etag = "2a19da4ca4897e7174960771964dbf8d" + +[[releases]] +version = "0.11.3" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v0.11.3-linux-x64.tar.gz" +etag = "a026a8e4ad3a28a04ba977a0fba4e930" + +[[releases]] +version = "0.11.4" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v0.11.4-linux-x64.tar.gz" +etag = "24f4412ef76de3cd44e993d79c9ee59a" + +[[releases]] +version = "0.11.5" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v0.11.5-linux-x64.tar.gz" +etag = "efd6067e57ea69d5f2474c3e765257a2" + +[[releases]] +version = "0.11.6" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v0.11.6-linux-x64.tar.gz" +etag = "3da96a942b381da8b8bba9dc5e09db55" + +[[releases]] +version = "0.11.7" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v0.11.7-linux-x64.tar.gz" +etag = "0f03042ca08e6d8e8412de5c5ccd9628" + +[[releases]] +version = "0.11.8" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v0.11.8-linux-x64.tar.gz" +etag = "53e3e7e39b686ac1b42de24d4cafbfdb" + +[[releases]] +version = "0.11.9" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v0.11.9-linux-x64.tar.gz" +etag = "3159350bcfc311dca5d414d63e0e3a52" + +[[releases]] +version = "0.12.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v0.12.0-linux-x64.tar.gz" +etag = "ce648d80c0167b0cfe6ec141466822b9" + +[[releases]] +version = "0.12.1" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v0.12.1-linux-x64.tar.gz" +etag = "b7546bd69ce043a9470f119a36944afd" + +[[releases]] +version = "0.12.10" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v0.12.10-linux-x64.tar.gz" +etag = "a5a377ac54183786875545974136cb47" + +[[releases]] +version = "0.12.11" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v0.12.11-linux-x64.tar.gz" +etag = "d886f1e126eae1474819d2b349d7130e" + +[[releases]] +version = "0.12.12" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v0.12.12-linux-x64.tar.gz" +etag = "67dabce97df771ba44bcd359bf91cae3" + +[[releases]] +version = "0.12.13" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v0.12.13-linux-x64.tar.gz" +etag = "ecb38dfea79405ce56d706a9ea69bcb7" + +[[releases]] +version = "0.12.14" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v0.12.14-linux-x64.tar.gz" +etag = "a15d1c3eb4fe38084b3042b686fe3a48" + +[[releases]] +version = "0.12.15" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v0.12.15-linux-x64.tar.gz" +etag = "e4c6b41e2e8699b14a17ded28bc8e556" + +[[releases]] +version = "0.12.16" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v0.12.16-linux-x64.tar.gz" +etag = "f2169d4ea96ee2e652308151adc2a308" + +[[releases]] +version = "0.12.17" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v0.12.17-linux-x64.tar.gz" +etag = "77947c84c8f360e84c2d84b78e6534cb" + +[[releases]] +version = "0.12.18" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v0.12.18-linux-x64.tar.gz" +etag = "9ef269e8581f18729001c09cc7bc8e57" + +[[releases]] +version = "0.12.2" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v0.12.2-linux-x64.tar.gz" +etag = "2cfce07dc35ee1ffe875e166b541df35" + +[[releases]] +version = "0.12.3" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v0.12.3-linux-x64.tar.gz" +etag = "0bc67ed79e01bcc0c673fa5c21f96c1c" + +[[releases]] +version = "0.12.4" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v0.12.4-linux-x64.tar.gz" +etag = "a4fd80871c4362d98a52b54ecb45d915" + +[[releases]] +version = "0.12.5" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v0.12.5-linux-x64.tar.gz" +etag = "d27a934de4763550e0f9fd180428b0be" + +[[releases]] +version = "0.12.6" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v0.12.6-linux-x64.tar.gz" +etag = "28c0750cd4cef5fc9785d9bfbfb5a72d" + +[[releases]] +version = "0.12.7" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v0.12.7-linux-x64.tar.gz" +etag = "182175d82395171f299e3a05a2ce70a1" + +[[releases]] +version = "0.12.8" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v0.12.8-linux-x64.tar.gz" +etag = "b0a9fe02aa0db91fc27611864da062b9" + +[[releases]] +version = "0.12.9" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v0.12.9-linux-x64.tar.gz" +etag = "0282a5cedf4580a6cc515096bd00cc6c" + +[[releases]] +version = "0.8.10" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v0.8.10-linux-x64.tar.gz" +etag = "e7746c57b7e5386d61cb76374b8e9f9d" + +[[releases]] +version = "0.8.11" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v0.8.11-linux-x64.tar.gz" +etag = "0198ab3e509420162819649c569334dd" + +[[releases]] +version = "0.8.12" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v0.8.12-linux-x64.tar.gz" +etag = "05811a262a34cba71aab2b0db099d2c6" + +[[releases]] +version = "0.8.13" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v0.8.13-linux-x64.tar.gz" +etag = "2508f05d2ff7d54a01f3a2df2b22ed00" + +[[releases]] +version = "0.8.14" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v0.8.14-linux-x64.tar.gz" +etag = "6f6c90b4f2a7b21ed5b9ad305201e6f7" + +[[releases]] +version = "0.8.15" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v0.8.15-linux-x64.tar.gz" +etag = "f0194431d70c47c0af6314842712ea8a" + +[[releases]] +version = "0.8.16" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v0.8.16-linux-x64.tar.gz" +etag = "b2d1f86053952db562a1be3351cf1a74" + +[[releases]] +version = "0.8.17" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v0.8.17-linux-x64.tar.gz" +etag = "5fbaf4c6311529486ed9d4e18c3ca8d3" + +[[releases]] +version = "0.8.18" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v0.8.18-linux-x64.tar.gz" +etag = "e60b276e013c5e0cf7fdee5bfc83b04d" + +[[releases]] +version = "0.8.19" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v0.8.19-linux-x64.tar.gz" +etag = "65cdb33fa88321188b9584f7bd2e19f0" + +[[releases]] +version = "0.8.20" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v0.8.20-linux-x64.tar.gz" +etag = "03a051d0d5c1f108f3303bdfc89988ce" + +[[releases]] +version = "0.8.21" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v0.8.21-linux-x64.tar.gz" +etag = "586d562fefa463cbbb362057e3718945" + +[[releases]] +version = "0.8.22" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v0.8.22-linux-x64.tar.gz" +etag = "1a45ed485153bdfacfbaee2a918c1c25" + +[[releases]] +version = "0.8.23" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v0.8.23-linux-x64.tar.gz" +etag = "df5d9ac473f06b75e684a368d3bfdf49" + +[[releases]] +version = "0.8.24" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v0.8.24-linux-x64.tar.gz" +etag = "1716b18cbf1af696a5312a65312d0cc0" + +[[releases]] +version = "0.8.25" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v0.8.25-linux-x64.tar.gz" +etag = "eb9585400192622bfa596d816d786385" + +[[releases]] +version = "0.8.26" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v0.8.26-linux-x64.tar.gz" +etag = "8b32ce92320f974d836239e477e687a6" + +[[releases]] +version = "0.8.27" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v0.8.27-linux-x64.tar.gz" +etag = "35e2b21a7879a2dd97ff198f19519850" + +[[releases]] +version = "0.8.28" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v0.8.28-linux-x64.tar.gz" +etag = "623d6b50f550034074b5928e05ab1a45" + +[[releases]] +version = "0.8.6" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v0.8.6-linux-x64.tar.gz" +etag = "e8d92d46201ba6e61ee748fc85ad2afa" + +[[releases]] +version = "0.8.7" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v0.8.7-linux-x64.tar.gz" +etag = "7a3bb324b1ad1864162a5ff6e9e5e012" + +[[releases]] +version = "0.8.8" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v0.8.8-linux-x64.tar.gz" +etag = "8a9272ee8d6dd25a09e641c85dd638e7" + +[[releases]] +version = "0.8.9" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v0.8.9-linux-x64.tar.gz" +etag = "1b2bc68dfe8c61a63063afeba89f24f3" + +[[releases]] +version = "0.9.1" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v0.9.1-linux-x64.tar.gz" +etag = "c2fbb42f94062ea6bdfefc722700604f" + +[[releases]] +version = "0.9.10" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v0.9.10-linux-x64.tar.gz" +etag = "6ee43eee7545622df8ffb44cf187a6f8" + +[[releases]] +version = "0.9.11" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v0.9.11-linux-x64.tar.gz" +etag = "df07d58f3e8f49fd7203c8920eed9850" + +[[releases]] +version = "0.9.12" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v0.9.12-linux-x64.tar.gz" +etag = "a228712b02ef2e8ae4f08378869104ba" + +[[releases]] +version = "0.9.2" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v0.9.2-linux-x64.tar.gz" +etag = "19133fc15485905898907e322699dff2" + +[[releases]] +version = "0.9.3" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v0.9.3-linux-x64.tar.gz" +etag = "172eb07f8e840dcbea67a6903411aa3d" + +[[releases]] +version = "0.9.4" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v0.9.4-linux-x64.tar.gz" +etag = "4b7289787c68baa3194245410ea15204" + +[[releases]] +version = "0.9.5" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v0.9.5-linux-x64.tar.gz" +etag = "8e312d20333be7ca5ac18545ca81d192" + +[[releases]] +version = "0.9.6" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v0.9.6-linux-x64.tar.gz" +etag = "a1895c5697faeffa9758e1038a75c333" + +[[releases]] +version = "0.9.7" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v0.9.7-linux-x64.tar.gz" +etag = "d5e013ef6ce93d65b307fdaf7f33bebb" + +[[releases]] +version = "0.9.8" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v0.9.8-linux-x64.tar.gz" +etag = "37c0909b31bc82e30430cc2bea1b2e45" + +[[releases]] +version = "0.9.9" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v0.9.9-linux-x64.tar.gz" +etag = "b22df68fb53151778c2ebeacb7a204b1" + +[[releases]] +version = "10.0.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v10.0.0-linux-x64.tar.gz" +etag = "815774181214108aa165de58314c6bfb" + +[[releases]] +version = "10.1.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v10.1.0-linux-x64.tar.gz" +etag = "4fb3b7467b19ad7e430f075dbd0ba172-3" + +[[releases]] +version = "10.10.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v10.10.0-linux-x64.tar.gz" +etag = "76edac78bdf3cf3122765736c0f83d9f-3" + +[[releases]] +version = "10.11.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v10.11.0-linux-x64.tar.gz" +etag = "f5f9addfbbfcea477ff8e8afb769850a-3" + +[[releases]] +version = "10.12.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v10.12.0-linux-x64.tar.gz" +etag = "79261291abf863dfd5fe44e949bc1490-3" + +[[releases]] +version = "10.13.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v10.13.0-linux-x64.tar.gz" +etag = "82a34d6ab9e59c96d76415dd9a67bf45-3" + +[[releases]] +version = "10.14.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v10.14.0-linux-x64.tar.gz" +etag = "30700affc50d2c7cf013d7508a43311b-3" + +[[releases]] +version = "10.14.1" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v10.14.1-linux-x64.tar.gz" +etag = "7f79b79070ed256eceac79ad748cf4d4-3" + +[[releases]] +version = "10.14.2" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v10.14.2-linux-x64.tar.gz" +etag = "2d55538fcafdd67b5a3c34fc7843502f-3" + +[[releases]] +version = "10.15.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v10.15.0-linux-x64.tar.gz" +etag = "94b54a8e661f3a059d3a218eaf1b4ce3-3" + +[[releases]] +version = "10.15.1" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v10.15.1-linux-x64.tar.gz" +etag = "667c6ce37855b51271f679ff88057f8c-3" + +[[releases]] +version = "10.15.2" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v10.15.2-linux-x64.tar.gz" +etag = "6972a42229b5b343f67dc1360742b7f2-3" + +[[releases]] +version = "10.15.3" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v10.15.3-linux-x64.tar.gz" +etag = "8a137b8f0de8b5b509bc3e118e0d983b-3" + +[[releases]] +version = "10.16.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v10.16.0-linux-x64.tar.gz" +etag = "fab40faa3e53cd150159b946f863abfe-3" + +[[releases]] +version = "10.16.1" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v10.16.1-linux-x64.tar.gz" +etag = "d6af63b2b77e3e4a2b2e20ce4fc449bb-3" + +[[releases]] +version = "10.16.2" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v10.16.2-linux-x64.tar.gz" +etag = "9401eed2234274cc0f9c7275ea369426-3" + +[[releases]] +version = "10.16.3" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v10.16.3-linux-x64.tar.gz" +etag = "d76675e5fce26151003c73e033fea3bd-3" + +[[releases]] +version = "10.17.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v10.17.0-linux-x64.tar.gz" +etag = "29e85c26db8b6b9f0adfe3f1e5b1857f-3" + +[[releases]] +version = "10.18.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v10.18.0-linux-x64.tar.gz" +etag = "2a8533f02ae1985c0d85afaed6887165-3" + +[[releases]] +version = "10.18.1" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v10.18.1-linux-x64.tar.gz" +etag = "bea0cdff6fe012ac53174297693ab349-3" + +[[releases]] +version = "10.19.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v10.19.0-linux-x64.tar.gz" +etag = "f482ebf412beeec9b76104467c81d291-3" + +[[releases]] +version = "10.2.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v10.2.0-linux-x64.tar.gz" +etag = "1adcf1141ef740279c0ba5cbd82cc3a4-3" + +[[releases]] +version = "10.2.1" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v10.2.1-linux-x64.tar.gz" +etag = "dbbc0965a912b69434c43b4775f96fa2-3" + +[[releases]] +version = "10.20.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v10.20.0-linux-x64.tar.gz" +etag = "44eba89064618c8c2c79402bcd0be63f-3" + +[[releases]] +version = "10.20.1" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v10.20.1-linux-x64.tar.gz" +etag = "b0f14eb6a6310f464c3db7544a3af492-3" + +[[releases]] +version = "10.21.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v10.21.0-linux-x64.tar.gz" +etag = "8d2f778b455afe7f80e6d1ea201f5733-3" + +[[releases]] +version = "10.22.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v10.22.0-linux-x64.tar.gz" +etag = "7cf59442c716572239cb14fdabb0ead5-3" + +[[releases]] +version = "10.22.1" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v10.22.1-linux-x64.tar.gz" +etag = "92b244406470e9a4f49cc233675fdf96-3" + +[[releases]] +version = "10.23.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v10.23.0-linux-x64.tar.gz" +etag = "3cc926fb4db5ad0d0ef161916760c25e-3" + +[[releases]] +version = "10.23.1" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v10.23.1-linux-x64.tar.gz" +etag = "5387220383fd6512e7cab92ef287426f-3" + +[[releases]] +version = "10.23.2" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v10.23.2-linux-x64.tar.gz" +etag = "f511a3763a63e7616fb608416e00a253-3" + +[[releases]] +version = "10.23.3" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v10.23.3-linux-x64.tar.gz" +etag = "6a05b6db3a7e812691eb2992c8287670-3" + +[[releases]] +version = "10.24.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v10.24.0-linux-x64.tar.gz" +etag = "b179fd013f51c02a3c77281fe744dd41-3" + +[[releases]] +version = "10.24.1" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v10.24.1-linux-x64.tar.gz" +etag = "957994ef8bf3610b7f0b67365691ebaf-3" + +[[releases]] +version = "10.3.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v10.3.0-linux-x64.tar.gz" +etag = "320a13fa365023bc52d75bb19eff3d7a" + +[[releases]] +version = "10.4.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v10.4.0-linux-x64.tar.gz" +etag = "4ad5730cffe5e745c32b2822cd5e30f1" + +[[releases]] +version = "10.4.1" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v10.4.1-linux-x64.tar.gz" +etag = "72f1a2dda2e73aaa8576d15f7a48ffe4" + +[[releases]] +version = "10.5.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v10.5.0-linux-x64.tar.gz" +etag = "2b54d378a1a0339a649b6a1acb0f7e0c" + +[[releases]] +version = "10.6.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v10.6.0-linux-x64.tar.gz" +etag = "3b6c99e7af8bd950a07353d2992c84b6" + +[[releases]] +version = "10.7.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v10.7.0-linux-x64.tar.gz" +etag = "ecfc64f7b5df211352b0527c09311531" + +[[releases]] +version = "10.8.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v10.8.0-linux-x64.tar.gz" +etag = "b5a4cb8c017c719deceaf5f89936c3d6" + +[[releases]] +version = "10.9.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v10.9.0-linux-x64.tar.gz" +etag = "70c617771708c7c4f36d5823fb413600" + +[[releases]] +version = "11.0.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v11.0.0-linux-x64.tar.gz" +etag = "6cc8a0761f4266183190c56b72363e98" + +[[releases]] +version = "11.1.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v11.1.0-linux-x64.tar.gz" +etag = "6f471bc29d30640097c743927c113f02" + +[[releases]] +version = "11.10.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v11.10.0-linux-x64.tar.gz" +etag = "a1239a07fbd8b9dc460e1e44246e5f29" + +[[releases]] +version = "11.10.1" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v11.10.1-linux-x64.tar.gz" +etag = "1e462fb3a741ce0abf3fe2b0d81574e2" + +[[releases]] +version = "11.11.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v11.11.0-linux-x64.tar.gz" +etag = "009c70629178fb47044333aa4a031c77" + +[[releases]] +version = "11.12.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v11.12.0-linux-x64.tar.gz" +etag = "da2736962216075cb9ad09e87a7f300e" + +[[releases]] +version = "11.13.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v11.13.0-linux-x64.tar.gz" +etag = "95d07b2b544793962b0214bd7e33441c" + +[[releases]] +version = "11.14.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v11.14.0-linux-x64.tar.gz" +etag = "d1ec8cc7a5a102c92d5486cfa9e03b00" + +[[releases]] +version = "11.15.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v11.15.0-linux-x64.tar.gz" +etag = "ab251fc5b77761064204d00be022fda3" + +[[releases]] +version = "11.2.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v11.2.0-linux-x64.tar.gz" +etag = "6f1e2002e2af3f660ec0d84dda5e8a6a" + +[[releases]] +version = "11.3.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v11.3.0-linux-x64.tar.gz" +etag = "dc1a836d178e97e06107e1673d3caf96" + +[[releases]] +version = "11.4.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v11.4.0-linux-x64.tar.gz" +etag = "2718dafe1f89dd3794a0da222ee365ae" + +[[releases]] +version = "11.5.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v11.5.0-linux-x64.tar.gz" +etag = "7a32d6b4c300f6a7b78f3a28ed4587e3" + +[[releases]] +version = "11.6.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v11.6.0-linux-x64.tar.gz" +etag = "9ab9d9540290c15caad5fdf0a32b40fa" + +[[releases]] +version = "11.7.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v11.7.0-linux-x64.tar.gz" +etag = "35c41456320eb8a712dde2aac4145166" + +[[releases]] +version = "11.8.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v11.8.0-linux-x64.tar.gz" +etag = "7a6bdb9ffd31bc5ae4c6d866b5462826" + +[[releases]] +version = "11.9.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v11.9.0-linux-x64.tar.gz" +etag = "8805aeb4cfb798106c6a99ed34536682" + +[[releases]] +version = "12.0.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v12.0.0-linux-x64.tar.gz" +etag = "246f00fcffbd01974f260b4383f91c58" + +[[releases]] +version = "12.1.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v12.1.0-linux-x64.tar.gz" +etag = "d4df5a60e1b73c062131985de2ada621" + +[[releases]] +version = "12.10.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v12.10.0-linux-x64.tar.gz" +etag = "74dc625cf656bd501f0cd08f28e92131" + +[[releases]] +version = "12.11.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v12.11.0-linux-x64.tar.gz" +etag = "3ad3502adff89d3a037cd910ef17f725" + +[[releases]] +version = "12.11.1" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v12.11.1-linux-x64.tar.gz" +etag = "fb56b6d4439d3ccca91a8ff419391c3e" + +[[releases]] +version = "12.12.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v12.12.0-linux-x64.tar.gz" +etag = "41e3b3ccc2e2254869234f1f4c50dffc" + +[[releases]] +version = "12.13.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v12.13.0-linux-x64.tar.gz" +etag = "5f1bc3459c59f8b80cf6ea3d38944da7" + +[[releases]] +version = "12.13.1" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v12.13.1-linux-x64.tar.gz" +etag = "169ca5c7407b7532ed947a2014a48b1e" + +[[releases]] +version = "12.14.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v12.14.0-linux-x64.tar.gz" +etag = "919f124e16acb7464459c58dd2cfd36e" + +[[releases]] +version = "12.14.1" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v12.14.1-linux-x64.tar.gz" +etag = "cf97b81a436bdd484e642660eb769e16" + +[[releases]] +version = "12.15.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v12.15.0-linux-x64.tar.gz" +etag = "6c5ee256556aec2f1ca11f02b58d81b4" + +[[releases]] +version = "12.16.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v12.16.0-linux-x64.tar.gz" +etag = "7f8d2520e715d7df82f368b0fab9d2b6" + +[[releases]] +version = "12.16.1" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v12.16.1-linux-x64.tar.gz" +etag = "656435219a1655586fe02ac5f8bfa694" + +[[releases]] +version = "12.16.2" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v12.16.2-linux-x64.tar.gz" +etag = "6bd0588c3db32a734d3d0c34ddb05e60" + +[[releases]] +version = "12.16.3" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v12.16.3-linux-x64.tar.gz" +etag = "20963d6e105a6f29c272734f64de5f67" + +[[releases]] +version = "12.17.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v12.17.0-linux-x64.tar.gz" +etag = "ae367608adc068358e0f805fbb548cc2" + +[[releases]] +version = "12.18.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v12.18.0-linux-x64.tar.gz" +etag = "f723197769cd3adc449ffa5835193c1f" + +[[releases]] +version = "12.18.1" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v12.18.1-linux-x64.tar.gz" +etag = "0c26eac16e4b5f0f8d0d4944d38258ef" + +[[releases]] +version = "12.18.2" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v12.18.2-linux-x64.tar.gz" +etag = "612d831288b3e3d896cde1596e5fe704" + +[[releases]] +version = "12.18.3" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v12.18.3-linux-x64.tar.gz" +etag = "9e7444e9d66072035f73e9ac0ee51322-3" + +[[releases]] +version = "12.18.4" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v12.18.4-linux-x64.tar.gz" +etag = "fdecf94ced8dcdeb972e14b333c72e47-3" + +[[releases]] +version = "12.19.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v12.19.0-linux-x64.tar.gz" +etag = "1962f4127fb09f2942b82f48f4ae2cf8-3" + +[[releases]] +version = "12.19.1" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v12.19.1-linux-x64.tar.gz" +etag = "7851352d2c9d60d4c5779910af828755-3" + +[[releases]] +version = "12.2.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v12.2.0-linux-x64.tar.gz" +etag = "87dc21fee7f484defd9010a6c606aa92" + +[[releases]] +version = "12.20.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v12.20.0-linux-x64.tar.gz" +etag = "3383e1624171a83a04740f24831c5c92-3" + +[[releases]] +version = "12.20.1" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v12.20.1-linux-x64.tar.gz" +etag = "51c80c3820855d8e77f37c9a67b9d89b-3" + +[[releases]] +version = "12.20.2" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v12.20.2-linux-x64.tar.gz" +etag = "d296cca07540a62c9c583ce4f23afee7-3" + +[[releases]] +version = "12.21.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v12.21.0-linux-x64.tar.gz" +etag = "a0fe4d871fc223d21fbac24689c598fd-3" + +[[releases]] +version = "12.22.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v12.22.0-linux-x64.tar.gz" +etag = "b0eb62d33d028e6cd3f1b7220b962a55-3" + +[[releases]] +version = "12.22.1" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v12.22.1-linux-x64.tar.gz" +etag = "4648915ed3eb1be12cf7cbe1c5b3e867-3" + +[[releases]] +version = "12.22.10" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v12.22.10-linux-x64.tar.gz" +etag = "58fe1bdc055914f433ee3f07bb380f36-3" + +[[releases]] +version = "12.22.11" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v12.22.11-linux-x64.tar.gz" +etag = "98a9f79ab4d7840b31c95968e82e9569-3" + +[[releases]] +version = "12.22.12" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v12.22.12-linux-x64.tar.gz" +etag = "84488d656cf19837e8dbc27b1a9993c9-3" + +[[releases]] +version = "12.22.2" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v12.22.2-linux-x64.tar.gz" +etag = "a014e16e46f6c158facd9d48c6a450f7-3" + +[[releases]] +version = "12.22.3" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v12.22.3-linux-x64.tar.gz" +etag = "41956f3f2a7cbbfc012e0d52facee55d-3" + +[[releases]] +version = "12.22.4" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v12.22.4-linux-x64.tar.gz" +etag = "461546c7894049caaa06041520e4172e-3" + +[[releases]] +version = "12.22.5" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v12.22.5-linux-x64.tar.gz" +etag = "2e8f7e52697114e493a312d7c4493fb0-3" + +[[releases]] +version = "12.22.6" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v12.22.6-linux-x64.tar.gz" +etag = "d61482b86203da8b3542f25723ca8f6a-3" + +[[releases]] +version = "12.22.7" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v12.22.7-linux-x64.tar.gz" +etag = "28b7bdac5d0a1a5361cf4504898d985e-3" + +[[releases]] +version = "12.22.8" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v12.22.8-linux-x64.tar.gz" +etag = "e7ca67cb90ca08afe64d87f9cdfbe2f9-3" + +[[releases]] +version = "12.22.9" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v12.22.9-linux-x64.tar.gz" +etag = "827ab91c2a29f14e1ad39e0fbd2ede10-3" + +[[releases]] +version = "12.3.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v12.3.0-linux-x64.tar.gz" +etag = "123a93553a06e8a7615c444c1ea42882" + +[[releases]] +version = "12.3.1" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v12.3.1-linux-x64.tar.gz" +etag = "82721dca1c9757af1e50fda8f23a0175" + +[[releases]] +version = "12.4.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v12.4.0-linux-x64.tar.gz" +etag = "75341c471626e3155079041fc8737bab" + +[[releases]] +version = "12.5.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v12.5.0-linux-x64.tar.gz" +etag = "7377ca5f3d429dba8069808c57509f24" + +[[releases]] +version = "12.6.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v12.6.0-linux-x64.tar.gz" +etag = "259326813ae277cf8a2cd764c610df8c" + +[[releases]] +version = "12.7.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v12.7.0-linux-x64.tar.gz" +etag = "8d802407f95e54738199fe262311fe61-3" + +[[releases]] +version = "12.8.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v12.8.0-linux-x64.tar.gz" +etag = "2bc1f6bf496bfb6447c3fa129cf8a3d6" + +[[releases]] +version = "12.8.1" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v12.8.1-linux-x64.tar.gz" +etag = "861e3e41d606cba07b8d5e2840a4b3ee-3" + +[[releases]] +version = "12.9.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v12.9.0-linux-x64.tar.gz" +etag = "a0a7f5ea00f4bfc8580c18bfa2499d2c-3" + +[[releases]] +version = "12.9.1" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v12.9.1-linux-x64.tar.gz" +etag = "74001acf6e4f1980045a985a86b198d1" + +[[releases]] +version = "13.0.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v13.0.0-linux-x64.tar.gz" +etag = "502a2f483442724fee5f9f0211548b88-4" + +[[releases]] +version = "13.0.1" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v13.0.1-linux-x64.tar.gz" +etag = "2baf49181f3e96643fd2ecd11bcadb72-4" + +[[releases]] +version = "13.1.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v13.1.0-linux-x64.tar.gz" +etag = "5f8f1fbe4f22e319c6dbf2a57ee120fd-4" + +[[releases]] +version = "13.10.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v13.10.0-linux-x64.tar.gz" +etag = "21ed55d5eb72662fa397007f059dacc6-4" + +[[releases]] +version = "13.10.1" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v13.10.1-linux-x64.tar.gz" +etag = "9820787c904a8832f20539e85ff5d475-4" + +[[releases]] +version = "13.11.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v13.11.0-linux-x64.tar.gz" +etag = "2af22200c0261f417cf32a3279da2621-4" + +[[releases]] +version = "13.12.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v13.12.0-linux-x64.tar.gz" +etag = "8d22abc5a44d5645c0a9eab6177df570-4" + +[[releases]] +version = "13.13.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v13.13.0-linux-x64.tar.gz" +etag = "b9a24b0caa34a7a12ebb3e31b6830769-4" + +[[releases]] +version = "13.14.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v13.14.0-linux-x64.tar.gz" +etag = "45c315bd788c3505a636fd925445a240" + +[[releases]] +version = "13.2.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v13.2.0-linux-x64.tar.gz" +etag = "d1e63b1e6d2d88fd4b5340dbc1cddc26-4" + +[[releases]] +version = "13.3.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v13.3.0-linux-x64.tar.gz" +etag = "0984273970fbe1b55d46a74132c79768" + +[[releases]] +version = "13.4.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v13.4.0-linux-x64.tar.gz" +etag = "8c9381cc980b97c9da87d8ddfcadd412-4" + +[[releases]] +version = "13.5.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v13.5.0-linux-x64.tar.gz" +etag = "217fc9ae83b23d35bbb28af0647b7289-4" + +[[releases]] +version = "13.6.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v13.6.0-linux-x64.tar.gz" +etag = "5758d37594fa78cabb0b4578771a01fd" + +[[releases]] +version = "13.7.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v13.7.0-linux-x64.tar.gz" +etag = "47a5b05e78d5c8104cc58fd313649633-4" + +[[releases]] +version = "13.8.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v13.8.0-linux-x64.tar.gz" +etag = "a0cc522352876fdb52dc2f7817998dc4-4" + +[[releases]] +version = "13.9.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v13.9.0-linux-x64.tar.gz" +etag = "4245c4d98069215fbe0b5cd3742d7e33-4" + +[[releases]] +version = "14.0.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v14.0.0-linux-x64.tar.gz" +etag = "6d385ef3fffc1c5e5d870c590627552f" + +[[releases]] +version = "14.1.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v14.1.0-linux-x64.tar.gz" +etag = "42fffcd3e0ec9789ec127684a1d30539" + +[[releases]] +version = "14.10.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v14.10.0-linux-x64.tar.gz" +etag = "0692912fe38915d832ac97d9c8e75b6f-5" + +[[releases]] +version = "14.10.1" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v14.10.1-linux-x64.tar.gz" +etag = "4cc3f36a5a752141310ce9462b83b9e1-5" + +[[releases]] +version = "14.11.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v14.11.0-linux-x64.tar.gz" +etag = "5f0b0d752a988c5846e2850251d0de6e-5" + +[[releases]] +version = "14.12.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v14.12.0-linux-x64.tar.gz" +etag = "d543750360e322f6172ebbac5180f794-5" + +[[releases]] +version = "14.13.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v14.13.0-linux-x64.tar.gz" +etag = "d8db874594a71ef0a537e563f69403d5-5" + +[[releases]] +version = "14.13.1" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v14.13.1-linux-x64.tar.gz" +etag = "5fd8b1ffb4fe1f889bd39be6911ef12a-5" + +[[releases]] +version = "14.14.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v14.14.0-linux-x64.tar.gz" +etag = "8048c3ed071d05c927c4fbf21b7ce1d8-5" + +[[releases]] +version = "14.15.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v14.15.0-linux-x64.tar.gz" +etag = "53ded239e3e7b19ff58c63a13fc7295a-5" + +[[releases]] +version = "14.15.1" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v14.15.1-linux-x64.tar.gz" +etag = "ee95fa0dd4b142e075f7f61d6e9fdd3c-5" + +[[releases]] +version = "14.15.2" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v14.15.2-linux-x64.tar.gz" +etag = "f344e8a0fb555aa7cad8df8ee227c053-4" + +[[releases]] +version = "14.15.3" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v14.15.3-linux-x64.tar.gz" +etag = "929b59a348873583cf0eece6e997f694-4" + +[[releases]] +version = "14.15.4" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v14.15.4-linux-x64.tar.gz" +etag = "ad295578e70f4838d619a289c7d7654e-4" + +[[releases]] +version = "14.15.5" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v14.15.5-linux-x64.tar.gz" +etag = "78ef6759634ee37a78d17be7af46ed79-4" + +[[releases]] +version = "14.16.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v14.16.0-linux-x64.tar.gz" +etag = "f2cbbae39184fee9c13b611437b10921-4" + +[[releases]] +version = "14.16.1" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v14.16.1-linux-x64.tar.gz" +etag = "e03bf3ea73d969d9c08c8b7ae5493613-4" + +[[releases]] +version = "14.17.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v14.17.0-linux-x64.tar.gz" +etag = "cdc57f6a3cc4ca6f12f49dadd75a554e-5" + +[[releases]] +version = "14.17.1" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v14.17.1-linux-x64.tar.gz" +etag = "b41c1f2d90ecda727af59f7cc7c5dcfb-5" + +[[releases]] +version = "14.17.2" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v14.17.2-linux-x64.tar.gz" +etag = "7021d231631d65ece0f74c95bbc43eb3-5" + +[[releases]] +version = "14.17.3" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v14.17.3-linux-x64.tar.gz" +etag = "0bdbb8e1b6e813dbc040da523831c684-5" + +[[releases]] +version = "14.17.4" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v14.17.4-linux-x64.tar.gz" +etag = "81ca69987ef377abff2ecb2ae35d7ad7-5" + +[[releases]] +version = "14.17.5" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v14.17.5-linux-x64.tar.gz" +etag = "4e872307dfbc942a43b0eb5e6e44765c-5" + +[[releases]] +version = "14.17.6" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v14.17.6-linux-x64.tar.gz" +etag = "888e9ad0d2a56802507f3f6cd27f7ebe-5" + +[[releases]] +version = "14.18.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v14.18.0-linux-x64.tar.gz" +etag = "a667cd6939a25a71d4773357a693e170-5" + +[[releases]] +version = "14.18.1" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v14.18.1-linux-x64.tar.gz" +etag = "4a620703f674343fe1041b2bd0dfba66-5" + +[[releases]] +version = "14.18.2" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v14.18.2-linux-x64.tar.gz" +etag = "dad4b0c2b0daed55d75fd98500e57d62-5" + +[[releases]] +version = "14.18.3" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v14.18.3-linux-x64.tar.gz" +etag = "af7ed8db30228507dad9cf71afcce543-5" + +[[releases]] +version = "14.19.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v14.19.0-linux-x64.tar.gz" +etag = "06a14f4fdc59ae064ba047d4e9736fa3-5" + +[[releases]] +version = "14.19.1" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v14.19.1-linux-x64.tar.gz" +etag = "fcb00a3d0c4b22c1b6e157a558949657-5" + +[[releases]] +version = "14.19.2" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v14.19.2-linux-x64.tar.gz" +etag = "a6dd0bfb2f656166aeefefa37cfa8122-5" + +[[releases]] +version = "14.19.3" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v14.19.3-linux-x64.tar.gz" +etag = "3990a70c4d0794e8646575c76bff11a7-5" + +[[releases]] +version = "14.2.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v14.2.0-linux-x64.tar.gz" +etag = "130cb565b0fac4199fbc31df53a5f767" + +[[releases]] +version = "14.20.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v14.20.0-linux-x64.tar.gz" +etag = "f6da9962195174482d28f10830caf07d-5" + +[[releases]] +version = "14.20.1" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v14.20.1-linux-x64.tar.gz" +etag = "6bd6a27bebf33e019e154c29429dbbb8-5" + +[[releases]] +version = "14.21.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v14.21.0-linux-x64.tar.gz" +etag = "f9e6f039213ecb86ce8babadc3649dc9-5" + +[[releases]] +version = "14.21.1" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v14.21.1-linux-x64.tar.gz" +etag = "446470bd964ca7dc06d559b2aab6a123-5" + +[[releases]] +version = "14.21.2" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v14.21.2-linux-x64.tar.gz" +etag = "48813c8f1c235ce08888a9f1240c964c-5" + +[[releases]] +version = "14.21.3" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v14.21.3-linux-x64.tar.gz" +etag = "342cdbb59809aaa41d29ae298f73b365-5" + +[[releases]] +version = "14.3.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v14.3.0-linux-x64.tar.gz" +etag = "801b4e07a0f9686d54f21d56f982843c" + +[[releases]] +version = "14.4.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v14.4.0-linux-x64.tar.gz" +etag = "dd8f4cc53204e154b77729fa7bad99df" + +[[releases]] +version = "14.5.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v14.5.0-linux-x64.tar.gz" +etag = "cd5748870280f52ba9c1b2c35d6e0823" + +[[releases]] +version = "14.6.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v14.6.0-linux-x64.tar.gz" +etag = "e076d8f3ac1ffaf3540b6bff5fa14dd1-5" + +[[releases]] +version = "14.7.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v14.7.0-linux-x64.tar.gz" +etag = "98021eb36abb1d21ed54521a85ce5fa6-5" + +[[releases]] +version = "14.8.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v14.8.0-linux-x64.tar.gz" +etag = "00e00bc07580f6376df8f218b7196594-5" + +[[releases]] +version = "14.9.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v14.9.0-linux-x64.tar.gz" +etag = "2353027766ae1fdc82aa2fefc9cfad25-5" + +[[releases]] +version = "15.0.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v15.0.0-linux-x64.tar.gz" +etag = "39eea40a8dc5ca81ef1010088ae74ea5-5" + +[[releases]] +version = "15.0.1" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v15.0.1-linux-x64.tar.gz" +etag = "4066ea9cd7b29f9084c237a1024872c7-5" + +[[releases]] +version = "15.1.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v15.1.0-linux-x64.tar.gz" +etag = "e1d3af432eb7accbfc614a3cf48c7583-4" + +[[releases]] +version = "15.10.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v15.10.0-linux-x64.tar.gz" +etag = "485a712d740b014662a226e834bd9557-4" + +[[releases]] +version = "15.11.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v15.11.0-linux-x64.tar.gz" +etag = "ef6f1f9484a255594673ca7bcfbed280-4" + +[[releases]] +version = "15.12.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v15.12.0-linux-x64.tar.gz" +etag = "231a5764d7aafa2c8d99fcd147b0e875-4" + +[[releases]] +version = "15.13.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v15.13.0-linux-x64.tar.gz" +etag = "6a6b953c042ee7fca4a7e4482de60dc2-4" + +[[releases]] +version = "15.14.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v15.14.0-linux-x64.tar.gz" +etag = "0f2e0ef70eebc4840eab7547e59880ae-4" + +[[releases]] +version = "15.2.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v15.2.0-linux-x64.tar.gz" +etag = "784df9e5242bb304820b2c14512d9ce3-4" + +[[releases]] +version = "15.2.1" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v15.2.1-linux-x64.tar.gz" +etag = "ca1c922ba43df36fbb23fd8b3a8ea876-4" + +[[releases]] +version = "15.3.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v15.3.0-linux-x64.tar.gz" +etag = "292ba2368577fa093bedb1b7f5014402-4" + +[[releases]] +version = "15.4.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v15.4.0-linux-x64.tar.gz" +etag = "69eeff861c07a0fed33fda82b35a5ecb-4" + +[[releases]] +version = "15.5.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v15.5.0-linux-x64.tar.gz" +etag = "b5bc122b0bb815f48128c67709a76cf0-4" + +[[releases]] +version = "15.5.1" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v15.5.1-linux-x64.tar.gz" +etag = "37e51c2d28beb27f4488fbd5b4a58f59-4" + +[[releases]] +version = "15.6.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v15.6.0-linux-x64.tar.gz" +etag = "aeb1a459afa11e7fc482e0a672cf1fe2-4" + +[[releases]] +version = "15.7.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v15.7.0-linux-x64.tar.gz" +etag = "065a4833bd91372bf26a45a46820f77a-4" + +[[releases]] +version = "15.8.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v15.8.0-linux-x64.tar.gz" +etag = "e88c6266c1926b5c4348ad943e1c2ee2-4" + +[[releases]] +version = "15.9.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v15.9.0-linux-x64.tar.gz" +etag = "38308de828100c4f52adb07e8de3cc9d-4" + +[[releases]] +version = "16.0.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v16.0.0-linux-x64.tar.gz" +etag = "9ced677cf96c5ca3b4067f35c21311ac-4" + +[[releases]] +version = "16.1.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v16.1.0-linux-x64.tar.gz" +etag = "8d4e3e558429cf64b22302f210b3d7e5-4" + +[[releases]] +version = "16.10.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v16.10.0-linux-x64.tar.gz" +etag = "d91908102992fad63e2eb2c9b8082553-4" + +[[releases]] +version = "16.11.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v16.11.0-linux-x64.tar.gz" +etag = "c93e9efb20bf3f5807ec0e058bd83d5c-4" + +[[releases]] +version = "16.11.1" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v16.11.1-linux-x64.tar.gz" +etag = "ae7ebdb2d57c11865882e4dc3d6fc5e5-4" + +[[releases]] +version = "16.12.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v16.12.0-linux-x64.tar.gz" +etag = "66344ff27247c29c3a5fbe85fe5acb9d-4" + +[[releases]] +version = "16.13.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v16.13.0-linux-x64.tar.gz" +etag = "d445951da7d338a5d6d758aa24b6804d-4" + +[[releases]] +version = "16.13.1" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v16.13.1-linux-x64.tar.gz" +etag = "5ed5638fad670c7568cb216775f03cc6-4" + +[[releases]] +version = "16.13.2" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v16.13.2-linux-x64.tar.gz" +etag = "8104fa926e76b71b0c22236b24310732-4" + +[[releases]] +version = "16.14.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v16.14.0-linux-x64.tar.gz" +etag = "5bc4c0b1c1c94fad08c80561e259ee99-4" + +[[releases]] +version = "16.14.1" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v16.14.1-linux-x64.tar.gz" +etag = "64b4bbdf40af72cd2fe6accfc8054b16-4" + +[[releases]] +version = "16.14.2" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v16.14.2-linux-x64.tar.gz" +etag = "4db20ae2bbff10cf3c8aa2f7ea370fb0-4" + +[[releases]] +version = "16.15.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v16.15.0-linux-x64.tar.gz" +etag = "4df8f054993a43950ef0f2e42b9ff53d-4" + +[[releases]] +version = "16.15.1" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v16.15.1-linux-x64.tar.gz" +etag = "b863d244e4b1c0df901c8c8c8967dd68-4" + +[[releases]] +version = "16.16.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v16.16.0-linux-x64.tar.gz" +etag = "ad683ead6ffb89f81e933ab93a9c770a-4" + +[[releases]] +version = "16.17.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v16.17.0-linux-x64.tar.gz" +etag = "2525dc9822008f0666d3f0908c4c4c43-5" + +[[releases]] +version = "16.17.1" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v16.17.1-linux-x64.tar.gz" +etag = "f341015b15c91fe90ae9a8d6a3cc9fc8-5" + +[[releases]] +version = "16.18.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v16.18.0-linux-x64.tar.gz" +etag = "288b5e721e34d3983f55b0f77d5eb006-5" + +[[releases]] +version = "16.18.1" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v16.18.1-linux-x64.tar.gz" +etag = "64f9e77e6b1548cadb8c9251c7c841eb-5" + +[[releases]] +version = "16.19.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v16.19.0-linux-x64.tar.gz" +etag = "2f7c8ff9691c80c08007f26d42a99aaf-5" + +[[releases]] +version = "16.19.1" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v16.19.1-linux-x64.tar.gz" +etag = "243011854e70850bbc464bd26f02cdff-5" + +[[releases]] +version = "16.2.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v16.2.0-linux-x64.tar.gz" +etag = "ee81bd1f587c60c54432650eba4c51bc-4" + +[[releases]] +version = "16.20.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v16.20.0-linux-x64.tar.gz" +etag = "c8b5ddcdbfabac844be2ecf344311855-5" + +[[releases]] +version = "16.3.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v16.3.0-linux-x64.tar.gz" +etag = "b0a9cecd669951adac9e27a35102923d-4" + +[[releases]] +version = "16.4.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v16.4.0-linux-x64.tar.gz" +etag = "8a77e82e1ca44f4fe1922714403161e8-4" + +[[releases]] +version = "16.4.1" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v16.4.1-linux-x64.tar.gz" +etag = "558b0575a48ff39c21a1fd9402fa0b84-4" + +[[releases]] +version = "16.4.2" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v16.4.2-linux-x64.tar.gz" +etag = "722a9783a7201b020ad6a89b9703cc3b-4" + +[[releases]] +version = "16.5.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v16.5.0-linux-x64.tar.gz" +etag = "5322a660d103a2974b9e073eae890bfb-4" + +[[releases]] +version = "16.6.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v16.6.0-linux-x64.tar.gz" +etag = "dfbee0cdf68d776ad1e51ca482250b0a-4" + +[[releases]] +version = "16.6.1" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v16.6.1-linux-x64.tar.gz" +etag = "bc15b11b0fd5ff2b62c6bf83646c82df-4" + +[[releases]] +version = "16.6.2" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v16.6.2-linux-x64.tar.gz" +etag = "0f897c317d9f01058731d4d283ce1cf2-4" + +[[releases]] +version = "16.7.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v16.7.0-linux-x64.tar.gz" +etag = "5db3c31791f4f8f75a8e8737e2ad2382-4" + +[[releases]] +version = "16.8.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v16.8.0-linux-x64.tar.gz" +etag = "2cf9f82dd69a9d35ba71532459629f83-4" + +[[releases]] +version = "16.9.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v16.9.0-linux-x64.tar.gz" +etag = "f76ebd4df376e0a9a8138bfcbe3a3079-4" + +[[releases]] +version = "16.9.1" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v16.9.1-linux-x64.tar.gz" +etag = "b591f8229fa8bf2f0a387c23b8277c55-4" + +[[releases]] +version = "17.0.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v17.0.0-linux-x64.tar.gz" +etag = "86c99126a99b3a82d007caedabdb9fa1-6" + +[[releases]] +version = "17.0.1" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v17.0.1-linux-x64.tar.gz" +etag = "10dc62fa317414c345bed79c04cc71fc-6" + +[[releases]] +version = "17.1.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v17.1.0-linux-x64.tar.gz" +etag = "8bf50f0462ee3144f34c6da85ae09e32-6" + +[[releases]] +version = "17.2.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v17.2.0-linux-x64.tar.gz" +etag = "0aee67a645145fd83f1e9c333c68c655-6" + +[[releases]] +version = "17.3.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v17.3.0-linux-x64.tar.gz" +etag = "43a9c23500b6183f63c62fe1c72bbdcd-6" + +[[releases]] +version = "17.3.1" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v17.3.1-linux-x64.tar.gz" +etag = "89f0dc5714f090fb5255b2ab4b943c03-6" + +[[releases]] +version = "17.4.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v17.4.0-linux-x64.tar.gz" +etag = "72cd45ee41e736a3d15ccd255bc42ea5-6" + +[[releases]] +version = "17.5.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v17.5.0-linux-x64.tar.gz" +etag = "85ca8cdd9038440dbad047487fe5caad-6" + +[[releases]] +version = "17.6.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v17.6.0-linux-x64.tar.gz" +etag = "acb898de485f6fd431c5bba29737cdd6-6" + +[[releases]] +version = "17.7.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v17.7.0-linux-x64.tar.gz" +etag = "3ae4ee1f090945e80ad2209beb2c019e-6" + +[[releases]] +version = "17.7.1" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v17.7.1-linux-x64.tar.gz" +etag = "45444848e3db9df8e1906f30303f0b73-6" + +[[releases]] +version = "17.7.2" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v17.7.2-linux-x64.tar.gz" +etag = "5bfd0dc5e7e878dd4561fd0e41035051-6" + +[[releases]] +version = "17.8.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v17.8.0-linux-x64.tar.gz" +etag = "062cf4cae4ec3b032c41909a49df706e-6" + +[[releases]] +version = "17.9.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v17.9.0-linux-x64.tar.gz" +etag = "d82856ef7d8fd6ee756e0c4054e686aa-6" + +[[releases]] +version = "17.9.1" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v17.9.1-linux-x64.tar.gz" +etag = "5abb91fe234c1cb3709811ca8c62ee88-6" + +[[releases]] +version = "18.0.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v18.0.0-linux-x64.tar.gz" +etag = "48ae6c63e24f5ce074e86188287198e0-6" + +[[releases]] +version = "18.1.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v18.1.0-linux-x64.tar.gz" +etag = "37faa7d1b87accc2b5f8c5c8af3d4a85-6" + +[[releases]] +version = "18.10.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v18.10.0-linux-x64.tar.gz" +etag = "d31a7a94f60ae2ee3d2c5d208dd9fa06-6" + +[[releases]] +version = "18.11.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v18.11.0-linux-x64.tar.gz" +etag = "163783aaa395b4bafe69067e81e71ab8-6" + +[[releases]] +version = "18.12.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v18.12.0-linux-x64.tar.gz" +etag = "86649fe86748ea3febf98e929d498119-6" + +[[releases]] +version = "18.12.1" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v18.12.1-linux-x64.tar.gz" +etag = "a06f34eaf7ae2352c789e8faea99176c-6" + +[[releases]] +version = "18.13.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v18.13.0-linux-x64.tar.gz" +etag = "015f9dfe56aeb2d10a9abe0a0a28ac6d-6" + +[[releases]] +version = "18.14.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v18.14.0-linux-x64.tar.gz" +etag = "f64feba223d30bb5145dd5d5240609d3-6" + +[[releases]] +version = "18.14.1" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v18.14.1-linux-x64.tar.gz" +etag = "9ad4db80f4608dd332bf22ae10977f3d-6" + +[[releases]] +version = "18.14.2" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v18.14.2-linux-x64.tar.gz" +etag = "2a33290e3c193b654808b29ec7aef765-6" + +[[releases]] +version = "18.15.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v18.15.0-linux-x64.tar.gz" +etag = "26343f5611dc89155f9d066aa8164dfe-6" + +[[releases]] +version = "18.16.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v18.16.0-linux-x64.tar.gz" +etag = "d617fab87f8ee9b80abebd50857e2bde-6" + +[[releases]] +version = "18.2.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v18.2.0-linux-x64.tar.gz" +etag = "3e7b3258d258a95ba0e1ad06ed7f482d-6" + +[[releases]] +version = "18.3.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v18.3.0-linux-x64.tar.gz" +etag = "0882fd16bcfeabd57379441604051ca4-6" + +[[releases]] +version = "18.4.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v18.4.0-linux-x64.tar.gz" +etag = "05ff72f9371a8705b8e5b895dfd8f6b5-6" + +[[releases]] +version = "18.5.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v18.5.0-linux-x64.tar.gz" +etag = "9bd9fc6a152929b992967d7efe40cfa6-6" + +[[releases]] +version = "18.6.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v18.6.0-linux-x64.tar.gz" +etag = "96773288cff667058e088a4fb418aca3-6" + +[[releases]] +version = "18.7.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v18.7.0-linux-x64.tar.gz" +etag = "a0a3893b6b148788381bbc6f7260d35e-6" + +[[releases]] +version = "18.8.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v18.8.0-linux-x64.tar.gz" +etag = "cc3fcca2aa2dccdc333fbc0709428463-6" + +[[releases]] +version = "18.9.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v18.9.0-linux-x64.tar.gz" +etag = "8e53d83d4455c1861a22030a78f0a076-6" + +[[releases]] +version = "18.9.1" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v18.9.1-linux-x64.tar.gz" +etag = "6e9038bdbfb630d31d3875cf1f56e2ba-6" + +[[releases]] +version = "19.0.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v19.0.0-linux-x64.tar.gz" +etag = "99d158299058e3a6b76f1bdc8e18393a-6" + +[[releases]] +version = "19.0.1" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v19.0.1-linux-x64.tar.gz" +etag = "ac996f828499ee7fa1774b9939f5d6c7-6" + +[[releases]] +version = "19.1.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v19.1.0-linux-x64.tar.gz" +etag = "43ac81eb0cbcb40ca1d740ac0d078596-6" + +[[releases]] +version = "19.2.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v19.2.0-linux-x64.tar.gz" +etag = "250cb7f6bf897efc151f6dc8141c4d47-6" + +[[releases]] +version = "19.3.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v19.3.0-linux-x64.tar.gz" +etag = "28f7e1417152b4b5353376ddf2250d47-6" + +[[releases]] +version = "19.4.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v19.4.0-linux-x64.tar.gz" +etag = "2fd4267d28ed47fa708ff6856eac32fb-6" + +[[releases]] +version = "19.5.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v19.5.0-linux-x64.tar.gz" +etag = "265bced5d9813609194da5492a9120b2-6" + +[[releases]] +version = "19.6.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v19.6.0-linux-x64.tar.gz" +etag = "fa1942df595ee976b2f3fc527a6ae54b-6" + +[[releases]] +version = "19.6.1" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v19.6.1-linux-x64.tar.gz" +etag = "3da49c80eb81a859fae044f18bed25b8-6" + +[[releases]] +version = "19.7.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v19.7.0-linux-x64.tar.gz" +etag = "285a1444b527be5801d8d828a5dac1af-6" + +[[releases]] +version = "19.8.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v19.8.0-linux-x64.tar.gz" +etag = "5c1de4f49ba34ce1d462562c5f5841fc-6" + +[[releases]] +version = "19.8.1" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v19.8.1-linux-x64.tar.gz" +etag = "0f11104d9c1e305858586a6671beec73-6" + +[[releases]] +version = "19.9.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v19.9.0-linux-x64.tar.gz" +etag = "ebce078cbac8006fab82956e5882bc28-6" + +[[releases]] +version = "20.0.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v20.0.0-linux-x64.tar.gz" +etag = "3456465494f47de14edc1a97caec1baf-6" + +[[releases]] +version = "20.1.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v20.1.0-linux-x64.tar.gz" +etag = "3b470a161894e01274666e85c898728b-6" + +[[releases]] +version = "20.2.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v20.2.0-linux-x64.tar.gz" +etag = "262c2e27fdb5b764df8a642e6e942106-6" + +[[releases]] +version = "4.0.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v4.0.0-linux-x64.tar.gz" +etag = "ad9aa8802fe1ef5b9c96913fd2d08816" + +[[releases]] +version = "4.1.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v4.1.0-linux-x64.tar.gz" +etag = "5110ec82838293fbbfb67df9cd72b029" + +[[releases]] +version = "4.1.1" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v4.1.1-linux-x64.tar.gz" +etag = "e5d370e666f2305787a1fce3661fd89e" + +[[releases]] +version = "4.1.2" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v4.1.2-linux-x64.tar.gz" +etag = "0fdf4986da53ea7828ed3aa651a23834" + +[[releases]] +version = "4.2.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v4.2.0-linux-x64.tar.gz" +etag = "157502f1f71c36a7331e2515b27a4e55" + +[[releases]] +version = "4.2.1" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v4.2.1-linux-x64.tar.gz" +etag = "6c89bd44bc01e3806958192913cd2df1" + +[[releases]] +version = "4.2.2" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v4.2.2-linux-x64.tar.gz" +etag = "d15578f9497cfc470876035be6817b44" + +[[releases]] +version = "4.2.3" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v4.2.3-linux-x64.tar.gz" +etag = "d147b47f159a450ca2ddb21efa15494b" + +[[releases]] +version = "4.2.4" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v4.2.4-linux-x64.tar.gz" +etag = "3a5a62cf70ccd3da8f236fe8970c56f3" + +[[releases]] +version = "4.2.5" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v4.2.5-linux-x64.tar.gz" +etag = "ac75a1f161cc038d7864e31f836544cc" + +[[releases]] +version = "4.2.6" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v4.2.6-linux-x64.tar.gz" +etag = "99e171e31ada52506ea19921c8f12655" + +[[releases]] +version = "4.3.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v4.3.0-linux-x64.tar.gz" +etag = "971d69c8630e86d310a1e9358dd9d784" + +[[releases]] +version = "4.3.1" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v4.3.1-linux-x64.tar.gz" +etag = "4ffab69c4a38b4239b902575cb2e3c8e" + +[[releases]] +version = "4.3.2" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v4.3.2-linux-x64.tar.gz" +etag = "c97908f365d55ac8112a85504498d9d4" + +[[releases]] +version = "4.4.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v4.4.0-linux-x64.tar.gz" +etag = "f53766c3065beaf5df816cbbcabbbaa8" + +[[releases]] +version = "4.4.1" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v4.4.1-linux-x64.tar.gz" +etag = "e63bc99f24096ce83a310342bc33185d" + +[[releases]] +version = "4.4.2" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v4.4.2-linux-x64.tar.gz" +etag = "b298f15e97e2bf65a51074a6274989c3" + +[[releases]] +version = "4.4.3" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v4.4.3-linux-x64.tar.gz" +etag = "57b39b7e98d7267118536db1ce9c61c2" + +[[releases]] +version = "4.4.4" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v4.4.4-linux-x64.tar.gz" +etag = "7c120af0281a7e7195e99f61e6d7ba31" + +[[releases]] +version = "4.4.5" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v4.4.5-linux-x64.tar.gz" +etag = "f182997bd203528c5a358c8fb1082a5e" + +[[releases]] +version = "4.4.6" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v4.4.6-linux-x64.tar.gz" +etag = "4c72d988c91bf95e4dde32cb2adfb4f0" + +[[releases]] +version = "4.4.7" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v4.4.7-linux-x64.tar.gz" +etag = "9a5e9d9eeaa9a48f5eacf619fd8c11d8" + +[[releases]] +version = "4.5.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v4.5.0-linux-x64.tar.gz" +etag = "05a630d65295c2fb854fb76277681233" + +[[releases]] +version = "4.6.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v4.6.0-linux-x64.tar.gz" +etag = "9ea38915970403e2f39ffb7ddeab037f" + +[[releases]] +version = "4.6.1" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v4.6.1-linux-x64.tar.gz" +etag = "2a0f179566efbc1018c0f5b8e79dd37f" + +[[releases]] +version = "4.6.2" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v4.6.2-linux-x64.tar.gz" +etag = "076573f2f809e5050098c8969a32327e" + +[[releases]] +version = "4.7.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v4.7.0-linux-x64.tar.gz" +etag = "7f6f2e8172bb61666b75de84f430703d" + +[[releases]] +version = "4.7.1" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v4.7.1-linux-x64.tar.gz" +etag = "e130bd5a3cc159aa32c54d082e7963dd" + +[[releases]] +version = "4.7.2" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v4.7.2-linux-x64.tar.gz" +etag = "d438c6cf3d2b63aedae84f7770dba2bf" + +[[releases]] +version = "4.7.3" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v4.7.3-linux-x64.tar.gz" +etag = "15508f8fea6b2c3f15a7094b85a400ac" + +[[releases]] +version = "4.8.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v4.8.0-linux-x64.tar.gz" +etag = "9b0f9368f140ce6095d0338196ef3d0e" + +[[releases]] +version = "4.8.1" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v4.8.1-linux-x64.tar.gz" +etag = "c061c265953467cbaecb528936a4350d" + +[[releases]] +version = "4.8.2" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v4.8.2-linux-x64.tar.gz" +etag = "3838bed594a34909e3e960db823fe5cb" + +[[releases]] +version = "4.8.3" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v4.8.3-linux-x64.tar.gz" +etag = "f7a7392704f74ae1c35ac43e57147518" + +[[releases]] +version = "4.8.4" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v4.8.4-linux-x64.tar.gz" +etag = "d4cbf24ebcfe3208eda22474917159ba" + +[[releases]] +version = "4.8.5" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v4.8.5-linux-x64.tar.gz" +etag = "96af0054769096d569981f2d22131a96" + +[[releases]] +version = "4.8.6" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v4.8.6-linux-x64.tar.gz" +etag = "b0b95ceab3ac27aba8a56033f94658b9" + +[[releases]] +version = "4.8.7" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v4.8.7-linux-x64.tar.gz" +etag = "ccf19b560bb65f53132e6bb09b0eb9b1" + +[[releases]] +version = "4.9.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v4.9.0-linux-x64.tar.gz" +etag = "edb491d2bcc46fac4974319543610d84" + +[[releases]] +version = "4.9.1" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v4.9.1-linux-x64.tar.gz" +etag = "55cc20b7f650c25cd57c41dfffdd2bc1" + +[[releases]] +version = "5.0.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v5.0.0-linux-x64.tar.gz" +etag = "fdc2c555c36c94ebf114638ce335930c" + +[[releases]] +version = "5.1.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v5.1.0-linux-x64.tar.gz" +etag = "18b6afd5c49e93e5389b951e7e9c14a5" + +[[releases]] +version = "5.1.1" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v5.1.1-linux-x64.tar.gz" +etag = "0657d46ced225b0416198d1b3e263c40" + +[[releases]] +version = "5.10.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v5.10.0-linux-x64.tar.gz" +etag = "16beb606311791a408e612fd3837f17f" + +[[releases]] +version = "5.10.1" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v5.10.1-linux-x64.tar.gz" +etag = "4c2f9b58fdd04f44c253eec1fcda6c8b" + +[[releases]] +version = "5.11.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v5.11.0-linux-x64.tar.gz" +etag = "27b1e305aa8024b9254851a46101b5ac" + +[[releases]] +version = "5.11.1" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v5.11.1-linux-x64.tar.gz" +etag = "a410e0dd3f79a9030c5704abb24e4eed" + +[[releases]] +version = "5.12.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v5.12.0-linux-x64.tar.gz" +etag = "a573a36713bd2d77094794e39562c9a9" + +[[releases]] +version = "5.2.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v5.2.0-linux-x64.tar.gz" +etag = "547de6e8b2f42e6f6948e3e8e83205b0" + +[[releases]] +version = "5.3.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v5.3.0-linux-x64.tar.gz" +etag = "fd5b49ff2073e48667e9420cb8e14485" + +[[releases]] +version = "5.4.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v5.4.0-linux-x64.tar.gz" +etag = "29d19e2095e6610c69d5e3425467a837" + +[[releases]] +version = "5.4.1" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v5.4.1-linux-x64.tar.gz" +etag = "59504ee13daa0b00ee5d1ed9b8293c83" + +[[releases]] +version = "5.5.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v5.5.0-linux-x64.tar.gz" +etag = "da931cbd0d7ddabce6a8e4cd0bfea252" + +[[releases]] +version = "5.6.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v5.6.0-linux-x64.tar.gz" +etag = "9094bd62a5c44b5794e1c781186211a1" + +[[releases]] +version = "5.7.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v5.7.0-linux-x64.tar.gz" +etag = "e5703bedcb1796c323b4875476f1aa42" + +[[releases]] +version = "5.7.1" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v5.7.1-linux-x64.tar.gz" +etag = "23516f737f0301a02b653f6791bb1b7b" + +[[releases]] +version = "5.8.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v5.8.0-linux-x64.tar.gz" +etag = "6dc325980c02dbc6d2784f0f4a8ac2c0" + +[[releases]] +version = "5.9.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v5.9.0-linux-x64.tar.gz" +etag = "728b0fb8dd32ed22e9ececc7494ee017" + +[[releases]] +version = "5.9.1" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v5.9.1-linux-x64.tar.gz" +etag = "08c9841f4462cc3db1723b3f769545bb" + +[[releases]] +version = "6.0.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v6.0.0-linux-x64.tar.gz" +etag = "13b4c32b6547c960fe271dff9e5271ef" + +[[releases]] +version = "6.1.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v6.1.0-linux-x64.tar.gz" +etag = "7ae088e219791fc7b8ec2e113de351ed" + +[[releases]] +version = "6.10.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v6.10.0-linux-x64.tar.gz" +etag = "f5296665baa81cb1d2963e6e035bab3f" + +[[releases]] +version = "6.10.1" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v6.10.1-linux-x64.tar.gz" +etag = "b84f8dc95e36713130f02eb74a510f66" + +[[releases]] +version = "6.10.2" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v6.10.2-linux-x64.tar.gz" +etag = "422d938406ab4e87b540ff702cc0be0f" + +[[releases]] +version = "6.10.3" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v6.10.3-linux-x64.tar.gz" +etag = "30393301e956e1c1378b6e2b4134960d" + +[[releases]] +version = "6.11.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v6.11.0-linux-x64.tar.gz" +etag = "e6ade07945c32f82da184ebbcb5347dc" + +[[releases]] +version = "6.11.1" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v6.11.1-linux-x64.tar.gz" +etag = "07ad56154c716d5d4024485cf541cacd" + +[[releases]] +version = "6.11.2" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v6.11.2-linux-x64.tar.gz" +etag = "a9d11ee59c2f1323dd7779f22319da0b" + +[[releases]] +version = "6.11.3" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v6.11.3-linux-x64.tar.gz" +etag = "27ca55c32e83981d0262c86b3098ab53" + +[[releases]] +version = "6.11.4" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v6.11.4-linux-x64.tar.gz" +etag = "c6ef84d3d69e83cece7fe70b34fb3ead" + +[[releases]] +version = "6.11.5" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v6.11.5-linux-x64.tar.gz" +etag = "feb8cc0de5bdcd852b6ead5ca449c54e" + +[[releases]] +version = "6.12.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v6.12.0-linux-x64.tar.gz" +etag = "3bb30780f5a2375186050d3331124eb3" + +[[releases]] +version = "6.12.1" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v6.12.1-linux-x64.tar.gz" +etag = "fe934ea079157537e519ab8abac97821" + +[[releases]] +version = "6.12.2" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v6.12.2-linux-x64.tar.gz" +etag = "d17c3d9d7abc2b6fa87d77b1194f49ed" + +[[releases]] +version = "6.12.3" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v6.12.3-linux-x64.tar.gz" +etag = "3449dadfee5ae4310806b586b22415ea" + +[[releases]] +version = "6.13.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v6.13.0-linux-x64.tar.gz" +etag = "bb14c7dc4cdcdda93864b54641a904eb" + +[[releases]] +version = "6.13.1" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v6.13.1-linux-x64.tar.gz" +etag = "8ea19d0947367394b64196d6ef31d279" + +[[releases]] +version = "6.14.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v6.14.0-linux-x64.tar.gz" +etag = "55df304d39af6d80b2fea82bc3a0c23c" + +[[releases]] +version = "6.14.1" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v6.14.1-linux-x64.tar.gz" +etag = "2a9d81e30b09a4f097426e469d67d159" + +[[releases]] +version = "6.14.2" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v6.14.2-linux-x64.tar.gz" +etag = "18ccee563e25f5c4561681bfcccd815b" + +[[releases]] +version = "6.14.3" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v6.14.3-linux-x64.tar.gz" +etag = "c03210f252a9a6f1025a32abd817466b" + +[[releases]] +version = "6.14.4" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v6.14.4-linux-x64.tar.gz" +etag = "c81242d62dbad357134ad9e8c938fce6" + +[[releases]] +version = "6.15.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v6.15.0-linux-x64.tar.gz" +etag = "bc75fc652bb28aa07d92e99b212dd75e" + +[[releases]] +version = "6.15.1" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v6.15.1-linux-x64.tar.gz" +etag = "8b6b409811ba540653b06a2f87af2b58" + +[[releases]] +version = "6.16.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v6.16.0-linux-x64.tar.gz" +etag = "e4b7d1cc7c4156ae36af213795b9a2ab" + +[[releases]] +version = "6.17.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v6.17.0-linux-x64.tar.gz" +etag = "24b84466f5f921fa793243f87915800a" + +[[releases]] +version = "6.17.1" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v6.17.1-linux-x64.tar.gz" +etag = "eb59e6ef416d02bfcd1188b4151bddcd" + +[[releases]] +version = "6.2.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v6.2.0-linux-x64.tar.gz" +etag = "fdd0261e3c7bafee1cc7fc65984fdf88" + +[[releases]] +version = "6.2.1" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v6.2.1-linux-x64.tar.gz" +etag = "f3d14bdcb186588b49d62e79e7f01485" + +[[releases]] +version = "6.2.2" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v6.2.2-linux-x64.tar.gz" +etag = "a6fec1180281f7ac2d4958e6ce7d3389" + +[[releases]] +version = "6.3.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v6.3.0-linux-x64.tar.gz" +etag = "41d14f57079c5935a4f0b470abd9f6b6" + +[[releases]] +version = "6.3.1" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v6.3.1-linux-x64.tar.gz" +etag = "6eef640b0ec7aa824495648de0b98b8a" + +[[releases]] +version = "6.4.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v6.4.0-linux-x64.tar.gz" +etag = "5a6a85902804e80805b9e768965de9e7" + +[[releases]] +version = "6.5.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v6.5.0-linux-x64.tar.gz" +etag = "9ecd8aa9b9604d0a00c8e49bf4972e8a" + +[[releases]] +version = "6.6.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v6.6.0-linux-x64.tar.gz" +etag = "d1d8e73c4bf00bd775134133eb272db1" + +[[releases]] +version = "6.7.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v6.7.0-linux-x64.tar.gz" +etag = "408f4cd1cb7ec43c3c160e8fed1976f5" + +[[releases]] +version = "6.8.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v6.8.0-linux-x64.tar.gz" +etag = "67095f5a08b9e43af45fb5ae0148518c" + +[[releases]] +version = "6.8.1" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v6.8.1-linux-x64.tar.gz" +etag = "755c549fe29a3a5b96c3389e09944f26" + +[[releases]] +version = "6.9.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v6.9.0-linux-x64.tar.gz" +etag = "04b33ad10f00911e1e62d1564b0291a5" + +[[releases]] +version = "6.9.1" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v6.9.1-linux-x64.tar.gz" +etag = "125817abbbe0268f7344a4bdc9f6ca6c" + +[[releases]] +version = "6.9.2" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v6.9.2-linux-x64.tar.gz" +etag = "93bed4cb06d1c70dd6c353eb464fcc14" + +[[releases]] +version = "6.9.3" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v6.9.3-linux-x64.tar.gz" +etag = "77c692175c2be398a5e3a293642e815f" + +[[releases]] +version = "6.9.4" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v6.9.4-linux-x64.tar.gz" +etag = "6ef6a9c5d2157605b8c1c8428d79562e" + +[[releases]] +version = "6.9.5" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v6.9.5-linux-x64.tar.gz" +etag = "07fe033bfc86aaa9f92f34d7b99fd26f" + +[[releases]] +version = "7.0.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v7.0.0-linux-x64.tar.gz" +etag = "9e9e91b3acb928e4ba648d8e74a1da58" + +[[releases]] +version = "7.1.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v7.1.0-linux-x64.tar.gz" +etag = "9ab4aebedf1ffaa3a969e967155fb682" + +[[releases]] +version = "7.10.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v7.10.0-linux-x64.tar.gz" +etag = "ec8a2ff9c2419699b6b64c23dadd0e97" + +[[releases]] +version = "7.10.1" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v7.10.1-linux-x64.tar.gz" +etag = "cfdda50dfcdc0cf220a3a2cde7c47eed" + +[[releases]] +version = "7.2.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v7.2.0-linux-x64.tar.gz" +etag = "0addb80324fde7895d575217e586de61" + +[[releases]] +version = "7.2.1" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v7.2.1-linux-x64.tar.gz" +etag = "c3bed6afc9602cf939db1d5fa17a8ecd" + +[[releases]] +version = "7.3.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v7.3.0-linux-x64.tar.gz" +etag = "f72707a8488b83b1c960a0f92f0c0407" + +[[releases]] +version = "7.4.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v7.4.0-linux-x64.tar.gz" +etag = "d39110f7d54c8232681af944e35a643a" + +[[releases]] +version = "7.5.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v7.5.0-linux-x64.tar.gz" +etag = "6deb5f26b7d6b1abb891ec1c91417a44" + +[[releases]] +version = "7.6.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v7.6.0-linux-x64.tar.gz" +etag = "ba3e24f7785494fa862bb09df962cb6a" + +[[releases]] +version = "7.7.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v7.7.0-linux-x64.tar.gz" +etag = "e39a464e4327f52b857a0014e5c834d5" + +[[releases]] +version = "7.7.1" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v7.7.1-linux-x64.tar.gz" +etag = "12cf3996237e73af1734abbb04aaa08e" + +[[releases]] +version = "7.7.2" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v7.7.2-linux-x64.tar.gz" +etag = "4d721a9751057c93c361b20285319ce9" + +[[releases]] +version = "7.7.3" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v7.7.3-linux-x64.tar.gz" +etag = "8fba665863dc1d8f22d5848e2464c66d" + +[[releases]] +version = "7.7.4" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v7.7.4-linux-x64.tar.gz" +etag = "e3382e0292c909731d0db2e98662dc35" + +[[releases]] +version = "7.8.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v7.8.0-linux-x64.tar.gz" +etag = "d338a977caa4908b9634c457eec00607" + +[[releases]] +version = "7.9.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v7.9.0-linux-x64.tar.gz" +etag = "905dd98406730fa6c7a6f142759797fe" + +[[releases]] +version = "8.0.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v8.0.0-linux-x64.tar.gz" +etag = "7c4a36c3fa8e26f6293f8b7419b80dce" + +[[releases]] +version = "8.1.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v8.1.0-linux-x64.tar.gz" +etag = "47785a1a21fee13cf0c257bb4f61c400" + +[[releases]] +version = "8.1.1" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v8.1.1-linux-x64.tar.gz" +etag = "66b23604717b0895162e24e372003bc0" + +[[releases]] +version = "8.1.2" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v8.1.2-linux-x64.tar.gz" +etag = "ae9ed0103665e67eded93b9ae52a6ec5" + +[[releases]] +version = "8.1.3" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v8.1.3-linux-x64.tar.gz" +etag = "ce89b28204e1b6d5c2d1bb08d3f85d95" + +[[releases]] +version = "8.1.4" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v8.1.4-linux-x64.tar.gz" +etag = "ae43cf579539b3898432a9c3d49cf9d3" + +[[releases]] +version = "8.10.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v8.10.0-linux-x64.tar.gz" +etag = "79b3e7736b4f5d0d902684f773748805" + +[[releases]] +version = "8.11.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v8.11.0-linux-x64.tar.gz" +etag = "3d3264b0503613ad6672858f271392a1" + +[[releases]] +version = "8.11.1" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v8.11.1-linux-x64.tar.gz" +etag = "cdfc6c0c8da81d697cb6e93219143817" + +[[releases]] +version = "8.11.2" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v8.11.2-linux-x64.tar.gz" +etag = "5d6bbd76cf31838ac22863cee6b35314" + +[[releases]] +version = "8.11.3" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v8.11.3-linux-x64.tar.gz" +etag = "55f2efc92e347c22d94f1c75e14cc4a9" + +[[releases]] +version = "8.11.4" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v8.11.4-linux-x64.tar.gz" +etag = "5764e757cee7ffa6eda727784ac2dde8" + +[[releases]] +version = "8.12.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v8.12.0-linux-x64.tar.gz" +etag = "c2dc07f9b840abe01461328caad03179" + +[[releases]] +version = "8.13.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v8.13.0-linux-x64.tar.gz" +etag = "ec5e096251b6b78f508971d7038a5d14" + +[[releases]] +version = "8.14.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v8.14.0-linux-x64.tar.gz" +etag = "6e1117831d6dfa9cf73a998f84a70aa2" + +[[releases]] +version = "8.14.1" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v8.14.1-linux-x64.tar.gz" +etag = "b62684a89bde079c53fb54dce47ff715" + +[[releases]] +version = "8.15.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v8.15.0-linux-x64.tar.gz" +etag = "117139b710ca7795feda9e643ce11fe9" + +[[releases]] +version = "8.15.1" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v8.15.1-linux-x64.tar.gz" +etag = "4c4497b86c0004401d5a93aa36c7e959" + +[[releases]] +version = "8.16.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v8.16.0-linux-x64.tar.gz" +etag = "caabf1838fba99b1d228dfa66c38254f" + +[[releases]] +version = "8.16.1" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v8.16.1-linux-x64.tar.gz" +etag = "7208de0aad92d58374fa8f3763d6305c" + +[[releases]] +version = "8.16.2" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v8.16.2-linux-x64.tar.gz" +etag = "327ec94535ca1a5390fd2eebb970936d" + +[[releases]] +version = "8.17.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v8.17.0-linux-x64.tar.gz" +etag = "6218e59c4e3632a4b4eae5214aceeb08" + +[[releases]] +version = "8.2.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v8.2.0-linux-x64.tar.gz" +etag = "68c673f28439316feca4d62e9422fa61" + +[[releases]] +version = "8.2.1" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v8.2.1-linux-x64.tar.gz" +etag = "771c0c0d6dee6eb23246acde43d9a322" + +[[releases]] +version = "8.3.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v8.3.0-linux-x64.tar.gz" +etag = "cd9f3d9d745ff7ed7b70e666120f6f33" + +[[releases]] +version = "8.4.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v8.4.0-linux-x64.tar.gz" +etag = "47995fbac1f5d13335b9793193852865" + +[[releases]] +version = "8.5.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v8.5.0-linux-x64.tar.gz" +etag = "fabf00e6bd0340ac7b9eea01c14b5553" + +[[releases]] +version = "8.6.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v8.6.0-linux-x64.tar.gz" +etag = "43086fd3d13a2f5da84ca0a425603384" + +[[releases]] +version = "8.7.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v8.7.0-linux-x64.tar.gz" +etag = "cc0009950642acd26d84cdd41fc6a63f" + +[[releases]] +version = "8.8.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v8.8.0-linux-x64.tar.gz" +etag = "9dbef387aa662bcd886e1d9e12c53391" + +[[releases]] +version = "8.8.1" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v8.8.1-linux-x64.tar.gz" +etag = "05a227ed26e6d10673d7b5d43548fa27" + +[[releases]] +version = "8.9.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v8.9.0-linux-x64.tar.gz" +etag = "344c4ece19f3288e49580aa924efb6b6" + +[[releases]] +version = "8.9.1" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v8.9.1-linux-x64.tar.gz" +etag = "4988b63c61a557d435ca84a8fd7b16e5" + +[[releases]] +version = "8.9.2" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v8.9.2-linux-x64.tar.gz" +etag = "d44840575fb65f8af588f104b191f1fa" + +[[releases]] +version = "8.9.3" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v8.9.3-linux-x64.tar.gz" +etag = "bcb479799cf91d21c5dea9f11be3e8f0" + +[[releases]] +version = "8.9.4" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v8.9.4-linux-x64.tar.gz" +etag = "53afee57c2832145d0192075cee3a0f5" + +[[releases]] +version = "9.0.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v9.0.0-linux-x64.tar.gz" +etag = "daf114d7fc0feedaddee00fffb05795c" + +[[releases]] +version = "9.1.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v9.1.0-linux-x64.tar.gz" +etag = "f1f3e6c33c998aec8bc976dff9bd288a" + +[[releases]] +version = "9.10.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v9.10.0-linux-x64.tar.gz" +etag = "72f8c387f69e787eb62a711a6bcb567e" + +[[releases]] +version = "9.10.1" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v9.10.1-linux-x64.tar.gz" +etag = "7c8500163ca5129ae369b1c385fe510b" + +[[releases]] +version = "9.11.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v9.11.0-linux-x64.tar.gz" +etag = "333cebc3ddc900647bdf634dd0b85712" + +[[releases]] +version = "9.11.1" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v9.11.1-linux-x64.tar.gz" +etag = "c57e646e046d336ff99973f53f146e3e" + +[[releases]] +version = "9.11.2" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v9.11.2-linux-x64.tar.gz" +etag = "2e3946fb496d4fe7da658d4fe84d2f83" + +[[releases]] +version = "9.2.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v9.2.0-linux-x64.tar.gz" +etag = "d5fbf801c5b1e5fd920b6d06abedf64c" + +[[releases]] +version = "9.2.1" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v9.2.1-linux-x64.tar.gz" +etag = "794a1419d7b37ca31f6b26ec523fe9a1" + +[[releases]] +version = "9.3.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v9.3.0-linux-x64.tar.gz" +etag = "0b7d3a357d309cb9a49d4bf26d9dc279" + +[[releases]] +version = "9.4.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v9.4.0-linux-x64.tar.gz" +etag = "513c419b06c88bf467ab8c153bd4f311" + +[[releases]] +version = "9.5.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v9.5.0-linux-x64.tar.gz" +etag = "3d7a719f4839b67751c4293de1cc4a25" + +[[releases]] +version = "9.6.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v9.6.0-linux-x64.tar.gz" +etag = "6b1fda53508ebf1d18c987d23007daa7" + +[[releases]] +version = "9.6.1" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v9.6.1-linux-x64.tar.gz" +etag = "51a778e44a46edf617985416e52a4eba" + +[[releases]] +version = "9.7.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v9.7.0-linux-x64.tar.gz" +etag = "684489f171a42c96ccc2734b6dbe6035" + +[[releases]] +version = "9.7.1" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v9.7.1-linux-x64.tar.gz" +etag = "eafd7894337e4c8325ad318df6e8f5c8" + +[[releases]] +version = "9.8.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v9.8.0-linux-x64.tar.gz" +etag = "f16b1750184ebed9dc4144a549bbabfc" + +[[releases]] +version = "9.9.0" +channel = "release" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/release/linux-x64/node-v9.9.0-linux-x64.tar.gz" +etag = "b6d0dd7311e34f96057b66280ac29e7a" + +[[releases]] +version = "10.1.0" +channel = "staging" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/darwin-x64/node-v10.1.0-darwin-x64.tar.gz" +etag = "075338fcbfb421d80b8b272167367149-2" + +[[releases]] +version = "10.10.0" +channel = "staging" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/darwin-x64/node-v10.10.0-darwin-x64.tar.gz" +etag = "c21bffff553546ac2776cdb28fb7363c-2" + +[[releases]] +version = "10.11.0" +channel = "staging" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/darwin-x64/node-v10.11.0-darwin-x64.tar.gz" +etag = "7c1f911d3b24c71f9f0718b93d9bb6b8-2" + +[[releases]] +version = "10.12.0" +channel = "staging" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/darwin-x64/node-v10.12.0-darwin-x64.tar.gz" +etag = "ffe227e5a6512104f9c2414fafb1b55a-2" + +[[releases]] +version = "10.13.0" +channel = "staging" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/darwin-x64/node-v10.13.0-darwin-x64.tar.gz" +etag = "d5f7998b145c354695fd17fae1b3f02b-2" + +[[releases]] +version = "10.14.0" +channel = "staging" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/darwin-x64/node-v10.14.0-darwin-x64.tar.gz" +etag = "c121ed62304a207ba5c7f6b49037fd1b-2" + +[[releases]] +version = "10.14.1" +channel = "staging" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/darwin-x64/node-v10.14.1-darwin-x64.tar.gz" +etag = "eed04220f203896d319837b77919dcff-2" + +[[releases]] +version = "10.14.2" +channel = "staging" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/darwin-x64/node-v10.14.2-darwin-x64.tar.gz" +etag = "b1d3e9268544048430ab8ff3e08b4483-2" + +[[releases]] +version = "10.15.0" +channel = "staging" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/darwin-x64/node-v10.15.0-darwin-x64.tar.gz" +etag = "7ff7b375d370a97fcd4746f2541fefa0-2" + +[[releases]] +version = "10.15.1" +channel = "staging" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/darwin-x64/node-v10.15.1-darwin-x64.tar.gz" +etag = "7ea7702617b20c5deb6416261782630a-2" + +[[releases]] +version = "10.15.2" +channel = "staging" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/darwin-x64/node-v10.15.2-darwin-x64.tar.gz" +etag = "963ffeecd266832a954db7724fcd86fe-2" + +[[releases]] +version = "10.15.3" +channel = "staging" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/darwin-x64/node-v10.15.3-darwin-x64.tar.gz" +etag = "6b7bb08f102bb5e4e8dee88b46548fb7-2" + +[[releases]] +version = "10.16.0" +channel = "staging" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/darwin-x64/node-v10.16.0-darwin-x64.tar.gz" +etag = "70b927cdc7bc9d0fd3bc558e5a205cca-3" + +[[releases]] +version = "10.16.1" +channel = "staging" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/darwin-x64/node-v10.16.1-darwin-x64.tar.gz" +etag = "782b24811bc14de243941e17e3e3603c-3" + +[[releases]] +version = "10.16.2" +channel = "staging" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/darwin-x64/node-v10.16.2-darwin-x64.tar.gz" +etag = "cbabef467c591e4d643ec6174f0ec122-3" + +[[releases]] +version = "10.16.3" +channel = "staging" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/darwin-x64/node-v10.16.3-darwin-x64.tar.gz" +etag = "8740ea019b634b1947bbbbfce372c8ee-3" + +[[releases]] +version = "10.17.0" +channel = "staging" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/darwin-x64/node-v10.17.0-darwin-x64.tar.gz" +etag = "c288126f9b163ae8f210d4be4e544be7-3" + +[[releases]] +version = "10.18.0" +channel = "staging" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/darwin-x64/node-v10.18.0-darwin-x64.tar.gz" +etag = "0c95534e9dac2cc99fac2f0ddc1bcd46-3" + +[[releases]] +version = "10.18.1" +channel = "staging" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/darwin-x64/node-v10.18.1-darwin-x64.tar.gz" +etag = "1beab3e621a27924a076f88bbd0180f8-3" + +[[releases]] +version = "10.19.0" +channel = "staging" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/darwin-x64/node-v10.19.0-darwin-x64.tar.gz" +etag = "06ce71192fd267dd866827edccda5996-3" + +[[releases]] +version = "10.2.0" +channel = "staging" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/darwin-x64/node-v10.2.0-darwin-x64.tar.gz" +etag = "0ea30daa604b1bd929ee178d40af8352-2" + +[[releases]] +version = "10.2.1" +channel = "staging" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/darwin-x64/node-v10.2.1-darwin-x64.tar.gz" +etag = "aa160c78897cd7245bee4412f3bc96e2-2" + +[[releases]] +version = "10.20.0" +channel = "staging" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/darwin-x64/node-v10.20.0-darwin-x64.tar.gz" +etag = "9333a777f0a74f5b7ea87550d74262c3-3" + +[[releases]] +version = "10.20.1" +channel = "staging" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/darwin-x64/node-v10.20.1-darwin-x64.tar.gz" +etag = "878c0c4323e31dd9106d756abb0b9002-3" + +[[releases]] +version = "10.21.0" +channel = "staging" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/darwin-x64/node-v10.21.0-darwin-x64.tar.gz" +etag = "3df5c0dec214c35f2d731726733b1c6a-3" + +[[releases]] +version = "10.22.0" +channel = "staging" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/darwin-x64/node-v10.22.0-darwin-x64.tar.gz" +etag = "0037544c07933ec1d5da9c33092f6831-3" + +[[releases]] +version = "10.22.1" +channel = "staging" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/darwin-x64/node-v10.22.1-darwin-x64.tar.gz" +etag = "d32be387d0f7f21abf2642e23d47b19c-3" + +[[releases]] +version = "10.23.0" +channel = "staging" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/darwin-x64/node-v10.23.0-darwin-x64.tar.gz" +etag = "7d35b632cb913bb0cee161b3f949932f-3" + +[[releases]] +version = "10.23.1" +channel = "staging" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/darwin-x64/node-v10.23.1-darwin-x64.tar.gz" +etag = "292b25a4474b5829b2ac34a1ecc32100-3" + +[[releases]] +version = "10.9.0" +channel = "staging" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/darwin-x64/node-v10.9.0-darwin-x64.tar.gz" +etag = "589b2b59735c2756fa3ab64cdfb1f1a9" + +[[releases]] +version = "11.0.0" +channel = "staging" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/darwin-x64/node-v11.0.0-darwin-x64.tar.gz" +etag = "ecc3e19ec147553f53a1d55cd7985054" + +[[releases]] +version = "11.1.0" +channel = "staging" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/darwin-x64/node-v11.1.0-darwin-x64.tar.gz" +etag = "58249d44f40a5a5299fa83f3fd1ee36c" + +[[releases]] +version = "11.10.0" +channel = "staging" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/darwin-x64/node-v11.10.0-darwin-x64.tar.gz" +etag = "bf5fd780114c9e7981146a4909e2ffde" + +[[releases]] +version = "11.10.1" +channel = "staging" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/darwin-x64/node-v11.10.1-darwin-x64.tar.gz" +etag = "80ac0921ffeca782eabae1e543cf5a1d" + +[[releases]] +version = "11.11.0" +channel = "staging" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/darwin-x64/node-v11.11.0-darwin-x64.tar.gz" +etag = "736858f23fb79479af941461817424a4" + +[[releases]] +version = "11.12.0" +channel = "staging" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/darwin-x64/node-v11.12.0-darwin-x64.tar.gz" +etag = "77636576d7ba54c52a984e9891413b16" + +[[releases]] +version = "11.13.0" +channel = "staging" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/darwin-x64/node-v11.13.0-darwin-x64.tar.gz" +etag = "56d811e1709ae0ba4b591ee2489003c3" + +[[releases]] +version = "11.14.0" +channel = "staging" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/darwin-x64/node-v11.14.0-darwin-x64.tar.gz" +etag = "59478d7f4976d5d4248b8e6d24b19270" + +[[releases]] +version = "11.15.0" +channel = "staging" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/darwin-x64/node-v11.15.0-darwin-x64.tar.gz" +etag = "3cc7ff95006b05b6d8cb7b727388c19b" + +[[releases]] +version = "11.2.0" +channel = "staging" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/darwin-x64/node-v11.2.0-darwin-x64.tar.gz" +etag = "3dbded714a5cebaf5ac447c4484e32fe" + +[[releases]] +version = "11.3.0" +channel = "staging" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/darwin-x64/node-v11.3.0-darwin-x64.tar.gz" +etag = "d15a0a760aeb7fcd4c0b6a25529759c0" + +[[releases]] +version = "11.4.0" +channel = "staging" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/darwin-x64/node-v11.4.0-darwin-x64.tar.gz" +etag = "0badf49f8d6aa6d8132916052547865d" + +[[releases]] +version = "11.5.0" +channel = "staging" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/darwin-x64/node-v11.5.0-darwin-x64.tar.gz" +etag = "f1968a180739aec5a35e7778b77d4bea" + +[[releases]] +version = "11.6.0" +channel = "staging" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/darwin-x64/node-v11.6.0-darwin-x64.tar.gz" +etag = "bc6044faecbd1a216d11ab8ac05f3a41" + +[[releases]] +version = "11.7.0" +channel = "staging" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/darwin-x64/node-v11.7.0-darwin-x64.tar.gz" +etag = "ccea4d6956bf66ce6af96cefb93d1f04" + +[[releases]] +version = "11.8.0" +channel = "staging" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/darwin-x64/node-v11.8.0-darwin-x64.tar.gz" +etag = "d7d522f5bf1e1821d258cdb3ebf87e7c" + +[[releases]] +version = "11.9.0" +channel = "staging" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/darwin-x64/node-v11.9.0-darwin-x64.tar.gz" +etag = "1dce07e744fd518a9d3bf1611c0e721a" + +[[releases]] +version = "12.0.0" +channel = "staging" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/darwin-x64/node-v12.0.0-darwin-x64.tar.gz" +etag = "9bd5425992b3e8b27542dd0017140feb" + +[[releases]] +version = "12.1.0" +channel = "staging" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/darwin-x64/node-v12.1.0-darwin-x64.tar.gz" +etag = "f6464cf5569dcd84a7930dd463636418" + +[[releases]] +version = "12.10.0" +channel = "staging" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/darwin-x64/node-v12.10.0-darwin-x64.tar.gz" +etag = "ae17569da0e787b77f7811b255c528cb" + +[[releases]] +version = "12.11.0" +channel = "staging" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/darwin-x64/node-v12.11.0-darwin-x64.tar.gz" +etag = "cfb6ddede26476faa95e4e445dee6254" + +[[releases]] +version = "12.11.1" +channel = "staging" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/darwin-x64/node-v12.11.1-darwin-x64.tar.gz" +etag = "870f6467a4e95f1d3b29f08f8158dde1" + +[[releases]] +version = "12.12.0" +channel = "staging" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/darwin-x64/node-v12.12.0-darwin-x64.tar.gz" +etag = "72b892d17a1de38b40cddd7fdb39e8e7" + +[[releases]] +version = "12.13.0" +channel = "staging" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/darwin-x64/node-v12.13.0-darwin-x64.tar.gz" +etag = "e5cb03e25d7996ae24a230a4512c5817" + +[[releases]] +version = "12.13.1" +channel = "staging" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/darwin-x64/node-v12.13.1-darwin-x64.tar.gz" +etag = "a347868afbb81d5b18116619b57f016a-3" + +[[releases]] +version = "12.14.0" +channel = "staging" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/darwin-x64/node-v12.14.0-darwin-x64.tar.gz" +etag = "1ec6c21238c6af4b8c2cb20ae6630df8" + +[[releases]] +version = "12.14.1" +channel = "staging" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/darwin-x64/node-v12.14.1-darwin-x64.tar.gz" +etag = "d98df77c47b0b83b3d0cb04d97374e90" + +[[releases]] +version = "12.15.0" +channel = "staging" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/darwin-x64/node-v12.15.0-darwin-x64.tar.gz" +etag = "8bf0ff87a9cd53de20f9905a4266b445" + +[[releases]] +version = "12.16.0" +channel = "staging" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/darwin-x64/node-v12.16.0-darwin-x64.tar.gz" +etag = "5504043d93837eeee1fb3dbfaa52eaa6" + +[[releases]] +version = "12.16.1" +channel = "staging" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/darwin-x64/node-v12.16.1-darwin-x64.tar.gz" +etag = "3bcfe9b7553b9836878c87394d585fbd" + +[[releases]] +version = "12.16.2" +channel = "staging" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/darwin-x64/node-v12.16.2-darwin-x64.tar.gz" +etag = "a92da45fe607326748c57adf4aada73f-3" + +[[releases]] +version = "12.16.3" +channel = "staging" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/darwin-x64/node-v12.16.3-darwin-x64.tar.gz" +etag = "db0e17a2dffe405e6077c817131a823d-3" + +[[releases]] +version = "12.2.0" +channel = "staging" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/darwin-x64/node-v12.2.0-darwin-x64.tar.gz" +etag = "d95b66b6c81e4bbddd94b7ddfa4a4a2f" + +[[releases]] +version = "12.3.0" +channel = "staging" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/darwin-x64/node-v12.3.0-darwin-x64.tar.gz" +etag = "3b55e52fc17ba959ce339c7fdcee0f56" + +[[releases]] +version = "12.3.1" +channel = "staging" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/darwin-x64/node-v12.3.1-darwin-x64.tar.gz" +etag = "67a1cf0fd7d2b623ff3503f5026b21d4" + +[[releases]] +version = "12.4.0" +channel = "staging" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/darwin-x64/node-v12.4.0-darwin-x64.tar.gz" +etag = "1327d9429ca77b14ce14b52b622031f2" + +[[releases]] +version = "12.5.0" +channel = "staging" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/darwin-x64/node-v12.5.0-darwin-x64.tar.gz" +etag = "ace7c880c8178bbdbdc2efae749a9ac7" + +[[releases]] +version = "12.6.0" +channel = "staging" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/darwin-x64/node-v12.6.0-darwin-x64.tar.gz" +etag = "383b60f419a752c565bfeb1b95a0e843-3" + +[[releases]] +version = "12.7.0" +channel = "staging" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/darwin-x64/node-v12.7.0-darwin-x64.tar.gz" +etag = "de537f6e5640466b44d7774b61616864-3" + +[[releases]] +version = "12.8.0" +channel = "staging" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/darwin-x64/node-v12.8.0-darwin-x64.tar.gz" +etag = "a6bf0fad73dd99a3eb92c8dffdf73a9e" + +[[releases]] +version = "12.8.1" +channel = "staging" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/darwin-x64/node-v12.8.1-darwin-x64.tar.gz" +etag = "4c89a11e9cf7c81fdccaaaa23243a52a-3" + +[[releases]] +version = "12.9.0" +channel = "staging" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/darwin-x64/node-v12.9.0-darwin-x64.tar.gz" +etag = "db54bea21ff05b1faf4515b62df166cc" + +[[releases]] +version = "12.9.1" +channel = "staging" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/darwin-x64/node-v12.9.1-darwin-x64.tar.gz" +etag = "b6c2184b83c94254b3267e485b9540c5-3" + +[[releases]] +version = "13.0.0" +channel = "staging" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/darwin-x64/node-v13.0.0-darwin-x64.tar.gz" +etag = "9c1d16f64f45ae8f041ede55f9ca3f27-4" + +[[releases]] +version = "13.0.1" +channel = "staging" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/darwin-x64/node-v13.0.1-darwin-x64.tar.gz" +etag = "2e9b0f36d6f58841817fc6eb178e8a09-4" + +[[releases]] +version = "13.1.0" +channel = "staging" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/darwin-x64/node-v13.1.0-darwin-x64.tar.gz" +etag = "60da832dd768d69cd01dbfccad8fc154-4" + +[[releases]] +version = "13.10.0" +channel = "staging" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/darwin-x64/node-v13.10.0-darwin-x64.tar.gz" +etag = "0908ebf0f16e61c25083f66bb37f115a-4" + +[[releases]] +version = "13.10.1" +channel = "staging" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/darwin-x64/node-v13.10.1-darwin-x64.tar.gz" +etag = "56e611f1cb321731eb1ef238991ef4da-4" + +[[releases]] +version = "13.11.0" +channel = "staging" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/darwin-x64/node-v13.11.0-darwin-x64.tar.gz" +etag = "4370def07b18d225755e4acca647593d-4" + +[[releases]] +version = "13.12.0" +channel = "staging" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/darwin-x64/node-v13.12.0-darwin-x64.tar.gz" +etag = "f014fcc400f09fc071ea300b7b68eed3-4" + +[[releases]] +version = "13.13.0" +channel = "staging" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/darwin-x64/node-v13.13.0-darwin-x64.tar.gz" +etag = "1503b4a33b739dffa30cb28609c3c882-4" + +[[releases]] +version = "13.2.0" +channel = "staging" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/darwin-x64/node-v13.2.0-darwin-x64.tar.gz" +etag = "6b7239eebb6bc344cc2e642014ea8402-4" + +[[releases]] +version = "13.3.0" +channel = "staging" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/darwin-x64/node-v13.3.0-darwin-x64.tar.gz" +etag = "a2090fb5b2388c6e3a970d66a982b267" + +[[releases]] +version = "13.4.0" +channel = "staging" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/darwin-x64/node-v13.4.0-darwin-x64.tar.gz" +etag = "22c2828a7db7547e4c5487b7cd18f2ce-4" + +[[releases]] +version = "13.5.0" +channel = "staging" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/darwin-x64/node-v13.5.0-darwin-x64.tar.gz" +etag = "7099d8d7eece8092aadf065201195309-4" + +[[releases]] +version = "13.6.0" +channel = "staging" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/darwin-x64/node-v13.6.0-darwin-x64.tar.gz" +etag = "4b02b6953ad7f299be3047e9337abbd9" + +[[releases]] +version = "13.7.0" +channel = "staging" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/darwin-x64/node-v13.7.0-darwin-x64.tar.gz" +etag = "86d6f2e39c4163584ba86e18abad26fb-4" + +[[releases]] +version = "13.8.0" +channel = "staging" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/darwin-x64/node-v13.8.0-darwin-x64.tar.gz" +etag = "363e99e2177ffbf685410148cb4cf701-4" + +[[releases]] +version = "13.9.0" +channel = "staging" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/darwin-x64/node-v13.9.0-darwin-x64.tar.gz" +etag = "25433a0b64a3b71b981656b01b3b0031" + +[[releases]] +version = "16.2.0" +channel = "staging" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/darwin-x64/node-v16.2.0-darwin-x64.tar.gz" +etag = "a5edf585cde418ce69f99eb1c99e4910-4" + +[[releases]] +version = "6.14.4" +channel = "staging" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/darwin-x64/node-v6.14.4-darwin-x64.tar.gz" +etag = "0bb04f12c5041367429175a765e0f948" + +[[releases]] +version = "6.15.0" +channel = "staging" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/darwin-x64/node-v6.15.0-darwin-x64.tar.gz" +etag = "d8db6fa9ab2757996604a0b6e5af31d4" + +[[releases]] +version = "6.15.1" +channel = "staging" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/darwin-x64/node-v6.15.1-darwin-x64.tar.gz" +etag = "f4c860c829f4749ee9196f94239cd2ad" + +[[releases]] +version = "6.16.0" +channel = "staging" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/darwin-x64/node-v6.16.0-darwin-x64.tar.gz" +etag = "ece449be5f8b9a7a5acc6d7c75d2a97e" + +[[releases]] +version = "6.17.0" +channel = "staging" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/darwin-x64/node-v6.17.0-darwin-x64.tar.gz" +etag = "0a3afceae5144b47d497c01d40e57fed" + +[[releases]] +version = "6.17.1" +channel = "staging" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/darwin-x64/node-v6.17.1-darwin-x64.tar.gz" +etag = "55394ba4babf46ec8eeded045c1c8c56" + +[[releases]] +version = "8.11.4" +channel = "staging" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/darwin-x64/node-v8.11.4-darwin-x64.tar.gz" +etag = "c30ef72d947f05a2a803f7bfd32d511b" + +[[releases]] +version = "8.12.0" +channel = "staging" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/darwin-x64/node-v8.12.0-darwin-x64.tar.gz" +etag = "f1489227237471edcbe1f02505b49ce4" + +[[releases]] +version = "8.13.0" +channel = "staging" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/darwin-x64/node-v8.13.0-darwin-x64.tar.gz" +etag = "77934dd4a77be45aab6069a2e2cc327c" + +[[releases]] +version = "8.14.0" +channel = "staging" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/darwin-x64/node-v8.14.0-darwin-x64.tar.gz" +etag = "cd6cfa062d4f62e7126ad653f8ed42aa" + +[[releases]] +version = "8.14.1" +channel = "staging" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/darwin-x64/node-v8.14.1-darwin-x64.tar.gz" +etag = "bf1e2d414c9b8b4ced0fb921536396fd" + +[[releases]] +version = "8.15.0" +channel = "staging" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/darwin-x64/node-v8.15.0-darwin-x64.tar.gz" +etag = "2b8d16fd1b804feb2534e5dc9d513e4f" + +[[releases]] +version = "8.15.1" +channel = "staging" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/darwin-x64/node-v8.15.1-darwin-x64.tar.gz" +etag = "bf05532c0ef3262c5a40a4af4ee8273a" + +[[releases]] +version = "8.16.0" +channel = "staging" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/darwin-x64/node-v8.16.0-darwin-x64.tar.gz" +etag = "765e9fb02e197f83d80f8afddf97438d" + +[[releases]] +version = "8.16.1" +channel = "staging" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/darwin-x64/node-v8.16.1-darwin-x64.tar.gz" +etag = "0d5148d32e59dafe82c772ede431290c" + +[[releases]] +version = "8.16.2" +channel = "staging" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/darwin-x64/node-v8.16.2-darwin-x64.tar.gz" +etag = "f5e20750bcc2d5b8642c1d0221f5ae71" + +[[releases]] +version = "8.17.0" +channel = "staging" +arch = "darwin-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/darwin-x64/node-v8.17.0-darwin-x64.tar.gz" +etag = "794cf5d11fa08aab90c69e879f82a117" + +[[releases]] +version = "10.1.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v10.1.0-linux-x64.tar.gz" +etag = "4fb3b7467b19ad7e430f075dbd0ba172-3" + +[[releases]] +version = "10.10.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v10.10.0-linux-x64.tar.gz" +etag = "76edac78bdf3cf3122765736c0f83d9f-3" + +[[releases]] +version = "10.11.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v10.11.0-linux-x64.tar.gz" +etag = "f5f9addfbbfcea477ff8e8afb769850a-3" + +[[releases]] +version = "10.12.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v10.12.0-linux-x64.tar.gz" +etag = "79261291abf863dfd5fe44e949bc1490-3" + +[[releases]] +version = "10.13.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v10.13.0-linux-x64.tar.gz" +etag = "82a34d6ab9e59c96d76415dd9a67bf45-3" + +[[releases]] +version = "10.14.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v10.14.0-linux-x64.tar.gz" +etag = "30700affc50d2c7cf013d7508a43311b-3" + +[[releases]] +version = "10.14.1" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v10.14.1-linux-x64.tar.gz" +etag = "7f79b79070ed256eceac79ad748cf4d4-3" + +[[releases]] +version = "10.14.2" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v10.14.2-linux-x64.tar.gz" +etag = "2d55538fcafdd67b5a3c34fc7843502f-3" + +[[releases]] +version = "10.15.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v10.15.0-linux-x64.tar.gz" +etag = "94b54a8e661f3a059d3a218eaf1b4ce3-3" + +[[releases]] +version = "10.15.1" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v10.15.1-linux-x64.tar.gz" +etag = "667c6ce37855b51271f679ff88057f8c-3" + +[[releases]] +version = "10.15.2" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v10.15.2-linux-x64.tar.gz" +etag = "6972a42229b5b343f67dc1360742b7f2-3" + +[[releases]] +version = "10.15.3" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v10.15.3-linux-x64.tar.gz" +etag = "8a137b8f0de8b5b509bc3e118e0d983b-3" + +[[releases]] +version = "10.16.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v10.16.0-linux-x64.tar.gz" +etag = "fab40faa3e53cd150159b946f863abfe-3" + +[[releases]] +version = "10.16.1" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v10.16.1-linux-x64.tar.gz" +etag = "d6af63b2b77e3e4a2b2e20ce4fc449bb-3" + +[[releases]] +version = "10.16.2" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v10.16.2-linux-x64.tar.gz" +etag = "9401eed2234274cc0f9c7275ea369426-3" + +[[releases]] +version = "10.16.3" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v10.16.3-linux-x64.tar.gz" +etag = "d76675e5fce26151003c73e033fea3bd-3" + +[[releases]] +version = "10.17.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v10.17.0-linux-x64.tar.gz" +etag = "29e85c26db8b6b9f0adfe3f1e5b1857f-3" + +[[releases]] +version = "10.18.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v10.18.0-linux-x64.tar.gz" +etag = "2a8533f02ae1985c0d85afaed6887165-3" + +[[releases]] +version = "10.18.1" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v10.18.1-linux-x64.tar.gz" +etag = "bea0cdff6fe012ac53174297693ab349-3" + +[[releases]] +version = "10.19.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v10.19.0-linux-x64.tar.gz" +etag = "f482ebf412beeec9b76104467c81d291-3" + +[[releases]] +version = "10.2.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v10.2.0-linux-x64.tar.gz" +etag = "1adcf1141ef740279c0ba5cbd82cc3a4-3" + +[[releases]] +version = "10.2.1" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v10.2.1-linux-x64.tar.gz" +etag = "dbbc0965a912b69434c43b4775f96fa2-3" + +[[releases]] +version = "10.20.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v10.20.0-linux-x64.tar.gz" +etag = "44eba89064618c8c2c79402bcd0be63f-3" + +[[releases]] +version = "10.20.1" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v10.20.1-linux-x64.tar.gz" +etag = "b0f14eb6a6310f464c3db7544a3af492-3" + +[[releases]] +version = "10.21.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v10.21.0-linux-x64.tar.gz" +etag = "8d2f778b455afe7f80e6d1ea201f5733-3" + +[[releases]] +version = "10.22.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v10.22.0-linux-x64.tar.gz" +etag = "7cf59442c716572239cb14fdabb0ead5-3" + +[[releases]] +version = "10.22.1" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v10.22.1-linux-x64.tar.gz" +etag = "92b244406470e9a4f49cc233675fdf96-3" + +[[releases]] +version = "10.23.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v10.23.0-linux-x64.tar.gz" +etag = "3cc926fb4db5ad0d0ef161916760c25e-3" + +[[releases]] +version = "10.23.1" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v10.23.1-linux-x64.tar.gz" +etag = "5387220383fd6512e7cab92ef287426f-3" + +[[releases]] +version = "10.23.2" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v10.23.2-linux-x64.tar.gz" +etag = "f511a3763a63e7616fb608416e00a253-3" + +[[releases]] +version = "10.23.3" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v10.23.3-linux-x64.tar.gz" +etag = "6a05b6db3a7e812691eb2992c8287670-3" + +[[releases]] +version = "10.24.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v10.24.0-linux-x64.tar.gz" +etag = "b179fd013f51c02a3c77281fe744dd41-3" + +[[releases]] +version = "10.24.1" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v10.24.1-linux-x64.tar.gz" +etag = "957994ef8bf3610b7f0b67365691ebaf-3" + +[[releases]] +version = "10.9.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v10.9.0-linux-x64.tar.gz" +etag = "70c617771708c7c4f36d5823fb413600" + +[[releases]] +version = "11.0.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v11.0.0-linux-x64.tar.gz" +etag = "6cc8a0761f4266183190c56b72363e98" + +[[releases]] +version = "11.1.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v11.1.0-linux-x64.tar.gz" +etag = "6f471bc29d30640097c743927c113f02" + +[[releases]] +version = "11.10.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v11.10.0-linux-x64.tar.gz" +etag = "a1239a07fbd8b9dc460e1e44246e5f29" + +[[releases]] +version = "11.10.1" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v11.10.1-linux-x64.tar.gz" +etag = "1e462fb3a741ce0abf3fe2b0d81574e2" + +[[releases]] +version = "11.11.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v11.11.0-linux-x64.tar.gz" +etag = "009c70629178fb47044333aa4a031c77" + +[[releases]] +version = "11.12.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v11.12.0-linux-x64.tar.gz" +etag = "da2736962216075cb9ad09e87a7f300e" + +[[releases]] +version = "11.13.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v11.13.0-linux-x64.tar.gz" +etag = "95d07b2b544793962b0214bd7e33441c" + +[[releases]] +version = "11.14.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v11.14.0-linux-x64.tar.gz" +etag = "d1ec8cc7a5a102c92d5486cfa9e03b00" + +[[releases]] +version = "11.15.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v11.15.0-linux-x64.tar.gz" +etag = "ab251fc5b77761064204d00be022fda3" + +[[releases]] +version = "11.2.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v11.2.0-linux-x64.tar.gz" +etag = "6f1e2002e2af3f660ec0d84dda5e8a6a" + +[[releases]] +version = "11.3.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v11.3.0-linux-x64.tar.gz" +etag = "dc1a836d178e97e06107e1673d3caf96" + +[[releases]] +version = "11.4.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v11.4.0-linux-x64.tar.gz" +etag = "2718dafe1f89dd3794a0da222ee365ae" + +[[releases]] +version = "11.5.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v11.5.0-linux-x64.tar.gz" +etag = "7a32d6b4c300f6a7b78f3a28ed4587e3" + +[[releases]] +version = "11.6.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v11.6.0-linux-x64.tar.gz" +etag = "9ab9d9540290c15caad5fdf0a32b40fa" + +[[releases]] +version = "11.7.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v11.7.0-linux-x64.tar.gz" +etag = "35c41456320eb8a712dde2aac4145166" + +[[releases]] +version = "11.8.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v11.8.0-linux-x64.tar.gz" +etag = "7a6bdb9ffd31bc5ae4c6d866b5462826" + +[[releases]] +version = "11.9.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v11.9.0-linux-x64.tar.gz" +etag = "8805aeb4cfb798106c6a99ed34536682" + +[[releases]] +version = "12.0.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v12.0.0-linux-x64.tar.gz" +etag = "246f00fcffbd01974f260b4383f91c58" + +[[releases]] +version = "12.1.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v12.1.0-linux-x64.tar.gz" +etag = "d4df5a60e1b73c062131985de2ada621" + +[[releases]] +version = "12.10.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v12.10.0-linux-x64.tar.gz" +etag = "74dc625cf656bd501f0cd08f28e92131" + +[[releases]] +version = "12.11.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v12.11.0-linux-x64.tar.gz" +etag = "3ad3502adff89d3a037cd910ef17f725" + +[[releases]] +version = "12.11.1" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v12.11.1-linux-x64.tar.gz" +etag = "fb56b6d4439d3ccca91a8ff419391c3e" + +[[releases]] +version = "12.12.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v12.12.0-linux-x64.tar.gz" +etag = "41e3b3ccc2e2254869234f1f4c50dffc" + +[[releases]] +version = "12.13.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v12.13.0-linux-x64.tar.gz" +etag = "5f1bc3459c59f8b80cf6ea3d38944da7" + +[[releases]] +version = "12.13.1" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v12.13.1-linux-x64.tar.gz" +etag = "169ca5c7407b7532ed947a2014a48b1e" + +[[releases]] +version = "12.14.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v12.14.0-linux-x64.tar.gz" +etag = "919f124e16acb7464459c58dd2cfd36e" + +[[releases]] +version = "12.14.1" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v12.14.1-linux-x64.tar.gz" +etag = "cf97b81a436bdd484e642660eb769e16" + +[[releases]] +version = "12.15.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v12.15.0-linux-x64.tar.gz" +etag = "6c5ee256556aec2f1ca11f02b58d81b4" + +[[releases]] +version = "12.16.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v12.16.0-linux-x64.tar.gz" +etag = "7f8d2520e715d7df82f368b0fab9d2b6" + +[[releases]] +version = "12.16.1" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v12.16.1-linux-x64.tar.gz" +etag = "656435219a1655586fe02ac5f8bfa694" + +[[releases]] +version = "12.16.2" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v12.16.2-linux-x64.tar.gz" +etag = "ee1bd62aa6e09c627610868e3d0117bf-3" + +[[releases]] +version = "12.16.3" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v12.16.3-linux-x64.tar.gz" +etag = "f0478be22ff8042183df5b8cf0e6a736-3" + +[[releases]] +version = "12.17.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v12.17.0-linux-x64.tar.gz" +etag = "4a9c63315d8b0c2e41711caf04121acd-3" + +[[releases]] +version = "12.18.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v12.18.0-linux-x64.tar.gz" +etag = "cce51b56de0a404d30864591c1b6695c-3" + +[[releases]] +version = "12.18.1" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v12.18.1-linux-x64.tar.gz" +etag = "8e2e94383d7e833eb42fa619c27ed4df-3" + +[[releases]] +version = "12.18.2" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v12.18.2-linux-x64.tar.gz" +etag = "655570eb6f1b10edafc64366878dd03e-3" + +[[releases]] +version = "12.18.3" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v12.18.3-linux-x64.tar.gz" +etag = "9e7444e9d66072035f73e9ac0ee51322-3" + +[[releases]] +version = "12.18.4" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v12.18.4-linux-x64.tar.gz" +etag = "fdecf94ced8dcdeb972e14b333c72e47-3" + +[[releases]] +version = "12.19.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v12.19.0-linux-x64.tar.gz" +etag = "1962f4127fb09f2942b82f48f4ae2cf8-3" + +[[releases]] +version = "12.19.1" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v12.19.1-linux-x64.tar.gz" +etag = "7851352d2c9d60d4c5779910af828755-3" + +[[releases]] +version = "12.2.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v12.2.0-linux-x64.tar.gz" +etag = "87dc21fee7f484defd9010a6c606aa92" + +[[releases]] +version = "12.20.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v12.20.0-linux-x64.tar.gz" +etag = "3383e1624171a83a04740f24831c5c92-3" + +[[releases]] +version = "12.20.1" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v12.20.1-linux-x64.tar.gz" +etag = "51c80c3820855d8e77f37c9a67b9d89b-3" + +[[releases]] +version = "12.20.2" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v12.20.2-linux-x64.tar.gz" +etag = "d296cca07540a62c9c583ce4f23afee7-3" + +[[releases]] +version = "12.21.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v12.21.0-linux-x64.tar.gz" +etag = "a0fe4d871fc223d21fbac24689c598fd-3" + +[[releases]] +version = "12.22.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v12.22.0-linux-x64.tar.gz" +etag = "b0eb62d33d028e6cd3f1b7220b962a55-3" + +[[releases]] +version = "12.22.1" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v12.22.1-linux-x64.tar.gz" +etag = "4648915ed3eb1be12cf7cbe1c5b3e867-3" + +[[releases]] +version = "12.22.10" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v12.22.10-linux-x64.tar.gz" +etag = "58fe1bdc055914f433ee3f07bb380f36-3" + +[[releases]] +version = "12.22.11" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v12.22.11-linux-x64.tar.gz" +etag = "98a9f79ab4d7840b31c95968e82e9569-3" + +[[releases]] +version = "12.22.12" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v12.22.12-linux-x64.tar.gz" +etag = "84488d656cf19837e8dbc27b1a9993c9-3" + +[[releases]] +version = "12.22.2" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v12.22.2-linux-x64.tar.gz" +etag = "a014e16e46f6c158facd9d48c6a450f7-3" + +[[releases]] +version = "12.22.3" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v12.22.3-linux-x64.tar.gz" +etag = "41956f3f2a7cbbfc012e0d52facee55d-3" + +[[releases]] +version = "12.22.4" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v12.22.4-linux-x64.tar.gz" +etag = "461546c7894049caaa06041520e4172e-3" + +[[releases]] +version = "12.22.5" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v12.22.5-linux-x64.tar.gz" +etag = "2e8f7e52697114e493a312d7c4493fb0-3" + +[[releases]] +version = "12.22.6" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v12.22.6-linux-x64.tar.gz" +etag = "d61482b86203da8b3542f25723ca8f6a-3" + +[[releases]] +version = "12.22.7" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v12.22.7-linux-x64.tar.gz" +etag = "28b7bdac5d0a1a5361cf4504898d985e-3" + +[[releases]] +version = "12.22.8" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v12.22.8-linux-x64.tar.gz" +etag = "e7ca67cb90ca08afe64d87f9cdfbe2f9-3" + +[[releases]] +version = "12.22.9" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v12.22.9-linux-x64.tar.gz" +etag = "827ab91c2a29f14e1ad39e0fbd2ede10-3" + +[[releases]] +version = "12.3.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v12.3.0-linux-x64.tar.gz" +etag = "123a93553a06e8a7615c444c1ea42882" + +[[releases]] +version = "12.3.1" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v12.3.1-linux-x64.tar.gz" +etag = "82721dca1c9757af1e50fda8f23a0175" + +[[releases]] +version = "12.4.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v12.4.0-linux-x64.tar.gz" +etag = "75341c471626e3155079041fc8737bab" + +[[releases]] +version = "12.5.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v12.5.0-linux-x64.tar.gz" +etag = "7377ca5f3d429dba8069808c57509f24" + +[[releases]] +version = "12.6.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v12.6.0-linux-x64.tar.gz" +etag = "a994f0952f86c01a8d887c49b7012024-3" + +[[releases]] +version = "12.7.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v12.7.0-linux-x64.tar.gz" +etag = "8d802407f95e54738199fe262311fe61-3" + +[[releases]] +version = "12.8.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v12.8.0-linux-x64.tar.gz" +etag = "2bc1f6bf496bfb6447c3fa129cf8a3d6" + +[[releases]] +version = "12.8.1" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v12.8.1-linux-x64.tar.gz" +etag = "861e3e41d606cba07b8d5e2840a4b3ee-3" + +[[releases]] +version = "12.9.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v12.9.0-linux-x64.tar.gz" +etag = "a0a7f5ea00f4bfc8580c18bfa2499d2c-3" + +[[releases]] +version = "12.9.1" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v12.9.1-linux-x64.tar.gz" +etag = "22a3ae7cb680c3ed5b6cf6ec50dbf879-3" + +[[releases]] +version = "13.0.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v13.0.0-linux-x64.tar.gz" +etag = "502a2f483442724fee5f9f0211548b88-4" + +[[releases]] +version = "13.0.1" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v13.0.1-linux-x64.tar.gz" +etag = "2baf49181f3e96643fd2ecd11bcadb72-4" + +[[releases]] +version = "13.1.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v13.1.0-linux-x64.tar.gz" +etag = "5f8f1fbe4f22e319c6dbf2a57ee120fd-4" + +[[releases]] +version = "13.10.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v13.10.0-linux-x64.tar.gz" +etag = "21ed55d5eb72662fa397007f059dacc6-4" + +[[releases]] +version = "13.10.1" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v13.10.1-linux-x64.tar.gz" +etag = "9820787c904a8832f20539e85ff5d475-4" + +[[releases]] +version = "13.11.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v13.11.0-linux-x64.tar.gz" +etag = "2af22200c0261f417cf32a3279da2621-4" + +[[releases]] +version = "13.12.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v13.12.0-linux-x64.tar.gz" +etag = "8d22abc5a44d5645c0a9eab6177df570-4" + +[[releases]] +version = "13.13.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v13.13.0-linux-x64.tar.gz" +etag = "b9a24b0caa34a7a12ebb3e31b6830769-4" + +[[releases]] +version = "13.14.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v13.14.0-linux-x64.tar.gz" +etag = "70ecff1b96a40b3330cc0b98ddf529b5-4" + +[[releases]] +version = "13.2.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v13.2.0-linux-x64.tar.gz" +etag = "d1e63b1e6d2d88fd4b5340dbc1cddc26-4" + +[[releases]] +version = "13.3.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v13.3.0-linux-x64.tar.gz" +etag = "0984273970fbe1b55d46a74132c79768" + +[[releases]] +version = "13.4.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v13.4.0-linux-x64.tar.gz" +etag = "8c9381cc980b97c9da87d8ddfcadd412-4" + +[[releases]] +version = "13.5.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v13.5.0-linux-x64.tar.gz" +etag = "217fc9ae83b23d35bbb28af0647b7289-4" + +[[releases]] +version = "13.6.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v13.6.0-linux-x64.tar.gz" +etag = "5758d37594fa78cabb0b4578771a01fd" + +[[releases]] +version = "13.7.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v13.7.0-linux-x64.tar.gz" +etag = "47a5b05e78d5c8104cc58fd313649633-4" + +[[releases]] +version = "13.8.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v13.8.0-linux-x64.tar.gz" +etag = "a0cc522352876fdb52dc2f7817998dc4-4" + +[[releases]] +version = "13.9.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v13.9.0-linux-x64.tar.gz" +etag = "4245c4d98069215fbe0b5cd3742d7e33-4" + +[[releases]] +version = "14.0.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v14.0.0-linux-x64.tar.gz" +etag = "4894abb65e1b01df7847a72cf5711cd7-4" + +[[releases]] +version = "14.1.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v14.1.0-linux-x64.tar.gz" +etag = "5acc3c5cb805c9714ee666212eeb7da8-4" + +[[releases]] +version = "14.10.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v14.10.0-linux-x64.tar.gz" +etag = "0692912fe38915d832ac97d9c8e75b6f-5" + +[[releases]] +version = "14.10.1" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v14.10.1-linux-x64.tar.gz" +etag = "4cc3f36a5a752141310ce9462b83b9e1-5" + +[[releases]] +version = "14.11.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v14.11.0-linux-x64.tar.gz" +etag = "5f0b0d752a988c5846e2850251d0de6e-5" + +[[releases]] +version = "14.12.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v14.12.0-linux-x64.tar.gz" +etag = "d543750360e322f6172ebbac5180f794-5" + +[[releases]] +version = "14.13.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v14.13.0-linux-x64.tar.gz" +etag = "d8db874594a71ef0a537e563f69403d5-5" + +[[releases]] +version = "14.13.1" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v14.13.1-linux-x64.tar.gz" +etag = "5fd8b1ffb4fe1f889bd39be6911ef12a-5" + +[[releases]] +version = "14.14.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v14.14.0-linux-x64.tar.gz" +etag = "8048c3ed071d05c927c4fbf21b7ce1d8-5" + +[[releases]] +version = "14.15.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v14.15.0-linux-x64.tar.gz" +etag = "53ded239e3e7b19ff58c63a13fc7295a-5" + +[[releases]] +version = "14.15.1" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v14.15.1-linux-x64.tar.gz" +etag = "ee95fa0dd4b142e075f7f61d6e9fdd3c-5" + +[[releases]] +version = "14.15.2" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v14.15.2-linux-x64.tar.gz" +etag = "f344e8a0fb555aa7cad8df8ee227c053-4" + +[[releases]] +version = "14.15.3" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v14.15.3-linux-x64.tar.gz" +etag = "929b59a348873583cf0eece6e997f694-4" + +[[releases]] +version = "14.15.4" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v14.15.4-linux-x64.tar.gz" +etag = "ad295578e70f4838d619a289c7d7654e-4" + +[[releases]] +version = "14.15.5" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v14.15.5-linux-x64.tar.gz" +etag = "78ef6759634ee37a78d17be7af46ed79-4" + +[[releases]] +version = "14.16.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v14.16.0-linux-x64.tar.gz" +etag = "f2cbbae39184fee9c13b611437b10921-4" + +[[releases]] +version = "14.16.1" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v14.16.1-linux-x64.tar.gz" +etag = "e03bf3ea73d969d9c08c8b7ae5493613-4" + +[[releases]] +version = "14.17.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v14.17.0-linux-x64.tar.gz" +etag = "cdc57f6a3cc4ca6f12f49dadd75a554e-5" + +[[releases]] +version = "14.17.1" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v14.17.1-linux-x64.tar.gz" +etag = "b41c1f2d90ecda727af59f7cc7c5dcfb-5" + +[[releases]] +version = "14.17.2" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v14.17.2-linux-x64.tar.gz" +etag = "7021d231631d65ece0f74c95bbc43eb3-5" + +[[releases]] +version = "14.17.3" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v14.17.3-linux-x64.tar.gz" +etag = "0bdbb8e1b6e813dbc040da523831c684-5" + +[[releases]] +version = "14.17.4" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v14.17.4-linux-x64.tar.gz" +etag = "81ca69987ef377abff2ecb2ae35d7ad7-5" + +[[releases]] +version = "14.17.5" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v14.17.5-linux-x64.tar.gz" +etag = "4e872307dfbc942a43b0eb5e6e44765c-5" + +[[releases]] +version = "14.17.6" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v14.17.6-linux-x64.tar.gz" +etag = "888e9ad0d2a56802507f3f6cd27f7ebe-5" + +[[releases]] +version = "14.18.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v14.18.0-linux-x64.tar.gz" +etag = "a667cd6939a25a71d4773357a693e170-5" + +[[releases]] +version = "14.18.1" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v14.18.1-linux-x64.tar.gz" +etag = "4a620703f674343fe1041b2bd0dfba66-5" + +[[releases]] +version = "14.18.2" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v14.18.2-linux-x64.tar.gz" +etag = "dad4b0c2b0daed55d75fd98500e57d62-5" + +[[releases]] +version = "14.18.3" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v14.18.3-linux-x64.tar.gz" +etag = "af7ed8db30228507dad9cf71afcce543-5" + +[[releases]] +version = "14.19.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v14.19.0-linux-x64.tar.gz" +etag = "06a14f4fdc59ae064ba047d4e9736fa3-5" + +[[releases]] +version = "14.19.1" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v14.19.1-linux-x64.tar.gz" +etag = "fcb00a3d0c4b22c1b6e157a558949657-5" + +[[releases]] +version = "14.19.2" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v14.19.2-linux-x64.tar.gz" +etag = "a6dd0bfb2f656166aeefefa37cfa8122-5" + +[[releases]] +version = "14.19.3" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v14.19.3-linux-x64.tar.gz" +etag = "3990a70c4d0794e8646575c76bff11a7-5" + +[[releases]] +version = "14.2.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v14.2.0-linux-x64.tar.gz" +etag = "f41be74dd195a5714eabfeb4b3b95cc2-4" + +[[releases]] +version = "14.20.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v14.20.0-linux-x64.tar.gz" +etag = "f6da9962195174482d28f10830caf07d-5" + +[[releases]] +version = "14.20.1" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v14.20.1-linux-x64.tar.gz" +etag = "6bd6a27bebf33e019e154c29429dbbb8-5" + +[[releases]] +version = "14.21.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v14.21.0-linux-x64.tar.gz" +etag = "f9e6f039213ecb86ce8babadc3649dc9-5" + +[[releases]] +version = "14.21.1" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v14.21.1-linux-x64.tar.gz" +etag = "446470bd964ca7dc06d559b2aab6a123-5" + +[[releases]] +version = "14.21.2" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v14.21.2-linux-x64.tar.gz" +etag = "48813c8f1c235ce08888a9f1240c964c-5" + +[[releases]] +version = "14.21.3" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v14.21.3-linux-x64.tar.gz" +etag = "342cdbb59809aaa41d29ae298f73b365-5" + +[[releases]] +version = "14.3.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v14.3.0-linux-x64.tar.gz" +etag = "4dcfa3708c0bab7b77783a543e37120e-4" + +[[releases]] +version = "14.4.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v14.4.0-linux-x64.tar.gz" +etag = "cb4e531dd8b4cca8883d3884b4345644-4" + +[[releases]] +version = "14.5.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v14.5.0-linux-x64.tar.gz" +etag = "5c92a547ff32fe8f9c507455863ab531-5" + +[[releases]] +version = "14.6.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v14.6.0-linux-x64.tar.gz" +etag = "e076d8f3ac1ffaf3540b6bff5fa14dd1-5" + +[[releases]] +version = "14.7.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v14.7.0-linux-x64.tar.gz" +etag = "98021eb36abb1d21ed54521a85ce5fa6-5" + +[[releases]] +version = "14.8.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v14.8.0-linux-x64.tar.gz" +etag = "00e00bc07580f6376df8f218b7196594-5" + +[[releases]] +version = "14.9.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v14.9.0-linux-x64.tar.gz" +etag = "2353027766ae1fdc82aa2fefc9cfad25-5" + +[[releases]] +version = "15.0.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v15.0.0-linux-x64.tar.gz" +etag = "39eea40a8dc5ca81ef1010088ae74ea5-5" + +[[releases]] +version = "15.0.1" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v15.0.1-linux-x64.tar.gz" +etag = "4066ea9cd7b29f9084c237a1024872c7-5" + +[[releases]] +version = "15.1.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v15.1.0-linux-x64.tar.gz" +etag = "e1d3af432eb7accbfc614a3cf48c7583-4" + +[[releases]] +version = "15.10.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v15.10.0-linux-x64.tar.gz" +etag = "485a712d740b014662a226e834bd9557-4" + +[[releases]] +version = "15.11.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v15.11.0-linux-x64.tar.gz" +etag = "ef6f1f9484a255594673ca7bcfbed280-4" + +[[releases]] +version = "15.12.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v15.12.0-linux-x64.tar.gz" +etag = "231a5764d7aafa2c8d99fcd147b0e875-4" + +[[releases]] +version = "15.13.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v15.13.0-linux-x64.tar.gz" +etag = "6a6b953c042ee7fca4a7e4482de60dc2-4" + +[[releases]] +version = "15.14.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v15.14.0-linux-x64.tar.gz" +etag = "0f2e0ef70eebc4840eab7547e59880ae-4" + +[[releases]] +version = "15.2.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v15.2.0-linux-x64.tar.gz" +etag = "784df9e5242bb304820b2c14512d9ce3-4" + +[[releases]] +version = "15.2.1" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v15.2.1-linux-x64.tar.gz" +etag = "ca1c922ba43df36fbb23fd8b3a8ea876-4" + +[[releases]] +version = "15.3.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v15.3.0-linux-x64.tar.gz" +etag = "292ba2368577fa093bedb1b7f5014402-4" + +[[releases]] +version = "15.4.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v15.4.0-linux-x64.tar.gz" +etag = "69eeff861c07a0fed33fda82b35a5ecb-4" + +[[releases]] +version = "15.5.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v15.5.0-linux-x64.tar.gz" +etag = "b5bc122b0bb815f48128c67709a76cf0-4" + +[[releases]] +version = "15.5.1" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v15.5.1-linux-x64.tar.gz" +etag = "37e51c2d28beb27f4488fbd5b4a58f59-4" + +[[releases]] +version = "15.6.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v15.6.0-linux-x64.tar.gz" +etag = "aeb1a459afa11e7fc482e0a672cf1fe2-4" + +[[releases]] +version = "15.7.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v15.7.0-linux-x64.tar.gz" +etag = "065a4833bd91372bf26a45a46820f77a-4" + +[[releases]] +version = "15.8.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v15.8.0-linux-x64.tar.gz" +etag = "e88c6266c1926b5c4348ad943e1c2ee2-4" + +[[releases]] +version = "15.9.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v15.9.0-linux-x64.tar.gz" +etag = "38308de828100c4f52adb07e8de3cc9d-4" + +[[releases]] +version = "16.0.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v16.0.0-linux-x64.tar.gz" +etag = "9ced677cf96c5ca3b4067f35c21311ac-4" + +[[releases]] +version = "16.1.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v16.1.0-linux-x64.tar.gz" +etag = "8d4e3e558429cf64b22302f210b3d7e5-4" + +[[releases]] +version = "16.10.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v16.10.0-linux-x64.tar.gz" +etag = "d91908102992fad63e2eb2c9b8082553-4" + +[[releases]] +version = "16.11.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v16.11.0-linux-x64.tar.gz" +etag = "c93e9efb20bf3f5807ec0e058bd83d5c-4" + +[[releases]] +version = "16.11.1" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v16.11.1-linux-x64.tar.gz" +etag = "ae7ebdb2d57c11865882e4dc3d6fc5e5-4" + +[[releases]] +version = "16.12.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v16.12.0-linux-x64.tar.gz" +etag = "66344ff27247c29c3a5fbe85fe5acb9d-4" + +[[releases]] +version = "16.13.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v16.13.0-linux-x64.tar.gz" +etag = "d445951da7d338a5d6d758aa24b6804d-4" + +[[releases]] +version = "16.13.1" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v16.13.1-linux-x64.tar.gz" +etag = "5ed5638fad670c7568cb216775f03cc6-4" + +[[releases]] +version = "16.13.2" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v16.13.2-linux-x64.tar.gz" +etag = "8104fa926e76b71b0c22236b24310732-4" + +[[releases]] +version = "16.14.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v16.14.0-linux-x64.tar.gz" +etag = "5bc4c0b1c1c94fad08c80561e259ee99-4" + +[[releases]] +version = "16.14.1" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v16.14.1-linux-x64.tar.gz" +etag = "64b4bbdf40af72cd2fe6accfc8054b16-4" + +[[releases]] +version = "16.14.2" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v16.14.2-linux-x64.tar.gz" +etag = "4db20ae2bbff10cf3c8aa2f7ea370fb0-4" + +[[releases]] +version = "16.15.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v16.15.0-linux-x64.tar.gz" +etag = "4df8f054993a43950ef0f2e42b9ff53d-4" + +[[releases]] +version = "16.15.1" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v16.15.1-linux-x64.tar.gz" +etag = "b863d244e4b1c0df901c8c8c8967dd68-4" + +[[releases]] +version = "16.16.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v16.16.0-linux-x64.tar.gz" +etag = "ad683ead6ffb89f81e933ab93a9c770a-4" + +[[releases]] +version = "16.17.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v16.17.0-linux-x64.tar.gz" +etag = "2525dc9822008f0666d3f0908c4c4c43-5" + +[[releases]] +version = "16.17.1" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v16.17.1-linux-x64.tar.gz" +etag = "f341015b15c91fe90ae9a8d6a3cc9fc8-5" + +[[releases]] +version = "16.18.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v16.18.0-linux-x64.tar.gz" +etag = "288b5e721e34d3983f55b0f77d5eb006-5" + +[[releases]] +version = "16.18.1" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v16.18.1-linux-x64.tar.gz" +etag = "64f9e77e6b1548cadb8c9251c7c841eb-5" + +[[releases]] +version = "16.19.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v16.19.0-linux-x64.tar.gz" +etag = "2f7c8ff9691c80c08007f26d42a99aaf-5" + +[[releases]] +version = "16.19.1" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v16.19.1-linux-x64.tar.gz" +etag = "243011854e70850bbc464bd26f02cdff-5" + +[[releases]] +version = "16.2.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v16.2.0-linux-x64.tar.gz" +etag = "ee81bd1f587c60c54432650eba4c51bc-4" + +[[releases]] +version = "16.20.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v16.20.0-linux-x64.tar.gz" +etag = "c8b5ddcdbfabac844be2ecf344311855-5" + +[[releases]] +version = "16.3.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v16.3.0-linux-x64.tar.gz" +etag = "b0a9cecd669951adac9e27a35102923d-4" + +[[releases]] +version = "16.4.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v16.4.0-linux-x64.tar.gz" +etag = "8a77e82e1ca44f4fe1922714403161e8-4" + +[[releases]] +version = "16.4.1" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v16.4.1-linux-x64.tar.gz" +etag = "558b0575a48ff39c21a1fd9402fa0b84-4" + +[[releases]] +version = "16.4.2" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v16.4.2-linux-x64.tar.gz" +etag = "722a9783a7201b020ad6a89b9703cc3b-4" + +[[releases]] +version = "16.5.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v16.5.0-linux-x64.tar.gz" +etag = "5322a660d103a2974b9e073eae890bfb-4" + +[[releases]] +version = "16.6.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v16.6.0-linux-x64.tar.gz" +etag = "dfbee0cdf68d776ad1e51ca482250b0a-4" + +[[releases]] +version = "16.6.1" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v16.6.1-linux-x64.tar.gz" +etag = "bc15b11b0fd5ff2b62c6bf83646c82df-4" + +[[releases]] +version = "16.6.2" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v16.6.2-linux-x64.tar.gz" +etag = "0f897c317d9f01058731d4d283ce1cf2-4" + +[[releases]] +version = "16.7.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v16.7.0-linux-x64.tar.gz" +etag = "5db3c31791f4f8f75a8e8737e2ad2382-4" + +[[releases]] +version = "16.8.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v16.8.0-linux-x64.tar.gz" +etag = "2cf9f82dd69a9d35ba71532459629f83-4" + +[[releases]] +version = "16.9.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v16.9.0-linux-x64.tar.gz" +etag = "f76ebd4df376e0a9a8138bfcbe3a3079-4" + +[[releases]] +version = "16.9.1" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v16.9.1-linux-x64.tar.gz" +etag = "b591f8229fa8bf2f0a387c23b8277c55-4" + +[[releases]] +version = "17.0.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v17.0.0-linux-x64.tar.gz" +etag = "86c99126a99b3a82d007caedabdb9fa1-6" + +[[releases]] +version = "17.0.1" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v17.0.1-linux-x64.tar.gz" +etag = "10dc62fa317414c345bed79c04cc71fc-6" + +[[releases]] +version = "17.1.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v17.1.0-linux-x64.tar.gz" +etag = "8bf50f0462ee3144f34c6da85ae09e32-6" + +[[releases]] +version = "17.2.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v17.2.0-linux-x64.tar.gz" +etag = "0aee67a645145fd83f1e9c333c68c655-6" + +[[releases]] +version = "17.3.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v17.3.0-linux-x64.tar.gz" +etag = "43a9c23500b6183f63c62fe1c72bbdcd-6" + +[[releases]] +version = "17.3.1" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v17.3.1-linux-x64.tar.gz" +etag = "89f0dc5714f090fb5255b2ab4b943c03-6" + +[[releases]] +version = "17.4.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v17.4.0-linux-x64.tar.gz" +etag = "72cd45ee41e736a3d15ccd255bc42ea5-6" + +[[releases]] +version = "17.5.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v17.5.0-linux-x64.tar.gz" +etag = "85ca8cdd9038440dbad047487fe5caad-6" + +[[releases]] +version = "17.6.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v17.6.0-linux-x64.tar.gz" +etag = "acb898de485f6fd431c5bba29737cdd6-6" + +[[releases]] +version = "17.7.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v17.7.0-linux-x64.tar.gz" +etag = "3ae4ee1f090945e80ad2209beb2c019e-6" + +[[releases]] +version = "17.7.1" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v17.7.1-linux-x64.tar.gz" +etag = "45444848e3db9df8e1906f30303f0b73-6" + +[[releases]] +version = "17.7.2" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v17.7.2-linux-x64.tar.gz" +etag = "5bfd0dc5e7e878dd4561fd0e41035051-6" + +[[releases]] +version = "17.8.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v17.8.0-linux-x64.tar.gz" +etag = "062cf4cae4ec3b032c41909a49df706e-6" + +[[releases]] +version = "17.9.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v17.9.0-linux-x64.tar.gz" +etag = "d82856ef7d8fd6ee756e0c4054e686aa-6" + +[[releases]] +version = "17.9.1" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v17.9.1-linux-x64.tar.gz" +etag = "5abb91fe234c1cb3709811ca8c62ee88-6" + +[[releases]] +version = "18.0.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v18.0.0-linux-x64.tar.gz" +etag = "48ae6c63e24f5ce074e86188287198e0-6" + +[[releases]] +version = "18.1.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v18.1.0-linux-x64.tar.gz" +etag = "37faa7d1b87accc2b5f8c5c8af3d4a85-6" + +[[releases]] +version = "18.10.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v18.10.0-linux-x64.tar.gz" +etag = "d31a7a94f60ae2ee3d2c5d208dd9fa06-6" + +[[releases]] +version = "18.11.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v18.11.0-linux-x64.tar.gz" +etag = "163783aaa395b4bafe69067e81e71ab8-6" + +[[releases]] +version = "18.12.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v18.12.0-linux-x64.tar.gz" +etag = "86649fe86748ea3febf98e929d498119-6" + +[[releases]] +version = "18.12.1" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v18.12.1-linux-x64.tar.gz" +etag = "a06f34eaf7ae2352c789e8faea99176c-6" + +[[releases]] +version = "18.13.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v18.13.0-linux-x64.tar.gz" +etag = "015f9dfe56aeb2d10a9abe0a0a28ac6d-6" + +[[releases]] +version = "18.14.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v18.14.0-linux-x64.tar.gz" +etag = "f64feba223d30bb5145dd5d5240609d3-6" + +[[releases]] +version = "18.14.1" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v18.14.1-linux-x64.tar.gz" +etag = "9ad4db80f4608dd332bf22ae10977f3d-6" + +[[releases]] +version = "18.14.2" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v18.14.2-linux-x64.tar.gz" +etag = "2a33290e3c193b654808b29ec7aef765-6" + +[[releases]] +version = "18.15.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v18.15.0-linux-x64.tar.gz" +etag = "26343f5611dc89155f9d066aa8164dfe-6" + +[[releases]] +version = "18.16.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v18.16.0-linux-x64.tar.gz" +etag = "d617fab87f8ee9b80abebd50857e2bde-6" + +[[releases]] +version = "18.2.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v18.2.0-linux-x64.tar.gz" +etag = "3e7b3258d258a95ba0e1ad06ed7f482d-6" + +[[releases]] +version = "18.3.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v18.3.0-linux-x64.tar.gz" +etag = "0882fd16bcfeabd57379441604051ca4-6" + +[[releases]] +version = "18.4.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v18.4.0-linux-x64.tar.gz" +etag = "05ff72f9371a8705b8e5b895dfd8f6b5-6" + +[[releases]] +version = "18.5.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v18.5.0-linux-x64.tar.gz" +etag = "9bd9fc6a152929b992967d7efe40cfa6-6" + +[[releases]] +version = "18.6.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v18.6.0-linux-x64.tar.gz" +etag = "96773288cff667058e088a4fb418aca3-6" + +[[releases]] +version = "18.7.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v18.7.0-linux-x64.tar.gz" +etag = "a0a3893b6b148788381bbc6f7260d35e-6" + +[[releases]] +version = "18.8.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v18.8.0-linux-x64.tar.gz" +etag = "cc3fcca2aa2dccdc333fbc0709428463-6" + +[[releases]] +version = "18.9.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v18.9.0-linux-x64.tar.gz" +etag = "8e53d83d4455c1861a22030a78f0a076-6" + +[[releases]] +version = "18.9.1" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v18.9.1-linux-x64.tar.gz" +etag = "6e9038bdbfb630d31d3875cf1f56e2ba-6" + +[[releases]] +version = "19.0.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v19.0.0-linux-x64.tar.gz" +etag = "99d158299058e3a6b76f1bdc8e18393a-6" + +[[releases]] +version = "19.0.1" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v19.0.1-linux-x64.tar.gz" +etag = "ac996f828499ee7fa1774b9939f5d6c7-6" + +[[releases]] +version = "19.1.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v19.1.0-linux-x64.tar.gz" +etag = "43ac81eb0cbcb40ca1d740ac0d078596-6" + +[[releases]] +version = "19.2.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v19.2.0-linux-x64.tar.gz" +etag = "250cb7f6bf897efc151f6dc8141c4d47-6" + +[[releases]] +version = "19.3.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v19.3.0-linux-x64.tar.gz" +etag = "28f7e1417152b4b5353376ddf2250d47-6" + +[[releases]] +version = "19.4.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v19.4.0-linux-x64.tar.gz" +etag = "2fd4267d28ed47fa708ff6856eac32fb-6" + +[[releases]] +version = "19.5.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v19.5.0-linux-x64.tar.gz" +etag = "265bced5d9813609194da5492a9120b2-6" + +[[releases]] +version = "19.6.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v19.6.0-linux-x64.tar.gz" +etag = "fa1942df595ee976b2f3fc527a6ae54b-6" + +[[releases]] +version = "19.6.1" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v19.6.1-linux-x64.tar.gz" +etag = "3da49c80eb81a859fae044f18bed25b8-6" + +[[releases]] +version = "19.7.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v19.7.0-linux-x64.tar.gz" +etag = "285a1444b527be5801d8d828a5dac1af-6" + +[[releases]] +version = "19.8.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v19.8.0-linux-x64.tar.gz" +etag = "5c1de4f49ba34ce1d462562c5f5841fc-6" + +[[releases]] +version = "19.8.1" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v19.8.1-linux-x64.tar.gz" +etag = "0f11104d9c1e305858586a6671beec73-6" + +[[releases]] +version = "19.9.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v19.9.0-linux-x64.tar.gz" +etag = "ebce078cbac8006fab82956e5882bc28-6" + +[[releases]] +version = "20.0.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v20.0.0-linux-x64.tar.gz" +etag = "3456465494f47de14edc1a97caec1baf-6" + +[[releases]] +version = "20.1.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v20.1.0-linux-x64.tar.gz" +etag = "3b470a161894e01274666e85c898728b-6" + +[[releases]] +version = "20.2.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v20.2.0-linux-x64.tar.gz" +etag = "262c2e27fdb5b764df8a642e6e942106-6" + +[[releases]] +version = "6.14.4" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v6.14.4-linux-x64.tar.gz" +etag = "c81242d62dbad357134ad9e8c938fce6" + +[[releases]] +version = "6.15.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v6.15.0-linux-x64.tar.gz" +etag = "bc75fc652bb28aa07d92e99b212dd75e" + +[[releases]] +version = "6.15.1" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v6.15.1-linux-x64.tar.gz" +etag = "8b6b409811ba540653b06a2f87af2b58" + +[[releases]] +version = "6.16.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v6.16.0-linux-x64.tar.gz" +etag = "e4b7d1cc7c4156ae36af213795b9a2ab" + +[[releases]] +version = "6.17.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v6.17.0-linux-x64.tar.gz" +etag = "24b84466f5f921fa793243f87915800a" + +[[releases]] +version = "6.17.1" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v6.17.1-linux-x64.tar.gz" +etag = "eb59e6ef416d02bfcd1188b4151bddcd" + +[[releases]] +version = "8.11.4" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v8.11.4-linux-x64.tar.gz" +etag = "5764e757cee7ffa6eda727784ac2dde8" + +[[releases]] +version = "8.12.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v8.12.0-linux-x64.tar.gz" +etag = "c2dc07f9b840abe01461328caad03179" + +[[releases]] +version = "8.13.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v8.13.0-linux-x64.tar.gz" +etag = "ec5e096251b6b78f508971d7038a5d14" + +[[releases]] +version = "8.14.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v8.14.0-linux-x64.tar.gz" +etag = "6e1117831d6dfa9cf73a998f84a70aa2" + +[[releases]] +version = "8.14.1" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v8.14.1-linux-x64.tar.gz" +etag = "b62684a89bde079c53fb54dce47ff715" + +[[releases]] +version = "8.15.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v8.15.0-linux-x64.tar.gz" +etag = "117139b710ca7795feda9e643ce11fe9" + +[[releases]] +version = "8.15.1" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v8.15.1-linux-x64.tar.gz" +etag = "4c4497b86c0004401d5a93aa36c7e959" + +[[releases]] +version = "8.16.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v8.16.0-linux-x64.tar.gz" +etag = "caabf1838fba99b1d228dfa66c38254f" + +[[releases]] +version = "8.16.1" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v8.16.1-linux-x64.tar.gz" +etag = "7208de0aad92d58374fa8f3763d6305c" + +[[releases]] +version = "8.16.2" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v8.16.2-linux-x64.tar.gz" +etag = "327ec94535ca1a5390fd2eebb970936d" + +[[releases]] +version = "8.17.0" +channel = "staging" +arch = "linux-x64" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/node/staging/linux-x64/node-v8.17.0-linux-x64.tar.gz" +etag = "6218e59c4e3632a4b4eae5214aceeb08" + diff --git a/inventory/yarn.toml b/inventory/yarn.toml new file mode 100644 index 000000000..c6dde7e65 --- /dev/null +++ b/inventory/yarn.toml @@ -0,0 +1,878 @@ +name = "yarn" + +[[releases]] +version = "0.1.0" +channel = "release" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/yarn/release/yarn-v0.1.0.tar.gz" +etag = "04f0882274fbf688b4a9a1872ca7560f" + +[[releases]] +version = "0.1.1" +channel = "release" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/yarn/release/yarn-v0.1.1.tar.gz" +etag = "d71e31fb70f2a3e07a929cfb5df27d7c" + +[[releases]] +version = "0.1.2" +channel = "release" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/yarn/release/yarn-v0.1.2.tar.gz" +etag = "ee7c247af62134ed51ef9c91947cdc6a" + +[[releases]] +version = "0.1.3" +channel = "release" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/yarn/release/yarn-v0.1.3.tar.gz" +etag = "5b586400263b0831802ba6cf723ba928" + +[[releases]] +version = "0.15.1" +channel = "release" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/yarn/release/yarn-v0.15.1.tar.gz" +etag = "36a7947e7f2c01901201790825c54a53" + +[[releases]] +version = "0.16.0" +channel = "release" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/yarn/release/yarn-v0.16.0.tar.gz" +etag = "e4cc76bea92fabb664edadc4db14a8f2" + +[[releases]] +version = "0.16.1" +channel = "release" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/yarn/release/yarn-v0.16.1.tar.gz" +etag = "b5445b351a68c573960b06564ef9267c" + +[[releases]] +version = "0.17.0" +channel = "release" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/yarn/release/yarn-v0.17.0.tar.gz" +etag = "49c1ab8d008eb831761cb223dc432466" + +[[releases]] +version = "0.17.10" +channel = "release" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/yarn/release/yarn-v0.17.10.tar.gz" +etag = "faec4c1a00eee8e76caaba32cd22ca83" + +[[releases]] +version = "0.17.2" +channel = "release" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/yarn/release/yarn-v0.17.2.tar.gz" +etag = "f4028eb5672205666c343c33e7b6a592" + +[[releases]] +version = "0.17.3" +channel = "release" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/yarn/release/yarn-v0.17.3.tar.gz" +etag = "3e832943295d44f9be9bcd9c409a6e79" + +[[releases]] +version = "0.17.4" +channel = "release" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/yarn/release/yarn-v0.17.4.tar.gz" +etag = "f385c5c6953a745accec7ec605eb7ebb" + +[[releases]] +version = "0.17.5" +channel = "release" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/yarn/release/yarn-v0.17.5.tar.gz" +etag = "0da233f2fd6c7a101ca0512aca902d1d" + +[[releases]] +version = "0.17.6" +channel = "release" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/yarn/release/yarn-v0.17.6.tar.gz" +etag = "e73409da852ceefeba4111d6e7c9c4e2" + +[[releases]] +version = "0.17.7" +channel = "release" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/yarn/release/yarn-v0.17.7.tar.gz" +etag = "82ee9ba3be948cf65f89554c79828f1f" + +[[releases]] +version = "0.17.8" +channel = "release" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/yarn/release/yarn-v0.17.8.tar.gz" +etag = "a8d1e7246e0aff37f47855b0e73e0dd3" + +[[releases]] +version = "0.17.9" +channel = "release" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/yarn/release/yarn-v0.17.9.tar.gz" +etag = "1d49af2d8a76dc9e3e0058f6d0ad63af" + +[[releases]] +version = "0.18.0" +channel = "release" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/yarn/release/yarn-v0.18.0.tar.gz" +etag = "e3fc0c09e7c3935c7f37729b6de3291d" + +[[releases]] +version = "0.18.1" +channel = "release" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/yarn/release/yarn-v0.18.1.tar.gz" +etag = "266a3f76f9ca02391074c87e661b5466" + +[[releases]] +version = "0.18.2" +channel = "release" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/yarn/release/yarn-v0.18.2.tar.gz" +etag = "d7aab1b37ffb6f308ef41366983c21af" + +[[releases]] +version = "0.19.0" +channel = "release" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/yarn/release/yarn-v0.19.0.tar.gz" +etag = "7749fa4e8be58114ca8a03932bad273f" + +[[releases]] +version = "0.19.1" +channel = "release" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/yarn/release/yarn-v0.19.1.tar.gz" +etag = "28b4eba034249540e03635dfaa89bedc" + +[[releases]] +version = "0.20.0" +channel = "release" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/yarn/release/yarn-v0.20.0.tar.gz" +etag = "12df75bdb018b0412580ccc5ffee5c6e" + +[[releases]] +version = "0.20.3" +channel = "release" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/yarn/release/yarn-v0.20.3.tar.gz" +etag = "9520b108ce17c2d3a0c8ce7e9b1e99ed" + +[[releases]] +version = "0.20.4" +channel = "release" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/yarn/release/yarn-v0.20.4.tar.gz" +etag = "b3a762307d08b8a2eac3661e966a6d71" + +[[releases]] +version = "0.21.0" +channel = "release" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/yarn/release/yarn-v0.21.0.tar.gz" +etag = "678759bcbf0676825cba2f4fb1417bca" + +[[releases]] +version = "0.21.1" +channel = "release" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/yarn/release/yarn-v0.21.1.tar.gz" +etag = "ec31fdc4ae983bafaf73c6291eb28098" + +[[releases]] +version = "0.21.2" +channel = "release" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/yarn/release/yarn-v0.21.2.tar.gz" +etag = "9ac335d46f4c0af97cd08b3013cf6d87" + +[[releases]] +version = "0.21.3" +channel = "release" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/yarn/release/yarn-v0.21.3.tar.gz" +etag = "779e0c868fbc2c8235d20755890202fc" + +[[releases]] +version = "0.22.0" +channel = "release" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/yarn/release/yarn-v0.22.0.tar.gz" +etag = "bd0fa3000a488d89f75b03efcbd32cec" + +[[releases]] +version = "0.23.0" +channel = "release" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/yarn/release/yarn-v0.23.0.tar.gz" +etag = "bf5ddf6d0031047afafe1fb9fbad5d5e" + +[[releases]] +version = "0.23.1" +channel = "release" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/yarn/release/yarn-v0.23.1.tar.gz" +etag = "433f35f863d619810e4edff174a70cee" + +[[releases]] +version = "0.23.2" +channel = "release" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/yarn/release/yarn-v0.23.2.tar.gz" +etag = "8c40f98256c9f14234e6afb04af910b0" + +[[releases]] +version = "0.23.3" +channel = "release" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/yarn/release/yarn-v0.23.3.tar.gz" +etag = "54850071e7b675d569fdbbc328ee6b36" + +[[releases]] +version = "0.23.4" +channel = "release" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/yarn/release/yarn-v0.23.4.tar.gz" +etag = "e6837e4ca870c1e83728a426b221e5c3" + +[[releases]] +version = "0.24.0" +channel = "release" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/yarn/release/yarn-v0.24.0.tar.gz" +etag = "0efe461e8326f0ad2a2cfac18cff642e" + +[[releases]] +version = "0.24.1" +channel = "release" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/yarn/release/yarn-v0.24.1.tar.gz" +etag = "45d38d55725bfb4ef6ef05115f452882" + +[[releases]] +version = "0.24.2" +channel = "release" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/yarn/release/yarn-v0.24.2.tar.gz" +etag = "735df9bb556e8457857ec2922f04ff7d" + +[[releases]] +version = "0.24.3" +channel = "release" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/yarn/release/yarn-v0.24.3.tar.gz" +etag = "24a7c444b19980db53e459fb10d288cd" + +[[releases]] +version = "0.24.4" +channel = "release" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/yarn/release/yarn-v0.24.4.tar.gz" +etag = "da248c8867553d500c08efc3179850f7" + +[[releases]] +version = "0.24.5" +channel = "release" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/yarn/release/yarn-v0.24.5.tar.gz" +etag = "c2484941f0ff0dd20079d2b1f5229845" + +[[releases]] +version = "0.24.6" +channel = "release" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/yarn/release/yarn-v0.24.6.tar.gz" +etag = "156eb82fc7a7635bbc2738a9af936fc5" + +[[releases]] +version = "0.25.1" +channel = "release" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/yarn/release/yarn-v0.25.1.tar.gz" +etag = "91a2bbaf068a347fa2ba43ded3274beb" + +[[releases]] +version = "0.25.2" +channel = "release" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/yarn/release/yarn-v0.25.2.tar.gz" +etag = "9d825f5f0cd06b4fce28eba54dafef30" + +[[releases]] +version = "0.25.3" +channel = "release" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/yarn/release/yarn-v0.25.3.tar.gz" +etag = "47c165d679874eff6c029da8a7affb97" + +[[releases]] +version = "0.25.4" +channel = "release" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/yarn/release/yarn-v0.25.4.tar.gz" +etag = "017785ed5d2ed48ae32db4b853d4ceeb" + +[[releases]] +version = "0.26.0" +channel = "release" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/yarn/release/yarn-v0.26.0.tar.gz" +etag = "1d519b37c0d940926c734d006a3903c4" + +[[releases]] +version = "0.26.1" +channel = "release" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/yarn/release/yarn-v0.26.1.tar.gz" +etag = "0bf0ee938c79e9286cd6eea2e2c58f61" + +[[releases]] +version = "0.27.0" +channel = "release" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/yarn/release/yarn-v0.27.0.tar.gz" +etag = "13e77d6b5affcac7c4c236e507c8a401" + +[[releases]] +version = "0.27.1" +channel = "release" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/yarn/release/yarn-v0.27.1.tar.gz" +etag = "12b771a045e13d63cf90952ddbcab76c" + +[[releases]] +version = "0.27.2" +channel = "release" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/yarn/release/yarn-v0.27.2.tar.gz" +etag = "48975e76fdd9121d7e1086ce84e49d04" + +[[releases]] +version = "0.27.3" +channel = "release" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/yarn/release/yarn-v0.27.3.tar.gz" +etag = "4ad6f69bcefb07ded5d4c5c308891dc4" + +[[releases]] +version = "0.27.4" +channel = "release" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/yarn/release/yarn-v0.27.4.tar.gz" +etag = "2bb09faf7673aa9a9a82558f1e1d1f3e" + +[[releases]] +version = "0.27.5" +channel = "release" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/yarn/release/yarn-v0.27.5.tar.gz" +etag = "7300299755265c169a8f05a1c7dfd4db" + +[[releases]] +version = "0.28.1" +channel = "release" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/yarn/release/yarn-v0.28.1.tar.gz" +etag = "cec620899d1e1e73e5915bd1cc404974" + +[[releases]] +version = "0.28.4" +channel = "release" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/yarn/release/yarn-v0.28.4.tar.gz" +etag = "60567689a1fd6bba33b2b6cdae6ef6ac" + +[[releases]] +version = "1.0.0" +channel = "release" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/yarn/release/yarn-v1.0.0.tar.gz" +etag = "5f66c6d6af1d4423c55291fe3f16925e" + +[[releases]] +version = "1.0.1" +channel = "release" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/yarn/release/yarn-v1.0.1.tar.gz" +etag = "bc4a5d0bebc7fdd43be6f8ca7d0c7ded" + +[[releases]] +version = "1.0.2" +channel = "release" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/yarn/release/yarn-v1.0.2.tar.gz" +etag = "bcdf44691092302858de5df1012861e3" + +[[releases]] +version = "1.1.0" +channel = "release" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/yarn/release/yarn-v1.1.0.tar.gz" +etag = "26588f716ac62a54a98094ee6c1284e4" + +[[releases]] +version = "1.10.0" +channel = "release" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/yarn/release/yarn-v1.10.0.tar.gz" +etag = "c8ad5d2a2f02ba666e92189dae951575" + +[[releases]] +version = "1.10.1" +channel = "release" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/yarn/release/yarn-v1.10.1.tar.gz" +etag = "3d34580367b4ea7ad6f4358e3aa6b2af" + +[[releases]] +version = "1.11.0" +channel = "release" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/yarn/release/yarn-v1.11.0.tar.gz" +etag = "d4f05075f534dd9a0a8c18c650b55f0d" + +[[releases]] +version = "1.11.1" +channel = "release" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/yarn/release/yarn-v1.11.1.tar.gz" +etag = "87308536d6e6bdad4d258d91e87c0980" + +[[releases]] +version = "1.12.0" +channel = "release" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/yarn/release/yarn-v1.12.0.tar.gz" +etag = "a02bfad92a883543cef480eedf9a92e4" + +[[releases]] +version = "1.12.1" +channel = "release" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/yarn/release/yarn-v1.12.1.tar.gz" +etag = "0f9197f5dceace96d93520e492c043a2" + +[[releases]] +version = "1.12.3" +channel = "release" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/yarn/release/yarn-v1.12.3.tar.gz" +etag = "925d0dd6eebf08f761a2efd4da981d17" + +[[releases]] +version = "1.13.0" +channel = "release" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/yarn/release/yarn-v1.13.0.tar.gz" +etag = "a466d851585045cf5a16f6c5bd7c3bad" + +[[releases]] +version = "1.14.0" +channel = "release" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/yarn/release/yarn-v1.14.0.tar.gz" +etag = "43175a59cfbb68aadb686b1ef62b074c" + +[[releases]] +version = "1.15.0" +channel = "release" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/yarn/release/yarn-v1.15.0.tar.gz" +etag = "197361f7c7c955eeb07950efd34af6e0" + +[[releases]] +version = "1.15.1" +channel = "release" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/yarn/release/yarn-v1.15.1.tar.gz" +etag = "affcf608656a9a5250fbfedf4b23a405" + +[[releases]] +version = "1.15.2" +channel = "release" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/yarn/release/yarn-v1.15.2.tar.gz" +etag = "35835237750040f08c0e87550e05dcea" + +[[releases]] +version = "1.16.0" +channel = "release" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/yarn/release/yarn-v1.16.0.tar.gz" +etag = "46790033c23803387890f545e4040690" + +[[releases]] +version = "1.17.0" +channel = "release" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/yarn/release/yarn-v1.17.0.tar.gz" +etag = "ce6a7e128618b5c9d058e2a8bd1a71f8" + +[[releases]] +version = "1.17.1" +channel = "release" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/yarn/release/yarn-v1.17.1.tar.gz" +etag = "15543697ad9ed6ee4e476f892128a41e" + +[[releases]] +version = "1.17.2" +channel = "release" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/yarn/release/yarn-v1.17.2.tar.gz" +etag = "e19c41ab602e43bbecc0e2ebf039ce4f" + +[[releases]] +version = "1.17.3" +channel = "release" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/yarn/release/yarn-v1.17.3.tar.gz" +etag = "4a02e1687a150113ad6b0215f9afdb3e" + +[[releases]] +version = "1.18.0" +channel = "release" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/yarn/release/yarn-v1.18.0.tar.gz" +etag = "dd0d505bdecc6b5d06a27df9927e0452" + +[[releases]] +version = "1.19.0" +channel = "release" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/yarn/release/yarn-v1.19.0.tar.gz" +etag = "e18cc1ee9aff041c634e3516d6d95702" + +[[releases]] +version = "1.19.1" +channel = "release" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/yarn/release/yarn-v1.19.1.tar.gz" +etag = "4d406e34b2461c4c4f2c3d1f93692bf8" + +[[releases]] +version = "1.19.2" +channel = "release" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/yarn/release/yarn-v1.19.2.tar.gz" +etag = "ad9878c3c55bfbd90c20c70146352610" + +[[releases]] +version = "1.2.0" +channel = "release" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/yarn/release/yarn-v1.2.0.tar.gz" +etag = "95b6c1c0e6504e5d4e31b720505471c9" + +[[releases]] +version = "1.2.1" +channel = "release" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/yarn/release/yarn-v1.2.1.tar.gz" +etag = "a16106e2b9a79bfdfad563d3fcbd97b4" + +[[releases]] +version = "1.21.0" +channel = "release" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/yarn/release/yarn-v1.21.0.tar.gz" +etag = "9ff2ac8062761ab1ed638d58df91bafb" + +[[releases]] +version = "1.21.1" +channel = "release" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/yarn/release/yarn-v1.21.1.tar.gz" +etag = "b7bfaa7dfe788074b3f51e57497a7c54" + +[[releases]] +version = "1.22.0" +channel = "release" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/yarn/release/yarn-v1.22.0.tar.gz" +etag = "451be8c7647720fa24ecc861715ee1dd" + +[[releases]] +version = "1.22.1" +channel = "release" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/yarn/release/yarn-v1.22.1.tar.gz" +etag = "480dec62fe76a52074f00734f444e823" + +[[releases]] +version = "1.22.10" +channel = "release" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/yarn/release/yarn-v1.22.10.tar.gz" +etag = "52e8dbe9d0cb90683dd3ee2ebf2becb8" + +[[releases]] +version = "1.22.11" +channel = "release" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/yarn/release/yarn-v1.22.11.tar.gz" +etag = "abac2ecbe725c04e91dafc56ae2163b3" + +[[releases]] +version = "1.22.12" +channel = "release" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/yarn/release/yarn-v1.22.12.tar.gz" +etag = "1ff62ef8049c14c3e5f2fa3bf594132a" + +[[releases]] +version = "1.22.13" +channel = "release" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/yarn/release/yarn-v1.22.13.tar.gz" +etag = "5083b9c6ac6ed6fb4f8c666c41c1cab1" + +[[releases]] +version = "1.22.14" +channel = "release" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/yarn/release/yarn-v1.22.14.tar.gz" +etag = "8e166ebb48570c137bf801e38dcf4c5c" + +[[releases]] +version = "1.22.15" +channel = "release" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/yarn/release/yarn-v1.22.15.tar.gz" +etag = "4113da7ab81a77fb30f74737a459a225" + +[[releases]] +version = "1.22.16" +channel = "release" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/yarn/release/yarn-v1.22.16.tar.gz" +etag = "f2cde1b4c22eae2885f2dcdd766ff1e6" + +[[releases]] +version = "1.22.17" +channel = "release" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/yarn/release/yarn-v1.22.17.tar.gz" +etag = "291fea6d3b993c201b946ab566de816c" + +[[releases]] +version = "1.22.18" +channel = "release" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/yarn/release/yarn-v1.22.18.tar.gz" +etag = "fd220e06ecd3a3cc86a38f9215efdd67" + +[[releases]] +version = "1.22.19" +channel = "release" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/yarn/release/yarn-v1.22.19.tar.gz" +etag = "c04ea97bf9f72386c1a3da6b1c8510e3" + +[[releases]] +version = "1.22.4" +channel = "release" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/yarn/release/yarn-v1.22.4.tar.gz" +etag = "faf483d50aa8ccbdc802efa0cac5d4d3" + +[[releases]] +version = "1.22.5" +channel = "release" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/yarn/release/yarn-v1.22.5.tar.gz" +etag = "a4d5802cc7eec88edf47bd8887acb06c" + +[[releases]] +version = "1.22.6" +channel = "release" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/yarn/release/yarn-v1.22.6.tar.gz" +etag = "37b0c35d17fc017dd834e8bc7ec84b42" + +[[releases]] +version = "1.22.7" +channel = "release" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/yarn/release/yarn-v1.22.7.tar.gz" +etag = "d7741b1cb50442be226106bc35309aea" + +[[releases]] +version = "1.22.8" +channel = "release" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/yarn/release/yarn-v1.22.8.tar.gz" +etag = "334b5a39f4ea1ab996215e40fb5551a1" + +[[releases]] +version = "1.22.9" +channel = "release" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/yarn/release/yarn-v1.22.9.tar.gz" +etag = "afac05a09b5106221c4a048f74e38b85" + +[[releases]] +version = "1.3.1" +channel = "release" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/yarn/release/yarn-v1.3.1.tar.gz" +etag = "6bddbe5c732f0f3acd9111e635d73e60" + +[[releases]] +version = "1.3.2" +channel = "release" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/yarn/release/yarn-v1.3.2.tar.gz" +etag = "db82fa09c996e9318f2f1d2ab99228f9" + +[[releases]] +version = "1.4.0" +channel = "release" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/yarn/release/yarn-v1.4.0.tar.gz" +etag = "e5ff3f0c369fc52e38e5cd78801605a2" + +[[releases]] +version = "1.5.0" +channel = "release" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/yarn/release/yarn-v1.5.0.tar.gz" +etag = "5a1ab00dfb8533c40819a95d443e95ee" + +[[releases]] +version = "1.5.1" +channel = "release" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/yarn/release/yarn-v1.5.1.tar.gz" +etag = "561ac9089c33402abece941bc424cdd4" + +[[releases]] +version = "1.6.0" +channel = "release" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/yarn/release/yarn-v1.6.0.tar.gz" +etag = "a11a3d8a5d62712fc497a6d1cbea25f6" + +[[releases]] +version = "1.7.0" +channel = "release" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/yarn/release/yarn-v1.7.0.tar.gz" +etag = "e149b4cc0c2cb903551a0b857a2b3c78" + +[[releases]] +version = "1.8.0" +channel = "release" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/yarn/release/yarn-v1.8.0.tar.gz" +etag = "3e20c3c91a97512fc38ea797df032d84" + +[[releases]] +version = "1.9.1" +channel = "release" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/yarn/release/yarn-v1.9.1.tar.gz" +etag = "aaab1f955228b43b11c6a4ab9467321d" + +[[releases]] +version = "1.9.2" +channel = "release" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/yarn/release/yarn-v1.9.2.tar.gz" +etag = "d7a98e7bc7a80fe604b271d04589c7e1" + +[[releases]] +version = "1.9.4" +channel = "release" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/yarn/release/yarn-v1.9.4.tar.gz" +etag = "1202576a1a67d2228b44bb6f87a4eb64" + +[[releases]] +version = "2.4.1" +channel = "release" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/yarn/release/yarn-v2.4.1.tar.gz" +etag = "61bff0ab7cc560eb87ff74a3d4bbb227" + +[[releases]] +version = "2.4.2" +channel = "release" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/yarn/release/yarn-v2.4.2.tar.gz" +etag = "5ac10334c0ab3fd48c38a61255af427b" + +[[releases]] +version = "3.0.0-rc.1" +channel = "release" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/yarn/release/yarn-v3.0.0-rc.1.tar.gz" +etag = "bde803a6c4f6e16f11308a1a859d2615" + +[[releases]] +version = "3.0.0-rc.2" +channel = "release" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/yarn/release/yarn-v3.0.0-rc.2.tar.gz" +etag = "c77e85673b8d1e2dff0de16a4bac6f59" + +[[releases]] +version = "3.0.0-rc.3" +channel = "release" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/yarn/release/yarn-v3.0.0-rc.3.tar.gz" +etag = "26fdf2c4f07c1895ff29720153262fbc" + +[[releases]] +version = "3.0.0-rc.4" +channel = "release" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/yarn/release/yarn-v3.0.0-rc.4.tar.gz" +etag = "7931dfe982cc10edcea2302abaf7b76a" + +[[releases]] +version = "3.0.0" +channel = "release" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/yarn/release/yarn-v3.0.0.tar.gz" +etag = "859f1da1eab6f3043a2c879ebeba0876" + +[[releases]] +version = "3.0.1" +channel = "release" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/yarn/release/yarn-v3.0.1.tar.gz" +etag = "084c4d6d9d553e128e0ef9d256a7a27e" + +[[releases]] +version = "3.0.2" +channel = "release" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/yarn/release/yarn-v3.0.2.tar.gz" +etag = "5b4371940837264603339f03b97b4972" + +[[releases]] +version = "3.1.0" +channel = "release" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/yarn/release/yarn-v3.1.0.tar.gz" +etag = "030da650dd07bcd4f88c9989d95ad4e1" + +[[releases]] +version = "3.1.1" +channel = "release" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/yarn/release/yarn-v3.1.1.tar.gz" +etag = "a2179a62462f83074a99d92060aafb43" + +[[releases]] +version = "3.2.0" +channel = "release" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/yarn/release/yarn-v3.2.0.tar.gz" +etag = "d5da2ad77d8e3e35ab55143f719f0c90" + +[[releases]] +version = "3.2.1" +channel = "release" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/yarn/release/yarn-v3.2.1.tar.gz" +etag = "ca6c8cf07145de3bc36a847d714687c7" + +[[releases]] +version = "3.2.2" +channel = "release" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/yarn/release/yarn-v3.2.2.tar.gz" +etag = "b6ba309cb478625cad74c7ea7eb8d1e9" + +[[releases]] +version = "3.2.3" +channel = "release" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/yarn/release/yarn-v3.2.3.tar.gz" +etag = "8c0099f5335d6376f8edc5f6f24c7bcd" + +[[releases]] +version = "3.2.4" +channel = "release" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/yarn/release/yarn-v3.2.4.tar.gz" +etag = "b23e4d195939b778c31d5cfbb8a06a0f" + +[[releases]] +version = "3.3.0" +channel = "release" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/yarn/release/yarn-v3.3.0.tar.gz" +etag = "36761f8512b2584f152105c2f03e5347" + +[[releases]] +version = "3.3.1" +channel = "release" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/yarn/release/yarn-v3.3.1.tar.gz" +etag = "06600cdc3528c8409e903fa91a842991" + +[[releases]] +version = "3.4.0" +channel = "release" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/yarn/release/yarn-v3.4.0.tar.gz" +etag = "18d687cd85f571235c99925ccaee8848" + +[[releases]] +version = "3.4.1" +channel = "release" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/yarn/release/yarn-v3.4.1.tar.gz" +etag = "01c347052fb9a314856292d6c00f9c32" + +[[releases]] +version = "3.5.0" +channel = "release" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/yarn/release/yarn-v3.5.0.tar.gz" +etag = "494f262c521edd4df916450aabe3936b" + +[[releases]] +version = "3.5.1" +channel = "release" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/yarn/release/yarn-v3.5.1.tar.gz" +etag = "9638170ef4fada5e300775e918398d9f" + +[[releases]] +version = "4.0.0-rc.35" +channel = "release" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/yarn/release/yarn-v4.0.0-rc.35.tar.gz" +etag = "f203ecd637ad5d59ab9458ba0578591e" + +[[releases]] +version = "4.0.0-rc.36" +channel = "release" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/yarn/release/yarn-v4.0.0-rc.36.tar.gz" +etag = "3f8ba91e1198e27cf9a0d306dd7e8a4b" + +[[releases]] +version = "4.0.0-rc.37" +channel = "release" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/yarn/release/yarn-v4.0.0-rc.37.tar.gz" +etag = "87bc1619ea05f8ff0f515c85c8742e6b" + +[[releases]] +version = "4.0.0-rc.38" +channel = "release" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/yarn/release/yarn-v4.0.0-rc.38.tar.gz" +etag = "65c19ccb356400ef5497f575e757a1c4" + +[[releases]] +version = "4.0.0-rc.39" +channel = "release" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/yarn/release/yarn-v4.0.0-rc.39.tar.gz" +etag = "51a3824e46134d90d5b097457d2c0548" + +[[releases]] +version = "4.0.0-rc.40" +channel = "release" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/yarn/release/yarn-v4.0.0-rc.40.tar.gz" +etag = "e8d683cfc6e318dfe12489934648ca8a" + +[[releases]] +version = "4.0.0-rc.41" +channel = "release" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/yarn/release/yarn-v4.0.0-rc.41.tar.gz" +etag = "9ac49479f979ca49c922b6b50b6e637f" + +[[releases]] +version = "4.0.0-rc.42" +channel = "release" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/yarn/release/yarn-v4.0.0-rc.42.tar.gz" +etag = "9e930241ba51de085ce10c871adc686b" + +[[releases]] +version = "4.0.0-rc.43" +channel = "release" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/yarn/release/yarn-v4.0.0-rc.43.tar.gz" +etag = "f0b6c7113589c50bd88a1180cba6a03a" + +[[releases]] +version = "4.0.0-rc.44" +channel = "release" +url = "https://heroku-nodebin.s3.us-east-1.amazonaws.com/yarn/release/yarn-v4.0.0-rc.44.tar.gz" +etag = "b8ff27045c007478d30b3c5e97eef209" + diff --git a/lib/binaries.sh b/lib/binaries.sh new file mode 100644 index 000000000..d54ec3d39 --- /dev/null +++ b/lib/binaries.sh @@ -0,0 +1,133 @@ +#!/usr/bin/env bash + +# Compiled from: https://github.com/heroku/buildpacks-nodejs/blob/main/common/nodejs-utils/src/bin/resolve_version.rs +RESOLVE="$BP_DIR/lib/vendor/resolve-version-$(get_os)" + +resolve() { + local binary="$1" + local versionRequirement="$2" + local output + + if output=$($RESOLVE "$BP_DIR/inventory/$binary.toml" "$versionRequirement"); then + meta_set "resolve-v2-$binary" "$output" + meta_set "resolve-v2-error" "$STD_ERR" + if [[ $output = "No result" ]]; then + return 1 + else + echo $output + return 0 + fi + fi + return 1 +} + +install_yarn() { + local dir="$1" + local version=${2:-1.22.x} + local number url code resolve_result + + if [[ -n "$YARN_BINARY_URL" ]]; then + url="$YARN_BINARY_URL" + echo "Downloading and installing yarn from $url" + else + echo "Resolving yarn version $version..." + resolve_result=$(resolve yarn "$version" || echo "failed") + + if [[ "$resolve_result" == "failed" ]]; then + fail_bin_install yarn "$version" + fi + + read -r number url < <(echo "$resolve_result") + + echo "Downloading and installing yarn ($number)" + fi + + code=$(curl "$url" -L --silent --fail --retry 5 --retry-max-time 15 --retry-connrefused --connect-timeout 5 -o /tmp/yarn.tar.gz --write-out "%{http_code}") + + if [ "$code" != "200" ]; then + echo "Unable to download yarn: $code" && false + fi + rm -rf "$dir" + mkdir -p "$dir" + # https://github.com/yarnpkg/yarn/issues/770 + if tar --version | grep -q 'gnu'; then + tar xzf /tmp/yarn.tar.gz -C "$dir" --strip 1 --warning=no-unknown-keyword + else + tar xzf /tmp/yarn.tar.gz -C "$dir" --strip 1 + fi + chmod +x "$dir"/bin/* + + # Verify yarn works before capturing and ensure its stderr is inspectable later + yarn --version 2>&1 1>/dev/null + if $YARN_2; then + echo "Using yarn $(yarn --version)" + else + echo "Installed yarn $(yarn --version)" + fi +} + +install_nodejs() { + local version="${1:-}" + local dir="${2:?}" + local code resolve_result + + if [[ -z "$version" ]]; then + version="18.x" + fi + + if [[ -n "$NODE_BINARY_URL" ]]; then + url="$NODE_BINARY_URL" + echo "Downloading and installing node from $url" + else + echo "Resolving node version $version..." + resolve_result=$(resolve node "$version" || echo "failed") + + read -r number url < <(echo "$resolve_result") + + if [[ "$resolve_result" == "failed" ]]; then + fail_bin_install node "$version" + fi + + echo "Downloading and installing node $number..." + fi + + code=$(curl "$url" -L --silent --fail --retry 5 --retry-max-time 15 --retry-connrefused --connect-timeout 5 -o /tmp/node.tar.gz --write-out "%{http_code}") + + if [ "$code" != "200" ]; then + echo "Unable to download node: $code" && false + fi + rm -rf "${dir:?}"/* + tar xzf /tmp/node.tar.gz --strip-components 1 -C "$dir" + chmod +x "$dir"/bin/* +} + +install_npm() { + local npm_version + local version="$1" + local dir="$2" + local npm_lock="$3" + # Verify npm works before capturing and ensure its stderr is inspectable later + npm --version 2>&1 1>/dev/null + npm_version="$(npm --version)" + + # If the user has not specified a version of npm, but has an npm lockfile + # upgrade them to npm 5.x if a suitable version was not installed with Node + if $npm_lock && [ "$version" == "" ] && [ "${npm_version:0:1}" -lt "5" ]; then + echo "Detected package-lock.json: defaulting npm to version 5.x.x" + version="5.x.x" + fi + + if [ "$version" == "" ]; then + echo "Using default npm version: $npm_version" + elif [[ "$npm_version" == "$version" ]]; then + echo "npm $npm_version already installed with node" + else + echo "Bootstrapping npm $version (replacing $npm_version)..." + if ! npm install --unsafe-perm --quiet -g "npm@$version" 2>@1>/dev/null; then + echo "Unable to install npm $version; does it exist?" && false + fi + # Verify npm works before capturing and ensure its stderr is inspectable later + npm --version 2>&1 1>/dev/null + echo "npm $(npm --version) installed" + fi +} diff --git a/lib/builddata.sh b/lib/builddata.sh new file mode 100644 index 000000000..3d3fc5b30 --- /dev/null +++ b/lib/builddata.sh @@ -0,0 +1,53 @@ +#!/usr/bin/env bash + +# Log out information about the build that we can detect without accessing package.json +log_initial_state() { + meta_set "buildpack" "nodejs" + if "$YARN"; then + meta_set "node-package-manager" "yarn" + meta_set "has-node-lock-file" "true" + else + meta_set "node-package-manager" "npm" + meta_set "has-node-lock-file" "$NPM_LOCK" + fi + + meta_set "stack" "$STACK" + + # add any active features to the metadata set + # prefix the key with "feature-" + features_list | tr ' ' '\n' | while read -r key; do + if [[ -n $key ]]; then + meta_set "feature-$key" "$(features_get "$key")" + fi + done +} + +# Log out information about the build that we can read from package.json +log_project_info() { + local time + local build_dir="$1" + + # Does this project use "workspaces"? + meta_set "uses-workspaces" "$(json_has_key "$build_dir/package.json" "workspaces")" + # What workspaces are defined? Logs as: `["packages/*","a","b"]` + meta_set "workspaces" "$(read_json "$build_dir/package.json" ".workspaces")" + + # just to be sure this isn't disruptive, let's time it. This can be removed later once we've + # established that this is quick for all projects. + time=$(nowms) + # Count # of js, jsx, ts, coffee, vue, and html files to approximate project size, exclude any files in node_modules + meta_set "num-project-files" "$(find "$build_dir" -name '*.js' -o -name '*.ts' -o -name '*.jsx' -o -name '*.coffee' -o -name '*.vue' -o -name '*.html' | grep -cv node_modules | tr -d '[:space:]')" + meta_time "count-file-time" "$time" +} + +generate_uuids() { + # generate a unique id for each build + meta_set "build-uuid" "$(uuid)" + + # propagate an app-uuid forward unless the cache is cleared + if [[ -n "$(meta_prev_get "app-uuid")" ]]; then + meta_set "app-uuid" "$(meta_prev_get "app-uuid")" + else + meta_set "app-uuid" "$(uuid)" + fi +} diff --git a/lib/cache.sh b/lib/cache.sh new file mode 100644 index 000000000..7e18dda91 --- /dev/null +++ b/lib/cache.sh @@ -0,0 +1,196 @@ +#!/usr/bin/env bash + +create_signature() { + echo "v2; ${STACK}; $(node --version); $(npm --version); $(yarn --version 2>/dev/null || true); ${PREBUILD}" +} + +save_signature() { + local cache_dir="$1" + create_signature > "$cache_dir/node/signature" +} + +load_signature() { + local cache_dir="$1" + if test -f "$cache_dir/node/signature"; then + cat "$cache_dir/node/signature" + else + echo "" + fi +} + +get_cache_status() { + local cache_dir="$1" + if ! ${NODE_MODULES_CACHE:-true}; then + echo "disabled" + elif ! test -d "$cache_dir/node/"; then + echo "not-found" + elif [ "$(create_signature)" != "$(load_signature "$cache_dir")" ]; then + echo "new-signature" + else + echo "valid" + fi +} + +get_cache_directories() { + local build_dir="$1" + local dirs1 dirs2 + dirs1=$(read_json "$build_dir/package.json" ".cacheDirectories | .[]?") + dirs2=$(read_json "$build_dir/package.json" ".cache_directories | .[]?") + + if [ -n "$dirs1" ]; then + echo "$dirs1" + else + echo "$dirs2" + fi +} + +restore_default_cache_directories() { + local build_dir=${1:-} + local cache_dir=${2:-} + local yarn_cache_dir=${3:-} + local npm_cache=${4:-} + + if [[ "$YARN" == "true" ]]; then + if has_yarn_cache "$build_dir"; then + echo "- yarn cache is checked into source control and cannot be cached" + elif [[ -e "$cache_dir/node/cache/yarn" ]]; then + rm -rf "$yarn_cache_dir" + mv "$cache_dir/node/cache/yarn" "$yarn_cache_dir" + if [[ -d "$yarn_cache_dir/yarn" ]]; then + # Older versions of the buildpack may have created nested yarn caches. + # This will remove the nested cache. This correction may be removed in + # the near future. + meta_set "yarn_nested_cache" "true" + rm -rf "$yarn_cache_dir/yarn" + fi + echo "- yarn cache" + else + echo "- yarn cache (not cached - skipping)" + fi + elif [[ "$USE_NPM_INSTALL" == "false" ]]; then + if [[ -d "$cache_dir/node/cache/npm" ]]; then + rm -rf "$npm_cache" + mv "$cache_dir/node/cache/npm" "$npm_cache" + echo "- npm cache" + meta_set "npm_cache" "true" + else + echo "- npm cache (not cached - skipping)" + fi + else + # node_modules + if [[ -e "$build_dir/node_modules" ]]; then + echo "- node_modules is checked into source control and cannot be cached" + elif [[ -e "$cache_dir/node/cache/node_modules" ]]; then + echo "- node_modules" + mkdir -p "$(dirname "$build_dir/node_modules")" + mv "$cache_dir/node/cache/node_modules" "$build_dir/node_modules" + else + echo "- node_modules (not cached - skipping)" + fi + fi + + # bower_components, should be silent if it is not in the cache + if [[ -e "$cache_dir/node/cache/bower_components" ]]; then + echo "- bower_components" + fi +} + +restore_custom_cache_directories() { + local cache_directories + local build_dir=${1:-} + local cache_dir=${2:-} + # Parse the input string with multiple lines: "a\nb\nc" into an array + mapfile -t cache_directories <<< "$3" + + echo "Loading ${#cache_directories[@]} from cacheDirectories (package.json):" + + for cachepath in "${cache_directories[@]}"; do + if [ -e "$build_dir/$cachepath" ]; then + echo "- $cachepath (exists - skipping)" + else + if [ -e "$cache_dir/node/cache/$cachepath" ]; then + echo "- $cachepath" + mkdir -p "$(dirname "$build_dir/$cachepath")" + mv "$cache_dir/node/cache/$cachepath" "$build_dir/$cachepath" + else + echo "- $cachepath (not cached - skipping)" + fi + fi + done +} + +clear_cache() { + local cache_dir="$1" + rm -rf "$cache_dir/node" + mkdir -p "$cache_dir/node" + mkdir -p "$cache_dir/node/cache" +} + +save_default_cache_directories() { + local build_dir=${1:-} + local cache_dir=${2:-} + local yarn_cache_dir=${3:-} + local npm_cache=${4:-} + + if [[ "$YARN" == "true" ]]; then + if [[ -d "$yarn_cache_dir" ]]; then + if [[ "$YARN_2" == "true" ]] && ! node_modules_enabled "$BUILD_DIR"; then + cp -RTf "$yarn_cache_dir" "$cache_dir/node/cache/yarn" + else + mv "$yarn_cache_dir" "$cache_dir/node/cache/yarn" + fi + echo "- yarn cache" + fi + elif [[ "$USE_NPM_INSTALL" == "false" ]]; then + if [[ -d "$npm_cache" ]]; then + mv "$npm_cache" "$cache_dir/node/cache/npm" + echo "- npm cache" + else + echo "- npm cache (nothing to cache)" + fi + else + # node_modules + if [[ -e "$build_dir/node_modules" ]]; then + echo "- node_modules" + mkdir -p "$cache_dir/node/cache/node_modules" + cp -a "$build_dir/node_modules" "$(dirname "$cache_dir/node/cache/node_modules")" + else + # this can happen if there are no dependencies + mcount "cache.no-node-modules" + echo "- node_modules (nothing to cache)" + fi + fi + + # bower_components + if [[ -e "$build_dir/bower_components" ]]; then + mcount "cache.saved-bower-components" + meta_set "cached-bower-components" "true" + echo "- bower_components" + mkdir -p "$cache_dir/node/cache/bower_components" + cp -a "$build_dir/bower_components" "$(dirname "$cache_dir/node/cache/bower_components")" + fi + + meta_set "node-custom-cache-dirs" "false" +} + +save_custom_cache_directories() { + local cache_directories + local build_dir=${1:-} + local cache_dir=${2:-} + # Parse the input string with multiple lines: "a\nb\nc" into an array + mapfile -t cache_directories <<< "$3" + + echo "Saving ${#cache_directories[@]} cacheDirectories (package.json):" + + for cachepath in "${cache_directories[@]}"; do + if [ -e "$build_dir/$cachepath" ]; then + echo "- $cachepath" + mkdir -p "$cache_dir/node/cache/$cachepath" + cp -a "$build_dir/$cachepath" "$(dirname "$cache_dir/node/cache/$cachepath")" + else + echo "- $cachepath (nothing to cache)" + fi + done + + meta_set "node-custom-cache-dirs" "true" +} diff --git a/lib/dependencies.sh b/lib/dependencies.sh new file mode 100644 index 000000000..2c160b1e6 --- /dev/null +++ b/lib/dependencies.sh @@ -0,0 +1,309 @@ +#!/usr/bin/env bash + +measure_size() { + (du -s node_modules 2>/dev/null || echo 0) | awk '{print $1}' +} + +list_dependencies() { + local build_dir="$1" + + cd "$build_dir" || return + if $YARN; then + echo "" + (yarn list --depth=0 || true) 2>/dev/null + echo "" + else + (npm ls --depth=0 | tail -n +2 || true) 2>/dev/null + fi +} + +run_if_present() { + local build_dir=${1:-} + local script_name=${2:-} + local has_script_name + local script + + has_script_name=$(has_script "$build_dir/package.json" "$script_name") + script=$(read_json "$build_dir/package.json" ".scripts[\"$script_name\"]") + + if [[ "$has_script_name" == "true" ]]; then + if $YARN || $YARN_2; then + echo "Running $script_name (yarn)" + # yarn will throw an error if the script is an empty string, so check for this case + if [[ -n "$script" ]]; then + monitor "${script_name}-script" yarn run "$script_name" + fi + else + echo "Running $script_name" + monitor "${script_name}-script" npm run "$script_name" --if-present + fi + fi +} + +run_build_if_present() { + local build_dir=${1:-} + local script_name=${2:-} + local has_script_name + local script + + has_script_name=$(has_script "$build_dir/package.json" "$script_name") + script=$(read_json "$build_dir/package.json" ".scripts[\"$script_name\"]") + + if [[ "$script" == "ng build" ]]; then + warn "\"ng build\" detected as build script. We recommend you use \`ng build --prod\` or add \`--prod\` to your build flags. See https://devcenter.heroku.com/articles/nodejs-support#build-flags" + fi + + if [[ "$has_script_name" == "true" ]]; then + if $YARN || $YARN_2; then + echo "Running $script_name (yarn)" + # yarn will throw an error if the script is an empty string, so check for this case + if [[ -n "$script" ]]; then + if [[ -n $NODE_BUILD_FLAGS ]]; then + echo "Running with $NODE_BUILD_FLAGS flags" + monitor "${script_name}-script" yarn run "$script_name" "$NODE_BUILD_FLAGS" + else + monitor "${script_name}-script" yarn run "$script_name" + fi + fi + else + echo "Running $script_name" + if [[ -n $NODE_BUILD_FLAGS ]]; then + echo "Running with $NODE_BUILD_FLAGS flags" + monitor "${script_name}-script" npm run "$script_name" --if-present -- "$NODE_BUILD_FLAGS" + else + monitor "${script_name}-script" npm run "$script_name" --if-present + fi + fi + fi +} + +run_prebuild_script() { + local build_dir=${1:-} + local has_heroku_prebuild_script + + has_heroku_prebuild_script=$(has_script "$build_dir/package.json" "heroku-prebuild") + + if [[ "$has_heroku_prebuild_script" == "true" ]]; then + mcount "script.heroku-prebuild" + header "Prebuild" + run_if_present "$build_dir" 'heroku-prebuild' + fi +} + +run_build_script() { + local build_dir=${1:-} + local has_build_script has_heroku_build_script + + has_build_script=$(has_script "$build_dir/package.json" "build") + has_heroku_build_script=$(has_script "$build_dir/package.json" "heroku-postbuild") + if [[ "$has_heroku_build_script" == "true" ]] && [[ "$has_build_script" == "true" ]]; then + echo "Detected both \"build\" and \"heroku-postbuild\" scripts" + mcount "scripts.heroku-postbuild-and-build" + run_if_present "$build_dir" 'heroku-postbuild' + elif [[ "$has_heroku_build_script" == "true" ]]; then + mcount "scripts.heroku-postbuild" + run_if_present "$build_dir" 'heroku-postbuild' + elif [[ "$has_build_script" == "true" ]]; then + mcount "scripts.build" + run_build_if_present "$build_dir" 'build' + fi +} + +run_cleanup_script() { + local build_dir=${1:-} + local has_heroku_cleanup_script + + has_heroku_cleanup_script=$(has_script "$build_dir/package.json" "heroku-cleanup") + + if [[ "$has_heroku_cleanup_script" == "true" ]]; then + mcount "script.heroku-cleanup" + header "Cleanup" + run_if_present "$build_dir" 'heroku-cleanup' + fi +} + +log_build_scripts() { + local build_dir=${1:-} + + meta_set "build-script" "$(read_json "$build_dir/package.json" ".scripts[\"build\"]")" + meta_set "postinstall-script" "$(read_json "$build_dir/package.json" ".scripts[\"postinstall\"]")" + meta_set "heroku-prebuild-script" "$(read_json "$build_dir/package.json" ".scripts[\"heroku-prebuild\"]")" + meta_set "heroku-postbuild-script" "$(read_json "$build_dir/package.json" ".scripts[\"heroku-postbuild\"]")" +} + +yarn_node_modules() { + local build_dir=${1:-} + local production=${YARN_PRODUCTION:-false} + + echo "Installing node modules (yarn.lock)" + cd "$build_dir" || return + monitor "yarn-install" yarn install --production="$production" --frozen-lockfile --ignore-engines --prefer-offline 2>&1 +} + +yarn_2_install() { + local build_dir=${1:-} + + echo "Running 'yarn install' with yarn.lock" + cd "$build_dir" || return + + monitor "yarn-2-install" yarn install --immutable 2>&1 +} + +yarn_prune_devdependencies() { + local build_dir=${1:-} + local cache_dir=${2:-} + local buildpack_dir=${3:-} + + if [ "$NODE_ENV" == "test" ]; then + echo "Skipping because NODE_ENV is 'test'" + meta_set "skipped-prune" "true" + return 0 + elif [ "$NODE_ENV" != "production" ]; then + echo "Skipping because NODE_ENV is not 'production'" + meta_set "skipped-prune" "true" + return 0 + elif [ -n "$YARN_PRODUCTION" ]; then + echo "Skipping because YARN_PRODUCTION is '$YARN_PRODUCTION'" + meta_set "skipped-prune" "true" + return 0 + elif $YARN_2; then + if [ "$YARN2_SKIP_PRUNING" == "true" ]; then + echo "Skipping because YARN2_SKIP_PRUNING is '$YARN2_SKIP_PRUNING'" + meta_set "skipped-prune" "true" + return 0 + fi + cd "$build_dir" || return + echo "Running 'yarn heroku prune'" + export YARN_PLUGINS="${buildpack_dir}/yarn2-plugins/prune-dev-dependencies/bundles/@yarnpkg/plugin-prune-dev-dependencies.js" + monitor "yarn-prune" yarn heroku prune + meta_set "skipped-prune" "false" + else + cd "$build_dir" || return + monitor "yarn-prune" yarn install --frozen-lockfile --ignore-engines --ignore-scripts --prefer-offline 2>&1 + meta_set "skipped-prune" "false" + fi +} + +has_npm_lock() { + local build_dir=${1:-} + + if [[ -f "$build_dir/package-lock.json" ]] || [[ -f "$build_dir/npm-shrinkwrap.json" ]]; then + echo "true" + else + echo "false" + fi +} + +should_use_npm_ci() { + local build_dir=${1:-} + local npm_version + + npm_version=$(npm --version) + # major_string will be ex: "4." "5." "10" + local major_string=${npm_version:0:2} + # strip any "."s from major_string + local major=${major_string//.} + + # We should only run `npm ci` if all of the manifest files are there, and we are running at least npm 6.x + # `npm ci` was introduced in the 5.x line in 5.7.0, but this sees very little usage, < 5% of builds + if [[ -f "$build_dir/package.json" ]] && [[ "$(has_npm_lock "$build_dir")" == "true" ]] && (( major >= 6 )); then + echo "true" + else + echo "false" + fi +} + +npm_node_modules() { + local build_dir=${1:-} + local production=${NPM_CONFIG_PRODUCTION:-false} + + if [ -e "$build_dir/package.json" ]; then + cd "$build_dir" || return + + if [[ "$USE_NPM_INSTALL" == "false" ]]; then + meta_set "use-npm-ci" "true" + echo "Installing node modules" + monitor "npm-install" npm ci --production="$production" --unsafe-perm --userconfig "$build_dir/.npmrc" 2>&1 + else + meta_set "use-npm-ci" "false" + if [ -e "$build_dir/package-lock.json" ]; then + echo "Installing node modules (package.json + package-lock)" + elif [ -e "$build_dir/npm-shrinkwrap.json" ]; then + echo "Installing node modules (package.json + shrinkwrap)" + else + echo "Installing node modules (package.json)" + fi + monitor "npm-install" npm install --production="$production" --unsafe-perm --userconfig "$build_dir/.npmrc" 2>&1 + fi + else + echo "Skipping (no package.json)" + fi +} + +npm_rebuild() { + local build_dir=${1:-} + local production=${NPM_CONFIG_PRODUCTION:-false} + + if [ -e "$build_dir/package.json" ]; then + cd "$build_dir" || return + echo "Rebuilding any native modules" + npm rebuild 2>&1 + if [ -e "$build_dir/npm-shrinkwrap.json" ]; then + echo "Installing any new modules (package.json + shrinkwrap)" + else + echo "Installing any new modules (package.json)" + fi + monitor "npm-rebuild" npm install --production="$production" --unsafe-perm --userconfig "$build_dir/.npmrc" 2>&1 + else + echo "Skipping (no package.json)" + fi +} + +npm_prune_devdependencies() { + local npm_version + local build_dir=${1:-} + + npm_version=$(npm --version) + + if [ "$NODE_ENV" == "test" ]; then + echo "Skipping because NODE_ENV is 'test'" + meta_set "skipped-prune" "true" + return 0 + elif [ "$NODE_ENV" != "production" ]; then + echo "Skipping because NODE_ENV is not 'production'" + meta_set "skipped-prune" "true" + return 0 + elif [ -n "$NPM_CONFIG_PRODUCTION" ]; then + echo "Skipping because NPM_CONFIG_PRODUCTION is '$NPM_CONFIG_PRODUCTION'" + meta_set "skipped-prune" "true" + return 0 + elif [ "$npm_version" == "5.3.0" ]; then + mcount "skip-prune-issue-npm-5.3.0" + echo "Skipping because npm 5.3.0 fails when running 'npm prune' due to a known issue" + echo "https://github.com/npm/npm/issues/17781" + echo "" + echo "You can silence this warning by updating to at least npm 5.7.1 in your package.json" + echo "https://devcenter.heroku.com/articles/nodejs-support#specifying-an-npm-version" + meta_set "skipped-prune" "true" + return 0 + elif [ "$npm_version" == "5.6.0" ] || + [ "$npm_version" == "5.5.1" ] || + [ "$npm_version" == "5.5.0" ] || + [ "$npm_version" == "5.4.2" ] || + [ "$npm_version" == "5.4.1" ] || + [ "$npm_version" == "5.2.0" ] || + [ "$npm_version" == "5.1.0" ]; then + mcount "skip-prune-issue-npm-5.6.0" + echo "Skipping because npm $npm_version sometimes fails when running 'npm prune' due to a known issue" + echo "https://github.com/npm/npm/issues/19356" + echo "" + echo "You can silence this warning by updating to at least npm 5.7.1 in your package.json" + echo "https://devcenter.heroku.com/articles/nodejs-support#specifying-an-npm-version" + meta_set "skipped-prune" "true" + return 0 + else + cd "$build_dir" || return + monitor "npm-prune" npm prune --userconfig "$build_dir/.npmrc" 2>&1 + meta_set "skipped-prune" "false" + fi +} diff --git a/lib/environment.sh b/lib/environment.sh new file mode 100644 index 000000000..2be01abfb --- /dev/null +++ b/lib/environment.sh @@ -0,0 +1,110 @@ +#!/usr/bin/env bash + +get_os() { + uname | tr '[:upper:]' '[:lower:]' +} + +get_cpu() { + if [[ "$(uname -p)" = "i686" ]]; then + echo "x86" + else + echo "x64" + fi +} + +get_platform() { + os=$(get_os) + cpu=$(get_cpu) + echo "$os-$cpu" +} + +create_default_env() { + local YARN=$1 + + export NPM_CONFIG_LOGLEVEL=${NPM_CONFIG_LOGLEVEL:-error} + export NODE_MODULES_CACHE=${NODE_MODULES_CACHE:-true} + export NODE_ENV=${NODE_ENV:-production} + export NODE_VERBOSE=${NODE_VERBOSE:-false} + + if $YARN; then + export USE_YARN_CACHE=${USE_YARN_CACHE:-true} + fi + + if [[ -n "$USE_NPM_INSTALL" ]]; then + export USE_NPM_INSTALL=${USE_NPM_INSTALL} + fi +} + +create_build_env() { + # if the user hasn't set NODE_OPTIONS, increase the default amount of space + # that a node process can address to match that of the build dynos (2.5GB) + if [[ -z $NODE_OPTIONS ]]; then + export NODE_OPTIONS="--max_old_space_size=2560" + fi +} + +list_node_config() { + echo "" + printenv | grep ^NPM_CONFIG_ || true + printenv | grep ^YARN_ || true + printenv | grep ^USE_NPM_ || true + printenv | grep ^USE_YARN_ || true + printenv | grep ^NODE_ || true + + if [ "$NPM_CONFIG_PRODUCTION" = "true" ] && [ "$NODE_ENV" != "production" ]; then + echo "" + echo "npm scripts will see NODE_ENV=production (not '${NODE_ENV}')" + echo "https://docs.npmjs.com/misc/config#production" + fi + + if [ "$NPM_CONFIG_PRODUCTION" == "true" ]; then + mcount "npm-config-production-true" + elif [ "$NPM_CONFIG_PRODUCTION" == "false" ]; then + mcount "npm-config-production-false" + fi +} + +export_env_dir() { + local env_dir=$1 + if [ -d "$env_dir" ]; then + local whitelist_regex=${2:-''} + local blacklist_regex=${3:-'^(PATH|GIT_DIR|CPATH|CPPATH|LD_PRELOAD|LIBRARY_PATH|LANG|BUILD_DIR)$'} + # shellcheck disable=SC2164 + pushd "$env_dir" >/dev/null + for e in *; do + [ -e "$e" ] || continue + echo "$e" | grep -E "$whitelist_regex" | grep -qvE "$blacklist_regex" && + export "$e=$(cat "$e")" + : + done + # shellcheck disable=SC2164 + popd >/dev/null + fi +} + +write_profile() { + local bp_dir="$1" + local build_dir="$2" + mkdir -p "$build_dir/.profile.d" + cp "$bp_dir"/profile/* "$build_dir/.profile.d/" +} + +write_ci_profile() { + local bp_dir="$1" + local build_dir="$2" + write_profile "$1" "$2" + cp "$bp_dir"/ci-profile/* "$build_dir/.profile.d/" +} + +write_export() { + local bp_dir="$1" + local build_dir="$2" + + # only write the export script if the buildpack directory is writable. + # this may occur in situations outside of Heroku, such as running the + # buildpacks locally. + if [ -w "$bp_dir" ]; then + echo "export PATH=\"$build_dir/.heroku/node/bin:$build_dir/.heroku/yarn/bin:\$PATH:$build_dir/node_modules/.bin\"" > "$bp_dir/export" + echo "export NODE_HOME=\"$build_dir/.heroku/node\"" >> "$bp_dir/export" + fi +} diff --git a/lib/failure.sh b/lib/failure.sh new file mode 100644 index 000000000..33f0b76b4 --- /dev/null +++ b/lib/failure.sh @@ -0,0 +1,842 @@ +#!/usr/bin/env bash + +warnings=$(mktemp -t heroku-buildpack-nodejs-XXXX) + +detect_package_manager() { + case $YARN in + true) echo "yarn";; + *) echo "npm";; + esac +} + +fail() { + meta_time "build-time" "$build_start_time" + log_meta_data >> "$BUILDPACK_LOG_FILE" + exit 1 +} + +failure_message() { + local warn + + warn="$(cat "$warnings")" + + echo "" + echo "We're sorry this build is failing! You can troubleshoot common issues here:" + echo "https://devcenter.heroku.com/articles/troubleshooting-node-deploys" + echo "" + if [ "$warn" != "" ]; then + echo "Some possible problems:" + echo "" + echo "$warn" + else + echo "If you're stuck, please submit a ticket so we can help:" + echo "https://help.heroku.com/" + fi + echo "" + echo "Love," + echo "Heroku" + echo "" +} + +fail_invalid_package_json() { + local is_invalid + + is_invalid=$(is_invalid_json_file "${1:-}/package.json") + + if "$is_invalid"; then + error "Unable to parse package.json" + mcount 'failures.parse.package-json' + meta_set "failure" "invalid-package-json" + header "Build failed" + failure_message + fail + fi +} + +fail_dot_heroku() { + if [ -f "${1:-}/.heroku" ]; then + mcount "failures.dot-heroku" + meta_set "failure" "dot-heroku" + header "Build failed" + warn "The directory .heroku could not be created + + It looks like a .heroku file is checked into this project. + The Node.js buildpack uses the hidden directory .heroku to store + binaries like the node runtime and npm. You should remove the + .heroku file or ignore it by adding it to .slugignore + " + fail + fi +} + +fail_dot_heroku_node() { + if [ -f "${1:-}/.heroku/node" ]; then + mcount "failures.dot-heroku-node" + meta_set "failure" "dot-heroku-node" + header "Build failed" + warn "The directory .heroku/node could not be created + + It looks like a .heroku file is checked into this project. + The Node.js buildpack uses the hidden directory .heroku to store + binaries like the node runtime and npm. You should remove the + .heroku file or ignore it by adding it to .slugignore + " + fail + fi +} + +fail_iojs_unsupported() { + local build_dir="$1" + local iojs_engine + iojs_engine=$(read_json "$build_dir/package.json" ".engines.iojs") + + if [ -n "$iojs_engine" ]; then + mcount "failures.iojs-unsupported" + meta_set "failure" "iojs-unsupported" + warn "io.js no longer supported + + You are specifying an io.js version in your package.json: + + \"engines\": { + ... + \"iojs\": \"${iojs_engine}\" + } + + io.js merged back into Nodejs.org in 2015 and has been unsupported + for many years. It is likely to contain several large security + vulnerabilities that have been patched in Node. + + You can update your app to use the official Node.js release by + removing the version specfication under \"engines\" in your + package.json. + " + fail + fi +} + +fail_multiple_lockfiles() { + local has_modern_lockfile=false + if [ -f "${1:-}/yarn.lock" ] || [ -f "${1:-}/package-lock.json" ]; then + has_modern_lockfile=true + fi + + if [ -f "${1:-}/yarn.lock" ] && [ -f "${1:-}/package-lock.json" ]; then + mcount "failures.two-lock-files" + meta_set "failure" "two-lock-files" + header "Build failed" + warn "Two different lockfiles found: package-lock.json and yarn.lock + + Both npm and yarn have created lockfiles for this application, + but only one can be used to install dependencies. Installing + dependencies using the wrong package manager can result in missing + packages or subtle bugs in production. + + - To use npm to install your application's dependencies please delete + the yarn.lock file. + + $ git rm yarn.lock + + - To use yarn to install your application's dependencies please delete + the package-lock.json file. + + $ git rm package-lock.json + " https://help.heroku.com/0KU2EM53 + fail + fi + + if $has_modern_lockfile && [ -f "${1:-}/npm-shrinkwrap.json" ]; then + mcount "failures.shrinkwrap-lock-file-conflict" + meta_set "failure" "shrinkwrap-lock-file-conflict" + header "Build failed" + warn "Two different lockfiles found + + Your application has two lockfiles defined, but only one can be used + to install dependencies. Installing dependencies using the wrong lockfile + can result in missing packages or subtle bugs in production. + + It's most likely that you recently installed yarn which has its own + lockfile by default, which conflicts with the shrinkwrap file you've been + using. + + Please make sure there is only one of the following files in your + application directory: + + - yarn.lock + - package-lock.json + - npm-shrinkwrap.json + " https://help.heroku.com/0KU2EM53 + fail + fi +} + +fail_yarn_outdated() { + local yarn_engine + local log_file="$1" + + if grep -qi 'error .install. has been replaced with .add. to add new dependencies' "$log_file"; then + yarn_engine=$(yarn --version) + mcount "failures.outdated-yarn" + meta_set "failure" "outdated-yarn" + echo "" + warn "Outdated Yarn version: $yarn_engine + + Your application is specifying a requirement on an old version of Yarn ($yarn_engine) + which does not support the --frozen-lockfile option. Please upgrade to a + newer version, at least 0.19, by updating your requirement in the 'engines' + field in your package.json. + + \"engines\": { + \"yarn\": \"1.3.2\" + } + " https://devcenter.heroku.com/articles/nodejs-support#specifying-a-yarn-version + fail + fi +} + +fail_yarn_lockfile_outdated() { + local log_file="$1" + if grep -qi 'Your lockfile needs to be updated' "$log_file"; then + mcount "failures.outdated-yarn-lockfile" + meta_set "failure" "outdated-yarn-lockfile" + echo "" + warn "Outdated Yarn lockfile + + Your application contains a Yarn lockfile (yarn.lock) which does not + match the dependencies in package.json. This can happen if you use npm + to install or update a dependency instead of Yarn. + + Please run the following command in your application directory and check + in the new yarn.lock file: + + $ yarn install + $ git add yarn.lock + $ git commit -m \"Updated Yarn lockfile\" + $ git push heroku main + " https://help.heroku.com/TXYS53YJ + fail + fi +} + +fail_bin_install() { + local error + local bin="$1" + local version="$2" + + # Allow the subcommand to fail without trapping the error so we can + # get the failing message output + set +e + + # re-request the result, saving off the reason for the failure this time + error=$($RESOLVE "$BP_DIR/inventory/$bin.toml" "$version" 2>&1) + + # re-enable trapping + set -e + + if [[ $error = "No result" ]]; then + case $bin in + node) + echo "Could not find Node version corresponding to version requirement: $version";; + iojs) + echo "Could not find Iojs version corresponding to version requirement: $version";; + yarn) + echo "Could not find Yarn version corresponding to version requirement: $version";; + esac + elif [[ $error == "Could not parse"* ]] || [[ $error == "Could not get"* ]]; then + echo "Error: Invalid semantic version \"$version\"" + else + echo "Error: Unknown error installing \"$version\" of $bin" + fi + + return 1 +} + +fail_node_install() { + local node_engine + local log_file="$1" + local build_dir="$2" + + if grep -qi 'Could not find Node version corresponding to version requirement' "$log_file"; then + node_engine=$(read_json "$build_dir/package.json" ".engines.node") + mcount "failures.invalid-node-version" + meta_set "failure" "invalid-node-version" + echo "" + warn "No matching version found for Node: $node_engine + + Heroku supports the latest Stable version of Node.js as well as all + active LTS (Long-Term-Support) versions, however you have specified + a version in package.json ($node_engine) that does not correspond to + any published version of Node.js. + + You should always specify a Node.js version that matches the runtime + you’re developing and testing with. To find your version locally: + + $ node --version + v6.11.1 + + Use the engines section of your package.json to specify the version of + Node.js to use on Heroku. Drop the ‘v’ to save only the version number: + + \"engines\": { + \"node\": \"6.11.1\" + } + " https://help.heroku.com/6235QYN4/ + fail + fi +} + +fail_yarn_install() { + local yarn_engine + local log_file="$1" + local build_dir="$2" + + if grep -qi 'Could not find Yarn version corresponding to version requirement' "$log_file"; then + yarn_engine=$(read_json "$build_dir/package.json" ".engines.yarn") + mcount "failures.invalid-yarn-version" + meta_set "failure" "invalid-yarn-version" + echo "" + warn "No matching version found for Yarn: $yarn_engine + + Heroku supports most versions of Yarn published on npm, however you have + specified a version in package.json ($yarn_engine) that does not correspond + to any published version of Yarn. You can see a list of all published + versions of Yarn with the following command: + + $ yarn info yarn versions + + You should always specify a Yarn version that matches the version + you’re developing and testing with. To find your version locally: + + $ yarn --version + 1.12.3 + + Use the engines section of your package.json to specify the version of + Yarn to use on Heroku. + + \"engines\": { + \"yarn\": \"1.x\" + } + " https://help.heroku.com/8MEL050H + fail + fi +} + +fail_invalid_semver() { + local log_file="$1" + if grep -qi 'Error: Invalid semantic version' "$log_file"; then + mcount "failures.invalid-semver-requirement" + meta_set "failure" "invalid-semver-requirement" + echo "" + warn "Invalid semver requirement + + Node, Yarn, and npm adhere to semver, the semantic versioning convention + popularized by GitHub. + + http://semver.org/ + + However you have specified a version requirement that is not a valid + semantic version. + " https://help.heroku.com/0ZIOF3ST + fail + fi +} + +# Yarn 2 failures + +fail_using_yarn2_with_yarn_production_environment_variable_set() { + local yarn_engine + local skip_pruning + local log_file="$1" + + if grep -qi 'Unrecognized or legacy configuration settings found: production' "$log_file"; then + yarn_engine=$(yarn --version) + if [[ "$YARN_PRODUCTION" == "true" ]]; then + skip_pruning=false + else + skip_pruning=true + fi + + mcount "failures.yarn2-with-yarn-production-env-set" + meta_set "failure" "yarn2-with-yarn-production-env-set" + echo "" + warn "Legacy Yarn 1.x configuration present: + + Your application uses Yarn v$yarn_engine which does not support the YARN_PRODUCTION environment variable. Please + update your heroku config vars to remove YARN_PRODUCTION and set YARN2_SKIP_PRUNING instead. + + $ heroku config:unset YARN_PRODUCTION && heroku config:set YARN2_SKIP_PRUNING=$skip_pruning + " https://devcenter.heroku.com/articles/nodejs-support#skip-pruning + fail + fi +} + +fail_missing_yarnrc_yml() { + local build_dir="$1" + + if [[ ! -f "$build_dir/.yarnrc.yml" ]]; then + mcount "failures.missing-yarnrc-yml" + meta_set "failure" "missing-yarnrc-yml" + header "Build failed" + warn "The 'yarnrc.yml' file is not found + + It looks like the 'yarnrc.yml' file is missing from this project. Please + make sure this file is checked into version control and made available to + Heroku. + + To generate 'yarnrc.yml', make sure Yarn 2 is installed on your local + machine and set the version in your project directory with: + + $ yarn set version berry + + Read more at the Yarn docs: https://yarnpkg.com/getting-started/install#per-project-install + " + fail + fi +} + +fail_missing_yarn_path() { + local build_dir="$1" + local yarn_path="$2" + + if [[ "$yarn_path" == "" ]]; then + mcount "failures.missing-yarn-path" + meta_set "failure" "missing-yarn-path" + header "Build failed" + warn "The 'yarnPath' could not be read from the 'yarnrc.yml' file + + It looks like 'yarnrc.yml' is missing the 'yarnPath' value, which is needed + to identify the location of yarn for this build. + + To regenerate 'yarnrc.yml' with the 'yarnPath' value set, make sure Yarn 2 + is installed on your local machine and set the version in your project + directory with: + + $ yarn set version berry + + Read more at the Yarn docs: https://yarnpkg.com/getting-started/install#per-project-install + " + fail + fi +} + +fail_missing_yarn_vendor() { + local build_dir="$1" + local yarn_path="$2" + + if [[ ! -f "$build_dir/$yarn_path" ]]; then + mcount "failures.missing-yarn-vendor" + meta_set "failure" "missing-yarn-vendor" + header "Build failed" + warn "Yarn was not found + + It looks like yarn is missing from $yarn_path, which is needed to continue + this build on Heroku. Yarn 2 recommends vendoring Yarn under the '.yarn/releases' + directory, so remember to check the '.yarn' directory into version control + to use during builds. + + To generate the '.yarn' directory correctly, make sure Yarn 2 is installed + on your local machine and run the following in your project directory: + + $ yarn install + $ yarn set version berry + + Read more at the Yarn docs: https://yarnpkg.com/getting-started/install#per-project-install + " + fail + fi +} + +log_other_failures() { + local log_file="$1" + + if grep -qP "version \`GLIBC_\d+\.\d+' not found" "$log_file"; then + mcount "failures.libc6-incompatibility" + meta_set "failure" "libc6-incompatibility" + warn "This Node.js version is not compatible with the current stack. + + For Node.js versions 18 and greater, heroku-20 or newer is required. + Consider updating to a stack that is compatible with the Node.js version + or pinning the Node.js version to be compatible with the current + stack." https://help.heroku.com/R7DTSTD0 + + return 0 + fi + + if grep -qi "sh: 1: .*: not found" "$log_file"; then + mcount "failures.dev-dependency-tool-not-installed" + meta_set "failure" "dev-dependency-tool-not-installed" + return 0 + fi + + if grep -qi "Failed at the bcrypt@\d.\d.\d install script" "$log_file"; then + mcount "failures.bcrypt-permissions-issue" + meta_set "failure" "bcrypt-permissions-issue" + return 0 + fi + + if grep -qi "Versions of @angular/compiler-cli and typescript could not be determined" "$log_file"; then + mcount "failures.ng-cli-version-issue" + meta_set "failure" "ng-cli-version-issue" + return 0 + fi + + if grep -qi "Cannot read property '0' of undefined" "$log_file"; then + mcount "failures.npm-property-zero-issue" + meta_set "failure" "npm-property-zero-issue" + return 0 + fi + + if grep -qi "npm is known not to run on Node.js v\d.\d.\d" "$log_file"; then + mcount "failures.npm-known-bad-version" + meta_set "failure" "npm-known-bad-version" + return 0 + fi + + # "notarget No matching version found for" = npm + # "error Couldn't find any versions for" = yarn + if grep -q -e "notarget No matching version found for" -e "error Couldn't find any versions for" "$log_file"; then + mcount "failures.bad-version-for-dependency" + meta_set "failure" "bad-version-for-dependency" + return 0 + fi + + if grep -qi "You are likely using a version of node-tar or npm that is incompatible with this version of Node.js" "$log_file"; then + mcount "failures.node-9-npm-issue" + meta_set "failure" "node-9-npm-issue" + return 0 + fi + + if grep -qi "console.error(\`a bug known to break npm" "$log_file"; then + mcount "failures.old-node-new-npm" + meta_set "failure" "old-node-new-npm" + return 0 + fi + + if grep -qi "CALL_AND_RETRY_LAST Allocation failed" "$log_file"; then + mcount "failures.build-out-of-memory-error" + meta_set "failure" "build-out-of-memory-error" + return 0 + fi + + if grep -qi "enoent ENOENT: no such file or directory" "$log_file"; then + mcount "failures.npm-enoent" + meta_set "failure" "npm-enoent" + return 0 + fi + + if grep -qi "ERROR in [^ ]* from UglifyJs" "$log_file"; then + mcount "failures.uglifyjs" + meta_set "failure" "uglifyjs" + return 0 + fi + + # https://github.com/angular/angular-cli/issues/4551 + if grep -qi "Module not found: Error: Can't resolve '\.\/\$\$_gendir\/app\/app\.module\.ngfactory'" "$log_file"; then + mcount "failures.ng-cli-issue-4551" + meta_set "failure" "ng-cli-issue-4551" + return 0 + fi + + if grep -qi "Host key verification failed" "$log_file"; then + mcount "failures.private-git-dependency-without-auth" + meta_set "failure" "private-git-dependency-without-auth" + return 0 + fi + + # same as the next test, but isolate bcyrpt specifically + if grep -qi "Failed at the bcrypt@\d\.\d\.\d install" "$log_file"; then + mcount "failures.bcrypt-failed-to-build" + meta_set "failure" "bcrypt-failed-to-build" + return 0 + fi + + if grep -qi "Failed at the [^ ]* install script" "$log_file"; then + mcount "failures.dependency-failed-to-build" + meta_set "failure" "dependency-failed-to-build" + return 0 + fi + + if grep -qi "Line \d*: '.*' is not defined" "$log_file"; then + mcount "failures.undefined-variable-lint" + meta_set "failure" "undefined-variable-lint" + return 0 + fi + + if grep -qi "npm ERR! code EBADPLATFORM" "$log_file"; then + mcount "failures.npm-ebadplatform" + meta_set "failure" "npm-ebadplatform" + return 0 + fi + + if grep -qi "npm ERR! code EINVALIDPACKAGENAME" "$log_file"; then + mcount "failures.npm-package-name-typo" + meta_set "failure" "npm-package-name-typo" + return 0 + fi + + if grep -qi -e "npm ERR! code E404" -e "error An unexpected error occurred: .* Request failed \"404 Not Found\"" "$log_file"; then + mcount "failures.module-404" + meta_set "failure" "module-404" + + if grep -qi "flatmap-stream" "$log_file"; then + mcount "flatmap-stream-404" + meta_set "failure" "flatmap-stream-404" + warn "The flatmap-stream module has been removed from the npm registry + + On November 26th, npm was notified of a malicious package that had made its + way into event-stream, a popular npm package. After triaging the malware, + npm responded by removing flatmap-stream and event-stream@3.3.6 from the Registry + and taking ownership of the event-stream package to prevent further abuse. + " https://help.heroku.com/4OM7X18J + fail + fi + + return 0 + fi + + if grep -qi "sh: 1: cd: can't cd to" "$log_file"; then + mcount "failures.cd-command-fail" + meta_set "failure" "cd-command-fail" + return 0 + fi + + # Webpack Errors + + if grep -qi "Module not found: Error: Can't resolve" "$log_file"; then + mcount "failures.webpack.module-not-found" + meta_set "failure" "webpack-module-not-found" + return 0 + fi + + if grep -qi "sass-loader/lib/loader.js:3:14" "$log_file"; then + mcount "failures.webpack.sass-loader-error" + meta_set "failure" "webpack-sass-loader-error" + return 0 + fi + + # Typescript errors + + if grep -qi "Property '.*' does not exist on type '.*'" "$log_file"; then + mcount "failures.typescript.missing-property" + meta_set "failure" "typescript-missing-property" + return 0 + fi + + if grep -qi "Property '.*' is private and only accessible within class '.*'" "$log_file"; then + mcount "failures.typescript.private-property" + meta_set "failure" "typescript-private-property" + return 0 + fi + + if grep -qi "error TS2307: Cannot find module '.*'" "$log_file"; then + mcount "failures.typescript.missing-module" + meta_set "failure" "typescript-missing-module" + return 0 + fi + + if grep -qi "error TS2688: Cannot find type definition file for '.*'" "$log_file"; then + mcount "failures.typescript.missing-type-definition" + meta_set "failure" "typescript-missing-type-definition" + return 0 + fi + + # [^/C] means that the error is not for a file expected to be within the project + # Ex: Error: Cannot find module 'chalk' + if grep -q "Error: Cannot find module '[^/C\.]" "$log_file"; then + mcount "failures.missing-module.npm" + meta_set "failure" "missing-module-npm" + return 0 + fi + + # / means that the error is for a file expected within the local project + # Ex: Error: Cannot find module '/tmp/build_{hash}/...' + if grep -q "Error: Cannot find module '/" "$log_file"; then + mcount "failures.missing-module.local-absolute" + meta_set "failure" "missing-module-local-absolute" + return 0 + fi + + # /. means that the error is for a file that's a relative require + # Ex: Error: Cannot find module './lib/utils' + if grep -q "Error: Cannot find module '\." "$log_file"; then + mcount "failures.missing-module.local-relative" + meta_set "failure" "missing-module-local-relative" + return 0 + fi + + # [^/C] means that the error is not for a file expected to be found on a C: drive + # Ex: Error: Cannot find module 'C:\Users...' + if grep -q "Error: Cannot find module 'C:" "$log_file"; then + mcount "failures.missing-module.local-windows" + meta_set "failure" "missing-module-local-windows" + return 0 + fi + + # matches the subsequent lines of a stacktrace + if grep -q 'at [^ ]* \([^ ]*:\d*\d*\)' "$log_file"; then + mcount "failures.unknown-stacktrace" + meta_set "failure" "unknown-stacktrace" + return 0 + fi + + # If we've made it this far it's not an error we've added detection for yet + meta_set "failure" "unknown" + mcount "failures.unknown" +} + +warning() { + local tip=${1:-} + local url=${2:-https://devcenter.heroku.com/articles/nodejs-support} + { + echo "- $tip" + echo " $url" + echo "" + } >> "$warnings" +} + +warn() { + local tip=${1:-} + local url=${2:-https://devcenter.heroku.com/articles/nodejs-support} + echo " ! $tip" || true + echo " $url" || true + echo "" +} + +warn_aws_proxy() { + if { [[ -n "$HTTP_PROXY" ]] || [[ -n "$HTTPS_PROXY" ]]; } && [[ "$NO_PROXY" != "amazonaws.com" ]]; then + warn "Your build may fail if NO_PROXY is not set to amazonaws.com" "https://devcenter.heroku.com/articles/troubleshooting-node-deploys#aws-proxy-error" + fi +} + +warn_node_engine() { + local node_engine=${1:-} + if [ "$node_engine" == "" ]; then + warning "Node version not specified in package.json" "https://devcenter.heroku.com/articles/nodejs-support#specifying-a-node-js-version" + mcount 'warnings.node.unspecified' + elif [ "$node_engine" == "*" ]; then + warning "Dangerous semver range (*) in engines.node" "https://devcenter.heroku.com/articles/nodejs-support#specifying-a-node-js-version" + mcount 'warnings.node.star' + elif [ "${node_engine:0:1}" == ">" ]; then + warning "Dangerous semver range (>) in engines.node" "https://devcenter.heroku.com/articles/nodejs-support#specifying-a-node-js-version" + mcount 'warnings.node.greater' + fi +} + +warn_prebuilt_modules() { + local build_dir=${1:-} + if [ -e "$build_dir/node_modules" ]; then + warning "node_modules checked into source control" "https://devcenter.heroku.com/articles/node-best-practices#only-git-the-important-bits" + mcount 'warnings.modules.prebuilt' + meta_set "checked-in-node-modules" "true" + else + meta_set "checked-in-node-modules" "false" + fi +} + +warn_missing_package_json() { + local build_dir=${1:-} + if ! [ -e "$build_dir/package.json" ]; then + warning "No package.json found" + mcount 'warnings.no-package' + fi +} + +warn_old_npm() { + local npm_version latest_npm + + npm_version="$(npm --version)" + + if [ "${npm_version:0:1}" -lt "2" ]; then + warning "This version of npm ($npm_version) has several known issues. Please update your npm version in package.json." "https://devcenter.heroku.com/articles/nodejs-support#specifying-an-npm-version" + mcount 'warnings.npm.old' + fi +} + +warn_old_npm_lockfile() { + local npm_version + local npm_lock=$1 + + npm_version="$(npm --version)" + + if $npm_lock && [ "${npm_version:0:1}" -lt "5" ]; then + warn "This version of npm ($npm_version) does not support package-lock.json. Please + update your npm version in package.json." "https://devcenter.heroku.com/articles/nodejs-support#specifying-an-npm-version" + mcount 'warnings.npm.old-and-lockfile' + fi +} + +warn_untracked_dependencies() { + local log_file="$1" + if grep -qi 'gulp: not found' "$log_file" || grep -qi 'gulp: command not found' "$log_file"; then + warning "Gulp may not be tracked in package.json" "https://devcenter.heroku.com/articles/troubleshooting-node-deploys#ensure-you-aren-t-relying-on-untracked-dependencies" + mcount 'warnings.modules.untracked.gulp' + fi + if grep -qi 'grunt: not found' "$log_file" || grep -qi 'grunt: command not found' "$log_file"; then + warning "Grunt may not be tracked in package.json" "https://devcenter.heroku.com/articles/troubleshooting-node-deploys#ensure-you-aren-t-relying-on-untracked-dependencies" + mcount 'warnings.modules.untracked.grunt' + fi + if grep -qi 'bower: not found' "$log_file" || grep -qi 'bower: command not found' "$log_file"; then + warning "Bower may not be tracked in package.json" "https://devcenter.heroku.com/articles/troubleshooting-node-deploys#ensure-you-aren-t-relying-on-untracked-dependencies" + mcount 'warnings.modules.untracked.bower' + fi +} + +warn_angular_resolution() { + local log_file="$1" + if grep -qi 'Unable to find suitable version for angular' "$log_file"; then + warning "Bower may need a resolution hint for angular" "https://github.com/bower/bower/issues/1746" + mcount 'warnings.angular.resolution' + fi +} + +warn_missing_devdeps() { + local dev_deps + local log_file="$1" + local build_dir="$2" + + if grep -qi 'cannot find module' "$log_file"; then + warning "A module may be missing from 'dependencies' in package.json" "https://devcenter.heroku.com/articles/troubleshooting-node-deploys#ensure-you-aren-t-relying-on-untracked-dependencies" + mcount 'warnings.modules.missing' + if [ "$NPM_CONFIG_PRODUCTION" == "true" ]; then + dev_deps=$(read_json "$build_dir/package.json" ".devDependencies") + if [ "$dev_deps" != "" ]; then + warning "This module may be specified in 'devDependencies' instead of 'dependencies'" "https://devcenter.heroku.com/articles/nodejs-support#devdependencies" + mcount 'warnings.modules.devdeps' + fi + fi + fi +} + +warn_no_start() { + local start_script + local build_dir="$1" + + if ! [ -e "$build_dir/Procfile" ]; then + start_script=$(read_json "$build_dir/package.json" ".scripts.start") + if [ "$start_script" == "" ]; then + if ! [ -e "$build_dir/server.js" ]; then + warn "This app may not specify any way to start a node process" "https://devcenter.heroku.com/articles/nodejs-support#default-web-process-type" + mcount 'warnings.unstartable' + fi + fi + fi +} + +warn_econnreset() { + local log_file="$1" + if grep -qi 'econnreset' "$log_file"; then + warning "ECONNRESET issues may be related to npm versions" "https://github.com/npm/registry/issues/10#issuecomment-217141066" + mcount 'warnings.econnreset' + fi +} + +warn_unmet_dep() { + local package_manager + local log_file="$1" + + package_manager=$(detect_package_manager) + + if grep -qi 'unmet dependency' "$log_file" || grep -qi 'unmet peer dependency' "$log_file"; then + warn "Unmet dependencies don't fail $package_manager install but may cause runtime issues" "https://github.com/npm/npm/issues/7494" + mcount 'warnings.modules.unmet' + fi +} diff --git a/lib/features.sh b/lib/features.sh new file mode 100644 index 000000000..42ffb0a4c --- /dev/null +++ b/lib/features.sh @@ -0,0 +1,186 @@ +#!/usr/bin/env bash + +# This module is designed to be able to roll out features to a +# random segment of users for A/B testing. This takes as input a +# list of features along with % chance they will be enabled, +# decides which to enable, and persists these decisions into the +# application cache. +# +# This module takes in no outside data, so it is limited in it's +# uses. While a feature can be persisted between builds for the +# same app, it cannot be consistent for a given user / team. Even +# different PR apps will be decided independently. +# +# This means that this should not be used for changing the build +# behavior of the buildpack. Builds should always work consistently +# no matter what features are turned on or off. +# +# Where this module can be useful is when deciding between two +# identical behaviors that may have performance trade-offs, or +# testing the efficacy of different messaging. +# +# Examples: +# testing two different caching strategies against each other +# showing guidance on a particular type of failure +# +# It is expected that these features will be used for roll-outs +# and be short-lived +# +# ** Schema ** +# +# This module expects a "schema" file as input. This is used to +# make sure that all current features are documented in one +# place. The file is a list of key=value pairs on individual +# lines. +# +# The key is the name, and the value is an integery between 0 and +# 100 inclusive that represents the likelyhood that the feature +# will be turned on for any given app. +# +# Example: +# ``` +# always-on=100 // this will always be turned on, not super useful +# ab-test=50 // this will be split 50/50 +# small-test=5 // this will be turned on for 5% of apps +# ``` +# +# ** Invalidating features ** +# +# Any time the schema file contents change, the existing feature +# assignments will be invalidated and re-assigned +# +# ** Testing ** +# +# It would be frustrating if it wasn't clear when CI was running which +# branch was being used, or if tests were flaky because they were choosing +# different features for each run. +# +# To that end, there is a special file that can be included in test fixtures +# to hard-code features to turn on and off. +# +# $BUILD_DIR/heroku-buildpack-features +# +# Example: +# ``` +# feature-a=true +# feature-b=true +# ``` +# +# An empty file can be included as part of test code to default all tests +# to off +# +# Once a feature is in production, checking this file into your app +# can allow you to choose which features you want an app to use. + +# variables shared by this whole module +FEATURES_DATA_FILE="" +OVERRIDE_FILE="" + +features_init() { + local name="$1" + local build_dir="$2" + local cache_dir="$3" + local schema="$4" + + local last_schema_hash schema_hash random odds hash_file + + FEATURES_DATA_FILE="$cache_dir/features/$name" + hash_file="$cache_dir/features/$name-hash" + OVERRIDE_FILE="$build_dir/heroku-buildpack-features" + + mkdir -p "$cache_dir/features/" + touch "$hash_file" + + last_schema_hash="$(cat "$hash_file")" + schema_hash="$(sha1sum "$schema" | awk '{ print $1 }')" + + # If the schema has changed, blow away the current values + # and start fresh. This is essentially "wiping the slate clean" + # and no previous features will be enabled for anyone + # + # In the case that the schema hash is the same, we keep + # all of the previously decided features (file is the same) + # and decide on any new ones + if [[ "$last_schema_hash" != "$schema_hash" ]]; then + kv_create "$FEATURES_DATA_FILE" + kv_clear "$FEATURES_DATA_FILE" + # save out the hash we're using to generate this set of features + echo "$schema_hash" > "$hash_file" + fi + + # iterate through the schema and decide if each new feature + # should be turned on or not + kv_keys "$schema" | tr ' ' '\n' | while read -r key; do + if [[ -n "$key" ]]; then + if [[ -n "$(kv_get "$FEATURES_DATA_FILE" "$key")" ]]; then + continue + else + # generate a random number between 0 and 100 + random=$((RANDOM % 100)) + # the value in the schema should be a number between 0 and 100 inclusive + odds=$(kv_get "$schema" "$key") + if [[ "$random" -lt "$odds" ]]; then + kv_set "$FEATURES_DATA_FILE" "$key" "true" + else + kv_set "$FEATURES_DATA_FILE" "$key" "false" + fi + fi + fi + done +} + +# Determine whether an feature is enabled or disabled +# Must call features_init first, otherwise only "false" will be returned +# +# Possible outputs: "true" "false" +features_get() { + local result + if [[ -f "$OVERRIDE_FILE" ]]; then + result=$(kv_get "$OVERRIDE_FILE" "$1") + else + result=$(kv_get "$FEATURES_DATA_FILE" "$1") + fi + if [[ "$result" == "true" ]]; then + echo "true" + else + echo "false" + fi +} + +features_get_with_blank() { + local result + if [[ -f "$OVERRIDE_FILE" ]]; then + result=$(kv_get "$OVERRIDE_FILE" "$1") + else + result=$(kv_get "$FEATURES_DATA_FILE" "$1") + fi + if [[ "$result" == "true" ]]; then + echo "true" + elif [[ "$result" == "false" ]]; then + echo "false" + else + echo "" + fi +} + +# Outputs a list of feature names, one-per-line +features_list() { + if [[ -f "$OVERRIDE_FILE" ]]; then + kv_keys "$OVERRIDE_FILE" + else + kv_keys "$FEATURES_DATA_FILE" + fi +} + +# Force an feature to be turned on or off +# This is expected to be used during development +features_override() { + local name="$1" + local value="$2" + + if [[ "$value" == "true" ]]; then + kv_set "$FEATURES_DATA_FILE" "$name" "true" + else + kv_set "$FEATURES_DATA_FILE" "$name" "false" + fi +} diff --git a/lib/json.sh b/lib/json.sh new file mode 100644 index 000000000..0852af012 --- /dev/null +++ b/lib/json.sh @@ -0,0 +1,51 @@ +#!/usr/bin/env bash + +read_json() { + local file="$1" + local key="$2" + + if test -f "$file"; then + # -c = print on only one line + # -M = strip any color + # --raw-output = if the filter’s result is a string then it will be written directly + # to stdout rather than being formatted as a JSON string with quotes + # shellcheck disable=SC2002 + cat "$file" | jq -c -M --raw-output "$key // \"\"" || return 1 + else + echo "" + fi +} + +json_has_key() { + local file="$1" + local key="$2" + + if test -f "$file"; then + # shellcheck disable=SC2002 + cat "$file" | jq ". | has(\"$key\")" + else + echo "false" + fi +} + +has_script() { + local file="$1" + local key="$2" + + if test -f "$file"; then + # shellcheck disable=SC2002 + cat "$file" | jq ".[\"scripts\"] | has(\"$key\")" + else + echo "false" + fi +} + +is_invalid_json_file() { + local file="$1" + # shellcheck disable=SC2002 + if ! cat "$file" | jq "." 1>/dev/null; then + echo "true" + else + echo "false" + fi +} diff --git a/lib/kvstore.sh b/lib/kvstore.sh new file mode 100644 index 000000000..c789f8be3 --- /dev/null +++ b/lib/kvstore.sh @@ -0,0 +1,73 @@ +#!/usr/bin/env bash + +kv_create() { + local f=$1 + mkdir -p "$(dirname "$f")" + touch "$f" +} + +kv_clear() { + local f=$1 + echo "" > "$f" +} + +kv_set() { + if [[ $# -eq 3 ]]; then + local f=$1 + if [[ -f $f ]]; then + echo "$2=$3" >> "$f" + fi + fi +} + +kv_get() { + if [[ $# -eq 2 ]]; then + local f=$1 + if [[ -f $f ]]; then + grep "^$2=" "$f" | sed -e "s/^$2=//" | tail -n 1 + fi + fi +} + +# get the value, but wrap it in quotes if it contains a space +kv_get_escaped() { + local value + value=$(kv_get "$1" "$2") + if [[ $value =~ [[:space:]]+ ]]; then + echo "\"$value\"" + else + echo "$value" + fi +} + +kv_keys() { + local f=$1 + local keys=() + + if [[ -f $f ]]; then + # Iterate over each line, splitting on the '=' character + # + # The || [[ -n "$key" ]] statement addresses an issue with reading the last line + # of a file when there is no newline at the end. This will not happen if the file + # is created with this module, but can happen if it is written by hand. + # See: https://stackoverflow.com/questions/12916352/shell-script-read-missing-last-line + while IFS="=" read -r key value || [[ -n "$key" ]]; do + # if there are any empty lines in the store, skip them + if [[ -n $key ]]; then + keys+=("$key") + fi + done < "$f" + + echo "${keys[@]}" | tr ' ' '\n' | sort -u + fi +} + +kv_list() { + local f=$1 + + kv_keys "$f" | tr ' ' '\n' | while read -r key; do + if [[ -n $key ]]; then + echo "$key=$(kv_get_escaped "$f" "$key")" + fi + done +} diff --git a/lib/metadata.sh b/lib/metadata.sh new file mode 100644 index 000000000..ca677fd78 --- /dev/null +++ b/lib/metadata.sh @@ -0,0 +1,77 @@ +#!/usr/bin/env bash + +# variable shared by this whole module +BUILD_DATA_FILE="" +PREVIOUS_BUILD_DATA_FILE="" + +# Must be called before you can use any other methods +meta_init() { + local cache_dir="$1" + BUILD_DATA_FILE="$cache_dir/build-data/nodejs" + PREVIOUS_BUILD_DATA_FILE="$cache_dir/build-data/nodejs-prev" +} + +# Moves the data from the last build into the correct place, and clears the store +# This should be called after meta_init in bin/compile +meta_setup() { + # if the file already exists because it's from the last build, save it + if [[ -f "$BUILD_DATA_FILE" ]]; then + cp "$BUILD_DATA_FILE" "$PREVIOUS_BUILD_DATA_FILE" + fi + + kv_create "$BUILD_DATA_FILE" + kv_clear "$BUILD_DATA_FILE" +} + +# Force removal of exiting data file state. This is mostly useful during testing and not +# expected to be used during buildpack execution. +meta_force_clear() { + [[ -f "$BUILD_DATA_FILE" ]] && rm "$BUILD_DATA_FILE" + [[ -f "$PREVIOUS_BUILD_DATA_FILE" ]] && rm "$PREVIOUS_BUILD_DATA_FILE" +} + +meta_get() { + kv_get "$BUILD_DATA_FILE" "$1" +} + +meta_set() { + kv_set "$BUILD_DATA_FILE" "$1" "$2" +} + +# similar to mtime from stdlib +meta_time() { + local key="$1" + local start="$2" + local end="${3:-$(nowms)}" + local time + time="$(echo "${start}" "${end}" | awk '{ printf "%.3f", ($2 - $1)/1000 }')" + kv_set "$BUILD_DATA_FILE" "$key" "$time" +} + +# similar to mtime from stdlib +meta_time() { + local key="$1" + local start="$2" + local end="${3:-$(nowms)}" + local time + time="$(echo "$start" "$end" | awk '{ printf "%.3f", ($2 - $1)/1000 }')" + kv_set "$BUILD_DATA_FILE" "$1" "$time" +} + +# Retrieve a value from a previous build if it exists +# This is useful to give the user context about what changed if the +# build has failed. Ex: +# - changed stacks +# - deployed with a new major version of Node +# - etc +meta_prev_get() { + kv_get "$PREVIOUS_BUILD_DATA_FILE" "$1" +} + +log_meta_data() { + # print all values on one line in logfmt format + # https://brandur.org/logfmt + # the echo call ensures that all values are printed on a single line + # shellcheck disable=SC2005 disable=SC2046 + echo $(kv_list "$BUILD_DATA_FILE") +} diff --git a/lib/monitor.sh b/lib/monitor.sh new file mode 100644 index 000000000..ee2cb0e79 --- /dev/null +++ b/lib/monitor.sh @@ -0,0 +1,63 @@ +#!/usr/bin/env bash + +monitor_memory_usage() { + local output_file="$1" + + # drop the first argument, and leave other arguments in place + shift + + # Run the command in the background + "${@:-}" & + + # save the PID of the running command + pid=$! + + # if this build process is SIGTERM'd + trap 'kill -TERM $pid' TERM + + # set the peak memory usage to 0 to start + peak="0" + + while true; do + sleep .1 + + # check the memory usage + sample="$(ps -o rss= $pid 2> /dev/null)" || break + + if [[ $sample -gt $peak ]]; then + peak=$sample + fi + done + + # ps gives us kb, let's convert to mb for convenience + echo "$((peak / 1024))" > "$output_file" + + # After wait returns we can get the exit code of $command + wait $pid + + # wait a second time in case the trap was executed + # http://veithen.github.io/2014/11/16/sigterm-propagation.html + wait $pid + + # return the exit code of $command + return $? +} + +monitor() { + local peak_mem_output start + local command_name=$1 + shift + local command=( "$@" ) + + peak_mem_output=$(mktemp) + start=$(nowms) + + # execute the subcommand and save the peak memory usage + monitor_memory_usage "$peak_mem_output" "${command[@]}" + + mtime "exec.$command_name.time" "${start}" + mmeasure "exec.$command_name.memory" "$(cat "$peak_mem_output")" + + meta_time "$command_name-time" "$start" + meta_set "$command_name-memory" "$(cat "$peak_mem_output")" +} diff --git a/lib/output.sh b/lib/output.sh new file mode 100644 index 000000000..eec19a5f0 --- /dev/null +++ b/lib/output.sh @@ -0,0 +1,43 @@ +#!/usr/bin/env bash + +# TODO: Merge these with the output helpers in buildpack-stdlib: +# https://github.com/heroku/buildpack-stdlib + +info() { + echo " $*" || true +} + +# format output and send a copy to the log +output() { + local logfile="$1" + + while IFS= read -r LINE; + do + # do not indent headers that are being piped through the output + if [[ "$LINE" =~ ^-----\>.* ]]; then + echo "$LINE" || true + else + echo " $LINE" || true + fi + echo "$LINE" >> "$logfile" || true + done +} + +header() { + echo "" || true + echo "-----> $*" || true +} + +bright_header() { + echo "" || true + echo -e "\033[1;33m-----> $* \033[0m" +} + +header_skip_newline() { + echo "-----> $*" || true +} + +error() { + echo " ! $*" >&2 || true + echo "" || true +} diff --git a/lib/plugin.sh b/lib/plugin.sh new file mode 100644 index 000000000..9a09c4cab --- /dev/null +++ b/lib/plugin.sh @@ -0,0 +1,28 @@ +#!/usr/bin/env bash + +get_node_major_version() { + local node_version + + node_version="$(node --version)" + # major_string will be ex: "6." "8." "10" + local major_string=${node_version:1:2} + # strip any "."s from major_string + local major=${major_string//.} + echo "$major" +} + +install_plugin() { + local major + local bp_dir="$1" + local build_dir="$2" + major=$(get_node_major_version) + local plugin="${bp_dir}/plugin/heroku-nodejs-plugin-node-${major}.tar.gz" + + # If we have a version of the plugin compiled for this version of node, and the + # user has not opted out of including the plugin, copy it into the slug. + # It will be included at runtime once the user opts into the Node metrics feature + if [[ -f "${plugin}" ]] && [[ -z "$HEROKU_SKIP_NODE_PLUGIN" ]]; then + mkdir -p "${build_dir}/.heroku/" + tar -xzf "${plugin}" -C "${build_dir}/.heroku/" + fi +} diff --git a/lib/uuid.sh b/lib/uuid.sh new file mode 100644 index 000000000..12ef93277 --- /dev/null +++ b/lib/uuid.sh @@ -0,0 +1,47 @@ +#!/usr/bin/env bash + +uuid_fallback() +{ + local N B C='89ab' + + for (( N=0; N < 16; ++N )) + do + B=$(( RANDOM%256 )) + + case $N in + 6) + printf '4%x' $(( B%16 )) + ;; + 8) + printf '%c%x' ${C:$RANDOM%${#C}:1} $(( B%16 )) + ;; + 3 | 5 | 7 | 9) + printf '%02x-' $B + ;; + *) + printf '%02x' $B + ;; + esac + done + + echo +} + +uuid() { + # On Heroku's stack, there is a uuid command + if [[ -f /proc/sys/kernel/random/uuid ]]; then + cat /proc/sys/kernel/random/uuid + # on macOS there is also a command + elif [[ -x "$(command -v uuidgen)" ]]; then + uuidgen | tr "[:upper:]" "[:lower:]" + # If you are running this buildpack on an image without either of the above binaries + # then let's provide something that approximates this functionality, but beware that + # we can make no guarantees of true randomness or uniqueness of this ID. However it is + # likely only being piped to /dev/null + # + # If that's not true for you, please file an issue and let us know: + # https://github.com/heroku/heroku-buildpack-nodejs/issues + else + uuid_fallback + fi +} diff --git a/lib/vendor/resolve-version-darwin b/lib/vendor/resolve-version-darwin new file mode 100755 index 000000000..3a2c997f5 Binary files /dev/null and b/lib/vendor/resolve-version-darwin differ diff --git a/lib/vendor/resolve-version-linux b/lib/vendor/resolve-version-linux new file mode 100755 index 000000000..95785a814 Binary files /dev/null and b/lib/vendor/resolve-version-linux differ diff --git a/lib/vendor/stdlib_v7.sh b/lib/vendor/stdlib_v7.sh new file mode 100644 index 000000000..e6e528269 --- /dev/null +++ b/lib/vendor/stdlib_v7.sh @@ -0,0 +1,164 @@ +# Buildpack defaults +# --------------- + +export BUILDPACK_LOG_FILE=${BUILDPACK_LOG_FILE:-/dev/null} + +# Standard Output +# --------------- + +# Buildpack Steps. +puts_step() { + if [[ "$@" == "-" ]]; then + read output + else + output=$@ + fi + echo -e "\e[1m\e[36m=== $output\e[0m" + unset output +} + +# Buildpack Error. +puts_error() { + if [[ "$@" == "-" ]]; then + read output + else + output=$@ + fi + echo -e "\e[1m\e[31m=!= $output\e[0m" +} + +# Buildpack Warning. +puts_warn() { + if [[ "$@" == "-" ]]; then + read output + else + output=$@ + fi + echo -e "\e[1m\e[33m=!= $output\e[0m" +} + + +# Buildpack Utilities +# ------------------- + +# Usage: $ set-env key value +# NOTICE: Expects PROFILE_PATH & EXPORT_PATH to be set! +set_env() { + # TODO: automatically create profile path directory if it doesn't exist. + echo "export $1=$2" >> $PROFILE_PATH + echo "export $1=$2" >> $EXPORT_PATH +} + +# Usage: $ set-default-env key value +# NOTICE: Expects PROFILE_PATH & EXPORT_PATH to be set! +set_default_env() { + echo "export $1=\${$1:-$2}" >> $PROFILE_PATH + echo "export $1=\${$1:-$2}" >> $EXPORT_PATH +} + +# Usage: $ un-set-env key +# NOTICE: Expects PROFILE_PATH to be set! +un_set_env() { + echo "unset $1" >> $PROFILE_PATH +} + +# Usage: $ _env-blacklist pattern +# Outputs a regex of default blacklist env vars. +_env_blacklist() { + local regex=${1:-''} + if [ -n "$regex" ]; then + regex="|$regex" + fi + echo "^(PATH|GIT_DIR|CPATH|CPPATH|LD_PRELOAD|LIBRARY_PATH$regex)$" +} + +# Usage: $ export-env ENV_DIR WHITELIST BLACKLIST +# Exports the environment variables defined in the given directory. +export_env() { + local env_dir=${1:-$ENV_DIR} + local whitelist=${2:-''} + local blacklist="$(_env_blacklist $3)" + if [ -d "$env_dir" ]; then + for e in $(ls $env_dir); do + echo "$e" | grep -E "$whitelist" | grep -qvE "$blacklist" && + export "$e=$(cat $env_dir/$e)" + : + done + fi +} + +# Usage: $ sub-env command +# Runs a subshell of specified command with user-provided config. +# NOTICE: Expects ENV_DIR to be set. WHITELIST & BLACKLIST are optional. +# Examples: +# WHITELIST=${2:-''} +# BLACKLIST=${3:-'^(GIT_DIR|PYTHONHOME|LD_LIBRARY_PATH|LIBRARY_PATH|PATH)$'} +sub_env() { + ( + export_env $ENV_DIR $WHITELIST $BLACKLIST + + $1 + ) +} + +# Logging +# ------- + +# Notice: These functions expect BPLOG_PREFIX and BUILDPACK_LOG_FILE to be defined (BUILDPACK_LOG_FILE can point to /dev/null if not provided by the buildpack). +# Example: BUILDPACK_LOG_FILE=${BUILDPACK_LOG_FILE:-/dev/null}; BPLOG_PREFIX="buildpack.go" + +# Returns now, in milleseconds. Useful for logging. +# Example: $ let start=$(nowms); sleep 30; mtime "glide.install.time" "${start}" +nowms() { + date +%s%3N +} + +# Log arbitrary data to the logfile (e.g. a packaging file). +# Usage: $ bplog "$(<${vendorJSON}) +bplog() { + echo -n ${@} | awk 'BEGIN {printf "msg=\""; f="%s"} {gsub(/"/, "\\\"", $0); printf f, $0} {if (NR == 1) f="\\n%s" } END { print "\"" }' >> ${BUILDPACK_LOG_FILE} +} + +# Measures time elapsed for a specific build step. +# Usage: $ let start=$(nowms); mtime "glide.install.time" "${start}" +# https://github.com/heroku/engineering-docs/blob/master/guides/logs-as-data.md#distributions-measure +mtime() { + local key="${BPLOG_PREFIX}.${1}" + local start="${2}" + local end="${3:-$(nowms)}" + echo "${key} ${start} ${end}" | awk '{ printf "measure#%s=%.3f\n", $1, ($3 - $2)/1000 }' >> ${BUILDPACK_LOG_FILE} +} + +# Logs a count for a specific built step. +# Usage: $ mcount "tool.govendor" +# https://github.com/heroku/engineering-docs/blob/master/guides/logs-as-data.md#counting-count +mcount() { + local k="${BPLOG_PREFIX}.${1}" + local v="${2:-1}" + echo "count#${k}=${v}" >> ${BUILDPACK_LOG_FILE} +} + +# Logs a measure for a specific build step. +# Usage: $ mmeasure "tool.installed_dependencies" 42 +# https://github.com/heroku/engineering-docs/blob/master/guides/logs-as-data.md#distributions-measure +mmeasure() { + local k="${BPLOG_PREFIX}.${1}" + local v="${2}" + echo "measure#${k}=${v}" >> ${BUILDPACK_LOG_FILE} +} + +# Logs a unuique measurement build step. +# Usage: $ munique "versions.count" 2.7.13 +# https://github.com/heroku/engineering-docs/blob/master/guides/logs-as-data.md#uniques-unique +munique() { + local k="${BPLOG_PREFIX}.${1}" + local v="${2}" + echo "unique#${k}=${v}" >> ${BUILDPACK_LOG_FILE} +} + +# Measures when an exit path to the buildpack is reached, given a name, then exits 1. +# Usage: $ mcount-exi "binExists" +mcount_exit() { + mcount "error.${1}" + exit 1 +} diff --git a/lib/vendor/yq-darwin b/lib/vendor/yq-darwin new file mode 100755 index 000000000..94c4c5b0c Binary files /dev/null and b/lib/vendor/yq-darwin differ diff --git a/lib/vendor/yq-linux b/lib/vendor/yq-linux new file mode 100755 index 000000000..0d5e06d21 Binary files /dev/null and b/lib/vendor/yq-linux differ diff --git a/lib/yarn-2.sh b/lib/yarn-2.sh new file mode 100644 index 000000000..a8a4b3753 --- /dev/null +++ b/lib/yarn-2.sh @@ -0,0 +1,54 @@ +#!/usr/bin/env bash + +YQ="$BP_DIR/lib/vendor/yq-$(get_os)" + +detect_yarn_2() { + local uses_yarn="$1" + local build_dir="$2" + local yml_metadata + local version + + yml_metadata=$($YQ r "$build_dir/yarn.lock" __metadata 2>&1) + + # grep for version in case the output is a parsing error + version=$(echo "$yml_metadata" | grep version) + + if [[ "$uses_yarn" == "true" && "$version" != "" ]]; then + echo "true" + else + echo "false" + fi +} + +has_yarn_cache() { + local build_dir="$1" + local yarn_cache="$build_dir/.yarn/cache" + [[ -d "$yarn_cache" ]] && [[ -n '$(ls -A "$yarn_cache")' ]] +} + +has_yarn_workspace_plugin_installed() { + local has_workspace_plugin=$(yarn plugin runtime | grep plugin-workspace-tools) + [[ ! "$has_workspace_plugin" == "" ]] +} + +get_yarn_path() { + local build_dir="$1" + $YQ r "$build_dir/.yarnrc.yml" yarnPath 2>&1 +} + +use_yarn_app_cache() { + local build_dir="$1" + if has_yarn_cache "$build_dir" || ! node_modules_enabled "$build_dir"; then + return + fi + false +} + +node_modules_enabled() { + local build_dir="$1" + local node_linker + + node_linker=$($YQ r "$build_dir/.yarnrc.yml" nodeLinker 2>&1) + + [[ "$node_linker" == "node-modules" ]] +} diff --git a/makefile b/makefile new file mode 100644 index 000000000..96503e2bb --- /dev/null +++ b/makefile @@ -0,0 +1,54 @@ +build-resolvers: build-resolver-linux build-resolver-darwin + +.build: + mkdir -p .build +build-resolver-darwin: .build + cargo install heroku-nodejs-utils --root .build --bin resolve_version --git https://github.com/heroku/buildpacks-nodejs --target x86_64-apple-darwin --profile release + mv .build/bin/resolve_version lib/vendor/resolve-version-darwin + +build-resolver-linux: .build + cargo install heroku-nodejs-utils --root .build --bin resolve_version --git https://github.com/heroku/buildpacks-nodejs --target x86_64-unknown-linux-musl --profile release + mv .build/bin/resolve_version lib/vendor/resolve-version-linux + +test: heroku-22-build heroku-20-build + +test-binary: + go test -v ./cmd/... -tags=integration + +shellcheck: + @shellcheck -x bin/compile bin/detect bin/release bin/test bin/test-compile + @shellcheck -x lib/*.sh + @shellcheck -x ci-profile/** + @shellcheck -x etc/** + +heroku-22-build: + @echo "Running tests in docker (heroku-22-build)..." + @docker run -v $(shell pwd):/buildpack:ro --rm -it -e "STACK=heroku-22" heroku/heroku:22-build bash -c 'cp -r /buildpack /buildpack_test; cd /buildpack_test/; test/run;' + @echo "" + +heroku-20-build: + @echo "Running tests in docker (heroku-20-build)..." + @docker run -v $(shell pwd):/buildpack:ro --rm -it -e "STACK=heroku-20" heroku/heroku:20-build bash -c 'cp -r /buildpack /buildpack_test; cd /buildpack_test/; test/run;' + @echo "" + +hatchet: + @echo "Running hatchet integration tests..." + @bash etc/ci-setup.sh + @bash etc/hatchet.sh spec/ci/ + @echo "" + +nodebin-test: + @echo "Running test for Node v${TEST_NODE_VERSION}..." + @bash etc/ci-setup.sh + @bash etc/hatchet.sh spec/nodebin/ + @echo "" + +unit: + @echo "Running unit tests in docker (heroku-22)..." + @docker run -v $(shell pwd):/buildpack:ro --rm -it -e "STACK=heroku-22" heroku/heroku:22 bash -c 'cp -r /buildpack /buildpack_test; cd /buildpack_test/; test/unit;' + @echo "" + +shell: + @echo "Opening heroku-22 shell..." + @docker run -v $(shell pwd):/buildpack:ro --rm -it heroku/heroku:22 bash -c 'cp -r /buildpack /buildpack_test; cd /buildpack_test/; bash' + @echo "" diff --git a/plugin/download.sh b/plugin/download.sh new file mode 100755 index 000000000..530becbf5 --- /dev/null +++ b/plugin/download.sh @@ -0,0 +1,111 @@ +#!/usr/bin/env bash +# download.sh + +set -o errexit # always exit on error +set -o pipefail # don't ignore exit codes when piping output + +TAG_NAME=${1:-} +PLUGIN_DIR=$(dirname $0) + +handle_failure() { + echo "Failure running script on line $1." + + + echo "This may be rate-limiting from Github if you've run this script a few times. Here is the rate limit response:" + curl "https://api.github.com/rate_limit" +} + +get_latest_release() { + # Get latest release tag from GitHub api + curl --silent --write-out "%{http_code}" "https://api.github.com/repos/heroku/heroku-nodejs-plugin/releases/latest" | + grep '"tag_name":' | + sed -E 's/.*"([^"]+)".*/\1/' +} + +download() { + local url=${1} + local file=${2} + local code=$(curl "$url" -L --fail --retry 5 --retry-max-time 15 -o "${file}" --write-out "%{http_code}") + if [[ "$code" != "200" ]]; then + echo "Unable to download from url: $url http code: $code" + exit 1 + fi +} + +delete_old_plugin() { + local dir=${1} + rm -f "$dir/heroku-nodejs-plugin-node-14.sha512" + rm -f "$dir/heroku-nodejs-plugin-node-14.tar.gz" + rm -f "$dir/heroku-nodejs-plugin-node-16.sha512" + rm -f "$dir/heroku-nodejs-plugin-node-16.tar.gz" + rm -f "$dir/heroku-nodejs-plugin-node-18.sha512" + rm -f "$dir/heroku-nodejs-plugin-node-18.tar.gz" + rm -f "$dir/heroku-nodejs-plugin-node-19.sha512" + rm -f "$dir/heroku-nodejs-plugin-node-19.tar.gz" + rm -f "$dir/heroku-nodejs-plugin-node-20.sha512" + rm -f "$dir/heroku-nodejs-plugin-node-20.tar.gz" + rm -f "$dir/version" +} + +download_assets_for_release() { + local tag=${1} + local dir=${2} + + # Node 14 + download "https://github.com/heroku/heroku-nodejs-plugin/releases/download/$tag/heroku-nodejs-plugin-node-14-$tag.sha512" "$dir/heroku-nodejs-plugin-node-14.sha512" + download "https://github.com/heroku/heroku-nodejs-plugin/releases/download/$tag/heroku-nodejs-plugin-node-14-$tag.tar.gz" "$dir/heroku-nodejs-plugin-node-14.tar.gz" + + # Node 16 + download "https://github.com/heroku/heroku-nodejs-plugin/releases/download/$tag/heroku-nodejs-plugin-node-16-$tag.sha512" "$dir/heroku-nodejs-plugin-node-16.sha512" + download "https://github.com/heroku/heroku-nodejs-plugin/releases/download/$tag/heroku-nodejs-plugin-node-16-$tag.tar.gz" "$dir/heroku-nodejs-plugin-node-16.tar.gz" + + # Node 18 + download "https://github.com/heroku/heroku-nodejs-plugin/releases/download/$tag/heroku-nodejs-plugin-node-18-$tag.sha512" "$dir/heroku-nodejs-plugin-node-18.sha512" + download "https://github.com/heroku/heroku-nodejs-plugin/releases/download/$tag/heroku-nodejs-plugin-node-18-$tag.tar.gz" "$dir/heroku-nodejs-plugin-node-18.tar.gz" + + # Node 19 + download "https://github.com/heroku/heroku-nodejs-plugin/releases/download/$tag/heroku-nodejs-plugin-node-19-$tag.sha512" "$dir/heroku-nodejs-plugin-node-19.sha512" + download "https://github.com/heroku/heroku-nodejs-plugin/releases/download/$tag/heroku-nodejs-plugin-node-19-$tag.tar.gz" "$dir/heroku-nodejs-plugin-node-19.tar.gz" + + # Node 20 + download "https://github.com/heroku/heroku-nodejs-plugin/releases/download/$tag/heroku-nodejs-plugin-node-20-$tag.sha512" "$dir/heroku-nodejs-plugin-node-20.sha512" + download "https://github.com/heroku/heroku-nodejs-plugin/releases/download/$tag/heroku-nodejs-plugin-node-20-$tag.tar.gz" "$dir/heroku-nodejs-plugin-node-20.tar.gz" +} + +test_hash() { + local major=${1} + local dir=${2} + + local downloaded_sha=$(cat $dir/heroku-nodejs-plugin-node-$major.sha512 | awk '{print substr($0,0,128)}') + local binary_sha=$(shasum -a 512 $dir/heroku-nodejs-plugin-node-$major.tar.gz | awk '{print substr($0,0,128)}') + + if [[ "$downloaded_sha" != "$binary_sha" ]]; then + echo "Invalid SHA for file: $dir/heroku-nodejs-plugin-node-$major.tar.gz" + exit 1 + else + echo "Verified SHA for file: $dir/heroku-nodejs-plugin-node-$major.tar.gz" + fi +} + +trap 'handle_failure ${LINENO}' ERR + +if [[ -z $TAG_NAME ]]; then + TAG_NAME=$(get_latest_release) +fi + +echo "Removing any old versions of the plugin" +delete_old_plugin $PLUGIN_DIR + +echo "Downloading plugins" +download_assets_for_release $TAG_NAME $PLUGIN_DIR +echo $TAG_NAME > "$PLUGIN_DIR/version" + +echo "Plugins downloaded" + +test_hash 14 $PLUGIN_DIR +test_hash 16 $PLUGIN_DIR +test_hash 18 $PLUGIN_DIR +test_hash 19 $PLUGIN_DIR +test_hash 20 $PLUGIN_DIR + +echo "Done" diff --git a/plugin/heroku-nodejs-plugin-node-10.sha512 b/plugin/heroku-nodejs-plugin-node-10.sha512 new file mode 100644 index 000000000..fba969e54 --- /dev/null +++ b/plugin/heroku-nodejs-plugin-node-10.sha512 @@ -0,0 +1 @@ +36d7fd0cd35b95b3d0ee85a1fb50cd4a27f07bd7e4f0e045b60b8d8e7e2a77ec7d47e5af0734dce7bb2ab0e877b545e208e1c69985ddc42970ca55de497ec867 heroku-nodejs-plugin-node-10-v8.tar.gz diff --git a/plugin/heroku-nodejs-plugin-node-10.tar.gz b/plugin/heroku-nodejs-plugin-node-10.tar.gz new file mode 100644 index 000000000..6c5c36742 Binary files /dev/null and b/plugin/heroku-nodejs-plugin-node-10.tar.gz differ diff --git a/plugin/heroku-nodejs-plugin-node-11.sha512 b/plugin/heroku-nodejs-plugin-node-11.sha512 new file mode 100644 index 000000000..355bbbdfe --- /dev/null +++ b/plugin/heroku-nodejs-plugin-node-11.sha512 @@ -0,0 +1 @@ +ad13b8ddf4b08f4a7f1967b8e2502e7de5738ae1fe06dcab729ffc25e5dbc1f66dd1ac199941d8f2dbaffc9d6595b848642068b4e7224cf38e0b37397bed5d11 heroku-nodejs-plugin-node-11-v6.tar.gz diff --git a/plugin/heroku-nodejs-plugin-node-11.tar.gz b/plugin/heroku-nodejs-plugin-node-11.tar.gz new file mode 100644 index 000000000..c1b150d7b Binary files /dev/null and b/plugin/heroku-nodejs-plugin-node-11.tar.gz differ diff --git a/plugin/heroku-nodejs-plugin-node-12.sha512 b/plugin/heroku-nodejs-plugin-node-12.sha512 new file mode 100644 index 000000000..00b6a2314 --- /dev/null +++ b/plugin/heroku-nodejs-plugin-node-12.sha512 @@ -0,0 +1 @@ +0312052c2e814b04747467d16d34493aa7cf13d0334bc82e0a301be2539b61927c80f1bc1fb13be351ee44c625a1525c7f78bd0e13d83b7d6478dd558f896fe8 heroku-nodejs-plugin-node-12-v9.tar.gz diff --git a/plugin/heroku-nodejs-plugin-node-12.tar.gz b/plugin/heroku-nodejs-plugin-node-12.tar.gz new file mode 100644 index 000000000..5dfd20e8f Binary files /dev/null and b/plugin/heroku-nodejs-plugin-node-12.tar.gz differ diff --git a/plugin/heroku-nodejs-plugin-node-13.sha512 b/plugin/heroku-nodejs-plugin-node-13.sha512 new file mode 100644 index 000000000..b3801e829 --- /dev/null +++ b/plugin/heroku-nodejs-plugin-node-13.sha512 @@ -0,0 +1 @@ +f9f34f8fc3ed2d9cafd55d20b9b7ac11da3352db73be0ee4a7530e07fe0ca9f0b6f2deeb17045cd35e7f3d0ed42ac9a6af3f7c4be08219e3e3128ebfd27231b0 heroku-nodejs-plugin-node-13-v7.tar.gz diff --git a/plugin/heroku-nodejs-plugin-node-13.tar.gz b/plugin/heroku-nodejs-plugin-node-13.tar.gz new file mode 100644 index 000000000..882a39adf Binary files /dev/null and b/plugin/heroku-nodejs-plugin-node-13.tar.gz differ diff --git a/plugin/heroku-nodejs-plugin-node-14.sha512 b/plugin/heroku-nodejs-plugin-node-14.sha512 new file mode 100644 index 000000000..feadd34fb --- /dev/null +++ b/plugin/heroku-nodejs-plugin-node-14.sha512 @@ -0,0 +1 @@ +b003962c8702e7e78e7e09a3b246d670e71224abe665d0fa832696d28de8c365904771d58f87888525875fd5a7a1c5dd262a7113f91709d973bca1dc24a761ce heroku-nodejs-plugin-node-14-v12.tar.gz diff --git a/plugin/heroku-nodejs-plugin-node-14.tar.gz b/plugin/heroku-nodejs-plugin-node-14.tar.gz new file mode 100644 index 000000000..3e57f5d21 Binary files /dev/null and b/plugin/heroku-nodejs-plugin-node-14.tar.gz differ diff --git a/plugin/heroku-nodejs-plugin-node-15.sha512 b/plugin/heroku-nodejs-plugin-node-15.sha512 new file mode 100644 index 000000000..a65c6fa48 --- /dev/null +++ b/plugin/heroku-nodejs-plugin-node-15.sha512 @@ -0,0 +1 @@ +76635a81579f98875e705569def429670fdf809f1ddc9bdda1a7d2df6b09e0501d515cf7fb315f06af377b3da6eda9f562deac2948dc68de311680ec79bc8ee7 heroku-nodejs-plugin-node-15-v8.tar.gz diff --git a/plugin/heroku-nodejs-plugin-node-15.tar.gz b/plugin/heroku-nodejs-plugin-node-15.tar.gz new file mode 100644 index 000000000..307041a82 Binary files /dev/null and b/plugin/heroku-nodejs-plugin-node-15.tar.gz differ diff --git a/plugin/heroku-nodejs-plugin-node-16.sha512 b/plugin/heroku-nodejs-plugin-node-16.sha512 new file mode 100644 index 000000000..1bc91db39 --- /dev/null +++ b/plugin/heroku-nodejs-plugin-node-16.sha512 @@ -0,0 +1 @@ +0c1de3760f42fa275ec7494a5a17f22000df9f22db6f0f83211db9c6f0e46bc8645b83fb9d6d4d8fa2ec66f82a760d111c94001151aec76baae045d485a74eb3 heroku-nodejs-plugin-node-16-v12.tar.gz diff --git a/plugin/heroku-nodejs-plugin-node-16.tar.gz b/plugin/heroku-nodejs-plugin-node-16.tar.gz new file mode 100644 index 000000000..62d711acf Binary files /dev/null and b/plugin/heroku-nodejs-plugin-node-16.tar.gz differ diff --git a/plugin/heroku-nodejs-plugin-node-17.sha512 b/plugin/heroku-nodejs-plugin-node-17.sha512 new file mode 100644 index 000000000..0c21f9d61 --- /dev/null +++ b/plugin/heroku-nodejs-plugin-node-17.sha512 @@ -0,0 +1 @@ +857064b90af961dde1bb2ec613771ebeb7a9f0a8a3a2cfc6dc3ecad1090aafdeb17e9e61381bec0b0a46c7e4be66f4cf007ff021220cf89924ee8abcced24a12 heroku-nodejs-plugin-node-17-v10.tar.gz diff --git a/plugin/heroku-nodejs-plugin-node-17.tar.gz b/plugin/heroku-nodejs-plugin-node-17.tar.gz new file mode 100644 index 000000000..be56bd207 Binary files /dev/null and b/plugin/heroku-nodejs-plugin-node-17.tar.gz differ diff --git a/plugin/heroku-nodejs-plugin-node-18.sha512 b/plugin/heroku-nodejs-plugin-node-18.sha512 new file mode 100644 index 000000000..b379f678b --- /dev/null +++ b/plugin/heroku-nodejs-plugin-node-18.sha512 @@ -0,0 +1 @@ +07e97b6d3a7e95a8790d328798a4904bdcc5bed86e6c0c5f921c32d5952e30e61aec250130569f66434e77134ee2b8d711dc44a47ffddd446697625138885dea heroku-nodejs-plugin-node-18-v12.tar.gz diff --git a/plugin/heroku-nodejs-plugin-node-18.tar.gz b/plugin/heroku-nodejs-plugin-node-18.tar.gz new file mode 100644 index 000000000..296bd180d Binary files /dev/null and b/plugin/heroku-nodejs-plugin-node-18.tar.gz differ diff --git a/plugin/heroku-nodejs-plugin-node-19.sha512 b/plugin/heroku-nodejs-plugin-node-19.sha512 new file mode 100644 index 000000000..f22b86bbd --- /dev/null +++ b/plugin/heroku-nodejs-plugin-node-19.sha512 @@ -0,0 +1 @@ +5f1f5d80eb8fa578a235587d392e7fdbcb0f3d31cf564f5b7d420939ebd083372869d88c7c287d149ee5096d23655cb1a6785935268c5fde5738fde4b29b8bd6 heroku-nodejs-plugin-node-19-v12.tar.gz diff --git a/plugin/heroku-nodejs-plugin-node-19.tar.gz b/plugin/heroku-nodejs-plugin-node-19.tar.gz new file mode 100644 index 000000000..e6df0ad7c Binary files /dev/null and b/plugin/heroku-nodejs-plugin-node-19.tar.gz differ diff --git a/plugin/heroku-nodejs-plugin-node-20.sha512 b/plugin/heroku-nodejs-plugin-node-20.sha512 new file mode 100644 index 000000000..5e7302dfe --- /dev/null +++ b/plugin/heroku-nodejs-plugin-node-20.sha512 @@ -0,0 +1 @@ +07adc25fc5aa5100d9ee3f4018e0c746f4b35793bb7a90b5c913b4603f3ba2d565f4b77d3c734394a2e0b7b90d03db8be3a72b1a505cf75702a99eb596f757a1 heroku-nodejs-plugin-node-20-v12.tar.gz diff --git a/plugin/heroku-nodejs-plugin-node-20.tar.gz b/plugin/heroku-nodejs-plugin-node-20.tar.gz new file mode 100644 index 000000000..37a2faaec Binary files /dev/null and b/plugin/heroku-nodejs-plugin-node-20.tar.gz differ diff --git a/plugin/heroku-nodejs-plugin-node-8.sha512 b/plugin/heroku-nodejs-plugin-node-8.sha512 new file mode 100644 index 000000000..d59bcfb05 --- /dev/null +++ b/plugin/heroku-nodejs-plugin-node-8.sha512 @@ -0,0 +1 @@ +1b5fe2af49941487b954a0226680f11de78a508585a9c6ee5e7aec3dcc02c290dc08c300a29e13b1acf16378679793b74dc670734cfcebd74396a7d1d49ed027 heroku-nodejs-plugin-node-8-v6.tar.gz diff --git a/plugin/heroku-nodejs-plugin-node-8.tar.gz b/plugin/heroku-nodejs-plugin-node-8.tar.gz new file mode 100644 index 000000000..16d7d7fc9 Binary files /dev/null and b/plugin/heroku-nodejs-plugin-node-8.tar.gz differ diff --git a/plugin/heroku-nodejs-plugin-node-9.sha512 b/plugin/heroku-nodejs-plugin-node-9.sha512 new file mode 100644 index 000000000..ebcda194a --- /dev/null +++ b/plugin/heroku-nodejs-plugin-node-9.sha512 @@ -0,0 +1 @@ +450035c314ccd5bf97035d5f297488a317e4bfc21e11e3f5cae94d63704aef70f0d5a2e91be01ba2b723f687656c68561024061beda66edecd8d5989bd73d647 heroku-nodejs-plugin-node-9-v6.tar.gz diff --git a/plugin/heroku-nodejs-plugin-node-9.tar.gz b/plugin/heroku-nodejs-plugin-node-9.tar.gz new file mode 100644 index 000000000..c214076c4 Binary files /dev/null and b/plugin/heroku-nodejs-plugin-node-9.tar.gz differ diff --git a/plugin/version b/plugin/version new file mode 100644 index 000000000..dae199aec --- /dev/null +++ b/plugin/version @@ -0,0 +1 @@ +v12 diff --git a/profile/WEB_CONCURRENCY.sh b/profile/WEB_CONCURRENCY.sh new file mode 100755 index 000000000..95e769101 --- /dev/null +++ b/profile/WEB_CONCURRENCY.sh @@ -0,0 +1,86 @@ +#!/usr/bin/env bash + +calculate_concurrency() { + local available=$1 + local web_memory=$2 + + echo $(($available/$web_memory)) +} + +validate_concurrency() { + local concurrency=$1 + local ret=0 + + if (( concurrency < 1 )); then + concurrency=1 + ret=1 + elif (( concurrency > 200 )); then + # Ex: This will happen on Dokku on DO + concurrency=1 + ret=2 + fi + + echo "$concurrency" + return $ret +} + +log_concurrency() { + echo "Detected $MEMORY_AVAILABLE MB available memory, $WEB_MEMORY MB limit per process (WEB_MEMORY)" + echo "Recommending WEB_CONCURRENCY=$WEB_CONCURRENCY" +} + +detect_memory() { + local default=$1 + + if [ -e /sys/fs/cgroup/memory/memory.limit_in_bytes ]; then + echo $(($(cat /sys/fs/cgroup/memory/memory.limit_in_bytes) / 1048576)) + else + echo "$default" + fi +} + +bound_memory() { + local detected=$1 + local max_detected_memory=14336 + + # The hardcoded value is 16GB of memory + if (( detected > max_detected_memory )); then + echo "$max_detected_memory" + else + echo "$detected" + fi +} + +warn_high_web_concurrency() { + echo "Could not determine a reasonable value for WEB_CONCURRENCY. +This is likely due to running the Heroku NodeJS buildpack on a non-Heroku +platform. + +WEB_CONCURRENCY has been set to ${1}. Please review whether this value is +appropriate for your application. +" +} + +DETECTED=$(detect_memory 512) +export MEMORY_AVAILABLE=${MEMORY_AVAILABLE-$(bound_memory $DETECTED)} +export WEB_MEMORY=${WEB_MEMORY-512} +WEB_CONCURRENCY=${WEB_CONCURRENCY-$(calculate_concurrency "$MEMORY_AVAILABLE" "$WEB_MEMORY")} +validated_concurrency=$(validate_concurrency "$WEB_CONCURRENCY") +case $? in # validate_concurrency exit code indicates result + 1) + # too low + export WEB_CONCURRENCY=$validated_concurrency + ;; + 2) + # too high + warn_high_web_concurrency "$validated_concurrency" "$WEB_CONCURRENCY" + export WEB_CONCURRENCY=$validated_concurrency + ;; + 0) + export WEB_CONCURRENCY + ;; +esac + +if [[ "${LOG_CONCURRENCY+isset}" && "$LOG_CONCURRENCY" == "true" ]]; then + log_concurrency +fi diff --git a/profile/nodejs.sh b/profile/nodejs.sh new file mode 100755 index 000000000..b9d22e3c2 --- /dev/null +++ b/profile/nodejs.sh @@ -0,0 +1,21 @@ +export PATH="$HOME/.heroku/node/bin:$HOME/.heroku/yarn/bin:$PATH:$HOME/bin:$HOME/node_modules/.bin" +export NODE_HOME="$HOME/.heroku/node" +export NODE_ENV=${NODE_ENV:-production} + +# If the user has opted into the feature +if [[ -n "$HEROKU_METRICS_URL" ]] && \ + # if we're not on a one-off dyno + [[ "${DYNO}" != run\.* ]] && \ + # if the plugin was installed for this node version + [[ -d $HOME/.heroku/heroku-nodejs-plugin ]] && \ + # the user has not opted out + [[ -z "$HEROKU_SKIP_NODE_PLUGIN" ]]; then + + # Don't clobber NODE_OPTIONS if the user has set it, just add the require flag to the end + if [[ -z "$NODE_OPTIONS" ]]; then + export NODE_OPTIONS="--require $HOME/.heroku/heroku-nodejs-plugin" + else + export NODE_OPTIONS="${NODE_OPTIONS} --require $HOME/.heroku/heroku-nodejs-plugin" + fi + +fi diff --git a/spec/ci/node_10_metrics_spec.rb b/spec/ci/node_10_metrics_spec.rb new file mode 100644 index 000000000..462c3de81 --- /dev/null +++ b/spec/ci/node_10_metrics_spec.rb @@ -0,0 +1,25 @@ +require_relative '../spec_helper' + +describe "Node Metrics for v10.x" do + context "test metrics for Node v10.x app" do + let(:app) { + Hatchet::Runner.new( + "spec/fixtures/repos/node-10-metrics", + config: { + "HEROKU_METRICS_URL" => "http://localhost:3000", + "METRICS_INTERVAL_OVERRIDE" => "10000" + } + ) + } + + it "should deploy" do + app.deploy do |app| + data = successful_json_body(app) + expect(data["gauges"]["node.eventloop.delay.ms.max"]).to be >= 2000 + expect(data["counters"]["node.gc.collections"]).to be >= 0 + expect(data["counters"]["node.gc.young.collections"]).to be >= 0 + expect(data["counters"]["node.gc.old.collections"]).to be >= 0 + end + end + end +end diff --git a/spec/ci/node_10_spec.rb b/spec/ci/node_10_spec.rb new file mode 100644 index 000000000..2be5891e3 --- /dev/null +++ b/spec/ci/node_10_spec.rb @@ -0,0 +1,16 @@ +require_relative '../spec_helper' + +describe "Hello World for Node v10.x" do + context "a single-process Node v10.x app" do + let(:app) { + Hatchet::Runner.new("spec/fixtures/repos/node-10") + } + + it "should deploy successfully" do + app.deploy do |app| + expect(successful_body(app).strip).to eq("Hello, world!") + end + end + + end +end diff --git a/spec/ci/node_12_metrics_spec.rb b/spec/ci/node_12_metrics_spec.rb new file mode 100644 index 000000000..ede2d8d7c --- /dev/null +++ b/spec/ci/node_12_metrics_spec.rb @@ -0,0 +1,25 @@ +require_relative '../spec_helper' + +describe "Node Metrics for v12.x" do + context "test metrics for Node v12.x app" do + let(:app) { + Hatchet::Runner.new( + "spec/fixtures/repos/node-12-metrics", + config: { + "HEROKU_METRICS_URL" => "http://localhost:3000", + "METRICS_INTERVAL_OVERRIDE" => "10000" + } + ) + } + + it "should deploy" do + app.deploy do |app| + data = successful_json_body(app) + expect(data["gauges"]["node.eventloop.delay.ms.max"]).to be >= 2000 + expect(data["counters"]["node.gc.collections"]).to be >= 0 + expect(data["counters"]["node.gc.young.collections"]).to be >= 0 + expect(data["counters"]["node.gc.old.collections"]).to be >= 0 + end + end + end +end diff --git a/spec/ci/node_12_spec.rb b/spec/ci/node_12_spec.rb new file mode 100644 index 000000000..d12692f98 --- /dev/null +++ b/spec/ci/node_12_spec.rb @@ -0,0 +1,16 @@ +require_relative '../spec_helper' + +describe "Hello World for Node v12.x" do + context "a single-process Node v12.x app" do + let(:app) { + Hatchet::Runner.new("spec/fixtures/repos/node-12") + } + + it "should deploy successfully" do + app.deploy do |app| + expect(successful_body(app).strip).to eq("Hello, world!") + end + end + + end +end diff --git a/spec/ci/node_14_metrics_spec.rb b/spec/ci/node_14_metrics_spec.rb new file mode 100644 index 000000000..3a008d9fe --- /dev/null +++ b/spec/ci/node_14_metrics_spec.rb @@ -0,0 +1,25 @@ +require_relative '../spec_helper' + +describe "Node Metrics for v14.x" do + context "test metrics for Node v14.x app" do + let(:app) { + Hatchet::Runner.new( + "spec/fixtures/repos/node-14-metrics", + config: { + "HEROKU_METRICS_URL" => "http://localhost:3000", + "METRICS_INTERVAL_OVERRIDE" => "10000" + } + ) + } + + it "should deploy" do + app.deploy do |app| + data = successful_json_body(app) + expect(data["gauges"]["node.eventloop.delay.ms.max"]).to be >= 2000 + expect(data["counters"]["node.gc.collections"]).to be >= 0 + expect(data["counters"]["node.gc.young.collections"]).to be >= 0 + expect(data["counters"]["node.gc.old.collections"]).to be >= 0 + end + end + end +end diff --git a/spec/ci/node_14_spec.rb b/spec/ci/node_14_spec.rb new file mode 100644 index 000000000..10188db8f --- /dev/null +++ b/spec/ci/node_14_spec.rb @@ -0,0 +1,16 @@ +require_relative '../spec_helper' + +describe "Hello World for Node v14.x" do + context "a single-process Node v14.x app" do + let(:app) { + Hatchet::Runner.new("spec/fixtures/repos/node-14") + } + + it "should deploy successfully" do + app.deploy do |app| + expect(successful_body(app).strip).to eq("Hello, world!") + end + end + + end +end diff --git a/spec/ci/node_15_metrics_spec.rb b/spec/ci/node_15_metrics_spec.rb new file mode 100644 index 000000000..5c71f7929 --- /dev/null +++ b/spec/ci/node_15_metrics_spec.rb @@ -0,0 +1,25 @@ +require_relative '../spec_helper' + +describe "Node Metrics for v15.x" do + context "test metrics for Node v15x app" do + let(:app) { + Hatchet::Runner.new( + "spec/fixtures/repos/node-15-metrics", + config: { + "HEROKU_METRICS_URL" => "http://localhost:3000", + "METRICS_INTERVAL_OVERRIDE" => "10000" + } + ) + } + + it "should deploy" do + app.deploy do |app| + data = successful_json_body(app) + expect(data["gauges"]["node.eventloop.delay.ms.max"]).to be >= 2000 + expect(data["counters"]["node.gc.collections"]).to be >= 0 + expect(data["counters"]["node.gc.young.collections"]).to be >= 0 + expect(data["counters"]["node.gc.old.collections"]).to be >= 0 + end + end + end +end diff --git a/spec/ci/node_15_spec.rb b/spec/ci/node_15_spec.rb new file mode 100644 index 000000000..090286b47 --- /dev/null +++ b/spec/ci/node_15_spec.rb @@ -0,0 +1,16 @@ +require_relative '../spec_helper' + +describe "Hello World for Node v15.x" do + context "a single-process Node v15.x app" do + let(:app) { + Hatchet::Runner.new("spec/fixtures/repos/node-15") + } + + it "should deploy successfully" do + app.deploy do |app| + expect(successful_body(app).strip).to eq("Hello, world!") + end + end + + end +end diff --git a/spec/ci/node_16_metrics_spec.rb b/spec/ci/node_16_metrics_spec.rb new file mode 100644 index 000000000..1a5b47310 --- /dev/null +++ b/spec/ci/node_16_metrics_spec.rb @@ -0,0 +1,25 @@ +require_relative '../spec_helper' + +describe "Node Metrics for v16.x" do + context "test metrics for Node v16x app" do + let(:app) { + Hatchet::Runner.new( + "spec/fixtures/repos/node-16-metrics", + config: { + "HEROKU_METRICS_URL" => "http://localhost:3000", + "METRICS_INTERVAL_OVERRIDE" => "10000" + } + ) + } + + it "should deploy" do + app.deploy do |app| + data = successful_json_body(app) + expect(data["gauges"]["node.eventloop.delay.ms.max"]).to be >= 2000 + expect(data["counters"]["node.gc.collections"]).to be >= 0 + expect(data["counters"]["node.gc.young.collections"]).to be >= 0 + expect(data["counters"]["node.gc.old.collections"]).to be >= 0 + end + end + end +end diff --git a/spec/ci/node_16_spec.rb b/spec/ci/node_16_spec.rb new file mode 100644 index 000000000..ba4092a7a --- /dev/null +++ b/spec/ci/node_16_spec.rb @@ -0,0 +1,15 @@ +require_relative '../spec_helper' + +describe "Hello World for Node v16.x" do + context "a single-process Node v16.x app" do + let(:app) { + Hatchet::Runner.new("spec/fixtures/repos/node-16") + } + + it "should deploy successfully" do + app.deploy do |app| + expect(successful_body(app).strip).to eq("Hello, world!") + end + end + end +end diff --git a/spec/ci/node_17_metrics_spec.rb b/spec/ci/node_17_metrics_spec.rb new file mode 100644 index 000000000..626179d04 --- /dev/null +++ b/spec/ci/node_17_metrics_spec.rb @@ -0,0 +1,25 @@ +require_relative '../spec_helper' + +describe "Node Metrics for v17.x" do + context "test metrics for Node v17x app" do + let(:app) { + Hatchet::Runner.new( + "spec/fixtures/repos/node-17-metrics", + config: { + "HEROKU_METRICS_URL" => "http://localhost:3000", + "METRICS_INTERVAL_OVERRIDE" => "10000" + } + ) + } + + it "should deploy" do + app.deploy do |app| + data = successful_json_body(app) + expect(data["gauges"]["node.eventloop.delay.ms.max"]).to be >= 2000 + expect(data["counters"]["node.gc.collections"]).to be >= 0 + expect(data["counters"]["node.gc.young.collections"]).to be >= 0 + expect(data["counters"]["node.gc.old.collections"]).to be >= 0 + end + end + end +end diff --git a/spec/ci/node_17_spec.rb b/spec/ci/node_17_spec.rb new file mode 100644 index 000000000..30b53c28e --- /dev/null +++ b/spec/ci/node_17_spec.rb @@ -0,0 +1,15 @@ +require_relative '../spec_helper' + +describe "Hello World for Node v17.x" do + context "a single-process Node v17.x app" do + let(:app) { + Hatchet::Runner.new("spec/fixtures/repos/node-17") + } + + it "should deploy successfully" do + app.deploy do |app| + expect(successful_body(app).strip).to eq("Hello, world!") + end + end + end +end diff --git a/spec/ci/node_18_metrics_spec.rb b/spec/ci/node_18_metrics_spec.rb new file mode 100644 index 000000000..fd2aac086 --- /dev/null +++ b/spec/ci/node_18_metrics_spec.rb @@ -0,0 +1,25 @@ +require_relative '../spec_helper' + +describe "Node Metrics for v18.x" do + context "test metrics for Node v18x app" do + let(:app) { + Hatchet::Runner.new( + "spec/fixtures/repos/node-18-metrics", + config: { + "HEROKU_METRICS_URL" => "http://localhost:3000", + "METRICS_INTERVAL_OVERRIDE" => "10000" + } + ) + } + + it "should deploy" do + app.deploy do |app| + data = successful_json_body(app) + expect(data["gauges"]["node.eventloop.delay.ms.max"]).to be >= 2000 + expect(data["counters"]["node.gc.collections"]).to be >= 0 + expect(data["counters"]["node.gc.young.collections"]).to be >= 0 + expect(data["counters"]["node.gc.old.collections"]).to be >= 0 + end + end + end +end diff --git a/spec/ci/node_18_spec.rb b/spec/ci/node_18_spec.rb new file mode 100644 index 000000000..67bf92bcb --- /dev/null +++ b/spec/ci/node_18_spec.rb @@ -0,0 +1,15 @@ +require_relative '../spec_helper' + +describe "Hello World for Node v18.x" do + context "a single-process Node v18.x app" do + let(:app) { + Hatchet::Runner.new("spec/fixtures/repos/node-18") + } + + it "should deploy successfully" do + app.deploy do |app| + expect(successful_body(app).strip).to eq("Hello, world!") + end + end + end +end diff --git a/spec/ci/node_19_metrics_spec.rb b/spec/ci/node_19_metrics_spec.rb new file mode 100644 index 000000000..f39206f13 --- /dev/null +++ b/spec/ci/node_19_metrics_spec.rb @@ -0,0 +1,25 @@ +require_relative '../spec_helper' + +describe "Node Metrics for v19.x" do + context "test metrics for Node v19x app" do + let(:app) { + Hatchet::Runner.new( + "spec/fixtures/repos/node-19-metrics", + config: { + "HEROKU_METRICS_URL" => "http://localhost:3000", + "METRICS_INTERVAL_OVERRIDE" => "10000" + } + ) + } + + it "should deploy" do + app.deploy do |app| + data = successful_json_body(app) + expect(data["gauges"]["node.eventloop.delay.ms.max"]).to be >= 2000 + expect(data["counters"]["node.gc.collections"]).to be >= 0 + expect(data["counters"]["node.gc.young.collections"]).to be >= 0 + expect(data["counters"]["node.gc.old.collections"]).to be >= 0 + end + end + end +end diff --git a/spec/ci/node_19_spec.rb b/spec/ci/node_19_spec.rb new file mode 100644 index 000000000..9be8ab187 --- /dev/null +++ b/spec/ci/node_19_spec.rb @@ -0,0 +1,15 @@ +require_relative '../spec_helper' + +describe "Hello World for Node v19.x" do + context "a single-process Node v19.x app" do + let(:app) { + Hatchet::Runner.new("spec/fixtures/repos/node-19") + } + + it "should deploy successfully" do + app.deploy do |app| + expect(successful_body(app).strip).to eq("Hello, world!") + end + end + end +end diff --git a/spec/ci/node_20_metrics_spec.rb b/spec/ci/node_20_metrics_spec.rb new file mode 100644 index 000000000..1f62c7c86 --- /dev/null +++ b/spec/ci/node_20_metrics_spec.rb @@ -0,0 +1,25 @@ +require_relative '../spec_helper' + +describe "Node Metrics for v20.x" do + context "test metrics for Node v20x app" do + let(:app) { + Hatchet::Runner.new( + "spec/fixtures/repos/node-20-metrics", + config: { + "HEROKU_METRICS_URL" => "http://localhost:3000", + "METRICS_INTERVAL_OVERRIDE" => "10000" + } + ) + } + + it "should deploy" do + app.deploy do |app| + data = successful_json_body(app) + expect(data["gauges"]["node.eventloop.delay.ms.max"]).to be >= 2000 + expect(data["counters"]["node.gc.collections"]).to be >= 0 + expect(data["counters"]["node.gc.young.collections"]).to be >= 0 + expect(data["counters"]["node.gc.old.collections"]).to be >= 0 + end + end + end +end diff --git a/spec/ci/node_20_spec.rb b/spec/ci/node_20_spec.rb new file mode 100644 index 000000000..14870ab18 --- /dev/null +++ b/spec/ci/node_20_spec.rb @@ -0,0 +1,15 @@ +require_relative '../spec_helper' + +describe "Hello World for Node v20.x" do + context "a single-process Node v20.x app" do + let(:app) { + Hatchet::Runner.new("spec/fixtures/repos/node-20") + } + + it "should deploy successfully" do + app.deploy do |app| + expect(successful_body(app).strip).to eq("Hello, world!") + end + end + end +end diff --git a/spec/ci/node_metrics_conflict_spec.rb b/spec/ci/node_metrics_conflict_spec.rb new file mode 100644 index 000000000..73a426a5a --- /dev/null +++ b/spec/ci/node_metrics_conflict_spec.rb @@ -0,0 +1,26 @@ +require_relative '../spec_helper' + +describe "Node metrics plugin should not fail other Node binaries" do + context "an app that runs the Heroku CLI with metrics" do + let(:app) { + Hatchet::Runner.new( + "spec/fixtures/repos/node-metrics-conflict", + buildpacks: [ + Hatchet::App.default_buildpack, + "https://github.com/heroku/heroku-buildpack-cli" + ], + config: { + "HEROKU_METRICS_URL" => "http://localhost:3000" + } + ) + } + + it "should not run within the heroku cli" do + app.deploy do |app| + data = successful_body(app) + expect(data).to include("not logged in") + expect(data).not_to include("was compiled against a different Node.js version") + end + end + end +end diff --git a/spec/ci/yarn2_spec.rb b/spec/ci/yarn2_spec.rb new file mode 100644 index 000000000..3d121c81f --- /dev/null +++ b/spec/ci/yarn2_spec.rb @@ -0,0 +1,68 @@ +require_relative '../spec_helper' + +describe "yarn2 examples" do + # Example uses the pnp linker and pushes all dependencies in .yarn/cache. + # No packages should be downloaded and buildcache is not used in this mode. + it "pnp zero-install with should deploy successfully and not use the cache" do + app = Hatchet::Runner.new("spec/fixtures/repos/yarn2-pnp-zero-install") + app.deploy do |app| + expect(successful_body(app).strip).to eq("Hello from yarn2-pnp-zero-install") + + run!('git commit --allow-empty -m "deploy again to test cache reuse"') + app.push! + + expect(app.output).to include("yarn cache is checked into source control and cannot be cached") + expect(successful_body(app).strip).to eq("Hello from yarn2-pnp-zero-install") + end + end + + # Example uses the pnp linker but does not push dependencies in .yarn/cache. + # All packages will either be restored from buildcache or downloaded. + it "pnp nonzero-install should deploy successfully and reuse the cache" do + app = Hatchet::Runner.new("spec/fixtures/repos/yarn2-pnp-nonzero-install") + app.deploy do |app| + expect(successful_body(app).strip).to eq("Hello from yarn2-pnp-nonzero-install") + + run!('git commit --allow-empty -m "deploy again to test cache reuse"') + app.push! + + expect(app.output).to include("Restoring cache") + expect(app.output).to include("- yarn cache") + expect(successful_body(app).strip).to eq("Hello from yarn2-pnp-nonzero-install") + end + end + + # Example uses the node-modules linker (e.g. node standard module resolution) + # and pushes all dependencies in .yarn/cache. No packages should be downloaded + # and buildcache is not used in this mode. + it "node_modules zero install should deploy successfully and reuse the cache" do + app = Hatchet::Runner.new("spec/fixtures/repos/yarn2-modules-zero-install") + app.deploy do |app| + expect(successful_body(app).strip).to eq("Hello from yarn2-modules-zero-install") + + run!('git commit --allow-empty -m "deploy again to test cache reuse"') + app.push! + + expect(app.output).to include("yarn cache is checked into source control and cannot be cached") + expect(successful_body(app).strip).to eq("Hello from yarn2-modules-zero-install") + end + end + + # Example uses the node-modules linker (e.g. node standard module resolution) + # and does not push dependencies in .yarn/cache. All packages will either be + # restored from the buildcache or downloaded. + it "node_modules nonzero install should deploy successfully and reuse the cache" do + app = Hatchet::Runner.new("spec/fixtures/repos/yarn2-modules-nonzero-install") + app.deploy do |app| + expect(successful_body(app).strip).to eq("Hello from yarn2-modules-nonzero-install") + + run!('git commit --allow-empty -m "deploy again to test cache reuse"') + app.push! + + expect(app.output).to include("Restoring cache") + expect(app.output).to include("- yarn cache") + expect(successful_body(app).strip).to eq("Hello from yarn2-modules-nonzero-install") + end + end +end + diff --git a/spec/fixtures/repos/node-10-metrics/Procfile b/spec/fixtures/repos/node-10-metrics/Procfile new file mode 100644 index 000000000..550413efa --- /dev/null +++ b/spec/fixtures/repos/node-10-metrics/Procfile @@ -0,0 +1 @@ +web: node src/index.js diff --git a/spec/fixtures/repos/node-10-metrics/package.json b/spec/fixtures/repos/node-10-metrics/package.json new file mode 100644 index 000000000..edeb8e312 --- /dev/null +++ b/spec/fixtures/repos/node-10-metrics/package.json @@ -0,0 +1,11 @@ +{ + "name": "node-metrics-test-app", + "version": "1.0.0", + "engines": { + "node": "10.x" + }, + "main": "index.js", + "license": "MIT", + "devDependencies": {}, + "dependencies": {} +} diff --git a/spec/fixtures/repos/node-10-metrics/src/index.js b/spec/fixtures/repos/node-10-metrics/src/index.js new file mode 100755 index 000000000..8bc8bd7ce --- /dev/null +++ b/spec/fixtures/repos/node-10-metrics/src/index.js @@ -0,0 +1,73 @@ +#!/usr/bin/env node + +const http = require('http'); +const EventEmitter = require('events'); + +const PORT = process.env.PORT || 5000; +const Events = new EventEmitter(); + +// This will block the event loop for ~lengths of time +function blockCpuFor(ms) { + return new Promise((resolve, reject) => { + setTimeout(() => { + console.log(`blocking the event loop for ${ms}ms`); + let now = new Date().getTime(); + let result = 0 + while(true) { + result += Math.random() * Math.random(); + if (new Date().getTime() > now + ms) + break; + } + resolve(); + }, 100); + }); +} + +function getNextMetricsEvent() { + return new Promise((resolve, reject) => Events.once('metrics', resolve)); +} + +const server = http.createServer((req, res) => { + // wait for the next metrics event + getNextMetricsEvent() + .then(blockCpuFor(2000)) + .then(blockCpuFor(100)) + .then(blockCpuFor(100)) + .then(blockCpuFor(100)) + .then(blockCpuFor(100)) + .then(blockCpuFor(100)) + .then(blockCpuFor(100)) + .then(blockCpuFor(100)) + .then(blockCpuFor(100)) + .then(blockCpuFor(100)) + .then(blockCpuFor(100)) + // gather the next metrics data which should include these pauses + .then(getNextMetricsEvent()) + .then(data => { + res.setHeader('Content-Type', 'application/json'); + res.end(data); + }) + .catch(() => { + res.statusCode = 500; + res.end("Something went wrong"); + }); +}); + +server.listen(PORT, () => console.log(`Listening on ${PORT}`)); + +// Create a second server that intercepts the HTTP requests +// sent by the metrics plugin +const metricsListener = http.createServer((req, res) => { + if (req.method == 'POST') { + let body = ''; + req.on('data', (data) => body += data); + req.on('end', () => { + res.statusCode = 200; + res.end(); + Events.emit('metrics', body) + }); + } +}); + +metricsListener.listen(3000, () => console.log('Listening for metrics on 3000')); + diff --git a/spec/fixtures/repos/node-10/Procfile b/spec/fixtures/repos/node-10/Procfile new file mode 100644 index 000000000..550413efa --- /dev/null +++ b/spec/fixtures/repos/node-10/Procfile @@ -0,0 +1 @@ +web: node src/index.js diff --git a/spec/fixtures/repos/node-10/app.json b/spec/fixtures/repos/node-10/app.json new file mode 100644 index 000000000..63b5c96f2 --- /dev/null +++ b/spec/fixtures/repos/node-10/app.json @@ -0,0 +1,3 @@ +{ + "name": "hello-world" +} diff --git a/spec/fixtures/repos/node-10/package.json b/spec/fixtures/repos/node-10/package.json new file mode 100644 index 000000000..0c1f6ef7a --- /dev/null +++ b/spec/fixtures/repos/node-10/package.json @@ -0,0 +1,21 @@ +{ + "name": "hello-world", + "version": "1.0.0", + "engines": { + "node": "10.x" + }, + "scripts": { + "prettify": "prettier --single-quote --trailing-comma all --write 'bin/*' 'src/**/*.js'", + "test": "jest --silent", + "dev": "nodemon --watch . --watch src/* src/index.js", + "heroku-postbuild": "echo NODE_OPTIONS: $NODE_OPTIONS" + }, + "main": "index.js", + "license": "MIT", + "devDependencies": { + "jest": "^19.0.2", + "nodemon": "^1.11.0", + "prettier": "^0.22.0" + }, + "dependencies": {} +} diff --git a/spec/fixtures/repos/node-10/src/index.js b/spec/fixtures/repos/node-10/src/index.js new file mode 100755 index 000000000..39a499a1b --- /dev/null +++ b/spec/fixtures/repos/node-10/src/index.js @@ -0,0 +1,46 @@ +#!/usr/bin/env node + +const http = require('http'); +const crypto = require('crypto'); + +const PORT = process.env.PORT || 5000; + +// This will block the event loop for ~lengths of time +function blockCpuFor(ms) { + var now = new Date().getTime(); + var result = 0 + while(true) { + result += Math.random() * Math.random(); + if (new Date().getTime() > now +ms) + return; + } +} + +// block the event loop for 100ms every second +setInterval(() => { + blockCpuFor(100); +}, 1000) + +// block the event loop for 1sec every 30 seconds +setInterval(() => { + blockCpuFor(1000); +}, 30000) + +// Allocate and erase memory on an interval +let store = []; + +setInterval(() => { + store.push(crypto.randomBytes(1000000).toString('hex')); +}, 500); + +setInterval(() => { + store = []; +}, 60000); + +const server = http.createServer((req, res) => { + res.statusCode = 200; + res.setHeader('Content-Type', 'text/plain'); + res.end("Hello, world!"); +}) + +server.listen(PORT, () => console.log(`Listening on ${PORT}`)); diff --git a/spec/fixtures/repos/node-12-metrics/Procfile b/spec/fixtures/repos/node-12-metrics/Procfile new file mode 100644 index 000000000..550413efa --- /dev/null +++ b/spec/fixtures/repos/node-12-metrics/Procfile @@ -0,0 +1 @@ +web: node src/index.js diff --git a/spec/fixtures/repos/node-12-metrics/package.json b/spec/fixtures/repos/node-12-metrics/package.json new file mode 100644 index 000000000..839300370 --- /dev/null +++ b/spec/fixtures/repos/node-12-metrics/package.json @@ -0,0 +1,11 @@ +{ + "name": "node-metrics-test-app", + "version": "1.0.0", + "engines": { + "node": "12.x" + }, + "main": "index.js", + "license": "MIT", + "devDependencies": {}, + "dependencies": {} +} diff --git a/spec/fixtures/repos/node-12-metrics/src/index.js b/spec/fixtures/repos/node-12-metrics/src/index.js new file mode 100755 index 000000000..8bc8bd7ce --- /dev/null +++ b/spec/fixtures/repos/node-12-metrics/src/index.js @@ -0,0 +1,73 @@ +#!/usr/bin/env node + +const http = require('http'); +const EventEmitter = require('events'); + +const PORT = process.env.PORT || 5000; +const Events = new EventEmitter(); + +// This will block the event loop for ~lengths of time +function blockCpuFor(ms) { + return new Promise((resolve, reject) => { + setTimeout(() => { + console.log(`blocking the event loop for ${ms}ms`); + let now = new Date().getTime(); + let result = 0 + while(true) { + result += Math.random() * Math.random(); + if (new Date().getTime() > now + ms) + break; + } + resolve(); + }, 100); + }); +} + +function getNextMetricsEvent() { + return new Promise((resolve, reject) => Events.once('metrics', resolve)); +} + +const server = http.createServer((req, res) => { + // wait for the next metrics event + getNextMetricsEvent() + .then(blockCpuFor(2000)) + .then(blockCpuFor(100)) + .then(blockCpuFor(100)) + .then(blockCpuFor(100)) + .then(blockCpuFor(100)) + .then(blockCpuFor(100)) + .then(blockCpuFor(100)) + .then(blockCpuFor(100)) + .then(blockCpuFor(100)) + .then(blockCpuFor(100)) + .then(blockCpuFor(100)) + // gather the next metrics data which should include these pauses + .then(getNextMetricsEvent()) + .then(data => { + res.setHeader('Content-Type', 'application/json'); + res.end(data); + }) + .catch(() => { + res.statusCode = 500; + res.end("Something went wrong"); + }); +}); + +server.listen(PORT, () => console.log(`Listening on ${PORT}`)); + +// Create a second server that intercepts the HTTP requests +// sent by the metrics plugin +const metricsListener = http.createServer((req, res) => { + if (req.method == 'POST') { + let body = ''; + req.on('data', (data) => body += data); + req.on('end', () => { + res.statusCode = 200; + res.end(); + Events.emit('metrics', body) + }); + } +}); + +metricsListener.listen(3000, () => console.log('Listening for metrics on 3000')); + diff --git a/spec/fixtures/repos/node-12/Procfile b/spec/fixtures/repos/node-12/Procfile new file mode 100644 index 000000000..550413efa --- /dev/null +++ b/spec/fixtures/repos/node-12/Procfile @@ -0,0 +1 @@ +web: node src/index.js diff --git a/spec/fixtures/repos/node-12/app.json b/spec/fixtures/repos/node-12/app.json new file mode 100644 index 000000000..63b5c96f2 --- /dev/null +++ b/spec/fixtures/repos/node-12/app.json @@ -0,0 +1,3 @@ +{ + "name": "hello-world" +} diff --git a/spec/fixtures/repos/node-12/package.json b/spec/fixtures/repos/node-12/package.json new file mode 100644 index 000000000..a49f784fb --- /dev/null +++ b/spec/fixtures/repos/node-12/package.json @@ -0,0 +1,21 @@ +{ + "name": "hello-world", + "version": "1.0.0", + "engines": { + "node": "12.x" + }, + "scripts": { + "prettify": "prettier --single-quote --trailing-comma all --write 'bin/*' 'src/**/*.js'", + "test": "jest --silent", + "dev": "nodemon --watch . --watch src/* src/index.js", + "heroku-postbuild": "echo NODE_OPTIONS: $NODE_OPTIONS" + }, + "main": "index.js", + "license": "MIT", + "devDependencies": { + "jest": "^19.0.2", + "nodemon": "^1.11.0", + "prettier": "^0.22.0" + }, + "dependencies": {} +} diff --git a/spec/fixtures/repos/node-12/src/index.js b/spec/fixtures/repos/node-12/src/index.js new file mode 100755 index 000000000..39a499a1b --- /dev/null +++ b/spec/fixtures/repos/node-12/src/index.js @@ -0,0 +1,46 @@ +#!/usr/bin/env node + +const http = require('http'); +const crypto = require('crypto'); + +const PORT = process.env.PORT || 5000; + +// This will block the event loop for ~lengths of time +function blockCpuFor(ms) { + var now = new Date().getTime(); + var result = 0 + while(true) { + result += Math.random() * Math.random(); + if (new Date().getTime() > now +ms) + return; + } +} + +// block the event loop for 100ms every second +setInterval(() => { + blockCpuFor(100); +}, 1000) + +// block the event loop for 1sec every 30 seconds +setInterval(() => { + blockCpuFor(1000); +}, 30000) + +// Allocate and erase memory on an interval +let store = []; + +setInterval(() => { + store.push(crypto.randomBytes(1000000).toString('hex')); +}, 500); + +setInterval(() => { + store = []; +}, 60000); + +const server = http.createServer((req, res) => { + res.statusCode = 200; + res.setHeader('Content-Type', 'text/plain'); + res.end("Hello, world!"); +}) + +server.listen(PORT, () => console.log(`Listening on ${PORT}`)); diff --git a/spec/fixtures/repos/node-14-metrics/Procfile b/spec/fixtures/repos/node-14-metrics/Procfile new file mode 100644 index 000000000..1da0cd6f6 --- /dev/null +++ b/spec/fixtures/repos/node-14-metrics/Procfile @@ -0,0 +1 @@ +web: node index.js diff --git a/spec/fixtures/repos/node-14-metrics/index.js b/spec/fixtures/repos/node-14-metrics/index.js new file mode 100755 index 000000000..eae912a05 --- /dev/null +++ b/spec/fixtures/repos/node-14-metrics/index.js @@ -0,0 +1,72 @@ +#!/usr/bin/env node + +const http = require('http'); +const EventEmitter = require('events'); + +const PORT = process.env.PORT || 5000; +const Events = new EventEmitter(); + +// This will block the event loop for ~lengths of time +function blockCpuFor(ms) { + return new Promise((resolve, reject) => { + setTimeout(() => { + console.log(`blocking the event loop for ${ms}ms`); + let now = new Date().getTime(); + let result = 0 + while(true) { + result += Math.random() * Math.random(); + if (new Date().getTime() > now + ms) + break; + } + resolve(); + }, 100); + }); +} + +function getNextMetricsEvent() { + return new Promise((resolve, reject) => Events.once('metrics', resolve)); +} + +const server = http.createServer((req, res) => { + // wait for the next metrics event + getNextMetricsEvent() + .then(blockCpuFor(2000)) + .then(blockCpuFor(100)) + .then(blockCpuFor(100)) + .then(blockCpuFor(100)) + .then(blockCpuFor(100)) + .then(blockCpuFor(100)) + .then(blockCpuFor(100)) + .then(blockCpuFor(100)) + .then(blockCpuFor(100)) + .then(blockCpuFor(100)) + .then(blockCpuFor(100)) + // gather the next metrics data which should include these pauses + .then(getNextMetricsEvent()) + .then(data => { + res.setHeader('Content-Type', 'application/json'); + res.end(data); + }) + .catch(() => { + res.statusCode = 500; + res.end("Something went wrong"); + }); +}); + +server.listen(PORT, () => console.log(`Listening on ${PORT}`)); + +// Create a second server that intercepts the HTTP requests +// sent by the metrics plugin +const metricsListener = http.createServer((req, res) => { + if (req.method == 'POST') { + let body = ''; + req.on('data', (data) => body += data); + req.on('end', () => { + res.statusCode = 200; + res.end(); + Events.emit('metrics', body) + }); + } +}); + +metricsListener.listen(3000, () => console.log('Listening for metrics on 3000')); diff --git a/spec/fixtures/repos/node-14-metrics/package.json b/spec/fixtures/repos/node-14-metrics/package.json new file mode 100644 index 000000000..c7518c283 --- /dev/null +++ b/spec/fixtures/repos/node-14-metrics/package.json @@ -0,0 +1,11 @@ +{ + "name": "node-metrics-test-app", + "version": "1.0.0", + "engines": { + "node": "14.x" + }, + "main": "index.js", + "license": "MIT", + "devDependencies": {}, + "dependencies": {} +} diff --git a/spec/fixtures/repos/node-14/Procfile b/spec/fixtures/repos/node-14/Procfile new file mode 100644 index 000000000..1da0cd6f6 --- /dev/null +++ b/spec/fixtures/repos/node-14/Procfile @@ -0,0 +1 @@ +web: node index.js diff --git a/spec/fixtures/repos/node-14/app.json b/spec/fixtures/repos/node-14/app.json new file mode 100644 index 000000000..63b5c96f2 --- /dev/null +++ b/spec/fixtures/repos/node-14/app.json @@ -0,0 +1,3 @@ +{ + "name": "hello-world" +} diff --git a/spec/fixtures/repos/node-14/index.js b/spec/fixtures/repos/node-14/index.js new file mode 100755 index 000000000..39a499a1b --- /dev/null +++ b/spec/fixtures/repos/node-14/index.js @@ -0,0 +1,46 @@ +#!/usr/bin/env node + +const http = require('http'); +const crypto = require('crypto'); + +const PORT = process.env.PORT || 5000; + +// This will block the event loop for ~lengths of time +function blockCpuFor(ms) { + var now = new Date().getTime(); + var result = 0 + while(true) { + result += Math.random() * Math.random(); + if (new Date().getTime() > now +ms) + return; + } +} + +// block the event loop for 100ms every second +setInterval(() => { + blockCpuFor(100); +}, 1000) + +// block the event loop for 1sec every 30 seconds +setInterval(() => { + blockCpuFor(1000); +}, 30000) + +// Allocate and erase memory on an interval +let store = []; + +setInterval(() => { + store.push(crypto.randomBytes(1000000).toString('hex')); +}, 500); + +setInterval(() => { + store = []; +}, 60000); + +const server = http.createServer((req, res) => { + res.statusCode = 200; + res.setHeader('Content-Type', 'text/plain'); + res.end("Hello, world!"); +}) + +server.listen(PORT, () => console.log(`Listening on ${PORT}`)); diff --git a/spec/fixtures/repos/node-14/package.json b/spec/fixtures/repos/node-14/package.json new file mode 100644 index 000000000..9a264cb2d --- /dev/null +++ b/spec/fixtures/repos/node-14/package.json @@ -0,0 +1,21 @@ +{ + "name": "hello-world", + "version": "1.0.0", + "engines": { + "node": "14.x" + }, + "scripts": { + "prettify": "prettier --single-quote --trailing-comma all --write 'bin/*' 'src/**/*.js'", + "test": "jest --silent", + "dev": "nodemon --watch . --watch src/* src/index.js", + "build": "echo NODE_OPTIONS: $NODE_OPTIONS" + }, + "main": "index.js", + "license": "MIT", + "devDependencies": { + "jest": "^19.0.2", + "nodemon": "^1.19.4", + "prettier": "^0.22.0" + }, + "dependencies": {} +} diff --git a/spec/fixtures/repos/node-15-metrics/Procfile b/spec/fixtures/repos/node-15-metrics/Procfile new file mode 100644 index 000000000..1da0cd6f6 --- /dev/null +++ b/spec/fixtures/repos/node-15-metrics/Procfile @@ -0,0 +1 @@ +web: node index.js diff --git a/spec/fixtures/repos/node-15-metrics/index.js b/spec/fixtures/repos/node-15-metrics/index.js new file mode 100755 index 000000000..eae912a05 --- /dev/null +++ b/spec/fixtures/repos/node-15-metrics/index.js @@ -0,0 +1,72 @@ +#!/usr/bin/env node + +const http = require('http'); +const EventEmitter = require('events'); + +const PORT = process.env.PORT || 5000; +const Events = new EventEmitter(); + +// This will block the event loop for ~lengths of time +function blockCpuFor(ms) { + return new Promise((resolve, reject) => { + setTimeout(() => { + console.log(`blocking the event loop for ${ms}ms`); + let now = new Date().getTime(); + let result = 0 + while(true) { + result += Math.random() * Math.random(); + if (new Date().getTime() > now + ms) + break; + } + resolve(); + }, 100); + }); +} + +function getNextMetricsEvent() { + return new Promise((resolve, reject) => Events.once('metrics', resolve)); +} + +const server = http.createServer((req, res) => { + // wait for the next metrics event + getNextMetricsEvent() + .then(blockCpuFor(2000)) + .then(blockCpuFor(100)) + .then(blockCpuFor(100)) + .then(blockCpuFor(100)) + .then(blockCpuFor(100)) + .then(blockCpuFor(100)) + .then(blockCpuFor(100)) + .then(blockCpuFor(100)) + .then(blockCpuFor(100)) + .then(blockCpuFor(100)) + .then(blockCpuFor(100)) + // gather the next metrics data which should include these pauses + .then(getNextMetricsEvent()) + .then(data => { + res.setHeader('Content-Type', 'application/json'); + res.end(data); + }) + .catch(() => { + res.statusCode = 500; + res.end("Something went wrong"); + }); +}); + +server.listen(PORT, () => console.log(`Listening on ${PORT}`)); + +// Create a second server that intercepts the HTTP requests +// sent by the metrics plugin +const metricsListener = http.createServer((req, res) => { + if (req.method == 'POST') { + let body = ''; + req.on('data', (data) => body += data); + req.on('end', () => { + res.statusCode = 200; + res.end(); + Events.emit('metrics', body) + }); + } +}); + +metricsListener.listen(3000, () => console.log('Listening for metrics on 3000')); diff --git a/spec/fixtures/repos/node-15-metrics/package.json b/spec/fixtures/repos/node-15-metrics/package.json new file mode 100644 index 000000000..ed0b147a6 --- /dev/null +++ b/spec/fixtures/repos/node-15-metrics/package.json @@ -0,0 +1,11 @@ +{ + "name": "node-metrics-test-app", + "version": "1.0.0", + "engines": { + "node": "15.x" + }, + "main": "index.js", + "license": "MIT", + "devDependencies": {}, + "dependencies": {} +} diff --git a/spec/fixtures/repos/node-15/Procfile b/spec/fixtures/repos/node-15/Procfile new file mode 100644 index 000000000..1da0cd6f6 --- /dev/null +++ b/spec/fixtures/repos/node-15/Procfile @@ -0,0 +1 @@ +web: node index.js diff --git a/spec/fixtures/repos/node-15/app.json b/spec/fixtures/repos/node-15/app.json new file mode 100644 index 000000000..63b5c96f2 --- /dev/null +++ b/spec/fixtures/repos/node-15/app.json @@ -0,0 +1,3 @@ +{ + "name": "hello-world" +} diff --git a/spec/fixtures/repos/node-15/index.js b/spec/fixtures/repos/node-15/index.js new file mode 100755 index 000000000..39a499a1b --- /dev/null +++ b/spec/fixtures/repos/node-15/index.js @@ -0,0 +1,46 @@ +#!/usr/bin/env node + +const http = require('http'); +const crypto = require('crypto'); + +const PORT = process.env.PORT || 5000; + +// This will block the event loop for ~lengths of time +function blockCpuFor(ms) { + var now = new Date().getTime(); + var result = 0 + while(true) { + result += Math.random() * Math.random(); + if (new Date().getTime() > now +ms) + return; + } +} + +// block the event loop for 100ms every second +setInterval(() => { + blockCpuFor(100); +}, 1000) + +// block the event loop for 1sec every 30 seconds +setInterval(() => { + blockCpuFor(1000); +}, 30000) + +// Allocate and erase memory on an interval +let store = []; + +setInterval(() => { + store.push(crypto.randomBytes(1000000).toString('hex')); +}, 500); + +setInterval(() => { + store = []; +}, 60000); + +const server = http.createServer((req, res) => { + res.statusCode = 200; + res.setHeader('Content-Type', 'text/plain'); + res.end("Hello, world!"); +}) + +server.listen(PORT, () => console.log(`Listening on ${PORT}`)); diff --git a/spec/fixtures/repos/node-15/package.json b/spec/fixtures/repos/node-15/package.json new file mode 100644 index 000000000..df9b0d271 --- /dev/null +++ b/spec/fixtures/repos/node-15/package.json @@ -0,0 +1,21 @@ +{ + "name": "hello-world", + "version": "1.0.0", + "engines": { + "node": "15.x" + }, + "scripts": { + "prettify": "prettier --single-quote --trailing-comma all --write 'bin/*' 'src/**/*.js'", + "test": "jest --silent", + "dev": "nodemon --watch . --watch src/* src/index.js", + "build": "echo NODE_OPTIONS: $NODE_OPTIONS" + }, + "main": "index.js", + "license": "MIT", + "devDependencies": { + "jest": "^19.0.2", + "nodemon": "^1.19.4", + "prettier": "^0.22.0" + }, + "dependencies": {} +} diff --git a/spec/fixtures/repos/node-16-metrics/Procfile b/spec/fixtures/repos/node-16-metrics/Procfile new file mode 100644 index 000000000..1da0cd6f6 --- /dev/null +++ b/spec/fixtures/repos/node-16-metrics/Procfile @@ -0,0 +1 @@ +web: node index.js diff --git a/spec/fixtures/repos/node-16-metrics/index.js b/spec/fixtures/repos/node-16-metrics/index.js new file mode 100755 index 000000000..eae912a05 --- /dev/null +++ b/spec/fixtures/repos/node-16-metrics/index.js @@ -0,0 +1,72 @@ +#!/usr/bin/env node + +const http = require('http'); +const EventEmitter = require('events'); + +const PORT = process.env.PORT || 5000; +const Events = new EventEmitter(); + +// This will block the event loop for ~lengths of time +function blockCpuFor(ms) { + return new Promise((resolve, reject) => { + setTimeout(() => { + console.log(`blocking the event loop for ${ms}ms`); + let now = new Date().getTime(); + let result = 0 + while(true) { + result += Math.random() * Math.random(); + if (new Date().getTime() > now + ms) + break; + } + resolve(); + }, 100); + }); +} + +function getNextMetricsEvent() { + return new Promise((resolve, reject) => Events.once('metrics', resolve)); +} + +const server = http.createServer((req, res) => { + // wait for the next metrics event + getNextMetricsEvent() + .then(blockCpuFor(2000)) + .then(blockCpuFor(100)) + .then(blockCpuFor(100)) + .then(blockCpuFor(100)) + .then(blockCpuFor(100)) + .then(blockCpuFor(100)) + .then(blockCpuFor(100)) + .then(blockCpuFor(100)) + .then(blockCpuFor(100)) + .then(blockCpuFor(100)) + .then(blockCpuFor(100)) + // gather the next metrics data which should include these pauses + .then(getNextMetricsEvent()) + .then(data => { + res.setHeader('Content-Type', 'application/json'); + res.end(data); + }) + .catch(() => { + res.statusCode = 500; + res.end("Something went wrong"); + }); +}); + +server.listen(PORT, () => console.log(`Listening on ${PORT}`)); + +// Create a second server that intercepts the HTTP requests +// sent by the metrics plugin +const metricsListener = http.createServer((req, res) => { + if (req.method == 'POST') { + let body = ''; + req.on('data', (data) => body += data); + req.on('end', () => { + res.statusCode = 200; + res.end(); + Events.emit('metrics', body) + }); + } +}); + +metricsListener.listen(3000, () => console.log('Listening for metrics on 3000')); diff --git a/spec/fixtures/repos/node-16-metrics/package.json b/spec/fixtures/repos/node-16-metrics/package.json new file mode 100644 index 000000000..e1a74ebd6 --- /dev/null +++ b/spec/fixtures/repos/node-16-metrics/package.json @@ -0,0 +1,11 @@ +{ + "name": "node-metrics-test-app", + "version": "1.0.0", + "engines": { + "node": "16.x" + }, + "main": "index.js", + "license": "MIT", + "devDependencies": {}, + "dependencies": {} +} diff --git a/spec/fixtures/repos/node-16/Procfile b/spec/fixtures/repos/node-16/Procfile new file mode 100644 index 000000000..1da0cd6f6 --- /dev/null +++ b/spec/fixtures/repos/node-16/Procfile @@ -0,0 +1 @@ +web: node index.js diff --git a/spec/fixtures/repos/node-16/app.json b/spec/fixtures/repos/node-16/app.json new file mode 100644 index 000000000..63b5c96f2 --- /dev/null +++ b/spec/fixtures/repos/node-16/app.json @@ -0,0 +1,3 @@ +{ + "name": "hello-world" +} diff --git a/spec/fixtures/repos/node-16/index.js b/spec/fixtures/repos/node-16/index.js new file mode 100755 index 000000000..4191282cb --- /dev/null +++ b/spec/fixtures/repos/node-16/index.js @@ -0,0 +1,46 @@ +#!/usr/bin/env node + +const http = require('http'); +const crypto = require('crypto'); + +const PORT = process.env.PORT || 5000; + +// This will block the event loop for ~lengths of time +function blockCpuFor(ms) { + var now = new Date().getTime(); + var result = 0 + while(true) { + result += Math.random() * Math.random(); + if (new Date().getTime() > now +ms) + return; + } +} + +// block the event loop for 100ms every second +setInterval(() => { + blockCpuFor(100); +}, 1000) + +// block the event loop for 1sec every 30 seconds +setInterval(() => { + blockCpuFor(1000); +}, 30000) + +// Allocate and erase memory on an interval +let store = []; + +setInterval(() => { + store.push(crypto.randomBytes(1000000).toString('hex')); +}, 500); + +setInterval(() => { + store = []; +}, 60000); + +const server = http.createServer((_req, res) => { + res.statusCode = 200; + res.setHeader('Content-Type', 'text/plain'); + res.end("Hello, world!"); +}) + +server.listen(PORT, () => console.log(`Listening on ${PORT}`)); diff --git a/spec/fixtures/repos/node-16/package.json b/spec/fixtures/repos/node-16/package.json new file mode 100644 index 000000000..e05b8738a --- /dev/null +++ b/spec/fixtures/repos/node-16/package.json @@ -0,0 +1,21 @@ +{ + "name": "hello-world", + "version": "1.0.0", + "engines": { + "node": "16.x" + }, + "scripts": { + "prettify": "prettier --single-quote --trailing-comma all --write 'bin/*' 'src/**/*.js'", + "test": "jest --silent", + "dev": "nodemon --watch . --watch src/* src/index.js", + "build": "echo NODE_OPTIONS: $NODE_OPTIONS" + }, + "main": "index.js", + "license": "MIT", + "devDependencies": { + "jest": "^19.0.2", + "nodemon": "^1.19.4", + "prettier": "^0.22.0" + }, + "dependencies": {} +} diff --git a/spec/fixtures/repos/node-17-metrics/Procfile b/spec/fixtures/repos/node-17-metrics/Procfile new file mode 100644 index 000000000..1da0cd6f6 --- /dev/null +++ b/spec/fixtures/repos/node-17-metrics/Procfile @@ -0,0 +1 @@ +web: node index.js diff --git a/spec/fixtures/repos/node-17-metrics/index.js b/spec/fixtures/repos/node-17-metrics/index.js new file mode 100755 index 000000000..eae912a05 --- /dev/null +++ b/spec/fixtures/repos/node-17-metrics/index.js @@ -0,0 +1,72 @@ +#!/usr/bin/env node + +const http = require('http'); +const EventEmitter = require('events'); + +const PORT = process.env.PORT || 5000; +const Events = new EventEmitter(); + +// This will block the event loop for ~lengths of time +function blockCpuFor(ms) { + return new Promise((resolve, reject) => { + setTimeout(() => { + console.log(`blocking the event loop for ${ms}ms`); + let now = new Date().getTime(); + let result = 0 + while(true) { + result += Math.random() * Math.random(); + if (new Date().getTime() > now + ms) + break; + } + resolve(); + }, 100); + }); +} + +function getNextMetricsEvent() { + return new Promise((resolve, reject) => Events.once('metrics', resolve)); +} + +const server = http.createServer((req, res) => { + // wait for the next metrics event + getNextMetricsEvent() + .then(blockCpuFor(2000)) + .then(blockCpuFor(100)) + .then(blockCpuFor(100)) + .then(blockCpuFor(100)) + .then(blockCpuFor(100)) + .then(blockCpuFor(100)) + .then(blockCpuFor(100)) + .then(blockCpuFor(100)) + .then(blockCpuFor(100)) + .then(blockCpuFor(100)) + .then(blockCpuFor(100)) + // gather the next metrics data which should include these pauses + .then(getNextMetricsEvent()) + .then(data => { + res.setHeader('Content-Type', 'application/json'); + res.end(data); + }) + .catch(() => { + res.statusCode = 500; + res.end("Something went wrong"); + }); +}); + +server.listen(PORT, () => console.log(`Listening on ${PORT}`)); + +// Create a second server that intercepts the HTTP requests +// sent by the metrics plugin +const metricsListener = http.createServer((req, res) => { + if (req.method == 'POST') { + let body = ''; + req.on('data', (data) => body += data); + req.on('end', () => { + res.statusCode = 200; + res.end(); + Events.emit('metrics', body) + }); + } +}); + +metricsListener.listen(3000, () => console.log('Listening for metrics on 3000')); diff --git a/spec/fixtures/repos/node-17-metrics/package.json b/spec/fixtures/repos/node-17-metrics/package.json new file mode 100644 index 000000000..285c65c3f --- /dev/null +++ b/spec/fixtures/repos/node-17-metrics/package.json @@ -0,0 +1,11 @@ +{ + "name": "node-metrics-test-app", + "version": "1.0.0", + "engines": { + "node": "17.x" + }, + "main": "index.js", + "license": "MIT", + "devDependencies": {}, + "dependencies": {} +} diff --git a/spec/fixtures/repos/node-17/Procfile b/spec/fixtures/repos/node-17/Procfile new file mode 100644 index 000000000..1da0cd6f6 --- /dev/null +++ b/spec/fixtures/repos/node-17/Procfile @@ -0,0 +1 @@ +web: node index.js diff --git a/spec/fixtures/repos/node-17/app.json b/spec/fixtures/repos/node-17/app.json new file mode 100644 index 000000000..63b5c96f2 --- /dev/null +++ b/spec/fixtures/repos/node-17/app.json @@ -0,0 +1,3 @@ +{ + "name": "hello-world" +} diff --git a/spec/fixtures/repos/node-17/index.js b/spec/fixtures/repos/node-17/index.js new file mode 100755 index 000000000..4191282cb --- /dev/null +++ b/spec/fixtures/repos/node-17/index.js @@ -0,0 +1,46 @@ +#!/usr/bin/env node + +const http = require('http'); +const crypto = require('crypto'); + +const PORT = process.env.PORT || 5000; + +// This will block the event loop for ~lengths of time +function blockCpuFor(ms) { + var now = new Date().getTime(); + var result = 0 + while(true) { + result += Math.random() * Math.random(); + if (new Date().getTime() > now +ms) + return; + } +} + +// block the event loop for 100ms every second +setInterval(() => { + blockCpuFor(100); +}, 1000) + +// block the event loop for 1sec every 30 seconds +setInterval(() => { + blockCpuFor(1000); +}, 30000) + +// Allocate and erase memory on an interval +let store = []; + +setInterval(() => { + store.push(crypto.randomBytes(1000000).toString('hex')); +}, 500); + +setInterval(() => { + store = []; +}, 60000); + +const server = http.createServer((_req, res) => { + res.statusCode = 200; + res.setHeader('Content-Type', 'text/plain'); + res.end("Hello, world!"); +}) + +server.listen(PORT, () => console.log(`Listening on ${PORT}`)); diff --git a/spec/fixtures/repos/node-17/package.json b/spec/fixtures/repos/node-17/package.json new file mode 100644 index 000000000..682240f27 --- /dev/null +++ b/spec/fixtures/repos/node-17/package.json @@ -0,0 +1,21 @@ +{ + "name": "hello-world", + "version": "1.0.0", + "engines": { + "node": "17.x" + }, + "scripts": { + "prettify": "prettier --single-quote --trailing-comma all --write 'bin/*' 'src/**/*.js'", + "test": "jest --silent", + "dev": "nodemon --watch . --watch src/* src/index.js", + "build": "echo NODE_OPTIONS: $NODE_OPTIONS" + }, + "main": "index.js", + "license": "MIT", + "devDependencies": { + "jest": "^19.0.2", + "nodemon": "^1.19.4", + "prettier": "^0.22.0" + }, + "dependencies": {} +} diff --git a/spec/fixtures/repos/node-18-metrics/Procfile b/spec/fixtures/repos/node-18-metrics/Procfile new file mode 100644 index 000000000..1da0cd6f6 --- /dev/null +++ b/spec/fixtures/repos/node-18-metrics/Procfile @@ -0,0 +1 @@ +web: node index.js diff --git a/spec/fixtures/repos/node-18-metrics/index.js b/spec/fixtures/repos/node-18-metrics/index.js new file mode 100755 index 000000000..eae912a05 --- /dev/null +++ b/spec/fixtures/repos/node-18-metrics/index.js @@ -0,0 +1,72 @@ +#!/usr/bin/env node + +const http = require('http'); +const EventEmitter = require('events'); + +const PORT = process.env.PORT || 5000; +const Events = new EventEmitter(); + +// This will block the event loop for ~lengths of time +function blockCpuFor(ms) { + return new Promise((resolve, reject) => { + setTimeout(() => { + console.log(`blocking the event loop for ${ms}ms`); + let now = new Date().getTime(); + let result = 0 + while(true) { + result += Math.random() * Math.random(); + if (new Date().getTime() > now + ms) + break; + } + resolve(); + }, 100); + }); +} + +function getNextMetricsEvent() { + return new Promise((resolve, reject) => Events.once('metrics', resolve)); +} + +const server = http.createServer((req, res) => { + // wait for the next metrics event + getNextMetricsEvent() + .then(blockCpuFor(2000)) + .then(blockCpuFor(100)) + .then(blockCpuFor(100)) + .then(blockCpuFor(100)) + .then(blockCpuFor(100)) + .then(blockCpuFor(100)) + .then(blockCpuFor(100)) + .then(blockCpuFor(100)) + .then(blockCpuFor(100)) + .then(blockCpuFor(100)) + .then(blockCpuFor(100)) + // gather the next metrics data which should include these pauses + .then(getNextMetricsEvent()) + .then(data => { + res.setHeader('Content-Type', 'application/json'); + res.end(data); + }) + .catch(() => { + res.statusCode = 500; + res.end("Something went wrong"); + }); +}); + +server.listen(PORT, () => console.log(`Listening on ${PORT}`)); + +// Create a second server that intercepts the HTTP requests +// sent by the metrics plugin +const metricsListener = http.createServer((req, res) => { + if (req.method == 'POST') { + let body = ''; + req.on('data', (data) => body += data); + req.on('end', () => { + res.statusCode = 200; + res.end(); + Events.emit('metrics', body) + }); + } +}); + +metricsListener.listen(3000, () => console.log('Listening for metrics on 3000')); diff --git a/spec/fixtures/repos/node-18-metrics/package.json b/spec/fixtures/repos/node-18-metrics/package.json new file mode 100644 index 000000000..9b8471866 --- /dev/null +++ b/spec/fixtures/repos/node-18-metrics/package.json @@ -0,0 +1,11 @@ +{ + "name": "node-metrics-test-app", + "version": "1.0.0", + "engines": { + "node": "18.x" + }, + "main": "index.js", + "license": "MIT", + "devDependencies": {}, + "dependencies": {} +} diff --git a/spec/fixtures/repos/node-18/Procfile b/spec/fixtures/repos/node-18/Procfile new file mode 100644 index 000000000..1da0cd6f6 --- /dev/null +++ b/spec/fixtures/repos/node-18/Procfile @@ -0,0 +1 @@ +web: node index.js diff --git a/spec/fixtures/repos/node-18/app.json b/spec/fixtures/repos/node-18/app.json new file mode 100644 index 000000000..63b5c96f2 --- /dev/null +++ b/spec/fixtures/repos/node-18/app.json @@ -0,0 +1,3 @@ +{ + "name": "hello-world" +} diff --git a/spec/fixtures/repos/node-18/index.js b/spec/fixtures/repos/node-18/index.js new file mode 100755 index 000000000..4191282cb --- /dev/null +++ b/spec/fixtures/repos/node-18/index.js @@ -0,0 +1,46 @@ +#!/usr/bin/env node + +const http = require('http'); +const crypto = require('crypto'); + +const PORT = process.env.PORT || 5000; + +// This will block the event loop for ~lengths of time +function blockCpuFor(ms) { + var now = new Date().getTime(); + var result = 0 + while(true) { + result += Math.random() * Math.random(); + if (new Date().getTime() > now +ms) + return; + } +} + +// block the event loop for 100ms every second +setInterval(() => { + blockCpuFor(100); +}, 1000) + +// block the event loop for 1sec every 30 seconds +setInterval(() => { + blockCpuFor(1000); +}, 30000) + +// Allocate and erase memory on an interval +let store = []; + +setInterval(() => { + store.push(crypto.randomBytes(1000000).toString('hex')); +}, 500); + +setInterval(() => { + store = []; +}, 60000); + +const server = http.createServer((_req, res) => { + res.statusCode = 200; + res.setHeader('Content-Type', 'text/plain'); + res.end("Hello, world!"); +}) + +server.listen(PORT, () => console.log(`Listening on ${PORT}`)); diff --git a/spec/fixtures/repos/node-18/package.json b/spec/fixtures/repos/node-18/package.json new file mode 100644 index 000000000..2847493a7 --- /dev/null +++ b/spec/fixtures/repos/node-18/package.json @@ -0,0 +1,21 @@ +{ + "name": "hello-world", + "version": "1.0.0", + "engines": { + "node": "18.x" + }, + "scripts": { + "prettify": "prettier --single-quote --trailing-comma all --write 'bin/*' 'src/**/*.js'", + "test": "jest --silent", + "dev": "nodemon --watch . --watch src/* src/index.js", + "build": "echo NODE_OPTIONS: $NODE_OPTIONS" + }, + "main": "index.js", + "license": "MIT", + "devDependencies": { + "jest": "^19.0.2", + "nodemon": "^1.19.4", + "prettier": "^0.22.0" + }, + "dependencies": {} +} diff --git a/spec/fixtures/repos/node-19-metrics/Procfile b/spec/fixtures/repos/node-19-metrics/Procfile new file mode 100644 index 000000000..1da0cd6f6 --- /dev/null +++ b/spec/fixtures/repos/node-19-metrics/Procfile @@ -0,0 +1 @@ +web: node index.js diff --git a/spec/fixtures/repos/node-19-metrics/index.js b/spec/fixtures/repos/node-19-metrics/index.js new file mode 100755 index 000000000..eae912a05 --- /dev/null +++ b/spec/fixtures/repos/node-19-metrics/index.js @@ -0,0 +1,72 @@ +#!/usr/bin/env node + +const http = require('http'); +const EventEmitter = require('events'); + +const PORT = process.env.PORT || 5000; +const Events = new EventEmitter(); + +// This will block the event loop for ~lengths of time +function blockCpuFor(ms) { + return new Promise((resolve, reject) => { + setTimeout(() => { + console.log(`blocking the event loop for ${ms}ms`); + let now = new Date().getTime(); + let result = 0 + while(true) { + result += Math.random() * Math.random(); + if (new Date().getTime() > now + ms) + break; + } + resolve(); + }, 100); + }); +} + +function getNextMetricsEvent() { + return new Promise((resolve, reject) => Events.once('metrics', resolve)); +} + +const server = http.createServer((req, res) => { + // wait for the next metrics event + getNextMetricsEvent() + .then(blockCpuFor(2000)) + .then(blockCpuFor(100)) + .then(blockCpuFor(100)) + .then(blockCpuFor(100)) + .then(blockCpuFor(100)) + .then(blockCpuFor(100)) + .then(blockCpuFor(100)) + .then(blockCpuFor(100)) + .then(blockCpuFor(100)) + .then(blockCpuFor(100)) + .then(blockCpuFor(100)) + // gather the next metrics data which should include these pauses + .then(getNextMetricsEvent()) + .then(data => { + res.setHeader('Content-Type', 'application/json'); + res.end(data); + }) + .catch(() => { + res.statusCode = 500; + res.end("Something went wrong"); + }); +}); + +server.listen(PORT, () => console.log(`Listening on ${PORT}`)); + +// Create a second server that intercepts the HTTP requests +// sent by the metrics plugin +const metricsListener = http.createServer((req, res) => { + if (req.method == 'POST') { + let body = ''; + req.on('data', (data) => body += data); + req.on('end', () => { + res.statusCode = 200; + res.end(); + Events.emit('metrics', body) + }); + } +}); + +metricsListener.listen(3000, () => console.log('Listening for metrics on 3000')); diff --git a/spec/fixtures/repos/node-19-metrics/package.json b/spec/fixtures/repos/node-19-metrics/package.json new file mode 100644 index 000000000..613d28610 --- /dev/null +++ b/spec/fixtures/repos/node-19-metrics/package.json @@ -0,0 +1,11 @@ +{ + "name": "node-metrics-test-app", + "version": "1.0.0", + "engines": { + "node": "19.x" + }, + "main": "index.js", + "license": "MIT", + "devDependencies": {}, + "dependencies": {} +} diff --git a/spec/fixtures/repos/node-19/Procfile b/spec/fixtures/repos/node-19/Procfile new file mode 100644 index 000000000..1da0cd6f6 --- /dev/null +++ b/spec/fixtures/repos/node-19/Procfile @@ -0,0 +1 @@ +web: node index.js diff --git a/spec/fixtures/repos/node-19/app.json b/spec/fixtures/repos/node-19/app.json new file mode 100644 index 000000000..63b5c96f2 --- /dev/null +++ b/spec/fixtures/repos/node-19/app.json @@ -0,0 +1,3 @@ +{ + "name": "hello-world" +} diff --git a/spec/fixtures/repos/node-19/index.js b/spec/fixtures/repos/node-19/index.js new file mode 100755 index 000000000..6a0090ff5 --- /dev/null +++ b/spec/fixtures/repos/node-19/index.js @@ -0,0 +1,13 @@ +#!/usr/bin/env node + +const http = require('http'); + +const PORT = process.env.PORT || 5000; + +const server = http.createServer((_req, res) => { + res.statusCode = 200; + res.setHeader('Content-Type', 'text/plain'); + res.end("Hello, world!"); +}) + +server.listen(PORT, () => console.log(`Listening on ${PORT}`)); diff --git a/spec/fixtures/repos/node-19/package.json b/spec/fixtures/repos/node-19/package.json new file mode 100644 index 000000000..8cc96b9f5 --- /dev/null +++ b/spec/fixtures/repos/node-19/package.json @@ -0,0 +1,21 @@ +{ + "name": "hello-world", + "version": "1.0.0", + "engines": { + "node": "19.x" + }, + "scripts": { + "prettify": "prettier --single-quote --trailing-comma all --write 'bin/*' 'src/**/*.js'", + "test": "jest --silent", + "dev": "nodemon --watch . --watch src/* src/index.js", + "build": "echo NODE_OPTIONS: $NODE_OPTIONS" + }, + "main": "index.js", + "license": "MIT", + "devDependencies": { + "jest": "^19.0.2", + "nodemon": "^1.19.4", + "prettier": "^0.22.0" + }, + "dependencies": {} +} diff --git a/spec/fixtures/repos/node-20-metrics/Procfile b/spec/fixtures/repos/node-20-metrics/Procfile new file mode 100644 index 000000000..1da0cd6f6 --- /dev/null +++ b/spec/fixtures/repos/node-20-metrics/Procfile @@ -0,0 +1 @@ +web: node index.js diff --git a/spec/fixtures/repos/node-20-metrics/index.js b/spec/fixtures/repos/node-20-metrics/index.js new file mode 100755 index 000000000..eae912a05 --- /dev/null +++ b/spec/fixtures/repos/node-20-metrics/index.js @@ -0,0 +1,72 @@ +#!/usr/bin/env node + +const http = require('http'); +const EventEmitter = require('events'); + +const PORT = process.env.PORT || 5000; +const Events = new EventEmitter(); + +// This will block the event loop for ~lengths of time +function blockCpuFor(ms) { + return new Promise((resolve, reject) => { + setTimeout(() => { + console.log(`blocking the event loop for ${ms}ms`); + let now = new Date().getTime(); + let result = 0 + while(true) { + result += Math.random() * Math.random(); + if (new Date().getTime() > now + ms) + break; + } + resolve(); + }, 100); + }); +} + +function getNextMetricsEvent() { + return new Promise((resolve, reject) => Events.once('metrics', resolve)); +} + +const server = http.createServer((req, res) => { + // wait for the next metrics event + getNextMetricsEvent() + .then(blockCpuFor(2000)) + .then(blockCpuFor(100)) + .then(blockCpuFor(100)) + .then(blockCpuFor(100)) + .then(blockCpuFor(100)) + .then(blockCpuFor(100)) + .then(blockCpuFor(100)) + .then(blockCpuFor(100)) + .then(blockCpuFor(100)) + .then(blockCpuFor(100)) + .then(blockCpuFor(100)) + // gather the next metrics data which should include these pauses + .then(getNextMetricsEvent()) + .then(data => { + res.setHeader('Content-Type', 'application/json'); + res.end(data); + }) + .catch(() => { + res.statusCode = 500; + res.end("Something went wrong"); + }); +}); + +server.listen(PORT, () => console.log(`Listening on ${PORT}`)); + +// Create a second server that intercepts the HTTP requests +// sent by the metrics plugin +const metricsListener = http.createServer((req, res) => { + if (req.method == 'POST') { + let body = ''; + req.on('data', (data) => body += data); + req.on('end', () => { + res.statusCode = 200; + res.end(); + Events.emit('metrics', body) + }); + } +}); + +metricsListener.listen(3000, () => console.log('Listening for metrics on 3000')); diff --git a/spec/fixtures/repos/node-20-metrics/package.json b/spec/fixtures/repos/node-20-metrics/package.json new file mode 100644 index 000000000..bfdeddc72 --- /dev/null +++ b/spec/fixtures/repos/node-20-metrics/package.json @@ -0,0 +1,11 @@ +{ + "name": "node-metrics-test-app", + "version": "1.0.0", + "engines": { + "node": "20.x" + }, + "main": "index.js", + "license": "MIT", + "devDependencies": {}, + "dependencies": {} +} diff --git a/spec/fixtures/repos/node-20/Procfile b/spec/fixtures/repos/node-20/Procfile new file mode 100644 index 000000000..1da0cd6f6 --- /dev/null +++ b/spec/fixtures/repos/node-20/Procfile @@ -0,0 +1 @@ +web: node index.js diff --git a/spec/fixtures/repos/node-20/app.json b/spec/fixtures/repos/node-20/app.json new file mode 100644 index 000000000..63b5c96f2 --- /dev/null +++ b/spec/fixtures/repos/node-20/app.json @@ -0,0 +1,3 @@ +{ + "name": "hello-world" +} diff --git a/spec/fixtures/repos/node-20/index.js b/spec/fixtures/repos/node-20/index.js new file mode 100755 index 000000000..6a0090ff5 --- /dev/null +++ b/spec/fixtures/repos/node-20/index.js @@ -0,0 +1,13 @@ +#!/usr/bin/env node + +const http = require('http'); + +const PORT = process.env.PORT || 5000; + +const server = http.createServer((_req, res) => { + res.statusCode = 200; + res.setHeader('Content-Type', 'text/plain'); + res.end("Hello, world!"); +}) + +server.listen(PORT, () => console.log(`Listening on ${PORT}`)); diff --git a/spec/fixtures/repos/node-20/package.json b/spec/fixtures/repos/node-20/package.json new file mode 100644 index 000000000..3e8ea46b8 --- /dev/null +++ b/spec/fixtures/repos/node-20/package.json @@ -0,0 +1,21 @@ +{ + "name": "hello-world", + "version": "1.0.0", + "engines": { + "node": "20.x" + }, + "scripts": { + "prettify": "prettier --single-quote --trailing-comma all --write 'bin/*' 'src/**/*.js'", + "test": "jest --silent", + "dev": "nodemon --watch . --watch src/* src/index.js", + "build": "echo NODE_OPTIONS: $NODE_OPTIONS" + }, + "main": "index.js", + "license": "MIT", + "devDependencies": { + "jest": "^19.0.2", + "nodemon": "^1.19.4", + "prettier": "^0.22.0" + }, + "dependencies": {} +} diff --git a/spec/fixtures/repos/node-metrics-conflict/Procfile b/spec/fixtures/repos/node-metrics-conflict/Procfile new file mode 100644 index 000000000..550413efa --- /dev/null +++ b/spec/fixtures/repos/node-metrics-conflict/Procfile @@ -0,0 +1 @@ +web: node src/index.js diff --git a/spec/fixtures/repos/node-metrics-conflict/package.json b/spec/fixtures/repos/node-metrics-conflict/package.json new file mode 100644 index 000000000..e2aa72111 --- /dev/null +++ b/spec/fixtures/repos/node-metrics-conflict/package.json @@ -0,0 +1,11 @@ +{ + "name": "node-metrics-test-app", + "version": "1.0.0", + "engines": { + "node": "8.x" + }, + "main": "index.js", + "license": "MIT", + "devDependencies": {}, + "dependencies": {} +} diff --git a/spec/fixtures/repos/node-metrics-conflict/src/index.js b/spec/fixtures/repos/node-metrics-conflict/src/index.js new file mode 100755 index 000000000..c4a1b66f4 --- /dev/null +++ b/spec/fixtures/repos/node-metrics-conflict/src/index.js @@ -0,0 +1,19 @@ +#!/usr/bin/env node + +const http = require('http'); +const exec = require('child_process').exec; +const PORT = process.env.PORT || 5000; + +const server = http.createServer((req, res) => { + /* + Note: we cannot use `heroku run` to test this since the metrics plugin is + disabled on run dynos + */ + exec('heroku whoami', (error, stdout, stderr) => { + res.statusCode = 200; + res.setHeader('Content-Type', 'text/plain'); + res.end(stderr); + }); +}) + +server.listen(PORT, () => console.log(`Listening on ${PORT}`)); diff --git a/spec/fixtures/repos/yarn2-modules-nonzero-install/.gitignore b/spec/fixtures/repos/yarn2-modules-nonzero-install/.gitignore new file mode 100644 index 000000000..31b7051e1 --- /dev/null +++ b/spec/fixtures/repos/yarn2-modules-nonzero-install/.gitignore @@ -0,0 +1,7 @@ +node_modules/ +.yarn/* +!.yarn/patches +!.yarn/plugins +!.yarn/releases +!.yarn/sdks +!.yarn/versions diff --git a/spec/fixtures/repos/yarn2-modules-nonzero-install/.yarn/releases/yarn-3.1.1.cjs b/spec/fixtures/repos/yarn2-modules-nonzero-install/.yarn/releases/yarn-3.1.1.cjs new file mode 100755 index 000000000..f5f2adca8 --- /dev/null +++ b/spec/fixtures/repos/yarn2-modules-nonzero-install/.yarn/releases/yarn-3.1.1.cjs @@ -0,0 +1,768 @@ +#!/usr/bin/env node +/* eslint-disable */ +//prettier-ignore +(()=>{var Mfe=Object.create,Vf=Object.defineProperty,Ofe=Object.defineProperties,Kfe=Object.getOwnPropertyDescriptor,Ufe=Object.getOwnPropertyDescriptors,Hfe=Object.getOwnPropertyNames,hE=Object.getOwnPropertySymbols,Gfe=Object.getPrototypeOf,eb=Object.prototype.hasOwnProperty,lO=Object.prototype.propertyIsEnumerable;var cO=(t,e,r)=>e in t?Vf(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,P=(t,e)=>{for(var r in e||(e={}))eb.call(e,r)&&cO(t,r,e[r]);if(hE)for(var r of hE(e))lO.call(e,r)&&cO(t,r,e[r]);return t},_=(t,e)=>Ofe(t,Ufe(e)),jfe=t=>Vf(t,"__esModule",{value:!0});var qr=(t,e)=>{var r={};for(var i in t)eb.call(t,i)&&e.indexOf(i)<0&&(r[i]=t[i]);if(t!=null&&hE)for(var i of hE(t))e.indexOf(i)<0&&lO.call(t,i)&&(r[i]=t[i]);return r},Yfe=(t,e)=>()=>(t&&(e=t(t=0)),e),E=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),it=(t,e)=>{for(var r in e)Vf(t,r,{get:e[r],enumerable:!0})},qfe=(t,e,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of Hfe(e))!eb.call(t,i)&&i!=="default"&&Vf(t,i,{get:()=>e[i],enumerable:!(r=Kfe(e,i))||r.enumerable});return t},ie=t=>qfe(jfe(Vf(t!=null?Mfe(Gfe(t)):{},"default",t&&t.__esModule&&"default"in t?{get:()=>t.default,enumerable:!0}:{value:t,enumerable:!0})),t);var MO=E((i$e,FO)=>{FO.exports=NO;NO.sync=Ahe;var LO=require("fs");function lhe(t,e){var r=e.pathExt!==void 0?e.pathExt:process.env.PATHEXT;if(!r||(r=r.split(";"),r.indexOf("")!==-1))return!0;for(var i=0;i{OO.exports=KO;KO.sync=che;var UO=require("fs");function KO(t,e,r){UO.stat(t,function(i,n){r(i,i?!1:HO(n,e))})}function che(t,e){return HO(UO.statSync(t),e)}function HO(t,e){return t.isFile()&&uhe(t,e)}function uhe(t,e){var r=t.mode,i=t.uid,n=t.gid,s=e.uid!==void 0?e.uid:process.getuid&&process.getuid(),o=e.gid!==void 0?e.gid:process.getgid&&process.getgid(),a=parseInt("100",8),l=parseInt("010",8),c=parseInt("001",8),u=a|l,g=r&c||r&l&&n===o||r&a&&i===s||r&u&&s===0;return g}});var YO=E((o$e,jO)=>{var s$e=require("fs"),xE;process.platform==="win32"||global.TESTING_WINDOWS?xE=MO():xE=GO();jO.exports=db;db.sync=ghe;function db(t,e,r){if(typeof e=="function"&&(r=e,e={}),!r){if(typeof Promise!="function")throw new TypeError("callback not provided");return new Promise(function(i,n){db(t,e||{},function(s,o){s?n(s):i(o)})})}xE(t,e||{},function(i,n){i&&(i.code==="EACCES"||e&&e.ignoreErrors)&&(i=null,n=!1),r(i,n)})}function ghe(t,e){try{return xE.sync(t,e||{})}catch(r){if(e&&e.ignoreErrors||r.code==="EACCES")return!1;throw r}}});var XO=E((a$e,qO)=>{var eu=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys",JO=require("path"),fhe=eu?";":":",WO=YO(),zO=t=>Object.assign(new Error(`not found: ${t}`),{code:"ENOENT"}),VO=(t,e)=>{let r=e.colon||fhe,i=t.match(/\//)||eu&&t.match(/\\/)?[""]:[...eu?[process.cwd()]:[],...(e.path||process.env.PATH||"").split(r)],n=eu?e.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",s=eu?n.split(r):[""];return eu&&t.indexOf(".")!==-1&&s[0]!==""&&s.unshift(""),{pathEnv:i,pathExt:s,pathExtExe:n}},_O=(t,e,r)=>{typeof e=="function"&&(r=e,e={}),e||(e={});let{pathEnv:i,pathExt:n,pathExtExe:s}=VO(t,e),o=[],a=c=>new Promise((u,g)=>{if(c===i.length)return e.all&&o.length?u(o):g(zO(t));let f=i[c],h=/^".*"$/.test(f)?f.slice(1,-1):f,p=JO.join(h,t),d=!h&&/^\.[\\\/]/.test(t)?t.slice(0,2)+p:p;u(l(d,c,0))}),l=(c,u,g)=>new Promise((f,h)=>{if(g===n.length)return f(a(u+1));let p=n[g];WO(c+p,{pathExt:s},(d,m)=>{if(!d&&m)if(e.all)o.push(c+p);else return f(c+p);return f(l(c,u,g+1))})});return r?a(0).then(c=>r(null,c),r):a(0)},hhe=(t,e)=>{e=e||{};let{pathEnv:r,pathExt:i,pathExtExe:n}=VO(t,e),s=[];for(let o=0;o{"use strict";var ZO=(t={})=>{let e=t.env||process.env;return(t.platform||process.platform)!=="win32"?"PATH":Object.keys(e).reverse().find(i=>i.toUpperCase()==="PATH")||"Path"};Cb.exports=ZO;Cb.exports.default=ZO});var iK=E((l$e,eK)=>{"use strict";var tK=require("path"),phe=XO(),dhe=$O();function rK(t,e){let r=t.options.env||process.env,i=process.cwd(),n=t.options.cwd!=null,s=n&&process.chdir!==void 0&&!process.chdir.disabled;if(s)try{process.chdir(t.options.cwd)}catch(a){}let o;try{o=phe.sync(t.command,{path:r[dhe({env:r})],pathExt:e?tK.delimiter:void 0})}catch(a){}finally{s&&process.chdir(i)}return o&&(o=tK.resolve(n?t.options.cwd:"",o)),o}function Che(t){return rK(t)||rK(t,!0)}eK.exports=Che});var nK=E((c$e,mb)=>{"use strict";var Eb=/([()\][%!^"`<>&|;, *?])/g;function mhe(t){return t=t.replace(Eb,"^$1"),t}function Ehe(t,e){return t=`${t}`,t=t.replace(/(\\*)"/g,'$1$1\\"'),t=t.replace(/(\\*)$/,"$1$1"),t=`"${t}"`,t=t.replace(Eb,"^$1"),e&&(t=t.replace(Eb,"^$1")),t}mb.exports.command=mhe;mb.exports.argument=Ehe});var oK=E((u$e,sK)=>{"use strict";sK.exports=/^#!(.*)/});var AK=E((g$e,aK)=>{"use strict";var Ihe=oK();aK.exports=(t="")=>{let e=t.match(Ihe);if(!e)return null;let[r,i]=e[0].replace(/#! ?/,"").split(" "),n=r.split("/").pop();return n==="env"?i:i?`${n} ${i}`:n}});var cK=E((f$e,lK)=>{"use strict";var Ib=require("fs"),yhe=AK();function whe(t){let e=150,r=Buffer.alloc(e),i;try{i=Ib.openSync(t,"r"),Ib.readSync(i,r,0,e,0),Ib.closeSync(i)}catch(n){}return yhe(r.toString())}lK.exports=whe});var hK=E((h$e,uK)=>{"use strict";var Bhe=require("path"),gK=iK(),fK=nK(),Qhe=cK(),bhe=process.platform==="win32",vhe=/\.(?:com|exe)$/i,She=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function xhe(t){t.file=gK(t);let e=t.file&&Qhe(t.file);return e?(t.args.unshift(t.file),t.command=e,gK(t)):t.file}function khe(t){if(!bhe)return t;let e=xhe(t),r=!vhe.test(e);if(t.options.forceShell||r){let i=She.test(e);t.command=Bhe.normalize(t.command),t.command=fK.command(t.command),t.args=t.args.map(s=>fK.argument(s,i));let n=[t.command].concat(t.args).join(" ");t.args=["/d","/s","/c",`"${n}"`],t.command=process.env.comspec||"cmd.exe",t.options.windowsVerbatimArguments=!0}return t}function Phe(t,e,r){e&&!Array.isArray(e)&&(r=e,e=null),e=e?e.slice(0):[],r=Object.assign({},r);let i={command:t,args:e,options:r,file:void 0,original:{command:t,args:e}};return r.shell?i:khe(i)}uK.exports=Phe});var CK=E((p$e,pK)=>{"use strict";var yb=process.platform==="win32";function wb(t,e){return Object.assign(new Error(`${e} ${t.command} ENOENT`),{code:"ENOENT",errno:"ENOENT",syscall:`${e} ${t.command}`,path:t.command,spawnargs:t.args})}function Dhe(t,e){if(!yb)return;let r=t.emit;t.emit=function(i,n){if(i==="exit"){let s=dK(n,e,"spawn");if(s)return r.call(t,"error",s)}return r.apply(t,arguments)}}function dK(t,e){return yb&&t===1&&!e.file?wb(e.original,"spawn"):null}function Rhe(t,e){return yb&&t===1&&!e.file?wb(e.original,"spawnSync"):null}pK.exports={hookChildProcess:Dhe,verifyENOENT:dK,verifyENOENTSync:Rhe,notFoundError:wb}});var bb=E((d$e,tu)=>{"use strict";var mK=require("child_process"),Bb=hK(),Qb=CK();function EK(t,e,r){let i=Bb(t,e,r),n=mK.spawn(i.command,i.args,i.options);return Qb.hookChildProcess(n,i),n}function Fhe(t,e,r){let i=Bb(t,e,r),n=mK.spawnSync(i.command,i.args,i.options);return n.error=n.error||Qb.verifyENOENTSync(n.status,i),n}tu.exports=EK;tu.exports.spawn=EK;tu.exports.sync=Fhe;tu.exports._parse=Bb;tu.exports._enoent=Qb});var yK=E((y$e,IK)=>{"use strict";IK.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}});var Nb=E((w$e,wK)=>{var gh=yK(),BK={};for(let t of Object.keys(gh))BK[gh[t]]=t;var Xe={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};wK.exports=Xe;for(let t of Object.keys(Xe)){if(!("channels"in Xe[t]))throw new Error("missing channels property: "+t);if(!("labels"in Xe[t]))throw new Error("missing channel labels property: "+t);if(Xe[t].labels.length!==Xe[t].channels)throw new Error("channel and label counts mismatch: "+t);let{channels:e,labels:r}=Xe[t];delete Xe[t].channels,delete Xe[t].labels,Object.defineProperty(Xe[t],"channels",{value:e}),Object.defineProperty(Xe[t],"labels",{value:r})}Xe.rgb.hsl=function(t){let e=t[0]/255,r=t[1]/255,i=t[2]/255,n=Math.min(e,r,i),s=Math.max(e,r,i),o=s-n,a,l;s===n?a=0:e===s?a=(r-i)/o:r===s?a=2+(i-e)/o:i===s&&(a=4+(e-r)/o),a=Math.min(a*60,360),a<0&&(a+=360);let c=(n+s)/2;return s===n?l=0:c<=.5?l=o/(s+n):l=o/(2-s-n),[a,l*100,c*100]};Xe.rgb.hsv=function(t){let e,r,i,n,s,o=t[0]/255,a=t[1]/255,l=t[2]/255,c=Math.max(o,a,l),u=c-Math.min(o,a,l),g=function(f){return(c-f)/6/u+1/2};return u===0?(n=0,s=0):(s=u/c,e=g(o),r=g(a),i=g(l),o===c?n=i-r:a===c?n=1/3+e-i:l===c&&(n=2/3+r-e),n<0?n+=1:n>1&&(n-=1)),[n*360,s*100,c*100]};Xe.rgb.hwb=function(t){let e=t[0],r=t[1],i=t[2],n=Xe.rgb.hsl(t)[0],s=1/255*Math.min(e,Math.min(r,i));return i=1-1/255*Math.max(e,Math.max(r,i)),[n,s*100,i*100]};Xe.rgb.cmyk=function(t){let e=t[0]/255,r=t[1]/255,i=t[2]/255,n=Math.min(1-e,1-r,1-i),s=(1-e-n)/(1-n)||0,o=(1-r-n)/(1-n)||0,a=(1-i-n)/(1-n)||0;return[s*100,o*100,a*100,n*100]};function The(t,e){return(t[0]-e[0])**2+(t[1]-e[1])**2+(t[2]-e[2])**2}Xe.rgb.keyword=function(t){let e=BK[t];if(e)return e;let r=Infinity,i;for(let n of Object.keys(gh)){let s=gh[n],o=The(t,s);o.04045?((e+.055)/1.055)**2.4:e/12.92,r=r>.04045?((r+.055)/1.055)**2.4:r/12.92,i=i>.04045?((i+.055)/1.055)**2.4:i/12.92;let n=e*.4124+r*.3576+i*.1805,s=e*.2126+r*.7152+i*.0722,o=e*.0193+r*.1192+i*.9505;return[n*100,s*100,o*100]};Xe.rgb.lab=function(t){let e=Xe.rgb.xyz(t),r=e[0],i=e[1],n=e[2];r/=95.047,i/=100,n/=108.883,r=r>.008856?r**(1/3):7.787*r+16/116,i=i>.008856?i**(1/3):7.787*i+16/116,n=n>.008856?n**(1/3):7.787*n+16/116;let s=116*i-16,o=500*(r-i),a=200*(i-n);return[s,o,a]};Xe.hsl.rgb=function(t){let e=t[0]/360,r=t[1]/100,i=t[2]/100,n,s,o;if(r===0)return o=i*255,[o,o,o];i<.5?n=i*(1+r):n=i+r-i*r;let a=2*i-n,l=[0,0,0];for(let c=0;c<3;c++)s=e+1/3*-(c-1),s<0&&s++,s>1&&s--,6*s<1?o=a+(n-a)*6*s:2*s<1?o=n:3*s<2?o=a+(n-a)*(2/3-s)*6:o=a,l[c]=o*255;return l};Xe.hsl.hsv=function(t){let e=t[0],r=t[1]/100,i=t[2]/100,n=r,s=Math.max(i,.01);i*=2,r*=i<=1?i:2-i,n*=s<=1?s:2-s;let o=(i+r)/2,a=i===0?2*n/(s+n):2*r/(i+r);return[e,a*100,o*100]};Xe.hsv.rgb=function(t){let e=t[0]/60,r=t[1]/100,i=t[2]/100,n=Math.floor(e)%6,s=e-Math.floor(e),o=255*i*(1-r),a=255*i*(1-r*s),l=255*i*(1-r*(1-s));switch(i*=255,n){case 0:return[i,l,o];case 1:return[a,i,o];case 2:return[o,i,l];case 3:return[o,a,i];case 4:return[l,o,i];case 5:return[i,o,a]}};Xe.hsv.hsl=function(t){let e=t[0],r=t[1]/100,i=t[2]/100,n=Math.max(i,.01),s,o;o=(2-r)*i;let a=(2-r)*n;return s=r*n,s/=a<=1?a:2-a,s=s||0,o/=2,[e,s*100,o*100]};Xe.hwb.rgb=function(t){let e=t[0]/360,r=t[1]/100,i=t[2]/100,n=r+i,s;n>1&&(r/=n,i/=n);let o=Math.floor(6*e),a=1-i;s=6*e-o,(o&1)!=0&&(s=1-s);let l=r+s*(a-r),c,u,g;switch(o){default:case 6:case 0:c=a,u=l,g=r;break;case 1:c=l,u=a,g=r;break;case 2:c=r,u=a,g=l;break;case 3:c=r,u=l,g=a;break;case 4:c=l,u=r,g=a;break;case 5:c=a,u=r,g=l;break}return[c*255,u*255,g*255]};Xe.cmyk.rgb=function(t){let e=t[0]/100,r=t[1]/100,i=t[2]/100,n=t[3]/100,s=1-Math.min(1,e*(1-n)+n),o=1-Math.min(1,r*(1-n)+n),a=1-Math.min(1,i*(1-n)+n);return[s*255,o*255,a*255]};Xe.xyz.rgb=function(t){let e=t[0]/100,r=t[1]/100,i=t[2]/100,n,s,o;return n=e*3.2406+r*-1.5372+i*-.4986,s=e*-.9689+r*1.8758+i*.0415,o=e*.0557+r*-.204+i*1.057,n=n>.0031308?1.055*n**(1/2.4)-.055:n*12.92,s=s>.0031308?1.055*s**(1/2.4)-.055:s*12.92,o=o>.0031308?1.055*o**(1/2.4)-.055:o*12.92,n=Math.min(Math.max(0,n),1),s=Math.min(Math.max(0,s),1),o=Math.min(Math.max(0,o),1),[n*255,s*255,o*255]};Xe.xyz.lab=function(t){let e=t[0],r=t[1],i=t[2];e/=95.047,r/=100,i/=108.883,e=e>.008856?e**(1/3):7.787*e+16/116,r=r>.008856?r**(1/3):7.787*r+16/116,i=i>.008856?i**(1/3):7.787*i+16/116;let n=116*r-16,s=500*(e-r),o=200*(r-i);return[n,s,o]};Xe.lab.xyz=function(t){let e=t[0],r=t[1],i=t[2],n,s,o;s=(e+16)/116,n=r/500+s,o=s-i/200;let a=s**3,l=n**3,c=o**3;return s=a>.008856?a:(s-16/116)/7.787,n=l>.008856?l:(n-16/116)/7.787,o=c>.008856?c:(o-16/116)/7.787,n*=95.047,s*=100,o*=108.883,[n,s,o]};Xe.lab.lch=function(t){let e=t[0],r=t[1],i=t[2],n;n=Math.atan2(i,r)*360/2/Math.PI,n<0&&(n+=360);let o=Math.sqrt(r*r+i*i);return[e,o,n]};Xe.lch.lab=function(t){let e=t[0],r=t[1],n=t[2]/360*2*Math.PI,s=r*Math.cos(n),o=r*Math.sin(n);return[e,s,o]};Xe.rgb.ansi16=function(t,e=null){let[r,i,n]=t,s=e===null?Xe.rgb.hsv(t)[2]:e;if(s=Math.round(s/50),s===0)return 30;let o=30+(Math.round(n/255)<<2|Math.round(i/255)<<1|Math.round(r/255));return s===2&&(o+=60),o};Xe.hsv.ansi16=function(t){return Xe.rgb.ansi16(Xe.hsv.rgb(t),t[2])};Xe.rgb.ansi256=function(t){let e=t[0],r=t[1],i=t[2];return e===r&&r===i?e<8?16:e>248?231:Math.round((e-8)/247*24)+232:16+36*Math.round(e/255*5)+6*Math.round(r/255*5)+Math.round(i/255*5)};Xe.ansi16.rgb=function(t){let e=t%10;if(e===0||e===7)return t>50&&(e+=3.5),e=e/10.5*255,[e,e,e];let r=(~~(t>50)+1)*.5,i=(e&1)*r*255,n=(e>>1&1)*r*255,s=(e>>2&1)*r*255;return[i,n,s]};Xe.ansi256.rgb=function(t){if(t>=232){let s=(t-232)*10+8;return[s,s,s]}t-=16;let e,r=Math.floor(t/36)/5*255,i=Math.floor((e=t%36)/6)/5*255,n=e%6/5*255;return[r,i,n]};Xe.rgb.hex=function(t){let r=(((Math.round(t[0])&255)<<16)+((Math.round(t[1])&255)<<8)+(Math.round(t[2])&255)).toString(16).toUpperCase();return"000000".substring(r.length)+r};Xe.hex.rgb=function(t){let e=t.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!e)return[0,0,0];let r=e[0];e[0].length===3&&(r=r.split("").map(a=>a+a).join(""));let i=parseInt(r,16),n=i>>16&255,s=i>>8&255,o=i&255;return[n,s,o]};Xe.rgb.hcg=function(t){let e=t[0]/255,r=t[1]/255,i=t[2]/255,n=Math.max(Math.max(e,r),i),s=Math.min(Math.min(e,r),i),o=n-s,a,l;return o<1?a=s/(1-o):a=0,o<=0?l=0:n===e?l=(r-i)/o%6:n===r?l=2+(i-e)/o:l=4+(e-r)/o,l/=6,l%=1,[l*360,o*100,a*100]};Xe.hsl.hcg=function(t){let e=t[1]/100,r=t[2]/100,i=r<.5?2*e*r:2*e*(1-r),n=0;return i<1&&(n=(r-.5*i)/(1-i)),[t[0],i*100,n*100]};Xe.hsv.hcg=function(t){let e=t[1]/100,r=t[2]/100,i=e*r,n=0;return i<1&&(n=(r-i)/(1-i)),[t[0],i*100,n*100]};Xe.hcg.rgb=function(t){let e=t[0]/360,r=t[1]/100,i=t[2]/100;if(r===0)return[i*255,i*255,i*255];let n=[0,0,0],s=e%1*6,o=s%1,a=1-o,l=0;switch(Math.floor(s)){case 0:n[0]=1,n[1]=o,n[2]=0;break;case 1:n[0]=a,n[1]=1,n[2]=0;break;case 2:n[0]=0,n[1]=1,n[2]=o;break;case 3:n[0]=0,n[1]=a,n[2]=1;break;case 4:n[0]=o,n[1]=0,n[2]=1;break;default:n[0]=1,n[1]=0,n[2]=a}return l=(1-r)*i,[(r*n[0]+l)*255,(r*n[1]+l)*255,(r*n[2]+l)*255]};Xe.hcg.hsv=function(t){let e=t[1]/100,r=t[2]/100,i=e+r*(1-e),n=0;return i>0&&(n=e/i),[t[0],n*100,i*100]};Xe.hcg.hsl=function(t){let e=t[1]/100,i=t[2]/100*(1-e)+.5*e,n=0;return i>0&&i<.5?n=e/(2*i):i>=.5&&i<1&&(n=e/(2*(1-i))),[t[0],n*100,i*100]};Xe.hcg.hwb=function(t){let e=t[1]/100,r=t[2]/100,i=e+r*(1-e);return[t[0],(i-e)*100,(1-i)*100]};Xe.hwb.hcg=function(t){let e=t[1]/100,r=t[2]/100,i=1-r,n=i-e,s=0;return n<1&&(s=(i-n)/(1-n)),[t[0],n*100,s*100]};Xe.apple.rgb=function(t){return[t[0]/65535*255,t[1]/65535*255,t[2]/65535*255]};Xe.rgb.apple=function(t){return[t[0]/255*65535,t[1]/255*65535,t[2]/255*65535]};Xe.gray.rgb=function(t){return[t[0]/100*255,t[0]/100*255,t[0]/100*255]};Xe.gray.hsl=function(t){return[0,0,t[0]]};Xe.gray.hsv=Xe.gray.hsl;Xe.gray.hwb=function(t){return[0,100,t[0]]};Xe.gray.cmyk=function(t){return[0,0,0,t[0]]};Xe.gray.lab=function(t){return[t[0],0,0]};Xe.gray.hex=function(t){let e=Math.round(t[0]/100*255)&255,i=((e<<16)+(e<<8)+e).toString(16).toUpperCase();return"000000".substring(i.length)+i};Xe.rgb.gray=function(t){return[(t[0]+t[1]+t[2])/3/255*100]}});var bK=E((B$e,QK)=>{var kE=Nb();function Mhe(){let t={},e=Object.keys(kE);for(let r=e.length,i=0;i{var Lb=Nb(),Hhe=bK(),ru={},Ghe=Object.keys(Lb);function jhe(t){let e=function(...r){let i=r[0];return i==null?i:(i.length>1&&(r=i),t(r))};return"conversion"in t&&(e.conversion=t.conversion),e}function Yhe(t){let e=function(...r){let i=r[0];if(i==null)return i;i.length>1&&(r=i);let n=t(r);if(typeof n=="object")for(let s=n.length,o=0;o{ru[t]={},Object.defineProperty(ru[t],"channels",{value:Lb[t].channels}),Object.defineProperty(ru[t],"labels",{value:Lb[t].labels});let e=Hhe(t);Object.keys(e).forEach(i=>{let n=e[i];ru[t][i]=Yhe(n),ru[t][i].raw=jhe(n)})});vK.exports=ru});var FK=E((b$e,xK)=>{"use strict";var kK=(t,e)=>(...r)=>`[${t(...r)+e}m`,PK=(t,e)=>(...r)=>{let i=t(...r);return`[${38+e};5;${i}m`},DK=(t,e)=>(...r)=>{let i=t(...r);return`[${38+e};2;${i[0]};${i[1]};${i[2]}m`},PE=t=>t,RK=(t,e,r)=>[t,e,r],iu=(t,e,r)=>{Object.defineProperty(t,e,{get:()=>{let i=r();return Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0}),i},enumerable:!0,configurable:!0})},Tb,nu=(t,e,r,i)=>{Tb===void 0&&(Tb=SK());let n=i?10:0,s={};for(let[o,a]of Object.entries(Tb)){let l=o==="ansi16"?"ansi":o;o===e?s[l]=t(r,n):typeof a=="object"&&(s[l]=t(a[e],n))}return s};function qhe(){let t=new Map,e={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};e.color.gray=e.color.blackBright,e.bgColor.bgGray=e.bgColor.bgBlackBright,e.color.grey=e.color.blackBright,e.bgColor.bgGrey=e.bgColor.bgBlackBright;for(let[r,i]of Object.entries(e)){for(let[n,s]of Object.entries(i))e[n]={open:`[${s[0]}m`,close:`[${s[1]}m`},i[n]=e[n],t.set(s[0],s[1]);Object.defineProperty(e,r,{value:i,enumerable:!1})}return Object.defineProperty(e,"codes",{value:t,enumerable:!1}),e.color.close="",e.bgColor.close="",iu(e.color,"ansi",()=>nu(kK,"ansi16",PE,!1)),iu(e.color,"ansi256",()=>nu(PK,"ansi256",PE,!1)),iu(e.color,"ansi16m",()=>nu(DK,"rgb",RK,!1)),iu(e.bgColor,"ansi",()=>nu(kK,"ansi16",PE,!0)),iu(e.bgColor,"ansi256",()=>nu(PK,"ansi256",PE,!0)),iu(e.bgColor,"ansi16m",()=>nu(DK,"rgb",RK,!0)),e}Object.defineProperty(xK,"exports",{enumerable:!0,get:qhe})});var LK=E((v$e,NK)=>{"use strict";NK.exports=(t,e=process.argv)=>{let r=t.startsWith("-")?"":t.length===1?"-":"--",i=e.indexOf(r+t),n=e.indexOf("--");return i!==-1&&(n===-1||i{"use strict";var Jhe=require("os"),MK=require("tty"),Wn=LK(),{env:Wr}=process,tA;Wn("no-color")||Wn("no-colors")||Wn("color=false")||Wn("color=never")?tA=0:(Wn("color")||Wn("colors")||Wn("color=true")||Wn("color=always"))&&(tA=1);"FORCE_COLOR"in Wr&&(Wr.FORCE_COLOR==="true"?tA=1:Wr.FORCE_COLOR==="false"?tA=0:tA=Wr.FORCE_COLOR.length===0?1:Math.min(parseInt(Wr.FORCE_COLOR,10),3));function Mb(t){return t===0?!1:{level:t,hasBasic:!0,has256:t>=2,has16m:t>=3}}function Ob(t,e){if(tA===0)return 0;if(Wn("color=16m")||Wn("color=full")||Wn("color=truecolor"))return 3;if(Wn("color=256"))return 2;if(t&&!e&&tA===void 0)return 0;let r=tA||0;if(Wr.TERM==="dumb")return r;if(process.platform==="win32"){let i=Jhe.release().split(".");return Number(i[0])>=10&&Number(i[2])>=10586?Number(i[2])>=14931?3:2:1}if("CI"in Wr)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI"].some(i=>i in Wr)||Wr.CI_NAME==="codeship"?1:r;if("TEAMCITY_VERSION"in Wr)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(Wr.TEAMCITY_VERSION)?1:0;if("GITHUB_ACTIONS"in Wr)return 1;if(Wr.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in Wr){let i=parseInt((Wr.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(Wr.TERM_PROGRAM){case"iTerm.app":return i>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(Wr.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(Wr.TERM)||"COLORTERM"in Wr?1:r}function Whe(t){let e=Ob(t,t&&t.isTTY);return Mb(e)}TK.exports={supportsColor:Whe,stdout:Mb(Ob(!0,MK.isatty(1))),stderr:Mb(Ob(!0,MK.isatty(2)))}});var UK=E((x$e,KK)=>{"use strict";var zhe=(t,e,r)=>{let i=t.indexOf(e);if(i===-1)return t;let n=e.length,s=0,o="";do o+=t.substr(s,i-s)+e+r,s=i+n,i=t.indexOf(e,s);while(i!==-1);return o+=t.substr(s),o},Vhe=(t,e,r,i)=>{let n=0,s="";do{let o=t[i-1]==="\r";s+=t.substr(n,(o?i-1:i)-n)+e+(o?`\r +`:` +`)+r,n=i+1,i=t.indexOf(` +`,n)}while(i!==-1);return s+=t.substr(n),s};KK.exports={stringReplaceAll:zhe,stringEncaseCRLFWithFirstIndex:Vhe}});var qK=E((k$e,HK)=>{"use strict";var _he=/(?:\\(u(?:[a-f\d]{4}|\{[a-f\d]{1,6}\})|x[a-f\d]{2}|.))|(?:\{(~)?(\w+(?:\([^)]*\))?(?:\.\w+(?:\([^)]*\))?)*)(?:[ \t]|(?=\r?\n)))|(\})|((?:.|[\r\n\f])+?)/gi,GK=/(?:^|\.)(\w+)(?:\(([^)]*)\))?/g,Xhe=/^(['"])((?:\\.|(?!\1)[^\\])*)\1$/,Zhe=/\\(u(?:[a-f\d]{4}|\{[a-f\d]{1,6}\})|x[a-f\d]{2}|.)|([^\\])/gi,$he=new Map([["n",` +`],["r","\r"],["t"," "],["b","\b"],["f","\f"],["v","\v"],["0","\0"],["\\","\\"],["e",""],["a","\x07"]]);function jK(t){let e=t[0]==="u",r=t[1]==="{";return e&&!r&&t.length===5||t[0]==="x"&&t.length===3?String.fromCharCode(parseInt(t.slice(1),16)):e&&r?String.fromCodePoint(parseInt(t.slice(2,-1),16)):$he.get(t)||t}function epe(t,e){let r=[],i=e.trim().split(/\s*,\s*/g),n;for(let s of i){let o=Number(s);if(!Number.isNaN(o))r.push(o);else if(n=s.match(Xhe))r.push(n[2].replace(Zhe,(a,l,c)=>l?jK(l):c));else throw new Error(`Invalid Chalk template style argument: ${s} (in style '${t}')`)}return r}function tpe(t){GK.lastIndex=0;let e=[],r;for(;(r=GK.exec(t))!==null;){let i=r[1];if(r[2]){let n=epe(i,r[2]);e.push([i].concat(n))}else e.push([i])}return e}function YK(t,e){let r={};for(let n of e)for(let s of n.styles)r[s[0]]=n.inverse?null:s.slice(1);let i=t;for(let[n,s]of Object.entries(r))if(!!Array.isArray(s)){if(!(n in i))throw new Error(`Unknown Chalk style: ${n}`);i=s.length>0?i[n](...s):i[n]}return i}HK.exports=(t,e)=>{let r=[],i=[],n=[];if(e.replace(_he,(s,o,a,l,c,u)=>{if(o)n.push(jK(o));else if(l){let g=n.join("");n=[],i.push(r.length===0?g:YK(t,r)(g)),r.push({inverse:a,styles:tpe(l)})}else if(c){if(r.length===0)throw new Error("Found extraneous } in Chalk template literal");i.push(YK(t,r)(n.join(""))),n=[],r.pop()}else n.push(u)}),i.push(n.join("")),r.length>0){let s=`Chalk template literal is missing ${r.length} closing bracket${r.length===1?"":"s"} (\`}\`)`;throw new Error(s)}return i.join("")}});var jb=E((P$e,JK)=>{"use strict";var fh=FK(),{stdout:Kb,stderr:Ub}=OK(),{stringReplaceAll:rpe,stringEncaseCRLFWithFirstIndex:ipe}=UK(),WK=["ansi","ansi","ansi256","ansi16m"],su=Object.create(null),npe=(t,e={})=>{if(e.level>3||e.level<0)throw new Error("The `level` option should be an integer from 0 to 3");let r=Kb?Kb.level:0;t.level=e.level===void 0?r:e.level},zK=class{constructor(e){return VK(e)}},VK=t=>{let e={};return npe(e,t),e.template=(...r)=>spe(e.template,...r),Object.setPrototypeOf(e,DE.prototype),Object.setPrototypeOf(e.template,e),e.template.constructor=()=>{throw new Error("`chalk.constructor()` is deprecated. Use `new chalk.Instance()` instead.")},e.template.Instance=zK,e.template};function DE(t){return VK(t)}for(let[t,e]of Object.entries(fh))su[t]={get(){let r=RE(this,Hb(e.open,e.close,this._styler),this._isEmpty);return Object.defineProperty(this,t,{value:r}),r}};su.visible={get(){let t=RE(this,this._styler,!0);return Object.defineProperty(this,"visible",{value:t}),t}};var _K=["rgb","hex","keyword","hsl","hsv","hwb","ansi","ansi256"];for(let t of _K)su[t]={get(){let{level:e}=this;return function(...r){let i=Hb(fh.color[WK[e]][t](...r),fh.color.close,this._styler);return RE(this,i,this._isEmpty)}}};for(let t of _K){let e="bg"+t[0].toUpperCase()+t.slice(1);su[e]={get(){let{level:r}=this;return function(...i){let n=Hb(fh.bgColor[WK[r]][t](...i),fh.bgColor.close,this._styler);return RE(this,n,this._isEmpty)}}}}var ope=Object.defineProperties(()=>{},_(P({},su),{level:{enumerable:!0,get(){return this._generator.level},set(t){this._generator.level=t}}})),Hb=(t,e,r)=>{let i,n;return r===void 0?(i=t,n=e):(i=r.openAll+t,n=e+r.closeAll),{open:t,close:e,openAll:i,closeAll:n,parent:r}},RE=(t,e,r)=>{let i=(...n)=>ape(i,n.length===1?""+n[0]:n.join(" "));return i.__proto__=ope,i._generator=t,i._styler=e,i._isEmpty=r,i},ape=(t,e)=>{if(t.level<=0||!e)return t._isEmpty?"":e;let r=t._styler;if(r===void 0)return e;let{openAll:i,closeAll:n}=r;if(e.indexOf("")!==-1)for(;r!==void 0;)e=rpe(e,r.close,r.open),r=r.parent;let s=e.indexOf(` +`);return s!==-1&&(e=ipe(e,n,i,s)),i+e+n},Gb,spe=(t,...e)=>{let[r]=e;if(!Array.isArray(r))return e.join(" ");let i=e.slice(1),n=[r.raw[0]];for(let s=1;s{XK.exports=[{name:"AppVeyor",constant:"APPVEYOR",env:"APPVEYOR",pr:"APPVEYOR_PULL_REQUEST_NUMBER"},{name:"Azure Pipelines",constant:"AZURE_PIPELINES",env:"SYSTEM_TEAMFOUNDATIONCOLLECTIONURI",pr:"SYSTEM_PULLREQUEST_PULLREQUESTID"},{name:"Appcircle",constant:"APPCIRCLE",env:"AC_APPCIRCLE"},{name:"Bamboo",constant:"BAMBOO",env:"bamboo_planKey"},{name:"Bitbucket Pipelines",constant:"BITBUCKET",env:"BITBUCKET_COMMIT",pr:"BITBUCKET_PR_ID"},{name:"Bitrise",constant:"BITRISE",env:"BITRISE_IO",pr:"BITRISE_PULL_REQUEST"},{name:"Buddy",constant:"BUDDY",env:"BUDDY_WORKSPACE_ID",pr:"BUDDY_EXECUTION_PULL_REQUEST_ID"},{name:"Buildkite",constant:"BUILDKITE",env:"BUILDKITE",pr:{env:"BUILDKITE_PULL_REQUEST",ne:"false"}},{name:"CircleCI",constant:"CIRCLE",env:"CIRCLECI",pr:"CIRCLE_PULL_REQUEST"},{name:"Cirrus CI",constant:"CIRRUS",env:"CIRRUS_CI",pr:"CIRRUS_PR"},{name:"AWS CodeBuild",constant:"CODEBUILD",env:"CODEBUILD_BUILD_ARN"},{name:"Codefresh",constant:"CODEFRESH",env:"CF_BUILD_ID",pr:{any:["CF_PULL_REQUEST_NUMBER","CF_PULL_REQUEST_ID"]}},{name:"Codeship",constant:"CODESHIP",env:{CI_NAME:"codeship"}},{name:"Drone",constant:"DRONE",env:"DRONE",pr:{DRONE_BUILD_EVENT:"pull_request"}},{name:"dsari",constant:"DSARI",env:"DSARI"},{name:"GitHub Actions",constant:"GITHUB_ACTIONS",env:"GITHUB_ACTIONS",pr:{GITHUB_EVENT_NAME:"pull_request"}},{name:"GitLab CI",constant:"GITLAB",env:"GITLAB_CI",pr:"CI_MERGE_REQUEST_ID"},{name:"GoCD",constant:"GOCD",env:"GO_PIPELINE_LABEL"},{name:"LayerCI",constant:"LAYERCI",env:"LAYERCI",pr:"LAYERCI_PULL_REQUEST"},{name:"Hudson",constant:"HUDSON",env:"HUDSON_URL"},{name:"Jenkins",constant:"JENKINS",env:["JENKINS_URL","BUILD_ID"],pr:{any:["ghprbPullId","CHANGE_ID"]}},{name:"Magnum CI",constant:"MAGNUM",env:"MAGNUM"},{name:"Netlify CI",constant:"NETLIFY",env:"NETLIFY",pr:{env:"PULL_REQUEST",ne:"false"}},{name:"Nevercode",constant:"NEVERCODE",env:"NEVERCODE",pr:{env:"NEVERCODE_PULL_REQUEST",ne:"false"}},{name:"Render",constant:"RENDER",env:"RENDER",pr:{IS_PULL_REQUEST:"true"}},{name:"Sail CI",constant:"SAIL",env:"SAILCI",pr:"SAIL_PULL_REQUEST_NUMBER"},{name:"Semaphore",constant:"SEMAPHORE",env:"SEMAPHORE",pr:"PULL_REQUEST_NUMBER"},{name:"Screwdriver",constant:"SCREWDRIVER",env:"SCREWDRIVER",pr:{env:"SD_PULL_REQUEST",ne:"false"}},{name:"Shippable",constant:"SHIPPABLE",env:"SHIPPABLE",pr:{IS_PULL_REQUEST:"true"}},{name:"Solano CI",constant:"SOLANO",env:"TDDIUM",pr:"TDDIUM_PR_ID"},{name:"Strider CD",constant:"STRIDER",env:"STRIDER"},{name:"TaskCluster",constant:"TASKCLUSTER",env:["TASK_ID","RUN_ID"]},{name:"TeamCity",constant:"TEAMCITY",env:"TEAMCITY_VERSION"},{name:"Travis CI",constant:"TRAVIS",env:"TRAVIS",pr:{env:"TRAVIS_PULL_REQUEST",ne:"false"}},{name:"Vercel",constant:"VERCEL",env:"NOW_BUILDER"},{name:"Visual Studio App Center",constant:"APPCENTER",env:"APPCENTER_BUILD_ID"}]});var ml=E(Dn=>{"use strict";var $K=ZK(),ro=process.env;Object.defineProperty(Dn,"_vendors",{value:$K.map(function(t){return t.constant})});Dn.name=null;Dn.isPR=null;$K.forEach(function(t){let r=(Array.isArray(t.env)?t.env:[t.env]).every(function(i){return e1(i)});if(Dn[t.constant]=r,r)switch(Dn.name=t.name,typeof t.pr){case"string":Dn.isPR=!!ro[t.pr];break;case"object":"env"in t.pr?Dn.isPR=t.pr.env in ro&&ro[t.pr.env]!==t.pr.ne:"any"in t.pr?Dn.isPR=t.pr.any.some(function(i){return!!ro[i]}):Dn.isPR=e1(t.pr);break;default:Dn.isPR=null}});Dn.isCI=!!(ro.CI||ro.CONTINUOUS_INTEGRATION||ro.BUILD_NUMBER||ro.RUN_ID||Dn.name);function e1(t){return typeof t=="string"?!!ro[t]:Object.keys(t).every(function(e){return ro[e]===t[e]})}});var FE=E(zn=>{"use strict";zn.isInteger=t=>typeof t=="number"?Number.isInteger(t):typeof t=="string"&&t.trim()!==""?Number.isInteger(Number(t)):!1;zn.find=(t,e)=>t.nodes.find(r=>r.type===e);zn.exceedsLimit=(t,e,r=1,i)=>i===!1||!zn.isInteger(t)||!zn.isInteger(e)?!1:(Number(e)-Number(t))/Number(r)>=i;zn.escapeNode=(t,e=0,r)=>{let i=t.nodes[e];!i||(r&&i.type===r||i.type==="open"||i.type==="close")&&i.escaped!==!0&&(i.value="\\"+i.value,i.escaped=!0)};zn.encloseBrace=t=>t.type!=="brace"?!1:t.commas>>0+t.ranges>>0==0?(t.invalid=!0,!0):!1;zn.isInvalidBrace=t=>t.type!=="brace"?!1:t.invalid===!0||t.dollar?!0:t.commas>>0+t.ranges>>0==0||t.open!==!0||t.close!==!0?(t.invalid=!0,!0):!1;zn.isOpenOrClose=t=>t.type==="open"||t.type==="close"?!0:t.open===!0||t.close===!0;zn.reduce=t=>t.reduce((e,r)=>(r.type==="text"&&e.push(r.value),r.type==="range"&&(r.type="text"),e),[]);zn.flatten=(...t)=>{let e=[],r=i=>{for(let n=0;n{"use strict";var r1=FE();t1.exports=(t,e={})=>{let r=(i,n={})=>{let s=e.escapeInvalid&&r1.isInvalidBrace(n),o=i.invalid===!0&&e.escapeInvalid===!0,a="";if(i.value)return(s||o)&&r1.isOpenOrClose(i)?"\\"+i.value:i.value;if(i.value)return i.value;if(i.nodes)for(let l of i.nodes)a+=r(l);return a};return r(t)}});var n1=E((L$e,i1)=>{"use strict";i1.exports=function(t){return typeof t=="number"?t-t==0:typeof t=="string"&&t.trim()!==""?Number.isFinite?Number.isFinite(+t):isFinite(+t):!1}});var f1=E((T$e,s1)=>{"use strict";var o1=n1(),El=(t,e,r)=>{if(o1(t)===!1)throw new TypeError("toRegexRange: expected the first argument to be a number");if(e===void 0||t===e)return String(t);if(o1(e)===!1)throw new TypeError("toRegexRange: expected the second argument to be a number.");let i=P({relaxZeros:!0},r);typeof i.strictZeros=="boolean"&&(i.relaxZeros=i.strictZeros===!1);let n=String(i.relaxZeros),s=String(i.shorthand),o=String(i.capture),a=String(i.wrap),l=t+":"+e+"="+n+s+o+a;if(El.cache.hasOwnProperty(l))return El.cache[l].result;let c=Math.min(t,e),u=Math.max(t,e);if(Math.abs(c-u)===1){let d=t+"|"+e;return i.capture?`(${d})`:i.wrap===!1?d:`(?:${d})`}let g=A1(t)||A1(e),f={min:t,max:e,a:c,b:u},h=[],p=[];if(g&&(f.isPadded=g,f.maxLen=String(f.max).length),c<0){let d=u<0?Math.abs(u):1;p=a1(d,Math.abs(c),f,i),c=f.a=0}return u>=0&&(h=a1(c,u,f,i)),f.negatives=p,f.positives=h,f.result=Ape(p,h,i),i.capture===!0?f.result=`(${f.result})`:i.wrap!==!1&&h.length+p.length>1&&(f.result=`(?:${f.result})`),El.cache[l]=f,f.result};function Ape(t,e,r){let i=Yb(t,e,"-",!1,r)||[],n=Yb(e,t,"",!1,r)||[],s=Yb(t,e,"-?",!0,r)||[];return i.concat(s).concat(n).join("|")}function cpe(t,e){let r=1,i=1,n=l1(t,r),s=new Set([e]);for(;t<=n&&n<=e;)s.add(n),r+=1,n=l1(t,r);for(n=c1(e+1,i)-1;t1&&a.count.pop(),a.count.push(u.count[0]),a.string=a.pattern+u1(a.count),o=c+1;continue}r.isPadded&&(g=hpe(c,r,i)),u.string=g+u.pattern+u1(u.count),s.push(u),o=c+1,a=u}return s}function Yb(t,e,r,i,n){let s=[];for(let o of t){let{string:a}=o;!i&&!g1(e,"string",a)&&s.push(r+a),i&&g1(e,"string",a)&&s.push(r+a)}return s}function upe(t,e){let r=[];for(let i=0;ie?1:e>t?-1:0}function g1(t,e,r){return t.some(i=>i[e]===r)}function l1(t,e){return Number(String(t).slice(0,-e)+"9".repeat(e))}function c1(t,e){return t-t%Math.pow(10,e)}function u1(t){let[e=0,r=""]=t;return r||e>1?`{${e+(r?","+r:"")}}`:""}function gpe(t,e,r){return`[${t}${e-t==1?"":"-"}${e}]`}function A1(t){return/^-?(0+)\d/.test(t)}function hpe(t,e,r){if(!e.isPadded)return t;let i=Math.abs(e.maxLen-String(t).length),n=r.relaxZeros!==!1;switch(i){case 0:return"";case 1:return n?"0?":"0";case 2:return n?"0{0,2}":"00";default:return n?`0{0,${i}}`:`0{${i}}`}}El.cache={};El.clearCache=()=>El.cache={};s1.exports=El});var Wb=E((M$e,h1)=>{"use strict";var ppe=require("util"),p1=f1(),d1=t=>t!==null&&typeof t=="object"&&!Array.isArray(t),dpe=t=>e=>t===!0?Number(e):String(e),qb=t=>typeof t=="number"||typeof t=="string"&&t!=="",ph=t=>Number.isInteger(+t),Jb=t=>{let e=`${t}`,r=-1;if(e[0]==="-"&&(e=e.slice(1)),e==="0")return!1;for(;e[++r]==="0";);return r>0},Cpe=(t,e,r)=>typeof t=="string"||typeof e=="string"?!0:r.stringify===!0,mpe=(t,e,r)=>{if(e>0){let i=t[0]==="-"?"-":"";i&&(t=t.slice(1)),t=i+t.padStart(i?e-1:e,"0")}return r===!1?String(t):t},C1=(t,e)=>{let r=t[0]==="-"?"-":"";for(r&&(t=t.slice(1),e--);t.length{t.negatives.sort((o,a)=>oa?1:0),t.positives.sort((o,a)=>oa?1:0);let r=e.capture?"":"?:",i="",n="",s;return t.positives.length&&(i=t.positives.join("|")),t.negatives.length&&(n=`-(${r}${t.negatives.join("|")})`),i&&n?s=`${i}|${n}`:s=i||n,e.wrap?`(${r}${s})`:s},m1=(t,e,r,i)=>{if(r)return p1(t,e,P({wrap:!1},i));let n=String.fromCharCode(t);if(t===e)return n;let s=String.fromCharCode(e);return`[${n}-${s}]`},E1=(t,e,r)=>{if(Array.isArray(t)){let i=r.wrap===!0,n=r.capture?"":"?:";return i?`(${n}${t.join("|")})`:t.join("|")}return p1(t,e,r)},I1=(...t)=>new RangeError("Invalid range arguments: "+ppe.inspect(...t)),y1=(t,e,r)=>{if(r.strictRanges===!0)throw I1([t,e]);return[]},Ipe=(t,e)=>{if(e.strictRanges===!0)throw new TypeError(`Expected step "${t}" to be a number`);return[]},ype=(t,e,r=1,i={})=>{let n=Number(t),s=Number(e);if(!Number.isInteger(n)||!Number.isInteger(s)){if(i.strictRanges===!0)throw I1([t,e]);return[]}n===0&&(n=0),s===0&&(s=0);let o=n>s,a=String(t),l=String(e),c=String(r);r=Math.max(Math.abs(r),1);let u=Jb(a)||Jb(l)||Jb(c),g=u?Math.max(a.length,l.length,c.length):0,f=u===!1&&Cpe(t,e,i)===!1,h=i.transform||dpe(f);if(i.toRegex&&r===1)return m1(C1(t,g),C1(e,g),!0,i);let p={negatives:[],positives:[]},d=B=>p[B<0?"negatives":"positives"].push(Math.abs(B)),m=[],I=0;for(;o?n>=s:n<=s;)i.toRegex===!0&&r>1?d(n):m.push(mpe(h(n,I),g,f)),n=o?n-r:n+r,I++;return i.toRegex===!0?r>1?Epe(p,i):E1(m,null,P({wrap:!1},i)):m},wpe=(t,e,r=1,i={})=>{if(!ph(t)&&t.length>1||!ph(e)&&e.length>1)return y1(t,e,i);let n=i.transform||(f=>String.fromCharCode(f)),s=`${t}`.charCodeAt(0),o=`${e}`.charCodeAt(0),a=s>o,l=Math.min(s,o),c=Math.max(s,o);if(i.toRegex&&r===1)return m1(l,c,!1,i);let u=[],g=0;for(;a?s>=o:s<=o;)u.push(n(s,g)),s=a?s-r:s+r,g++;return i.toRegex===!0?E1(u,null,{wrap:!1,options:i}):u},LE=(t,e,r,i={})=>{if(e==null&&qb(t))return[t];if(!qb(t)||!qb(e))return y1(t,e,i);if(typeof r=="function")return LE(t,e,1,{transform:r});if(d1(r))return LE(t,e,0,r);let n=P({},i);return n.capture===!0&&(n.wrap=!0),r=r||n.step||1,ph(r)?ph(t)&&ph(e)?ype(t,e,r,n):wpe(t,e,Math.max(Math.abs(r),1),n):r!=null&&!d1(r)?Ipe(r,n):LE(t,e,1,r)};h1.exports=LE});var Q1=E((O$e,w1)=>{"use strict";var Bpe=Wb(),B1=FE(),Qpe=(t,e={})=>{let r=(i,n={})=>{let s=B1.isInvalidBrace(n),o=i.invalid===!0&&e.escapeInvalid===!0,a=s===!0||o===!0,l=e.escapeInvalid===!0?"\\":"",c="";if(i.isOpen===!0||i.isClose===!0)return l+i.value;if(i.type==="open")return a?l+i.value:"(";if(i.type==="close")return a?l+i.value:")";if(i.type==="comma")return i.prev.type==="comma"?"":a?i.value:"|";if(i.value)return i.value;if(i.nodes&&i.ranges>0){let u=B1.reduce(i.nodes),g=Bpe(...u,_(P({},e),{wrap:!1,toRegex:!0}));if(g.length!==0)return u.length>1&&g.length>1?`(${g})`:g}if(i.nodes)for(let u of i.nodes)c+=r(u,i);return c};return r(t)};w1.exports=Qpe});var S1=E((K$e,b1)=>{"use strict";var bpe=Wb(),v1=NE(),ou=FE(),Il=(t="",e="",r=!1)=>{let i=[];if(t=[].concat(t),e=[].concat(e),!e.length)return t;if(!t.length)return r?ou.flatten(e).map(n=>`{${n}}`):e;for(let n of t)if(Array.isArray(n))for(let s of n)i.push(Il(s,e,r));else for(let s of e)r===!0&&typeof s=="string"&&(s=`{${s}}`),i.push(Array.isArray(s)?Il(n,s,r):n+s);return ou.flatten(i)},vpe=(t,e={})=>{let r=e.rangeLimit===void 0?1e3:e.rangeLimit,i=(n,s={})=>{n.queue=[];let o=s,a=s.queue;for(;o.type!=="brace"&&o.type!=="root"&&o.parent;)o=o.parent,a=o.queue;if(n.invalid||n.dollar){a.push(Il(a.pop(),v1(n,e)));return}if(n.type==="brace"&&n.invalid!==!0&&n.nodes.length===2){a.push(Il(a.pop(),["{}"]));return}if(n.nodes&&n.ranges>0){let g=ou.reduce(n.nodes);if(ou.exceedsLimit(...g,e.step,r))throw new RangeError("expanded array length exceeds range limit. Use options.rangeLimit to increase or disable the limit.");let f=bpe(...g,e);f.length===0&&(f=v1(n,e)),a.push(Il(a.pop(),f)),n.nodes=[];return}let l=ou.encloseBrace(n),c=n.queue,u=n;for(;u.type!=="brace"&&u.type!=="root"&&u.parent;)u=u.parent,c=u.queue;for(let g=0;g{"use strict";x1.exports={MAX_LENGTH:1024*64,CHAR_0:"0",CHAR_9:"9",CHAR_UPPERCASE_A:"A",CHAR_LOWERCASE_A:"a",CHAR_UPPERCASE_Z:"Z",CHAR_LOWERCASE_Z:"z",CHAR_LEFT_PARENTHESES:"(",CHAR_RIGHT_PARENTHESES:")",CHAR_ASTERISK:"*",CHAR_AMPERSAND:"&",CHAR_AT:"@",CHAR_BACKSLASH:"\\",CHAR_BACKTICK:"`",CHAR_CARRIAGE_RETURN:"\r",CHAR_CIRCUMFLEX_ACCENT:"^",CHAR_COLON:":",CHAR_COMMA:",",CHAR_DOLLAR:"$",CHAR_DOT:".",CHAR_DOUBLE_QUOTE:'"',CHAR_EQUAL:"=",CHAR_EXCLAMATION_MARK:"!",CHAR_FORM_FEED:"\f",CHAR_FORWARD_SLASH:"/",CHAR_HASH:"#",CHAR_HYPHEN_MINUS:"-",CHAR_LEFT_ANGLE_BRACKET:"<",CHAR_LEFT_CURLY_BRACE:"{",CHAR_LEFT_SQUARE_BRACKET:"[",CHAR_LINE_FEED:` +`,CHAR_NO_BREAK_SPACE:"\xA0",CHAR_PERCENT:"%",CHAR_PLUS:"+",CHAR_QUESTION_MARK:"?",CHAR_RIGHT_ANGLE_BRACKET:">",CHAR_RIGHT_CURLY_BRACE:"}",CHAR_RIGHT_SQUARE_BRACKET:"]",CHAR_SEMICOLON:";",CHAR_SINGLE_QUOTE:"'",CHAR_SPACE:" ",CHAR_TAB:" ",CHAR_UNDERSCORE:"_",CHAR_VERTICAL_LINE:"|",CHAR_ZERO_WIDTH_NOBREAK_SPACE:"\uFEFF"}});var N1=E((H$e,P1)=>{"use strict";var Spe=NE(),{MAX_LENGTH:D1,CHAR_BACKSLASH:zb,CHAR_BACKTICK:xpe,CHAR_COMMA:kpe,CHAR_DOT:Ppe,CHAR_LEFT_PARENTHESES:Dpe,CHAR_RIGHT_PARENTHESES:Rpe,CHAR_LEFT_CURLY_BRACE:Fpe,CHAR_RIGHT_CURLY_BRACE:Npe,CHAR_LEFT_SQUARE_BRACKET:R1,CHAR_RIGHT_SQUARE_BRACKET:F1,CHAR_DOUBLE_QUOTE:Lpe,CHAR_SINGLE_QUOTE:Tpe,CHAR_NO_BREAK_SPACE:Mpe,CHAR_ZERO_WIDTH_NOBREAK_SPACE:Ope}=k1(),Kpe=(t,e={})=>{if(typeof t!="string")throw new TypeError("Expected a string");let r=e||{},i=typeof r.maxLength=="number"?Math.min(D1,r.maxLength):D1;if(t.length>i)throw new SyntaxError(`Input length (${t.length}), exceeds max characters (${i})`);let n={type:"root",input:t,nodes:[]},s=[n],o=n,a=n,l=0,c=t.length,u=0,g=0,f,h={},p=()=>t[u++],d=m=>{if(m.type==="text"&&a.type==="dot"&&(a.type="text"),a&&a.type==="text"&&m.type==="text"){a.value+=m.value;return}return o.nodes.push(m),m.parent=o,m.prev=a,a=m,m};for(d({type:"bos"});u0){if(o.ranges>0){o.ranges=0;let m=o.nodes.shift();o.nodes=[m,{type:"text",value:Spe(o)}]}d({type:"comma",value:f}),o.commas++;continue}if(f===Ppe&&g>0&&o.commas===0){let m=o.nodes;if(g===0||m.length===0){d({type:"text",value:f});continue}if(a.type==="dot"){if(o.range=[],a.value+=f,a.type="range",o.nodes.length!==3&&o.nodes.length!==5){o.invalid=!0,o.ranges=0,a.type="text";continue}o.ranges++,o.args=[];continue}if(a.type==="range"){m.pop();let I=m[m.length-1];I.value+=a.value+f,a=I,o.ranges--;continue}d({type:"dot",value:f});continue}d({type:"text",value:f})}do if(o=s.pop(),o.type!=="root"){o.nodes.forEach(B=>{B.nodes||(B.type==="open"&&(B.isOpen=!0),B.type==="close"&&(B.isClose=!0),B.nodes||(B.type="text"),B.invalid=!0)});let m=s[s.length-1],I=m.nodes.indexOf(o);m.nodes.splice(I,1,...o.nodes)}while(s.length>0);return d({type:"eos"}),n};P1.exports=Kpe});var M1=E((G$e,L1)=>{"use strict";var T1=NE(),Upe=Q1(),Hpe=S1(),Gpe=N1(),Rn=(t,e={})=>{let r=[];if(Array.isArray(t))for(let i of t){let n=Rn.create(i,e);Array.isArray(n)?r.push(...n):r.push(n)}else r=[].concat(Rn.create(t,e));return e&&e.expand===!0&&e.nodupes===!0&&(r=[...new Set(r)]),r};Rn.parse=(t,e={})=>Gpe(t,e);Rn.stringify=(t,e={})=>typeof t=="string"?T1(Rn.parse(t,e),e):T1(t,e);Rn.compile=(t,e={})=>(typeof t=="string"&&(t=Rn.parse(t,e)),Upe(t,e));Rn.expand=(t,e={})=>{typeof t=="string"&&(t=Rn.parse(t,e));let r=Hpe(t,e);return e.noempty===!0&&(r=r.filter(Boolean)),e.nodupes===!0&&(r=[...new Set(r)]),r};Rn.create=(t,e={})=>t===""||t.length<3?[t]:e.expand!==!0?Rn.compile(t,e):Rn.expand(t,e);L1.exports=Rn});var dh=E((j$e,O1)=>{"use strict";var jpe=require("path"),io="\\\\/",K1=`[^${io}]`,ea="\\.",Ype="\\+",qpe="\\?",TE="\\/",Jpe="(?=.)",U1="[^/]",Vb=`(?:${TE}|$)`,H1=`(?:^|${TE})`,_b=`${ea}{1,2}${Vb}`,Wpe=`(?!${ea})`,zpe=`(?!${H1}${_b})`,Vpe=`(?!${ea}{0,1}${Vb})`,_pe=`(?!${_b})`,Xpe=`[^.${TE}]`,Zpe=`${U1}*?`,G1={DOT_LITERAL:ea,PLUS_LITERAL:Ype,QMARK_LITERAL:qpe,SLASH_LITERAL:TE,ONE_CHAR:Jpe,QMARK:U1,END_ANCHOR:Vb,DOTS_SLASH:_b,NO_DOT:Wpe,NO_DOTS:zpe,NO_DOT_SLASH:Vpe,NO_DOTS_SLASH:_pe,QMARK_NO_DOT:Xpe,STAR:Zpe,START_ANCHOR:H1},$pe=_(P({},G1),{SLASH_LITERAL:`[${io}]`,QMARK:K1,STAR:`${K1}*?`,DOTS_SLASH:`${ea}{1,2}(?:[${io}]|$)`,NO_DOT:`(?!${ea})`,NO_DOTS:`(?!(?:^|[${io}])${ea}{1,2}(?:[${io}]|$))`,NO_DOT_SLASH:`(?!${ea}{0,1}(?:[${io}]|$))`,NO_DOTS_SLASH:`(?!${ea}{1,2}(?:[${io}]|$))`,QMARK_NO_DOT:`[^.${io}]`,START_ANCHOR:`(?:^|[${io}])`,END_ANCHOR:`(?:[${io}]|$)`}),ede={alnum:"a-zA-Z0-9",alpha:"a-zA-Z",ascii:"\\x00-\\x7F",blank:" \\t",cntrl:"\\x00-\\x1F\\x7F",digit:"0-9",graph:"\\x21-\\x7E",lower:"a-z",print:"\\x20-\\x7E ",punct:"\\-!\"#$%&'()\\*+,./:;<=>?@[\\]^_`{|}~",space:" \\t\\r\\n\\v\\f",upper:"A-Z",word:"A-Za-z0-9_",xdigit:"A-Fa-f0-9"};O1.exports={MAX_LENGTH:1024*64,POSIX_REGEX_SOURCE:ede,REGEX_BACKSLASH:/\\(?![*+?^${}(|)[\]])/g,REGEX_NON_SPECIAL_CHARS:/^[^@![\].,$*+?^{}()|\\/]+/,REGEX_SPECIAL_CHARS:/[-*+?.^${}(|)[\]]/,REGEX_SPECIAL_CHARS_BACKREF:/(\\?)((\W)(\3*))/g,REGEX_SPECIAL_CHARS_GLOBAL:/([-*+?.^${}(|)[\]])/g,REGEX_REMOVE_BACKSLASH:/(?:\[.*?[^\\]\]|\\(?=.))/g,REPLACEMENTS:{"***":"*","**/**":"**","**/**/**":"**"},CHAR_0:48,CHAR_9:57,CHAR_UPPERCASE_A:65,CHAR_LOWERCASE_A:97,CHAR_UPPERCASE_Z:90,CHAR_LOWERCASE_Z:122,CHAR_LEFT_PARENTHESES:40,CHAR_RIGHT_PARENTHESES:41,CHAR_ASTERISK:42,CHAR_AMPERSAND:38,CHAR_AT:64,CHAR_BACKWARD_SLASH:92,CHAR_CARRIAGE_RETURN:13,CHAR_CIRCUMFLEX_ACCENT:94,CHAR_COLON:58,CHAR_COMMA:44,CHAR_DOT:46,CHAR_DOUBLE_QUOTE:34,CHAR_EQUAL:61,CHAR_EXCLAMATION_MARK:33,CHAR_FORM_FEED:12,CHAR_FORWARD_SLASH:47,CHAR_GRAVE_ACCENT:96,CHAR_HASH:35,CHAR_HYPHEN_MINUS:45,CHAR_LEFT_ANGLE_BRACKET:60,CHAR_LEFT_CURLY_BRACE:123,CHAR_LEFT_SQUARE_BRACKET:91,CHAR_LINE_FEED:10,CHAR_NO_BREAK_SPACE:160,CHAR_PERCENT:37,CHAR_PLUS:43,CHAR_QUESTION_MARK:63,CHAR_RIGHT_ANGLE_BRACKET:62,CHAR_RIGHT_CURLY_BRACE:125,CHAR_RIGHT_SQUARE_BRACKET:93,CHAR_SEMICOLON:59,CHAR_SINGLE_QUOTE:39,CHAR_SPACE:32,CHAR_TAB:9,CHAR_UNDERSCORE:95,CHAR_VERTICAL_LINE:124,CHAR_ZERO_WIDTH_NOBREAK_SPACE:65279,SEP:jpe.sep,extglobChars(t){return{"!":{type:"negate",open:"(?:(?!(?:",close:`))${t.STAR})`},"?":{type:"qmark",open:"(?:",close:")?"},"+":{type:"plus",open:"(?:",close:")+"},"*":{type:"star",open:"(?:",close:")*"},"@":{type:"at",open:"(?:",close:")"}}},globChars(t){return t===!0?$pe:G1}}});var Ch=E(cn=>{"use strict";var tde=require("path"),rde=process.platform==="win32",{REGEX_BACKSLASH:ide,REGEX_REMOVE_BACKSLASH:nde,REGEX_SPECIAL_CHARS:sde,REGEX_SPECIAL_CHARS_GLOBAL:ode}=dh();cn.isObject=t=>t!==null&&typeof t=="object"&&!Array.isArray(t);cn.hasRegexChars=t=>sde.test(t);cn.isRegexChar=t=>t.length===1&&cn.hasRegexChars(t);cn.escapeRegex=t=>t.replace(ode,"\\$1");cn.toPosixSlashes=t=>t.replace(ide,"/");cn.removeBackslashes=t=>t.replace(nde,e=>e==="\\"?"":e);cn.supportsLookbehinds=()=>{let t=process.version.slice(1).split(".").map(Number);return t.length===3&&t[0]>=9||t[0]===8&&t[1]>=10};cn.isWindows=t=>t&&typeof t.windows=="boolean"?t.windows:rde===!0||tde.sep==="\\";cn.escapeLast=(t,e,r)=>{let i=t.lastIndexOf(e,r);return i===-1?t:t[i-1]==="\\"?cn.escapeLast(t,e,i-1):`${t.slice(0,i)}\\${t.slice(i)}`};cn.removePrefix=(t,e={})=>{let r=t;return r.startsWith("./")&&(r=r.slice(2),e.prefix="./"),r};cn.wrapOutput=(t,e={},r={})=>{let i=r.contains?"":"^",n=r.contains?"":"$",s=`${i}(?:${t})${n}`;return e.negated===!0&&(s=`(?:^(?!${s}).*$)`),s}});var X1=E((q$e,j1)=>{"use strict";var Y1=Ch(),{CHAR_ASTERISK:Xb,CHAR_AT:ade,CHAR_BACKWARD_SLASH:mh,CHAR_COMMA:Ade,CHAR_DOT:Zb,CHAR_EXCLAMATION_MARK:q1,CHAR_FORWARD_SLASH:J1,CHAR_LEFT_CURLY_BRACE:$b,CHAR_LEFT_PARENTHESES:ev,CHAR_LEFT_SQUARE_BRACKET:lde,CHAR_PLUS:cde,CHAR_QUESTION_MARK:W1,CHAR_RIGHT_CURLY_BRACE:ude,CHAR_RIGHT_PARENTHESES:z1,CHAR_RIGHT_SQUARE_BRACKET:gde}=dh(),V1=t=>t===J1||t===mh,_1=t=>{t.isPrefix!==!0&&(t.depth=t.isGlobstar?Infinity:1)},fde=(t,e)=>{let r=e||{},i=t.length-1,n=r.parts===!0||r.scanToEnd===!0,s=[],o=[],a=[],l=t,c=-1,u=0,g=0,f=!1,h=!1,p=!1,d=!1,m=!1,I=!1,B=!1,b=!1,R=!1,H=0,L,K,J={value:"",depth:0,isGlob:!1},ne=()=>c>=i,q=()=>l.charCodeAt(c+1),A=()=>(L=K,l.charCodeAt(++c));for(;c0&&(W=l.slice(0,u),l=l.slice(u),g-=u),V&&p===!0&&g>0?(V=l.slice(0,g),X=l.slice(g)):p===!0?(V="",X=l):V=l,V&&V!==""&&V!=="/"&&V!==l&&V1(V.charCodeAt(V.length-1))&&(V=V.slice(0,-1)),r.unescape===!0&&(X&&(X=Y1.removeBackslashes(X)),V&&B===!0&&(V=Y1.removeBackslashes(V)));let F={prefix:W,input:t,start:u,base:V,glob:X,isBrace:f,isBracket:h,isGlob:p,isExtglob:d,isGlobstar:m,negated:b};if(r.tokens===!0&&(F.maxDepth=0,V1(K)||o.push(J),F.tokens=o),r.parts===!0||r.tokens===!0){let D;for(let he=0;he{"use strict";var ME=dh(),Fn=Ch(),{MAX_LENGTH:OE,POSIX_REGEX_SOURCE:hde,REGEX_NON_SPECIAL_CHARS:pde,REGEX_SPECIAL_CHARS_BACKREF:dde,REPLACEMENTS:$1}=ME,Cde=(t,e)=>{if(typeof e.expandRange=="function")return e.expandRange(...t,e);t.sort();let r=`[${t.join("-")}]`;try{new RegExp(r)}catch(i){return t.map(n=>Fn.escapeRegex(n)).join("..")}return r},au=(t,e)=>`Missing ${t}: "${e}" - use "\\\\${e}" to match literal characters`,eU=(t,e)=>{if(typeof t!="string")throw new TypeError("Expected a string");t=$1[t]||t;let r=P({},e),i=typeof r.maxLength=="number"?Math.min(OE,r.maxLength):OE,n=t.length;if(n>i)throw new SyntaxError(`Input length: ${n}, exceeds maximum allowed length: ${i}`);let s={type:"bos",value:"",output:r.prepend||""},o=[s],a=r.capture?"":"?:",l=Fn.isWindows(e),c=ME.globChars(l),u=ME.extglobChars(c),{DOT_LITERAL:g,PLUS_LITERAL:f,SLASH_LITERAL:h,ONE_CHAR:p,DOTS_SLASH:d,NO_DOT:m,NO_DOT_SLASH:I,NO_DOTS_SLASH:B,QMARK:b,QMARK_NO_DOT:R,STAR:H,START_ANCHOR:L}=c,K=G=>`(${a}(?:(?!${L}${G.dot?d:g}).)*?)`,J=r.dot?"":m,ne=r.dot?b:R,q=r.bash===!0?K(r):H;r.capture&&(q=`(${q})`),typeof r.noext=="boolean"&&(r.noextglob=r.noext);let A={input:t,index:-1,start:0,dot:r.dot===!0,consumed:"",output:"",prefix:"",backtrack:!1,negated:!1,brackets:0,braces:0,parens:0,quotes:0,globstar:!1,tokens:o};t=Fn.removePrefix(t,A),n=t.length;let V=[],W=[],X=[],F=s,D,he=()=>A.index===n-1,pe=A.peek=(G=1)=>t[A.index+G],Ne=A.advance=()=>t[++A.index],Pe=()=>t.slice(A.index+1),qe=(G="",Ce=0)=>{A.consumed+=G,A.index+=Ce},re=G=>{A.output+=G.output!=null?G.output:G.value,qe(G.value)},se=()=>{let G=1;for(;pe()==="!"&&(pe(2)!=="("||pe(3)==="?");)Ne(),A.start++,G++;return G%2==0?!1:(A.negated=!0,A.start++,!0)},be=G=>{A[G]++,X.push(G)},ae=G=>{A[G]--,X.pop()},Ae=G=>{if(F.type==="globstar"){let Ce=A.braces>0&&(G.type==="comma"||G.type==="brace"),ee=G.extglob===!0||V.length&&(G.type==="pipe"||G.type==="paren");G.type!=="slash"&&G.type!=="paren"&&!Ce&&!ee&&(A.output=A.output.slice(0,-F.output.length),F.type="star",F.value="*",F.output=q,A.output+=F.output)}if(V.length&&G.type!=="paren"&&!u[G.value]&&(V[V.length-1].inner+=G.value),(G.value||G.output)&&re(G),F&&F.type==="text"&&G.type==="text"){F.value+=G.value,F.output=(F.output||"")+G.value;return}G.prev=F,o.push(G),F=G},De=(G,Ce)=>{let ee=_(P({},u[Ce]),{conditions:1,inner:""});ee.prev=F,ee.parens=A.parens,ee.output=A.output;let Ue=(r.capture?"(":"")+ee.open;be("parens"),Ae({type:G,value:Ce,output:A.output?"":p}),Ae({type:"paren",extglob:!0,value:Ne(),output:Ue}),V.push(ee)},$=G=>{let Ce=G.close+(r.capture?")":"");if(G.type==="negate"){let ee=q;G.inner&&G.inner.length>1&&G.inner.includes("/")&&(ee=K(r)),(ee!==q||he()||/^\)+$/.test(Pe()))&&(Ce=G.close=`)$))${ee}`),G.prev.type==="bos"&&(A.negatedExtglob=!0)}Ae({type:"paren",extglob:!0,value:D,output:Ce}),ae("parens")};if(r.fastpaths!==!1&&!/(^[*!]|[/()[\]{}"])/.test(t)){let G=!1,Ce=t.replace(dde,(ee,Ue,Oe,vt,dt,ri)=>vt==="\\"?(G=!0,ee):vt==="?"?Ue?Ue+vt+(dt?b.repeat(dt.length):""):ri===0?ne+(dt?b.repeat(dt.length):""):b.repeat(Oe.length):vt==="."?g.repeat(Oe.length):vt==="*"?Ue?Ue+vt+(dt?q:""):q:Ue?ee:`\\${ee}`);return G===!0&&(r.unescape===!0?Ce=Ce.replace(/\\/g,""):Ce=Ce.replace(/\\+/g,ee=>ee.length%2==0?"\\\\":ee?"\\":"")),Ce===t&&r.contains===!0?(A.output=t,A):(A.output=Fn.wrapOutput(Ce,A,e),A)}for(;!he();){if(D=Ne(),D==="\0")continue;if(D==="\\"){let ee=pe();if(ee==="/"&&r.bash!==!0||ee==="."||ee===";")continue;if(!ee){D+="\\",Ae({type:"text",value:D});continue}let Ue=/^\\+/.exec(Pe()),Oe=0;if(Ue&&Ue[0].length>2&&(Oe=Ue[0].length,A.index+=Oe,Oe%2!=0&&(D+="\\")),r.unescape===!0?D=Ne()||"":D+=Ne()||"",A.brackets===0){Ae({type:"text",value:D});continue}}if(A.brackets>0&&(D!=="]"||F.value==="["||F.value==="[^")){if(r.posix!==!1&&D===":"){let ee=F.value.slice(1);if(ee.includes("[")&&(F.posix=!0,ee.includes(":"))){let Ue=F.value.lastIndexOf("["),Oe=F.value.slice(0,Ue),vt=F.value.slice(Ue+2),dt=hde[vt];if(dt){F.value=Oe+dt,A.backtrack=!0,Ne(),!s.output&&o.indexOf(F)===1&&(s.output=p);continue}}}(D==="["&&pe()!==":"||D==="-"&&pe()==="]")&&(D=`\\${D}`),D==="]"&&(F.value==="["||F.value==="[^")&&(D=`\\${D}`),r.posix===!0&&D==="!"&&F.value==="["&&(D="^"),F.value+=D,re({value:D});continue}if(A.quotes===1&&D!=='"'){D=Fn.escapeRegex(D),F.value+=D,re({value:D});continue}if(D==='"'){A.quotes=A.quotes===1?0:1,r.keepQuotes===!0&&Ae({type:"text",value:D});continue}if(D==="("){be("parens"),Ae({type:"paren",value:D});continue}if(D===")"){if(A.parens===0&&r.strictBrackets===!0)throw new SyntaxError(au("opening","("));let ee=V[V.length-1];if(ee&&A.parens===ee.parens+1){$(V.pop());continue}Ae({type:"paren",value:D,output:A.parens?")":"\\)"}),ae("parens");continue}if(D==="["){if(r.nobracket===!0||!Pe().includes("]")){if(r.nobracket!==!0&&r.strictBrackets===!0)throw new SyntaxError(au("closing","]"));D=`\\${D}`}else be("brackets");Ae({type:"bracket",value:D});continue}if(D==="]"){if(r.nobracket===!0||F&&F.type==="bracket"&&F.value.length===1){Ae({type:"text",value:D,output:`\\${D}`});continue}if(A.brackets===0){if(r.strictBrackets===!0)throw new SyntaxError(au("opening","["));Ae({type:"text",value:D,output:`\\${D}`});continue}ae("brackets");let ee=F.value.slice(1);if(F.posix!==!0&&ee[0]==="^"&&!ee.includes("/")&&(D=`/${D}`),F.value+=D,re({value:D}),r.literalBrackets===!1||Fn.hasRegexChars(ee))continue;let Ue=Fn.escapeRegex(F.value);if(A.output=A.output.slice(0,-F.value.length),r.literalBrackets===!0){A.output+=Ue,F.value=Ue;continue}F.value=`(${a}${Ue}|${F.value})`,A.output+=F.value;continue}if(D==="{"&&r.nobrace!==!0){be("braces");let ee={type:"brace",value:D,output:"(",outputIndex:A.output.length,tokensIndex:A.tokens.length};W.push(ee),Ae(ee);continue}if(D==="}"){let ee=W[W.length-1];if(r.nobrace===!0||!ee){Ae({type:"text",value:D,output:D});continue}let Ue=")";if(ee.dots===!0){let Oe=o.slice(),vt=[];for(let dt=Oe.length-1;dt>=0&&(o.pop(),Oe[dt].type!=="brace");dt--)Oe[dt].type!=="dots"&&vt.unshift(Oe[dt].value);Ue=Cde(vt,r),A.backtrack=!0}if(ee.comma!==!0&&ee.dots!==!0){let Oe=A.output.slice(0,ee.outputIndex),vt=A.tokens.slice(ee.tokensIndex);ee.value=ee.output="\\{",D=Ue="\\}",A.output=Oe;for(let dt of vt)A.output+=dt.output||dt.value}Ae({type:"brace",value:D,output:Ue}),ae("braces"),W.pop();continue}if(D==="|"){V.length>0&&V[V.length-1].conditions++,Ae({type:"text",value:D});continue}if(D===","){let ee=D,Ue=W[W.length-1];Ue&&X[X.length-1]==="braces"&&(Ue.comma=!0,ee="|"),Ae({type:"comma",value:D,output:ee});continue}if(D==="/"){if(F.type==="dot"&&A.index===A.start+1){A.start=A.index+1,A.consumed="",A.output="",o.pop(),F=s;continue}Ae({type:"slash",value:D,output:h});continue}if(D==="."){if(A.braces>0&&F.type==="dot"){F.value==="."&&(F.output=g);let ee=W[W.length-1];F.type="dots",F.output+=D,F.value+=D,ee.dots=!0;continue}if(A.braces+A.parens===0&&F.type!=="bos"&&F.type!=="slash"){Ae({type:"text",value:D,output:g});continue}Ae({type:"dot",value:D,output:g});continue}if(D==="?"){if(!(F&&F.value==="(")&&r.noextglob!==!0&&pe()==="("&&pe(2)!=="?"){De("qmark",D);continue}if(F&&F.type==="paren"){let Ue=pe(),Oe=D;if(Ue==="<"&&!Fn.supportsLookbehinds())throw new Error("Node.js v10 or higher is required for regex lookbehinds");(F.value==="("&&!/[!=<:]/.test(Ue)||Ue==="<"&&!/<([!=]|\w+>)/.test(Pe()))&&(Oe=`\\${D}`),Ae({type:"text",value:D,output:Oe});continue}if(r.dot!==!0&&(F.type==="slash"||F.type==="bos")){Ae({type:"qmark",value:D,output:R});continue}Ae({type:"qmark",value:D,output:b});continue}if(D==="!"){if(r.noextglob!==!0&&pe()==="("&&(pe(2)!=="?"||!/[!=<:]/.test(pe(3)))){De("negate",D);continue}if(r.nonegate!==!0&&A.index===0){se();continue}}if(D==="+"){if(r.noextglob!==!0&&pe()==="("&&pe(2)!=="?"){De("plus",D);continue}if(F&&F.value==="("||r.regex===!1){Ae({type:"plus",value:D,output:f});continue}if(F&&(F.type==="bracket"||F.type==="paren"||F.type==="brace")||A.parens>0){Ae({type:"plus",value:D});continue}Ae({type:"plus",value:f});continue}if(D==="@"){if(r.noextglob!==!0&&pe()==="("&&pe(2)!=="?"){Ae({type:"at",extglob:!0,value:D,output:""});continue}Ae({type:"text",value:D});continue}if(D!=="*"){(D==="$"||D==="^")&&(D=`\\${D}`);let ee=pde.exec(Pe());ee&&(D+=ee[0],A.index+=ee[0].length),Ae({type:"text",value:D});continue}if(F&&(F.type==="globstar"||F.star===!0)){F.type="star",F.star=!0,F.value+=D,F.output=q,A.backtrack=!0,A.globstar=!0,qe(D);continue}let G=Pe();if(r.noextglob!==!0&&/^\([^?]/.test(G)){De("star",D);continue}if(F.type==="star"){if(r.noglobstar===!0){qe(D);continue}let ee=F.prev,Ue=ee.prev,Oe=ee.type==="slash"||ee.type==="bos",vt=Ue&&(Ue.type==="star"||Ue.type==="globstar");if(r.bash===!0&&(!Oe||G[0]&&G[0]!=="/")){Ae({type:"star",value:D,output:""});continue}let dt=A.braces>0&&(ee.type==="comma"||ee.type==="brace"),ri=V.length&&(ee.type==="pipe"||ee.type==="paren");if(!Oe&&ee.type!=="paren"&&!dt&&!ri){Ae({type:"star",value:D,output:""});continue}for(;G.slice(0,3)==="/**";){let ii=t[A.index+4];if(ii&&ii!=="/")break;G=G.slice(3),qe("/**",3)}if(ee.type==="bos"&&he()){F.type="globstar",F.value+=D,F.output=K(r),A.output=F.output,A.globstar=!0,qe(D);continue}if(ee.type==="slash"&&ee.prev.type!=="bos"&&!vt&&he()){A.output=A.output.slice(0,-(ee.output+F.output).length),ee.output=`(?:${ee.output}`,F.type="globstar",F.output=K(r)+(r.strictSlashes?")":"|$)"),F.value+=D,A.globstar=!0,A.output+=ee.output+F.output,qe(D);continue}if(ee.type==="slash"&&ee.prev.type!=="bos"&&G[0]==="/"){let ii=G[1]!==void 0?"|$":"";A.output=A.output.slice(0,-(ee.output+F.output).length),ee.output=`(?:${ee.output}`,F.type="globstar",F.output=`${K(r)}${h}|${h}${ii})`,F.value+=D,A.output+=ee.output+F.output,A.globstar=!0,qe(D+Ne()),Ae({type:"slash",value:"/",output:""});continue}if(ee.type==="bos"&&G[0]==="/"){F.type="globstar",F.value+=D,F.output=`(?:^|${h}|${K(r)}${h})`,A.output=F.output,A.globstar=!0,qe(D+Ne()),Ae({type:"slash",value:"/",output:""});continue}A.output=A.output.slice(0,-F.output.length),F.type="globstar",F.output=K(r),F.value+=D,A.output+=F.output,A.globstar=!0,qe(D);continue}let Ce={type:"star",value:D,output:q};if(r.bash===!0){Ce.output=".*?",(F.type==="bos"||F.type==="slash")&&(Ce.output=J+Ce.output),Ae(Ce);continue}if(F&&(F.type==="bracket"||F.type==="paren")&&r.regex===!0){Ce.output=D,Ae(Ce);continue}(A.index===A.start||F.type==="slash"||F.type==="dot")&&(F.type==="dot"?(A.output+=I,F.output+=I):r.dot===!0?(A.output+=B,F.output+=B):(A.output+=J,F.output+=J),pe()!=="*"&&(A.output+=p,F.output+=p)),Ae(Ce)}for(;A.brackets>0;){if(r.strictBrackets===!0)throw new SyntaxError(au("closing","]"));A.output=Fn.escapeLast(A.output,"["),ae("brackets")}for(;A.parens>0;){if(r.strictBrackets===!0)throw new SyntaxError(au("closing",")"));A.output=Fn.escapeLast(A.output,"("),ae("parens")}for(;A.braces>0;){if(r.strictBrackets===!0)throw new SyntaxError(au("closing","}"));A.output=Fn.escapeLast(A.output,"{"),ae("braces")}if(r.strictSlashes!==!0&&(F.type==="star"||F.type==="bracket")&&Ae({type:"maybe_slash",value:"",output:`${h}?`}),A.backtrack===!0){A.output="";for(let G of A.tokens)A.output+=G.output!=null?G.output:G.value,G.suffix&&(A.output+=G.suffix)}return A};eU.fastpaths=(t,e)=>{let r=P({},e),i=typeof r.maxLength=="number"?Math.min(OE,r.maxLength):OE,n=t.length;if(n>i)throw new SyntaxError(`Input length: ${n}, exceeds maximum allowed length: ${i}`);t=$1[t]||t;let s=Fn.isWindows(e),{DOT_LITERAL:o,SLASH_LITERAL:a,ONE_CHAR:l,DOTS_SLASH:c,NO_DOT:u,NO_DOTS:g,NO_DOTS_SLASH:f,STAR:h,START_ANCHOR:p}=ME.globChars(s),d=r.dot?g:u,m=r.dot?f:u,I=r.capture?"":"?:",B={negated:!1,prefix:""},b=r.bash===!0?".*?":h;r.capture&&(b=`(${b})`);let R=J=>J.noglobstar===!0?b:`(${I}(?:(?!${p}${J.dot?c:o}).)*?)`,H=J=>{switch(J){case"*":return`${d}${l}${b}`;case".*":return`${o}${l}${b}`;case"*.*":return`${d}${b}${o}${l}${b}`;case"*/*":return`${d}${b}${a}${l}${m}${b}`;case"**":return d+R(r);case"**/*":return`(?:${d}${R(r)}${a})?${m}${l}${b}`;case"**/*.*":return`(?:${d}${R(r)}${a})?${m}${b}${o}${l}${b}`;case"**/.*":return`(?:${d}${R(r)}${a})?${o}${l}${b}`;default:{let ne=/^(.*?)\.(\w+)$/.exec(J);if(!ne)return;let q=H(ne[1]);return q?q+o+ne[2]:void 0}}},L=Fn.removePrefix(t,B),K=H(L);return K&&r.strictSlashes!==!0&&(K+=`${a}?`),K};Z1.exports=eU});var iU=E((W$e,rU)=>{"use strict";var mde=require("path"),Ede=X1(),tv=tU(),rv=Ch(),Ide=dh(),yde=t=>t&&typeof t=="object"&&!Array.isArray(t),Dr=(t,e,r=!1)=>{if(Array.isArray(t)){let u=t.map(f=>Dr(f,e,r));return f=>{for(let h of u){let p=h(f);if(p)return p}return!1}}let i=yde(t)&&t.tokens&&t.input;if(t===""||typeof t!="string"&&!i)throw new TypeError("Expected pattern to be a non-empty string");let n=e||{},s=rv.isWindows(e),o=i?Dr.compileRe(t,e):Dr.makeRe(t,e,!1,!0),a=o.state;delete o.state;let l=()=>!1;if(n.ignore){let u=_(P({},e),{ignore:null,onMatch:null,onResult:null});l=Dr(n.ignore,u,r)}let c=(u,g=!1)=>{let{isMatch:f,match:h,output:p}=Dr.test(u,o,e,{glob:t,posix:s}),d={glob:t,state:a,regex:o,posix:s,input:u,output:p,match:h,isMatch:f};return typeof n.onResult=="function"&&n.onResult(d),f===!1?(d.isMatch=!1,g?d:!1):l(u)?(typeof n.onIgnore=="function"&&n.onIgnore(d),d.isMatch=!1,g?d:!1):(typeof n.onMatch=="function"&&n.onMatch(d),g?d:!0)};return r&&(c.state=a),c};Dr.test=(t,e,r,{glob:i,posix:n}={})=>{if(typeof t!="string")throw new TypeError("Expected input to be a string");if(t==="")return{isMatch:!1,output:""};let s=r||{},o=s.format||(n?rv.toPosixSlashes:null),a=t===i,l=a&&o?o(t):t;return a===!1&&(l=o?o(t):t,a=l===i),(a===!1||s.capture===!0)&&(s.matchBase===!0||s.basename===!0?a=Dr.matchBase(t,e,r,n):a=e.exec(l)),{isMatch:Boolean(a),match:a,output:l}};Dr.matchBase=(t,e,r,i=rv.isWindows(r))=>(e instanceof RegExp?e:Dr.makeRe(e,r)).test(mde.basename(t));Dr.isMatch=(t,e,r)=>Dr(e,r)(t);Dr.parse=(t,e)=>Array.isArray(t)?t.map(r=>Dr.parse(r,e)):tv(t,_(P({},e),{fastpaths:!1}));Dr.scan=(t,e)=>Ede(t,e);Dr.compileRe=(t,e,r=!1,i=!1)=>{if(r===!0)return t.output;let n=e||{},s=n.contains?"":"^",o=n.contains?"":"$",a=`${s}(?:${t.output})${o}`;t&&t.negated===!0&&(a=`^(?!${a}).*$`);let l=Dr.toRegex(a,e);return i===!0&&(l.state=t),l};Dr.makeRe=(t,e,r=!1,i=!1)=>{if(!t||typeof t!="string")throw new TypeError("Expected a non-empty string");let n=e||{},s={negated:!1,fastpaths:!0},o="",a;return t.startsWith("./")&&(t=t.slice(2),o=s.prefix="./"),n.fastpaths!==!1&&(t[0]==="."||t[0]==="*")&&(a=tv.fastpaths(t,e)),a===void 0?(s=tv(t,e),s.prefix=o+(s.prefix||"")):s.output=a,Dr.compileRe(s,e,r,i)};Dr.toRegex=(t,e)=>{try{let r=e||{};return new RegExp(t,r.flags||(r.nocase?"i":""))}catch(r){if(e&&e.debug===!0)throw r;return/$^/}};Dr.constants=Ide;rU.exports=Dr});var iv=E((z$e,nU)=>{"use strict";nU.exports=iU()});var Nn=E((V$e,sU)=>{"use strict";var oU=require("util"),aU=M1(),no=iv(),nv=Ch(),AU=t=>typeof t=="string"&&(t===""||t==="./"),pr=(t,e,r)=>{e=[].concat(e),t=[].concat(t);let i=new Set,n=new Set,s=new Set,o=0,a=u=>{s.add(u.output),r&&r.onResult&&r.onResult(u)};for(let u=0;u!i.has(u));if(r&&c.length===0){if(r.failglob===!0)throw new Error(`No matches found for "${e.join(", ")}"`);if(r.nonull===!0||r.nullglob===!0)return r.unescape?e.map(u=>u.replace(/\\/g,"")):e}return c};pr.match=pr;pr.matcher=(t,e)=>no(t,e);pr.isMatch=(t,e,r)=>no(e,r)(t);pr.any=pr.isMatch;pr.not=(t,e,r={})=>{e=[].concat(e).map(String);let i=new Set,n=[],s=a=>{r.onResult&&r.onResult(a),n.push(a.output)},o=pr(t,e,_(P({},r),{onResult:s}));for(let a of n)o.includes(a)||i.add(a);return[...i]};pr.contains=(t,e,r)=>{if(typeof t!="string")throw new TypeError(`Expected a string: "${oU.inspect(t)}"`);if(Array.isArray(e))return e.some(i=>pr.contains(t,i,r));if(typeof e=="string"){if(AU(t)||AU(e))return!1;if(t.includes(e)||t.startsWith("./")&&t.slice(2).includes(e))return!0}return pr.isMatch(t,e,_(P({},r),{contains:!0}))};pr.matchKeys=(t,e,r)=>{if(!nv.isObject(t))throw new TypeError("Expected the first argument to be an object");let i=pr(Object.keys(t),e,r),n={};for(let s of i)n[s]=t[s];return n};pr.some=(t,e,r)=>{let i=[].concat(t);for(let n of[].concat(e)){let s=no(String(n),r);if(i.some(o=>s(o)))return!0}return!1};pr.every=(t,e,r)=>{let i=[].concat(t);for(let n of[].concat(e)){let s=no(String(n),r);if(!i.every(o=>s(o)))return!1}return!0};pr.all=(t,e,r)=>{if(typeof t!="string")throw new TypeError(`Expected a string: "${oU.inspect(t)}"`);return[].concat(e).every(i=>no(i,r)(t))};pr.capture=(t,e,r)=>{let i=nv.isWindows(r),s=no.makeRe(String(t),_(P({},r),{capture:!0})).exec(i?nv.toPosixSlashes(e):e);if(s)return s.slice(1).map(o=>o===void 0?"":o)};pr.makeRe=(...t)=>no.makeRe(...t);pr.scan=(...t)=>no.scan(...t);pr.parse=(t,e)=>{let r=[];for(let i of[].concat(t||[]))for(let n of aU(String(i),e))r.push(no.parse(n,e));return r};pr.braces=(t,e)=>{if(typeof t!="string")throw new TypeError("Expected a string");return e&&e.nobrace===!0||!/\{.*\}/.test(t)?[t]:aU(t,e)};pr.braceExpand=(t,e)=>{if(typeof t!="string")throw new TypeError("Expected a string");return pr.braces(t,_(P({},e),{expand:!0}))};sU.exports=pr});var cU=E((_$e,lU)=>{"use strict";lU.exports=({onlyFirst:t=!1}={})=>{let e=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:[a-zA-Z\\d]*(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(e,t?void 0:"g")}});var gU=E((X$e,uU)=>{"use strict";var wde=cU();uU.exports=t=>typeof t=="string"?t.replace(wde(),""):t});var lu={};it(lu,{KeyRelationship:()=>Bl,applyCascade:()=>fv,base64RegExp:()=>CU,colorStringAlphaRegExp:()=>dU,colorStringRegExp:()=>pU,computeKey:()=>rA,getPrintable:()=>Mr,hasExactLength:()=>wU,hasForbiddenKeys:()=>eCe,hasKeyRelationship:()=>pv,hasMaxLength:()=>Mde,hasMinLength:()=>Tde,hasMutuallyExclusiveKeys:()=>tCe,hasRequiredKeys:()=>$de,hasUniqueItems:()=>Ode,isArray:()=>xde,isAtLeast:()=>Hde,isAtMost:()=>Gde,isBase64:()=>Xde,isBoolean:()=>bde,isDate:()=>Sde,isDict:()=>Pde,isEnum:()=>Yi,isHexColor:()=>_de,isISO8601:()=>Vde,isInExclusiveRange:()=>Yde,isInInclusiveRange:()=>jde,isInstanceOf:()=>Rde,isInteger:()=>qde,isJSON:()=>Zde,isLiteral:()=>Bde,isLowerCase:()=>Jde,isNegative:()=>Kde,isNullable:()=>Lde,isNumber:()=>vde,isObject:()=>Dde,isOneOf:()=>Fde,isOptional:()=>Nde,isPositive:()=>Ude,isString:()=>gv,isTuple:()=>kde,isUUID4:()=>zde,isUnknown:()=>yU,isUpperCase:()=>Wde,iso8601RegExp:()=>uv,makeCoercionFn:()=>wl,makeSetter:()=>IU,makeTrait:()=>EU,makeValidator:()=>Ct,matchesRegExp:()=>hv,plural:()=>GE,pushError:()=>at,simpleKeyRegExp:()=>hU,uuid4RegExp:()=>mU});function Ct({test:t}){return EU(t)()}function Mr(t){return t===null?"null":t===void 0?"undefined":t===""?"an empty string":JSON.stringify(t)}function rA(t,e){var r,i,n;return typeof e=="number"?`${(r=t==null?void 0:t.p)!==null&&r!==void 0?r:"."}[${e}]`:hU.test(e)?`${(i=t==null?void 0:t.p)!==null&&i!==void 0?i:""}.${e}`:`${(n=t==null?void 0:t.p)!==null&&n!==void 0?n:"."}[${JSON.stringify(e)}]`}function wl(t,e){return r=>{let i=t[e];return t[e]=r,wl(t,e).bind(null,i)}}function IU(t,e){return r=>{t[e]=r}}function GE(t,e,r){return t===1?e:r}function at({errors:t,p:e}={},r){return t==null||t.push(`${e!=null?e:"."}: ${r}`),!1}function Bde(t){return Ct({test:(e,r)=>e!==t?at(r,`Expected a literal (got ${Mr(t)})`):!0})}function Yi(t){let e=Array.isArray(t)?t:Object.values(t),r=new Set(e);return Ct({test:(i,n)=>r.has(i)?!0:at(n,`Expected a valid enumeration value (got ${Mr(i)})`)})}var hU,pU,dU,CU,mU,uv,EU,yU,gv,Qde,bde,vde,Sde,xde,kde,Pde,Dde,Rde,Fde,fv,Nde,Lde,Tde,Mde,wU,Ode,Kde,Ude,Hde,Gde,jde,Yde,qde,hv,Jde,Wde,zde,Vde,_de,Xde,Zde,$de,eCe,tCe,Bl,rCe,pv,Ss=Yfe(()=>{hU=/^[a-zA-Z_][a-zA-Z0-9_]*$/,pU=/^#[0-9a-f]{6}$/i,dU=/^#[0-9a-f]{6}([0-9a-f]{2})?$/i,CU=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/,mU=/^[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89aAbB][a-f0-9]{3}-[a-f0-9]{12}$/i,uv=/^(?:[1-9]\d{3}(-?)(?:(?:0[1-9]|1[0-2])\1(?:0[1-9]|1\d|2[0-8])|(?:0[13-9]|1[0-2])\1(?:29|30)|(?:0[13578]|1[02])(?:\1)31|00[1-9]|0[1-9]\d|[12]\d{2}|3(?:[0-5]\d|6[0-5]))|(?:[1-9]\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)(?:(-?)02(?:\2)29|-?366))T(?:[01]\d|2[0-3])(:?)[0-5]\d(?:\3[0-5]\d)?(?:Z|[+-][01]\d(?:\3[0-5]\d)?)$/,EU=t=>()=>t;yU=()=>Ct({test:(t,e)=>!0});gv=()=>Ct({test:(t,e)=>typeof t!="string"?at(e,`Expected a string (got ${Mr(t)})`):!0});Qde=new Map([["true",!0],["True",!0],["1",!0],[1,!0],["false",!1],["False",!1],["0",!1],[0,!1]]),bde=()=>Ct({test:(t,e)=>{var r;if(typeof t!="boolean"){if(typeof(e==null?void 0:e.coercions)!="undefined"){if(typeof(e==null?void 0:e.coercion)=="undefined")return at(e,"Unbound coercion result");let i=Qde.get(t);if(typeof i!="undefined")return e.coercions.push([(r=e.p)!==null&&r!==void 0?r:".",e.coercion.bind(null,i)]),!0}return at(e,`Expected a boolean (got ${Mr(t)})`)}return!0}}),vde=()=>Ct({test:(t,e)=>{var r;if(typeof t!="number"){if(typeof(e==null?void 0:e.coercions)!="undefined"){if(typeof(e==null?void 0:e.coercion)=="undefined")return at(e,"Unbound coercion result");let i;if(typeof t=="string"){let n;try{n=JSON.parse(t)}catch(s){}if(typeof n=="number")if(JSON.stringify(n)===t)i=n;else return at(e,`Received a number that can't be safely represented by the runtime (${t})`)}if(typeof i!="undefined")return e.coercions.push([(r=e.p)!==null&&r!==void 0?r:".",e.coercion.bind(null,i)]),!0}return at(e,`Expected a number (got ${Mr(t)})`)}return!0}}),Sde=()=>Ct({test:(t,e)=>{var r;if(!(t instanceof Date)){if(typeof(e==null?void 0:e.coercions)!="undefined"){if(typeof(e==null?void 0:e.coercion)=="undefined")return at(e,"Unbound coercion result");let i;if(typeof t=="string"&&uv.test(t))i=new Date(t);else{let n;if(typeof t=="string"){let s;try{s=JSON.parse(t)}catch(o){}typeof s=="number"&&(n=s)}else typeof t=="number"&&(n=t);if(typeof n!="undefined")if(Number.isSafeInteger(n)||!Number.isSafeInteger(n*1e3))i=new Date(n*1e3);else return at(e,`Received a timestamp that can't be safely represented by the runtime (${t})`)}if(typeof i!="undefined")return e.coercions.push([(r=e.p)!==null&&r!==void 0?r:".",e.coercion.bind(null,i)]),!0}return at(e,`Expected a date (got ${Mr(t)})`)}return!0}}),xde=(t,{delimiter:e}={})=>Ct({test:(r,i)=>{var n;if(typeof r=="string"&&typeof e!="undefined"&&typeof(i==null?void 0:i.coercions)!="undefined"){if(typeof(i==null?void 0:i.coercion)=="undefined")return at(i,"Unbound coercion result");r=r.split(e),i.coercions.push([(n=i.p)!==null&&n!==void 0?n:".",i.coercion.bind(null,r)])}if(!Array.isArray(r))return at(i,`Expected an array (got ${Mr(r)})`);let s=!0;for(let o=0,a=r.length;o{let r=wU(t.length);return Ct({test:(i,n)=>{var s;if(typeof i=="string"&&typeof e!="undefined"&&typeof(n==null?void 0:n.coercions)!="undefined"){if(typeof(n==null?void 0:n.coercion)=="undefined")return at(n,"Unbound coercion result");i=i.split(e),n.coercions.push([(s=n.p)!==null&&s!==void 0?s:".",n.coercion.bind(null,i)])}if(!Array.isArray(i))return at(n,`Expected a tuple (got ${Mr(i)})`);let o=r(i,Object.assign({},n));for(let a=0,l=i.length;aCt({test:(r,i)=>{if(typeof r!="object"||r===null)return at(i,`Expected an object (got ${Mr(r)})`);let n=Object.keys(r),s=!0;for(let o=0,a=n.length;o{let r=Object.keys(t);return Ct({test:(i,n)=>{if(typeof i!="object"||i===null)return at(n,`Expected an object (got ${Mr(i)})`);let s=new Set([...r,...Object.keys(i)]),o={},a=!0;for(let l of s){if(l==="constructor"||l==="__proto__")a=at(Object.assign(Object.assign({},n),{p:rA(n,l)}),"Unsafe property name");else{let c=Object.prototype.hasOwnProperty.call(t,l)?t[l]:void 0,u=Object.prototype.hasOwnProperty.call(i,l)?i[l]:void 0;typeof c!="undefined"?a=c(u,Object.assign(Object.assign({},n),{p:rA(n,l),coercion:wl(i,l)}))&&a:e===null?a=at(Object.assign(Object.assign({},n),{p:rA(n,l)}),`Extraneous property (got ${Mr(u)})`):Object.defineProperty(o,l,{enumerable:!0,get:()=>u,set:IU(i,l)})}if(!a&&(n==null?void 0:n.errors)==null)break}return e!==null&&(a||(n==null?void 0:n.errors)!=null)&&(a=e(o,n)&&a),a}})},Rde=t=>Ct({test:(e,r)=>e instanceof t?!0:at(r,`Expected an instance of ${t.name} (got ${Mr(e)})`)}),Fde=(t,{exclusive:e=!1}={})=>Ct({test:(r,i)=>{var n,s,o;let a=[],l=typeof(i==null?void 0:i.errors)!="undefined"?[]:void 0;for(let c=0,u=t.length;c1?at(i,`Expected to match exactly a single predicate (matched ${a.join(", ")})`):(o=i==null?void 0:i.errors)===null||o===void 0||o.push(...l),!1}}),fv=(t,e)=>Ct({test:(r,i)=>{var n,s;let o={value:r},a=typeof(i==null?void 0:i.coercions)!="undefined"?wl(o,"value"):void 0,l=typeof(i==null?void 0:i.coercions)!="undefined"?[]:void 0;if(!t(r,Object.assign(Object.assign({},i),{coercion:a,coercions:l})))return!1;let c=[];if(typeof l!="undefined")for(let[,u]of l)c.push(u());try{if(typeof(i==null?void 0:i.coercions)!="undefined"){if(o.value!==r){if(typeof(i==null?void 0:i.coercion)=="undefined")return at(i,"Unbound coercion result");i.coercions.push([(n=i.p)!==null&&n!==void 0?n:".",i.coercion.bind(null,o.value)])}(s=i==null?void 0:i.coercions)===null||s===void 0||s.push(...l)}return e.every(u=>u(o.value,i))}finally{for(let u of c)u()}}}),Nde=t=>Ct({test:(e,r)=>typeof e=="undefined"?!0:t(e,r)}),Lde=t=>Ct({test:(e,r)=>e===null?!0:t(e,r)}),Tde=t=>Ct({test:(e,r)=>e.length>=t?!0:at(r,`Expected to have a length of at least ${t} elements (got ${e.length})`)}),Mde=t=>Ct({test:(e,r)=>e.length<=t?!0:at(r,`Expected to have a length of at most ${t} elements (got ${e.length})`)}),wU=t=>Ct({test:(e,r)=>e.length!==t?at(r,`Expected to have a length of exactly ${t} elements (got ${e.length})`):!0}),Ode=({map:t}={})=>Ct({test:(e,r)=>{let i=new Set,n=new Set;for(let s=0,o=e.length;sCt({test:(t,e)=>t<=0?!0:at(e,`Expected to be negative (got ${t})`)}),Ude=()=>Ct({test:(t,e)=>t>=0?!0:at(e,`Expected to be positive (got ${t})`)}),Hde=t=>Ct({test:(e,r)=>e>=t?!0:at(r,`Expected to be at least ${t} (got ${e})`)}),Gde=t=>Ct({test:(e,r)=>e<=t?!0:at(r,`Expected to be at most ${t} (got ${e})`)}),jde=(t,e)=>Ct({test:(r,i)=>r>=t&&r<=e?!0:at(i,`Expected to be in the [${t}; ${e}] range (got ${r})`)}),Yde=(t,e)=>Ct({test:(r,i)=>r>=t&&rCt({test:(e,r)=>e!==Math.round(e)?at(r,`Expected to be an integer (got ${e})`):Number.isSafeInteger(e)?!0:at(r,`Expected to be a safe integer (got ${e})`)}),hv=t=>Ct({test:(e,r)=>t.test(e)?!0:at(r,`Expected to match the pattern ${t.toString()} (got ${Mr(e)})`)}),Jde=()=>Ct({test:(t,e)=>t!==t.toLowerCase()?at(e,`Expected to be all-lowercase (got ${t})`):!0}),Wde=()=>Ct({test:(t,e)=>t!==t.toUpperCase()?at(e,`Expected to be all-uppercase (got ${t})`):!0}),zde=()=>Ct({test:(t,e)=>mU.test(t)?!0:at(e,`Expected to be a valid UUID v4 (got ${Mr(t)})`)}),Vde=()=>Ct({test:(t,e)=>uv.test(t)?!1:at(e,`Expected to be a valid ISO 8601 date string (got ${Mr(t)})`)}),_de=({alpha:t=!1})=>Ct({test:(e,r)=>(t?pU.test(e):dU.test(e))?!0:at(r,`Expected to be a valid hexadecimal color string (got ${Mr(e)})`)}),Xde=()=>Ct({test:(t,e)=>CU.test(t)?!0:at(e,`Expected to be a valid base 64 string (got ${Mr(t)})`)}),Zde=(t=yU())=>Ct({test:(e,r)=>{let i;try{i=JSON.parse(e)}catch(n){return at(r,`Expected to be a valid JSON string (got ${Mr(e)})`)}return t(i,r)}}),$de=t=>{let e=new Set(t);return Ct({test:(r,i)=>{let n=new Set(Object.keys(r)),s=[];for(let o of e)n.has(o)||s.push(o);return s.length>0?at(i,`Missing required ${GE(s.length,"property","properties")} ${s.map(o=>`"${o}"`).join(", ")}`):!0}})},eCe=t=>{let e=new Set(t);return Ct({test:(r,i)=>{let n=new Set(Object.keys(r)),s=[];for(let o of e)n.has(o)&&s.push(o);return s.length>0?at(i,`Forbidden ${GE(s.length,"property","properties")} ${s.map(o=>`"${o}"`).join(", ")}`):!0}})},tCe=t=>{let e=new Set(t);return Ct({test:(r,i)=>{let n=new Set(Object.keys(r)),s=[];for(let o of e)n.has(o)&&s.push(o);return s.length>1?at(i,`Mutually exclusive properties ${s.map(o=>`"${o}"`).join(", ")}`):!0}})};(function(t){t.Forbids="Forbids",t.Requires="Requires"})(Bl||(Bl={}));rCe={[Bl.Forbids]:{expect:!1,message:"forbids using"},[Bl.Requires]:{expect:!0,message:"requires using"}},pv=(t,e,r,{ignore:i=[]}={})=>{let n=new Set(i),s=new Set(r),o=rCe[e];return Ct({test:(a,l)=>{let c=new Set(Object.keys(a));if(!c.has(t)||n.has(a[t]))return!0;let u=[];for(let g of s)(c.has(g)&&!n.has(a[g]))!==o.expect&&u.push(g);return u.length>=1?at(l,`Property "${t}" ${o.message} ${GE(u.length,"property","properties")} ${u.map(g=>`"${g}"`).join(", ")}`):!0}})}});var Sh=E(($et,OU)=>{var mCe="2.0.0",ECe=256,ICe=Number.MAX_SAFE_INTEGER||9007199254740991,yCe=16;OU.exports={SEMVER_SPEC_VERSION:mCe,MAX_LENGTH:ECe,MAX_SAFE_INTEGER:ICe,MAX_SAFE_COMPONENT_LENGTH:yCe}});var xh=E((ett,KU)=>{var wCe=typeof process=="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...t)=>console.error("SEMVER",...t):()=>{};KU.exports=wCe});var Ql=E((iA,UU)=>{var{MAX_SAFE_COMPONENT_LENGTH:yv}=Sh(),BCe=xh();iA=UU.exports={};var QCe=iA.re=[],Je=iA.src=[],We=iA.t={},bCe=0,mt=(t,e,r)=>{let i=bCe++;BCe(i,e),We[t]=i,Je[i]=e,QCe[i]=new RegExp(e,r?"g":void 0)};mt("NUMERICIDENTIFIER","0|[1-9]\\d*");mt("NUMERICIDENTIFIERLOOSE","[0-9]+");mt("NONNUMERICIDENTIFIER","\\d*[a-zA-Z-][a-zA-Z0-9-]*");mt("MAINVERSION",`(${Je[We.NUMERICIDENTIFIER]})\\.(${Je[We.NUMERICIDENTIFIER]})\\.(${Je[We.NUMERICIDENTIFIER]})`);mt("MAINVERSIONLOOSE",`(${Je[We.NUMERICIDENTIFIERLOOSE]})\\.(${Je[We.NUMERICIDENTIFIERLOOSE]})\\.(${Je[We.NUMERICIDENTIFIERLOOSE]})`);mt("PRERELEASEIDENTIFIER",`(?:${Je[We.NUMERICIDENTIFIER]}|${Je[We.NONNUMERICIDENTIFIER]})`);mt("PRERELEASEIDENTIFIERLOOSE",`(?:${Je[We.NUMERICIDENTIFIERLOOSE]}|${Je[We.NONNUMERICIDENTIFIER]})`);mt("PRERELEASE",`(?:-(${Je[We.PRERELEASEIDENTIFIER]}(?:\\.${Je[We.PRERELEASEIDENTIFIER]})*))`);mt("PRERELEASELOOSE",`(?:-?(${Je[We.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${Je[We.PRERELEASEIDENTIFIERLOOSE]})*))`);mt("BUILDIDENTIFIER","[0-9A-Za-z-]+");mt("BUILD",`(?:\\+(${Je[We.BUILDIDENTIFIER]}(?:\\.${Je[We.BUILDIDENTIFIER]})*))`);mt("FULLPLAIN",`v?${Je[We.MAINVERSION]}${Je[We.PRERELEASE]}?${Je[We.BUILD]}?`);mt("FULL",`^${Je[We.FULLPLAIN]}$`);mt("LOOSEPLAIN",`[v=\\s]*${Je[We.MAINVERSIONLOOSE]}${Je[We.PRERELEASELOOSE]}?${Je[We.BUILD]}?`);mt("LOOSE",`^${Je[We.LOOSEPLAIN]}$`);mt("GTLT","((?:<|>)?=?)");mt("XRANGEIDENTIFIERLOOSE",`${Je[We.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`);mt("XRANGEIDENTIFIER",`${Je[We.NUMERICIDENTIFIER]}|x|X|\\*`);mt("XRANGEPLAIN",`[v=\\s]*(${Je[We.XRANGEIDENTIFIER]})(?:\\.(${Je[We.XRANGEIDENTIFIER]})(?:\\.(${Je[We.XRANGEIDENTIFIER]})(?:${Je[We.PRERELEASE]})?${Je[We.BUILD]}?)?)?`);mt("XRANGEPLAINLOOSE",`[v=\\s]*(${Je[We.XRANGEIDENTIFIERLOOSE]})(?:\\.(${Je[We.XRANGEIDENTIFIERLOOSE]})(?:\\.(${Je[We.XRANGEIDENTIFIERLOOSE]})(?:${Je[We.PRERELEASELOOSE]})?${Je[We.BUILD]}?)?)?`);mt("XRANGE",`^${Je[We.GTLT]}\\s*${Je[We.XRANGEPLAIN]}$`);mt("XRANGELOOSE",`^${Je[We.GTLT]}\\s*${Je[We.XRANGEPLAINLOOSE]}$`);mt("COERCE",`(^|[^\\d])(\\d{1,${yv}})(?:\\.(\\d{1,${yv}}))?(?:\\.(\\d{1,${yv}}))?(?:$|[^\\d])`);mt("COERCERTL",Je[We.COERCE],!0);mt("LONETILDE","(?:~>?)");mt("TILDETRIM",`(\\s*)${Je[We.LONETILDE]}\\s+`,!0);iA.tildeTrimReplace="$1~";mt("TILDE",`^${Je[We.LONETILDE]}${Je[We.XRANGEPLAIN]}$`);mt("TILDELOOSE",`^${Je[We.LONETILDE]}${Je[We.XRANGEPLAINLOOSE]}$`);mt("LONECARET","(?:\\^)");mt("CARETTRIM",`(\\s*)${Je[We.LONECARET]}\\s+`,!0);iA.caretTrimReplace="$1^";mt("CARET",`^${Je[We.LONECARET]}${Je[We.XRANGEPLAIN]}$`);mt("CARETLOOSE",`^${Je[We.LONECARET]}${Je[We.XRANGEPLAINLOOSE]}$`);mt("COMPARATORLOOSE",`^${Je[We.GTLT]}\\s*(${Je[We.LOOSEPLAIN]})$|^$`);mt("COMPARATOR",`^${Je[We.GTLT]}\\s*(${Je[We.FULLPLAIN]})$|^$`);mt("COMPARATORTRIM",`(\\s*)${Je[We.GTLT]}\\s*(${Je[We.LOOSEPLAIN]}|${Je[We.XRANGEPLAIN]})`,!0);iA.comparatorTrimReplace="$1$2$3";mt("HYPHENRANGE",`^\\s*(${Je[We.XRANGEPLAIN]})\\s+-\\s+(${Je[We.XRANGEPLAIN]})\\s*$`);mt("HYPHENRANGELOOSE",`^\\s*(${Je[We.XRANGEPLAINLOOSE]})\\s+-\\s+(${Je[We.XRANGEPLAINLOOSE]})\\s*$`);mt("STAR","(<|>)?=?\\s*\\*");mt("GTE0","^\\s*>=\\s*0.0.0\\s*$");mt("GTE0PRE","^\\s*>=\\s*0.0.0-0\\s*$")});var kh=E((ttt,HU)=>{var vCe=["includePrerelease","loose","rtl"],SCe=t=>t?typeof t!="object"?{loose:!0}:vCe.filter(e=>t[e]).reduce((e,r)=>(e[r]=!0,e),{}):{};HU.exports=SCe});var zE=E((rtt,GU)=>{var jU=/^[0-9]+$/,YU=(t,e)=>{let r=jU.test(t),i=jU.test(e);return r&&i&&(t=+t,e=+e),t===e?0:r&&!i?-1:i&&!r?1:tYU(e,t);GU.exports={compareIdentifiers:YU,rcompareIdentifiers:xCe}});var bi=E((itt,qU)=>{var VE=xh(),{MAX_LENGTH:JU,MAX_SAFE_INTEGER:_E}=Sh(),{re:WU,t:zU}=Ql(),kCe=kh(),{compareIdentifiers:Ph}=zE(),_n=class{constructor(e,r){if(r=kCe(r),e instanceof _n){if(e.loose===!!r.loose&&e.includePrerelease===!!r.includePrerelease)return e;e=e.version}else if(typeof e!="string")throw new TypeError(`Invalid Version: ${e}`);if(e.length>JU)throw new TypeError(`version is longer than ${JU} characters`);VE("SemVer",e,r),this.options=r,this.loose=!!r.loose,this.includePrerelease=!!r.includePrerelease;let i=e.trim().match(r.loose?WU[zU.LOOSE]:WU[zU.FULL]);if(!i)throw new TypeError(`Invalid Version: ${e}`);if(this.raw=e,this.major=+i[1],this.minor=+i[2],this.patch=+i[3],this.major>_E||this.major<0)throw new TypeError("Invalid major version");if(this.minor>_E||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>_E||this.patch<0)throw new TypeError("Invalid patch version");i[4]?this.prerelease=i[4].split(".").map(n=>{if(/^[0-9]+$/.test(n)){let s=+n;if(s>=0&&s<_E)return s}return n}):this.prerelease=[],this.build=i[5]?i[5].split("."):[],this.format()}format(){return this.version=`${this.major}.${this.minor}.${this.patch}`,this.prerelease.length&&(this.version+=`-${this.prerelease.join(".")}`),this.version}toString(){return this.version}compare(e){if(VE("SemVer.compare",this.version,this.options,e),!(e instanceof _n)){if(typeof e=="string"&&e===this.version)return 0;e=new _n(e,this.options)}return e.version===this.version?0:this.compareMain(e)||this.comparePre(e)}compareMain(e){return e instanceof _n||(e=new _n(e,this.options)),Ph(this.major,e.major)||Ph(this.minor,e.minor)||Ph(this.patch,e.patch)}comparePre(e){if(e instanceof _n||(e=new _n(e,this.options)),this.prerelease.length&&!e.prerelease.length)return-1;if(!this.prerelease.length&&e.prerelease.length)return 1;if(!this.prerelease.length&&!e.prerelease.length)return 0;let r=0;do{let i=this.prerelease[r],n=e.prerelease[r];if(VE("prerelease compare",r,i,n),i===void 0&&n===void 0)return 0;if(n===void 0)return 1;if(i===void 0)return-1;if(i===n)continue;return Ph(i,n)}while(++r)}compareBuild(e){e instanceof _n||(e=new _n(e,this.options));let r=0;do{let i=this.build[r],n=e.build[r];if(VE("prerelease compare",r,i,n),i===void 0&&n===void 0)return 0;if(n===void 0)return 1;if(i===void 0)return-1;if(i===n)continue;return Ph(i,n)}while(++r)}inc(e,r){switch(e){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",r);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",r);break;case"prepatch":this.prerelease.length=0,this.inc("patch",r),this.inc("pre",r);break;case"prerelease":this.prerelease.length===0&&this.inc("patch",r),this.inc("pre",r);break;case"major":(this.minor!==0||this.patch!==0||this.prerelease.length===0)&&this.major++,this.minor=0,this.patch=0,this.prerelease=[];break;case"minor":(this.patch!==0||this.prerelease.length===0)&&this.minor++,this.patch=0,this.prerelease=[];break;case"patch":this.prerelease.length===0&&this.patch++,this.prerelease=[];break;case"pre":if(this.prerelease.length===0)this.prerelease=[0];else{let i=this.prerelease.length;for(;--i>=0;)typeof this.prerelease[i]=="number"&&(this.prerelease[i]++,i=-2);i===-1&&this.prerelease.push(0)}r&&(this.prerelease[0]===r?isNaN(this.prerelease[1])&&(this.prerelease=[r,0]):this.prerelease=[r,0]);break;default:throw new Error(`invalid increment argument: ${e}`)}return this.format(),this.raw=this.version,this}};qU.exports=_n});var bl=E((ntt,VU)=>{var{MAX_LENGTH:PCe}=Sh(),{re:_U,t:XU}=Ql(),ZU=bi(),DCe=kh(),RCe=(t,e)=>{if(e=DCe(e),t instanceof ZU)return t;if(typeof t!="string"||t.length>PCe||!(e.loose?_U[XU.LOOSE]:_U[XU.FULL]).test(t))return null;try{return new ZU(t,e)}catch(i){return null}};VU.exports=RCe});var e2=E((stt,$U)=>{var FCe=bl(),NCe=(t,e)=>{let r=FCe(t,e);return r?r.version:null};$U.exports=NCe});var r2=E((ott,t2)=>{var LCe=bl(),TCe=(t,e)=>{let r=LCe(t.trim().replace(/^[=v]+/,""),e);return r?r.version:null};t2.exports=TCe});var n2=E((att,i2)=>{var MCe=bi(),OCe=(t,e,r,i)=>{typeof r=="string"&&(i=r,r=void 0);try{return new MCe(t,r).inc(e,i).version}catch(n){return null}};i2.exports=OCe});var Xn=E((Att,s2)=>{var o2=bi(),KCe=(t,e,r)=>new o2(t,r).compare(new o2(e,r));s2.exports=KCe});var XE=E((ltt,a2)=>{var UCe=Xn(),HCe=(t,e,r)=>UCe(t,e,r)===0;a2.exports=HCe});var c2=E((ctt,A2)=>{var l2=bl(),GCe=XE(),jCe=(t,e)=>{if(GCe(t,e))return null;{let r=l2(t),i=l2(e),n=r.prerelease.length||i.prerelease.length,s=n?"pre":"",o=n?"prerelease":"";for(let a in r)if((a==="major"||a==="minor"||a==="patch")&&r[a]!==i[a])return s+a;return o}};A2.exports=jCe});var g2=E((utt,u2)=>{var YCe=bi(),qCe=(t,e)=>new YCe(t,e).major;u2.exports=qCe});var h2=E((gtt,f2)=>{var JCe=bi(),WCe=(t,e)=>new JCe(t,e).minor;f2.exports=WCe});var d2=E((ftt,p2)=>{var zCe=bi(),VCe=(t,e)=>new zCe(t,e).patch;p2.exports=VCe});var m2=E((htt,C2)=>{var _Ce=bl(),XCe=(t,e)=>{let r=_Ce(t,e);return r&&r.prerelease.length?r.prerelease:null};C2.exports=XCe});var I2=E((ptt,E2)=>{var ZCe=Xn(),$Ce=(t,e,r)=>ZCe(e,t,r);E2.exports=$Ce});var w2=E((dtt,y2)=>{var eme=Xn(),tme=(t,e)=>eme(t,e,!0);y2.exports=tme});var ZE=E((Ctt,B2)=>{var Q2=bi(),rme=(t,e,r)=>{let i=new Q2(t,r),n=new Q2(e,r);return i.compare(n)||i.compareBuild(n)};B2.exports=rme});var v2=E((mtt,b2)=>{var ime=ZE(),nme=(t,e)=>t.sort((r,i)=>ime(r,i,e));b2.exports=nme});var x2=E((Ett,S2)=>{var sme=ZE(),ome=(t,e)=>t.sort((r,i)=>sme(i,r,e));S2.exports=ome});var Dh=E((Itt,k2)=>{var ame=Xn(),Ame=(t,e,r)=>ame(t,e,r)>0;k2.exports=Ame});var $E=E((ytt,P2)=>{var lme=Xn(),cme=(t,e,r)=>lme(t,e,r)<0;P2.exports=cme});var wv=E((wtt,D2)=>{var ume=Xn(),gme=(t,e,r)=>ume(t,e,r)!==0;D2.exports=gme});var eI=E((Btt,R2)=>{var fme=Xn(),hme=(t,e,r)=>fme(t,e,r)>=0;R2.exports=hme});var tI=E((Qtt,F2)=>{var pme=Xn(),dme=(t,e,r)=>pme(t,e,r)<=0;F2.exports=dme});var Bv=E((btt,N2)=>{var Cme=XE(),mme=wv(),Eme=Dh(),Ime=eI(),yme=$E(),wme=tI(),Bme=(t,e,r,i)=>{switch(e){case"===":return typeof t=="object"&&(t=t.version),typeof r=="object"&&(r=r.version),t===r;case"!==":return typeof t=="object"&&(t=t.version),typeof r=="object"&&(r=r.version),t!==r;case"":case"=":case"==":return Cme(t,r,i);case"!=":return mme(t,r,i);case">":return Eme(t,r,i);case">=":return Ime(t,r,i);case"<":return yme(t,r,i);case"<=":return wme(t,r,i);default:throw new TypeError(`Invalid operator: ${e}`)}};N2.exports=Bme});var T2=E((vtt,L2)=>{var Qme=bi(),bme=bl(),{re:rI,t:iI}=Ql(),vme=(t,e)=>{if(t instanceof Qme)return t;if(typeof t=="number"&&(t=String(t)),typeof t!="string")return null;e=e||{};let r=null;if(!e.rtl)r=t.match(rI[iI.COERCE]);else{let i;for(;(i=rI[iI.COERCERTL].exec(t))&&(!r||r.index+r[0].length!==t.length);)(!r||i.index+i[0].length!==r.index+r[0].length)&&(r=i),rI[iI.COERCERTL].lastIndex=i.index+i[1].length+i[2].length;rI[iI.COERCERTL].lastIndex=-1}return r===null?null:bme(`${r[2]}.${r[3]||"0"}.${r[4]||"0"}`,e)};L2.exports=vme});var O2=E((Stt,M2)=>{"use strict";M2.exports=function(t){t.prototype[Symbol.iterator]=function*(){for(let e=this.head;e;e=e.next)yield e.value}}});var Rh=E((xtt,K2)=>{"use strict";K2.exports=Pt;Pt.Node=vl;Pt.create=Pt;function Pt(t){var e=this;if(e instanceof Pt||(e=new Pt),e.tail=null,e.head=null,e.length=0,t&&typeof t.forEach=="function")t.forEach(function(n){e.push(n)});else if(arguments.length>0)for(var r=0,i=arguments.length;r1)r=e;else if(this.head)i=this.head.next,r=this.head.value;else throw new TypeError("Reduce of empty list with no initial value");for(var n=0;i!==null;n++)r=t(r,i.value,n),i=i.next;return r};Pt.prototype.reduceReverse=function(t,e){var r,i=this.tail;if(arguments.length>1)r=e;else if(this.tail)i=this.tail.prev,r=this.tail.value;else throw new TypeError("Reduce of empty list with no initial value");for(var n=this.length-1;i!==null;n--)r=t(r,i.value,n),i=i.prev;return r};Pt.prototype.toArray=function(){for(var t=new Array(this.length),e=0,r=this.head;r!==null;e++)t[e]=r.value,r=r.next;return t};Pt.prototype.toArrayReverse=function(){for(var t=new Array(this.length),e=0,r=this.tail;r!==null;e++)t[e]=r.value,r=r.prev;return t};Pt.prototype.slice=function(t,e){e=e||this.length,e<0&&(e+=this.length),t=t||0,t<0&&(t+=this.length);var r=new Pt;if(ethis.length&&(e=this.length);for(var i=0,n=this.head;n!==null&&ithis.length&&(e=this.length);for(var i=this.length,n=this.tail;n!==null&&i>e;i--)n=n.prev;for(;n!==null&&i>t;i--,n=n.prev)r.push(n.value);return r};Pt.prototype.splice=function(t,e,...r){t>this.length&&(t=this.length-1),t<0&&(t=this.length+t);for(var i=0,n=this.head;n!==null&&i{"use strict";var Pme=Rh(),Sl=Symbol("max"),ra=Symbol("length"),uu=Symbol("lengthCalculator"),Fh=Symbol("allowStale"),xl=Symbol("maxAge"),ia=Symbol("dispose"),H2=Symbol("noDisposeOnSet"),si=Symbol("lruList"),ks=Symbol("cache"),G2=Symbol("updateAgeOnGet"),Qv=()=>1,j2=class{constructor(e){if(typeof e=="number"&&(e={max:e}),e||(e={}),e.max&&(typeof e.max!="number"||e.max<0))throw new TypeError("max must be a non-negative number");let r=this[Sl]=e.max||Infinity,i=e.length||Qv;if(this[uu]=typeof i!="function"?Qv:i,this[Fh]=e.stale||!1,e.maxAge&&typeof e.maxAge!="number")throw new TypeError("maxAge must be a number");this[xl]=e.maxAge||0,this[ia]=e.dispose,this[H2]=e.noDisposeOnSet||!1,this[G2]=e.updateAgeOnGet||!1,this.reset()}set max(e){if(typeof e!="number"||e<0)throw new TypeError("max must be a non-negative number");this[Sl]=e||Infinity,Nh(this)}get max(){return this[Sl]}set allowStale(e){this[Fh]=!!e}get allowStale(){return this[Fh]}set maxAge(e){if(typeof e!="number")throw new TypeError("maxAge must be a non-negative number");this[xl]=e,Nh(this)}get maxAge(){return this[xl]}set lengthCalculator(e){typeof e!="function"&&(e=Qv),e!==this[uu]&&(this[uu]=e,this[ra]=0,this[si].forEach(r=>{r.length=this[uu](r.value,r.key),this[ra]+=r.length})),Nh(this)}get lengthCalculator(){return this[uu]}get length(){return this[ra]}get itemCount(){return this[si].length}rforEach(e,r){r=r||this;for(let i=this[si].tail;i!==null;){let n=i.prev;q2(this,e,i,r),i=n}}forEach(e,r){r=r||this;for(let i=this[si].head;i!==null;){let n=i.next;q2(this,e,i,r),i=n}}keys(){return this[si].toArray().map(e=>e.key)}values(){return this[si].toArray().map(e=>e.value)}reset(){this[ia]&&this[si]&&this[si].length&&this[si].forEach(e=>this[ia](e.key,e.value)),this[ks]=new Map,this[si]=new Pme,this[ra]=0}dump(){return this[si].map(e=>nI(this,e)?!1:{k:e.key,v:e.value,e:e.now+(e.maxAge||0)}).toArray().filter(e=>e)}dumpLru(){return this[si]}set(e,r,i){if(i=i||this[xl],i&&typeof i!="number")throw new TypeError("maxAge must be a number");let n=i?Date.now():0,s=this[uu](r,e);if(this[ks].has(e)){if(s>this[Sl])return gu(this,this[ks].get(e)),!1;let l=this[ks].get(e).value;return this[ia]&&(this[H2]||this[ia](e,l.value)),l.now=n,l.maxAge=i,l.value=r,this[ra]+=s-l.length,l.length=s,this.get(e),Nh(this),!0}let o=new Y2(e,r,s,n,i);return o.length>this[Sl]?(this[ia]&&this[ia](e,r),!1):(this[ra]+=o.length,this[si].unshift(o),this[ks].set(e,this[si].head),Nh(this),!0)}has(e){if(!this[ks].has(e))return!1;let r=this[ks].get(e).value;return!nI(this,r)}get(e){return bv(this,e,!0)}peek(e){return bv(this,e,!1)}pop(){let e=this[si].tail;return e?(gu(this,e),e.value):null}del(e){gu(this,this[ks].get(e))}load(e){this.reset();let r=Date.now();for(let i=e.length-1;i>=0;i--){let n=e[i],s=n.e||0;if(s===0)this.set(n.k,n.v);else{let o=s-r;o>0&&this.set(n.k,n.v,o)}}}prune(){this[ks].forEach((e,r)=>bv(this,r,!1))}},bv=(t,e,r)=>{let i=t[ks].get(e);if(i){let n=i.value;if(nI(t,n)){if(gu(t,i),!t[Fh])return}else r&&(t[G2]&&(i.value.now=Date.now()),t[si].unshiftNode(i));return n.value}},nI=(t,e)=>{if(!e||!e.maxAge&&!t[xl])return!1;let r=Date.now()-e.now;return e.maxAge?r>e.maxAge:t[xl]&&r>t[xl]},Nh=t=>{if(t[ra]>t[Sl])for(let e=t[si].tail;t[ra]>t[Sl]&&e!==null;){let r=e.prev;gu(t,e),e=r}},gu=(t,e)=>{if(e){let r=e.value;t[ia]&&t[ia](r.key,r.value),t[ra]-=r.length,t[ks].delete(r.key),t[si].removeNode(e)}},Y2=class{constructor(e,r,i,n,s){this.key=e,this.value=r,this.length=i,this.now=n,this.maxAge=s||0}},q2=(t,e,r,i)=>{let n=r.value;nI(t,n)&&(gu(t,r),t[Fh]||(n=void 0)),n&&e.call(i,n.value,n.key,t)};U2.exports=j2});var Zn=E((Ptt,W2)=>{var fu=class{constructor(e,r){if(r=Dme(r),e instanceof fu)return e.loose===!!r.loose&&e.includePrerelease===!!r.includePrerelease?e:new fu(e.raw,r);if(e instanceof vv)return this.raw=e.value,this.set=[[e]],this.format(),this;if(this.options=r,this.loose=!!r.loose,this.includePrerelease=!!r.includePrerelease,this.raw=e,this.set=e.split(/\s*\|\|\s*/).map(i=>this.parseRange(i.trim())).filter(i=>i.length),!this.set.length)throw new TypeError(`Invalid SemVer Range: ${e}`);if(this.set.length>1){let i=this.set[0];if(this.set=this.set.filter(n=>!V2(n[0])),this.set.length===0)this.set=[i];else if(this.set.length>1){for(let n of this.set)if(n.length===1&&Tme(n[0])){this.set=[n];break}}}this.format()}format(){return this.range=this.set.map(e=>e.join(" ").trim()).join("||").trim(),this.range}toString(){return this.range}parseRange(e){e=e.trim();let i=`parseRange:${Object.keys(this.options).join(",")}:${e}`,n=z2.get(i);if(n)return n;let s=this.options.loose,o=s?vi[di.HYPHENRANGELOOSE]:vi[di.HYPHENRANGE];e=e.replace(o,Kme(this.options.includePrerelease)),Rr("hyphen replace",e),e=e.replace(vi[di.COMPARATORTRIM],Fme),Rr("comparator trim",e,vi[di.COMPARATORTRIM]),e=e.replace(vi[di.TILDETRIM],Nme),e=e.replace(vi[di.CARETTRIM],Lme),e=e.split(/\s+/).join(" ");let a=s?vi[di.COMPARATORLOOSE]:vi[di.COMPARATOR],l=e.split(" ").map(f=>Mme(f,this.options)).join(" ").split(/\s+/).map(f=>Ome(f,this.options)).filter(this.options.loose?f=>!!f.match(a):()=>!0).map(f=>new vv(f,this.options)),c=l.length,u=new Map;for(let f of l){if(V2(f))return[f];u.set(f.value,f)}u.size>1&&u.has("")&&u.delete("");let g=[...u.values()];return z2.set(i,g),g}intersects(e,r){if(!(e instanceof fu))throw new TypeError("a Range is required");return this.set.some(i=>_2(i,r)&&e.set.some(n=>_2(n,r)&&i.every(s=>n.every(o=>s.intersects(o,r)))))}test(e){if(!e)return!1;if(typeof e=="string")try{e=new Rme(e,this.options)}catch(r){return!1}for(let r=0;rt.value==="<0.0.0-0",Tme=t=>t.value==="",_2=(t,e)=>{let r=!0,i=t.slice(),n=i.pop();for(;r&&i.length;)r=i.every(s=>n.intersects(s,e)),n=i.pop();return r},Mme=(t,e)=>(Rr("comp",t,e),t=jme(t,e),Rr("caret",t),t=Gme(t,e),Rr("tildes",t),t=Yme(t,e),Rr("xrange",t),t=qme(t,e),Rr("stars",t),t),Ji=t=>!t||t.toLowerCase()==="x"||t==="*",Gme=(t,e)=>t.trim().split(/\s+/).map(r=>Jme(r,e)).join(" "),Jme=(t,e)=>{let r=e.loose?vi[di.TILDELOOSE]:vi[di.TILDE];return t.replace(r,(i,n,s,o,a)=>{Rr("tilde",t,i,n,s,o,a);let l;return Ji(n)?l="":Ji(s)?l=`>=${n}.0.0 <${+n+1}.0.0-0`:Ji(o)?l=`>=${n}.${s}.0 <${n}.${+s+1}.0-0`:a?(Rr("replaceTilde pr",a),l=`>=${n}.${s}.${o}-${a} <${n}.${+s+1}.0-0`):l=`>=${n}.${s}.${o} <${n}.${+s+1}.0-0`,Rr("tilde return",l),l})},jme=(t,e)=>t.trim().split(/\s+/).map(r=>Wme(r,e)).join(" "),Wme=(t,e)=>{Rr("caret",t,e);let r=e.loose?vi[di.CARETLOOSE]:vi[di.CARET],i=e.includePrerelease?"-0":"";return t.replace(r,(n,s,o,a,l)=>{Rr("caret",t,n,s,o,a,l);let c;return Ji(s)?c="":Ji(o)?c=`>=${s}.0.0${i} <${+s+1}.0.0-0`:Ji(a)?s==="0"?c=`>=${s}.${o}.0${i} <${s}.${+o+1}.0-0`:c=`>=${s}.${o}.0${i} <${+s+1}.0.0-0`:l?(Rr("replaceCaret pr",l),s==="0"?o==="0"?c=`>=${s}.${o}.${a}-${l} <${s}.${o}.${+a+1}-0`:c=`>=${s}.${o}.${a}-${l} <${s}.${+o+1}.0-0`:c=`>=${s}.${o}.${a}-${l} <${+s+1}.0.0-0`):(Rr("no pr"),s==="0"?o==="0"?c=`>=${s}.${o}.${a}${i} <${s}.${o}.${+a+1}-0`:c=`>=${s}.${o}.${a}${i} <${s}.${+o+1}.0-0`:c=`>=${s}.${o}.${a} <${+s+1}.0.0-0`),Rr("caret return",c),c})},Yme=(t,e)=>(Rr("replaceXRanges",t,e),t.split(/\s+/).map(r=>zme(r,e)).join(" ")),zme=(t,e)=>{t=t.trim();let r=e.loose?vi[di.XRANGELOOSE]:vi[di.XRANGE];return t.replace(r,(i,n,s,o,a,l)=>{Rr("xRange",t,i,n,s,o,a,l);let c=Ji(s),u=c||Ji(o),g=u||Ji(a),f=g;return n==="="&&f&&(n=""),l=e.includePrerelease?"-0":"",c?n===">"||n==="<"?i="<0.0.0-0":i="*":n&&f?(u&&(o=0),a=0,n===">"?(n=">=",u?(s=+s+1,o=0,a=0):(o=+o+1,a=0)):n==="<="&&(n="<",u?s=+s+1:o=+o+1),n==="<"&&(l="-0"),i=`${n+s}.${o}.${a}${l}`):u?i=`>=${s}.0.0${l} <${+s+1}.0.0-0`:g&&(i=`>=${s}.${o}.0${l} <${s}.${+o+1}.0-0`),Rr("xRange return",i),i})},qme=(t,e)=>(Rr("replaceStars",t,e),t.trim().replace(vi[di.STAR],"")),Ome=(t,e)=>(Rr("replaceGTE0",t,e),t.trim().replace(vi[e.includePrerelease?di.GTE0PRE:di.GTE0],"")),Kme=t=>(e,r,i,n,s,o,a,l,c,u,g,f,h)=>(Ji(i)?r="":Ji(n)?r=`>=${i}.0.0${t?"-0":""}`:Ji(s)?r=`>=${i}.${n}.0${t?"-0":""}`:o?r=`>=${r}`:r=`>=${r}${t?"-0":""}`,Ji(c)?l="":Ji(u)?l=`<${+c+1}.0.0-0`:Ji(g)?l=`<${c}.${+u+1}.0-0`:f?l=`<=${c}.${u}.${g}-${f}`:t?l=`<${c}.${u}.${+g+1}-0`:l=`<=${l}`,`${r} ${l}`.trim()),Ume=(t,e,r)=>{for(let i=0;i0){let n=t[i].semver;if(n.major===e.major&&n.minor===e.minor&&n.patch===e.patch)return!0}return!1}return!0}});var Lh=E((Dtt,X2)=>{var Th=Symbol("SemVer ANY"),Mh=class{static get ANY(){return Th}constructor(e,r){if(r=Vme(r),e instanceof Mh){if(e.loose===!!r.loose)return e;e=e.value}xv("comparator",e,r),this.options=r,this.loose=!!r.loose,this.parse(e),this.semver===Th?this.value="":this.value=this.operator+this.semver.version,xv("comp",this)}parse(e){let r=this.options.loose?Z2[$2.COMPARATORLOOSE]:Z2[$2.COMPARATOR],i=e.match(r);if(!i)throw new TypeError(`Invalid comparator: ${e}`);this.operator=i[1]!==void 0?i[1]:"",this.operator==="="&&(this.operator=""),i[2]?this.semver=new eH(i[2],this.options.loose):this.semver=Th}toString(){return this.value}test(e){if(xv("Comparator.test",e,this.options.loose),this.semver===Th||e===Th)return!0;if(typeof e=="string")try{e=new eH(e,this.options)}catch(r){return!1}return Sv(e,this.operator,this.semver,this.options)}intersects(e,r){if(!(e instanceof Mh))throw new TypeError("a Comparator is required");if((!r||typeof r!="object")&&(r={loose:!!r,includePrerelease:!1}),this.operator==="")return this.value===""?!0:new tH(e.value,r).test(this.value);if(e.operator==="")return e.value===""?!0:new tH(this.value,r).test(e.semver);let i=(this.operator===">="||this.operator===">")&&(e.operator===">="||e.operator===">"),n=(this.operator==="<="||this.operator==="<")&&(e.operator==="<="||e.operator==="<"),s=this.semver.version===e.semver.version,o=(this.operator===">="||this.operator==="<=")&&(e.operator===">="||e.operator==="<="),a=Sv(this.semver,"<",e.semver,r)&&(this.operator===">="||this.operator===">")&&(e.operator==="<="||e.operator==="<"),l=Sv(this.semver,">",e.semver,r)&&(this.operator==="<="||this.operator==="<")&&(e.operator===">="||e.operator===">");return i||n||s&&o||a||l}};X2.exports=Mh;var Vme=kh(),{re:Z2,t:$2}=Ql(),Sv=Bv(),xv=xh(),eH=bi(),tH=Zn()});var Oh=E((Rtt,rH)=>{var _me=Zn(),Xme=(t,e,r)=>{try{e=new _me(e,r)}catch(i){return!1}return e.test(t)};rH.exports=Xme});var nH=E((Ftt,iH)=>{var Zme=Zn(),$me=(t,e)=>new Zme(t,e).set.map(r=>r.map(i=>i.value).join(" ").trim().split(" "));iH.exports=$me});var oH=E((Ntt,sH)=>{var eEe=bi(),tEe=Zn(),rEe=(t,e,r)=>{let i=null,n=null,s=null;try{s=new tEe(e,r)}catch(o){return null}return t.forEach(o=>{s.test(o)&&(!i||n.compare(o)===-1)&&(i=o,n=new eEe(i,r))}),i};sH.exports=rEe});var AH=E((Ltt,aH)=>{var iEe=bi(),nEe=Zn(),sEe=(t,e,r)=>{let i=null,n=null,s=null;try{s=new nEe(e,r)}catch(o){return null}return t.forEach(o=>{s.test(o)&&(!i||n.compare(o)===1)&&(i=o,n=new iEe(i,r))}),i};aH.exports=sEe});var uH=E((Ttt,lH)=>{var kv=bi(),oEe=Zn(),cH=Dh(),aEe=(t,e)=>{t=new oEe(t,e);let r=new kv("0.0.0");if(t.test(r)||(r=new kv("0.0.0-0"),t.test(r)))return r;r=null;for(let i=0;i{let a=new kv(o.semver.version);switch(o.operator){case">":a.prerelease.length===0?a.patch++:a.prerelease.push(0),a.raw=a.format();case"":case">=":(!s||cH(a,s))&&(s=a);break;case"<":case"<=":break;default:throw new Error(`Unexpected operation: ${o.operator}`)}}),s&&(!r||cH(r,s))&&(r=s)}return r&&t.test(r)?r:null};lH.exports=aEe});var fH=E((Mtt,gH)=>{var AEe=Zn(),lEe=(t,e)=>{try{return new AEe(t,e).range||"*"}catch(r){return null}};gH.exports=lEe});var sI=E((Ott,hH)=>{var cEe=bi(),pH=Lh(),{ANY:uEe}=pH,gEe=Zn(),fEe=Oh(),dH=Dh(),CH=$E(),hEe=tI(),pEe=eI(),dEe=(t,e,r,i)=>{t=new cEe(t,i),e=new gEe(e,i);let n,s,o,a,l;switch(r){case">":n=dH,s=hEe,o=CH,a=">",l=">=";break;case"<":n=CH,s=pEe,o=dH,a="<",l="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(fEe(t,e,i))return!1;for(let c=0;c{h.semver===uEe&&(h=new pH(">=0.0.0")),g=g||h,f=f||h,n(h.semver,g.semver,i)?g=h:o(h.semver,f.semver,i)&&(f=h)}),g.operator===a||g.operator===l||(!f.operator||f.operator===a)&&s(t,f.semver))return!1;if(f.operator===l&&o(t,f.semver))return!1}return!0};hH.exports=dEe});var EH=E((Ktt,mH)=>{var CEe=sI(),mEe=(t,e,r)=>CEe(t,e,">",r);mH.exports=mEe});var yH=E((Utt,IH)=>{var EEe=sI(),IEe=(t,e,r)=>EEe(t,e,"<",r);IH.exports=IEe});var QH=E((Htt,wH)=>{var BH=Zn(),yEe=(t,e,r)=>(t=new BH(t,r),e=new BH(e,r),t.intersects(e));wH.exports=yEe});var vH=E((Gtt,bH)=>{var wEe=Oh(),BEe=Xn();bH.exports=(t,e,r)=>{let i=[],n=null,s=null,o=t.sort((u,g)=>BEe(u,g,r));for(let u of o)wEe(u,e,r)?(s=u,n||(n=u)):(s&&i.push([n,s]),s=null,n=null);n&&i.push([n,null]);let a=[];for(let[u,g]of i)u===g?a.push(u):!g&&u===o[0]?a.push("*"):g?u===o[0]?a.push(`<=${g}`):a.push(`${u} - ${g}`):a.push(`>=${u}`);let l=a.join(" || "),c=typeof e.raw=="string"?e.raw:String(e);return l.length{var xH=Zn(),oI=Lh(),{ANY:Pv}=oI,Kh=Oh(),Dv=Xn(),bEe=(t,e,r={})=>{if(t===e)return!0;t=new xH(t,r),e=new xH(e,r);let i=!1;e:for(let n of t.set){for(let s of e.set){let o=QEe(n,s,r);if(i=i||o!==null,o)continue e}if(i)return!1}return!0},QEe=(t,e,r)=>{if(t===e)return!0;if(t.length===1&&t[0].semver===Pv){if(e.length===1&&e[0].semver===Pv)return!0;r.includePrerelease?t=[new oI(">=0.0.0-0")]:t=[new oI(">=0.0.0")]}if(e.length===1&&e[0].semver===Pv){if(r.includePrerelease)return!0;e=[new oI(">=0.0.0")]}let i=new Set,n,s;for(let h of t)h.operator===">"||h.operator===">="?n=kH(n,h,r):h.operator==="<"||h.operator==="<="?s=PH(s,h,r):i.add(h.semver);if(i.size>1)return null;let o;if(n&&s){if(o=Dv(n.semver,s.semver,r),o>0)return null;if(o===0&&(n.operator!==">="||s.operator!=="<="))return null}for(let h of i){if(n&&!Kh(h,String(n),r)||s&&!Kh(h,String(s),r))return null;for(let p of e)if(!Kh(h,String(p),r))return!1;return!0}let a,l,c,u,g=s&&!r.includePrerelease&&s.semver.prerelease.length?s.semver:!1,f=n&&!r.includePrerelease&&n.semver.prerelease.length?n.semver:!1;g&&g.prerelease.length===1&&s.operator==="<"&&g.prerelease[0]===0&&(g=!1);for(let h of e){if(u=u||h.operator===">"||h.operator===">=",c=c||h.operator==="<"||h.operator==="<=",n){if(f&&h.semver.prerelease&&h.semver.prerelease.length&&h.semver.major===f.major&&h.semver.minor===f.minor&&h.semver.patch===f.patch&&(f=!1),h.operator===">"||h.operator===">="){if(a=kH(n,h,r),a===h&&a!==n)return!1}else if(n.operator===">="&&!Kh(n.semver,String(h),r))return!1}if(s){if(g&&h.semver.prerelease&&h.semver.prerelease.length&&h.semver.major===g.major&&h.semver.minor===g.minor&&h.semver.patch===g.patch&&(g=!1),h.operator==="<"||h.operator==="<="){if(l=PH(s,h,r),l===h&&l!==s)return!1}else if(s.operator==="<="&&!Kh(s.semver,String(h),r))return!1}if(!h.operator&&(s||n)&&o!==0)return!1}return!(n&&c&&!s&&o!==0||s&&u&&!n&&o!==0||f||g)},kH=(t,e,r)=>{if(!t)return e;let i=Dv(t.semver,e.semver,r);return i>0?t:i<0||e.operator===">"&&t.operator===">="?e:t},PH=(t,e,r)=>{if(!t)return e;let i=Dv(t.semver,e.semver,r);return i<0?t:i>0||e.operator==="<"&&t.operator==="<="?e:t};SH.exports=bEe});var Or=E((Ytt,RH)=>{var Rv=Ql();RH.exports={re:Rv.re,src:Rv.src,tokens:Rv.t,SEMVER_SPEC_VERSION:Sh().SEMVER_SPEC_VERSION,SemVer:bi(),compareIdentifiers:zE().compareIdentifiers,rcompareIdentifiers:zE().rcompareIdentifiers,parse:bl(),valid:e2(),clean:r2(),inc:n2(),diff:c2(),major:g2(),minor:h2(),patch:d2(),prerelease:m2(),compare:Xn(),rcompare:I2(),compareLoose:w2(),compareBuild:ZE(),sort:v2(),rsort:x2(),gt:Dh(),lt:$E(),eq:XE(),neq:wv(),gte:eI(),lte:tI(),cmp:Bv(),coerce:T2(),Comparator:Lh(),Range:Zn(),satisfies:Oh(),toComparators:nH(),maxSatisfying:oH(),minSatisfying:AH(),minVersion:uH(),validRange:fH(),outside:sI(),gtr:EH(),ltr:yH(),intersects:QH(),simplifyRange:vH(),subset:DH()}});var Uv=E(AI=>{"use strict";Object.defineProperty(AI,"__esModule",{value:!0});AI.VERSION=void 0;AI.VERSION="9.1.0"});var Dt=E((exports,module)=>{"use strict";var __spreadArray=exports&&exports.__spreadArray||function(t,e,r){if(r||arguments.length===2)for(var i=0,n=e.length,s;i{(function(t,e){typeof define=="function"&&define.amd?define([],e):typeof lI=="object"&&lI.exports?lI.exports=e():t.regexpToAst=e()})(typeof self!="undefined"?self:YH,function(){function t(){}t.prototype.saveState=function(){return{idx:this.idx,input:this.input,groupIdx:this.groupIdx}},t.prototype.restoreState=function(p){this.idx=p.idx,this.input=p.input,this.groupIdx=p.groupIdx},t.prototype.pattern=function(p){this.idx=0,this.input=p,this.groupIdx=0,this.consumeChar("/");var d=this.disjunction();this.consumeChar("/");for(var m={type:"Flags",loc:{begin:this.idx,end:p.length},global:!1,ignoreCase:!1,multiLine:!1,unicode:!1,sticky:!1};this.isRegExpFlag();)switch(this.popChar()){case"g":o(m,"global");break;case"i":o(m,"ignoreCase");break;case"m":o(m,"multiLine");break;case"u":o(m,"unicode");break;case"y":o(m,"sticky");break}if(this.idx!==this.input.length)throw Error("Redundant input: "+this.input.substring(this.idx));return{type:"Pattern",flags:m,value:d,loc:this.loc(0)}},t.prototype.disjunction=function(){var p=[],d=this.idx;for(p.push(this.alternative());this.peekChar()==="|";)this.consumeChar("|"),p.push(this.alternative());return{type:"Disjunction",value:p,loc:this.loc(d)}},t.prototype.alternative=function(){for(var p=[],d=this.idx;this.isTerm();)p.push(this.term());return{type:"Alternative",value:p,loc:this.loc(d)}},t.prototype.term=function(){return this.isAssertion()?this.assertion():this.atom()},t.prototype.assertion=function(){var p=this.idx;switch(this.popChar()){case"^":return{type:"StartAnchor",loc:this.loc(p)};case"$":return{type:"EndAnchor",loc:this.loc(p)};case"\\":switch(this.popChar()){case"b":return{type:"WordBoundary",loc:this.loc(p)};case"B":return{type:"NonWordBoundary",loc:this.loc(p)}}throw Error("Invalid Assertion Escape");case"(":this.consumeChar("?");var d;switch(this.popChar()){case"=":d="Lookahead";break;case"!":d="NegativeLookahead";break}a(d);var m=this.disjunction();return this.consumeChar(")"),{type:d,value:m,loc:this.loc(p)}}l()},t.prototype.quantifier=function(p){var d,m=this.idx;switch(this.popChar()){case"*":d={atLeast:0,atMost:Infinity};break;case"+":d={atLeast:1,atMost:Infinity};break;case"?":d={atLeast:0,atMost:1};break;case"{":var I=this.integerIncludingZero();switch(this.popChar()){case"}":d={atLeast:I,atMost:I};break;case",":var B;this.isDigit()?(B=this.integerIncludingZero(),d={atLeast:I,atMost:B}):d={atLeast:I,atMost:Infinity},this.consumeChar("}");break}if(p===!0&&d===void 0)return;a(d);break}if(!(p===!0&&d===void 0))return a(d),this.peekChar(0)==="?"?(this.consumeChar("?"),d.greedy=!1):d.greedy=!0,d.type="Quantifier",d.loc=this.loc(m),d},t.prototype.atom=function(){var p,d=this.idx;switch(this.peekChar()){case".":p=this.dotAll();break;case"\\":p=this.atomEscape();break;case"[":p=this.characterClass();break;case"(":p=this.group();break}return p===void 0&&this.isPatternCharacter()&&(p=this.patternCharacter()),a(p),p.loc=this.loc(d),this.isQuantifier()&&(p.quantifier=this.quantifier()),p},t.prototype.dotAll=function(){return this.consumeChar("."),{type:"Set",complement:!0,value:[n(` +`),n("\r"),n("\u2028"),n("\u2029")]}},t.prototype.atomEscape=function(){switch(this.consumeChar("\\"),this.peekChar()){case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":return this.decimalEscapeAtom();case"d":case"D":case"s":case"S":case"w":case"W":return this.characterClassEscape();case"f":case"n":case"r":case"t":case"v":return this.controlEscapeAtom();case"c":return this.controlLetterEscapeAtom();case"0":return this.nulCharacterAtom();case"x":return this.hexEscapeSequenceAtom();case"u":return this.regExpUnicodeEscapeSequenceAtom();default:return this.identityEscapeAtom()}},t.prototype.decimalEscapeAtom=function(){var p=this.positiveInteger();return{type:"GroupBackReference",value:p}},t.prototype.characterClassEscape=function(){var p,d=!1;switch(this.popChar()){case"d":p=u;break;case"D":p=u,d=!0;break;case"s":p=f;break;case"S":p=f,d=!0;break;case"w":p=g;break;case"W":p=g,d=!0;break}return a(p),{type:"Set",value:p,complement:d}},t.prototype.controlEscapeAtom=function(){var p;switch(this.popChar()){case"f":p=n("\f");break;case"n":p=n(` +`);break;case"r":p=n("\r");break;case"t":p=n(" ");break;case"v":p=n("\v");break}return a(p),{type:"Character",value:p}},t.prototype.controlLetterEscapeAtom=function(){this.consumeChar("c");var p=this.popChar();if(/[a-zA-Z]/.test(p)===!1)throw Error("Invalid ");var d=p.toUpperCase().charCodeAt(0)-64;return{type:"Character",value:d}},t.prototype.nulCharacterAtom=function(){return this.consumeChar("0"),{type:"Character",value:n("\0")}},t.prototype.hexEscapeSequenceAtom=function(){return this.consumeChar("x"),this.parseHexDigits(2)},t.prototype.regExpUnicodeEscapeSequenceAtom=function(){return this.consumeChar("u"),this.parseHexDigits(4)},t.prototype.identityEscapeAtom=function(){var p=this.popChar();return{type:"Character",value:n(p)}},t.prototype.classPatternCharacterAtom=function(){switch(this.peekChar()){case` +`:case"\r":case"\u2028":case"\u2029":case"\\":case"]":throw Error("TBD");default:var p=this.popChar();return{type:"Character",value:n(p)}}},t.prototype.characterClass=function(){var p=[],d=!1;for(this.consumeChar("["),this.peekChar(0)==="^"&&(this.consumeChar("^"),d=!0);this.isClassAtom();){var m=this.classAtom(),I=m.type==="Character";if(I&&this.isRangeDash()){this.consumeChar("-");var B=this.classAtom(),b=B.type==="Character";if(b){if(B.value=this.input.length)throw Error("Unexpected end of input");this.idx++},t.prototype.loc=function(p){return{begin:p,end:this.idx}};var e=/[0-9a-fA-F]/,r=/[0-9]/,i=/[1-9]/;function n(p){return p.charCodeAt(0)}function s(p,d){p.length!==void 0?p.forEach(function(m){d.push(m)}):d.push(p)}function o(p,d){if(p[d]===!0)throw"duplicate flag "+d;p[d]=!0}function a(p){if(p===void 0)throw Error("Internal Error - Should never get here!")}function l(){throw Error("Internal Error - Should never get here!")}var c,u=[];for(c=n("0");c<=n("9");c++)u.push(c);var g=[n("_")].concat(u);for(c=n("a");c<=n("z");c++)g.push(c);for(c=n("A");c<=n("Z");c++)g.push(c);var f=[n(" "),n("\f"),n(` +`),n("\r"),n(" "),n("\v"),n(" "),n("\xA0"),n("\u1680"),n("\u2000"),n("\u2001"),n("\u2002"),n("\u2003"),n("\u2004"),n("\u2005"),n("\u2006"),n("\u2007"),n("\u2008"),n("\u2009"),n("\u200A"),n("\u2028"),n("\u2029"),n("\u202F"),n("\u205F"),n("\u3000"),n("\uFEFF")];function h(){}return h.prototype.visitChildren=function(p){for(var d in p){var m=p[d];p.hasOwnProperty(d)&&(m.type!==void 0?this.visit(m):Array.isArray(m)&&m.forEach(function(I){this.visit(I)},this))}},h.prototype.visit=function(p){switch(p.type){case"Pattern":this.visitPattern(p);break;case"Flags":this.visitFlags(p);break;case"Disjunction":this.visitDisjunction(p);break;case"Alternative":this.visitAlternative(p);break;case"StartAnchor":this.visitStartAnchor(p);break;case"EndAnchor":this.visitEndAnchor(p);break;case"WordBoundary":this.visitWordBoundary(p);break;case"NonWordBoundary":this.visitNonWordBoundary(p);break;case"Lookahead":this.visitLookahead(p);break;case"NegativeLookahead":this.visitNegativeLookahead(p);break;case"Character":this.visitCharacter(p);break;case"Set":this.visitSet(p);break;case"Group":this.visitGroup(p);break;case"GroupBackReference":this.visitGroupBackReference(p);break;case"Quantifier":this.visitQuantifier(p);break}this.visitChildren(p)},h.prototype.visitPattern=function(p){},h.prototype.visitFlags=function(p){},h.prototype.visitDisjunction=function(p){},h.prototype.visitAlternative=function(p){},h.prototype.visitStartAnchor=function(p){},h.prototype.visitEndAnchor=function(p){},h.prototype.visitWordBoundary=function(p){},h.prototype.visitNonWordBoundary=function(p){},h.prototype.visitLookahead=function(p){},h.prototype.visitNegativeLookahead=function(p){},h.prototype.visitCharacter=function(p){},h.prototype.visitSet=function(p){},h.prototype.visitGroup=function(p){},h.prototype.visitGroupBackReference=function(p){},h.prototype.visitQuantifier=function(p){},{RegExpParser:t,BaseRegExpVisitor:h,VERSION:"0.5.0"}})});var gI=E(Eu=>{"use strict";Object.defineProperty(Eu,"__esModule",{value:!0});Eu.clearRegExpParserCache=Eu.getRegExpAst=void 0;var FEe=cI(),uI={},NEe=new FEe.RegExpParser;function LEe(t){var e=t.toString();if(uI.hasOwnProperty(e))return uI[e];var r=NEe.pattern(e);return uI[e]=r,r}Eu.getRegExpAst=LEe;function TEe(){uI={}}Eu.clearRegExpParserCache=TEe});var VH=E(fn=>{"use strict";var MEe=fn&&fn.__extends||function(){var t=function(e,r){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},t(e,r)};return function(e,r){if(typeof r!="function"&&r!==null)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");t(e,r);function i(){this.constructor=e}e.prototype=r===null?Object.create(r):(i.prototype=r.prototype,new i)}}();Object.defineProperty(fn,"__esModule",{value:!0});fn.canMatchCharCode=fn.firstCharOptimizedIndices=fn.getOptimizedStartCodesIndices=fn.failedOptimizationPrefixMsg=void 0;var qH=cI(),$n=Dt(),JH=gI(),sa=Hv(),WH="Complement Sets are not supported for first char optimization";fn.failedOptimizationPrefixMsg=`Unable to use "first char" lexer optimizations: +`;function OEe(t,e){e===void 0&&(e=!1);try{var r=(0,JH.getRegExpAst)(t),i=fI(r.value,{},r.flags.ignoreCase);return i}catch(s){if(s.message===WH)e&&(0,$n.PRINT_WARNING)(""+fn.failedOptimizationPrefixMsg+(" Unable to optimize: < "+t.toString()+` > +`)+` Complement Sets cannot be automatically optimized. + This will disable the lexer's first char optimizations. + See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#COMPLEMENT for details.`);else{var n="";e&&(n=` + This will disable the lexer's first char optimizations. + See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#REGEXP_PARSING for details.`),(0,$n.PRINT_ERROR)(fn.failedOptimizationPrefixMsg+` +`+(" Failed parsing: < "+t.toString()+` > +`)+(" Using the regexp-to-ast library version: "+qH.VERSION+` +`)+" Please open an issue at: https://github.com/bd82/regexp-to-ast/issues"+n)}}return[]}fn.getOptimizedStartCodesIndices=OEe;function fI(t,e,r){switch(t.type){case"Disjunction":for(var i=0;i=sa.minOptimizationVal)for(var f=u.from>=sa.minOptimizationVal?u.from:sa.minOptimizationVal,h=u.to,p=(0,sa.charCodeToOptimizedIndex)(f),d=(0,sa.charCodeToOptimizedIndex)(h),m=p;m<=d;m++)e[m]=m}}});break;case"Group":fI(o.value,e,r);break;default:throw Error("Non Exhaustive Match")}var a=o.quantifier!==void 0&&o.quantifier.atLeast===0;if(o.type==="Group"&&Gv(o)===!1||o.type!=="Group"&&a===!1)break}break;default:throw Error("non exhaustive match!")}return(0,$n.values)(e)}fn.firstCharOptimizedIndices=fI;function hI(t,e,r){var i=(0,sa.charCodeToOptimizedIndex)(t);e[i]=i,r===!0&&KEe(t,e)}function KEe(t,e){var r=String.fromCharCode(t),i=r.toUpperCase();if(i!==r){var n=(0,sa.charCodeToOptimizedIndex)(i.charCodeAt(0));e[n]=n}else{var s=r.toLowerCase();if(s!==r){var n=(0,sa.charCodeToOptimizedIndex)(s.charCodeAt(0));e[n]=n}}}function zH(t,e){return(0,$n.find)(t.value,function(r){if(typeof r=="number")return(0,$n.contains)(e,r);var i=r;return(0,$n.find)(e,function(n){return i.from<=n&&n<=i.to})!==void 0})}function Gv(t){return t.quantifier&&t.quantifier.atLeast===0?!0:t.value?(0,$n.isArray)(t.value)?(0,$n.every)(t.value,Gv):Gv(t.value):!1}var UEe=function(t){MEe(e,t);function e(r){var i=t.call(this)||this;return i.targetCharCodes=r,i.found=!1,i}return e.prototype.visitChildren=function(r){if(this.found!==!0){switch(r.type){case"Lookahead":this.visitLookahead(r);return;case"NegativeLookahead":this.visitNegativeLookahead(r);return}t.prototype.visitChildren.call(this,r)}},e.prototype.visitCharacter=function(r){(0,$n.contains)(this.targetCharCodes,r.value)&&(this.found=!0)},e.prototype.visitSet=function(r){r.complement?zH(r,this.targetCharCodes)===void 0&&(this.found=!0):zH(r,this.targetCharCodes)!==void 0&&(this.found=!0)},e}(qH.BaseRegExpVisitor);function HEe(t,e){if(e instanceof RegExp){var r=(0,JH.getRegExpAst)(e),i=new UEe(t);return i.visit(r),i.found}else return(0,$n.find)(e,function(n){return(0,$n.contains)(t,n.charCodeAt(0))})!==void 0}fn.canMatchCharCode=HEe});var Hv=E(je=>{"use strict";var _H=je&&je.__extends||function(){var t=function(e,r){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},t(e,r)};return function(e,r){if(typeof r!="function"&&r!==null)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");t(e,r);function i(){this.constructor=e}e.prototype=r===null?Object.create(r):(i.prototype=r.prototype,new i)}}();Object.defineProperty(je,"__esModule",{value:!0});je.charCodeToOptimizedIndex=je.minOptimizationVal=je.buildLineBreakIssueMessage=je.LineTerminatorOptimizedTester=je.isShortPattern=je.isCustomPattern=je.cloneEmptyGroups=je.performWarningRuntimeChecks=je.performRuntimeChecks=je.addStickyFlag=je.addStartOfInput=je.findUnreachablePatterns=je.findModesThatDoNotExist=je.findInvalidGroupType=je.findDuplicatePatterns=je.findUnsupportedFlags=je.findStartOfInputAnchor=je.findEmptyMatchRegExps=je.findEndOfInputAnchor=je.findInvalidPatterns=je.findMissingPatterns=je.validatePatterns=je.analyzeTokenTypes=je.enableSticky=je.disableSticky=je.SUPPORT_STICKY=je.MODES=je.DEFAULT_MODE=void 0;var XH=cI(),zt=Gh(),Ie=Dt(),Iu=VH(),ZH=gI(),ao="PATTERN";je.DEFAULT_MODE="defaultMode";je.MODES="modes";je.SUPPORT_STICKY=typeof new RegExp("(?:)").sticky=="boolean";function GEe(){je.SUPPORT_STICKY=!1}je.disableSticky=GEe;function jEe(){je.SUPPORT_STICKY=!0}je.enableSticky=jEe;function qEe(t,e){e=(0,Ie.defaults)(e,{useSticky:je.SUPPORT_STICKY,debug:!1,safeMode:!1,positionTracking:"full",lineTerminatorCharacters:["\r",` +`],tracer:function(B,b){return b()}});var r=e.tracer;r("initCharCodeToOptimizedIndexMap",function(){YEe()});var i;r("Reject Lexer.NA",function(){i=(0,Ie.reject)(t,function(B){return B[ao]===zt.Lexer.NA})});var n=!1,s;r("Transform Patterns",function(){n=!1,s=(0,Ie.map)(i,function(B){var b=B[ao];if((0,Ie.isRegExp)(b)){var R=b.source;return R.length===1&&R!=="^"&&R!=="$"&&R!=="."&&!b.ignoreCase?R:R.length===2&&R[0]==="\\"&&!(0,Ie.contains)(["d","D","s","S","t","r","n","t","0","c","b","B","f","v","w","W"],R[1])?R[1]:e.useSticky?Yv(b):jv(b)}else{if((0,Ie.isFunction)(b))return n=!0,{exec:b};if((0,Ie.has)(b,"exec"))return n=!0,b;if(typeof b=="string"){if(b.length===1)return b;var H=b.replace(/[\\^$.*+?()[\]{}|]/g,"\\$&"),L=new RegExp(H);return e.useSticky?Yv(L):jv(L)}else throw Error("non exhaustive match")}})});var o,a,l,c,u;r("misc mapping",function(){o=(0,Ie.map)(i,function(B){return B.tokenTypeIdx}),a=(0,Ie.map)(i,function(B){var b=B.GROUP;if(b!==zt.Lexer.SKIPPED){if((0,Ie.isString)(b))return b;if((0,Ie.isUndefined)(b))return!1;throw Error("non exhaustive match")}}),l=(0,Ie.map)(i,function(B){var b=B.LONGER_ALT;if(b){var R=(0,Ie.isArray)(b)?(0,Ie.map)(b,function(H){return(0,Ie.indexOf)(i,H)}):[(0,Ie.indexOf)(i,b)];return R}}),c=(0,Ie.map)(i,function(B){return B.PUSH_MODE}),u=(0,Ie.map)(i,function(B){return(0,Ie.has)(B,"POP_MODE")})});var g;r("Line Terminator Handling",function(){var B=tG(e.lineTerminatorCharacters);g=(0,Ie.map)(i,function(b){return!1}),e.positionTracking!=="onlyOffset"&&(g=(0,Ie.map)(i,function(b){if((0,Ie.has)(b,"LINE_BREAKS"))return b.LINE_BREAKS;if(eG(b,B)===!1)return(0,Iu.canMatchCharCode)(B,b.PATTERN)}))});var f,h,p,d;r("Misc Mapping #2",function(){f=(0,Ie.map)(i,qv),h=(0,Ie.map)(s,$H),p=(0,Ie.reduce)(i,function(B,b){var R=b.GROUP;return(0,Ie.isString)(R)&&R!==zt.Lexer.SKIPPED&&(B[R]=[]),B},{}),d=(0,Ie.map)(s,function(B,b){return{pattern:s[b],longerAlt:l[b],canLineTerminator:g[b],isCustom:f[b],short:h[b],group:a[b],push:c[b],pop:u[b],tokenTypeIdx:o[b],tokenType:i[b]}})});var m=!0,I=[];return e.safeMode||r("First Char Optimization",function(){I=(0,Ie.reduce)(i,function(B,b,R){if(typeof b.PATTERN=="string"){var H=b.PATTERN.charCodeAt(0),L=Wv(H);Jv(B,L,d[R])}else if((0,Ie.isArray)(b.START_CHARS_HINT)){var K;(0,Ie.forEach)(b.START_CHARS_HINT,function(ne){var q=typeof ne=="string"?ne.charCodeAt(0):ne,A=Wv(q);K!==A&&(K=A,Jv(B,A,d[R]))})}else if((0,Ie.isRegExp)(b.PATTERN))if(b.PATTERN.unicode)m=!1,e.ensureOptimizations&&(0,Ie.PRINT_ERROR)(""+Iu.failedOptimizationPrefixMsg+(" Unable to analyze < "+b.PATTERN.toString()+` > pattern. +`)+` The regexp unicode flag is not currently supported by the regexp-to-ast library. + This will disable the lexer's first char optimizations. + For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNICODE_OPTIMIZE`);else{var J=(0,Iu.getOptimizedStartCodesIndices)(b.PATTERN,e.ensureOptimizations);(0,Ie.isEmpty)(J)&&(m=!1),(0,Ie.forEach)(J,function(ne){Jv(B,ne,d[R])})}else e.ensureOptimizations&&(0,Ie.PRINT_ERROR)(""+Iu.failedOptimizationPrefixMsg+(" TokenType: <"+b.name+`> is using a custom token pattern without providing parameter. +`)+` This will disable the lexer's first char optimizations. + For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_OPTIMIZE`),m=!1;return B},[])}),r("ArrayPacking",function(){I=(0,Ie.packArray)(I)}),{emptyGroups:p,patternIdxToConfig:d,charCodeToPatternIdxToConfig:I,hasCustom:n,canBeOptimized:m}}je.analyzeTokenTypes=qEe;function WEe(t,e){var r=[],i=rG(t);r=r.concat(i.errors);var n=iG(i.valid),s=n.valid;return r=r.concat(n.errors),r=r.concat(JEe(s)),r=r.concat(nG(s)),r=r.concat(sG(s,e)),r=r.concat(oG(s)),r}je.validatePatterns=WEe;function JEe(t){var e=[],r=(0,Ie.filter)(t,function(i){return(0,Ie.isRegExp)(i[ao])});return e=e.concat(aG(r)),e=e.concat(lG(r)),e=e.concat(cG(r)),e=e.concat(uG(r)),e=e.concat(AG(r)),e}function rG(t){var e=(0,Ie.filter)(t,function(n){return!(0,Ie.has)(n,ao)}),r=(0,Ie.map)(e,function(n){return{message:"Token Type: ->"+n.name+"<- missing static 'PATTERN' property",type:zt.LexerDefinitionErrorType.MISSING_PATTERN,tokenTypes:[n]}}),i=(0,Ie.difference)(t,e);return{errors:r,valid:i}}je.findMissingPatterns=rG;function iG(t){var e=(0,Ie.filter)(t,function(n){var s=n[ao];return!(0,Ie.isRegExp)(s)&&!(0,Ie.isFunction)(s)&&!(0,Ie.has)(s,"exec")&&!(0,Ie.isString)(s)}),r=(0,Ie.map)(e,function(n){return{message:"Token Type: ->"+n.name+"<- static 'PATTERN' can only be a RegExp, a Function matching the {CustomPatternMatcherFunc} type or an Object matching the {ICustomPattern} interface.",type:zt.LexerDefinitionErrorType.INVALID_PATTERN,tokenTypes:[n]}}),i=(0,Ie.difference)(t,e);return{errors:r,valid:i}}je.findInvalidPatterns=iG;var zEe=/[^\\][\$]/;function aG(t){var e=function(n){_H(s,n);function s(){var o=n!==null&&n.apply(this,arguments)||this;return o.found=!1,o}return s.prototype.visitEndAnchor=function(o){this.found=!0},s}(XH.BaseRegExpVisitor),r=(0,Ie.filter)(t,function(n){var s=n[ao];try{var o=(0,ZH.getRegExpAst)(s),a=new e;return a.visit(o),a.found}catch(l){return zEe.test(s.source)}}),i=(0,Ie.map)(r,function(n){return{message:`Unexpected RegExp Anchor Error: + Token Type: ->`+n.name+`<- static 'PATTERN' cannot contain end of input anchor '$' + See chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:zt.LexerDefinitionErrorType.EOI_ANCHOR_FOUND,tokenTypes:[n]}});return i}je.findEndOfInputAnchor=aG;function AG(t){var e=(0,Ie.filter)(t,function(i){var n=i[ao];return n.test("")}),r=(0,Ie.map)(e,function(i){return{message:"Token Type: ->"+i.name+"<- static 'PATTERN' must not match an empty string",type:zt.LexerDefinitionErrorType.EMPTY_MATCH_PATTERN,tokenTypes:[i]}});return r}je.findEmptyMatchRegExps=AG;var VEe=/[^\\[][\^]|^\^/;function lG(t){var e=function(n){_H(s,n);function s(){var o=n!==null&&n.apply(this,arguments)||this;return o.found=!1,o}return s.prototype.visitStartAnchor=function(o){this.found=!0},s}(XH.BaseRegExpVisitor),r=(0,Ie.filter)(t,function(n){var s=n[ao];try{var o=(0,ZH.getRegExpAst)(s),a=new e;return a.visit(o),a.found}catch(l){return VEe.test(s.source)}}),i=(0,Ie.map)(r,function(n){return{message:`Unexpected RegExp Anchor Error: + Token Type: ->`+n.name+`<- static 'PATTERN' cannot contain start of input anchor '^' + See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:zt.LexerDefinitionErrorType.SOI_ANCHOR_FOUND,tokenTypes:[n]}});return i}je.findStartOfInputAnchor=lG;function cG(t){var e=(0,Ie.filter)(t,function(i){var n=i[ao];return n instanceof RegExp&&(n.multiline||n.global)}),r=(0,Ie.map)(e,function(i){return{message:"Token Type: ->"+i.name+"<- static 'PATTERN' may NOT contain global('g') or multiline('m')",type:zt.LexerDefinitionErrorType.UNSUPPORTED_FLAGS_FOUND,tokenTypes:[i]}});return r}je.findUnsupportedFlags=cG;function uG(t){var e=[],r=(0,Ie.map)(t,function(s){return(0,Ie.reduce)(t,function(o,a){return s.PATTERN.source===a.PATTERN.source&&!(0,Ie.contains)(e,a)&&a.PATTERN!==zt.Lexer.NA&&(e.push(a),o.push(a)),o},[])});r=(0,Ie.compact)(r);var i=(0,Ie.filter)(r,function(s){return s.length>1}),n=(0,Ie.map)(i,function(s){var o=(0,Ie.map)(s,function(l){return l.name}),a=(0,Ie.first)(s).PATTERN;return{message:"The same RegExp pattern ->"+a+"<-"+("has been used in all of the following Token Types: "+o.join(", ")+" <-"),type:zt.LexerDefinitionErrorType.DUPLICATE_PATTERNS_FOUND,tokenTypes:s}});return n}je.findDuplicatePatterns=uG;function nG(t){var e=(0,Ie.filter)(t,function(i){if(!(0,Ie.has)(i,"GROUP"))return!1;var n=i.GROUP;return n!==zt.Lexer.SKIPPED&&n!==zt.Lexer.NA&&!(0,Ie.isString)(n)}),r=(0,Ie.map)(e,function(i){return{message:"Token Type: ->"+i.name+"<- static 'GROUP' can only be Lexer.SKIPPED/Lexer.NA/A String",type:zt.LexerDefinitionErrorType.INVALID_GROUP_TYPE_FOUND,tokenTypes:[i]}});return r}je.findInvalidGroupType=nG;function sG(t,e){var r=(0,Ie.filter)(t,function(n){return n.PUSH_MODE!==void 0&&!(0,Ie.contains)(e,n.PUSH_MODE)}),i=(0,Ie.map)(r,function(n){var s="Token Type: ->"+n.name+"<- static 'PUSH_MODE' value cannot refer to a Lexer Mode ->"+n.PUSH_MODE+"<-which does not exist";return{message:s,type:zt.LexerDefinitionErrorType.PUSH_MODE_DOES_NOT_EXIST,tokenTypes:[n]}});return i}je.findModesThatDoNotExist=sG;function oG(t){var e=[],r=(0,Ie.reduce)(t,function(i,n,s){var o=n.PATTERN;return o===zt.Lexer.NA||((0,Ie.isString)(o)?i.push({str:o,idx:s,tokenType:n}):(0,Ie.isRegExp)(o)&&XEe(o)&&i.push({str:o.source,idx:s,tokenType:n})),i},[]);return(0,Ie.forEach)(t,function(i,n){(0,Ie.forEach)(r,function(s){var o=s.str,a=s.idx,l=s.tokenType;if(n"+i.name+"<-")+`in the lexer's definition. +See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNREACHABLE`;e.push({message:c,type:zt.LexerDefinitionErrorType.UNREACHABLE_PATTERN,tokenTypes:[i,l]})}})}),e}je.findUnreachablePatterns=oG;function _Ee(t,e){if((0,Ie.isRegExp)(e)){var r=e.exec(t);return r!==null&&r.index===0}else{if((0,Ie.isFunction)(e))return e(t,0,[],{});if((0,Ie.has)(e,"exec"))return e.exec(t,0,[],{});if(typeof e=="string")return e===t;throw Error("non exhaustive match")}}function XEe(t){var e=[".","\\","[","]","|","^","$","(",")","?","*","+","{"];return(0,Ie.find)(e,function(r){return t.source.indexOf(r)!==-1})===void 0}function jv(t){var e=t.ignoreCase?"i":"";return new RegExp("^(?:"+t.source+")",e)}je.addStartOfInput=jv;function Yv(t){var e=t.ignoreCase?"iy":"y";return new RegExp(""+t.source,e)}je.addStickyFlag=Yv;function ZEe(t,e,r){var i=[];return(0,Ie.has)(t,je.DEFAULT_MODE)||i.push({message:"A MultiMode Lexer cannot be initialized without a <"+je.DEFAULT_MODE+`> property in its definition +`,type:zt.LexerDefinitionErrorType.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE}),(0,Ie.has)(t,je.MODES)||i.push({message:"A MultiMode Lexer cannot be initialized without a <"+je.MODES+`> property in its definition +`,type:zt.LexerDefinitionErrorType.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY}),(0,Ie.has)(t,je.MODES)&&(0,Ie.has)(t,je.DEFAULT_MODE)&&!(0,Ie.has)(t.modes,t.defaultMode)&&i.push({message:"A MultiMode Lexer cannot be initialized with a "+je.DEFAULT_MODE+": <"+t.defaultMode+`>which does not exist +`,type:zt.LexerDefinitionErrorType.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST}),(0,Ie.has)(t,je.MODES)&&(0,Ie.forEach)(t.modes,function(n,s){(0,Ie.forEach)(n,function(o,a){(0,Ie.isUndefined)(o)&&i.push({message:"A Lexer cannot be initialized using an undefined Token Type. Mode:"+("<"+s+"> at index: <"+a+`> +`),type:zt.LexerDefinitionErrorType.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED})})}),i}je.performRuntimeChecks=ZEe;function $Ee(t,e,r){var i=[],n=!1,s=(0,Ie.compact)((0,Ie.flatten)((0,Ie.mapValues)(t.modes,function(l){return l}))),o=(0,Ie.reject)(s,function(l){return l[ao]===zt.Lexer.NA}),a=tG(r);return e&&(0,Ie.forEach)(o,function(l){var c=eG(l,a);if(c!==!1){var u=gG(l,c),g={message:u,type:c.issue,tokenType:l};i.push(g)}else(0,Ie.has)(l,"LINE_BREAKS")?l.LINE_BREAKS===!0&&(n=!0):(0,Iu.canMatchCharCode)(a,l.PATTERN)&&(n=!0)}),e&&!n&&i.push({message:`Warning: No LINE_BREAKS Found. + This Lexer has been defined to track line and column information, + But none of the Token Types can be identified as matching a line terminator. + See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#LINE_BREAKS + for details.`,type:zt.LexerDefinitionErrorType.NO_LINE_BREAKS_FLAGS}),i}je.performWarningRuntimeChecks=$Ee;function eIe(t){var e={},r=(0,Ie.keys)(t);return(0,Ie.forEach)(r,function(i){var n=t[i];if((0,Ie.isArray)(n))e[i]=[];else throw Error("non exhaustive match")}),e}je.cloneEmptyGroups=eIe;function qv(t){var e=t.PATTERN;if((0,Ie.isRegExp)(e))return!1;if((0,Ie.isFunction)(e))return!0;if((0,Ie.has)(e,"exec"))return!0;if((0,Ie.isString)(e))return!1;throw Error("non exhaustive match")}je.isCustomPattern=qv;function $H(t){return(0,Ie.isString)(t)&&t.length===1?t.charCodeAt(0):!1}je.isShortPattern=$H;je.LineTerminatorOptimizedTester={test:function(t){for(var e=t.length,r=this.lastIndex;r Token Type +`)+(" Root cause: "+e.errMsg+`. +`)+" For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#IDENTIFY_TERMINATOR";if(e.issue===zt.LexerDefinitionErrorType.CUSTOM_LINE_BREAK)return`Warning: A Custom Token Pattern should specify the option. +`+(" The problem is in the <"+t.name+`> Token Type +`)+" For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_LINE_BREAK";throw Error("non exhaustive match")}je.buildLineBreakIssueMessage=gG;function tG(t){var e=(0,Ie.map)(t,function(r){return(0,Ie.isString)(r)&&r.length>0?r.charCodeAt(0):r});return e}function Jv(t,e,r){t[e]===void 0?t[e]=[r]:t[e].push(r)}je.minOptimizationVal=256;var pI=[];function Wv(t){return t255?255+~~(t/255):t}}});var yu=E(Bt=>{"use strict";Object.defineProperty(Bt,"__esModule",{value:!0});Bt.isTokenType=Bt.hasExtendingTokensTypesMapProperty=Bt.hasExtendingTokensTypesProperty=Bt.hasCategoriesProperty=Bt.hasShortKeyProperty=Bt.singleAssignCategoriesToksMap=Bt.assignCategoriesMapProp=Bt.assignCategoriesTokensProp=Bt.assignTokenDefaultProps=Bt.expandCategories=Bt.augmentTokenTypes=Bt.tokenIdxToClass=Bt.tokenShortNameIdx=Bt.tokenStructuredMatcherNoCategories=Bt.tokenStructuredMatcher=void 0;var Kr=Dt();function tIe(t,e){var r=t.tokenTypeIdx;return r===e.tokenTypeIdx?!0:e.isParent===!0&&e.categoryMatchesMap[r]===!0}Bt.tokenStructuredMatcher=tIe;function rIe(t,e){return t.tokenTypeIdx===e.tokenTypeIdx}Bt.tokenStructuredMatcherNoCategories=rIe;Bt.tokenShortNameIdx=1;Bt.tokenIdxToClass={};function iIe(t){var e=fG(t);hG(e),dG(e),pG(e),(0,Kr.forEach)(e,function(r){r.isParent=r.categoryMatches.length>0})}Bt.augmentTokenTypes=iIe;function fG(t){for(var e=(0,Kr.cloneArr)(t),r=t,i=!0;i;){r=(0,Kr.compact)((0,Kr.flatten)((0,Kr.map)(r,function(s){return s.CATEGORIES})));var n=(0,Kr.difference)(r,e);e=e.concat(n),(0,Kr.isEmpty)(n)?i=!1:r=n}return e}Bt.expandCategories=fG;function hG(t){(0,Kr.forEach)(t,function(e){CG(e)||(Bt.tokenIdxToClass[Bt.tokenShortNameIdx]=e,e.tokenTypeIdx=Bt.tokenShortNameIdx++),zv(e)&&!(0,Kr.isArray)(e.CATEGORIES)&&(e.CATEGORIES=[e.CATEGORIES]),zv(e)||(e.CATEGORIES=[]),mG(e)||(e.categoryMatches=[]),EG(e)||(e.categoryMatchesMap={})})}Bt.assignTokenDefaultProps=hG;function pG(t){(0,Kr.forEach)(t,function(e){e.categoryMatches=[],(0,Kr.forEach)(e.categoryMatchesMap,function(r,i){e.categoryMatches.push(Bt.tokenIdxToClass[i].tokenTypeIdx)})})}Bt.assignCategoriesTokensProp=pG;function dG(t){(0,Kr.forEach)(t,function(e){Vv([],e)})}Bt.assignCategoriesMapProp=dG;function Vv(t,e){(0,Kr.forEach)(t,function(r){e.categoryMatchesMap[r.tokenTypeIdx]=!0}),(0,Kr.forEach)(e.CATEGORIES,function(r){var i=t.concat(e);(0,Kr.contains)(i,r)||Vv(i,r)})}Bt.singleAssignCategoriesToksMap=Vv;function CG(t){return(0,Kr.has)(t,"tokenTypeIdx")}Bt.hasShortKeyProperty=CG;function zv(t){return(0,Kr.has)(t,"CATEGORIES")}Bt.hasCategoriesProperty=zv;function mG(t){return(0,Kr.has)(t,"categoryMatches")}Bt.hasExtendingTokensTypesProperty=mG;function EG(t){return(0,Kr.has)(t,"categoryMatchesMap")}Bt.hasExtendingTokensTypesMapProperty=EG;function nIe(t){return(0,Kr.has)(t,"tokenTypeIdx")}Bt.isTokenType=nIe});var _v=E(dI=>{"use strict";Object.defineProperty(dI,"__esModule",{value:!0});dI.defaultLexerErrorProvider=void 0;dI.defaultLexerErrorProvider={buildUnableToPopLexerModeMessage:function(t){return"Unable to pop Lexer Mode after encountering Token ->"+t.image+"<- The Mode Stack is empty"},buildUnexpectedCharactersMessage:function(t,e,r,i,n){return"unexpected character: ->"+t.charAt(e)+"<- at offset: "+e+","+(" skipped "+r+" characters.")}}});var Gh=E(Rl=>{"use strict";Object.defineProperty(Rl,"__esModule",{value:!0});Rl.Lexer=Rl.LexerDefinitionErrorType=void 0;var Ps=Hv(),Vt=Dt(),sIe=yu(),oIe=_v(),aIe=gI(),AIe;(function(t){t[t.MISSING_PATTERN=0]="MISSING_PATTERN",t[t.INVALID_PATTERN=1]="INVALID_PATTERN",t[t.EOI_ANCHOR_FOUND=2]="EOI_ANCHOR_FOUND",t[t.UNSUPPORTED_FLAGS_FOUND=3]="UNSUPPORTED_FLAGS_FOUND",t[t.DUPLICATE_PATTERNS_FOUND=4]="DUPLICATE_PATTERNS_FOUND",t[t.INVALID_GROUP_TYPE_FOUND=5]="INVALID_GROUP_TYPE_FOUND",t[t.PUSH_MODE_DOES_NOT_EXIST=6]="PUSH_MODE_DOES_NOT_EXIST",t[t.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE=7]="MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE",t[t.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY=8]="MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY",t[t.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST=9]="MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST",t[t.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED=10]="LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED",t[t.SOI_ANCHOR_FOUND=11]="SOI_ANCHOR_FOUND",t[t.EMPTY_MATCH_PATTERN=12]="EMPTY_MATCH_PATTERN",t[t.NO_LINE_BREAKS_FLAGS=13]="NO_LINE_BREAKS_FLAGS",t[t.UNREACHABLE_PATTERN=14]="UNREACHABLE_PATTERN",t[t.IDENTIFY_TERMINATOR=15]="IDENTIFY_TERMINATOR",t[t.CUSTOM_LINE_BREAK=16]="CUSTOM_LINE_BREAK"})(AIe=Rl.LexerDefinitionErrorType||(Rl.LexerDefinitionErrorType={}));var jh={deferDefinitionErrorsHandling:!1,positionTracking:"full",lineTerminatorsPattern:/\n|\r\n?/g,lineTerminatorCharacters:[` +`,"\r"],ensureOptimizations:!1,safeMode:!1,errorMessageProvider:oIe.defaultLexerErrorProvider,traceInitPerf:!1,skipValidations:!1};Object.freeze(jh);var lIe=function(){function t(e,r){var i=this;if(r===void 0&&(r=jh),this.lexerDefinition=e,this.lexerDefinitionErrors=[],this.lexerDefinitionWarning=[],this.patternIdxToConfig={},this.charCodeToPatternIdxToConfig={},this.modes=[],this.emptyGroups={},this.config=void 0,this.trackStartLines=!0,this.trackEndLines=!0,this.hasCustom=!1,this.canModeBeOptimized={},typeof r=="boolean")throw Error(`The second argument to the Lexer constructor is now an ILexerConfig Object. +a boolean 2nd argument is no longer supported`);this.config=(0,Vt.merge)(jh,r);var n=this.config.traceInitPerf;n===!0?(this.traceInitMaxIdent=Infinity,this.traceInitPerf=!0):typeof n=="number"&&(this.traceInitMaxIdent=n,this.traceInitPerf=!0),this.traceInitIndent=-1,this.TRACE_INIT("Lexer Constructor",function(){var s,o=!0;i.TRACE_INIT("Lexer Config handling",function(){if(i.config.lineTerminatorsPattern===jh.lineTerminatorsPattern)i.config.lineTerminatorsPattern=Ps.LineTerminatorOptimizedTester;else if(i.config.lineTerminatorCharacters===jh.lineTerminatorCharacters)throw Error(`Error: Missing property on the Lexer config. + For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#MISSING_LINE_TERM_CHARS`);if(r.safeMode&&r.ensureOptimizations)throw Error('"safeMode" and "ensureOptimizations" flags are mutually exclusive.');i.trackStartLines=/full|onlyStart/i.test(i.config.positionTracking),i.trackEndLines=/full/i.test(i.config.positionTracking),(0,Vt.isArray)(e)?(s={modes:{}},s.modes[Ps.DEFAULT_MODE]=(0,Vt.cloneArr)(e),s[Ps.DEFAULT_MODE]=Ps.DEFAULT_MODE):(o=!1,s=(0,Vt.cloneObj)(e))}),i.config.skipValidations===!1&&(i.TRACE_INIT("performRuntimeChecks",function(){i.lexerDefinitionErrors=i.lexerDefinitionErrors.concat((0,Ps.performRuntimeChecks)(s,i.trackStartLines,i.config.lineTerminatorCharacters))}),i.TRACE_INIT("performWarningRuntimeChecks",function(){i.lexerDefinitionWarning=i.lexerDefinitionWarning.concat((0,Ps.performWarningRuntimeChecks)(s,i.trackStartLines,i.config.lineTerminatorCharacters))})),s.modes=s.modes?s.modes:{},(0,Vt.forEach)(s.modes,function(u,g){s.modes[g]=(0,Vt.reject)(u,function(f){return(0,Vt.isUndefined)(f)})});var a=(0,Vt.keys)(s.modes);if((0,Vt.forEach)(s.modes,function(u,g){i.TRACE_INIT("Mode: <"+g+"> processing",function(){if(i.modes.push(g),i.config.skipValidations===!1&&i.TRACE_INIT("validatePatterns",function(){i.lexerDefinitionErrors=i.lexerDefinitionErrors.concat((0,Ps.validatePatterns)(u,a))}),(0,Vt.isEmpty)(i.lexerDefinitionErrors)){(0,sIe.augmentTokenTypes)(u);var f;i.TRACE_INIT("analyzeTokenTypes",function(){f=(0,Ps.analyzeTokenTypes)(u,{lineTerminatorCharacters:i.config.lineTerminatorCharacters,positionTracking:r.positionTracking,ensureOptimizations:r.ensureOptimizations,safeMode:r.safeMode,tracer:i.TRACE_INIT.bind(i)})}),i.patternIdxToConfig[g]=f.patternIdxToConfig,i.charCodeToPatternIdxToConfig[g]=f.charCodeToPatternIdxToConfig,i.emptyGroups=(0,Vt.merge)(i.emptyGroups,f.emptyGroups),i.hasCustom=f.hasCustom||i.hasCustom,i.canModeBeOptimized[g]=f.canBeOptimized}})}),i.defaultMode=s.defaultMode,!(0,Vt.isEmpty)(i.lexerDefinitionErrors)&&!i.config.deferDefinitionErrorsHandling){var l=(0,Vt.map)(i.lexerDefinitionErrors,function(u){return u.message}),c=l.join(`----------------------- +`);throw new Error(`Errors detected in definition of Lexer: +`+c)}(0,Vt.forEach)(i.lexerDefinitionWarning,function(u){(0,Vt.PRINT_WARNING)(u.message)}),i.TRACE_INIT("Choosing sub-methods implementations",function(){if(Ps.SUPPORT_STICKY?(i.chopInput=Vt.IDENTITY,i.match=i.matchWithTest):(i.updateLastIndex=Vt.NOOP,i.match=i.matchWithExec),o&&(i.handleModes=Vt.NOOP),i.trackStartLines===!1&&(i.computeNewColumn=Vt.IDENTITY),i.trackEndLines===!1&&(i.updateTokenEndLineColumnLocation=Vt.NOOP),/full/i.test(i.config.positionTracking))i.createTokenInstance=i.createFullToken;else if(/onlyStart/i.test(i.config.positionTracking))i.createTokenInstance=i.createStartOnlyToken;else if(/onlyOffset/i.test(i.config.positionTracking))i.createTokenInstance=i.createOffsetOnlyToken;else throw Error('Invalid config option: "'+i.config.positionTracking+'"');i.hasCustom?(i.addToken=i.addTokenUsingPush,i.handlePayload=i.handlePayloadWithCustom):(i.addToken=i.addTokenUsingMemberAccess,i.handlePayload=i.handlePayloadNoCustom)}),i.TRACE_INIT("Failed Optimization Warnings",function(){var u=(0,Vt.reduce)(i.canModeBeOptimized,function(g,f,h){return f===!1&&g.push(h),g},[]);if(r.ensureOptimizations&&!(0,Vt.isEmpty)(u))throw Error("Lexer Modes: < "+u.join(", ")+` > cannot be optimized. + Disable the "ensureOptimizations" lexer config flag to silently ignore this and run the lexer in an un-optimized mode. + Or inspect the console log for details on how to resolve these issues.`)}),i.TRACE_INIT("clearRegExpParserCache",function(){(0,aIe.clearRegExpParserCache)()}),i.TRACE_INIT("toFastProperties",function(){(0,Vt.toFastProperties)(i)})})}return t.prototype.tokenize=function(e,r){if(r===void 0&&(r=this.defaultMode),!(0,Vt.isEmpty)(this.lexerDefinitionErrors)){var i=(0,Vt.map)(this.lexerDefinitionErrors,function(o){return o.message}),n=i.join(`----------------------- +`);throw new Error(`Unable to Tokenize because Errors detected in definition of Lexer: +`+n)}var s=this.tokenizeInternal(e,r);return s},t.prototype.tokenizeInternal=function(e,r){var i=this,n,s,o,a,l,c,u,g,f,h,p,d,m,I,B,b,R=e,H=R.length,L=0,K=0,J=this.hasCustom?0:Math.floor(e.length/10),ne=new Array(J),q=[],A=this.trackStartLines?1:void 0,V=this.trackStartLines?1:void 0,W=(0,Ps.cloneEmptyGroups)(this.emptyGroups),X=this.trackStartLines,F=this.config.lineTerminatorsPattern,D=0,he=[],pe=[],Ne=[],Pe=[];Object.freeze(Pe);var qe=void 0;function re(){return he}function se(wr){var Ui=(0,Ps.charCodeToOptimizedIndex)(wr),ws=pe[Ui];return ws===void 0?Pe:ws}var be=function(wr){if(Ne.length===1&&wr.tokenType.PUSH_MODE===void 0){var Ui=i.config.errorMessageProvider.buildUnableToPopLexerModeMessage(wr);q.push({offset:wr.startOffset,line:wr.startLine!==void 0?wr.startLine:void 0,column:wr.startColumn!==void 0?wr.startColumn:void 0,length:wr.image.length,message:Ui})}else{Ne.pop();var ws=(0,Vt.last)(Ne);he=i.patternIdxToConfig[ws],pe=i.charCodeToPatternIdxToConfig[ws],D=he.length;var Tf=i.canModeBeOptimized[ws]&&i.config.safeMode===!1;pe&&Tf?qe=se:qe=re}};function ae(wr){Ne.push(wr),pe=this.charCodeToPatternIdxToConfig[wr],he=this.patternIdxToConfig[wr],D=he.length,D=he.length;var Ui=this.canModeBeOptimized[wr]&&this.config.safeMode===!1;pe&&Ui?qe=se:qe=re}ae.call(this,r);for(var Ae;Lc.length){c=a,u=g,Ae=Oe;break}}}break}}if(c!==null){if(f=c.length,h=Ae.group,h!==void 0&&(p=Ae.tokenTypeIdx,d=this.createTokenInstance(c,L,p,Ae.tokenType,A,V,f),this.handlePayload(d,u),h===!1?K=this.addToken(ne,K,d):W[h].push(d)),e=this.chopInput(e,f),L=L+f,V=this.computeNewColumn(V,f),X===!0&&Ae.canLineTerminator===!0){var dt=0,ri=void 0,ii=void 0;F.lastIndex=0;do ri=F.test(c),ri===!0&&(ii=F.lastIndex-1,dt++);while(ri===!0);dt!==0&&(A=A+dt,V=f-ii,this.updateTokenEndLineColumnLocation(d,h,ii,dt,A,V,f))}this.handleModes(Ae,be,ae,d)}else{for(var an=L,yr=A,Ki=V,Qi=!1;!Qi&&L <"+e+">");var n=(0,Vt.timer)(r),s=n.time,o=n.value,a=s>10?console.warn:console.log;return this.traceInitIndent time: "+s+"ms"),this.traceInitIndent--,o}else return r()},t.SKIPPED="This marks a skipped Token pattern, this means each token identified by it willbe consumed and then thrown into oblivion, this can be used to for example to completely ignore whitespace.",t.NA=/NOT_APPLICABLE/,t}();Rl.Lexer=lIe});var nA=E(Ci=>{"use strict";Object.defineProperty(Ci,"__esModule",{value:!0});Ci.tokenMatcher=Ci.createTokenInstance=Ci.EOF=Ci.createToken=Ci.hasTokenLabel=Ci.tokenName=Ci.tokenLabel=void 0;var Ds=Dt(),cIe=Gh(),Xv=yu();function uIe(t){return IG(t)?t.LABEL:t.name}Ci.tokenLabel=uIe;function gIe(t){return t.name}Ci.tokenName=gIe;function IG(t){return(0,Ds.isString)(t.LABEL)&&t.LABEL!==""}Ci.hasTokenLabel=IG;var fIe="parent",yG="categories",wG="label",BG="group",QG="push_mode",bG="pop_mode",vG="longer_alt",SG="line_breaks",xG="start_chars_hint";function kG(t){return hIe(t)}Ci.createToken=kG;function hIe(t){var e=t.pattern,r={};if(r.name=t.name,(0,Ds.isUndefined)(e)||(r.PATTERN=e),(0,Ds.has)(t,fIe))throw`The parent property is no longer supported. +See: https://github.com/chevrotain/chevrotain/issues/564#issuecomment-349062346 for details.`;return(0,Ds.has)(t,yG)&&(r.CATEGORIES=t[yG]),(0,Xv.augmentTokenTypes)([r]),(0,Ds.has)(t,wG)&&(r.LABEL=t[wG]),(0,Ds.has)(t,BG)&&(r.GROUP=t[BG]),(0,Ds.has)(t,bG)&&(r.POP_MODE=t[bG]),(0,Ds.has)(t,QG)&&(r.PUSH_MODE=t[QG]),(0,Ds.has)(t,vG)&&(r.LONGER_ALT=t[vG]),(0,Ds.has)(t,SG)&&(r.LINE_BREAKS=t[SG]),(0,Ds.has)(t,xG)&&(r.START_CHARS_HINT=t[xG]),r}Ci.EOF=kG({name:"EOF",pattern:cIe.Lexer.NA});(0,Xv.augmentTokenTypes)([Ci.EOF]);function pIe(t,e,r,i,n,s,o,a){return{image:e,startOffset:r,endOffset:i,startLine:n,endLine:s,startColumn:o,endColumn:a,tokenTypeIdx:t.tokenTypeIdx,tokenType:t}}Ci.createTokenInstance=pIe;function dIe(t,e){return(0,Xv.tokenStructuredMatcher)(t,e)}Ci.tokenMatcher=dIe});var hn=E(Tt=>{"use strict";var oa=Tt&&Tt.__extends||function(){var t=function(e,r){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},t(e,r)};return function(e,r){if(typeof r!="function"&&r!==null)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");t(e,r);function i(){this.constructor=e}e.prototype=r===null?Object.create(r):(i.prototype=r.prototype,new i)}}();Object.defineProperty(Tt,"__esModule",{value:!0});Tt.serializeProduction=Tt.serializeGrammar=Tt.Terminal=Tt.Alternation=Tt.RepetitionWithSeparator=Tt.Repetition=Tt.RepetitionMandatoryWithSeparator=Tt.RepetitionMandatory=Tt.Option=Tt.Alternative=Tt.Rule=Tt.NonTerminal=Tt.AbstractProduction=void 0;var $t=Dt(),CIe=nA(),Ao=function(){function t(e){this._definition=e}return Object.defineProperty(t.prototype,"definition",{get:function(){return this._definition},set:function(e){this._definition=e},enumerable:!1,configurable:!0}),t.prototype.accept=function(e){e.visit(this),(0,$t.forEach)(this.definition,function(r){r.accept(e)})},t}();Tt.AbstractProduction=Ao;var PG=function(t){oa(e,t);function e(r){var i=t.call(this,[])||this;return i.idx=1,(0,$t.assign)(i,(0,$t.pick)(r,function(n){return n!==void 0})),i}return Object.defineProperty(e.prototype,"definition",{get:function(){return this.referencedRule!==void 0?this.referencedRule.definition:[]},set:function(r){},enumerable:!1,configurable:!0}),e.prototype.accept=function(r){r.visit(this)},e}(Ao);Tt.NonTerminal=PG;var DG=function(t){oa(e,t);function e(r){var i=t.call(this,r.definition)||this;return i.orgText="",(0,$t.assign)(i,(0,$t.pick)(r,function(n){return n!==void 0})),i}return e}(Ao);Tt.Rule=DG;var RG=function(t){oa(e,t);function e(r){var i=t.call(this,r.definition)||this;return i.ignoreAmbiguities=!1,(0,$t.assign)(i,(0,$t.pick)(r,function(n){return n!==void 0})),i}return e}(Ao);Tt.Alternative=RG;var FG=function(t){oa(e,t);function e(r){var i=t.call(this,r.definition)||this;return i.idx=1,(0,$t.assign)(i,(0,$t.pick)(r,function(n){return n!==void 0})),i}return e}(Ao);Tt.Option=FG;var NG=function(t){oa(e,t);function e(r){var i=t.call(this,r.definition)||this;return i.idx=1,(0,$t.assign)(i,(0,$t.pick)(r,function(n){return n!==void 0})),i}return e}(Ao);Tt.RepetitionMandatory=NG;var LG=function(t){oa(e,t);function e(r){var i=t.call(this,r.definition)||this;return i.idx=1,(0,$t.assign)(i,(0,$t.pick)(r,function(n){return n!==void 0})),i}return e}(Ao);Tt.RepetitionMandatoryWithSeparator=LG;var TG=function(t){oa(e,t);function e(r){var i=t.call(this,r.definition)||this;return i.idx=1,(0,$t.assign)(i,(0,$t.pick)(r,function(n){return n!==void 0})),i}return e}(Ao);Tt.Repetition=TG;var MG=function(t){oa(e,t);function e(r){var i=t.call(this,r.definition)||this;return i.idx=1,(0,$t.assign)(i,(0,$t.pick)(r,function(n){return n!==void 0})),i}return e}(Ao);Tt.RepetitionWithSeparator=MG;var OG=function(t){oa(e,t);function e(r){var i=t.call(this,r.definition)||this;return i.idx=1,i.ignoreAmbiguities=!1,i.hasPredicates=!1,(0,$t.assign)(i,(0,$t.pick)(r,function(n){return n!==void 0})),i}return Object.defineProperty(e.prototype,"definition",{get:function(){return this._definition},set:function(r){this._definition=r},enumerable:!1,configurable:!0}),e}(Ao);Tt.Alternation=OG;var CI=function(){function t(e){this.idx=1,(0,$t.assign)(this,(0,$t.pick)(e,function(r){return r!==void 0}))}return t.prototype.accept=function(e){e.visit(this)},t}();Tt.Terminal=CI;function mIe(t){return(0,$t.map)(t,Yh)}Tt.serializeGrammar=mIe;function Yh(t){function e(s){return(0,$t.map)(s,Yh)}if(t instanceof PG){var r={type:"NonTerminal",name:t.nonTerminalName,idx:t.idx};return(0,$t.isString)(t.label)&&(r.label=t.label),r}else{if(t instanceof RG)return{type:"Alternative",definition:e(t.definition)};if(t instanceof FG)return{type:"Option",idx:t.idx,definition:e(t.definition)};if(t instanceof NG)return{type:"RepetitionMandatory",idx:t.idx,definition:e(t.definition)};if(t instanceof LG)return{type:"RepetitionMandatoryWithSeparator",idx:t.idx,separator:Yh(new CI({terminalType:t.separator})),definition:e(t.definition)};if(t instanceof MG)return{type:"RepetitionWithSeparator",idx:t.idx,separator:Yh(new CI({terminalType:t.separator})),definition:e(t.definition)};if(t instanceof TG)return{type:"Repetition",idx:t.idx,definition:e(t.definition)};if(t instanceof OG)return{type:"Alternation",idx:t.idx,definition:e(t.definition)};if(t instanceof CI){var i={type:"Terminal",name:t.terminalType.name,label:(0,CIe.tokenLabel)(t.terminalType),idx:t.idx};(0,$t.isString)(t.label)&&(i.terminalLabel=t.label);var n=t.terminalType.PATTERN;return t.terminalType.PATTERN&&(i.pattern=(0,$t.isRegExp)(n)?n.source:n),i}else{if(t instanceof DG)return{type:"Rule",name:t.name,orgText:t.orgText,definition:e(t.definition)};throw Error("non exhaustive match")}}}Tt.serializeProduction=Yh});var EI=E(mI=>{"use strict";Object.defineProperty(mI,"__esModule",{value:!0});mI.RestWalker=void 0;var Zv=Dt(),pn=hn(),EIe=function(){function t(){}return t.prototype.walk=function(e,r){var i=this;r===void 0&&(r=[]),(0,Zv.forEach)(e.definition,function(n,s){var o=(0,Zv.drop)(e.definition,s+1);if(n instanceof pn.NonTerminal)i.walkProdRef(n,o,r);else if(n instanceof pn.Terminal)i.walkTerminal(n,o,r);else if(n instanceof pn.Alternative)i.walkFlat(n,o,r);else if(n instanceof pn.Option)i.walkOption(n,o,r);else if(n instanceof pn.RepetitionMandatory)i.walkAtLeastOne(n,o,r);else if(n instanceof pn.RepetitionMandatoryWithSeparator)i.walkAtLeastOneSep(n,o,r);else if(n instanceof pn.RepetitionWithSeparator)i.walkManySep(n,o,r);else if(n instanceof pn.Repetition)i.walkMany(n,o,r);else if(n instanceof pn.Alternation)i.walkOr(n,o,r);else throw Error("non exhaustive match")})},t.prototype.walkTerminal=function(e,r,i){},t.prototype.walkProdRef=function(e,r,i){},t.prototype.walkFlat=function(e,r,i){var n=r.concat(i);this.walk(e,n)},t.prototype.walkOption=function(e,r,i){var n=r.concat(i);this.walk(e,n)},t.prototype.walkAtLeastOne=function(e,r,i){var n=[new pn.Option({definition:e.definition})].concat(r,i);this.walk(e,n)},t.prototype.walkAtLeastOneSep=function(e,r,i){var n=KG(e,r,i);this.walk(e,n)},t.prototype.walkMany=function(e,r,i){var n=[new pn.Option({definition:e.definition})].concat(r,i);this.walk(e,n)},t.prototype.walkManySep=function(e,r,i){var n=KG(e,r,i);this.walk(e,n)},t.prototype.walkOr=function(e,r,i){var n=this,s=r.concat(i);(0,Zv.forEach)(e.definition,function(o){var a=new pn.Alternative({definition:[o]});n.walk(a,s)})},t}();mI.RestWalker=EIe;function KG(t,e,r){var i=[new pn.Option({definition:[new pn.Terminal({terminalType:t.separator})].concat(t.definition)})],n=i.concat(e,r);return n}});var wu=E(II=>{"use strict";Object.defineProperty(II,"__esModule",{value:!0});II.GAstVisitor=void 0;var lo=hn(),IIe=function(){function t(){}return t.prototype.visit=function(e){var r=e;switch(r.constructor){case lo.NonTerminal:return this.visitNonTerminal(r);case lo.Alternative:return this.visitAlternative(r);case lo.Option:return this.visitOption(r);case lo.RepetitionMandatory:return this.visitRepetitionMandatory(r);case lo.RepetitionMandatoryWithSeparator:return this.visitRepetitionMandatoryWithSeparator(r);case lo.RepetitionWithSeparator:return this.visitRepetitionWithSeparator(r);case lo.Repetition:return this.visitRepetition(r);case lo.Alternation:return this.visitAlternation(r);case lo.Terminal:return this.visitTerminal(r);case lo.Rule:return this.visitRule(r);default:throw Error("non exhaustive match")}},t.prototype.visitNonTerminal=function(e){},t.prototype.visitAlternative=function(e){},t.prototype.visitOption=function(e){},t.prototype.visitRepetition=function(e){},t.prototype.visitRepetitionMandatory=function(e){},t.prototype.visitRepetitionMandatoryWithSeparator=function(e){},t.prototype.visitRepetitionWithSeparator=function(e){},t.prototype.visitAlternation=function(e){},t.prototype.visitTerminal=function(e){},t.prototype.visitRule=function(e){},t}();II.GAstVisitor=IIe});var Jh=E(Si=>{"use strict";var yIe=Si&&Si.__extends||function(){var t=function(e,r){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},t(e,r)};return function(e,r){if(typeof r!="function"&&r!==null)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");t(e,r);function i(){this.constructor=e}e.prototype=r===null?Object.create(r):(i.prototype=r.prototype,new i)}}();Object.defineProperty(Si,"__esModule",{value:!0});Si.collectMethods=Si.DslMethodsCollectorVisitor=Si.getProductionDslName=Si.isBranchingProd=Si.isOptionalProd=Si.isSequenceProd=void 0;var qh=Dt(),dr=hn(),wIe=wu();function BIe(t){return t instanceof dr.Alternative||t instanceof dr.Option||t instanceof dr.Repetition||t instanceof dr.RepetitionMandatory||t instanceof dr.RepetitionMandatoryWithSeparator||t instanceof dr.RepetitionWithSeparator||t instanceof dr.Terminal||t instanceof dr.Rule}Si.isSequenceProd=BIe;function $v(t,e){e===void 0&&(e=[]);var r=t instanceof dr.Option||t instanceof dr.Repetition||t instanceof dr.RepetitionWithSeparator;return r?!0:t instanceof dr.Alternation?(0,qh.some)(t.definition,function(i){return $v(i,e)}):t instanceof dr.NonTerminal&&(0,qh.contains)(e,t)?!1:t instanceof dr.AbstractProduction?(t instanceof dr.NonTerminal&&e.push(t),(0,qh.every)(t.definition,function(i){return $v(i,e)})):!1}Si.isOptionalProd=$v;function QIe(t){return t instanceof dr.Alternation}Si.isBranchingProd=QIe;function bIe(t){if(t instanceof dr.NonTerminal)return"SUBRULE";if(t instanceof dr.Option)return"OPTION";if(t instanceof dr.Alternation)return"OR";if(t instanceof dr.RepetitionMandatory)return"AT_LEAST_ONE";if(t instanceof dr.RepetitionMandatoryWithSeparator)return"AT_LEAST_ONE_SEP";if(t instanceof dr.RepetitionWithSeparator)return"MANY_SEP";if(t instanceof dr.Repetition)return"MANY";if(t instanceof dr.Terminal)return"CONSUME";throw Error("non exhaustive match")}Si.getProductionDslName=bIe;var UG=function(t){yIe(e,t);function e(){var r=t!==null&&t.apply(this,arguments)||this;return r.separator="-",r.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]},r}return e.prototype.reset=function(){this.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]}},e.prototype.visitTerminal=function(r){var i=r.terminalType.name+this.separator+"Terminal";(0,qh.has)(this.dslMethods,i)||(this.dslMethods[i]=[]),this.dslMethods[i].push(r)},e.prototype.visitNonTerminal=function(r){var i=r.nonTerminalName+this.separator+"Terminal";(0,qh.has)(this.dslMethods,i)||(this.dslMethods[i]=[]),this.dslMethods[i].push(r)},e.prototype.visitOption=function(r){this.dslMethods.option.push(r)},e.prototype.visitRepetitionWithSeparator=function(r){this.dslMethods.repetitionWithSeparator.push(r)},e.prototype.visitRepetitionMandatory=function(r){this.dslMethods.repetitionMandatory.push(r)},e.prototype.visitRepetitionMandatoryWithSeparator=function(r){this.dslMethods.repetitionMandatoryWithSeparator.push(r)},e.prototype.visitRepetition=function(r){this.dslMethods.repetition.push(r)},e.prototype.visitAlternation=function(r){this.dslMethods.alternation.push(r)},e}(wIe.GAstVisitor);Si.DslMethodsCollectorVisitor=UG;var yI=new UG;function vIe(t){yI.reset(),t.accept(yI);var e=yI.dslMethods;return yI.reset(),e}Si.collectMethods=vIe});var tS=E(co=>{"use strict";Object.defineProperty(co,"__esModule",{value:!0});co.firstForTerminal=co.firstForBranching=co.firstForSequence=co.first=void 0;var wI=Dt(),HG=hn(),eS=Jh();function BI(t){if(t instanceof HG.NonTerminal)return BI(t.referencedRule);if(t instanceof HG.Terminal)return YG(t);if((0,eS.isSequenceProd)(t))return GG(t);if((0,eS.isBranchingProd)(t))return jG(t);throw Error("non exhaustive match")}co.first=BI;function GG(t){for(var e=[],r=t.definition,i=0,n=r.length>i,s,o=!0;n&&o;)s=r[i],o=(0,eS.isOptionalProd)(s),e=e.concat(BI(s)),i=i+1,n=r.length>i;return(0,wI.uniq)(e)}co.firstForSequence=GG;function jG(t){var e=(0,wI.map)(t.definition,function(r){return BI(r)});return(0,wI.uniq)((0,wI.flatten)(e))}co.firstForBranching=jG;function YG(t){return[t.terminalType]}co.firstForTerminal=YG});var rS=E(QI=>{"use strict";Object.defineProperty(QI,"__esModule",{value:!0});QI.IN=void 0;QI.IN="_~IN~_"});var VG=E(es=>{"use strict";var SIe=es&&es.__extends||function(){var t=function(e,r){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},t(e,r)};return function(e,r){if(typeof r!="function"&&r!==null)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");t(e,r);function i(){this.constructor=e}e.prototype=r===null?Object.create(r):(i.prototype=r.prototype,new i)}}();Object.defineProperty(es,"__esModule",{value:!0});es.buildInProdFollowPrefix=es.buildBetweenProdsFollowPrefix=es.computeAllProdsFollows=es.ResyncFollowsWalker=void 0;var xIe=EI(),kIe=tS(),qG=Dt(),JG=rS(),PIe=hn(),zG=function(t){SIe(e,t);function e(r){var i=t.call(this)||this;return i.topProd=r,i.follows={},i}return e.prototype.startWalking=function(){return this.walk(this.topProd),this.follows},e.prototype.walkTerminal=function(r,i,n){},e.prototype.walkProdRef=function(r,i,n){var s=WG(r.referencedRule,r.idx)+this.topProd.name,o=i.concat(n),a=new PIe.Alternative({definition:o}),l=(0,kIe.first)(a);this.follows[s]=l},e}(xIe.RestWalker);es.ResyncFollowsWalker=zG;function DIe(t){var e={};return(0,qG.forEach)(t,function(r){var i=new zG(r).startWalking();(0,qG.assign)(e,i)}),e}es.computeAllProdsFollows=DIe;function WG(t,e){return t.name+e+JG.IN}es.buildBetweenProdsFollowPrefix=WG;function RIe(t){var e=t.terminalType.name;return e+t.idx+JG.IN}es.buildInProdFollowPrefix=RIe});var Wh=E(aa=>{"use strict";Object.defineProperty(aa,"__esModule",{value:!0});aa.defaultGrammarValidatorErrorProvider=aa.defaultGrammarResolverErrorProvider=aa.defaultParserErrorProvider=void 0;var Bu=nA(),FIe=Dt(),Rs=Dt(),iS=hn(),_G=Jh();aa.defaultParserErrorProvider={buildMismatchTokenMessage:function(t){var e=t.expected,r=t.actual,i=t.previous,n=t.ruleName,s=(0,Bu.hasTokenLabel)(e),o=s?"--> "+(0,Bu.tokenLabel)(e)+" <--":"token of type --> "+e.name+" <--",a="Expecting "+o+" but found --> '"+r.image+"' <--";return a},buildNotAllInputParsedMessage:function(t){var e=t.firstRedundant,r=t.ruleName;return"Redundant input, expecting EOF but found: "+e.image},buildNoViableAltMessage:function(t){var e=t.expectedPathsPerAlt,r=t.actual,i=t.previous,n=t.customUserDescription,s=t.ruleName,o="Expecting: ",a=(0,Rs.first)(r).image,l=` +but found: '`+a+"'";if(n)return o+n+l;var c=(0,Rs.reduce)(e,function(h,p){return h.concat(p)},[]),u=(0,Rs.map)(c,function(h){return"["+(0,Rs.map)(h,function(p){return(0,Bu.tokenLabel)(p)}).join(", ")+"]"}),g=(0,Rs.map)(u,function(h,p){return" "+(p+1)+". "+h}),f=`one of these possible Token sequences: +`+g.join(` +`);return o+f+l},buildEarlyExitMessage:function(t){var e=t.expectedIterationPaths,r=t.actual,i=t.customUserDescription,n=t.ruleName,s="Expecting: ",o=(0,Rs.first)(r).image,a=` +but found: '`+o+"'";if(i)return s+i+a;var l=(0,Rs.map)(e,function(u){return"["+(0,Rs.map)(u,function(g){return(0,Bu.tokenLabel)(g)}).join(",")+"]"}),c=`expecting at least one iteration which starts with one of these possible Token sequences:: + `+("<"+l.join(" ,")+">");return s+c+a}};Object.freeze(aa.defaultParserErrorProvider);aa.defaultGrammarResolverErrorProvider={buildRuleNotFoundError:function(t,e){var r="Invalid grammar, reference to a rule which is not defined: ->"+e.nonTerminalName+`<- +inside top level rule: ->`+t.name+"<-";return r}};aa.defaultGrammarValidatorErrorProvider={buildDuplicateFoundError:function(t,e){function r(u){return u instanceof iS.Terminal?u.terminalType.name:u instanceof iS.NonTerminal?u.nonTerminalName:""}var i=t.name,n=(0,Rs.first)(e),s=n.idx,o=(0,_G.getProductionDslName)(n),a=r(n),l=s>0,c="->"+o+(l?s:"")+"<- "+(a?"with argument: ->"+a+"<-":"")+` + appears more than once (`+e.length+" times) in the top level rule: ->"+i+`<-. + For further details see: https://chevrotain.io/docs/FAQ.html#NUMERICAL_SUFFIXES + `;return c=c.replace(/[ \t]+/g," "),c=c.replace(/\s\s+/g,` +`),c},buildNamespaceConflictError:function(t){var e=`Namespace conflict found in grammar. +`+("The grammar has both a Terminal(Token) and a Non-Terminal(Rule) named: <"+t.name+`>. +`)+`To resolve this make sure each Terminal and Non-Terminal names are unique +This is easy to accomplish by using the convention that Terminal names start with an uppercase letter +and Non-Terminal names start with a lower case letter.`;return e},buildAlternationPrefixAmbiguityError:function(t){var e=(0,Rs.map)(t.prefixPath,function(n){return(0,Bu.tokenLabel)(n)}).join(", "),r=t.alternation.idx===0?"":t.alternation.idx,i="Ambiguous alternatives: <"+t.ambiguityIndices.join(" ,")+`> due to common lookahead prefix +`+("in inside <"+t.topLevelRule.name+`> Rule, +`)+("<"+e+`> may appears as a prefix path in all these alternatives. +`)+`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#COMMON_PREFIX +For Further details.`;return i},buildAlternationAmbiguityError:function(t){var e=(0,Rs.map)(t.prefixPath,function(n){return(0,Bu.tokenLabel)(n)}).join(", "),r=t.alternation.idx===0?"":t.alternation.idx,i="Ambiguous Alternatives Detected: <"+t.ambiguityIndices.join(" ,")+"> in "+(" inside <"+t.topLevelRule.name+`> Rule, +`)+("<"+e+`> may appears as a prefix path in all these alternatives. +`);return i=i+`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES +For Further details.`,i},buildEmptyRepetitionError:function(t){var e=(0,_G.getProductionDslName)(t.repetition);t.repetition.idx!==0&&(e+=t.repetition.idx);var r="The repetition <"+e+"> within Rule <"+t.topLevelRule.name+`> can never consume any tokens. +This could lead to an infinite loop.`;return r},buildTokenNameError:function(t){return"deprecated"},buildEmptyAlternationError:function(t){var e="Ambiguous empty alternative: <"+(t.emptyChoiceIdx+1)+">"+(" in inside <"+t.topLevelRule.name+`> Rule. +`)+"Only the last alternative may be an empty alternative.";return e},buildTooManyAlternativesError:function(t){var e=`An Alternation cannot have more than 256 alternatives: +`+(" inside <"+t.topLevelRule.name+`> Rule. + has `+(t.alternation.definition.length+1)+" alternatives.");return e},buildLeftRecursionError:function(t){var e=t.topLevelRule.name,r=FIe.map(t.leftRecursionPath,function(s){return s.name}),i=e+" --> "+r.concat([e]).join(" --> "),n=`Left Recursion found in grammar. +`+("rule: <"+e+`> can be invoked from itself (directly or indirectly) +`)+(`without consuming any Tokens. The grammar path that causes this is: + `+i+` +`)+` To fix this refactor your grammar to remove the left recursion. +see: https://en.wikipedia.org/wiki/LL_parser#Left_Factoring.`;return n},buildInvalidRuleNameError:function(t){return"deprecated"},buildDuplicateRuleNameError:function(t){var e;t.topLevelRule instanceof iS.Rule?e=t.topLevelRule.name:e=t.topLevelRule;var r="Duplicate definition, rule: ->"+e+"<- is already defined in the grammar: ->"+t.grammarName+"<-";return r}}});var $G=E(sA=>{"use strict";var NIe=sA&&sA.__extends||function(){var t=function(e,r){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},t(e,r)};return function(e,r){if(typeof r!="function"&&r!==null)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");t(e,r);function i(){this.constructor=e}e.prototype=r===null?Object.create(r):(i.prototype=r.prototype,new i)}}();Object.defineProperty(sA,"__esModule",{value:!0});sA.GastRefResolverVisitor=sA.resolveGrammar=void 0;var LIe=Tn(),XG=Dt(),TIe=wu();function MIe(t,e){var r=new ZG(t,e);return r.resolveRefs(),r.errors}sA.resolveGrammar=MIe;var ZG=function(t){NIe(e,t);function e(r,i){var n=t.call(this)||this;return n.nameToTopRule=r,n.errMsgProvider=i,n.errors=[],n}return e.prototype.resolveRefs=function(){var r=this;(0,XG.forEach)((0,XG.values)(this.nameToTopRule),function(i){r.currTopLevel=i,i.accept(r)})},e.prototype.visitNonTerminal=function(r){var i=this.nameToTopRule[r.nonTerminalName];if(i)r.referencedRule=i;else{var n=this.errMsgProvider.buildRuleNotFoundError(this.currTopLevel,r);this.errors.push({message:n,type:LIe.ParserDefinitionErrorType.UNRESOLVED_SUBRULE_REF,ruleName:this.currTopLevel.name,unresolvedRefName:r.nonTerminalName})}},e}(TIe.GAstVisitor);sA.GastRefResolverVisitor=ZG});var Vh=E(Br=>{"use strict";var Fl=Br&&Br.__extends||function(){var t=function(e,r){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},t(e,r)};return function(e,r){if(typeof r!="function"&&r!==null)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");t(e,r);function i(){this.constructor=e}e.prototype=r===null?Object.create(r):(i.prototype=r.prototype,new i)}}();Object.defineProperty(Br,"__esModule",{value:!0});Br.nextPossibleTokensAfter=Br.possiblePathsFrom=Br.NextTerminalAfterAtLeastOneSepWalker=Br.NextTerminalAfterAtLeastOneWalker=Br.NextTerminalAfterManySepWalker=Br.NextTerminalAfterManyWalker=Br.AbstractNextTerminalAfterProductionWalker=Br.NextAfterTokenWalker=Br.AbstractNextPossibleTokensWalker=void 0;var ej=EI(),xt=Dt(),OIe=tS(),It=hn(),tj=function(t){Fl(e,t);function e(r,i){var n=t.call(this)||this;return n.topProd=r,n.path=i,n.possibleTokTypes=[],n.nextProductionName="",n.nextProductionOccurrence=0,n.found=!1,n.isAtEndOfPath=!1,n}return e.prototype.startWalking=function(){if(this.found=!1,this.path.ruleStack[0]!==this.topProd.name)throw Error("The path does not start with the walker's top Rule!");return this.ruleStack=(0,xt.cloneArr)(this.path.ruleStack).reverse(),this.occurrenceStack=(0,xt.cloneArr)(this.path.occurrenceStack).reverse(),this.ruleStack.pop(),this.occurrenceStack.pop(),this.updateExpectedNext(),this.walk(this.topProd),this.possibleTokTypes},e.prototype.walk=function(r,i){i===void 0&&(i=[]),this.found||t.prototype.walk.call(this,r,i)},e.prototype.walkProdRef=function(r,i,n){if(r.referencedRule.name===this.nextProductionName&&r.idx===this.nextProductionOccurrence){var s=i.concat(n);this.updateExpectedNext(),this.walk(r.referencedRule,s)}},e.prototype.updateExpectedNext=function(){(0,xt.isEmpty)(this.ruleStack)?(this.nextProductionName="",this.nextProductionOccurrence=0,this.isAtEndOfPath=!0):(this.nextProductionName=this.ruleStack.pop(),this.nextProductionOccurrence=this.occurrenceStack.pop())},e}(ej.RestWalker);Br.AbstractNextPossibleTokensWalker=tj;var KIe=function(t){Fl(e,t);function e(r,i){var n=t.call(this,r,i)||this;return n.path=i,n.nextTerminalName="",n.nextTerminalOccurrence=0,n.nextTerminalName=n.path.lastTok.name,n.nextTerminalOccurrence=n.path.lastTokOccurrence,n}return e.prototype.walkTerminal=function(r,i,n){if(this.isAtEndOfPath&&r.terminalType.name===this.nextTerminalName&&r.idx===this.nextTerminalOccurrence&&!this.found){var s=i.concat(n),o=new It.Alternative({definition:s});this.possibleTokTypes=(0,OIe.first)(o),this.found=!0}},e}(tj);Br.NextAfterTokenWalker=KIe;var zh=function(t){Fl(e,t);function e(r,i){var n=t.call(this)||this;return n.topRule=r,n.occurrence=i,n.result={token:void 0,occurrence:void 0,isEndOfRule:void 0},n}return e.prototype.startWalking=function(){return this.walk(this.topRule),this.result},e}(ej.RestWalker);Br.AbstractNextTerminalAfterProductionWalker=zh;var UIe=function(t){Fl(e,t);function e(){return t!==null&&t.apply(this,arguments)||this}return e.prototype.walkMany=function(r,i,n){if(r.idx===this.occurrence){var s=(0,xt.first)(i.concat(n));this.result.isEndOfRule=s===void 0,s instanceof It.Terminal&&(this.result.token=s.terminalType,this.result.occurrence=s.idx)}else t.prototype.walkMany.call(this,r,i,n)},e}(zh);Br.NextTerminalAfterManyWalker=UIe;var HIe=function(t){Fl(e,t);function e(){return t!==null&&t.apply(this,arguments)||this}return e.prototype.walkManySep=function(r,i,n){if(r.idx===this.occurrence){var s=(0,xt.first)(i.concat(n));this.result.isEndOfRule=s===void 0,s instanceof It.Terminal&&(this.result.token=s.terminalType,this.result.occurrence=s.idx)}else t.prototype.walkManySep.call(this,r,i,n)},e}(zh);Br.NextTerminalAfterManySepWalker=HIe;var GIe=function(t){Fl(e,t);function e(){return t!==null&&t.apply(this,arguments)||this}return e.prototype.walkAtLeastOne=function(r,i,n){if(r.idx===this.occurrence){var s=(0,xt.first)(i.concat(n));this.result.isEndOfRule=s===void 0,s instanceof It.Terminal&&(this.result.token=s.terminalType,this.result.occurrence=s.idx)}else t.prototype.walkAtLeastOne.call(this,r,i,n)},e}(zh);Br.NextTerminalAfterAtLeastOneWalker=GIe;var jIe=function(t){Fl(e,t);function e(){return t!==null&&t.apply(this,arguments)||this}return e.prototype.walkAtLeastOneSep=function(r,i,n){if(r.idx===this.occurrence){var s=(0,xt.first)(i.concat(n));this.result.isEndOfRule=s===void 0,s instanceof It.Terminal&&(this.result.token=s.terminalType,this.result.occurrence=s.idx)}else t.prototype.walkAtLeastOneSep.call(this,r,i,n)},e}(zh);Br.NextTerminalAfterAtLeastOneSepWalker=jIe;function rj(t,e,r){r===void 0&&(r=[]),r=(0,xt.cloneArr)(r);var i=[],n=0;function s(c){return c.concat((0,xt.drop)(t,n+1))}function o(c){var u=rj(s(c),e,r);return i.concat(u)}for(;r.length=0;W--){var X=I.definition[W],F={idx:p,def:X.definition.concat((0,xt.drop)(h)),ruleStack:d,occurrenceStack:m};g.push(F),g.push(o)}else if(I instanceof It.Alternative)g.push({idx:p,def:I.definition.concat((0,xt.drop)(h)),ruleStack:d,occurrenceStack:m});else if(I instanceof It.Rule)g.push(YIe(I,p,d,m));else throw Error("non exhaustive match")}}return u}Br.nextPossibleTokensAfter=qIe;function YIe(t,e,r,i){var n=(0,xt.cloneArr)(r);n.push(t.name);var s=(0,xt.cloneArr)(i);return s.push(1),{idx:e,def:t.definition,ruleStack:n,occurrenceStack:s}}});var _h=E(Gt=>{"use strict";var ij=Gt&&Gt.__extends||function(){var t=function(e,r){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},t(e,r)};return function(e,r){if(typeof r!="function"&&r!==null)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");t(e,r);function i(){this.constructor=e}e.prototype=r===null?Object.create(r):(i.prototype=r.prototype,new i)}}();Object.defineProperty(Gt,"__esModule",{value:!0});Gt.areTokenCategoriesNotUsed=Gt.isStrictPrefixOfPath=Gt.containsPath=Gt.getLookaheadPathsForOptionalProd=Gt.getLookaheadPathsForOr=Gt.lookAheadSequenceFromAlternatives=Gt.buildSingleAlternativeLookaheadFunction=Gt.buildAlternativesLookAheadFunc=Gt.buildLookaheadFuncForOptionalProd=Gt.buildLookaheadFuncForOr=Gt.getProdType=Gt.PROD_TYPE=void 0;var _t=Dt(),nj=Vh(),JIe=EI(),bI=yu(),oA=hn(),WIe=wu(),zr;(function(t){t[t.OPTION=0]="OPTION",t[t.REPETITION=1]="REPETITION",t[t.REPETITION_MANDATORY=2]="REPETITION_MANDATORY",t[t.REPETITION_MANDATORY_WITH_SEPARATOR=3]="REPETITION_MANDATORY_WITH_SEPARATOR",t[t.REPETITION_WITH_SEPARATOR=4]="REPETITION_WITH_SEPARATOR",t[t.ALTERNATION=5]="ALTERNATION"})(zr=Gt.PROD_TYPE||(Gt.PROD_TYPE={}));function zIe(t){if(t instanceof oA.Option)return zr.OPTION;if(t instanceof oA.Repetition)return zr.REPETITION;if(t instanceof oA.RepetitionMandatory)return zr.REPETITION_MANDATORY;if(t instanceof oA.RepetitionMandatoryWithSeparator)return zr.REPETITION_MANDATORY_WITH_SEPARATOR;if(t instanceof oA.RepetitionWithSeparator)return zr.REPETITION_WITH_SEPARATOR;if(t instanceof oA.Alternation)return zr.ALTERNATION;throw Error("non exhaustive match")}Gt.getProdType=zIe;function VIe(t,e,r,i,n,s){var o=sj(t,e,r),a=nS(o)?bI.tokenStructuredMatcherNoCategories:bI.tokenStructuredMatcher;return s(o,i,a,n)}Gt.buildLookaheadFuncForOr=VIe;function _Ie(t,e,r,i,n,s){var o=oj(t,e,n,r),a=nS(o)?bI.tokenStructuredMatcherNoCategories:bI.tokenStructuredMatcher;return s(o[0],a,i)}Gt.buildLookaheadFuncForOptionalProd=_Ie;function XIe(t,e,r,i){var n=t.length,s=(0,_t.every)(t,function(l){return(0,_t.every)(l,function(c){return c.length===1})});if(e)return function(l){for(var c=(0,_t.map)(l,function(b){return b.GATE}),u=0;u{"use strict";var aS=Mt&&Mt.__extends||function(){var t=function(e,r){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},t(e,r)};return function(e,r){if(typeof r!="function"&&r!==null)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");t(e,r);function i(){this.constructor=e}e.prototype=r===null?Object.create(r):(i.prototype=r.prototype,new i)}}();Object.defineProperty(Mt,"__esModule",{value:!0});Mt.checkPrefixAlternativesAmbiguities=Mt.validateSomeNonEmptyLookaheadPath=Mt.validateTooManyAlts=Mt.RepetionCollector=Mt.validateAmbiguousAlternationAlternatives=Mt.validateEmptyOrAlternative=Mt.getFirstNoneTerminal=Mt.validateNoLeftRecursion=Mt.validateRuleIsOverridden=Mt.validateRuleDoesNotAlreadyExist=Mt.OccurrenceValidationCollector=Mt.identifyProductionForDuplicates=Mt.validateGrammar=void 0;var jt=Dt(),Cr=Dt(),uo=Tn(),AS=Jh(),Qu=_h(),rye=Vh(),Fs=hn(),lS=wu();function sye(t,e,r,i,n){var s=jt.map(t,function(h){return iye(h,i)}),o=jt.map(t,function(h){return cS(h,h,i)}),a=[],l=[],c=[];(0,Cr.every)(o,Cr.isEmpty)&&(a=(0,Cr.map)(t,function(h){return uj(h,i)}),l=(0,Cr.map)(t,function(h){return gj(h,e,i)}),c=hj(t,e,i));var u=nye(t,r,i),g=(0,Cr.map)(t,function(h){return fj(h,i)}),f=(0,Cr.map)(t,function(h){return cj(h,t,n,i)});return jt.flatten(s.concat(c,o,a,l,u,g,f))}Mt.validateGrammar=sye;function iye(t,e){var r=new Cj;t.accept(r);var i=r.allProductions,n=jt.groupBy(i,pj),s=jt.pick(n,function(a){return a.length>1}),o=jt.map(jt.values(s),function(a){var l=jt.first(a),c=e.buildDuplicateFoundError(t,a),u=(0,AS.getProductionDslName)(l),g={message:c,type:uo.ParserDefinitionErrorType.DUPLICATE_PRODUCTIONS,ruleName:t.name,dslName:u,occurrence:l.idx},f=dj(l);return f&&(g.parameter=f),g});return o}function pj(t){return(0,AS.getProductionDslName)(t)+"_#_"+t.idx+"_#_"+dj(t)}Mt.identifyProductionForDuplicates=pj;function dj(t){return t instanceof Fs.Terminal?t.terminalType.name:t instanceof Fs.NonTerminal?t.nonTerminalName:""}var Cj=function(t){aS(e,t);function e(){var r=t!==null&&t.apply(this,arguments)||this;return r.allProductions=[],r}return e.prototype.visitNonTerminal=function(r){this.allProductions.push(r)},e.prototype.visitOption=function(r){this.allProductions.push(r)},e.prototype.visitRepetitionWithSeparator=function(r){this.allProductions.push(r)},e.prototype.visitRepetitionMandatory=function(r){this.allProductions.push(r)},e.prototype.visitRepetitionMandatoryWithSeparator=function(r){this.allProductions.push(r)},e.prototype.visitRepetition=function(r){this.allProductions.push(r)},e.prototype.visitAlternation=function(r){this.allProductions.push(r)},e.prototype.visitTerminal=function(r){this.allProductions.push(r)},e}(lS.GAstVisitor);Mt.OccurrenceValidationCollector=Cj;function cj(t,e,r,i){var n=[],s=(0,Cr.reduce)(e,function(a,l){return l.name===t.name?a+1:a},0);if(s>1){var o=i.buildDuplicateRuleNameError({topLevelRule:t,grammarName:r});n.push({message:o,type:uo.ParserDefinitionErrorType.DUPLICATE_RULE_NAME,ruleName:t.name})}return n}Mt.validateRuleDoesNotAlreadyExist=cj;function oye(t,e,r){var i=[],n;return jt.contains(e,t)||(n="Invalid rule override, rule: ->"+t+"<- cannot be overridden in the grammar: ->"+r+"<-as it is not defined in any of the super grammars ",i.push({message:n,type:uo.ParserDefinitionErrorType.INVALID_RULE_OVERRIDE,ruleName:t})),i}Mt.validateRuleIsOverridden=oye;function cS(t,e,r,i){i===void 0&&(i=[]);var n=[],s=Xh(e.definition);if(jt.isEmpty(s))return[];var o=t.name,a=jt.contains(s,t);a&&n.push({message:r.buildLeftRecursionError({topLevelRule:t,leftRecursionPath:i}),type:uo.ParserDefinitionErrorType.LEFT_RECURSION,ruleName:o});var l=jt.difference(s,i.concat([t])),c=jt.map(l,function(u){var g=jt.cloneArr(i);return g.push(u),cS(t,u,r,g)});return n.concat(jt.flatten(c))}Mt.validateNoLeftRecursion=cS;function Xh(t){var e=[];if(jt.isEmpty(t))return e;var r=jt.first(t);if(r instanceof Fs.NonTerminal)e.push(r.referencedRule);else if(r instanceof Fs.Alternative||r instanceof Fs.Option||r instanceof Fs.RepetitionMandatory||r instanceof Fs.RepetitionMandatoryWithSeparator||r instanceof Fs.RepetitionWithSeparator||r instanceof Fs.Repetition)e=e.concat(Xh(r.definition));else if(r instanceof Fs.Alternation)e=jt.flatten(jt.map(r.definition,function(o){return Xh(o.definition)}));else if(!(r instanceof Fs.Terminal))throw Error("non exhaustive match");var i=(0,AS.isOptionalProd)(r),n=t.length>1;if(i&&n){var s=jt.drop(t);return e.concat(Xh(s))}else return e}Mt.getFirstNoneTerminal=Xh;var uS=function(t){aS(e,t);function e(){var r=t!==null&&t.apply(this,arguments)||this;return r.alternations=[],r}return e.prototype.visitAlternation=function(r){this.alternations.push(r)},e}(lS.GAstVisitor);function uj(t,e){var r=new uS;t.accept(r);var i=r.alternations,n=jt.reduce(i,function(s,o){var a=jt.dropRight(o.definition),l=jt.map(a,function(c,u){var g=(0,rye.nextPossibleTokensAfter)([c],[],null,1);return jt.isEmpty(g)?{message:e.buildEmptyAlternationError({topLevelRule:t,alternation:o,emptyChoiceIdx:u}),type:uo.ParserDefinitionErrorType.NONE_LAST_EMPTY_ALT,ruleName:t.name,occurrence:o.idx,alternative:u+1}:null});return s.concat(jt.compact(l))},[]);return n}Mt.validateEmptyOrAlternative=uj;function gj(t,e,r){var i=new uS;t.accept(i);var n=i.alternations;n=(0,Cr.reject)(n,function(o){return o.ignoreAmbiguities===!0});var s=jt.reduce(n,function(o,a){var l=a.idx,c=a.maxLookahead||e,u=(0,Qu.getLookaheadPathsForOr)(l,t,c,a),g=aye(u,a,t,r),f=mj(u,a,t,r);return o.concat(g,f)},[]);return s}Mt.validateAmbiguousAlternationAlternatives=gj;var Ej=function(t){aS(e,t);function e(){var r=t!==null&&t.apply(this,arguments)||this;return r.allProductions=[],r}return e.prototype.visitRepetitionWithSeparator=function(r){this.allProductions.push(r)},e.prototype.visitRepetitionMandatory=function(r){this.allProductions.push(r)},e.prototype.visitRepetitionMandatoryWithSeparator=function(r){this.allProductions.push(r)},e.prototype.visitRepetition=function(r){this.allProductions.push(r)},e}(lS.GAstVisitor);Mt.RepetionCollector=Ej;function fj(t,e){var r=new uS;t.accept(r);var i=r.alternations,n=jt.reduce(i,function(s,o){return o.definition.length>255&&s.push({message:e.buildTooManyAlternativesError({topLevelRule:t,alternation:o}),type:uo.ParserDefinitionErrorType.TOO_MANY_ALTS,ruleName:t.name,occurrence:o.idx}),s},[]);return n}Mt.validateTooManyAlts=fj;function hj(t,e,r){var i=[];return(0,Cr.forEach)(t,function(n){var s=new Ej;n.accept(s);var o=s.allProductions;(0,Cr.forEach)(o,function(a){var l=(0,Qu.getProdType)(a),c=a.maxLookahead||e,u=a.idx,g=(0,Qu.getLookaheadPathsForOptionalProd)(u,n,l,c),f=g[0];if((0,Cr.isEmpty)((0,Cr.flatten)(f))){var h=r.buildEmptyRepetitionError({topLevelRule:n,repetition:a});i.push({message:h,type:uo.ParserDefinitionErrorType.NO_NON_EMPTY_LOOKAHEAD,ruleName:n.name})}})}),i}Mt.validateSomeNonEmptyLookaheadPath=hj;function aye(t,e,r,i){var n=[],s=(0,Cr.reduce)(t,function(a,l,c){return e.definition[c].ignoreAmbiguities===!0||(0,Cr.forEach)(l,function(u){var g=[c];(0,Cr.forEach)(t,function(f,h){c!==h&&(0,Qu.containsPath)(f,u)&&e.definition[h].ignoreAmbiguities!==!0&&g.push(h)}),g.length>1&&!(0,Qu.containsPath)(n,u)&&(n.push(u),a.push({alts:g,path:u}))}),a},[]),o=jt.map(s,function(a){var l=(0,Cr.map)(a.alts,function(u){return u+1}),c=i.buildAlternationAmbiguityError({topLevelRule:r,alternation:e,ambiguityIndices:l,prefixPath:a.path});return{message:c,type:uo.ParserDefinitionErrorType.AMBIGUOUS_ALTS,ruleName:r.name,occurrence:e.idx,alternatives:[a.alts]}});return o}function mj(t,e,r,i){var n=[],s=(0,Cr.reduce)(t,function(o,a,l){var c=(0,Cr.map)(a,function(u){return{idx:l,path:u}});return o.concat(c)},[]);return(0,Cr.forEach)(s,function(o){var a=e.definition[o.idx];if(a.ignoreAmbiguities!==!0){var l=o.idx,c=o.path,u=(0,Cr.findAll)(s,function(f){return e.definition[f.idx].ignoreAmbiguities!==!0&&f.idx{"use strict";Object.defineProperty(bu,"__esModule",{value:!0});bu.validateGrammar=bu.resolveGrammar=void 0;var fS=Dt(),Aye=$G(),lye=gS(),Ij=Wh();function cye(t){t=(0,fS.defaults)(t,{errMsgProvider:Ij.defaultGrammarResolverErrorProvider});var e={};return(0,fS.forEach)(t.rules,function(r){e[r.name]=r}),(0,Aye.resolveGrammar)(e,t.errMsgProvider)}bu.resolveGrammar=cye;function uye(t){return t=(0,fS.defaults)(t,{errMsgProvider:Ij.defaultGrammarValidatorErrorProvider}),(0,lye.validateGrammar)(t.rules,t.maxLookahead,t.tokenTypes,t.errMsgProvider,t.grammarName)}bu.validateGrammar=uye});var vu=E(dn=>{"use strict";var Zh=dn&&dn.__extends||function(){var t=function(e,r){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},t(e,r)};return function(e,r){if(typeof r!="function"&&r!==null)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");t(e,r);function i(){this.constructor=e}e.prototype=r===null?Object.create(r):(i.prototype=r.prototype,new i)}}();Object.defineProperty(dn,"__esModule",{value:!0});dn.EarlyExitException=dn.NotAllInputParsedException=dn.NoViableAltException=dn.MismatchedTokenException=dn.isRecognitionException=void 0;var gye=Dt(),wj="MismatchedTokenException",Bj="NoViableAltException",Qj="EarlyExitException",bj="NotAllInputParsedException",vj=[wj,Bj,Qj,bj];Object.freeze(vj);function fye(t){return(0,gye.contains)(vj,t.name)}dn.isRecognitionException=fye;var vI=function(t){Zh(e,t);function e(r,i){var n=this.constructor,s=t.call(this,r)||this;return s.token=i,s.resyncedTokens=[],Object.setPrototypeOf(s,n.prototype),Error.captureStackTrace&&Error.captureStackTrace(s,s.constructor),s}return e}(Error),hye=function(t){Zh(e,t);function e(r,i,n){var s=t.call(this,r,i)||this;return s.previousToken=n,s.name=wj,s}return e}(vI);dn.MismatchedTokenException=hye;var pye=function(t){Zh(e,t);function e(r,i,n){var s=t.call(this,r,i)||this;return s.previousToken=n,s.name=Bj,s}return e}(vI);dn.NoViableAltException=pye;var dye=function(t){Zh(e,t);function e(r,i){var n=t.call(this,r,i)||this;return n.name=bj,n}return e}(vI);dn.NotAllInputParsedException=dye;var Cye=function(t){Zh(e,t);function e(r,i,n){var s=t.call(this,r,i)||this;return s.previousToken=n,s.name=Qj,s}return e}(vI);dn.EarlyExitException=Cye});var pS=E(xi=>{"use strict";Object.defineProperty(xi,"__esModule",{value:!0});xi.attemptInRepetitionRecovery=xi.Recoverable=xi.InRuleRecoveryException=xi.IN_RULE_RECOVERY_EXCEPTION=xi.EOF_FOLLOW_KEY=void 0;var SI=nA(),ts=Dt(),mye=vu(),Eye=rS(),Iye=Tn();xi.EOF_FOLLOW_KEY={};xi.IN_RULE_RECOVERY_EXCEPTION="InRuleRecoveryException";function hS(t){this.name=xi.IN_RULE_RECOVERY_EXCEPTION,this.message=t}xi.InRuleRecoveryException=hS;hS.prototype=Error.prototype;var yye=function(){function t(){}return t.prototype.initRecoverable=function(e){this.firstAfterRepMap={},this.resyncFollows={},this.recoveryEnabled=(0,ts.has)(e,"recoveryEnabled")?e.recoveryEnabled:Iye.DEFAULT_PARSER_CONFIG.recoveryEnabled,this.recoveryEnabled&&(this.attemptInRepetitionRecovery=Sj)},t.prototype.getTokenToInsert=function(e){var r=(0,SI.createTokenInstance)(e,"",NaN,NaN,NaN,NaN,NaN,NaN);return r.isInsertedInRecovery=!0,r},t.prototype.canTokenTypeBeInsertedInRecovery=function(e){return!0},t.prototype.tryInRepetitionRecovery=function(e,r,i,n){for(var s=this,o=this.findReSyncTokenType(),a=this.exportLexerState(),l=[],c=!1,u=this.LA(1),g=this.LA(1),f=function(){var h=s.LA(0),p=s.errorMessageProvider.buildMismatchTokenMessage({expected:n,actual:u,previous:h,ruleName:s.getCurrRuleFullName()}),d=new mye.MismatchedTokenException(p,u,s.LA(0));d.resyncedTokens=(0,ts.dropRight)(l),s.SAVE_ERROR(d)};!c;)if(this.tokenMatcher(g,n)){f();return}else if(i.call(this)){f(),e.apply(this,r);return}else this.tokenMatcher(g,o)?c=!0:(g=this.SKIP_TOKEN(),this.addToResyncTokens(g,l));this.importLexerState(a)},t.prototype.shouldInRepetitionRecoveryBeTried=function(e,r,i){return!(i===!1||e===void 0||r===void 0||this.tokenMatcher(this.LA(1),e)||this.isBackTracking()||this.canPerformInRuleRecovery(e,this.getFollowsForInRuleRecovery(e,r)))},t.prototype.getFollowsForInRuleRecovery=function(e,r){var i=this.getCurrentGrammarPath(e,r),n=this.getNextPossibleTokenTypes(i);return n},t.prototype.tryInRuleRecovery=function(e,r){if(this.canRecoverWithSingleTokenInsertion(e,r)){var i=this.getTokenToInsert(e);return i}if(this.canRecoverWithSingleTokenDeletion(e)){var n=this.SKIP_TOKEN();return this.consumeToken(),n}throw new hS("sad sad panda")},t.prototype.canPerformInRuleRecovery=function(e,r){return this.canRecoverWithSingleTokenInsertion(e,r)||this.canRecoverWithSingleTokenDeletion(e)},t.prototype.canRecoverWithSingleTokenInsertion=function(e,r){var i=this;if(!this.canTokenTypeBeInsertedInRecovery(e)||(0,ts.isEmpty)(r))return!1;var n=this.LA(1),s=(0,ts.find)(r,function(o){return i.tokenMatcher(n,o)})!==void 0;return s},t.prototype.canRecoverWithSingleTokenDeletion=function(e){var r=this.tokenMatcher(this.LA(2),e);return r},t.prototype.isInCurrentRuleReSyncSet=function(e){var r=this.getCurrFollowKey(),i=this.getFollowSetFromFollowKey(r);return(0,ts.contains)(i,e)},t.prototype.findReSyncTokenType=function(){for(var e=this.flattenFollowSet(),r=this.LA(1),i=2;;){var n=r.tokenType;if((0,ts.contains)(e,n))return n;r=this.LA(i),i++}},t.prototype.getCurrFollowKey=function(){if(this.RULE_STACK.length===1)return xi.EOF_FOLLOW_KEY;var e=this.getLastExplicitRuleShortName(),r=this.getLastExplicitRuleOccurrenceIndex(),i=this.getPreviousExplicitRuleShortName();return{ruleName:this.shortRuleNameToFullName(e),idxInCallingRule:r,inRule:this.shortRuleNameToFullName(i)}},t.prototype.buildFullFollowKeyStack=function(){var e=this,r=this.RULE_STACK,i=this.RULE_OCCURRENCE_STACK;return(0,ts.map)(r,function(n,s){return s===0?xi.EOF_FOLLOW_KEY:{ruleName:e.shortRuleNameToFullName(n),idxInCallingRule:i[s],inRule:e.shortRuleNameToFullName(r[s-1])}})},t.prototype.flattenFollowSet=function(){var e=this,r=(0,ts.map)(this.buildFullFollowKeyStack(),function(i){return e.getFollowSetFromFollowKey(i)});return(0,ts.flatten)(r)},t.prototype.getFollowSetFromFollowKey=function(e){if(e===xi.EOF_FOLLOW_KEY)return[SI.EOF];var r=e.ruleName+e.idxInCallingRule+Eye.IN+e.inRule;return this.resyncFollows[r]},t.prototype.addToResyncTokens=function(e,r){return this.tokenMatcher(e,SI.EOF)||r.push(e),r},t.prototype.reSyncTo=function(e){for(var r=[],i=this.LA(1);this.tokenMatcher(i,e)===!1;)i=this.SKIP_TOKEN(),this.addToResyncTokens(i,r);return(0,ts.dropRight)(r)},t.prototype.attemptInRepetitionRecovery=function(e,r,i,n,s,o,a){},t.prototype.getCurrentGrammarPath=function(e,r){var i=this.getHumanReadableRuleStack(),n=(0,ts.cloneArr)(this.RULE_OCCURRENCE_STACK),s={ruleStack:i,occurrenceStack:n,lastTok:e,lastTokOccurrence:r};return s},t.prototype.getHumanReadableRuleStack=function(){var e=this;return(0,ts.map)(this.RULE_STACK,function(r){return e.shortRuleNameToFullName(r)})},t}();xi.Recoverable=yye;function Sj(t,e,r,i,n,s,o){var a=this.getKeyForAutomaticLookahead(i,n),l=this.firstAfterRepMap[a];if(l===void 0){var c=this.getCurrRuleFullName(),u=this.getGAstProductions()[c],g=new s(u,n);l=g.startWalking(),this.firstAfterRepMap[a]=l}var f=l.token,h=l.occurrence,p=l.isEndOfRule;this.RULE_STACK.length===1&&p&&f===void 0&&(f=SI.EOF,h=1),this.shouldInRepetitionRecoveryBeTried(f,h,o)&&this.tryInRepetitionRecovery(t,e,r,f)}xi.attemptInRepetitionRecovery=Sj});var xI=E(Nt=>{"use strict";Object.defineProperty(Nt,"__esModule",{value:!0});Nt.getKeyForAutomaticLookahead=Nt.AT_LEAST_ONE_SEP_IDX=Nt.MANY_SEP_IDX=Nt.AT_LEAST_ONE_IDX=Nt.MANY_IDX=Nt.OPTION_IDX=Nt.OR_IDX=Nt.BITS_FOR_ALT_IDX=Nt.BITS_FOR_RULE_IDX=Nt.BITS_FOR_OCCURRENCE_IDX=Nt.BITS_FOR_METHOD_TYPE=void 0;Nt.BITS_FOR_METHOD_TYPE=4;Nt.BITS_FOR_OCCURRENCE_IDX=8;Nt.BITS_FOR_RULE_IDX=12;Nt.BITS_FOR_ALT_IDX=8;Nt.OR_IDX=1<{"use strict";Object.defineProperty(kI,"__esModule",{value:!0});kI.LooksAhead=void 0;var Aa=_h(),Ns=Dt(),xj=Tn(),la=xI(),Nl=Jh(),Bye=function(){function t(){}return t.prototype.initLooksAhead=function(e){this.dynamicTokensEnabled=(0,Ns.has)(e,"dynamicTokensEnabled")?e.dynamicTokensEnabled:xj.DEFAULT_PARSER_CONFIG.dynamicTokensEnabled,this.maxLookahead=(0,Ns.has)(e,"maxLookahead")?e.maxLookahead:xj.DEFAULT_PARSER_CONFIG.maxLookahead,this.lookAheadFuncsCache=(0,Ns.isES2015MapSupported)()?new Map:[],(0,Ns.isES2015MapSupported)()?(this.getLaFuncFromCache=this.getLaFuncFromMap,this.setLaFuncCache=this.setLaFuncCacheUsingMap):(this.getLaFuncFromCache=this.getLaFuncFromObj,this.setLaFuncCache=this.setLaFuncUsingObj)},t.prototype.preComputeLookaheadFunctions=function(e){var r=this;(0,Ns.forEach)(e,function(i){r.TRACE_INIT(i.name+" Rule Lookahead",function(){var n=(0,Nl.collectMethods)(i),s=n.alternation,o=n.repetition,a=n.option,l=n.repetitionMandatory,c=n.repetitionMandatoryWithSeparator,u=n.repetitionWithSeparator;(0,Ns.forEach)(s,function(g){var f=g.idx===0?"":g.idx;r.TRACE_INIT(""+(0,Nl.getProductionDslName)(g)+f,function(){var h=(0,Aa.buildLookaheadFuncForOr)(g.idx,i,g.maxLookahead||r.maxLookahead,g.hasPredicates,r.dynamicTokensEnabled,r.lookAheadBuilderForAlternatives),p=(0,la.getKeyForAutomaticLookahead)(r.fullRuleNameToShort[i.name],la.OR_IDX,g.idx);r.setLaFuncCache(p,h)})}),(0,Ns.forEach)(o,function(g){r.computeLookaheadFunc(i,g.idx,la.MANY_IDX,Aa.PROD_TYPE.REPETITION,g.maxLookahead,(0,Nl.getProductionDslName)(g))}),(0,Ns.forEach)(a,function(g){r.computeLookaheadFunc(i,g.idx,la.OPTION_IDX,Aa.PROD_TYPE.OPTION,g.maxLookahead,(0,Nl.getProductionDslName)(g))}),(0,Ns.forEach)(l,function(g){r.computeLookaheadFunc(i,g.idx,la.AT_LEAST_ONE_IDX,Aa.PROD_TYPE.REPETITION_MANDATORY,g.maxLookahead,(0,Nl.getProductionDslName)(g))}),(0,Ns.forEach)(c,function(g){r.computeLookaheadFunc(i,g.idx,la.AT_LEAST_ONE_SEP_IDX,Aa.PROD_TYPE.REPETITION_MANDATORY_WITH_SEPARATOR,g.maxLookahead,(0,Nl.getProductionDslName)(g))}),(0,Ns.forEach)(u,function(g){r.computeLookaheadFunc(i,g.idx,la.MANY_SEP_IDX,Aa.PROD_TYPE.REPETITION_WITH_SEPARATOR,g.maxLookahead,(0,Nl.getProductionDslName)(g))})})})},t.prototype.computeLookaheadFunc=function(e,r,i,n,s,o){var a=this;this.TRACE_INIT(""+o+(r===0?"":r),function(){var l=(0,Aa.buildLookaheadFuncForOptionalProd)(r,e,s||a.maxLookahead,a.dynamicTokensEnabled,n,a.lookAheadBuilderForOptional),c=(0,la.getKeyForAutomaticLookahead)(a.fullRuleNameToShort[e.name],i,r);a.setLaFuncCache(c,l)})},t.prototype.lookAheadBuilderForOptional=function(e,r,i){return(0,Aa.buildSingleAlternativeLookaheadFunction)(e,r,i)},t.prototype.lookAheadBuilderForAlternatives=function(e,r,i,n){return(0,Aa.buildAlternativesLookAheadFunc)(e,r,i,n)},t.prototype.getKeyForAutomaticLookahead=function(e,r){var i=this.getLastExplicitRuleShortName();return(0,la.getKeyForAutomaticLookahead)(i,e,r)},t.prototype.getLaFuncFromCache=function(e){},t.prototype.getLaFuncFromMap=function(e){return this.lookAheadFuncsCache.get(e)},t.prototype.getLaFuncFromObj=function(e){return this.lookAheadFuncsCache[e]},t.prototype.setLaFuncCache=function(e,r){},t.prototype.setLaFuncCacheUsingMap=function(e,r){this.lookAheadFuncsCache.set(e,r)},t.prototype.setLaFuncUsingObj=function(e,r){this.lookAheadFuncsCache[e]=r},t}();kI.LooksAhead=Bye});var Pj=E(go=>{"use strict";Object.defineProperty(go,"__esModule",{value:!0});go.addNoneTerminalToCst=go.addTerminalToCst=go.setNodeLocationFull=go.setNodeLocationOnlyOffset=void 0;function Qye(t,e){isNaN(t.startOffset)===!0?(t.startOffset=e.startOffset,t.endOffset=e.endOffset):t.endOffset{"use strict";Object.defineProperty(aA,"__esModule",{value:!0});aA.defineNameProp=aA.functionName=aA.classNameFromInstance=void 0;var xye=Dt();function kye(t){return Dj(t.constructor)}aA.classNameFromInstance=kye;var Rj="name";function Dj(t){var e=t.name;return e||"anonymous"}aA.functionName=Dj;function Pye(t,e){var r=Object.getOwnPropertyDescriptor(t,Rj);return(0,xye.isUndefined)(r)||r.configurable?(Object.defineProperty(t,Rj,{enumerable:!1,configurable:!0,writable:!1,value:e}),!0):!1}aA.defineNameProp=Pye});var Mj=E(mi=>{"use strict";Object.defineProperty(mi,"__esModule",{value:!0});mi.validateRedundantMethods=mi.validateMissingCstMethods=mi.validateVisitor=mi.CstVisitorDefinitionError=mi.createBaseVisitorConstructorWithDefaults=mi.createBaseSemanticVisitorConstructor=mi.defaultVisit=void 0;var rs=Dt(),$h=dS();function Fj(t,e){for(var r=(0,rs.keys)(t),i=r.length,n=0;n: + `+(""+s.join(` + +`).replace(/\n/g,` + `)))}}};return r.prototype=i,r.prototype.constructor=r,r._RULE_NAMES=e,r}mi.createBaseSemanticVisitorConstructor=Dye;function Rye(t,e,r){var i=function(){};(0,$h.defineNameProp)(i,t+"BaseSemanticsWithDefaults");var n=Object.create(r.prototype);return(0,rs.forEach)(e,function(s){n[s]=Fj}),i.prototype=n,i.prototype.constructor=i,i}mi.createBaseVisitorConstructorWithDefaults=Rye;var CS;(function(t){t[t.REDUNDANT_METHOD=0]="REDUNDANT_METHOD",t[t.MISSING_METHOD=1]="MISSING_METHOD"})(CS=mi.CstVisitorDefinitionError||(mi.CstVisitorDefinitionError={}));function Nj(t,e){var r=Lj(t,e),i=Tj(t,e);return r.concat(i)}mi.validateVisitor=Nj;function Lj(t,e){var r=(0,rs.map)(e,function(i){if(!(0,rs.isFunction)(t[i]))return{msg:"Missing visitor method: <"+i+"> on "+(0,$h.functionName)(t.constructor)+" CST Visitor.",type:CS.MISSING_METHOD,methodName:i}});return(0,rs.compact)(r)}mi.validateMissingCstMethods=Lj;var Fye=["constructor","visit","validateVisitor"];function Tj(t,e){var r=[];for(var i in t)(0,rs.isFunction)(t[i])&&!(0,rs.contains)(Fye,i)&&!(0,rs.contains)(e,i)&&r.push({msg:"Redundant visitor method: <"+i+"> on "+(0,$h.functionName)(t.constructor)+` CST Visitor +There is no Grammar Rule corresponding to this method's name. +`,type:CS.REDUNDANT_METHOD,methodName:i});return r}mi.validateRedundantMethods=Tj});var Kj=E(PI=>{"use strict";Object.defineProperty(PI,"__esModule",{value:!0});PI.TreeBuilder=void 0;var Su=Pj(),Ur=Dt(),Oj=Mj(),Nye=Tn(),Lye=function(){function t(){}return t.prototype.initTreeBuilder=function(e){if(this.CST_STACK=[],this.outputCst=e.outputCst,this.nodeLocationTracking=(0,Ur.has)(e,"nodeLocationTracking")?e.nodeLocationTracking:Nye.DEFAULT_PARSER_CONFIG.nodeLocationTracking,!this.outputCst)this.cstInvocationStateUpdate=Ur.NOOP,this.cstFinallyStateUpdate=Ur.NOOP,this.cstPostTerminal=Ur.NOOP,this.cstPostNonTerminal=Ur.NOOP,this.cstPostRule=Ur.NOOP;else if(/full/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=Su.setNodeLocationFull,this.setNodeLocationFromNode=Su.setNodeLocationFull,this.cstPostRule=Ur.NOOP,this.setInitialNodeLocation=this.setInitialNodeLocationFullRecovery):(this.setNodeLocationFromToken=Ur.NOOP,this.setNodeLocationFromNode=Ur.NOOP,this.cstPostRule=this.cstPostRuleFull,this.setInitialNodeLocation=this.setInitialNodeLocationFullRegular);else if(/onlyOffset/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=Su.setNodeLocationOnlyOffset,this.setNodeLocationFromNode=Su.setNodeLocationOnlyOffset,this.cstPostRule=Ur.NOOP,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRecovery):(this.setNodeLocationFromToken=Ur.NOOP,this.setNodeLocationFromNode=Ur.NOOP,this.cstPostRule=this.cstPostRuleOnlyOffset,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRegular);else if(/none/i.test(this.nodeLocationTracking))this.setNodeLocationFromToken=Ur.NOOP,this.setNodeLocationFromNode=Ur.NOOP,this.cstPostRule=Ur.NOOP,this.setInitialNodeLocation=Ur.NOOP;else throw Error('Invalid config option: "'+e.nodeLocationTracking+'"')},t.prototype.setInitialNodeLocationOnlyOffsetRecovery=function(e){e.location={startOffset:NaN,endOffset:NaN}},t.prototype.setInitialNodeLocationOnlyOffsetRegular=function(e){e.location={startOffset:this.LA(1).startOffset,endOffset:NaN}},t.prototype.setInitialNodeLocationFullRecovery=function(e){e.location={startOffset:NaN,startLine:NaN,startColumn:NaN,endOffset:NaN,endLine:NaN,endColumn:NaN}},t.prototype.setInitialNodeLocationFullRegular=function(e){var r=this.LA(1);e.location={startOffset:r.startOffset,startLine:r.startLine,startColumn:r.startColumn,endOffset:NaN,endLine:NaN,endColumn:NaN}},t.prototype.cstInvocationStateUpdate=function(e,r){var i={name:e,children:{}};this.setInitialNodeLocation(i),this.CST_STACK.push(i)},t.prototype.cstFinallyStateUpdate=function(){this.CST_STACK.pop()},t.prototype.cstPostRuleFull=function(e){var r=this.LA(0),i=e.location;i.startOffset<=r.startOffset?(i.endOffset=r.endOffset,i.endLine=r.endLine,i.endColumn=r.endColumn):(i.startOffset=NaN,i.startLine=NaN,i.startColumn=NaN)},t.prototype.cstPostRuleOnlyOffset=function(e){var r=this.LA(0),i=e.location;i.startOffset<=r.startOffset?i.endOffset=r.endOffset:i.startOffset=NaN},t.prototype.cstPostTerminal=function(e,r){var i=this.CST_STACK[this.CST_STACK.length-1];(0,Su.addTerminalToCst)(i,r,e),this.setNodeLocationFromToken(i.location,r)},t.prototype.cstPostNonTerminal=function(e,r){var i=this.CST_STACK[this.CST_STACK.length-1];(0,Su.addNoneTerminalToCst)(i,r,e),this.setNodeLocationFromNode(i.location,e.location)},t.prototype.getBaseCstVisitorConstructor=function(){if((0,Ur.isUndefined)(this.baseCstVisitorConstructor)){var e=(0,Oj.createBaseSemanticVisitorConstructor)(this.className,(0,Ur.keys)(this.gastProductionsCache));return this.baseCstVisitorConstructor=e,e}return this.baseCstVisitorConstructor},t.prototype.getBaseCstVisitorConstructorWithDefaults=function(){if((0,Ur.isUndefined)(this.baseCstVisitorWithDefaultsConstructor)){var e=(0,Oj.createBaseVisitorConstructorWithDefaults)(this.className,(0,Ur.keys)(this.gastProductionsCache),this.getBaseCstVisitorConstructor());return this.baseCstVisitorWithDefaultsConstructor=e,e}return this.baseCstVisitorWithDefaultsConstructor},t.prototype.getLastExplicitRuleShortName=function(){var e=this.RULE_STACK;return e[e.length-1]},t.prototype.getPreviousExplicitRuleShortName=function(){var e=this.RULE_STACK;return e[e.length-2]},t.prototype.getLastExplicitRuleOccurrenceIndex=function(){var e=this.RULE_OCCURRENCE_STACK;return e[e.length-1]},t}();PI.TreeBuilder=Lye});var Hj=E(DI=>{"use strict";Object.defineProperty(DI,"__esModule",{value:!0});DI.LexerAdapter=void 0;var Uj=Tn(),Tye=function(){function t(){}return t.prototype.initLexerAdapter=function(){this.tokVector=[],this.tokVectorLength=0,this.currIdx=-1},Object.defineProperty(t.prototype,"input",{get:function(){return this.tokVector},set:function(e){if(this.selfAnalysisDone!==!0)throw Error("Missing invocation at the end of the Parser's constructor.");this.reset(),this.tokVector=e,this.tokVectorLength=e.length},enumerable:!1,configurable:!0}),t.prototype.SKIP_TOKEN=function(){return this.currIdx<=this.tokVector.length-2?(this.consumeToken(),this.LA(1)):Uj.END_OF_FILE},t.prototype.LA=function(e){var r=this.currIdx+e;return r<0||this.tokVectorLength<=r?Uj.END_OF_FILE:this.tokVector[r]},t.prototype.consumeToken=function(){this.currIdx++},t.prototype.exportLexerState=function(){return this.currIdx},t.prototype.importLexerState=function(e){this.currIdx=e},t.prototype.resetLexerState=function(){this.currIdx=-1},t.prototype.moveToTerminatedState=function(){this.currIdx=this.tokVector.length-1},t.prototype.getLexerPosition=function(){return this.exportLexerState()},t}();DI.LexerAdapter=Tye});var jj=E(RI=>{"use strict";Object.defineProperty(RI,"__esModule",{value:!0});RI.RecognizerApi=void 0;var Gj=Dt(),Mye=vu(),mS=Tn(),Oye=Wh(),Kye=gS(),Uye=hn(),Hye=function(){function t(){}return t.prototype.ACTION=function(e){return e.call(this)},t.prototype.consume=function(e,r,i){return this.consumeInternal(r,e,i)},t.prototype.subrule=function(e,r,i){return this.subruleInternal(r,e,i)},t.prototype.option=function(e,r){return this.optionInternal(r,e)},t.prototype.or=function(e,r){return this.orInternal(r,e)},t.prototype.many=function(e,r){return this.manyInternal(e,r)},t.prototype.atLeastOne=function(e,r){return this.atLeastOneInternal(e,r)},t.prototype.CONSUME=function(e,r){return this.consumeInternal(e,0,r)},t.prototype.CONSUME1=function(e,r){return this.consumeInternal(e,1,r)},t.prototype.CONSUME2=function(e,r){return this.consumeInternal(e,2,r)},t.prototype.CONSUME3=function(e,r){return this.consumeInternal(e,3,r)},t.prototype.CONSUME4=function(e,r){return this.consumeInternal(e,4,r)},t.prototype.CONSUME5=function(e,r){return this.consumeInternal(e,5,r)},t.prototype.CONSUME6=function(e,r){return this.consumeInternal(e,6,r)},t.prototype.CONSUME7=function(e,r){return this.consumeInternal(e,7,r)},t.prototype.CONSUME8=function(e,r){return this.consumeInternal(e,8,r)},t.prototype.CONSUME9=function(e,r){return this.consumeInternal(e,9,r)},t.prototype.SUBRULE=function(e,r){return this.subruleInternal(e,0,r)},t.prototype.SUBRULE1=function(e,r){return this.subruleInternal(e,1,r)},t.prototype.SUBRULE2=function(e,r){return this.subruleInternal(e,2,r)},t.prototype.SUBRULE3=function(e,r){return this.subruleInternal(e,3,r)},t.prototype.SUBRULE4=function(e,r){return this.subruleInternal(e,4,r)},t.prototype.SUBRULE5=function(e,r){return this.subruleInternal(e,5,r)},t.prototype.SUBRULE6=function(e,r){return this.subruleInternal(e,6,r)},t.prototype.SUBRULE7=function(e,r){return this.subruleInternal(e,7,r)},t.prototype.SUBRULE8=function(e,r){return this.subruleInternal(e,8,r)},t.prototype.SUBRULE9=function(e,r){return this.subruleInternal(e,9,r)},t.prototype.OPTION=function(e){return this.optionInternal(e,0)},t.prototype.OPTION1=function(e){return this.optionInternal(e,1)},t.prototype.OPTION2=function(e){return this.optionInternal(e,2)},t.prototype.OPTION3=function(e){return this.optionInternal(e,3)},t.prototype.OPTION4=function(e){return this.optionInternal(e,4)},t.prototype.OPTION5=function(e){return this.optionInternal(e,5)},t.prototype.OPTION6=function(e){return this.optionInternal(e,6)},t.prototype.OPTION7=function(e){return this.optionInternal(e,7)},t.prototype.OPTION8=function(e){return this.optionInternal(e,8)},t.prototype.OPTION9=function(e){return this.optionInternal(e,9)},t.prototype.OR=function(e){return this.orInternal(e,0)},t.prototype.OR1=function(e){return this.orInternal(e,1)},t.prototype.OR2=function(e){return this.orInternal(e,2)},t.prototype.OR3=function(e){return this.orInternal(e,3)},t.prototype.OR4=function(e){return this.orInternal(e,4)},t.prototype.OR5=function(e){return this.orInternal(e,5)},t.prototype.OR6=function(e){return this.orInternal(e,6)},t.prototype.OR7=function(e){return this.orInternal(e,7)},t.prototype.OR8=function(e){return this.orInternal(e,8)},t.prototype.OR9=function(e){return this.orInternal(e,9)},t.prototype.MANY=function(e){this.manyInternal(0,e)},t.prototype.MANY1=function(e){this.manyInternal(1,e)},t.prototype.MANY2=function(e){this.manyInternal(2,e)},t.prototype.MANY3=function(e){this.manyInternal(3,e)},t.prototype.MANY4=function(e){this.manyInternal(4,e)},t.prototype.MANY5=function(e){this.manyInternal(5,e)},t.prototype.MANY6=function(e){this.manyInternal(6,e)},t.prototype.MANY7=function(e){this.manyInternal(7,e)},t.prototype.MANY8=function(e){this.manyInternal(8,e)},t.prototype.MANY9=function(e){this.manyInternal(9,e)},t.prototype.MANY_SEP=function(e){this.manySepFirstInternal(0,e)},t.prototype.MANY_SEP1=function(e){this.manySepFirstInternal(1,e)},t.prototype.MANY_SEP2=function(e){this.manySepFirstInternal(2,e)},t.prototype.MANY_SEP3=function(e){this.manySepFirstInternal(3,e)},t.prototype.MANY_SEP4=function(e){this.manySepFirstInternal(4,e)},t.prototype.MANY_SEP5=function(e){this.manySepFirstInternal(5,e)},t.prototype.MANY_SEP6=function(e){this.manySepFirstInternal(6,e)},t.prototype.MANY_SEP7=function(e){this.manySepFirstInternal(7,e)},t.prototype.MANY_SEP8=function(e){this.manySepFirstInternal(8,e)},t.prototype.MANY_SEP9=function(e){this.manySepFirstInternal(9,e)},t.prototype.AT_LEAST_ONE=function(e){this.atLeastOneInternal(0,e)},t.prototype.AT_LEAST_ONE1=function(e){return this.atLeastOneInternal(1,e)},t.prototype.AT_LEAST_ONE2=function(e){this.atLeastOneInternal(2,e)},t.prototype.AT_LEAST_ONE3=function(e){this.atLeastOneInternal(3,e)},t.prototype.AT_LEAST_ONE4=function(e){this.atLeastOneInternal(4,e)},t.prototype.AT_LEAST_ONE5=function(e){this.atLeastOneInternal(5,e)},t.prototype.AT_LEAST_ONE6=function(e){this.atLeastOneInternal(6,e)},t.prototype.AT_LEAST_ONE7=function(e){this.atLeastOneInternal(7,e)},t.prototype.AT_LEAST_ONE8=function(e){this.atLeastOneInternal(8,e)},t.prototype.AT_LEAST_ONE9=function(e){this.atLeastOneInternal(9,e)},t.prototype.AT_LEAST_ONE_SEP=function(e){this.atLeastOneSepFirstInternal(0,e)},t.prototype.AT_LEAST_ONE_SEP1=function(e){this.atLeastOneSepFirstInternal(1,e)},t.prototype.AT_LEAST_ONE_SEP2=function(e){this.atLeastOneSepFirstInternal(2,e)},t.prototype.AT_LEAST_ONE_SEP3=function(e){this.atLeastOneSepFirstInternal(3,e)},t.prototype.AT_LEAST_ONE_SEP4=function(e){this.atLeastOneSepFirstInternal(4,e)},t.prototype.AT_LEAST_ONE_SEP5=function(e){this.atLeastOneSepFirstInternal(5,e)},t.prototype.AT_LEAST_ONE_SEP6=function(e){this.atLeastOneSepFirstInternal(6,e)},t.prototype.AT_LEAST_ONE_SEP7=function(e){this.atLeastOneSepFirstInternal(7,e)},t.prototype.AT_LEAST_ONE_SEP8=function(e){this.atLeastOneSepFirstInternal(8,e)},t.prototype.AT_LEAST_ONE_SEP9=function(e){this.atLeastOneSepFirstInternal(9,e)},t.prototype.RULE=function(e,r,i){if(i===void 0&&(i=mS.DEFAULT_RULE_CONFIG),(0,Gj.contains)(this.definedRulesNames,e)){var n=Oye.defaultGrammarValidatorErrorProvider.buildDuplicateRuleNameError({topLevelRule:e,grammarName:this.className}),s={message:n,type:mS.ParserDefinitionErrorType.DUPLICATE_RULE_NAME,ruleName:e};this.definitionErrors.push(s)}this.definedRulesNames.push(e);var o=this.defineRule(e,r,i);return this[e]=o,o},t.prototype.OVERRIDE_RULE=function(e,r,i){i===void 0&&(i=mS.DEFAULT_RULE_CONFIG);var n=[];n=n.concat((0,Kye.validateRuleIsOverridden)(e,this.definedRulesNames,this.className)),this.definitionErrors=this.definitionErrors.concat(n);var s=this.defineRule(e,r,i);return this[e]=s,s},t.prototype.BACKTRACK=function(e,r){return function(){this.isBackTrackingStack.push(1);var i=this.saveRecogState();try{return e.apply(this,r),!0}catch(n){if((0,Mye.isRecognitionException)(n))return!1;throw n}finally{this.reloadRecogState(i),this.isBackTrackingStack.pop()}}},t.prototype.getGAstProductions=function(){return this.gastProductionsCache},t.prototype.getSerializedGastProductions=function(){return(0,Uye.serializeGrammar)((0,Gj.values)(this.gastProductionsCache))},t}();RI.RecognizerApi=Hye});var Wj=E(FI=>{"use strict";Object.defineProperty(FI,"__esModule",{value:!0});FI.RecognizerEngine=void 0;var Er=Dt(),Mn=xI(),NI=vu(),Yj=_h(),xu=Vh(),qj=Tn(),Gye=pS(),Jj=nA(),ep=yu(),jye=dS(),Yye=function(){function t(){}return t.prototype.initRecognizerEngine=function(e,r){if(this.className=(0,jye.classNameFromInstance)(this),this.shortRuleNameToFull={},this.fullRuleNameToShort={},this.ruleShortNameIdx=256,this.tokenMatcher=ep.tokenStructuredMatcherNoCategories,this.definedRulesNames=[],this.tokensMap={},this.isBackTrackingStack=[],this.RULE_STACK=[],this.RULE_OCCURRENCE_STACK=[],this.gastProductionsCache={},(0,Er.has)(r,"serializedGrammar"))throw Error(`The Parser's configuration can no longer contain a property. + See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_6-0-0 + For Further details.`);if((0,Er.isArray)(e)){if((0,Er.isEmpty)(e))throw Error(`A Token Vocabulary cannot be empty. + Note that the first argument for the parser constructor + is no longer a Token vector (since v4.0).`);if(typeof e[0].startOffset=="number")throw Error(`The Parser constructor no longer accepts a token vector as the first argument. + See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_4-0-0 + For Further details.`)}if((0,Er.isArray)(e))this.tokensMap=(0,Er.reduce)(e,function(o,a){return o[a.name]=a,o},{});else if((0,Er.has)(e,"modes")&&(0,Er.every)((0,Er.flatten)((0,Er.values)(e.modes)),ep.isTokenType)){var i=(0,Er.flatten)((0,Er.values)(e.modes)),n=(0,Er.uniq)(i);this.tokensMap=(0,Er.reduce)(n,function(o,a){return o[a.name]=a,o},{})}else if((0,Er.isObject)(e))this.tokensMap=(0,Er.cloneObj)(e);else throw new Error(" argument must be An Array of Token constructors, A dictionary of Token constructors or an IMultiModeLexerDefinition");this.tokensMap.EOF=Jj.EOF;var s=(0,Er.every)((0,Er.values)(e),function(o){return(0,Er.isEmpty)(o.categoryMatches)});this.tokenMatcher=s?ep.tokenStructuredMatcherNoCategories:ep.tokenStructuredMatcher,(0,ep.augmentTokenTypes)((0,Er.values)(this.tokensMap))},t.prototype.defineRule=function(e,r,i){if(this.selfAnalysisDone)throw Error("Grammar rule <"+e+`> may not be defined after the 'performSelfAnalysis' method has been called' +Make sure that all grammar rule definitions are done before 'performSelfAnalysis' is called.`);var n=(0,Er.has)(i,"resyncEnabled")?i.resyncEnabled:qj.DEFAULT_RULE_CONFIG.resyncEnabled,s=(0,Er.has)(i,"recoveryValueFunc")?i.recoveryValueFunc:qj.DEFAULT_RULE_CONFIG.recoveryValueFunc,o=this.ruleShortNameIdx<r},t.prototype.orInternal=function(e,r){var i=this.getKeyForAutomaticLookahead(Mn.OR_IDX,r),n=(0,Er.isArray)(e)?e:e.DEF,s=this.getLaFuncFromCache(i),o=s.call(this,n);if(o!==void 0){var a=n[o];return a.ALT.call(this)}this.raiseNoAltException(r,e.ERR_MSG)},t.prototype.ruleFinallyStateUpdate=function(){if(this.RULE_STACK.pop(),this.RULE_OCCURRENCE_STACK.pop(),this.cstFinallyStateUpdate(),this.RULE_STACK.length===0&&this.isAtEndOfInput()===!1){var e=this.LA(1),r=this.errorMessageProvider.buildNotAllInputParsedMessage({firstRedundant:e,ruleName:this.getCurrRuleFullName()});this.SAVE_ERROR(new NI.NotAllInputParsedException(r,e))}},t.prototype.subruleInternal=function(e,r,i){var n;try{var s=i!==void 0?i.ARGS:void 0;return n=e.call(this,r,s),this.cstPostNonTerminal(n,i!==void 0&&i.LABEL!==void 0?i.LABEL:e.ruleName),n}catch(o){this.subruleInternalError(o,i,e.ruleName)}},t.prototype.subruleInternalError=function(e,r,i){throw(0,NI.isRecognitionException)(e)&&e.partialCstResult!==void 0&&(this.cstPostNonTerminal(e.partialCstResult,r!==void 0&&r.LABEL!==void 0?r.LABEL:i),delete e.partialCstResult),e},t.prototype.consumeInternal=function(e,r,i){var n;try{var s=this.LA(1);this.tokenMatcher(s,e)===!0?(this.consumeToken(),n=s):this.consumeInternalError(e,s,i)}catch(o){n=this.consumeInternalRecovery(e,r,o)}return this.cstPostTerminal(i!==void 0&&i.LABEL!==void 0?i.LABEL:e.name,n),n},t.prototype.consumeInternalError=function(e,r,i){var n,s=this.LA(0);throw i!==void 0&&i.ERR_MSG?n=i.ERR_MSG:n=this.errorMessageProvider.buildMismatchTokenMessage({expected:e,actual:r,previous:s,ruleName:this.getCurrRuleFullName()}),this.SAVE_ERROR(new NI.MismatchedTokenException(n,r,s))},t.prototype.consumeInternalRecovery=function(e,r,i){if(this.recoveryEnabled&&i.name==="MismatchedTokenException"&&!this.isBackTracking()){var n=this.getFollowsForInRuleRecovery(e,r);try{return this.tryInRuleRecovery(e,n)}catch(s){throw s.name===Gye.IN_RULE_RECOVERY_EXCEPTION?i:s}}else throw i},t.prototype.saveRecogState=function(){var e=this.errors,r=(0,Er.cloneArr)(this.RULE_STACK);return{errors:e,lexerState:this.exportLexerState(),RULE_STACK:r,CST_STACK:this.CST_STACK}},t.prototype.reloadRecogState=function(e){this.errors=e.errors,this.importLexerState(e.lexerState),this.RULE_STACK=e.RULE_STACK},t.prototype.ruleInvocationStateUpdate=function(e,r,i){this.RULE_OCCURRENCE_STACK.push(i),this.RULE_STACK.push(e),this.cstInvocationStateUpdate(r,e)},t.prototype.isBackTracking=function(){return this.isBackTrackingStack.length!==0},t.prototype.getCurrRuleFullName=function(){var e=this.getLastExplicitRuleShortName();return this.shortRuleNameToFull[e]},t.prototype.shortRuleNameToFullName=function(e){return this.shortRuleNameToFull[e]},t.prototype.isAtEndOfInput=function(){return this.tokenMatcher(this.LA(1),Jj.EOF)},t.prototype.reset=function(){this.resetLexerState(),this.isBackTrackingStack=[],this.errors=[],this.RULE_STACK=[],this.CST_STACK=[],this.RULE_OCCURRENCE_STACK=[]},t}();FI.RecognizerEngine=Yye});var Vj=E(LI=>{"use strict";Object.defineProperty(LI,"__esModule",{value:!0});LI.ErrorHandler=void 0;var ES=vu(),IS=Dt(),zj=_h(),qye=Tn(),Jye=function(){function t(){}return t.prototype.initErrorHandler=function(e){this._errors=[],this.errorMessageProvider=(0,IS.has)(e,"errorMessageProvider")?e.errorMessageProvider:qye.DEFAULT_PARSER_CONFIG.errorMessageProvider},t.prototype.SAVE_ERROR=function(e){if((0,ES.isRecognitionException)(e))return e.context={ruleStack:this.getHumanReadableRuleStack(),ruleOccurrenceStack:(0,IS.cloneArr)(this.RULE_OCCURRENCE_STACK)},this._errors.push(e),e;throw Error("Trying to save an Error which is not a RecognitionException")},Object.defineProperty(t.prototype,"errors",{get:function(){return(0,IS.cloneArr)(this._errors)},set:function(e){this._errors=e},enumerable:!1,configurable:!0}),t.prototype.raiseEarlyExitException=function(e,r,i){for(var n=this.getCurrRuleFullName(),s=this.getGAstProductions()[n],o=(0,zj.getLookaheadPathsForOptionalProd)(e,s,r,this.maxLookahead),a=o[0],l=[],c=1;c<=this.maxLookahead;c++)l.push(this.LA(c));var u=this.errorMessageProvider.buildEarlyExitMessage({expectedIterationPaths:a,actual:l,previous:this.LA(0),customUserDescription:i,ruleName:n});throw this.SAVE_ERROR(new ES.EarlyExitException(u,this.LA(1),this.LA(0)))},t.prototype.raiseNoAltException=function(e,r){for(var i=this.getCurrRuleFullName(),n=this.getGAstProductions()[i],s=(0,zj.getLookaheadPathsForOr)(e,n,this.maxLookahead),o=[],a=1;a<=this.maxLookahead;a++)o.push(this.LA(a));var l=this.LA(0),c=this.errorMessageProvider.buildNoViableAltMessage({expectedPathsPerAlt:s,actual:o,previous:l,customUserDescription:r,ruleName:this.getCurrRuleFullName()});throw this.SAVE_ERROR(new ES.NoViableAltException(c,this.LA(1),l))},t}();LI.ErrorHandler=Jye});var Zj=E(TI=>{"use strict";Object.defineProperty(TI,"__esModule",{value:!0});TI.ContentAssist=void 0;var _j=Vh(),Xj=Dt(),Wye=function(){function t(){}return t.prototype.initContentAssist=function(){},t.prototype.computeContentAssist=function(e,r){var i=this.gastProductionsCache[e];if((0,Xj.isUndefined)(i))throw Error("Rule ->"+e+"<- does not exist in this grammar.");return(0,_j.nextPossibleTokensAfter)([i],r,this.tokenMatcher,this.maxLookahead)},t.prototype.getNextPossibleTokenTypes=function(e){var r=(0,Xj.first)(e.ruleStack),i=this.getGAstProductions(),n=i[r],s=new _j.NextAfterTokenWalker(n,e).startWalking();return s},t}();TI.ContentAssist=Wye});var oY=E(MI=>{"use strict";Object.defineProperty(MI,"__esModule",{value:!0});MI.GastRecorder=void 0;var Cn=Dt(),fo=hn(),zye=Gh(),$j=yu(),eY=nA(),Vye=Tn(),_ye=xI(),OI={description:"This Object indicates the Parser is during Recording Phase"};Object.freeze(OI);var tY=!0,rY=Math.pow(2,_ye.BITS_FOR_OCCURRENCE_IDX)-1,iY=(0,eY.createToken)({name:"RECORDING_PHASE_TOKEN",pattern:zye.Lexer.NA});(0,$j.augmentTokenTypes)([iY]);var nY=(0,eY.createTokenInstance)(iY,`This IToken indicates the Parser is in Recording Phase + See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,-1,-1,-1,-1,-1,-1);Object.freeze(nY);var Xye={name:`This CSTNode indicates the Parser is in Recording Phase + See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,children:{}},$ye=function(){function t(){}return t.prototype.initGastRecorder=function(e){this.recordingProdStack=[],this.RECORDING_PHASE=!1},t.prototype.enableRecording=function(){var e=this;this.RECORDING_PHASE=!0,this.TRACE_INIT("Enable Recording",function(){for(var r=function(n){var s=n>0?n:"";e["CONSUME"+s]=function(o,a){return this.consumeInternalRecord(o,n,a)},e["SUBRULE"+s]=function(o,a){return this.subruleInternalRecord(o,n,a)},e["OPTION"+s]=function(o){return this.optionInternalRecord(o,n)},e["OR"+s]=function(o){return this.orInternalRecord(o,n)},e["MANY"+s]=function(o){this.manyInternalRecord(n,o)},e["MANY_SEP"+s]=function(o){this.manySepFirstInternalRecord(n,o)},e["AT_LEAST_ONE"+s]=function(o){this.atLeastOneInternalRecord(n,o)},e["AT_LEAST_ONE_SEP"+s]=function(o){this.atLeastOneSepFirstInternalRecord(n,o)}},i=0;i<10;i++)r(i);e.consume=function(n,s,o){return this.consumeInternalRecord(s,n,o)},e.subrule=function(n,s,o){return this.subruleInternalRecord(s,n,o)},e.option=function(n,s){return this.optionInternalRecord(s,n)},e.or=function(n,s){return this.orInternalRecord(s,n)},e.many=function(n,s){this.manyInternalRecord(n,s)},e.atLeastOne=function(n,s){this.atLeastOneInternalRecord(n,s)},e.ACTION=e.ACTION_RECORD,e.BACKTRACK=e.BACKTRACK_RECORD,e.LA=e.LA_RECORD})},t.prototype.disableRecording=function(){var e=this;this.RECORDING_PHASE=!1,this.TRACE_INIT("Deleting Recording methods",function(){for(var r=0;r<10;r++){var i=r>0?r:"";delete e["CONSUME"+i],delete e["SUBRULE"+i],delete e["OPTION"+i],delete e["OR"+i],delete e["MANY"+i],delete e["MANY_SEP"+i],delete e["AT_LEAST_ONE"+i],delete e["AT_LEAST_ONE_SEP"+i]}delete e.consume,delete e.subrule,delete e.option,delete e.or,delete e.many,delete e.atLeastOne,delete e.ACTION,delete e.BACKTRACK,delete e.LA})},t.prototype.ACTION_RECORD=function(e){},t.prototype.BACKTRACK_RECORD=function(e,r){return function(){return!0}},t.prototype.LA_RECORD=function(e){return Vye.END_OF_FILE},t.prototype.topLevelRuleRecord=function(e,r){try{var i=new fo.Rule({definition:[],name:e});return i.name=e,this.recordingProdStack.push(i),r.call(this),this.recordingProdStack.pop(),i}catch(n){if(n.KNOWN_RECORDER_ERROR!==!0)try{n.message=n.message+` + This error was thrown during the "grammar recording phase" For more info see: + https://chevrotain.io/docs/guide/internals.html#grammar-recording`}catch(s){throw n}throw n}},t.prototype.optionInternalRecord=function(e,r){return tp.call(this,fo.Option,e,r)},t.prototype.atLeastOneInternalRecord=function(e,r){tp.call(this,fo.RepetitionMandatory,r,e)},t.prototype.atLeastOneSepFirstInternalRecord=function(e,r){tp.call(this,fo.RepetitionMandatoryWithSeparator,r,e,tY)},t.prototype.manyInternalRecord=function(e,r){tp.call(this,fo.Repetition,r,e)},t.prototype.manySepFirstInternalRecord=function(e,r){tp.call(this,fo.RepetitionWithSeparator,r,e,tY)},t.prototype.orInternalRecord=function(e,r){return Zye.call(this,e,r)},t.prototype.subruleInternalRecord=function(e,r,i){if(KI(r),!e||(0,Cn.has)(e,"ruleName")===!1){var n=new Error(" argument is invalid"+(" expecting a Parser method reference but got: <"+JSON.stringify(e)+">")+(` + inside top level rule: <`+this.recordingProdStack[0].name+">"));throw n.KNOWN_RECORDER_ERROR=!0,n}var s=(0,Cn.peek)(this.recordingProdStack),o=e.ruleName,a=new fo.NonTerminal({idx:r,nonTerminalName:o,label:i==null?void 0:i.LABEL,referencedRule:void 0});return s.definition.push(a),this.outputCst?Xye:OI},t.prototype.consumeInternalRecord=function(e,r,i){if(KI(r),!(0,$j.hasShortKeyProperty)(e)){var n=new Error(" argument is invalid"+(" expecting a TokenType reference but got: <"+JSON.stringify(e)+">")+(` + inside top level rule: <`+this.recordingProdStack[0].name+">"));throw n.KNOWN_RECORDER_ERROR=!0,n}var s=(0,Cn.peek)(this.recordingProdStack),o=new fo.Terminal({idx:r,terminalType:e,label:i==null?void 0:i.LABEL});return s.definition.push(o),nY},t}();MI.GastRecorder=$ye;function tp(t,e,r,i){i===void 0&&(i=!1),KI(r);var n=(0,Cn.peek)(this.recordingProdStack),s=(0,Cn.isFunction)(e)?e:e.DEF,o=new t({definition:[],idx:r});return i&&(o.separator=e.SEP),(0,Cn.has)(e,"MAX_LOOKAHEAD")&&(o.maxLookahead=e.MAX_LOOKAHEAD),this.recordingProdStack.push(o),s.call(this),n.definition.push(o),this.recordingProdStack.pop(),OI}function Zye(t,e){var r=this;KI(e);var i=(0,Cn.peek)(this.recordingProdStack),n=(0,Cn.isArray)(t)===!1,s=n===!1?t:t.DEF,o=new fo.Alternation({definition:[],idx:e,ignoreAmbiguities:n&&t.IGNORE_AMBIGUITIES===!0});(0,Cn.has)(t,"MAX_LOOKAHEAD")&&(o.maxLookahead=t.MAX_LOOKAHEAD);var a=(0,Cn.some)(s,function(l){return(0,Cn.isFunction)(l.GATE)});return o.hasPredicates=a,i.definition.push(o),(0,Cn.forEach)(s,function(l){var c=new fo.Alternative({definition:[]});o.definition.push(c),(0,Cn.has)(l,"IGNORE_AMBIGUITIES")?c.ignoreAmbiguities=l.IGNORE_AMBIGUITIES:(0,Cn.has)(l,"GATE")&&(c.ignoreAmbiguities=!0),r.recordingProdStack.push(c),l.ALT.call(r),r.recordingProdStack.pop()}),OI}function sY(t){return t===0?"":""+t}function KI(t){if(t<0||t>rY){var e=new Error("Invalid DSL Method idx value: <"+t+`> + `+("Idx value must be a none negative value smaller than "+(rY+1)));throw e.KNOWN_RECORDER_ERROR=!0,e}}});var AY=E(UI=>{"use strict";Object.defineProperty(UI,"__esModule",{value:!0});UI.PerformanceTracer=void 0;var aY=Dt(),ewe=Tn(),twe=function(){function t(){}return t.prototype.initPerformanceTracer=function(e){if((0,aY.has)(e,"traceInitPerf")){var r=e.traceInitPerf,i=typeof r=="number";this.traceInitMaxIdent=i?r:Infinity,this.traceInitPerf=i?r>0:r}else this.traceInitMaxIdent=0,this.traceInitPerf=ewe.DEFAULT_PARSER_CONFIG.traceInitPerf;this.traceInitIndent=-1},t.prototype.TRACE_INIT=function(e,r){if(this.traceInitPerf===!0){this.traceInitIndent++;var i=new Array(this.traceInitIndent+1).join(" ");this.traceInitIndent <"+e+">");var n=(0,aY.timer)(r),s=n.time,o=n.value,a=s>10?console.warn:console.log;return this.traceInitIndent time: "+s+"ms"),this.traceInitIndent--,o}else return r()},t}();UI.PerformanceTracer=twe});var lY=E(HI=>{"use strict";Object.defineProperty(HI,"__esModule",{value:!0});HI.applyMixins=void 0;function rwe(t,e){e.forEach(function(r){var i=r.prototype;Object.getOwnPropertyNames(i).forEach(function(n){if(n!=="constructor"){var s=Object.getOwnPropertyDescriptor(i,n);s&&(s.get||s.set)?Object.defineProperty(t.prototype,n,s):t.prototype[n]=r.prototype[n]}})})}HI.applyMixins=rwe});var Tn=E(or=>{"use strict";var cY=or&&or.__extends||function(){var t=function(e,r){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},t(e,r)};return function(e,r){if(typeof r!="function"&&r!==null)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");t(e,r);function i(){this.constructor=e}e.prototype=r===null?Object.create(r):(i.prototype=r.prototype,new i)}}();Object.defineProperty(or,"__esModule",{value:!0});or.EmbeddedActionsParser=or.CstParser=or.Parser=or.EMPTY_ALT=or.ParserDefinitionErrorType=or.DEFAULT_RULE_CONFIG=or.DEFAULT_PARSER_CONFIG=or.END_OF_FILE=void 0;var Wi=Dt(),iwe=VG(),uY=nA(),gY=Wh(),fY=yj(),nwe=pS(),swe=kj(),owe=Kj(),awe=Hj(),Awe=jj(),lwe=Wj(),cwe=Vj(),uwe=Zj(),gwe=oY(),fwe=AY(),hwe=lY();or.END_OF_FILE=(0,uY.createTokenInstance)(uY.EOF,"",NaN,NaN,NaN,NaN,NaN,NaN);Object.freeze(or.END_OF_FILE);or.DEFAULT_PARSER_CONFIG=Object.freeze({recoveryEnabled:!1,maxLookahead:3,dynamicTokensEnabled:!1,outputCst:!0,errorMessageProvider:gY.defaultParserErrorProvider,nodeLocationTracking:"none",traceInitPerf:!1,skipValidations:!1});or.DEFAULT_RULE_CONFIG=Object.freeze({recoveryValueFunc:function(){},resyncEnabled:!0});var pwe;(function(t){t[t.INVALID_RULE_NAME=0]="INVALID_RULE_NAME",t[t.DUPLICATE_RULE_NAME=1]="DUPLICATE_RULE_NAME",t[t.INVALID_RULE_OVERRIDE=2]="INVALID_RULE_OVERRIDE",t[t.DUPLICATE_PRODUCTIONS=3]="DUPLICATE_PRODUCTIONS",t[t.UNRESOLVED_SUBRULE_REF=4]="UNRESOLVED_SUBRULE_REF",t[t.LEFT_RECURSION=5]="LEFT_RECURSION",t[t.NONE_LAST_EMPTY_ALT=6]="NONE_LAST_EMPTY_ALT",t[t.AMBIGUOUS_ALTS=7]="AMBIGUOUS_ALTS",t[t.CONFLICT_TOKENS_RULES_NAMESPACE=8]="CONFLICT_TOKENS_RULES_NAMESPACE",t[t.INVALID_TOKEN_NAME=9]="INVALID_TOKEN_NAME",t[t.NO_NON_EMPTY_LOOKAHEAD=10]="NO_NON_EMPTY_LOOKAHEAD",t[t.AMBIGUOUS_PREFIX_ALTS=11]="AMBIGUOUS_PREFIX_ALTS",t[t.TOO_MANY_ALTS=12]="TOO_MANY_ALTS"})(pwe=or.ParserDefinitionErrorType||(or.ParserDefinitionErrorType={}));function dwe(t){return t===void 0&&(t=void 0),function(){return t}}or.EMPTY_ALT=dwe;var GI=function(){function t(e,r){this.definitionErrors=[],this.selfAnalysisDone=!1;var i=this;if(i.initErrorHandler(r),i.initLexerAdapter(),i.initLooksAhead(r),i.initRecognizerEngine(e,r),i.initRecoverable(r),i.initTreeBuilder(r),i.initContentAssist(),i.initGastRecorder(r),i.initPerformanceTracer(r),(0,Wi.has)(r,"ignoredIssues"))throw new Error(`The IParserConfig property has been deprecated. + Please use the flag on the relevant DSL method instead. + See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#IGNORING_AMBIGUITIES + For further details.`);this.skipValidations=(0,Wi.has)(r,"skipValidations")?r.skipValidations:or.DEFAULT_PARSER_CONFIG.skipValidations}return t.performSelfAnalysis=function(e){throw Error("The **static** `performSelfAnalysis` method has been deprecated. \nUse the **instance** method with the same name instead.")},t.prototype.performSelfAnalysis=function(){var e=this;this.TRACE_INIT("performSelfAnalysis",function(){var r;e.selfAnalysisDone=!0;var i=e.className;e.TRACE_INIT("toFastProps",function(){(0,Wi.toFastProperties)(e)}),e.TRACE_INIT("Grammar Recording",function(){try{e.enableRecording(),(0,Wi.forEach)(e.definedRulesNames,function(s){var o=e[s],a=o.originalGrammarAction,l=void 0;e.TRACE_INIT(s+" Rule",function(){l=e.topLevelRuleRecord(s,a)}),e.gastProductionsCache[s]=l})}finally{e.disableRecording()}});var n=[];if(e.TRACE_INIT("Grammar Resolving",function(){n=(0,fY.resolveGrammar)({rules:(0,Wi.values)(e.gastProductionsCache)}),e.definitionErrors=e.definitionErrors.concat(n)}),e.TRACE_INIT("Grammar Validations",function(){if((0,Wi.isEmpty)(n)&&e.skipValidations===!1){var s=(0,fY.validateGrammar)({rules:(0,Wi.values)(e.gastProductionsCache),maxLookahead:e.maxLookahead,tokenTypes:(0,Wi.values)(e.tokensMap),errMsgProvider:gY.defaultGrammarValidatorErrorProvider,grammarName:i});e.definitionErrors=e.definitionErrors.concat(s)}}),(0,Wi.isEmpty)(e.definitionErrors)&&(e.recoveryEnabled&&e.TRACE_INIT("computeAllProdsFollows",function(){var s=(0,iwe.computeAllProdsFollows)((0,Wi.values)(e.gastProductionsCache));e.resyncFollows=s}),e.TRACE_INIT("ComputeLookaheadFunctions",function(){e.preComputeLookaheadFunctions((0,Wi.values)(e.gastProductionsCache))})),!t.DEFER_DEFINITION_ERRORS_HANDLING&&!(0,Wi.isEmpty)(e.definitionErrors))throw r=(0,Wi.map)(e.definitionErrors,function(s){return s.message}),new Error(`Parser Definition Errors detected: + `+r.join(` +------------------------------- +`))})},t.DEFER_DEFINITION_ERRORS_HANDLING=!1,t}();or.Parser=GI;(0,hwe.applyMixins)(GI,[nwe.Recoverable,swe.LooksAhead,owe.TreeBuilder,awe.LexerAdapter,lwe.RecognizerEngine,Awe.RecognizerApi,cwe.ErrorHandler,uwe.ContentAssist,gwe.GastRecorder,fwe.PerformanceTracer]);var Cwe=function(t){cY(e,t);function e(r,i){i===void 0&&(i=or.DEFAULT_PARSER_CONFIG);var n=this,s=(0,Wi.cloneObj)(i);return s.outputCst=!0,n=t.call(this,r,s)||this,n}return e}(GI);or.CstParser=Cwe;var mwe=function(t){cY(e,t);function e(r,i){i===void 0&&(i=or.DEFAULT_PARSER_CONFIG);var n=this,s=(0,Wi.cloneObj)(i);return s.outputCst=!1,n=t.call(this,r,s)||this,n}return e}(GI);or.EmbeddedActionsParser=mwe});var pY=E(jI=>{"use strict";Object.defineProperty(jI,"__esModule",{value:!0});jI.createSyntaxDiagramsCode=void 0;var hY=Uv();function Ewe(t,e){var r=e===void 0?{}:e,i=r.resourceBase,n=i===void 0?"https://unpkg.com/chevrotain@"+hY.VERSION+"/diagrams/":i,s=r.css,o=s===void 0?"https://unpkg.com/chevrotain@"+hY.VERSION+"/diagrams/diagrams.css":s,a=` + + + + + +`,l=` + +`,c=` + + + + +`,u=` +
+`,g=` + +`,f=` + +`;return a+l+c+u+g+f}jI.createSyntaxDiagramsCode=Ewe});var mY=E(He=>{"use strict";Object.defineProperty(He,"__esModule",{value:!0});He.Parser=He.createSyntaxDiagramsCode=He.clearCache=He.GAstVisitor=He.serializeProduction=He.serializeGrammar=He.Terminal=He.Rule=He.RepetitionWithSeparator=He.RepetitionMandatoryWithSeparator=He.RepetitionMandatory=He.Repetition=He.Option=He.NonTerminal=He.Alternative=He.Alternation=He.defaultLexerErrorProvider=He.NoViableAltException=He.NotAllInputParsedException=He.MismatchedTokenException=He.isRecognitionException=He.EarlyExitException=He.defaultParserErrorProvider=He.tokenName=He.tokenMatcher=He.tokenLabel=He.EOF=He.createTokenInstance=He.createToken=He.LexerDefinitionErrorType=He.Lexer=He.EMPTY_ALT=He.ParserDefinitionErrorType=He.EmbeddedActionsParser=He.CstParser=He.VERSION=void 0;var Iwe=Uv();Object.defineProperty(He,"VERSION",{enumerable:!0,get:function(){return Iwe.VERSION}});var YI=Tn();Object.defineProperty(He,"CstParser",{enumerable:!0,get:function(){return YI.CstParser}});Object.defineProperty(He,"EmbeddedActionsParser",{enumerable:!0,get:function(){return YI.EmbeddedActionsParser}});Object.defineProperty(He,"ParserDefinitionErrorType",{enumerable:!0,get:function(){return YI.ParserDefinitionErrorType}});Object.defineProperty(He,"EMPTY_ALT",{enumerable:!0,get:function(){return YI.EMPTY_ALT}});var dY=Gh();Object.defineProperty(He,"Lexer",{enumerable:!0,get:function(){return dY.Lexer}});Object.defineProperty(He,"LexerDefinitionErrorType",{enumerable:!0,get:function(){return dY.LexerDefinitionErrorType}});var ku=nA();Object.defineProperty(He,"createToken",{enumerable:!0,get:function(){return ku.createToken}});Object.defineProperty(He,"createTokenInstance",{enumerable:!0,get:function(){return ku.createTokenInstance}});Object.defineProperty(He,"EOF",{enumerable:!0,get:function(){return ku.EOF}});Object.defineProperty(He,"tokenLabel",{enumerable:!0,get:function(){return ku.tokenLabel}});Object.defineProperty(He,"tokenMatcher",{enumerable:!0,get:function(){return ku.tokenMatcher}});Object.defineProperty(He,"tokenName",{enumerable:!0,get:function(){return ku.tokenName}});var ywe=Wh();Object.defineProperty(He,"defaultParserErrorProvider",{enumerable:!0,get:function(){return ywe.defaultParserErrorProvider}});var rp=vu();Object.defineProperty(He,"EarlyExitException",{enumerable:!0,get:function(){return rp.EarlyExitException}});Object.defineProperty(He,"isRecognitionException",{enumerable:!0,get:function(){return rp.isRecognitionException}});Object.defineProperty(He,"MismatchedTokenException",{enumerable:!0,get:function(){return rp.MismatchedTokenException}});Object.defineProperty(He,"NotAllInputParsedException",{enumerable:!0,get:function(){return rp.NotAllInputParsedException}});Object.defineProperty(He,"NoViableAltException",{enumerable:!0,get:function(){return rp.NoViableAltException}});var wwe=_v();Object.defineProperty(He,"defaultLexerErrorProvider",{enumerable:!0,get:function(){return wwe.defaultLexerErrorProvider}});var ho=hn();Object.defineProperty(He,"Alternation",{enumerable:!0,get:function(){return ho.Alternation}});Object.defineProperty(He,"Alternative",{enumerable:!0,get:function(){return ho.Alternative}});Object.defineProperty(He,"NonTerminal",{enumerable:!0,get:function(){return ho.NonTerminal}});Object.defineProperty(He,"Option",{enumerable:!0,get:function(){return ho.Option}});Object.defineProperty(He,"Repetition",{enumerable:!0,get:function(){return ho.Repetition}});Object.defineProperty(He,"RepetitionMandatory",{enumerable:!0,get:function(){return ho.RepetitionMandatory}});Object.defineProperty(He,"RepetitionMandatoryWithSeparator",{enumerable:!0,get:function(){return ho.RepetitionMandatoryWithSeparator}});Object.defineProperty(He,"RepetitionWithSeparator",{enumerable:!0,get:function(){return ho.RepetitionWithSeparator}});Object.defineProperty(He,"Rule",{enumerable:!0,get:function(){return ho.Rule}});Object.defineProperty(He,"Terminal",{enumerable:!0,get:function(){return ho.Terminal}});var CY=hn();Object.defineProperty(He,"serializeGrammar",{enumerable:!0,get:function(){return CY.serializeGrammar}});Object.defineProperty(He,"serializeProduction",{enumerable:!0,get:function(){return CY.serializeProduction}});var Bwe=wu();Object.defineProperty(He,"GAstVisitor",{enumerable:!0,get:function(){return Bwe.GAstVisitor}});function Qwe(){console.warn(`The clearCache function was 'soft' removed from the Chevrotain API. + It performs no action other than printing this message. + Please avoid using it as it will be completely removed in the future`)}He.clearCache=Qwe;var bwe=pY();Object.defineProperty(He,"createSyntaxDiagramsCode",{enumerable:!0,get:function(){return bwe.createSyntaxDiagramsCode}});var vwe=function(){function t(){throw new Error(`The Parser class has been deprecated, use CstParser or EmbeddedActionsParser instead. +See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_7-0-0`)}return t}();He.Parser=vwe});var yY=E((Trt,EY)=>{var qI=mY(),ca=qI.createToken,IY=qI.tokenMatcher,yS=qI.Lexer,Swe=qI.EmbeddedActionsParser;EY.exports=t=>{let e=ca({name:"LogicalOperator",pattern:yS.NA}),r=ca({name:"Or",pattern:/\|/,categories:e}),i=ca({name:"Xor",pattern:/\^/,categories:e}),n=ca({name:"And",pattern:/&/,categories:e}),s=ca({name:"Not",pattern:/!/}),o=ca({name:"LParen",pattern:/\(/}),a=ca({name:"RParen",pattern:/\)/}),l=ca({name:"Query",pattern:t}),u=[ca({name:"WhiteSpace",pattern:/\s+/,group:yS.SKIPPED}),r,i,n,o,a,s,e,l],g=new yS(u);class f extends Swe{constructor(p){super(u);this.RULE("expression",()=>this.SUBRULE(this.logicalExpression)),this.RULE("logicalExpression",()=>{let m=this.SUBRULE(this.atomicExpression);return this.MANY(()=>{let I=m,B=this.CONSUME(e),b=this.SUBRULE2(this.atomicExpression);IY(B,r)?m=R=>I(R)||b(R):IY(B,i)?m=R=>!!(I(R)^b(R)):m=R=>I(R)&&b(R)}),m}),this.RULE("atomicExpression",()=>this.OR([{ALT:()=>this.SUBRULE(this.parenthesisExpression)},{ALT:()=>{let{image:d}=this.CONSUME(l);return m=>m(d)}},{ALT:()=>{this.CONSUME(s);let d=this.SUBRULE(this.atomicExpression);return m=>!d(m)}}])),this.RULE("parenthesisExpression",()=>{let d;return this.CONSUME(o),d=this.SUBRULE(this.expression),this.CONSUME(a),d}),this.performSelfAnalysis()}}return{TinylogicLexer:g,TinylogicParser:f}}});var wY=E(JI=>{var xwe=yY();JI.makeParser=(t=/[a-z]+/)=>{let{TinylogicLexer:e,TinylogicParser:r}=xwe(t),i=new r;return(n,s)=>{let o=e.tokenize(n);return i.input=o.tokens,i.expression()(s)}};JI.parse=JI.makeParser()});var QY=E((Ort,BY)=>{"use strict";BY.exports=(...t)=>[...new Set([].concat(...t))]});var wS=E((Krt,bY)=>{"use strict";var kwe=require("stream"),vY=kwe.PassThrough,Pwe=Array.prototype.slice;bY.exports=Dwe;function Dwe(){let t=[],e=!1,r=Pwe.call(arguments),i=r[r.length-1];i&&!Array.isArray(i)&&i.pipe==null?r.pop():i={};let n=i.end!==!1;i.objectMode==null&&(i.objectMode=!0),i.highWaterMark==null&&(i.highWaterMark=64*1024);let s=vY(i);function o(){for(let c=0,u=arguments.length;c0||(e=!1,a())}function f(h){function p(){h.removeListener("merge2UnpipeEnd",p),h.removeListener("end",p),g()}if(h._readableState.endEmitted)return g();h.on("merge2UnpipeEnd",p),h.on("end",p),h.pipe(s,{end:!1}),h.resume()}for(let h=0;h{"use strict";Object.defineProperty(WI,"__esModule",{value:!0});function Rwe(t){return t.reduce((e,r)=>[].concat(e,r),[])}WI.flatten=Rwe;function Fwe(t,e){let r=[[]],i=0;for(let n of t)e(n)?(i++,r[i]=[]):r[i].push(n);return r}WI.splitWhen=Fwe});var kY=E(BS=>{"use strict";Object.defineProperty(BS,"__esModule",{value:!0});function Nwe(t){return t.code==="ENOENT"}BS.isEnoentCodeError=Nwe});var DY=E(QS=>{"use strict";Object.defineProperty(QS,"__esModule",{value:!0});var PY=class{constructor(e,r){this.name=e,this.isBlockDevice=r.isBlockDevice.bind(r),this.isCharacterDevice=r.isCharacterDevice.bind(r),this.isDirectory=r.isDirectory.bind(r),this.isFIFO=r.isFIFO.bind(r),this.isFile=r.isFile.bind(r),this.isSocket=r.isSocket.bind(r),this.isSymbolicLink=r.isSymbolicLink.bind(r)}};function Lwe(t,e){return new PY(t,e)}QS.createDirentFromStats=Lwe});var RY=E(Pu=>{"use strict";Object.defineProperty(Pu,"__esModule",{value:!0});var Twe=require("path"),Mwe=2,Owe=/(\\?)([()*?[\]{|}]|^!|[!+@](?=\())/g;function Kwe(t){return t.replace(/\\/g,"/")}Pu.unixify=Kwe;function Uwe(t,e){return Twe.resolve(t,e)}Pu.makeAbsolute=Uwe;function Hwe(t){return t.replace(Owe,"\\$2")}Pu.escape=Hwe;function Gwe(t){if(t.charAt(0)==="."){let e=t.charAt(1);if(e==="/"||e==="\\")return t.slice(Mwe)}return t}Pu.removeLeadingDotSegment=Gwe});var NY=E((Yrt,FY)=>{FY.exports=function(e){if(typeof e!="string"||e==="")return!1;for(var r;r=/(\\).|([@?!+*]\(.*\))/g.exec(e);){if(r[2])return!0;e=e.slice(r.index+r[0].length)}return!1}});var TY=E((qrt,LY)=>{var jwe=NY(),Ywe={"{":"}","(":")","[":"]"},qwe=/\\(.)|(^!|\*|[\].+)]\?|\[[^\\\]]+\]|\{[^\\}]+\}|\(\?[:!=][^\\)]+\)|\([^|]+\|[^\\)]+\))/,Jwe=/\\(.)|(^!|[*?{}()[\]]|\(\?)/;LY.exports=function(e,r){if(typeof e!="string"||e==="")return!1;if(jwe(e))return!0;var i=qwe,n;for(r&&r.strict===!1&&(i=Jwe);n=i.exec(e);){if(n[2])return!0;var s=n.index+n[0].length,o=n[1],a=o?Ywe[o]:null;if(o&&a){var l=e.indexOf(a,s);l!==-1&&(s=l+1)}e=e.slice(s)}return!1}});var OY=E((Jrt,MY)=>{"use strict";var Wwe=TY(),zwe=require("path").posix.dirname,Vwe=require("os").platform()==="win32",bS="/",_we=/\\/g,Xwe=/[\{\[].*[\}\]]$/,Zwe=/(^|[^\\])([\{\[]|\([^\)]+$)/,$we=/\\([\!\*\?\|\[\]\(\)\{\}])/g;MY.exports=function(e,r){var i=Object.assign({flipBackslashes:!0},r);i.flipBackslashes&&Vwe&&e.indexOf(bS)<0&&(e=e.replace(_we,bS)),Xwe.test(e)&&(e+=bS),e+="a";do e=zwe(e);while(Wwe(e)||Zwe.test(e));return e.replace($we,"$1")}});var WY=E(Hr=>{"use strict";Object.defineProperty(Hr,"__esModule",{value:!0});var eBe=require("path"),tBe=OY(),KY=Nn(),rBe=iv(),UY="**",iBe="\\",nBe=/[*?]|^!/,sBe=/\[.*]/,oBe=/(?:^|[^!*+?@])\(.*\|.*\)/,aBe=/[!*+?@]\(.*\)/,ABe=/{.*(?:,|\.\.).*}/;function GY(t,e={}){return!HY(t,e)}Hr.isStaticPattern=GY;function HY(t,e={}){return!!(e.caseSensitiveMatch===!1||t.includes(iBe)||nBe.test(t)||sBe.test(t)||oBe.test(t)||e.extglob!==!1&&aBe.test(t)||e.braceExpansion!==!1&&ABe.test(t))}Hr.isDynamicPattern=HY;function lBe(t){return zI(t)?t.slice(1):t}Hr.convertToPositivePattern=lBe;function cBe(t){return"!"+t}Hr.convertToNegativePattern=cBe;function zI(t){return t.startsWith("!")&&t[1]!=="("}Hr.isNegativePattern=zI;function jY(t){return!zI(t)}Hr.isPositivePattern=jY;function uBe(t){return t.filter(zI)}Hr.getNegativePatterns=uBe;function gBe(t){return t.filter(jY)}Hr.getPositivePatterns=gBe;function fBe(t){return tBe(t,{flipBackslashes:!1})}Hr.getBaseDirectory=fBe;function hBe(t){return t.includes(UY)}Hr.hasGlobStar=hBe;function YY(t){return t.endsWith("/"+UY)}Hr.endsWithSlashGlobStar=YY;function pBe(t){let e=eBe.basename(t);return YY(t)||GY(e)}Hr.isAffectDepthOfReadingPattern=pBe;function dBe(t){return t.reduce((e,r)=>e.concat(qY(r)),[])}Hr.expandPatternsWithBraceExpansion=dBe;function qY(t){return KY.braces(t,{expand:!0,nodupes:!0})}Hr.expandBraceExpansion=qY;function CBe(t,e){let r=rBe.scan(t,Object.assign(Object.assign({},e),{parts:!0}));return r.parts.length===0?[t]:r.parts}Hr.getPatternParts=CBe;function JY(t,e){return KY.makeRe(t,e)}Hr.makeRe=JY;function mBe(t,e){return t.map(r=>JY(r,e))}Hr.convertPatternsToRe=mBe;function EBe(t,e){return e.some(r=>r.test(t))}Hr.matchAny=EBe});var VY=E(vS=>{"use strict";Object.defineProperty(vS,"__esModule",{value:!0});var IBe=wS();function yBe(t){let e=IBe(t);return t.forEach(r=>{r.once("error",i=>e.emit("error",i))}),e.once("close",()=>zY(t)),e.once("end",()=>zY(t)),e}vS.merge=yBe;function zY(t){t.forEach(e=>e.emit("close"))}});var _Y=E(VI=>{"use strict";Object.defineProperty(VI,"__esModule",{value:!0});function wBe(t){return typeof t=="string"}VI.isString=wBe;function BBe(t){return t===""}VI.isEmpty=BBe});var ga=E(ua=>{"use strict";Object.defineProperty(ua,"__esModule",{value:!0});var QBe=xY();ua.array=QBe;var bBe=kY();ua.errno=bBe;var vBe=DY();ua.fs=vBe;var SBe=RY();ua.path=SBe;var xBe=WY();ua.pattern=xBe;var kBe=VY();ua.stream=kBe;var PBe=_Y();ua.string=PBe});var tq=E(fa=>{"use strict";Object.defineProperty(fa,"__esModule",{value:!0});var Ll=ga();function DBe(t,e){let r=XY(t),i=ZY(t,e.ignore),n=r.filter(l=>Ll.pattern.isStaticPattern(l,e)),s=r.filter(l=>Ll.pattern.isDynamicPattern(l,e)),o=SS(n,i,!1),a=SS(s,i,!0);return o.concat(a)}fa.generate=DBe;function SS(t,e,r){let i=$Y(t);return"."in i?[xS(".",t,e,r)]:eq(i,e,r)}fa.convertPatternsToTasks=SS;function XY(t){return Ll.pattern.getPositivePatterns(t)}fa.getPositivePatterns=XY;function ZY(t,e){return Ll.pattern.getNegativePatterns(t).concat(e).map(Ll.pattern.convertToPositivePattern)}fa.getNegativePatternsAsPositive=ZY;function $Y(t){let e={};return t.reduce((r,i)=>{let n=Ll.pattern.getBaseDirectory(i);return n in r?r[n].push(i):r[n]=[i],r},e)}fa.groupPatternsByBaseDirectory=$Y;function eq(t,e,r){return Object.keys(t).map(i=>xS(i,t[i],e,r))}fa.convertPatternGroupsToTasks=eq;function xS(t,e,r,i){return{dynamic:i,positive:e,negative:r,base:t,patterns:[].concat(e,r.map(Ll.pattern.convertToNegativePattern))}}fa.convertPatternGroupToTask=xS});var iq=E(_I=>{"use strict";Object.defineProperty(_I,"__esModule",{value:!0});_I.read=void 0;function RBe(t,e,r){e.fs.lstat(t,(i,n)=>{if(i!==null){rq(r,i);return}if(!n.isSymbolicLink()||!e.followSymbolicLink){kS(r,n);return}e.fs.stat(t,(s,o)=>{if(s!==null){if(e.throwErrorOnBrokenSymbolicLink){rq(r,s);return}kS(r,n);return}e.markSymbolicLink&&(o.isSymbolicLink=()=>!0),kS(r,o)})})}_I.read=RBe;function rq(t,e){t(e)}function kS(t,e){t(null,e)}});var nq=E(XI=>{"use strict";Object.defineProperty(XI,"__esModule",{value:!0});XI.read=void 0;function FBe(t,e){let r=e.fs.lstatSync(t);if(!r.isSymbolicLink()||!e.followSymbolicLink)return r;try{let i=e.fs.statSync(t);return e.markSymbolicLink&&(i.isSymbolicLink=()=>!0),i}catch(i){if(!e.throwErrorOnBrokenSymbolicLink)return r;throw i}}XI.read=FBe});var sq=E(AA=>{"use strict";Object.defineProperty(AA,"__esModule",{value:!0});AA.createFileSystemAdapter=AA.FILE_SYSTEM_ADAPTER=void 0;var ZI=require("fs");AA.FILE_SYSTEM_ADAPTER={lstat:ZI.lstat,stat:ZI.stat,lstatSync:ZI.lstatSync,statSync:ZI.statSync};function NBe(t){return t===void 0?AA.FILE_SYSTEM_ADAPTER:Object.assign(Object.assign({},AA.FILE_SYSTEM_ADAPTER),t)}AA.createFileSystemAdapter=NBe});var aq=E(PS=>{"use strict";Object.defineProperty(PS,"__esModule",{value:!0});var LBe=sq(),oq=class{constructor(e={}){this._options=e,this.followSymbolicLink=this._getValue(this._options.followSymbolicLink,!0),this.fs=LBe.createFileSystemAdapter(this._options.fs),this.markSymbolicLink=this._getValue(this._options.markSymbolicLink,!1),this.throwErrorOnBrokenSymbolicLink=this._getValue(this._options.throwErrorOnBrokenSymbolicLink,!0)}_getValue(e,r){return e!=null?e:r}};PS.default=oq});var Tl=E(lA=>{"use strict";Object.defineProperty(lA,"__esModule",{value:!0});lA.statSync=lA.stat=lA.Settings=void 0;var Aq=iq(),TBe=nq(),DS=aq();lA.Settings=DS.default;function MBe(t,e,r){if(typeof e=="function"){Aq.read(t,RS(),e);return}Aq.read(t,RS(e),r)}lA.stat=MBe;function OBe(t,e){let r=RS(e);return TBe.read(t,r)}lA.statSync=OBe;function RS(t={}){return t instanceof DS.default?t:new DS.default(t)}});var cq=E((iit,lq)=>{lq.exports=KBe;function KBe(t,e){var r,i,n,s=!0;Array.isArray(t)?(r=[],i=t.length):(n=Object.keys(t),r={},i=n.length);function o(l){function c(){e&&e(l,r),e=null}s?process.nextTick(c):c()}function a(l,c,u){r[l]=u,(--i==0||c)&&o(c)}i?n?n.forEach(function(l){t[l](function(c,u){a(l,c,u)})}):t.forEach(function(l,c){l(function(u,g){a(c,u,g)})}):o(null),s=!1}});var FS=E($I=>{"use strict";Object.defineProperty($I,"__esModule",{value:!0});$I.IS_SUPPORT_READDIR_WITH_FILE_TYPES=void 0;var ey=process.versions.node.split(".");if(ey[0]===void 0||ey[1]===void 0)throw new Error(`Unexpected behavior. The 'process.versions.node' variable has invalid value: ${process.versions.node}`);var uq=Number.parseInt(ey[0],10),UBe=Number.parseInt(ey[1],10),gq=10,HBe=10,GBe=uq>gq,jBe=uq===gq&&UBe>=HBe;$I.IS_SUPPORT_READDIR_WITH_FILE_TYPES=GBe||jBe});var hq=E(ty=>{"use strict";Object.defineProperty(ty,"__esModule",{value:!0});ty.createDirentFromStats=void 0;var fq=class{constructor(e,r){this.name=e,this.isBlockDevice=r.isBlockDevice.bind(r),this.isCharacterDevice=r.isCharacterDevice.bind(r),this.isDirectory=r.isDirectory.bind(r),this.isFIFO=r.isFIFO.bind(r),this.isFile=r.isFile.bind(r),this.isSocket=r.isSocket.bind(r),this.isSymbolicLink=r.isSymbolicLink.bind(r)}};function YBe(t,e){return new fq(t,e)}ty.createDirentFromStats=YBe});var NS=E(ry=>{"use strict";Object.defineProperty(ry,"__esModule",{value:!0});ry.fs=void 0;var qBe=hq();ry.fs=qBe});var LS=E(iy=>{"use strict";Object.defineProperty(iy,"__esModule",{value:!0});iy.joinPathSegments=void 0;function JBe(t,e,r){return t.endsWith(r)?t+e:t+r+e}iy.joinPathSegments=JBe});var Iq=E(cA=>{"use strict";Object.defineProperty(cA,"__esModule",{value:!0});cA.readdir=cA.readdirWithFileTypes=cA.read=void 0;var WBe=Tl(),pq=cq(),zBe=FS(),dq=NS(),Cq=LS();function VBe(t,e,r){if(!e.stats&&zBe.IS_SUPPORT_READDIR_WITH_FILE_TYPES){mq(t,e,r);return}Eq(t,e,r)}cA.read=VBe;function mq(t,e,r){e.fs.readdir(t,{withFileTypes:!0},(i,n)=>{if(i!==null){ny(r,i);return}let s=n.map(a=>({dirent:a,name:a.name,path:Cq.joinPathSegments(t,a.name,e.pathSegmentSeparator)}));if(!e.followSymbolicLinks){TS(r,s);return}let o=s.map(a=>_Be(a,e));pq(o,(a,l)=>{if(a!==null){ny(r,a);return}TS(r,l)})})}cA.readdirWithFileTypes=mq;function _Be(t,e){return r=>{if(!t.dirent.isSymbolicLink()){r(null,t);return}e.fs.stat(t.path,(i,n)=>{if(i!==null){if(e.throwErrorOnBrokenSymbolicLink){r(i);return}r(null,t);return}t.dirent=dq.fs.createDirentFromStats(t.name,n),r(null,t)})}}function Eq(t,e,r){e.fs.readdir(t,(i,n)=>{if(i!==null){ny(r,i);return}let s=n.map(o=>{let a=Cq.joinPathSegments(t,o,e.pathSegmentSeparator);return l=>{WBe.stat(a,e.fsStatSettings,(c,u)=>{if(c!==null){l(c);return}let g={name:o,path:a,dirent:dq.fs.createDirentFromStats(o,u)};e.stats&&(g.stats=u),l(null,g)})}});pq(s,(o,a)=>{if(o!==null){ny(r,o);return}TS(r,a)})})}cA.readdir=Eq;function ny(t,e){t(e)}function TS(t,e){t(null,e)}});var bq=E(uA=>{"use strict";Object.defineProperty(uA,"__esModule",{value:!0});uA.readdir=uA.readdirWithFileTypes=uA.read=void 0;var XBe=Tl(),ZBe=FS(),yq=NS(),wq=LS();function $Be(t,e){return!e.stats&&ZBe.IS_SUPPORT_READDIR_WITH_FILE_TYPES?Bq(t,e):Qq(t,e)}uA.read=$Be;function Bq(t,e){return e.fs.readdirSync(t,{withFileTypes:!0}).map(i=>{let n={dirent:i,name:i.name,path:wq.joinPathSegments(t,i.name,e.pathSegmentSeparator)};if(n.dirent.isSymbolicLink()&&e.followSymbolicLinks)try{let s=e.fs.statSync(n.path);n.dirent=yq.fs.createDirentFromStats(n.name,s)}catch(s){if(e.throwErrorOnBrokenSymbolicLink)throw s}return n})}uA.readdirWithFileTypes=Bq;function Qq(t,e){return e.fs.readdirSync(t).map(i=>{let n=wq.joinPathSegments(t,i,e.pathSegmentSeparator),s=XBe.statSync(n,e.fsStatSettings),o={name:i,path:n,dirent:yq.fs.createDirentFromStats(i,s)};return e.stats&&(o.stats=s),o})}uA.readdir=Qq});var vq=E(gA=>{"use strict";Object.defineProperty(gA,"__esModule",{value:!0});gA.createFileSystemAdapter=gA.FILE_SYSTEM_ADAPTER=void 0;var Du=require("fs");gA.FILE_SYSTEM_ADAPTER={lstat:Du.lstat,stat:Du.stat,lstatSync:Du.lstatSync,statSync:Du.statSync,readdir:Du.readdir,readdirSync:Du.readdirSync};function e0e(t){return t===void 0?gA.FILE_SYSTEM_ADAPTER:Object.assign(Object.assign({},gA.FILE_SYSTEM_ADAPTER),t)}gA.createFileSystemAdapter=e0e});var xq=E(MS=>{"use strict";Object.defineProperty(MS,"__esModule",{value:!0});var t0e=require("path"),r0e=Tl(),i0e=vq(),Sq=class{constructor(e={}){this._options=e,this.followSymbolicLinks=this._getValue(this._options.followSymbolicLinks,!1),this.fs=i0e.createFileSystemAdapter(this._options.fs),this.pathSegmentSeparator=this._getValue(this._options.pathSegmentSeparator,t0e.sep),this.stats=this._getValue(this._options.stats,!1),this.throwErrorOnBrokenSymbolicLink=this._getValue(this._options.throwErrorOnBrokenSymbolicLink,!0),this.fsStatSettings=new r0e.Settings({followSymbolicLink:this.followSymbolicLinks,fs:this.fs,throwErrorOnBrokenSymbolicLink:this.throwErrorOnBrokenSymbolicLink})}_getValue(e,r){return e!=null?e:r}};MS.default=Sq});var sy=E(fA=>{"use strict";Object.defineProperty(fA,"__esModule",{value:!0});fA.Settings=fA.scandirSync=fA.scandir=void 0;var kq=Iq(),n0e=bq(),OS=xq();fA.Settings=OS.default;function s0e(t,e,r){if(typeof e=="function"){kq.read(t,KS(),e);return}kq.read(t,KS(e),r)}fA.scandir=s0e;function o0e(t,e){let r=KS(e);return n0e.read(t,r)}fA.scandirSync=o0e;function KS(t={}){return t instanceof OS.default?t:new OS.default(t)}});var Dq=E((fit,Pq)=>{"use strict";function a0e(t){var e=new t,r=e;function i(){var s=e;return s.next?e=s.next:(e=new t,r=e),s.next=null,s}function n(s){r.next=s,r=s}return{get:i,release:n}}Pq.exports=a0e});var Fq=E((hit,US)=>{"use strict";var A0e=Dq();function Rq(t,e,r){if(typeof t=="function"&&(r=e,e=t,t=null),r<1)throw new Error("fastqueue concurrency must be greater than 1");var i=A0e(l0e),n=null,s=null,o=0,a=null,l={push:d,drain:po,saturated:po,pause:u,paused:!1,concurrency:r,running:c,resume:h,idle:p,length:g,getQueue:f,unshift:m,empty:po,kill:B,killAndDrain:b,error:R};return l;function c(){return o}function u(){l.paused=!0}function g(){for(var H=n,L=0;H;)H=H.next,L++;return L}function f(){for(var H=n,L=[];H;)L.push(H.value),H=H.next;return L}function h(){if(!!l.paused){l.paused=!1;for(var H=0;H{"use strict";Object.defineProperty(Co,"__esModule",{value:!0});Co.joinPathSegments=Co.replacePathSegmentSeparator=Co.isAppliedFilter=Co.isFatalError=void 0;function u0e(t,e){return t.errorFilter===null?!0:!t.errorFilter(e)}Co.isFatalError=u0e;function g0e(t,e){return t===null||t(e)}Co.isAppliedFilter=g0e;function f0e(t,e){return t.split(/[/\\]/).join(e)}Co.replacePathSegmentSeparator=f0e;function h0e(t,e,r){return t===""?e:t.endsWith(r)?t+e:t+r+e}Co.joinPathSegments=h0e});var GS=E(HS=>{"use strict";Object.defineProperty(HS,"__esModule",{value:!0});var p0e=oy(),Nq=class{constructor(e,r){this._root=e,this._settings=r,this._root=p0e.replacePathSegmentSeparator(e,r.pathSegmentSeparator)}};HS.default=Nq});var YS=E(jS=>{"use strict";Object.defineProperty(jS,"__esModule",{value:!0});var d0e=require("events"),C0e=sy(),m0e=Fq(),ay=oy(),E0e=GS(),Lq=class extends E0e.default{constructor(e,r){super(e,r);this._settings=r,this._scandir=C0e.scandir,this._emitter=new d0e.EventEmitter,this._queue=m0e(this._worker.bind(this),this._settings.concurrency),this._isFatalError=!1,this._isDestroyed=!1,this._queue.drain=()=>{this._isFatalError||this._emitter.emit("end")}}read(){return this._isFatalError=!1,this._isDestroyed=!1,setImmediate(()=>{this._pushToQueue(this._root,this._settings.basePath)}),this._emitter}get isDestroyed(){return this._isDestroyed}destroy(){if(this._isDestroyed)throw new Error("The reader is already destroyed");this._isDestroyed=!0,this._queue.killAndDrain()}onEntry(e){this._emitter.on("entry",e)}onError(e){this._emitter.once("error",e)}onEnd(e){this._emitter.once("end",e)}_pushToQueue(e,r){let i={directory:e,base:r};this._queue.push(i,n=>{n!==null&&this._handleError(n)})}_worker(e,r){this._scandir(e.directory,this._settings.fsScandirSettings,(i,n)=>{if(i!==null){r(i,void 0);return}for(let s of n)this._handleEntry(s,e.base);r(null,void 0)})}_handleError(e){this._isDestroyed||!ay.isFatalError(this._settings,e)||(this._isFatalError=!0,this._isDestroyed=!0,this._emitter.emit("error",e))}_handleEntry(e,r){if(this._isDestroyed||this._isFatalError)return;let i=e.path;r!==void 0&&(e.path=ay.joinPathSegments(r,e.name,this._settings.pathSegmentSeparator)),ay.isAppliedFilter(this._settings.entryFilter,e)&&this._emitEntry(e),e.dirent.isDirectory()&&ay.isAppliedFilter(this._settings.deepFilter,e)&&this._pushToQueue(i,e.path)}_emitEntry(e){this._emitter.emit("entry",e)}};jS.default=Lq});var Mq=E(qS=>{"use strict";Object.defineProperty(qS,"__esModule",{value:!0});var I0e=YS(),Tq=class{constructor(e,r){this._root=e,this._settings=r,this._reader=new I0e.default(this._root,this._settings),this._storage=new Set}read(e){this._reader.onError(r=>{y0e(e,r)}),this._reader.onEntry(r=>{this._storage.add(r)}),this._reader.onEnd(()=>{w0e(e,[...this._storage])}),this._reader.read()}};qS.default=Tq;function y0e(t,e){t(e)}function w0e(t,e){t(null,e)}});var Kq=E(JS=>{"use strict";Object.defineProperty(JS,"__esModule",{value:!0});var B0e=require("stream"),Q0e=YS(),Oq=class{constructor(e,r){this._root=e,this._settings=r,this._reader=new Q0e.default(this._root,this._settings),this._stream=new B0e.Readable({objectMode:!0,read:()=>{},destroy:()=>{this._reader.isDestroyed||this._reader.destroy()}})}read(){return this._reader.onError(e=>{this._stream.emit("error",e)}),this._reader.onEntry(e=>{this._stream.push(e)}),this._reader.onEnd(()=>{this._stream.push(null)}),this._reader.read(),this._stream}};JS.default=Oq});var Hq=E(WS=>{"use strict";Object.defineProperty(WS,"__esModule",{value:!0});var b0e=sy(),Ay=oy(),v0e=GS(),Uq=class extends v0e.default{constructor(){super(...arguments);this._scandir=b0e.scandirSync,this._storage=new Set,this._queue=new Set}read(){return this._pushToQueue(this._root,this._settings.basePath),this._handleQueue(),[...this._storage]}_pushToQueue(e,r){this._queue.add({directory:e,base:r})}_handleQueue(){for(let e of this._queue.values())this._handleDirectory(e.directory,e.base)}_handleDirectory(e,r){try{let i=this._scandir(e,this._settings.fsScandirSettings);for(let n of i)this._handleEntry(n,r)}catch(i){this._handleError(i)}}_handleError(e){if(!!Ay.isFatalError(this._settings,e))throw e}_handleEntry(e,r){let i=e.path;r!==void 0&&(e.path=Ay.joinPathSegments(r,e.name,this._settings.pathSegmentSeparator)),Ay.isAppliedFilter(this._settings.entryFilter,e)&&this._pushToStorage(e),e.dirent.isDirectory()&&Ay.isAppliedFilter(this._settings.deepFilter,e)&&this._pushToQueue(i,e.path)}_pushToStorage(e){this._storage.add(e)}};WS.default=Uq});var jq=E(zS=>{"use strict";Object.defineProperty(zS,"__esModule",{value:!0});var S0e=Hq(),Gq=class{constructor(e,r){this._root=e,this._settings=r,this._reader=new S0e.default(this._root,this._settings)}read(){return this._reader.read()}};zS.default=Gq});var qq=E(VS=>{"use strict";Object.defineProperty(VS,"__esModule",{value:!0});var x0e=require("path"),k0e=sy(),Yq=class{constructor(e={}){this._options=e,this.basePath=this._getValue(this._options.basePath,void 0),this.concurrency=this._getValue(this._options.concurrency,Number.POSITIVE_INFINITY),this.deepFilter=this._getValue(this._options.deepFilter,null),this.entryFilter=this._getValue(this._options.entryFilter,null),this.errorFilter=this._getValue(this._options.errorFilter,null),this.pathSegmentSeparator=this._getValue(this._options.pathSegmentSeparator,x0e.sep),this.fsScandirSettings=new k0e.Settings({followSymbolicLinks:this._options.followSymbolicLinks,fs:this._options.fs,pathSegmentSeparator:this._options.pathSegmentSeparator,stats:this._options.stats,throwErrorOnBrokenSymbolicLink:this._options.throwErrorOnBrokenSymbolicLink})}_getValue(e,r){return e!=null?e:r}};VS.default=Yq});var XS=E(mo=>{"use strict";Object.defineProperty(mo,"__esModule",{value:!0});mo.Settings=mo.walkStream=mo.walkSync=mo.walk=void 0;var Jq=Mq(),P0e=Kq(),D0e=jq(),_S=qq();mo.Settings=_S.default;function R0e(t,e,r){if(typeof e=="function"){new Jq.default(t,ly()).read(e);return}new Jq.default(t,ly(e)).read(r)}mo.walk=R0e;function F0e(t,e){let r=ly(e);return new D0e.default(t,r).read()}mo.walkSync=F0e;function N0e(t,e){let r=ly(e);return new P0e.default(t,r).read()}mo.walkStream=N0e;function ly(t={}){return t instanceof _S.default?t:new _S.default(t)}});var $S=E(ZS=>{"use strict";Object.defineProperty(ZS,"__esModule",{value:!0});var L0e=require("path"),T0e=Tl(),Wq=ga(),zq=class{constructor(e){this._settings=e,this._fsStatSettings=new T0e.Settings({followSymbolicLink:this._settings.followSymbolicLinks,fs:this._settings.fs,throwErrorOnBrokenSymbolicLink:this._settings.followSymbolicLinks})}_getFullEntryPath(e){return L0e.resolve(this._settings.cwd,e)}_makeEntry(e,r){let i={name:r,path:r,dirent:Wq.fs.createDirentFromStats(r,e)};return this._settings.stats&&(i.stats=e),i}_isFatalError(e){return!Wq.errno.isEnoentCodeError(e)&&!this._settings.suppressErrors}};ZS.default=zq});var tx=E(ex=>{"use strict";Object.defineProperty(ex,"__esModule",{value:!0});var M0e=require("stream"),O0e=Tl(),K0e=XS(),U0e=$S(),Vq=class extends U0e.default{constructor(){super(...arguments);this._walkStream=K0e.walkStream,this._stat=O0e.stat}dynamic(e,r){return this._walkStream(e,r)}static(e,r){let i=e.map(this._getFullEntryPath,this),n=new M0e.PassThrough({objectMode:!0});n._write=(s,o,a)=>this._getEntry(i[s],e[s],r).then(l=>{l!==null&&r.entryFilter(l)&&n.push(l),s===i.length-1&&n.end(),a()}).catch(a);for(let s=0;sthis._makeEntry(n,r)).catch(n=>{if(i.errorFilter(n))return null;throw n})}_getStat(e){return new Promise((r,i)=>{this._stat(e,this._fsStatSettings,(n,s)=>n===null?r(s):i(n))})}};ex.default=Vq});var Xq=E(rx=>{"use strict";Object.defineProperty(rx,"__esModule",{value:!0});var Ru=ga(),_q=class{constructor(e,r,i){this._patterns=e,this._settings=r,this._micromatchOptions=i,this._storage=[],this._fillStorage()}_fillStorage(){let e=Ru.pattern.expandPatternsWithBraceExpansion(this._patterns);for(let r of e){let i=this._getPatternSegments(r),n=this._splitSegmentsIntoSections(i);this._storage.push({complete:n.length<=1,pattern:r,segments:i,sections:n})}}_getPatternSegments(e){return Ru.pattern.getPatternParts(e,this._micromatchOptions).map(i=>Ru.pattern.isDynamicPattern(i,this._settings)?{dynamic:!0,pattern:i,patternRe:Ru.pattern.makeRe(i,this._micromatchOptions)}:{dynamic:!1,pattern:i})}_splitSegmentsIntoSections(e){return Ru.array.splitWhen(e,r=>r.dynamic&&Ru.pattern.hasGlobStar(r.pattern))}};rx.default=_q});var $q=E(ix=>{"use strict";Object.defineProperty(ix,"__esModule",{value:!0});var H0e=Xq(),Zq=class extends H0e.default{match(e){let r=e.split("/"),i=r.length,n=this._storage.filter(s=>!s.complete||s.segments.length>i);for(let s of n){let o=s.sections[0];if(!s.complete&&i>o.length||r.every((l,c)=>{let u=s.segments[c];return!!(u.dynamic&&u.patternRe.test(l)||!u.dynamic&&u.pattern===l)}))return!0}return!1}};ix.default=Zq});var tJ=E(nx=>{"use strict";Object.defineProperty(nx,"__esModule",{value:!0});var cy=ga(),G0e=$q(),eJ=class{constructor(e,r){this._settings=e,this._micromatchOptions=r}getFilter(e,r,i){let n=this._getMatcher(r),s=this._getNegativePatternsRe(i);return o=>this._filter(e,o,n,s)}_getMatcher(e){return new G0e.default(e,this._settings,this._micromatchOptions)}_getNegativePatternsRe(e){let r=e.filter(cy.pattern.isAffectDepthOfReadingPattern);return cy.pattern.convertPatternsToRe(r,this._micromatchOptions)}_filter(e,r,i,n){let s=this._getEntryLevel(e,r.path);if(this._isSkippedByDeep(s)||this._isSkippedSymbolicLink(r))return!1;let o=cy.path.removeLeadingDotSegment(r.path);return this._isSkippedByPositivePatterns(o,i)?!1:this._isSkippedByNegativePatterns(o,n)}_isSkippedByDeep(e){return e>=this._settings.deep}_isSkippedSymbolicLink(e){return!this._settings.followSymbolicLinks&&e.dirent.isSymbolicLink()}_getEntryLevel(e,r){let i=e.split("/").length;return r.split("/").length-(e===""?0:i)}_isSkippedByPositivePatterns(e,r){return!this._settings.baseNameMatch&&!r.match(e)}_isSkippedByNegativePatterns(e,r){return!cy.pattern.matchAny(e,r)}};nx.default=eJ});var iJ=E(sx=>{"use strict";Object.defineProperty(sx,"__esModule",{value:!0});var ip=ga(),rJ=class{constructor(e,r){this._settings=e,this._micromatchOptions=r,this.index=new Map}getFilter(e,r){let i=ip.pattern.convertPatternsToRe(e,this._micromatchOptions),n=ip.pattern.convertPatternsToRe(r,this._micromatchOptions);return s=>this._filter(s,i,n)}_filter(e,r,i){if(this._settings.unique){if(this._isDuplicateEntry(e))return!1;this._createIndexRecord(e)}if(this._onlyFileFilter(e)||this._onlyDirectoryFilter(e)||this._isSkippedByAbsoluteNegativePatterns(e,i))return!1;let n=this._settings.baseNameMatch?e.name:e.path;return this._isMatchToPatterns(n,r)&&!this._isMatchToPatterns(e.path,i)}_isDuplicateEntry(e){return this.index.has(e.path)}_createIndexRecord(e){this.index.set(e.path,void 0)}_onlyFileFilter(e){return this._settings.onlyFiles&&!e.dirent.isFile()}_onlyDirectoryFilter(e){return this._settings.onlyDirectories&&!e.dirent.isDirectory()}_isSkippedByAbsoluteNegativePatterns(e,r){if(!this._settings.absolute)return!1;let i=ip.path.makeAbsolute(this._settings.cwd,e.path);return this._isMatchToPatterns(i,r)}_isMatchToPatterns(e,r){let i=ip.path.removeLeadingDotSegment(e);return ip.pattern.matchAny(i,r)}};sx.default=rJ});var sJ=E(ox=>{"use strict";Object.defineProperty(ox,"__esModule",{value:!0});var j0e=ga(),nJ=class{constructor(e){this._settings=e}getFilter(){return e=>this._isNonFatalError(e)}_isNonFatalError(e){return j0e.errno.isEnoentCodeError(e)||this._settings.suppressErrors}};ox.default=nJ});var AJ=E(ax=>{"use strict";Object.defineProperty(ax,"__esModule",{value:!0});var oJ=ga(),aJ=class{constructor(e){this._settings=e}getTransformer(){return e=>this._transform(e)}_transform(e){let r=e.path;return this._settings.absolute&&(r=oJ.path.makeAbsolute(this._settings.cwd,r),r=oJ.path.unixify(r)),this._settings.markDirectories&&e.dirent.isDirectory()&&(r+="/"),this._settings.objectMode?Object.assign(Object.assign({},e),{path:r}):r}};ax.default=aJ});var uy=E(Ax=>{"use strict";Object.defineProperty(Ax,"__esModule",{value:!0});var Y0e=require("path"),q0e=tJ(),J0e=iJ(),W0e=sJ(),z0e=AJ(),lJ=class{constructor(e){this._settings=e,this.errorFilter=new W0e.default(this._settings),this.entryFilter=new J0e.default(this._settings,this._getMicromatchOptions()),this.deepFilter=new q0e.default(this._settings,this._getMicromatchOptions()),this.entryTransformer=new z0e.default(this._settings)}_getRootDirectory(e){return Y0e.resolve(this._settings.cwd,e.base)}_getReaderOptions(e){let r=e.base==="."?"":e.base;return{basePath:r,pathSegmentSeparator:"/",concurrency:this._settings.concurrency,deepFilter:this.deepFilter.getFilter(r,e.positive,e.negative),entryFilter:this.entryFilter.getFilter(e.positive,e.negative),errorFilter:this.errorFilter.getFilter(),followSymbolicLinks:this._settings.followSymbolicLinks,fs:this._settings.fs,stats:this._settings.stats,throwErrorOnBrokenSymbolicLink:this._settings.throwErrorOnBrokenSymbolicLink,transform:this.entryTransformer.getTransformer()}}_getMicromatchOptions(){return{dot:this._settings.dot,matchBase:this._settings.baseNameMatch,nobrace:!this._settings.braceExpansion,nocase:!this._settings.caseSensitiveMatch,noext:!this._settings.extglob,noglobstar:!this._settings.globstar,posix:!0,strictSlashes:!1}}};Ax.default=lJ});var uJ=E(lx=>{"use strict";Object.defineProperty(lx,"__esModule",{value:!0});var V0e=tx(),_0e=uy(),cJ=class extends _0e.default{constructor(){super(...arguments);this._reader=new V0e.default(this._settings)}read(e){let r=this._getRootDirectory(e),i=this._getReaderOptions(e),n=[];return new Promise((s,o)=>{let a=this.api(r,e,i);a.once("error",o),a.on("data",l=>n.push(i.transform(l))),a.once("end",()=>s(n))})}api(e,r,i){return r.dynamic?this._reader.dynamic(e,i):this._reader.static(r.patterns,i)}};lx.default=cJ});var fJ=E(cx=>{"use strict";Object.defineProperty(cx,"__esModule",{value:!0});var X0e=require("stream"),Z0e=tx(),$0e=uy(),gJ=class extends $0e.default{constructor(){super(...arguments);this._reader=new Z0e.default(this._settings)}read(e){let r=this._getRootDirectory(e),i=this._getReaderOptions(e),n=this.api(r,e,i),s=new X0e.Readable({objectMode:!0,read:()=>{}});return n.once("error",o=>s.emit("error",o)).on("data",o=>s.emit("data",i.transform(o))).once("end",()=>s.emit("end")),s.once("close",()=>n.destroy()),s}api(e,r,i){return r.dynamic?this._reader.dynamic(e,i):this._reader.static(r.patterns,i)}};cx.default=gJ});var pJ=E(ux=>{"use strict";Object.defineProperty(ux,"__esModule",{value:!0});var eQe=Tl(),tQe=XS(),rQe=$S(),hJ=class extends rQe.default{constructor(){super(...arguments);this._walkSync=tQe.walkSync,this._statSync=eQe.statSync}dynamic(e,r){return this._walkSync(e,r)}static(e,r){let i=[];for(let n of e){let s=this._getFullEntryPath(n),o=this._getEntry(s,n,r);o===null||!r.entryFilter(o)||i.push(o)}return i}_getEntry(e,r,i){try{let n=this._getStat(e);return this._makeEntry(n,r)}catch(n){if(i.errorFilter(n))return null;throw n}}_getStat(e){return this._statSync(e,this._fsStatSettings)}};ux.default=hJ});var CJ=E(gx=>{"use strict";Object.defineProperty(gx,"__esModule",{value:!0});var iQe=pJ(),nQe=uy(),dJ=class extends nQe.default{constructor(){super(...arguments);this._reader=new iQe.default(this._settings)}read(e){let r=this._getRootDirectory(e),i=this._getReaderOptions(e);return this.api(r,e,i).map(i.transform)}api(e,r,i){return r.dynamic?this._reader.dynamic(e,i):this._reader.static(r.patterns,i)}};gx.default=dJ});var EJ=E(np=>{"use strict";Object.defineProperty(np,"__esModule",{value:!0});var Fu=require("fs"),sQe=require("os"),oQe=sQe.cpus().length;np.DEFAULT_FILE_SYSTEM_ADAPTER={lstat:Fu.lstat,lstatSync:Fu.lstatSync,stat:Fu.stat,statSync:Fu.statSync,readdir:Fu.readdir,readdirSync:Fu.readdirSync};var mJ=class{constructor(e={}){this._options=e,this.absolute=this._getValue(this._options.absolute,!1),this.baseNameMatch=this._getValue(this._options.baseNameMatch,!1),this.braceExpansion=this._getValue(this._options.braceExpansion,!0),this.caseSensitiveMatch=this._getValue(this._options.caseSensitiveMatch,!0),this.concurrency=this._getValue(this._options.concurrency,oQe),this.cwd=this._getValue(this._options.cwd,process.cwd()),this.deep=this._getValue(this._options.deep,Infinity),this.dot=this._getValue(this._options.dot,!1),this.extglob=this._getValue(this._options.extglob,!0),this.followSymbolicLinks=this._getValue(this._options.followSymbolicLinks,!0),this.fs=this._getFileSystemMethods(this._options.fs),this.globstar=this._getValue(this._options.globstar,!0),this.ignore=this._getValue(this._options.ignore,[]),this.markDirectories=this._getValue(this._options.markDirectories,!1),this.objectMode=this._getValue(this._options.objectMode,!1),this.onlyDirectories=this._getValue(this._options.onlyDirectories,!1),this.onlyFiles=this._getValue(this._options.onlyFiles,!0),this.stats=this._getValue(this._options.stats,!1),this.suppressErrors=this._getValue(this._options.suppressErrors,!1),this.throwErrorOnBrokenSymbolicLink=this._getValue(this._options.throwErrorOnBrokenSymbolicLink,!1),this.unique=this._getValue(this._options.unique,!0),this.onlyDirectories&&(this.onlyFiles=!1),this.stats&&(this.objectMode=!0)}_getValue(e,r){return e===void 0?r:e}_getFileSystemMethods(e={}){return Object.assign(Object.assign({},np.DEFAULT_FILE_SYSTEM_ADAPTER),e)}};np.default=mJ});var gy=E((Oit,IJ)=>{"use strict";var yJ=tq(),aQe=uJ(),AQe=fJ(),lQe=CJ(),fx=EJ(),Ml=ga();async function px(t,e){Nu(t);let r=hx(t,aQe.default,e),i=await Promise.all(r);return Ml.array.flatten(i)}(function(t){function e(o,a){Nu(o);let l=hx(o,lQe.default,a);return Ml.array.flatten(l)}t.sync=e;function r(o,a){Nu(o);let l=hx(o,AQe.default,a);return Ml.stream.merge(l)}t.stream=r;function i(o,a){Nu(o);let l=[].concat(o),c=new fx.default(a);return yJ.generate(l,c)}t.generateTasks=i;function n(o,a){Nu(o);let l=new fx.default(a);return Ml.pattern.isDynamicPattern(o,l)}t.isDynamicPattern=n;function s(o){return Nu(o),Ml.path.escape(o)}t.escapePath=s})(px||(px={}));function hx(t,e,r){let i=[].concat(t),n=new fx.default(r),s=yJ.generate(i,n),o=new e(n);return s.map(o.read,o)}function Nu(t){if(![].concat(t).every(i=>Ml.string.isString(i)&&!Ml.string.isEmpty(i)))throw new TypeError("Patterns must be a string (non empty) or an array of strings")}IJ.exports=px});var BJ=E(Ol=>{"use strict";var{promisify:cQe}=require("util"),wJ=require("fs");async function dx(t,e,r){if(typeof r!="string")throw new TypeError(`Expected a string, got ${typeof r}`);try{return(await cQe(wJ[t])(r))[e]()}catch(i){if(i.code==="ENOENT")return!1;throw i}}function Cx(t,e,r){if(typeof r!="string")throw new TypeError(`Expected a string, got ${typeof r}`);try{return wJ[t](r)[e]()}catch(i){if(i.code==="ENOENT")return!1;throw i}}Ol.isFile=dx.bind(null,"stat","isFile");Ol.isDirectory=dx.bind(null,"stat","isDirectory");Ol.isSymlink=dx.bind(null,"lstat","isSymbolicLink");Ol.isFileSync=Cx.bind(null,"statSync","isFile");Ol.isDirectorySync=Cx.bind(null,"statSync","isDirectory");Ol.isSymlinkSync=Cx.bind(null,"lstatSync","isSymbolicLink")});var xJ=E((Uit,mx)=>{"use strict";var Kl=require("path"),QJ=BJ(),bJ=t=>t.length>1?`{${t.join(",")}}`:t[0],vJ=(t,e)=>{let r=t[0]==="!"?t.slice(1):t;return Kl.isAbsolute(r)?r:Kl.join(e,r)},uQe=(t,e)=>Kl.extname(t)?`**/${t}`:`**/${t}.${bJ(e)}`,SJ=(t,e)=>{if(e.files&&!Array.isArray(e.files))throw new TypeError(`Expected \`files\` to be of type \`Array\` but received type \`${typeof e.files}\``);if(e.extensions&&!Array.isArray(e.extensions))throw new TypeError(`Expected \`extensions\` to be of type \`Array\` but received type \`${typeof e.extensions}\``);return e.files&&e.extensions?e.files.map(r=>Kl.posix.join(t,uQe(r,e.extensions))):e.files?e.files.map(r=>Kl.posix.join(t,`**/${r}`)):e.extensions?[Kl.posix.join(t,`**/*.${bJ(e.extensions)}`)]:[Kl.posix.join(t,"**")]};mx.exports=async(t,e)=>{if(e=P({cwd:process.cwd()},e),typeof e.cwd!="string")throw new TypeError(`Expected \`cwd\` to be of type \`string\` but received type \`${typeof e.cwd}\``);let r=await Promise.all([].concat(t).map(async i=>await QJ.isDirectory(vJ(i,e.cwd))?SJ(i,e):i));return[].concat.apply([],r)};mx.exports.sync=(t,e)=>{if(e=P({cwd:process.cwd()},e),typeof e.cwd!="string")throw new TypeError(`Expected \`cwd\` to be of type \`string\` but received type \`${typeof e.cwd}\``);let r=[].concat(t).map(i=>QJ.isDirectorySync(vJ(i,e.cwd))?SJ(i,e):i);return[].concat.apply([],r)}});var TJ=E((Hit,kJ)=>{function PJ(t){return Array.isArray(t)?t:[t]}var gQe=/^\s+$/,fQe=/^\\!/,hQe=/^\\#/,pQe=/\r?\n/g,dQe=/^\.*\/|^\.+$/,Ex="/",DJ=typeof Symbol!="undefined"?Symbol.for("node-ignore"):"node-ignore",CQe=(t,e,r)=>Object.defineProperty(t,e,{value:r}),mQe=/([0-z])-([0-z])/g,EQe=t=>t.replace(mQe,(e,r,i)=>r.charCodeAt(0)<=i.charCodeAt(0)?e:""),IQe=[[/\\?\s+$/,t=>t.indexOf("\\")===0?" ":""],[/\\\s/g,()=>" "],[/[\\^$.|*+(){]/g,t=>`\\${t}`],[/\[([^\]/]*)($|\])/g,(t,e,r)=>r==="]"?`[${EQe(e)}]`:`\\${t}`],[/(?!\\)\?/g,()=>"[^/]"],[/^\//,()=>"^"],[/\//g,()=>"\\/"],[/^\^*\\\*\\\*\\\//,()=>"^(?:.*\\/)?"],[/(?:[^*])$/,t=>/\/$/.test(t)?`${t}$`:`${t}(?=$|\\/$)`],[/^(?=[^^])/,function(){return/\/(?!$)/.test(this)?"^":"(?:^|\\/)"}],[/\\\/\\\*\\\*(?=\\\/|$)/g,(t,e,r)=>e+6`${e}[^\\/]*`],[/(\^|\\\/)?\\\*$/,(t,e)=>`${e?`${e}[^/]+`:"[^/]*"}(?=$|\\/$)`],[/\\\\\\/g,()=>"\\"]],RJ=Object.create(null),yQe=(t,e,r)=>{let i=RJ[t];if(i)return i;let n=IQe.reduce((s,o)=>s.replace(o[0],o[1].bind(t)),t);return RJ[t]=r?new RegExp(n,"i"):new RegExp(n)},Ix=t=>typeof t=="string",wQe=t=>t&&Ix(t)&&!gQe.test(t)&&t.indexOf("#")!==0,BQe=t=>t.split(pQe),FJ=class{constructor(e,r,i,n){this.origin=e,this.pattern=r,this.negative=i,this.regex=n}},QQe=(t,e)=>{let r=t,i=!1;t.indexOf("!")===0&&(i=!0,t=t.substr(1)),t=t.replace(fQe,"!").replace(hQe,"#");let n=yQe(t,i,e);return new FJ(r,t,i,n)},bQe=(t,e)=>{throw new e(t)},ha=(t,e,r)=>Ix(t)?t?ha.isNotRelative(t)?r(`path should be a \`path.relative()\`d string, but got "${e}"`,RangeError):!0:r("path must not be empty",TypeError):r(`path must be a string, but got \`${e}\``,TypeError),NJ=t=>dQe.test(t);ha.isNotRelative=NJ;ha.convert=t=>t;var LJ=class{constructor({ignorecase:e=!0}={}){this._rules=[],this._ignorecase=e,CQe(this,DJ,!0),this._initCache()}_initCache(){this._ignoreCache=Object.create(null),this._testCache=Object.create(null)}_addPattern(e){if(e&&e[DJ]){this._rules=this._rules.concat(e._rules),this._added=!0;return}if(wQe(e)){let r=QQe(e,this._ignorecase);this._added=!0,this._rules.push(r)}}add(e){return this._added=!1,PJ(Ix(e)?BQe(e):e).forEach(this._addPattern,this),this._added&&this._initCache(),this}addPattern(e){return this.add(e)}_testOne(e,r){let i=!1,n=!1;return this._rules.forEach(s=>{let{negative:o}=s;if(n===o&&i!==n||o&&!i&&!n&&!r)return;s.regex.test(e)&&(i=!o,n=o)}),{ignored:i,unignored:n}}_test(e,r,i,n){let s=e&&ha.convert(e);return ha(s,e,bQe),this._t(s,r,i,n)}_t(e,r,i,n){if(e in r)return r[e];if(n||(n=e.split(Ex)),n.pop(),!n.length)return r[e]=this._testOne(e,i);let s=this._t(n.join(Ex)+Ex,r,i,n);return r[e]=s.ignored?s:this._testOne(e,i)}ignores(e){return this._test(e,this._ignoreCache,!1).ignored}createFilter(){return e=>!this.ignores(e)}filter(e){return PJ(e).filter(this.createFilter())}test(e){return this._test(e,this._testCache,!0)}},fy=t=>new LJ(t),vQe=()=>!1,SQe=t=>ha(t&&ha.convert(t),t,vQe);fy.isPathValid=SQe;fy.default=fy;kJ.exports=fy;if(typeof process!="undefined"&&(process.env&&process.env.IGNORE_TEST_WIN32||process.platform==="win32")){let t=r=>/^\\\\\?\\/.test(r)||/["<>|\u0000-\u001F]+/u.test(r)?r:r.replace(/\\/g,"/");ha.convert=t;let e=/^[a-z]:\//i;ha.isNotRelative=r=>e.test(r)||NJ(r)}});var OJ=E((Git,MJ)=>{"use strict";MJ.exports=t=>{let e=/^\\\\\?\\/.test(t),r=/[^\u0000-\u0080]+/.test(t);return e||r?t:t.replace(/\\/g,"/")}});var qJ=E((jit,yx)=>{"use strict";var{promisify:xQe}=require("util"),KJ=require("fs"),pa=require("path"),UJ=gy(),kQe=TJ(),sp=OJ(),HJ=["**/node_modules/**","**/flow-typed/**","**/coverage/**","**/.git"],PQe=xQe(KJ.readFile),DQe=t=>e=>e.startsWith("!")?"!"+pa.posix.join(t,e.slice(1)):pa.posix.join(t,e),RQe=(t,e)=>{let r=sp(pa.relative(e.cwd,pa.dirname(e.fileName)));return t.split(/\r?\n/).filter(Boolean).filter(i=>!i.startsWith("#")).map(DQe(r))},GJ=t=>{let e=kQe();for(let r of t)e.add(RQe(r.content,{cwd:r.cwd,fileName:r.filePath}));return e},FQe=(t,e)=>{if(t=sp(t),pa.isAbsolute(e)){if(sp(e).startsWith(t))return e;throw new Error(`Path ${e} is not in cwd ${t}`)}return pa.join(t,e)},jJ=(t,e)=>r=>t.ignores(sp(pa.relative(e,FQe(e,r.path||r)))),NQe=async(t,e)=>{let r=pa.join(e,t),i=await PQe(r,"utf8");return{cwd:e,filePath:r,content:i}},LQe=(t,e)=>{let r=pa.join(e,t),i=KJ.readFileSync(r,"utf8");return{cwd:e,filePath:r,content:i}},YJ=({ignore:t=[],cwd:e=sp(process.cwd())}={})=>({ignore:t,cwd:e});yx.exports=async t=>{t=YJ(t);let e=await UJ("**/.gitignore",{ignore:HJ.concat(t.ignore),cwd:t.cwd}),r=await Promise.all(e.map(n=>NQe(n,t.cwd))),i=GJ(r);return jJ(i,t.cwd)};yx.exports.sync=t=>{t=YJ(t);let r=UJ.sync("**/.gitignore",{ignore:HJ.concat(t.ignore),cwd:t.cwd}).map(n=>LQe(n,t.cwd)),i=GJ(r);return jJ(i,t.cwd)}});var VJ=E((Yit,JJ)=>{"use strict";var{Transform:TQe}=require("stream"),wx=class extends TQe{constructor(){super({objectMode:!0})}},WJ=class extends wx{constructor(e){super();this._filter=e}_transform(e,r,i){this._filter(e)&&this.push(e),i()}},zJ=class extends wx{constructor(){super();this._pushed=new Set}_transform(e,r,i){this._pushed.has(e)||(this.push(e),this._pushed.add(e)),i()}};JJ.exports={FilterStream:WJ,UniqueStream:zJ}});var vx=E((qit,Ul)=>{"use strict";var _J=require("fs"),hy=QY(),MQe=wS(),py=gy(),dy=xJ(),Bx=qJ(),{FilterStream:OQe,UniqueStream:KQe}=VJ(),XJ=()=>!1,ZJ=t=>t[0]==="!",UQe=t=>{if(!t.every(e=>typeof e=="string"))throw new TypeError("Patterns must be a string or an array of strings")},HQe=(t={})=>{if(!t.cwd)return;let e;try{e=_J.statSync(t.cwd)}catch{return}if(!e.isDirectory())throw new Error("The `cwd` option must be a path to a directory")},GQe=t=>t.stats instanceof _J.Stats?t.path:t,Cy=(t,e)=>{t=hy([].concat(t)),UQe(t),HQe(e);let r=[];e=P({ignore:[],expandDirectories:!0},e);for(let[i,n]of t.entries()){if(ZJ(n))continue;let s=t.slice(i).filter(a=>ZJ(a)).map(a=>a.slice(1)),o=_(P({},e),{ignore:e.ignore.concat(s)});r.push({pattern:n,options:o})}return r},jQe=(t,e)=>{let r={};return t.options.cwd&&(r.cwd=t.options.cwd),Array.isArray(t.options.expandDirectories)?r=_(P({},r),{files:t.options.expandDirectories}):typeof t.options.expandDirectories=="object"&&(r=P(P({},r),t.options.expandDirectories)),e(t.pattern,r)},Qx=(t,e)=>t.options.expandDirectories?jQe(t,e):[t.pattern],$J=t=>t&&t.gitignore?Bx.sync({cwd:t.cwd,ignore:t.ignore}):XJ,bx=t=>e=>{let{options:r}=t;return r.ignore&&Array.isArray(r.ignore)&&r.expandDirectories&&(r.ignore=dy.sync(r.ignore)),{pattern:e,options:r}};Ul.exports=async(t,e)=>{let r=Cy(t,e),i=async()=>e&&e.gitignore?Bx({cwd:e.cwd,ignore:e.ignore}):XJ,n=async()=>{let l=await Promise.all(r.map(async c=>{let u=await Qx(c,dy);return Promise.all(u.map(bx(c)))}));return hy(...l)},[s,o]=await Promise.all([i(),n()]),a=await Promise.all(o.map(l=>py(l.pattern,l.options)));return hy(...a).filter(l=>!s(GQe(l)))};Ul.exports.sync=(t,e)=>{let r=Cy(t,e),i=[];for(let o of r){let a=Qx(o,dy.sync).map(bx(o));i.push(...a)}let n=$J(e),s=[];for(let o of i)s=hy(s,py.sync(o.pattern,o.options));return s.filter(o=>!n(o))};Ul.exports.stream=(t,e)=>{let r=Cy(t,e),i=[];for(let a of r){let l=Qx(a,dy.sync).map(bx(a));i.push(...l)}let n=$J(e),s=new OQe(a=>!n(a)),o=new KQe;return MQe(i.map(a=>py.stream(a.pattern,a.options))).pipe(s).pipe(o)};Ul.exports.generateGlobTasks=Cy;Ul.exports.hasMagic=(t,e)=>[].concat(t).some(r=>py.isDynamicPattern(r,e));Ul.exports.gitignore=Bx});var Ca=E((da,Dy)=>{"use strict";Object.defineProperty(da,"__esModule",{value:!0});var A3=["Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array","BigInt64Array","BigUint64Array"];function ibe(t){return A3.includes(t)}var nbe=["Function","Generator","AsyncGenerator","GeneratorFunction","AsyncGeneratorFunction","AsyncFunction","Observable","Array","Buffer","Object","RegExp","Date","Error","Map","Set","WeakMap","WeakSet","ArrayBuffer","SharedArrayBuffer","DataView","Promise","URL","FormData","URLSearchParams","HTMLElement",...A3];function sbe(t){return nbe.includes(t)}var obe=["null","undefined","string","number","bigint","boolean","symbol"];function abe(t){return obe.includes(t)}function Hu(t){return e=>typeof e===t}var{toString:l3}=Object.prototype,mp=t=>{let e=l3.call(t).slice(8,-1);if(/HTML\w+Element/.test(e)&&j.domElement(t))return"HTMLElement";if(sbe(e))return e},er=t=>e=>mp(e)===t;function j(t){if(t===null)return"null";switch(typeof t){case"undefined":return"undefined";case"string":return"string";case"number":return"number";case"boolean":return"boolean";case"function":return"Function";case"bigint":return"bigint";case"symbol":return"symbol";default:}if(j.observable(t))return"Observable";if(j.array(t))return"Array";if(j.buffer(t))return"Buffer";let e=mp(t);if(e)return e;if(t instanceof String||t instanceof Boolean||t instanceof Number)throw new TypeError("Please don't use object wrappers for primitive types");return"Object"}j.undefined=Hu("undefined");j.string=Hu("string");var Abe=Hu("number");j.number=t=>Abe(t)&&!j.nan(t);j.bigint=Hu("bigint");j.function_=Hu("function");j.null_=t=>t===null;j.class_=t=>j.function_(t)&&t.toString().startsWith("class ");j.boolean=t=>t===!0||t===!1;j.symbol=Hu("symbol");j.numericString=t=>j.string(t)&&!j.emptyStringOrWhitespace(t)&&!Number.isNaN(Number(t));j.array=(t,e)=>Array.isArray(t)?j.function_(e)?t.every(e):!0:!1;j.buffer=t=>{var e,r,i,n;return(n=(i=(r=(e=t)===null||e===void 0?void 0:e.constructor)===null||r===void 0?void 0:r.isBuffer)===null||i===void 0?void 0:i.call(r,t))!==null&&n!==void 0?n:!1};j.nullOrUndefined=t=>j.null_(t)||j.undefined(t);j.object=t=>!j.null_(t)&&(typeof t=="object"||j.function_(t));j.iterable=t=>{var e;return j.function_((e=t)===null||e===void 0?void 0:e[Symbol.iterator])};j.asyncIterable=t=>{var e;return j.function_((e=t)===null||e===void 0?void 0:e[Symbol.asyncIterator])};j.generator=t=>j.iterable(t)&&j.function_(t.next)&&j.function_(t.throw);j.asyncGenerator=t=>j.asyncIterable(t)&&j.function_(t.next)&&j.function_(t.throw);j.nativePromise=t=>er("Promise")(t);var lbe=t=>{var e,r;return j.function_((e=t)===null||e===void 0?void 0:e.then)&&j.function_((r=t)===null||r===void 0?void 0:r.catch)};j.promise=t=>j.nativePromise(t)||lbe(t);j.generatorFunction=er("GeneratorFunction");j.asyncGeneratorFunction=t=>mp(t)==="AsyncGeneratorFunction";j.asyncFunction=t=>mp(t)==="AsyncFunction";j.boundFunction=t=>j.function_(t)&&!t.hasOwnProperty("prototype");j.regExp=er("RegExp");j.date=er("Date");j.error=er("Error");j.map=t=>er("Map")(t);j.set=t=>er("Set")(t);j.weakMap=t=>er("WeakMap")(t);j.weakSet=t=>er("WeakSet")(t);j.int8Array=er("Int8Array");j.uint8Array=er("Uint8Array");j.uint8ClampedArray=er("Uint8ClampedArray");j.int16Array=er("Int16Array");j.uint16Array=er("Uint16Array");j.int32Array=er("Int32Array");j.uint32Array=er("Uint32Array");j.float32Array=er("Float32Array");j.float64Array=er("Float64Array");j.bigInt64Array=er("BigInt64Array");j.bigUint64Array=er("BigUint64Array");j.arrayBuffer=er("ArrayBuffer");j.sharedArrayBuffer=er("SharedArrayBuffer");j.dataView=er("DataView");j.directInstanceOf=(t,e)=>Object.getPrototypeOf(t)===e.prototype;j.urlInstance=t=>er("URL")(t);j.urlString=t=>{if(!j.string(t))return!1;try{return new URL(t),!0}catch(e){return!1}};j.truthy=t=>Boolean(t);j.falsy=t=>!t;j.nan=t=>Number.isNaN(t);j.primitive=t=>j.null_(t)||abe(typeof t);j.integer=t=>Number.isInteger(t);j.safeInteger=t=>Number.isSafeInteger(t);j.plainObject=t=>{if(l3.call(t)!=="[object Object]")return!1;let e=Object.getPrototypeOf(t);return e===null||e===Object.getPrototypeOf({})};j.typedArray=t=>ibe(mp(t));var cbe=t=>j.safeInteger(t)&&t>=0;j.arrayLike=t=>!j.nullOrUndefined(t)&&!j.function_(t)&&cbe(t.length);j.inRange=(t,e)=>{if(j.number(e))return t>=Math.min(0,e)&&t<=Math.max(e,0);if(j.array(e)&&e.length===2)return t>=Math.min(...e)&&t<=Math.max(...e);throw new TypeError(`Invalid range: ${JSON.stringify(e)}`)};var ube=1,gbe=["innerHTML","ownerDocument","style","attributes","nodeValue"];j.domElement=t=>j.object(t)&&t.nodeType===ube&&j.string(t.nodeName)&&!j.plainObject(t)&&gbe.every(e=>e in t);j.observable=t=>{var e,r,i,n;return t?t===((r=(e=t)[Symbol.observable])===null||r===void 0?void 0:r.call(e))||t===((n=(i=t)["@@observable"])===null||n===void 0?void 0:n.call(i)):!1};j.nodeStream=t=>j.object(t)&&j.function_(t.pipe)&&!j.observable(t);j.infinite=t=>t===Infinity||t===-Infinity;var c3=t=>e=>j.integer(e)&&Math.abs(e%2)===t;j.evenInteger=c3(0);j.oddInteger=c3(1);j.emptyArray=t=>j.array(t)&&t.length===0;j.nonEmptyArray=t=>j.array(t)&&t.length>0;j.emptyString=t=>j.string(t)&&t.length===0;j.nonEmptyString=t=>j.string(t)&&t.length>0;var fbe=t=>j.string(t)&&!/\S/.test(t);j.emptyStringOrWhitespace=t=>j.emptyString(t)||fbe(t);j.emptyObject=t=>j.object(t)&&!j.map(t)&&!j.set(t)&&Object.keys(t).length===0;j.nonEmptyObject=t=>j.object(t)&&!j.map(t)&&!j.set(t)&&Object.keys(t).length>0;j.emptySet=t=>j.set(t)&&t.size===0;j.nonEmptySet=t=>j.set(t)&&t.size>0;j.emptyMap=t=>j.map(t)&&t.size===0;j.nonEmptyMap=t=>j.map(t)&&t.size>0;j.propertyKey=t=>j.any([j.string,j.number,j.symbol],t);j.formData=t=>er("FormData")(t);j.urlSearchParams=t=>er("URLSearchParams")(t);var u3=(t,e,r)=>{if(!j.function_(e))throw new TypeError(`Invalid predicate: ${JSON.stringify(e)}`);if(r.length===0)throw new TypeError("Invalid number of values");return t.call(r,e)};j.any=(t,...e)=>(j.array(t)?t:[t]).some(i=>u3(Array.prototype.some,i,e));j.all=(t,...e)=>u3(Array.prototype.every,t,e);var Te=(t,e,r,i={})=>{if(!t){let{multipleValues:n}=i,s=n?`received values of types ${[...new Set(r.map(o=>`\`${j(o)}\``))].join(", ")}`:`received value of type \`${j(r)}\``;throw new TypeError(`Expected value which is \`${e}\`, ${s}.`)}};da.assert={undefined:t=>Te(j.undefined(t),"undefined",t),string:t=>Te(j.string(t),"string",t),number:t=>Te(j.number(t),"number",t),bigint:t=>Te(j.bigint(t),"bigint",t),function_:t=>Te(j.function_(t),"Function",t),null_:t=>Te(j.null_(t),"null",t),class_:t=>Te(j.class_(t),"Class",t),boolean:t=>Te(j.boolean(t),"boolean",t),symbol:t=>Te(j.symbol(t),"symbol",t),numericString:t=>Te(j.numericString(t),"string with a number",t),array:(t,e)=>{Te(j.array(t),"Array",t),e&&t.forEach(e)},buffer:t=>Te(j.buffer(t),"Buffer",t),nullOrUndefined:t=>Te(j.nullOrUndefined(t),"null or undefined",t),object:t=>Te(j.object(t),"Object",t),iterable:t=>Te(j.iterable(t),"Iterable",t),asyncIterable:t=>Te(j.asyncIterable(t),"AsyncIterable",t),generator:t=>Te(j.generator(t),"Generator",t),asyncGenerator:t=>Te(j.asyncGenerator(t),"AsyncGenerator",t),nativePromise:t=>Te(j.nativePromise(t),"native Promise",t),promise:t=>Te(j.promise(t),"Promise",t),generatorFunction:t=>Te(j.generatorFunction(t),"GeneratorFunction",t),asyncGeneratorFunction:t=>Te(j.asyncGeneratorFunction(t),"AsyncGeneratorFunction",t),asyncFunction:t=>Te(j.asyncFunction(t),"AsyncFunction",t),boundFunction:t=>Te(j.boundFunction(t),"Function",t),regExp:t=>Te(j.regExp(t),"RegExp",t),date:t=>Te(j.date(t),"Date",t),error:t=>Te(j.error(t),"Error",t),map:t=>Te(j.map(t),"Map",t),set:t=>Te(j.set(t),"Set",t),weakMap:t=>Te(j.weakMap(t),"WeakMap",t),weakSet:t=>Te(j.weakSet(t),"WeakSet",t),int8Array:t=>Te(j.int8Array(t),"Int8Array",t),uint8Array:t=>Te(j.uint8Array(t),"Uint8Array",t),uint8ClampedArray:t=>Te(j.uint8ClampedArray(t),"Uint8ClampedArray",t),int16Array:t=>Te(j.int16Array(t),"Int16Array",t),uint16Array:t=>Te(j.uint16Array(t),"Uint16Array",t),int32Array:t=>Te(j.int32Array(t),"Int32Array",t),uint32Array:t=>Te(j.uint32Array(t),"Uint32Array",t),float32Array:t=>Te(j.float32Array(t),"Float32Array",t),float64Array:t=>Te(j.float64Array(t),"Float64Array",t),bigInt64Array:t=>Te(j.bigInt64Array(t),"BigInt64Array",t),bigUint64Array:t=>Te(j.bigUint64Array(t),"BigUint64Array",t),arrayBuffer:t=>Te(j.arrayBuffer(t),"ArrayBuffer",t),sharedArrayBuffer:t=>Te(j.sharedArrayBuffer(t),"SharedArrayBuffer",t),dataView:t=>Te(j.dataView(t),"DataView",t),urlInstance:t=>Te(j.urlInstance(t),"URL",t),urlString:t=>Te(j.urlString(t),"string with a URL",t),truthy:t=>Te(j.truthy(t),"truthy",t),falsy:t=>Te(j.falsy(t),"falsy",t),nan:t=>Te(j.nan(t),"NaN",t),primitive:t=>Te(j.primitive(t),"primitive",t),integer:t=>Te(j.integer(t),"integer",t),safeInteger:t=>Te(j.safeInteger(t),"integer",t),plainObject:t=>Te(j.plainObject(t),"plain object",t),typedArray:t=>Te(j.typedArray(t),"TypedArray",t),arrayLike:t=>Te(j.arrayLike(t),"array-like",t),domElement:t=>Te(j.domElement(t),"HTMLElement",t),observable:t=>Te(j.observable(t),"Observable",t),nodeStream:t=>Te(j.nodeStream(t),"Node.js Stream",t),infinite:t=>Te(j.infinite(t),"infinite number",t),emptyArray:t=>Te(j.emptyArray(t),"empty array",t),nonEmptyArray:t=>Te(j.nonEmptyArray(t),"non-empty array",t),emptyString:t=>Te(j.emptyString(t),"empty string",t),nonEmptyString:t=>Te(j.nonEmptyString(t),"non-empty string",t),emptyStringOrWhitespace:t=>Te(j.emptyStringOrWhitespace(t),"empty string or whitespace",t),emptyObject:t=>Te(j.emptyObject(t),"empty object",t),nonEmptyObject:t=>Te(j.nonEmptyObject(t),"non-empty object",t),emptySet:t=>Te(j.emptySet(t),"empty set",t),nonEmptySet:t=>Te(j.nonEmptySet(t),"non-empty set",t),emptyMap:t=>Te(j.emptyMap(t),"empty map",t),nonEmptyMap:t=>Te(j.nonEmptyMap(t),"non-empty map",t),propertyKey:t=>Te(j.propertyKey(t),"PropertyKey",t),formData:t=>Te(j.formData(t),"FormData",t),urlSearchParams:t=>Te(j.urlSearchParams(t),"URLSearchParams",t),evenInteger:t=>Te(j.evenInteger(t),"even integer",t),oddInteger:t=>Te(j.oddInteger(t),"odd integer",t),directInstanceOf:(t,e)=>Te(j.directInstanceOf(t,e),"T",t),inRange:(t,e)=>Te(j.inRange(t,e),"in range",t),any:(t,...e)=>Te(j.any(t,...e),"predicate returns truthy for any value",e,{multipleValues:!0}),all:(t,...e)=>Te(j.all(t,...e),"predicate returns truthy for all values",e,{multipleValues:!0})};Object.defineProperties(j,{class:{value:j.class_},function:{value:j.function_},null:{value:j.null_}});Object.defineProperties(da.assert,{class:{value:da.assert.class_},function:{value:da.assert.function_},null:{value:da.assert.null_}});da.default=j;Dy.exports=j;Dy.exports.default=j;Dy.exports.assert=da.assert});var g3=E((gnt,Ux)=>{"use strict";var Hx=class extends Error{constructor(e){super(e||"Promise was canceled");this.name="CancelError"}get isCanceled(){return!0}},Ep=class{static fn(e){return(...r)=>new Ep((i,n,s)=>{r.push(s),e(...r).then(i,n)})}constructor(e){this._cancelHandlers=[],this._isPending=!0,this._isCanceled=!1,this._rejectOnCancel=!0,this._promise=new Promise((r,i)=>{this._reject=i;let n=a=>{this._isPending=!1,r(a)},s=a=>{this._isPending=!1,i(a)},o=a=>{if(!this._isPending)throw new Error("The `onCancel` handler was attached after the promise settled.");this._cancelHandlers.push(a)};return Object.defineProperties(o,{shouldReject:{get:()=>this._rejectOnCancel,set:a=>{this._rejectOnCancel=a}}}),e(n,s,o)})}then(e,r){return this._promise.then(e,r)}catch(e){return this._promise.catch(e)}finally(e){return this._promise.finally(e)}cancel(e){if(!(!this._isPending||this._isCanceled)){if(this._cancelHandlers.length>0)try{for(let r of this._cancelHandlers)r()}catch(r){this._reject(r)}this._isCanceled=!0,this._rejectOnCancel&&this._reject(new Hx(e))}}get isCanceled(){return this._isCanceled}};Object.setPrototypeOf(Ep.prototype,Promise.prototype);Ux.exports=Ep;Ux.exports.CancelError=Hx});var f3=E((Gx,jx)=>{"use strict";Object.defineProperty(Gx,"__esModule",{value:!0});var hbe=require("tls"),Yx=(t,e)=>{let r;typeof e=="function"?r={connect:e}:r=e;let i=typeof r.connect=="function",n=typeof r.secureConnect=="function",s=typeof r.close=="function",o=()=>{i&&r.connect(),t instanceof hbe.TLSSocket&&n&&(t.authorized?r.secureConnect():t.authorizationError||t.once("secureConnect",r.secureConnect)),s&&t.once("close",r.close)};t.writable&&!t.connecting?o():t.connecting?t.once("connect",o):t.destroyed&&s&&r.close(t._hadError)};Gx.default=Yx;jx.exports=Yx;jx.exports.default=Yx});var h3=E((qx,Jx)=>{"use strict";Object.defineProperty(qx,"__esModule",{value:!0});var pbe=f3(),dbe=Number(process.versions.node.split(".")[0]),Wx=t=>{let e={start:Date.now(),socket:void 0,lookup:void 0,connect:void 0,secureConnect:void 0,upload:void 0,response:void 0,end:void 0,error:void 0,abort:void 0,phases:{wait:void 0,dns:void 0,tcp:void 0,tls:void 0,request:void 0,firstByte:void 0,download:void 0,total:void 0}};t.timings=e;let r=o=>{let a=o.emit.bind(o);o.emit=(l,...c)=>(l==="error"&&(e.error=Date.now(),e.phases.total=e.error-e.start,o.emit=a),a(l,...c))};r(t),t.prependOnceListener("abort",()=>{e.abort=Date.now(),(!e.response||dbe>=13)&&(e.phases.total=Date.now()-e.start)});let i=o=>{e.socket=Date.now(),e.phases.wait=e.socket-e.start;let a=()=>{e.lookup=Date.now(),e.phases.dns=e.lookup-e.socket};o.prependOnceListener("lookup",a),pbe.default(o,{connect:()=>{e.connect=Date.now(),e.lookup===void 0&&(o.removeListener("lookup",a),e.lookup=e.connect,e.phases.dns=e.lookup-e.socket),e.phases.tcp=e.connect-e.lookup},secureConnect:()=>{e.secureConnect=Date.now(),e.phases.tls=e.secureConnect-e.connect}})};t.socket?i(t.socket):t.prependOnceListener("socket",i);let n=()=>{var o;e.upload=Date.now(),e.phases.request=e.upload-(o=e.secureConnect,o!=null?o:e.connect)};return(()=>typeof t.writableFinished=="boolean"?t.writableFinished:t.finished&&t.outputSize===0&&(!t.socket||t.socket.writableLength===0))()?n():t.prependOnceListener("finish",n),t.prependOnceListener("response",o=>{e.response=Date.now(),e.phases.firstByte=e.response-e.upload,o.timings=e,r(o),o.prependOnceListener("end",()=>{e.end=Date.now(),e.phases.download=e.end-e.response,e.phases.total=e.end-e.start})}),e};qx.default=Wx;Jx.exports=Wx;Jx.exports.default=Wx});var y3=E((fnt,zx)=>{"use strict";var{V4MAPPED:Cbe,ADDRCONFIG:mbe,ALL:p3,promises:{Resolver:d3},lookup:Ebe}=require("dns"),{promisify:Vx}=require("util"),Ibe=require("os"),Gu=Symbol("cacheableLookupCreateConnection"),_x=Symbol("cacheableLookupInstance"),C3=Symbol("expires"),ybe=typeof p3=="number",m3=t=>{if(!(t&&typeof t.createConnection=="function"))throw new Error("Expected an Agent instance as the first argument")},wbe=t=>{for(let e of t)e.family!==6&&(e.address=`::ffff:${e.address}`,e.family=6)},E3=()=>{let t=!1,e=!1;for(let r of Object.values(Ibe.networkInterfaces()))for(let i of r)if(!i.internal&&(i.family==="IPv6"?e=!0:t=!0,t&&e))return{has4:t,has6:e};return{has4:t,has6:e}},Bbe=t=>Symbol.iterator in t,I3={ttl:!0},Qbe={all:!0},Xx=class{constructor({cache:e=new Map,maxTtl:r=Infinity,fallbackDuration:i=3600,errorTtl:n=.15,resolver:s=new d3,lookup:o=Ebe}={}){if(this.maxTtl=r,this.errorTtl=n,this._cache=e,this._resolver=s,this._dnsLookup=Vx(o),this._resolver instanceof d3?(this._resolve4=this._resolver.resolve4.bind(this._resolver),this._resolve6=this._resolver.resolve6.bind(this._resolver)):(this._resolve4=Vx(this._resolver.resolve4.bind(this._resolver)),this._resolve6=Vx(this._resolver.resolve6.bind(this._resolver))),this._iface=E3(),this._pending={},this._nextRemovalTime=!1,this._hostnamesToFallback=new Set,i<1)this._fallback=!1;else{this._fallback=!0;let a=setInterval(()=>{this._hostnamesToFallback.clear()},i*1e3);a.unref&&a.unref()}this.lookup=this.lookup.bind(this),this.lookupAsync=this.lookupAsync.bind(this)}set servers(e){this.clear(),this._resolver.setServers(e)}get servers(){return this._resolver.getServers()}lookup(e,r,i){if(typeof r=="function"?(i=r,r={}):typeof r=="number"&&(r={family:r}),!i)throw new Error("Callback must be a function.");this.lookupAsync(e,r).then(n=>{r.all?i(null,n):i(null,n.address,n.family,n.expires,n.ttl)},i)}async lookupAsync(e,r={}){typeof r=="number"&&(r={family:r});let i=await this.query(e);if(r.family===6){let n=i.filter(s=>s.family===6);r.hints&Cbe&&(ybe&&r.hints&p3||n.length===0)?wbe(i):i=n}else r.family===4&&(i=i.filter(n=>n.family===4));if(r.hints&mbe){let{_iface:n}=this;i=i.filter(s=>s.family===6?n.has6:n.has4)}if(i.length===0){let n=new Error(`cacheableLookup ENOTFOUND ${e}`);throw n.code="ENOTFOUND",n.hostname=e,n}return r.all?i:i[0]}async query(e){let r=await this._cache.get(e);if(!r){let i=this._pending[e];if(i)r=await i;else{let n=this.queryAndCache(e);this._pending[e]=n,r=await n}}return r=r.map(i=>P({},i)),r}async _resolve(e){let r=async c=>{try{return await c}catch(u){if(u.code==="ENODATA"||u.code==="ENOTFOUND")return[];throw u}},[i,n]=await Promise.all([this._resolve4(e,I3),this._resolve6(e,I3)].map(c=>r(c))),s=0,o=0,a=0,l=Date.now();for(let c of i)c.family=4,c.expires=l+c.ttl*1e3,s=Math.max(s,c.ttl);for(let c of n)c.family=6,c.expires=l+c.ttl*1e3,o=Math.max(o,c.ttl);return i.length>0?n.length>0?a=Math.min(s,o):a=s:a=o,{entries:[...i,...n],cacheTtl:a}}async _lookup(e){try{return{entries:await this._dnsLookup(e,{all:!0}),cacheTtl:0}}catch(r){return{entries:[],cacheTtl:0}}}async _set(e,r,i){if(this.maxTtl>0&&i>0){i=Math.min(i,this.maxTtl)*1e3,r[C3]=Date.now()+i;try{await this._cache.set(e,r,i)}catch(n){this.lookupAsync=async()=>{let s=new Error("Cache Error. Please recreate the CacheableLookup instance.");throw s.cause=n,s}}Bbe(this._cache)&&this._tick(i)}}async queryAndCache(e){if(this._hostnamesToFallback.has(e))return this._dnsLookup(e,Qbe);try{let r=await this._resolve(e);r.entries.length===0&&this._fallback&&(r=await this._lookup(e),r.entries.length!==0&&this._hostnamesToFallback.add(e));let i=r.entries.length===0?this.errorTtl:r.cacheTtl;return await this._set(e,r.entries,i),delete this._pending[e],r.entries}catch(r){throw delete this._pending[e],r}}_tick(e){let r=this._nextRemovalTime;(!r||e{this._nextRemovalTime=!1;let i=Infinity,n=Date.now();for(let[s,o]of this._cache){let a=o[C3];n>=a?this._cache.delete(s):a("lookup"in r||(r.lookup=this.lookup),e[Gu](r,i))}uninstall(e){if(m3(e),e[Gu]){if(e[_x]!==this)throw new Error("The agent is not owned by this CacheableLookup instance");e.createConnection=e[Gu],delete e[Gu],delete e[_x]}}updateInterfaceInfo(){let{_iface:e}=this;this._iface=E3(),(e.has4&&!this._iface.has4||e.has6&&!this._iface.has6)&&this._cache.clear()}clear(e){if(e){this._cache.delete(e);return}this._cache.clear()}};zx.exports=Xx;zx.exports.default=Xx});var Q3=E((hnt,Zx)=>{"use strict";var bbe=typeof URL=="undefined"?require("url").URL:URL,vbe="text/plain",Sbe="us-ascii",w3=(t,e)=>e.some(r=>r instanceof RegExp?r.test(t):r===t),xbe=(t,{stripHash:e})=>{let r=t.match(/^data:([^,]*?),([^#]*?)(?:#(.*))?$/);if(!r)throw new Error(`Invalid URL: ${t}`);let i=r[1].split(";"),n=r[2],s=e?"":r[3],o=!1;i[i.length-1]==="base64"&&(i.pop(),o=!0);let a=(i.shift()||"").toLowerCase(),c=[...i.map(u=>{let[g,f=""]=u.split("=").map(h=>h.trim());return g==="charset"&&(f=f.toLowerCase(),f===Sbe)?"":`${g}${f?`=${f}`:""}`}).filter(Boolean)];return o&&c.push("base64"),(c.length!==0||a&&a!==vbe)&&c.unshift(a),`data:${c.join(";")},${o?n.trim():n}${s?`#${s}`:""}`},B3=(t,e)=>{if(e=P({defaultProtocol:"http:",normalizeProtocol:!0,forceHttp:!1,forceHttps:!1,stripAuthentication:!0,stripHash:!1,stripWWW:!0,removeQueryParameters:[/^utm_\w+/i],removeTrailingSlash:!0,removeDirectoryIndex:!1,sortQueryParameters:!0},e),Reflect.has(e,"normalizeHttps"))throw new Error("options.normalizeHttps is renamed to options.forceHttp");if(Reflect.has(e,"normalizeHttp"))throw new Error("options.normalizeHttp is renamed to options.forceHttps");if(Reflect.has(e,"stripFragment"))throw new Error("options.stripFragment is renamed to options.stripHash");if(t=t.trim(),/^data:/i.test(t))return xbe(t,e);let r=t.startsWith("//");!r&&/^\.*\//.test(t)||(t=t.replace(/^(?!(?:\w+:)?\/\/)|^\/\//,e.defaultProtocol));let n=new bbe(t);if(e.forceHttp&&e.forceHttps)throw new Error("The `forceHttp` and `forceHttps` options cannot be used together");if(e.forceHttp&&n.protocol==="https:"&&(n.protocol="http:"),e.forceHttps&&n.protocol==="http:"&&(n.protocol="https:"),e.stripAuthentication&&(n.username="",n.password=""),e.stripHash&&(n.hash=""),n.pathname&&(n.pathname=n.pathname.replace(/((?!:).|^)\/{2,}/g,(s,o)=>/^(?!\/)/g.test(o)?`${o}/`:"/")),n.pathname&&(n.pathname=decodeURI(n.pathname)),e.removeDirectoryIndex===!0&&(e.removeDirectoryIndex=[/^index\.[a-z]+$/]),Array.isArray(e.removeDirectoryIndex)&&e.removeDirectoryIndex.length>0){let s=n.pathname.split("/"),o=s[s.length-1];w3(o,e.removeDirectoryIndex)&&(s=s.slice(0,s.length-1),n.pathname=s.slice(1).join("/")+"/")}if(n.hostname&&(n.hostname=n.hostname.replace(/\.$/,""),e.stripWWW&&/^www\.([a-z\-\d]{2,63})\.([a-z.]{2,5})$/.test(n.hostname)&&(n.hostname=n.hostname.replace(/^www\./,""))),Array.isArray(e.removeQueryParameters))for(let s of[...n.searchParams.keys()])w3(s,e.removeQueryParameters)&&n.searchParams.delete(s);return e.sortQueryParameters&&n.searchParams.sort(),e.removeTrailingSlash&&(n.pathname=n.pathname.replace(/\/$/,"")),t=n.toString(),(e.removeTrailingSlash||n.pathname==="/")&&n.hash===""&&(t=t.replace(/\/$/,"")),r&&!e.normalizeProtocol&&(t=t.replace(/^http:\/\//,"//")),e.stripProtocol&&(t=t.replace(/^(?:https?:)?\/\//,"")),t};Zx.exports=B3;Zx.exports.default=B3});var S3=E((pnt,b3)=>{b3.exports=v3;function v3(t,e){if(t&&e)return v3(t)(e);if(typeof t!="function")throw new TypeError("need wrapper function");return Object.keys(t).forEach(function(i){r[i]=t[i]}),r;function r(){for(var i=new Array(arguments.length),n=0;n{var x3=S3();$x.exports=x3(Ry);$x.exports.strict=x3(k3);Ry.proto=Ry(function(){Object.defineProperty(Function.prototype,"once",{value:function(){return Ry(this)},configurable:!0}),Object.defineProperty(Function.prototype,"onceStrict",{value:function(){return k3(this)},configurable:!0})});function Ry(t){var e=function(){return e.called?e.value:(e.called=!0,e.value=t.apply(this,arguments))};return e.called=!1,e}function k3(t){var e=function(){if(e.called)throw new Error(e.onceError);return e.called=!0,e.value=t.apply(this,arguments)},r=t.name||"Function wrapped with `once`";return e.onceError=r+" shouldn't be called more than once",e.called=!1,e}});var tk=E((Cnt,P3)=>{var kbe=ek(),Pbe=function(){},Dbe=function(t){return t.setHeader&&typeof t.abort=="function"},Rbe=function(t){return t.stdio&&Array.isArray(t.stdio)&&t.stdio.length===3},D3=function(t,e,r){if(typeof e=="function")return D3(t,null,e);e||(e={}),r=kbe(r||Pbe);var i=t._writableState,n=t._readableState,s=e.readable||e.readable!==!1&&t.readable,o=e.writable||e.writable!==!1&&t.writable,a=function(){t.writable||l()},l=function(){o=!1,s||r.call(t)},c=function(){s=!1,o||r.call(t)},u=function(p){r.call(t,p?new Error("exited with error code: "+p):null)},g=function(p){r.call(t,p)},f=function(){if(s&&!(n&&n.ended))return r.call(t,new Error("premature close"));if(o&&!(i&&i.ended))return r.call(t,new Error("premature close"))},h=function(){t.req.on("finish",l)};return Dbe(t)?(t.on("complete",l),t.on("abort",f),t.req?h():t.on("request",h)):o&&!i&&(t.on("end",a),t.on("close",a)),Rbe(t)&&t.on("exit",u),t.on("end",c),t.on("finish",l),e.error!==!1&&t.on("error",g),t.on("close",f),function(){t.removeListener("complete",l),t.removeListener("abort",f),t.removeListener("request",h),t.req&&t.req.removeListener("finish",l),t.removeListener("end",a),t.removeListener("close",a),t.removeListener("finish",l),t.removeListener("exit",u),t.removeListener("end",c),t.removeListener("error",g),t.removeListener("close",f)}};P3.exports=D3});var N3=E((mnt,R3)=>{var Fbe=ek(),Nbe=tk(),rk=require("fs"),Ip=function(){},Lbe=/^v?\.0/.test(process.version),Fy=function(t){return typeof t=="function"},Tbe=function(t){return!Lbe||!rk?!1:(t instanceof(rk.ReadStream||Ip)||t instanceof(rk.WriteStream||Ip))&&Fy(t.close)},Mbe=function(t){return t.setHeader&&Fy(t.abort)},Obe=function(t,e,r,i){i=Fbe(i);var n=!1;t.on("close",function(){n=!0}),Nbe(t,{readable:e,writable:r},function(o){if(o)return i(o);n=!0,i()});var s=!1;return function(o){if(!n&&!s){if(s=!0,Tbe(t))return t.close(Ip);if(Mbe(t))return t.abort();if(Fy(t.destroy))return t.destroy();i(o||new Error("stream was destroyed"))}}},F3=function(t){t()},Kbe=function(t,e){return t.pipe(e)},Ube=function(){var t=Array.prototype.slice.call(arguments),e=Fy(t[t.length-1]||Ip)&&t.pop()||Ip;if(Array.isArray(t[0])&&(t=t[0]),t.length<2)throw new Error("pump requires two streams per minimum");var r,i=t.map(function(n,s){var o=s0;return Obe(n,o,a,function(l){r||(r=l),l&&i.forEach(F3),!o&&(i.forEach(F3),e(r))})});return t.reduce(Kbe)};R3.exports=Ube});var T3=E((Ent,L3)=>{"use strict";var{PassThrough:Hbe}=require("stream");L3.exports=t=>{t=P({},t);let{array:e}=t,{encoding:r}=t,i=r==="buffer",n=!1;e?n=!(r||i):r=r||"utf8",i&&(r=null);let s=new Hbe({objectMode:n});r&&s.setEncoding(r);let o=0,a=[];return s.on("data",l=>{a.push(l),n?o=a.length:o+=l.length}),s.getBufferedValue=()=>e?a:i?Buffer.concat(a,o):a.join(""),s.getBufferedLength=()=>o,s}});var M3=E((Int,ju)=>{"use strict";var Gbe=N3(),jbe=T3(),ik=class extends Error{constructor(){super("maxBuffer exceeded");this.name="MaxBufferError"}};async function Ny(t,e){if(!t)return Promise.reject(new Error("Expected a stream"));e=P({maxBuffer:Infinity},e);let{maxBuffer:r}=e,i;return await new Promise((n,s)=>{let o=a=>{a&&(a.bufferedData=i.getBufferedValue()),s(a)};i=Gbe(t,jbe(e),a=>{if(a){o(a);return}n()}),i.on("data",()=>{i.getBufferedLength()>r&&o(new ik)})}),i.getBufferedValue()}ju.exports=Ny;ju.exports.default=Ny;ju.exports.buffer=(t,e)=>Ny(t,_(P({},e),{encoding:"buffer"}));ju.exports.array=(t,e)=>Ny(t,_(P({},e),{array:!0}));ju.exports.MaxBufferError=ik});var K3=E((wnt,O3)=>{"use strict";var Ybe=[200,203,204,206,300,301,404,405,410,414,501],qbe=[200,203,204,300,301,302,303,307,308,404,405,410,414,501],Jbe={date:!0,connection:!0,"keep-alive":!0,"proxy-authenticate":!0,"proxy-authorization":!0,te:!0,trailer:!0,"transfer-encoding":!0,upgrade:!0},Wbe={"content-length":!0,"content-encoding":!0,"transfer-encoding":!0,"content-range":!0};function nk(t){let e={};if(!t)return e;let r=t.trim().split(/\s*,\s*/);for(let i of r){let[n,s]=i.split(/\s*=\s*/,2);e[n]=s===void 0?!0:s.replace(/^"|"$/g,"")}return e}function zbe(t){let e=[];for(let r in t){let i=t[r];e.push(i===!0?r:r+"="+i)}if(!!e.length)return e.join(", ")}O3.exports=class{constructor(e,r,{shared:i,cacheHeuristic:n,immutableMinTimeToLive:s,ignoreCargoCult:o,trustServerDate:a,_fromObject:l}={}){if(l){this._fromObject(l);return}if(!r||!r.headers)throw Error("Response headers missing");this._assertRequestHasHeaders(e),this._responseTime=this.now(),this._isShared=i!==!1,this._trustServerDate=a!==void 0?a:!0,this._cacheHeuristic=n!==void 0?n:.1,this._immutableMinTtl=s!==void 0?s:24*3600*1e3,this._status="status"in r?r.status:200,this._resHeaders=r.headers,this._rescc=nk(r.headers["cache-control"]),this._method="method"in e?e.method:"GET",this._url=e.url,this._host=e.headers.host,this._noAuthorization=!e.headers.authorization,this._reqHeaders=r.headers.vary?e.headers:null,this._reqcc=nk(e.headers["cache-control"]),o&&"pre-check"in this._rescc&&"post-check"in this._rescc&&(delete this._rescc["pre-check"],delete this._rescc["post-check"],delete this._rescc["no-cache"],delete this._rescc["no-store"],delete this._rescc["must-revalidate"],this._resHeaders=Object.assign({},this._resHeaders,{"cache-control":zbe(this._rescc)}),delete this._resHeaders.expires,delete this._resHeaders.pragma),!r.headers["cache-control"]&&/no-cache/.test(r.headers.pragma)&&(this._rescc["no-cache"]=!0)}now(){return Date.now()}storable(){return!!(!this._reqcc["no-store"]&&(this._method==="GET"||this._method==="HEAD"||this._method==="POST"&&this._hasExplicitExpiration())&&qbe.indexOf(this._status)!==-1&&!this._rescc["no-store"]&&(!this._isShared||!this._rescc.private)&&(!this._isShared||this._noAuthorization||this._allowsStoringAuthenticated())&&(this._resHeaders.expires||this._rescc.public||this._rescc["max-age"]||this._rescc["s-maxage"]||Ybe.indexOf(this._status)!==-1))}_hasExplicitExpiration(){return this._isShared&&this._rescc["s-maxage"]||this._rescc["max-age"]||this._resHeaders.expires}_assertRequestHasHeaders(e){if(!e||!e.headers)throw Error("Request headers missing")}satisfiesWithoutRevalidation(e){this._assertRequestHasHeaders(e);let r=nk(e.headers["cache-control"]);return r["no-cache"]||/no-cache/.test(e.headers.pragma)||r["max-age"]&&this.age()>r["max-age"]||r["min-fresh"]&&this.timeToLive()<1e3*r["min-fresh"]||this.stale()&&!(r["max-stale"]&&!this._rescc["must-revalidate"]&&(r["max-stale"]===!0||r["max-stale"]>this.age()-this.maxAge()))?!1:this._requestMatches(e,!1)}_requestMatches(e,r){return(!this._url||this._url===e.url)&&this._host===e.headers.host&&(!e.method||this._method===e.method||r&&e.method==="HEAD")&&this._varyMatches(e)}_allowsStoringAuthenticated(){return this._rescc["must-revalidate"]||this._rescc.public||this._rescc["s-maxage"]}_varyMatches(e){if(!this._resHeaders.vary)return!0;if(this._resHeaders.vary==="*")return!1;let r=this._resHeaders.vary.trim().toLowerCase().split(/\s*,\s*/);for(let i of r)if(e.headers[i]!==this._reqHeaders[i])return!1;return!0}_copyWithoutHopByHopHeaders(e){let r={};for(let i in e)Jbe[i]||(r[i]=e[i]);if(e.connection){let i=e.connection.trim().split(/\s*,\s*/);for(let n of i)delete r[n]}if(r.warning){let i=r.warning.split(/,/).filter(n=>!/^\s*1[0-9][0-9]/.test(n));i.length?r.warning=i.join(",").trim():delete r.warning}return r}responseHeaders(){let e=this._copyWithoutHopByHopHeaders(this._resHeaders),r=this.age();return r>3600*24&&!this._hasExplicitExpiration()&&this.maxAge()>3600*24&&(e.warning=(e.warning?`${e.warning}, `:"")+'113 - "rfc7234 5.5.4"'),e.age=`${Math.round(r)}`,e.date=new Date(this.now()).toUTCString(),e}date(){return this._trustServerDate?this._serverDate():this._responseTime}_serverDate(){let e=Date.parse(this._resHeaders.date);if(isFinite(e)){let r=8*3600*1e3;if(Math.abs(this._responseTime-e)e&&(e=i)}let r=(this.now()-this._responseTime)/1e3;return e+r}_ageValue(){let e=parseInt(this._resHeaders.age);return isFinite(e)?e:0}maxAge(){if(!this.storable()||this._rescc["no-cache"]||this._isShared&&this._resHeaders["set-cookie"]&&!this._rescc.public&&!this._rescc.immutable||this._resHeaders.vary==="*")return 0;if(this._isShared){if(this._rescc["proxy-revalidate"])return 0;if(this._rescc["s-maxage"])return parseInt(this._rescc["s-maxage"],10)}if(this._rescc["max-age"])return parseInt(this._rescc["max-age"],10);let e=this._rescc.immutable?this._immutableMinTtl:0,r=this._serverDate();if(this._resHeaders.expires){let i=Date.parse(this._resHeaders.expires);return Number.isNaN(i)||ii)return Math.max(e,(r-i)/1e3*this._cacheHeuristic)}return e}timeToLive(){return Math.max(0,this.maxAge()-this.age())*1e3}stale(){return this.maxAge()<=this.age()}static fromObject(e){return new this(void 0,void 0,{_fromObject:e})}_fromObject(e){if(this._responseTime)throw Error("Reinitialized");if(!e||e.v!==1)throw Error("Invalid serialization");this._responseTime=e.t,this._isShared=e.sh,this._cacheHeuristic=e.ch,this._immutableMinTtl=e.imm!==void 0?e.imm:24*3600*1e3,this._status=e.st,this._resHeaders=e.resh,this._rescc=e.rescc,this._method=e.m,this._url=e.u,this._host=e.h,this._noAuthorization=e.a,this._reqHeaders=e.reqh,this._reqcc=e.reqcc}toObject(){return{v:1,t:this._responseTime,sh:this._isShared,ch:this._cacheHeuristic,imm:this._immutableMinTtl,st:this._status,resh:this._resHeaders,rescc:this._rescc,m:this._method,u:this._url,h:this._host,a:this._noAuthorization,reqh:this._reqHeaders,reqcc:this._reqcc}}revalidationHeaders(e){this._assertRequestHasHeaders(e);let r=this._copyWithoutHopByHopHeaders(e.headers);if(delete r["if-range"],!this._requestMatches(e,!0)||!this.storable())return delete r["if-none-match"],delete r["if-modified-since"],r;if(this._resHeaders.etag&&(r["if-none-match"]=r["if-none-match"]?`${r["if-none-match"]}, ${this._resHeaders.etag}`:this._resHeaders.etag),r["accept-ranges"]||r["if-match"]||r["if-unmodified-since"]||this._method&&this._method!="GET"){if(delete r["if-modified-since"],r["if-none-match"]){let n=r["if-none-match"].split(/,/).filter(s=>!/^\s*W\//.test(s));n.length?r["if-none-match"]=n.join(",").trim():delete r["if-none-match"]}}else this._resHeaders["last-modified"]&&!r["if-modified-since"]&&(r["if-modified-since"]=this._resHeaders["last-modified"]);return r}revalidatedPolicy(e,r){if(this._assertRequestHasHeaders(e),!r||!r.headers)throw Error("Response headers missing");let i=!1;if(r.status!==void 0&&r.status!=304?i=!1:r.headers.etag&&!/^\s*W\//.test(r.headers.etag)?i=this._resHeaders.etag&&this._resHeaders.etag.replace(/^\s*W\//,"")===r.headers.etag:this._resHeaders.etag&&r.headers.etag?i=this._resHeaders.etag.replace(/^\s*W\//,"")===r.headers.etag.replace(/^\s*W\//,""):this._resHeaders["last-modified"]?i=this._resHeaders["last-modified"]===r.headers["last-modified"]:!this._resHeaders.etag&&!this._resHeaders["last-modified"]&&!r.headers.etag&&!r.headers["last-modified"]&&(i=!0),!i)return{policy:new this.constructor(e,r),modified:r.status!=304,matches:!1};let n={};for(let o in this._resHeaders)n[o]=o in r.headers&&!Wbe[o]?r.headers[o]:this._resHeaders[o];let s=Object.assign({},r,{status:this._status,method:this._method,headers:n});return{policy:new this.constructor(e,s,{shared:this._isShared,cacheHeuristic:this._cacheHeuristic,immutableMinTimeToLive:this._immutableMinTtl,trustServerDate:this._trustServerDate}),modified:!1,matches:!0}}}});var Ly=E((Bnt,U3)=>{"use strict";U3.exports=t=>{let e={};for(let[r,i]of Object.entries(t))e[r.toLowerCase()]=i;return e}});var j3=E((Qnt,H3)=>{"use strict";var Vbe=require("stream").Readable,_be=Ly(),G3=class extends Vbe{constructor(e,r,i,n){if(typeof e!="number")throw new TypeError("Argument `statusCode` should be a number");if(typeof r!="object")throw new TypeError("Argument `headers` should be an object");if(!(i instanceof Buffer))throw new TypeError("Argument `body` should be a buffer");if(typeof n!="string")throw new TypeError("Argument `url` should be a string");super();this.statusCode=e,this.headers=_be(r),this.body=i,this.url=n}_read(){this.push(this.body),this.push(null)}};H3.exports=G3});var q3=E((bnt,Y3)=>{"use strict";var Xbe=["destroy","setTimeout","socket","headers","trailers","rawHeaders","statusCode","httpVersion","httpVersionMinor","httpVersionMajor","rawTrailers","statusMessage"];Y3.exports=(t,e)=>{let r=new Set(Object.keys(t).concat(Xbe));for(let i of r)i in e||(e[i]=typeof t[i]=="function"?t[i].bind(t):t[i])}});var W3=E((vnt,J3)=>{"use strict";var Zbe=require("stream").PassThrough,$be=q3(),eve=t=>{if(!(t&&t.pipe))throw new TypeError("Parameter `response` must be a response stream.");let e=new Zbe;return $be(t,e),t.pipe(e)};J3.exports=eve});var z3=E(sk=>{sk.stringify=function t(e){if(typeof e=="undefined")return e;if(e&&Buffer.isBuffer(e))return JSON.stringify(":base64:"+e.toString("base64"));if(e&&e.toJSON&&(e=e.toJSON()),e&&typeof e=="object"){var r="",i=Array.isArray(e);r=i?"[":"{";var n=!0;for(var s in e){var o=typeof e[s]=="function"||!i&&typeof e[s]=="undefined";Object.hasOwnProperty.call(e,s)&&!o&&(n||(r+=","),n=!1,i?e[s]==null?r+="null":r+=t(e[s]):e[s]!==void 0&&(r+=t(s)+":"+t(e[s])))}return r+=i?"]":"}",r}else return typeof e=="string"?JSON.stringify(/^:/.test(e)?":"+e:e):typeof e=="undefined"?"null":JSON.stringify(e)};sk.parse=function(t){return JSON.parse(t,function(e,r){return typeof r=="string"?/^:base64:/.test(r)?Buffer.from(r.substring(8),"base64"):/^:/.test(r)?r.substring(1):r:r})}});var Z3=E((xnt,V3)=>{"use strict";var tve=require("events"),_3=z3(),rve=t=>{let e={redis:"@keyv/redis",mongodb:"@keyv/mongo",mongo:"@keyv/mongo",sqlite:"@keyv/sqlite",postgresql:"@keyv/postgres",postgres:"@keyv/postgres",mysql:"@keyv/mysql"};if(t.adapter||t.uri){let r=t.adapter||/^[^:]*/.exec(t.uri)[0];return new(require(e[r]))(t)}return new Map},X3=class extends tve{constructor(e,r){super();if(this.opts=Object.assign({namespace:"keyv",serialize:_3.stringify,deserialize:_3.parse},typeof e=="string"?{uri:e}:e,r),!this.opts.store){let i=Object.assign({},this.opts);this.opts.store=rve(i)}typeof this.opts.store.on=="function"&&this.opts.store.on("error",i=>this.emit("error",i)),this.opts.store.namespace=this.opts.namespace}_getKeyPrefix(e){return`${this.opts.namespace}:${e}`}get(e,r){e=this._getKeyPrefix(e);let{store:i}=this.opts;return Promise.resolve().then(()=>i.get(e)).then(n=>typeof n=="string"?this.opts.deserialize(n):n).then(n=>{if(n!==void 0){if(typeof n.expires=="number"&&Date.now()>n.expires){this.delete(e);return}return r&&r.raw?n:n.value}})}set(e,r,i){e=this._getKeyPrefix(e),typeof i=="undefined"&&(i=this.opts.ttl),i===0&&(i=void 0);let{store:n}=this.opts;return Promise.resolve().then(()=>{let s=typeof i=="number"?Date.now()+i:null;return r={value:r,expires:s},this.opts.serialize(r)}).then(s=>n.set(e,s,i)).then(()=>!0)}delete(e){e=this._getKeyPrefix(e);let{store:r}=this.opts;return Promise.resolve().then(()=>r.delete(e))}clear(){let{store:e}=this.opts;return Promise.resolve().then(()=>e.clear())}};V3.exports=X3});var tW=E((knt,$3)=>{"use strict";var ive=require("events"),Ty=require("url"),nve=Q3(),sve=M3(),ok=K3(),eW=j3(),ove=Ly(),ave=W3(),Ave=Z3(),yo=class{constructor(e,r){if(typeof e!="function")throw new TypeError("Parameter `request` must be a function");return this.cache=new Ave({uri:typeof r=="string"&&r,store:typeof r!="string"&&r,namespace:"cacheable-request"}),this.createCacheableRequest(e)}createCacheableRequest(e){return(r,i)=>{let n;if(typeof r=="string")n=ak(Ty.parse(r)),r={};else if(r instanceof Ty.URL)n=ak(Ty.parse(r.toString())),r={};else{let[g,...f]=(r.path||"").split("?"),h=f.length>0?`?${f.join("?")}`:"";n=ak(_(P({},r),{pathname:g,search:h}))}r=P(P({headers:{},method:"GET",cache:!0,strictTtl:!1,automaticFailover:!1},r),lve(n)),r.headers=ove(r.headers);let s=new ive,o=nve(Ty.format(n),{stripWWW:!1,removeTrailingSlash:!1,stripAuthentication:!1}),a=`${r.method}:${o}`,l=!1,c=!1,u=g=>{c=!0;let f=!1,h,p=new Promise(m=>{h=()=>{f||(f=!0,m())}}),d=m=>{if(l&&!g.forceRefresh){m.status=m.statusCode;let B=ok.fromObject(l.cachePolicy).revalidatedPolicy(g,m);if(!B.modified){let b=B.policy.responseHeaders();m=new eW(l.statusCode,b,l.body,l.url),m.cachePolicy=B.policy,m.fromCache=!0}}m.fromCache||(m.cachePolicy=new ok(g,m,g),m.fromCache=!1);let I;g.cache&&m.cachePolicy.storable()?(I=ave(m),(async()=>{try{let B=sve.buffer(m);if(await Promise.race([p,new Promise(L=>m.once("end",L))]),f)return;let b=await B,R={cachePolicy:m.cachePolicy.toObject(),url:m.url,statusCode:m.fromCache?l.statusCode:m.statusCode,body:b},H=g.strictTtl?m.cachePolicy.timeToLive():void 0;g.maxTtl&&(H=H?Math.min(H,g.maxTtl):g.maxTtl),await this.cache.set(a,R,H)}catch(B){s.emit("error",new yo.CacheError(B))}})()):g.cache&&l&&(async()=>{try{await this.cache.delete(a)}catch(B){s.emit("error",new yo.CacheError(B))}})(),s.emit("response",I||m),typeof i=="function"&&i(I||m)};try{let m=e(g,d);m.once("error",h),m.once("abort",h),s.emit("request",m)}catch(m){s.emit("error",new yo.RequestError(m))}};return(async()=>{let g=async h=>{await Promise.resolve();let p=h.cache?await this.cache.get(a):void 0;if(typeof p=="undefined")return u(h);let d=ok.fromObject(p.cachePolicy);if(d.satisfiesWithoutRevalidation(h)&&!h.forceRefresh){let m=d.responseHeaders(),I=new eW(p.statusCode,m,p.body,p.url);I.cachePolicy=d,I.fromCache=!0,s.emit("response",I),typeof i=="function"&&i(I)}else l=p,h.headers=d.revalidationHeaders(h),u(h)},f=h=>s.emit("error",new yo.CacheError(h));this.cache.once("error",f),s.on("response",()=>this.cache.removeListener("error",f));try{await g(r)}catch(h){r.automaticFailover&&!c&&u(r),s.emit("error",new yo.CacheError(h))}})(),s}}};function lve(t){let e=P({},t);return e.path=`${t.pathname||"/"}${t.search||""}`,delete e.pathname,delete e.search,e}function ak(t){return{protocol:t.protocol,auth:t.auth,hostname:t.hostname||t.host||"localhost",port:t.port,pathname:t.pathname,search:t.search}}yo.RequestError=class extends Error{constructor(t){super(t.message);this.name="RequestError",Object.assign(this,t)}};yo.CacheError=class extends Error{constructor(t){super(t.message);this.name="CacheError",Object.assign(this,t)}};$3.exports=yo});var iW=E((Pnt,rW)=>{"use strict";var cve=["aborted","complete","headers","httpVersion","httpVersionMinor","httpVersionMajor","method","rawHeaders","rawTrailers","setTimeout","socket","statusCode","statusMessage","trailers","url"];rW.exports=(t,e)=>{if(e._readableState.autoDestroy)throw new Error("The second stream must have the `autoDestroy` option set to `false`");let r=new Set(Object.keys(t).concat(cve)),i={};for(let n of r)n in e||(i[n]={get(){let s=t[n];return typeof s=="function"?s.bind(t):s},set(s){t[n]=s},enumerable:!0,configurable:!1});return Object.defineProperties(e,i),t.once("aborted",()=>{e.destroy(),e.emit("aborted")}),t.once("close",()=>{t.complete&&e.readable?e.once("end",()=>{e.emit("close")}):e.emit("close")}),e}});var sW=E((Dnt,nW)=>{"use strict";var{Transform:uve,PassThrough:gve}=require("stream"),Ak=require("zlib"),fve=iW();nW.exports=t=>{let e=(t.headers["content-encoding"]||"").toLowerCase();if(!["gzip","deflate","br"].includes(e))return t;let r=e==="br";if(r&&typeof Ak.createBrotliDecompress!="function")return t.destroy(new Error("Brotli is not supported on Node.js < 12")),t;let i=!0,n=new uve({transform(a,l,c){i=!1,c(null,a)},flush(a){a()}}),s=new gve({autoDestroy:!1,destroy(a,l){t.destroy(),l(a)}}),o=r?Ak.createBrotliDecompress():Ak.createUnzip();return o.once("error",a=>{if(i&&!t.readable){s.end();return}s.destroy(a)}),fve(t,s),t.pipe(n).pipe(o).pipe(s),s}});var lk=E((Rnt,oW)=>{"use strict";var aW=class{constructor(e={}){if(!(e.maxSize&&e.maxSize>0))throw new TypeError("`maxSize` must be a number greater than 0");this.maxSize=e.maxSize,this.onEviction=e.onEviction,this.cache=new Map,this.oldCache=new Map,this._size=0}_set(e,r){if(this.cache.set(e,r),this._size++,this._size>=this.maxSize){if(this._size=0,typeof this.onEviction=="function")for(let[i,n]of this.oldCache.entries())this.onEviction(i,n);this.oldCache=this.cache,this.cache=new Map}}get(e){if(this.cache.has(e))return this.cache.get(e);if(this.oldCache.has(e)){let r=this.oldCache.get(e);return this.oldCache.delete(e),this._set(e,r),r}}set(e,r){return this.cache.has(e)?this.cache.set(e,r):this._set(e,r),this}has(e){return this.cache.has(e)||this.oldCache.has(e)}peek(e){if(this.cache.has(e))return this.cache.get(e);if(this.oldCache.has(e))return this.oldCache.get(e)}delete(e){let r=this.cache.delete(e);return r&&this._size--,this.oldCache.delete(e)||r}clear(){this.cache.clear(),this.oldCache.clear(),this._size=0}*keys(){for(let[e]of this)yield e}*values(){for(let[,e]of this)yield e}*[Symbol.iterator](){for(let e of this.cache)yield e;for(let e of this.oldCache){let[r]=e;this.cache.has(r)||(yield e)}}get size(){let e=0;for(let r of this.oldCache.keys())this.cache.has(r)||e++;return Math.min(this._size+e,this.maxSize)}};oW.exports=aW});var uk=E((Fnt,AW)=>{"use strict";var hve=require("events"),pve=require("tls"),dve=require("http2"),Cve=lk(),_i=Symbol("currentStreamsCount"),lW=Symbol("request"),ns=Symbol("cachedOriginSet"),Yu=Symbol("gracefullyClosing"),mve=["maxDeflateDynamicTableSize","maxSessionMemory","maxHeaderListPairs","maxOutstandingPings","maxReservedRemoteStreams","maxSendHeaderBlockLength","paddingStrategy","localAddress","path","rejectUnauthorized","minDHSize","ca","cert","clientCertEngine","ciphers","key","pfx","servername","minVersion","maxVersion","secureProtocol","crl","honorCipherOrder","ecdhCurve","dhparam","secureOptions","sessionIdContext"],Eve=(t,e,r)=>{let i=0,n=t.length;for(;i>>1;r(t[s],e)?i=s+1:n=s}return i},Ive=(t,e)=>t.remoteSettings.maxConcurrentStreams>e.remoteSettings.maxConcurrentStreams,ck=(t,e)=>{for(let r of t)r[ns].lengthe[ns].includes(i))&&r[_i]+e[_i]<=e.remoteSettings.maxConcurrentStreams&&cW(r)},yve=(t,e)=>{for(let r of t)e[ns].lengthr[ns].includes(i))&&e[_i]+r[_i]<=r.remoteSettings.maxConcurrentStreams&&cW(e)},uW=({agent:t,isFree:e})=>{let r={};for(let i in t.sessions){let s=t.sessions[i].filter(o=>{let a=o[ma.kCurrentStreamsCount]{t[Yu]=!0,t[_i]===0&&t.close()},ma=class extends hve{constructor({timeout:e=6e4,maxSessions:r=Infinity,maxFreeSessions:i=10,maxCachedTlsSessions:n=100}={}){super();this.sessions={},this.queue={},this.timeout=e,this.maxSessions=r,this.maxFreeSessions=i,this._freeSessionsCount=0,this._sessionsCount=0,this.settings={enablePush:!1},this.tlsSessionCache=new Cve({maxSize:n})}static normalizeOrigin(e,r){return typeof e=="string"&&(e=new URL(e)),r&&e.hostname!==r&&(e.hostname=r),e.origin}normalizeOptions(e){let r="";if(e)for(let i of mve)e[i]&&(r+=`:${e[i]}`);return r}_tryToCreateNewSession(e,r){if(!(e in this.queue)||!(r in this.queue[e]))return;let i=this.queue[e][r];this._sessionsCount{Array.isArray(i)?(i=[...i],n()):i=[{resolve:n,reject:s}];let o=this.normalizeOptions(r),a=ma.normalizeOrigin(e,r&&r.servername);if(a===void 0){for(let{reject:u}of i)u(new TypeError("The `origin` argument needs to be a string or an URL object"));return}if(o in this.sessions){let u=this.sessions[o],g=-1,f=-1,h;for(let p of u){let d=p.remoteSettings.maxConcurrentStreams;if(d=d||p[Yu]||p.destroyed)continue;h||(g=d),m>f&&(h=p,f=m)}}if(h){if(i.length!==1){for(let{reject:p}of i){let d=new Error(`Expected the length of listeners to be 1, got ${i.length}. +Please report this to https://github.com/szmarczak/http2-wrapper/`);p(d)}return}i[0].resolve(h);return}}if(o in this.queue){if(a in this.queue[o]){this.queue[o][a].listeners.push(...i),this._tryToCreateNewSession(o,a);return}}else this.queue[o]={};let l=()=>{o in this.queue&&this.queue[o][a]===c&&(delete this.queue[o][a],Object.keys(this.queue[o]).length===0&&delete this.queue[o])},c=()=>{let u=`${a}:${o}`,g=!1;try{let f=dve.connect(e,P({createConnection:this.createConnection,settings:this.settings,session:this.tlsSessionCache.get(u)},r));f[_i]=0,f[Yu]=!1;let h=()=>f[_i]{this.tlsSessionCache.set(u,m)}),f.once("error",m=>{for(let{reject:I}of i)I(m);this.tlsSessionCache.delete(u)}),f.setTimeout(this.timeout,()=>{f.destroy()}),f.once("close",()=>{if(g){p&&this._freeSessionsCount--,this._sessionsCount--;let m=this.sessions[o];m.splice(m.indexOf(f),1),m.length===0&&delete this.sessions[o]}else{let m=new Error("Session closed without receiving a SETTINGS frame");m.code="HTTP2WRAPPER_NOSETTINGS";for(let{reject:I}of i)I(m);l()}this._tryToCreateNewSession(o,a)});let d=()=>{if(!(!(o in this.queue)||!h())){for(let m of f[ns])if(m in this.queue[o]){let{listeners:I}=this.queue[o][m];for(;I.length!==0&&h();)I.shift().resolve(f);let B=this.queue[o];if(B[m].listeners.length===0&&(delete B[m],Object.keys(B).length===0)){delete this.queue[o];break}if(!h())break}}};f.on("origin",()=>{f[ns]=f.originSet,!!h()&&(d(),ck(this.sessions[o],f))}),f.once("remoteSettings",()=>{if(f.ref(),f.unref(),this._sessionsCount++,c.destroyed){let m=new Error("Agent has been destroyed");for(let I of i)I.reject(m);f.destroy();return}f[ns]=f.originSet;{let m=this.sessions;if(o in m){let I=m[o];I.splice(Eve(I,f,Ive),0,f)}else m[o]=[f]}this._freeSessionsCount+=1,g=!0,this.emit("session",f),d(),l(),f[_i]===0&&this._freeSessionsCount>this.maxFreeSessions&&f.close(),i.length!==0&&(this.getSession(a,r,i),i.length=0),f.on("remoteSettings",()=>{d(),ck(this.sessions[o],f)})}),f[lW]=f.request,f.request=(m,I)=>{if(f[Yu])throw new Error("The session is gracefully closing. No new streams are allowed.");let B=f[lW](m,I);return f.ref(),++f[_i],f[_i]===f.remoteSettings.maxConcurrentStreams&&this._freeSessionsCount--,B.once("close",()=>{if(p=h(),--f[_i],!f.destroyed&&!f.closed&&(yve(this.sessions[o],f),h()&&!f.closed)){p||(this._freeSessionsCount++,p=!0);let b=f[_i]===0;b&&f.unref(),b&&(this._freeSessionsCount>this.maxFreeSessions||f[Yu])?f.close():(ck(this.sessions[o],f),d())}}),B}}catch(f){for(let h of i)h.reject(f);l()}};c.listeners=i,c.completed=!1,c.destroyed=!1,this.queue[o][a]=c,this._tryToCreateNewSession(o,a)})}request(e,r,i,n){return new Promise((s,o)=>{this.getSession(e,r,[{reject:o,resolve:a=>{try{s(a.request(i,n))}catch(l){o(l)}}}])})}createConnection(e,r){return ma.connect(e,r)}static connect(e,r){r.ALPNProtocols=["h2"];let i=e.port||443,n=e.hostname||e.host;return typeof r.servername=="undefined"&&(r.servername=n),pve.connect(i,n,r)}closeFreeSessions(){for(let e of Object.values(this.sessions))for(let r of e)r[_i]===0&&r.close()}destroy(e){for(let r of Object.values(this.sessions))for(let i of r)i.destroy(e);for(let r of Object.values(this.queue))for(let i of Object.values(r))i.destroyed=!0;this.queue={}}get freeSessions(){return uW({agent:this,isFree:!0})}get busySessions(){return uW({agent:this,isFree:!1})}};ma.kCurrentStreamsCount=_i;ma.kGracefullyClosing=Yu;AW.exports={Agent:ma,globalAgent:new ma}});var gk=E((Nnt,gW)=>{"use strict";var{Readable:wve}=require("stream"),fW=class extends wve{constructor(e,r){super({highWaterMark:r,autoDestroy:!1});this.statusCode=null,this.statusMessage="",this.httpVersion="2.0",this.httpVersionMajor=2,this.httpVersionMinor=0,this.headers={},this.trailers={},this.req=null,this.aborted=!1,this.complete=!1,this.upgrade=null,this.rawHeaders=[],this.rawTrailers=[],this.socket=e,this.connection=e,this._dumped=!1}_destroy(e){this.req._request.destroy(e)}setTimeout(e,r){return this.req.setTimeout(e,r),this}_dump(){this._dumped||(this._dumped=!0,this.removeAllListeners("data"),this.resume())}_read(){this.req&&this.req._request.resume()}};gW.exports=fW});var fk=E((Lnt,hW)=>{"use strict";hW.exports=t=>{let e={protocol:t.protocol,hostname:typeof t.hostname=="string"&&t.hostname.startsWith("[")?t.hostname.slice(1,-1):t.hostname,host:t.host,hash:t.hash,search:t.search,pathname:t.pathname,href:t.href,path:`${t.pathname||""}${t.search||""}`};return typeof t.port=="string"&&t.port.length!==0&&(e.port=Number(t.port)),(t.username||t.password)&&(e.auth=`${t.username||""}:${t.password||""}`),e}});var dW=E((Tnt,pW)=>{"use strict";pW.exports=(t,e,r)=>{for(let i of r)t.on(i,(...n)=>e.emit(i,...n))}});var mW=E((Mnt,CW)=>{"use strict";CW.exports=t=>{switch(t){case":method":case":scheme":case":authority":case":path":return!0;default:return!1}}});var IW=E((Knt,EW)=>{"use strict";var qu=(t,e,r)=>{EW.exports[e]=class extends t{constructor(...n){super(typeof r=="string"?r:r(n));this.name=`${super.name} [${e}]`,this.code=e}}};qu(TypeError,"ERR_INVALID_ARG_TYPE",t=>{let e=t[0].includes(".")?"property":"argument",r=t[1],i=Array.isArray(r);return i&&(r=`${r.slice(0,-1).join(", ")} or ${r.slice(-1)}`),`The "${t[0]}" ${e} must be ${i?"one of":"of"} type ${r}. Received ${typeof t[2]}`});qu(TypeError,"ERR_INVALID_PROTOCOL",t=>`Protocol "${t[0]}" not supported. Expected "${t[1]}"`);qu(Error,"ERR_HTTP_HEADERS_SENT",t=>`Cannot ${t[0]} headers after they are sent to the client`);qu(TypeError,"ERR_INVALID_HTTP_TOKEN",t=>`${t[0]} must be a valid HTTP token [${t[1]}]`);qu(TypeError,"ERR_HTTP_INVALID_HEADER_VALUE",t=>`Invalid value "${t[0]} for header "${t[1]}"`);qu(TypeError,"ERR_INVALID_CHAR",t=>`Invalid character in ${t[0]} [${t[1]}]`)});var Ck=E((Unt,yW)=>{"use strict";var Bve=require("http2"),{Writable:Qve}=require("stream"),{Agent:wW,globalAgent:bve}=uk(),vve=gk(),Sve=fk(),xve=dW(),kve=mW(),{ERR_INVALID_ARG_TYPE:hk,ERR_INVALID_PROTOCOL:Pve,ERR_HTTP_HEADERS_SENT:BW,ERR_INVALID_HTTP_TOKEN:Dve,ERR_HTTP_INVALID_HEADER_VALUE:Rve,ERR_INVALID_CHAR:Fve}=IW(),{HTTP2_HEADER_STATUS:QW,HTTP2_HEADER_METHOD:bW,HTTP2_HEADER_PATH:vW,HTTP2_METHOD_CONNECT:Nve}=Bve.constants,Pi=Symbol("headers"),pk=Symbol("origin"),dk=Symbol("session"),SW=Symbol("options"),My=Symbol("flushedHeaders"),yp=Symbol("jobs"),Lve=/^[\^`\-\w!#$%&*+.|~]+$/,Tve=/[^\t\u0020-\u007E\u0080-\u00FF]/,xW=class extends Qve{constructor(e,r,i){super({autoDestroy:!1});let n=typeof e=="string"||e instanceof URL;if(n&&(e=Sve(e instanceof URL?e:new URL(e))),typeof r=="function"||r===void 0?(i=r,r=n?e:P({},e)):r=P(P({},e),r),r.h2session)this[dk]=r.h2session;else if(r.agent===!1)this.agent=new wW({maxFreeSessions:0});else if(typeof r.agent=="undefined"||r.agent===null)typeof r.createConnection=="function"?(this.agent=new wW({maxFreeSessions:0}),this.agent.createConnection=r.createConnection):this.agent=bve;else if(typeof r.agent.request=="function")this.agent=r.agent;else throw new hk("options.agent",["Agent-like Object","undefined","false"],r.agent);if(r.protocol&&r.protocol!=="https:")throw new Pve(r.protocol,"https:");let s=r.port||r.defaultPort||this.agent&&this.agent.defaultPort||443,o=r.hostname||r.host||"localhost";delete r.hostname,delete r.host,delete r.port;let{timeout:a}=r;if(r.timeout=void 0,this[Pi]=Object.create(null),this[yp]=[],this.socket=null,this.connection=null,this.method=r.method||"GET",this.path=r.path,this.res=null,this.aborted=!1,this.reusedSocket=!1,r.headers)for(let[l,c]of Object.entries(r.headers))this.setHeader(l,c);r.auth&&!("authorization"in this[Pi])&&(this[Pi].authorization="Basic "+Buffer.from(r.auth).toString("base64")),r.session=r.tlsSession,r.path=r.socketPath,this[SW]=r,s===443?(this[pk]=`https://${o}`,":authority"in this[Pi]||(this[Pi][":authority"]=o)):(this[pk]=`https://${o}:${s}`,":authority"in this[Pi]||(this[Pi][":authority"]=`${o}:${s}`)),a&&this.setTimeout(a),i&&this.once("response",i),this[My]=!1}get method(){return this[Pi][bW]}set method(e){e&&(this[Pi][bW]=e.toUpperCase())}get path(){return this[Pi][vW]}set path(e){e&&(this[Pi][vW]=e)}get _mustNotHaveABody(){return this.method==="GET"||this.method==="HEAD"||this.method==="DELETE"}_write(e,r,i){if(this._mustNotHaveABody){i(new Error("The GET, HEAD and DELETE methods must NOT have a body"));return}this.flushHeaders();let n=()=>this._request.write(e,r,i);this._request?n():this[yp].push(n)}_final(e){if(this.destroyed)return;this.flushHeaders();let r=()=>{if(this._mustNotHaveABody){e();return}this._request.end(e)};this._request?r():this[yp].push(r)}abort(){this.res&&this.res.complete||(this.aborted||process.nextTick(()=>this.emit("abort")),this.aborted=!0,this.destroy())}_destroy(e,r){this.res&&this.res._dump(),this._request&&this._request.destroy(),r(e)}async flushHeaders(){if(this[My]||this.destroyed)return;this[My]=!0;let e=this.method===Nve,r=i=>{if(this._request=i,this.destroyed){i.destroy();return}e||xve(i,this,["timeout","continue","close","error"]);let n=o=>(...a)=>{!this.writable&&!this.destroyed?o(...a):this.once("finish",()=>{o(...a)})};i.once("response",n((o,a,l)=>{let c=new vve(this.socket,i.readableHighWaterMark);this.res=c,c.req=this,c.statusCode=o[QW],c.headers=o,c.rawHeaders=l,c.once("end",()=>{this.aborted?(c.aborted=!0,c.emit("aborted")):(c.complete=!0,c.socket=null,c.connection=null)}),e?(c.upgrade=!0,this.emit("connect",c,i,Buffer.alloc(0))?this.emit("close"):i.destroy()):(i.on("data",u=>{!c._dumped&&!c.push(u)&&i.pause()}),i.once("end",()=>{c.push(null)}),this.emit("response",c)||c._dump())})),i.once("headers",n(o=>this.emit("information",{statusCode:o[QW]}))),i.once("trailers",n((o,a,l)=>{let{res:c}=this;c.trailers=o,c.rawTrailers=l}));let{socket:s}=i.session;this.socket=s,this.connection=s;for(let o of this[yp])o();this.emit("socket",this.socket)};if(this[dk])try{r(this[dk].request(this[Pi]))}catch(i){this.emit("error",i)}else{this.reusedSocket=!0;try{r(await this.agent.request(this[pk],this[SW],this[Pi]))}catch(i){this.emit("error",i)}}}getHeader(e){if(typeof e!="string")throw new hk("name","string",e);return this[Pi][e.toLowerCase()]}get headersSent(){return this[My]}removeHeader(e){if(typeof e!="string")throw new hk("name","string",e);if(this.headersSent)throw new BW("remove");delete this[Pi][e.toLowerCase()]}setHeader(e,r){if(this.headersSent)throw new BW("set");if(typeof e!="string"||!Lve.test(e)&&!kve(e))throw new Dve("Header name",e);if(typeof r=="undefined")throw new Rve(r,e);if(Tve.test(r))throw new Fve("header content",e);this[Pi][e.toLowerCase()]=r}setNoDelay(){}setSocketKeepAlive(){}setTimeout(e,r){let i=()=>this._request.setTimeout(e,r);return this._request?i():this[yp].push(i),this}get maxHeadersCount(){if(!this.destroyed&&this._request)return this._request.session.localSettings.maxHeaderListSize}set maxHeadersCount(e){}};yW.exports=xW});var PW=E((Hnt,kW)=>{"use strict";var Mve=require("tls");kW.exports=(t={})=>new Promise((e,r)=>{let i=Mve.connect(t,()=>{t.resolveSocket?(i.off("error",r),e({alpnProtocol:i.alpnProtocol,socket:i})):(i.destroy(),e({alpnProtocol:i.alpnProtocol}))});i.on("error",r)})});var RW=E((Gnt,DW)=>{"use strict";var Ove=require("net");DW.exports=t=>{let e=t.host,r=t.headers&&t.headers.host;return r&&(r.startsWith("[")?r.indexOf("]")===-1?e=r:e=r.slice(1,-1):e=r.split(":",1)[0]),Ove.isIP(e)?"":e}});var LW=E((jnt,mk)=>{"use strict";var FW=require("http"),Ek=require("https"),Kve=PW(),Uve=lk(),Hve=Ck(),Gve=RW(),jve=fk(),Oy=new Uve({maxSize:100}),wp=new Map,NW=(t,e,r)=>{e._httpMessage={shouldKeepAlive:!0};let i=()=>{t.emit("free",e,r)};e.on("free",i);let n=()=>{t.removeSocket(e,r)};e.on("close",n);let s=()=>{t.removeSocket(e,r),e.off("close",n),e.off("free",i),e.off("agentRemove",s)};e.on("agentRemove",s),t.emit("free",e,r)},Yve=async t=>{let e=`${t.host}:${t.port}:${t.ALPNProtocols.sort()}`;if(!Oy.has(e)){if(wp.has(e))return(await wp.get(e)).alpnProtocol;let{path:r,agent:i}=t;t.path=t.socketPath;let n=Kve(t);wp.set(e,n);try{let{socket:s,alpnProtocol:o}=await n;if(Oy.set(e,o),t.path=r,o==="h2")s.destroy();else{let{globalAgent:a}=Ek,l=Ek.Agent.prototype.createConnection;i?i.createConnection===l?NW(i,s,t):s.destroy():a.createConnection===l?NW(a,s,t):s.destroy()}return wp.delete(e),o}catch(s){throw wp.delete(e),s}}return Oy.get(e)};mk.exports=async(t,e,r)=>{if((typeof t=="string"||t instanceof URL)&&(t=jve(new URL(t))),typeof e=="function"&&(r=e,e=void 0),e=_(P(P({ALPNProtocols:["h2","http/1.1"]},t),e),{resolveSocket:!0}),!Array.isArray(e.ALPNProtocols)||e.ALPNProtocols.length===0)throw new Error("The `ALPNProtocols` option must be an Array with at least one entry");e.protocol=e.protocol||"https:";let i=e.protocol==="https:";e.host=e.hostname||e.host||"localhost",e.session=e.tlsSession,e.servername=e.servername||Gve(e),e.port=e.port||(i?443:80),e._defaultAgent=i?Ek.globalAgent:FW.globalAgent;let n=e.agent;if(n){if(n.addRequest)throw new Error("The `options.agent` object can contain only `http`, `https` or `http2` properties");e.agent=n[i?"https":"http"]}return i&&await Yve(e)==="h2"?(n&&(e.agent=n.http2),new Hve(e,r)):FW.request(e,r)};mk.exports.protocolCache=Oy});var MW=E((Ynt,TW)=>{"use strict";var qve=require("http2"),Jve=uk(),Ik=Ck(),Wve=gk(),zve=LW(),Vve=(t,e,r)=>new Ik(t,e,r),_ve=(t,e,r)=>{let i=new Ik(t,e,r);return i.end(),i};TW.exports=_(P(_(P({},qve),{ClientRequest:Ik,IncomingMessage:Wve}),Jve),{request:Vve,get:_ve,auto:zve})});var wk=E(yk=>{"use strict";Object.defineProperty(yk,"__esModule",{value:!0});var OW=Ca();yk.default=t=>OW.default.nodeStream(t)&&OW.default.function_(t.getBoundary)});var GW=E(Bk=>{"use strict";Object.defineProperty(Bk,"__esModule",{value:!0});var KW=require("fs"),UW=require("util"),HW=Ca(),Xve=wk(),Zve=UW.promisify(KW.stat);Bk.default=async(t,e)=>{if(e&&"content-length"in e)return Number(e["content-length"]);if(!t)return 0;if(HW.default.string(t))return Buffer.byteLength(t);if(HW.default.buffer(t))return t.length;if(Xve.default(t))return UW.promisify(t.getLength.bind(t))();if(t instanceof KW.ReadStream){let{size:r}=await Zve(t.path);return r===0?void 0:r}}});var bk=E(Qk=>{"use strict";Object.defineProperty(Qk,"__esModule",{value:!0});function $ve(t,e,r){let i={};for(let n of r)i[n]=(...s)=>{e.emit(n,...s)},t.on(n,i[n]);return()=>{for(let n of r)t.off(n,i[n])}}Qk.default=$ve});var jW=E(vk=>{"use strict";Object.defineProperty(vk,"__esModule",{value:!0});vk.default=()=>{let t=[];return{once(e,r,i){e.once(r,i),t.push({origin:e,event:r,fn:i})},unhandleAll(){for(let e of t){let{origin:r,event:i,fn:n}=e;r.removeListener(i,n)}t.length=0}}}});var qW=E(Bp=>{"use strict";Object.defineProperty(Bp,"__esModule",{value:!0});Bp.TimeoutError=void 0;var eSe=require("net"),tSe=jW(),YW=Symbol("reentry"),rSe=()=>{},Sk=class extends Error{constructor(e,r){super(`Timeout awaiting '${r}' for ${e}ms`);this.event=r,this.name="TimeoutError",this.code="ETIMEDOUT"}};Bp.TimeoutError=Sk;Bp.default=(t,e,r)=>{if(YW in t)return rSe;t[YW]=!0;let i=[],{once:n,unhandleAll:s}=tSe.default(),o=(g,f,h)=>{var p;let d=setTimeout(f,g,g,h);(p=d.unref)===null||p===void 0||p.call(d);let m=()=>{clearTimeout(d)};return i.push(m),m},{host:a,hostname:l}=r,c=(g,f)=>{t.destroy(new Sk(g,f))},u=()=>{for(let g of i)g();s()};if(t.once("error",g=>{if(u(),t.listenerCount("error")===0)throw g}),t.once("close",u),n(t,"response",g=>{n(g,"end",u)}),typeof e.request!="undefined"&&o(e.request,c,"request"),typeof e.socket!="undefined"){let g=()=>{c(e.socket,"socket")};t.setTimeout(e.socket,g),i.push(()=>{t.removeListener("timeout",g)})}return n(t,"socket",g=>{var f;let{socketPath:h}=t;if(g.connecting){let p=Boolean(h!=null?h:eSe.isIP((f=l!=null?l:a)!==null&&f!==void 0?f:"")!==0);if(typeof e.lookup!="undefined"&&!p&&typeof g.address().address=="undefined"){let d=o(e.lookup,c,"lookup");n(g,"lookup",d)}if(typeof e.connect!="undefined"){let d=()=>o(e.connect,c,"connect");p?n(g,"connect",d()):n(g,"lookup",m=>{m===null&&n(g,"connect",d())})}typeof e.secureConnect!="undefined"&&r.protocol==="https:"&&n(g,"connect",()=>{let d=o(e.secureConnect,c,"secureConnect");n(g,"secureConnect",d)})}if(typeof e.send!="undefined"){let p=()=>o(e.send,c,"send");g.connecting?n(g,"connect",()=>{n(t,"upload-complete",p())}):n(t,"upload-complete",p())}}),typeof e.response!="undefined"&&n(t,"upload-complete",()=>{let g=o(e.response,c,"response");n(t,"response",g)}),u}});var WW=E(xk=>{"use strict";Object.defineProperty(xk,"__esModule",{value:!0});var JW=Ca();xk.default=t=>{t=t;let e={protocol:t.protocol,hostname:JW.default.string(t.hostname)&&t.hostname.startsWith("[")?t.hostname.slice(1,-1):t.hostname,host:t.host,hash:t.hash,search:t.search,pathname:t.pathname,href:t.href,path:`${t.pathname||""}${t.search||""}`};return JW.default.string(t.port)&&t.port.length>0&&(e.port=Number(t.port)),(t.username||t.password)&&(e.auth=`${t.username||""}:${t.password||""}`),e}});var zW=E(kk=>{"use strict";Object.defineProperty(kk,"__esModule",{value:!0});var iSe=require("url"),nSe=["protocol","host","hostname","port","pathname","search"];kk.default=(t,e)=>{var r,i;if(e.path){if(e.pathname)throw new TypeError("Parameters `path` and `pathname` are mutually exclusive.");if(e.search)throw new TypeError("Parameters `path` and `search` are mutually exclusive.");if(e.searchParams)throw new TypeError("Parameters `path` and `searchParams` are mutually exclusive.")}if(e.search&&e.searchParams)throw new TypeError("Parameters `search` and `searchParams` are mutually exclusive.");if(!t){if(!e.protocol)throw new TypeError("No URL protocol specified");t=`${e.protocol}//${(i=(r=e.hostname)!==null&&r!==void 0?r:e.host)!==null&&i!==void 0?i:""}`}let n=new iSe.URL(t);if(e.path){let s=e.path.indexOf("?");s===-1?e.pathname=e.path:(e.pathname=e.path.slice(0,s),e.search=e.path.slice(s+1)),delete e.path}for(let s of nSe)e[s]&&(n[s]=e[s].toString());return n}});var _W=E(Pk=>{"use strict";Object.defineProperty(Pk,"__esModule",{value:!0});var VW=class{constructor(){this.weakMap=new WeakMap,this.map=new Map}set(e,r){typeof e=="object"?this.weakMap.set(e,r):this.map.set(e,r)}get(e){return typeof e=="object"?this.weakMap.get(e):this.map.get(e)}has(e){return typeof e=="object"?this.weakMap.has(e):this.map.has(e)}};Pk.default=VW});var Rk=E(Dk=>{"use strict";Object.defineProperty(Dk,"__esModule",{value:!0});var sSe=async t=>{let e=[],r=0;for await(let i of t)e.push(i),r+=Buffer.byteLength(i);return Buffer.isBuffer(e[0])?Buffer.concat(e,r):Buffer.from(e.join(""))};Dk.default=sSe});var ZW=E(ql=>{"use strict";Object.defineProperty(ql,"__esModule",{value:!0});ql.dnsLookupIpVersionToFamily=ql.isDnsLookupIpVersion=void 0;var XW={auto:0,ipv4:4,ipv6:6};ql.isDnsLookupIpVersion=t=>t in XW;ql.dnsLookupIpVersionToFamily=t=>{if(ql.isDnsLookupIpVersion(t))return XW[t];throw new Error("Invalid DNS lookup IP version")}});var Fk=E(Ky=>{"use strict";Object.defineProperty(Ky,"__esModule",{value:!0});Ky.isResponseOk=void 0;Ky.isResponseOk=t=>{let{statusCode:e}=t,r=t.request.options.followRedirect?299:399;return e>=200&&e<=r||e===304}});var e8=E(Nk=>{"use strict";Object.defineProperty(Nk,"__esModule",{value:!0});var $W=new Set;Nk.default=t=>{$W.has(t)||($W.add(t),process.emitWarning(`Got: ${t}`,{type:"DeprecationWarning"}))}});var t8=E(Lk=>{"use strict";Object.defineProperty(Lk,"__esModule",{value:!0});var ar=Ca(),oSe=(t,e)=>{if(ar.default.null_(t.encoding))throw new TypeError("To get a Buffer, set `options.responseType` to `buffer` instead");ar.assert.any([ar.default.string,ar.default.undefined],t.encoding),ar.assert.any([ar.default.boolean,ar.default.undefined],t.resolveBodyOnly),ar.assert.any([ar.default.boolean,ar.default.undefined],t.methodRewriting),ar.assert.any([ar.default.boolean,ar.default.undefined],t.isStream),ar.assert.any([ar.default.string,ar.default.undefined],t.responseType),t.responseType===void 0&&(t.responseType="text");let{retry:r}=t;if(e?t.retry=P({},e.retry):t.retry={calculateDelay:i=>i.computedValue,limit:0,methods:[],statusCodes:[],errorCodes:[],maxRetryAfter:void 0},ar.default.object(r)?(t.retry=P(P({},t.retry),r),t.retry.methods=[...new Set(t.retry.methods.map(i=>i.toUpperCase()))],t.retry.statusCodes=[...new Set(t.retry.statusCodes)],t.retry.errorCodes=[...new Set(t.retry.errorCodes)]):ar.default.number(r)&&(t.retry.limit=r),ar.default.undefined(t.retry.maxRetryAfter)&&(t.retry.maxRetryAfter=Math.min(...[t.timeout.request,t.timeout.connect].filter(ar.default.number))),ar.default.object(t.pagination)){e&&(t.pagination=P(P({},e.pagination),t.pagination));let{pagination:i}=t;if(!ar.default.function_(i.transform))throw new Error("`options.pagination.transform` must be implemented");if(!ar.default.function_(i.shouldContinue))throw new Error("`options.pagination.shouldContinue` must be implemented");if(!ar.default.function_(i.filter))throw new TypeError("`options.pagination.filter` must be implemented");if(!ar.default.function_(i.paginate))throw new Error("`options.pagination.paginate` must be implemented")}return t.responseType==="json"&&t.headers.accept===void 0&&(t.headers.accept="application/json"),t};Lk.default=oSe});var r8=E(Qp=>{"use strict";Object.defineProperty(Qp,"__esModule",{value:!0});Qp.retryAfterStatusCodes=void 0;Qp.retryAfterStatusCodes=new Set([413,429,503]);var aSe=({attemptCount:t,retryOptions:e,error:r,retryAfter:i})=>{if(t>e.limit)return 0;let n=e.methods.includes(r.options.method),s=e.errorCodes.includes(r.code),o=r.response&&e.statusCodes.includes(r.response.statusCode);if(!n||!s&&!o)return 0;if(r.response){if(i)return e.maxRetryAfter===void 0||i>e.maxRetryAfter?0:i;if(r.response.statusCode===413)return 0}let a=Math.random()*100;return 2**(t-1)*1e3+a};Qp.default=aSe});var vp=E(Rt=>{"use strict";Object.defineProperty(Rt,"__esModule",{value:!0});Rt.UnsupportedProtocolError=Rt.ReadError=Rt.TimeoutError=Rt.UploadError=Rt.CacheError=Rt.HTTPError=Rt.MaxRedirectsError=Rt.RequestError=Rt.setNonEnumerableProperties=Rt.knownHookEvents=Rt.withoutBody=Rt.kIsNormalizedAlready=void 0;var i8=require("util"),n8=require("stream"),ASe=require("fs"),dA=require("url"),s8=require("http"),Tk=require("http"),lSe=require("https"),cSe=h3(),uSe=y3(),o8=tW(),gSe=sW(),fSe=MW(),hSe=Ly(),ce=Ca(),pSe=GW(),a8=wk(),dSe=bk(),A8=qW(),CSe=WW(),l8=zW(),mSe=_W(),ESe=Rk(),c8=ZW(),ISe=Fk(),CA=e8(),ySe=t8(),wSe=r8(),Mk,Ei=Symbol("request"),Uy=Symbol("response"),Ju=Symbol("responseSize"),Wu=Symbol("downloadedSize"),zu=Symbol("bodySize"),Vu=Symbol("uploadedSize"),Hy=Symbol("serverResponsesPiped"),u8=Symbol("unproxyEvents"),g8=Symbol("isFromCache"),Ok=Symbol("cancelTimeouts"),f8=Symbol("startedReading"),_u=Symbol("stopReading"),Gy=Symbol("triggerRead"),mA=Symbol("body"),bp=Symbol("jobs"),h8=Symbol("originalResponse"),p8=Symbol("retryTimeout");Rt.kIsNormalizedAlready=Symbol("isNormalizedAlready");var BSe=ce.default.string(process.versions.brotli);Rt.withoutBody=new Set(["GET","HEAD"]);Rt.knownHookEvents=["init","beforeRequest","beforeRedirect","beforeError","beforeRetry","afterResponse"];function QSe(t){for(let e in t){let r=t[e];if(!ce.default.string(r)&&!ce.default.number(r)&&!ce.default.boolean(r)&&!ce.default.null_(r)&&!ce.default.undefined(r))throw new TypeError(`The \`searchParams\` value '${String(r)}' must be a string, number, boolean or null`)}}function bSe(t){return ce.default.object(t)&&!("statusCode"in t)}var Kk=new mSe.default,vSe=async t=>new Promise((e,r)=>{let i=n=>{r(n)};t.pending||e(),t.once("error",i),t.once("ready",()=>{t.off("error",i),e()})}),SSe=new Set([300,301,302,303,304,307,308]),xSe=["context","body","json","form"];Rt.setNonEnumerableProperties=(t,e)=>{let r={};for(let i of t)if(!!i)for(let n of xSe)n in i&&(r[n]={writable:!0,configurable:!0,enumerable:!1,value:i[n]});Object.defineProperties(e,r)};var _r=class extends Error{constructor(e,r,i){var n;super(e);if(Error.captureStackTrace(this,this.constructor),this.name="RequestError",this.code=r.code,i instanceof Uk?(Object.defineProperty(this,"request",{enumerable:!1,value:i}),Object.defineProperty(this,"response",{enumerable:!1,value:i[Uy]}),Object.defineProperty(this,"options",{enumerable:!1,value:i.options})):Object.defineProperty(this,"options",{enumerable:!1,value:i}),this.timings=(n=this.request)===null||n===void 0?void 0:n.timings,ce.default.string(r.stack)&&ce.default.string(this.stack)){let s=this.stack.indexOf(this.message)+this.message.length,o=this.stack.slice(s).split(` +`).reverse(),a=r.stack.slice(r.stack.indexOf(r.message)+r.message.length).split(` +`).reverse();for(;a.length!==0&&a[0]===o[0];)o.shift();this.stack=`${this.stack.slice(0,s)}${o.reverse().join(` +`)}${a.reverse().join(` +`)}`}}};Rt.RequestError=_r;var Hk=class extends _r{constructor(e){super(`Redirected ${e.options.maxRedirects} times. Aborting.`,{},e);this.name="MaxRedirectsError"}};Rt.MaxRedirectsError=Hk;var Gk=class extends _r{constructor(e){super(`Response code ${e.statusCode} (${e.statusMessage})`,{},e.request);this.name="HTTPError"}};Rt.HTTPError=Gk;var jk=class extends _r{constructor(e,r){super(e.message,e,r);this.name="CacheError"}};Rt.CacheError=jk;var Yk=class extends _r{constructor(e,r){super(e.message,e,r);this.name="UploadError"}};Rt.UploadError=Yk;var qk=class extends _r{constructor(e,r,i){super(e.message,e,i);this.name="TimeoutError",this.event=e.event,this.timings=r}};Rt.TimeoutError=qk;var jy=class extends _r{constructor(e,r){super(e.message,e,r);this.name="ReadError"}};Rt.ReadError=jy;var Jk=class extends _r{constructor(e){super(`Unsupported protocol "${e.url.protocol}"`,{},e);this.name="UnsupportedProtocolError"}};Rt.UnsupportedProtocolError=Jk;var kSe=["socket","connect","continue","information","upgrade","timeout"],Uk=class extends n8.Duplex{constructor(e,r={},i){super({autoDestroy:!1,highWaterMark:0});this[Wu]=0,this[Vu]=0,this.requestInitialized=!1,this[Hy]=new Set,this.redirects=[],this[_u]=!1,this[Gy]=!1,this[bp]=[],this.retryCount=0,this._progressCallbacks=[];let n=()=>this._unlockWrite(),s=()=>this._lockWrite();this.on("pipe",c=>{c.prependListener("data",n),c.on("data",s),c.prependListener("end",n),c.on("end",s)}),this.on("unpipe",c=>{c.off("data",n),c.off("data",s),c.off("end",n),c.off("end",s)}),this.on("pipe",c=>{c instanceof Tk.IncomingMessage&&(this.options.headers=P(P({},c.headers),this.options.headers))});let{json:o,body:a,form:l}=r;if((o||a||l)&&this._lockWrite(),Rt.kIsNormalizedAlready in r)this.options=r;else try{this.options=this.constructor.normalizeArguments(e,r,i)}catch(c){ce.default.nodeStream(r.body)&&r.body.destroy(),this.destroy(c);return}(async()=>{var c;try{this.options.body instanceof ASe.ReadStream&&await vSe(this.options.body);let{url:u}=this.options;if(!u)throw new TypeError("Missing `url` property");if(this.requestUrl=u.toString(),decodeURI(this.requestUrl),await this._finalizeBody(),await this._makeRequest(),this.destroyed){(c=this[Ei])===null||c===void 0||c.destroy();return}for(let g of this[bp])g();this[bp].length=0,this.requestInitialized=!0}catch(u){if(u instanceof _r){this._beforeError(u);return}this.destroyed||this.destroy(u)}})()}static normalizeArguments(e,r,i){var n,s,o,a,l;let c=r;if(ce.default.object(e)&&!ce.default.urlInstance(e))r=P(P(P({},i),e),r);else{if(e&&r&&r.url!==void 0)throw new TypeError("The `url` option is mutually exclusive with the `input` argument");r=P(P({},i),r),e!==void 0&&(r.url=e),ce.default.urlInstance(r.url)&&(r.url=new dA.URL(r.url.toString()))}if(r.cache===!1&&(r.cache=void 0),r.dnsCache===!1&&(r.dnsCache=void 0),ce.assert.any([ce.default.string,ce.default.undefined],r.method),ce.assert.any([ce.default.object,ce.default.undefined],r.headers),ce.assert.any([ce.default.string,ce.default.urlInstance,ce.default.undefined],r.prefixUrl),ce.assert.any([ce.default.object,ce.default.undefined],r.cookieJar),ce.assert.any([ce.default.object,ce.default.string,ce.default.undefined],r.searchParams),ce.assert.any([ce.default.object,ce.default.string,ce.default.undefined],r.cache),ce.assert.any([ce.default.object,ce.default.number,ce.default.undefined],r.timeout),ce.assert.any([ce.default.object,ce.default.undefined],r.context),ce.assert.any([ce.default.object,ce.default.undefined],r.hooks),ce.assert.any([ce.default.boolean,ce.default.undefined],r.decompress),ce.assert.any([ce.default.boolean,ce.default.undefined],r.ignoreInvalidCookies),ce.assert.any([ce.default.boolean,ce.default.undefined],r.followRedirect),ce.assert.any([ce.default.number,ce.default.undefined],r.maxRedirects),ce.assert.any([ce.default.boolean,ce.default.undefined],r.throwHttpErrors),ce.assert.any([ce.default.boolean,ce.default.undefined],r.http2),ce.assert.any([ce.default.boolean,ce.default.undefined],r.allowGetBody),ce.assert.any([ce.default.string,ce.default.undefined],r.localAddress),ce.assert.any([c8.isDnsLookupIpVersion,ce.default.undefined],r.dnsLookupIpVersion),ce.assert.any([ce.default.object,ce.default.undefined],r.https),ce.assert.any([ce.default.boolean,ce.default.undefined],r.rejectUnauthorized),r.https&&(ce.assert.any([ce.default.boolean,ce.default.undefined],r.https.rejectUnauthorized),ce.assert.any([ce.default.function_,ce.default.undefined],r.https.checkServerIdentity),ce.assert.any([ce.default.string,ce.default.object,ce.default.array,ce.default.undefined],r.https.certificateAuthority),ce.assert.any([ce.default.string,ce.default.object,ce.default.array,ce.default.undefined],r.https.key),ce.assert.any([ce.default.string,ce.default.object,ce.default.array,ce.default.undefined],r.https.certificate),ce.assert.any([ce.default.string,ce.default.undefined],r.https.passphrase),ce.assert.any([ce.default.string,ce.default.buffer,ce.default.array,ce.default.undefined],r.https.pfx)),ce.assert.any([ce.default.object,ce.default.undefined],r.cacheOptions),ce.default.string(r.method)?r.method=r.method.toUpperCase():r.method="GET",r.headers===(i==null?void 0:i.headers)?r.headers=P({},r.headers):r.headers=hSe(P(P({},i==null?void 0:i.headers),r.headers)),"slashes"in r)throw new TypeError("The legacy `url.Url` has been deprecated. Use `URL` instead.");if("auth"in r)throw new TypeError("Parameter `auth` is deprecated. Use `username` / `password` instead.");if("searchParams"in r&&r.searchParams&&r.searchParams!==(i==null?void 0:i.searchParams)){let h;if(ce.default.string(r.searchParams)||r.searchParams instanceof dA.URLSearchParams)h=new dA.URLSearchParams(r.searchParams);else{QSe(r.searchParams),h=new dA.URLSearchParams;for(let p in r.searchParams){let d=r.searchParams[p];d===null?h.append(p,""):d!==void 0&&h.append(p,d)}}(n=i==null?void 0:i.searchParams)===null||n===void 0||n.forEach((p,d)=>{h.has(d)||h.append(d,p)}),r.searchParams=h}if(r.username=(s=r.username)!==null&&s!==void 0?s:"",r.password=(o=r.password)!==null&&o!==void 0?o:"",ce.default.undefined(r.prefixUrl)?r.prefixUrl=(a=i==null?void 0:i.prefixUrl)!==null&&a!==void 0?a:"":(r.prefixUrl=r.prefixUrl.toString(),r.prefixUrl!==""&&!r.prefixUrl.endsWith("/")&&(r.prefixUrl+="/")),ce.default.string(r.url)){if(r.url.startsWith("/"))throw new Error("`input` must not start with a slash when using `prefixUrl`");r.url=l8.default(r.prefixUrl+r.url,r)}else(ce.default.undefined(r.url)&&r.prefixUrl!==""||r.protocol)&&(r.url=l8.default(r.prefixUrl,r));if(r.url){"port"in r&&delete r.port;let{prefixUrl:h}=r;Object.defineProperty(r,"prefixUrl",{set:d=>{let m=r.url;if(!m.href.startsWith(d))throw new Error(`Cannot change \`prefixUrl\` from ${h} to ${d}: ${m.href}`);r.url=new dA.URL(d+m.href.slice(h.length)),h=d},get:()=>h});let{protocol:p}=r.url;if(p==="unix:"&&(p="http:",r.url=new dA.URL(`http://unix${r.url.pathname}${r.url.search}`)),r.searchParams&&(r.url.search=r.searchParams.toString()),p!=="http:"&&p!=="https:")throw new Jk(r);r.username===""?r.username=r.url.username:r.url.username=r.username,r.password===""?r.password=r.url.password:r.url.password=r.password}let{cookieJar:u}=r;if(u){let{setCookie:h,getCookieString:p}=u;ce.assert.function_(h),ce.assert.function_(p),h.length===4&&p.length===0&&(h=i8.promisify(h.bind(r.cookieJar)),p=i8.promisify(p.bind(r.cookieJar)),r.cookieJar={setCookie:h,getCookieString:p})}let{cache:g}=r;if(g&&(Kk.has(g)||Kk.set(g,new o8((h,p)=>{let d=h[Ei](h,p);return ce.default.promise(d)&&(d.once=(m,I)=>{if(m==="error")d.catch(I);else if(m==="abort")(async()=>{try{(await d).once("abort",I)}catch(B){}})();else throw new Error(`Unknown HTTP2 promise event: ${m}`);return d}),d},g))),r.cacheOptions=P({},r.cacheOptions),r.dnsCache===!0)Mk||(Mk=new uSe.default),r.dnsCache=Mk;else if(!ce.default.undefined(r.dnsCache)&&!r.dnsCache.lookup)throw new TypeError(`Parameter \`dnsCache\` must be a CacheableLookup instance or a boolean, got ${ce.default(r.dnsCache)}`);ce.default.number(r.timeout)?r.timeout={request:r.timeout}:i&&r.timeout!==i.timeout?r.timeout=P(P({},i.timeout),r.timeout):r.timeout=P({},r.timeout),r.context||(r.context={});let f=r.hooks===(i==null?void 0:i.hooks);r.hooks=P({},r.hooks);for(let h of Rt.knownHookEvents)if(h in r.hooks)if(ce.default.array(r.hooks[h]))r.hooks[h]=[...r.hooks[h]];else throw new TypeError(`Parameter \`${h}\` must be an Array, got ${ce.default(r.hooks[h])}`);else r.hooks[h]=[];if(i&&!f)for(let h of Rt.knownHookEvents)i.hooks[h].length>0&&(r.hooks[h]=[...i.hooks[h],...r.hooks[h]]);if("family"in r&&CA.default('"options.family" was never documented, please use "options.dnsLookupIpVersion"'),(i==null?void 0:i.https)&&(r.https=P(P({},i.https),r.https)),"rejectUnauthorized"in r&&CA.default('"options.rejectUnauthorized" is now deprecated, please use "options.https.rejectUnauthorized"'),"checkServerIdentity"in r&&CA.default('"options.checkServerIdentity" was never documented, please use "options.https.checkServerIdentity"'),"ca"in r&&CA.default('"options.ca" was never documented, please use "options.https.certificateAuthority"'),"key"in r&&CA.default('"options.key" was never documented, please use "options.https.key"'),"cert"in r&&CA.default('"options.cert" was never documented, please use "options.https.certificate"'),"passphrase"in r&&CA.default('"options.passphrase" was never documented, please use "options.https.passphrase"'),"pfx"in r&&CA.default('"options.pfx" was never documented, please use "options.https.pfx"'),"followRedirects"in r)throw new TypeError("The `followRedirects` option does not exist. Use `followRedirect` instead.");if(r.agent){for(let h in r.agent)if(h!=="http"&&h!=="https"&&h!=="http2")throw new TypeError(`Expected the \`options.agent\` properties to be \`http\`, \`https\` or \`http2\`, got \`${h}\``)}return r.maxRedirects=(l=r.maxRedirects)!==null&&l!==void 0?l:0,Rt.setNonEnumerableProperties([i,c],r),ySe.default(r,i)}_lockWrite(){let e=()=>{throw new TypeError("The payload has been already provided")};this.write=e,this.end=e}_unlockWrite(){this.write=super.write,this.end=super.end}async _finalizeBody(){let{options:e}=this,{headers:r}=e,i=!ce.default.undefined(e.form),n=!ce.default.undefined(e.json),s=!ce.default.undefined(e.body),o=i||n||s,a=Rt.withoutBody.has(e.method)&&!(e.method==="GET"&&e.allowGetBody);if(this._cannotHaveBody=a,o){if(a)throw new TypeError(`The \`${e.method}\` method cannot be used with a body`);if([s,i,n].filter(l=>l).length>1)throw new TypeError("The `body`, `json` and `form` options are mutually exclusive");if(s&&!(e.body instanceof n8.Readable)&&!ce.default.string(e.body)&&!ce.default.buffer(e.body)&&!a8.default(e.body))throw new TypeError("The `body` option must be a stream.Readable, string or Buffer");if(i&&!ce.default.object(e.form))throw new TypeError("The `form` option must be an Object");{let l=!ce.default.string(r["content-type"]);s?(a8.default(e.body)&&l&&(r["content-type"]=`multipart/form-data; boundary=${e.body.getBoundary()}`),this[mA]=e.body):i?(l&&(r["content-type"]="application/x-www-form-urlencoded"),this[mA]=new dA.URLSearchParams(e.form).toString()):(l&&(r["content-type"]="application/json"),this[mA]=e.stringifyJson(e.json));let c=await pSe.default(this[mA],e.headers);ce.default.undefined(r["content-length"])&&ce.default.undefined(r["transfer-encoding"])&&!a&&!ce.default.undefined(c)&&(r["content-length"]=String(c))}}else a?this._lockWrite():this._unlockWrite();this[zu]=Number(r["content-length"])||void 0}async _onResponseBase(e){let{options:r}=this,{url:i}=r;this[h8]=e,r.decompress&&(e=gSe(e));let n=e.statusCode,s=e;s.statusMessage=s.statusMessage?s.statusMessage:s8.STATUS_CODES[n],s.url=r.url.toString(),s.requestUrl=this.requestUrl,s.redirectUrls=this.redirects,s.request=this,s.isFromCache=e.fromCache||!1,s.ip=this.ip,s.retryCount=this.retryCount,this[g8]=s.isFromCache,this[Ju]=Number(e.headers["content-length"])||void 0,this[Uy]=e,e.once("end",()=>{this[Ju]=this[Wu],this.emit("downloadProgress",this.downloadProgress)}),e.once("error",a=>{e.destroy(),this._beforeError(new jy(a,this))}),e.once("aborted",()=>{this._beforeError(new jy({name:"Error",message:"The server aborted pending request",code:"ECONNRESET"},this))}),this.emit("downloadProgress",this.downloadProgress);let o=e.headers["set-cookie"];if(ce.default.object(r.cookieJar)&&o){let a=o.map(async l=>r.cookieJar.setCookie(l,i.toString()));r.ignoreInvalidCookies&&(a=a.map(async l=>l.catch(()=>{})));try{await Promise.all(a)}catch(l){this._beforeError(l);return}}if(r.followRedirect&&e.headers.location&&SSe.has(n)){if(e.resume(),this[Ei]&&(this[Ok](),delete this[Ei],this[u8]()),(n===303&&r.method!=="GET"&&r.method!=="HEAD"||!r.methodRewriting)&&(r.method="GET","body"in r&&delete r.body,"json"in r&&delete r.json,"form"in r&&delete r.form,this[mA]=void 0,delete r.headers["content-length"]),this.redirects.length>=r.maxRedirects){this._beforeError(new Hk(this));return}try{let l=Buffer.from(e.headers.location,"binary").toString(),c=new dA.URL(l,i),u=c.toString();decodeURI(u),c.hostname!==i.hostname||c.port!==i.port?("host"in r.headers&&delete r.headers.host,"cookie"in r.headers&&delete r.headers.cookie,"authorization"in r.headers&&delete r.headers.authorization,(r.username||r.password)&&(r.username="",r.password="")):(c.username=r.username,c.password=r.password),this.redirects.push(u),r.url=c;for(let g of r.hooks.beforeRedirect)await g(r,s);this.emit("redirect",s,r),await this._makeRequest()}catch(l){this._beforeError(l);return}return}if(r.isStream&&r.throwHttpErrors&&!ISe.isResponseOk(s)){this._beforeError(new Gk(s));return}e.on("readable",()=>{this[Gy]&&this._read()}),this.on("resume",()=>{e.resume()}),this.on("pause",()=>{e.pause()}),e.once("end",()=>{this.push(null)}),this.emit("response",e);for(let a of this[Hy])if(!a.headersSent){for(let l in e.headers){let c=r.decompress?l!=="content-encoding":!0,u=e.headers[l];c&&a.setHeader(l,u)}a.statusCode=n}}async _onResponse(e){try{await this._onResponseBase(e)}catch(r){this._beforeError(r)}}_onRequest(e){let{options:r}=this,{timeout:i,url:n}=r;cSe.default(e),this[Ok]=A8.default(e,i,n);let s=r.cache?"cacheableResponse":"response";e.once(s,l=>{this._onResponse(l)}),e.once("error",l=>{var c;e.destroy(),(c=e.res)===null||c===void 0||c.removeAllListeners("end"),l=l instanceof A8.TimeoutError?new qk(l,this.timings,this):new _r(l.message,l,this),this._beforeError(l)}),this[u8]=dSe.default(e,this,kSe),this[Ei]=e,this.emit("uploadProgress",this.uploadProgress);let o=this[mA],a=this.redirects.length===0?this:e;ce.default.nodeStream(o)?(o.pipe(a),o.once("error",l=>{this._beforeError(new Yk(l,this))})):(this._unlockWrite(),ce.default.undefined(o)?(this._cannotHaveBody||this._noPipe)&&(a.end(),this._lockWrite()):(this._writeRequest(o,void 0,()=>{}),a.end(),this._lockWrite())),this.emit("request",e)}async _createCacheableRequest(e,r){return new Promise((i,n)=>{Object.assign(r,CSe.default(e)),delete r.url;let s,o=Kk.get(r.cache)(r,async a=>{a._readableState.autoDestroy=!1,s&&(await s).emit("cacheableResponse",a),i(a)});r.url=e,o.once("error",n),o.once("request",async a=>{s=a,i(s)})})}async _makeRequest(){var e,r,i,n,s;let{options:o}=this,{headers:a}=o;for(let I in a)if(ce.default.undefined(a[I]))delete a[I];else if(ce.default.null_(a[I]))throw new TypeError(`Use \`undefined\` instead of \`null\` to delete the \`${I}\` header`);if(o.decompress&&ce.default.undefined(a["accept-encoding"])&&(a["accept-encoding"]=BSe?"gzip, deflate, br":"gzip, deflate"),o.cookieJar){let I=await o.cookieJar.getCookieString(o.url.toString());ce.default.nonEmptyString(I)&&(o.headers.cookie=I)}for(let I of o.hooks.beforeRequest){let B=await I(o);if(!ce.default.undefined(B)){o.request=()=>B;break}}o.body&&this[mA]!==o.body&&(this[mA]=o.body);let{agent:l,request:c,timeout:u,url:g}=o;if(o.dnsCache&&!("lookup"in o)&&(o.lookup=o.dnsCache.lookup),g.hostname==="unix"){let I=/(?.+?):(?.+)/.exec(`${g.pathname}${g.search}`);if(I==null?void 0:I.groups){let{socketPath:B,path:b}=I.groups;Object.assign(o,{socketPath:B,path:b,host:""})}}let f=g.protocol==="https:",h;o.http2?h=fSe.auto:h=f?lSe.request:s8.request;let p=(e=o.request)!==null&&e!==void 0?e:h,d=o.cache?this._createCacheableRequest:p;l&&!o.http2&&(o.agent=l[f?"https":"http"]),o[Ei]=p,delete o.request,delete o.timeout;let m=o;if(m.shared=(r=o.cacheOptions)===null||r===void 0?void 0:r.shared,m.cacheHeuristic=(i=o.cacheOptions)===null||i===void 0?void 0:i.cacheHeuristic,m.immutableMinTimeToLive=(n=o.cacheOptions)===null||n===void 0?void 0:n.immutableMinTimeToLive,m.ignoreCargoCult=(s=o.cacheOptions)===null||s===void 0?void 0:s.ignoreCargoCult,o.dnsLookupIpVersion!==void 0)try{m.family=c8.dnsLookupIpVersionToFamily(o.dnsLookupIpVersion)}catch(I){throw new Error("Invalid `dnsLookupIpVersion` option value")}o.https&&("rejectUnauthorized"in o.https&&(m.rejectUnauthorized=o.https.rejectUnauthorized),o.https.checkServerIdentity&&(m.checkServerIdentity=o.https.checkServerIdentity),o.https.certificateAuthority&&(m.ca=o.https.certificateAuthority),o.https.certificate&&(m.cert=o.https.certificate),o.https.key&&(m.key=o.https.key),o.https.passphrase&&(m.passphrase=o.https.passphrase),o.https.pfx&&(m.pfx=o.https.pfx));try{let I=await d(g,m);ce.default.undefined(I)&&(I=h(g,m)),o.request=c,o.timeout=u,o.agent=l,o.https&&("rejectUnauthorized"in o.https&&delete m.rejectUnauthorized,o.https.checkServerIdentity&&delete m.checkServerIdentity,o.https.certificateAuthority&&delete m.ca,o.https.certificate&&delete m.cert,o.https.key&&delete m.key,o.https.passphrase&&delete m.passphrase,o.https.pfx&&delete m.pfx),bSe(I)?this._onRequest(I):this.writable?(this.once("finish",()=>{this._onResponse(I)}),this._unlockWrite(),this.end(),this._lockWrite()):this._onResponse(I)}catch(I){throw I instanceof o8.CacheError?new jk(I,this):new _r(I.message,I,this)}}async _error(e){try{for(let r of this.options.hooks.beforeError)e=await r(e)}catch(r){e=new _r(r.message,r,this)}this.destroy(e)}_beforeError(e){if(this[_u])return;let{options:r}=this,i=this.retryCount+1;this[_u]=!0,e instanceof _r||(e=new _r(e.message,e,this));let n=e,{response:s}=n;(async()=>{if(s&&!s.body){s.setEncoding(this._readableState.encoding);try{s.rawBody=await ESe.default(s),s.body=s.rawBody.toString()}catch(o){}}if(this.listenerCount("retry")!==0){let o;try{let a;s&&"retry-after"in s.headers&&(a=Number(s.headers["retry-after"]),Number.isNaN(a)?(a=Date.parse(s.headers["retry-after"])-Date.now(),a<=0&&(a=1)):a*=1e3),o=await r.retry.calculateDelay({attemptCount:i,retryOptions:r.retry,error:n,retryAfter:a,computedValue:wSe.default({attemptCount:i,retryOptions:r.retry,error:n,retryAfter:a,computedValue:0})})}catch(a){this._error(new _r(a.message,a,this));return}if(o){let a=async()=>{try{for(let l of this.options.hooks.beforeRetry)await l(this.options,n,i)}catch(l){this._error(new _r(l.message,e,this));return}this.destroyed||(this.destroy(),this.emit("retry",i,e))};this[p8]=setTimeout(a,o);return}}this._error(n)})()}_read(){this[Gy]=!0;let e=this[Uy];if(e&&!this[_u]){e.readableLength&&(this[Gy]=!1);let r;for(;(r=e.read())!==null;){this[Wu]+=r.length,this[f8]=!0;let i=this.downloadProgress;i.percent<1&&this.emit("downloadProgress",i),this.push(r)}}}_write(e,r,i){let n=()=>{this._writeRequest(e,r,i)};this.requestInitialized?n():this[bp].push(n)}_writeRequest(e,r,i){this[Ei].destroyed||(this._progressCallbacks.push(()=>{this[Vu]+=Buffer.byteLength(e,r);let n=this.uploadProgress;n.percent<1&&this.emit("uploadProgress",n)}),this[Ei].write(e,r,n=>{!n&&this._progressCallbacks.length>0&&this._progressCallbacks.shift()(),i(n)}))}_final(e){let r=()=>{for(;this._progressCallbacks.length!==0;)this._progressCallbacks.shift()();if(!(Ei in this)){e();return}if(this[Ei].destroyed){e();return}this[Ei].end(i=>{i||(this[zu]=this[Vu],this.emit("uploadProgress",this.uploadProgress),this[Ei].emit("upload-complete")),e(i)})};this.requestInitialized?r():this[bp].push(r)}_destroy(e,r){var i;this[_u]=!0,clearTimeout(this[p8]),Ei in this&&(this[Ok](),((i=this[Uy])===null||i===void 0?void 0:i.complete)||this[Ei].destroy()),e!==null&&!ce.default.undefined(e)&&!(e instanceof _r)&&(e=new _r(e.message,e,this)),r(e)}get _isAboutToError(){return this[_u]}get ip(){var e;return(e=this.socket)===null||e===void 0?void 0:e.remoteAddress}get aborted(){var e,r,i;return((r=(e=this[Ei])===null||e===void 0?void 0:e.destroyed)!==null&&r!==void 0?r:this.destroyed)&&!((i=this[h8])===null||i===void 0?void 0:i.complete)}get socket(){var e,r;return(r=(e=this[Ei])===null||e===void 0?void 0:e.socket)!==null&&r!==void 0?r:void 0}get downloadProgress(){let e;return this[Ju]?e=this[Wu]/this[Ju]:this[Ju]===this[Wu]?e=1:e=0,{percent:e,transferred:this[Wu],total:this[Ju]}}get uploadProgress(){let e;return this[zu]?e=this[Vu]/this[zu]:this[zu]===this[Vu]?e=1:e=0,{percent:e,transferred:this[Vu],total:this[zu]}}get timings(){var e;return(e=this[Ei])===null||e===void 0?void 0:e.timings}get isFromCache(){return this[g8]}pipe(e,r){if(this[f8])throw new Error("Failed to pipe. The response has been emitted already.");return e instanceof Tk.ServerResponse&&this[Hy].add(e),super.pipe(e,r)}unpipe(e){return e instanceof Tk.ServerResponse&&this[Hy].delete(e),super.unpipe(e),this}};Rt.default=Uk});var Sp=E(Ms=>{"use strict";var PSe=Ms&&Ms.__createBinding||(Object.create?function(t,e,r,i){i===void 0&&(i=r),Object.defineProperty(t,i,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,i){i===void 0&&(i=r),t[i]=e[r]}),DSe=Ms&&Ms.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&PSe(e,t,r)};Object.defineProperty(Ms,"__esModule",{value:!0});Ms.CancelError=Ms.ParseError=void 0;var d8=vp(),C8=class extends d8.RequestError{constructor(e,r){let{options:i}=r.request;super(`${e.message} in "${i.url.toString()}"`,e,r.request);this.name="ParseError"}};Ms.ParseError=C8;var m8=class extends d8.RequestError{constructor(e){super("Promise was canceled",{},e);this.name="CancelError"}get isCanceled(){return!0}};Ms.CancelError=m8;DSe(vp(),Ms)});var I8=E(Wk=>{"use strict";Object.defineProperty(Wk,"__esModule",{value:!0});var E8=Sp(),RSe=(t,e,r,i)=>{let{rawBody:n}=t;try{if(e==="text")return n.toString(i);if(e==="json")return n.length===0?"":r(n.toString());if(e==="buffer")return n;throw new E8.ParseError({message:`Unknown body type '${e}'`,name:"Error"},t)}catch(s){throw new E8.ParseError(s,t)}};Wk.default=RSe});var zk=E(EA=>{"use strict";var FSe=EA&&EA.__createBinding||(Object.create?function(t,e,r,i){i===void 0&&(i=r),Object.defineProperty(t,i,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,i){i===void 0&&(i=r),t[i]=e[r]}),NSe=EA&&EA.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&FSe(e,t,r)};Object.defineProperty(EA,"__esModule",{value:!0});var LSe=require("events"),TSe=Ca(),MSe=g3(),Yy=Sp(),y8=I8(),w8=vp(),OSe=bk(),KSe=Rk(),B8=Fk(),USe=["request","response","redirect","uploadProgress","downloadProgress"];function Q8(t){let e,r,i=new LSe.EventEmitter,n=new MSe((o,a,l)=>{let c=u=>{let g=new w8.default(void 0,t);g.retryCount=u,g._noPipe=!0,l(()=>g.destroy()),l.shouldReject=!1,l(()=>a(new Yy.CancelError(g))),e=g,g.once("response",async p=>{var d;if(p.retryCount=u,p.request.aborted)return;let m;try{m=await KSe.default(g),p.rawBody=m}catch(R){return}if(g._isAboutToError)return;let I=((d=p.headers["content-encoding"])!==null&&d!==void 0?d:"").toLowerCase(),B=["gzip","deflate","br"].includes(I),{options:b}=g;if(B&&!b.decompress)p.body=m;else try{p.body=y8.default(p,b.responseType,b.parseJson,b.encoding)}catch(R){if(p.body=m.toString(),B8.isResponseOk(p)){g._beforeError(R);return}}try{for(let[R,H]of b.hooks.afterResponse.entries())p=await H(p,async L=>{let K=w8.default.normalizeArguments(void 0,_(P({},L),{retry:{calculateDelay:()=>0},throwHttpErrors:!1,resolveBodyOnly:!1}),b);K.hooks.afterResponse=K.hooks.afterResponse.slice(0,R);for(let ne of K.hooks.beforeRetry)await ne(K);let J=Q8(K);return l(()=>{J.catch(()=>{}),J.cancel()}),J})}catch(R){g._beforeError(new Yy.RequestError(R.message,R,g));return}if(!B8.isResponseOk(p)){g._beforeError(new Yy.HTTPError(p));return}r=p,o(g.options.resolveBodyOnly?p.body:p)});let f=p=>{if(n.isCanceled)return;let{options:d}=g;if(p instanceof Yy.HTTPError&&!d.throwHttpErrors){let{response:m}=p;o(g.options.resolveBodyOnly?m.body:m);return}a(p)};g.once("error",f);let h=g.options.body;g.once("retry",(p,d)=>{var m,I;if(h===((m=d.request)===null||m===void 0?void 0:m.options.body)&&TSe.default.nodeStream((I=d.request)===null||I===void 0?void 0:I.options.body)){f(d);return}c(p)}),OSe.default(g,i,USe)};c(0)});n.on=(o,a)=>(i.on(o,a),n);let s=o=>{let a=(async()=>{await n;let{options:l}=r.request;return y8.default(r,o,l.parseJson,l.encoding)})();return Object.defineProperties(a,Object.getOwnPropertyDescriptors(n)),a};return n.json=()=>{let{headers:o}=e.options;return!e.writableFinished&&o.accept===void 0&&(o.accept="application/json"),s("json")},n.buffer=()=>s("buffer"),n.text=()=>s("text"),n}EA.default=Q8;NSe(Sp(),EA)});var b8=E(Vk=>{"use strict";Object.defineProperty(Vk,"__esModule",{value:!0});var HSe=Sp();function GSe(t,...e){let r=(async()=>{if(t instanceof HSe.RequestError)try{for(let n of e)if(n)for(let s of n)t=await s(t)}catch(n){t=n}throw t})(),i=()=>r;return r.json=i,r.text=i,r.buffer=i,r.on=i,r}Vk.default=GSe});var x8=E(_k=>{"use strict";Object.defineProperty(_k,"__esModule",{value:!0});var v8=Ca();function S8(t){for(let e of Object.values(t))(v8.default.plainObject(e)||v8.default.array(e))&&S8(e);return Object.freeze(t)}_k.default=S8});var P8=E(k8=>{"use strict";Object.defineProperty(k8,"__esModule",{value:!0})});var Xk=E(ss=>{"use strict";var jSe=ss&&ss.__createBinding||(Object.create?function(t,e,r,i){i===void 0&&(i=r),Object.defineProperty(t,i,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,i){i===void 0&&(i=r),t[i]=e[r]}),YSe=ss&&ss.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&jSe(e,t,r)};Object.defineProperty(ss,"__esModule",{value:!0});ss.defaultHandler=void 0;var D8=Ca(),os=zk(),qSe=b8(),qy=vp(),JSe=x8(),WSe={RequestError:os.RequestError,CacheError:os.CacheError,ReadError:os.ReadError,HTTPError:os.HTTPError,MaxRedirectsError:os.MaxRedirectsError,TimeoutError:os.TimeoutError,ParseError:os.ParseError,CancelError:os.CancelError,UnsupportedProtocolError:os.UnsupportedProtocolError,UploadError:os.UploadError},zSe=async t=>new Promise(e=>{setTimeout(e,t)}),{normalizeArguments:Jy}=qy.default,R8=(...t)=>{let e;for(let r of t)e=Jy(void 0,r,e);return e},VSe=t=>t.isStream?new qy.default(void 0,t):os.default(t),_Se=t=>"defaults"in t&&"options"in t.defaults,XSe=["get","post","put","patch","head","delete"];ss.defaultHandler=(t,e)=>e(t);var F8=(t,e)=>{if(t)for(let r of t)r(e)},N8=t=>{t._rawHandlers=t.handlers,t.handlers=t.handlers.map(i=>(n,s)=>{let o,a=i(n,l=>(o=s(l),o));if(a!==o&&!n.isStream&&o){let l=a,{then:c,catch:u,finally:g}=l;Object.setPrototypeOf(l,Object.getPrototypeOf(o)),Object.defineProperties(l,Object.getOwnPropertyDescriptors(o)),l.then=c,l.catch=u,l.finally=g}return a});let e=(i,n={},s)=>{var o,a;let l=0,c=u=>t.handlers[l++](u,l===t.handlers.length?VSe:c);if(D8.default.plainObject(i)){let u=P(P({},i),n);qy.setNonEnumerableProperties([i,n],u),n=u,i=void 0}try{let u;try{F8(t.options.hooks.init,n),F8((o=n.hooks)===null||o===void 0?void 0:o.init,n)}catch(f){u=f}let g=Jy(i,n,s!=null?s:t.options);if(g[qy.kIsNormalizedAlready]=!0,u)throw new os.RequestError(u.message,u,g);return c(g)}catch(u){if(n.isStream)throw u;return qSe.default(u,t.options.hooks.beforeError,(a=n.hooks)===null||a===void 0?void 0:a.beforeError)}};e.extend=(...i)=>{let n=[t.options],s=[...t._rawHandlers],o;for(let a of i)_Se(a)?(n.push(a.defaults.options),s.push(...a.defaults._rawHandlers),o=a.defaults.mutableDefaults):(n.push(a),"handlers"in a&&s.push(...a.handlers),o=a.mutableDefaults);return s=s.filter(a=>a!==ss.defaultHandler),s.length===0&&s.push(ss.defaultHandler),N8({options:R8(...n),handlers:s,mutableDefaults:Boolean(o)})};let r=async function*(i,n){let s=Jy(i,n,t.options);s.resolveBodyOnly=!1;let o=s.pagination;if(!D8.default.object(o))throw new TypeError("`options.pagination` must be implemented");let a=[],{countLimit:l}=o,c=0;for(;c{let s=[];for await(let o of r(i,n))s.push(o);return s},e.paginate.each=r,e.stream=(i,n)=>e(i,_(P({},n),{isStream:!0}));for(let i of XSe)e[i]=(n,s)=>e(n,_(P({},s),{method:i})),e.stream[i]=(n,s)=>e(n,_(P({},s),{method:i,isStream:!0}));return Object.assign(e,WSe),Object.defineProperty(e,"defaults",{value:t.mutableDefaults?t:JSe.default(t),writable:t.mutableDefaults,configurable:t.mutableDefaults,enumerable:!0}),e.mergeOptions=R8,e};ss.default=N8;YSe(P8(),ss)});var zy=E((Ea,Wy)=>{"use strict";var ZSe=Ea&&Ea.__createBinding||(Object.create?function(t,e,r,i){i===void 0&&(i=r),Object.defineProperty(t,i,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,i){i===void 0&&(i=r),t[i]=e[r]}),L8=Ea&&Ea.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&ZSe(e,t,r)};Object.defineProperty(Ea,"__esModule",{value:!0});var $Se=require("url"),T8=Xk(),exe={options:{method:"GET",retry:{limit:2,methods:["GET","PUT","HEAD","DELETE","OPTIONS","TRACE"],statusCodes:[408,413,429,500,502,503,504,521,522,524],errorCodes:["ETIMEDOUT","ECONNRESET","EADDRINUSE","ECONNREFUSED","EPIPE","ENOTFOUND","ENETUNREACH","EAI_AGAIN"],maxRetryAfter:void 0,calculateDelay:({computedValue:t})=>t},timeout:{},headers:{"user-agent":"got (https://github.com/sindresorhus/got)"},hooks:{init:[],beforeRequest:[],beforeRedirect:[],beforeRetry:[],beforeError:[],afterResponse:[]},cache:void 0,dnsCache:void 0,decompress:!0,throwHttpErrors:!0,followRedirect:!0,isStream:!1,responseType:"text",resolveBodyOnly:!1,maxRedirects:10,prefixUrl:"",methodRewriting:!0,ignoreInvalidCookies:!1,context:{},http2:!1,allowGetBody:!1,https:void 0,pagination:{transform:t=>t.request.options.responseType==="json"?t.body:JSON.parse(t.body),paginate:t=>{if(!Reflect.has(t.headers,"link"))return!1;let e=t.headers.link.split(","),r;for(let i of e){let n=i.split(";");if(n[1].includes("next")){r=n[0].trimStart().trim(),r=r.slice(1,-1);break}}return r?{url:new $Se.URL(r)}:!1},filter:()=>!0,shouldContinue:()=>!0,countLimit:Infinity,backoff:0,requestLimit:1e4,stackAllItems:!0},parseJson:t=>JSON.parse(t),stringifyJson:t=>JSON.stringify(t),cacheOptions:{}},handlers:[T8.defaultHandler],mutableDefaults:!1},Zk=T8.default(exe);Ea.default=Zk;Wy.exports=Zk;Wy.exports.default=Zk;Wy.exports.__esModule=!0;L8(Xk(),Ea);L8(zk(),Ea)});var U8=E(Xu=>{"use strict";var fst=require("net"),txe=require("tls"),$k=require("http"),M8=require("https"),rxe=require("events"),hst=require("assert"),ixe=require("util");Xu.httpOverHttp=nxe;Xu.httpsOverHttp=sxe;Xu.httpOverHttps=oxe;Xu.httpsOverHttps=axe;function nxe(t){var e=new Ia(t);return e.request=$k.request,e}function sxe(t){var e=new Ia(t);return e.request=$k.request,e.createSocket=O8,e.defaultPort=443,e}function oxe(t){var e=new Ia(t);return e.request=M8.request,e}function axe(t){var e=new Ia(t);return e.request=M8.request,e.createSocket=O8,e.defaultPort=443,e}function Ia(t){var e=this;e.options=t||{},e.proxyOptions=e.options.proxy||{},e.maxSockets=e.options.maxSockets||$k.Agent.defaultMaxSockets,e.requests=[],e.sockets=[],e.on("free",function(i,n,s,o){for(var a=K8(n,s,o),l=0,c=e.requests.length;l=this.maxSockets){s.requests.push(o);return}s.createSocket(o,function(a){a.on("free",l),a.on("close",c),a.on("agentRemove",c),e.onSocket(a);function l(){s.emit("free",a,o)}function c(u){s.removeSocket(a),a.removeListener("free",l),a.removeListener("close",c),a.removeListener("agentRemove",c)}})};Ia.prototype.createSocket=function(e,r){var i=this,n={};i.sockets.push(n);var s=eP({},i.proxyOptions,{method:"CONNECT",path:e.host+":"+e.port,agent:!1,headers:{host:e.host+":"+e.port}});e.localAddress&&(s.localAddress=e.localAddress),s.proxyAuth&&(s.headers=s.headers||{},s.headers["Proxy-Authorization"]="Basic "+new Buffer(s.proxyAuth).toString("base64")),IA("making CONNECT request");var o=i.request(s);o.useChunkedEncodingByDefault=!1,o.once("response",a),o.once("upgrade",l),o.once("connect",c),o.once("error",u),o.end();function a(g){g.upgrade=!0}function l(g,f,h){process.nextTick(function(){c(g,f,h)})}function c(g,f,h){if(o.removeAllListeners(),f.removeAllListeners(),g.statusCode!==200){IA("tunneling socket could not be established, statusCode=%d",g.statusCode),f.destroy();var p=new Error("tunneling socket could not be established, statusCode="+g.statusCode);p.code="ECONNRESET",e.request.emit("error",p),i.removeSocket(n);return}if(h.length>0){IA("got illegal response body from proxy"),f.destroy();var p=new Error("got illegal response body from proxy");p.code="ECONNRESET",e.request.emit("error",p),i.removeSocket(n);return}return IA("tunneling connection has established"),i.sockets[i.sockets.indexOf(n)]=f,r(f)}function u(g){o.removeAllListeners(),IA(`tunneling socket could not be established, cause=%s +`,g.message,g.stack);var f=new Error("tunneling socket could not be established, cause="+g.message);f.code="ECONNRESET",e.request.emit("error",f),i.removeSocket(n)}};Ia.prototype.removeSocket=function(e){var r=this.sockets.indexOf(e);if(r!==-1){this.sockets.splice(r,1);var i=this.requests.shift();i&&this.createSocket(i,function(n){i.request.onSocket(n)})}};function O8(t,e){var r=this;Ia.prototype.createSocket.call(r,t,function(i){var n=t.request.getHeader("host"),s=eP({},r.options,{socket:i,servername:n?n.replace(/:.*$/,""):t.host}),o=txe.connect(0,s);r.sockets[r.sockets.indexOf(i)]=o,e(o)})}function K8(t,e,r){return typeof t=="string"?{host:t,port:e,localAddress:r}:t}function eP(t){for(var e=1,r=arguments.length;e{H8.exports=U8()});var b4=E((xot,sP)=>{var e4=Object.assign({},require("fs")),oe=typeof oe!="undefined"?oe:{},kp={},wA;for(wA in oe)oe.hasOwnProperty(wA)&&(kp[wA]=oe[wA]);var oP=[],t4="./this.program",r4=function(t,e){throw e},i4=!1,Wl=!0,Pp="";function dxe(t){return oe.locateFile?oe.locateFile(t,Pp):Pp+t}var Xy,aP,Zy,AP;Wl&&(i4?Pp=require("path").dirname(Pp)+"/":Pp=__dirname+"/",Xy=function(e,r){var i=s4(e);return i?r?i:i.toString():(Zy||(Zy=e4),AP||(AP=require("path")),e=AP.normalize(e),Zy.readFileSync(e,r?null:"utf8"))},aP=function(e){var r=Xy(e,!0);return r.buffer||(r=new Uint8Array(r)),n4(r.buffer),r},process.argv.length>1&&(t4=process.argv[1].replace(/\\/g,"/")),oP=process.argv.slice(2),typeof sP!="undefined"&&(sP.exports=oe),r4=function(t){process.exit(t)},oe.inspect=function(){return"[Emscripten Module object]"});var $y=oe.print||console.log.bind(console),Di=oe.printErr||console.warn.bind(console);for(wA in kp)kp.hasOwnProperty(wA)&&(oe[wA]=kp[wA]);kp=null;oe.arguments&&(oP=oe.arguments);oe.thisProgram&&(t4=oe.thisProgram);oe.quit&&(r4=oe.quit);var Cxe=16;function mxe(t,e){return e||(e=Cxe),Math.ceil(t/e)*e}var Exe=0,Ixe=function(t){Exe=t},lP;oe.wasmBinary&&(lP=oe.wasmBinary);var Pst=oe.noExitRuntime||!0;typeof WebAssembly!="object"&&Gr("no native wasm support detected");function yxe(t,e,r){switch(e=e||"i8",e.charAt(e.length-1)==="*"&&(e="i32"),e){case"i1":return Zi[t>>0];case"i8":return Zi[t>>0];case"i16":return cP[t>>1];case"i32":return _e[t>>2];case"i64":return _e[t>>2];case"float":return o4[t>>2];case"double":return a4[t>>3];default:Gr("invalid type for getValue: "+e)}return null}var ew,A4=!1,wxe;function n4(t,e){t||Gr("Assertion failed: "+e)}function l4(t){var e=oe["_"+t];return n4(e,"Cannot call unknown function "+t+", make sure it is exported"),e}function vxe(t,e,r,i,n){var s={string:function(h){var p=0;if(h!=null&&h!==0){var d=(h.length<<2)+1;p=g4(d),u4(h,p,d)}return p},array:function(h){var p=g4(h.length);return Bxe(h,p),p}};function o(h){return e==="string"?c4(h):e==="boolean"?Boolean(h):h}var a=l4(t),l=[],c=0;if(i)for(var u=0;u=i);)++n;if(n-e>16&&t.subarray&&f4)return f4.decode(t.subarray(e,n));for(var s="";e>10,56320|c&1023)}}return s}function c4(t,e){return t?Zu($u,t,e):""}function tw(t,e,r,i){if(!(i>0))return 0;for(var n=r,s=r+i-1,o=0;o=55296&&a<=57343){var l=t.charCodeAt(++o);a=65536+((a&1023)<<10)|l&1023}if(a<=127){if(r>=s)break;e[r++]=a}else if(a<=2047){if(r+1>=s)break;e[r++]=192|a>>6,e[r++]=128|a&63}else if(a<=65535){if(r+2>=s)break;e[r++]=224|a>>12,e[r++]=128|a>>6&63,e[r++]=128|a&63}else{if(r+3>=s)break;e[r++]=240|a>>18,e[r++]=128|a>>12&63,e[r++]=128|a>>6&63,e[r++]=128|a&63}}return e[r]=0,r-n}function u4(t,e,r){return tw(t,$u,e,r)}function rw(t){for(var e=0,r=0;r=55296&&i<=57343&&(i=65536+((i&1023)<<10)|t.charCodeAt(++r)&1023),i<=127?++e:i<=2047?e+=2:i<=65535?e+=3:e+=4}return e}function uP(t){var e=rw(t)+1,r=h4(e);return r&&tw(t,Zi,r,e),r}function Bxe(t,e){Zi.set(t,e)}function xxe(t,e){return t%e>0&&(t+=e-t%e),t}var gP,Zi,$u,cP,kxe,_e,Pxe,o4,a4;function p4(t){gP=t,oe.HEAP8=Zi=new Int8Array(t),oe.HEAP16=cP=new Int16Array(t),oe.HEAP32=_e=new Int32Array(t),oe.HEAPU8=$u=new Uint8Array(t),oe.HEAPU16=kxe=new Uint16Array(t),oe.HEAPU32=Pxe=new Uint32Array(t),oe.HEAPF32=o4=new Float32Array(t),oe.HEAPF64=a4=new Float64Array(t)}var Dst=oe.INITIAL_MEMORY||16777216,fP,d4=[],C4=[],m4=[],Dxe=!1;function Fxe(){if(oe.preRun)for(typeof oe.preRun=="function"&&(oe.preRun=[oe.preRun]);oe.preRun.length;)Rxe(oe.preRun.shift());hP(d4)}function Nxe(){Dxe=!0,!oe.noFSInit&&!y.init.initialized&&y.init(),BA.init(),hP(C4)}function Txe(){if(oe.postRun)for(typeof oe.postRun=="function"&&(oe.postRun=[oe.postRun]);oe.postRun.length;)Lxe(oe.postRun.shift());hP(m4)}function Rxe(t){d4.unshift(t)}function Mxe(t){C4.unshift(t)}function Lxe(t){m4.unshift(t)}var zl=0,pP=null,Dp=null;function Oxe(t){return t}function E4(t){zl++,oe.monitorRunDependencies&&oe.monitorRunDependencies(zl)}function dP(t){if(zl--,oe.monitorRunDependencies&&oe.monitorRunDependencies(zl),zl==0&&(pP!==null&&(clearInterval(pP),pP=null),Dp)){var e=Dp;Dp=null,e()}}oe.preloadedImages={};oe.preloadedAudios={};function Gr(t){oe.onAbort&&oe.onAbort(t),t+="",Di(t),A4=!0,wxe=1,t="abort("+t+"). Build with -s ASSERTIONS=1 for more info.";var e=new WebAssembly.RuntimeError(t);throw e}var I4="data:application/octet-stream;base64,";function y4(t){return t.startsWith(I4)}var Rp="data:application/octet-stream;base64,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AkEEaiEBIAIoAgAiA0F/cyADQYGChAhrcUGAgYKEeHFFDQALIANB/wFxRQRAIAIgAGsPCwNAIAItAAEhAyACQQFqIgEhAiADDQALCyABIABrC2EBAX8jAEEQayICIAA2AgggAiABNwMAAkAgAikDACACKAIIKQMIVgRAIAIoAghBADoAACACQX82AgwMAQsgAigCCEEBOgAAIAIoAgggAikDADcDECACQQA2AgwLIAIoAgwL7wEBAX8jAEEgayICJAAgAiAANgIYIAIgATcDECACIAIoAhhCCBAeNgIMAkAgAigCDEUEQCACQX82AhwMAQsgAigCDCACKQMQQv8BgzwAACACKAIMIAIpAxBCCIhC/wGDPAABIAIoAgwgAikDEEIQiEL/AYM8AAIgAigCDCACKQMQQhiIQv8BgzwAAyACKAIMIAIpAxBCIIhC/wGDPAAEIAIoAgwgAikDEEIoiEL/AYM8AAUgAigCDCACKQMQQjCIQv8BgzwABiACKAIMIAIpAxBCOIhC/wGDPAAHIAJBADYCHAsgAigCHBogAkEgaiQAC4cDAQF/IwBBMGsiAyQAIAMgADYCJCADIAE2AiAgAyACNwMYAkAgAygCJC0AKEEBcQRAIANCfzcDKAwBCwJAAkAgAygCJCgCIEUNACADKQMYQv///////////wBWDQAgAykDGFANASADKAIgDQELIAMoAiRBDGpBEkEAEBQgA0J/NwMoDAELIAMoAiQtADVBAXEEQCADQn83AygMAQsCfyMAQRBrIgAgAygCJDYCDCAAKAIMLQA0QQFxCwRAIANCADcDKAwBCyADKQMYUARAIANCADcDKAwBCyADQgA3AxADQCADKQMQIAMpAxhUBEAgAyADKAIkIAMoAiAgAykDEKdqIAMpAxggAykDEH1BARAhIgI3AwggAkIAUwRAIAMoAiRBAToANSADKQMQUARAIANCfzcDKAwECyADIAMpAxA3AygMAwsgAykDCFAEQCADKAIkQQE6ADQFIAMgAykDCCADKQMQfDcDEAwCCwsLIAMgAykDEDcDKAsgAykDKCECIANBMGokACACCzYBAX8jAEEQayIBIAA2AgwCfiABKAIMLQAAQQFxBEAgASgCDCkDCCABKAIMKQMQfQwBC0IACwuyAQIBfwF+IwBBEGsiASQAIAEgADYCBCABIAEoAgRC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AkEBNgIQIAJBADYCCANAAkAgAigCCCACKAIYLwEETw0AAkAgAigCDCACKAIIai0AAEEfSwRAIAIoAgwgAigCCGotAABBgAFJDQELIAIoAgwgAigCCGotAABBDUYNACACKAIMIAIoAghqLQAAQQpGDQAgAigCDCACKAIIai0AAEEJRgRADAELIAJBAzYCEAJAIAIoAgwgAigCCGotAABB4AFxQcABRgRAIAJBATYCAAwBCwJAIAIoAgwgAigCCGotAABB8AFxQeABRgRAIAJBAjYCAAwBCwJAIAIoAgwgAigCCGotAABB+AFxQfABRgRAIAJBAzYCAAwBCyACQQQ2AhAMBAsLCyACKAIYLwEEIAIoAgggAigCAGpNBEAgAkEENgIQDAILIAJBATYCBANAIAIoAgQgAigCAE0EQCACKAIMIAIoAgggAigCBGpqLQAAQcABcUGAAUcEQCACQQQ2AhAMBgUgAiACKAIEQQFqNgIEDAILAAsLIAIgAigCACACKAIIajYCCAsgAiACKAIIQQFqNgIIDAELCwsgAigCGCACKAIQNgIIIAIoAhQEQAJAIAIoAhRBAkcNACACKAIQQQNHDQAgAkECNgIQIAIoAhhBAjYCCAsCQCACKAIUIAIoAhBGDQAgAigCEEEBRg0AIAJBBTYCHAwCCwsgAiACKAIQNgIcCyACKAIcC2oBAX8jAEEQayIBIAA2AgwgASgCDEIANwMAIAEoAgxBADYCCCABKAIMQn83AxAgASgCDEEANgIsIAEoAgxBfzYCKCABKAIMQgA3AxggASgCDEIANwMgIAEoAgxBADsBMCABKAIMQQA7ATILUgECf0GQlwEoAgAiASAAQQNqQXxxIgJqIQACQCACQQAgACABTRsNACAAPwBBEHRLBEAgABATRQ0BC0GQlwEgADYCACABDwtBtJsBQTA2AgBBfwuNBQEDfyMAQRBrIgEkACABIAA2AgwgASgCDARAIAEoAgwoAgAEQCABKAIMKAIAEDEaIAEoAgwoAgAQGwsgASgCDCgCHBAVIAEoAgwoAiAQJSABKAIMKAIkECUgASgCDCgCUCECIwBBEGsiACQAIAAgAjYCDCAAKAIMBEAgACgCDCgCEARAIABBADYCCANAIAAoAgggACgCDCgCAEkEQCAAKAIMKAIQIAAoAghBAnRqKAIABEAgACgCDCgCECAAKAIIQQJ0aigCACEDIwBBEGsiAiQAIAIgAzYCDANAIAIoAgwEQCACIAIoAgwoAhg2AgggAigCDBAVIAIgAigCCDYCDAwBCwsgAkEQaiQACyAAIAAoAghBAWo2AggMAQsLIAAoAgwoAhAQFQsgACgCDBAVCyAAQRBqJAAgASgCDCgCQARAIAFCADcDAANAIAEpAwAgASgCDCkDMFQEQCABKAIMKAJAIAEpAwCnQQR0ahBiIAEgASkDAEIBfDcDAAwBCwsgASgCDCgCQBAVCyABQgA3AwADQCABKQMAIAEoAgwoAkStVARAIAEoAgwoAkwgASkDAKdBAnRqKAIAIQIjAEEQayIAJAAgACACNgIMIAAoAgxBAToAKAJ/IwBBEGsiAiAAKAIMQQxqNgIMIAIoAgwoAgBFCwRAIAAoAgxBDGpBCEEAEBQLIABBEGokACABIAEpAwBCAXw3AwAMAQsLIAEoAgwoAkwQFSABKAIMKAJUIQIjAEEQayIAJAAgACACNgIMIAAoAgwEQCAAKAIMKAIIBEAgACgCDCgCDCAAKAIMKAIIEQIACyAAKAIMEBULIABBEGokACABKAIMQQhqEDcgASgCDBAVCyABQRBqJAALjw4BAX8jAEEQayIDJAAgAyAANgIMIAMgATYCCCADIAI2AgQgAygCCCEBIAMoAgQhAiMAQSBrIgAgAygCDDYCGCAAIAE2AhQgACACNgIQIAAgACgCGEEQdjYCDCAAIAAoAhhB//8DcTYCGAJAIAAoAhBBAUYEQCAAIAAoAhQtAAAgACgCGGo2AhggACgCGEHx/wNPBEAgACAAKAIYQfH/A2s2AhgLIAAgACgCGCAAKAIMajYCDCAAKAIMQfH/A08EQCAAIAAoAgxB8f8DazYCDAsgACAAKAIYIAAoAgxBEHRyNgIcDAELIAAoAhRFBEAgAEEBNgIcDAELIAAoAhBBEEkEQANAIAAgACgCECIBQQFrNgIQIAEEQCAAIAAoAhQiAUEBajYCFCAAIAEtAAAgACgCGGo2AhggACAAKAIYIAAoAgxqNgIMDAELCyAAKAIYQfH/A08EQCAAIAAoAhhB8f8DazYCGAsgACAAKAIMQfH/A3A2AgwgACAAKAIYIAAoAgxBEHRyNgIcDAELA0AgACgCEEGwK08EQCAAIAAoAhBBsCtrNgIQIABB2wI2AggDQCAAIAAoAhQtAAAgACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0AASAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQACIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhQtAAMgACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0ABCAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQAFIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhQtAAYgACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0AByAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQAIIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhQtAAkgACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0ACiAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQALIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhQtAAwgACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0ADSAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQAOIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhQtAA8gACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFEEQajYCFCAAIAAoAghBAWsiATYCCCABDQALIAAgACgCGEHx/wNwNgIYIAAgACgCDEHx/wNwNgIMDAELCyAAKAIQBEADQCAAKAIQQRBPBEAgACAAKAIQQRBrNgIQIAAgACgCFC0AACAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQABIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhQtAAIgACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0AAyAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQAEIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhQtAAUgACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0ABiAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQAHIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhQtAAggACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0ACSAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQAKIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhQtAAsgACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0ADCAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQANIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhQtAA4gACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0ADyAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIUQRBqNgIUDAELCwNAIAAgACgCECIBQQFrNgIQIAEEQCAAIAAoAhQiAUEBajYCFCAAIAEtAAAgACgCGGo2AhggACAAKAIYIAAoAgxqNgIMDAELCyAAIAAoAhhB8f8DcDYCGCAAIAAoAgxB8f8DcDYCDAsgACAAKAIYIAAoAgxBEHRyNgIcCyAAKAIcIQAgA0EQaiQAIAALhAEBAX8jAEEQayIBJAAgASAANgIIIAFB2AAQGCIANgIEAkAgAEUEQCABQQA2AgwMAQsCQCABKAIIBEAgASgCBCABKAIIQdgAEBkaDAELIAEoAgQQTwsgASgCBEEANgIAIAEoAgRBAToABSABIAEoAgQ2AgwLIAEoAgwhACABQRBqJAAgAAtvAQF/IwBBIGsiAyQAIAMgADYCGCADIAE2AhQgAyACNgIQIAMgAygCGCADKAIQrRAeNgIMAkAgAygCDEUEQCADQX82AhwMAQsgAygCDCADKAIUIAMoAhAQGRogA0EANgIcCyADKAIcGiADQSBqJAALogEBAX8jAEEgayIEJAAgBCAANgIYIAQgATcDECAEIAI2AgwgBCADNgIIIAQgBCgCDCAEKQMQECkiADYCBAJAIABFBEAgBCgCCEEOQQAQFCAEQQA2AhwMAQsgBCgCGCAEKAIEKAIEIAQpAxAgBCgCCBBhQQBIBEAgBCgCBBAWIARBADYCHAwBCyAEIAQoAgQ2AhwLIAQoAhwhACAEQSBqJAAgAAugAQEBfyMAQSBrIgMkACADIAA2AhQgAyABNgIQIAMgAjcDCCADIAMoAhA2AgQCQCADKQMIQghUBEAgA0J/NwMYDAELIwBBEGsiACADKAIUNgIMIAAoAgwoAgAhACADKAIEIAA2AgAjAEEQayIAIAMoAhQ2AgwgACgCDCgCBCEAIAMoAgQgADYCBCADQgg3AxgLIAMpAxghAiADQSBqJAAgAgs/AQF/IwBBEGsiAiAANgIMIAIgATYCCCACKAIMBEAgAigCDCACKAIIKAIANgIAIAIoAgwgAigCCCgCBDYCBAsLgwECA38BfgJAIABCgICAgBBUBEAgACEFDAELA0AgAUEBayIBIAAgAEIKgCIFQgp+fadBMHI6AAAgAEL/////nwFWIQIgBSEAIAINAAsLIAWnIgIEQANAIAFBAWsiASACIAJBCm4iA0EKbGtBMHI6AAAgAkEJSyEEIAMhAiAEDQALCyABC7wCAQF/IwBBIGsiBCQAIAQgADYCGCAEIAE3AxAgBCACNgIMIAQgAzYCCCAEKAIIRQRAIAQgBCgCGEEIajYCCAsCQCAEKQMQIAQoAhgpAzBaBEAgBCgCCEESQQAQFCAEQQA2AhwMAQsCQCAEKAIMQQhxRQRAIAQoAhgoAkAgBCkDEKdBBHRqKAIEDQELIAQoAhgoAkAgBCkDEKdBBHRqKAIARQRAIAQoAghBEkEAEBQgBEEANgIcDAILAkAgBCgCGCgCQCAEKQMQp0EEdGotAAxBAXFFDQAgBCgCDEEIcQ0AIAQoAghBF0EAEBQgBEEANgIcDAILIAQgBCgCGCgCQCAEKQMQp0EEdGooAgA2AhwMAQsgBCAEKAIYKAJAIAQpAxCnQQR0aigCBDYCHAsgBCgCHCEAIARBIGokACAAC9kIAQJ/IwBBIGsiBCQAIAQgADYCGCAEIAE2AhQgBCACNgIQIAQgAzYCDAJAIAQoAhhFBEAgBCgCFARAIAQoAhRBADYCAAsgBEGQ2QA2AhwMAQsgBCgCEEHAAHFFBEAgBCgCGCgCCEUEQCAEKAIYQQAQOhoLAkACQAJAIAQoAhBBgAFxRQ0AIAQoAhgoAghBAUYNACAEKAIYKAIIQQJHDQELIAQoAhgoAghBBEcNAQsgBCgCGCgCDEUEQCAEKAIYKAIAIQEgBCgCGC8BBCECIAQoAhhBEGohAyAEKAIMIQUjAEEwayIAJAAgACABNgIoIAAgAjYCJCAAIAM2AiAgACAFNgIcIAAgACgCKDYCGAJAIAAoAiRFBEAgACgCIARAIAAoAiBBADYCAAsgAEEANgIsDAELIABBATYCECAAQQA2AgwDQCAAKAIMIAAoAiRJBEAjAEEQayIBIAAoAhggACgCDGotAABBAXRBkNUAai8BADYCCAJAIAEoAghBgAFJBEAgAUEBNgIMDAELIAEoAghBgBBJBEAgAUECNgIMDAELIAEoAghBgIAESQRAIAFBAzYCDAwBCyABQQQ2AgwLIAAgASgCDCAAKAIQajYCECAAIAAoAgxBAWo2AgwMAQsLIAAgACgCEBAYIgE2AhQgAUUEQCAAKAIcQQ5BABAUIABBADYCLAwBCyAAQQA2AgggAEEANgIMA0AgACgCDCAAKAIkSQRAIAAoAhQgACgCCGohAiMAQRBrIgEgACgCGCAAKAIMai0AAEEBdEGQ1QBqLwEANgIIIAEgAjYCBAJAIAEoAghBgAFJBEAgASgCBCABKAIIOgAAIAFBATYCDAwBCyABKAIIQYAQSQRAIAEoAgQgASgCCEEGdkEfcUHAAXI6AAAgASgCBCABKAIIQT9xQYABcjoAASABQQI2AgwMAQsgASgCCEGAgARJBEAgASgCBCABKAIIQQx2QQ9xQeABcjoAACABKAIEIAEoAghBBnZBP3FBgAFyOgABIAEoAgQgASgCCEE/cUGAAXI6AAIgAUEDNgIMDAELIAEoAgQgASgCCEESdkEHcUHwAXI6AAAgASgCBCABKAIIQQx2QT9xQYABcjoAASABKAIEIAEoAghBBnZBP3FBgAFyOgACIAEoAgQgASgCCEE/cUGAAXI6AAMgAUEENgIMCyAAIAEoAgwgACgCCGo2AgggACAAKAIMQQFqNgIMDAELCyAAKAIUIAAoAhBBAWtqQQA6AAAgACgCIARAIAAoAiAgACgCEEEBazYCAAsgACAAKAIUNgIsCyAAKAIsIQEgAEEwaiQAIAEhACAEKAIYIAA2AgwgAEUEQCAEQQA2AhwMBAsLIAQoAhQEQCAEKAIUIAQoAhgoAhA2AgALIAQgBCgCGCgCDDYCHAwCCwsgBCgCFARAIAQoAhQgBCgCGC8BBDYCAAsgBCAEKAIYKAIANgIcCyAEKAIcIQAgBEEgaiQAIAALOQEBfyMAQRBrIgEgADYCDEEAIQAgASgCDC0AAEEBcQR/IAEoAgwpAxAgASgCDCkDCFEFQQALQQFxC5wIAQt/IABFBEAgARAYDwsgAUFATwRAQbSbAUEwNgIAQQAPCwJ/QRAgAUELakF4cSABQQtJGyEGIABBCGsiBSgCBCIJQXhxIQQCQCAJQQNxRQRAQQAgBkGAAkkNAhogBkEEaiAETQRAIAUhAiAEIAZrQZifASgCAEEBdE0NAgtBAAwCCyAEIAVqIQcCQCAEIAZPBEAgBCAGayIDQRBJDQEgBSAJQQFxIAZyQQJyNgIEIAUgBmoiAiADQQNyNgIEIAcgBygCBEEBcjYCBCACIAMQrAEMAQsgB0HQmwEoAgBGBEBBxJsBKAIAIARqIgQgBk0NAiAFIAlBAXEgBnJBAnI2AgQgBSAGaiIDIAQgBmsiAkEBcjYCBEHEmwEgAjYCAEHQmwEgAzYCAAwBCyAHQcybASgCAEYEQEHAmwEoAgAgBGoiAyAGSQ0CAkAgAyAGayICQRBPBEAgBSAJQQFxIAZyQQJyNgIEIAUgBmoiBCACQQFyNgIEIAMgBWoiAyACNgIAIAMgAygCBEF+cTYCBAwBCyAFIAlBAXEgA3JBAnI2AgQgAyAFaiICIAIoAgRBAXI2AgRBACECQQAhBAtBzJsBIAQ2AgBBwJsBIAI2AgAMAQsgBygCBCIDQQJxDQEgA0F4cSAEaiIKIAZJDQEgCiAGayEMAkAgA0H/AU0EQCAHKAIIIgQgA0EDdiICQQN0QeCbAWpGGiAEIAcoAgwiA0YEQEG4mwFBuJsBKAIAQX4gAndxNgIADAILIAQgAzYCDCADIAQ2AggMAQsgBygCGCELAkAgByAHKAIMIghHBEAgBygCCCICQcibASgCAEkaIAIgCDYCDCAIIAI2AggMAQsCQCAHQRRqIgQoAgAiAg0AIAdBEGoiBCgCACICDQBBACEIDAELA0AgBCEDIAIiCEEUaiIEKAIAIgINACAIQRBqIQQgCCgCECICDQALIANBADYCAAsgC0UNAAJAIAcgBygCHCIDQQJ0QeidAWoiAigCAEYEQCACIAg2AgAgCA0BQbybAUG8mwEoAgBBfiADd3E2AgAMAgsgC0EQQRQgCygCECAHRhtqIAg2AgAgCEUNAQsgCCALNgIYIAcoAhAiAgRAIAggAjYCECACIAg2AhgLIAcoAhQiAkUNACAIIAI2AhQgAiAINgIYCyAMQQ9NBEAgBSAJQQFxIApyQQJyNgIEIAUgCmoiAiACKAIEQQFyNgIEDAELIAUgCUEBcSAGckECcjYCBCAFIAZqIgMgDEEDcjYCBCAFIApqIgIgAigCBEEBcjYCBCADIAwQrAELIAUhAgsgAgsiAgRAIAJBCGoPCyABEBgiBUUEQEEADwsgBSAAQXxBeCAAQQRrKAIAIgJBA3EbIAJBeHFqIgIgASABIAJLGxAZGiAAEBUgBQvvAgEBfyMAQRBrIgEkACABIAA2AggCQCABKAIILQAoQQFxBEAgAUF/NgIMDAELIAEoAggoAiRBA0YEQCABKAIIQQxqQRdBABAUIAFBfzYCDAwBCwJAIAEoAggoAiAEQAJ/IwBBEGsiACABKAIINgIMIAAoAgwpAxhCwACDUAsEQCABKAIIQQxqQR1BABAUIAFBfzYCDAwDCwwBCyABKAIIKAIABEAgASgCCCgCABBJQQBIBEAgASgCCEEMaiABKAIIKAIAEBcgAUF/NgIMDAMLCyABKAIIQQBCAEEAECFCAFMEQCABKAIIKAIABEAgASgCCCgCABAxGgsgAUF/NgIMDAILCyABKAIIQQA6ADQgASgCCEEAOgA1IwBBEGsiACABKAIIQQxqNgIMIAAoAgwEQCAAKAIMQQA2AgAgACgCDEEANgIECyABKAIIIgAgACgCIEEBajYCICABQQA2AgwLIAEoAgwhACABQRBqJAAgAAt1AgF/AX4jAEEQayIBJAAgASAANgIEAkAgASgCBC0AKEEBcQRAIAFCfzcDCAwBCyABKAIEKAIgRQRAIAEoAgRBDGpBEkEAEBQgAUJ/NwMIDAELIAEgASgCBEEAQgBBBxAhNwMICyABKQMIIQIgAUEQaiQAIAILnQEBAX8jAEEQayIBIAA2AggCQAJAAkAgASgCCEUNACABKAIIKAIgRQ0AIAEoAggoAiQNAQsgAUEBNgIMDAELIAEgASgCCCgCHDYCBAJAAkAgASgCBEUNACABKAIEKAIAIAEoAghHDQAgASgCBCgCBEG0/gBJDQAgASgCBCgCBEHT/gBNDQELIAFBATYCDAwBCyABQQA2AgwLIAEoAgwLgAEBA38jAEEQayICIAA2AgwgAiABNgIIIAIoAghBCHYhASACKAIMKAIIIQMgAigCDCIEKAIUIQAgBCAAQQFqNgIUIAAgA2ogAToAACACKAIIQf8BcSEBIAIoAgwoAgghAyACKAIMIgIoAhQhACACIABBAWo2AhQgACADaiABOgAAC5kFAQF/IwBBQGoiBCQAIAQgADYCOCAEIAE3AzAgBCACNgIsIAQgAzYCKCAEQcgAEBgiADYCJAJAIABFBEAgBEEANgI8DAELIAQoAiRCADcDOCAEKAIkQgA3AxggBCgCJEIANwMwIAQoAiRBADYCACAEKAIkQQA2AgQgBCgCJEIANwMIIAQoAiRCADcDECAEKAIkQQA2AiggBCgCJEIANwMgAkAgBCkDMFAEQEEIEBghACAEKAIkIAA2AgQgAEUEQCAEKAIkEBUgBCgCKEEOQQAQFCAEQQA2AjwMAwsgBCgCJCgCBEIANwMADAELIAQoAiQgBCkDMEEAEMEBQQFxRQRAIAQoAihBDkEAEBQgBCgCJBAzIARBADYCPAwCCyAEQgA3AwggBEIANwMYIARCADcDEANAIAQpAxggBCkDMFQEQCAEKAI4IAQpAxinQQR0aikDCFBFBEAgBCgCOCAEKQMYp0EEdGooAgBFBEAgBCgCKEESQQAQFCAEKAIkEDMgBEEANgI8DAULIAQoAiQoAgAgBCkDEKdBBHRqIAQoAjggBCkDGKdBBHRqKAIANgIAIAQoAiQoAgAgBCkDEKdBBHRqIAQoAjggBCkDGKdBBHRqKQMINwMIIAQoAiQoAgQgBCkDGKdBA3RqIAQpAwg3AwAgBCAEKAI4IAQpAxinQQR0aikDCCAEKQMIfDcDCCAEIAQpAxBCAXw3AxALIAQgBCkDGEIBfDcDGAwBCwsgBCgCJCAEKQMQNwMIIAQoAiQgBCgCLAR+QgAFIAQoAiQpAwgLNwMYIAQoAiQoAgQgBCgCJCkDCKdBA3RqIAQpAwg3AwAgBCgCJCAEKQMINwMwCyAEIAQoAiQ2AjwLIAQoAjwhACAEQUBrJAAgAAueAQEBfyMAQSBrIgQkACAEIAA2AhggBCABNwMQIAQgAjYCDCAEIAM2AgggBCAEKAIYIAQpAxAgBCgCDCAEKAIIEEUiADYCBAJAIABFBEAgBEEANgIcDAELIAQgBCgCBCgCMEEAIAQoAgwgBCgCCBBGIgA2AgAgAEUEQCAEQQA2AhwMAQsgBCAEKAIANgIcCyAEKAIcIQAgBEEgaiQAIAAL8QEBAX8jAEEQayIBIAA2AgwgASgCDEEANgIAIAEoAgxBADoABCABKAIMQQA6AAUgASgCDEEBOgAGIAEoAgxBvwY7AQggASgCDEEKOwEKIAEoAgxBADsBDCABKAIMQX82AhAgASgCDEEANgIUIAEoAgxBADYCGCABKAIMQgA3AyAgASgCDEIANwMoIAEoAgxBADYCMCABKAIMQQA2AjQgASgCDEEANgI4IAEoAgxBADYCPCABKAIMQQA7AUAgASgCDEGAgNiNeDYCRCABKAIMQgA3A0ggASgCDEEAOwFQIAEoAgxBADsBUiABKAIMQQA2AlQL0hMBAX8jAEGwAWsiAyQAIAMgADYCqAEgAyABNgKkASADIAI2AqABIANBADYCkAEgAyADKAKkASgCMEEAEDo2ApQBIAMgAygCpAEoAjhBABA6NgKYAQJAAkACQAJAIAMoApQBQQJGBEAgAygCmAFBAUYNAQsgAygClAFBAUYEQCADKAKYAUECRg0BCyADKAKUAUECRw0BIAMoApgBQQJHDQELIAMoAqQBIgAgAC8BDEGAEHI7AQwMAQsgAygCpAEiACAALwEMQf/vA3E7AQwgAygClAFBAkYEQCADQfXgASADKAKkASgCMCADKAKoAUEIahCCATYCkAEgAygCkAFFBEAgA0F/NgKsAQwDCwsCQCADKAKgAUGAAnENACADKAKYAUECRw0AIANB9cYBIAMoAqQBKAI4IAMoAqgBQQhqEIIBNgJIIAMoAkhFBEAgAygCkAEQIyADQX82AqwBDAMLIAMoAkggAygCkAE2AgAgAyADKAJINgKQAQsLAkAgAygCpAEvAVJFBEAgAygCpAEiACAALwEMQf7/A3E7AQwMAQsgAygCpAEiACAALwEMQQFyOwEMCyADIAMoAqQBIAMoAqABEF5BAXE6AIYBIAMgAygCoAFBgApxQYAKRwR/IAMtAIYBBUEBC0EBcToAhwEgAwJ/QQEgAygCpAEvAVJBgQJGDQAaQQEgAygCpAEvAVJBggJGDQAaIAMoAqQBLwFSQYMCRgtBAXE6AIUBIAMtAIcBQQFxBEAgAyADQSBqQhwQKTYCHCADKAIcRQRAIAMoAqgBQQhqQQ5BABAUIAMoApABECMgA0F/NgKsAQwCCwJAIAMoAqABQYACcQRAAkAgAygCoAFBgAhxDQAgAygCpAEpAyBC/////w9WDQAgAygCpAEpAyhC/////w9YDQILIAMoAhwgAygCpAEpAygQLSADKAIcIAMoAqQBKQMgEC0MAQsCQAJAIAMoAqABQYAIcQ0AIAMoAqQBKQMgQv////8PVg0AIAMoAqQBKQMoQv////8PVg0AIAMoAqQBKQNIQv////8PWA0BCyADKAKkASkDKEL/////D1oEQCADKAIcIAMoAqQBKQMoEC0LIAMoAqQBKQMgQv////8PWgRAIAMoAhwgAygCpAEpAyAQLQsgAygCpAEpA0hC/////w9aBEAgAygCHCADKAKkASkDSBAtCwsLAn8jAEEQayIAIAMoAhw2AgwgACgCDC0AAEEBcUULBEAgAygCqAFBCGpBFEEAEBQgAygCHBAWIAMoApABECMgA0F/NgKsAQwCCyADQQECfyMAQRBrIgAgAygCHDYCDAJ+IAAoAgwtAABBAXEEQCAAKAIMKQMQDAELQgALp0H//wNxCyADQSBqQYAGEFE2AowBIAMoAhwQFiADKAKMASADKAKQATYCACADIAMoAowBNgKQAQsgAy0AhQFBAXEEQCADIANBFWpCBxApNgIQIAMoAhBFBEAgAygCqAFBCGpBDkEAEBQgAygCkAEQIyADQX82AqwBDAILIAMoAhBBAhAfIAMoAhBBvRJBAhBAIAMoAhAgAygCpAEvAVJB/wFxEI4BIAMoAhAgAygCpAEoAhBB//8DcRAfAn8jAEEQayIAIAMoAhA2AgwgACgCDC0AAEEBcUULBEAgAygCqAFBCGpBFEEAEBQgAygCEBAWIAMoApABECMgA0F/NgKsAQwCCyADQYGyAkEHIANBFWpBgAYQUTYCDCADKAIQEBYgAygCDCADKAKQATYCACADIAMoAgw2ApABCyADIANB0ABqQi4QKSIANgJMIABFBEAgAygCqAFBCGpBDkEAEBQgAygCkAEQIyADQX82AqwBDAELIAMoAkxB8RJB9hIgAygCoAFBgAJxG0EEEEAgAygCoAFBgAJxRQRAIAMoAkwgAy0AhgFBAXEEf0EtBSADKAKkAS8BCAtB//8DcRAfCyADKAJMIAMtAIYBQQFxBH9BLQUgAygCpAEvAQoLQf//A3EQHyADKAJMIAMoAqQBLwEMEB8CQCADLQCFAUEBcQRAIAMoAkxB4wAQHwwBCyADKAJMIAMoAqQBKAIQQf//A3EQHwsgAygCpAEoAhQgA0GeAWogA0GcAWoQgQEgAygCTCADLwGeARAfIAMoAkwgAy8BnAEQHwJAAkAgAy0AhQFBAXFFDQAgAygCpAEpAyhCFFoNACADKAJMQQAQIAwBCyADKAJMIAMoAqQBKAIYECALAkACQCADKAKgAUGAAnFBgAJHDQAgAygCpAEpAyBC/////w9UBEAgAygCpAEpAyhC/////w9UDQELIAMoAkxBfxAgIAMoAkxBfxAgDAELAkAgAygCpAEpAyBC/////w9UBEAgAygCTCADKAKkASkDIKcQIAwBCyADKAJMQX8QIAsCQCADKAKkASkDKEL/////D1QEQCADKAJMIAMoAqQBKQMopxAgDAELIAMoAkxBfxAgCwsgAygCTCADKAKkASgCMBBTQf//A3EQHyADIAMoAqQBKAI0IAMoAqABEIYBQf//A3EgAygCkAFBgAYQhgFB//8DcWo2AogBIAMoAkwgAygCiAFB//8DcRAfIAMoAqABQYACcUUEQCADKAJMIAMoAqQBKAI4EFNB//8DcRAfIAMoAkwgAygCpAEoAjxB//8DcRAfIAMoAkwgAygCpAEvAUAQHyADKAJMIAMoAqQBKAJEECACQCADKAKkASkDSEL/////D1QEQCADKAJMIAMoAqQBKQNIpxAgDAELIAMoAkxBfxAgCwsCfyMAQRBrIgAgAygCTDYCDCAAKAIMLQAAQQFxRQsEQCADKAKoAUEIakEUQQAQFCADKAJMEBYgAygCkAEQIyADQX82AqwBDAELIAMoAqgBIANB0ABqAn4jAEEQayIAIAMoAkw2AgwCfiAAKAIMLQAAQQFxBEAgACgCDCkDEAwBC0IACwsQNUEASARAIAMoAkwQFiADKAKQARAjIANBfzYCrAEMAQsgAygCTBAWIAMoAqQBKAIwBEAgAygCqAEgAygCpAEoAjAQigFBAEgEQCADKAKQARAjIANBfzYCrAEMAgsLIAMoApABBEAgAygCqAEgAygCkAFBgAYQhQFBAEgEQCADKAKQARAjIANBfzYCrAEMAgsLIAMoApABECMgAygCpAEoAjQEQCADKAKoASADKAKkASgCNCADKAKgARCFAUEASARAIANBfzYCrAEMAgsLIAMoAqABQYACcUUEQCADKAKkASgCOARAIAMoAqgBIAMoAqQBKAI4EIoB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HCAAIAAoAhRBAWo2AhQMAQsLIAAoAggQR0EBcUUEQCAAKAIgQRRBABAUIAAoAggQFiAAQX82AiwMAQsgACgCCBAWIAAgACgCHDYCLAsgACgCLCECIABBMGokACADIAIiADYCBCAAQQBIBEAgA0IANwMoDAELIAMpAwggAygCBK18Qv///////////wBWBEAgAygCFEEEQRYQFCADQgA3AygMAQsgAyADKQMIIAMoAgStfDcDKAsgAykDKCEBIANBMGokACABC20BAX8jAEEgayIEJAAgBCAANgIYIAQgATYCFCAEIAI2AhAgBCADNgIMAkAgBCgCGEUEQCAEQQA2AhwMAQsgBCAEKAIUIAQoAhAgBCgCDCAEKAIYQQhqEJIBNgIcCyAEKAIcIQAgBEEgaiQAIAALVQEBfyMAQRBrIgEkACABIAA2AgwCQAJAIAEoAgwoAiRBAUYNACABKAIMKAIkQQJGDQAMAQsgASgCDEEAQgBBChAhGiABKAIMQQA2AiQLIAFBEGokAAumAQEBfyMAQRBrIgIkACACIAA2AgggAiABNgIEAkAgAigCCC0AKEEBcQRAIAJBfzYCDAwBCyACKAIIKAIABEAgAigCCCgCACACKAIEEGhBAEgEQCACKAIIQQxqIAIoAggoAgAQFyACQX82AgwMAgsLIAIoAgggAkEEakIEQRMQIUIAUwRAIAJBfzYCDAwBCyACQQA2AgwLIAIoAgwhACACQRBqJAAgAAuNCAIBfwF+IwBBkAFrIgMkACADIAA2AoQBIAMgATYCgAEgAyACNgJ8IAMQTwJAIAMoAoABKQMIQgBSBEAgAyADKAKAASgCACgCACkDSDcDYCADIAMoAoABKAIAKAIAKQNINwNoDAELIANCADcDYCADQgA3A2gLIANCADcDcAJAA0AgAykDcCADKAKAASkDCFQEQCADKAKAASgCACADKQNwp0EEdGooAgApA0ggAykDaFQEQCADIAMoAoABKAIAIAMpA3CnQQR0aigCACkDSDcDaAsgAykDaCADKAKAASkDIFYEQCADKAJ8QRNBABAUIANCfzcDiAEMAwsgAyADKAKAASgCACADKQNwp0EEdGooAgApA0ggAygCgAEoAgAgAykDcKdBBHRqKAIAKQMgfCADKAKAASgCACADKQNwp0EEdGooAgAoAjAQU0H//wNxrXxC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DEECdGooAgBBAnRqLwEASA0AAkAgAygCGCADKAIQQQJ0ai8BACADKAIYIAMoAhxB3BZqIAMoAgxBAnRqKAIAQQJ0ai8BAEcNACADKAIQIAMoAhxB2Chqai0AACADKAIcQdwWaiADKAIMQQJ0aigCACADKAIcQdgoamotAABKDQAMAQsgAygCHEHcFmogAygCFEECdGogAygCHEHcFmogAygCDEECdGooAgA2AgAgAyADKAIMNgIUIAMgAygCDEEBdDYCDAwBCwsgAygCHEHcFmogAygCFEECdGogAygCEDYCAAvXEwEDfyMAQTBrIgIkACACIAA2AiwgAiABNgIoIAIgAigCKCgCADYCJCACIAIoAigoAggoAgA2AiAgAiACKAIoKAIIKAIMNgIcIAJBfzYCECACKAIsQQA2AtAoIAIoAixBvQQ2AtQoIAJBADYCGANAIAIoAhggAigCHEgEQAJAIAIoAiQgAigCGEECdGovAQAEQCACIAIoAhgiATYCECACKAIsQdwWaiEDIAIoAiwiBCgC0ChBAWohACAEIAA2AtAoIABBAnQgA2ogATYCACACKAIYIAIoAixB2ChqakEAOgAADAELIAIoAiQgAigCGEECdGpBADsBAgsgAiACKAIYQQFqNgIYDAELCwNAIAIoAiwoAtAoQQJIBEACQCACKAIQQQJIBEAgAiACKAIQQQFqIgA2AhAMAQtBACEACyACKAIsQdwWaiEDIAIoAiwiBCgC0ChBAWohASAEIAE2AtAoIAFBAnQgA2ogADYCACACIAA2AgwgAigCJCACKAIMQQJ0akEBOwEAIAIoAgwgAigCLEHYKGpqQQA6AAAgAigCLCIAIAAoAqgtQQFrNgKoLSACKAIgBEAgAigCLCIAIAAoAqwtIAIoAiAgAigCDEECdGovAQJrNgKsLQsMAQsLIAIoAiggAigCEDYCBCACIAIoAiwoAtAoQQJtNgIYA0AgAigCGEEBTgRAIAIoAiwgAigCJCACKAIYEHogAiACKAIYQQFrNgIYDAELCyACIAIoAhw2AgwDQCACIAIoAiwoAuAWNgIYIAIoAixB3BZqIQEgAigCLCIDKALQKCEAIAMgAEEBazYC0CggAigCLCAAQQJ0IAFqKAIANgLgFiACKAIsIAIoAiRBARB6IAIgAigCLCgC4BY2AhQgAigCGCEBIAIoAixB3BZqIQMgAigCLCIEKALUKEEBayEAIAQgADYC1CggAEECdCADaiABNgIAIAIoAhQhASACKAIsQdwWaiEDIAIoAiwiBCgC1ChBAWshACAEIAA2AtQoIABBAnQgA2ogATYCACACKAIkIAIoAgxBAnRqIAIoAiQgAigCGEECdGovAQAgAigCJCACKAIUQQJ0ai8BAGo7AQAgAigCDCACKAIsQdgoamoCfyACKAIYIAIoAixB2Chqai0AACACKAIUIAIoAixB2Chqai0AAE4EQCACKAIYIAIoAixB2Chqai0AAAwBCyACKAIUIAIoAixB2Chqai0AAAtBAWo6AAAgAigCJCACKAIUQQJ0aiACKAIMIgA7AQIgAigCJCACKAIYQQJ0aiAAOwECIAIgAigCDCIAQQFqNgIMIAIoAiwgADYC4BYgAigCLCACKAIkQQEQeiACKAIsKALQKEECTg0ACyACKAIsKALgFiEBIAIoAixB3BZqIQMgAigCLCIEKALUKEEBayEAIAQgADYC1CggAEECdCADaiABNgIAIAIoAighASMAQUBqIgAgAigCLDYCPCAAIAE2AjggACAAKAI4KAIANgI0IAAgACgCOCgCBDYCMCAAIAAoAjgoAggoAgA2AiwgACAAKAI4KAIIKAIENgIoIAAgACgCOCgCCCgCCDYCJCAAIAAoAjgoAggoAhA2AiAgAEEANgIEIABBADYCEANAIAAoAhBBD0wEQCAAKAI8QbwWaiAAKAIQQQF0akEAOwEAIAAgACgCEEEBajYCEAwBCwsgACgCNCAAKAI8QdwWaiAAKAI8KALUKEECdGooAgBBAnRqQQA7AQIgACAAKAI8KALUKEEBajYCHANAIAAoAhxBvQRIBEAgACAAKAI8QdwWaiAAKAIcQQJ0aigCADYCGCAAIAAoAjQgACgCNCAAKAIYQQJ0ai8BAkECdGovAQJBAWo2AhAgACgCECAAKAIgSgRAIAAgACgCIDYCECAAIAAoAgRBAWo2AgQLIAAoAjQgACgCGEECdGogACgCEDsBAiAAKAIYIAAoAjBMBEAgACgCPCAAKAIQQQF0akG8FmoiASABLwEAQQFqOwEAIABBADYCDCAAKAIYIAAoAiROBEAgACAAKAIoIAAoAhggACgCJGtBAnRqKAIANgIMCyAAIAAoAjQgACgCGEECdGovAQA7AQogACgCPCIBIAEoAqgtIAAvAQogACgCECAAKAIMamxqNgKoLSAAKAIsBEAgACgCPCIBIAEoAqwtIAAvAQogACgCLCAAKAIYQQJ0ai8BAiAAKAIMamxqNgKsLQsLIAAgACgCHEEBajYCHAwBCwsCQCAAKAIERQ0AA0AgACAAKAIgQQFrNgIQA0AgACgCPEG8FmogACgCEEEBdGovAQBFBEAgACAAKAIQQQFrNgIQDAELCyAAKAI8IAAoAhBBAXRqQbwWaiIBIAEvAQBBAWs7AQAgACgCPCAAKAIQQQF0akG+FmoiASABLwEAQQJqOwEAIAAoAjwgACgCIEEBdGpBvBZqIgEgAS8BAEEBazsBACAAIAAoAgRBAms2AgQgACgCBEEASg0ACyAAIAAoAiA2AhADQCAAKAIQRQ0BIAAgACgCPEG8FmogACgCEEEBdGovAQA2AhgDQCAAKAIYBEAgACgCPEHcFmohASAAIAAoAhxBAWsiAzYCHCAAIANBAnQgAWooAgA2AhQgACgCFCAAKAIwSg0BIAAoAjQgACgCFEECdGovAQIgACgCEEcEQCAAKAI8IgEgASgCqC0gACgCNCAAKAIUQQJ0ai8BACAAKAIQIAAoAjQgACgCFEECdGovAQJrbGo2AqgtIAAoAjQgACgCFEECdGogACgCEDsBAgsgACAAKAIYQQFrNgIYDAELCyAAIAAoAhBBAWs2AhAMAAsACyACKAIkIQEgAigCECEDIAIoAixBvBZqIQQjAEFAaiIAJAAgACABNgI8IAAgAzYCOCAAIAQ2AjQgAEEANgIMIABBATYCCANAIAAoAghBD0wEQCAAIAAoAgwgACgCNCAAKAIIQQFrQQF0ai8BAGpBAXQ2AgwgAEEQaiAAKAIIQQF0aiAAKAIMOwEAIAAgACgCCEEBajYCCAwBCwsgAEEANgIEA0AgACgCBCAAKAI4TARAIAAgACgCPCAAKAIEQQJ0ai8BAjYCACAAKAIABEAgAEEQaiAAKAIAQQF0aiIBLwEAIQMgASADQQFqOwEAIAAoAgAhBCMAQRBrIgEgAzYCDCABIAQ2AgggAUEANgIEA0AgASABKAIEIAEoAgxBAXFyNgIEIAEgASgCDEEBdjYCDCABIAEoAgRBAXQ2AgQgASABKAIIQQFrIgM2AgggA0EASg0ACyABKAIEQQF2IQEgACgCPCAAKAIEQQJ0aiABOwEACyAAIAAoAgRBAWo2AgQMAQsLIABBQGskACACQTBqJAALTgEBfyMAQRBrIgIgADsBCiACIAE2AgQCQCACLwEKQQFGBEAgAigCBEEBRgRAIAJBADYCDAwCCyACQQQ2AgwMAQsgAkEANgIMCyACKAIMC84CAQF/IwBBMGsiBSQAIAUgADYCLCAFIAE2AiggBSACNgIkIAUgAzcDGCAFIAQ2AhQgBUIANwMIA0AgBSkDCCAFKQMYVARAIAUgBSgCJCAFKQMIp2otAAA6AAcgBSgCFEUEQCAFIAUoAiwoAhRBAnI7ARIgBSAFLwESIAUvARJBAXNsQQh2OwESIAUgBS0AByAFLwESQf8BcXM6AAcLIAUoAigEQCAFKAIoIAUpAwinaiAFLQAHOgAACyAFKAIsKAIMQX9zIAVBB2pBARAaQX9zIQAgBSgCLCAANgIMIAUoAiwgBSgCLCgCECAFKAIsKAIMQf8BcWpBhYiiwABsQQFqNgIQIAUgBSgCLCgCEEEYdjoAByAFKAIsKAIUQX9zIAVBB2pBARAaQX9zIQAgBSgCLCAANgIUIAUgBSkDCEIBfDcDCAwBCwsgBUEwaiQAC20BAX8jAEEgayIEJAAgBCAANgIYIAQgATYCFCAEIAI3AwggBCADNgIEAkAgBCgCGEUEQCAEQQA2AhwMAQsgBCAEKAIUIAQpAwggBCgCBCAEKAIYQQhqEMMBNgIcCyAEKAIcIQAgBEEgaiQAIAALpwMBAX8jAEEgayIEJAAgBCAANgIYIAQgATcDECAEIAI2AgwgBCADNgIIIAQgBCgCGCAEKQMQIAQoAgxBABBFIgA2AgACQCAARQRAIARBfzYCHAwBCyAEIAQoAhggBCkDECAEKAIMEMQBIgA2AgQgAEUEQCAEQX82AhwMAQsCQAJAIAQoAgxBCHENACAEKAIYKAJAIAQpAxCnQQR0aigCCEUNACAEKAIYKAJAIAQpAxCnQQR0aigCCCAEKAIIEDhBAEgEQCAEKAIYQQhqQQ9BABAUIARBfzYCHAwDCwwBCyAEKAIIEDsgBCgCCCAEKAIAKAIYNgIsIAQoAgggBCgCACkDKDcDGCAEKAIIIAQoAgAoAhQ2AiggBCgCCCAEKAIAKQMgNwMgIAQoAgggBCgCACgCEDsBMCAEKAIIIAQoAgAvAVI7ATIgBCgCCEEgQQAgBCgCAC0ABkEBcRtB3AFyrTcDAAsgBCgCCCAEKQMQNwMQIAQoAgggBCgCBDYCCCAEKAIIIgAgACkDAEIDhDcDACAEQQA2AhwLIAQoAhwhACAEQSBqJAAgAAsDAAELzQEBAX8jAEEQayIDJAAgAyAANgIMIAMgATYCCCADIAI2AgQgAyADQQxqQaifARALNgIAAkAgAygCAEUEQCADKAIEQSE7AQAgAygCCEEAOwEADAELIAMoAgAoAhRB0ABIBEAgAygCAEHQADYCFAsgAygCBCADKAIAKAIMIAMoAgAoAhRBCXQgAygCACgCEEEFdGpB4L8Ca2o7AQAgAygCCCADKAIAKAIIQQt0IAMoAgAoAgRBBXRqIAMoAgAoAgBBAXVqOwEACyADQRBqJAALgwMBAX8jAEEgayIDJAAgAyAAOwEaIAMgATYCFCADIAI2AhAgAyADKAIUIANBCGpBwABBABBGIgA2AgwCQCAARQRAIANBADYCHAwBCyADKAIIQQVqQf//A0sEQCADKAIQQRJBABAUIANBADYCHAwBCyADQQAgAygCCEEFaq0QKSIANgIEIABFBEAgAygCEEEOQQAQFCADQQA2AhwMAQsgAygCBEEBEI4BIAMoAgQgAygCFBCMARAgIAMoAgQgAygCDCADKAIIEEACfyMAQRBrIgAgAygCBDYCDCAAKAIMLQAAQQFxRQsEQCADKAIQQRRBABAUIAMoAgQQFiADQQA2AhwMAQsgAyADLwEaAn8jAEEQayIAIAMoAgQ2AgwCfiAAKAIMLQAAQQFxBEAgACgCDCkDEAwBC0IAC6dB//8DcQsCfyMAQRBrIgAgAygCBDYCDCAAKAIMKAIEC0GABhBRNgIAIAMoAgQQFiADIAMoAgA2AhwLIAMoAhwhACADQSBqJAAgAAu0AgEBfyMAQTBrIgMkACADIAA2AiggAyABNwMgIAMgAjYCHAJAIAMpAyBQBEAgA0EBOgAvDAELIAMgAygCKCkDECADKQMgfDcDCAJAIAMpAwggAykDIFoEQCADKQMIQv////8AWA0BCyADKAIcQQ5BABAUIANBADoALwwBCyADIAMoAigoAgAgAykDCKdBBHQQSCIANgIEIABFBEAgAygCHEEOQQAQFCADQQA6AC8MAQsgAygCKCADKAIENgIAIAMgAygCKCkDCDcDEANAIAMpAxAgAykDCFpFBEAgAygCKCgCACADKQMQp0EEdGoQkAEgAyADKQMQQgF8NwMQDAELCyADKAIoIAMpAwgiATcDECADKAIoIAE3AwggA0EBOgAvCyADLQAvQQFxIQAgA0EwaiQAIAALzAEBAX8jAEEgayICJAAgAiAANwMQIAIgATYCDCACQTAQGCIBNgIIAkAgAUUEQCACKAIMQQ5BABAUIAJBADYCHAwBCyACKAIIQQA2AgAgAigCCEIANwMQIAIoAghCADcDCCACKAIIQgA3AyAgAigCCEIANwMYIAIoAghBADYCKCACKAIIQQA6ACwgAigCCCACKQMQIAIoAgwQgwFBAXFFBEAgAigCCBAkIAJBADYCHAwBCyACIAIoAgg2AhwLIAIoAhwhASACQSBqJAAgAQvWAgEBfyMAQSBrIgMkACADIAA2AhggAyABNgIUIAMgAjYCECADIANBDGpCBBApNgIIAkAgAygCCEUEQCADQX82AhwMAQsDQCADKAIUBEAgAygCFCgCBCADKAIQcUGABnEEQCADKAIIQgAQLBogAygCCCADKAIULwEIEB8gAygCCCADKAIULwEKEB8CfyMAQRBrIgAgAygCCDYCDCAAKAIMLQAAQQFxRQsEQCADKAIYQQhqQRRBABAUIAMoAggQFiADQX82AhwMBAsgAygCGCADQQxqQgQQNUEASARAIAMoAggQFiADQX82AhwMBAsgAygCFC8BCgRAIAMoAhggAygCFCgCDCADKAIULwEKrRA1QQBIBEAgAygCCBAWIANBfzYCHAwFCwsLIAMgAygCFCgCADYCFAwBCwsgAygCCBAWIANBADYCHAsgAygCHCEAIANBIGokACAAC2gBAX8jAEEQayICIAA2AgwgAiABNgIIIAJBADsBBgNAIAIoAgwEQCACKAIMKAIEIAIoAghxQYAGcQRAIAIgAigCDC8BCiACLwEGQQRqajsBBgsgAiACKAIMKAIANgIMDAELCyACLwEGC/ABAQF/IwBBEGsiASQAIAEgADYCDCABIAEoAgw2AgggAUEANgIEA0AgASgCDARAAkACQCABKAIMLwEIQfXGAUYNACABKAIMLwEIQfXgAUYNACABKAIMLwEIQYGyAkYNACABKAIMLwEIQQFHDQELIAEgASgCDCgCADYCACABKAIIIAEoAgxGBEAg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IAEpA4ABIAEpAzB8IAEpA5gBIAEpAzh8VgRAIAEoApABQRVBABAUIAFBADYCrAEMAQsCQCABKAKUAUEEcUUNACABKQOAASABKQMwfCABKQOYASABKQM4fFENACABKAKQAUEVQQAQFCABQQA2AqwBDAELIAEpAyggASkDMEIugFYEQCABKAKQAUEVQQAQFCABQQA2AqwBDAELIAEgASkDKCABKAKQARCEASIFNgKMASAFRQRAIAFBADYCrAEMAQsgASgCjAFBAToALCABKAKMASABKQMwNwMYIAEoAowBIAEpA4ABNwMgIAEgASgCjAE2AqwBCyABKAKsASEFIAFBsAFqJAAgACAFNgJQDAELIAAoAmQgACkDMBAsGiAAKAJkIQUgACkDWCEJIAAoAmgoAhQhBiAAKAJUIQcjAEHQAGsiASQAIAEgBTYCSCABIAk3A0AgASAGNgI8IAEgBzYCOAJAIAEoAkgQL0IWVARAIAEoAjhBFUEAEBQgAUEANgJMDAELIwBBEGsiBSABKAJINgIMIAECfiAFKAIMLQAAQQFxBEAgBSgCDCkDEAwBC0IACzcDCCABKAJIQgQQHhogASgCSBAqBEAgASgCOEEBQQAQFCABQQA2AkwMAQsgASABKAJIEB1B//8Dca03AyggASABKAJIEB1B//8Dca03AyAgASkDICABKQMoUgRAIAEoAjhBE0EAEBQgAUEANgJMDAELIAEgASgCSBAqrTcDGCABIAEoAkgQKq03AxAgASkDECABKQMQIAEpAxh8VgRAIAEoAjhBBEEWEBQgAUEANgJMDAELIAEpAxAgASkDGHwgASkDQCABKQMIfFYEQCABKAI4QRVBABAUIAFBADYCTAwBCwJAIAEoAjxBBHFFDQAgASkDECABKQMYfCABKQNAIAEpAwh8UQ0AIAEoAjhBFUEAEBQgAUEANgJMDAELIAEgASkDICABKAI4EIQBIgU2AjQgBUUEQCABQQA2AkwMAQsgASgCNEEAOgAsIAEoAjQgASkDGDcDGCABKAI0IAEpAxA3AyAgASABKAI0NgJMCyABKAJMIQUgAUHQAGokACAAIAU2AlALIAAoAlBFBEAgAEEANgJsDAELIAAoAmQgACkDMEIUfBAsGiAAIAAoAmQQHTsBTiAAKAJQKQMgIAAoAlApAxh8IAApA1ggACkDMHxWBEAg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IAIgAigCLCIAQQFqNgIsIAAtAAEhASACIAIoAigiAEEBajYCKEEAIAAtAAEgAUcNABogAiACKAIsIgBBAWo2AiwgAC0AASEBIAIgAigCKCIAQQFqNgIoQQAgAC0AASABRw0AGiACIAIoAiwiAEEBajYCLCAALQABIQEgAiACKAIoIgBBAWo2AihBACAALQABIAFHDQAaIAIgAigCLCIAQQFqNgIsIAAtAAEhASACIAIoAigiAEEBajYCKEEAIAAtAAEgAUcNABogAiACKAIsIgBBAWo2AiwgAC0AASEBIAIgAigCKCIAQQFqNgIoQQAgAC0AASABRw0AGiACKAIsIAIoAgxJC0EBcQ0ACyACQYICIAIoAgwgAigCLGtrNgIkIAIgAigCDEGCAms2AiwgAigCJCACKAIgSgRAIAIoAjggAigCNDYCcCACIAIoAiQ2AiAgAigCJCACKAIcTg0CIAIgAigCLCACKAIgQQFrai0AADoACyACIAIoAiwgAigCIGotAAA6AAoLCyACIAIoAhQgAigCNCACKAIQcUEBdGovAQAiATYCNEEAIQAgASACKAIYSwR/IAIgAigCMEEBayIANgIwIABBAEcFQQALQQFxDQELCwJAIAIoAiAgAigCOCgCdE0EQCACIAIoAiA2AjwMAQsgAiACKAI4KAJ0NgI8CyACKAI8C5IQAQF/IwBBMGsiAiQAIAIgADYCKCACIAE2AiQgAgJ/IAIoAigoAiwgAigCKCgCDEEFa0kEQCACKAIoKAIsDAELIAIoAigoAgxBBWsLNgIgIAJBADYCECACIAIoAigoAgAoAgQ2AgwDQAJAIAJB//8DNgIcIAIgAigCKCgCvC1BKmpBA3U2AhQgAigCKCgCACgCECACKAIUSQ0AIAIgAigCKCgCACgCECACKAIUazYCFCACIAIoAigoAmwgAigCKCgCXGs2AhggAigCHCACKAIYIAIoAigoAgAoAgRqSwRAIAIgAigCGCACKAIoKAIAKAIEajYCHAsgAigCHCACKAIUSwRAIAIgAigCFDYCHAsCQCACKAIcIAIoAiBPDQACQCACKAIcRQRAIAIoAiRBBEcNAQsgAigCJEUNACACKAIcIAIoAhggAigCKCgCACgCBGpGDQELDAELQQAhACACIAIoAiRBBEYEfyACKAIcIAIoAhggAigCKCgCACgCBGpGBUEAC0EBcTYCECACKAIoQQBBACACKAIQEFwgAigCKCgCCCACKAIoKAIUQQRraiACKAIcOgAAIAIoAigoAgggAigCKCgCFEEDa2ogAigCHEEIdjoAACACKAIoKAIIIAIoAigoAhRBAmtqIAIoAhxBf3M6AAAgAigCKCgCCCACKAIoKAIUQQFraiACKAIcQX9zQQh2OgAAIAIoAigoAgAQHCACKAIYBEAgAigCGCACKAIcSwRAIAIgAigCHDYCGAsgAigCKCgCACgCDCACKAIoKAI4IAIoAigoAlxqIAIoAhgQGRogAigCKCgCACIAIAIoAhggACgCDGo2AgwgAigCKCgCACIAIAAoAhAgAigCGGs2AhAgAigCKCgCACIAIAIoAhggACgCFGo2AhQgAigCKCIAIAIoAhggACgCXGo2AlwgAiACKAIcIAIoAhhrNgIcCyACKAIcBEAgAigCKCgCACACKAIoKAIAKAIMIAIoAhwQeBogAigCKCgCACIAIAIoAhwgACgCDGo2AgwgAigCKCgCACIAIAAoAhAgAigCHGs2AhAgAigCKCgCACIAIAIoAhwgACgCFGo2AhQLIAIoAhBFDQELCyACIAIoAgwgAigCKCgCACgCBGs2AgwgAigCDARAAkAgAigCDCACKAIoKAIsTwRAIAIoAihBAjYCsC0gAigCKCgCOCACKAIoKAIAKAIAIAIoAigoAixrIAIoAigoAiwQGRogAigCKCACKAIoKAIsNgJsDAELIAIoAgwgAigCKCgCPCACKAIoKAJsa08EQCACKAIoIgAgACgCbCACKAIoKAIsazYCbCACKAIoKAI4IAIoAigoAjggAigCKCgCLGogAigCKCgCbBAZGiACKAIoKAKwLUECSQRAIAIoAigiACAAKAKwLUEBajYCsC0LCyACKAIoKAI4IAIoAigoAmxqIAIoAigoAgAoAgAgAigCDGsgAigCDBAZGiACKAIoIgAgAigCDCAAKAJsajYCbAsgAigCKCACKAIoKAJsNgJcIAIoAigiAQJ/IAIoAgwgAigCKCgCLCACKAIoKAK0LWtLBEAgAigCKCgCLCACKAIoKAK0LWsMAQsgAigCDAsgASgCtC1qNgK0LQsgAigCKCgCwC0gAigCKCgCbEkEQCACKAIoIAIoAigoAmw2AsAtCwJAIAIoAhAEQCACQQM2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mwFCADcDAEGYmwFCADcDAEGQmwFCADcDAEGImwFCADcDAEGAmwFCADcDAEH4mgFCADcDAEHwmgFCADcDAEHwmgEL1QQBBX8jAEGwAWsiASQAIAEgADYCqAEgASgCqAEQNwJAAkAgASgCqAEoAgBBAE4EQCABKAKoASgCAEGAFCgCAEgNAQsgASABKAKoASgCADYCECABQSBqQY8SIAFBEGoQcCABQQA2AqQBIAEgAUEgajYCoAEMAQsgASABKAKoASgCAEECdEGAE2ooAgA2AqQBAkACQAJAAkAgASgCqAEoAgBBAnRBkBRqKAIAQQFrDgIAAQILIAEoAqgBKAIEIQJBkJkBKAIAIQRBACEAAkACQANAIAIgAEGgiAFqLQAARwRAQdcAIQMgAEEBaiIAQdcARw0BDAILCyAAIgMNAEGAiQEhAgwBC0GAiQEhAANAIAAtAAAhBSAAQQFqIgIhACAFDQAgAiEAIANBAWsiAw0ACwsgBCgCFBogASACNgKgAQwCCyMAQRBrIgAgASgCqAEoAgQ2AgwgAUEAIAAoAgxrQQJ0QajZAGooAgA2AqABDAELIAFBADYCoAELCwJAIAEoAqABRQRAIAEgASgCpAE2AqwBDAELIAEgASgCoAEQKwJ/IAEoAqQBBEAgASgCpAEQK0ECagwBC0EAC2pBAWoQGCIANgIcIABFBEAgAUG4EygCADYCrAEMAQsgASgCHCEAAn8gASgCpAEEQCABKAKkAQwBC0H6EgshA0HfEkH6EiABKAKkARshAiABIAEoAqABNgIIIAEgAjYCBCABIAM2AgAgAEG+CiABEHAgASgCqAEgASgCHDYCCCABIAEoAhw2AqwBCyABKAKsASEAIAFBsAFqJAAgAAszAQF/IAAoAhQiAyABIAIgACgCECADayIBIAEgAksbIgEQGRogACAAKAIUIAFqNgIUIAILjwUCBn4BfyABIAEoAgBBD2pBcHEiAUEQajYCACAAAnwgASkDACEDIAEpAwghBiMAQSBrIggkAAJAIAZC////////////AIMiBEKAgICAgIDAgDx9IARCgICAgICAwP/DAH1UBEAgBkIEhiADQjyIhCEEIANC//////////8PgyIDQoGAgICAgICACFoEQCAEQoGAgICAgICAwAB8IQIMAgsgBEKAgICAgICAgEB9IQIgA0KAgICAgICAgAiFQgBSDQEgAiAEQgGDfCECDAELIANQIARCgICAgICAwP//AFQgBEKAgICAgIDA//8AURtFBEAgBkIEhiADQjyIhEL/////////A4NCgICAgICAgPz/AIQhAgwBC0KAgICAgICA+P8AIQIgBEL///////+//8MAVg0AQgAhAiAEQjCIpyIAQZH3AEkNACADIQIgBkL///////8/g0KAgICAgIDAAIQiBSEHAkAgAEGB9wBrIgFBwABxBEAgAiABQUBqrYYhB0IAIQIMAQsgAUUNACAHIAGtIgSGIAJBwAAgAWutiIQhByACIASGIQILIAggAjcDECAIIAc3AxgCQEGB+AAgAGsiAEHAAHEEQCAFIABBQGqtiCEDQgAhBQwBCyAARQ0AIAVBwAAgAGuthiADIACtIgKIhCEDIAUgAoghBQsgCCADNwMAIAggBTcDCCAIKQMIQgSGIAgpAwAiA0I8iIQhAiAIKQMQIAgpAxiEQgBSrSADQv//////////D4OEIgNCgYCAgICAgIAIWgRAIAJCAXwhAgwBCyADQoCAgICAgICACIVCAFINACACQgGDIAJ8IQILIAhBIGokACACIAZCgICAgICAgICAf4OEvws5AwALrRcDEn8CfgF8IwBBsARrIgkkACAJQQA2AiwCQCABvSIYQn9XBEBBASESQa4IIRMgAZoiAb0hGAwBCyAEQYAQcQRAQQEhEkGxCCETDAELQbQIQa8IIARBAXEiEhshEyASRSEXCwJAIBhCgICAgICAgPj/AINCgICAgICAgPj/AFEEQCAAQSAgAiASQQNqIg0gBEH//3txECYgACATIBIQIiAAQeQLQbUSIAVBIHEiAxtBjw1BuRIgAxsgASABYhtBAxAiDAELIAlBEGohEAJAAn8CQCABIAlBLGoQqQEiASABoCIBRAAAAAAAAAAAYgRAIAkgCSgCLCIGQQFrNgIsIAVBIHIiFEHhAEcNAQwDCyAFQSByIhRB4QBGDQIgCSgCLCELQQYgAyADQQBIGwwBCyAJIAZBHWsiCzYCLCABRAAAAAAAALBBoiEBQQYgAyADQQBIGwshCiAJQTBqIAlB0AJqIAtBAEgbIg4hBwNAIAcCfyABRAAAAAAAAPBBYyABRAAAAAAAAAAAZnEEQCABqwwBC0EACyIDNgIAIAdBBGohByABIAO4oUQA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HCECIAEgASgCGCIDQQFqNgIYQQAgAy0AASACRw0AGiABKAIcIQIgASABKAIYIgNBAWo2AhhBACADLQABIAJHDQAaIAEoAhwhAiABIAEoAhgiA0EBajYCGEEAIAMtAAEgAkcNABogASgCHCECIAEgASgCGCIDQQFqNgIYQQAgAy0AASACRw0AGiABKAIcIQIgASABKAIYIgNBAWo2AhhBACADLQABIAJHDQAaIAEoAhwhAiABIAEoAhgiA0EBajYCGEEAIAMtAAEgAkcNABogASgCGCABKAIUSQtBAXENAAsgASgCKEGCAiABKAIUIAEoAhhrazYCYCABKAIoKAJgIAEoAigoAnRLBEAgASgCKCABKAIoKAJ0NgJgCwsLAkAgASgCKCgCYEEDTwRAIAEgASgCKCgCYEEDazoAEyABQQE7ARAgASgCKCICKAKkLSACKAKgLUEBdGogAS8BEDsBACABLQATIQMgASgCKCICKAKYLSEEIAIgAigCoC0iAkEBajYCoC0gAiAEaiADOgAAIAEgAS8BEEEBazsBECABKAIoIAEtABNB0N0Aai0AAEECdGpBmAlqIgIgAi8BAEEBajsBACABKAIoQYgTagJ/IAEvARBBgAJJBEAgAS8BEC0A0FkMAQsgAS8BEEEHdkGAAmotANBZC0ECdGoiAiACLwEAQQFqOwEAIAEgASgCKCgCoC0gASgCKCgCnC1BAWtGNgIgIAEoAigiAiACKAJ0IAEoAigoAmBrNgJ0IAEoAigiAiABKAIoKAJgIAIoAmxqNgJsIAEoAihBADYCYAwBCyABIAEoAigiAigCOCACKAJsai0AADoADyABKAIoIgIoAqQtIAIoAqAtQQF0akEAOwEAIAEtAA8hAyABKAIoIgIoApgtIQQgAiACKAKgLSICQQFqNgKgLSACIARqIAM6AAAgASgCKCABLQAPQQJ0aiICIAIvAZQBQQFqOwGUASABIAEoAigoAqAtIAEoAigoApwtQQFrRjYCICABKAIoIgIgAigCdEEBazYCdCABKAIoIgIgAigCbEEBajYCbAsgASgCIARAIAEoAigCfyABKAIoKAJcQQBOBEAgASgCKCgCOCABKAIoKAJcagwBC0EACyABKAIoKAJsIAEoAigoAlxrQQAQKCABKAIoIAEoAigoAmw2AlwgASgCKCgCABAcIAEoAigo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QCABKAIoQQ9JBEAgASABKAJQIgJBAWo2AlAgASABKAIsIAItAAAgASgCKHRqNgIsIAEgASgCKEEIajYCKCABIAEoAlAiAkEBajYCUCABIAEoAiwgAi0AACABKAIodGo2AiwgASABKAIoQQhqNgIoCyABIAEoAiQgASgCLCABKAIccUECdGooAQA2ARACQAJAA0AgASABLQARNgIMIAEgASgCLCABKAIMdjYCLCABIAEoAiggASgCDGs2AiggASABLQAQNgIMIAEoAgxFBEAgAS8BEiECIAEgASgCSCIDQQFqNgJIIAMgAjoAAAwCCyABKAIMQRBxBEAgASABLwESNgIIIAEgASgCDEEPcTYCDCABKAIMBEAgASgCKCABKAIMSQRAIAEgASgCUCICQQFqNgJQIAEgASgCLCACLQAAIAEoAih0ajYCLCABIAEoAihBCGo2AigLIAEgASgCCCABKAIsQQEgASgCDHRBAWtxajYCCCABIAEoAiwgASgCDHY2AiwgASABKAIoIAEoAgxrNgIoCyABKAIoQQ9JBEAgASABKAJQIgJBAWo2AlAgASABKAIsIAItAAAgASgCKHRqNgIsIAEgASgCKEEIajYCKCABIAEoAlAiAkEBajYCUCABIAEoAiwgAi0AACABKAIodGo2AiwgASABKAIoQQhqNgIoCyABIAEoAiAgASgCLCABKAIYcUECdGooAQA2ARACQANAIAEgAS0AETYCDCABIAEoAiwgASgCDHY2AiwgASABKAIoIAEoAgxrNgIoIAEgAS0AEDYCDCABKAIMQRBxBEAgASABLwESNgIEIAEgASgCDEEPcTYCDCABKAIoIAEoAgxJBEAgASABKAJQIgJBAWo2AlAgASABKAIsIAItAAAgASgCKHRqNgIsIAEgASgCKEEIajYCKCABKAIoIAEoAgxJBEAgASABKAJQIgJBAWo2AlAgASABKAIsIAItAAAgASgCKHRqNgIsIAEgASgCKEEIajYCKAsLIAEgASgCBCABKAIsQQEgASgCDHRBAWtxajYCBCABIAEoAiwgASgCDHY2AiwgASABKAIoIAEoAgxrNgIoIAEgASgCSCABKAJEazYCDAJAIAEoAgQgASgCDEsEQCABIAEoAgQgASgCDGs2AgwgASgCDCABKAI4SwRAIAEoAlQoAsQ3BEAgASgCXEHdDDYCGCABKAJUQdH+ADYCBAwKCwsgASABKAIwNgIAAkAgASgCNEUEQCABIAEoAgAgASgCPCABKAIMa2o2AgAgASgCDCABKAIISQRAIAEgASgCCCABKAIMazYCCANAIAEgASgCACICQQFqNgIAIAItAAAhAiABIAEoAkgiA0EBajYCSCADIAI6AAAgASABKAIMQQFrIgI2AgwgAg0ACyABIAEoAkggASgCBGs2AgALDAELAkAgASgCNCABKAIMSQRAIAEgASgCACABKAI8IAEoAjRqIAEoAgxrajYCACABIAEoAgwgASgCNGs2AgwgASgCDCABKAIISQRAIAEgASgCCCABKAIMazYCCANAIAEgASgCACICQQFqNgIAIAItAAAhAiABIAEoAkgiA0EBajYCSCADIAI6AAAgASABKAIMQQFrIgI2AgwgAg0ACyABIAEoAjA2AgAgASgCNCABKAIISQRAIAEgASgCNDYCDCABIAEoAgggASgCDGs2AggDQCABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAAIAEgASgCDEEBayICNgIMIAINAAsgASABKAJIIAEoAgRrNgIACwsMAQsgASABKAIAIAEoAjQgASgCDGtqNgIAIAEoAgwgASgCCEkEQCABIAEoAgggASgCDGs2AggDQCABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAAIAEgASgCDEEBayICNgIMIAINAAsgASABKAJIIAEoAgRrNgIACwsLA0AgASgCCEECSwRAIAEgASgCACICQQFqNgIAIAItAAAhAiABIAEoAkgiA0EBajYCSCADIAI6AAAgASABKAIAIgJBAWo2AgAgAi0AACECIAEgASgCSCIDQQFqNgJIIAMgAjoAACABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAAIAEgASgCCEEDazYCCAwBCwsMAQsgASABKAJIIAEoAgRrNgIAA0AgASABKAIAIgJBAWo2AgAgAi0AACECIAEgASgCSCIDQQFqNgJIIAMgAjoAACABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAAIAEgASgCACICQQFqNgIAIAItAAAhAiABIAEoAkgi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ZWFkIGVycm9yAFpsaWIgZXJyb3IAZGF0YSBlcnJvcgBDUkMgZXJyb3IAaW5jb21wYXRpYmxlIHZlcnNpb24AbmFuAC9kZXYvdXJhbmRvbQBpbnZhbGlkIGNvZGUgLS0gbWlzc2luZyBlbmQtb2YtYmxvY2sAaW5jb3JyZWN0IGhlYWRlciBjaGVjawBpbmNvcnJlY3QgbGVuZ3RoIGNoZWNrAGluY29ycmVjdCBkYXRhIGNoZWNrAGludmFsaWQgZGlzdGFuY2UgdG9vIGZhciBiYWNrAGhlYWRlciBjcmMgbWlzbWF0Y2gAaW5mAGludmFsaWQgd2luZG93IHNpemUAUmVhZC1vbmx5IGFyY2hpdmUATm90IGEgemlwIGFyY2hpdmUAUmVzb3VyY2Ugc3RpbGwgaW4gdXNlAE1hbGxvYyBmYWlsdXJlAGludmFsaWQgYmxvY2sgdHlwZQBGYWlsdXJlIHRvIGNyZWF0ZSB0ZW1wb3JhcnkgZmlsZQBDYW4ndCBvcGVuIGZpbGUATm8gc3VjaCBmaWxlAFByZW1hdHVyZSBlbmQgb2YgZmlsZQBDYW4ndCByZW1vdmUgZmlsZQBpbnZhbGlkIGxpdGVyYWwvbGVuZ3RoIGNvZGUAaW52YWxpZCBkaXN0YW5jZSBjb2RlAHVua25vd24gY29tcHJlc3Npb24gbWV0aG9kAHN0cmVhbSBlbmQAQ29tcHJlc3NlZCBkYXRhIGludmFsaWQATXVsdGktZGlzayB6aXAgYXJjaGl2ZXMgbm90IHN1cHBvcnRlZABPcGVyYXRpb24gbm90IHN1cHBvcnRlZABFbmNyeXB0aW9uIG1ldGhvZCBub3Qgc3VwcG9ydGVkAENvbXByZXNzaW9uIG1ldGhvZCBub3Qgc3VwcG9ydGVkAEVudHJ5IGhhcyBiZWVuIGRlbGV0ZWQAQ29udGFpbmluZyB6aXAgYXJjaGl2ZSB3YXMgY2xvc2VkAENsb3NpbmcgemlwIGFyY2hpdmUgZmFpbGVkAFJlbmFtaW5nIHRlbXBvcmFyeSBmaWxlIGZhaWxlZABFbnRyeSBoYXMgYmVlbiBjaGFuZ2VkAE5vIHBhc3N3b3JkIHByb3ZpZGVkAFdyb25nIHBhc3N3b3JkIHByb3ZpZGVkAFVua25vd24gZXJyb3IgJWQAcmIAcitiAHJ3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CADcAAgAPAAIALwACAB8AAgA/AAIAAIACACCAAgAQgAIAMIACAAiAAgAogAIAGIACADiAAgAEgAIAJIACABSAAgA0gAIADIACACyAAgAcgAIAPIACAAKAAgAigAIAEoACADKAAgAKgAIAKoACABqAAgA6gAIABoACACaAAgAWgAIANoACAA6AAgAugAIAHoACAD6AAgABgAIAIYACABGAAgAxgAIACYACACmAAgAZgAIAOYACAAWAAgAlgAIAFYACADWAAgANgAIALYACAB2AAgA9gAIAA4ACACOAAgATgAIAM4ACAAuAAgArgAIAG4ACADuAAgAHgAIAJ4ACABeAAgA3gAIAD4ACAC+AAgAfgAIAP4ACAABAAgAgQAIAEEACADBAAgAIQAIAKEACABhAAgA4QAIABEACACRAAgAUQAIANEACAAxAAgAsQAIAHEACADxAAgACQAIAIkACABJAAgAyQAIACkACACpAAgAaQAIAOkACAAZAAgAmQAIAFkACADZAAgAOQAIALkACAB5AAgA+QAIAAUACACFAAgARQAIAMUACAAlAAgApQAIAGUACADlAAgAFQAIAJUACABVAAgA1QAIADUACAC1AAgAdQAIAPUACAANAAgAjQAIAE0ACADNAAgALQAIAK0ACABtAAgA7QAIAB0ACACdAAgAXQAIAN0ACAA9AAgAvQAIAH0ACAD9AAgAEwAJABMBCQCTAAkAkwEJAFMACQBTAQkA0wAJANMBCQAzAAkAMwEJALMACQCzAQkAcwAJAHMBCQDzAAkA8wEJAAsACQALAQkAiwAJAIsBCQBLAAkASwEJAMsACQDLAQkAKwAJACsBCQCrAAkAqwEJAGsACQBrAQkA6wAJAOsBCQAbAAkAGwEJAJsACQCbAQkAWwAJAFsBCQDbAAkA2wEJADsACQA7AQkAuwAJALsBCQB7AAkAewEJAPsACQD7AQkABwAJAAcBCQCHAAkAhwEJAEcACQBHAQkAxwAJAMcBCQAnAAkAJwEJAKcACQCnAQkAZwAJAGcBCQDnAAkA5wEJABcACQAXAQkAlwAJAJcBCQBXAAkAVwEJANcACQDXAQkANwAJADcBCQC3AAkAtwEJAHcACQB3AQkA9wAJAPcBCQAPAAkADwEJAI8ACQCPAQkATwAJAE8BCQDPAAkAzwEJAC8ACQAvAQkArwAJAK8BCQBvAAkAbwEJAO8ACQDvAQkAHwAJAB8BCQCfAAkAnwEJAF8ACQBfAQkA3wAJAN8BCQA/AAkAPwEJAL8ACQC/AQkAfwAJAH8BCQD/AAkA/wEJAAAABwBAAAcAIAAHAGAABwAQAAcAUAAHADAABwBwAAcACAAHAEgABwAoAAcAaAAHABgABwBYAAcAOAAHAHgABwAEAAcARAAHACQABwBkAAcAFAAHAFQABwA0AAcAdAAHAAMACACDAAgAQwAIAMMACAAjAAgAowAIAGMACADjAAgAAAAFABAABQAIAAUAGAAFAAQABQAUAAUADAAFABwABQACAAUAEgAFAAoABQAaAAUABgAFABYABQAOAAUAHgAFAAEABQARAAUACQAFABkABQAFAAUAFQAFAA0ABQAdAAUAAwAFABMABQALAAUAGwAFAAcABQAXAAUAQbDqAAtNAQAAAAEAAAABAAAAAQAAAAIAAAACAAAAAgAAAAIAAAADAAAAAwAAAAMAAAADAAAABAAAAAQAAAAEAAAABAAAAAUAAAAFAAAABQAAAAUAQaDrAAtlAQAAAAEAAAACAAAAAgAAAAMAAAADAAAABAAAAAQAAAAFAAAABQAAAAYAAAAGAAAABwAAAAcAAAAIAAAACAAAAAkAAAAJAAAACgAAAAoAAAALAAAACwAAAAwAAAAMAAAADQAAAA0AQdDsAAsjAgAAAAMAAAAHAAAAAAAAABAREgAIBwkGCgULBAwDDQIOAQ8AQYTtAAtpAQAAAAIAAAADAAAABAAAAAUAAAAGAAAABwAAAAgAAAAKAAAADAAAAA4AAAAQAAAAFAAAABgAAAAcAAAAIAAAACgAAAAwAAAAOAAAAEAAAABQAAAAYAAAAHAAAACAAAAAoAAAAMAAAADgAEGE7gALegEAAAACAAAAAwAAAAQAAAAGAAAACAAAAAwAAAAQAAAAGAAAACAAAAAwAAAAQAAAAGAAAACAAAAAwAAAAAABAACAAQAAAAIAAAADAAAABAAAAAYAAAAIAAAADAAAABAAAAAYAAAAIAAAADAAAABAAAAAYAAAMS4yLjExAEGI7wALbQcAAAAEAAQACAAEAAgAAAAEAAUAEAAIAAgAAAAEAAYAIAAgAAgAAAAEAAQAEAAQAAkAAAAIABAAIAAgAAkAAAAIABAAgACAAAkAAAAIACAAgAAAAQkAAAAgAIAAAgEABAkAAAAgAAIBAgEAEAkAQYDwAAulAgMABAAFAAYABwAIAAkACgALAA0ADwARABMAFwAbAB8AIwArADMAOwBDAFMAYwBzAIMAowDDAOMAAgEAAAAAAAAQABAAEAAQABAAEAAQABAAEQARABEAEQASABIAEgASABMAEwATABMAFAAUABQAFAAVABUAFQAVABAATQDKAAAAAQACAAMABAAFAAcACQANABEAGQAhADEAQQBhAIEAwQABAYEBAQIBAwEEAQYBCAEMARABGAEgATABQAFgAAAAABAAEAAQABAAEQARABIAEgATABMAFAAUABUAFQAWABYAFwAXABgAGAAZABkAGgAaABsAGwAcABwAHQAdAEAAQAAQABEAEgAAAAgABwAJAAYACgAFAAsABAAMAAMADQACAA4AAQAPAEGw8gALwRFgBwAAAAhQAAAIEAAUCHMAEgcfAAAIcAAACDAAAAnAABAHCgAACGAAAAggAAAJoAAACAAAAAiAAAAIQAAACeAAEAcGAAAIWAAACBgAAAmQABMHOwAACHgAAAg4AAAJ0AARBxEAAAhoAAAIKAAACbAAAAgIAAAIiAAACEgAAAnwABAHBAAACFQAAAgUABUI4wATBysAAAh0AAAINAAACcgAEQcNAAAIZAAACCQAAAmoAAAIBAAACIQAAAhEAAAJ6AAQBwgAAAhcAAAIHAAACZgAFAdTAAAIfAAACDwAAAnYABIHFwAACGwAAAgsAAAJuAAACAwAAAiMAAAITAAACfgAEAcDAAAIUgAACBIAFQijABMHIwAACHIAAAgyAAAJxAARBwsAAAhiAAAIIgAACaQAAAgCAAAIggAACEIAAAnkABAHBwAACFoAAAgaAAAJlAAUB0MAAAh6AAAIOgAACdQAEgcTAAAIagAACCoAAAm0AAAICgAACIoAAAhKAAAJ9AAQBwUAAAhWAAAIFgBACAAAEwczAAAIdgAACDYAAAnMABEHDwAACGYAAAgmAAAJrAAACAYAAAiGAAAIRgAACewAEAcJAAAIXgAACB4AAAmcABQHYwAACH4AAAg+AAAJ3AASBxsAAAhuAAAILgAACbwAAAgOAAAIjgAACE4AAAn8AGAHAAAACFEAAAgRABUIgwASBx8AAAhxAAAIMQAACcIAEAcKAAAIYQAACCEAAAmiAAAIAQAACIEAAAhBAAAJ4gAQBwYAAAhZAAAIGQAACZIAEwc7AAAIeQAACDkAAAnSABEHEQAACGkAAAgpAAAJsgAACAkAAAiJAAAISQAACfIAEAcEAAAIVQAACBUAEAgCARMHKwAACHUAAAg1AAAJygARBw0AAAhlAAAIJQAACaoAAAgFAAAIhQAACEUAAAnqABAHCAAACF0AAAgdAAAJmgAUB1MAAAh9AAAIPQAACdoAEgcXAAAIbQAACC0AAAm6AAAIDQAACI0AAAhNAAAJ+gAQBwMAAAhTAAAIEwAVCMMAEwcjAAAIcwAACDMAAAnGABEHCwAACGMAAAgjAAAJpgAACAMAAAiDAAAIQwAACeYAEAcHAAAIWwAACBsAAAmWABQHQwAACHsAAAg7AAAJ1gASBxMAAAhrAAAIKwAACbYAAAgLAAAIiwAACEsAAAn2ABAHBQAACFcAAAgXAEAIAAATBzMAAAh3AAAINwAACc4AEQcPAAAIZwAACCcAAAmuAAAIBwAACIcAAAhHAAAJ7gAQBwkAAAhfAAAIHwAACZ4AFAdjAAAIfwAACD8AAAneABIHGwAACG8AAAgvAAAJvgAACA8AAAiPAAAITwAACf4AYAcAAAAIUAAACBAAFAhzABIHHwAACHAAAAgwAAAJwQAQBwoAAAhgAAAIIAAACaEAAAgAAAAIgAAACEAAAAnhABAHBgAACFgAAAgYAAAJkQATBzsAAAh4AAAIOAAACdEAEQcRAAAIaAAACCgAAAmxAAAICAAACIgAAAhIAAAJ8QAQBwQAAAhUAAAIFAAVCOMAEwcrAAAIdAAACDQAAAnJABEHDQAACGQAAAgkAAAJqQAACAQAAAiEAAAIRAAACekAEAcIAAAIXAAACBwAAAmZABQHUwAACHwAAAg8AAAJ2QASBxcAAAhsAAAILAAACbkAAAgMAAAIjAAACEwAAAn5ABAHAwAACFIAAAgSABUIowATByMAAAhyAAAIMgAACcUAEQcLAAAIYgAACCIAAAmlAAAIAgAACIIAAAhCAAAJ5QAQBwcAAAhaAAAIGgAACZUAFAdDAAAIegAACDoAAAnVABIHEwAACGoAAAgqAAAJtQAACAoAAAiKAAAISgAACfUAEAcFAAAIVgAACBYAQAgAABMHMwAACHYAAAg2AAAJzQARBw8AAAhmAAAIJgAACa0AAAgGAAAIhgAACEYAAAntABAHCQAACF4AAAgeAAAJnQAUB2MAAAh+AAAIPgAACd0AEgcbAAAIbgAACC4AAAm9AAAIDgAACI4AAAhOAAAJ/QBgBwAAAAhRAAAIEQAVCIMAEgcfAAAIcQAACDEAAAnDABAHCgAACGEAAAghAAAJowAACAEAAAiBAAAIQQAACeMAEAcGAAAIWQAACBkAAAmTABMHOwAACHkAAAg5AAAJ0wARBxEAAAhpAAAIKQAACbMAAAgJAAAIiQAACEkAAAnzABAHBAAACFUAAAgVABAIAgETBysAAAh1AAAINQAACcsAEQcNAAAIZQAACCUAAAmrAAAIBQAACIUAAAhFAAAJ6wAQBwgAAAhdAAAIHQAACZsAFAdTAAAIfQAACD0AAAnbABIHFwAACG0AAAgtAAAJuwAACA0AAAiNAAAITQAACfsAEAcDAAAIUwAACBMAFQjDABMHIwAACHMAAAgzAAAJxwARBwsAAAhjAAAIIwAACacAAAgDAAAIgwAACEMAAAnnABAHBwAACFsAAAgbAAAJlwAUB0MAAAh7AAAIOwAACdcAEgcTAAAIawAACCsAAAm3AAAICwAACIsAAAhLAAAJ9wAQBwUAAAhXAAAIFwBACAAAEwczAAAIdwAACDcAAAnPABEHDwAACGcAAAgnAAAJrwAACAcAAAiHAAAIRwAACe8AEAcJAAAIXwAACB8AAAmfABQHYwAACH8AAAg/AAAJ3wASBxsAAAhvAAAILwAACb8AAAgPAAAIjwAACE8AAAn/ABAFAQAXBQEBEwURABsFARARBQUAGQUBBBUFQQAdBQFAEAUDABgFAQIUBSEAHAUBIBIFCQAaBQEIFgWBAEAFAAAQBQIAFwWBARMFGQAbBQEYEQUHABkFAQYVBWEAHQUBYBAFBAAYBQEDFAUxABwFATASBQ0AGgUBDBYFwQBABQAAEQAKABEREQAAAAAFAAAAAAAACQAAAAALAAAAAAAAAAARAA8KERERAwoHAAEACQsLAAAJBgsAAAsABhEAAAAREREAQYGEAQshCwAAAAAAAAAAEQAKChEREQAKAAACAAkLAAAACQALAAALAEG7hAELAQwAQceEAQsVDAAAAAAMAAAAAAkMAAAAAAAMAAAMAEH1hAELAQ4AQYGFAQsVDQAAAAQNAAAAAAkOAAAAAAAOAAAOAEGvhQELARAAQbuFAQseDwAAAAAPAAAAAAkQAAAAAAAQAAAQAAASAAAAEhISAEHyhQELDhIAAAASEhIAAAAAAAAJAEGjhgELAQsAQa+GAQsVCgAAAAAKAAAAAAkLAAAAAAALAAALAEHdhgELAQwAQemGAQsnDAAAAAAMAAAAAAkMAAAAAAAMAAAMAAAwMTIzNDU2Nzg5QUJDREVGAEG0hwELARkAQduHAQsF//////8AQaCIAQtXGRJEOwI/LEcUPTMwChsGRktFNw9JDo4XA0AdPGkrNh9KLRwBICUpIQgMFRYiLhA4Pgs0MRhkdHV2L0EJfzkRI0MyQomKiwUEJignDSoeNYwHGkiTE5SVAEGAiQELig5JbGxlZ2FsIGJ5dGUgc2VxdWVuY2UARG9tYWluIGVycm9yAFJlc3VsdCBub3QgcmVwcmVzZW50YWJsZQBOb3QgYSB0dHkAUGVybWlzc2lvbiBkZW5pZWQAT3BlcmF0aW9uIG5vdCBwZXJtaXR0ZWQATm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQBObyBzdWNoIHByb2Nlc3MARmlsZSBleGlzdHMAVmFsdWUgdG9vIGxhcmdlIGZvciBkYXRhIHR5cGUATm8gc3BhY2UgbGVmdCBvbiBkZXZpY2UAT3V0IG9mIG1lbW9yeQBSZXNvdXJjZSBidXN5AEludGVycnVwdGVkIHN5c3RlbSBjYWxsAFJlc291cmNlIHRlbXBvcmFyaWx5IHVuYXZhaWxhYmxlAEludmFsaWQgc2VlawBDcm9zcy1kZXZpY2UgbGluawBSZWFkLW9ubHkgZmlsZSBzeXN0ZW0ARGlyZWN0b3J5IG5vdCBlbXB0eQBDb25uZWN0aW9uIHJlc2V0IGJ5IHBlZXIAT3BlcmF0aW9uIHRpbWVkIG91dABDb25uZWN0aW9uIHJlZnVzZWQASG9zdCBpcyBkb3duAEhvc3QgaXMgdW5yZWFjaGFibGUAQWRkcmVzcyBpbiB1c2UAQnJva2VuIHBpcGUASS9PIGVycm9yAE5vIHN1Y2ggZGV2aWNlIG9yIGFkZHJlc3MAQmxvY2sgZGV2aWNlIHJlcXVpcmVkAE5vIHN1Y2ggZGV2aWNlAE5vdCBhIGRpcmVjdG9yeQBJcyBhIGRpcmVjdG9yeQBUZXh0IGZpbGUgYnVzeQBFeGVjIGZvcm1hdCBlcnJvcgBJbnZhbGlkIGFyZ3VtZW50AEFyZ3VtZW50IGxpc3QgdG9vIGxvbmcAU3ltYm9saWMgbGluayBsb29wAEZpbGVuYW1lIHRvbyBsb25nAFRvbyBtYW55IG9wZW4gZmlsZXMgaW4gc3lzdGVtAE5vIGZpbGUgZGVzY3JpcHRvcnMgYXZhaWxhYmxlAEJhZCBmaWxlIGRlc2NyaXB0b3IATm8gY2hpbGQgcHJvY2VzcwBCYWQgYWRkcmVzcwBGaWxlIHRvbyBsYXJnZQBUb28gbWFueSBsaW5rcwBObyBsb2NrcyBhdmFpbGFibGUAUmVzb3VyY2UgZGVhZGxvY2sgd291bGQgb2NjdXIAU3RhdGUgbm90IHJlY292ZXJhYmxlAFByZXZpb3VzIG93bmVyIGRpZWQAT3BlcmF0aW9uIGNhbmNlbGVkAEZ1bmN0aW9uIG5vdCBpbXBsZW1lbnRlZABObyBtZXNzYWdlIG9mIGRlc2lyZWQgdHlwZQBJZGVudGlmaWVyIHJlbW92ZWQARGV2aWNlIG5vdCBhIHN0cmVhbQBObyBkYXRhIGF2YWlsYWJsZQBEZXZpY2UgdGltZW91dABPdXQgb2Ygc3RyZWFtcyByZXNvdXJjZXMATGluayBoYXMgYmVlbiBzZXZlcmVkAFByb3RvY29sIGVycm9yAEJhZCBtZXNzYWdlAEZpbGUgZGVzY3JpcHRvciBpbiBiYWQgc3RhdGUATm90IGEgc29ja2V0AERlc3RpbmF0aW9uIGFkZHJlc3MgcmVxdWlyZWQATWVzc2FnZSB0b28gbGFyZ2UAUHJvdG9jb2wgd3JvbmcgdHlwZSBmb3Igc29ja2V0AFByb3RvY29sIG5vdCBhdmFpbGFibGUAUHJvdG9jb2wgbm90IHN1cHBvcnRlZABTb2NrZXQgdHlwZSBub3Qgc3VwcG9ydGVkAE5vdCBzdXBwb3J0ZWQAUHJvdG9jb2wgZmFtaWx5IG5vdCBzdXBwb3J0ZWQAQWRkcmVzcyBmYW1pbHkgbm90IHN1cHBvcnRlZCBieSBwcm90b2NvbABBZGRyZXNzIG5vdCBhdmFpbGFibGUATmV0d29yayBpcyBkb3duAE5ldHdvcmsgdW5yZWFjaGFibGUAQ29ubmVjdGlvbiByZXNldCBieSBuZXR3b3JrAENvbm5lY3Rpb24gYWJvcnRlZABObyBidWZmZXIgc3BhY2UgYXZhaWxhYmxlAFNvY2tldCBpcyBjb25uZWN0ZWQAU29ja2V0IG5vdCBjb25uZWN0ZWQAQ2Fubm90IHNlbmQgYWZ0ZXIgc29ja2V0IHNodXRkb3duAE9wZXJhdGlvbiBhbHJlYWR5IGluIHByb2dyZXNzAE9wZXJhdGlvbiBpbiBwcm9ncmVzcwBTdGFsZSBmaWxlIGhhbmRsZQBSZW1vdGUgSS9PIGVycm9yAFF1b3RhIGV4Y2VlZGVkAE5vIG1lZGl1bSBmb3VuZABXcm9uZyBtZWRpdW0gdHlwZQBObyBlcnJvciBpbmZvcm1hdGlvbgBBkJcBC1JQUFAACgAAAAsAAAAMAAAADQAAAA4AAAAPAAAAEAAAABEAAAASAAAACwAAAAwAAAANAAAADgAAAA8AAAAQAAAAEQAAAAEAAAAIAAAAlEsAALRLAEGQmQELAgxQAEHImQELCR8AAADkTAAAAwBB5JkBC4wBLfRRWM+MscBG9rXLKTEDxwRbcDC0Xf0geH+LmthZKVBoSImrp1YDbP+3zYg/1He0K6WjcPG65Kj8QYP92W/hinovLXSWBx8NCV4Ddixw90ClLKdvV0GoqnTfoFhkA0rHxDxTrq9fGAQVseNtKIarDKS/Q/DpUIE5VxZSN/////////////////////8=";y4(Rp)||(Rp=dxe(Rp));function Kxe(t){try{if(t==Rp&&lP)return new Uint8Array(lP);var e=s4(t);if(e)return e;if(aP)return aP(t);throw"sync fetching of the wasm failed: you can preload it to Module['wasmBinary'] manually, or emcc.py will do that for you when generating HTML (but not JS)"}catch(r){Gr(r)}}function Uxe(t,e){var r,i,n;try{n=Kxe(t),i=new WebAssembly.Module(n),r=new WebAssembly.Instance(i,e)}catch(o){var s=o.toString();throw Di("failed to compile wasm module: "+s),(s.includes("imported Memory")||s.includes("memory import"))&&Di("Memory size incompatibility issues may be due to changing INITIAL_MEMORY at runtime to something too large. Use ALLOW_MEMORY_GROWTH to allow any size memory (and also make sure not to set INITIAL_MEMORY at runtime to something smaller than it was at compile time)."),o}return[r,i]}function Gxe(){var t={a:Hxe};function e(n,s){var o=n.exports;oe.asm=o,ew=oe.asm.u,p4(ew.buffer),fP=oe.asm.za,Mxe(oe.asm.v),dP("wasm-instantiate")}if(E4("wasm-instantiate"),oe.instantiateWasm)try{var r=oe.instantiateWasm(t,e);return r}catch(n){return Di("Module.instantiateWasm callback failed with error: "+n),!1}var i=Uxe(Rp,t);return e(i[0]),oe.asm}var ai,ya;function hP(t){for(;t.length>0;){var e=t.shift();if(typeof e=="function"){e(oe);continue}var r=e.func;typeof r=="number"?e.arg===void 0?fP.get(r)():fP.get(r)(e.arg):r(e.arg===void 0?null:e.arg)}}function iw(t,e){var r=new Date(_e[t>>2]*1e3);_e[e>>2]=r.getUTCSeconds(),_e[e+4>>2]=r.getUTCMinutes(),_e[e+8>>2]=r.getUTCHours(),_e[e+12>>2]=r.getUTCDate(),_e[e+16>>2]=r.getUTCMonth(),_e[e+20>>2]=r.getUTCFullYear()-1900,_e[e+24>>2]=r.getUTCDay(),_e[e+36>>2]=0,_e[e+32>>2]=0;var i=Date.UTC(r.getUTCFullYear(),0,1,0,0,0,0),n=(r.getTime()-i)/(1e3*60*60*24)|0;return _e[e+28>>2]=n,iw.GMTString||(iw.GMTString=uP("GMT")),_e[e+40>>2]=iw.GMTString,e}function jxe(t,e){return iw(t,e)}var yt={splitPath:function(t){var e=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return e.exec(t).slice(1)},normalizeArray:function(t,e){for(var r=0,i=t.length-1;i>=0;i--){var n=t[i];n==="."?t.splice(i,1):n===".."?(t.splice(i,1),r++):r&&(t.splice(i,1),r--)}if(e)for(;r;r--)t.unshift("..");return t},normalize:function(t){var e=t.charAt(0)==="/",r=t.substr(-1)==="/";return t=yt.normalizeArray(t.split("/").filter(function(i){return!!i}),!e).join("/"),!t&&!e&&(t="."),t&&r&&(t+="/"),(e?"/":"")+t},dirname:function(t){var e=yt.splitPath(t),r=e[0],i=e[1];return!r&&!i?".":(i&&(i=i.substr(0,i.length-1)),r+i)},basename:function(t){if(t==="/")return"/";t=yt.normalize(t),t=t.replace(/\/$/,"");var e=t.lastIndexOf("/");return e===-1?t:t.substr(e+1)},extname:function(t){return yt.splitPath(t)[3]},join:function(){var t=Array.prototype.slice.call(arguments,0);return yt.normalize(t.join("/"))},join2:function(t,e){return yt.normalize(t+"/"+e)}};function Yxe(){if(typeof crypto=="object"&&typeof crypto.getRandomValues=="function"){var t=new Uint8Array(1);return function(){return crypto.getRandomValues(t),t[0]}}else if(Wl)try{var e=require("crypto");return function(){return e.randomBytes(1)[0]}}catch(r){}return function(){Gr("randomDevice")}}var wa={resolve:function(){for(var t="",e=!1,r=arguments.length-1;r>=-1&&!e;r--){var i=r>=0?arguments[r]:y.cwd();if(typeof i!="string")throw new TypeError("Arguments to path.resolve must be strings");if(!i)return"";t=i+"/"+t,e=i.charAt(0)==="/"}return t=yt.normalizeArray(t.split("/").filter(function(n){return!!n}),!e).join("/"),(e?"/":"")+t||"."},relative:function(t,e){t=wa.resolve(t).substr(1),e=wa.resolve(e).substr(1);function r(c){for(var u=0;u=0&&c[g]==="";g--);return u>g?[]:c.slice(u,g-u+1)}for(var i=r(t.split("/")),n=r(e.split("/")),s=Math.min(i.length,n.length),o=s,a=0;a0?e=i.slice(0,n).toString("utf-8"):e=null}else typeof window!="undefined"&&typeof window.prompt=="function"?(e=window.prompt("Input: "),e!==null&&(e+=` +`)):typeof readline=="function"&&(e=readline(),e!==null&&(e+=` +`));if(!e)return null;t.input=CP(e,!0)}return t.input.shift()},put_char:function(t,e){e===null||e===10?($y(Zu(t.output,0)),t.output=[]):e!=0&&t.output.push(e)},flush:function(t){t.output&&t.output.length>0&&($y(Zu(t.output,0)),t.output=[])}},default_tty1_ops:{put_char:function(t,e){e===null||e===10?(Di(Zu(t.output,0)),t.output=[]):e!=0&&t.output.push(e)},flush:function(t){t.output&&t.output.length>0&&(Di(Zu(t.output,0)),t.output=[])}}};function mP(t){for(var e=mxe(t,65536),r=h4(e);t=e)){var i=1024*1024;e=Math.max(e,r*(r>>0),r!=0&&(e=Math.max(e,256));var n=t.contents;t.contents=new Uint8Array(e),t.usedBytes>0&&t.contents.set(n.subarray(0,t.usedBytes),0)}},resizeFileStorage:function(t,e){if(t.usedBytes!=e)if(e==0)t.contents=null,t.usedBytes=0;else{var r=t.contents;t.contents=new Uint8Array(e),r&&t.contents.set(r.subarray(0,Math.min(e,t.usedBytes))),t.usedBytes=e}},node_ops:{getattr:function(t){var e={};return e.dev=y.isChrdev(t.mode)?t.id:1,e.ino=t.id,e.mode=t.mode,e.nlink=1,e.uid=0,e.gid=0,e.rdev=t.rdev,y.isDir(t.mode)?e.size=4096:y.isFile(t.mode)?e.size=t.usedBytes:y.isLink(t.mode)?e.size=t.link.length:e.size=0,e.atime=new Date(t.timestamp),e.mtime=new Date(t.timestamp),e.ctime=new Date(t.timestamp),e.blksize=4096,e.blocks=Math.ceil(e.size/e.blksize),e},setattr:function(t,e){e.mode!==void 0&&(t.mode=e.mode),e.timestamp!==void 0&&(t.timestamp=e.timestamp),e.size!==void 0&&pt.resizeFileStorage(t,e.size)},lookup:function(t,e){throw y.genericErrors[44]},mknod:function(t,e,r,i){return pt.createNode(t,e,r,i)},rename:function(t,e,r){if(y.isDir(t.mode)){var i;try{i=y.lookupNode(e,r)}catch(s){}if(i)for(var n in i.contents)throw new y.ErrnoError(55)}delete t.parent.contents[t.name],t.parent.timestamp=Date.now(),t.name=r,e.contents[r]=t,e.timestamp=t.parent.timestamp,t.parent=e},unlink:function(t,e){delete t.contents[e],t.timestamp=Date.now()},rmdir:function(t,e){var r=y.lookupNode(t,e);for(var i in r.contents)throw new y.ErrnoError(55);delete t.contents[e],t.timestamp=Date.now()},readdir:function(t){var e=[".",".."];for(var r in t.contents)!t.contents.hasOwnProperty(r)||e.push(r);return e},symlink:function(t,e,r){var i=pt.createNode(t,e,511|40960,0);return i.link=r,i},readlink:function(t){if(!y.isLink(t.mode))throw new y.ErrnoError(28);return t.link}},stream_ops:{read:function(t,e,r,i,n){var s=t.node.contents;if(n>=t.node.usedBytes)return 0;var o=Math.min(t.node.usedBytes-n,i);if(o>8&&s.subarray)e.set(s.subarray(n,n+o),r);else for(var a=0;a0||i+r>2)}catch(r){throw r.code?new y.ErrnoError(tt.convertNodeCode(r)):r}return e.mode},realPath:function(t){for(var e=[];t.parent!==t;)e.push(t.name),t=t.parent;return e.push(t.mount.opts.root),e.reverse(),yt.join.apply(null,e)},flagsForNode:function(t){t&=~2097152,t&=~2048,t&=~32768,t&=~524288;var e=0;for(var r in tt.flagsForNodeMap)t&r&&(e|=tt.flagsForNodeMap[r],t^=r);if(t)throw new y.ErrnoError(28);return e},node_ops:{getattr:function(t){var e=tt.realPath(t),r;try{r=ft.lstatSync(e)}catch(i){throw i.code?new y.ErrnoError(tt.convertNodeCode(i)):i}return tt.isWindows&&!r.blksize&&(r.blksize=4096),tt.isWindows&&!r.blocks&&(r.blocks=(r.size+r.blksize-1)/r.blksize|0),{dev:r.dev,ino:r.ino,mode:r.mode,nlink:r.nlink,uid:r.uid,gid:r.gid,rdev:r.rdev,size:r.size,atime:r.atime,mtime:r.mtime,ctime:r.ctime,blksize:r.blksize,blocks:r.blocks}},setattr:function(t,e){var r=tt.realPath(t);try{if(e.mode!==void 0&&(ft.chmodSync(r,e.mode),t.mode=e.mode),e.timestamp!==void 0){var i=new Date(e.timestamp);ft.utimesSync(r,i,i)}e.size!==void 0&&ft.truncateSync(r,e.size)}catch(n){throw n.code?new y.ErrnoError(tt.convertNodeCode(n)):n}},lookup:function(t,e){var r=yt.join2(tt.realPath(t),e),i=tt.getMode(r);return tt.createNode(t,e,i)},mknod:function(t,e,r,i){var n=tt.createNode(t,e,r,i),s=tt.realPath(n);try{y.isDir(n.mode)?ft.mkdirSync(s,n.mode):ft.writeFileSync(s,"",{mode:n.mode})}catch(o){throw o.code?new y.ErrnoError(tt.convertNodeCode(o)):o}return n},rename:function(t,e,r){var i=tt.realPath(t),n=yt.join2(tt.realPath(e),r);try{ft.renameSync(i,n)}catch(s){throw s.code?new y.ErrnoError(tt.convertNodeCode(s)):s}t.name=r},unlink:function(t,e){var r=yt.join2(tt.realPath(t),e);try{ft.unlinkSync(r)}catch(i){throw i.code?new y.ErrnoError(tt.convertNodeCode(i)):i}},rmdir:function(t,e){var r=yt.join2(tt.realPath(t),e);try{ft.rmdirSync(r)}catch(i){throw i.code?new y.ErrnoError(tt.convertNodeCode(i)):i}},readdir:function(t){var e=tt.realPath(t);try{return ft.readdirSync(e)}catch(r){throw r.code?new y.ErrnoError(tt.convertNodeCode(r)):r}},symlink:function(t,e,r){var i=yt.join2(tt.realPath(t),e);try{ft.symlinkSync(r,i)}catch(n){throw n.code?new y.ErrnoError(tt.convertNodeCode(n)):n}},readlink:function(t){var e=tt.realPath(t);try{return e=ft.readlinkSync(e),e=EP.relative(EP.resolve(t.mount.opts.root),e),e}catch(r){throw r.code?new y.ErrnoError(tt.convertNodeCode(r)):r}}},stream_ops:{open:function(t){var e=tt.realPath(t.node);try{y.isFile(t.node.mode)&&(t.nfd=ft.openSync(e,tt.flagsForNode(t.flags)))}catch(r){throw r.code?new y.ErrnoError(tt.convertNodeCode(r)):r}},close:function(t){try{y.isFile(t.node.mode)&&t.nfd&&ft.closeSync(t.nfd)}catch(e){throw e.code?new y.ErrnoError(tt.convertNodeCode(e)):e}},read:function(t,e,r,i,n){if(i===0)return 0;try{return ft.readSync(t.nfd,tt.bufferFrom(e.buffer),r,i,n)}catch(s){throw new y.ErrnoError(tt.convertNodeCode(s))}},write:function(t,e,r,i,n){try{return ft.writeSync(t.nfd,tt.bufferFrom(e.buffer),r,i,n)}catch(s){throw new y.ErrnoError(tt.convertNodeCode(s))}},llseek:function(t,e,r){var i=e;if(r===1)i+=t.position;else if(r===2&&y.isFile(t.node.mode))try{var n=ft.fstatSync(t.nfd);i+=n.size}catch(s){throw new y.ErrnoError(tt.convertNodeCode(s))}if(i<0)throw new y.ErrnoError(28);return i},mmap:function(t,e,r,i,n,s){if(e!==0)throw new y.ErrnoError(28);if(!y.isFile(t.node.mode))throw new y.ErrnoError(43);var o=mP(r);return tt.stream_ops.read(t,Zi,o,r,i),{ptr:o,allocated:!0}},msync:function(t,e,r,i,n){if(!y.isFile(t.node.mode))throw new y.ErrnoError(43);if(n&2)return 0;var s=tt.stream_ops.write(t,e,0,i,r,!1);return 0}}},w4={lookupPath:function(t){return{path:t,node:{mode:tt.getMode(t)}}},createStandardStreams:function(){y.streams[0]={fd:0,nfd:0,position:0,path:"",flags:0,tty:!0,seekable:!1};for(var t=1;t<3;t++)y.streams[t]={fd:t,nfd:t,position:0,path:"",flags:577,tty:!0,seekable:!1}},cwd:function(){return process.cwd()},chdir:function(){process.chdir.apply(void 0,arguments)},mknod:function(t,e){y.isDir(t)?ft.mkdirSync(t,e):ft.writeFileSync(t,"",{mode:e})},mkdir:function(){ft.mkdirSync.apply(void 0,arguments)},symlink:function(){ft.symlinkSync.apply(void 0,arguments)},rename:function(){ft.renameSync.apply(void 0,arguments)},rmdir:function(){ft.rmdirSync.apply(void 0,arguments)},readdir:function(){ft.readdirSync.apply(void 0,arguments)},unlink:function(){ft.unlinkSync.apply(void 0,arguments)},readlink:function(){return ft.readlinkSync.apply(void 0,arguments)},stat:function(){return ft.statSync.apply(void 0,arguments)},lstat:function(){return ft.lstatSync.apply(void 0,arguments)},chmod:function(){ft.chmodSync.apply(void 0,arguments)},fchmod:function(){ft.fchmodSync.apply(void 0,arguments)},chown:function(){ft.chownSync.apply(void 0,arguments)},fchown:function(){ft.fchownSync.apply(void 0,arguments)},truncate:function(){ft.truncateSync.apply(void 0,arguments)},ftruncate:function(t,e){if(e<0)throw new y.ErrnoError(28);ft.ftruncateSync.apply(void 0,arguments)},utime:function(){ft.utimesSync.apply(void 0,arguments)},open:function(t,e,r,i){typeof e=="string"&&(e=Vl.modeStringToFlags(e));var n=ft.openSync(t,tt.flagsForNode(e),r),s=i!=null?i:y.nextfd(n),o={fd:s,nfd:n,position:0,path:t,flags:e,seekable:!0};return y.streams[s]=o,o},close:function(t){t.stream_ops||ft.closeSync(t.nfd),y.closeStream(t.fd)},llseek:function(t,e,r){if(t.stream_ops)return Vl.llseek(t,e,r);var i=e;if(r===1)i+=t.position;else if(r===2)i+=ft.fstatSync(t.nfd).size;else if(r!==0)throw new y.ErrnoError(eg.EINVAL);if(i<0)throw new y.ErrnoError(eg.EINVAL);return t.position=i,i},read:function(t,e,r,i,n){if(t.stream_ops)return Vl.read(t,e,r,i,n);var s=typeof n!="undefined";!s&&t.seekable&&(n=t.position);var o=ft.readSync(t.nfd,tt.bufferFrom(e.buffer),r,i,n);return s||(t.position+=o),o},write:function(t,e,r,i,n){if(t.stream_ops)return Vl.write(t,e,r,i,n);t.flags&+"1024"&&y.llseek(t,0,+"2");var s=typeof n!="undefined";!s&&t.seekable&&(n=t.position);var o=ft.writeSync(t.nfd,tt.bufferFrom(e.buffer),r,i,n);return s||(t.position+=o),o},allocate:function(){throw new y.ErrnoError(eg.EOPNOTSUPP)},mmap:function(t,e,r,i,n,s){if(t.stream_ops)return Vl.mmap(t,e,r,i,n,s);if(e!==0)throw new y.ErrnoError(28);var o=mP(r);return y.read(t,Zi,o,r,i),{ptr:o,allocated:!0}},msync:function(t,e,r,i,n){return t.stream_ops?Vl.msync(t,e,r,i,n):(n&2||y.write(t,e,0,i,r),0)},munmap:function(){return 0},ioctl:function(){throw new y.ErrnoError(eg.ENOTTY)}},y={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,lookupPath:function(t,e){if(t=wa.resolve(y.cwd(),t),e=e||{},!t)return{path:"",node:null};var r={follow_mount:!0,recurse_count:0};for(var i in r)e[i]===void 0&&(e[i]=r[i]);if(e.recurse_count>8)throw new y.ErrnoError(32);for(var n=yt.normalizeArray(t.split("/").filter(function(f){return!!f}),!1),s=y.root,o="/",a=0;a40)throw new y.ErrnoError(32)}}return{path:o,node:s}},getPath:function(t){for(var e;;){if(y.isRoot(t)){var r=t.mount.mountpoint;return e?r[r.length-1]!=="/"?r+"/"+e:r+e:r}e=e?t.name+"/"+e:t.name,t=t.parent}},hashName:function(t,e){for(var r=0,i=0;i>>0)%y.nameTable.length},hashAddNode:function(t){var e=y.hashName(t.parent.id,t.name);t.name_next=y.nameTable[e],y.nameTable[e]=t},hashRemoveNode:function(t){var e=y.hashName(t.parent.id,t.name);if(y.nameTable[e]===t)y.nameTable[e]=t.name_next;else for(var r=y.nameTable[e];r;){if(r.name_next===t){r.name_next=t.name_next;break}r=r.name_next}},lookupNode:function(t,e){var r=y.mayLookup(t);if(r)throw new y.ErrnoError(r,t);for(var i=y.hashName(t.id,e),n=y.nameTable[i];n;n=n.name_next){var s=n.name;if(n.parent.id===t.id&&s===e)return n}return y.lookup(t,e)},createNode:function(t,e,r,i){var n=new y.FSNode(t,e,r,i);return y.hashAddNode(n),n},destroyNode:function(t){y.hashRemoveNode(t)},isRoot:function(t){return t===t.parent},isMountpoint:function(t){return!!t.mounted},isFile:function(t){return(t&61440)==32768},isDir:function(t){return(t&61440)==16384},isLink:function(t){return(t&61440)==40960},isChrdev:function(t){return(t&61440)==8192},isBlkdev:function(t){return(t&61440)==24576},isFIFO:function(t){return(t&61440)==4096},isSocket:function(t){return(t&49152)==49152},flagModes:{r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090},modeStringToFlags:function(t){var e=y.flagModes[t];if(typeof e=="undefined")throw new Error("Unknown file open mode: "+t);return e},flagsToPermissionString:function(t){var e=["r","w","rw"][t&3];return t&512&&(e+="w"),e},nodePermissions:function(t,e){return y.ignorePermissions?0:e.includes("r")&&!(t.mode&292)||e.includes("w")&&!(t.mode&146)||e.includes("x")&&!(t.mode&73)?2:0},mayLookup:function(t){var e=y.nodePermissions(t,"x");return e||(t.node_ops.lookup?0:2)},mayCreate:function(t,e){try{var r=y.lookupNode(t,e);return 20}catch(i){}return y.nodePermissions(t,"wx")},mayDelete:function(t,e,r){var i;try{i=y.lookupNode(t,e)}catch(s){return s.errno}var n=y.nodePermissions(t,"wx");if(n)return n;if(r){if(!y.isDir(i.mode))return 54;if(y.isRoot(i)||y.getPath(i)===y.cwd())return 10}else if(y.isDir(i.mode))return 31;return 0},mayOpen:function(t,e){return t?y.isLink(t.mode)?32:y.isDir(t.mode)&&(y.flagsToPermissionString(e)!=="r"||e&512)?31:y.nodePermissions(t,y.flagsToPermissionString(e)):44},MAX_OPEN_FDS:4096,nextfd:function(t,e){t=t||0,e=e||y.MAX_OPEN_FDS;for(var r=t;r<=e;r++)if(!y.streams[r])return r;throw new y.ErrnoError(33)},getStream:function(t){return y.streams[t]},createStream:function(t,e,r){y.FSStream||(y.FSStream=function(){},y.FSStream.prototype={object:{get:function(){return this.node},set:function(o){this.node=o}},isRead:{get:function(){return(this.flags&2097155)!=1}},isWrite:{get:function(){return(this.flags&2097155)!=0}},isAppend:{get:function(){return this.flags&1024}}});var i=new y.FSStream;for(var n in t)i[n]=t[n];t=i;var s=y.nextfd(e,r);return t.fd=s,y.streams[s]=t,t},closeStream:function(t){y.streams[t]=null},chrdev_stream_ops:{open:function(t){var e=y.getDevice(t.node.rdev);t.stream_ops=e.stream_ops,t.stream_ops.open&&t.stream_ops.open(t)},llseek:function(){throw new y.ErrnoError(70)}},major:function(t){return t>>8},minor:function(t){return t&255},makedev:function(t,e){return t<<8|e},registerDevice:function(t,e){y.devices[t]={stream_ops:e}},getDevice:function(t){return y.devices[t]},getMounts:function(t){for(var e=[],r=[t];r.length;){var i=r.pop();e.push(i),r.push.apply(r,i.mounts)}return e},syncfs:function(t,e){typeof t=="function"&&(e=t,t=!1),y.syncFSRequests++,y.syncFSRequests>1&&Di("warning: "+y.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work");var r=y.getMounts(y.root.mount),i=0;function n(o){return y.syncFSRequests--,e(o)}function s(o){if(o)return s.errored?void 0:(s.errored=!0,n(o));++i>=r.length&&n(null)}r.forEach(function(o){if(!o.type.syncfs)return s(null);o.type.syncfs(o,t,s)})},mount:function(t,e,r){var i=r==="/",n=!r,s;if(i&&y.root)throw new y.ErrnoError(10);if(!i&&!n){var o=y.lookupPath(r,{follow_mount:!1});if(r=o.path,s=o.node,y.isMountpoint(s))throw new y.ErrnoError(10);if(!y.isDir(s.mode))throw new y.ErrnoError(54)}var a={type:t,opts:e,mountpoint:r,mounts:[]},l=t.mount(a);return l.mount=a,a.root=l,i?y.root=l:s&&(s.mounted=a,s.mount&&s.mount.mounts.push(a)),l},unmount:function(t){var e=y.lookupPath(t,{follow_mount:!1});if(!y.isMountpoint(e.node))throw new y.ErrnoError(28);var r=e.node,i=r.mounted,n=y.getMounts(i);Object.keys(y.nameTable).forEach(function(o){for(var a=y.nameTable[o];a;){var l=a.name_next;n.includes(a.mount)&&y.destroyNode(a),a=l}}),r.mounted=null;var s=r.mount.mounts.indexOf(i);r.mount.mounts.splice(s,1)},lookup:function(t,e){return t.node_ops.lookup(t,e)},mknod:function(t,e,r){var i=y.lookupPath(t,{parent:!0}),n=i.node,s=yt.basename(t);if(!s||s==="."||s==="..")throw new y.ErrnoError(28);var o=y.mayCreate(n,s);if(o)throw new y.ErrnoError(o);if(!n.node_ops.mknod)throw new y.ErrnoError(63);return n.node_ops.mknod(n,s,e,r)},create:function(t,e){return e=e!==void 0?e:438,e&=4095,e|=32768,y.mknod(t,e,0)},mkdir:function(t,e){return e=e!==void 0?e:511,e&=511|512,e|=16384,y.mknod(t,e,0)},mkdirTree:function(t,e){for(var r=t.split("/"),i="",n=0;nthis.length-1||f<0)){var h=f%this.chunkSize,p=f/this.chunkSize|0;return this.getter(p)[h]}},s.prototype.setDataGetter=function(f){this.getter=f},s.prototype.cacheLength=function(){var f=new XMLHttpRequest;if(f.open("HEAD",r,!1),f.send(null),!(f.status>=200&&f.status<300||f.status===304))throw new Error("Couldn't load "+r+". Status: "+f.status);var h=Number(f.getResponseHeader("Content-length")),p,d=(p=f.getResponseHeader("Accept-Ranges"))&&p==="bytes",m=(p=f.getResponseHeader("Content-Encoding"))&&p==="gzip",I=1024*1024;d||(I=h);var B=function(R,H){if(R>H)throw new Error("invalid range ("+R+", "+H+") or no bytes requested!");if(H>h-1)throw new Error("only "+h+" bytes available! programmer error!");var L=new XMLHttpRequest;if(L.open("GET",r,!1),h!==I&&L.setRequestHeader("Range","bytes="+R+"-"+H),typeof Uint8Array!="undefined"&&(L.responseType="arraybuffer"),L.overrideMimeType&&L.overrideMimeType("text/plain; charset=x-user-defined"),L.send(null),!(L.status>=200&&L.status<300||L.status===304))throw new Error("Couldn't load "+r+". Status: "+L.status);return L.response!==void 0?new Uint8Array(L.response||[]):CP(L.responseText||"",!0)},b=this;b.setDataGetter(function(R){var H=R*I,L=(R+1)*I-1;if(L=Math.min(L,h-1),typeof b.chunks[R]=="undefined"&&(b.chunks[R]=B(H,L)),typeof b.chunks[R]=="undefined")throw new Error("doXHR failed!");return b.chunks[R]}),(m||!h)&&(I=h=1,h=this.getter(0).length,I=h,$y("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=h,this._chunkSize=I,this.lengthKnown=!0},typeof XMLHttpRequest!="undefined"){if(!i4)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var o=new s;Object.defineProperties(o,{length:{get:function(){return this.lengthKnown||this.cacheLength(),this._length}},chunkSize:{get:function(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}});var a={isDevice:!1,contents:o}}else var a={isDevice:!1,url:r};var l=y.createFile(t,e,a,i,n);a.contents?l.contents=a.contents:a.url&&(l.contents=null,l.url=a.url),Object.defineProperties(l,{usedBytes:{get:function(){return this.contents.length}}});var c={},u=Object.keys(l.stream_ops);return u.forEach(function(g){var f=l.stream_ops[g];c[g]=function(){return y.forceLoadFile(l),f.apply(null,arguments)}}),c.read=function(f,h,p,d,m){y.forceLoadFile(l);var I=f.node.contents;if(m>=I.length)return 0;var B=Math.min(I.length-m,d);if(I.slice)for(var b=0;b>2]=i.dev,_e[r+4>>2]=0,_e[r+8>>2]=i.ino,_e[r+12>>2]=i.mode,_e[r+16>>2]=i.nlink,_e[r+20>>2]=i.uid,_e[r+24>>2]=i.gid,_e[r+28>>2]=i.rdev,_e[r+32>>2]=0,ya=[i.size>>>0,(ai=i.size,+Math.abs(ai)>=1?ai>0?(Math.min(+Math.floor(ai/4294967296),4294967295)|0)>>>0:~~+Math.ceil((ai-+(~~ai>>>0))/4294967296)>>>0:0)],_e[r+40>>2]=ya[0],_e[r+44>>2]=ya[1],_e[r+48>>2]=4096,_e[r+52>>2]=i.blocks,_e[r+56>>2]=i.atime.getTime()/1e3|0,_e[r+60>>2]=0,_e[r+64>>2]=i.mtime.getTime()/1e3|0,_e[r+68>>2]=0,_e[r+72>>2]=i.ctime.getTime()/1e3|0,_e[r+76>>2]=0,ya=[i.ino>>>0,(ai=i.ino,+Math.abs(ai)>=1?ai>0?(Math.min(+Math.floor(ai/4294967296),4294967295)|0)>>>0:~~+Math.ceil((ai-+(~~ai>>>0))/4294967296)>>>0:0)],_e[r+80>>2]=ya[0],_e[r+84>>2]=ya[1],0},doMsync:function(t,e,r,i,n){var s=$u.slice(t,t+r);y.msync(e,s,n,r,i)},doMkdir:function(t,e){return t=yt.normalize(t),t[t.length-1]==="/"&&(t=t.substr(0,t.length-1)),y.mkdir(t,e,0),0},doMknod:function(t,e,r){switch(e&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-28}return y.mknod(t,e,r),0},doReadlink:function(t,e,r){if(r<=0)return-28;var i=y.readlink(t),n=Math.min(r,rw(i)),s=Zi[e+n];return u4(i,e,r+1),Zi[e+n]=s,n},doAccess:function(t,e){if(e&~7)return-28;var r,i=y.lookupPath(t,{follow:!0});if(r=i.node,!r)return-44;var n="";return e&4&&(n+="r"),e&2&&(n+="w"),e&1&&(n+="x"),n&&y.nodePermissions(r,n)?-2:0},doDup:function(t,e,r){var i=y.getStream(r);return i&&y.close(i),y.open(t,e,0,r,r).fd},doReadv:function(t,e,r,i){for(var n=0,s=0;s>2],a=_e[e+(s*8+4)>>2],l=y.read(t,Zi,o,a,i);if(l<0)return-1;if(n+=l,l>2],a=_e[e+(s*8+4)>>2],l=y.write(t,Zi,o,a,i);if(l<0)return-1;n+=l}return n},varargs:void 0,get:function(){Ot.varargs+=4;var t=_e[Ot.varargs-4>>2];return t},getStr:function(t){var e=c4(t);return e},getStreamFromFD:function(t){var e=y.getStream(t);if(!e)throw new y.ErrnoError(8);return e},get64:function(t,e){return t}};function qxe(t,e){try{return t=Ot.getStr(t),y.chmod(t,e),0}catch(r){return(typeof y=="undefined"||!(r instanceof y.ErrnoError))&&Gr(r),-r.errno}}function Wxe(t){return _e[Jxe()>>2]=t,t}function zxe(t,e,r){Ot.varargs=r;try{var i=Ot.getStreamFromFD(t);switch(e){case 0:{var n=Ot.get();if(n<0)return-28;var s;return s=y.open(i.path,i.flags,0,n),s.fd}case 1:case 2:return 0;case 3:return i.flags;case 4:{var n=Ot.get();return i.flags|=n,0}case 12:{var n=Ot.get(),o=0;return cP[n+o>>1]=2,0}case 13:case 14:return 0;case 16:case 8:return-28;case 9:return Wxe(28),-1;default:return-28}}catch(a){return(typeof y=="undefined"||!(a instanceof y.ErrnoError))&&Gr(a),-a.errno}}function Vxe(t,e){try{var r=Ot.getStreamFromFD(t);return Ot.doStat(y.stat,r.path,e)}catch(i){return(typeof y=="undefined"||!(i instanceof y.ErrnoError))&&Gr(i),-i.errno}}function _xe(t,e,r){Ot.varargs=r;try{var i=Ot.getStreamFromFD(t);switch(e){case 21509:case 21505:return i.tty?0:-59;case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:return i.tty?0:-59;case 21519:{if(!i.tty)return-59;var n=Ot.get();return _e[n>>2]=0,0}case 21520:return i.tty?-28:-59;case 21531:{var n=Ot.get();return y.ioctl(i,e,n)}case 21523:return i.tty?0:-59;case 21524:return i.tty?0:-59;default:Gr("bad ioctl syscall "+e)}}catch(s){return(typeof y=="undefined"||!(s instanceof y.ErrnoError))&&Gr(s),-s.errno}}function Xxe(t,e,r){Ot.varargs=r;try{var i=Ot.getStr(t),n=r?Ot.get():0,s=y.open(i,e,n);return s.fd}catch(o){return(typeof y=="undefined"||!(o instanceof y.ErrnoError))&&Gr(o),-o.errno}}function Zxe(t,e){try{return t=Ot.getStr(t),e=Ot.getStr(e),y.rename(t,e),0}catch(r){return(typeof y=="undefined"||!(r instanceof y.ErrnoError))&&Gr(r),-r.errno}}function $xe(t){try{return t=Ot.getStr(t),y.rmdir(t),0}catch(e){return(typeof y=="undefined"||!(e instanceof y.ErrnoError))&&Gr(e),-e.errno}}function eke(t,e){try{return t=Ot.getStr(t),Ot.doStat(y.stat,t,e)}catch(r){return(typeof y=="undefined"||!(r instanceof y.ErrnoError))&&Gr(r),-r.errno}}function tke(t){try{return t=Ot.getStr(t),y.unlink(t),0}catch(e){return(typeof y=="undefined"||!(e instanceof y.ErrnoError))&&Gr(e),-e.errno}}function rke(t,e,r){$u.copyWithin(t,e,e+r)}function ike(t){try{return ew.grow(t-gP.byteLength+65535>>>16),p4(ew.buffer),1}catch(e){}}function nke(t){var e=$u.length;t=t>>>0;var r=2147483648;if(t>r)return!1;for(var i=1;i<=4;i*=2){var n=e*(1+.2/i);n=Math.min(n,t+100663296);var s=Math.min(r,xxe(Math.max(t,n),65536)),o=ike(s);if(o)return!0}return!1}function ske(t){try{var e=Ot.getStreamFromFD(t);return y.close(e),0}catch(r){return(typeof y=="undefined"||!(r instanceof y.ErrnoError))&&Gr(r),r.errno}}function oke(t,e){try{var r=Ot.getStreamFromFD(t),i=r.tty?2:y.isDir(r.mode)?3:y.isLink(r.mode)?7:4;return Zi[e>>0]=i,0}catch(n){return(typeof y=="undefined"||!(n instanceof y.ErrnoError))&&Gr(n),n.errno}}function ake(t,e,r,i){try{var n=Ot.getStreamFromFD(t),s=Ot.doReadv(n,e,r);return _e[i>>2]=s,0}catch(o){return(typeof y=="undefined"||!(o instanceof y.ErrnoError))&&Gr(o),o.errno}}function Ake(t,e,r,i,n){try{var s=Ot.getStreamFromFD(t),o=4294967296,a=r*o+(e>>>0),l=9007199254740992;return a<=-l||a>=l?-61:(y.llseek(s,a,i),ya=[s.position>>>0,(ai=s.position,+Math.abs(ai)>=1?ai>0?(Math.min(+Math.floor(ai/4294967296),4294967295)|0)>>>0:~~+Math.ceil((ai-+(~~ai>>>0))/4294967296)>>>0:0)],_e[n>>2]=ya[0],_e[n+4>>2]=ya[1],s.getdents&&a===0&&i===0&&(s.getdents=null),0)}catch(c){return(typeof y=="undefined"||!(c instanceof y.ErrnoError))&&Gr(c),c.errno}}function lke(t,e,r,i){try{var n=Ot.getStreamFromFD(t),s=Ot.doWritev(n,e,r);return _e[i>>2]=s,0}catch(o){return(typeof y=="undefined"||!(o instanceof y.ErrnoError))&&Gr(o),o.errno}}function cke(t){Ixe(t)}function uke(t){var e=Date.now()/1e3|0;return t&&(_e[t>>2]=e),e}function IP(){if(IP.called)return;IP.called=!0;var t=new Date().getFullYear(),e=new Date(t,0,1),r=new Date(t,6,1),i=e.getTimezoneOffset(),n=r.getTimezoneOffset(),s=Math.max(i,n);_e[fke()>>2]=s*60,_e[gke()>>2]=Number(i!=n);function o(g){var f=g.toTimeString().match(/\(([A-Za-z ]+)\)$/);return f?f[1]:"GMT"}var a=o(e),l=o(r),c=uP(a),u=uP(l);n>2]=c,_e[nw()+4>>2]=u):(_e[nw()>>2]=u,_e[nw()+4>>2]=c)}function hke(t){IP();var e=Date.UTC(_e[t+20>>2]+1900,_e[t+16>>2],_e[t+12>>2],_e[t+8>>2],_e[t+4>>2],_e[t>>2],0),r=new Date(e);_e[t+24>>2]=r.getUTCDay();var i=Date.UTC(r.getUTCFullYear(),0,1,0,0,0,0),n=(r.getTime()-i)/(1e3*60*60*24)|0;return _e[t+28>>2]=n,r.getTime()/1e3|0}var B4=function(t,e,r,i){t||(t=this),this.parent=t,this.mount=t.mount,this.mounted=null,this.id=y.nextInode++,this.name=e,this.mode=r,this.node_ops={},this.stream_ops={},this.rdev=i},sw=292|73,ow=146;Object.defineProperties(B4.prototype,{read:{get:function(){return(this.mode&sw)===sw},set:function(t){t?this.mode|=sw:this.mode&=~sw}},write:{get:function(){return(this.mode&ow)===ow},set:function(t){t?this.mode|=ow:this.mode&=~ow}},isFolder:{get:function(){return y.isDir(this.mode)}},isDevice:{get:function(){return y.isChrdev(this.mode)}}});y.FSNode=B4;y.staticInit();Wl&&(ft=e4,EP=require("path"),tt.staticInit());var ft,EP;if(Wl){Q4=function(t){return function(){try{return t.apply(this,arguments)}catch(e){throw e.code?new y.ErrnoError(eg[e.code]):e}}},Vl=Object.assign({},y);for(yP in w4)y[yP]=Q4(w4[yP])}else throw new Error("NODERAWFS is currently only supported on Node.js environment.");var Q4,Vl,yP;function CP(t,e,r){var i=r>0?r:rw(t)+1,n=new Array(i),s=tw(t,n,0,n.length);return e&&(n.length=s),n}var pke=typeof atob=="function"?atob:function(t){var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",r="",i,n,s,o,a,l,c,u=0;t=t.replace(/[^A-Za-z0-9\+\/\=]/g,"");do o=e.indexOf(t.charAt(u++)),a=e.indexOf(t.charAt(u++)),l=e.indexOf(t.charAt(u++)),c=e.indexOf(t.charAt(u++)),i=o<<2|a>>4,n=(a&15)<<4|l>>2,s=(l&3)<<6|c,r=r+String.fromCharCode(i),l!==64&&(r=r+String.fromCharCode(n)),c!==64&&(r=r+String.fromCharCode(s));while(u0||(Fxe(),zl>0))return;function e(){aw||(aw=!0,oe.calledRun=!0,!A4&&(Nxe(),oe.onRuntimeInitialized&&oe.onRuntimeInitialized(),Txe()))}oe.setStatus?(oe.setStatus("Running..."),setTimeout(function(){setTimeout(function(){oe.setStatus("")},1),e()},1)):e()}oe.run=wP;if(oe.preInit)for(typeof oe.preInit=="function"&&(oe.preInit=[oe.preInit]);oe.preInit.length>0;)oe.preInit.pop()();wP()});var x4=E((Dot,S4)=>{"use strict";function Cke(t,e){function r(){this.constructor=t}r.prototype=e.prototype,t.prototype=new r}function _l(t,e,r,i){this.message=t,this.expected=e,this.found=r,this.location=i,this.name="SyntaxError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,_l)}Cke(_l,Error);_l.buildMessage=function(t,e){var r={literal:function(c){return'"'+n(c.text)+'"'},class:function(c){var u="",g;for(g=0;g0){for(g=1,f=1;g>",ee=At(">>",!1),Ue=">&",Oe=At(">&",!1),vt=">",dt=At(">",!1),ri="<<<",ii=At("<<<",!1),an="<&",yr=At("<&",!1),Ki="<",Qi=At("<",!1),Go=function(C){return{type:"argument",segments:[].concat(...C)}},wr=function(C){return C},Ui="'",ws=At("'",!1),Tf=function(C){return[{type:"text",text:C}]},Mf='"',Rm=At('"',!1),Fm=function(C){return C},Nm=function(C){return{type:"arithmetic",arithmetic:C,quoted:!0}},DQ=function(C){return{type:"shell",shell:C,quoted:!0}},RQ=function(C){return _(P({type:"variable"},C),{quoted:!0})},Of=function(C){return{type:"text",text:C}},FQ=function(C){return{type:"arithmetic",arithmetic:C,quoted:!1}},NQ=function(C){return{type:"shell",shell:C,quoted:!1}},Lm=function(C){return _(P({type:"variable"},C),{quoted:!1})},LQ=function(C){return{type:"glob",pattern:C}},Va="\\",jo=At("\\",!1),Tm=/^[\\']/,Mm=Qs(["\\","'"],!1,!1),te=function(C){return C},Om=/^[^']/,Km=Qs(["'"],!0,!1),il=function(C){return C.join("")},Um=/^[\\$"]/,Hm=Qs(["\\","$",'"'],!1,!1),Kf=/^[^$"]/,Gm=Qs(["$",'"'],!0,!1),jm="\\0",TQ=At("\\0",!1),MQ=function(){return"\0"},Ym="\\a",qm=At("\\a",!1),Jm=function(){return"a"},Wm="\\b",zm=At("\\b",!1),Vm=function(){return"\b"},Uf="\\e",OQ=At("\\e",!1),KQ=function(){return""},_m="\\f",UQ=At("\\f",!1),HQ=function(){return"\f"},O="\\n",ht=At("\\n",!1),Vc=function(){return` +`},xn="\\r",Hf=At("\\r",!1),Ye=function(){return"\r"},nl="\\t",Xm=At("\\t",!1),MM=function(){return" "},GQ="\\v",OM=At("\\v",!1),fr=function(){return"\v"},Bs="\\x",jQ=At("\\x",!1),Zm=function(C){return String.fromCharCode(parseInt(C,16))},Yo="\\u",$m=At("\\u",!1),_a="\\U",et=At("\\U",!1),YQ=function(C){return String.fromCodePoint(parseInt(C,16))},eE=/^[0-9a-fA-f]/,tE=Qs([["0","9"],["a","f"],["A","f"]],!1,!1),Xa=Cfe(),sl="-",ol=At("-",!1),al="+",qo=At("+",!1),Al=".",qQ=At(".",!1),rE=function(C,Q,k){return{type:"number",value:(C==="-"?-1:1)*parseFloat(Q.join("")+"."+k.join(""))}},iE=function(C,Q){return{type:"number",value:(C==="-"?-1:1)*parseInt(Q.join(""))}},JQ=function(C){return P({type:"variable"},C)},ll=function(C){return{type:"variable",name:C}},WQ=function(C){return C},nE="*",Gf=At("*",!1),_c="/",jf=At("/",!1),sE=function(C,Q,k){return{type:Q==="*"?"multiplication":"division",right:k}},cl=function(C,Q){return Q.reduce((k,N)=>P({left:k},N),C)},oE=function(C,Q,k){return{type:Q==="+"?"addition":"subtraction",right:k}},Yf="$((",Xc=At("$((",!1),xr="))",KM=At("))",!1),Jo=function(C){return C},Zs="$(",aE=At("$(",!1),Zc=function(C){return C},x="${",U=At("${",!1),le=":-",xe=At(":-",!1),Qe=function(C,Q){return{name:C,defaultValue:Q}},Ge=":-}",ct=At(":-}",!1),sr=function(C){return{name:C,defaultValue:[]}},Wo=function(C){return{name:C}},Afe="$",lfe=At("$",!1),cfe=function(C){return e.isGlobPattern(C)},ufe=function(C){return C},UM=/^[a-zA-Z0-9_]/,HM=Qs([["a","z"],["A","Z"],["0","9"],"_"],!1,!1),GM=function(){return dfe()},jM=/^[$@*?#a-zA-Z0-9_\-]/,YM=Qs(["$","@","*","?","#",["a","z"],["A","Z"],["0","9"],"_","-"],!1,!1),gfe=/^[(){}<>$|&; \t"']/,ffe=Qs(["(",")","{","}","<",">","$","|","&",";"," "," ",'"',"'"],!1,!1),hfe=/^[<>&; \t"']/,pfe=Qs(["<",">","&",";"," "," ",'"',"'"],!1,!1),qM=/^[ \t]/,JM=Qs([" "," "],!1,!1),w=0,Re=0,AE=[{line:1,column:1}],$s=0,zQ=[],we=0,lE;if("startRule"in e){if(!(e.startRule in i))throw new Error(`Can't start parsing from rule "`+e.startRule+'".');n=i[e.startRule]}function dfe(){return t.substring(Re,w)}function P_e(){return qf(Re,w)}function D_e(C,Q){throw Q=Q!==void 0?Q:qf(Re,w),zM([Efe(C)],t.substring(Re,w),Q)}function R_e(C,Q){throw Q=Q!==void 0?Q:qf(Re,w),Ife(C,Q)}function At(C,Q){return{type:"literal",text:C,ignoreCase:Q}}function Qs(C,Q,k){return{type:"class",parts:C,inverted:Q,ignoreCase:k}}function Cfe(){return{type:"any"}}function mfe(){return{type:"end"}}function Efe(C){return{type:"other",description:C}}function WM(C){var Q=AE[C],k;if(Q)return Q;for(k=C-1;!AE[k];)k--;for(Q=AE[k],Q={line:Q.line,column:Q.column};k$s&&($s=w,zQ=[]),zQ.push(C))}function Ife(C,Q){return new _l(C,null,null,Q)}function zM(C,Q,k){return new _l(_l.buildMessage(C,Q),C,Q,k)}function VM(){var C,Q;return C=w,Q=Jf(),Q===r&&(Q=null),Q!==r&&(Re=C,Q=s(Q)),C=Q,C}function Jf(){var C,Q,k,N,Z;if(C=w,Q=VQ(),Q!==r){for(k=[],N=ke();N!==r;)k.push(N),N=ke();k!==r?(N=_M(),N!==r?(Z=yfe(),Z===r&&(Z=null),Z!==r?(Re=C,Q=o(Q,N,Z),C=Q):(w=C,C=r)):(w=C,C=r)):(w=C,C=r)}else w=C,C=r;if(C===r)if(C=w,Q=VQ(),Q!==r){for(k=[],N=ke();N!==r;)k.push(N),N=ke();k!==r?(N=_M(),N===r&&(N=null),N!==r?(Re=C,Q=a(Q,N),C=Q):(w=C,C=r)):(w=C,C=r)}else w=C,C=r;return C}function yfe(){var C,Q,k,N,Z;for(C=w,Q=[],k=ke();k!==r;)Q.push(k),k=ke();if(Q!==r)if(k=Jf(),k!==r){for(N=[],Z=ke();Z!==r;)N.push(Z),Z=ke();N!==r?(Re=C,Q=l(k),C=Q):(w=C,C=r)}else w=C,C=r;else w=C,C=r;return C}function _M(){var C;return t.charCodeAt(w)===59?(C=c,w++):(C=r,we===0&&ve(u)),C===r&&(t.charCodeAt(w)===38?(C=g,w++):(C=r,we===0&&ve(f))),C}function VQ(){var C,Q,k;return C=w,Q=XM(),Q!==r?(k=wfe(),k===r&&(k=null),k!==r?(Re=C,Q=h(Q,k),C=Q):(w=C,C=r)):(w=C,C=r),C}function wfe(){var C,Q,k,N,Z,Ee,ot;for(C=w,Q=[],k=ke();k!==r;)Q.push(k),k=ke();if(Q!==r)if(k=Bfe(),k!==r){for(N=[],Z=ke();Z!==r;)N.push(Z),Z=ke();if(N!==r)if(Z=VQ(),Z!==r){for(Ee=[],ot=ke();ot!==r;)Ee.push(ot),ot=ke();Ee!==r?(Re=C,Q=p(k,Z),C=Q):(w=C,C=r)}else w=C,C=r;else w=C,C=r}else w=C,C=r;else w=C,C=r;return C}function Bfe(){var C;return t.substr(w,2)===d?(C=d,w+=2):(C=r,we===0&&ve(m)),C===r&&(t.substr(w,2)===I?(C=I,w+=2):(C=r,we===0&&ve(B))),C}function XM(){var C,Q,k;return C=w,Q=vfe(),Q!==r?(k=Qfe(),k===r&&(k=null),k!==r?(Re=C,Q=b(Q,k),C=Q):(w=C,C=r)):(w=C,C=r),C}function Qfe(){var C,Q,k,N,Z,Ee,ot;for(C=w,Q=[],k=ke();k!==r;)Q.push(k),k=ke();if(Q!==r)if(k=bfe(),k!==r){for(N=[],Z=ke();Z!==r;)N.push(Z),Z=ke();if(N!==r)if(Z=XM(),Z!==r){for(Ee=[],ot=ke();ot!==r;)Ee.push(ot),ot=ke();Ee!==r?(Re=C,Q=R(k,Z),C=Q):(w=C,C=r)}else w=C,C=r;else w=C,C=r}else w=C,C=r;else w=C,C=r;return C}function bfe(){var C;return t.substr(w,2)===H?(C=H,w+=2):(C=r,we===0&&ve(L)),C===r&&(t.charCodeAt(w)===124?(C=K,w++):(C=r,we===0&&ve(J))),C}function cE(){var C,Q,k,N,Z,Ee;if(C=w,Q=oO(),Q!==r)if(t.charCodeAt(w)===61?(k=ne,w++):(k=r,we===0&&ve(q)),k!==r)if(N=$M(),N!==r){for(Z=[],Ee=ke();Ee!==r;)Z.push(Ee),Ee=ke();Z!==r?(Re=C,Q=A(Q,N),C=Q):(w=C,C=r)}else w=C,C=r;else w=C,C=r;else w=C,C=r;if(C===r)if(C=w,Q=oO(),Q!==r)if(t.charCodeAt(w)===61?(k=ne,w++):(k=r,we===0&&ve(q)),k!==r){for(N=[],Z=ke();Z!==r;)N.push(Z),Z=ke();N!==r?(Re=C,Q=V(Q),C=Q):(w=C,C=r)}else w=C,C=r;else w=C,C=r;return C}function vfe(){var C,Q,k,N,Z,Ee,ot,ut,Tr,ni,Yn;for(C=w,Q=[],k=ke();k!==r;)Q.push(k),k=ke();if(Q!==r)if(t.charCodeAt(w)===40?(k=W,w++):(k=r,we===0&&ve(X)),k!==r){for(N=[],Z=ke();Z!==r;)N.push(Z),Z=ke();if(N!==r)if(Z=Jf(),Z!==r){for(Ee=[],ot=ke();ot!==r;)Ee.push(ot),ot=ke();if(Ee!==r)if(t.charCodeAt(w)===41?(ot=F,w++):(ot=r,we===0&&ve(D)),ot!==r){for(ut=[],Tr=ke();Tr!==r;)ut.push(Tr),Tr=ke();if(ut!==r){for(Tr=[],ni=Wf();ni!==r;)Tr.push(ni),ni=Wf();if(Tr!==r){for(ni=[],Yn=ke();Yn!==r;)ni.push(Yn),Yn=ke();ni!==r?(Re=C,Q=he(Z,Tr),C=Q):(w=C,C=r)}else w=C,C=r}else w=C,C=r}else w=C,C=r;else w=C,C=r}else w=C,C=r;else w=C,C=r}else w=C,C=r;else w=C,C=r;if(C===r){for(C=w,Q=[],k=ke();k!==r;)Q.push(k),k=ke();if(Q!==r)if(t.charCodeAt(w)===123?(k=pe,w++):(k=r,we===0&&ve(Ne)),k!==r){for(N=[],Z=ke();Z!==r;)N.push(Z),Z=ke();if(N!==r)if(Z=Jf(),Z!==r){for(Ee=[],ot=ke();ot!==r;)Ee.push(ot),ot=ke();if(Ee!==r)if(t.charCodeAt(w)===125?(ot=Pe,w++):(ot=r,we===0&&ve(qe)),ot!==r){for(ut=[],Tr=ke();Tr!==r;)ut.push(Tr),Tr=ke();if(ut!==r){for(Tr=[],ni=Wf();ni!==r;)Tr.push(ni),ni=Wf();if(Tr!==r){for(ni=[],Yn=ke();Yn!==r;)ni.push(Yn),Yn=ke();ni!==r?(Re=C,Q=re(Z,Tr),C=Q):(w=C,C=r)}else w=C,C=r}else w=C,C=r}else w=C,C=r;else w=C,C=r}else w=C,C=r;else w=C,C=r}else w=C,C=r;else w=C,C=r;if(C===r){for(C=w,Q=[],k=ke();k!==r;)Q.push(k),k=ke();if(Q!==r){for(k=[],N=cE();N!==r;)k.push(N),N=cE();if(k!==r){for(N=[],Z=ke();Z!==r;)N.push(Z),Z=ke();if(N!==r){if(Z=[],Ee=ZM(),Ee!==r)for(;Ee!==r;)Z.push(Ee),Ee=ZM();else Z=r;if(Z!==r){for(Ee=[],ot=ke();ot!==r;)Ee.push(ot),ot=ke();Ee!==r?(Re=C,Q=se(k,Z),C=Q):(w=C,C=r)}else w=C,C=r}else w=C,C=r}else w=C,C=r}else w=C,C=r;if(C===r){for(C=w,Q=[],k=ke();k!==r;)Q.push(k),k=ke();if(Q!==r){if(k=[],N=cE(),N!==r)for(;N!==r;)k.push(N),N=cE();else k=r;if(k!==r){for(N=[],Z=ke();Z!==r;)N.push(Z),Z=ke();N!==r?(Re=C,Q=be(k),C=Q):(w=C,C=r)}else w=C,C=r}else w=C,C=r}}}return C}function Sfe(){var C,Q,k,N,Z;for(C=w,Q=[],k=ke();k!==r;)Q.push(k),k=ke();if(Q!==r){if(k=[],N=uE(),N!==r)for(;N!==r;)k.push(N),N=uE();else k=r;if(k!==r){for(N=[],Z=ke();Z!==r;)N.push(Z),Z=ke();N!==r?(Re=C,Q=ae(k),C=Q):(w=C,C=r)}else w=C,C=r}else w=C,C=r;return C}function ZM(){var C,Q,k;for(C=w,Q=[],k=ke();k!==r;)Q.push(k),k=ke();if(Q!==r?(k=Wf(),k!==r?(Re=C,Q=Ae(k),C=Q):(w=C,C=r)):(w=C,C=r),C===r){for(C=w,Q=[],k=ke();k!==r;)Q.push(k),k=ke();Q!==r?(k=uE(),k!==r?(Re=C,Q=Ae(k),C=Q):(w=C,C=r)):(w=C,C=r)}return C}function Wf(){var C,Q,k,N,Z;for(C=w,Q=[],k=ke();k!==r;)Q.push(k),k=ke();return Q!==r?(De.test(t.charAt(w))?(k=t.charAt(w),w++):(k=r,we===0&&ve($)),k===r&&(k=null),k!==r?(N=xfe(),N!==r?(Z=uE(),Z!==r?(Re=C,Q=G(k,N,Z),C=Q):(w=C,C=r)):(w=C,C=r)):(w=C,C=r)):(w=C,C=r),C}function xfe(){var C;return t.substr(w,2)===Ce?(C=Ce,w+=2):(C=r,we===0&&ve(ee)),C===r&&(t.substr(w,2)===Ue?(C=Ue,w+=2):(C=r,we===0&&ve(Oe)),C===r&&(t.charCodeAt(w)===62?(C=vt,w++):(C=r,we===0&&ve(dt)),C===r&&(t.substr(w,3)===ri?(C=ri,w+=3):(C=r,we===0&&ve(ii)),C===r&&(t.substr(w,2)===an?(C=an,w+=2):(C=r,we===0&&ve(yr)),C===r&&(t.charCodeAt(w)===60?(C=Ki,w++):(C=r,we===0&&ve(Qi))))))),C}function uE(){var C,Q,k;for(C=w,Q=[],k=ke();k!==r;)Q.push(k),k=ke();return Q!==r?(k=$M(),k!==r?(Re=C,Q=Ae(k),C=Q):(w=C,C=r)):(w=C,C=r),C}function $M(){var C,Q,k;if(C=w,Q=[],k=eO(),k!==r)for(;k!==r;)Q.push(k),k=eO();else Q=r;return Q!==r&&(Re=C,Q=Go(Q)),C=Q,C}function eO(){var C,Q;return C=w,Q=kfe(),Q!==r&&(Re=C,Q=wr(Q)),C=Q,C===r&&(C=w,Q=Pfe(),Q!==r&&(Re=C,Q=wr(Q)),C=Q,C===r&&(C=w,Q=Dfe(),Q!==r&&(Re=C,Q=wr(Q)),C=Q)),C}function kfe(){var C,Q,k,N;return C=w,t.charCodeAt(w)===39?(Q=Ui,w++):(Q=r,we===0&&ve(ws)),Q!==r?(k=Rfe(),k!==r?(t.charCodeAt(w)===39?(N=Ui,w++):(N=r,we===0&&ve(ws)),N!==r?(Re=C,Q=Tf(k),C=Q):(w=C,C=r)):(w=C,C=r)):(w=C,C=r),C}function Pfe(){var C,Q,k,N;if(C=w,t.charCodeAt(w)===34?(Q=Mf,w++):(Q=r,we===0&&ve(Rm)),Q!==r){for(k=[],N=tO();N!==r;)k.push(N),N=tO();k!==r?(t.charCodeAt(w)===34?(N=Mf,w++):(N=r,we===0&&ve(Rm)),N!==r?(Re=C,Q=Fm(k),C=Q):(w=C,C=r)):(w=C,C=r)}else w=C,C=r;return C}function Dfe(){var C,Q,k;if(C=w,Q=[],k=rO(),k!==r)for(;k!==r;)Q.push(k),k=rO();else Q=r;return Q!==r&&(Re=C,Q=Fm(Q)),C=Q,C}function tO(){var C,Q;return C=w,Q=nO(),Q!==r&&(Re=C,Q=Nm(Q)),C=Q,C===r&&(C=w,Q=sO(),Q!==r&&(Re=C,Q=DQ(Q)),C=Q,C===r&&(C=w,Q=ZQ(),Q!==r&&(Re=C,Q=RQ(Q)),C=Q,C===r&&(C=w,Q=Ffe(),Q!==r&&(Re=C,Q=Of(Q)),C=Q))),C}function rO(){var C,Q;return C=w,Q=nO(),Q!==r&&(Re=C,Q=FQ(Q)),C=Q,C===r&&(C=w,Q=sO(),Q!==r&&(Re=C,Q=NQ(Q)),C=Q,C===r&&(C=w,Q=ZQ(),Q!==r&&(Re=C,Q=Lm(Q)),C=Q,C===r&&(C=w,Q=Lfe(),Q!==r&&(Re=C,Q=LQ(Q)),C=Q,C===r&&(C=w,Q=Nfe(),Q!==r&&(Re=C,Q=Of(Q)),C=Q)))),C}function Rfe(){var C,Q,k,N,Z;for(C=w,Q=[],k=gE(),k===r&&(k=fE(),k===r&&(k=w,t.charCodeAt(w)===92?(N=Va,w++):(N=r,we===0&&ve(jo)),N!==r?(Tm.test(t.charAt(w))?(Z=t.charAt(w),w++):(Z=r,we===0&&ve(Mm)),Z!==r?(Re=k,N=te(Z),k=N):(w=k,k=r)):(w=k,k=r),k===r&&(Om.test(t.charAt(w))?(k=t.charAt(w),w++):(k=r,we===0&&ve(Km)))));k!==r;)Q.push(k),k=gE(),k===r&&(k=fE(),k===r&&(k=w,t.charCodeAt(w)===92?(N=Va,w++):(N=r,we===0&&ve(jo)),N!==r?(Tm.test(t.charAt(w))?(Z=t.charAt(w),w++):(Z=r,we===0&&ve(Mm)),Z!==r?(Re=k,N=te(Z),k=N):(w=k,k=r)):(w=k,k=r),k===r&&(Om.test(t.charAt(w))?(k=t.charAt(w),w++):(k=r,we===0&&ve(Km)))));return Q!==r&&(Re=C,Q=il(Q)),C=Q,C}function Ffe(){var C,Q,k,N,Z;if(C=w,Q=[],k=gE(),k===r&&(k=fE(),k===r&&(k=w,t.charCodeAt(w)===92?(N=Va,w++):(N=r,we===0&&ve(jo)),N!==r?(Um.test(t.charAt(w))?(Z=t.charAt(w),w++):(Z=r,we===0&&ve(Hm)),Z!==r?(Re=k,N=te(Z),k=N):(w=k,k=r)):(w=k,k=r),k===r&&(Kf.test(t.charAt(w))?(k=t.charAt(w),w++):(k=r,we===0&&ve(Gm))))),k!==r)for(;k!==r;)Q.push(k),k=gE(),k===r&&(k=fE(),k===r&&(k=w,t.charCodeAt(w)===92?(N=Va,w++):(N=r,we===0&&ve(jo)),N!==r?(Um.test(t.charAt(w))?(Z=t.charAt(w),w++):(Z=r,we===0&&ve(Hm)),Z!==r?(Re=k,N=te(Z),k=N):(w=k,k=r)):(w=k,k=r),k===r&&(Kf.test(t.charAt(w))?(k=t.charAt(w),w++):(k=r,we===0&&ve(Gm)))));else Q=r;return Q!==r&&(Re=C,Q=il(Q)),C=Q,C}function gE(){var C,Q;return C=w,t.substr(w,2)===jm?(Q=jm,w+=2):(Q=r,we===0&&ve(TQ)),Q!==r&&(Re=C,Q=MQ()),C=Q,C===r&&(C=w,t.substr(w,2)===Ym?(Q=Ym,w+=2):(Q=r,we===0&&ve(qm)),Q!==r&&(Re=C,Q=Jm()),C=Q,C===r&&(C=w,t.substr(w,2)===Wm?(Q=Wm,w+=2):(Q=r,we===0&&ve(zm)),Q!==r&&(Re=C,Q=Vm()),C=Q,C===r&&(C=w,t.substr(w,2)===Uf?(Q=Uf,w+=2):(Q=r,we===0&&ve(OQ)),Q!==r&&(Re=C,Q=KQ()),C=Q,C===r&&(C=w,t.substr(w,2)===_m?(Q=_m,w+=2):(Q=r,we===0&&ve(UQ)),Q!==r&&(Re=C,Q=HQ()),C=Q,C===r&&(C=w,t.substr(w,2)===O?(Q=O,w+=2):(Q=r,we===0&&ve(ht)),Q!==r&&(Re=C,Q=Vc()),C=Q,C===r&&(C=w,t.substr(w,2)===xn?(Q=xn,w+=2):(Q=r,we===0&&ve(Hf)),Q!==r&&(Re=C,Q=Ye()),C=Q,C===r&&(C=w,t.substr(w,2)===nl?(Q=nl,w+=2):(Q=r,we===0&&ve(Xm)),Q!==r&&(Re=C,Q=MM()),C=Q,C===r&&(C=w,t.substr(w,2)===GQ?(Q=GQ,w+=2):(Q=r,we===0&&ve(OM)),Q!==r&&(Re=C,Q=fr()),C=Q)))))))),C}function fE(){var C,Q,k,N,Z,Ee,ot,ut,Tr,ni,Yn,$Q;return C=w,t.substr(w,2)===Bs?(Q=Bs,w+=2):(Q=r,we===0&&ve(jQ)),Q!==r?(k=w,N=w,Z=An(),Z!==r?(Ee=An(),Ee!==r?(Z=[Z,Ee],N=Z):(w=N,N=r)):(w=N,N=r),N!==r?k=t.substring(k,w):k=N,k!==r?(Re=C,Q=Zm(k),C=Q):(w=C,C=r)):(w=C,C=r),C===r&&(C=w,t.substr(w,2)===Yo?(Q=Yo,w+=2):(Q=r,we===0&&ve($m)),Q!==r?(k=w,N=w,Z=An(),Z!==r?(Ee=An(),Ee!==r?(ot=An(),ot!==r?(ut=An(),ut!==r?(Z=[Z,Ee,ot,ut],N=Z):(w=N,N=r)):(w=N,N=r)):(w=N,N=r)):(w=N,N=r),N!==r?k=t.substring(k,w):k=N,k!==r?(Re=C,Q=Zm(k),C=Q):(w=C,C=r)):(w=C,C=r),C===r&&(C=w,t.substr(w,2)===_a?(Q=_a,w+=2):(Q=r,we===0&&ve(et)),Q!==r?(k=w,N=w,Z=An(),Z!==r?(Ee=An(),Ee!==r?(ot=An(),ot!==r?(ut=An(),ut!==r?(Tr=An(),Tr!==r?(ni=An(),ni!==r?(Yn=An(),Yn!==r?($Q=An(),$Q!==r?(Z=[Z,Ee,ot,ut,Tr,ni,Yn,$Q],N=Z):(w=N,N=r)):(w=N,N=r)):(w=N,N=r)):(w=N,N=r)):(w=N,N=r)):(w=N,N=r)):(w=N,N=r)):(w=N,N=r),N!==r?k=t.substring(k,w):k=N,k!==r?(Re=C,Q=YQ(k),C=Q):(w=C,C=r)):(w=C,C=r))),C}function An(){var C;return eE.test(t.charAt(w))?(C=t.charAt(w),w++):(C=r,we===0&&ve(tE)),C}function Nfe(){var C,Q,k,N,Z;if(C=w,Q=[],k=w,t.charCodeAt(w)===92?(N=Va,w++):(N=r,we===0&&ve(jo)),N!==r?(t.length>w?(Z=t.charAt(w),w++):(Z=r,we===0&&ve(Xa)),Z!==r?(Re=k,N=te(Z),k=N):(w=k,k=r)):(w=k,k=r),k===r&&(k=w,N=w,we++,Z=aO(),we--,Z===r?N=void 0:(w=N,N=r),N!==r?(t.length>w?(Z=t.charAt(w),w++):(Z=r,we===0&&ve(Xa)),Z!==r?(Re=k,N=te(Z),k=N):(w=k,k=r)):(w=k,k=r)),k!==r)for(;k!==r;)Q.push(k),k=w,t.charCodeAt(w)===92?(N=Va,w++):(N=r,we===0&&ve(jo)),N!==r?(t.length>w?(Z=t.charAt(w),w++):(Z=r,we===0&&ve(Xa)),Z!==r?(Re=k,N=te(Z),k=N):(w=k,k=r)):(w=k,k=r),k===r&&(k=w,N=w,we++,Z=aO(),we--,Z===r?N=void 0:(w=N,N=r),N!==r?(t.length>w?(Z=t.charAt(w),w++):(Z=r,we===0&&ve(Xa)),Z!==r?(Re=k,N=te(Z),k=N):(w=k,k=r)):(w=k,k=r));else Q=r;return Q!==r&&(Re=C,Q=il(Q)),C=Q,C}function _Q(){var C,Q,k,N,Z,Ee;if(C=w,t.charCodeAt(w)===45?(Q=sl,w++):(Q=r,we===0&&ve(ol)),Q===r&&(t.charCodeAt(w)===43?(Q=al,w++):(Q=r,we===0&&ve(qo))),Q===r&&(Q=null),Q!==r){if(k=[],De.test(t.charAt(w))?(N=t.charAt(w),w++):(N=r,we===0&&ve($)),N!==r)for(;N!==r;)k.push(N),De.test(t.charAt(w))?(N=t.charAt(w),w++):(N=r,we===0&&ve($));else k=r;if(k!==r)if(t.charCodeAt(w)===46?(N=Al,w++):(N=r,we===0&&ve(qQ)),N!==r){if(Z=[],De.test(t.charAt(w))?(Ee=t.charAt(w),w++):(Ee=r,we===0&&ve($)),Ee!==r)for(;Ee!==r;)Z.push(Ee),De.test(t.charAt(w))?(Ee=t.charAt(w),w++):(Ee=r,we===0&&ve($));else Z=r;Z!==r?(Re=C,Q=rE(Q,k,Z),C=Q):(w=C,C=r)}else w=C,C=r;else w=C,C=r}else w=C,C=r;if(C===r){if(C=w,t.charCodeAt(w)===45?(Q=sl,w++):(Q=r,we===0&&ve(ol)),Q===r&&(t.charCodeAt(w)===43?(Q=al,w++):(Q=r,we===0&&ve(qo))),Q===r&&(Q=null),Q!==r){if(k=[],De.test(t.charAt(w))?(N=t.charAt(w),w++):(N=r,we===0&&ve($)),N!==r)for(;N!==r;)k.push(N),De.test(t.charAt(w))?(N=t.charAt(w),w++):(N=r,we===0&&ve($));else k=r;k!==r?(Re=C,Q=iE(Q,k),C=Q):(w=C,C=r)}else w=C,C=r;if(C===r&&(C=w,Q=ZQ(),Q!==r&&(Re=C,Q=JQ(Q)),C=Q,C===r&&(C=w,Q=zf(),Q!==r&&(Re=C,Q=ll(Q)),C=Q,C===r)))if(C=w,t.charCodeAt(w)===40?(Q=W,w++):(Q=r,we===0&&ve(X)),Q!==r){for(k=[],N=ke();N!==r;)k.push(N),N=ke();if(k!==r)if(N=iO(),N!==r){for(Z=[],Ee=ke();Ee!==r;)Z.push(Ee),Ee=ke();Z!==r?(t.charCodeAt(w)===41?(Ee=F,w++):(Ee=r,we===0&&ve(D)),Ee!==r?(Re=C,Q=WQ(N),C=Q):(w=C,C=r)):(w=C,C=r)}else w=C,C=r;else w=C,C=r}else w=C,C=r}return C}function XQ(){var C,Q,k,N,Z,Ee,ot,ut;if(C=w,Q=_Q(),Q!==r){for(k=[],N=w,Z=[],Ee=ke();Ee!==r;)Z.push(Ee),Ee=ke();if(Z!==r)if(t.charCodeAt(w)===42?(Ee=nE,w++):(Ee=r,we===0&&ve(Gf)),Ee===r&&(t.charCodeAt(w)===47?(Ee=_c,w++):(Ee=r,we===0&&ve(jf))),Ee!==r){for(ot=[],ut=ke();ut!==r;)ot.push(ut),ut=ke();ot!==r?(ut=_Q(),ut!==r?(Re=N,Z=sE(Q,Ee,ut),N=Z):(w=N,N=r)):(w=N,N=r)}else w=N,N=r;else w=N,N=r;for(;N!==r;){for(k.push(N),N=w,Z=[],Ee=ke();Ee!==r;)Z.push(Ee),Ee=ke();if(Z!==r)if(t.charCodeAt(w)===42?(Ee=nE,w++):(Ee=r,we===0&&ve(Gf)),Ee===r&&(t.charCodeAt(w)===47?(Ee=_c,w++):(Ee=r,we===0&&ve(jf))),Ee!==r){for(ot=[],ut=ke();ut!==r;)ot.push(ut),ut=ke();ot!==r?(ut=_Q(),ut!==r?(Re=N,Z=sE(Q,Ee,ut),N=Z):(w=N,N=r)):(w=N,N=r)}else w=N,N=r;else w=N,N=r}k!==r?(Re=C,Q=cl(Q,k),C=Q):(w=C,C=r)}else w=C,C=r;return C}function iO(){var C,Q,k,N,Z,Ee,ot,ut;if(C=w,Q=XQ(),Q!==r){for(k=[],N=w,Z=[],Ee=ke();Ee!==r;)Z.push(Ee),Ee=ke();if(Z!==r)if(t.charCodeAt(w)===43?(Ee=al,w++):(Ee=r,we===0&&ve(qo)),Ee===r&&(t.charCodeAt(w)===45?(Ee=sl,w++):(Ee=r,we===0&&ve(ol))),Ee!==r){for(ot=[],ut=ke();ut!==r;)ot.push(ut),ut=ke();ot!==r?(ut=XQ(),ut!==r?(Re=N,Z=oE(Q,Ee,ut),N=Z):(w=N,N=r)):(w=N,N=r)}else w=N,N=r;else w=N,N=r;for(;N!==r;){for(k.push(N),N=w,Z=[],Ee=ke();Ee!==r;)Z.push(Ee),Ee=ke();if(Z!==r)if(t.charCodeAt(w)===43?(Ee=al,w++):(Ee=r,we===0&&ve(qo)),Ee===r&&(t.charCodeAt(w)===45?(Ee=sl,w++):(Ee=r,we===0&&ve(ol))),Ee!==r){for(ot=[],ut=ke();ut!==r;)ot.push(ut),ut=ke();ot!==r?(ut=XQ(),ut!==r?(Re=N,Z=oE(Q,Ee,ut),N=Z):(w=N,N=r)):(w=N,N=r)}else w=N,N=r;else w=N,N=r}k!==r?(Re=C,Q=cl(Q,k),C=Q):(w=C,C=r)}else w=C,C=r;return C}function nO(){var C,Q,k,N,Z,Ee;if(C=w,t.substr(w,3)===Yf?(Q=Yf,w+=3):(Q=r,we===0&&ve(Xc)),Q!==r){for(k=[],N=ke();N!==r;)k.push(N),N=ke();if(k!==r)if(N=iO(),N!==r){for(Z=[],Ee=ke();Ee!==r;)Z.push(Ee),Ee=ke();Z!==r?(t.substr(w,2)===xr?(Ee=xr,w+=2):(Ee=r,we===0&&ve(KM)),Ee!==r?(Re=C,Q=Jo(N),C=Q):(w=C,C=r)):(w=C,C=r)}else w=C,C=r;else w=C,C=r}else w=C,C=r;return C}function sO(){var C,Q,k,N;return C=w,t.substr(w,2)===Zs?(Q=Zs,w+=2):(Q=r,we===0&&ve(aE)),Q!==r?(k=Jf(),k!==r?(t.charCodeAt(w)===41?(N=F,w++):(N=r,we===0&&ve(D)),N!==r?(Re=C,Q=Zc(k),C=Q):(w=C,C=r)):(w=C,C=r)):(w=C,C=r),C}function ZQ(){var C,Q,k,N,Z,Ee;return C=w,t.substr(w,2)===x?(Q=x,w+=2):(Q=r,we===0&&ve(U)),Q!==r?(k=zf(),k!==r?(t.substr(w,2)===le?(N=le,w+=2):(N=r,we===0&&ve(xe)),N!==r?(Z=Sfe(),Z!==r?(t.charCodeAt(w)===125?(Ee=Pe,w++):(Ee=r,we===0&&ve(qe)),Ee!==r?(Re=C,Q=Qe(k,Z),C=Q):(w=C,C=r)):(w=C,C=r)):(w=C,C=r)):(w=C,C=r)):(w=C,C=r),C===r&&(C=w,t.substr(w,2)===x?(Q=x,w+=2):(Q=r,we===0&&ve(U)),Q!==r?(k=zf(),k!==r?(t.substr(w,3)===Ge?(N=Ge,w+=3):(N=r,we===0&&ve(ct)),N!==r?(Re=C,Q=sr(k),C=Q):(w=C,C=r)):(w=C,C=r)):(w=C,C=r),C===r&&(C=w,t.substr(w,2)===x?(Q=x,w+=2):(Q=r,we===0&&ve(U)),Q!==r?(k=zf(),k!==r?(t.charCodeAt(w)===125?(N=Pe,w++):(N=r,we===0&&ve(qe)),N!==r?(Re=C,Q=Wo(k),C=Q):(w=C,C=r)):(w=C,C=r)):(w=C,C=r),C===r&&(C=w,t.charCodeAt(w)===36?(Q=Afe,w++):(Q=r,we===0&&ve(lfe)),Q!==r?(k=zf(),k!==r?(Re=C,Q=Wo(k),C=Q):(w=C,C=r)):(w=C,C=r)))),C}function Lfe(){var C,Q,k;return C=w,Q=Tfe(),Q!==r?(Re=w,k=cfe(Q),k?k=void 0:k=r,k!==r?(Re=C,Q=ufe(Q),C=Q):(w=C,C=r)):(w=C,C=r),C}function Tfe(){var C,Q,k,N,Z;if(C=w,Q=[],k=w,N=w,we++,Z=AO(),we--,Z===r?N=void 0:(w=N,N=r),N!==r?(t.length>w?(Z=t.charAt(w),w++):(Z=r,we===0&&ve(Xa)),Z!==r?(Re=k,N=te(Z),k=N):(w=k,k=r)):(w=k,k=r),k!==r)for(;k!==r;)Q.push(k),k=w,N=w,we++,Z=AO(),we--,Z===r?N=void 0:(w=N,N=r),N!==r?(t.length>w?(Z=t.charAt(w),w++):(Z=r,we===0&&ve(Xa)),Z!==r?(Re=k,N=te(Z),k=N):(w=k,k=r)):(w=k,k=r);else Q=r;return Q!==r&&(Re=C,Q=il(Q)),C=Q,C}function oO(){var C,Q,k;if(C=w,Q=[],UM.test(t.charAt(w))?(k=t.charAt(w),w++):(k=r,we===0&&ve(HM)),k!==r)for(;k!==r;)Q.push(k),UM.test(t.charAt(w))?(k=t.charAt(w),w++):(k=r,we===0&&ve(HM));else Q=r;return Q!==r&&(Re=C,Q=GM()),C=Q,C}function zf(){var C,Q,k;if(C=w,Q=[],jM.test(t.charAt(w))?(k=t.charAt(w),w++):(k=r,we===0&&ve(YM)),k!==r)for(;k!==r;)Q.push(k),jM.test(t.charAt(w))?(k=t.charAt(w),w++):(k=r,we===0&&ve(YM));else Q=r;return Q!==r&&(Re=C,Q=GM()),C=Q,C}function aO(){var C;return gfe.test(t.charAt(w))?(C=t.charAt(w),w++):(C=r,we===0&&ve(ffe)),C}function AO(){var C;return hfe.test(t.charAt(w))?(C=t.charAt(w),w++):(C=r,we===0&&ve(pfe)),C}function ke(){var C,Q;if(C=[],qM.test(t.charAt(w))?(Q=t.charAt(w),w++):(Q=r,we===0&&ve(JM)),Q!==r)for(;Q!==r;)C.push(Q),qM.test(t.charAt(w))?(Q=t.charAt(w),w++):(Q=r,we===0&&ve(JM));else C=r;return C}if(lE=n(),lE!==r&&w===t.length)return lE;throw lE!==r&&w{"use strict";function Eke(t,e){function r(){this.constructor=t}r.prototype=e.prototype,t.prototype=new r}function Xl(t,e,r,i){this.message=t,this.expected=e,this.found=r,this.location=i,this.name="SyntaxError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,Xl)}Eke(Xl,Error);Xl.buildMessage=function(t,e){var r={literal:function(c){return'"'+n(c.text)+'"'},class:function(c){var u="",g;for(g=0;g0){for(g=1,f=1;gH&&(H=B,L=[]),L.push($))}function qe($,G){return new Xl($,null,null,G)}function re($,G,Ce){return new Xl(Xl.buildMessage($,G),$,G,Ce)}function se(){var $,G,Ce,ee;return $=B,G=be(),G!==r?(t.charCodeAt(B)===47?(Ce=s,B++):(Ce=r,K===0&&Pe(o)),Ce!==r?(ee=be(),ee!==r?(b=$,G=a(G,ee),$=G):(B=$,$=r)):(B=$,$=r)):(B=$,$=r),$===r&&($=B,G=be(),G!==r&&(b=$,G=l(G)),$=G),$}function be(){var $,G,Ce,ee;return $=B,G=ae(),G!==r?(t.charCodeAt(B)===64?(Ce=c,B++):(Ce=r,K===0&&Pe(u)),Ce!==r?(ee=De(),ee!==r?(b=$,G=g(G,ee),$=G):(B=$,$=r)):(B=$,$=r)):(B=$,$=r),$===r&&($=B,G=ae(),G!==r&&(b=$,G=f(G)),$=G),$}function ae(){var $,G,Ce,ee,Ue;return $=B,t.charCodeAt(B)===64?(G=c,B++):(G=r,K===0&&Pe(u)),G!==r?(Ce=Ae(),Ce!==r?(t.charCodeAt(B)===47?(ee=s,B++):(ee=r,K===0&&Pe(o)),ee!==r?(Ue=Ae(),Ue!==r?(b=$,G=h(),$=G):(B=$,$=r)):(B=$,$=r)):(B=$,$=r)):(B=$,$=r),$===r&&($=B,G=Ae(),G!==r&&(b=$,G=h()),$=G),$}function Ae(){var $,G,Ce;if($=B,G=[],p.test(t.charAt(B))?(Ce=t.charAt(B),B++):(Ce=r,K===0&&Pe(d)),Ce!==r)for(;Ce!==r;)G.push(Ce),p.test(t.charAt(B))?(Ce=t.charAt(B),B++):(Ce=r,K===0&&Pe(d));else G=r;return G!==r&&(b=$,G=h()),$=G,$}function De(){var $,G,Ce;if($=B,G=[],m.test(t.charAt(B))?(Ce=t.charAt(B),B++):(Ce=r,K===0&&Pe(I)),Ce!==r)for(;Ce!==r;)G.push(Ce),m.test(t.charAt(B))?(Ce=t.charAt(B),B++):(Ce=r,K===0&&Pe(I));else G=r;return G!==r&&(b=$,G=h()),$=G,$}if(J=n(),J!==r&&B===t.length)return J;throw J!==r&&B{"use strict";function F4(t){return typeof t=="undefined"||t===null}function yke(t){return typeof t=="object"&&t!==null}function wke(t){return Array.isArray(t)?t:F4(t)?[]:[t]}function Bke(t,e){var r,i,n,s;if(e)for(s=Object.keys(e),r=0,i=s.length;r{"use strict";function Lp(t,e){Error.call(this),this.name="YAMLException",this.reason=t,this.mark=e,this.message=(this.reason||"(unknown reason)")+(this.mark?" "+this.mark.toString():""),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack||""}Lp.prototype=Object.create(Error.prototype);Lp.prototype.constructor=Lp;Lp.prototype.toString=function(e){var r=this.name+": ";return r+=this.reason||"(unknown reason)",!e&&this.mark&&(r+=" "+this.mark.toString()),r};N4.exports=Lp});var M4=E((Vot,L4)=>{"use strict";var T4=$l();function kP(t,e,r,i,n){this.name=t,this.buffer=e,this.position=r,this.line=i,this.column=n}kP.prototype.getSnippet=function(e,r){var i,n,s,o,a;if(!this.buffer)return null;for(e=e||4,r=r||75,i="",n=this.position;n>0&&`\0\r +\x85\u2028\u2029`.indexOf(this.buffer.charAt(n-1))===-1;)if(n-=1,this.position-n>r/2-1){i=" ... ",n+=5;break}for(s="",o=this.position;or/2-1){s=" ... ",o-=5;break}return a=this.buffer.slice(n,o),T4.repeat(" ",e)+i+a+s+` +`+T4.repeat(" ",e+this.position-n+i.length)+"^"};kP.prototype.toString=function(e){var r,i="";return this.name&&(i+='in "'+this.name+'" '),i+="at line "+(this.line+1)+", column "+(this.column+1),e||(r=this.getSnippet(),r&&(i+=`: +`+r)),i};L4.exports=kP});var Xr=E((_ot,O4)=>{"use strict";var K4=ng(),vke=["kind","resolve","construct","instanceOf","predicate","represent","defaultStyle","styleAliases"],Ske=["scalar","sequence","mapping"];function xke(t){var e={};return t!==null&&Object.keys(t).forEach(function(r){t[r].forEach(function(i){e[String(i)]=r})}),e}function kke(t,e){if(e=e||{},Object.keys(e).forEach(function(r){if(vke.indexOf(r)===-1)throw new K4('Unknown option "'+r+'" is met in definition of "'+t+'" YAML type.')}),this.tag=t,this.kind=e.kind||null,this.resolve=e.resolve||function(){return!0},this.construct=e.construct||function(r){return r},this.instanceOf=e.instanceOf||null,this.predicate=e.predicate||null,this.represent=e.represent||null,this.defaultStyle=e.defaultStyle||null,this.styleAliases=xke(e.styleAliases||null),Ske.indexOf(this.kind)===-1)throw new K4('Unknown kind "'+this.kind+'" is specified for "'+t+'" YAML type.')}O4.exports=kke});var ec=E((Xot,U4)=>{"use strict";var H4=$l(),hw=ng(),Pke=Xr();function PP(t,e,r){var i=[];return t.include.forEach(function(n){r=PP(n,e,r)}),t[e].forEach(function(n){r.forEach(function(s,o){s.tag===n.tag&&s.kind===n.kind&&i.push(o)}),r.push(n)}),r.filter(function(n,s){return i.indexOf(s)===-1})}function Dke(){var t={scalar:{},sequence:{},mapping:{},fallback:{}},e,r;function i(n){t[n.kind][n.tag]=t.fallback[n.tag]=n}for(e=0,r=arguments.length;e{"use strict";var Rke=Xr();G4.exports=new Rke("tag:yaml.org,2002:str",{kind:"scalar",construct:function(t){return t!==null?t:""}})});var q4=E(($ot,Y4)=>{"use strict";var Fke=Xr();Y4.exports=new Fke("tag:yaml.org,2002:seq",{kind:"sequence",construct:function(t){return t!==null?t:[]}})});var W4=E((eat,J4)=>{"use strict";var Nke=Xr();J4.exports=new Nke("tag:yaml.org,2002:map",{kind:"mapping",construct:function(t){return t!==null?t:{}}})});var pw=E((tat,z4)=>{"use strict";var Lke=ec();z4.exports=new Lke({explicit:[j4(),q4(),W4()]})});var _4=E((rat,V4)=>{"use strict";var Tke=Xr();function Mke(t){if(t===null)return!0;var e=t.length;return e===1&&t==="~"||e===4&&(t==="null"||t==="Null"||t==="NULL")}function Oke(){return null}function Kke(t){return t===null}V4.exports=new Tke("tag:yaml.org,2002:null",{kind:"scalar",resolve:Mke,construct:Oke,predicate:Kke,represent:{canonical:function(){return"~"},lowercase:function(){return"null"},uppercase:function(){return"NULL"},camelcase:function(){return"Null"}},defaultStyle:"lowercase"})});var Z4=E((iat,X4)=>{"use strict";var Uke=Xr();function Hke(t){if(t===null)return!1;var e=t.length;return e===4&&(t==="true"||t==="True"||t==="TRUE")||e===5&&(t==="false"||t==="False"||t==="FALSE")}function Gke(t){return t==="true"||t==="True"||t==="TRUE"}function jke(t){return Object.prototype.toString.call(t)==="[object Boolean]"}X4.exports=new Uke("tag:yaml.org,2002:bool",{kind:"scalar",resolve:Hke,construct:Gke,predicate:jke,represent:{lowercase:function(t){return t?"true":"false"},uppercase:function(t){return t?"TRUE":"FALSE"},camelcase:function(t){return t?"True":"False"}},defaultStyle:"lowercase"})});var ez=E((nat,$4)=>{"use strict";var Yke=$l(),qke=Xr();function Jke(t){return 48<=t&&t<=57||65<=t&&t<=70||97<=t&&t<=102}function Wke(t){return 48<=t&&t<=55}function zke(t){return 48<=t&&t<=57}function Vke(t){if(t===null)return!1;var e=t.length,r=0,i=!1,n;if(!e)return!1;if(n=t[r],(n==="-"||n==="+")&&(n=t[++r]),n==="0"){if(r+1===e)return!0;if(n=t[++r],n==="b"){for(r++;r=0?"0b"+t.toString(2):"-0b"+t.toString(2).slice(1)},octal:function(t){return t>=0?"0"+t.toString(8):"-0"+t.toString(8).slice(1)},decimal:function(t){return t.toString(10)},hexadecimal:function(t){return t>=0?"0x"+t.toString(16).toUpperCase():"-0x"+t.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}})});var iz=E((sat,tz)=>{"use strict";var rz=$l(),Zke=Xr(),$ke=new RegExp("^(?:[-+]?(?:0|[1-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\\.[0-9_]*|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");function ePe(t){return!(t===null||!$ke.test(t)||t[t.length-1]==="_")}function tPe(t){var e,r,i,n;return e=t.replace(/_/g,"").toLowerCase(),r=e[0]==="-"?-1:1,n=[],"+-".indexOf(e[0])>=0&&(e=e.slice(1)),e===".inf"?r===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:e===".nan"?NaN:e.indexOf(":")>=0?(e.split(":").forEach(function(s){n.unshift(parseFloat(s,10))}),e=0,i=1,n.forEach(function(s){e+=s*i,i*=60}),r*e):r*parseFloat(e,10)}var rPe=/^[-+]?[0-9]+e/;function iPe(t,e){var r;if(isNaN(t))switch(e){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===t)switch(e){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===t)switch(e){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(rz.isNegativeZero(t))return"-0.0";return r=t.toString(10),rPe.test(r)?r.replace("e",".e"):r}function nPe(t){return Object.prototype.toString.call(t)==="[object Number]"&&(t%1!=0||rz.isNegativeZero(t))}tz.exports=new Zke("tag:yaml.org,2002:float",{kind:"scalar",resolve:ePe,construct:tPe,predicate:nPe,represent:iPe,defaultStyle:"lowercase"})});var DP=E((oat,nz)=>{"use strict";var sPe=ec();nz.exports=new sPe({include:[pw()],implicit:[_4(),Z4(),ez(),iz()]})});var RP=E((aat,sz)=>{"use strict";var oPe=ec();sz.exports=new oPe({include:[DP()]})});var lz=E((Aat,oz)=>{"use strict";var aPe=Xr(),az=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),Az=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");function APe(t){return t===null?!1:az.exec(t)!==null||Az.exec(t)!==null}function lPe(t){var e,r,i,n,s,o,a,l=0,c=null,u,g,f;if(e=az.exec(t),e===null&&(e=Az.exec(t)),e===null)throw new Error("Date resolve error");if(r=+e[1],i=+e[2]-1,n=+e[3],!e[4])return new Date(Date.UTC(r,i,n));if(s=+e[4],o=+e[5],a=+e[6],e[7]){for(l=e[7].slice(0,3);l.length<3;)l+="0";l=+l}return e[9]&&(u=+e[10],g=+(e[11]||0),c=(u*60+g)*6e4,e[9]==="-"&&(c=-c)),f=new Date(Date.UTC(r,i,n,s,o,a,l)),c&&f.setTime(f.getTime()-c),f}function cPe(t){return t.toISOString()}oz.exports=new aPe("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:APe,construct:lPe,instanceOf:Date,represent:cPe})});var uz=E((lat,cz)=>{"use strict";var uPe=Xr();function gPe(t){return t==="<<"||t===null}cz.exports=new uPe("tag:yaml.org,2002:merge",{kind:"scalar",resolve:gPe})});var hz=E((cat,gz)=>{"use strict";var tc;try{fz=require,tc=fz("buffer").Buffer}catch(t){}var fz,fPe=Xr(),FP=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/= +\r`;function hPe(t){if(t===null)return!1;var e,r,i=0,n=t.length,s=FP;for(r=0;r64)){if(e<0)return!1;i+=6}return i%8==0}function pPe(t){var e,r,i=t.replace(/[\r\n=]/g,""),n=i.length,s=FP,o=0,a=[];for(e=0;e>16&255),a.push(o>>8&255),a.push(o&255)),o=o<<6|s.indexOf(i.charAt(e));return r=n%4*6,r===0?(a.push(o>>16&255),a.push(o>>8&255),a.push(o&255)):r===18?(a.push(o>>10&255),a.push(o>>2&255)):r===12&&a.push(o>>4&255),tc?tc.from?tc.from(a):new tc(a):a}function dPe(t){var e="",r=0,i,n,s=t.length,o=FP;for(i=0;i>18&63],e+=o[r>>12&63],e+=o[r>>6&63],e+=o[r&63]),r=(r<<8)+t[i];return n=s%3,n===0?(e+=o[r>>18&63],e+=o[r>>12&63],e+=o[r>>6&63],e+=o[r&63]):n===2?(e+=o[r>>10&63],e+=o[r>>4&63],e+=o[r<<2&63],e+=o[64]):n===1&&(e+=o[r>>2&63],e+=o[r<<4&63],e+=o[64],e+=o[64]),e}function CPe(t){return tc&&tc.isBuffer(t)}gz.exports=new fPe("tag:yaml.org,2002:binary",{kind:"scalar",resolve:hPe,construct:pPe,predicate:CPe,represent:dPe})});var dz=E((uat,pz)=>{"use strict";var mPe=Xr(),EPe=Object.prototype.hasOwnProperty,IPe=Object.prototype.toString;function yPe(t){if(t===null)return!0;var e=[],r,i,n,s,o,a=t;for(r=0,i=a.length;r{"use strict";var BPe=Xr(),QPe=Object.prototype.toString;function bPe(t){if(t===null)return!0;var e,r,i,n,s,o=t;for(s=new Array(o.length),e=0,r=o.length;e{"use strict";var SPe=Xr(),xPe=Object.prototype.hasOwnProperty;function kPe(t){if(t===null)return!0;var e,r=t;for(e in r)if(xPe.call(r,e)&&r[e]!==null)return!1;return!0}function PPe(t){return t!==null?t:{}}Ez.exports=new SPe("tag:yaml.org,2002:set",{kind:"mapping",resolve:kPe,construct:PPe})});var og=E((hat,yz)=>{"use strict";var DPe=ec();yz.exports=new DPe({include:[RP()],implicit:[lz(),uz()],explicit:[hz(),dz(),mz(),Iz()]})});var Bz=E((pat,wz)=>{"use strict";var RPe=Xr();function FPe(){return!0}function NPe(){}function LPe(){return""}function TPe(t){return typeof t=="undefined"}wz.exports=new RPe("tag:yaml.org,2002:js/undefined",{kind:"scalar",resolve:FPe,construct:NPe,predicate:TPe,represent:LPe})});var bz=E((dat,Qz)=>{"use strict";var MPe=Xr();function OPe(t){if(t===null||t.length===0)return!1;var e=t,r=/\/([gim]*)$/.exec(t),i="";return!(e[0]==="/"&&(r&&(i=r[1]),i.length>3||e[e.length-i.length-1]!=="/"))}function KPe(t){var e=t,r=/\/([gim]*)$/.exec(t),i="";return e[0]==="/"&&(r&&(i=r[1]),e=e.slice(1,e.length-i.length-1)),new RegExp(e,i)}function UPe(t){var e="/"+t.source+"/";return t.global&&(e+="g"),t.multiline&&(e+="m"),t.ignoreCase&&(e+="i"),e}function HPe(t){return Object.prototype.toString.call(t)==="[object RegExp]"}Qz.exports=new MPe("tag:yaml.org,2002:js/regexp",{kind:"scalar",resolve:OPe,construct:KPe,predicate:HPe,represent:UPe})});var xz=E((Cat,vz)=>{"use strict";var dw;try{Sz=require,dw=Sz("esprima")}catch(t){typeof window!="undefined"&&(dw=window.esprima)}var Sz,GPe=Xr();function jPe(t){if(t===null)return!1;try{var e="("+t+")",r=dw.parse(e,{range:!0});return!(r.type!=="Program"||r.body.length!==1||r.body[0].type!=="ExpressionStatement"||r.body[0].expression.type!=="ArrowFunctionExpression"&&r.body[0].expression.type!=="FunctionExpression")}catch(i){return!1}}function YPe(t){var e="("+t+")",r=dw.parse(e,{range:!0}),i=[],n;if(r.type!=="Program"||r.body.length!==1||r.body[0].type!=="ExpressionStatement"||r.body[0].expression.type!=="ArrowFunctionExpression"&&r.body[0].expression.type!=="FunctionExpression")throw new Error("Failed to resolve function");return r.body[0].expression.params.forEach(function(s){i.push(s.name)}),n=r.body[0].expression.body.range,r.body[0].expression.body.type==="BlockStatement"?new Function(i,e.slice(n[0]+1,n[1]-1)):new Function(i,"return "+e.slice(n[0],n[1]))}function qPe(t){return t.toString()}function JPe(t){return Object.prototype.toString.call(t)==="[object Function]"}vz.exports=new GPe("tag:yaml.org,2002:js/function",{kind:"scalar",resolve:jPe,construct:YPe,predicate:JPe,represent:qPe})});var Tp=E((mat,kz)=>{"use strict";var Pz=ec();kz.exports=Pz.DEFAULT=new Pz({include:[og()],explicit:[Bz(),bz(),xz()]})});var Vz=E((Eat,Mp)=>{"use strict";var Ba=$l(),Dz=ng(),WPe=M4(),Rz=og(),zPe=Tp(),QA=Object.prototype.hasOwnProperty,Cw=1,Fz=2,Nz=3,mw=4,NP=1,VPe=2,Lz=3,_Pe=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,XPe=/[\x85\u2028\u2029]/,ZPe=/[,\[\]\{\}]/,Tz=/^(?:!|!!|![a-z\-]+!)$/i,Mz=/^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i;function Oz(t){return Object.prototype.toString.call(t)}function wo(t){return t===10||t===13}function rc(t){return t===9||t===32}function yn(t){return t===9||t===32||t===10||t===13}function ag(t){return t===44||t===91||t===93||t===123||t===125}function $Pe(t){var e;return 48<=t&&t<=57?t-48:(e=t|32,97<=e&&e<=102?e-97+10:-1)}function eDe(t){return t===120?2:t===117?4:t===85?8:0}function tDe(t){return 48<=t&&t<=57?t-48:-1}function Kz(t){return t===48?"\0":t===97?"\x07":t===98?"\b":t===116||t===9?" ":t===110?` +`:t===118?"\v":t===102?"\f":t===114?"\r":t===101?"":t===32?" ":t===34?'"':t===47?"/":t===92?"\\":t===78?"\x85":t===95?"\xA0":t===76?"\u2028":t===80?"\u2029":""}function rDe(t){return t<=65535?String.fromCharCode(t):String.fromCharCode((t-65536>>10)+55296,(t-65536&1023)+56320)}var Uz=new Array(256),Hz=new Array(256);for(var Ag=0;Ag<256;Ag++)Uz[Ag]=Kz(Ag)?1:0,Hz[Ag]=Kz(Ag);function iDe(t,e){this.input=t,this.filename=e.filename||null,this.schema=e.schema||zPe,this.onWarning=e.onWarning||null,this.legacy=e.legacy||!1,this.json=e.json||!1,this.listener=e.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=t.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.documents=[]}function Gz(t,e){return new Dz(e,new WPe(t.filename,t.input,t.position,t.line,t.position-t.lineStart))}function st(t,e){throw Gz(t,e)}function Ew(t,e){t.onWarning&&t.onWarning.call(null,Gz(t,e))}var jz={YAML:function(e,r,i){var n,s,o;e.version!==null&&st(e,"duplication of %YAML directive"),i.length!==1&&st(e,"YAML directive accepts exactly one argument"),n=/^([0-9]+)\.([0-9]+)$/.exec(i[0]),n===null&&st(e,"ill-formed argument of the YAML directive"),s=parseInt(n[1],10),o=parseInt(n[2],10),s!==1&&st(e,"unacceptable YAML version of the document"),e.version=i[0],e.checkLineBreaks=o<2,o!==1&&o!==2&&Ew(e,"unsupported YAML version of the document")},TAG:function(e,r,i){var n,s;i.length!==2&&st(e,"TAG directive accepts exactly two arguments"),n=i[0],s=i[1],Tz.test(n)||st(e,"ill-formed tag handle (first argument) of the TAG directive"),QA.call(e.tagMap,n)&&st(e,'there is a previously declared suffix for "'+n+'" tag handle'),Mz.test(s)||st(e,"ill-formed tag prefix (second argument) of the TAG directive"),e.tagMap[n]=s}};function bA(t,e,r,i){var n,s,o,a;if(e1&&(t.result+=Ba.repeat(` +`,e-1))}function nDe(t,e,r){var i,n,s,o,a,l,c,u,g=t.kind,f=t.result,h;if(h=t.input.charCodeAt(t.position),yn(h)||ag(h)||h===35||h===38||h===42||h===33||h===124||h===62||h===39||h===34||h===37||h===64||h===96||(h===63||h===45)&&(n=t.input.charCodeAt(t.position+1),yn(n)||r&&ag(n)))return!1;for(t.kind="scalar",t.result="",s=o=t.position,a=!1;h!==0;){if(h===58){if(n=t.input.charCodeAt(t.position+1),yn(n)||r&&ag(n))break}else if(h===35){if(i=t.input.charCodeAt(t.position-1),yn(i))break}else{if(t.position===t.lineStart&&Iw(t)||r&&ag(h))break;if(wo(h))if(l=t.line,c=t.lineStart,u=t.lineIndent,jr(t,!1,-1),t.lineIndent>=e){a=!0,h=t.input.charCodeAt(t.position);continue}else{t.position=o,t.line=l,t.lineStart=c,t.lineIndent=u;break}}a&&(bA(t,s,o,!1),TP(t,t.line-l),s=o=t.position,a=!1),rc(h)||(o=t.position+1),h=t.input.charCodeAt(++t.position)}return bA(t,s,o,!1),t.result?!0:(t.kind=g,t.result=f,!1)}function sDe(t,e){var r,i,n;if(r=t.input.charCodeAt(t.position),r!==39)return!1;for(t.kind="scalar",t.result="",t.position++,i=n=t.position;(r=t.input.charCodeAt(t.position))!==0;)if(r===39)if(bA(t,i,t.position,!0),r=t.input.charCodeAt(++t.position),r===39)i=t.position,t.position++,n=t.position;else return!0;else wo(r)?(bA(t,i,n,!0),TP(t,jr(t,!1,e)),i=n=t.position):t.position===t.lineStart&&Iw(t)?st(t,"unexpected end of the document within a single quoted scalar"):(t.position++,n=t.position);st(t,"unexpected end of the stream within a single quoted scalar")}function oDe(t,e){var r,i,n,s,o,a;if(a=t.input.charCodeAt(t.position),a!==34)return!1;for(t.kind="scalar",t.result="",t.position++,r=i=t.position;(a=t.input.charCodeAt(t.position))!==0;){if(a===34)return bA(t,r,t.position,!0),t.position++,!0;if(a===92){if(bA(t,r,t.position,!0),a=t.input.charCodeAt(++t.position),wo(a))jr(t,!1,e);else if(a<256&&Uz[a])t.result+=Hz[a],t.position++;else if((o=eDe(a))>0){for(n=o,s=0;n>0;n--)a=t.input.charCodeAt(++t.position),(o=$Pe(a))>=0?s=(s<<4)+o:st(t,"expected hexadecimal character");t.result+=rDe(s),t.position++}else st(t,"unknown escape sequence");r=i=t.position}else wo(a)?(bA(t,r,i,!0),TP(t,jr(t,!1,e)),r=i=t.position):t.position===t.lineStart&&Iw(t)?st(t,"unexpected end of the document within a double quoted scalar"):(t.position++,i=t.position)}st(t,"unexpected end of the stream within a double quoted scalar")}function aDe(t,e){var r=!0,i,n=t.tag,s,o=t.anchor,a,l,c,u,g,f={},h,p,d,m;if(m=t.input.charCodeAt(t.position),m===91)l=93,g=!1,s=[];else if(m===123)l=125,g=!0,s={};else return!1;for(t.anchor!==null&&(t.anchorMap[t.anchor]=s),m=t.input.charCodeAt(++t.position);m!==0;){if(jr(t,!0,e),m=t.input.charCodeAt(t.position),m===l)return t.position++,t.tag=n,t.anchor=o,t.kind=g?"mapping":"sequence",t.result=s,!0;r||st(t,"missed comma between flow collection entries"),p=h=d=null,c=u=!1,m===63&&(a=t.input.charCodeAt(t.position+1),yn(a)&&(c=u=!0,t.position++,jr(t,!0,e))),i=t.line,cg(t,e,Cw,!1,!0),p=t.tag,h=t.result,jr(t,!0,e),m=t.input.charCodeAt(t.position),(u||t.line===i)&&m===58&&(c=!0,m=t.input.charCodeAt(++t.position),jr(t,!0,e),cg(t,e,Cw,!1,!0),d=t.result),g?lg(t,s,f,p,h,d):c?s.push(lg(t,null,f,p,h,d)):s.push(h),jr(t,!0,e),m=t.input.charCodeAt(t.position),m===44?(r=!0,m=t.input.charCodeAt(++t.position)):r=!1}st(t,"unexpected end of the stream within a flow collection")}function ADe(t,e){var r,i,n=NP,s=!1,o=!1,a=e,l=0,c=!1,u,g;if(g=t.input.charCodeAt(t.position),g===124)i=!1;else if(g===62)i=!0;else return!1;for(t.kind="scalar",t.result="";g!==0;)if(g=t.input.charCodeAt(++t.position),g===43||g===45)NP===n?n=g===43?Lz:VPe:st(t,"repeat of a chomping mode identifier");else if((u=tDe(g))>=0)u===0?st(t,"bad explicit indentation width of a block scalar; it cannot be less than one"):o?st(t,"repeat of an indentation width identifier"):(a=e+u-1,o=!0);else break;if(rc(g)){do g=t.input.charCodeAt(++t.position);while(rc(g));if(g===35)do g=t.input.charCodeAt(++t.position);while(!wo(g)&&g!==0)}for(;g!==0;){for(LP(t),t.lineIndent=0,g=t.input.charCodeAt(t.position);(!o||t.lineIndenta&&(a=t.lineIndent),wo(g)){l++;continue}if(t.lineIndente)&&l!==0)st(t,"bad indentation of a sequence entry");else if(t.lineIndente)&&(cg(t,e,mw,!0,n)&&(p?f=t.result:h=t.result),p||(lg(t,c,u,g,f,h,s,o),g=f=h=null),jr(t,!0,-1),m=t.input.charCodeAt(t.position)),t.lineIndent>e&&m!==0)st(t,"bad indentation of a mapping entry");else if(t.lineIndente?l=1:t.lineIndent===e?l=0:t.lineIndente?l=1:t.lineIndent===e?l=0:t.lineIndent tag; it should be "scalar", not "'+t.kind+'"'),g=0,f=t.implicitTypes.length;g tag; it should be "'+h.kind+'", not "'+t.kind+'"'),h.resolve(t.result)?(t.result=h.construct(t.result),t.anchor!==null&&(t.anchorMap[t.anchor]=t.result)):st(t,"cannot resolve a node with !<"+t.tag+"> explicit tag")):st(t,"unknown tag !<"+t.tag+">");return t.listener!==null&&t.listener("close",t),t.tag!==null||t.anchor!==null||u}function fDe(t){var e=t.position,r,i,n,s=!1,o;for(t.version=null,t.checkLineBreaks=t.legacy,t.tagMap={},t.anchorMap={};(o=t.input.charCodeAt(t.position))!==0&&(jr(t,!0,-1),o=t.input.charCodeAt(t.position),!(t.lineIndent>0||o!==37));){for(s=!0,o=t.input.charCodeAt(++t.position),r=t.position;o!==0&&!yn(o);)o=t.input.charCodeAt(++t.position);for(i=t.input.slice(r,t.position),n=[],i.length<1&&st(t,"directive name must not be less than one character in length");o!==0;){for(;rc(o);)o=t.input.charCodeAt(++t.position);if(o===35){do o=t.input.charCodeAt(++t.position);while(o!==0&&!wo(o));break}if(wo(o))break;for(r=t.position;o!==0&&!yn(o);)o=t.input.charCodeAt(++t.position);n.push(t.input.slice(r,t.position))}o!==0&&LP(t),QA.call(jz,i)?jz[i](t,i,n):Ew(t,'unknown document directive "'+i+'"')}if(jr(t,!0,-1),t.lineIndent===0&&t.input.charCodeAt(t.position)===45&&t.input.charCodeAt(t.position+1)===45&&t.input.charCodeAt(t.position+2)===45?(t.position+=3,jr(t,!0,-1)):s&&st(t,"directives end mark is expected"),cg(t,t.lineIndent-1,mw,!1,!0),jr(t,!0,-1),t.checkLineBreaks&&XPe.test(t.input.slice(e,t.position))&&Ew(t,"non-ASCII line breaks are interpreted as content"),t.documents.push(t.result),t.position===t.lineStart&&Iw(t)){t.input.charCodeAt(t.position)===46&&(t.position+=3,jr(t,!0,-1));return}if(t.position{"use strict";var Op=$l(),Kp=ng(),dDe=Tp(),CDe=og(),_z=Object.prototype.toString,Xz=Object.prototype.hasOwnProperty,mDe=9,Up=10,EDe=13,IDe=32,yDe=33,wDe=34,Zz=35,BDe=37,QDe=38,bDe=39,vDe=42,$z=44,SDe=45,e5=58,xDe=61,kDe=62,PDe=63,DDe=64,t5=91,r5=93,RDe=96,i5=123,FDe=124,n5=125,Ri={};Ri[0]="\\0";Ri[7]="\\a";Ri[8]="\\b";Ri[9]="\\t";Ri[10]="\\n";Ri[11]="\\v";Ri[12]="\\f";Ri[13]="\\r";Ri[27]="\\e";Ri[34]='\\"';Ri[92]="\\\\";Ri[133]="\\N";Ri[160]="\\_";Ri[8232]="\\L";Ri[8233]="\\P";var NDe=["y","Y","yes","Yes","YES","on","On","ON","n","N","no","No","NO","off","Off","OFF"];function LDe(t,e){var r,i,n,s,o,a,l;if(e===null)return{};for(r={},i=Object.keys(e),n=0,s=i.length;n0?t.charCodeAt(s-1):null,f=f&&a5(o,a)}else{for(s=0;si&&t[g+1]!==" ",g=s);else if(!ug(o))return yw;a=s>0?t.charCodeAt(s-1):null,f=f&&a5(o,a)}c=c||u&&s-g-1>i&&t[g+1]!==" "}return!l&&!c?f&&!n(t)?l5:c5:r>9&&A5(t)?yw:c?g5:u5}function jDe(t,e,r,i){t.dump=function(){if(e.length===0)return"''";if(!t.noCompatMode&&NDe.indexOf(e)!==-1)return"'"+e+"'";var n=t.indent*Math.max(1,r),s=t.lineWidth===-1?-1:Math.max(Math.min(t.lineWidth,40),t.lineWidth-n),o=i||t.flowLevel>-1&&r>=t.flowLevel;function a(l){return MDe(t,l)}switch(UDe(e,o,t.indent,s,a)){case l5:return e;case c5:return"'"+e.replace(/'/g,"''")+"'";case u5:return"|"+f5(e,t.indent)+h5(o5(e,n));case g5:return">"+f5(e,t.indent)+h5(o5(HDe(e,s),n));case yw:return'"'+GDe(e,s)+'"';default:throw new Kp("impossible error: invalid scalar style")}}()}function f5(t,e){var r=A5(t)?String(e):"",i=t[t.length-1]===` +`,n=i&&(t[t.length-2]===` +`||t===` +`),s=n?"+":i?"":"-";return r+s+` +`}function h5(t){return t[t.length-1]===` +`?t.slice(0,-1):t}function HDe(t,e){for(var r=/(\n+)([^\n]*)/g,i=function(){var c=t.indexOf(` +`);return c=c!==-1?c:t.length,r.lastIndex=c,p5(t.slice(0,c),e)}(),n=t[0]===` +`||t[0]===" ",s,o;o=r.exec(t);){var a=o[1],l=o[2];s=l[0]===" ",i+=a+(!n&&!s&&l!==""?` +`:"")+p5(l,e),n=s}return i}function p5(t,e){if(t===""||t[0]===" ")return t;for(var r=/ [^ ]/g,i,n=0,s,o=0,a=0,l="";i=r.exec(t);)a=i.index,a-n>e&&(s=o>n?o:a,l+=` +`+t.slice(n,s),n=s+1),o=a;return l+=` +`,t.length-n>e&&o>n?l+=t.slice(n,o)+` +`+t.slice(o+1):l+=t.slice(n),l.slice(1)}function GDe(t){for(var e="",r,i,n,s=0;s=55296&&r<=56319&&(i=t.charCodeAt(s+1),i>=56320&&i<=57343)){e+=s5((r-55296)*1024+i-56320+65536),s++;continue}n=Ri[r],e+=!n&&ug(r)?t[s]:n||s5(r)}return e}function YDe(t,e,r){var i="",n=t.tag,s,o;for(s=0,o=r.length;s1024&&(u+="? "),u+=t.dump+(t.condenseFlow?'"':"")+":"+(t.condenseFlow?"":" "),!!ic(t,e,c,!1,!1)&&(u+=t.dump,i+=u));t.tag=n,t.dump="{"+i+"}"}function WDe(t,e,r,i){var n="",s=t.tag,o=Object.keys(r),a,l,c,u,g,f;if(t.sortKeys===!0)o.sort();else if(typeof t.sortKeys=="function")o.sort(t.sortKeys);else if(t.sortKeys)throw new Kp("sortKeys must be a boolean or a function");for(a=0,l=o.length;a1024,g&&(t.dump&&Up===t.dump.charCodeAt(0)?f+="?":f+="? "),f+=t.dump,g&&(f+=OP(t,e)),!!ic(t,e+1,u,!0,g)&&(t.dump&&Up===t.dump.charCodeAt(0)?f+=":":f+=": ",f+=t.dump,n+=f));t.tag=s,t.dump=n||"{}"}function d5(t,e,r){var i,n,s,o,a,l;for(n=r?t.explicitTypes:t.implicitTypes,s=0,o=n.length;s tag resolver accepts not "'+l+'" style');t.dump=i}return!0}return!1}function ic(t,e,r,i,n,s){t.tag=null,t.dump=r,d5(t,r,!1)||d5(t,r,!0);var o=_z.call(t.dump);i&&(i=t.flowLevel<0||t.flowLevel>e);var a=o==="[object Object]"||o==="[object Array]",l,c;if(a&&(l=t.duplicates.indexOf(r),c=l!==-1),(t.tag!==null&&t.tag!=="?"||c||t.indent!==2&&e>0)&&(n=!1),c&&t.usedDuplicates[l])t.dump="*ref_"+l;else{if(a&&c&&!t.usedDuplicates[l]&&(t.usedDuplicates[l]=!0),o==="[object Object]")i&&Object.keys(t.dump).length!==0?(WDe(t,e,t.dump,n),c&&(t.dump="&ref_"+l+t.dump)):(JDe(t,e,t.dump),c&&(t.dump="&ref_"+l+" "+t.dump));else if(o==="[object Array]"){var u=t.noArrayIndent&&e>0?e-1:e;i&&t.dump.length!==0?(qDe(t,u,t.dump,n),c&&(t.dump="&ref_"+l+t.dump)):(YDe(t,u,t.dump),c&&(t.dump="&ref_"+l+" "+t.dump))}else if(o==="[object String]")t.tag!=="?"&&jDe(t,t.dump,e,s);else{if(t.skipInvalid)return!1;throw new Kp("unacceptable kind of an object to dump "+o)}t.tag!==null&&t.tag!=="?"&&(t.dump="!<"+t.tag+"> "+t.dump)}return!0}function zDe(t,e){var r=[],i=[],n,s;for(UP(t,r,i),n=0,s=i.length;n{"use strict";var ww=Vz(),E5=m5();function Bw(t){return function(){throw new Error("Function "+t+" is deprecated and cannot be used.")}}Qr.exports.Type=Xr();Qr.exports.Schema=ec();Qr.exports.FAILSAFE_SCHEMA=pw();Qr.exports.JSON_SCHEMA=DP();Qr.exports.CORE_SCHEMA=RP();Qr.exports.DEFAULT_SAFE_SCHEMA=og();Qr.exports.DEFAULT_FULL_SCHEMA=Tp();Qr.exports.load=ww.load;Qr.exports.loadAll=ww.loadAll;Qr.exports.safeLoad=ww.safeLoad;Qr.exports.safeLoadAll=ww.safeLoadAll;Qr.exports.dump=E5.dump;Qr.exports.safeDump=E5.safeDump;Qr.exports.YAMLException=ng();Qr.exports.MINIMAL_SCHEMA=pw();Qr.exports.SAFE_SCHEMA=og();Qr.exports.DEFAULT_SCHEMA=Tp();Qr.exports.scan=Bw("scan");Qr.exports.parse=Bw("parse");Qr.exports.compose=Bw("compose");Qr.exports.addConstructor=Bw("addConstructor")});var w5=E((wat,y5)=>{"use strict";var _De=I5();y5.exports=_De});var Q5=E((Bat,B5)=>{"use strict";function XDe(t,e){function r(){this.constructor=t}r.prototype=e.prototype,t.prototype=new r}function nc(t,e,r,i){this.message=t,this.expected=e,this.found=r,this.location=i,this.name="SyntaxError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,nc)}XDe(nc,Error);nc.buildMessage=function(t,e){var r={literal:function(c){return'"'+n(c.text)+'"'},class:function(c){var u="",g;for(g=0;g0){for(g=1,f=1;g({[xe]:le})))},H=function(x){return x},L=function(x){return x},K=Yo("correct indentation"),J=" ",ne=fr(" ",!1),q=function(x){return x.length===Zc*aE},A=function(x){return x.length===(Zc+1)*aE},V=function(){return Zc++,!0},W=function(){return Zc--,!0},X=function(){return Xm()},F=Yo("pseudostring"),D=/^[^\r\n\t ?:,\][{}#&*!|>'"%@`\-]/,he=Bs(["\r",` +`," "," ","?",":",",","]","[","{","}","#","&","*","!","|",">","'",'"',"%","@","`","-"],!0,!1),pe=/^[^\r\n\t ,\][{}:#"']/,Ne=Bs(["\r",` +`," "," ",",","]","[","{","}",":","#",'"',"'"],!0,!1),Pe=function(){return Xm().replace(/^ *| *$/g,"")},qe="--",re=fr("--",!1),se=/^[a-zA-Z\/0-9]/,be=Bs([["a","z"],["A","Z"],"/",["0","9"]],!1,!1),ae=/^[^\r\n\t :,]/,Ae=Bs(["\r",` +`," "," ",":",","],!0,!1),De="null",$=fr("null",!1),G=function(){return null},Ce="true",ee=fr("true",!1),Ue=function(){return!0},Oe="false",vt=fr("false",!1),dt=function(){return!1},ri=Yo("string"),ii='"',an=fr('"',!1),yr=function(){return""},Ki=function(x){return x},Qi=function(x){return x.join("")},Go=/^[^"\\\0-\x1F\x7F]/,wr=Bs(['"',"\\",["\0",""],"\x7F"],!0,!1),Ui='\\"',ws=fr('\\"',!1),Tf=function(){return'"'},Mf="\\\\",Rm=fr("\\\\",!1),Fm=function(){return"\\"},Nm="\\/",DQ=fr("\\/",!1),RQ=function(){return"/"},Of="\\b",FQ=fr("\\b",!1),NQ=function(){return"\b"},Lm="\\f",LQ=fr("\\f",!1),Va=function(){return"\f"},jo="\\n",Tm=fr("\\n",!1),Mm=function(){return` +`},te="\\r",Om=fr("\\r",!1),Km=function(){return"\r"},il="\\t",Um=fr("\\t",!1),Hm=function(){return" "},Kf="\\u",Gm=fr("\\u",!1),jm=function(x,U,le,xe){return String.fromCharCode(parseInt(`0x${x}${U}${le}${xe}`))},TQ=/^[0-9a-fA-F]/,MQ=Bs([["0","9"],["a","f"],["A","F"]],!1,!1),Ym=Yo("blank space"),qm=/^[ \t]/,Jm=Bs([" "," "],!1,!1),Wm=Yo("white space"),zm=/^[ \t\n\r]/,Vm=Bs([" "," ",` +`,"\r"],!1,!1),Uf=`\r +`,OQ=fr(`\r +`,!1),KQ=` +`,_m=fr(` +`,!1),UQ="\r",HQ=fr("\r",!1),O=0,ht=0,Vc=[{line:1,column:1}],xn=0,Hf=[],Ye=0,nl;if("startRule"in e){if(!(e.startRule in i))throw new Error(`Can't start parsing from rule "`+e.startRule+'".');n=i[e.startRule]}function Xm(){return t.substring(ht,O)}function MM(){return _a(ht,O)}function GQ(x,U){throw U=U!==void 0?U:_a(ht,O),eE([Yo(x)],t.substring(ht,O),U)}function OM(x,U){throw U=U!==void 0?U:_a(ht,O),YQ(x,U)}function fr(x,U){return{type:"literal",text:x,ignoreCase:U}}function Bs(x,U,le){return{type:"class",parts:x,inverted:U,ignoreCase:le}}function jQ(){return{type:"any"}}function Zm(){return{type:"end"}}function Yo(x){return{type:"other",description:x}}function $m(x){var U=Vc[x],le;if(U)return U;for(le=x-1;!Vc[le];)le--;for(U=Vc[le],U={line:U.line,column:U.column};lexn&&(xn=O,Hf=[]),Hf.push(x))}function YQ(x,U){return new nc(x,null,null,U)}function eE(x,U,le){return new nc(nc.buildMessage(x,U),x,U,le)}function tE(){var x;return x=ol(),x}function Xa(){var x,U,le;for(x=O,U=[],le=sl();le!==r;)U.push(le),le=sl();return U!==r&&(ht=x,U=s(U)),x=U,x}function sl(){var x,U,le,xe,Qe;return x=O,U=Al(),U!==r?(t.charCodeAt(O)===45?(le=o,O++):(le=r,Ye===0&&et(a)),le!==r?(xe=xr(),xe!==r?(Qe=qo(),Qe!==r?(ht=x,U=l(Qe),x=U):(O=x,x=r)):(O=x,x=r)):(O=x,x=r)):(O=x,x=r),x}function ol(){var x,U,le;for(x=O,U=[],le=al();le!==r;)U.push(le),le=al();return U!==r&&(ht=x,U=c(U)),x=U,x}function al(){var x,U,le,xe,Qe,Ge,ct,sr,Wo;if(x=O,U=xr(),U===r&&(U=null),U!==r){if(le=O,t.charCodeAt(O)===35?(xe=u,O++):(xe=r,Ye===0&&et(g)),xe!==r){if(Qe=[],Ge=O,ct=O,Ye++,sr=Zs(),Ye--,sr===r?ct=void 0:(O=ct,ct=r),ct!==r?(t.length>O?(sr=t.charAt(O),O++):(sr=r,Ye===0&&et(f)),sr!==r?(ct=[ct,sr],Ge=ct):(O=Ge,Ge=r)):(O=Ge,Ge=r),Ge!==r)for(;Ge!==r;)Qe.push(Ge),Ge=O,ct=O,Ye++,sr=Zs(),Ye--,sr===r?ct=void 0:(O=ct,ct=r),ct!==r?(t.length>O?(sr=t.charAt(O),O++):(sr=r,Ye===0&&et(f)),sr!==r?(ct=[ct,sr],Ge=ct):(O=Ge,Ge=r)):(O=Ge,Ge=r);else Qe=r;Qe!==r?(xe=[xe,Qe],le=xe):(O=le,le=r)}else O=le,le=r;if(le===r&&(le=null),le!==r){if(xe=[],Qe=Jo(),Qe!==r)for(;Qe!==r;)xe.push(Qe),Qe=Jo();else xe=r;xe!==r?(ht=x,U=h(),x=U):(O=x,x=r)}else O=x,x=r}else O=x,x=r;if(x===r&&(x=O,U=Al(),U!==r?(le=JQ(),le!==r?(xe=xr(),xe===r&&(xe=null),xe!==r?(t.charCodeAt(O)===58?(Qe=p,O++):(Qe=r,Ye===0&&et(d)),Qe!==r?(Ge=xr(),Ge===r&&(Ge=null),Ge!==r?(ct=qo(),ct!==r?(ht=x,U=m(le,ct),x=U):(O=x,x=r)):(O=x,x=r)):(O=x,x=r)):(O=x,x=r)):(O=x,x=r)):(O=x,x=r),x===r&&(x=O,U=Al(),U!==r?(le=ll(),le!==r?(xe=xr(),xe===r&&(xe=null),xe!==r?(t.charCodeAt(O)===58?(Qe=p,O++):(Qe=r,Ye===0&&et(d)),Qe!==r?(Ge=xr(),Ge===r&&(Ge=null),Ge!==r?(ct=qo(),ct!==r?(ht=x,U=m(le,ct),x=U):(O=x,x=r)):(O=x,x=r)):(O=x,x=r)):(O=x,x=r)):(O=x,x=r)):(O=x,x=r),x===r))){if(x=O,U=Al(),U!==r)if(le=ll(),le!==r)if(xe=xr(),xe!==r)if(Qe=nE(),Qe!==r){if(Ge=[],ct=Jo(),ct!==r)for(;ct!==r;)Ge.push(ct),ct=Jo();else Ge=r;Ge!==r?(ht=x,U=m(le,Qe),x=U):(O=x,x=r)}else O=x,x=r;else O=x,x=r;else O=x,x=r;else O=x,x=r;if(x===r)if(x=O,U=Al(),U!==r)if(le=ll(),le!==r){if(xe=[],Qe=O,Ge=xr(),Ge===r&&(Ge=null),Ge!==r?(t.charCodeAt(O)===44?(ct=I,O++):(ct=r,Ye===0&&et(B)),ct!==r?(sr=xr(),sr===r&&(sr=null),sr!==r?(Wo=ll(),Wo!==r?(ht=Qe,Ge=b(le,Wo),Qe=Ge):(O=Qe,Qe=r)):(O=Qe,Qe=r)):(O=Qe,Qe=r)):(O=Qe,Qe=r),Qe!==r)for(;Qe!==r;)xe.push(Qe),Qe=O,Ge=xr(),Ge===r&&(Ge=null),Ge!==r?(t.charCodeAt(O)===44?(ct=I,O++):(ct=r,Ye===0&&et(B)),ct!==r?(sr=xr(),sr===r&&(sr=null),sr!==r?(Wo=ll(),Wo!==r?(ht=Qe,Ge=b(le,Wo),Qe=Ge):(O=Qe,Qe=r)):(O=Qe,Qe=r)):(O=Qe,Qe=r)):(O=Qe,Qe=r);else xe=r;xe!==r?(Qe=xr(),Qe===r&&(Qe=null),Qe!==r?(t.charCodeAt(O)===58?(Ge=p,O++):(Ge=r,Ye===0&&et(d)),Ge!==r?(ct=xr(),ct===r&&(ct=null),ct!==r?(sr=qo(),sr!==r?(ht=x,U=R(le,xe,sr),x=U):(O=x,x=r)):(O=x,x=r)):(O=x,x=r)):(O=x,x=r)):(O=x,x=r)}else O=x,x=r;else O=x,x=r}return x}function qo(){var x,U,le,xe,Qe,Ge,ct;if(x=O,U=O,Ye++,le=O,xe=Zs(),xe!==r?(Qe=qQ(),Qe!==r?(t.charCodeAt(O)===45?(Ge=o,O++):(Ge=r,Ye===0&&et(a)),Ge!==r?(ct=xr(),ct!==r?(xe=[xe,Qe,Ge,ct],le=xe):(O=le,le=r)):(O=le,le=r)):(O=le,le=r)):(O=le,le=r),Ye--,le!==r?(O=U,U=void 0):U=r,U!==r?(le=Jo(),le!==r?(xe=rE(),xe!==r?(Qe=Xa(),Qe!==r?(Ge=iE(),Ge!==r?(ht=x,U=H(Qe),x=U):(O=x,x=r)):(O=x,x=r)):(O=x,x=r)):(O=x,x=r)):(O=x,x=r),x===r&&(x=O,U=Zs(),U!==r?(le=rE(),le!==r?(xe=ol(),xe!==r?(Qe=iE(),Qe!==r?(ht=x,U=H(xe),x=U):(O=x,x=r)):(O=x,x=r)):(O=x,x=r)):(O=x,x=r),x===r))if(x=O,U=WQ(),U!==r){if(le=[],xe=Jo(),xe!==r)for(;xe!==r;)le.push(xe),xe=Jo();else le=r;le!==r?(ht=x,U=L(U),x=U):(O=x,x=r)}else O=x,x=r;return x}function Al(){var x,U,le;for(Ye++,x=O,U=[],t.charCodeAt(O)===32?(le=J,O++):(le=r,Ye===0&&et(ne));le!==r;)U.push(le),t.charCodeAt(O)===32?(le=J,O++):(le=r,Ye===0&&et(ne));return U!==r?(ht=O,le=q(U),le?le=void 0:le=r,le!==r?(U=[U,le],x=U):(O=x,x=r)):(O=x,x=r),Ye--,x===r&&(U=r,Ye===0&&et(K)),x}function qQ(){var x,U,le;for(x=O,U=[],t.charCodeAt(O)===32?(le=J,O++):(le=r,Ye===0&&et(ne));le!==r;)U.push(le),t.charCodeAt(O)===32?(le=J,O++):(le=r,Ye===0&&et(ne));return U!==r?(ht=O,le=A(U),le?le=void 0:le=r,le!==r?(U=[U,le],x=U):(O=x,x=r)):(O=x,x=r),x}function rE(){var x;return ht=O,x=V(),x?x=void 0:x=r,x}function iE(){var x;return ht=O,x=W(),x?x=void 0:x=r,x}function JQ(){var x;return x=cl(),x===r&&(x=Gf()),x}function ll(){var x,U,le;if(x=cl(),x===r){if(x=O,U=[],le=_c(),le!==r)for(;le!==r;)U.push(le),le=_c();else U=r;U!==r&&(ht=x,U=X()),x=U}return x}function WQ(){var x;return x=jf(),x===r&&(x=sE(),x===r&&(x=cl(),x===r&&(x=Gf()))),x}function nE(){var x;return x=jf(),x===r&&(x=cl(),x===r&&(x=_c())),x}function Gf(){var x,U,le,xe,Qe,Ge;if(Ye++,x=O,D.test(t.charAt(O))?(U=t.charAt(O),O++):(U=r,Ye===0&&et(he)),U!==r){for(le=[],xe=O,Qe=xr(),Qe===r&&(Qe=null),Qe!==r?(pe.test(t.charAt(O))?(Ge=t.charAt(O),O++):(Ge=r,Ye===0&&et(Ne)),Ge!==r?(Qe=[Qe,Ge],xe=Qe):(O=xe,xe=r)):(O=xe,xe=r);xe!==r;)le.push(xe),xe=O,Qe=xr(),Qe===r&&(Qe=null),Qe!==r?(pe.test(t.charAt(O))?(Ge=t.charAt(O),O++):(Ge=r,Ye===0&&et(Ne)),Ge!==r?(Qe=[Qe,Ge],xe=Qe):(O=xe,xe=r)):(O=xe,xe=r);le!==r?(ht=x,U=Pe(),x=U):(O=x,x=r)}else O=x,x=r;return Ye--,x===r&&(U=r,Ye===0&&et(F)),x}function _c(){var x,U,le,xe,Qe;if(x=O,t.substr(O,2)===qe?(U=qe,O+=2):(U=r,Ye===0&&et(re)),U===r&&(U=null),U!==r)if(se.test(t.charAt(O))?(le=t.charAt(O),O++):(le=r,Ye===0&&et(be)),le!==r){for(xe=[],ae.test(t.charAt(O))?(Qe=t.charAt(O),O++):(Qe=r,Ye===0&&et(Ae));Qe!==r;)xe.push(Qe),ae.test(t.charAt(O))?(Qe=t.charAt(O),O++):(Qe=r,Ye===0&&et(Ae));xe!==r?(ht=x,U=Pe(),x=U):(O=x,x=r)}else O=x,x=r;else O=x,x=r;return x}function jf(){var x,U;return x=O,t.substr(O,4)===De?(U=De,O+=4):(U=r,Ye===0&&et($)),U!==r&&(ht=x,U=G()),x=U,x}function sE(){var x,U;return x=O,t.substr(O,4)===Ce?(U=Ce,O+=4):(U=r,Ye===0&&et(ee)),U!==r&&(ht=x,U=Ue()),x=U,x===r&&(x=O,t.substr(O,5)===Oe?(U=Oe,O+=5):(U=r,Ye===0&&et(vt)),U!==r&&(ht=x,U=dt()),x=U),x}function cl(){var x,U,le,xe;return Ye++,x=O,t.charCodeAt(O)===34?(U=ii,O++):(U=r,Ye===0&&et(an)),U!==r?(t.charCodeAt(O)===34?(le=ii,O++):(le=r,Ye===0&&et(an)),le!==r?(ht=x,U=yr(),x=U):(O=x,x=r)):(O=x,x=r),x===r&&(x=O,t.charCodeAt(O)===34?(U=ii,O++):(U=r,Ye===0&&et(an)),U!==r?(le=oE(),le!==r?(t.charCodeAt(O)===34?(xe=ii,O++):(xe=r,Ye===0&&et(an)),xe!==r?(ht=x,U=Ki(le),x=U):(O=x,x=r)):(O=x,x=r)):(O=x,x=r)),Ye--,x===r&&(U=r,Ye===0&&et(ri)),x}function oE(){var x,U,le;if(x=O,U=[],le=Yf(),le!==r)for(;le!==r;)U.push(le),le=Yf();else U=r;return U!==r&&(ht=x,U=Qi(U)),x=U,x}function Yf(){var x,U,le,xe,Qe,Ge;return Go.test(t.charAt(O))?(x=t.charAt(O),O++):(x=r,Ye===0&&et(wr)),x===r&&(x=O,t.substr(O,2)===Ui?(U=Ui,O+=2):(U=r,Ye===0&&et(ws)),U!==r&&(ht=x,U=Tf()),x=U,x===r&&(x=O,t.substr(O,2)===Mf?(U=Mf,O+=2):(U=r,Ye===0&&et(Rm)),U!==r&&(ht=x,U=Fm()),x=U,x===r&&(x=O,t.substr(O,2)===Nm?(U=Nm,O+=2):(U=r,Ye===0&&et(DQ)),U!==r&&(ht=x,U=RQ()),x=U,x===r&&(x=O,t.substr(O,2)===Of?(U=Of,O+=2):(U=r,Ye===0&&et(FQ)),U!==r&&(ht=x,U=NQ()),x=U,x===r&&(x=O,t.substr(O,2)===Lm?(U=Lm,O+=2):(U=r,Ye===0&&et(LQ)),U!==r&&(ht=x,U=Va()),x=U,x===r&&(x=O,t.substr(O,2)===jo?(U=jo,O+=2):(U=r,Ye===0&&et(Tm)),U!==r&&(ht=x,U=Mm()),x=U,x===r&&(x=O,t.substr(O,2)===te?(U=te,O+=2):(U=r,Ye===0&&et(Om)),U!==r&&(ht=x,U=Km()),x=U,x===r&&(x=O,t.substr(O,2)===il?(U=il,O+=2):(U=r,Ye===0&&et(Um)),U!==r&&(ht=x,U=Hm()),x=U,x===r&&(x=O,t.substr(O,2)===Kf?(U=Kf,O+=2):(U=r,Ye===0&&et(Gm)),U!==r?(le=Xc(),le!==r?(xe=Xc(),xe!==r?(Qe=Xc(),Qe!==r?(Ge=Xc(),Ge!==r?(ht=x,U=jm(le,xe,Qe,Ge),x=U):(O=x,x=r)):(O=x,x=r)):(O=x,x=r)):(O=x,x=r)):(O=x,x=r)))))))))),x}function Xc(){var x;return TQ.test(t.charAt(O))?(x=t.charAt(O),O++):(x=r,Ye===0&&et(MQ)),x}function xr(){var x,U;if(Ye++,x=[],qm.test(t.charAt(O))?(U=t.charAt(O),O++):(U=r,Ye===0&&et(Jm)),U!==r)for(;U!==r;)x.push(U),qm.test(t.charAt(O))?(U=t.charAt(O),O++):(U=r,Ye===0&&et(Jm));else x=r;return Ye--,x===r&&(U=r,Ye===0&&et(Ym)),x}function KM(){var x,U;if(Ye++,x=[],zm.test(t.charAt(O))?(U=t.charAt(O),O++):(U=r,Ye===0&&et(Vm)),U!==r)for(;U!==r;)x.push(U),zm.test(t.charAt(O))?(U=t.charAt(O),O++):(U=r,Ye===0&&et(Vm));else x=r;return Ye--,x===r&&(U=r,Ye===0&&et(Wm)),x}function Jo(){var x,U,le,xe,Qe,Ge;if(x=O,U=Zs(),U!==r){for(le=[],xe=O,Qe=xr(),Qe===r&&(Qe=null),Qe!==r?(Ge=Zs(),Ge!==r?(Qe=[Qe,Ge],xe=Qe):(O=xe,xe=r)):(O=xe,xe=r);xe!==r;)le.push(xe),xe=O,Qe=xr(),Qe===r&&(Qe=null),Qe!==r?(Ge=Zs(),Ge!==r?(Qe=[Qe,Ge],xe=Qe):(O=xe,xe=r)):(O=xe,xe=r);le!==r?(U=[U,le],x=U):(O=x,x=r)}else O=x,x=r;return x}function Zs(){var x;return t.substr(O,2)===Uf?(x=Uf,O+=2):(x=r,Ye===0&&et(OQ)),x===r&&(t.charCodeAt(O)===10?(x=KQ,O++):(x=r,Ye===0&&et(_m)),x===r&&(t.charCodeAt(O)===13?(x=UQ,O++):(x=r,Ye===0&&et(HQ)))),x}let aE=2,Zc=0;if(nl=n(),nl!==r&&O===t.length)return nl;throw nl!==r&&O{var fRe=typeof global=="object"&&global&&global.Object===Object&&global;V5.exports=fRe});var Ks=E((Zat,_5)=>{var hRe=WP(),pRe=typeof self=="object"&&self&&self.Object===Object&&self,dRe=hRe||pRe||Function("return this")();_5.exports=dRe});var ac=E(($at,X5)=>{var CRe=Ks(),mRe=CRe.Symbol;X5.exports=mRe});var $5=E((eAt,Z5)=>{function ERe(t,e){for(var r=-1,i=t==null?0:t.length,n=Array(i);++r{var IRe=Array.isArray;e6.exports=IRe});var n6=E((rAt,t6)=>{var r6=ac(),i6=Object.prototype,yRe=i6.hasOwnProperty,wRe=i6.toString,Jp=r6?r6.toStringTag:void 0;function BRe(t){var e=yRe.call(t,Jp),r=t[Jp];try{t[Jp]=void 0;var i=!0}catch(s){}var n=wRe.call(t);return i&&(e?t[Jp]=r:delete t[Jp]),n}t6.exports=BRe});var o6=E((iAt,s6)=>{var QRe=Object.prototype,bRe=QRe.toString;function vRe(t){return bRe.call(t)}s6.exports=vRe});var Ac=E((nAt,a6)=>{var A6=ac(),SRe=n6(),xRe=o6(),kRe="[object Null]",PRe="[object Undefined]",l6=A6?A6.toStringTag:void 0;function DRe(t){return t==null?t===void 0?PRe:kRe:l6&&l6 in Object(t)?SRe(t):xRe(t)}a6.exports=DRe});var Qo=E((sAt,c6)=>{function RRe(t){return t!=null&&typeof t=="object"}c6.exports=RRe});var Nw=E((oAt,u6)=>{var FRe=Ac(),NRe=Qo(),LRe="[object Symbol]";function TRe(t){return typeof t=="symbol"||NRe(t)&&FRe(t)==LRe}u6.exports=TRe});var C6=E((aAt,g6)=>{var f6=ac(),MRe=$5(),ORe=As(),KRe=Nw(),URe=1/0,h6=f6?f6.prototype:void 0,p6=h6?h6.toString:void 0;function d6(t){if(typeof t=="string")return t;if(ORe(t))return MRe(t,d6)+"";if(KRe(t))return p6?p6.call(t):"";var e=t+"";return e=="0"&&1/t==-URe?"-0":e}g6.exports=d6});var gg=E((AAt,m6)=>{var HRe=C6();function GRe(t){return t==null?"":HRe(t)}m6.exports=GRe});var zP=E((lAt,E6)=>{function jRe(t,e,r){var i=-1,n=t.length;e<0&&(e=-e>n?0:n+e),r=r>n?n:r,r<0&&(r+=n),n=e>r?0:r-e>>>0,e>>>=0;for(var s=Array(n);++i{var YRe=zP();function qRe(t,e,r){var i=t.length;return r=r===void 0?i:r,!e&&r>=i?t:YRe(t,e,r)}I6.exports=qRe});var VP=E((uAt,w6)=>{var JRe="\\ud800-\\udfff",WRe="\\u0300-\\u036f",zRe="\\ufe20-\\ufe2f",VRe="\\u20d0-\\u20ff",_Re=WRe+zRe+VRe,XRe="\\ufe0e\\ufe0f",ZRe="\\u200d",$Re=RegExp("["+ZRe+JRe+_Re+XRe+"]");function eFe(t){return $Re.test(t)}w6.exports=eFe});var Q6=E((gAt,B6)=>{function tFe(t){return t.split("")}B6.exports=tFe});var R6=E((fAt,b6)=>{var v6="\\ud800-\\udfff",rFe="\\u0300-\\u036f",iFe="\\ufe20-\\ufe2f",nFe="\\u20d0-\\u20ff",sFe=rFe+iFe+nFe,oFe="\\ufe0e\\ufe0f",aFe="["+v6+"]",_P="["+sFe+"]",XP="\\ud83c[\\udffb-\\udfff]",AFe="(?:"+_P+"|"+XP+")",S6="[^"+v6+"]",x6="(?:\\ud83c[\\udde6-\\uddff]){2}",k6="[\\ud800-\\udbff][\\udc00-\\udfff]",lFe="\\u200d",P6=AFe+"?",D6="["+oFe+"]?",cFe="(?:"+lFe+"(?:"+[S6,x6,k6].join("|")+")"+D6+P6+")*",uFe=D6+P6+cFe,gFe="(?:"+[S6+_P+"?",_P,x6,k6,aFe].join("|")+")",fFe=RegExp(XP+"(?="+XP+")|"+gFe+uFe,"g");function hFe(t){return t.match(fFe)||[]}b6.exports=hFe});var N6=E((hAt,F6)=>{var pFe=Q6(),dFe=VP(),CFe=R6();function mFe(t){return dFe(t)?CFe(t):pFe(t)}F6.exports=mFe});var T6=E((pAt,L6)=>{var EFe=y6(),IFe=VP(),yFe=N6(),wFe=gg();function BFe(t){return function(e){e=wFe(e);var r=IFe(e)?yFe(e):void 0,i=r?r[0]:e.charAt(0),n=r?EFe(r,1).join(""):e.slice(1);return i[t]()+n}}L6.exports=BFe});var O6=E((dAt,M6)=>{var QFe=T6(),bFe=QFe("toUpperCase");M6.exports=bFe});var ZP=E((CAt,K6)=>{var vFe=gg(),SFe=O6();function xFe(t){return SFe(vFe(t).toLowerCase())}K6.exports=xFe});var H6=E((mAt,U6)=>{"use strict";U6.exports=(t,...e)=>new Promise(r=>{r(t(...e))})});var Wp=E((EAt,$P)=>{"use strict";var kFe=H6(),G6=t=>{if(t<1)throw new TypeError("Expected `concurrency` to be a number from 1 and up");let e=[],r=0,i=()=>{r--,e.length>0&&e.shift()()},n=(a,l,...c)=>{r++;let u=kFe(a,...c);l(u),u.then(i,i)},s=(a,l,...c)=>{rnew Promise(c=>s(a,c,...l));return Object.defineProperties(o,{activeCount:{get:()=>r},pendingCount:{get:()=>e.length}}),o};$P.exports=G6;$P.exports.default=G6});var X6=E((FAt,Mw)=>{function PFe(){var t=0,e=1,r=2,i=3,n=4,s=5,o=6,a=7,l=8,c=9,u=10,g=11,f=12,h=13,p=14,d=15,m=16,I=17,B=0,b=1,R=2,H=3,L=4;function K(A,V){return 55296<=A.charCodeAt(V)&&A.charCodeAt(V)<=56319&&56320<=A.charCodeAt(V+1)&&A.charCodeAt(V+1)<=57343}function J(A,V){V===void 0&&(V=0);var W=A.charCodeAt(V);if(55296<=W&&W<=56319&&V=1){var X=A.charCodeAt(V-1),F=W;return 55296<=X&&X<=56319?(X-55296)*1024+(F-56320)+65536:F}return W}function ne(A,V,W){var X=[A].concat(V).concat([W]),F=X[X.length-2],D=W,he=X.lastIndexOf(p);if(he>1&&X.slice(1,he).every(function(Pe){return Pe==i})&&[i,h,I].indexOf(A)==-1)return R;var pe=X.lastIndexOf(n);if(pe>0&&X.slice(1,pe).every(function(Pe){return Pe==n})&&[f,n].indexOf(F)==-1)return X.filter(function(Pe){return Pe==n}).length%2==1?H:L;if(F==t&&D==e)return B;if(F==r||F==t||F==e)return D==p&&V.every(function(Pe){return Pe==i})?R:b;if(D==r||D==t||D==e)return b;if(F==o&&(D==o||D==a||D==c||D==u))return B;if((F==c||F==a)&&(D==a||D==l))return B;if((F==u||F==l)&&D==l)return B;if(D==i||D==d)return B;if(D==s)return B;if(F==f)return B;var Ne=X.indexOf(i)!=-1?X.lastIndexOf(i)-1:X.length-2;return[h,I].indexOf(X[Ne])!=-1&&X.slice(Ne+1,-1).every(function(Pe){return Pe==i})&&D==p||F==d&&[m,I].indexOf(D)!=-1?B:V.indexOf(n)!=-1?R:F==n&&D==n?B:b}this.nextBreak=function(A,V){if(V===void 0&&(V=0),V<0)return 0;if(V>=A.length-1)return A.length;for(var W=q(J(A,V)),X=[],F=V+1;F{var DFe=X6(),RFe=/^(.*?)(\x1b\[[^m]+m|\x1b\]8;;.*?(\x1b\\|\u0007))/,FFe=new DFe;Z6.exports=(t,e=0,r=t.length)=>{if(e<0||r<0)throw new RangeError("Negative indices aren't supported by this implementation");let i=r-e,n="",s=0,o=0;for(;t.length>0;){let a=t.match(RFe)||[t,t,void 0],l=FFe.splitGraphemes(a[1]),c=Math.min(e-s,l.length);l=l.slice(c);let u=Math.min(i-o,l.length);n+=l.slice(0,u).join(""),s+=c,o+=u,typeof a[2]!="undefined"&&(n+=a[2]),t=t.slice(a[0].length)}return n}});var fg=E((alt,f9)=>{"use strict";var h9=new Map([["C","cwd"],["f","file"],["z","gzip"],["P","preservePaths"],["U","unlink"],["strip-components","strip"],["stripComponents","strip"],["keep-newer","newer"],["keepNewer","newer"],["keep-newer-files","newer"],["keepNewerFiles","newer"],["k","keep"],["keep-existing","keep"],["keepExisting","keep"],["m","noMtime"],["no-mtime","noMtime"],["p","preserveOwner"],["L","follow"],["h","follow"]]),olt=f9.exports=t=>t?Object.keys(t).map(e=>[h9.has(e)?h9.get(e):e,t[e]]).reduce((e,r)=>(e[r[0]]=r[1],e),Object.create(null)):{}});var hg=E((Alt,p9)=>{"use strict";var JFe=require("events"),d9=require("stream"),_p=Rh(),C9=require("string_decoder").StringDecoder,va=Symbol("EOF"),Xp=Symbol("maybeEmitEnd"),xA=Symbol("emittedEnd"),Gw=Symbol("emittingEnd"),jw=Symbol("closed"),m9=Symbol("read"),iD=Symbol("flush"),E9=Symbol("flushChunk"),Bn=Symbol("encoding"),Sa=Symbol("decoder"),Yw=Symbol("flowing"),Zp=Symbol("paused"),$p=Symbol("resume"),rn=Symbol("bufferLength"),I9=Symbol("bufferPush"),nD=Symbol("bufferShift"),Ni=Symbol("objectMode"),Li=Symbol("destroyed"),y9=global._MP_NO_ITERATOR_SYMBOLS_!=="1",WFe=y9&&Symbol.asyncIterator||Symbol("asyncIterator not implemented"),zFe=y9&&Symbol.iterator||Symbol("iterator not implemented"),w9=t=>t==="end"||t==="finish"||t==="prefinish",VFe=t=>t instanceof ArrayBuffer||typeof t=="object"&&t.constructor&&t.constructor.name==="ArrayBuffer"&&t.byteLength>=0,_Fe=t=>!Buffer.isBuffer(t)&&ArrayBuffer.isView(t);p9.exports=class B9 extends d9{constructor(e){super();this[Yw]=!1,this[Zp]=!1,this.pipes=new _p,this.buffer=new _p,this[Ni]=e&&e.objectMode||!1,this[Ni]?this[Bn]=null:this[Bn]=e&&e.encoding||null,this[Bn]==="buffer"&&(this[Bn]=null),this[Sa]=this[Bn]?new C9(this[Bn]):null,this[va]=!1,this[xA]=!1,this[Gw]=!1,this[jw]=!1,this.writable=!0,this.readable=!0,this[rn]=0,this[Li]=!1}get bufferLength(){return this[rn]}get encoding(){return this[Bn]}set encoding(e){if(this[Ni])throw new Error("cannot set encoding in objectMode");if(this[Bn]&&e!==this[Bn]&&(this[Sa]&&this[Sa].lastNeed||this[rn]))throw new Error("cannot change encoding");this[Bn]!==e&&(this[Sa]=e?new C9(e):null,this.buffer.length&&(this.buffer=this.buffer.map(r=>this[Sa].write(r)))),this[Bn]=e}setEncoding(e){this.encoding=e}get objectMode(){return this[Ni]}set objectMode(e){this[Ni]=this[Ni]||!!e}write(e,r,i){if(this[va])throw new Error("write after end");return this[Li]?(this.emit("error",Object.assign(new Error("Cannot call write after a stream was destroyed"),{code:"ERR_STREAM_DESTROYED"})),!0):(typeof r=="function"&&(i=r,r="utf8"),r||(r="utf8"),!this[Ni]&&!Buffer.isBuffer(e)&&(_Fe(e)?e=Buffer.from(e.buffer,e.byteOffset,e.byteLength):VFe(e)?e=Buffer.from(e):typeof e!="string"&&(this.objectMode=!0)),!this.objectMode&&!e.length?(this[rn]!==0&&this.emit("readable"),i&&i(),this.flowing):(typeof e=="string"&&!this[Ni]&&!(r===this[Bn]&&!this[Sa].lastNeed)&&(e=Buffer.from(e,r)),Buffer.isBuffer(e)&&this[Bn]&&(e=this[Sa].write(e)),this.flowing?(this[rn]!==0&&this[iD](!0),this.emit("data",e)):this[I9](e),this[rn]!==0&&this.emit("readable"),i&&i(),this.flowing))}read(e){if(this[Li])return null;try{return this[rn]===0||e===0||e>this[rn]?null:(this[Ni]&&(e=null),this.buffer.length>1&&!this[Ni]&&(this.encoding?this.buffer=new _p([Array.from(this.buffer).join("")]):this.buffer=new _p([Buffer.concat(Array.from(this.buffer),this[rn])])),this[m9](e||null,this.buffer.head.value))}finally{this[Xp]()}}[m9](e,r){return e===r.length||e===null?this[nD]():(this.buffer.head.value=r.slice(e),r=r.slice(0,e),this[rn]-=e),this.emit("data",r),!this.buffer.length&&!this[va]&&this.emit("drain"),r}end(e,r,i){return typeof e=="function"&&(i=e,e=null),typeof r=="function"&&(i=r,r="utf8"),e&&this.write(e,r),i&&this.once("end",i),this[va]=!0,this.writable=!1,(this.flowing||!this[Zp])&&this[Xp](),this}[$p](){this[Li]||(this[Zp]=!1,this[Yw]=!0,this.emit("resume"),this.buffer.length?this[iD]():this[va]?this[Xp]():this.emit("drain"))}resume(){return this[$p]()}pause(){this[Yw]=!1,this[Zp]=!0}get destroyed(){return this[Li]}get flowing(){return this[Yw]}get paused(){return this[Zp]}[I9](e){return this[Ni]?this[rn]+=1:this[rn]+=e.length,this.buffer.push(e)}[nD](){return this.buffer.length&&(this[Ni]?this[rn]-=1:this[rn]-=this.buffer.head.value.length),this.buffer.shift()}[iD](e){do;while(this[E9](this[nD]()));!e&&!this.buffer.length&&!this[va]&&this.emit("drain")}[E9](e){return e?(this.emit("data",e),this.flowing):!1}pipe(e,r){if(this[Li])return;let i=this[xA];r=r||{},e===process.stdout||e===process.stderr?r.end=!1:r.end=r.end!==!1;let n={dest:e,opts:r,ondrain:s=>this[$p]()};return this.pipes.push(n),e.on("drain",n.ondrain),this[$p](),i&&n.opts.end&&n.dest.end(),e}addListener(e,r){return this.on(e,r)}on(e,r){try{return super.on(e,r)}finally{e==="data"&&!this.pipes.length&&!this.flowing?this[$p]():w9(e)&&this[xA]&&(super.emit(e),this.removeAllListeners(e))}}get emittedEnd(){return this[xA]}[Xp](){!this[Gw]&&!this[xA]&&!this[Li]&&this.buffer.length===0&&this[va]&&(this[Gw]=!0,this.emit("end"),this.emit("prefinish"),this.emit("finish"),this[jw]&&this.emit("close"),this[Gw]=!1)}emit(e,r){if(e!=="error"&&e!=="close"&&e!==Li&&this[Li])return;if(e==="data"){if(!r)return;this.pipes.length&&this.pipes.forEach(n=>n.dest.write(r)===!1&&this.pause())}else if(e==="end"){if(this[xA]===!0)return;this[xA]=!0,this.readable=!1,this[Sa]&&(r=this[Sa].end(),r&&(this.pipes.forEach(n=>n.dest.write(r)),super.emit("data",r))),this.pipes.forEach(n=>{n.dest.removeListener("drain",n.ondrain),n.opts.end&&n.dest.end()})}else if(e==="close"&&(this[jw]=!0,!this[xA]&&!this[Li]))return;let i=new Array(arguments.length);if(i[0]=e,i[1]=r,arguments.length>2)for(let n=2;n{e.push(i),this[Ni]||(e.dataLength+=i.length)}),r.then(()=>e)}concat(){return this[Ni]?Promise.reject(new Error("cannot concat in objectMode")):this.collect().then(e=>this[Ni]?Promise.reject(new Error("cannot concat in objectMode")):this[Bn]?e.join(""):Buffer.concat(e,e.dataLength))}promise(){return new Promise((e,r)=>{this.on(Li,()=>r(new Error("stream destroyed"))),this.on("end",()=>e()),this.on("error",i=>r(i))})}[WFe](){return{next:()=>{let r=this.read();if(r!==null)return Promise.resolve({done:!1,value:r});if(this[va])return Promise.resolve({done:!0});let i=null,n=null,s=c=>{this.removeListener("data",o),this.removeListener("end",a),n(c)},o=c=>{this.removeListener("error",s),this.removeListener("end",a),this.pause(),i({value:c,done:!!this[va]})},a=()=>{this.removeListener("error",s),this.removeListener("data",o),i({done:!0})},l=()=>s(new Error("stream destroyed"));return new Promise((c,u)=>{n=u,i=c,this.once(Li,l),this.once("error",s),this.once("end",a),this.once("data",o)})}}}[zFe](){return{next:()=>{let r=this.read();return{value:r,done:r===null}}}}destroy(e){return this[Li]?(e?this.emit("error",e):this.emit(Li),this):(this[Li]=!0,this.buffer=new _p,this[rn]=0,typeof this.close=="function"&&!this[jw]&&this.close(),e?this.emit("error",e):this.emit(Li),this)}static isStream(e){return!!e&&(e instanceof B9||e instanceof d9||e instanceof JFe&&(typeof e.pipe=="function"||typeof e.write=="function"&&typeof e.end=="function"))}}});var b9=E((llt,Q9)=>{var XFe=require("zlib").constants||{ZLIB_VERNUM:4736};Q9.exports=Object.freeze(Object.assign(Object.create(null),{Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_VERSION_ERROR:-6,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,DEFLATE:1,INFLATE:2,GZIP:3,GUNZIP:4,DEFLATERAW:5,INFLATERAW:6,UNZIP:7,BROTLI_DECODE:8,BROTLI_ENCODE:9,Z_MIN_WINDOWBITS:8,Z_MAX_WINDOWBITS:15,Z_DEFAULT_WINDOWBITS:15,Z_MIN_CHUNK:64,Z_MAX_CHUNK:Infinity,Z_DEFAULT_CHUNK:16384,Z_MIN_MEMLEVEL:1,Z_MAX_MEMLEVEL:9,Z_DEFAULT_MEMLEVEL:8,Z_MIN_LEVEL:-1,Z_MAX_LEVEL:9,Z_DEFAULT_LEVEL:-1,BROTLI_OPERATION_PROCESS:0,BROTLI_OPERATION_FLUSH:1,BROTLI_OPERATION_FINISH:2,BROTLI_OPERATION_EMIT_METADATA:3,BROTLI_MODE_GENERIC:0,BROTLI_MODE_TEXT:1,BROTLI_MODE_FONT:2,BROTLI_DEFAULT_MODE:0,BROTLI_MIN_QUALITY:0,BROTLI_MAX_QUALITY:11,BROTLI_DEFAULT_QUALITY:11,BROTLI_MIN_WINDOW_BITS:10,BROTLI_MAX_WINDOW_BITS:24,BROTLI_LARGE_MAX_WINDOW_BITS:30,BROTLI_DEFAULT_WINDOW:22,BROTLI_MIN_INPUT_BLOCK_BITS:16,BROTLI_MAX_INPUT_BLOCK_BITS:24,BROTLI_PARAM_MODE:0,BROTLI_PARAM_QUALITY:1,BROTLI_PARAM_LGWIN:2,BROTLI_PARAM_LGBLOCK:3,BROTLI_PARAM_DISABLE_LITERAL_CONTEXT_MODELING:4,BROTLI_PARAM_SIZE_HINT:5,BROTLI_PARAM_LARGE_WINDOW:6,BROTLI_PARAM_NPOSTFIX:7,BROTLI_PARAM_NDIRECT:8,BROTLI_DECODER_RESULT_ERROR:0,BROTLI_DECODER_RESULT_SUCCESS:1,BROTLI_DECODER_RESULT_NEEDS_MORE_INPUT:2,BROTLI_DECODER_RESULT_NEEDS_MORE_OUTPUT:3,BROTLI_DECODER_PARAM_DISABLE_RING_BUFFER_REALLOCATION:0,BROTLI_DECODER_PARAM_LARGE_WINDOW:1,BROTLI_DECODER_NO_ERROR:0,BROTLI_DECODER_SUCCESS:1,BROTLI_DECODER_NEEDS_MORE_INPUT:2,BROTLI_DECODER_NEEDS_MORE_OUTPUT:3,BROTLI_DECODER_ERROR_FORMAT_EXUBERANT_NIBBLE:-1,BROTLI_DECODER_ERROR_FORMAT_RESERVED:-2,BROTLI_DECODER_ERROR_FORMAT_EXUBERANT_META_NIBBLE:-3,BROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_ALPHABET:-4,BROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_SAME:-5,BROTLI_DECODER_ERROR_FORMAT_CL_SPACE:-6,BROTLI_DECODER_ERROR_FORMAT_HUFFMAN_SPACE:-7,BROTLI_DECODER_ERROR_FORMAT_CONTEXT_MAP_REPEAT:-8,BROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_1:-9,BROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_2:-10,BROTLI_DECODER_ERROR_FORMAT_TRANSFORM:-11,BROTLI_DECODER_ERROR_FORMAT_DICTIONARY:-12,BROTLI_DECODER_ERROR_FORMAT_WINDOW_BITS:-13,BROTLI_DECODER_ERROR_FORMAT_PADDING_1:-14,BROTLI_DECODER_ERROR_FORMAT_PADDING_2:-15,BROTLI_DECODER_ERROR_FORMAT_DISTANCE:-16,BROTLI_DECODER_ERROR_DICTIONARY_NOT_SET:-19,BROTLI_DECODER_ERROR_INVALID_ARGUMENTS:-20,BROTLI_DECODER_ERROR_ALLOC_CONTEXT_MODES:-21,BROTLI_DECODER_ERROR_ALLOC_TREE_GROUPS:-22,BROTLI_DECODER_ERROR_ALLOC_CONTEXT_MAP:-25,BROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_1:-26,BROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_2:-27,BROTLI_DECODER_ERROR_ALLOC_BLOCK_TYPE_TREES:-30,BROTLI_DECODER_ERROR_UNREACHABLE:-31},XFe))});var fD=E(Un=>{"use strict";var sD=require("assert"),kA=require("buffer").Buffer,v9=require("zlib"),uc=Un.constants=b9(),ZFe=hg(),S9=kA.concat,gc=Symbol("_superWrite"),ed=class extends Error{constructor(e){super("zlib: "+e.message);this.code=e.code,this.errno=e.errno,this.code||(this.code="ZLIB_ERROR"),this.message="zlib: "+e.message,Error.captureStackTrace(this,this.constructor)}get name(){return"ZlibError"}},$Fe=Symbol("opts"),td=Symbol("flushFlag"),x9=Symbol("finishFlushFlag"),oD=Symbol("fullFlushFlag"),tr=Symbol("handle"),qw=Symbol("onError"),pg=Symbol("sawError"),aD=Symbol("level"),AD=Symbol("strategy"),lD=Symbol("ended"),clt=Symbol("_defaultFullFlush"),cD=class extends ZFe{constructor(e,r){if(!e||typeof e!="object")throw new TypeError("invalid options for ZlibBase constructor");super(e);this[pg]=!1,this[lD]=!1,this[$Fe]=e,this[td]=e.flush,this[x9]=e.finishFlush;try{this[tr]=new v9[r](e)}catch(i){throw new ed(i)}this[qw]=i=>{this[pg]||(this[pg]=!0,this.close(),this.emit("error",i))},this[tr].on("error",i=>this[qw](new ed(i))),this.once("end",()=>this.close)}close(){this[tr]&&(this[tr].close(),this[tr]=null,this.emit("close"))}reset(){if(!this[pg])return sD(this[tr],"zlib binding closed"),this[tr].reset()}flush(e){this.ended||(typeof e!="number"&&(e=this[oD]),this.write(Object.assign(kA.alloc(0),{[td]:e})))}end(e,r,i){return e&&this.write(e,r),this.flush(this[x9]),this[lD]=!0,super.end(null,null,i)}get ended(){return this[lD]}write(e,r,i){if(typeof r=="function"&&(i=r,r="utf8"),typeof e=="string"&&(e=kA.from(e,r)),this[pg])return;sD(this[tr],"zlib binding closed");let n=this[tr]._handle,s=n.close;n.close=()=>{};let o=this[tr].close;this[tr].close=()=>{},kA.concat=c=>c;let a;try{let c=typeof e[td]=="number"?e[td]:this[td];a=this[tr]._processChunk(e,c),kA.concat=S9}catch(c){kA.concat=S9,this[qw](new ed(c))}finally{this[tr]&&(this[tr]._handle=n,n.close=s,this[tr].close=o,this[tr].removeAllListeners("error"))}this[tr]&&this[tr].on("error",c=>this[qw](new ed(c)));let l;if(a)if(Array.isArray(a)&&a.length>0){l=this[gc](kA.from(a[0]));for(let c=1;c{this.flush(n),s()};try{this[tr].params(e,r)}finally{this[tr].flush=i}this[tr]&&(this[aD]=e,this[AD]=r)}}}},k9=class extends PA{constructor(e){super(e,"Deflate")}},P9=class extends PA{constructor(e){super(e,"Inflate")}},uD=Symbol("_portable"),D9=class extends PA{constructor(e){super(e,"Gzip");this[uD]=e&&!!e.portable}[gc](e){return this[uD]?(this[uD]=!1,e[9]=255,super[gc](e)):super[gc](e)}},R9=class extends PA{constructor(e){super(e,"Gunzip")}},F9=class extends PA{constructor(e){super(e,"DeflateRaw")}},N9=class extends PA{constructor(e){super(e,"InflateRaw")}},L9=class extends PA{constructor(e){super(e,"Unzip")}},gD=class extends cD{constructor(e,r){e=e||{},e.flush=e.flush||uc.BROTLI_OPERATION_PROCESS,e.finishFlush=e.finishFlush||uc.BROTLI_OPERATION_FINISH,super(e,r),this[oD]=uc.BROTLI_OPERATION_FLUSH}},T9=class extends gD{constructor(e){super(e,"BrotliCompress")}},M9=class extends gD{constructor(e){super(e,"BrotliDecompress")}};Un.Deflate=k9;Un.Inflate=P9;Un.Gzip=D9;Un.Gunzip=R9;Un.DeflateRaw=F9;Un.InflateRaw=N9;Un.Unzip=L9;typeof v9.BrotliCompress=="function"?(Un.BrotliCompress=T9,Un.BrotliDecompress=M9):Un.BrotliCompress=Un.BrotliDecompress=class{constructor(){throw new Error("Brotli is not supported in this version of Node.js")}}});var rd=E(Jw=>{"use strict";Jw.name=new Map([["0","File"],["","OldFile"],["1","Link"],["2","SymbolicLink"],["3","CharacterDevice"],["4","BlockDevice"],["5","Directory"],["6","FIFO"],["7","ContiguousFile"],["g","GlobalExtendedHeader"],["x","ExtendedHeader"],["A","SolarisACL"],["D","GNUDumpDir"],["I","Inode"],["K","NextFileHasLongLinkpath"],["L","NextFileHasLongPath"],["M","ContinuationFile"],["N","OldGnuLongPath"],["S","SparseFile"],["V","TapeVolumeHeader"],["X","OldExtendedHeader"]]);Jw.code=new Map(Array.from(Jw.name).map(t=>[t[1],t[0]]))});var id=E((plt,O9)=>{"use strict";var flt=rd(),eNe=hg(),hD=Symbol("slurp");O9.exports=class extends eNe{constructor(e,r,i){super();switch(this.pause(),this.extended=r,this.globalExtended=i,this.header=e,this.startBlockSize=512*Math.ceil(e.size/512),this.blockRemain=this.startBlockSize,this.remain=e.size,this.type=e.type,this.meta=!1,this.ignore=!1,this.type){case"File":case"OldFile":case"Link":case"SymbolicLink":case"CharacterDevice":case"BlockDevice":case"Directory":case"FIFO":case"ContiguousFile":case"GNUDumpDir":break;case"NextFileHasLongLinkpath":case"NextFileHasLongPath":case"OldGnuLongPath":case"GlobalExtendedHeader":case"ExtendedHeader":case"OldExtendedHeader":this.meta=!0;break;default:this.ignore=!0}this.path=e.path,this.mode=e.mode,this.mode&&(this.mode=this.mode&4095),this.uid=e.uid,this.gid=e.gid,this.uname=e.uname,this.gname=e.gname,this.size=e.size,this.mtime=e.mtime,this.atime=e.atime,this.ctime=e.ctime,this.linkpath=e.linkpath,this.uname=e.uname,this.gname=e.gname,r&&this[hD](r),i&&this[hD](i,!0)}write(e){let r=e.length;if(r>this.blockRemain)throw new Error("writing more to entry than is appropriate");let i=this.remain,n=this.blockRemain;return this.remain=Math.max(0,i-r),this.blockRemain=Math.max(0,n-r),this.ignore?!0:i>=r?super.write(e):super.write(e.slice(0,i))}[hD](e,r){for(let i in e)e[i]!==null&&e[i]!==void 0&&!(r&&i==="path")&&(this[i]=e[i])}}});var H9=E(pD=>{"use strict";var dlt=pD.encode=(t,e)=>{if(Number.isSafeInteger(t))t<0?rNe(t,e):tNe(t,e);else throw Error("cannot encode number outside of javascript safe integer range");return e},tNe=(t,e)=>{e[0]=128;for(var r=e.length;r>1;r--)e[r-1]=t&255,t=Math.floor(t/256)},rNe=(t,e)=>{e[0]=255;var r=!1;t=t*-1;for(var i=e.length;i>1;i--){var n=t&255;t=Math.floor(t/256),r?e[i-1]=K9(n):n===0?e[i-1]=0:(r=!0,e[i-1]=U9(n))}},Clt=pD.parse=t=>{var e=t[t.length-1],r=t[0],i;if(r===128)i=nNe(t.slice(1,t.length));else if(r===255)i=iNe(t);else throw Error("invalid base256 encoding");if(!Number.isSafeInteger(i))throw Error("parsed number outside of javascript safe integer range");return i},iNe=t=>{for(var e=t.length,r=0,i=!1,n=e-1;n>-1;n--){var s=t[n],o;i?o=K9(s):s===0?o=s:(i=!0,o=U9(s)),o!==0&&(r-=o*Math.pow(256,e-n-1))}return r},nNe=t=>{for(var e=t.length,r=0,i=e-1;i>-1;i--){var n=t[i];n!==0&&(r+=n*Math.pow(256,e-i-1))}return r},K9=t=>(255^t)&255,U9=t=>(255^t)+1&255});var Cg=E((Elt,G9)=>{"use strict";var dD=rd(),dg=require("path").posix,j9=H9(),CD=Symbol("slurp"),Hn=Symbol("type"),Y9=class{constructor(e,r,i,n){this.cksumValid=!1,this.needPax=!1,this.nullBlock=!1,this.block=null,this.path=null,this.mode=null,this.uid=null,this.gid=null,this.size=null,this.mtime=null,this.cksum=null,this[Hn]="0",this.linkpath=null,this.uname=null,this.gname=null,this.devmaj=0,this.devmin=0,this.atime=null,this.ctime=null,Buffer.isBuffer(e)?this.decode(e,r||0,i,n):e&&this.set(e)}decode(e,r,i,n){if(r||(r=0),!e||!(e.length>=r+512))throw new Error("need 512 bytes for header");if(this.path=fc(e,r,100),this.mode=DA(e,r+100,8),this.uid=DA(e,r+108,8),this.gid=DA(e,r+116,8),this.size=DA(e,r+124,12),this.mtime=mD(e,r+136,12),this.cksum=DA(e,r+148,12),this[CD](i),this[CD](n,!0),this[Hn]=fc(e,r+156,1),this[Hn]===""&&(this[Hn]="0"),this[Hn]==="0"&&this.path.substr(-1)==="/"&&(this[Hn]="5"),this[Hn]==="5"&&(this.size=0),this.linkpath=fc(e,r+157,100),e.slice(r+257,r+265).toString()==="ustar\x0000")if(this.uname=fc(e,r+265,32),this.gname=fc(e,r+297,32),this.devmaj=DA(e,r+329,8),this.devmin=DA(e,r+337,8),e[r+475]!==0){let o=fc(e,r+345,155);this.path=o+"/"+this.path}else{let o=fc(e,r+345,130);o&&(this.path=o+"/"+this.path),this.atime=mD(e,r+476,12),this.ctime=mD(e,r+488,12)}let s=8*32;for(let o=r;o=r+512))throw new Error("need 512 bytes for header");let i=this.ctime||this.atime?130:155,n=sNe(this.path||"",i),s=n[0],o=n[1];this.needPax=n[2],this.needPax=hc(e,r,100,s)||this.needPax,this.needPax=RA(e,r+100,8,this.mode)||this.needPax,this.needPax=RA(e,r+108,8,this.uid)||this.needPax,this.needPax=RA(e,r+116,8,this.gid)||this.needPax,this.needPax=RA(e,r+124,12,this.size)||this.needPax,this.needPax=ED(e,r+136,12,this.mtime)||this.needPax,e[r+156]=this[Hn].charCodeAt(0),this.needPax=hc(e,r+157,100,this.linkpath)||this.needPax,e.write("ustar\x0000",r+257,8),this.needPax=hc(e,r+265,32,this.uname)||this.needPax,this.needPax=hc(e,r+297,32,this.gname)||this.needPax,this.needPax=RA(e,r+329,8,this.devmaj)||this.needPax,this.needPax=RA(e,r+337,8,this.devmin)||this.needPax,this.needPax=hc(e,r+345,i,o)||this.needPax,e[r+475]!==0?this.needPax=hc(e,r+345,155,o)||this.needPax:(this.needPax=hc(e,r+345,130,o)||this.needPax,this.needPax=ED(e,r+476,12,this.atime)||this.needPax,this.needPax=ED(e,r+488,12,this.ctime)||this.needPax);let a=8*32;for(let l=r;l{let r=100,i=t,n="",s,o=dg.parse(t).root||".";if(Buffer.byteLength(i)r&&Buffer.byteLength(n)<=e?s=[i.substr(0,r-1),n,!0]:(i=dg.join(dg.basename(n),i),n=dg.dirname(n));while(n!==o&&!s);s||(s=[t.substr(0,r-1),"",!0])}return s},fc=(t,e,r)=>t.slice(e,e+r).toString("utf8").replace(/\0.*/,""),mD=(t,e,r)=>oNe(DA(t,e,r)),oNe=t=>t===null?null:new Date(t*1e3),DA=(t,e,r)=>t[e]&128?j9.parse(t.slice(e,e+r)):aNe(t,e,r),ANe=t=>isNaN(t)?null:t,aNe=(t,e,r)=>ANe(parseInt(t.slice(e,e+r).toString("utf8").replace(/\0.*$/,"").trim(),8)),lNe={12:8589934591,8:2097151},RA=(t,e,r,i)=>i===null?!1:i>lNe[r]||i<0?(j9.encode(i,t.slice(e,e+r)),!0):(cNe(t,e,r,i),!1),cNe=(t,e,r,i)=>t.write(uNe(i,r),e,r,"ascii"),uNe=(t,e)=>gNe(Math.floor(t).toString(8),e),gNe=(t,e)=>(t.length===e-1?t:new Array(e-t.length-1).join("0")+t+" ")+"\0",ED=(t,e,r,i)=>i===null?!1:RA(t,e,r,i.getTime()/1e3),fNe=new Array(156).join("\0"),hc=(t,e,r,i)=>i===null?!1:(t.write(i+fNe,e,r,"utf8"),i.length!==Buffer.byteLength(i)||i.length>r);G9.exports=Y9});var zw=E((Ilt,q9)=>{"use strict";var hNe=Cg(),pNe=require("path"),Ww=class{constructor(e,r){this.atime=e.atime||null,this.charset=e.charset||null,this.comment=e.comment||null,this.ctime=e.ctime||null,this.gid=e.gid||null,this.gname=e.gname||null,this.linkpath=e.linkpath||null,this.mtime=e.mtime||null,this.path=e.path||null,this.size=e.size||null,this.uid=e.uid||null,this.uname=e.uname||null,this.dev=e.dev||null,this.ino=e.ino||null,this.nlink=e.nlink||null,this.global=r||!1}encode(){let e=this.encodeBody();if(e==="")return null;let r=Buffer.byteLength(e),i=512*Math.ceil(1+r/512),n=Buffer.allocUnsafe(i);for(let s=0;s<512;s++)n[s]=0;new hNe({path:("PaxHeader/"+pNe.basename(this.path)).slice(0,99),mode:this.mode||420,uid:this.uid||null,gid:this.gid||null,size:r,mtime:this.mtime||null,type:this.global?"GlobalExtendedHeader":"ExtendedHeader",linkpath:"",uname:this.uname||"",gname:this.gname||"",devmaj:0,devmin:0,atime:this.atime||null,ctime:this.ctime||null}).encode(n),n.write(e,512,r,"utf8");for(let s=r+512;s=Math.pow(10,s)&&(s+=1),s+n+i}};Ww.parse=(t,e,r)=>new Ww(dNe(CNe(t),e),r);var dNe=(t,e)=>e?Object.keys(t).reduce((r,i)=>(r[i]=t[i],r),e):t,CNe=t=>t.replace(/\n$/,"").split(` +`).reduce(mNe,Object.create(null)),mNe=(t,e)=>{let r=parseInt(e,10);if(r!==Buffer.byteLength(e)+1)return t;e=e.substr((r+" ").length);let i=e.split("="),n=i.shift().replace(/^SCHILY\.(dev|ino|nlink)/,"$1");if(!n)return t;let s=i.join("=");return t[n]=/^([A-Z]+\.)?([mac]|birth|creation)time$/.test(n)?new Date(s*1e3):/^[0-9]+$/.test(s)?+s:s,t};q9.exports=Ww});var Vw=E((ylt,J9)=>{"use strict";J9.exports=t=>class extends t{warn(e,r,i={}){this.file&&(i.file=this.file),this.cwd&&(i.cwd=this.cwd),i.code=r instanceof Error&&r.code||e,i.tarCode=e,!this.strict&&i.recoverable!==!1?(r instanceof Error&&(i=Object.assign(r,i),r=r.message),this.emit("warn",i.tarCode,r,i)):r instanceof Error?this.emit("error",Object.assign(r,i)):this.emit("error",Object.assign(new Error(`${e}: ${r}`),i))}}});var yD=E((wlt,W9)=>{"use strict";var _w=["|","<",">","?",":"],ID=_w.map(t=>String.fromCharCode(61440+t.charCodeAt(0))),ENe=new Map(_w.map((t,e)=>[t,ID[e]])),INe=new Map(ID.map((t,e)=>[t,_w[e]]));W9.exports={encode:t=>_w.reduce((e,r)=>e.split(r).join(ENe.get(r)),t),decode:t=>ID.reduce((e,r)=>e.split(r).join(INe.get(r)),t)}});var V9=E((Blt,z9)=>{"use strict";z9.exports=(t,e,r)=>(t&=4095,r&&(t=(t|384)&~18),e&&(t&256&&(t|=64),t&32&&(t|=8),t&4&&(t|=1)),t)});var xD=E((xlt,_9)=>{"use strict";var X9=hg(),Z9=zw(),$9=Cg(),Qlt=id(),bo=require("fs"),mg=require("path"),blt=rd(),yNe=16*1024*1024,eV=Symbol("process"),tV=Symbol("file"),rV=Symbol("directory"),wD=Symbol("symlink"),iV=Symbol("hardlink"),nd=Symbol("header"),Xw=Symbol("read"),BD=Symbol("lstat"),Zw=Symbol("onlstat"),QD=Symbol("onread"),bD=Symbol("onreadlink"),vD=Symbol("openfile"),SD=Symbol("onopenfile"),pc=Symbol("close"),$w=Symbol("mode"),nV=Vw(),wNe=yD(),sV=V9(),eB=nV(class extends X9{constructor(e,r){if(r=r||{},super(r),typeof e!="string")throw new TypeError("path is required");this.path=e,this.portable=!!r.portable,this.myuid=process.getuid&&process.getuid(),this.myuser=process.env.USER||"",this.maxReadSize=r.maxReadSize||yNe,this.linkCache=r.linkCache||new Map,this.statCache=r.statCache||new Map,this.preservePaths=!!r.preservePaths,this.cwd=r.cwd||process.cwd(),this.strict=!!r.strict,this.noPax=!!r.noPax,this.noMtime=!!r.noMtime,this.mtime=r.mtime||null,typeof r.onwarn=="function"&&this.on("warn",r.onwarn);let i=!1;if(!this.preservePaths&&mg.win32.isAbsolute(e)){let n=mg.win32.parse(e);this.path=e.substr(n.root.length),i=n.root}this.win32=!!r.win32||process.platform==="win32",this.win32&&(this.path=wNe.decode(this.path.replace(/\\/g,"/")),e=e.replace(/\\/g,"/")),this.absolute=r.absolute||mg.resolve(this.cwd,e),this.path===""&&(this.path="./"),i&&this.warn("TAR_ENTRY_INFO",`stripping ${i} from absolute path`,{entry:this,path:i+this.path}),this.statCache.has(this.absolute)?this[Zw](this.statCache.get(this.absolute)):this[BD]()}[BD](){bo.lstat(this.absolute,(e,r)=>{if(e)return this.emit("error",e);this[Zw](r)})}[Zw](e){this.statCache.set(this.absolute,e),this.stat=e,e.isFile()||(e.size=0),this.type=BNe(e),this.emit("stat",e),this[eV]()}[eV](){switch(this.type){case"File":return this[tV]();case"Directory":return this[rV]();case"SymbolicLink":return this[wD]();default:return this.end()}}[$w](e){return sV(e,this.type==="Directory",this.portable)}[nd](){this.type==="Directory"&&this.portable&&(this.noMtime=!0),this.header=new $9({path:this.path,linkpath:this.linkpath,mode:this[$w](this.stat.mode),uid:this.portable?null:this.stat.uid,gid:this.portable?null:this.stat.gid,size:this.stat.size,mtime:this.noMtime?null:this.mtime||this.stat.mtime,type:this.type,uname:this.portable?null:this.stat.uid===this.myuid?this.myuser:"",atime:this.portable?null:this.stat.atime,ctime:this.portable?null:this.stat.ctime}),this.header.encode()&&!this.noPax&&this.write(new Z9({atime:this.portable?null:this.header.atime,ctime:this.portable?null:this.header.ctime,gid:this.portable?null:this.header.gid,mtime:this.noMtime?null:this.mtime||this.header.mtime,path:this.path,linkpath:this.linkpath,size:this.header.size,uid:this.portable?null:this.header.uid,uname:this.portable?null:this.header.uname,dev:this.portable?null:this.stat.dev,ino:this.portable?null:this.stat.ino,nlink:this.portable?null:this.stat.nlink}).encode()),this.write(this.header.block)}[rV](){this.path.substr(-1)!=="/"&&(this.path+="/"),this.stat.size=0,this[nd](),this.end()}[wD](){bo.readlink(this.absolute,(e,r)=>{if(e)return this.emit("error",e);this[bD](r)})}[bD](e){this.linkpath=e.replace(/\\/g,"/"),this[nd](),this.end()}[iV](e){this.type="Link",this.linkpath=mg.relative(this.cwd,e).replace(/\\/g,"/"),this.stat.size=0,this[nd](),this.end()}[tV](){if(this.stat.nlink>1){let e=this.stat.dev+":"+this.stat.ino;if(this.linkCache.has(e)){let r=this.linkCache.get(e);if(r.indexOf(this.cwd)===0)return this[iV](r)}this.linkCache.set(e,this.absolute)}if(this[nd](),this.stat.size===0)return this.end();this[vD]()}[vD](){bo.open(this.absolute,"r",(e,r)=>{if(e)return this.emit("error",e);this[SD](r)})}[SD](e){let r=512*Math.ceil(this.stat.size/512),i=Math.min(r,this.maxReadSize),n=Buffer.allocUnsafe(i);this[Xw](e,n,0,n.length,0,this.stat.size,r)}[Xw](e,r,i,n,s,o,a){bo.read(e,r,i,n,s,(l,c)=>{if(l)return this[pc](e,()=>this.emit("error",l));this[QD](e,r,i,n,s,o,a,c)})}[pc](e,r){bo.close(e,r)}[QD](e,r,i,n,s,o,a,l){if(l<=0&&o>0){let u=new Error("encountered unexpected EOF");return u.path=this.absolute,u.syscall="read",u.code="EOF",this[pc](e,()=>this.emit("error",u))}if(l>o){let u=new Error("did not encounter expected EOF");return u.path=this.absolute,u.syscall="read",u.code="EOF",this[pc](e,()=>this.emit("error",u))}if(l===o)for(let u=l;uu?this.emit("error",u):this.end());i>=n&&(r=Buffer.allocUnsafe(n),i=0),n=r.length-i,this[Xw](e,r,i,n,s,o,a)}}),oV=class extends eB{constructor(e,r){super(e,r)}[BD](){this[Zw](bo.lstatSync(this.absolute))}[wD](){this[bD](bo.readlinkSync(this.absolute))}[vD](){this[SD](bo.openSync(this.absolute,"r"))}[Xw](e,r,i,n,s,o,a){let l=!0;try{let c=bo.readSync(e,r,i,n,s);this[QD](e,r,i,n,s,o,a,c),l=!1}finally{if(l)try{this[pc](e,()=>{})}catch(c){}}}[pc](e,r){bo.closeSync(e),r()}},QNe=nV(class extends X9{constructor(e,r){r=r||{},super(r),this.preservePaths=!!r.preservePaths,this.portable=!!r.portable,this.strict=!!r.strict,this.noPax=!!r.noPax,this.noMtime=!!r.noMtime,this.readEntry=e,this.type=e.type,this.type==="Directory"&&this.portable&&(this.noMtime=!0),this.path=e.path,this.mode=this[$w](e.mode),this.uid=this.portable?null:e.uid,this.gid=this.portable?null:e.gid,this.uname=this.portable?null:e.uname,this.gname=this.portable?null:e.gname,this.size=e.size,this.mtime=this.noMtime?null:r.mtime||e.mtime,this.atime=this.portable?null:e.atime,this.ctime=this.portable?null:e.ctime,this.linkpath=e.linkpath,typeof r.onwarn=="function"&&this.on("warn",r.onwarn);let i=!1;if(mg.isAbsolute(this.path)&&!this.preservePaths){let n=mg.parse(this.path);i=n.root,this.path=this.path.substr(n.root.length)}this.remain=e.size,this.blockRemain=e.startBlockSize,this.header=new $9({path:this.path,linkpath:this.linkpath,mode:this.mode,uid:this.portable?null:this.uid,gid:this.portable?null:this.gid,size:this.size,mtime:this.noMtime?null:this.mtime,type:this.type,uname:this.portable?null:this.uname,atime:this.portable?null:this.atime,ctime:this.portable?null:this.ctime}),i&&this.warn("TAR_ENTRY_INFO",`stripping ${i} from absolute path`,{entry:this,path:i+this.path}),this.header.encode()&&!this.noPax&&super.write(new Z9({atime:this.portable?null:this.atime,ctime:this.portable?null:this.ctime,gid:this.portable?null:this.gid,mtime:this.noMtime?null:this.mtime,path:this.path,linkpath:this.linkpath,size:this.size,uid:this.portable?null:this.uid,uname:this.portable?null:this.uname,dev:this.portable?null:this.readEntry.dev,ino:this.portable?null:this.readEntry.ino,nlink:this.portable?null:this.readEntry.nlink}).encode()),super.write(this.header.block),e.pipe(this)}[$w](e){return sV(e,this.type==="Directory",this.portable)}write(e){let r=e.length;if(r>this.blockRemain)throw new Error("writing more to entry than is appropriate");return this.blockRemain-=r,super.write(e)}end(){return this.blockRemain&&this.write(Buffer.alloc(this.blockRemain)),super.end()}});eB.Sync=oV;eB.Tar=QNe;var BNe=t=>t.isFile()?"File":t.isDirectory()?"Directory":t.isSymbolicLink()?"SymbolicLink":"Unsupported";_9.exports=eB});var AB=E((Plt,aV)=>{"use strict";var kD=class{constructor(e,r){this.path=e||"./",this.absolute=r,this.entry=null,this.stat=null,this.readdir=null,this.pending=!1,this.ignore=!1,this.piped=!1}},bNe=hg(),vNe=fD(),SNe=id(),PD=xD(),xNe=PD.Sync,kNe=PD.Tar,PNe=Rh(),AV=Buffer.alloc(1024),tB=Symbol("onStat"),rB=Symbol("ended"),vo=Symbol("queue"),Eg=Symbol("current"),dc=Symbol("process"),iB=Symbol("processing"),lV=Symbol("processJob"),So=Symbol("jobs"),DD=Symbol("jobDone"),nB=Symbol("addFSEntry"),cV=Symbol("addTarEntry"),RD=Symbol("stat"),FD=Symbol("readdir"),sB=Symbol("onreaddir"),oB=Symbol("pipe"),uV=Symbol("entry"),ND=Symbol("entryOpt"),LD=Symbol("writeEntryClass"),gV=Symbol("write"),TD=Symbol("ondrain"),aB=require("fs"),fV=require("path"),DNe=Vw(),MD=DNe(class extends bNe{constructor(e){super(e);e=e||Object.create(null),this.opt=e,this.file=e.file||"",this.cwd=e.cwd||process.cwd(),this.maxReadSize=e.maxReadSize,this.preservePaths=!!e.preservePaths,this.strict=!!e.strict,this.noPax=!!e.noPax,this.prefix=(e.prefix||"").replace(/(\\|\/)+$/,""),this.linkCache=e.linkCache||new Map,this.statCache=e.statCache||new Map,this.readdirCache=e.readdirCache||new Map,this[LD]=PD,typeof e.onwarn=="function"&&this.on("warn",e.onwarn),this.portable=!!e.portable,this.zip=null,e.gzip?(typeof e.gzip!="object"&&(e.gzip={}),this.portable&&(e.gzip.portable=!0),this.zip=new vNe.Gzip(e.gzip),this.zip.on("data",r=>super.write(r)),this.zip.on("end",r=>super.end()),this.zip.on("drain",r=>this[TD]()),this.on("resume",r=>this.zip.resume())):this.on("drain",this[TD]),this.noDirRecurse=!!e.noDirRecurse,this.follow=!!e.follow,this.noMtime=!!e.noMtime,this.mtime=e.mtime||null,this.filter=typeof e.filter=="function"?e.filter:r=>!0,this[vo]=new PNe,this[So]=0,this.jobs=+e.jobs||4,this[iB]=!1,this[rB]=!1}[gV](e){return super.write(e)}add(e){return this.write(e),this}end(e){return e&&this.write(e),this[rB]=!0,this[dc](),this}write(e){if(this[rB])throw new Error("write after end");return e instanceof SNe?this[cV](e):this[nB](e),this.flowing}[cV](e){let r=fV.resolve(this.cwd,e.path);if(this.prefix&&(e.path=this.prefix+"/"+e.path.replace(/^\.(\/+|$)/,"")),!this.filter(e.path,e))e.resume();else{let i=new kD(e.path,r,!1);i.entry=new kNe(e,this[ND](i)),i.entry.on("end",n=>this[DD](i)),this[So]+=1,this[vo].push(i)}this[dc]()}[nB](e){let r=fV.resolve(this.cwd,e);this.prefix&&(e=this.prefix+"/"+e.replace(/^\.(\/+|$)/,"")),this[vo].push(new kD(e,r)),this[dc]()}[RD](e){e.pending=!0,this[So]+=1;let r=this.follow?"stat":"lstat";aB[r](e.absolute,(i,n)=>{e.pending=!1,this[So]-=1,i?this.emit("error",i):this[tB](e,n)})}[tB](e,r){this.statCache.set(e.absolute,r),e.stat=r,this.filter(e.path,r)||(e.ignore=!0),this[dc]()}[FD](e){e.pending=!0,this[So]+=1,aB.readdir(e.absolute,(r,i)=>{if(e.pending=!1,this[So]-=1,r)return this.emit("error",r);this[sB](e,i)})}[sB](e,r){this.readdirCache.set(e.absolute,r),e.readdir=r,this[dc]()}[dc](){if(!this[iB]){this[iB]=!0;for(let e=this[vo].head;e!==null&&this[So]this.warn(r,i,n),noPax:this.noPax,cwd:this.cwd,absolute:e.absolute,preservePaths:this.preservePaths,maxReadSize:this.maxReadSize,strict:this.strict,portable:this.portable,linkCache:this.linkCache,statCache:this.statCache,noMtime:this.noMtime,mtime:this.mtime}}[uV](e){this[So]+=1;try{return new this[LD](e.path,this[ND](e)).on("end",()=>this[DD](e)).on("error",r=>this.emit("error",r))}catch(r){this.emit("error",r)}}[TD](){this[Eg]&&this[Eg].entry&&this[Eg].entry.resume()}[oB](e){e.piped=!0,e.readdir&&e.readdir.forEach(n=>{let s=this.prefix?e.path.slice(this.prefix.length+1)||"./":e.path,o=s==="./"?"":s.replace(/\/*$/,"/");this[nB](o+n)});let r=e.entry,i=this.zip;i?r.on("data",n=>{i.write(n)||r.pause()}):r.on("data",n=>{super.write(n)||r.pause()})}pause(){return this.zip&&this.zip.pause(),super.pause()}}),hV=class extends MD{constructor(e){super(e);this[LD]=xNe}pause(){}resume(){}[RD](e){let r=this.follow?"statSync":"lstatSync";this[tB](e,aB[r](e.absolute))}[FD](e,r){this[sB](e,aB.readdirSync(e.absolute))}[oB](e){let r=e.entry,i=this.zip;e.readdir&&e.readdir.forEach(n=>{let s=this.prefix?e.path.slice(this.prefix.length+1)||"./":e.path,o=s==="./"?"":s.replace(/\/*$/,"/");this[nB](o+n)}),i?r.on("data",n=>{i.write(n)}):r.on("data",n=>{super[gV](n)})}};MD.Sync=hV;aV.exports=MD});var bg=E(sd=>{"use strict";var RNe=hg(),FNe=require("events").EventEmitter,ls=require("fs"),lB=process.binding("fs"),Dlt=lB.writeBuffers,NNe=lB.FSReqWrap||lB.FSReqCallback,Ig=Symbol("_autoClose"),xo=Symbol("_close"),od=Symbol("_ended"),Jt=Symbol("_fd"),pV=Symbol("_finished"),Cc=Symbol("_flags"),OD=Symbol("_flush"),KD=Symbol("_handleChunk"),UD=Symbol("_makeBuf"),HD=Symbol("_mode"),cB=Symbol("_needDrain"),yg=Symbol("_onerror"),wg=Symbol("_onopen"),GD=Symbol("_onread"),mc=Symbol("_onwrite"),FA=Symbol("_open"),NA=Symbol("_path"),Ec=Symbol("_pos"),ko=Symbol("_queue"),Bg=Symbol("_read"),dV=Symbol("_readSize"),LA=Symbol("_reading"),uB=Symbol("_remain"),CV=Symbol("_size"),gB=Symbol("_write"),Qg=Symbol("_writing"),fB=Symbol("_defaultFlag"),jD=class extends RNe{constructor(e,r){if(r=r||{},super(r),this.writable=!1,typeof e!="string")throw new TypeError("path must be a string");this[Jt]=typeof r.fd=="number"?r.fd:null,this[NA]=e,this[dV]=r.readSize||16*1024*1024,this[LA]=!1,this[CV]=typeof r.size=="number"?r.size:Infinity,this[uB]=this[CV],this[Ig]=typeof r.autoClose=="boolean"?r.autoClose:!0,typeof this[Jt]=="number"?this[Bg]():this[FA]()}get fd(){return this[Jt]}get path(){return this[NA]}write(){throw new TypeError("this is a readable stream")}end(){throw new TypeError("this is a readable stream")}[FA](){ls.open(this[NA],"r",(e,r)=>this[wg](e,r))}[wg](e,r){e?this[yg](e):(this[Jt]=r,this.emit("open",r),this[Bg]())}[UD](){return Buffer.allocUnsafe(Math.min(this[dV],this[uB]))}[Bg](){if(!this[LA]){this[LA]=!0;let e=this[UD]();if(e.length===0)return process.nextTick(()=>this[GD](null,0,e));ls.read(this[Jt],e,0,e.length,null,(r,i,n)=>this[GD](r,i,n))}}[GD](e,r,i){this[LA]=!1,e?this[yg](e):this[KD](r,i)&&this[Bg]()}[xo](){this[Ig]&&typeof this[Jt]=="number"&&(ls.close(this[Jt],e=>this.emit("close")),this[Jt]=null)}[yg](e){this[LA]=!0,this[xo](),this.emit("error",e)}[KD](e,r){let i=!1;return this[uB]-=e,e>0&&(i=super.write(ethis[wg](e,r))}[wg](e,r){this[fB]&&this[Cc]==="r+"&&e&&e.code==="ENOENT"?(this[Cc]="w",this[FA]()):e?this[yg](e):(this[Jt]=r,this.emit("open",r),this[OD]())}end(e,r){e&&this.write(e,r),this[od]=!0,!this[Qg]&&!this[ko].length&&typeof this[Jt]=="number"&&this[mc](null,0)}write(e,r){return typeof e=="string"&&(e=new Buffer(e,r)),this[od]?(this.emit("error",new Error("write() after end()")),!1):this[Jt]===null||this[Qg]||this[ko].length?(this[ko].push(e),this[cB]=!0,!1):(this[Qg]=!0,this[gB](e),!0)}[gB](e){ls.write(this[Jt],e,0,e.length,this[Ec],(r,i)=>this[mc](r,i))}[mc](e,r){e?this[yg](e):(this[Ec]!==null&&(this[Ec]+=r),this[ko].length?this[OD]():(this[Qg]=!1,this[od]&&!this[pV]?(this[pV]=!0,this[xo](),this.emit("finish")):this[cB]&&(this[cB]=!1,this.emit("drain"))))}[OD](){if(this[ko].length===0)this[od]&&this[mc](null,0);else if(this[ko].length===1)this[gB](this[ko].pop());else{let e=this[ko];this[ko]=[],LNe(this[Jt],e,this[Ec],(r,i)=>this[mc](r,i))}}[xo](){this[Ig]&&typeof this[Jt]=="number"&&(ls.close(this[Jt],e=>this.emit("close")),this[Jt]=null)}},EV=class extends YD{[FA](){let e;try{e=ls.openSync(this[NA],this[Cc],this[HD])}catch(r){if(this[fB]&&this[Cc]==="r+"&&r&&r.code==="ENOENT")return this[Cc]="w",this[FA]();throw r}this[wg](null,e)}[xo](){if(this[Ig]&&typeof this[Jt]=="number"){try{ls.closeSync(this[Jt])}catch(e){}this[Jt]=null,this.emit("close")}}[gB](e){try{this[mc](null,ls.writeSync(this[Jt],e,0,e.length,this[Ec]))}catch(r){this[mc](r,0)}}},LNe=(t,e,r,i)=>{let n=(o,a)=>i(o,a,e),s=new NNe;s.oncomplete=n,lB.writeBuffers(t,e,r,s)};sd.ReadStream=jD;sd.ReadStreamSync=mV;sd.WriteStream=YD;sd.WriteStreamSync=EV});var ld=E((Llt,IV)=>{"use strict";var TNe=Vw(),Flt=require("path"),MNe=Cg(),ONe=require("events"),KNe=Rh(),UNe=1024*1024,HNe=id(),yV=zw(),GNe=fD(),qD=Buffer.from([31,139]),cs=Symbol("state"),Ic=Symbol("writeEntry"),xa=Symbol("readEntry"),JD=Symbol("nextEntry"),wV=Symbol("processEntry"),us=Symbol("extendedHeader"),ad=Symbol("globalExtendedHeader"),TA=Symbol("meta"),BV=Symbol("emitMeta"),Ar=Symbol("buffer"),ka=Symbol("queue"),yc=Symbol("ended"),QV=Symbol("emittedEnd"),wc=Symbol("emit"),Qn=Symbol("unzip"),hB=Symbol("consumeChunk"),pB=Symbol("consumeChunkSub"),WD=Symbol("consumeBody"),bV=Symbol("consumeMeta"),vV=Symbol("consumeHeader"),dB=Symbol("consuming"),zD=Symbol("bufferConcat"),VD=Symbol("maybeEnd"),Ad=Symbol("writing"),MA=Symbol("aborted"),CB=Symbol("onDone"),Bc=Symbol("sawValidEntry"),mB=Symbol("sawNullBlock"),EB=Symbol("sawEOF"),jNe=t=>!0;IV.exports=TNe(class extends ONe{constructor(e){e=e||{},super(e),this.file=e.file||"",this[Bc]=null,this.on(CB,r=>{(this[cs]==="begin"||this[Bc]===!1)&&this.warn("TAR_BAD_ARCHIVE","Unrecognized archive format")}),e.ondone?this.on(CB,e.ondone):this.on(CB,r=>{this.emit("prefinish"),this.emit("finish"),this.emit("end"),this.emit("close")}),this.strict=!!e.strict,this.maxMetaEntrySize=e.maxMetaEntrySize||UNe,this.filter=typeof e.filter=="function"?e.filter:jNe,this.writable=!0,this.readable=!1,this[ka]=new KNe,this[Ar]=null,this[xa]=null,this[Ic]=null,this[cs]="begin",this[TA]="",this[us]=null,this[ad]=null,this[yc]=!1,this[Qn]=null,this[MA]=!1,this[mB]=!1,this[EB]=!1,typeof e.onwarn=="function"&&this.on("warn",e.onwarn),typeof e.onentry=="function"&&this.on("entry",e.onentry)}[vV](e,r){this[Bc]===null&&(this[Bc]=!1);let i;try{i=new MNe(e,r,this[us],this[ad])}catch(n){return this.warn("TAR_ENTRY_INVALID",n)}if(i.nullBlock)this[mB]?(this[EB]=!0,this[cs]==="begin"&&(this[cs]="header"),this[wc]("eof")):(this[mB]=!0,this[wc]("nullBlock"));else if(this[mB]=!1,!i.cksumValid)this.warn("TAR_ENTRY_INVALID","checksum failure",{header:i});else if(!i.path)this.warn("TAR_ENTRY_INVALID","path is required",{header:i});else{let n=i.type;if(/^(Symbolic)?Link$/.test(n)&&!i.linkpath)this.warn("TAR_ENTRY_INVALID","linkpath required",{header:i});else if(!/^(Symbolic)?Link$/.test(n)&&i.linkpath)this.warn("TAR_ENTRY_INVALID","linkpath forbidden",{header:i});else{let s=this[Ic]=new HNe(i,this[us],this[ad]);if(!this[Bc])if(s.remain){let o=()=>{s.invalid||(this[Bc]=!0)};s.on("end",o)}else this[Bc]=!0;s.meta?s.size>this.maxMetaEntrySize?(s.ignore=!0,this[wc]("ignoredEntry",s),this[cs]="ignore",s.resume()):s.size>0&&(this[TA]="",s.on("data",o=>this[TA]+=o),this[cs]="meta"):(this[us]=null,s.ignore=s.ignore||!this.filter(s.path,s),s.ignore?(this[wc]("ignoredEntry",s),this[cs]=s.remain?"ignore":"header",s.resume()):(s.remain?this[cs]="body":(this[cs]="header",s.end()),this[xa]?this[ka].push(s):(this[ka].push(s),this[JD]())))}}}[wV](e){let r=!0;return e?Array.isArray(e)?this.emit.apply(this,e):(this[xa]=e,this.emit("entry",e),e.emittedEnd||(e.on("end",i=>this[JD]()),r=!1)):(this[xa]=null,r=!1),r}[JD](){do;while(this[wV](this[ka].shift()));if(!this[ka].length){let e=this[xa];!e||e.flowing||e.size===e.remain?this[Ad]||this.emit("drain"):e.once("drain",i=>this.emit("drain"))}}[WD](e,r){let i=this[Ic],n=i.blockRemain,s=n>=e.length&&r===0?e:e.slice(r,r+n);return i.write(s),i.blockRemain||(this[cs]="header",this[Ic]=null,i.end()),s.length}[bV](e,r){let i=this[Ic],n=this[WD](e,r);return this[Ic]||this[BV](i),n}[wc](e,r,i){!this[ka].length&&!this[xa]?this.emit(e,r,i):this[ka].push([e,r,i])}[BV](e){switch(this[wc]("meta",this[TA]),e.type){case"ExtendedHeader":case"OldExtendedHeader":this[us]=yV.parse(this[TA],this[us],!1);break;case"GlobalExtendedHeader":this[ad]=yV.parse(this[TA],this[ad],!0);break;case"NextFileHasLongPath":case"OldGnuLongPath":this[us]=this[us]||Object.create(null),this[us].path=this[TA].replace(/\0.*/,"");break;case"NextFileHasLongLinkpath":this[us]=this[us]||Object.create(null),this[us].linkpath=this[TA].replace(/\0.*/,"");break;default:throw new Error("unknown meta: "+e.type)}}abort(e){this[MA]=!0,this.emit("abort",e),this.warn("TAR_ABORT",e,{recoverable:!1})}write(e){if(this[MA])return;if(this[Qn]===null&&e){if(this[Ar]&&(e=Buffer.concat([this[Ar],e]),this[Ar]=null),e.lengththis[hB](s)),this[Qn].on("error",s=>this.abort(s)),this[Qn].on("end",s=>{this[yc]=!0,this[hB]()}),this[Ad]=!0;let n=this[Qn][i?"end":"write"](e);return this[Ad]=!1,n}}this[Ad]=!0,this[Qn]?this[Qn].write(e):this[hB](e),this[Ad]=!1;let r=this[ka].length?!1:this[xa]?this[xa].flowing:!0;return!r&&!this[ka].length&&this[xa].once("drain",i=>this.emit("drain")),r}[zD](e){e&&!this[MA]&&(this[Ar]=this[Ar]?Buffer.concat([this[Ar],e]):e)}[VD](){if(this[yc]&&!this[QV]&&!this[MA]&&!this[dB]){this[QV]=!0;let e=this[Ic];if(e&&e.blockRemain){let r=this[Ar]?this[Ar].length:0;this.warn("TAR_BAD_ARCHIVE",`Truncated input (needed ${e.blockRemain} more bytes, only ${r} available)`,{entry:e}),this[Ar]&&e.write(this[Ar]),e.end()}this[wc](CB)}}[hB](e){if(this[dB])this[zD](e);else if(!e&&!this[Ar])this[VD]();else{if(this[dB]=!0,this[Ar]){this[zD](e);let r=this[Ar];this[Ar]=null,this[pB](r)}else this[pB](e);for(;this[Ar]&&this[Ar].length>=512&&!this[MA]&&!this[EB];){let r=this[Ar];this[Ar]=null,this[pB](r)}this[dB]=!1}(!this[Ar]||this[yc])&&this[VD]()}[pB](e){let r=0,i=e.length;for(;r+512<=i&&!this[MA]&&!this[EB];)switch(this[cs]){case"begin":case"header":this[vV](e,r),r+=512;break;case"ignore":case"body":r+=this[WD](e,r);break;case"meta":r+=this[bV](e,r);break;default:throw new Error("invalid state: "+this[cs])}r{"use strict";var YNe=fg(),xV=ld(),vg=require("fs"),qNe=bg(),kV=require("path"),Tlt=SV.exports=(t,e,r)=>{typeof t=="function"?(r=t,e=null,t={}):Array.isArray(t)&&(e=t,t={}),typeof e=="function"&&(r=e,e=null),e?e=Array.from(e):e=[];let i=YNe(t);if(i.sync&&typeof r=="function")throw new TypeError("callback not supported for sync tar functions");if(!i.file&&typeof r=="function")throw new TypeError("callback only supported with file option");return e.length&&WNe(i,e),i.noResume||JNe(i),i.file&&i.sync?zNe(i):i.file?VNe(i,r):PV(i)},JNe=t=>{let e=t.onentry;t.onentry=e?r=>{e(r),r.resume()}:r=>r.resume()},WNe=(t,e)=>{let r=new Map(e.map(s=>[s.replace(/\/+$/,""),!0])),i=t.filter,n=(s,o)=>{let a=o||kV.parse(s).root||".",l=s===a?!1:r.has(s)?r.get(s):n(kV.dirname(s),a);return r.set(s,l),l};t.filter=i?(s,o)=>i(s,o)&&n(s.replace(/\/+$/,"")):s=>n(s.replace(/\/+$/,""))},zNe=t=>{let e=PV(t),r=t.file,i=!0,n;try{let s=vg.statSync(r),o=t.maxReadSize||16*1024*1024;if(s.size{let r=new xV(t),i=t.maxReadSize||16*1024*1024,n=t.file,s=new Promise((o,a)=>{r.on("error",a),r.on("end",o),vg.stat(n,(l,c)=>{if(l)a(l);else{let u=new qNe.ReadStream(n,{readSize:i,size:c.size});u.on("error",a),u.pipe(r)}})});return e?s.then(e,e):s},PV=t=>new xV(t)});var TV=E((Ult,DV)=>{"use strict";var _Ne=fg(),yB=AB(),Olt=require("fs"),RV=bg(),FV=IB(),NV=require("path"),Klt=DV.exports=(t,e,r)=>{if(typeof e=="function"&&(r=e),Array.isArray(t)&&(e=t,t={}),!e||!Array.isArray(e)||!e.length)throw new TypeError("no files or directories specified");e=Array.from(e);let i=_Ne(t);if(i.sync&&typeof r=="function")throw new TypeError("callback not supported for sync tar functions");if(!i.file&&typeof r=="function")throw new TypeError("callback only supported with file option");return i.file&&i.sync?XNe(i,e):i.file?ZNe(i,e,r):i.sync?$Ne(i,e):eLe(i,e)},XNe=(t,e)=>{let r=new yB.Sync(t),i=new RV.WriteStreamSync(t.file,{mode:t.mode||438});r.pipe(i),LV(r,e)},ZNe=(t,e,r)=>{let i=new yB(t),n=new RV.WriteStream(t.file,{mode:t.mode||438});i.pipe(n);let s=new Promise((o,a)=>{n.on("error",a),n.on("close",o),i.on("error",a)});return _D(i,e),r?s.then(r,r):s},LV=(t,e)=>{e.forEach(r=>{r.charAt(0)==="@"?FV({file:NV.resolve(t.cwd,r.substr(1)),sync:!0,noResume:!0,onentry:i=>t.add(i)}):t.add(r)}),t.end()},_D=(t,e)=>{for(;e.length;){let r=e.shift();if(r.charAt(0)==="@")return FV({file:NV.resolve(t.cwd,r.substr(1)),noResume:!0,onentry:i=>t.add(i)}).then(i=>_D(t,e));t.add(r)}t.end()},$Ne=(t,e)=>{let r=new yB.Sync(t);return LV(r,e),r},eLe=(t,e)=>{let r=new yB(t);return _D(r,e),r}});var XD=E((jlt,MV)=>{"use strict";var tLe=fg(),OV=AB(),Hlt=ld(),gs=require("fs"),KV=bg(),UV=IB(),HV=require("path"),GV=Cg(),Glt=MV.exports=(t,e,r)=>{let i=tLe(t);if(!i.file)throw new TypeError("file is required");if(i.gzip)throw new TypeError("cannot append to compressed archives");if(!e||!Array.isArray(e)||!e.length)throw new TypeError("no files or directories specified");return e=Array.from(e),i.sync?rLe(i,e):iLe(i,e,r)},rLe=(t,e)=>{let r=new OV.Sync(t),i=!0,n,s;try{try{n=gs.openSync(t.file,"r+")}catch(l){if(l.code==="ENOENT")n=gs.openSync(t.file,"w+");else throw l}let o=gs.fstatSync(n),a=Buffer.alloc(512);e:for(s=0;so.size)break;s+=c,t.mtimeCache&&t.mtimeCache.set(l.path,l.mtime)}i=!1,nLe(t,r,s,n,e)}finally{if(i)try{gs.closeSync(n)}catch(o){}}},nLe=(t,e,r,i,n)=>{let s=new KV.WriteStreamSync(t.file,{fd:i,start:r});e.pipe(s),sLe(e,n)},iLe=(t,e,r)=>{e=Array.from(e);let i=new OV(t),n=(o,a,l)=>{let c=(p,d)=>{p?gs.close(o,m=>l(p)):l(null,d)},u=0;if(a===0)return c(null,0);let g=0,f=Buffer.alloc(512),h=(p,d)=>{if(p)return c(p);if(g+=d,g<512&&d)return gs.read(o,f,g,f.length-g,u+g,h);if(u===0&&f[0]===31&&f[1]===139)return c(new Error("cannot append to compressed archives"));if(g<512)return c(null,u);let m=new GV(f);if(!m.cksumValid)return c(null,u);let I=512*Math.ceil(m.size/512);if(u+I+512>a||(u+=I+512,u>=a))return c(null,u);t.mtimeCache&&t.mtimeCache.set(m.path,m.mtime),g=0,gs.read(o,f,0,512,u,h)};gs.read(o,f,0,512,u,h)},s=new Promise((o,a)=>{i.on("error",a);let l="r+",c=(u,g)=>{if(u&&u.code==="ENOENT"&&l==="r+")return l="w+",gs.open(t.file,l,c);if(u)return a(u);gs.fstat(g,(f,h)=>{if(f)return a(f);n(g,h.size,(p,d)=>{if(p)return a(p);let m=new KV.WriteStream(t.file,{fd:g,start:d});i.pipe(m),m.on("error",a),m.on("close",o),jV(i,e)})})};gs.open(t.file,l,c)});return r?s.then(r,r):s},sLe=(t,e)=>{e.forEach(r=>{r.charAt(0)==="@"?UV({file:HV.resolve(t.cwd,r.substr(1)),sync:!0,noResume:!0,onentry:i=>t.add(i)}):t.add(r)}),t.end()},jV=(t,e)=>{for(;e.length;){let r=e.shift();if(r.charAt(0)==="@")return UV({file:HV.resolve(t.cwd,r.substr(1)),noResume:!0,onentry:i=>t.add(i)}).then(i=>jV(t,e));t.add(r)}t.end()}});var qV=E((qlt,YV)=>{"use strict";var oLe=fg(),aLe=XD(),Ylt=YV.exports=(t,e,r)=>{let i=oLe(t);if(!i.file)throw new TypeError("file is required");if(i.gzip)throw new TypeError("cannot append to compressed archives");if(!e||!Array.isArray(e)||!e.length)throw new TypeError("no files or directories specified");return e=Array.from(e),ALe(i),aLe(i,e,r)},ALe=t=>{let e=t.filter;t.mtimeCache||(t.mtimeCache=new Map),t.filter=e?(r,i)=>e(r,i)&&!(t.mtimeCache.get(r)>i.mtime):(r,i)=>!(t.mtimeCache.get(r)>i.mtime)}});var zV=E((Jlt,JV)=>{var{promisify:WV}=require("util"),OA=require("fs"),lLe=t=>{if(!t)t={mode:511,fs:OA};else if(typeof t=="object")t=P({mode:511,fs:OA},t);else if(typeof t=="number")t={mode:t,fs:OA};else if(typeof t=="string")t={mode:parseInt(t,8),fs:OA};else throw new TypeError("invalid options argument");return t.mkdir=t.mkdir||t.fs.mkdir||OA.mkdir,t.mkdirAsync=WV(t.mkdir),t.stat=t.stat||t.fs.stat||OA.stat,t.statAsync=WV(t.stat),t.statSync=t.statSync||t.fs.statSync||OA.statSync,t.mkdirSync=t.mkdirSync||t.fs.mkdirSync||OA.mkdirSync,t};JV.exports=lLe});var _V=E((Wlt,VV)=>{var cLe=process.env.__TESTING_MKDIRP_PLATFORM__||process.platform,{resolve:uLe,parse:gLe}=require("path"),fLe=t=>{if(/\0/.test(t))throw Object.assign(new TypeError("path must be a string without null bytes"),{path:t,code:"ERR_INVALID_ARG_VALUE"});if(t=uLe(t),cLe==="win32"){let e=/[*|"<>?:]/,{root:r}=gLe(t);if(e.test(t.substr(r.length)))throw Object.assign(new Error("Illegal characters in path."),{path:t,code:"EINVAL"})}return t};VV.exports=fLe});var t7=E((zlt,XV)=>{var{dirname:ZV}=require("path"),$V=(t,e,r=void 0)=>r===e?Promise.resolve():t.statAsync(e).then(i=>i.isDirectory()?r:void 0,i=>i.code==="ENOENT"?$V(t,ZV(e),e):void 0),e7=(t,e,r=void 0)=>{if(r!==e)try{return t.statSync(e).isDirectory()?r:void 0}catch(i){return i.code==="ENOENT"?e7(t,ZV(e),e):void 0}};XV.exports={findMade:$V,findMadeSync:e7}});var eR=E((Vlt,r7)=>{var{dirname:i7}=require("path"),ZD=(t,e,r)=>{e.recursive=!1;let i=i7(t);return i===t?e.mkdirAsync(t,e).catch(n=>{if(n.code!=="EISDIR")throw n}):e.mkdirAsync(t,e).then(()=>r||t,n=>{if(n.code==="ENOENT")return ZD(i,e).then(s=>ZD(t,e,s));if(n.code!=="EEXIST"&&n.code!=="EROFS")throw n;return e.statAsync(t).then(s=>{if(s.isDirectory())return r;throw n},()=>{throw n})})},$D=(t,e,r)=>{let i=i7(t);if(e.recursive=!1,i===t)try{return e.mkdirSync(t,e)}catch(n){if(n.code!=="EISDIR")throw n;return}try{return e.mkdirSync(t,e),r||t}catch(n){if(n.code==="ENOENT")return $D(t,e,$D(i,e,r));if(n.code!=="EEXIST"&&n.code!=="EROFS")throw n;try{if(!e.statSync(t).isDirectory())throw n}catch(s){throw n}}};r7.exports={mkdirpManual:ZD,mkdirpManualSync:$D}});var o7=E((_lt,n7)=>{var{dirname:s7}=require("path"),{findMade:hLe,findMadeSync:pLe}=t7(),{mkdirpManual:dLe,mkdirpManualSync:CLe}=eR(),mLe=(t,e)=>(e.recursive=!0,s7(t)===t?e.mkdirAsync(t,e):hLe(e,t).then(i=>e.mkdirAsync(t,e).then(()=>i).catch(n=>{if(n.code==="ENOENT")return dLe(t,e);throw n}))),ELe=(t,e)=>{if(e.recursive=!0,s7(t)===t)return e.mkdirSync(t,e);let i=pLe(e,t);try{return e.mkdirSync(t,e),i}catch(n){if(n.code==="ENOENT")return CLe(t,e);throw n}};n7.exports={mkdirpNative:mLe,mkdirpNativeSync:ELe}});var c7=E((Xlt,a7)=>{var A7=require("fs"),ILe=process.env.__TESTING_MKDIRP_NODE_VERSION__||process.version,tR=ILe.replace(/^v/,"").split("."),l7=+tR[0]>10||+tR[0]==10&&+tR[1]>=12,yLe=l7?t=>t.mkdir===A7.mkdir:()=>!1,wLe=l7?t=>t.mkdirSync===A7.mkdirSync:()=>!1;a7.exports={useNative:yLe,useNativeSync:wLe}});var d7=E((Zlt,u7)=>{var Sg=zV(),xg=_V(),{mkdirpNative:g7,mkdirpNativeSync:f7}=o7(),{mkdirpManual:h7,mkdirpManualSync:p7}=eR(),{useNative:BLe,useNativeSync:QLe}=c7(),kg=(t,e)=>(t=xg(t),e=Sg(e),BLe(e)?g7(t,e):h7(t,e)),bLe=(t,e)=>(t=xg(t),e=Sg(e),QLe(e)?f7(t,e):p7(t,e));kg.sync=bLe;kg.native=(t,e)=>g7(xg(t),Sg(e));kg.manual=(t,e)=>h7(xg(t),Sg(e));kg.nativeSync=(t,e)=>f7(xg(t),Sg(e));kg.manualSync=(t,e)=>p7(xg(t),Sg(e));u7.exports=kg});var B7=E(($lt,C7)=>{"use strict";var fs=require("fs"),Qc=require("path"),vLe=fs.lchown?"lchown":"chown",SLe=fs.lchownSync?"lchownSync":"chownSync",m7=fs.lchown&&!process.version.match(/v1[1-9]+\./)&&!process.version.match(/v10\.[6-9]/),E7=(t,e,r)=>{try{return fs[SLe](t,e,r)}catch(i){if(i.code!=="ENOENT")throw i}},xLe=(t,e,r)=>{try{return fs.chownSync(t,e,r)}catch(i){if(i.code!=="ENOENT")throw i}},kLe=m7?(t,e,r,i)=>n=>{!n||n.code!=="EISDIR"?i(n):fs.chown(t,e,r,i)}:(t,e,r,i)=>i,rR=m7?(t,e,r)=>{try{return E7(t,e,r)}catch(i){if(i.code!=="EISDIR")throw i;xLe(t,e,r)}}:(t,e,r)=>E7(t,e,r),PLe=process.version,I7=(t,e,r)=>fs.readdir(t,e,r),DLe=(t,e)=>fs.readdirSync(t,e);/^v4\./.test(PLe)&&(I7=(t,e,r)=>fs.readdir(t,r));var wB=(t,e,r,i)=>{fs[vLe](t,e,r,kLe(t,e,r,n=>{i(n&&n.code!=="ENOENT"?n:null)}))},y7=(t,e,r,i,n)=>{if(typeof e=="string")return fs.lstat(Qc.resolve(t,e),(s,o)=>{if(s)return n(s.code!=="ENOENT"?s:null);o.name=e,y7(t,o,r,i,n)});if(e.isDirectory())iR(Qc.resolve(t,e.name),r,i,s=>{if(s)return n(s);let o=Qc.resolve(t,e.name);wB(o,r,i,n)});else{let s=Qc.resolve(t,e.name);wB(s,r,i,n)}},iR=(t,e,r,i)=>{I7(t,{withFileTypes:!0},(n,s)=>{if(n){if(n.code==="ENOENT")return i();if(n.code!=="ENOTDIR"&&n.code!=="ENOTSUP")return i(n)}if(n||!s.length)return wB(t,e,r,i);let o=s.length,a=null,l=c=>{if(!a){if(c)return i(a=c);if(--o==0)return wB(t,e,r,i)}};s.forEach(c=>y7(t,c,e,r,l))})},RLe=(t,e,r,i)=>{if(typeof e=="string")try{let n=fs.lstatSync(Qc.resolve(t,e));n.name=e,e=n}catch(n){if(n.code==="ENOENT")return;throw n}e.isDirectory()&&w7(Qc.resolve(t,e.name),r,i),rR(Qc.resolve(t,e.name),r,i)},w7=(t,e,r)=>{let i;try{i=DLe(t,{withFileTypes:!0})}catch(n){if(n.code==="ENOENT")return;if(n.code==="ENOTDIR"||n.code==="ENOTSUP")return rR(t,e,r);throw n}return i&&i.length&&i.forEach(n=>RLe(t,n,e,r)),rR(t,e,r)};C7.exports=iR;iR.sync=w7});var S7=E((rct,nR)=>{"use strict";var Q7=d7(),hs=require("fs"),BB=require("path"),b7=B7(),sR=class extends Error{constructor(e,r){super("Cannot extract through symbolic link");this.path=r,this.symlink=e}get name(){return"SylinkError"}},cd=class extends Error{constructor(e,r){super(r+": Cannot cd into '"+e+"'");this.path=e,this.code=r}get name(){return"CwdError"}},ect=nR.exports=(t,e,r)=>{let i=e.umask,n=e.mode|448,s=(n&i)!=0,o=e.uid,a=e.gid,l=typeof o=="number"&&typeof a=="number"&&(o!==e.processUid||a!==e.processGid),c=e.preserve,u=e.unlink,g=e.cache,f=e.cwd,h=(m,I)=>{m?r(m):(g.set(t,!0),I&&l?b7(I,o,a,B=>h(B)):s?hs.chmod(t,n,r):r())};if(g&&g.get(t)===!0)return h();if(t===f)return hs.stat(t,(m,I)=>{(m||!I.isDirectory())&&(m=new cd(t,m&&m.code||"ENOTDIR")),h(m)});if(c)return Q7(t,{mode:n}).then(m=>h(null,m),h);let d=BB.relative(f,t).split(/\/|\\/);QB(f,d,n,g,u,f,null,h)},QB=(t,e,r,i,n,s,o,a)=>{if(!e.length)return a(null,o);let l=e.shift(),c=t+"/"+l;if(i.get(c))return QB(c,e,r,i,n,s,o,a);hs.mkdir(c,r,v7(c,e,r,i,n,s,o,a))},v7=(t,e,r,i,n,s,o,a)=>l=>{if(l){if(l.path&&BB.dirname(l.path)===s&&(l.code==="ENOTDIR"||l.code==="ENOENT"))return a(new cd(s,l.code));hs.lstat(t,(c,u)=>{if(c)a(c);else if(u.isDirectory())QB(t,e,r,i,n,s,o,a);else if(n)hs.unlink(t,g=>{if(g)return a(g);hs.mkdir(t,r,v7(t,e,r,i,n,s,o,a))});else{if(u.isSymbolicLink())return a(new sR(t,t+"/"+e.join("/")));a(l)}})}else o=o||t,QB(t,e,r,i,n,s,o,a)},tct=nR.exports.sync=(t,e)=>{let r=e.umask,i=e.mode|448,n=(i&r)!=0,s=e.uid,o=e.gid,a=typeof s=="number"&&typeof o=="number"&&(s!==e.processUid||o!==e.processGid),l=e.preserve,c=e.unlink,u=e.cache,g=e.cwd,f=m=>{u.set(t,!0),m&&a&&b7.sync(m,s,o),n&&hs.chmodSync(t,i)};if(u&&u.get(t)===!0)return f();if(t===g){let m=!1,I="ENOTDIR";try{m=hs.statSync(t).isDirectory()}catch(B){I=B.code}finally{if(!m)throw new cd(t,I)}f();return}if(l)return f(Q7.sync(t,i));let p=BB.relative(g,t).split(/\/|\\/),d=null;for(let m=p.shift(),I=g;m&&(I+="/"+m);m=p.shift())if(!u.get(I))try{hs.mkdirSync(I,i),d=d||I,u.set(I,!0)}catch(B){if(B.path&&BB.dirname(B.path)===g&&(B.code==="ENOTDIR"||B.code==="ENOENT"))return new cd(g,B.code);let b=hs.lstatSync(I);if(b.isDirectory()){u.set(I,!0);continue}else if(c){hs.unlinkSync(I),hs.mkdirSync(I,i),d=d||I,u.set(I,!0);continue}else if(b.isSymbolicLink())return new sR(I,I+"/"+p.join("/"))}return f(d)}});var P7=E((ict,x7)=>{var k7=require("assert");x7.exports=()=>{let t=new Map,e=new Map,{join:r}=require("path"),i=u=>r(u).split(/[\\\/]/).slice(0,-1).reduce((g,f)=>g.length?g.concat(r(g[g.length-1],f)):[f],[]),n=new Set,s=u=>{let g=e.get(u);if(!g)throw new Error("function does not have any path reservations");return{paths:g.paths.map(f=>t.get(f)),dirs:[...g.dirs].map(f=>t.get(f))}},o=u=>{let{paths:g,dirs:f}=s(u);return g.every(h=>h[0]===u)&&f.every(h=>h[0]instanceof Set&&h[0].has(u))},a=u=>n.has(u)||!o(u)?!1:(n.add(u),u(()=>l(u)),!0),l=u=>{if(!n.has(u))return!1;let{paths:g,dirs:f}=e.get(u),h=new Set;return g.forEach(p=>{let d=t.get(p);k7.equal(d[0],u),d.length===1?t.delete(p):(d.shift(),typeof d[0]=="function"?h.add(d[0]):d[0].forEach(m=>h.add(m)))}),f.forEach(p=>{let d=t.get(p);k7(d[0]instanceof Set),d[0].size===1&&d.length===1?t.delete(p):d[0].size===1?(d.shift(),h.add(d[0])):d[0].delete(u)}),n.delete(u),h.forEach(p=>a(p)),!0};return{check:o,reserve:(u,g)=>{let f=new Set(u.map(h=>i(h)).reduce((h,p)=>h.concat(p)));return e.set(g,{dirs:f,paths:u}),u.forEach(h=>{let p=t.get(h);p?p.push(g):t.set(h,[g])}),f.forEach(h=>{let p=t.get(h);p?p[p.length-1]instanceof Set?p[p.length-1].add(g):p.push(new Set([g])):t.set(h,[new Set([g])])}),a(g)}}}});var F7=E((nct,D7)=>{var FLe=process.env.__FAKE_PLATFORM__||process.platform,NLe=FLe==="win32",LLe=global.__FAKE_TESTING_FS__||require("fs"),{O_CREAT:TLe,O_TRUNC:MLe,O_WRONLY:OLe,UV_FS_O_FILEMAP:R7=0}=LLe.constants,KLe=NLe&&!!R7,ULe=512*1024,HLe=R7|MLe|TLe|OLe;D7.exports=KLe?t=>t"w"});var hR=E((Act,N7)=>{"use strict";var GLe=require("assert"),sct=require("events").EventEmitter,jLe=ld(),Ut=require("fs"),YLe=bg(),Pa=require("path"),oR=S7(),oct=oR.sync,L7=yD(),qLe=P7(),T7=Symbol("onEntry"),aR=Symbol("checkFs"),M7=Symbol("checkFs2"),AR=Symbol("isReusable"),Da=Symbol("makeFs"),lR=Symbol("file"),cR=Symbol("directory"),bB=Symbol("link"),O7=Symbol("symlink"),K7=Symbol("hardlink"),U7=Symbol("unsupported"),act=Symbol("unknown"),H7=Symbol("checkPath"),Pg=Symbol("mkdir"),nn=Symbol("onError"),vB=Symbol("pending"),G7=Symbol("pend"),Dg=Symbol("unpend"),uR=Symbol("ended"),gR=Symbol("maybeClose"),fR=Symbol("skip"),ud=Symbol("doChown"),gd=Symbol("uid"),fd=Symbol("gid"),j7=require("crypto"),Y7=F7(),SB=()=>{throw new Error("sync function called cb somehow?!?")},JLe=(t,e)=>{if(process.platform!=="win32")return Ut.unlink(t,e);let r=t+".DELETE."+j7.randomBytes(16).toString("hex");Ut.rename(t,r,i=>{if(i)return e(i);Ut.unlink(r,e)})},WLe=t=>{if(process.platform!=="win32")return Ut.unlinkSync(t);let e=t+".DELETE."+j7.randomBytes(16).toString("hex");Ut.renameSync(t,e),Ut.unlinkSync(e)},q7=(t,e,r)=>t===t>>>0?t:e===e>>>0?e:r,xB=class extends jLe{constructor(e){if(e||(e={}),e.ondone=r=>{this[uR]=!0,this[gR]()},super(e),this.reservations=qLe(),this.transform=typeof e.transform=="function"?e.transform:null,this.writable=!0,this.readable=!1,this[vB]=0,this[uR]=!1,this.dirCache=e.dirCache||new Map,typeof e.uid=="number"||typeof e.gid=="number"){if(typeof e.uid!="number"||typeof e.gid!="number")throw new TypeError("cannot set owner without number uid and gid");if(e.preserveOwner)throw new TypeError("cannot preserve owner in archive and also set owner explicitly");this.uid=e.uid,this.gid=e.gid,this.setOwner=!0}else this.uid=null,this.gid=null,this.setOwner=!1;e.preserveOwner===void 0&&typeof e.uid!="number"?this.preserveOwner=process.getuid&&process.getuid()===0:this.preserveOwner=!!e.preserveOwner,this.processUid=(this.preserveOwner||this.setOwner)&&process.getuid?process.getuid():null,this.processGid=(this.preserveOwner||this.setOwner)&&process.getgid?process.getgid():null,this.forceChown=e.forceChown===!0,this.win32=!!e.win32||process.platform==="win32",this.newer=!!e.newer,this.keep=!!e.keep,this.noMtime=!!e.noMtime,this.preservePaths=!!e.preservePaths,this.unlink=!!e.unlink,this.cwd=Pa.resolve(e.cwd||process.cwd()),this.strip=+e.strip||0,this.processUmask=process.umask(),this.umask=typeof e.umask=="number"?e.umask:this.processUmask,this.dmode=e.dmode||511&~this.umask,this.fmode=e.fmode||438&~this.umask,this.on("entry",r=>this[T7](r))}warn(e,r,i={}){return(e==="TAR_BAD_ARCHIVE"||e==="TAR_ABORT")&&(i.recoverable=!1),super.warn(e,r,i)}[gR](){this[uR]&&this[vB]===0&&(this.emit("prefinish"),this.emit("finish"),this.emit("end"),this.emit("close"))}[H7](e){if(this.strip){let r=e.path.split(/\/|\\/);if(r.length=this.strip&&(e.linkpath=i.slice(this.strip).join("/"))}}if(!this.preservePaths){let r=e.path;if(r.match(/(^|\/|\\)\.\.(\\|\/|$)/))return this.warn("TAR_ENTRY_ERROR","path contains '..'",{entry:e,path:r}),!1;if(Pa.win32.isAbsolute(r)){let i=Pa.win32.parse(r);e.path=r.substr(i.root.length);let n=i.root;this.warn("TAR_ENTRY_INFO",`stripping ${n} from absolute path`,{entry:e,path:r})}}if(this.win32){let r=Pa.win32.parse(e.path);e.path=r.root===""?L7.encode(e.path):r.root+L7.encode(e.path.substr(r.root.length))}return Pa.isAbsolute(e.path)?e.absolute=e.path:e.absolute=Pa.resolve(this.cwd,e.path),!0}[T7](e){if(!this[H7](e))return e.resume();switch(GLe.equal(typeof e.absolute,"string"),e.type){case"Directory":case"GNUDumpDir":e.mode&&(e.mode=e.mode|448);case"File":case"OldFile":case"ContiguousFile":case"Link":case"SymbolicLink":return this[aR](e);case"CharacterDevice":case"BlockDevice":case"FIFO":return this[U7](e)}}[nn](e,r){e.name==="CwdError"?this.emit("error",e):(this.warn("TAR_ENTRY_ERROR",e,{entry:r}),this[Dg](),r.resume())}[Pg](e,r,i){oR(e,{uid:this.uid,gid:this.gid,processUid:this.processUid,processGid:this.processGid,umask:this.processUmask,preserve:this.preservePaths,unlink:this.unlink,cache:this.dirCache,cwd:this.cwd,mode:r},i)}[ud](e){return this.forceChown||this.preserveOwner&&(typeof e.uid=="number"&&e.uid!==this.processUid||typeof e.gid=="number"&&e.gid!==this.processGid)||typeof this.uid=="number"&&this.uid!==this.processUid||typeof this.gid=="number"&&this.gid!==this.processGid}[gd](e){return q7(this.uid,e.uid,this.processUid)}[fd](e){return q7(this.gid,e.gid,this.processGid)}[lR](e,r){let i=e.mode&4095||this.fmode,n=new YLe.WriteStream(e.absolute,{flags:Y7(e.size),mode:i,autoClose:!1});n.on("error",l=>this[nn](l,e));let s=1,o=l=>{if(l)return this[nn](l,e);--s==0&&Ut.close(n.fd,c=>{r(),c?this[nn](c,e):this[Dg]()})};n.on("finish",l=>{let c=e.absolute,u=n.fd;if(e.mtime&&!this.noMtime){s++;let g=e.atime||new Date,f=e.mtime;Ut.futimes(u,g,f,h=>h?Ut.utimes(c,g,f,p=>o(p&&h)):o())}if(this[ud](e)){s++;let g=this[gd](e),f=this[fd](e);Ut.fchown(u,g,f,h=>h?Ut.chown(c,g,f,p=>o(p&&h)):o())}o()});let a=this.transform&&this.transform(e)||e;a!==e&&(a.on("error",l=>this[nn](l,e)),e.pipe(a)),a.pipe(n)}[cR](e,r){let i=e.mode&4095||this.dmode;this[Pg](e.absolute,i,n=>{if(n)return r(),this[nn](n,e);let s=1,o=a=>{--s==0&&(r(),this[Dg](),e.resume())};e.mtime&&!this.noMtime&&(s++,Ut.utimes(e.absolute,e.atime||new Date,e.mtime,o)),this[ud](e)&&(s++,Ut.chown(e.absolute,this[gd](e),this[fd](e),o)),o()})}[U7](e){e.unsupported=!0,this.warn("TAR_ENTRY_UNSUPPORTED",`unsupported entry type: ${e.type}`,{entry:e}),e.resume()}[O7](e,r){this[bB](e,e.linkpath,"symlink",r)}[K7](e,r){this[bB](e,Pa.resolve(this.cwd,e.linkpath),"link",r)}[G7](){this[vB]++}[Dg](){this[vB]--,this[gR]()}[fR](e){this[Dg](),e.resume()}[AR](e,r){return e.type==="File"&&!this.unlink&&r.isFile()&&r.nlink<=1&&process.platform!=="win32"}[aR](e){this[G7]();let r=[e.path];e.linkpath&&r.push(e.linkpath),this.reservations.reserve(r,i=>this[M7](e,i))}[M7](e,r){this[Pg](Pa.dirname(e.absolute),this.dmode,i=>{if(i)return r(),this[nn](i,e);Ut.lstat(e.absolute,(n,s)=>{s&&(this.keep||this.newer&&s.mtime>e.mtime)?(this[fR](e),r()):n||this[AR](e,s)?this[Da](null,e,r):s.isDirectory()?e.type==="Directory"?!e.mode||(s.mode&4095)===e.mode?this[Da](null,e,r):Ut.chmod(e.absolute,e.mode,o=>this[Da](o,e,r)):Ut.rmdir(e.absolute,o=>this[Da](o,e,r)):JLe(e.absolute,o=>this[Da](o,e,r))})})}[Da](e,r,i){if(e)return this[nn](e,r);switch(r.type){case"File":case"OldFile":case"ContiguousFile":return this[lR](r,i);case"Link":return this[K7](r,i);case"SymbolicLink":return this[O7](r,i);case"Directory":case"GNUDumpDir":return this[cR](r,i)}}[bB](e,r,i,n){Ut[i](r,e.absolute,s=>{if(s)return this[nn](s,e);n(),this[Dg](),e.resume()})}},J7=class extends xB{constructor(e){super(e)}[aR](e){let r=this[Pg](Pa.dirname(e.absolute),this.dmode,SB);if(r)return this[nn](r,e);try{let i=Ut.lstatSync(e.absolute);if(this.keep||this.newer&&i.mtime>e.mtime)return this[fR](e);if(this[AR](e,i))return this[Da](null,e,SB);try{return i.isDirectory()?e.type==="Directory"?e.mode&&(i.mode&4095)!==e.mode&&Ut.chmodSync(e.absolute,e.mode):Ut.rmdirSync(e.absolute):WLe(e.absolute),this[Da](null,e,SB)}catch(n){return this[nn](n,e)}}catch(i){return this[Da](null,e,SB)}}[lR](e,r){let i=e.mode&4095||this.fmode,n=l=>{let c;try{Ut.closeSync(o)}catch(u){c=u}(l||c)&&this[nn](l||c,e)},s,o;try{o=Ut.openSync(e.absolute,Y7(e.size),i)}catch(l){return n(l)}let a=this.transform&&this.transform(e)||e;a!==e&&(a.on("error",l=>this[nn](l,e)),e.pipe(a)),a.on("data",l=>{try{Ut.writeSync(o,l,0,l.length)}catch(c){n(c)}}),a.on("end",l=>{let c=null;if(e.mtime&&!this.noMtime){let u=e.atime||new Date,g=e.mtime;try{Ut.futimesSync(o,u,g)}catch(f){try{Ut.utimesSync(e.absolute,u,g)}catch(h){c=f}}}if(this[ud](e)){let u=this[gd](e),g=this[fd](e);try{Ut.fchownSync(o,u,g)}catch(f){try{Ut.chownSync(e.absolute,u,g)}catch(h){c=c||f}}}n(c)})}[cR](e,r){let i=e.mode&4095||this.dmode,n=this[Pg](e.absolute,i);if(n)return this[nn](n,e);if(e.mtime&&!this.noMtime)try{Ut.utimesSync(e.absolute,e.atime||new Date,e.mtime)}catch(s){}if(this[ud](e))try{Ut.chownSync(e.absolute,this[gd](e),this[fd](e))}catch(s){}e.resume()}[Pg](e,r){try{return oR.sync(e,{uid:this.uid,gid:this.gid,processUid:this.processUid,processGid:this.processGid,umask:this.processUmask,preserve:this.preservePaths,unlink:this.unlink,cache:this.dirCache,cwd:this.cwd,mode:r})}catch(i){return i}}[bB](e,r,i,n){try{Ut[i+"Sync"](r,e.absolute),e.resume()}catch(s){return this[nn](s,e)}}};xB.Sync=J7;N7.exports=xB});var X7=E((cct,W7)=>{"use strict";var zLe=fg(),kB=hR(),z7=require("fs"),V7=bg(),_7=require("path"),lct=W7.exports=(t,e,r)=>{typeof t=="function"?(r=t,e=null,t={}):Array.isArray(t)&&(e=t,t={}),typeof e=="function"&&(r=e,e=null),e?e=Array.from(e):e=[];let i=zLe(t);if(i.sync&&typeof r=="function")throw new TypeError("callback not supported for sync tar functions");if(!i.file&&typeof r=="function")throw new TypeError("callback only supported with file option");return e.length&&VLe(i,e),i.file&&i.sync?_Le(i):i.file?XLe(i,r):i.sync?ZLe(i):$Le(i)},VLe=(t,e)=>{let r=new Map(e.map(s=>[s.replace(/\/+$/,""),!0])),i=t.filter,n=(s,o)=>{let a=o||_7.parse(s).root||".",l=s===a?!1:r.has(s)?r.get(s):n(_7.dirname(s),a);return r.set(s,l),l};t.filter=i?(s,o)=>i(s,o)&&n(s.replace(/\/+$/,"")):s=>n(s.replace(/\/+$/,""))},_Le=t=>{let e=new kB.Sync(t),r=t.file,i=!0,n,s=z7.statSync(r),o=t.maxReadSize||16*1024*1024;new V7.ReadStreamSync(r,{readSize:o,size:s.size}).pipe(e)},XLe=(t,e)=>{let r=new kB(t),i=t.maxReadSize||16*1024*1024,n=t.file,s=new Promise((o,a)=>{r.on("error",a),r.on("close",o),z7.stat(n,(l,c)=>{if(l)a(l);else{let u=new V7.ReadStream(n,{readSize:i,size:c.size});u.on("error",a),u.pipe(r)}})});return e?s.then(e,e):s},ZLe=t=>new kB.Sync(t),$Le=t=>new kB(t)});var Z7=E($r=>{"use strict";$r.c=$r.create=TV();$r.r=$r.replace=XD();$r.t=$r.list=IB();$r.u=$r.update=qV();$r.x=$r.extract=X7();$r.Pack=AB();$r.Unpack=hR();$r.Parse=ld();$r.ReadEntry=id();$r.WriteEntry=xD();$r.Header=Cg();$r.Pax=zw();$r.types=rd()});var e_=E((gct,pR)=>{"use strict";var eTe=Object.prototype.hasOwnProperty,sn="~";function hd(){}Object.create&&(hd.prototype=Object.create(null),new hd().__proto__||(sn=!1));function tTe(t,e,r){this.fn=t,this.context=e,this.once=r||!1}function $7(t,e,r,i,n){if(typeof r!="function")throw new TypeError("The listener must be a function");var s=new tTe(r,i||t,n),o=sn?sn+e:e;return t._events[o]?t._events[o].fn?t._events[o]=[t._events[o],s]:t._events[o].push(s):(t._events[o]=s,t._eventsCount++),t}function PB(t,e){--t._eventsCount==0?t._events=new hd:delete t._events[e]}function Ti(){this._events=new hd,this._eventsCount=0}Ti.prototype.eventNames=function(){var e=[],r,i;if(this._eventsCount===0)return e;for(i in r=this._events)eTe.call(r,i)&&e.push(sn?i.slice(1):i);return Object.getOwnPropertySymbols?e.concat(Object.getOwnPropertySymbols(r)):e};Ti.prototype.listeners=function(e){var r=sn?sn+e:e,i=this._events[r];if(!i)return[];if(i.fn)return[i.fn];for(var n=0,s=i.length,o=new Array(s);n{"use strict";t_.exports=(t,e)=>(e=e||(()=>{}),t.then(r=>new Promise(i=>{i(e())}).then(()=>r),r=>new Promise(i=>{i(e())}).then(()=>{throw r})))});var n_=E((hct,DB)=>{"use strict";var rTe=r_(),dR=class extends Error{constructor(e){super(e);this.name="TimeoutError"}},i_=(t,e,r)=>new Promise((i,n)=>{if(typeof e!="number"||e<0)throw new TypeError("Expected `milliseconds` to be a positive number");if(e===Infinity){i(t);return}let s=setTimeout(()=>{if(typeof r=="function"){try{i(r())}catch(l){n(l)}return}let o=typeof r=="string"?r:`Promise timed out after ${e} milliseconds`,a=r instanceof Error?r:new dR(o);typeof t.cancel=="function"&&t.cancel(),n(a)},e);rTe(t.then(i,n),()=>{clearTimeout(s)})});DB.exports=i_;DB.exports.default=i_;DB.exports.TimeoutError=dR});var s_=E(CR=>{"use strict";Object.defineProperty(CR,"__esModule",{value:!0});function iTe(t,e,r){let i=0,n=t.length;for(;n>0;){let s=n/2|0,o=i+s;r(t[o],e)<=0?(i=++o,n-=s+1):n=s}return i}CR.default=iTe});var a_=E(mR=>{"use strict";Object.defineProperty(mR,"__esModule",{value:!0});var nTe=s_(),o_=class{constructor(){this._queue=[]}enqueue(e,r){r=Object.assign({priority:0},r);let i={priority:r.priority,run:e};if(this.size&&this._queue[this.size-1].priority>=r.priority){this._queue.push(i);return}let n=nTe.default(this._queue,i,(s,o)=>o.priority-s.priority);this._queue.splice(n,0,i)}dequeue(){let e=this._queue.shift();return e==null?void 0:e.run}filter(e){return this._queue.filter(r=>r.priority===e.priority).map(r=>r.run)}get size(){return this._queue.length}};mR.default=o_});var c_=E(ER=>{"use strict";Object.defineProperty(ER,"__esModule",{value:!0});var sTe=e_(),A_=n_(),oTe=a_(),RB=()=>{},aTe=new A_.TimeoutError,l_=class extends sTe{constructor(e){var r,i,n,s;super();if(this._intervalCount=0,this._intervalEnd=0,this._pendingCount=0,this._resolveEmpty=RB,this._resolveIdle=RB,e=Object.assign({carryoverConcurrencyCount:!1,intervalCap:Infinity,interval:0,concurrency:Infinity,autoStart:!0,queueClass:oTe.default},e),!(typeof e.intervalCap=="number"&&e.intervalCap>=1))throw new TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${(i=(r=e.intervalCap)===null||r===void 0?void 0:r.toString())!==null&&i!==void 0?i:""}\` (${typeof e.intervalCap})`);if(e.interval===void 0||!(Number.isFinite(e.interval)&&e.interval>=0))throw new TypeError(`Expected \`interval\` to be a finite number >= 0, got \`${(s=(n=e.interval)===null||n===void 0?void 0:n.toString())!==null&&s!==void 0?s:""}\` (${typeof e.interval})`);this._carryoverConcurrencyCount=e.carryoverConcurrencyCount,this._isIntervalIgnored=e.intervalCap===Infinity||e.interval===0,this._intervalCap=e.intervalCap,this._interval=e.interval,this._queue=new e.queueClass,this._queueClass=e.queueClass,this.concurrency=e.concurrency,this._timeout=e.timeout,this._throwOnTimeout=e.throwOnTimeout===!0,this._isPaused=e.autoStart===!1}get _doesIntervalAllowAnother(){return this._isIntervalIgnored||this._intervalCount{this._onResumeInterval()},r)),!0}return!1}_tryToStartAnother(){if(this._queue.size===0)return this._intervalId&&clearInterval(this._intervalId),this._intervalId=void 0,this._resolvePromises(),!1;if(!this._isPaused){let e=!this._isIntervalPaused();if(this._doesIntervalAllowAnother&&this._doesConcurrentAllowAnother){let r=this._queue.dequeue();return r?(this.emit("active"),r(),e&&this._initializeIntervalIfNeeded(),!0):!1}}return!1}_initializeIntervalIfNeeded(){this._isIntervalIgnored||this._intervalId!==void 0||(this._intervalId=setInterval(()=>{this._onInterval()},this._interval),this._intervalEnd=Date.now()+this._interval)}_onInterval(){this._intervalCount===0&&this._pendingCount===0&&this._intervalId&&(clearInterval(this._intervalId),this._intervalId=void 0),this._intervalCount=this._carryoverConcurrencyCount?this._pendingCount:0,this._processQueue()}_processQueue(){for(;this._tryToStartAnother(););}get concurrency(){return this._concurrency}set concurrency(e){if(!(typeof e=="number"&&e>=1))throw new TypeError(`Expected \`concurrency\` to be a number from 1 and up, got \`${e}\` (${typeof e})`);this._concurrency=e,this._processQueue()}async add(e,r={}){return new Promise((i,n)=>{let s=async()=>{this._pendingCount++,this._intervalCount++;try{let o=this._timeout===void 0&&r.timeout===void 0?e():A_.default(Promise.resolve(e()),r.timeout===void 0?this._timeout:r.timeout,()=>{(r.throwOnTimeout===void 0?this._throwOnTimeout:r.throwOnTimeout)&&n(aTe)});i(await o)}catch(o){n(o)}this._next()};this._queue.enqueue(s,r),this._tryToStartAnother(),this.emit("add")})}async addAll(e,r){return Promise.all(e.map(async i=>this.add(i,r)))}start(){return this._isPaused?(this._isPaused=!1,this._processQueue(),this):this}pause(){this._isPaused=!0}clear(){this._queue=new this._queueClass}async onEmpty(){if(this._queue.size!==0)return new Promise(e=>{let r=this._resolveEmpty;this._resolveEmpty=()=>{r(),e()}})}async onIdle(){if(!(this._pendingCount===0&&this._queue.size===0))return new Promise(e=>{let r=this._resolveIdle;this._resolveIdle=()=>{r(),e()}})}get size(){return this._queue.size}sizeBy(e){return this._queue.filter(e).length}get pending(){return this._pendingCount}get isPaused(){return this._isPaused}get timeout(){return this._timeout}set timeout(e){this._timeout=e}};ER.default=l_});var p_=E((Ect,h_)=>{var yR;h_.exports.getContent=()=>(typeof yR=="undefined"&&(yR=require("zlib").brotliDecompressSync(Buffer.from("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","base64")).toString()),yR)});var y_=E((wR,I_)=>{(function(t,e){typeof wR=="object"?I_.exports=e():typeof define=="function"&&define.amd?define(e):t.treeify=e()})(wR,function(){function t(n,s){var o=s?"\u2514":"\u251C";return n?o+="\u2500 ":o+="\u2500\u2500\u2510",o}function e(n,s){var o=[];for(var a in n)!n.hasOwnProperty(a)||s&&typeof n[a]=="function"||o.push(a);return o}function r(n,s,o,a,l,c,u){var g="",f=0,h,p,d=a.slice(0);if(d.push([s,o])&&a.length>0&&(a.forEach(function(I,B){B>0&&(g+=(I[1]?" ":"\u2502")+" "),!p&&I[0]===s&&(p=!0)}),g+=t(n,o)+n,l&&(typeof s!="object"||s instanceof Date)&&(g+=": "+s),p&&(g+=" (circular ref.)"),u(g)),!p&&typeof s=="object"){var m=e(s,c);m.forEach(function(I){h=++f===m.length,r(I,s[I],h,d,l,c,u)})}}var i={};return i.asLines=function(n,s,o,a){var l=typeof o!="function"?o:!1;r(".",n,!1,[],s,l,a||o)},i.asTree=function(n,s,o){var a="";return r(".",n,!1,[],s,o,function(l){a+=l+` +`}),a},i})});var x_=E((Uct,bR)=>{"use strict";var pTe=t=>{let e=!1,r=!1,i=!1;for(let n=0;n{if(!(typeof t=="string"||Array.isArray(t)))throw new TypeError("Expected the input to be `string | string[]`");e=Object.assign({pascalCase:!1},e);let r=n=>e.pascalCase?n.charAt(0).toUpperCase()+n.slice(1):n;return Array.isArray(t)?t=t.map(n=>n.trim()).filter(n=>n.length).join("-"):t=t.trim(),t.length===0?"":t.length===1?e.pascalCase?t.toUpperCase():t.toLowerCase():(t!==t.toLowerCase()&&(t=pTe(t)),t=t.replace(/^[_.\- ]+/,"").toLowerCase().replace(/[_.\- ]+(\w|$)/g,(n,s)=>s.toUpperCase()).replace(/\d+(\w|$)/g,n=>n.toUpperCase()),r(t))};bR.exports=S_;bR.exports.default=S_});var Na=E(TR=>{"use strict";Object.defineProperty(TR,"__esModule",{value:!0});TR.default=L_;function L_(){}L_.prototype={diff:function(e,r){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},n=i.callback;typeof i=="function"&&(n=i,i={}),this.options=i;var s=this;function o(d){return n?(setTimeout(function(){n(void 0,d)},0),!0):d}e=this.castInput(e),r=this.castInput(r),e=this.removeEmpty(this.tokenize(e)),r=this.removeEmpty(this.tokenize(r));var a=r.length,l=e.length,c=1,u=a+l,g=[{newPos:-1,components:[]}],f=this.extractCommon(g[0],r,e,0);if(g[0].newPos+1>=a&&f+1>=l)return o([{value:this.join(r),count:r.length}]);function h(){for(var d=-1*c;d<=c;d+=2){var m=void 0,I=g[d-1],B=g[d+1],b=(B?B.newPos:0)-d;I&&(g[d-1]=void 0);var R=I&&I.newPos+1=a&&b+1>=l)return o(yTe(s,m.components,r,e,s.useLongestToken));g[d]=m}c++}if(n)(function d(){setTimeout(function(){if(c>u)return n();h()||d()},0)})();else for(;c<=u;){var p=h();if(p)return p}},pushComponent:function(e,r,i){var n=e[e.length-1];n&&n.added===r&&n.removed===i?e[e.length-1]={count:n.count+1,added:r,removed:i}:e.push({count:1,added:r,removed:i})},extractCommon:function(e,r,i,n){for(var s=r.length,o=i.length,a=e.newPos,l=a-n,c=0;a+1h.length?d:h}),c.value=t.join(u)}else c.value=t.join(r.slice(a,a+c.count));a+=c.count,c.added||(l+=c.count)}}var f=e[o-1];return o>1&&typeof f.value=="string"&&(f.added||f.removed)&&t.equals("",f.value)&&(e[o-2].value+=f.value,e.pop()),e}function wTe(t){return{newPos:t.newPos,components:t.components.slice(0)}}});var M_=E(Cd=>{"use strict";Object.defineProperty(Cd,"__esModule",{value:!0});Cd.diffChars=BTe;Cd.characterDiff=void 0;var bTe=QTe(Na());function QTe(t){return t&&t.__esModule?t:{default:t}}var T_=new bTe.default;Cd.characterDiff=T_;function BTe(t,e,r){return T_.diff(t,e,r)}});var OR=E(MR=>{"use strict";Object.defineProperty(MR,"__esModule",{value:!0});MR.generateOptions=vTe;function vTe(t,e){if(typeof t=="function")e.callback=t;else if(t)for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r]);return e}});var U_=E(Ng=>{"use strict";Object.defineProperty(Ng,"__esModule",{value:!0});Ng.diffWords=STe;Ng.diffWordsWithSpace=xTe;Ng.wordDiff=void 0;var PTe=kTe(Na()),DTe=OR();function kTe(t){return t&&t.__esModule?t:{default:t}}var O_=/^[A-Za-z\xC0-\u02C6\u02C8-\u02D7\u02DE-\u02FF\u1E00-\u1EFF]+$/,K_=/\S/,md=new PTe.default;Ng.wordDiff=md;md.equals=function(t,e){return this.options.ignoreCase&&(t=t.toLowerCase(),e=e.toLowerCase()),t===e||this.options.ignoreWhitespace&&!K_.test(t)&&!K_.test(e)};md.tokenize=function(t){for(var e=t.split(/(\s+|[()[\]{}'"]|\b)/),r=0;r{"use strict";Object.defineProperty(Lg,"__esModule",{value:!0});Lg.diffLines=RTe;Lg.diffTrimmedLines=FTe;Lg.lineDiff=void 0;var LTe=NTe(Na()),TTe=OR();function NTe(t){return t&&t.__esModule?t:{default:t}}var OB=new LTe.default;Lg.lineDiff=OB;OB.tokenize=function(t){var e=[],r=t.split(/(\n|\r\n)/);r[r.length-1]||r.pop();for(var i=0;i{"use strict";Object.defineProperty(Ed,"__esModule",{value:!0});Ed.diffSentences=MTe;Ed.sentenceDiff=void 0;var KTe=OTe(Na());function OTe(t){return t&&t.__esModule?t:{default:t}}var KR=new KTe.default;Ed.sentenceDiff=KR;KR.tokenize=function(t){return t.split(/(\S.+?[.!?])(?=\s+|$)/)};function MTe(t,e,r){return KR.diff(t,e,r)}});var G_=E(Id=>{"use strict";Object.defineProperty(Id,"__esModule",{value:!0});Id.diffCss=UTe;Id.cssDiff=void 0;var GTe=HTe(Na());function HTe(t){return t&&t.__esModule?t:{default:t}}var UR=new GTe.default;Id.cssDiff=UR;UR.tokenize=function(t){return t.split(/([{}:;,]|\s+)/)};function UTe(t,e,r){return UR.diff(t,e,r)}});var Y_=E(Tg=>{"use strict";Object.defineProperty(Tg,"__esModule",{value:!0});Tg.diffJson=jTe;Tg.canonicalize=UB;Tg.jsonDiff=void 0;var j_=YTe(Na()),qTe=KB();function YTe(t){return t&&t.__esModule?t:{default:t}}function HB(t){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?HB=function(r){return typeof r}:HB=function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},HB(t)}var JTe=Object.prototype.toString,bc=new j_.default;Tg.jsonDiff=bc;bc.useLongestToken=!0;bc.tokenize=qTe.lineDiff.tokenize;bc.castInput=function(t){var e=this.options,r=e.undefinedReplacement,i=e.stringifyReplacer,n=i===void 0?function(s,o){return typeof o=="undefined"?r:o}:i;return typeof t=="string"?t:JSON.stringify(UB(t,null,null,n),n," ")};bc.equals=function(t,e){return j_.default.prototype.equals.call(bc,t.replace(/,([\r\n])/g,"$1"),e.replace(/,([\r\n])/g,"$1"))};function jTe(t,e,r){return bc.diff(t,e,r)}function UB(t,e,r,i,n){e=e||[],r=r||[],i&&(t=i(n,t));var s;for(s=0;s{"use strict";Object.defineProperty(yd,"__esModule",{value:!0});yd.diffArrays=WTe;yd.arrayDiff=void 0;var VTe=zTe(Na());function zTe(t){return t&&t.__esModule?t:{default:t}}var wd=new VTe.default;yd.arrayDiff=wd;wd.tokenize=function(t){return t.slice()};wd.join=wd.removeEmpty=function(t){return t};function WTe(t,e,r){return wd.diff(t,e,r)}});var GB=E(HR=>{"use strict";Object.defineProperty(HR,"__esModule",{value:!0});HR.parsePatch=_Te;function _Te(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=t.split(/\r\n|[\n\v\f\r\x85]/),i=t.match(/\r\n|[\n\v\f\r\x85]/g)||[],n=[],s=0;function o(){var c={};for(n.push(c);s{"use strict";Object.defineProperty(GR,"__esModule",{value:!0});GR.default=XTe;function XTe(t,e,r){var i=!0,n=!1,s=!1,o=1;return function a(){if(i&&!s){if(n?o++:i=!1,t+o<=r)return o;s=!0}if(!n)return s||(i=!0),e<=t-o?-o++:(n=!0,a())}}});var V_=E(jB=>{"use strict";Object.defineProperty(jB,"__esModule",{value:!0});jB.applyPatch=W_;jB.applyPatches=ZTe;var z_=GB(),eMe=$Te(J_());function $Te(t){return t&&t.__esModule?t:{default:t}}function W_(t,e){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};if(typeof e=="string"&&(e=(0,z_.parsePatch)(e)),Array.isArray(e)){if(e.length>1)throw new Error("applyPatch only works with a single input.");e=e[0]}var i=t.split(/\r\n|[\n\v\f\r\x85]/),n=t.match(/\r\n|[\n\v\f\r\x85]/g)||[],s=e.hunks,o=r.compareLine||function(F,D,he,pe){return D===pe},a=0,l=r.fuzzFactor||0,c=0,u=0,g,f;function h(F,D){for(var he=0;he0?pe[0]:" ",Pe=pe.length>0?pe.substr(1):pe;if(Ne===" "||Ne==="-"){if(!o(D+1,i[D],Ne,Pe)&&(a++,a>l))return!1;D++}}return!0}for(var p=0;p0?ne[0]:" ",A=ne.length>0?ne.substr(1):ne,V=L.linedelimiters[J];if(q===" ")K++;else if(q==="-")i.splice(K,1),n.splice(K,1);else if(q==="+")i.splice(K,0,A),n.splice(K,0,V),K++;else if(q==="\\"){var W=L.lines[J-1]?L.lines[J-1][0]:null;W==="+"?g=!0:W==="-"&&(f=!0)}}}if(g)for(;!i[i.length-1];)i.pop(),n.pop();else f&&(i.push(""),n.push(` +`));for(var X=0;X{"use strict";Object.defineProperty(Bd,"__esModule",{value:!0});Bd.structuredPatch=__;Bd.createTwoFilesPatch=X_;Bd.createPatch=tMe;var rMe=KB();function jR(t){return sMe(t)||nMe(t)||iMe()}function iMe(){throw new TypeError("Invalid attempt to spread non-iterable instance")}function nMe(t){if(Symbol.iterator in Object(t)||Object.prototype.toString.call(t)==="[object Arguments]")return Array.from(t)}function sMe(t){if(Array.isArray(t)){for(var e=0,r=new Array(t.length);e0?l(L.lines.slice(-o.context)):[],u-=f.length,g-=f.length)}(H=f).push.apply(H,jR(R.map(function(X){return(b.added?"+":"-")+X}))),b.added?p+=R.length:h+=R.length}else{if(u)if(R.length<=o.context*2&&B=a.length-2&&R.length<=o.context){var A=/\n$/.test(r),V=/\n$/.test(i),W=R.length==0&&f.length>q.oldLines;!A&&W&&f.splice(q.oldLines,0,"\\ No newline at end of file"),(!A&&!W||!V)&&f.push("\\ No newline at end of file")}c.push(q),u=0,g=0,f=[]}h+=R.length,p+=R.length}},m=0;m{"use strict";Object.defineProperty(YB,"__esModule",{value:!0});YB.arrayEqual=oMe;YB.arrayStartsWith=Z_;function oMe(t,e){return t.length!==e.length?!1:Z_(t,e)}function Z_(t,e){if(e.length>t.length)return!1;for(var r=0;r{"use strict";Object.defineProperty(qB,"__esModule",{value:!0});qB.calcLineCount=eX;qB.merge=aMe;var AMe=YR(),lMe=GB(),qR=$_();function Mg(t){return gMe(t)||uMe(t)||cMe()}function cMe(){throw new TypeError("Invalid attempt to spread non-iterable instance")}function uMe(t){if(Symbol.iterator in Object(t)||Object.prototype.toString.call(t)==="[object Arguments]")return Array.from(t)}function gMe(t){if(Array.isArray(t)){for(var e=0,r=new Array(t.length);e{"use strict";Object.defineProperty(zR,"__esModule",{value:!0});zR.convertChangesToDMP=dMe;function dMe(t){for(var e=[],r,i,n=0;n{"use strict";Object.defineProperty(VR,"__esModule",{value:!0});VR.convertChangesToXML=CMe;function CMe(t){for(var e=[],r=0;r"):i.removed&&e.push(""),e.push(mMe(i.value)),i.added?e.push(""):i.removed&&e.push("")}return e.join("")}function mMe(t){var e=t;return e=e.replace(/&/g,"&"),e=e.replace(//g,">"),e=e.replace(/"/g,"""),e}});var CX=E(br=>{"use strict";Object.defineProperty(br,"__esModule",{value:!0});Object.defineProperty(br,"Diff",{enumerable:!0,get:function(){return EMe.default}});Object.defineProperty(br,"diffChars",{enumerable:!0,get:function(){return IMe.diffChars}});Object.defineProperty(br,"diffWords",{enumerable:!0,get:function(){return fX.diffWords}});Object.defineProperty(br,"diffWordsWithSpace",{enumerable:!0,get:function(){return fX.diffWordsWithSpace}});Object.defineProperty(br,"diffLines",{enumerable:!0,get:function(){return hX.diffLines}});Object.defineProperty(br,"diffTrimmedLines",{enumerable:!0,get:function(){return hX.diffTrimmedLines}});Object.defineProperty(br,"diffSentences",{enumerable:!0,get:function(){return yMe.diffSentences}});Object.defineProperty(br,"diffCss",{enumerable:!0,get:function(){return wMe.diffCss}});Object.defineProperty(br,"diffJson",{enumerable:!0,get:function(){return pX.diffJson}});Object.defineProperty(br,"canonicalize",{enumerable:!0,get:function(){return pX.canonicalize}});Object.defineProperty(br,"diffArrays",{enumerable:!0,get:function(){return BMe.diffArrays}});Object.defineProperty(br,"applyPatch",{enumerable:!0,get:function(){return dX.applyPatch}});Object.defineProperty(br,"applyPatches",{enumerable:!0,get:function(){return dX.applyPatches}});Object.defineProperty(br,"parsePatch",{enumerable:!0,get:function(){return QMe.parsePatch}});Object.defineProperty(br,"merge",{enumerable:!0,get:function(){return bMe.merge}});Object.defineProperty(br,"structuredPatch",{enumerable:!0,get:function(){return _R.structuredPatch}});Object.defineProperty(br,"createTwoFilesPatch",{enumerable:!0,get:function(){return _R.createTwoFilesPatch}});Object.defineProperty(br,"createPatch",{enumerable:!0,get:function(){return _R.createPatch}});Object.defineProperty(br,"convertChangesToDMP",{enumerable:!0,get:function(){return vMe.convertChangesToDMP}});Object.defineProperty(br,"convertChangesToXML",{enumerable:!0,get:function(){return SMe.convertChangesToXML}});var EMe=xMe(Na()),IMe=M_(),fX=U_(),hX=KB(),yMe=H_(),wMe=G_(),pX=Y_(),BMe=q_(),dX=V_(),QMe=GB(),bMe=cX(),_R=YR(),vMe=uX(),SMe=gX();function xMe(t){return t&&t.__esModule?t:{default:t}}});var WB=E((agt,mX)=>{var kMe=As(),PMe=Nw(),DMe=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,RMe=/^\w*$/;function FMe(t,e){if(kMe(t))return!1;var r=typeof t;return r=="number"||r=="symbol"||r=="boolean"||t==null||PMe(t)?!0:RMe.test(t)||!DMe.test(t)||e!=null&&t in Object(e)}mX.exports=FMe});var Gs=E((Agt,EX)=>{function NMe(t){var e=typeof t;return t!=null&&(e=="object"||e=="function")}EX.exports=NMe});var zB=E((lgt,IX)=>{var LMe=Ac(),TMe=Gs(),MMe="[object AsyncFunction]",OMe="[object Function]",KMe="[object GeneratorFunction]",UMe="[object Proxy]";function HMe(t){if(!TMe(t))return!1;var e=LMe(t);return e==OMe||e==KMe||e==MMe||e==UMe}IX.exports=HMe});var wX=E((cgt,yX)=>{var GMe=Ks(),jMe=GMe["__core-js_shared__"];yX.exports=jMe});var bX=E((ugt,BX)=>{var XR=wX(),QX=function(){var t=/[^.]+$/.exec(XR&&XR.keys&&XR.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""}();function YMe(t){return!!QX&&QX in t}BX.exports=YMe});var ZR=E((ggt,vX)=>{var qMe=Function.prototype,JMe=qMe.toString;function WMe(t){if(t!=null){try{return JMe.call(t)}catch(e){}try{return t+""}catch(e){}}return""}vX.exports=WMe});var xX=E((fgt,SX)=>{var zMe=zB(),VMe=bX(),_Me=Gs(),XMe=ZR(),ZMe=/[\\^$.*+?()[\]{}|]/g,$Me=/^\[object .+?Constructor\]$/,eOe=Function.prototype,tOe=Object.prototype,rOe=eOe.toString,iOe=tOe.hasOwnProperty,nOe=RegExp("^"+rOe.call(iOe).replace(ZMe,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function sOe(t){if(!_Me(t)||VMe(t))return!1;var e=zMe(t)?nOe:$Me;return e.test(XMe(t))}SX.exports=sOe});var PX=E((hgt,kX)=>{function oOe(t,e){return t==null?void 0:t[e]}kX.exports=oOe});var UA=E((pgt,DX)=>{var aOe=xX(),AOe=PX();function lOe(t,e){var r=AOe(t,e);return aOe(r)?r:void 0}DX.exports=lOe});var Qd=E((dgt,RX)=>{var cOe=UA(),uOe=cOe(Object,"create");RX.exports=uOe});var LX=E((Cgt,FX)=>{var NX=Qd();function gOe(){this.__data__=NX?NX(null):{},this.size=0}FX.exports=gOe});var MX=E((mgt,TX)=>{function fOe(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e}TX.exports=fOe});var KX=E((Egt,OX)=>{var hOe=Qd(),pOe="__lodash_hash_undefined__",dOe=Object.prototype,COe=dOe.hasOwnProperty;function mOe(t){var e=this.__data__;if(hOe){var r=e[t];return r===pOe?void 0:r}return COe.call(e,t)?e[t]:void 0}OX.exports=mOe});var HX=E((Igt,UX)=>{var EOe=Qd(),IOe=Object.prototype,yOe=IOe.hasOwnProperty;function wOe(t){var e=this.__data__;return EOe?e[t]!==void 0:yOe.call(e,t)}UX.exports=wOe});var jX=E((ygt,GX)=>{var BOe=Qd(),QOe="__lodash_hash_undefined__";function bOe(t,e){var r=this.__data__;return this.size+=this.has(t)?0:1,r[t]=BOe&&e===void 0?QOe:e,this}GX.exports=bOe});var qX=E((wgt,YX)=>{var vOe=LX(),SOe=MX(),xOe=KX(),kOe=HX(),POe=jX();function Og(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e{function DOe(){this.__data__=[],this.size=0}JX.exports=DOe});var Kg=E((Qgt,zX)=>{function ROe(t,e){return t===e||t!==t&&e!==e}zX.exports=ROe});var bd=E((bgt,VX)=>{var FOe=Kg();function NOe(t,e){for(var r=t.length;r--;)if(FOe(t[r][0],e))return r;return-1}VX.exports=NOe});var XX=E((vgt,_X)=>{var LOe=bd(),TOe=Array.prototype,MOe=TOe.splice;function OOe(t){var e=this.__data__,r=LOe(e,t);if(r<0)return!1;var i=e.length-1;return r==i?e.pop():MOe.call(e,r,1),--this.size,!0}_X.exports=OOe});var $X=E((Sgt,ZX)=>{var KOe=bd();function UOe(t){var e=this.__data__,r=KOe(e,t);return r<0?void 0:e[r][1]}ZX.exports=UOe});var tZ=E((xgt,eZ)=>{var HOe=bd();function GOe(t){return HOe(this.__data__,t)>-1}eZ.exports=GOe});var iZ=E((kgt,rZ)=>{var jOe=bd();function YOe(t,e){var r=this.__data__,i=jOe(r,t);return i<0?(++this.size,r.push([t,e])):r[i][1]=e,this}rZ.exports=YOe});var vd=E((Pgt,nZ)=>{var qOe=WX(),JOe=XX(),WOe=$X(),zOe=tZ(),VOe=iZ();function Ug(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e{var _Oe=UA(),XOe=Ks(),ZOe=_Oe(XOe,"Map");sZ.exports=ZOe});var AZ=E((Rgt,oZ)=>{var aZ=qX(),$Oe=vd(),eKe=VB();function tKe(){this.size=0,this.__data__={hash:new aZ,map:new(eKe||$Oe),string:new aZ}}oZ.exports=tKe});var cZ=E((Fgt,lZ)=>{function rKe(t){var e=typeof t;return e=="string"||e=="number"||e=="symbol"||e=="boolean"?t!=="__proto__":t===null}lZ.exports=rKe});var Sd=E((Ngt,uZ)=>{var iKe=cZ();function nKe(t,e){var r=t.__data__;return iKe(e)?r[typeof e=="string"?"string":"hash"]:r.map}uZ.exports=nKe});var fZ=E((Lgt,gZ)=>{var sKe=Sd();function oKe(t){var e=sKe(this,t).delete(t);return this.size-=e?1:0,e}gZ.exports=oKe});var pZ=E((Tgt,hZ)=>{var aKe=Sd();function AKe(t){return aKe(this,t).get(t)}hZ.exports=AKe});var CZ=E((Mgt,dZ)=>{var lKe=Sd();function cKe(t){return lKe(this,t).has(t)}dZ.exports=cKe});var EZ=E((Ogt,mZ)=>{var uKe=Sd();function gKe(t,e){var r=uKe(this,t),i=r.size;return r.set(t,e),this.size+=r.size==i?0:1,this}mZ.exports=gKe});var _B=E((Kgt,IZ)=>{var fKe=AZ(),hKe=fZ(),pKe=pZ(),dKe=CZ(),CKe=EZ();function Hg(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e{var wZ=_B(),mKe="Expected a function";function $R(t,e){if(typeof t!="function"||e!=null&&typeof e!="function")throw new TypeError(mKe);var r=function(){var i=arguments,n=e?e.apply(this,i):i[0],s=r.cache;if(s.has(n))return s.get(n);var o=t.apply(this,i);return r.cache=s.set(n,o)||s,o};return r.cache=new($R.Cache||wZ),r}$R.Cache=wZ;yZ.exports=$R});var bZ=E((Hgt,QZ)=>{var EKe=BZ(),IKe=500;function yKe(t){var e=EKe(t,function(i){return r.size===IKe&&r.clear(),i}),r=e.cache;return e}QZ.exports=yKe});var SZ=E((Ggt,vZ)=>{var wKe=bZ(),BKe=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,QKe=/\\(\\)?/g,bKe=wKe(function(t){var e=[];return t.charCodeAt(0)===46&&e.push(""),t.replace(BKe,function(r,i,n,s){e.push(n?s.replace(QKe,"$1"):i||r)}),e});vZ.exports=bKe});var Gg=E((jgt,xZ)=>{var vKe=As(),SKe=WB(),xKe=SZ(),kKe=gg();function PKe(t,e){return vKe(t)?t:SKe(t,e)?[t]:xKe(kKe(t))}xZ.exports=PKe});var Sc=E((Ygt,kZ)=>{var DKe=Nw(),RKe=1/0;function FKe(t){if(typeof t=="string"||DKe(t))return t;var e=t+"";return e=="0"&&1/t==-RKe?"-0":e}kZ.exports=FKe});var xd=E((qgt,PZ)=>{var NKe=Gg(),LKe=Sc();function TKe(t,e){e=NKe(e,t);for(var r=0,i=e.length;t!=null&&r{var MKe=UA(),OKe=function(){try{var t=MKe(Object,"defineProperty");return t({},"",{}),t}catch(e){}}();DZ.exports=OKe});var jg=E((Wgt,RZ)=>{var FZ=eF();function KKe(t,e,r){e=="__proto__"&&FZ?FZ(t,e,{configurable:!0,enumerable:!0,value:r,writable:!0}):t[e]=r}RZ.exports=KKe});var XB=E((zgt,NZ)=>{var UKe=jg(),HKe=Kg(),GKe=Object.prototype,jKe=GKe.hasOwnProperty;function YKe(t,e,r){var i=t[e];(!(jKe.call(t,e)&&HKe(i,r))||r===void 0&&!(e in t))&&UKe(t,e,r)}NZ.exports=YKe});var kd=E((Vgt,LZ)=>{var qKe=9007199254740991,JKe=/^(?:0|[1-9]\d*)$/;function WKe(t,e){var r=typeof t;return e=e==null?qKe:e,!!e&&(r=="number"||r!="symbol"&&JKe.test(t))&&t>-1&&t%1==0&&t{var zKe=XB(),VKe=Gg(),_Ke=kd(),MZ=Gs(),XKe=Sc();function ZKe(t,e,r,i){if(!MZ(t))return t;e=VKe(e,t);for(var n=-1,s=e.length,o=s-1,a=t;a!=null&&++n{var $Ke=xd(),e1e=tF(),t1e=Gg();function r1e(t,e,r){for(var i=-1,n=e.length,s={};++i{function i1e(t,e){return t!=null&&e in Object(t)}UZ.exports=i1e});var jZ=E(($gt,GZ)=>{var n1e=Ac(),s1e=Qo(),o1e="[object Arguments]";function a1e(t){return s1e(t)&&n1e(t)==o1e}GZ.exports=a1e});var Pd=E((eft,YZ)=>{var qZ=jZ(),A1e=Qo(),JZ=Object.prototype,l1e=JZ.hasOwnProperty,c1e=JZ.propertyIsEnumerable,u1e=qZ(function(){return arguments}())?qZ:function(t){return A1e(t)&&l1e.call(t,"callee")&&!c1e.call(t,"callee")};YZ.exports=u1e});var ZB=E((tft,WZ)=>{var g1e=9007199254740991;function f1e(t){return typeof t=="number"&&t>-1&&t%1==0&&t<=g1e}WZ.exports=f1e});var rF=E((rft,zZ)=>{var h1e=Gg(),p1e=Pd(),d1e=As(),C1e=kd(),m1e=ZB(),E1e=Sc();function I1e(t,e,r){e=h1e(e,t);for(var i=-1,n=e.length,s=!1;++i{var y1e=HZ(),w1e=rF();function B1e(t,e){return t!=null&&w1e(t,e,y1e)}VZ.exports=B1e});var XZ=E((nft,_Z)=>{var Q1e=KZ(),b1e=iF();function v1e(t,e){return Q1e(t,e,function(r,i){return b1e(t,i)})}_Z.exports=v1e});var $B=E((sft,ZZ)=>{function S1e(t,e){for(var r=-1,i=e.length,n=t.length;++r{var e$=ac(),x1e=Pd(),k1e=As(),t$=e$?e$.isConcatSpreadable:void 0;function P1e(t){return k1e(t)||x1e(t)||!!(t$&&t&&t[t$])}$Z.exports=P1e});var s$=E((aft,i$)=>{var D1e=$B(),R1e=r$();function n$(t,e,r,i,n){var s=-1,o=t.length;for(r||(r=R1e),n||(n=[]);++s0&&r(a)?e>1?n$(a,e-1,r,i,n):D1e(n,a):i||(n[n.length]=a)}return n}i$.exports=n$});var a$=E((Aft,o$)=>{var F1e=s$();function N1e(t){var e=t==null?0:t.length;return e?F1e(t,1):[]}o$.exports=N1e});var l$=E((lft,A$)=>{function L1e(t,e,r){switch(r.length){case 0:return t.call(e);case 1:return t.call(e,r[0]);case 2:return t.call(e,r[0],r[1]);case 3:return t.call(e,r[0],r[1],r[2])}return t.apply(e,r)}A$.exports=L1e});var nF=E((cft,c$)=>{var T1e=l$(),u$=Math.max;function M1e(t,e,r){return e=u$(e===void 0?t.length-1:e,0),function(){for(var i=arguments,n=-1,s=u$(i.length-e,0),o=Array(s);++n{function O1e(t){return function(){return t}}g$.exports=O1e});var e0=E((gft,h$)=>{function K1e(t){return t}h$.exports=K1e});var C$=E((fft,p$)=>{var U1e=f$(),d$=eF(),H1e=e0(),G1e=d$?function(t,e){return d$(t,"toString",{configurable:!0,enumerable:!1,value:U1e(e),writable:!0})}:H1e;p$.exports=G1e});var E$=E((hft,m$)=>{var j1e=800,Y1e=16,q1e=Date.now;function J1e(t){var e=0,r=0;return function(){var i=q1e(),n=Y1e-(i-r);if(r=i,n>0){if(++e>=j1e)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}m$.exports=J1e});var sF=E((pft,I$)=>{var W1e=C$(),z1e=E$(),V1e=z1e(W1e);I$.exports=V1e});var w$=E((dft,y$)=>{var _1e=a$(),X1e=nF(),Z1e=sF();function $1e(t){return Z1e(X1e(t,void 0,_1e),t+"")}y$.exports=$1e});var Q$=E((Cft,B$)=>{var eUe=XZ(),tUe=w$(),rUe=tUe(function(t,e){return t==null?{}:eUe(t,e)});B$.exports=rUe});var M$=E((lpt,N$)=>{"use strict";var pF;try{pF=Map}catch(t){}var dF;try{dF=Set}catch(t){}function L$(t,e,r){if(!t||typeof t!="object"||typeof t=="function")return t;if(t.nodeType&&"cloneNode"in t)return t.cloneNode(!0);if(t instanceof Date)return new Date(t.getTime());if(t instanceof RegExp)return new RegExp(t);if(Array.isArray(t))return t.map(T$);if(pF&&t instanceof pF)return new Map(Array.from(t.entries()));if(dF&&t instanceof dF)return new Set(Array.from(t.values()));if(t instanceof Object){e.push(t);var i=Object.create(t);r.push(i);for(var n in t){var s=e.findIndex(function(o){return o===t[n]});i[n]=s>-1?r[s]:L$(t[n],e,r)}return i}return t}function T$(t){return L$(t,[],[])}N$.exports=T$});var Nd=E(CF=>{"use strict";Object.defineProperty(CF,"__esModule",{value:!0});CF.default=uUe;var gUe=Object.prototype.toString,fUe=Error.prototype.toString,hUe=RegExp.prototype.toString,pUe=typeof Symbol!="undefined"?Symbol.prototype.toString:()=>"",dUe=/^Symbol\((.*)\)(.*)$/;function CUe(t){return t!=+t?"NaN":t===0&&1/t<0?"-0":""+t}function O$(t,e=!1){if(t==null||t===!0||t===!1)return""+t;let r=typeof t;if(r==="number")return CUe(t);if(r==="string")return e?`"${t}"`:t;if(r==="function")return"[Function "+(t.name||"anonymous")+"]";if(r==="symbol")return pUe.call(t).replace(dUe,"Symbol($1)");let i=gUe.call(t).slice(8,-1);return i==="Date"?isNaN(t.getTime())?""+t:t.toISOString(t):i==="Error"||t instanceof Error?"["+fUe.call(t)+"]":i==="RegExp"?hUe.call(t):null}function uUe(t,e){let r=O$(t,e);return r!==null?r:JSON.stringify(t,function(i,n){let s=O$(this[i],e);return s!==null?s:n},2)}});var La=E(ci=>{"use strict";Object.defineProperty(ci,"__esModule",{value:!0});ci.default=ci.array=ci.object=ci.boolean=ci.date=ci.number=ci.string=ci.mixed=void 0;var K$=mUe(Nd());function mUe(t){return t&&t.__esModule?t:{default:t}}var U$={default:"${path} is invalid",required:"${path} is a required field",oneOf:"${path} must be one of the following values: ${values}",notOneOf:"${path} must not be one of the following values: ${values}",notType:({path:t,type:e,value:r,originalValue:i})=>{let n=i!=null&&i!==r,s=`${t} must be a \`${e}\` type, but the final value was: \`${(0,K$.default)(r,!0)}\``+(n?` (cast from the value \`${(0,K$.default)(i,!0)}\`).`:".");return r===null&&(s+='\n If "null" is intended as an empty value be sure to mark the schema as `.nullable()`'),s},defined:"${path} must be defined"};ci.mixed=U$;var H$={length:"${path} must be exactly ${length} characters",min:"${path} must be at least ${min} characters",max:"${path} must be at most ${max} characters",matches:'${path} must match the following: "${regex}"',email:"${path} must be a valid email",url:"${path} must be a valid URL",uuid:"${path} must be a valid UUID",trim:"${path} must be a trimmed string",lowercase:"${path} must be a lowercase string",uppercase:"${path} must be a upper case string"};ci.string=H$;var G$={min:"${path} must be greater than or equal to ${min}",max:"${path} must be less than or equal to ${max}",lessThan:"${path} must be less than ${less}",moreThan:"${path} must be greater than ${more}",positive:"${path} must be a positive number",negative:"${path} must be a negative number",integer:"${path} must be an integer"};ci.number=G$;var j$={min:"${path} field must be later than ${min}",max:"${path} field must be at earlier than ${max}"};ci.date=j$;var Y$={isValue:"${path} field must be ${value}"};ci.boolean=Y$;var q$={noUnknown:"${path} field has unspecified keys: ${unknown}"};ci.object=q$;var J$={min:"${path} field must have at least ${min} items",max:"${path} field must have less than or equal to ${max} items",length:"${path} must be have ${length} items"};ci.array=J$;var EUe=Object.assign(Object.create(null),{mixed:U$,string:H$,number:G$,date:j$,object:q$,array:J$,boolean:Y$});ci.default=EUe});var z$=E((gpt,W$)=>{var IUe=Object.prototype,yUe=IUe.hasOwnProperty;function wUe(t,e){return t!=null&&yUe.call(t,e)}W$.exports=wUe});var Ld=E((fpt,V$)=>{var BUe=z$(),QUe=rF();function bUe(t,e){return t!=null&&QUe(t,e,BUe)}V$.exports=bUe});var qg=E(n0=>{"use strict";Object.defineProperty(n0,"__esModule",{value:!0});n0.default=void 0;var vUe=t=>t&&t.__isYupSchema__;n0.default=vUe});var Z$=E(s0=>{"use strict";Object.defineProperty(s0,"__esModule",{value:!0});s0.default=void 0;var SUe=_$(Ld()),xUe=_$(qg());function _$(t){return t&&t.__esModule?t:{default:t}}var X$=class{constructor(e,r){if(this.refs=e,this.refs=e,typeof r=="function"){this.fn=r;return}if(!(0,SUe.default)(r,"is"))throw new TypeError("`is:` is required for `when()` conditions");if(!r.then&&!r.otherwise)throw new TypeError("either `then:` or `otherwise:` is required for `when()` conditions");let{is:i,then:n,otherwise:s}=r,o=typeof i=="function"?i:(...a)=>a.every(l=>l===i);this.fn=function(...a){let l=a.pop(),c=a.pop(),u=o(...a)?n:s;if(!!u)return typeof u=="function"?u(c):c.concat(u.resolve(l))}}resolve(e,r){let i=this.refs.map(s=>s.getValue(r==null?void 0:r.value,r==null?void 0:r.parent,r==null?void 0:r.context)),n=this.fn.apply(e,i.concat(e,r));if(n===void 0||n===e)return e;if(!(0,xUe.default)(n))throw new TypeError("conditions must return a schema object");return n.resolve(r)}},kUe=X$;s0.default=kUe});var EF=E(mF=>{"use strict";Object.defineProperty(mF,"__esModule",{value:!0});mF.default=PUe;function PUe(t){return t==null?[]:[].concat(t)}});var xc=E(o0=>{"use strict";Object.defineProperty(o0,"__esModule",{value:!0});o0.default=void 0;var DUe=$$(Nd()),RUe=$$(EF());function $$(t){return t&&t.__esModule?t:{default:t}}function IF(){return IF=Object.assign||function(t){for(var e=1;e(0,DUe.default)(r[s])):typeof e=="function"?e(r):e}static isError(e){return e&&e.name==="ValidationError"}constructor(e,r,i,n){super();this.name="ValidationError",this.value=r,this.path=i,this.type=n,this.errors=[],this.inner=[],(0,RUe.default)(e).forEach(s=>{Td.isError(s)?(this.errors.push(...s.errors),this.inner=this.inner.concat(s.inner.length?s.inner:s)):this.errors.push(s)}),this.message=this.errors.length>1?`${this.errors.length} errors occurred`:this.errors[0],Error.captureStackTrace&&Error.captureStackTrace(this,Td)}};o0.default=Td});var a0=E(yF=>{"use strict";Object.defineProperty(yF,"__esModule",{value:!0});yF.default=NUe;var wF=LUe(xc());function LUe(t){return t&&t.__esModule?t:{default:t}}var TUe=t=>{let e=!1;return(...r)=>{e||(e=!0,t(...r))}};function NUe(t,e){let{endEarly:r,tests:i,args:n,value:s,errors:o,sort:a,path:l}=t,c=TUe(e),u=i.length,g=[];if(o=o||[],!u)return o.length?c(new wF.default(o,s,l)):c(null,s);for(let f=0;f{function MUe(t){return function(e,r,i){for(var n=-1,s=Object(e),o=i(e),a=o.length;a--;){var l=o[t?a:++n];if(r(s[l],l,s)===!1)break}return e}}eee.exports=MUe});var BF=E((Ipt,ree)=>{var OUe=tee(),KUe=OUe();ree.exports=KUe});var nee=E((ypt,iee)=>{function UUe(t,e){for(var r=-1,i=Array(t);++r{function HUe(){return!1}see.exports=HUe});var Od=E((Md,Jg)=>{var GUe=Ks(),jUe=oee(),aee=typeof Md=="object"&&Md&&!Md.nodeType&&Md,Aee=aee&&typeof Jg=="object"&&Jg&&!Jg.nodeType&&Jg,YUe=Aee&&Aee.exports===aee,lee=YUe?GUe.Buffer:void 0,qUe=lee?lee.isBuffer:void 0,JUe=qUe||jUe;Jg.exports=JUe});var uee=E((Bpt,cee)=>{var WUe=Ac(),zUe=ZB(),VUe=Qo(),_Ue="[object Arguments]",XUe="[object Array]",ZUe="[object Boolean]",$Ue="[object Date]",e2e="[object Error]",t2e="[object Function]",r2e="[object Map]",i2e="[object Number]",n2e="[object Object]",s2e="[object RegExp]",o2e="[object Set]",a2e="[object String]",A2e="[object WeakMap]",l2e="[object ArrayBuffer]",c2e="[object DataView]",u2e="[object Float32Array]",g2e="[object Float64Array]",f2e="[object Int8Array]",h2e="[object Int16Array]",p2e="[object Int32Array]",d2e="[object Uint8Array]",C2e="[object Uint8ClampedArray]",m2e="[object Uint16Array]",E2e="[object Uint32Array]",lr={};lr[u2e]=lr[g2e]=lr[f2e]=lr[h2e]=lr[p2e]=lr[d2e]=lr[C2e]=lr[m2e]=lr[E2e]=!0;lr[_Ue]=lr[XUe]=lr[l2e]=lr[ZUe]=lr[c2e]=lr[$Ue]=lr[e2e]=lr[t2e]=lr[r2e]=lr[i2e]=lr[n2e]=lr[s2e]=lr[o2e]=lr[a2e]=lr[A2e]=!1;function I2e(t){return VUe(t)&&zUe(t.length)&&!!lr[WUe(t)]}cee.exports=I2e});var A0=E((Qpt,gee)=>{function y2e(t){return function(e){return t(e)}}gee.exports=y2e});var l0=E((Kd,Wg)=>{var w2e=WP(),fee=typeof Kd=="object"&&Kd&&!Kd.nodeType&&Kd,Ud=fee&&typeof Wg=="object"&&Wg&&!Wg.nodeType&&Wg,B2e=Ud&&Ud.exports===fee,QF=B2e&&w2e.process,Q2e=function(){try{var t=Ud&&Ud.require&&Ud.require("util").types;return t||QF&&QF.binding&&QF.binding("util")}catch(e){}}();Wg.exports=Q2e});var c0=E((bpt,hee)=>{var b2e=uee(),v2e=A0(),pee=l0(),dee=pee&&pee.isTypedArray,S2e=dee?v2e(dee):b2e;hee.exports=S2e});var bF=E((vpt,Cee)=>{var x2e=nee(),k2e=Pd(),P2e=As(),D2e=Od(),R2e=kd(),F2e=c0(),N2e=Object.prototype,L2e=N2e.hasOwnProperty;function T2e(t,e){var r=P2e(t),i=!r&&k2e(t),n=!r&&!i&&D2e(t),s=!r&&!i&&!n&&F2e(t),o=r||i||n||s,a=o?x2e(t.length,String):[],l=a.length;for(var c in t)(e||L2e.call(t,c))&&!(o&&(c=="length"||n&&(c=="offset"||c=="parent")||s&&(c=="buffer"||c=="byteLength"||c=="byteOffset")||R2e(c,l)))&&a.push(c);return a}Cee.exports=T2e});var u0=E((Spt,mee)=>{var M2e=Object.prototype;function O2e(t){var e=t&&t.constructor,r=typeof e=="function"&&e.prototype||M2e;return t===r}mee.exports=O2e});var vF=E((xpt,Eee)=>{function K2e(t,e){return function(r){return t(e(r))}}Eee.exports=K2e});var yee=E((kpt,Iee)=>{var U2e=vF(),H2e=U2e(Object.keys,Object);Iee.exports=H2e});var Bee=E((Ppt,wee)=>{var G2e=u0(),j2e=yee(),Y2e=Object.prototype,q2e=Y2e.hasOwnProperty;function J2e(t){if(!G2e(t))return j2e(t);var e=[];for(var r in Object(t))q2e.call(t,r)&&r!="constructor"&&e.push(r);return e}wee.exports=J2e});var Hd=E((Dpt,Qee)=>{var W2e=zB(),z2e=ZB();function V2e(t){return t!=null&&z2e(t.length)&&!W2e(t)}Qee.exports=V2e});var zg=E((Rpt,bee)=>{var _2e=bF(),X2e=Bee(),Z2e=Hd();function $2e(t){return Z2e(t)?_2e(t):X2e(t)}bee.exports=$2e});var SF=E((Fpt,vee)=>{var eHe=BF(),tHe=zg();function rHe(t,e){return t&&eHe(t,e,tHe)}vee.exports=rHe});var xee=E((Npt,See)=>{var iHe=vd();function nHe(){this.__data__=new iHe,this.size=0}See.exports=nHe});var Pee=E((Lpt,kee)=>{function sHe(t){var e=this.__data__,r=e.delete(t);return this.size=e.size,r}kee.exports=sHe});var Ree=E((Tpt,Dee)=>{function oHe(t){return this.__data__.get(t)}Dee.exports=oHe});var Nee=E((Mpt,Fee)=>{function aHe(t){return this.__data__.has(t)}Fee.exports=aHe});var Tee=E((Opt,Lee)=>{var AHe=vd(),lHe=VB(),cHe=_B(),uHe=200;function gHe(t,e){var r=this.__data__;if(r instanceof AHe){var i=r.__data__;if(!lHe||i.length{var fHe=vd(),hHe=xee(),pHe=Pee(),dHe=Ree(),CHe=Nee(),mHe=Tee();function Vg(t){var e=this.__data__=new fHe(t);this.size=e.size}Vg.prototype.clear=hHe;Vg.prototype.delete=pHe;Vg.prototype.get=dHe;Vg.prototype.has=CHe;Vg.prototype.set=mHe;Mee.exports=Vg});var Kee=E((Upt,Oee)=>{var EHe="__lodash_hash_undefined__";function IHe(t){return this.__data__.set(t,EHe),this}Oee.exports=IHe});var Hee=E((Hpt,Uee)=>{function yHe(t){return this.__data__.has(t)}Uee.exports=yHe});var jee=E((Gpt,Gee)=>{var wHe=_B(),BHe=Kee(),QHe=Hee();function g0(t){var e=-1,r=t==null?0:t.length;for(this.__data__=new wHe;++e{function bHe(t,e){for(var r=-1,i=t==null?0:t.length;++r{function vHe(t,e){return t.has(e)}Jee.exports=vHe});var xF=E((qpt,zee)=>{var SHe=jee(),xHe=qee(),kHe=Wee(),PHe=1,DHe=2;function RHe(t,e,r,i,n,s){var o=r&PHe,a=t.length,l=e.length;if(a!=l&&!(o&&l>a))return!1;var c=s.get(t),u=s.get(e);if(c&&u)return c==e&&u==t;var g=-1,f=!0,h=r&DHe?new SHe:void 0;for(s.set(t,e),s.set(e,t);++g{var FHe=Ks(),NHe=FHe.Uint8Array;Vee.exports=NHe});var Xee=E((Wpt,_ee)=>{function LHe(t){var e=-1,r=Array(t.size);return t.forEach(function(i,n){r[++e]=[n,i]}),r}_ee.exports=LHe});var $ee=E((zpt,Zee)=>{function THe(t){var e=-1,r=Array(t.size);return t.forEach(function(i){r[++e]=i}),r}Zee.exports=THe});var nte=E((Vpt,ete)=>{var tte=ac(),rte=kF(),MHe=Kg(),OHe=xF(),KHe=Xee(),UHe=$ee(),HHe=1,GHe=2,jHe="[object Boolean]",YHe="[object Date]",qHe="[object Error]",JHe="[object Map]",WHe="[object Number]",zHe="[object RegExp]",VHe="[object Set]",_He="[object String]",XHe="[object Symbol]",ZHe="[object ArrayBuffer]",$He="[object DataView]",ite=tte?tte.prototype:void 0,PF=ite?ite.valueOf:void 0;function eGe(t,e,r,i,n,s,o){switch(r){case $He:if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return!1;t=t.buffer,e=e.buffer;case ZHe:return!(t.byteLength!=e.byteLength||!s(new rte(t),new rte(e)));case jHe:case YHe:case WHe:return MHe(+t,+e);case qHe:return t.name==e.name&&t.message==e.message;case zHe:case _He:return t==e+"";case JHe:var a=KHe;case VHe:var l=i&HHe;if(a||(a=UHe),t.size!=e.size&&!l)return!1;var c=o.get(t);if(c)return c==e;i|=GHe,o.set(t,e);var u=OHe(a(t),a(e),i,n,s,o);return o.delete(t),u;case XHe:if(PF)return PF.call(t)==PF.call(e)}return!1}ete.exports=eGe});var DF=E((_pt,ste)=>{var tGe=$B(),rGe=As();function iGe(t,e,r){var i=e(t);return rGe(t)?i:tGe(i,r(t))}ste.exports=iGe});var ate=E((Xpt,ote)=>{function nGe(t,e){for(var r=-1,i=t==null?0:t.length,n=0,s=[];++r{function sGe(){return[]}Ate.exports=sGe});var f0=E(($pt,lte)=>{var oGe=ate(),aGe=RF(),AGe=Object.prototype,lGe=AGe.propertyIsEnumerable,cte=Object.getOwnPropertySymbols,cGe=cte?function(t){return t==null?[]:(t=Object(t),oGe(cte(t),function(e){return lGe.call(t,e)}))}:aGe;lte.exports=cGe});var FF=E((edt,ute)=>{var uGe=DF(),gGe=f0(),fGe=zg();function hGe(t){return uGe(t,fGe,gGe)}ute.exports=hGe});var hte=E((tdt,gte)=>{var fte=FF(),pGe=1,dGe=Object.prototype,CGe=dGe.hasOwnProperty;function mGe(t,e,r,i,n,s){var o=r&pGe,a=fte(t),l=a.length,c=fte(e),u=c.length;if(l!=u&&!o)return!1;for(var g=l;g--;){var f=a[g];if(!(o?f in e:CGe.call(e,f)))return!1}var h=s.get(t),p=s.get(e);if(h&&p)return h==e&&p==t;var d=!0;s.set(t,e),s.set(e,t);for(var m=o;++g{var EGe=UA(),IGe=Ks(),yGe=EGe(IGe,"DataView");pte.exports=yGe});var mte=E((idt,Cte)=>{var wGe=UA(),BGe=Ks(),QGe=wGe(BGe,"Promise");Cte.exports=QGe});var Ite=E((ndt,Ete)=>{var bGe=UA(),vGe=Ks(),SGe=bGe(vGe,"Set");Ete.exports=SGe});var wte=E((sdt,yte)=>{var xGe=UA(),kGe=Ks(),PGe=xGe(kGe,"WeakMap");yte.exports=PGe});var jd=E((odt,Bte)=>{var NF=dte(),LF=VB(),TF=mte(),MF=Ite(),OF=wte(),Qte=Ac(),_g=ZR(),bte="[object Map]",DGe="[object Object]",vte="[object Promise]",Ste="[object Set]",xte="[object WeakMap]",kte="[object DataView]",RGe=_g(NF),FGe=_g(LF),NGe=_g(TF),LGe=_g(MF),TGe=_g(OF),kc=Qte;(NF&&kc(new NF(new ArrayBuffer(1)))!=kte||LF&&kc(new LF)!=bte||TF&&kc(TF.resolve())!=vte||MF&&kc(new MF)!=Ste||OF&&kc(new OF)!=xte)&&(kc=function(t){var e=Qte(t),r=e==DGe?t.constructor:void 0,i=r?_g(r):"";if(i)switch(i){case RGe:return kte;case FGe:return bte;case NGe:return vte;case LGe:return Ste;case TGe:return xte}return e});Bte.exports=kc});var Mte=E((adt,Pte)=>{var KF=Gd(),MGe=xF(),OGe=nte(),KGe=hte(),Dte=jd(),Rte=As(),Fte=Od(),UGe=c0(),HGe=1,Nte="[object Arguments]",Lte="[object Array]",h0="[object Object]",GGe=Object.prototype,Tte=GGe.hasOwnProperty;function jGe(t,e,r,i,n,s){var o=Rte(t),a=Rte(e),l=o?Lte:Dte(t),c=a?Lte:Dte(e);l=l==Nte?h0:l,c=c==Nte?h0:c;var u=l==h0,g=c==h0,f=l==c;if(f&&Fte(t)){if(!Fte(e))return!1;o=!0,u=!1}if(f&&!u)return s||(s=new KF),o||UGe(t)?MGe(t,e,r,i,n,s):OGe(t,e,l,r,i,n,s);if(!(r&HGe)){var h=u&&Tte.call(t,"__wrapped__"),p=g&&Tte.call(e,"__wrapped__");if(h||p){var d=h?t.value():t,m=p?e.value():e;return s||(s=new KF),n(d,m,r,i,s)}}return f?(s||(s=new KF),KGe(t,e,r,i,n,s)):!1}Pte.exports=jGe});var UF=E((Adt,Ote)=>{var YGe=Mte(),Kte=Qo();function Ute(t,e,r,i,n){return t===e?!0:t==null||e==null||!Kte(t)&&!Kte(e)?t!==t&&e!==e:YGe(t,e,r,i,Ute,n)}Ote.exports=Ute});var Gte=E((ldt,Hte)=>{var qGe=Gd(),JGe=UF(),WGe=1,zGe=2;function VGe(t,e,r,i){var n=r.length,s=n,o=!i;if(t==null)return!s;for(t=Object(t);n--;){var a=r[n];if(o&&a[2]?a[1]!==t[a[0]]:!(a[0]in t))return!1}for(;++n{var _Ge=Gs();function XGe(t){return t===t&&!_Ge(t)}jte.exports=XGe});var qte=E((udt,Yte)=>{var ZGe=HF(),$Ge=zg();function eje(t){for(var e=$Ge(t),r=e.length;r--;){var i=e[r],n=t[i];e[r]=[i,n,ZGe(n)]}return e}Yte.exports=eje});var GF=E((gdt,Jte)=>{function tje(t,e){return function(r){return r==null?!1:r[t]===e&&(e!==void 0||t in Object(r))}}Jte.exports=tje});var zte=E((fdt,Wte)=>{var rje=Gte(),ije=qte(),nje=GF();function sje(t){var e=ije(t);return e.length==1&&e[0][2]?nje(e[0][0],e[0][1]):function(r){return r===t||rje(r,t,e)}}Wte.exports=sje});var p0=E((hdt,Vte)=>{var oje=xd();function aje(t,e,r){var i=t==null?void 0:oje(t,e);return i===void 0?r:i}Vte.exports=aje});var Xte=E((pdt,_te)=>{var Aje=UF(),lje=p0(),cje=iF(),uje=WB(),gje=HF(),fje=GF(),hje=Sc(),pje=1,dje=2;function Cje(t,e){return uje(t)&&gje(e)?fje(hje(t),e):function(r){var i=lje(r,t);return i===void 0&&i===e?cje(r,t):Aje(e,i,pje|dje)}}_te.exports=Cje});var $te=E((ddt,Zte)=>{function mje(t){return function(e){return e==null?void 0:e[t]}}Zte.exports=mje});var tre=E((Cdt,ere)=>{var Eje=xd();function Ije(t){return function(e){return Eje(e,t)}}ere.exports=Ije});var ire=E((mdt,rre)=>{var yje=$te(),wje=tre(),Bje=WB(),Qje=Sc();function bje(t){return Bje(t)?yje(Qje(t)):wje(t)}rre.exports=bje});var jF=E((Edt,nre)=>{var vje=zte(),Sje=Xte(),xje=e0(),kje=As(),Pje=ire();function Dje(t){return typeof t=="function"?t:t==null?xje:typeof t=="object"?kje(t)?Sje(t[0],t[1]):vje(t):Pje(t)}nre.exports=Dje});var YF=E((Idt,sre)=>{var Rje=jg(),Fje=SF(),Nje=jF();function Lje(t,e){var r={};return e=Nje(e,3),Fje(t,function(i,n,s){Rje(r,n,e(i,n,s))}),r}sre.exports=Lje});var Yd=E((ydt,ore)=>{"use strict";function Pc(t){this._maxSize=t,this.clear()}Pc.prototype.clear=function(){this._size=0,this._values=Object.create(null)};Pc.prototype.get=function(t){return this._values[t]};Pc.prototype.set=function(t,e){return this._size>=this._maxSize&&this.clear(),t in this._values||this._size++,this._values[t]=e};var Tje=/[^.^\]^[]+|(?=\[\]|\.\.)/g,are=/^\d+$/,Mje=/^\d/,Oje=/[~`!#$%\^&*+=\-\[\]\\';,/{}|\\":<>\?]/g,Kje=/^\s*(['"]?)(.*?)(\1)\s*$/,qF=512,Are=new Pc(qF),lre=new Pc(qF),cre=new Pc(qF);ore.exports={Cache:Pc,split:WF,normalizePath:JF,setter:function(t){var e=JF(t);return lre.get(t)||lre.set(t,function(i,n){for(var s=0,o=e.length,a=i;s{"use strict";Object.defineProperty(qd,"__esModule",{value:!0});qd.create=Yje;qd.default=void 0;var qje=Yd(),d0={context:"$",value:"."};function Yje(t,e){return new C0(t,e)}var C0=class{constructor(e,r={}){if(typeof e!="string")throw new TypeError("ref must be a string, got: "+e);if(this.key=e.trim(),e==="")throw new TypeError("ref must be a non-empty string");this.isContext=this.key[0]===d0.context,this.isValue=this.key[0]===d0.value,this.isSibling=!this.isContext&&!this.isValue;let i=this.isContext?d0.context:this.isValue?d0.value:"";this.path=this.key.slice(i.length),this.getter=this.path&&(0,qje.getter)(this.path,!0),this.map=r.map}getValue(e,r,i){let n=this.isContext?i:this.isValue?e:r;return this.getter&&(n=this.getter(n||{})),this.map&&(n=this.map(n)),n}cast(e,r){return this.getValue(e,r==null?void 0:r.parent,r==null?void 0:r.context)}resolve(){return this}describe(){return{type:"ref",key:this.key}}toString(){return`Ref(${this.key})`}static isRef(e){return e&&e.__isYupRef}};qd.default=C0;C0.prototype.__isYupRef=!0});var ure=E(VF=>{"use strict";Object.defineProperty(VF,"__esModule",{value:!0});VF.default=Jje;var Wje=_F(YF()),m0=_F(xc()),zje=_F(Dc());function _F(t){return t&&t.__esModule?t:{default:t}}function E0(){return E0=Object.assign||function(t){for(var e=1;e=0)&&(r[n]=t[n]);return r}function Jje(t){function e(r,i){let{value:n,path:s="",label:o,options:a,originalValue:l,sync:c}=r,u=Vje(r,["value","path","label","options","originalValue","sync"]),{name:g,test:f,params:h,message:p}=t,{parent:d,context:m}=a;function I(L){return zje.default.isRef(L)?L.getValue(n,d,m):L}function B(L={}){let K=(0,Wje.default)(E0({value:n,originalValue:l,label:o,path:L.path||s},h,L.params),I),J=new m0.default(m0.default.formatError(L.message||p,K),n,K.path,L.type||g);return J.params=K,J}let b=E0({path:s,parent:d,type:g,createError:B,resolve:I,options:a,originalValue:l},u);if(!c){try{Promise.resolve(f.call(b,n,b)).then(L=>{m0.default.isError(L)?i(L):L?i(null,L):i(B())})}catch(L){i(L)}return}let R;try{var H;if(R=f.call(b,n,b),typeof((H=R)==null?void 0:H.then)=="function")throw new Error(`Validation test of type: "${b.type}" returned a Promise during a synchronous validate. This test will finish after the validate call has returned`)}catch(L){i(L);return}m0.default.isError(R)?i(R):R?i(null,R):i(B())}return e.OPTIONS=t,e}});var XF=E(Jd=>{"use strict";Object.defineProperty(Jd,"__esModule",{value:!0});Jd.getIn=gre;Jd.default=void 0;var _je=Yd(),Xje=t=>t.substr(0,t.length-1).substr(1);function gre(t,e,r,i=r){let n,s,o;return e?((0,_je.forEach)(e,(a,l,c)=>{let u=l?Xje(a):a;if(t=t.resolve({context:i,parent:n,value:r}),t.innerType){let g=c?parseInt(u,10):0;if(r&&g>=r.length)throw new Error(`Yup.reach cannot resolve an array item at index: ${a}, in the path: ${e}. because there is no value at that index. `);n=r,r=r&&r[g],t=t.innerType}if(!c){if(!t.fields||!t.fields[u])throw new Error(`The schema does not contain the path: ${e}. (failed at: ${o} which is a type: "${t._type}")`);n=r,r=r&&r[u],t=t.fields[u]}s=u,o=l?"["+a+"]":"."+a}),{schema:t,parent:n,parentPath:s}):{parent:n,parentPath:e,schema:t}}var Zje=(t,e,r,i)=>gre(t,e,r,i).schema,$je=Zje;Jd.default=$je});var hre=E(I0=>{"use strict";Object.defineProperty(I0,"__esModule",{value:!0});I0.default=void 0;var fre=eYe(Dc());function eYe(t){return t&&t.__esModule?t:{default:t}}var y0=class{constructor(){this.list=new Set,this.refs=new Map}get size(){return this.list.size+this.refs.size}describe(){let e=[];for(let r of this.list)e.push(r);for(let[,r]of this.refs)e.push(r.describe());return e}toArray(){return Array.from(this.list).concat(Array.from(this.refs.values()))}add(e){fre.default.isRef(e)?this.refs.set(e.key,e):this.list.add(e)}delete(e){fre.default.isRef(e)?this.refs.delete(e.key):this.list.delete(e)}has(e,r){if(this.list.has(e))return!0;let i,n=this.refs.values();for(;i=n.next(),!i.done;)if(r(i.value)===e)return!0;return!1}clone(){let e=new y0;return e.list=new Set(this.list),e.refs=new Map(this.refs),e}merge(e,r){let i=this.clone();return e.list.forEach(n=>i.add(n)),e.refs.forEach(n=>i.add(n)),r.list.forEach(n=>i.delete(n)),r.refs.forEach(n=>i.delete(n)),i}};I0.default=y0});var Ma=E(w0=>{"use strict";Object.defineProperty(w0,"__esModule",{value:!0});w0.default=void 0;var pre=Ta(M$()),Xg=La(),tYe=Ta(Z$()),dre=Ta(a0()),B0=Ta(ure()),Cre=Ta(Nd()),rYe=Ta(Dc()),iYe=XF(),nYe=Ta(EF()),mre=Ta(xc()),Ere=Ta(hre());function Ta(t){return t&&t.__esModule?t:{default:t}}function ds(){return ds=Object.assign||function(t){for(var e=1;e{this.typeError(Xg.mixed.notType)}),this.type=(e==null?void 0:e.type)||"mixed",this.spec=ds({strip:!1,strict:!1,abortEarly:!0,recursive:!0,nullable:!1,presence:"optional"},e==null?void 0:e.spec)}get _type(){return this.type}_typeCheck(e){return!0}clone(e){if(this._mutate)return e&&Object.assign(this.spec,e),this;let r=Object.create(Object.getPrototypeOf(this));return r.type=this.type,r._typeError=this._typeError,r._whitelistError=this._whitelistError,r._blacklistError=this._blacklistError,r._whitelist=this._whitelist.clone(),r._blacklist=this._blacklist.clone(),r.exclusiveTests=ds({},this.exclusiveTests),r.deps=[...this.deps],r.conditions=[...this.conditions],r.tests=[...this.tests],r.transforms=[...this.transforms],r.spec=(0,pre.default)(ds({},this.spec,e)),r}label(e){var r=this.clone();return r.spec.label=e,r}meta(...e){if(e.length===0)return this.spec.meta;let r=this.clone();return r.spec.meta=Object.assign(r.spec.meta||{},e[0]),r}withMutation(e){let r=this._mutate;this._mutate=!0;let i=e(this);return this._mutate=r,i}concat(e){if(!e||e===this)return this;if(e.type!==this.type&&this.type!=="mixed")throw new TypeError(`You cannot \`concat()\` schema's of different types: ${this.type} and ${e.type}`);let r=this,i=e.clone(),n=ds({},r.spec,i.spec);return i.spec=n,i._typeError||(i._typeError=r._typeError),i._whitelistError||(i._whitelistError=r._whitelistError),i._blacklistError||(i._blacklistError=r._blacklistError),i._whitelist=r._whitelist.merge(e._whitelist,e._blacklist),i._blacklist=r._blacklist.merge(e._blacklist,e._whitelist),i.tests=r.tests,i.exclusiveTests=r.exclusiveTests,i.withMutation(s=>{e.tests.forEach(o=>{s.test(o.OPTIONS)})}),i}isType(e){return this.spec.nullable&&e===null?!0:this._typeCheck(e)}resolve(e){let r=this;if(r.conditions.length){let i=r.conditions;r=r.clone(),r.conditions=[],r=i.reduce((n,s)=>s.resolve(n,e),r),r=r.resolve(e)}return r}cast(e,r={}){let i=this.resolve(ds({value:e},r)),n=i._cast(e,r);if(e!==void 0&&r.assert!==!1&&i.isType(n)!==!0){let s=(0,Cre.default)(e),o=(0,Cre.default)(n);throw new TypeError(`The value of ${r.path||"field"} could not be cast to a value that satisfies the schema type: "${i._type}". + +attempted value: ${s} +`+(o!==s?`result of cast: ${o}`:""))}return n}_cast(e,r){let i=e===void 0?e:this.transforms.reduce((n,s)=>s.call(this,n,e,this),e);return i===void 0&&(i=this.getDefault()),i}_validate(e,r={},i){let{sync:n,path:s,from:o=[],originalValue:a=e,strict:l=this.spec.strict,abortEarly:c=this.spec.abortEarly}=r,u=e;l||(u=this._cast(u,ds({assert:!1},r)));let g={value:u,path:s,options:r,originalValue:a,schema:this,label:this.spec.label,sync:n,from:o},f=[];this._typeError&&f.push(this._typeError),this._whitelistError&&f.push(this._whitelistError),this._blacklistError&&f.push(this._blacklistError),(0,dre.default)({args:g,value:u,path:s,sync:n,tests:f,endEarly:c},h=>{if(h)return void i(h,u);(0,dre.default)({tests:this.tests,args:g,path:s,sync:n,value:u,endEarly:c},i)})}validate(e,r,i){let n=this.resolve(ds({},r,{value:e}));return typeof i=="function"?n._validate(e,r,i):new Promise((s,o)=>n._validate(e,r,(a,l)=>{a?o(a):s(l)}))}validateSync(e,r){let i=this.resolve(ds({},r,{value:e})),n;return i._validate(e,ds({},r,{sync:!0}),(s,o)=>{if(s)throw s;n=o}),n}isValid(e,r){return this.validate(e,r).then(()=>!0,i=>{if(mre.default.isError(i))return!1;throw i})}isValidSync(e,r){try{return this.validateSync(e,r),!0}catch(i){if(mre.default.isError(i))return!1;throw i}}_getDefault(){let e=this.spec.default;return e==null?e:typeof e=="function"?e.call(this):(0,pre.default)(e)}getDefault(e){return this.resolve(e||{})._getDefault()}default(e){return arguments.length===0?this._getDefault():this.clone({default:e})}strict(e=!0){var r=this.clone();return r.spec.strict=e,r}_isPresent(e){return e!=null}defined(e=Xg.mixed.defined){return this.test({message:e,name:"defined",exclusive:!0,test(r){return r!==void 0}})}required(e=Xg.mixed.required){return this.clone({presence:"required"}).withMutation(r=>r.test({message:e,name:"required",exclusive:!0,test(i){return this.schema._isPresent(i)}}))}notRequired(){var e=this.clone({presence:"optional"});return e.tests=e.tests.filter(r=>r.OPTIONS.name!=="required"),e}nullable(e=!0){var r=this.clone({nullable:e!==!1});return r}transform(e){var r=this.clone();return r.transforms.push(e),r}test(...e){let r;if(e.length===1?typeof e[0]=="function"?r={test:e[0]}:r=e[0]:e.length===2?r={name:e[0],test:e[1]}:r={name:e[0],message:e[1],test:e[2]},r.message===void 0&&(r.message=Xg.mixed.default),typeof r.test!="function")throw new TypeError("`test` is a required parameters");let i=this.clone(),n=(0,B0.default)(r),s=r.exclusive||r.name&&i.exclusiveTests[r.name]===!0;if(r.exclusive&&!r.name)throw new TypeError("Exclusive tests must provide a unique `name` identifying the test");return r.name&&(i.exclusiveTests[r.name]=!!r.exclusive),i.tests=i.tests.filter(o=>!(o.OPTIONS.name===r.name&&(s||o.OPTIONS.test===n.OPTIONS.test))),i.tests.push(n),i}when(e,r){!Array.isArray(e)&&typeof e!="string"&&(r=e,e=".");let i=this.clone(),n=(0,nYe.default)(e).map(s=>new rYe.default(s));return n.forEach(s=>{s.isSibling&&i.deps.push(s.key)}),i.conditions.push(new tYe.default(n,r)),i}typeError(e){var r=this.clone();return r._typeError=(0,B0.default)({message:e,name:"typeError",test(i){return i!==void 0&&!this.schema.isType(i)?this.createError({params:{type:this.schema._type}}):!0}}),r}oneOf(e,r=Xg.mixed.oneOf){var i=this.clone();return e.forEach(n=>{i._whitelist.add(n),i._blacklist.delete(n)}),i._whitelistError=(0,B0.default)({message:r,name:"oneOf",test(n){if(n===void 0)return!0;let s=this.schema._whitelist;return s.has(n,this.resolve)?!0:this.createError({params:{values:s.toArray().join(", ")}})}}),i}notOneOf(e,r=Xg.mixed.notOneOf){var i=this.clone();return e.forEach(n=>{i._blacklist.add(n),i._whitelist.delete(n)}),i._blacklistError=(0,B0.default)({message:r,name:"notOneOf",test(n){let s=this.schema._blacklist;return s.has(n,this.resolve)?this.createError({params:{values:s.toArray().join(", ")}}):!0}}),i}strip(e=!0){let r=this.clone();return r.spec.strip=e,r}describe(){let e=this.clone(),{label:r,meta:i}=e.spec;return{meta:i,label:r,type:e.type,oneOf:e._whitelist.describe(),notOneOf:e._blacklist.describe(),tests:e.tests.map(s=>({name:s.OPTIONS.name,params:s.OPTIONS.params})).filter((s,o,a)=>a.findIndex(l=>l.name===s.name)===o)}}};w0.default=Do;Do.prototype.__isYupSchema__=!0;for(let t of["validate","validateSync"])Do.prototype[`${t}At`]=function(e,r,i={}){let{parent:n,parentPath:s,schema:o}=(0,iYe.getIn)(this,e,r,i.context);return o[t](n&&n[s],ds({},i,{parent:n,path:e}))};for(let t of["equals","is"])Do.prototype[t]=Do.prototype.oneOf;for(let t of["not","nope"])Do.prototype[t]=Do.prototype.notOneOf;Do.prototype.optional=Do.prototype.notRequired});var yre=E(Wd=>{"use strict";Object.defineProperty(Wd,"__esModule",{value:!0});Wd.create=Ire;Wd.default=void 0;var oYe=sYe(Ma());function sYe(t){return t&&t.__esModule?t:{default:t}}var ZF=oYe.default,aYe=ZF;Wd.default=aYe;function Ire(){return new ZF}Ire.prototype=ZF.prototype});var Zg=E(Q0=>{"use strict";Object.defineProperty(Q0,"__esModule",{value:!0});Q0.default=void 0;var AYe=t=>t==null;Q0.default=AYe});var vre=E(zd=>{"use strict";Object.defineProperty(zd,"__esModule",{value:!0});zd.create=wre;zd.default=void 0;var lYe=Bre(Ma()),Qre=La(),bre=Bre(Zg());function Bre(t){return t&&t.__esModule?t:{default:t}}function wre(){return new b0}var b0=class extends lYe.default{constructor(){super({type:"boolean"});this.withMutation(()=>{this.transform(function(e){if(!this.isType(e)){if(/^(true|1)$/i.test(String(e)))return!0;if(/^(false|0)$/i.test(String(e)))return!1}return e})})}_typeCheck(e){return e instanceof Boolean&&(e=e.valueOf()),typeof e=="boolean"}isTrue(e=Qre.boolean.isValue){return this.test({message:e,name:"is-value",exclusive:!0,params:{value:"true"},test(r){return(0,bre.default)(r)||r===!0}})}isFalse(e=Qre.boolean.isValue){return this.test({message:e,name:"is-value",exclusive:!0,params:{value:"false"},test(r){return(0,bre.default)(r)||r===!1}})}};zd.default=b0;wre.prototype=b0.prototype});var kre=E(Vd=>{"use strict";Object.defineProperty(Vd,"__esModule",{value:!0});Vd.create=Sre;Vd.default=void 0;var Ro=La(),Oa=xre(Zg()),cYe=xre(Ma());function xre(t){return t&&t.__esModule?t:{default:t}}var uYe=/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))$/i,gYe=/^((https?|ftp):)?\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i,fYe=/^(?:[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,hYe=t=>(0,Oa.default)(t)||t===t.trim(),pYe={}.toString();function Sre(){return new v0}var v0=class extends cYe.default{constructor(){super({type:"string"});this.withMutation(()=>{this.transform(function(e){if(this.isType(e)||Array.isArray(e))return e;let r=e!=null&&e.toString?e.toString():e;return r===pYe?e:r})})}_typeCheck(e){return e instanceof String&&(e=e.valueOf()),typeof e=="string"}_isPresent(e){return super._isPresent(e)&&!!e.length}length(e,r=Ro.string.length){return this.test({message:r,name:"length",exclusive:!0,params:{length:e},test(i){return(0,Oa.default)(i)||i.length===this.resolve(e)}})}min(e,r=Ro.string.min){return this.test({message:r,name:"min",exclusive:!0,params:{min:e},test(i){return(0,Oa.default)(i)||i.length>=this.resolve(e)}})}max(e,r=Ro.string.max){return this.test({name:"max",exclusive:!0,message:r,params:{max:e},test(i){return(0,Oa.default)(i)||i.length<=this.resolve(e)}})}matches(e,r){let i=!1,n,s;return r&&(typeof r=="object"?{excludeEmptyString:i=!1,message:n,name:s}=r:n=r),this.test({name:s||"matches",message:n||Ro.string.matches,params:{regex:e},test:o=>(0,Oa.default)(o)||o===""&&i||o.search(e)!==-1})}email(e=Ro.string.email){return this.matches(uYe,{name:"email",message:e,excludeEmptyString:!0})}url(e=Ro.string.url){return this.matches(gYe,{name:"url",message:e,excludeEmptyString:!0})}uuid(e=Ro.string.uuid){return this.matches(fYe,{name:"uuid",message:e,excludeEmptyString:!1})}ensure(){return this.default("").transform(e=>e===null?"":e)}trim(e=Ro.string.trim){return this.transform(r=>r!=null?r.trim():r).test({message:e,name:"trim",test:hYe})}lowercase(e=Ro.string.lowercase){return this.transform(r=>(0,Oa.default)(r)?r:r.toLowerCase()).test({message:e,name:"string_case",exclusive:!0,test:r=>(0,Oa.default)(r)||r===r.toLowerCase()})}uppercase(e=Ro.string.uppercase){return this.transform(r=>(0,Oa.default)(r)?r:r.toUpperCase()).test({message:e,name:"string_case",exclusive:!0,test:r=>(0,Oa.default)(r)||r===r.toUpperCase()})}};Vd.default=v0;Sre.prototype=v0.prototype});var Rre=E(_d=>{"use strict";Object.defineProperty(_d,"__esModule",{value:!0});_d.create=Pre;_d.default=void 0;var Rc=La(),Fc=Dre(Zg()),dYe=Dre(Ma());function Dre(t){return t&&t.__esModule?t:{default:t}}var CYe=t=>t!=+t;function Pre(){return new S0}var S0=class extends dYe.default{constructor(){super({type:"number"});this.withMutation(()=>{this.transform(function(e){let r=e;if(typeof r=="string"){if(r=r.replace(/\s/g,""),r==="")return NaN;r=+r}return this.isType(r)?r:parseFloat(r)})})}_typeCheck(e){return e instanceof Number&&(e=e.valueOf()),typeof e=="number"&&!CYe(e)}min(e,r=Rc.number.min){return this.test({message:r,name:"min",exclusive:!0,params:{min:e},test(i){return(0,Fc.default)(i)||i>=this.resolve(e)}})}max(e,r=Rc.number.max){return this.test({message:r,name:"max",exclusive:!0,params:{max:e},test(i){return(0,Fc.default)(i)||i<=this.resolve(e)}})}lessThan(e,r=Rc.number.lessThan){return this.test({message:r,name:"max",exclusive:!0,params:{less:e},test(i){return(0,Fc.default)(i)||ithis.resolve(e)}})}positive(e=Rc.number.positive){return this.moreThan(0,e)}negative(e=Rc.number.negative){return this.lessThan(0,e)}integer(e=Rc.number.integer){return this.test({name:"integer",message:e,test:r=>(0,Fc.default)(r)||Number.isInteger(r)})}truncate(){return this.transform(e=>(0,Fc.default)(e)?e:e|0)}round(e){var r,i=["ceil","floor","round","trunc"];if(e=((r=e)==null?void 0:r.toLowerCase())||"round",e==="trunc")return this.truncate();if(i.indexOf(e.toLowerCase())===-1)throw new TypeError("Only valid options for round() are: "+i.join(", "));return this.transform(n=>(0,Fc.default)(n)?n:Math[e](n))}};_d.default=S0;Pre.prototype=S0.prototype});var Fre=E($F=>{"use strict";Object.defineProperty($F,"__esModule",{value:!0});$F.default=mYe;var EYe=/^(\d{4}|[+\-]\d{6})(?:-?(\d{2})(?:-?(\d{2}))?)?(?:[ T]?(\d{2}):?(\d{2})(?::?(\d{2})(?:[,\.](\d{1,}))?)?(?:(Z)|([+\-])(\d{2})(?::?(\d{2}))?)?)?$/;function mYe(t){var e=[1,4,5,6,7,10,11],r=0,i,n;if(n=EYe.exec(t)){for(var s=0,o;o=e[s];++s)n[o]=+n[o]||0;n[2]=(+n[2]||1)-1,n[3]=+n[3]||1,n[7]=n[7]?String(n[7]).substr(0,3):0,(n[8]===void 0||n[8]==="")&&(n[9]===void 0||n[9]==="")?i=+new Date(n[1],n[2],n[3],n[4],n[5],n[6],n[7]):(n[8]!=="Z"&&n[9]!==void 0&&(r=n[10]*60+n[11],n[9]==="+"&&(r=0-r)),i=Date.UTC(n[1],n[2],n[3],n[4],n[5]+r,n[6],n[7]))}else i=Date.parse?Date.parse(t):NaN;return i}});var Tre=E(Xd=>{"use strict";Object.defineProperty(Xd,"__esModule",{value:!0});Xd.create=eN;Xd.default=void 0;var IYe=x0(Fre()),Nre=La(),Lre=x0(Zg()),yYe=x0(Dc()),wYe=x0(Ma());function x0(t){return t&&t.__esModule?t:{default:t}}var tN=new Date(""),BYe=t=>Object.prototype.toString.call(t)==="[object Date]";function eN(){return new Zd}var Zd=class extends wYe.default{constructor(){super({type:"date"});this.withMutation(()=>{this.transform(function(e){return this.isType(e)?e:(e=(0,IYe.default)(e),isNaN(e)?tN:new Date(e))})})}_typeCheck(e){return BYe(e)&&!isNaN(e.getTime())}prepareParam(e,r){let i;if(yYe.default.isRef(e))i=e;else{let n=this.cast(e);if(!this._typeCheck(n))throw new TypeError(`\`${r}\` must be a Date or a value that can be \`cast()\` to a Date`);i=n}return i}min(e,r=Nre.date.min){let i=this.prepareParam(e,"min");return this.test({message:r,name:"min",exclusive:!0,params:{min:e},test(n){return(0,Lre.default)(n)||n>=this.resolve(i)}})}max(e,r=Nre.date.max){var i=this.prepareParam(e,"max");return this.test({message:r,name:"max",exclusive:!0,params:{max:e},test(n){return(0,Lre.default)(n)||n<=this.resolve(i)}})}};Xd.default=Zd;Zd.INVALID_DATE=tN;eN.prototype=Zd.prototype;eN.INVALID_DATE=tN});var Ore=E((Ndt,Mre)=>{function QYe(t,e,r,i){var n=-1,s=t==null?0:t.length;for(i&&s&&(r=t[++n]);++n{function bYe(t){return function(e){return t==null?void 0:t[e]}}Kre.exports=bYe});var Gre=E((Tdt,Hre)=>{var vYe=Ure(),SYe={\u00C0:"A",\u00C1:"A",\u00C2:"A",\u00C3:"A",\u00C4:"A",\u00C5:"A",\u00E0:"a",\u00E1:"a",\u00E2:"a",\u00E3:"a",\u00E4:"a",\u00E5:"a",\u00C7:"C",\u00E7:"c",\u00D0:"D",\u00F0:"d",\u00C8:"E",\u00C9:"E",\u00CA:"E",\u00CB:"E",\u00E8:"e",\u00E9:"e",\u00EA:"e",\u00EB:"e",\u00CC:"I",\u00CD:"I",\u00CE:"I",\u00CF:"I",\u00EC:"i",\u00ED:"i",\u00EE:"i",\u00EF:"i",\u00D1:"N",\u00F1:"n",\u00D2:"O",\u00D3:"O",\u00D4:"O",\u00D5:"O",\u00D6:"O",\u00D8:"O",\u00F2:"o",\u00F3:"o",\u00F4:"o",\u00F5:"o",\u00F6:"o",\u00F8:"o",\u00D9:"U",\u00DA:"U",\u00DB:"U",\u00DC:"U",\u00F9:"u",\u00FA:"u",\u00FB:"u",\u00FC:"u",\u00DD:"Y",\u00FD:"y",\u00FF:"y",\u00C6:"Ae",\u00E6:"ae",\u00DE:"Th",\u00FE:"th",\u00DF:"ss",\u0100:"A",\u0102:"A",\u0104:"A",\u0101:"a",\u0103:"a",\u0105:"a",\u0106:"C",\u0108:"C",\u010A:"C",\u010C:"C",\u0107:"c",\u0109:"c",\u010B:"c",\u010D:"c",\u010E:"D",\u0110:"D",\u010F:"d",\u0111:"d",\u0112:"E",\u0114:"E",\u0116:"E",\u0118:"E",\u011A:"E",\u0113:"e",\u0115:"e",\u0117:"e",\u0119:"e",\u011B:"e",\u011C:"G",\u011E:"G",\u0120:"G",\u0122:"G",\u011D:"g",\u011F:"g",\u0121:"g",\u0123:"g",\u0124:"H",\u0126:"H",\u0125:"h",\u0127:"h",\u0128:"I",\u012A:"I",\u012C:"I",\u012E:"I",\u0130:"I",\u0129:"i",\u012B:"i",\u012D:"i",\u012F:"i",\u0131:"i",\u0134:"J",\u0135:"j",\u0136:"K",\u0137:"k",\u0138:"k",\u0139:"L",\u013B:"L",\u013D:"L",\u013F:"L",\u0141:"L",\u013A:"l",\u013C:"l",\u013E:"l",\u0140:"l",\u0142:"l",\u0143:"N",\u0145:"N",\u0147:"N",\u014A:"N",\u0144:"n",\u0146:"n",\u0148:"n",\u014B:"n",\u014C:"O",\u014E:"O",\u0150:"O",\u014D:"o",\u014F:"o",\u0151:"o",\u0154:"R",\u0156:"R",\u0158:"R",\u0155:"r",\u0157:"r",\u0159:"r",\u015A:"S",\u015C:"S",\u015E:"S",\u0160:"S",\u015B:"s",\u015D:"s",\u015F:"s",\u0161:"s",\u0162:"T",\u0164:"T",\u0166:"T",\u0163:"t",\u0165:"t",\u0167:"t",\u0168:"U",\u016A:"U",\u016C:"U",\u016E:"U",\u0170:"U",\u0172:"U",\u0169:"u",\u016B:"u",\u016D:"u",\u016F:"u",\u0171:"u",\u0173:"u",\u0174:"W",\u0175:"w",\u0176:"Y",\u0177:"y",\u0178:"Y",\u0179:"Z",\u017B:"Z",\u017D:"Z",\u017A:"z",\u017C:"z",\u017E:"z",\u0132:"IJ",\u0133:"ij",\u0152:"Oe",\u0153:"oe",\u0149:"'n",\u017F:"s"},xYe=vYe(SYe);Hre.exports=xYe});var Yre=E((Mdt,jre)=>{var kYe=Gre(),PYe=gg(),DYe=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,RYe="\\u0300-\\u036f",FYe="\\ufe20-\\ufe2f",NYe="\\u20d0-\\u20ff",LYe=RYe+FYe+NYe,TYe="["+LYe+"]",MYe=RegExp(TYe,"g");function OYe(t){return t=PYe(t),t&&t.replace(DYe,kYe).replace(MYe,"")}jre.exports=OYe});var Jre=E((Odt,qre)=>{var KYe=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g;function UYe(t){return t.match(KYe)||[]}qre.exports=UYe});var zre=E((Kdt,Wre)=>{var HYe=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;function GYe(t){return HYe.test(t)}Wre.exports=GYe});var fie=E((Udt,Vre)=>{var _re="\\ud800-\\udfff",jYe="\\u0300-\\u036f",YYe="\\ufe20-\\ufe2f",qYe="\\u20d0-\\u20ff",JYe=jYe+YYe+qYe,Xre="\\u2700-\\u27bf",Zre="a-z\\xdf-\\xf6\\xf8-\\xff",WYe="\\xac\\xb1\\xd7\\xf7",zYe="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",VYe="\\u2000-\\u206f",_Ye=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",$re="A-Z\\xc0-\\xd6\\xd8-\\xde",XYe="\\ufe0e\\ufe0f",eie=WYe+zYe+VYe+_Ye,tie="['\u2019]",rie="["+eie+"]",ZYe="["+JYe+"]",iie="\\d+",$Ye="["+Xre+"]",nie="["+Zre+"]",sie="[^"+_re+eie+iie+Xre+Zre+$re+"]",eqe="\\ud83c[\\udffb-\\udfff]",tqe="(?:"+ZYe+"|"+eqe+")",rqe="[^"+_re+"]",oie="(?:\\ud83c[\\udde6-\\uddff]){2}",aie="[\\ud800-\\udbff][\\udc00-\\udfff]",$g="["+$re+"]",iqe="\\u200d",Aie="(?:"+nie+"|"+sie+")",nqe="(?:"+$g+"|"+sie+")",lie="(?:"+tie+"(?:d|ll|m|re|s|t|ve))?",cie="(?:"+tie+"(?:D|LL|M|RE|S|T|VE))?",uie=tqe+"?",gie="["+XYe+"]?",sqe="(?:"+iqe+"(?:"+[rqe,oie,aie].join("|")+")"+gie+uie+")*",oqe="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",aqe="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",Aqe=gie+uie+sqe,lqe="(?:"+[$Ye,oie,aie].join("|")+")"+Aqe,cqe=RegExp([$g+"?"+nie+"+"+lie+"(?="+[rie,$g,"$"].join("|")+")",nqe+"+"+cie+"(?="+[rie,$g+Aie,"$"].join("|")+")",$g+"?"+Aie+"+"+lie,$g+"+"+cie,aqe,oqe,iie,lqe].join("|"),"g");function uqe(t){return t.match(cqe)||[]}Vre.exports=uqe});var pie=E((Hdt,hie)=>{var gqe=Jre(),fqe=zre(),hqe=gg(),pqe=fie();function dqe(t,e,r){return t=hqe(t),e=r?void 0:e,e===void 0?fqe(t)?pqe(t):gqe(t):t.match(e)||[]}hie.exports=dqe});var rN=E((Gdt,die)=>{var Cqe=Ore(),mqe=Yre(),Eqe=pie(),Iqe="['\u2019]",yqe=RegExp(Iqe,"g");function wqe(t){return function(e){return Cqe(Eqe(mqe(e).replace(yqe,"")),t,"")}}die.exports=wqe});var mie=E((jdt,Cie)=>{var Bqe=rN(),Qqe=Bqe(function(t,e,r){return t+(r?"_":"")+e.toLowerCase()});Cie.exports=Qqe});var Iie=E((Ydt,Eie)=>{var bqe=ZP(),vqe=rN(),Sqe=vqe(function(t,e,r){return e=e.toLowerCase(),t+(r?bqe(e):e)});Eie.exports=Sqe});var wie=E((qdt,yie)=>{var xqe=jg(),kqe=SF(),Pqe=jF();function Dqe(t,e){var r={};return e=Pqe(e,3),kqe(t,function(i,n,s){xqe(r,e(i,n,s),i)}),r}yie.exports=Dqe});var Qie=E((Jdt,iN)=>{iN.exports=function(t){return Bie(Rqe(t),t)};iN.exports.array=Bie;function Bie(t,e){var r=t.length,i=new Array(r),n={},s=r,o=Fqe(e),a=Nqe(t);for(e.forEach(function(c){if(!a.has(c[0])||!a.has(c[1]))throw new Error("Unknown node. There is an unknown node in the supplied edges.")});s--;)n[s]||l(t[s],s,new Set);return i;function l(c,u,g){if(g.has(c)){var f;try{f=", node was:"+JSON.stringify(c)}catch(d){f=""}throw new Error("Cyclic dependency"+f)}if(!a.has(c))throw new Error("Found unknown node. Make sure to provided all involved nodes. Unknown node: "+JSON.stringify(c));if(!n[u]){n[u]=!0;var h=o.get(c)||new Set;if(h=Array.from(h),u=h.length){g.add(c);do{var p=h[--u];l(p,a.get(p),g)}while(u);g.delete(c)}i[--r]=c}}}function Rqe(t){for(var e=new Set,r=0,i=t.length;r{"use strict";Object.defineProperty(nN,"__esModule",{value:!0});nN.default=Lqe;var Tqe=k0(Ld()),Mqe=k0(Qie()),Oqe=Yd(),Kqe=k0(Dc()),Uqe=k0(qg());function k0(t){return t&&t.__esModule?t:{default:t}}function Lqe(t,e=[]){let r=[],i=[];function n(s,o){var a=(0,Oqe.split)(s)[0];~i.indexOf(a)||i.push(a),~e.indexOf(`${o}-${a}`)||r.push([o,a])}for(let s in t)if((0,Tqe.default)(t,s)){let o=t[s];~i.indexOf(s)||i.push(s),Kqe.default.isRef(o)&&o.isSibling?n(o.path,s):(0,Uqe.default)(o)&&"deps"in o&&o.deps.forEach(a=>n(a,s))}return Mqe.default.array(i,r).reverse()}});var Sie=E(sN=>{"use strict";Object.defineProperty(sN,"__esModule",{value:!0});sN.default=Hqe;function vie(t,e){let r=Infinity;return t.some((i,n)=>{var s;if(((s=e.path)==null?void 0:s.indexOf(i))!==-1)return r=n,!0}),r}function Hqe(t){return(e,r)=>vie(t,e)-vie(t,r)}});var Nie=E($d=>{"use strict";Object.defineProperty($d,"__esModule",{value:!0});$d.create=xie;$d.default=void 0;var kie=Fo(Ld()),Pie=Fo(mie()),Gqe=Fo(Iie()),jqe=Fo(wie()),Yqe=Fo(YF()),qqe=Yd(),Die=La(),Jqe=Fo(bie()),Rie=Fo(Sie()),Wqe=Fo(a0()),zqe=Fo(xc()),oN=Fo(Ma());function Fo(t){return t&&t.__esModule?t:{default:t}}function ef(){return ef=Object.assign||function(t){for(var e=1;eObject.prototype.toString.call(t)==="[object Object]";function Vqe(t,e){let r=Object.keys(t.fields);return Object.keys(e).filter(i=>r.indexOf(i)===-1)}var _qe=(0,Rie.default)([]),P0=class extends oN.default{constructor(e){super({type:"object"});this.fields=Object.create(null),this._sortErrors=_qe,this._nodes=[],this._excludedEdges=[],this.withMutation(()=>{this.transform(function(i){if(typeof i=="string")try{i=JSON.parse(i)}catch(n){i=null}return this.isType(i)?i:null}),e&&this.shape(e)})}_typeCheck(e){return Fie(e)||typeof e=="function"}_cast(e,r={}){var i;let n=super._cast(e,r);if(n===void 0)return this.getDefault();if(!this._typeCheck(n))return n;let s=this.fields,o=(i=r.stripUnknown)!=null?i:this.spec.noUnknown,a=this._nodes.concat(Object.keys(n).filter(g=>this._nodes.indexOf(g)===-1)),l={},c=ef({},r,{parent:l,__validating:r.__validating||!1}),u=!1;for(let g of a){let f=s[g],h=(0,kie.default)(n,g);if(f){let p,d=n[g];c.path=(r.path?`${r.path}.`:"")+g,f=f.resolve({value:d,context:r.context,parent:l});let m="spec"in f?f.spec:void 0,I=m==null?void 0:m.strict;if(m==null?void 0:m.strip){u=u||g in n;continue}p=!r.__validating||!I?f.cast(n[g],c):n[g],p!==void 0&&(l[g]=p)}else h&&!o&&(l[g]=n[g]);l[g]!==n[g]&&(u=!0)}return u?l:n}_validate(e,r={},i){let n=[],{sync:s,from:o=[],originalValue:a=e,abortEarly:l=this.spec.abortEarly,recursive:c=this.spec.recursive}=r;o=[{schema:this,value:a},...o],r.__validating=!0,r.originalValue=a,r.from=o,super._validate(e,r,(u,g)=>{if(u){if(!zqe.default.isError(u)||l)return void i(u,g);n.push(u)}if(!c||!Fie(g)){i(n[0]||null,g);return}a=a||g;let f=this._nodes.map(h=>(p,d)=>{let m=h.indexOf(".")===-1?(r.path?`${r.path}.`:"")+h:`${r.path||""}["${h}"]`,I=this.fields[h];if(I&&"validate"in I){I.validate(g[h],ef({},r,{path:m,from:o,strict:!0,parent:g,originalValue:a[h]}),d);return}d(null)});(0,Wqe.default)({sync:s,tests:f,value:g,errors:n,endEarly:l,sort:this._sortErrors,path:r.path},i)})}clone(e){let r=super.clone(e);return r.fields=ef({},this.fields),r._nodes=this._nodes,r._excludedEdges=this._excludedEdges,r._sortErrors=this._sortErrors,r}concat(e){let r=super.concat(e),i=r.fields;for(let[n,s]of Object.entries(this.fields)){let o=i[n];o===void 0?i[n]=s:o instanceof oN.default&&s instanceof oN.default&&(i[n]=s.concat(o))}return r.withMutation(()=>r.shape(i))}getDefaultFromShape(){let e={};return this._nodes.forEach(r=>{let i=this.fields[r];e[r]="default"in i?i.getDefault():void 0}),e}_getDefault(){if("default"in this.spec)return super._getDefault();if(!!this._nodes.length)return this.getDefaultFromShape()}shape(e,r=[]){let i=this.clone(),n=Object.assign(i.fields,e);if(i.fields=n,i._sortErrors=(0,Rie.default)(Object.keys(n)),r.length){Array.isArray(r[0])||(r=[r]);let s=r.map(([o,a])=>`${o}-${a}`);i._excludedEdges=i._excludedEdges.concat(s)}return i._nodes=(0,Jqe.default)(n,i._excludedEdges),i}pick(e){let r={};for(let i of e)this.fields[i]&&(r[i]=this.fields[i]);return this.clone().withMutation(i=>(i.fields={},i.shape(r)))}omit(e){let r=this.clone(),i=r.fields;r.fields={};for(let n of e)delete i[n];return r.withMutation(()=>r.shape(i))}from(e,r,i){let n=(0,qqe.getter)(e,!0);return this.transform(s=>{if(s==null)return s;let o=s;return(0,kie.default)(s,e)&&(o=ef({},s),i||delete o[e],o[r]=n(s)),o})}noUnknown(e=!0,r=Die.object.noUnknown){typeof e=="string"&&(r=e,e=!0);let i=this.test({name:"noUnknown",exclusive:!0,message:r,test(n){if(n==null)return!0;let s=Vqe(this.schema,n);return!e||s.length===0||this.createError({params:{unknown:s.join(", ")}})}});return i.spec.noUnknown=e,i}unknown(e=!0,r=Die.object.noUnknown){return this.noUnknown(!e,r)}transformKeys(e){return this.transform(r=>r&&(0,jqe.default)(r,(i,n)=>e(n)))}camelCase(){return this.transformKeys(Gqe.default)}snakeCase(){return this.transformKeys(Pie.default)}constantCase(){return this.transformKeys(e=>(0,Pie.default)(e).toUpperCase())}describe(){let e=super.describe();return e.fields=(0,Yqe.default)(this.fields,r=>r.describe()),e}};$d.default=P0;function xie(t){return new P0(t)}xie.prototype=P0.prototype});var Tie=E(eC=>{"use strict";Object.defineProperty(eC,"__esModule",{value:!0});eC.create=Lie;eC.default=void 0;var aN=tf(Zg()),Xqe=tf(qg()),Zqe=tf(Nd()),AN=La(),$qe=tf(a0()),eJe=tf(xc()),tJe=tf(Ma());function tf(t){return t&&t.__esModule?t:{default:t}}function D0(){return D0=Object.assign||function(t){for(var e=1;e{this.transform(function(r){if(typeof r=="string")try{r=JSON.parse(r)}catch(i){r=null}return this.isType(r)?r:null})})}_typeCheck(e){return Array.isArray(e)}get _subType(){return this.innerType}_cast(e,r){let i=super._cast(e,r);if(!this._typeCheck(i)||!this.innerType)return i;let n=!1,s=i.map((o,a)=>{let l=this.innerType.cast(o,D0({},r,{path:`${r.path||""}[${a}]`}));return l!==o&&(n=!0),l});return n?s:i}_validate(e,r={},i){var n,s;let o=[],a=r.sync,l=r.path,c=this.innerType,u=(n=r.abortEarly)!=null?n:this.spec.abortEarly,g=(s=r.recursive)!=null?s:this.spec.recursive,f=r.originalValue!=null?r.originalValue:e;super._validate(e,r,(h,p)=>{if(h){if(!eJe.default.isError(h)||u)return void i(h,p);o.push(h)}if(!g||!c||!this._typeCheck(p)){i(o[0]||null,p);return}f=f||p;let d=new Array(p.length);for(let m=0;mc.validate(I,b,H)}(0,$qe.default)({sync:a,path:l,value:p,errors:o,endEarly:u,tests:d},i)})}clone(e){let r=super.clone(e);return r.innerType=this.innerType,r}concat(e){let r=super.concat(e);return r.innerType=this.innerType,e.innerType&&(r.innerType=r.innerType?r.innerType.concat(e.innerType):e.innerType),r}of(e){let r=this.clone();if(!(0,Xqe.default)(e))throw new TypeError("`array.of()` sub-schema must be a valid yup schema not: "+(0,Zqe.default)(e));return r.innerType=e,r}length(e,r=AN.array.length){return this.test({message:r,name:"length",exclusive:!0,params:{length:e},test(i){return(0,aN.default)(i)||i.length===this.resolve(e)}})}min(e,r){return r=r||AN.array.min,this.test({message:r,name:"min",exclusive:!0,params:{min:e},test(i){return(0,aN.default)(i)||i.length>=this.resolve(e)}})}max(e,r){return r=r||AN.array.max,this.test({message:r,name:"max",exclusive:!0,params:{max:e},test(i){return(0,aN.default)(i)||i.length<=this.resolve(e)}})}ensure(){return this.default(()=>[]).transform((e,r)=>this._typeCheck(e)?e:r==null?[]:[].concat(r))}compact(e){let r=e?(i,n,s)=>!e(i,n,s):i=>!!i;return this.transform(i=>i!=null?i.filter(r):i)}describe(){let e=super.describe();return this.innerType&&(e.innerType=this.innerType.describe()),e}nullable(e=!0){return super.nullable(e)}defined(){return super.defined()}required(e){return super.required(e)}};eC.default=R0;Lie.prototype=R0.prototype});var Mie=E(tC=>{"use strict";Object.defineProperty(tC,"__esModule",{value:!0});tC.create=rJe;tC.default=void 0;var nJe=iJe(qg());function iJe(t){return t&&t.__esModule?t:{default:t}}function rJe(t){return new lN(t)}var lN=class{constructor(e){this.type="lazy",this.__isYupSchema__=!0,this._resolve=(r,i={})=>{let n=this.builder(r,i);if(!(0,nJe.default)(n))throw new TypeError("lazy() functions must return a valid schema");return n.resolve(i)},this.builder=e}resolve(e){return this._resolve(e.value,e)}cast(e,r){return this._resolve(e,r).cast(e,r)}validate(e,r,i){return this._resolve(e,r).validate(e,r,i)}validateSync(e,r){return this._resolve(e,r).validateSync(e,r)}validateAt(e,r,i){return this._resolve(r,i).validateAt(e,r,i)}validateSyncAt(e,r,i){return this._resolve(r,i).validateSyncAt(e,r,i)}describe(){return null}isValid(e,r){return this._resolve(e,r).isValid(e,r)}isValidSync(e,r){return this._resolve(e,r).isValidSync(e,r)}},sJe=lN;tC.default=sJe});var Oie=E(cN=>{"use strict";Object.defineProperty(cN,"__esModule",{value:!0});cN.default=oJe;var AJe=aJe(La());function aJe(t){return t&&t.__esModule?t:{default:t}}function oJe(t){Object.keys(t).forEach(e=>{Object.keys(t[e]).forEach(r=>{AJe.default[e][r]=t[e][r]})})}});var gN=E(cr=>{"use strict";Object.defineProperty(cr,"__esModule",{value:!0});cr.addMethod=lJe;Object.defineProperty(cr,"MixedSchema",{enumerable:!0,get:function(){return Kie.default}});Object.defineProperty(cr,"mixed",{enumerable:!0,get:function(){return Kie.create}});Object.defineProperty(cr,"BooleanSchema",{enumerable:!0,get:function(){return uN.default}});Object.defineProperty(cr,"bool",{enumerable:!0,get:function(){return uN.create}});Object.defineProperty(cr,"boolean",{enumerable:!0,get:function(){return uN.create}});Object.defineProperty(cr,"StringSchema",{enumerable:!0,get:function(){return Uie.default}});Object.defineProperty(cr,"string",{enumerable:!0,get:function(){return Uie.create}});Object.defineProperty(cr,"NumberSchema",{enumerable:!0,get:function(){return Hie.default}});Object.defineProperty(cr,"number",{enumerable:!0,get:function(){return Hie.create}});Object.defineProperty(cr,"DateSchema",{enumerable:!0,get:function(){return Gie.default}});Object.defineProperty(cr,"date",{enumerable:!0,get:function(){return Gie.create}});Object.defineProperty(cr,"ObjectSchema",{enumerable:!0,get:function(){return jie.default}});Object.defineProperty(cr,"object",{enumerable:!0,get:function(){return jie.create}});Object.defineProperty(cr,"ArraySchema",{enumerable:!0,get:function(){return Yie.default}});Object.defineProperty(cr,"array",{enumerable:!0,get:function(){return Yie.create}});Object.defineProperty(cr,"ref",{enumerable:!0,get:function(){return cJe.create}});Object.defineProperty(cr,"lazy",{enumerable:!0,get:function(){return uJe.create}});Object.defineProperty(cr,"ValidationError",{enumerable:!0,get:function(){return gJe.default}});Object.defineProperty(cr,"reach",{enumerable:!0,get:function(){return fJe.default}});Object.defineProperty(cr,"isSchema",{enumerable:!0,get:function(){return qie.default}});Object.defineProperty(cr,"setLocale",{enumerable:!0,get:function(){return hJe.default}});Object.defineProperty(cr,"BaseSchema",{enumerable:!0,get:function(){return pJe.default}});var Kie=Nc(yre()),uN=Nc(vre()),Uie=Nc(kre()),Hie=Nc(Rre()),Gie=Nc(Tre()),jie=Nc(Nie()),Yie=Nc(Tie()),cJe=Dc(),uJe=Mie(),gJe=rC(xc()),fJe=rC(XF()),qie=rC(qg()),hJe=rC(Oie()),pJe=rC(Ma());function rC(t){return t&&t.__esModule?t:{default:t}}function Jie(){if(typeof WeakMap!="function")return null;var t=new WeakMap;return Jie=function(){return t},t}function Nc(t){if(t&&t.__esModule)return t;if(t===null||typeof t!="object"&&typeof t!="function")return{default:t};var e=Jie();if(e&&e.has(t))return e.get(t);var r={},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var n in t)if(Object.prototype.hasOwnProperty.call(t,n)){var s=i?Object.getOwnPropertyDescriptor(t,n):null;s&&(s.get||s.set)?Object.defineProperty(r,n,s):r[n]=t[n]}return r.default=t,e&&e.set(t,r),r}function lJe(t,e,r){if(!t||!(0,qie.default)(t.prototype))throw new TypeError("You must provide a yup schema constructor function");if(typeof e!="string")throw new TypeError("A Method name must be provided");if(typeof r!="function")throw new TypeError("Method function must be provided");t.prototype[e]=r}});var Xie=E((gCt,nC)=>{"use strict";var mJe=process.env.TERM_PROGRAM==="Hyper",EJe=process.platform==="win32",zie=process.platform==="linux",fN={ballotDisabled:"\u2612",ballotOff:"\u2610",ballotOn:"\u2611",bullet:"\u2022",bulletWhite:"\u25E6",fullBlock:"\u2588",heart:"\u2764",identicalTo:"\u2261",line:"\u2500",mark:"\u203B",middot:"\xB7",minus:"\uFF0D",multiplication:"\xD7",obelus:"\xF7",pencilDownRight:"\u270E",pencilRight:"\u270F",pencilUpRight:"\u2710",percent:"%",pilcrow2:"\u2761",pilcrow:"\xB6",plusMinus:"\xB1",section:"\xA7",starsOff:"\u2606",starsOn:"\u2605",upDownArrow:"\u2195"},Vie=Object.assign({},fN,{check:"\u221A",cross:"\xD7",ellipsisLarge:"...",ellipsis:"...",info:"i",question:"?",questionSmall:"?",pointer:">",pointerSmall:"\xBB",radioOff:"( )",radioOn:"(*)",warning:"\u203C"}),_ie=Object.assign({},fN,{ballotCross:"\u2718",check:"\u2714",cross:"\u2716",ellipsisLarge:"\u22EF",ellipsis:"\u2026",info:"\u2139",question:"?",questionFull:"\uFF1F",questionSmall:"\uFE56",pointer:zie?"\u25B8":"\u276F",pointerSmall:zie?"\u2023":"\u203A",radioOff:"\u25EF",radioOn:"\u25C9",warning:"\u26A0"});nC.exports=EJe&&!mJe?Vie:_ie;Reflect.defineProperty(nC.exports,"common",{enumerable:!1,value:fN});Reflect.defineProperty(nC.exports,"windows",{enumerable:!1,value:Vie});Reflect.defineProperty(nC.exports,"other",{enumerable:!1,value:_ie})});var js=E((fCt,hN)=>{"use strict";var IJe=t=>t!==null&&typeof t=="object"&&!Array.isArray(t),yJe=/[\u001b\u009b][[\]#;?()]*(?:(?:(?:[^\W_]*;?[^\W_]*)\u0007)|(?:(?:[0-9]{1,4}(;[0-9]{0,4})*)?[~0-9=<>cf-nqrtyA-PRZ]))/g,Zie=()=>{let t={enabled:!0,visible:!0,styles:{},keys:{}};"FORCE_COLOR"in process.env&&(t.enabled=process.env.FORCE_COLOR!=="0");let e=s=>{let o=s.open=`[${s.codes[0]}m`,a=s.close=`[${s.codes[1]}m`,l=s.regex=new RegExp(`\\u001b\\[${s.codes[1]}m`,"g");return s.wrap=(c,u)=>{c.includes(a)&&(c=c.replace(l,a+o));let g=o+c+a;return u?g.replace(/\r*\n/g,`${a}$&${o}`):g},s},r=(s,o,a)=>typeof s=="function"?s(o):s.wrap(o,a),i=(s,o)=>{if(s===""||s==null)return"";if(t.enabled===!1)return s;if(t.visible===!1)return"";let a=""+s,l=a.includes(` +`),c=o.length;for(c>0&&o.includes("unstyle")&&(o=[...new Set(["unstyle",...o])].reverse());c-- >0;)a=r(t.styles[o[c]],a,l);return a},n=(s,o,a)=>{t.styles[s]=e({name:s,codes:o}),(t.keys[a]||(t.keys[a]=[])).push(s),Reflect.defineProperty(t,s,{configurable:!0,enumerable:!0,set(c){t.alias(s,c)},get(){let c=u=>i(u,c.stack);return Reflect.setPrototypeOf(c,t),c.stack=this.stack?this.stack.concat(s):[s],c}})};return n("reset",[0,0],"modifier"),n("bold",[1,22],"modifier"),n("dim",[2,22],"modifier"),n("italic",[3,23],"modifier"),n("underline",[4,24],"modifier"),n("inverse",[7,27],"modifier"),n("hidden",[8,28],"modifier"),n("strikethrough",[9,29],"modifier"),n("black",[30,39],"color"),n("red",[31,39],"color"),n("green",[32,39],"color"),n("yellow",[33,39],"color"),n("blue",[34,39],"color"),n("magenta",[35,39],"color"),n("cyan",[36,39],"color"),n("white",[37,39],"color"),n("gray",[90,39],"color"),n("grey",[90,39],"color"),n("bgBlack",[40,49],"bg"),n("bgRed",[41,49],"bg"),n("bgGreen",[42,49],"bg"),n("bgYellow",[43,49],"bg"),n("bgBlue",[44,49],"bg"),n("bgMagenta",[45,49],"bg"),n("bgCyan",[46,49],"bg"),n("bgWhite",[47,49],"bg"),n("blackBright",[90,39],"bright"),n("redBright",[91,39],"bright"),n("greenBright",[92,39],"bright"),n("yellowBright",[93,39],"bright"),n("blueBright",[94,39],"bright"),n("magentaBright",[95,39],"bright"),n("cyanBright",[96,39],"bright"),n("whiteBright",[97,39],"bright"),n("bgBlackBright",[100,49],"bgBright"),n("bgRedBright",[101,49],"bgBright"),n("bgGreenBright",[102,49],"bgBright"),n("bgYellowBright",[103,49],"bgBright"),n("bgBlueBright",[104,49],"bgBright"),n("bgMagentaBright",[105,49],"bgBright"),n("bgCyanBright",[106,49],"bgBright"),n("bgWhiteBright",[107,49],"bgBright"),t.ansiRegex=yJe,t.hasColor=t.hasAnsi=s=>(t.ansiRegex.lastIndex=0,typeof s=="string"&&s!==""&&t.ansiRegex.test(s)),t.alias=(s,o)=>{let a=typeof o=="string"?t[o]:o;if(typeof a!="function")throw new TypeError("Expected alias to be the name of an existing color (string) or a function");a.stack||(Reflect.defineProperty(a,"name",{value:s}),t.styles[s]=a,a.stack=[s]),Reflect.defineProperty(t,s,{configurable:!0,enumerable:!0,set(l){t.alias(s,l)},get(){let l=c=>i(c,l.stack);return Reflect.setPrototypeOf(l,t),l.stack=this.stack?this.stack.concat(a.stack):a.stack,l}})},t.theme=s=>{if(!IJe(s))throw new TypeError("Expected theme to be an object");for(let o of Object.keys(s))t.alias(o,s[o]);return t},t.alias("unstyle",s=>typeof s=="string"&&s!==""?(t.ansiRegex.lastIndex=0,s.replace(t.ansiRegex,"")):""),t.alias("noop",s=>s),t.none=t.clear=t.noop,t.stripColor=t.unstyle,t.symbols=Xie(),t.define=n,t};hN.exports=Zie();hN.exports.create=Zie});var Mi=E(bt=>{"use strict";var wJe=Object.prototype.toString,Cs=js(),$ie=!1,pN=[],ene={yellow:"blue",cyan:"red",green:"magenta",black:"white",blue:"yellow",red:"cyan",magenta:"green",white:"black"};bt.longest=(t,e)=>t.reduce((r,i)=>Math.max(r,e?i[e].length:i.length),0);bt.hasColor=t=>!!t&&Cs.hasColor(t);var N0=bt.isObject=t=>t!==null&&typeof t=="object"&&!Array.isArray(t);bt.nativeType=t=>wJe.call(t).slice(8,-1).toLowerCase().replace(/\s/g,"");bt.isAsyncFn=t=>bt.nativeType(t)==="asyncfunction";bt.isPrimitive=t=>t!=null&&typeof t!="object"&&typeof t!="function";bt.resolve=(t,e,...r)=>typeof e=="function"?e.call(t,...r):e;bt.scrollDown=(t=[])=>[...t.slice(1),t[0]];bt.scrollUp=(t=[])=>[t.pop(),...t];bt.reorder=(t=[])=>{let e=t.slice();return e.sort((r,i)=>r.index>i.index?1:r.index{let i=t.length,n=r===i?0:r<0?i-1:r,s=t[e];t[e]=t[n],t[n]=s};bt.width=(t,e=80)=>{let r=t&&t.columns?t.columns:e;return t&&typeof t.getWindowSize=="function"&&(r=t.getWindowSize()[0]),process.platform==="win32"?r-1:r};bt.height=(t,e=20)=>{let r=t&&t.rows?t.rows:e;return t&&typeof t.getWindowSize=="function"&&(r=t.getWindowSize()[1]),r};bt.wordWrap=(t,e={})=>{if(!t)return t;typeof e=="number"&&(e={width:e});let{indent:r="",newline:i=` +`+r,width:n=80}=e;n-=((i+r).match(/[^\S\n]/g)||[]).length;let o=`.{1,${n}}([\\s\\u200B]+|$)|[^\\s\\u200B]+?([\\s\\u200B]+|$)`,a=t.trim(),l=new RegExp(o,"g"),c=a.match(l)||[];return c=c.map(u=>u.replace(/\n$/,"")),e.padEnd&&(c=c.map(u=>u.padEnd(n," "))),e.padStart&&(c=c.map(u=>u.padStart(n," "))),r+c.join(i)};bt.unmute=t=>{let e=t.stack.find(i=>Cs.keys.color.includes(i));return e?Cs[e]:t.stack.find(i=>i.slice(2)==="bg")?Cs[e.slice(2)]:i=>i};bt.pascal=t=>t?t[0].toUpperCase()+t.slice(1):"";bt.inverse=t=>{if(!t||!t.stack)return t;let e=t.stack.find(i=>Cs.keys.color.includes(i));if(e){let i=Cs["bg"+bt.pascal(e)];return i?i.black:t}let r=t.stack.find(i=>i.slice(0,2)==="bg");return r?Cs[r.slice(2).toLowerCase()]||t:Cs.none};bt.complement=t=>{if(!t||!t.stack)return t;let e=t.stack.find(i=>Cs.keys.color.includes(i)),r=t.stack.find(i=>i.slice(0,2)==="bg");if(e&&!r)return Cs[ene[e]||e];if(r){let i=r.slice(2).toLowerCase(),n=ene[i];return n&&Cs["bg"+bt.pascal(n)]||t}return Cs.none};bt.meridiem=t=>{let e=t.getHours(),r=t.getMinutes(),i=e>=12?"pm":"am";e=e%12;let n=e===0?12:e,s=r<10?"0"+r:r;return n+":"+s+" "+i};bt.set=(t={},e="",r)=>e.split(".").reduce((i,n,s,o)=>{let a=o.length-1>s?i[n]||{}:r;return!bt.isObject(a)&&s{let i=t[e]==null?e.split(".").reduce((n,s)=>n&&n[s],t):t[e];return i==null?r:i};bt.mixin=(t,e)=>{if(!N0(t))return e;if(!N0(e))return t;for(let r of Object.keys(e)){let i=Object.getOwnPropertyDescriptor(e,r);if(i.hasOwnProperty("value"))if(t.hasOwnProperty(r)&&N0(i.value)){let n=Object.getOwnPropertyDescriptor(t,r);N0(n.value)?t[r]=bt.merge({},t[r],e[r]):Reflect.defineProperty(t,r,i)}else Reflect.defineProperty(t,r,i);else Reflect.defineProperty(t,r,i)}return t};bt.merge=(...t)=>{let e={};for(let r of t)bt.mixin(e,r);return e};bt.mixinEmitter=(t,e)=>{let r=e.constructor.prototype;for(let i of Object.keys(r)){let n=r[i];typeof n=="function"?bt.define(t,i,n.bind(e)):bt.define(t,i,n)}};bt.onExit=t=>{let e=(r,i)=>{$ie||($ie=!0,pN.forEach(n=>n()),r===!0&&process.exit(128+i))};pN.length===0&&(process.once("SIGTERM",e.bind(null,!0,15)),process.once("SIGINT",e.bind(null,!0,2)),process.once("exit",e)),pN.push(t)};bt.define=(t,e,r)=>{Reflect.defineProperty(t,e,{value:r})};bt.defineExport=(t,e,r)=>{let i;Reflect.defineProperty(t,e,{enumerable:!0,configurable:!0,set(n){i=n},get(){return i?i():r()}})}});var tne=E(nf=>{"use strict";nf.ctrl={a:"first",b:"backward",c:"cancel",d:"deleteForward",e:"last",f:"forward",g:"reset",i:"tab",k:"cutForward",l:"reset",n:"newItem",m:"cancel",j:"submit",p:"search",r:"remove",s:"save",u:"undo",w:"cutLeft",x:"toggleCursor",v:"paste"};nf.shift={up:"shiftUp",down:"shiftDown",left:"shiftLeft",right:"shiftRight",tab:"prev"};nf.fn={up:"pageUp",down:"pageDown",left:"pageLeft",right:"pageRight",delete:"deleteForward"};nf.option={b:"backward",f:"forward",d:"cutRight",left:"cutLeft",up:"altUp",down:"altDown"};nf.keys={pageup:"pageUp",pagedown:"pageDown",home:"home",end:"end",cancel:"cancel",delete:"deleteForward",backspace:"delete",down:"down",enter:"submit",escape:"cancel",left:"left",space:"space",number:"number",return:"submit",right:"right",tab:"next",up:"up"}});var nne=E((dCt,rne)=>{"use strict";var ine=require("readline"),BJe=tne(),QJe=/^(?:\x1b)([a-zA-Z0-9])$/,bJe=/^(?:\x1b+)(O|N|\[|\[\[)(?:(\d+)(?:;(\d+))?([~^$])|(?:1;)?(\d+)?([a-zA-Z]))/,vJe={OP:"f1",OQ:"f2",OR:"f3",OS:"f4","[11~":"f1","[12~":"f2","[13~":"f3","[14~":"f4","[[A":"f1","[[B":"f2","[[C":"f3","[[D":"f4","[[E":"f5","[15~":"f5","[17~":"f6","[18~":"f7","[19~":"f8","[20~":"f9","[21~":"f10","[23~":"f11","[24~":"f12","[A":"up","[B":"down","[C":"right","[D":"left","[E":"clear","[F":"end","[H":"home",OA:"up",OB:"down",OC:"right",OD:"left",OE:"clear",OF:"end",OH:"home","[1~":"home","[2~":"insert","[3~":"delete","[4~":"end","[5~":"pageup","[6~":"pagedown","[[5~":"pageup","[[6~":"pagedown","[7~":"home","[8~":"end","[a":"up","[b":"down","[c":"right","[d":"left","[e":"clear","[2$":"insert","[3$":"delete","[5$":"pageup","[6$":"pagedown","[7$":"home","[8$":"end",Oa:"up",Ob:"down",Oc:"right",Od:"left",Oe:"clear","[2^":"insert","[3^":"delete","[5^":"pageup","[6^":"pagedown","[7^":"home","[8^":"end","[Z":"tab"};function SJe(t){return["[a","[b","[c","[d","[e","[2$","[3$","[5$","[6$","[7$","[8$","[Z"].includes(t)}function xJe(t){return["Oa","Ob","Oc","Od","Oe","[2^","[3^","[5^","[6^","[7^","[8^"].includes(t)}var L0=(t="",e={})=>{let r,i=P({name:e.name,ctrl:!1,meta:!1,shift:!1,option:!1,sequence:t,raw:t},e);if(Buffer.isBuffer(t)?t[0]>127&&t[1]===void 0?(t[0]-=128,t=""+String(t)):t=String(t):t!==void 0&&typeof t!="string"?t=String(t):t||(t=i.sequence||""),i.sequence=i.sequence||t||i.name,t==="\r")i.raw=void 0,i.name="return";else if(t===` +`)i.name="enter";else if(t===" ")i.name="tab";else if(t==="\b"||t==="\x7F"||t==="\x7F"||t==="\b")i.name="backspace",i.meta=t.charAt(0)==="";else if(t===""||t==="")i.name="escape",i.meta=t.length===2;else if(t===" "||t===" ")i.name="space",i.meta=t.length===2;else if(t<="")i.name=String.fromCharCode(t.charCodeAt(0)+"a".charCodeAt(0)-1),i.ctrl=!0;else if(t.length===1&&t>="0"&&t<="9")i.name="number";else if(t.length===1&&t>="a"&&t<="z")i.name=t;else if(t.length===1&&t>="A"&&t<="Z")i.name=t.toLowerCase(),i.shift=!0;else if(r=QJe.exec(t))i.meta=!0,i.shift=/^[A-Z]$/.test(r[1]);else if(r=bJe.exec(t)){let n=[...t];n[0]===""&&n[1]===""&&(i.option=!0);let s=[r[1],r[2],r[4],r[6]].filter(Boolean).join(""),o=(r[3]||r[5]||1)-1;i.ctrl=!!(o&4),i.meta=!!(o&10),i.shift=!!(o&1),i.code=s,i.name=vJe[s],i.shift=SJe(s)||i.shift,i.ctrl=xJe(s)||i.ctrl}return i};L0.listen=(t={},e)=>{let{stdin:r}=t;if(!r||r!==process.stdin&&!r.isTTY)throw new Error("Invalid stream passed");let i=ine.createInterface({terminal:!0,input:r});ine.emitKeypressEvents(r,i);let n=(a,l)=>e(a,L0(a,l),i),s=r.isRaw;return r.isTTY&&r.setRawMode(!0),r.on("keypress",n),i.resume(),()=>{r.isTTY&&r.setRawMode(s),r.removeListener("keypress",n),i.pause(),i.close()}};L0.action=(t,e,r)=>{let i=P(P({},BJe),r);return e.ctrl?(e.action=i.ctrl[e.name],e):e.option&&i.option?(e.action=i.option[e.name],e):e.shift?(e.action=i.shift[e.name],e):(e.action=i.keys[e.name],e)};rne.exports=L0});var one=E((CCt,sne)=>{"use strict";sne.exports=t=>{t.timers=t.timers||{};let e=t.options.timers;if(!!e)for(let r of Object.keys(e)){let i=e[r];typeof i=="number"&&(i={interval:i}),kJe(t,r,i)}};function kJe(t,e,r={}){let i=t.timers[e]={name:e,start:Date.now(),ms:0,tick:0},n=r.interval||120;i.frames=r.frames||[],i.loading=!0;let s=setInterval(()=>{i.ms=Date.now()-i.start,i.tick++,t.render()},n);return i.stop=()=>{i.loading=!1,clearInterval(s)},Reflect.defineProperty(i,"interval",{value:s}),t.once("close",()=>i.stop()),i.stop}});var lne=E((mCt,ane)=>{"use strict";var{define:PJe,width:DJe}=Mi(),Ane=class{constructor(e){let r=e.options;PJe(this,"_prompt",e),this.type=e.type,this.name=e.name,this.message="",this.header="",this.footer="",this.error="",this.hint="",this.input="",this.cursor=0,this.index=0,this.lines=0,this.tick=0,this.prompt="",this.buffer="",this.width=DJe(r.stdout||process.stdout),Object.assign(this,r),this.name=this.name||this.message,this.message=this.message||this.name,this.symbols=e.symbols,this.styles=e.styles,this.required=new Set,this.cancelled=!1,this.submitted=!1}clone(){let e=P({},this);return e.status=this.status,e.buffer=Buffer.from(e.buffer),delete e.clone,e}set color(e){this._color=e}get color(){let e=this.prompt.styles;if(this.cancelled)return e.cancelled;if(this.submitted)return e.submitted;let r=this._color||e[this.status];return typeof r=="function"?r:e.pending}set loading(e){this._loading=e}get loading(){return typeof this._loading=="boolean"?this._loading:this.loadingChoices?"choices":!1}get status(){return this.cancelled?"cancelled":this.submitted?"submitted":"pending"}};ane.exports=Ane});var une=E((ECt,cne)=>{"use strict";var dN=Mi(),yi=js(),CN={default:yi.noop,noop:yi.noop,set inverse(t){this._inverse=t},get inverse(){return this._inverse||dN.inverse(this.primary)},set complement(t){this._complement=t},get complement(){return this._complement||dN.complement(this.primary)},primary:yi.cyan,success:yi.green,danger:yi.magenta,strong:yi.bold,warning:yi.yellow,muted:yi.dim,disabled:yi.gray,dark:yi.dim.gray,underline:yi.underline,set info(t){this._info=t},get info(){return this._info||this.primary},set em(t){this._em=t},get em(){return this._em||this.primary.underline},set heading(t){this._heading=t},get heading(){return this._heading||this.muted.underline},set pending(t){this._pending=t},get pending(){return this._pending||this.primary},set submitted(t){this._submitted=t},get submitted(){return this._submitted||this.success},set cancelled(t){this._cancelled=t},get cancelled(){return this._cancelled||this.danger},set typing(t){this._typing=t},get typing(){return this._typing||this.dim},set placeholder(t){this._placeholder=t},get placeholder(){return this._placeholder||this.primary.dim},set highlight(t){this._highlight=t},get highlight(){return this._highlight||this.inverse}};CN.merge=(t={})=>{t.styles&&typeof t.styles.enabled=="boolean"&&(yi.enabled=t.styles.enabled),t.styles&&typeof t.styles.visible=="boolean"&&(yi.visible=t.styles.visible);let e=dN.merge({},CN,t.styles);delete e.merge;for(let r of Object.keys(yi))e.hasOwnProperty(r)||Reflect.defineProperty(e,r,{get:()=>yi[r]});for(let r of Object.keys(yi.styles))e.hasOwnProperty(r)||Reflect.defineProperty(e,r,{get:()=>yi[r]});return e};cne.exports=CN});var fne=E((ICt,gne)=>{"use strict";var mN=process.platform==="win32",Ka=js(),RJe=Mi(),EN=_(P({},Ka.symbols),{upDownDoubleArrow:"\u21D5",upDownDoubleArrow2:"\u2B0D",upDownArrow:"\u2195",asterisk:"*",asterism:"\u2042",bulletWhite:"\u25E6",electricArrow:"\u2301",ellipsisLarge:"\u22EF",ellipsisSmall:"\u2026",fullBlock:"\u2588",identicalTo:"\u2261",indicator:Ka.symbols.check,leftAngle:"\u2039",mark:"\u203B",minus:"\u2212",multiplication:"\xD7",obelus:"\xF7",percent:"%",pilcrow:"\xB6",pilcrow2:"\u2761",pencilUpRight:"\u2710",pencilDownRight:"\u270E",pencilRight:"\u270F",plus:"+",plusMinus:"\xB1",pointRight:"\u261E",rightAngle:"\u203A",section:"\xA7",hexagon:{off:"\u2B21",on:"\u2B22",disabled:"\u2B22"},ballot:{on:"\u2611",off:"\u2610",disabled:"\u2612"},stars:{on:"\u2605",off:"\u2606",disabled:"\u2606"},folder:{on:"\u25BC",off:"\u25B6",disabled:"\u25B6"},prefix:{pending:Ka.symbols.question,submitted:Ka.symbols.check,cancelled:Ka.symbols.cross},separator:{pending:Ka.symbols.pointerSmall,submitted:Ka.symbols.middot,cancelled:Ka.symbols.middot},radio:{off:mN?"( )":"\u25EF",on:mN?"(*)":"\u25C9",disabled:mN?"(|)":"\u24BE"},numbers:["\u24EA","\u2460","\u2461","\u2462","\u2463","\u2464","\u2465","\u2466","\u2467","\u2468","\u2469","\u246A","\u246B","\u246C","\u246D","\u246E","\u246F","\u2470","\u2471","\u2472","\u2473","\u3251","\u3252","\u3253","\u3254","\u3255","\u3256","\u3257","\u3258","\u3259","\u325A","\u325B","\u325C","\u325D","\u325E","\u325F","\u32B1","\u32B2","\u32B3","\u32B4","\u32B5","\u32B6","\u32B7","\u32B8","\u32B9","\u32BA","\u32BB","\u32BC","\u32BD","\u32BE","\u32BF"]});EN.merge=t=>{let e=RJe.merge({},Ka.symbols,EN,t.symbols);return delete e.merge,e};gne.exports=EN});var pne=E((yCt,hne)=>{"use strict";var FJe=une(),NJe=fne(),LJe=Mi();hne.exports=t=>{t.options=LJe.merge({},t.options.theme,t.options),t.symbols=NJe.merge(t.options),t.styles=FJe.merge(t.options)}});var Ine=E((dne,Cne)=>{"use strict";var mne=process.env.TERM_PROGRAM==="Apple_Terminal",TJe=js(),IN=Mi(),Ys=Cne.exports=dne,Ir="[",Ene="\x07",yN=!1,HA=Ys.code={bell:Ene,beep:Ene,beginning:`${Ir}G`,down:`${Ir}J`,esc:Ir,getPosition:`${Ir}6n`,hide:`${Ir}?25l`,line:`${Ir}2K`,lineEnd:`${Ir}K`,lineStart:`${Ir}1K`,restorePosition:Ir+(mne?"8":"u"),savePosition:Ir+(mne?"7":"s"),screen:`${Ir}2J`,show:`${Ir}?25h`,up:`${Ir}1J`},Lc=Ys.cursor={get hidden(){return yN},hide(){return yN=!0,HA.hide},show(){return yN=!1,HA.show},forward:(t=1)=>`${Ir}${t}C`,backward:(t=1)=>`${Ir}${t}D`,nextLine:(t=1)=>`${Ir}E`.repeat(t),prevLine:(t=1)=>`${Ir}F`.repeat(t),up:(t=1)=>t?`${Ir}${t}A`:"",down:(t=1)=>t?`${Ir}${t}B`:"",right:(t=1)=>t?`${Ir}${t}C`:"",left:(t=1)=>t?`${Ir}${t}D`:"",to(t,e){return e?`${Ir}${e+1};${t+1}H`:`${Ir}${t+1}G`},move(t=0,e=0){let r="";return r+=t<0?Lc.left(-t):t>0?Lc.right(t):"",r+=e<0?Lc.up(-e):e>0?Lc.down(e):"",r},restore(t={}){let{after:e,cursor:r,initial:i,input:n,prompt:s,size:o,value:a}=t;if(i=IN.isPrimitive(i)?String(i):"",n=IN.isPrimitive(n)?String(n):"",a=IN.isPrimitive(a)?String(a):"",o){let l=Ys.cursor.up(o)+Ys.cursor.to(s.length),c=n.length-r;return c>0&&(l+=Ys.cursor.left(c)),l}if(a||e){let l=!n&&!!i?-i.length:-n.length+r;return e&&(l-=e.length),n===""&&i&&!s.includes(i)&&(l+=i.length),Ys.cursor.move(l)}}},wN=Ys.erase={screen:HA.screen,up:HA.up,down:HA.down,line:HA.line,lineEnd:HA.lineEnd,lineStart:HA.lineStart,lines(t){let e="";for(let r=0;r{if(!e)return wN.line+Lc.to(0);let r=s=>[...TJe.unstyle(s)].length,i=t.split(/\r?\n/),n=0;for(let s of i)n+=1+Math.floor(Math.max(r(s)-1,0)/e);return(wN.line+Lc.prevLine()).repeat(n-1)+wN.line+Lc.to(0)}});var sf=E((wCt,yne)=>{"use strict";var MJe=require("events"),wne=js(),BN=nne(),OJe=one(),KJe=lne(),UJe=pne(),bn=Mi(),Tc=Ine(),T0=class extends MJe{constructor(e={}){super();this.name=e.name,this.type=e.type,this.options=e,UJe(this),OJe(this),this.state=new KJe(this),this.initial=[e.initial,e.default].find(r=>r!=null),this.stdout=e.stdout||process.stdout,this.stdin=e.stdin||process.stdin,this.scale=e.scale||1,this.term=this.options.term||process.env.TERM_PROGRAM,this.margin=GJe(this.options.margin),this.setMaxListeners(0),HJe(this)}async keypress(e,r={}){this.keypressed=!0;let i=BN.action(e,BN(e,r),this.options.actions);this.state.keypress=i,this.emit("keypress",e,i),this.emit("state",this.state.clone());let n=this.options[i.action]||this[i.action]||this.dispatch;if(typeof n=="function")return await n.call(this,e,i);this.alert()}alert(){delete this.state.alert,this.options.show===!1?this.emit("alert"):this.stdout.write(Tc.code.beep)}cursorHide(){this.stdout.write(Tc.cursor.hide()),bn.onExit(()=>this.cursorShow())}cursorShow(){this.stdout.write(Tc.cursor.show())}write(e){!e||(this.stdout&&this.state.show!==!1&&this.stdout.write(e),this.state.buffer+=e)}clear(e=0){let r=this.state.buffer;this.state.buffer="",!(!r&&!e||this.options.show===!1)&&this.stdout.write(Tc.cursor.down(e)+Tc.clear(r,this.width))}restore(){if(this.state.closed||this.options.show===!1)return;let{prompt:e,after:r,rest:i}=this.sections(),{cursor:n,initial:s="",input:o="",value:a=""}=this,l=this.state.size=i.length,c={after:r,cursor:n,initial:s,input:o,prompt:e,size:l,value:a},u=Tc.cursor.restore(c);u&&this.stdout.write(u)}sections(){let{buffer:e,input:r,prompt:i}=this.state;i=wne.unstyle(i);let n=wne.unstyle(e),s=n.indexOf(i),o=n.slice(0,s),l=n.slice(s).split(` +`),c=l[0],u=l[l.length-1],f=(i+(r?" "+r:"")).length,h=fe.call(this,this.value),this.result=()=>i.call(this,this.value),typeof r.initial=="function"&&(this.initial=await r.initial.call(this,this)),typeof r.onRun=="function"&&await r.onRun.call(this,this),typeof r.onSubmit=="function"){let n=r.onSubmit.bind(this),s=this.submit.bind(this);delete this.options.onSubmit,this.submit=async()=>(await n(this.name,this.value,this),s())}await this.start(),await this.render()}render(){throw new Error("expected prompt to have a custom render method")}run(){return new Promise(async(e,r)=>{if(this.once("submit",e),this.once("cancel",r),await this.skip())return this.render=()=>{},this.submit();await this.initialize(),this.emit("run")})}async element(e,r,i){let{options:n,state:s,symbols:o,timers:a}=this,l=a&&a[e];s.timer=l;let c=n[e]||s[e]||o[e],u=r&&r[e]!=null?r[e]:await c;if(u==="")return u;let g=await this.resolve(u,s,r,i);return!g&&r&&r[e]?this.resolve(c,s,r,i):g}async prefix(){let e=await this.element("prefix")||this.symbols,r=this.timers&&this.timers.prefix,i=this.state;return i.timer=r,bn.isObject(e)&&(e=e[i.status]||e.pending),bn.hasColor(e)?e:(this.styles[i.status]||this.styles.pending)(e)}async message(){let e=await this.element("message");return bn.hasColor(e)?e:this.styles.strong(e)}async separator(){let e=await this.element("separator")||this.symbols,r=this.timers&&this.timers.separator,i=this.state;i.timer=r;let n=e[i.status]||e.pending||i.separator,s=await this.resolve(n,i);return bn.isObject(s)&&(s=s[i.status]||s.pending),bn.hasColor(s)?s:this.styles.muted(s)}async pointer(e,r){let i=await this.element("pointer",e,r);if(typeof i=="string"&&bn.hasColor(i))return i;if(i){let n=this.styles,s=this.index===r,o=s?n.primary:c=>c,a=await this.resolve(i[s?"on":"off"]||i,this.state),l=bn.hasColor(a)?a:o(a);return s?l:" ".repeat(a.length)}}async indicator(e,r){let i=await this.element("indicator",e,r);if(typeof i=="string"&&bn.hasColor(i))return i;if(i){let n=this.styles,s=e.enabled===!0,o=s?n.success:n.dark,a=i[s?"on":"off"]||i;return bn.hasColor(a)?a:o(a)}return""}body(){return null}footer(){if(this.state.status==="pending")return this.element("footer")}header(){if(this.state.status==="pending")return this.element("header")}async hint(){if(this.state.status==="pending"&&!this.isValue(this.state.input)){let e=await this.element("hint");return bn.hasColor(e)?e:this.styles.muted(e)}}error(e){return this.state.submitted?"":e||this.state.error}format(e){return e}result(e){return e}validate(e){return this.options.required===!0?this.isValue(e):!0}isValue(e){return e!=null&&e!==""}resolve(e,...r){return bn.resolve(this,e,...r)}get base(){return T0.prototype}get style(){return this.styles[this.state.status]}get height(){return this.options.rows||bn.height(this.stdout,25)}get width(){return this.options.columns||bn.width(this.stdout,80)}get size(){return{width:this.width,height:this.height}}set cursor(e){this.state.cursor=e}get cursor(){return this.state.cursor}set input(e){this.state.input=e}get input(){return this.state.input}set value(e){this.state.value=e}get value(){let{input:e,value:r}=this.state,i=[r,e].find(this.isValue.bind(this));return this.isValue(i)?i:this.initial}static get prompt(){return e=>new this(e).run()}};function HJe(t){let e=n=>t[n]===void 0||typeof t[n]=="function",r=["actions","choices","initial","margin","roles","styles","symbols","theme","timers","value"],i=["body","footer","error","header","hint","indicator","message","prefix","separator","skip"];for(let n of Object.keys(t.options)){if(r.includes(n)||/^on[A-Z]/.test(n))continue;let s=t.options[n];typeof s=="function"&&e(n)?i.includes(n)||(t[n]=s.bind(t)):typeof t[n]!="function"&&(t[n]=s)}}function GJe(t){typeof t=="number"&&(t=[t,t,t,t]);let e=[].concat(t||[]),r=n=>n%2==0?` +`:" ",i=[];for(let n=0;n<4;n++){let s=r(n);e[n]?i.push(s.repeat(e[n])):i.push("")}return i}yne.exports=T0});var bne=E((BCt,Bne)=>{"use strict";var jJe=Mi(),Qne={default(t,e){return e},checkbox(t,e){throw new Error("checkbox role is not implemented yet")},editable(t,e){throw new Error("editable role is not implemented yet")},expandable(t,e){throw new Error("expandable role is not implemented yet")},heading(t,e){return e.disabled="",e.indicator=[e.indicator," "].find(r=>r!=null),e.message=e.message||"",e},input(t,e){throw new Error("input role is not implemented yet")},option(t,e){return Qne.default(t,e)},radio(t,e){throw new Error("radio role is not implemented yet")},separator(t,e){return e.disabled="",e.indicator=[e.indicator," "].find(r=>r!=null),e.message=e.message||t.symbols.line.repeat(5),e},spacer(t,e){return e}};Bne.exports=(t,e={})=>{let r=jJe.merge({},Qne,e.roles);return r[t]||r.default}});var sC=E((QCt,vne)=>{"use strict";var YJe=js(),qJe=sf(),JJe=bne(),M0=Mi(),{reorder:QN,scrollUp:WJe,scrollDown:zJe,isObject:Sne,swap:VJe}=M0,xne=class extends qJe{constructor(e){super(e);this.cursorHide(),this.maxSelected=e.maxSelected||Infinity,this.multiple=e.multiple||!1,this.initial=e.initial||0,this.delay=e.delay||0,this.longest=0,this.num=""}async initialize(){typeof this.options.initial=="function"&&(this.initial=await this.options.initial.call(this)),await this.reset(!0),await super.initialize()}async reset(){let{choices:e,initial:r,autofocus:i,suggest:n}=this.options;if(this.state._choices=[],this.state.choices=[],this.choices=await Promise.all(await this.toChoices(e)),this.choices.forEach(s=>s.enabled=!1),typeof n!="function"&&this.selectable.length===0)throw new Error("At least one choice must be selectable");Sne(r)&&(r=Object.keys(r)),Array.isArray(r)?(i!=null&&(this.index=this.findIndex(i)),r.forEach(s=>this.enable(this.find(s))),await this.render()):(i!=null&&(r=i),typeof r=="string"&&(r=this.findIndex(r)),typeof r=="number"&&r>-1&&(this.index=Math.max(0,Math.min(r,this.choices.length)),this.enable(this.find(this.index)))),this.isDisabled(this.focused)&&await this.down()}async toChoices(e,r){this.state.loadingChoices=!0;let i=[],n=0,s=async(o,a)=>{typeof o=="function"&&(o=await o.call(this)),o instanceof Promise&&(o=await o);for(let l=0;l(this.state.loadingChoices=!1,o))}async toChoice(e,r,i){if(typeof e=="function"&&(e=await e.call(this,this)),e instanceof Promise&&(e=await e),typeof e=="string"&&(e={name:e}),e.normalized)return e;e.normalized=!0;let n=e.value;if(e=JJe(e.role,this.options)(this,e),typeof e.disabled=="string"&&!e.hint&&(e.hint=e.disabled,e.disabled=!0),e.disabled===!0&&e.hint==null&&(e.hint="(disabled)"),e.index!=null)return e;e.name=e.name||e.key||e.title||e.value||e.message,e.message=e.message||e.name||"",e.value=[e.value,e.name].find(this.isValue.bind(this)),e.input="",e.index=r,e.cursor=0,M0.define(e,"parent",i),e.level=i?i.level+1:1,e.indent==null&&(e.indent=i?i.indent+" ":e.indent||""),e.path=i?i.path+"."+e.name:e.name,e.enabled=!!(this.multiple&&!this.isDisabled(e)&&(e.enabled||this.isSelected(e))),this.isDisabled(e)||(this.longest=Math.max(this.longest,YJe.unstyle(e.message).length));let o=P({},e);return e.reset=(a=o.input,l=o.value)=>{for(let c of Object.keys(o))e[c]=o[c];e.input=a,e.value=l},n==null&&typeof e.initial=="function"&&(e.input=await e.initial.call(this,this.state,e,r)),e}async onChoice(e,r){this.emit("choice",e,r,this),typeof e.onChoice=="function"&&await e.onChoice.call(this,this.state,e,r)}async addChoice(e,r,i){let n=await this.toChoice(e,r,i);return this.choices.push(n),this.index=this.choices.length-1,this.limit=this.choices.length,n}async newItem(e,r,i){let n=P({name:"New choice name?",editable:!0,newChoice:!0},e),s=await this.addChoice(n,r,i);return s.updateChoice=()=>{delete s.newChoice,s.name=s.message=s.input,s.input="",s.cursor=0},this.render()}indent(e){return e.indent==null?e.level>1?" ".repeat(e.level-1):"":e.indent}dispatch(e,r){if(this.multiple&&this[r.name])return this[r.name]();this.alert()}focus(e,r){return typeof r!="boolean"&&(r=e.enabled),r&&!e.enabled&&this.selected.length>=this.maxSelected?this.alert():(this.index=e.index,e.enabled=r&&!this.isDisabled(e),e)}space(){return this.multiple?(this.toggle(this.focused),this.render()):this.alert()}a(){if(this.maxSelectedr.enabled);return this.choices.forEach(r=>r.enabled=!e),this.render()}i(){return this.choices.length-this.selected.length>this.maxSelected?this.alert():(this.choices.forEach(e=>e.enabled=!e.enabled),this.render())}g(e=this.focused){return this.choices.some(r=>!!r.parent)?(this.toggle(e.parent&&!e.choices?e.parent:e),this.render()):this.a()}toggle(e,r){if(!e.enabled&&this.selected.length>=this.maxSelected)return this.alert();typeof r!="boolean"&&(r=!e.enabled),e.enabled=r,e.choices&&e.choices.forEach(n=>this.toggle(n,r));let i=e.parent;for(;i;){let n=i.choices.filter(s=>this.isDisabled(s));i.enabled=n.every(s=>s.enabled===!0),i=i.parent}return kne(this,this.choices),this.emit("toggle",e,this),e}enable(e){return this.selected.length>=this.maxSelected?this.alert():(e.enabled=!this.isDisabled(e),e.choices&&e.choices.forEach(this.enable.bind(this)),e)}disable(e){return e.enabled=!1,e.choices&&e.choices.forEach(this.disable.bind(this)),e}number(e){this.num+=e;let r=i=>{let n=Number(i);if(n>this.choices.length-1)return this.alert();let s=this.focused,o=this.choices.find(a=>n===a.index);if(!o.enabled&&this.selected.length>=this.maxSelected)return this.alert();if(this.visible.indexOf(o)===-1){let a=QN(this.choices),l=a.indexOf(o);if(s.index>l){let c=a.slice(l,l+this.limit),u=a.filter(g=>!c.includes(g));this.choices=c.concat(u)}else{let c=l-this.limit+1;this.choices=a.slice(c).concat(a.slice(0,c))}}return this.index=this.choices.indexOf(o),this.toggle(this.focused),this.render()};return clearTimeout(this.numberTimeout),new Promise(i=>{let n=this.choices.length,s=this.num,o=(a=!1,l)=>{clearTimeout(this.numberTimeout),a&&(l=r(s)),this.num="",i(l)};if(s==="0"||s.length===1&&Number(s+"0")>n)return o(!0);if(Number(s)>n)return o(!1,this.alert());this.numberTimeout=setTimeout(()=>o(!0),this.delay)})}home(){return this.choices=QN(this.choices),this.index=0,this.render()}end(){let e=this.choices.length-this.limit,r=QN(this.choices);return this.choices=r.slice(e).concat(r.slice(0,e)),this.index=this.limit-1,this.render()}first(){return this.index=0,this.render()}last(){return this.index=this.visible.length-1,this.render()}prev(){return this.visible.length<=1?this.alert():this.up()}next(){return this.visible.length<=1?this.alert():this.down()}right(){return this.cursor>=this.input.length?this.alert():(this.cursor++,this.render())}left(){return this.cursor<=0?this.alert():(this.cursor--,this.render())}up(){let e=this.choices.length,r=this.visible.length,i=this.index;return this.options.scroll===!1&&i===0?this.alert():e>r&&i===0?this.scrollUp():(this.index=(i-1%e+e)%e,this.isDisabled()?this.up():this.render())}down(){let e=this.choices.length,r=this.visible.length,i=this.index;return this.options.scroll===!1&&i===r-1?this.alert():e>r&&i===r-1?this.scrollDown():(this.index=(i+1)%e,this.isDisabled()?this.down():this.render())}scrollUp(e=0){return this.choices=WJe(this.choices),this.index=e,this.isDisabled()?this.up():this.render()}scrollDown(e=this.visible.length-1){return this.choices=zJe(this.choices),this.index=e,this.isDisabled()?this.down():this.render()}async shiftUp(){if(this.options.sort===!0){this.sorting=!0,this.swap(this.index-1),await this.up(),this.sorting=!1;return}return this.scrollUp(this.index)}async shiftDown(){if(this.options.sort===!0){this.sorting=!0,this.swap(this.index+1),await this.down(),this.sorting=!1;return}return this.scrollDown(this.index)}pageUp(){return this.visible.length<=1?this.alert():(this.limit=Math.max(this.limit-1,0),this.index=Math.min(this.limit-1,this.index),this._limit=this.limit,this.isDisabled()?this.up():this.render())}pageDown(){return this.visible.length>=this.choices.length?this.alert():(this.index=Math.max(0,this.index),this.limit=Math.min(this.limit+1,this.choices.length),this._limit=this.limit,this.isDisabled()?this.down():this.render())}swap(e){VJe(this.choices,this.index,e)}isDisabled(e=this.focused){return e&&["disabled","collapsed","hidden","completing","readonly"].some(i=>e[i]===!0)?!0:e&&e.role==="heading"}isEnabled(e=this.focused){if(Array.isArray(e))return e.every(r=>this.isEnabled(r));if(e.choices){let r=e.choices.filter(i=>!this.isDisabled(i));return e.enabled&&r.every(i=>this.isEnabled(i))}return e.enabled&&!this.isDisabled(e)}isChoice(e,r){return e.name===r||e.index===Number(r)}isSelected(e){return Array.isArray(this.initial)?this.initial.some(r=>this.isChoice(e,r)):this.isChoice(e,this.initial)}map(e=[],r="value"){return[].concat(e||[]).reduce((i,n)=>(i[n]=this.find(n,r),i),{})}filter(e,r){let i=(a,l)=>[a.name,l].includes(e),n=typeof e=="function"?e:i,o=(this.options.multiple?this.state._choices:this.choices).filter(n);return r?o.map(a=>a[r]):o}find(e,r){if(Sne(e))return r?e[r]:e;let i=(o,a)=>[o.name,a].includes(e),n=typeof e=="function"?e:i,s=this.choices.find(n);if(s)return r?s[r]:s}findIndex(e){return this.choices.indexOf(this.find(e))}async submit(){let e=this.focused;if(!e)return this.alert();if(e.newChoice)return e.input?(e.updateChoice(),this.render()):this.alert();if(this.choices.some(o=>o.newChoice))return this.alert();let{reorder:r,sort:i}=this.options,n=this.multiple===!0,s=this.selected;return s===void 0?this.alert():(Array.isArray(s)&&r!==!1&&i!==!0&&(s=M0.reorder(s)),this.value=n?s.map(o=>o.name):s.name,super.submit())}set choices(e=[]){this.state._choices=this.state._choices||[],this.state.choices=e;for(let r of e)this.state._choices.some(i=>i.name===r.name)||this.state._choices.push(r);if(!this._initial&&this.options.initial){this._initial=!0;let r=this.initial;if(typeof r=="string"||typeof r=="number"){let i=this.find(r);i&&(this.initial=i.index,this.focus(i,!0))}}}get choices(){return kne(this,this.state.choices||[])}set visible(e){this.state.visible=e}get visible(){return(this.state.visible||this.choices).slice(0,this.limit)}set limit(e){this.state.limit=e}get limit(){let{state:e,options:r,choices:i}=this,n=e.limit||this._limit||r.limit||i.length;return Math.min(n,this.height)}set value(e){super.value=e}get value(){return typeof super.value!="string"&&super.value===this.initial?this.input:super.value}set index(e){this.state.index=e}get index(){return Math.max(0,this.state?this.state.index:0)}get enabled(){return this.filter(this.isEnabled.bind(this))}get focused(){let e=this.choices[this.index];return e&&this.state.submitted&&this.multiple!==!0&&(e.enabled=!0),e}get selectable(){return this.choices.filter(e=>!this.isDisabled(e))}get selected(){return this.multiple?this.enabled:this.focused}};function kne(t,e){if(e instanceof Promise)return e;if(typeof e=="function"){if(M0.isAsyncFn(e))return e;e=e.call(t,t)}for(let r of e){if(Array.isArray(r.choices)){let i=r.choices.filter(n=>!t.isDisabled(n));r.enabled=i.every(n=>n.enabled===!0)}t.isDisabled(r)===!0&&delete r.enabled}return e}vne.exports=xne});var GA=E((bCt,Pne)=>{"use strict";var _Je=sC(),bN=Mi(),Dne=class extends _Je{constructor(e){super(e);this.emptyError=this.options.emptyError||"No items were selected"}async dispatch(e,r){if(this.multiple)return this[r.name]?await this[r.name](e,r):await super.dispatch(e,r);this.alert()}separator(){if(this.options.separator)return super.separator();let e=this.styles.muted(this.symbols.ellipsis);return this.state.submitted?super.separator():e}pointer(e,r){return!this.multiple||this.options.pointer?super.pointer(e,r):""}indicator(e,r){return this.multiple?super.indicator(e,r):""}choiceMessage(e,r){let i=this.resolve(e.message,this.state,e,r);return e.role==="heading"&&!bN.hasColor(i)&&(i=this.styles.strong(i)),this.resolve(i,this.state,e,r)}choiceSeparator(){return":"}async renderChoice(e,r){await this.onChoice(e,r);let i=this.index===r,n=await this.pointer(e,r),s=await this.indicator(e,r)+(e.pad||""),o=await this.resolve(e.hint,this.state,e,r);o&&!bN.hasColor(o)&&(o=this.styles.muted(o));let a=this.indent(e),l=await this.choiceMessage(e,r),c=()=>[this.margin[3],a+n+s,l,this.margin[1],o].filter(Boolean).join(" ");return e.role==="heading"?c():e.disabled?(bN.hasColor(l)||(l=this.styles.disabled(l)),c()):(i&&(l=this.styles.em(l)),c())}async renderChoices(){if(this.state.loading==="choices")return this.styles.warning("Loading choices");if(this.state.submitted)return"";let e=this.visible.map(async(s,o)=>await this.renderChoice(s,o)),r=await Promise.all(e);r.length||r.push(this.styles.danger("No matching choices"));let i=this.margin[0]+r.join(` +`),n;return this.options.choicesHeader&&(n=await this.resolve(this.options.choicesHeader,this.state)),[n,i].filter(Boolean).join(` +`)}format(){return!this.state.submitted||this.state.cancelled?"":Array.isArray(this.selected)?this.selected.map(e=>this.styles.primary(e.name)).join(", "):this.styles.primary(this.selected.name)}async render(){let{submitted:e,size:r}=this.state,i="",n=await this.header(),s=await this.prefix(),o=await this.separator(),a=await this.message();this.options.promptLine!==!1&&(i=[s,a,o,""].join(" "),this.state.prompt=i);let l=await this.format(),c=await this.error()||await this.hint(),u=await this.renderChoices(),g=await this.footer();l&&(i+=l),c&&!i.includes(c)&&(i+=" "+c),e&&!l&&!u.trim()&&this.multiple&&this.emptyError!=null&&(i+=this.styles.danger(this.emptyError)),this.clear(r),this.write([n,i,u,g].filter(Boolean).join(` +`)),this.write(this.margin[2]),this.restore()}};Pne.exports=Dne});var Nne=E((vCt,Rne)=>{"use strict";var XJe=GA(),ZJe=(t,e)=>{let r=t.toLowerCase();return i=>{let s=i.toLowerCase().indexOf(r),o=e(i.slice(s,s+r.length));return s>=0?i.slice(0,s)+o+i.slice(s+r.length):i}},Fne=class extends XJe{constructor(e){super(e);this.cursorShow()}moveCursor(e){this.state.cursor+=e}dispatch(e){return this.append(e)}space(e){return this.options.multiple?super.space(e):this.append(e)}append(e){let{cursor:r,input:i}=this.state;return this.input=i.slice(0,r)+e+i.slice(r),this.moveCursor(1),this.complete()}delete(){let{cursor:e,input:r}=this.state;return r?(this.input=r.slice(0,e-1)+r.slice(e),this.moveCursor(-1),this.complete()):this.alert()}deleteForward(){let{cursor:e,input:r}=this.state;return r[e]===void 0?this.alert():(this.input=`${r}`.slice(0,e)+`${r}`.slice(e+1),this.complete())}number(e){return this.append(e)}async complete(){this.completing=!0,this.choices=await this.suggest(this.input,this.state._choices),this.state.limit=void 0,this.index=Math.min(Math.max(this.visible.length-1,0),this.index),await this.render(),this.completing=!1}suggest(e=this.input,r=this.state._choices){if(typeof this.options.suggest=="function")return this.options.suggest.call(this,e,r);let i=e.toLowerCase();return r.filter(n=>n.message.toLowerCase().includes(i))}pointer(){return""}format(){if(!this.focused)return this.input;if(this.options.multiple&&this.state.submitted)return this.selected.map(e=>this.styles.primary(e.message)).join(", ");if(this.state.submitted){let e=this.value=this.input=this.focused.value;return this.styles.primary(e)}return this.input}async render(){if(this.state.status!=="pending")return super.render();let e=this.options.highlight?this.options.highlight.bind(this):this.styles.placeholder,r=ZJe(this.input,e),i=this.choices;this.choices=i.map(n=>_(P({},n),{message:r(n.message)})),await super.render(),this.choices=i}submit(){return this.options.multiple&&(this.value=this.selected.map(e=>e.name)),super.submit()}};Rne.exports=Fne});var SN=E((SCt,Lne)=>{"use strict";var vN=Mi();Lne.exports=(t,e={})=>{t.cursorHide();let{input:r="",initial:i="",pos:n,showCursor:s=!0,color:o}=e,a=o||t.styles.placeholder,l=vN.inverse(t.styles.primary),c=d=>l(t.styles.black(d)),u=r,g=" ",f=c(g);if(t.blink&&t.blink.off===!0&&(c=d=>d,f=""),s&&n===0&&i===""&&r==="")return c(g);if(s&&n===0&&(r===i||r===""))return c(i[0])+a(i.slice(1));i=vN.isPrimitive(i)?`${i}`:"",r=vN.isPrimitive(r)?`${r}`:"";let h=i&&i.startsWith(r)&&i!==r,p=h?c(i[r.length]):f;if(n!==r.length&&s===!0&&(u=r.slice(0,n)+c(r[n])+r.slice(n+1),p=""),s===!1&&(p=""),h){let d=t.styles.unstyle(u+p);return u+p+a(i.slice(d.length))}return u+p}});var O0=E((xCt,Tne)=>{"use strict";var $Je=js(),e3e=GA(),t3e=SN(),Mne=class extends e3e{constructor(e){super(_(P({},e),{multiple:!0}));this.type="form",this.initial=this.options.initial,this.align=[this.options.align,"right"].find(r=>r!=null),this.emptyError="",this.values={}}async reset(e){return await super.reset(),e===!0&&(this._index=this.index),this.index=this._index,this.values={},this.choices.forEach(r=>r.reset&&r.reset()),this.render()}dispatch(e){return!!e&&this.append(e)}append(e){let r=this.focused;if(!r)return this.alert();let{cursor:i,input:n}=r;return r.value=r.input=n.slice(0,i)+e+n.slice(i),r.cursor++,this.render()}delete(){let e=this.focused;if(!e||e.cursor<=0)return this.alert();let{cursor:r,input:i}=e;return e.value=e.input=i.slice(0,r-1)+i.slice(r),e.cursor--,this.render()}deleteForward(){let e=this.focused;if(!e)return this.alert();let{cursor:r,input:i}=e;if(i[r]===void 0)return this.alert();let n=`${i}`.slice(0,r)+`${i}`.slice(r+1);return e.value=e.input=n,this.render()}right(){let e=this.focused;return e?e.cursor>=e.input.length?this.alert():(e.cursor++,this.render()):this.alert()}left(){let e=this.focused;return e?e.cursor<=0?this.alert():(e.cursor--,this.render()):this.alert()}space(e,r){return this.dispatch(e,r)}number(e,r){return this.dispatch(e,r)}next(){let e=this.focused;if(!e)return this.alert();let{initial:r,input:i}=e;return r&&r.startsWith(i)&&i!==r?(e.value=e.input=r,e.cursor=e.value.length,this.render()):super.next()}prev(){let e=this.focused;return e?e.cursor===0?super.prev():(e.value=e.input="",e.cursor=0,this.render()):this.alert()}separator(){return""}format(e){return this.state.submitted?"":super.format(e)}pointer(){return""}indicator(e){return e.input?"\u29BF":"\u2299"}async choiceSeparator(e,r){let i=await this.resolve(e.separator,this.state,e,r)||":";return i?" "+this.styles.disabled(i):""}async renderChoice(e,r){await this.onChoice(e,r);let{state:i,styles:n}=this,{cursor:s,initial:o="",name:a,hint:l,input:c=""}=e,{muted:u,submitted:g,primary:f,danger:h}=n,p=l,d=this.index===r,m=e.validate||(()=>!0),I=await this.choiceSeparator(e,r),B=e.message;this.align==="right"&&(B=B.padStart(this.longest+1," ")),this.align==="left"&&(B=B.padEnd(this.longest+1," "));let b=this.values[a]=c||o,R=c?"success":"dark";await m.call(e,b,this.state)!==!0&&(R="danger");let L=n[R](await this.indicator(e,r))+(e.pad||""),K=this.indent(e),J=()=>[K,L,B+I,c,p].filter(Boolean).join(" ");if(i.submitted)return B=$Je.unstyle(B),c=g(c),p="",J();if(e.format)c=await e.format.call(this,c,e,r);else{let ne=this.styles.muted;c=t3e(this,{input:c,initial:o,pos:s,showCursor:d,color:ne})}return this.isValue(c)||(c=this.styles.muted(this.symbols.ellipsis)),e.result&&(this.values[a]=await e.result.call(this,b,e,r)),d&&(B=f(B)),e.error?c+=(c?" ":"")+h(e.error.trim()):e.hint&&(c+=(c?" ":"")+u(e.hint.trim())),J()}async submit(){return this.value=this.values,super.base.submit.call(this)}};Tne.exports=Mne});var xN=E((kCt,One)=>{"use strict";var r3e=O0(),i3e=()=>{throw new Error("expected prompt to have a custom authenticate method")},Kne=(t=i3e)=>{class e extends r3e{constructor(i){super(i)}async submit(){this.value=await t.call(this,this.values,this.state),super.base.submit.call(this)}static create(i){return Kne(i)}}return e};One.exports=Kne()});var Gne=E((PCt,Une)=>{"use strict";var n3e=xN();function s3e(t,e){return t.username===this.options.username&&t.password===this.options.password}var Hne=(t=s3e)=>{let e=[{name:"username",message:"username"},{name:"password",message:"password",format(i){return this.options.showPassword?i:(this.state.submitted?this.styles.primary:this.styles.muted)(this.symbols.asterisk.repeat(i.length))}}];class r extends n3e.create(t){constructor(n){super(_(P({},n),{choices:e}))}static create(n){return Hne(n)}}return r};Une.exports=Hne()});var K0=E((DCt,jne)=>{"use strict";var o3e=sf(),{isPrimitive:a3e,hasColor:A3e}=Mi(),Yne=class extends o3e{constructor(e){super(e);this.cursorHide()}async initialize(){let e=await this.resolve(this.initial,this.state);this.input=await this.cast(e),await super.initialize()}dispatch(e){return this.isValue(e)?(this.input=e,this.submit()):this.alert()}format(e){let{styles:r,state:i}=this;return i.submitted?r.success(e):r.primary(e)}cast(e){return this.isTrue(e)}isTrue(e){return/^[ty1]/i.test(e)}isFalse(e){return/^[fn0]/i.test(e)}isValue(e){return a3e(e)&&(this.isTrue(e)||this.isFalse(e))}async hint(){if(this.state.status==="pending"){let e=await this.element("hint");return A3e(e)?e:this.styles.muted(e)}}async render(){let{input:e,size:r}=this.state,i=await this.prefix(),n=await this.separator(),s=await this.message(),o=this.styles.muted(this.default),a=[i,s,o,n].filter(Boolean).join(" ");this.state.prompt=a;let l=await this.header(),c=this.value=this.cast(e),u=await this.format(c),g=await this.error()||await this.hint(),f=await this.footer();g&&!a.includes(g)&&(u+=" "+g),a+=" "+u,this.clear(r),this.write([l,a,f].filter(Boolean).join(` +`)),this.restore()}set value(e){super.value=e}get value(){return this.cast(super.value)}};jne.exports=Yne});var Wne=E((RCt,qne)=>{"use strict";var l3e=K0(),Jne=class extends l3e{constructor(e){super(e);this.default=this.options.default||(this.initial?"(Y/n)":"(y/N)")}};qne.exports=Jne});var _ne=E((FCt,zne)=>{"use strict";var c3e=GA(),u3e=O0(),of=u3e.prototype,Vne=class extends c3e{constructor(e){super(_(P({},e),{multiple:!0}));this.align=[this.options.align,"left"].find(r=>r!=null),this.emptyError="",this.values={}}dispatch(e,r){let i=this.focused,n=i.parent||{};return!i.editable&&!n.editable&&(e==="a"||e==="i")?super[e]():of.dispatch.call(this,e,r)}append(e,r){return of.append.call(this,e,r)}delete(e,r){return of.delete.call(this,e,r)}space(e){return this.focused.editable?this.append(e):super.space()}number(e){return this.focused.editable?this.append(e):super.number(e)}next(){return this.focused.editable?of.next.call(this):super.next()}prev(){return this.focused.editable?of.prev.call(this):super.prev()}async indicator(e,r){let i=e.indicator||"",n=e.editable?i:super.indicator(e,r);return await this.resolve(n,this.state,e,r)||""}indent(e){return e.role==="heading"?"":e.editable?" ":" "}async renderChoice(e,r){return e.indent="",e.editable?of.renderChoice.call(this,e,r):super.renderChoice(e,r)}error(){return""}footer(){return this.state.error}async validate(){let e=!0;for(let r of this.choices){if(typeof r.validate!="function"||r.role==="heading")continue;let i=r.parent?this.value[r.parent.name]:this.value;if(r.editable?i=r.value===r.name?r.initial||"":r.value:this.isDisabled(r)||(i=r.enabled===!0),e=await r.validate(i,this.state),e!==!0)break}return e!==!0&&(this.state.error=typeof e=="string"?e:"Invalid Input"),e}submit(){if(this.focused.newChoice===!0)return super.submit();if(this.choices.some(e=>e.newChoice))return this.alert();this.value={};for(let e of this.choices){let r=e.parent?this.value[e.parent.name]:this.value;if(e.role==="heading"){this.value[e.name]={};continue}e.editable?r[e.name]=e.value===e.name?e.initial||"":e.value:this.isDisabled(e)||(r[e.name]=e.enabled===!0)}return this.base.submit.call(this)}};zne.exports=Vne});var Mc=E((NCt,Xne)=>{"use strict";var g3e=sf(),f3e=SN(),{isPrimitive:h3e}=Mi(),Zne=class extends g3e{constructor(e){super(e);this.initial=h3e(this.initial)?String(this.initial):"",this.initial&&this.cursorHide(),this.state.prevCursor=0,this.state.clipboard=[]}async keypress(e,r={}){let i=this.state.prevKeypress;return this.state.prevKeypress=r,this.options.multiline===!0&&r.name==="return"&&(!i||i.name!=="return")?this.append(` +`,r):super.keypress(e,r)}moveCursor(e){this.cursor+=e}reset(){return this.input=this.value="",this.cursor=0,this.render()}dispatch(e,r){if(!e||r.ctrl||r.code)return this.alert();this.append(e)}append(e){let{cursor:r,input:i}=this.state;this.input=`${i}`.slice(0,r)+e+`${i}`.slice(r),this.moveCursor(String(e).length),this.render()}insert(e){this.append(e)}delete(){let{cursor:e,input:r}=this.state;if(e<=0)return this.alert();this.input=`${r}`.slice(0,e-1)+`${r}`.slice(e),this.moveCursor(-1),this.render()}deleteForward(){let{cursor:e,input:r}=this.state;if(r[e]===void 0)return this.alert();this.input=`${r}`.slice(0,e)+`${r}`.slice(e+1),this.render()}cutForward(){let e=this.cursor;if(this.input.length<=e)return this.alert();this.state.clipboard.push(this.input.slice(e)),this.input=this.input.slice(0,e),this.render()}cutLeft(){let e=this.cursor;if(e===0)return this.alert();let r=this.input.slice(0,e),i=this.input.slice(e),n=r.split(" ");this.state.clipboard.push(n.pop()),this.input=n.join(" "),this.cursor=this.input.length,this.input+=i,this.render()}paste(){if(!this.state.clipboard.length)return this.alert();this.insert(this.state.clipboard.pop()),this.render()}toggleCursor(){this.state.prevCursor?(this.cursor=this.state.prevCursor,this.state.prevCursor=0):(this.state.prevCursor=this.cursor,this.cursor=0),this.render()}first(){this.cursor=0,this.render()}last(){this.cursor=this.input.length-1,this.render()}next(){let e=this.initial!=null?String(this.initial):"";if(!e||!e.startsWith(this.input))return this.alert();this.input=this.initial,this.cursor=this.initial.length,this.render()}prev(){if(!this.input)return this.alert();this.reset()}backward(){return this.left()}forward(){return this.right()}right(){return this.cursor>=this.input.length?this.alert():(this.moveCursor(1),this.render())}left(){return this.cursor<=0?this.alert():(this.moveCursor(-1),this.render())}isValue(e){return!!e}async format(e=this.value){let r=await this.resolve(this.initial,this.state);return this.state.submitted?this.styles.submitted(e||r):f3e(this,{input:e,initial:r,pos:this.cursor})}async render(){let e=this.state.size,r=await this.prefix(),i=await this.separator(),n=await this.message(),s=[r,n,i].filter(Boolean).join(" ");this.state.prompt=s;let o=await this.header(),a=await this.format(),l=await this.error()||await this.hint(),c=await this.footer();l&&!a.includes(l)&&(a+=" "+l),s+=" "+a,this.clear(e),this.write([o,s,c].filter(Boolean).join(` +`)),this.restore()}};Xne.exports=Zne});var ese=E((LCt,$ne)=>{"use strict";var p3e=t=>t.filter((e,r)=>t.lastIndexOf(e)===r),U0=t=>p3e(t).filter(Boolean);$ne.exports=(t,e={},r="")=>{let{past:i=[],present:n=""}=e,s,o;switch(t){case"prev":case"undo":return s=i.slice(0,i.length-1),o=i[i.length-1]||"",{past:U0([r,...s]),present:o};case"next":case"redo":return s=i.slice(1),o=i[0]||"",{past:U0([...s,r]),present:o};case"save":return{past:U0([...i,r]),present:""};case"remove":return o=U0(i.filter(a=>a!==r)),n="",o.length&&(n=o.pop()),{past:o,present:n};default:throw new Error(`Invalid action: "${t}"`)}}});var kN=E((TCt,tse)=>{"use strict";var d3e=Mc(),rse=ese(),ise=class extends d3e{constructor(e){super(e);let r=this.options.history;if(r&&r.store){let i=r.values||this.initial;this.autosave=!!r.autosave,this.store=r.store,this.data=this.store.get("values")||{past:[],present:i},this.initial=this.data.present||this.data.past[this.data.past.length-1]}}completion(e){return this.store?(this.data=rse(e,this.data,this.input),this.data.present?(this.input=this.data.present,this.cursor=this.input.length,this.render()):this.alert()):this.alert()}altUp(){return this.completion("prev")}altDown(){return this.completion("next")}prev(){return this.save(),super.prev()}save(){!this.store||(this.data=rse("save",this.data,this.input),this.store.set("values",this.data))}submit(){return this.store&&this.autosave===!0&&this.save(),super.submit()}};tse.exports=ise});var ose=E((MCt,nse)=>{"use strict";var C3e=Mc(),sse=class extends C3e{format(){return""}};nse.exports=sse});var lse=E((OCt,ase)=>{"use strict";var m3e=Mc(),Ase=class extends m3e{constructor(e={}){super(e);this.sep=this.options.separator||/, */,this.initial=e.initial||""}split(e=this.value){return e?String(e).split(this.sep):[]}format(){let e=this.state.submitted?this.styles.primary:r=>r;return this.list.map(e).join(", ")}async submit(e){let r=this.state.error||await this.validate(this.list,this.state);return r!==!0?(this.state.error=r,super.submit()):(this.value=this.list,super.submit())}get list(){return this.split()}};ase.exports=Ase});var gse=E((KCt,cse)=>{"use strict";var E3e=GA(),use=class extends E3e{constructor(e){super(_(P({},e),{multiple:!0}))}};cse.exports=use});var PN=E((UCt,fse)=>{"use strict";var I3e=Mc(),hse=class extends I3e{constructor(e={}){super(P({style:"number"},e));this.min=this.isValue(e.min)?this.toNumber(e.min):-Infinity,this.max=this.isValue(e.max)?this.toNumber(e.max):Infinity,this.delay=e.delay!=null?e.delay:1e3,this.float=e.float!==!1,this.round=e.round===!0||e.float===!1,this.major=e.major||10,this.minor=e.minor||1,this.initial=e.initial!=null?e.initial:"",this.input=String(this.initial),this.cursor=this.input.length,this.cursorShow()}append(e){return!/[-+.]/.test(e)||e==="."&&this.input.includes(".")?this.alert("invalid number"):super.append(e)}number(e){return super.append(e)}next(){return this.input&&this.input!==this.initial?this.alert():this.isValue(this.initial)?(this.input=this.initial,this.cursor=String(this.initial).length,this.render()):this.alert()}up(e){let r=e||this.minor,i=this.toNumber(this.input);return i>this.max+r?this.alert():(this.input=`${i+r}`,this.render())}down(e){let r=e||this.minor,i=this.toNumber(this.input);return ithis.isValue(r));return this.value=this.toNumber(e||0),super.submit()}};fse.exports=hse});var dse=E((HCt,pse)=>{pse.exports=PN()});var Ese=E((GCt,Cse)=>{"use strict";var y3e=Mc(),mse=class extends y3e{constructor(e){super(e);this.cursorShow()}format(e=this.input){return this.keypressed?(this.state.submitted?this.styles.primary:this.styles.muted)(this.symbols.asterisk.repeat(e.length)):""}};Cse.exports=mse});var Bse=E((jCt,Ise)=>{"use strict";var w3e=js(),B3e=sC(),yse=Mi(),wse=class extends B3e{constructor(e={}){super(e);this.widths=[].concat(e.messageWidth||50),this.align=[].concat(e.align||"left"),this.linebreak=e.linebreak||!1,this.edgeLength=e.edgeLength||3,this.newline=e.newline||` + `;let r=e.startNumber||1;typeof this.scale=="number"&&(this.scaleKey=!1,this.scale=Array(this.scale).fill(0).map((i,n)=>({name:n+r})))}async reset(){return this.tableized=!1,await super.reset(),this.render()}tableize(){if(this.tableized===!0)return;this.tableized=!0;let e=0;for(let r of this.choices){e=Math.max(e,r.message.length),r.scaleIndex=r.initial||2,r.scale=[];for(let i=0;i=this.scale.length-1?this.alert():(e.scaleIndex++,this.render())}left(){let e=this.focused;return e.scaleIndex<=0?this.alert():(e.scaleIndex--,this.render())}indent(){return""}format(){return this.state.submitted?this.choices.map(r=>this.styles.info(r.index)).join(", "):""}pointer(){return""}renderScaleKey(){if(this.scaleKey===!1||this.state.submitted)return"";let e=this.scale.map(i=>` ${i.name} - ${i.message}`);return["",...e].map(i=>this.styles.muted(i)).join(` +`)}renderScaleHeading(e){let r=this.scale.map(l=>l.name);typeof this.options.renderScaleHeading=="function"&&(r=this.options.renderScaleHeading.call(this,e));let i=this.scaleLength-r.join("").length,n=Math.round(i/(r.length-1)),o=r.map(l=>this.styles.strong(l)).join(" ".repeat(n)),a=" ".repeat(this.widths[0]);return this.margin[3]+a+this.margin[1]+o}scaleIndicator(e,r,i){if(typeof this.options.scaleIndicator=="function")return this.options.scaleIndicator.call(this,e,r,i);let n=e.scaleIndex===r.index;return r.disabled?this.styles.hint(this.symbols.radio.disabled):n?this.styles.success(this.symbols.radio.on):this.symbols.radio.off}renderScale(e,r){let i=e.scale.map(s=>this.scaleIndicator(e,s,r)),n=this.term==="Hyper"?"":" ";return i.join(n+this.symbols.line.repeat(this.edgeLength))}async renderChoice(e,r){await this.onChoice(e,r);let i=this.index===r,n=await this.pointer(e,r),s=await e.hint;s&&!yse.hasColor(s)&&(s=this.styles.muted(s));let o=p=>this.margin[3]+p.replace(/\s+$/,"").padEnd(this.widths[0]," "),a=this.newline,l=this.indent(e),c=await this.resolve(e.message,this.state,e,r),u=await this.renderScale(e,r),g=this.margin[1]+this.margin[3];this.scaleLength=w3e.unstyle(u).length,this.widths[0]=Math.min(this.widths[0],this.width-this.scaleLength-g.length);let h=yse.wordWrap(c,{width:this.widths[0],newline:a}).split(` +`).map(p=>o(p)+this.margin[1]);return i&&(u=this.styles.info(u),h=h.map(p=>this.styles.info(p))),h[0]+=u,this.linebreak&&h.push(""),[l+n,h.join(` +`)].filter(Boolean)}async renderChoices(){if(this.state.submitted)return"";this.tableize();let e=this.visible.map(async(n,s)=>await this.renderChoice(n,s)),r=await Promise.all(e),i=await this.renderScaleHeading();return this.margin[0]+[i,...r.map(n=>n.join(" "))].join(` +`)}async render(){let{submitted:e,size:r}=this.state,i=await this.prefix(),n=await this.separator(),s=await this.message(),o="";this.options.promptLine!==!1&&(o=[i,s,n,""].join(" "),this.state.prompt=o);let a=await this.header(),l=await this.format(),c=await this.renderScaleKey(),u=await this.error()||await this.hint(),g=await this.renderChoices(),f=await this.footer(),h=this.emptyError;l&&(o+=l),u&&!o.includes(u)&&(o+=" "+u),e&&!l&&!g.trim()&&this.multiple&&h!=null&&(o+=this.styles.danger(h)),this.clear(r),this.write([a,o,c,g,f].filter(Boolean).join(` +`)),this.state.submitted||this.write(this.margin[2]),this.restore()}submit(){this.value={};for(let e of this.choices)this.value[e.name]=e.scaleIndex;return this.base.submit.call(this)}};Ise.exports=wse});var Sse=E((YCt,Qse)=>{"use strict";var bse=js(),Q3e=(t="")=>typeof t=="string"?t.replace(/^['"]|['"]$/g,""):"",vse=class{constructor(e){this.name=e.key,this.field=e.field||{},this.value=Q3e(e.initial||this.field.initial||""),this.message=e.message||this.name,this.cursor=0,this.input="",this.lines=[]}},b3e=async(t={},e={},r=i=>i)=>{let i=new Set,n=t.fields||[],s=t.template,o=[],a=[],l=[],c=1;typeof s=="function"&&(s=await s());let u=-1,g=()=>s[++u],f=()=>s[u+1],h=p=>{p.line=c,o.push(p)};for(h({type:"bos",value:""});uR.name===I.key);I.field=n.find(R=>R.name===I.key),b||(b=new vse(I),a.push(b)),b.lines.push(I.line-1);continue}let d=o[o.length-1];d.type==="text"&&d.line===c?d.value+=p:h({type:"text",value:p})}return h({type:"eos",value:""}),{input:s,tabstops:o,unique:i,keys:l,items:a}};Qse.exports=async t=>{let e=t.options,r=new Set(e.required===!0?[]:e.required||[]),i=P(P({},e.values),e.initial),{tabstops:n,items:s,keys:o}=await b3e(e,i),a=DN("result",t,e),l=DN("format",t,e),c=DN("validate",t,e,!0),u=t.isValue.bind(t);return async(g={},f=!1)=>{let h=0;g.required=r,g.items=s,g.keys=o,g.output="";let p=async(B,b,R,H)=>{let L=await c(B,b,R,H);return L===!1?"Invalid field "+R.name:L};for(let B of n){let b=B.value,R=B.key;if(B.type!=="template"){b&&(g.output+=b);continue}if(B.type==="template"){let H=s.find(q=>q.name===R);e.required===!0&&g.required.add(H.name);let L=[H.input,g.values[H.value],H.value,b].find(u),J=(H.field||{}).message||B.inner;if(f){let q=await p(g.values[R],g,H,h);if(q&&typeof q=="string"||q===!1){g.invalid.set(R,q);continue}g.invalid.delete(R);let A=await a(g.values[R],g,H,h);g.output+=bse.unstyle(A);continue}H.placeholder=!1;let ne=b;b=await l(b,g,H,h),L!==b?(g.values[R]=L,b=t.styles.typing(L),g.missing.delete(J)):(g.values[R]=void 0,L=`<${J}>`,b=t.styles.primary(L),H.placeholder=!0,g.required.has(R)&&g.missing.add(J)),g.missing.has(J)&&g.validating&&(b=t.styles.warning(L)),g.invalid.has(R)&&g.validating&&(b=t.styles.danger(L)),h===g.index&&(ne!==b?b=t.styles.underline(b):b=t.styles.heading(bse.unstyle(b))),h++}b&&(g.output+=b)}let d=g.output.split(` +`).map(B=>" "+B),m=s.length,I=0;for(let B of s)g.invalid.has(B.name)&&B.lines.forEach(b=>{d[b][0]===" "&&(d[b]=g.styles.danger(g.symbols.bullet)+d[b].slice(1))}),t.isValue(g.values[B.name])&&I++;return g.completed=(I/m*100).toFixed(0),g.output=d.join(` +`),g.output}};function DN(t,e,r,i){return(n,s,o,a)=>typeof o.field[t]=="function"?o.field[t].call(e,n,s,o,a):[i,n].find(l=>e.isValue(l))}});var Pse=E((qCt,xse)=>{"use strict";var v3e=js(),S3e=Sse(),x3e=sf(),kse=class extends x3e{constructor(e){super(e);this.cursorHide(),this.reset(!0)}async initialize(){this.interpolate=await S3e(this),await super.initialize()}async reset(e){this.state.keys=[],this.state.invalid=new Map,this.state.missing=new Set,this.state.completed=0,this.state.values={},e!==!0&&(await this.initialize(),await this.render())}moveCursor(e){let r=this.getItem();this.cursor+=e,r.cursor+=e}dispatch(e,r){if(!r.code&&!r.ctrl&&e!=null&&this.getItem()){this.append(e,r);return}this.alert()}append(e,r){let i=this.getItem(),n=i.input.slice(0,this.cursor),s=i.input.slice(this.cursor);this.input=i.input=`${n}${e}${s}`,this.moveCursor(1),this.render()}delete(){let e=this.getItem();if(this.cursor<=0||!e.input)return this.alert();let r=e.input.slice(this.cursor),i=e.input.slice(0,this.cursor-1);this.input=e.input=`${i}${r}`,this.moveCursor(-1),this.render()}increment(e){return e>=this.state.keys.length-1?0:e+1}decrement(e){return e<=0?this.state.keys.length-1:e-1}first(){this.state.index=0,this.render()}last(){this.state.index=this.state.keys.length-1,this.render()}right(){if(this.cursor>=this.input.length)return this.alert();this.moveCursor(1),this.render()}left(){if(this.cursor<=0)return this.alert();this.moveCursor(-1),this.render()}prev(){this.state.index=this.decrement(this.state.index),this.getItem(),this.render()}next(){this.state.index=this.increment(this.state.index),this.getItem(),this.render()}up(){this.prev()}down(){this.next()}format(e){let r=this.state.completed<100?this.styles.warning:this.styles.success;return this.state.submitted===!0&&this.state.completed!==100&&(r=this.styles.danger),r(`${this.state.completed}% completed`)}async render(){let{index:e,keys:r=[],submitted:i,size:n}=this.state,s=[this.options.newline,` +`].find(B=>B!=null),o=await this.prefix(),a=await this.separator(),l=await this.message(),c=[o,l,a].filter(Boolean).join(" ");this.state.prompt=c;let u=await this.header(),g=await this.error()||"",f=await this.hint()||"",h=i?"":await this.interpolate(this.state),p=this.state.key=r[e]||"",d=await this.format(p),m=await this.footer();d&&(c+=" "+d),f&&!d&&this.state.completed===0&&(c+=" "+f),this.clear(n);let I=[u,c,h,m,g.trim()];this.write(I.filter(Boolean).join(s)),this.restore()}getItem(e){let{items:r,keys:i,index:n}=this.state,s=r.find(o=>o.name===i[n]);return s&&s.input!=null&&(this.input=s.input,this.cursor=s.cursor),s}async submit(){typeof this.interpolate!="function"&&await this.initialize(),await this.interpolate(this.state,!0);let{invalid:e,missing:r,output:i,values:n}=this.state;if(e.size){let a="";for(let[l,c]of e)a+=`Invalid ${l}: ${c} +`;return this.state.error=a,super.submit()}if(r.size)return this.state.error="Required: "+[...r.keys()].join(", "),super.submit();let o=v3e.unstyle(i).split(` +`).map(a=>a.slice(1)).join(` +`);return this.value={values:n,result:o},super.submit()}};xse.exports=kse});var Fse=E((JCt,Dse)=>{"use strict";var k3e="(Use + to sort)",P3e=GA(),Rse=class extends P3e{constructor(e){super(_(P({},e),{reorder:!1,sort:!0,multiple:!0}));this.state.hint=[this.options.hint,k3e].find(this.isValue.bind(this))}indicator(){return""}async renderChoice(e,r){let i=await super.renderChoice(e,r),n=this.symbols.identicalTo+" ",s=this.index===r&&this.sorting?this.styles.muted(n):" ";return this.options.drag===!1&&(s=""),this.options.numbered===!0?s+`${r+1} - `+i:s+i}get selected(){return this.choices}submit(){return this.value=this.choices.map(e=>e.value),super.submit()}};Dse.exports=Rse});var Tse=E((WCt,Nse)=>{"use strict";var D3e=sC(),Lse=class extends D3e{constructor(e={}){super(e);if(this.emptyError=e.emptyError||"No items were selected",this.term=process.env.TERM_PROGRAM,!this.options.header){let r=["","4 - Strongly Agree","3 - Agree","2 - Neutral","1 - Disagree","0 - Strongly Disagree",""];r=r.map(i=>this.styles.muted(i)),this.state.header=r.join(` + `)}}async toChoices(...e){if(this.createdScales)return!1;this.createdScales=!0;let r=await super.toChoices(...e);for(let i of r)i.scale=R3e(5,this.options),i.scaleIdx=2;return r}dispatch(){this.alert()}space(){let e=this.focused,r=e.scale[e.scaleIdx],i=r.selected;return e.scale.forEach(n=>n.selected=!1),r.selected=!i,this.render()}indicator(){return""}pointer(){return""}separator(){return this.styles.muted(this.symbols.ellipsis)}right(){let e=this.focused;return e.scaleIdx>=e.scale.length-1?this.alert():(e.scaleIdx++,this.render())}left(){let e=this.focused;return e.scaleIdx<=0?this.alert():(e.scaleIdx--,this.render())}indent(){return" "}async renderChoice(e,r){await this.onChoice(e,r);let i=this.index===r,n=this.term==="Hyper",s=n?9:8,o=n?"":" ",a=this.symbols.line.repeat(s),l=" ".repeat(s+(n?0:1)),c=b=>(b?this.styles.success("\u25C9"):"\u25EF")+o,u=r+1+".",g=i?this.styles.heading:this.styles.noop,f=await this.resolve(e.message,this.state,e,r),h=this.indent(e),p=h+e.scale.map((b,R)=>c(R===e.scaleIdx)).join(a),d=b=>b===e.scaleIdx?g(b):b,m=h+e.scale.map((b,R)=>d(R)).join(l),I=()=>[u,f].filter(Boolean).join(" "),B=()=>[I(),p,m," "].filter(Boolean).join(` +`);return i&&(p=this.styles.cyan(p),m=this.styles.cyan(m)),B()}async renderChoices(){if(this.state.submitted)return"";let e=this.visible.map(async(i,n)=>await this.renderChoice(i,n)),r=await Promise.all(e);return r.length||r.push(this.styles.danger("No matching choices")),r.join(` +`)}format(){return this.state.submitted?this.choices.map(r=>this.styles.info(r.scaleIdx)).join(", "):""}async render(){let{submitted:e,size:r}=this.state,i=await this.prefix(),n=await this.separator(),s=await this.message(),o=[i,s,n].filter(Boolean).join(" ");this.state.prompt=o;let a=await this.header(),l=await this.format(),c=await this.error()||await this.hint(),u=await this.renderChoices(),g=await this.footer();(l||!c)&&(o+=" "+l),c&&!o.includes(c)&&(o+=" "+c),e&&!l&&!u&&this.multiple&&this.type!=="form"&&(o+=this.styles.danger(this.emptyError)),this.clear(r),this.write([o,a,u,g].filter(Boolean).join(` +`)),this.restore()}submit(){this.value={};for(let e of this.choices)this.value[e.name]=e.scaleIdx;return this.base.submit.call(this)}};function R3e(t,e={}){if(Array.isArray(e.scale))return e.scale.map(i=>P({},i));let r=[];for(let i=1;i{Mse.exports=kN()});var Hse=E((VCt,Kse)=>{"use strict";var F3e=K0(),Use=class extends F3e{async initialize(){await super.initialize(),this.value=this.initial=!!this.options.initial,this.disabled=this.options.disabled||"no",this.enabled=this.options.enabled||"yes",await this.render()}reset(){this.value=this.initial,this.render()}delete(){this.alert()}toggle(){this.value=!this.value,this.render()}enable(){if(this.value===!0)return this.alert();this.value=!0,this.render()}disable(){if(this.value===!1)return this.alert();this.value=!1,this.render()}up(){this.toggle()}down(){this.toggle()}right(){this.toggle()}left(){this.toggle()}next(){this.toggle()}prev(){this.toggle()}dispatch(e="",r){switch(e.toLowerCase()){case" ":return this.toggle();case"1":case"y":case"t":return this.enable();case"0":case"n":case"f":return this.disable();default:return this.alert()}}format(){let e=i=>this.styles.primary.underline(i);return[this.value?this.disabled:e(this.disabled),this.value?e(this.enabled):this.enabled].join(this.styles.muted(" / "))}async render(){let{size:e}=this.state,r=await this.header(),i=await this.prefix(),n=await this.separator(),s=await this.message(),o=await this.format(),a=await this.error()||await this.hint(),l=await this.footer(),c=[i,s,n,o].join(" ");this.state.prompt=c,a&&!c.includes(a)&&(c+=" "+a),this.clear(e),this.write([r,c,l].filter(Boolean).join(` +`)),this.write(this.margin[2]),this.restore()}};Kse.exports=Use});var Yse=E((_Ct,Gse)=>{"use strict";var N3e=GA(),jse=class extends N3e{constructor(e){super(e);if(typeof this.options.correctChoice!="number"||this.options.correctChoice<0)throw new Error("Please specify the index of the correct answer from the list of choices")}async toChoices(e,r){let i=await super.toChoices(e,r);if(i.length<2)throw new Error("Please give at least two choices to the user");if(this.options.correctChoice>i.length)throw new Error("Please specify the index of the correct answer from the list of choices");return i}check(e){return e.index===this.options.correctChoice}async result(e){return{selectedAnswer:e,correctAnswer:this.options.choices[this.options.correctChoice].value,correct:await this.check(this.state)}}};Gse.exports=jse});var Jse=E(RN=>{"use strict";var qse=Mi(),ti=(t,e)=>{qse.defineExport(RN,t,e),qse.defineExport(RN,t.toLowerCase(),e)};ti("AutoComplete",()=>Nne());ti("BasicAuth",()=>Gne());ti("Confirm",()=>Wne());ti("Editable",()=>_ne());ti("Form",()=>O0());ti("Input",()=>kN());ti("Invisible",()=>ose());ti("List",()=>lse());ti("MultiSelect",()=>gse());ti("Numeral",()=>dse());ti("Password",()=>Ese());ti("Scale",()=>Bse());ti("Select",()=>GA());ti("Snippet",()=>Pse());ti("Sort",()=>Fse());ti("Survey",()=>Tse());ti("Text",()=>Ose());ti("Toggle",()=>Hse());ti("Quiz",()=>Yse())});var zse=E((ZCt,Wse)=>{Wse.exports={ArrayPrompt:sC(),AuthPrompt:xN(),BooleanPrompt:K0(),NumberPrompt:PN(),StringPrompt:Mc()}});var aC=E(($Ct,Vse)=>{"use strict";var _se=require("assert"),FN=require("events"),jA=Mi(),No=class extends FN{constructor(e,r){super();this.options=jA.merge({},e),this.answers=P({},r)}register(e,r){if(jA.isObject(e)){for(let n of Object.keys(e))this.register(n,e[n]);return this}_se.equal(typeof r,"function","expected a function");let i=e.toLowerCase();return r.prototype instanceof this.Prompt?this.prompts[i]=r:this.prompts[i]=r(this.Prompt,this),this}async prompt(e=[]){for(let r of[].concat(e))try{typeof r=="function"&&(r=await r.call(this)),await this.ask(jA.merge({},this.options,r))}catch(i){return Promise.reject(i)}return this.answers}async ask(e){typeof e=="function"&&(e=await e.call(this));let r=jA.merge({},this.options,e),{type:i,name:n}=e,{set:s,get:o}=jA;if(typeof i=="function"&&(i=await i.call(this,e,this.answers)),!i)return this.answers[n];_se(this.prompts[i],`Prompt "${i}" is not registered`);let a=new this.prompts[i](r),l=o(this.answers,n);a.state.answers=this.answers,a.enquirer=this,n&&a.on("submit",u=>{this.emit("answer",n,u,a),s(this.answers,n,u)});let c=a.emit.bind(a);return a.emit=(...u)=>(this.emit.call(this,...u),c(...u)),this.emit("prompt",a,this),r.autofill&&l!=null?(a.value=a.input=l,r.autofill==="show"&&await a.submit()):l=a.value=await a.run(),l}use(e){return e.call(this,this),this}set Prompt(e){this._Prompt=e}get Prompt(){return this._Prompt||this.constructor.Prompt}get prompts(){return this.constructor.prompts}static set Prompt(e){this._Prompt=e}static get Prompt(){return this._Prompt||sf()}static get prompts(){return Jse()}static get types(){return zse()}static get prompt(){let e=(r,...i)=>{let n=new this(...i),s=n.emit.bind(n);return n.emit=(...o)=>(e.emit(...o),s(...o)),n.prompt(r)};return jA.mixinEmitter(e,new FN),e}};jA.mixinEmitter(No,new FN);var NN=No.prompts;for(let t of Object.keys(NN)){let e=t.toLowerCase(),r=i=>new NN[t](i).run();No.prompt[e]=r,No[e]=r,No[t]||Reflect.defineProperty(No,t,{get:()=>NN[t]})}var oC=t=>{jA.defineExport(No,t,()=>No.types[t])};oC("ArrayPrompt");oC("AuthPrompt");oC("BooleanPrompt");oC("NumberPrompt");oC("StringPrompt");Vse.exports=No});var loe=E((Gmt,Aoe)=>{function K3e(t,e){for(var r=-1,i=t==null?0:t.length;++r{var U3e=XB(),H3e=jg();function G3e(t,e,r,i){var n=!r;r||(r={});for(var s=-1,o=e.length;++s{var j3e=Af(),Y3e=zg();function q3e(t,e){return t&&j3e(e,Y3e(e),t)}uoe.exports=q3e});var hoe=E((qmt,foe)=>{function J3e(t){var e=[];if(t!=null)for(var r in Object(t))e.push(r);return e}foe.exports=J3e});var doe=E((Jmt,poe)=>{var W3e=Gs(),z3e=u0(),V3e=hoe(),_3e=Object.prototype,X3e=_3e.hasOwnProperty;function Z3e(t){if(!W3e(t))return V3e(t);var e=z3e(t),r=[];for(var i in t)i=="constructor"&&(e||!X3e.call(t,i))||r.push(i);return r}poe.exports=Z3e});var lf=E((Wmt,Coe)=>{var $3e=bF(),eWe=doe(),tWe=Hd();function rWe(t){return tWe(t)?$3e(t,!0):eWe(t)}Coe.exports=rWe});var Eoe=E((zmt,moe)=>{var iWe=Af(),nWe=lf();function sWe(t,e){return t&&iWe(e,nWe(e),t)}moe.exports=sWe});var UN=E((hC,cf)=>{var oWe=Ks(),Ioe=typeof hC=="object"&&hC&&!hC.nodeType&&hC,yoe=Ioe&&typeof cf=="object"&&cf&&!cf.nodeType&&cf,aWe=yoe&&yoe.exports===Ioe,woe=aWe?oWe.Buffer:void 0,Boe=woe?woe.allocUnsafe:void 0;function AWe(t,e){if(e)return t.slice();var r=t.length,i=Boe?Boe(r):new t.constructor(r);return t.copy(i),i}cf.exports=AWe});var HN=E((Vmt,Qoe)=>{function lWe(t,e){var r=-1,i=t.length;for(e||(e=Array(i));++r{var cWe=Af(),uWe=f0();function gWe(t,e){return cWe(t,uWe(t),e)}boe.exports=gWe});var H0=E((Xmt,Soe)=>{var fWe=vF(),hWe=fWe(Object.getPrototypeOf,Object);Soe.exports=hWe});var GN=E((Zmt,xoe)=>{var pWe=$B(),dWe=H0(),CWe=f0(),mWe=RF(),EWe=Object.getOwnPropertySymbols,IWe=EWe?function(t){for(var e=[];t;)pWe(e,CWe(t)),t=dWe(t);return e}:mWe;xoe.exports=IWe});var Poe=E(($mt,koe)=>{var yWe=Af(),wWe=GN();function BWe(t,e){return yWe(t,wWe(t),e)}koe.exports=BWe});var Roe=E((eEt,Doe)=>{var QWe=DF(),bWe=GN(),vWe=lf();function SWe(t){return QWe(t,vWe,bWe)}Doe.exports=SWe});var Noe=E((tEt,Foe)=>{var xWe=Object.prototype,kWe=xWe.hasOwnProperty;function PWe(t){var e=t.length,r=new t.constructor(e);return e&&typeof t[0]=="string"&&kWe.call(t,"index")&&(r.index=t.index,r.input=t.input),r}Foe.exports=PWe});var G0=E((rEt,Loe)=>{var Toe=kF();function DWe(t){var e=new t.constructor(t.byteLength);return new Toe(e).set(new Toe(t)),e}Loe.exports=DWe});var Ooe=E((iEt,Moe)=>{var RWe=G0();function FWe(t,e){var r=e?RWe(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.byteLength)}Moe.exports=FWe});var Uoe=E((nEt,Koe)=>{var NWe=/\w*$/;function LWe(t){var e=new t.constructor(t.source,NWe.exec(t));return e.lastIndex=t.lastIndex,e}Koe.exports=LWe});var qoe=E((sEt,Hoe)=>{var Goe=ac(),joe=Goe?Goe.prototype:void 0,Yoe=joe?joe.valueOf:void 0;function TWe(t){return Yoe?Object(Yoe.call(t)):{}}Hoe.exports=TWe});var jN=E((oEt,Joe)=>{var MWe=G0();function OWe(t,e){var r=e?MWe(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.length)}Joe.exports=OWe});var zoe=E((aEt,Woe)=>{var KWe=G0(),UWe=Ooe(),HWe=Uoe(),GWe=qoe(),jWe=jN(),YWe="[object Boolean]",qWe="[object Date]",JWe="[object Map]",WWe="[object Number]",zWe="[object RegExp]",VWe="[object Set]",_We="[object String]",XWe="[object Symbol]",ZWe="[object ArrayBuffer]",$We="[object DataView]",e8e="[object Float32Array]",t8e="[object Float64Array]",r8e="[object Int8Array]",i8e="[object Int16Array]",n8e="[object Int32Array]",s8e="[object Uint8Array]",o8e="[object Uint8ClampedArray]",a8e="[object Uint16Array]",A8e="[object Uint32Array]";function l8e(t,e,r){var i=t.constructor;switch(e){case ZWe:return KWe(t);case YWe:case qWe:return new i(+t);case $We:return UWe(t,r);case e8e:case t8e:case r8e:case i8e:case n8e:case s8e:case o8e:case a8e:case A8e:return jWe(t,r);case JWe:return new i;case WWe:case _We:return new i(t);case zWe:return HWe(t);case VWe:return new i;case XWe:return GWe(t)}}Woe.exports=l8e});var Xoe=E((AEt,Voe)=>{var c8e=Gs(),_oe=Object.create,u8e=function(){function t(){}return function(e){if(!c8e(e))return{};if(_oe)return _oe(e);t.prototype=e;var r=new t;return t.prototype=void 0,r}}();Voe.exports=u8e});var YN=E((lEt,Zoe)=>{var g8e=Xoe(),f8e=H0(),h8e=u0();function p8e(t){return typeof t.constructor=="function"&&!h8e(t)?g8e(f8e(t)):{}}Zoe.exports=p8e});var eae=E((cEt,$oe)=>{var d8e=jd(),C8e=Qo(),m8e="[object Map]";function E8e(t){return C8e(t)&&d8e(t)==m8e}$oe.exports=E8e});var nae=E((uEt,tae)=>{var I8e=eae(),y8e=A0(),rae=l0(),iae=rae&&rae.isMap,w8e=iae?y8e(iae):I8e;tae.exports=w8e});var oae=E((gEt,sae)=>{var B8e=jd(),Q8e=Qo(),b8e="[object Set]";function v8e(t){return Q8e(t)&&B8e(t)==b8e}sae.exports=v8e});var cae=E((fEt,aae)=>{var S8e=oae(),x8e=A0(),Aae=l0(),lae=Aae&&Aae.isSet,k8e=lae?x8e(lae):S8e;aae.exports=k8e});var pae=E((hEt,uae)=>{var P8e=Gd(),D8e=loe(),R8e=XB(),F8e=goe(),N8e=Eoe(),L8e=UN(),T8e=HN(),M8e=voe(),O8e=Poe(),K8e=FF(),U8e=Roe(),H8e=jd(),G8e=Noe(),j8e=zoe(),Y8e=YN(),q8e=As(),J8e=Od(),W8e=nae(),z8e=Gs(),V8e=cae(),_8e=zg(),X8e=lf(),Z8e=1,$8e=2,e4e=4,gae="[object Arguments]",t4e="[object Array]",r4e="[object Boolean]",i4e="[object Date]",n4e="[object Error]",fae="[object Function]",s4e="[object GeneratorFunction]",o4e="[object Map]",a4e="[object Number]",hae="[object Object]",A4e="[object RegExp]",l4e="[object Set]",c4e="[object String]",u4e="[object Symbol]",g4e="[object WeakMap]",f4e="[object ArrayBuffer]",h4e="[object DataView]",p4e="[object Float32Array]",d4e="[object Float64Array]",C4e="[object Int8Array]",m4e="[object Int16Array]",E4e="[object Int32Array]",I4e="[object Uint8Array]",y4e="[object Uint8ClampedArray]",w4e="[object Uint16Array]",B4e="[object Uint32Array]",rr={};rr[gae]=rr[t4e]=rr[f4e]=rr[h4e]=rr[r4e]=rr[i4e]=rr[p4e]=rr[d4e]=rr[C4e]=rr[m4e]=rr[E4e]=rr[o4e]=rr[a4e]=rr[hae]=rr[A4e]=rr[l4e]=rr[c4e]=rr[u4e]=rr[I4e]=rr[y4e]=rr[w4e]=rr[B4e]=!0;rr[n4e]=rr[fae]=rr[g4e]=!1;function j0(t,e,r,i,n,s){var o,a=e&Z8e,l=e&$8e,c=e&e4e;if(r&&(o=n?r(t,i,n,s):r(t)),o!==void 0)return o;if(!z8e(t))return t;var u=q8e(t);if(u){if(o=G8e(t),!a)return T8e(t,o)}else{var g=H8e(t),f=g==fae||g==s4e;if(J8e(t))return L8e(t,a);if(g==hae||g==gae||f&&!n){if(o=l||f?{}:Y8e(t),!a)return l?O8e(t,N8e(o,t)):M8e(t,F8e(o,t))}else{if(!rr[g])return n?t:{};o=j8e(t,g,a)}}s||(s=new P8e);var h=s.get(t);if(h)return h;s.set(t,o),V8e(t)?t.forEach(function(m){o.add(j0(m,e,r,m,t,s))}):W8e(t)&&t.forEach(function(m,I){o.set(I,j0(m,e,r,I,t,s))});var p=c?l?U8e:K8e:l?X8e:_8e,d=u?void 0:p(t);return D8e(d||t,function(m,I){d&&(I=m,m=t[I]),R8e(o,I,j0(m,e,r,I,t,s))}),o}uae.exports=j0});var qN=E((pEt,dae)=>{var Q4e=pae(),b4e=1,v4e=4;function S4e(t){return Q4e(t,b4e|v4e)}dae.exports=S4e});var mae=E((dEt,Cae)=>{var x4e=tF();function k4e(t,e,r){return t==null?t:x4e(t,e,r)}Cae.exports=k4e});var Qae=E((wEt,Bae)=>{function P4e(t){var e=t==null?0:t.length;return e?t[e-1]:void 0}Bae.exports=P4e});var vae=E((BEt,bae)=>{var D4e=xd(),R4e=zP();function F4e(t,e){return e.length<2?t:D4e(t,R4e(e,0,-1))}bae.exports=F4e});var xae=E((QEt,Sae)=>{var N4e=Gg(),L4e=Qae(),T4e=vae(),M4e=Sc();function O4e(t,e){return e=N4e(e,t),t=T4e(t,e),t==null||delete t[M4e(L4e(e))]}Sae.exports=O4e});var Pae=E((bEt,kae)=>{var K4e=xae();function U4e(t,e){return t==null?!0:K4e(t,e)}kae.exports=U4e});var Kae=E((tIt,Oae)=>{Oae.exports={name:"@yarnpkg/cli",version:"3.1.1",license:"BSD-2-Clause",main:"./sources/index.ts",dependencies:{"@yarnpkg/core":"workspace:^","@yarnpkg/fslib":"workspace:^","@yarnpkg/libzip":"workspace:^","@yarnpkg/parsers":"workspace:^","@yarnpkg/plugin-compat":"workspace:^","@yarnpkg/plugin-dlx":"workspace:^","@yarnpkg/plugin-essentials":"workspace:^","@yarnpkg/plugin-file":"workspace:^","@yarnpkg/plugin-git":"workspace:^","@yarnpkg/plugin-github":"workspace:^","@yarnpkg/plugin-http":"workspace:^","@yarnpkg/plugin-init":"workspace:^","@yarnpkg/plugin-link":"workspace:^","@yarnpkg/plugin-nm":"workspace:^","@yarnpkg/plugin-npm":"workspace:^","@yarnpkg/plugin-npm-cli":"workspace:^","@yarnpkg/plugin-pack":"workspace:^","@yarnpkg/plugin-patch":"workspace:^","@yarnpkg/plugin-pnp":"workspace:^","@yarnpkg/plugin-pnpm":"workspace:^","@yarnpkg/shell":"workspace:^",chalk:"^3.0.0","ci-info":"^3.2.0",clipanion:"^3.0.1",semver:"^7.1.2",tslib:"^1.13.0",typanion:"^3.3.0",yup:"^0.32.9"},devDependencies:{"@types/semver":"^7.1.0","@types/yup":"^0","@yarnpkg/builder":"workspace:^","@yarnpkg/monorepo":"workspace:^","@yarnpkg/pnpify":"workspace:^",micromatch:"^4.0.2",typescript:"^4.5.2"},peerDependencies:{"@yarnpkg/core":"workspace:^"},scripts:{postpack:"rm -rf lib",prepack:'run build:compile "$(pwd)"',"build:cli+hook":"run build:pnp:hook && builder build bundle","build:cli":"builder build bundle","run:cli":"builder run","update-local":"run build:cli --no-git-hash && rsync -a --delete bundles/ bin/"},publishConfig:{main:"./lib/index.js",types:"./lib/index.d.ts",bin:null},files:["/lib/**/*","!/lib/pluginConfiguration.*","!/lib/cli.*"],"@yarnpkg/builder":{bundles:{standard:["@yarnpkg/plugin-essentials","@yarnpkg/plugin-compat","@yarnpkg/plugin-dlx","@yarnpkg/plugin-file","@yarnpkg/plugin-git","@yarnpkg/plugin-github","@yarnpkg/plugin-http","@yarnpkg/plugin-init","@yarnpkg/plugin-link","@yarnpkg/plugin-nm","@yarnpkg/plugin-npm","@yarnpkg/plugin-npm-cli","@yarnpkg/plugin-pack","@yarnpkg/plugin-patch","@yarnpkg/plugin-pnp","@yarnpkg/plugin-pnpm"]}},repository:{type:"git",url:"ssh://git@github.com/yarnpkg/berry.git",directory:"packages/yarnpkg-cli"},engines:{node:">=12 <14 || 14.2 - 14.9 || >14.10.0"}}});var iL=E((SBt,QAe)=>{"use strict";QAe.exports=function(e,r){r===!0&&(r=0);var i=e.indexOf("://"),n=e.substring(0,i).split("+").filter(Boolean);return typeof r=="number"?n[r]:n}});var nL=E((xBt,bAe)=>{"use strict";var sze=iL();function vAe(t){if(Array.isArray(t))return t.indexOf("ssh")!==-1||t.indexOf("rsync")!==-1;if(typeof t!="string")return!1;var e=sze(t);return t=t.substring(t.indexOf("://")+3),vAe(e)?!0:t.indexOf("@"){"use strict";var oze=iL(),aze=nL(),Aze=require("querystring");function lze(t){t=(t||"").trim();var e={protocols:oze(t),protocol:null,port:null,resource:"",user:"",pathname:"",hash:"",search:"",href:t,query:Object.create(null)},r=t.indexOf("://"),i=-1,n=null,s=null;t.startsWith(".")&&(t.startsWith("./")&&(t=t.substring(2)),e.pathname=t,e.protocol="file");var o=t.charAt(1);return e.protocol||(e.protocol=e.protocols[0],e.protocol||(aze(t)?e.protocol="ssh":((o==="/"||o==="~")&&(t=t.substring(2)),e.protocol="file"))),r!==-1&&(t=t.substring(r+3)),s=t.split("/"),e.protocol!=="file"?e.resource=s.shift():e.resource="",n=e.resource.split("@"),n.length===2&&(e.user=n[0],e.resource=n[1]),n=e.resource.split(":"),n.length===2&&(e.resource=n[0],n[1]?(e.port=Number(n[1]),isNaN(e.port)&&(e.port=null,s.unshift(n[1]))):e.port=null),s=s.filter(Boolean),e.protocol==="file"?e.pathname=e.href:e.pathname=e.pathname||(e.protocol!=="file"||e.href[0]==="/"?"/":"")+s.join("/"),n=e.pathname.split("#"),n.length===2&&(e.pathname=n[0],e.hash=n[1]),n=e.pathname.split("?"),n.length===2&&(e.pathname=n[0],e.search=n[1]),e.query=Aze.parse(e.search),e.href=e.href.replace(/\/$/,""),e.pathname=e.pathname.replace(/\/$/,""),e}SAe.exports=lze});var DAe=E((PBt,kAe)=>{"use strict";var cze=typeof URL=="undefined"?require("url").URL:URL,PAe=(t,e)=>e.some(r=>r instanceof RegExp?r.test(t):r===t);kAe.exports=(t,e)=>{e=Object.assign({defaultProtocol:"http:",normalizeProtocol:!0,forceHttp:!1,forceHttps:!1,stripHash:!0,stripWWW:!0,removeQueryParameters:[/^utm_\w+/i],removeTrailingSlash:!0,removeDirectoryIndex:!1,sortQueryParameters:!0},e),Reflect.has(e,"normalizeHttps")&&(e.forceHttp=e.normalizeHttps),Reflect.has(e,"normalizeHttp")&&(e.forceHttps=e.normalizeHttp),Reflect.has(e,"stripFragment")&&(e.stripHash=e.stripFragment),t=t.trim();let r=t.startsWith("//");!r&&/^\.*\//.test(t)||(t=t.replace(/^(?!(?:\w+:)?\/\/)|^\/\//,e.defaultProtocol));let n=new cze(t);if(e.forceHttp&&e.forceHttps)throw new Error("The `forceHttp` and `forceHttps` options cannot be used together");if(e.forceHttp&&n.protocol==="https:"&&(n.protocol="http:"),e.forceHttps&&n.protocol==="http:"&&(n.protocol="https:"),e.stripHash&&(n.hash=""),n.pathname&&(n.pathname=n.pathname.replace(/((?![https?:]).)\/{2,}/g,(s,o)=>/^(?!\/)/g.test(o)?`${o}/`:"/")),n.pathname&&(n.pathname=decodeURI(n.pathname)),e.removeDirectoryIndex===!0&&(e.removeDirectoryIndex=[/^index\.[a-z]+$/]),Array.isArray(e.removeDirectoryIndex)&&e.removeDirectoryIndex.length>0){let s=n.pathname.split("/"),o=s[s.length-1];PAe(o,e.removeDirectoryIndex)&&(s=s.slice(0,s.length-1),n.pathname=s.slice(1).join("/")+"/")}if(n.hostname&&(n.hostname=n.hostname.replace(/\.$/,""),e.stripWWW&&/^www\.([a-z\-\d]{2,63})\.([a-z\.]{2,5})$/.test(n.hostname)&&(n.hostname=n.hostname.replace(/^www\./,""))),Array.isArray(e.removeQueryParameters))for(let s of[...n.searchParams.keys()])PAe(s,e.removeQueryParameters)&&n.searchParams.delete(s);return e.sortQueryParameters&&n.searchParams.sort(),t=n.toString(),(e.removeTrailingSlash||n.pathname==="/")&&(t=t.replace(/\/$/,"")),r&&!e.normalizeProtocol&&(t=t.replace(/^http:\/\//,"//")),t}});var FAe=E((DBt,RAe)=>{"use strict";var uze=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},gze=xAe(),fze=DAe();function hze(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;if(typeof t!="string"||!t.trim())throw new Error("Invalid url.");e&&((typeof e=="undefined"?"undefined":uze(e))!=="object"&&(e={stripFragment:!1}),t=fze(t,e));var r=gze(t);return r}RAe.exports=hze});var TAe=E((RBt,NAe)=>{"use strict";var pze=FAe(),LAe=nL();function dze(t){var e=pze(t);e.token="";var r=e.user.split(":");return r.length===2&&(r[1]==="x-oauth-basic"?e.token=r[0]:r[0]==="x-token-auth"&&(e.token=r[1])),LAe(e.protocols)||LAe(t)?e.protocol="ssh":e.protocols.length?e.protocol=e.protocols[0]:e.protocol="file",e.href=e.href.replace(/\/$/,""),e}NAe.exports=dze});var OAe=E((FBt,MAe)=>{"use strict";var Cze=TAe();function sL(t){if(typeof t!="string")throw new Error("The url must be a string.");var e=Cze(t),r=e.resource.split("."),i=null;switch(e.toString=function(l){return sL.stringify(this,l)},e.source=r.length>2?r.slice(1-r.length).join("."):e.source=e.resource,e.git_suffix=/\.git$/.test(e.pathname),e.name=decodeURIComponent(e.pathname.replace(/^\//,"").replace(/\.git$/,"")),e.owner=decodeURIComponent(e.user),e.source){case"git.cloudforge.com":e.owner=e.user,e.organization=r[0],e.source="cloudforge.com";break;case"visualstudio.com":if(e.resource==="vs-ssh.visualstudio.com"){i=e.name.split("/"),i.length===4&&(e.organization=i[1],e.owner=i[2],e.name=i[3],e.full_name=i[2]+"/"+i[3]);break}else{i=e.name.split("/"),i.length===2?(e.owner=i[1],e.name=i[1],e.full_name="_git/"+e.name):i.length===3?(e.name=i[2],i[0]==="DefaultCollection"?(e.owner=i[2],e.organization=i[0],e.full_name=e.organization+"/_git/"+e.name):(e.owner=i[0],e.full_name=e.owner+"/_git/"+e.name)):i.length===4&&(e.organization=i[0],e.owner=i[1],e.name=i[3],e.full_name=e.organization+"/"+e.owner+"/_git/"+e.name);break}case"dev.azure.com":case"azure.com":if(e.resource==="ssh.dev.azure.com"){i=e.name.split("/"),i.length===4&&(e.organization=i[1],e.owner=i[2],e.name=i[3]);break}else{i=e.name.split("/"),i.length===5?(e.organization=i[0],e.owner=i[1],e.name=i[4],e.full_name="_git/"+e.name):i.length===3?(e.name=i[2],i[0]==="DefaultCollection"?(e.owner=i[2],e.organization=i[0],e.full_name=e.organization+"/_git/"+e.name):(e.owner=i[0],e.full_name=e.owner+"/_git/"+e.name)):i.length===4&&(e.organization=i[0],e.owner=i[1],e.name=i[3],e.full_name=e.organization+"/"+e.owner+"/_git/"+e.name);break}default:i=e.name.split("/");var n=i.length-1;if(i.length>=2){var s=i.indexOf("blob",2),o=i.indexOf("tree",2),a=i.indexOf("commit",2);n=s>0?s-1:o>0?o-1:a>0?a-1:n,e.owner=i.slice(0,n).join("/"),e.name=i[n],a&&(e.commit=i[n+2])}e.ref="",e.filepathtype="",e.filepath="",i.length>n+2&&["blob","tree"].indexOf(i[n+1])>=0&&(e.filepathtype=i[n+1],e.ref=i[n+2],i.length>n+3&&(e.filepath=i.slice(n+3).join("/"))),e.organization=e.owner;break}return e.full_name||(e.full_name=e.owner,e.name&&(e.full_name&&(e.full_name+="/"),e.full_name+=e.name)),e}sL.stringify=function(t,e){e=e||(t.protocols&&t.protocols.length?t.protocols.join("+"):t.protocol);var r=t.port?":"+t.port:"",i=t.user||"git",n=t.git_suffix?".git":"";switch(e){case"ssh":return r?"ssh://"+i+"@"+t.resource+r+"/"+t.full_name+n:i+"@"+t.resource+":"+t.full_name+n;case"git+ssh":case"ssh+git":case"ftp":case"ftps":return e+"://"+i+"@"+t.resource+r+"/"+t.full_name+n;case"http":case"https":var s=t.token?mze(t):t.user&&(t.protocols.includes("http")||t.protocols.includes("https"))?t.user+"@":"";return e+"://"+s+t.resource+r+"/"+t.full_name+n;default:return t.href}};function mze(t){switch(t.source){case"bitbucket.org":return"x-token-auth:"+t.token+"@";default:return t.token+"@"}}MAe.exports=sL});var NL=E((Obt,ole)=>{var Mze=jg(),Oze=Kg();function Kze(t,e,r){(r!==void 0&&!Oze(t[e],r)||r===void 0&&!(e in t))&&Mze(t,e,r)}ole.exports=Kze});var Ale=E((Kbt,ale)=>{var Uze=Hd(),Hze=Qo();function Gze(t){return Hze(t)&&Uze(t)}ale.exports=Gze});var ule=E((Ubt,lle)=>{var jze=Ac(),Yze=H0(),qze=Qo(),Jze="[object Object]",Wze=Function.prototype,zze=Object.prototype,cle=Wze.toString,Vze=zze.hasOwnProperty,_ze=cle.call(Object);function Xze(t){if(!qze(t)||jze(t)!=Jze)return!1;var e=Yze(t);if(e===null)return!0;var r=Vze.call(e,"constructor")&&e.constructor;return typeof r=="function"&&r instanceof r&&cle.call(r)==_ze}lle.exports=Xze});var LL=E((Hbt,gle)=>{function Zze(t,e){if(!(e==="constructor"&&typeof t[e]=="function")&&e!="__proto__")return t[e]}gle.exports=Zze});var hle=E((Gbt,fle)=>{var $ze=Af(),e5e=lf();function t5e(t){return $ze(t,e5e(t))}fle.exports=t5e});var Ile=E((jbt,ple)=>{var dle=NL(),r5e=UN(),i5e=jN(),n5e=HN(),s5e=YN(),Cle=Pd(),mle=As(),o5e=Ale(),a5e=Od(),A5e=zB(),l5e=Gs(),c5e=ule(),u5e=c0(),Ele=LL(),g5e=hle();function f5e(t,e,r,i,n,s,o){var a=Ele(t,r),l=Ele(e,r),c=o.get(l);if(c){dle(t,r,c);return}var u=s?s(a,l,r+"",t,e,o):void 0,g=u===void 0;if(g){var f=mle(l),h=!f&&a5e(l),p=!f&&!h&&u5e(l);u=l,f||h||p?mle(a)?u=a:o5e(a)?u=n5e(a):h?(g=!1,u=r5e(l,!0)):p?(g=!1,u=i5e(l,!0)):u=[]:c5e(l)||Cle(l)?(u=a,Cle(a)?u=g5e(a):(!l5e(a)||A5e(a))&&(u=s5e(l))):g=!1}g&&(o.set(l,u),n(u,l,i,s,o),o.delete(l)),dle(t,r,u)}ple.exports=f5e});var Ble=E((Ybt,yle)=>{var h5e=Gd(),p5e=NL(),d5e=BF(),C5e=Ile(),m5e=Gs(),E5e=lf(),I5e=LL();function wle(t,e,r,i,n){t!==e&&d5e(e,function(s,o){if(n||(n=new h5e),m5e(s))C5e(t,e,o,r,wle,i,n);else{var a=i?i(I5e(t,o),s,o+"",t,e,n):void 0;a===void 0&&(a=s),p5e(t,o,a)}},E5e)}yle.exports=wle});var ble=E((qbt,Qle)=>{var y5e=e0(),w5e=nF(),B5e=sF();function Q5e(t,e){return B5e(w5e(t,e,y5e),t+"")}Qle.exports=Q5e});var Sle=E((Jbt,vle)=>{var b5e=Kg(),v5e=Hd(),S5e=kd(),x5e=Gs();function k5e(t,e,r){if(!x5e(r))return!1;var i=typeof e;return(i=="number"?v5e(r)&&S5e(e,r.length):i=="string"&&e in r)?b5e(r[e],t):!1}vle.exports=k5e});var kle=E((Wbt,xle)=>{var P5e=ble(),D5e=Sle();function R5e(t){return P5e(function(e,r){var i=-1,n=r.length,s=n>1?r[n-1]:void 0,o=n>2?r[2]:void 0;for(s=t.length>3&&typeof s=="function"?(n--,s):void 0,o&&D5e(r[0],r[1],o)&&(s=n<3?void 0:s,n=1),e=Object(e);++i{var F5e=Ble(),N5e=kle(),L5e=N5e(function(t,e,r){F5e(t,e,r)});Ple.exports=L5e});var Wle=E(($vt,Jle)=>{var VL;Jle.exports=()=>(typeof VL=="undefined"&&(VL=require("zlib").brotliDecompressSync(Buffer.from("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","base64")).toString()),VL)});var $le=E(XL=>{function pf(t,e){if(typeof t=="string")return t;if(t){let r,i;if(Array.isArray(t)){for(r=0;r0)return(f=pf(n[g],u))?f.replace("*",c.substring(g.length-1)):Gc(i,c,1)}return Gc(i,c)}}function l6e(t,e={}){let r=0,i,n=e.browser,s=e.fields||["module","main"];for(n&&!s.includes("browser")&&s.unshift("browser");r{var eT;nce.exports=()=>(typeof eT=="undefined"&&(eT=require("zlib").brotliDecompressSync(Buffer.from("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","base64")).toString()),eT)});var gce=E((aT,AT)=>{(function(t){aT&&typeof aT=="object"&&typeof AT!="undefined"?AT.exports=t():typeof define=="function"&&define.amd?define([],t):typeof window!="undefined"?window.isWindows=t():typeof global!="undefined"?global.isWindows=t():typeof self!="undefined"?self.isWindows=t():this.isWindows=t()})(function(){"use strict";return function(){return process&&(process.platform==="win32"||/^(msys|cygwin)$/.test(process.env.OSTYPE))}})});var dce=E((Dxt,fce)=>{"use strict";lT.ifExists=E6e;var mf=require("util"),Es=require("path"),hce=gce(),I6e=/^#!\s*(?:\/usr\/bin\/env)?\s*([^ \t]+)(.*)$/,y6e={createPwshFile:!0,createCmdFile:hce(),fs:require("fs")},w6e=new Map([[".js","node"],[".cjs","node"],[".mjs","node"],[".cmd","cmd"],[".bat","cmd"],[".ps1","pwsh"],[".sh","sh"]]);function pce(t){let e=P(P({},y6e),t),r=e.fs;return e.fs_={chmod:r.chmod?mf.promisify(r.chmod):async()=>{},mkdir:mf.promisify(r.mkdir),readFile:mf.promisify(r.readFile),stat:mf.promisify(r.stat),unlink:mf.promisify(r.unlink),writeFile:mf.promisify(r.writeFile)},e}async function lT(t,e,r){let i=pce(r);await i.fs_.stat(t),await B6e(t,e,i)}function E6e(t,e,r){return lT(t,e,r).catch(()=>{})}function Q6e(t,e){return e.fs_.unlink(t).catch(()=>{})}async function B6e(t,e,r){let i=await S6e(t,r);return await b6e(e,r),v6e(t,e,i,r)}function b6e(t,e){return e.fs_.mkdir(Es.dirname(t),{recursive:!0})}function v6e(t,e,r,i){let n=pce(i),s=[{generator:P6e,extension:""}];return n.createCmdFile&&s.push({generator:k6e,extension:".cmd"}),n.createPwshFile&&s.push({generator:D6e,extension:".ps1"}),Promise.all(s.map(o=>x6e(t,e+o.extension,r,o.generator,n)))}function R6e(t,e){return Q6e(t,e)}function N6e(t,e){return F6e(t,e)}async function S6e(t,e){let n=(await e.fs_.readFile(t,"utf8")).trim().split(/\r*\n/)[0].match(I6e);if(!n){let s=Es.extname(t).toLowerCase();return{program:w6e.get(s)||null,additionalArgs:""}}return{program:n[1],additionalArgs:n[2]}}async function x6e(t,e,r,i,n){let s=n.preserveSymlinks?"--preserve-symlinks":"",o=[r.additionalArgs,s].filter(a=>a).join(" ");return n=Object.assign({},n,{prog:r.program,args:o}),await R6e(e,n),await n.fs_.writeFile(e,i(t,e,n),"utf8"),N6e(e,n)}function k6e(t,e,r){let n=Es.relative(Es.dirname(e),t).split("/").join("\\"),s=Es.isAbsolute(n)?`"${n}"`:`"%~dp0\\${n}"`,o,a=r.prog,l=r.args||"",c=cT(r.nodePath).win32;a?(o=`"%~dp0\\${a}.exe"`,n=s):(a=s,l="",n="");let u=r.progArgs?`${r.progArgs.join(" ")} `:"",g=c?`@SET NODE_PATH=${c}\r +`:"";return o?g+=`@IF EXIST ${o} (\r + ${o} ${l} ${n} ${u}%*\r +) ELSE (\r + @SETLOCAL\r + @SET PATHEXT=%PATHEXT:;.JS;=;%\r + ${a} ${l} ${n} ${u}%*\r +)\r +`:g+=`@${a} ${l} ${n} ${u}%*\r +`,g}function P6e(t,e,r){let i=Es.relative(Es.dirname(e),t),n=r.prog&&r.prog.split("\\").join("/"),s;i=i.split("\\").join("/");let o=Es.isAbsolute(i)?`"${i}"`:`"$basedir/${i}"`,a=r.args||"",l=cT(r.nodePath).posix;n?(s=`"$basedir/${r.prog}"`,i=o):(n=o,a="",i="");let c=r.progArgs?`${r.progArgs.join(" ")} `:"",u=`#!/bin/sh +basedir=$(dirname "$(echo "$0" | sed -e 's,\\\\,/,g')") + +case \`uname\` in + *CYGWIN*) basedir=\`cygpath -w "$basedir"\`;; +esac + +`,g=r.nodePath?`export NODE_PATH="${l}" +`:"";return s?u+=`${g}if [ -x ${s} ]; then + exec ${s} ${a} ${i} ${c}"$@" +else + exec ${n} ${a} ${i} ${c}"$@" +fi +`:u+=`${g}${n} ${a} ${i} ${c}"$@" +exit $? +`,u}function D6e(t,e,r){let i=Es.relative(Es.dirname(e),t),n=r.prog&&r.prog.split("\\").join("/"),s=n&&`"${n}$exe"`,o;i=i.split("\\").join("/");let a=Es.isAbsolute(i)?`"${i}"`:`"$basedir/${i}"`,l=r.args||"",c=cT(r.nodePath),u=c.win32,g=c.posix;s?(o=`"$basedir/${r.prog}$exe"`,i=a):(s=a,l="",i="");let f=r.progArgs?`${r.progArgs.join(" ")} `:"",h=`#!/usr/bin/env pwsh +$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent + +$exe="" +${r.nodePath?`$env_node_path=$env:NODE_PATH +$env:NODE_PATH="${u}" +`:""}if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) { + # Fix case when both the Windows and Linux builds of Node + # are installed in the same directory + $exe=".exe" +}`;return r.nodePath&&(h+=` else { + $env:NODE_PATH="${g}" +}`),o?h+=` +$ret=0 +if (Test-Path ${o}) { + # Support pipeline input + if ($MyInvocation.ExpectingInput) { + $input | & ${o} ${l} ${i} ${f}$args + } else { + & ${o} ${l} ${i} ${f}$args + } + $ret=$LASTEXITCODE +} else { + # Support pipeline input + if ($MyInvocation.ExpectingInput) { + $input | & ${s} ${l} ${i} ${f}$args + } else { + & ${s} ${l} ${i} ${f}$args + } + $ret=$LASTEXITCODE +} +${r.nodePath?`$env:NODE_PATH=$env_node_path +`:""}exit $ret +`:h+=` +# Support pipeline input +if ($MyInvocation.ExpectingInput) { + $input | & ${s} ${l} ${i} ${f}$args +} else { + & ${s} ${l} ${i} ${f}$args +} +${r.nodePath?`$env:NODE_PATH=$env_node_path +`:""}exit $LASTEXITCODE +`,h}function F6e(t,e){return e.fs_.chmod(t,493)}function cT(t){if(!t)return{win32:"",posix:""};let e=typeof t=="string"?t.split(Es.delimiter):Array.from(t),r={};for(let i=0;i`/mnt/${a.toLowerCase()}`):e[i];r.win32=r.win32?`${r.win32};${n}`:n,r.posix=r.posix?`${r.posix}:${s}`:s,r[i]={win32:n,posix:s}}return r}fce.exports=lT});var PT=E((fPt,Nce)=>{Nce.exports=require("stream")});var Oce=E((hPt,Lce)=>{"use strict";function Tce(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter(function(n){return Object.getOwnPropertyDescriptor(t,n).enumerable})),r.push.apply(r,i)}return r}function e9e(t){for(var e=1;e0?this.tail.next=i:this.head=i,this.tail=i,++this.length}},{key:"unshift",value:function(r){var i={data:r,next:this.head};this.length===0&&(this.tail=i),this.head=i,++this.length}},{key:"shift",value:function(){if(this.length!==0){var r=this.head.data;return this.length===1?this.head=this.tail=null:this.head=this.head.next,--this.length,r}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(r){if(this.length===0)return"";for(var i=this.head,n=""+i.data;i=i.next;)n+=r+i.data;return n}},{key:"concat",value:function(r){if(this.length===0)return iQ.alloc(0);for(var i=iQ.allocUnsafe(r>>>0),n=this.head,s=0;n;)o9e(n.data,i,s),s+=n.data.length,n=n.next;return i}},{key:"consume",value:function(r,i){var n;return ro.length?o.length:r;if(a===o.length?s+=o:s+=o.slice(0,r),r-=a,r===0){a===o.length?(++n,i.next?this.head=i.next:this.head=this.tail=null):(this.head=i,i.data=o.slice(a));break}++n}return this.length-=n,s}},{key:"_getBuffer",value:function(r){var i=iQ.allocUnsafe(r),n=this.head,s=1;for(n.data.copy(i),r-=n.data.length;n=n.next;){var o=n.data,a=r>o.length?o.length:r;if(o.copy(i,i.length-r,0,a),r-=a,r===0){a===o.length?(++s,n.next?this.head=n.next:this.head=this.tail=null):(this.head=n,n.data=o.slice(a));break}++s}return this.length-=s,i}},{key:s9e,value:function(r,i){return DT(this,e9e({},i,{depth:0,customInspect:!1}))}}]),t}()});var FT=E((pPt,Kce)=>{"use strict";function a9e(t,e){var r=this,i=this._readableState&&this._readableState.destroyed,n=this._writableState&&this._writableState.destroyed;return i||n?(e?e(t):t&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,process.nextTick(RT,this,t)):process.nextTick(RT,this,t)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(t||null,function(s){!e&&s?r._writableState?r._writableState.errorEmitted?process.nextTick(nQ,r):(r._writableState.errorEmitted=!0,process.nextTick(Uce,r,s)):process.nextTick(Uce,r,s):e?(process.nextTick(nQ,r),e(s)):process.nextTick(nQ,r)}),this)}function Uce(t,e){RT(t,e),nQ(t)}function nQ(t){t._writableState&&!t._writableState.emitClose||t._readableState&&!t._readableState.emitClose||t.emit("close")}function A9e(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)}function RT(t,e){t.emit("error",e)}function l9e(t,e){var r=t._readableState,i=t._writableState;r&&r.autoDestroy||i&&i.autoDestroy?t.destroy(e):t.emit("error",e)}Kce.exports={destroy:a9e,undestroy:A9e,errorOrDestroy:l9e}});var VA=E((dPt,Hce)=>{"use strict";var Gce={};function Is(t,e,r){r||(r=Error);function i(s,o,a){return typeof e=="string"?e:e(s,o,a)}class n extends r{constructor(o,a,l){super(i(o,a,l))}}n.prototype.name=r.name,n.prototype.code=t,Gce[t]=n}function jce(t,e){if(Array.isArray(t)){let r=t.length;return t=t.map(i=>String(i)),r>2?`one of ${e} ${t.slice(0,r-1).join(", ")}, or `+t[r-1]:r===2?`one of ${e} ${t[0]} or ${t[1]}`:`of ${e} ${t[0]}`}else return`of ${e} ${String(t)}`}function c9e(t,e,r){return t.substr(!r||r<0?0:+r,e.length)===e}function u9e(t,e,r){return(r===void 0||r>t.length)&&(r=t.length),t.substring(r-e.length,r)===e}function g9e(t,e,r){return typeof r!="number"&&(r=0),r+e.length>t.length?!1:t.indexOf(e,r)!==-1}Is("ERR_INVALID_OPT_VALUE",function(t,e){return'The value "'+e+'" is invalid for option "'+t+'"'},TypeError);Is("ERR_INVALID_ARG_TYPE",function(t,e,r){let i;typeof e=="string"&&c9e(e,"not ")?(i="must not be",e=e.replace(/^not /,"")):i="must be";let n;if(u9e(t," argument"))n=`The ${t} ${i} ${jce(e,"type")}`;else{let s=g9e(t,".")?"property":"argument";n=`The "${t}" ${s} ${i} ${jce(e,"type")}`}return n+=`. Received type ${typeof r}`,n},TypeError);Is("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF");Is("ERR_METHOD_NOT_IMPLEMENTED",function(t){return"The "+t+" method is not implemented"});Is("ERR_STREAM_PREMATURE_CLOSE","Premature close");Is("ERR_STREAM_DESTROYED",function(t){return"Cannot call "+t+" after a stream was destroyed"});Is("ERR_MULTIPLE_CALLBACK","Callback called multiple times");Is("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable");Is("ERR_STREAM_WRITE_AFTER_END","write after end");Is("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError);Is("ERR_UNKNOWN_ENCODING",function(t){return"Unknown encoding: "+t},TypeError);Is("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event");Hce.exports.codes=Gce});var NT=E((CPt,Yce)=>{"use strict";var f9e=VA().codes.ERR_INVALID_OPT_VALUE;function h9e(t,e,r){return t.highWaterMark!=null?t.highWaterMark:e?t[r]:null}function p9e(t,e,r,i){var n=h9e(e,i,r);if(n!=null){if(!(isFinite(n)&&Math.floor(n)===n)||n<0){var s=i?r:"highWaterMark";throw new f9e(s,n)}return Math.floor(n)}return t.objectMode?16:16*1024}Yce.exports={getHighWaterMark:p9e}});var qce=E((mPt,LT)=>{typeof Object.create=="function"?LT.exports=function(e,r){r&&(e.super_=r,e.prototype=Object.create(r.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:LT.exports=function(e,r){if(r){e.super_=r;var i=function(){};i.prototype=r.prototype,e.prototype=new i,e.prototype.constructor=e}}});var _A=E((EPt,TT)=>{try{if(MT=require("util"),typeof MT.inherits!="function")throw"";TT.exports=MT.inherits}catch(t){TT.exports=qce()}var MT});var Wce=E((IPt,Jce)=>{Jce.exports=require("util").deprecate});var UT=E((yPt,zce)=>{"use strict";zce.exports=Sr;function Vce(t){var e=this;this.next=null,this.entry=null,this.finish=function(){d9e(e,t)}}var If;Sr.WritableState=em;var C9e={deprecate:Wce()},_ce=PT(),sQ=require("buffer").Buffer,m9e=global.Uint8Array||function(){};function E9e(t){return sQ.from(t)}function I9e(t){return sQ.isBuffer(t)||t instanceof m9e}var OT=FT(),y9e=NT(),w9e=y9e.getHighWaterMark,XA=VA().codes,B9e=XA.ERR_INVALID_ARG_TYPE,Q9e=XA.ERR_METHOD_NOT_IMPLEMENTED,b9e=XA.ERR_MULTIPLE_CALLBACK,v9e=XA.ERR_STREAM_CANNOT_PIPE,S9e=XA.ERR_STREAM_DESTROYED,x9e=XA.ERR_STREAM_NULL_VALUES,k9e=XA.ERR_STREAM_WRITE_AFTER_END,P9e=XA.ERR_UNKNOWN_ENCODING,yf=OT.errorOrDestroy;_A()(Sr,_ce);function D9e(){}function em(t,e,r){If=If||Yc(),t=t||{},typeof r!="boolean"&&(r=e instanceof If),this.objectMode=!!t.objectMode,r&&(this.objectMode=this.objectMode||!!t.writableObjectMode),this.highWaterMark=w9e(this,t,"writableHighWaterMark",r),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var i=t.decodeStrings===!1;this.decodeStrings=!i,this.defaultEncoding=t.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(n){R9e(e,n)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=t.emitClose!==!1,this.autoDestroy=!!t.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new Vce(this)}em.prototype.getBuffer=function(){for(var e=this.bufferedRequest,r=[];e;)r.push(e),e=e.next;return r};(function(){try{Object.defineProperty(em.prototype,"buffer",{get:C9e.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch(t){}})();var oQ;typeof Symbol=="function"&&Symbol.hasInstance&&typeof Function.prototype[Symbol.hasInstance]=="function"?(oQ=Function.prototype[Symbol.hasInstance],Object.defineProperty(Sr,Symbol.hasInstance,{value:function(e){return oQ.call(this,e)?!0:this!==Sr?!1:e&&e._writableState instanceof em}})):oQ=function(e){return e instanceof this};function Sr(t){If=If||Yc();var e=this instanceof If;if(!e&&!oQ.call(Sr,this))return new Sr(t);this._writableState=new em(t,this,e),this.writable=!0,t&&(typeof t.write=="function"&&(this._write=t.write),typeof t.writev=="function"&&(this._writev=t.writev),typeof t.destroy=="function"&&(this._destroy=t.destroy),typeof t.final=="function"&&(this._final=t.final)),_ce.call(this)}Sr.prototype.pipe=function(){yf(this,new v9e)};function F9e(t,e){var r=new k9e;yf(t,r),process.nextTick(e,r)}function N9e(t,e,r,i){var n;return r===null?n=new x9e:typeof r!="string"&&!e.objectMode&&(n=new B9e("chunk",["string","Buffer"],r)),n?(yf(t,n),process.nextTick(i,n),!1):!0}Sr.prototype.write=function(t,e,r){var i=this._writableState,n=!1,s=!i.objectMode&&I9e(t);return s&&!sQ.isBuffer(t)&&(t=E9e(t)),typeof e=="function"&&(r=e,e=null),s?e="buffer":e||(e=i.defaultEncoding),typeof r!="function"&&(r=D9e),i.ending?F9e(this,r):(s||N9e(this,i,t,r))&&(i.pendingcb++,n=L9e(this,i,s,t,e,r)),n};Sr.prototype.cork=function(){this._writableState.corked++};Sr.prototype.uncork=function(){var t=this._writableState;t.corked&&(t.corked--,!t.writing&&!t.corked&&!t.bufferProcessing&&t.bufferedRequest&&Xce(this,t))};Sr.prototype.setDefaultEncoding=function(e){if(typeof e=="string"&&(e=e.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((e+"").toLowerCase())>-1))throw new P9e(e);return this._writableState.defaultEncoding=e,this};Object.defineProperty(Sr.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}});function T9e(t,e,r){return!t.objectMode&&t.decodeStrings!==!1&&typeof e=="string"&&(e=sQ.from(e,r)),e}Object.defineProperty(Sr.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}});function L9e(t,e,r,i,n,s){if(!r){var o=T9e(e,i,n);i!==o&&(r=!0,n="buffer",i=o)}var a=e.objectMode?1:i.length;e.length+=a;var l=e.length{"use strict";var j9e=Object.keys||function(t){var e=[];for(var r in t)e.push(r);return e};eue.exports=Mo;var tue=HT(),GT=UT();_A()(Mo,tue);for(jT=j9e(GT.prototype),aQ=0;aQ{var lQ=require("buffer"),qa=lQ.Buffer;function iue(t,e){for(var r in t)e[r]=t[r]}qa.from&&qa.alloc&&qa.allocUnsafe&&qa.allocUnsafeSlow?rue.exports=lQ:(iue(lQ,YT),YT.Buffer=wf);function wf(t,e,r){return qa(t,e,r)}iue(qa,wf);wf.from=function(t,e,r){if(typeof t=="number")throw new TypeError("Argument must not be a number");return qa(t,e,r)};wf.alloc=function(t,e,r){if(typeof t!="number")throw new TypeError("Argument must be a number");var i=qa(t);return e!==void 0?typeof r=="string"?i.fill(e,r):i.fill(e):i.fill(0),i};wf.allocUnsafe=function(t){if(typeof t!="number")throw new TypeError("Argument must be a number");return qa(t)};wf.allocUnsafeSlow=function(t){if(typeof t!="number")throw new TypeError("Argument must be a number");return lQ.SlowBuffer(t)}});var WT=E(sue=>{"use strict";var qT=nue().Buffer,oue=qT.isEncoding||function(t){switch(t=""+t,t&&t.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function J9e(t){if(!t)return"utf8";for(var e;;)switch(t){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return t;default:if(e)return;t=(""+t).toLowerCase(),e=!0}}function W9e(t){var e=J9e(t);if(typeof e!="string"&&(qT.isEncoding===oue||!oue(t)))throw new Error("Unknown encoding: "+t);return e||t}sue.StringDecoder=rm;function rm(t){this.encoding=W9e(t);var e;switch(this.encoding){case"utf16le":this.text=V9e,this.end=_9e,e=4;break;case"utf8":this.fillLast=z9e,e=4;break;case"base64":this.text=X9e,this.end=Z9e,e=3;break;default:this.write=$9e,this.end=eVe;return}this.lastNeed=0,this.lastTotal=0,this.lastChar=qT.allocUnsafe(e)}rm.prototype.write=function(t){if(t.length===0)return"";var e,r;if(this.lastNeed){if(e=this.fillLast(t),e===void 0)return"";r=this.lastNeed,this.lastNeed=0}else r=0;return r>5==6?2:t>>4==14?3:t>>3==30?4:t>>6==2?-1:-2}function iVe(t,e,r){var i=e.length-1;if(i=0?(n>0&&(t.lastNeed=n-1),n):--i=0?(n>0&&(t.lastNeed=n-2),n):--i=0?(n>0&&(n===2?n=0:t.lastNeed=n-3),n):0))}function nVe(t,e,r){if((e[0]&192)!=128)return t.lastNeed=0,"\uFFFD";if(t.lastNeed>1&&e.length>1){if((e[1]&192)!=128)return t.lastNeed=1,"\uFFFD";if(t.lastNeed>2&&e.length>2&&(e[2]&192)!=128)return t.lastNeed=2,"\uFFFD"}}function z9e(t){var e=this.lastTotal-this.lastNeed,r=nVe(this,t,e);if(r!==void 0)return r;if(this.lastNeed<=t.length)return t.copy(this.lastChar,e,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);t.copy(this.lastChar,e,0,t.length),this.lastNeed-=t.length}function rVe(t,e){var r=iVe(this,t,e);if(!this.lastNeed)return t.toString("utf8",e);this.lastTotal=r;var i=t.length-(r-this.lastNeed);return t.copy(this.lastChar,0,i),t.toString("utf8",e,i)}function tVe(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+"\uFFFD":e}function V9e(t,e){if((t.length-e)%2==0){var r=t.toString("utf16le",e);if(r){var i=r.charCodeAt(r.length-1);if(i>=55296&&i<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1],r.slice(0,-1)}return r}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=t[t.length-1],t.toString("utf16le",e,t.length-1)}function _9e(t){var e=t&&t.length?this.write(t):"";if(this.lastNeed){var r=this.lastTotal-this.lastNeed;return e+this.lastChar.toString("utf16le",0,r)}return e}function X9e(t,e){var r=(t.length-e)%3;return r===0?t.toString("base64",e):(this.lastNeed=3-r,this.lastTotal=3,r===1?this.lastChar[0]=t[t.length-1]:(this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1]),t.toString("base64",e,t.length-r))}function Z9e(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+this.lastChar.toString("base64",0,3-this.lastNeed):e}function $9e(t){return t.toString(this.encoding)}function eVe(t){return t&&t.length?this.write(t):""}});var cQ=E((QPt,aue)=>{"use strict";var Aue=VA().codes.ERR_STREAM_PREMATURE_CLOSE;function sVe(t){var e=!1;return function(){if(!e){e=!0;for(var r=arguments.length,i=new Array(r),n=0;n{"use strict";var uQ;function ZA(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var AVe=cQ(),$A=Symbol("lastResolve"),qc=Symbol("lastReject"),im=Symbol("error"),gQ=Symbol("ended"),Jc=Symbol("lastPromise"),zT=Symbol("handlePromise"),Wc=Symbol("stream");function el(t,e){return{value:t,done:e}}function lVe(t){var e=t[$A];if(e!==null){var r=t[Wc].read();r!==null&&(t[Jc]=null,t[$A]=null,t[qc]=null,e(el(r,!1)))}}function cVe(t){process.nextTick(lVe,t)}function uVe(t,e){return function(r,i){t.then(function(){if(e[gQ]){r(el(void 0,!0));return}e[zT](r,i)},i)}}var gVe=Object.getPrototypeOf(function(){}),fVe=Object.setPrototypeOf((uQ={get stream(){return this[Wc]},next:function(){var e=this,r=this[im];if(r!==null)return Promise.reject(r);if(this[gQ])return Promise.resolve(el(void 0,!0));if(this[Wc].destroyed)return new Promise(function(o,a){process.nextTick(function(){e[im]?a(e[im]):o(el(void 0,!0))})});var i=this[Jc],n;if(i)n=new Promise(uVe(i,this));else{var s=this[Wc].read();if(s!==null)return Promise.resolve(el(s,!1));n=new Promise(this[zT])}return this[Jc]=n,n}},ZA(uQ,Symbol.asyncIterator,function(){return this}),ZA(uQ,"return",function(){var e=this;return new Promise(function(r,i){e[Wc].destroy(null,function(n){if(n){i(n);return}r(el(void 0,!0))})})}),uQ),gVe),hVe=function(e){var r,i=Object.create(fVe,(r={},ZA(r,Wc,{value:e,writable:!0}),ZA(r,$A,{value:null,writable:!0}),ZA(r,qc,{value:null,writable:!0}),ZA(r,im,{value:null,writable:!0}),ZA(r,gQ,{value:e._readableState.endEmitted,writable:!0}),ZA(r,zT,{value:function(s,o){var a=i[Wc].read();a?(i[Jc]=null,i[$A]=null,i[qc]=null,s(el(a,!1))):(i[$A]=s,i[qc]=o)},writable:!0}),r));return i[Jc]=null,AVe(e,function(n){if(n&&n.code!=="ERR_STREAM_PREMATURE_CLOSE"){var s=i[qc];s!==null&&(i[Jc]=null,i[$A]=null,i[qc]=null,s(n)),i[im]=n;return}var o=i[$A];o!==null&&(i[Jc]=null,i[$A]=null,i[qc]=null,o(el(void 0,!0))),i[gQ]=!0}),e.on("readable",cVe.bind(null,i)),i};cue.exports=hVe});var pue=E((vPt,gue)=>{"use strict";function fue(t,e,r,i,n,s,o){try{var a=t[s](o),l=a.value}catch(c){r(c);return}a.done?e(l):Promise.resolve(l).then(i,n)}function pVe(t){return function(){var e=this,r=arguments;return new Promise(function(i,n){var s=t.apply(e,r);function o(l){fue(s,i,n,o,a,"next",l)}function a(l){fue(s,i,n,o,a,"throw",l)}o(void 0)})}}function hue(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter(function(n){return Object.getOwnPropertyDescriptor(t,n).enumerable})),r.push.apply(r,i)}return r}function CVe(t){for(var e=1;e{"use strict";due.exports=kt;var Bf;kt.ReadableState=Cue;var SPt=require("events").EventEmitter,mue=function(e,r){return e.listeners(r).length},nm=PT(),fQ=require("buffer").Buffer,IVe=global.Uint8Array||function(){};function yVe(t){return fQ.from(t)}function wVe(t){return fQ.isBuffer(t)||t instanceof IVe}var VT=require("util"),Et;VT&&VT.debuglog?Et=VT.debuglog("stream"):Et=function(){};var BVe=Oce(),_T=FT(),QVe=NT(),bVe=QVe.getHighWaterMark,hQ=VA().codes,vVe=hQ.ERR_INVALID_ARG_TYPE,SVe=hQ.ERR_STREAM_PUSH_AFTER_EOF,xVe=hQ.ERR_METHOD_NOT_IMPLEMENTED,kVe=hQ.ERR_STREAM_UNSHIFT_AFTER_END_EVENT,Qf,XT,ZT;_A()(kt,nm);var sm=_T.errorOrDestroy,$T=["error","close","destroy","pause","resume"];function PVe(t,e,r){if(typeof t.prependListener=="function")return t.prependListener(e,r);!t._events||!t._events[e]?t.on(e,r):Array.isArray(t._events[e])?t._events[e].unshift(r):t._events[e]=[r,t._events[e]]}function Cue(t,e,r){Bf=Bf||Yc(),t=t||{},typeof r!="boolean"&&(r=e instanceof Bf),this.objectMode=!!t.objectMode,r&&(this.objectMode=this.objectMode||!!t.readableObjectMode),this.highWaterMark=bVe(this,t,"readableHighWaterMark",r),this.buffer=new BVe,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.paused=!0,this.emitClose=t.emitClose!==!1,this.autoDestroy=!!t.autoDestroy,this.destroyed=!1,this.defaultEncoding=t.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,t.encoding&&(Qf||(Qf=WT().StringDecoder),this.decoder=new Qf(t.encoding),this.encoding=t.encoding)}function kt(t){if(Bf=Bf||Yc(),!(this instanceof kt))return new kt(t);var e=this instanceof Bf;this._readableState=new Cue(t,this,e),this.readable=!0,t&&(typeof t.read=="function"&&(this._read=t.read),typeof t.destroy=="function"&&(this._destroy=t.destroy)),nm.call(this)}Object.defineProperty(kt.prototype,"destroyed",{enumerable:!1,get:function(){return this._readableState===void 0?!1:this._readableState.destroyed},set:function(e){!this._readableState||(this._readableState.destroyed=e)}});kt.prototype.destroy=_T.destroy;kt.prototype._undestroy=_T.undestroy;kt.prototype._destroy=function(t,e){e(t)};kt.prototype.push=function(t,e){var r=this._readableState,i;return r.objectMode?i=!0:typeof t=="string"&&(e=e||r.defaultEncoding,e!==r.encoding&&(t=fQ.from(t,e),e=""),i=!0),Eue(this,t,e,!1,i)};kt.prototype.unshift=function(t){return Eue(this,t,null,!0,!1)};function Eue(t,e,r,i,n){Et("readableAddChunk",e);var s=t._readableState;if(e===null)s.reading=!1,RVe(t,s);else{var o;if(n||(o=DVe(s,e)),o)sm(t,o);else if(s.objectMode||e&&e.length>0)if(typeof e!="string"&&!s.objectMode&&Object.getPrototypeOf(e)!==fQ.prototype&&(e=yVe(e)),i)s.endEmitted?sm(t,new kVe):eM(t,s,e,!0);else if(s.ended)sm(t,new SVe);else{if(s.destroyed)return!1;s.reading=!1,s.decoder&&!r?(e=s.decoder.write(e),s.objectMode||e.length!==0?eM(t,s,e,!1):tM(t,s)):eM(t,s,e,!1)}else i||(s.reading=!1,tM(t,s))}return!s.ended&&(s.length=Iue?t=Iue:(t--,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,t|=t>>>16,t++),t}function yue(t,e){return t<=0||e.length===0&&e.ended?0:e.objectMode?1:t!==t?e.flowing&&e.length?e.buffer.head.data.length:e.length:(t>e.highWaterMark&&(e.highWaterMark=FVe(t)),t<=e.length?t:e.ended?e.length:(e.needReadable=!0,0))}kt.prototype.read=function(t){Et("read",t),t=parseInt(t,10);var e=this._readableState,r=t;if(t!==0&&(e.emittedReadable=!1),t===0&&e.needReadable&&((e.highWaterMark!==0?e.length>=e.highWaterMark:e.length>0)||e.ended))return Et("read: emitReadable",e.length,e.ended),e.length===0&&e.ended?rM(this):pQ(this),null;if(t=yue(t,e),t===0&&e.ended)return e.length===0&&rM(this),null;var i=e.needReadable;Et("need readable",i),(e.length===0||e.length-t0?n=wue(t,e):n=null,n===null?(e.needReadable=e.length<=e.highWaterMark,t=0):(e.length-=t,e.awaitDrain=0),e.length===0&&(e.ended||(e.needReadable=!0),r!==t&&e.ended&&rM(this)),n!==null&&this.emit("data",n),n};function RVe(t,e){if(Et("onEofChunk"),!e.ended){if(e.decoder){var r=e.decoder.end();r&&r.length&&(e.buffer.push(r),e.length+=e.objectMode?1:r.length)}e.ended=!0,e.sync?pQ(t):(e.needReadable=!1,e.emittedReadable||(e.emittedReadable=!0,Bue(t)))}}function pQ(t){var e=t._readableState;Et("emitReadable",e.needReadable,e.emittedReadable),e.needReadable=!1,e.emittedReadable||(Et("emitReadable",e.flowing),e.emittedReadable=!0,process.nextTick(Bue,t))}function Bue(t){var e=t._readableState;Et("emitReadable_",e.destroyed,e.length,e.ended),!e.destroyed&&(e.length||e.ended)&&(t.emit("readable"),e.emittedReadable=!1),e.needReadable=!e.flowing&&!e.ended&&e.length<=e.highWaterMark,iM(t)}function tM(t,e){e.readingMore||(e.readingMore=!0,process.nextTick(NVe,t,e))}function NVe(t,e){for(;!e.reading&&!e.ended&&(e.length1&&Que(i.pipes,t)!==-1)&&!c&&(Et("false write response, pause",i.awaitDrain),i.awaitDrain++),r.pause())}function f(m){Et("onerror",m),d(),t.removeListener("error",f),mue(t,"error")===0&&sm(t,m)}PVe(t,"error",f);function h(){t.removeListener("finish",p),d()}t.once("close",h);function p(){Et("onfinish"),t.removeListener("close",h),d()}t.once("finish",p);function d(){Et("unpipe"),r.unpipe(t)}return t.emit("pipe",r),i.flowing||(Et("pipe resume"),r.resume()),t};function LVe(t){return function(){var r=t._readableState;Et("pipeOnDrain",r.awaitDrain),r.awaitDrain&&r.awaitDrain--,r.awaitDrain===0&&mue(t,"data")&&(r.flowing=!0,iM(t))}}kt.prototype.unpipe=function(t){var e=this._readableState,r={hasUnpiped:!1};if(e.pipesCount===0)return this;if(e.pipesCount===1)return t&&t!==e.pipes?this:(t||(t=e.pipes),e.pipes=null,e.pipesCount=0,e.flowing=!1,t&&t.emit("unpipe",this,r),this);if(!t){var i=e.pipes,n=e.pipesCount;e.pipes=null,e.pipesCount=0,e.flowing=!1;for(var s=0;s0,i.flowing!==!1&&this.resume()):t==="readable"&&!i.endEmitted&&!i.readableListening&&(i.readableListening=i.needReadable=!0,i.flowing=!1,i.emittedReadable=!1,Et("on readable",i.length,i.reading),i.length?pQ(this):i.reading||process.nextTick(TVe,this)),r};kt.prototype.addListener=kt.prototype.on;kt.prototype.removeListener=function(t,e){var r=nm.prototype.removeListener.call(this,t,e);return t==="readable"&&process.nextTick(bue,this),r};kt.prototype.removeAllListeners=function(t){var e=nm.prototype.removeAllListeners.apply(this,arguments);return(t==="readable"||t===void 0)&&process.nextTick(bue,this),e};function bue(t){var e=t._readableState;e.readableListening=t.listenerCount("readable")>0,e.resumeScheduled&&!e.paused?e.flowing=!0:t.listenerCount("data")>0&&t.resume()}function TVe(t){Et("readable nexttick read 0"),t.read(0)}kt.prototype.resume=function(){var t=this._readableState;return t.flowing||(Et("resume"),t.flowing=!t.readableListening,MVe(this,t)),t.paused=!1,this};function MVe(t,e){e.resumeScheduled||(e.resumeScheduled=!0,process.nextTick(OVe,t,e))}function OVe(t,e){Et("resume",e.reading),e.reading||t.read(0),e.resumeScheduled=!1,t.emit("resume"),iM(t),e.flowing&&!e.reading&&t.read(0)}kt.prototype.pause=function(){return Et("call pause flowing=%j",this._readableState.flowing),this._readableState.flowing!==!1&&(Et("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this};function iM(t){var e=t._readableState;for(Et("flow",e.flowing);e.flowing&&t.read()!==null;);}kt.prototype.wrap=function(t){var e=this,r=this._readableState,i=!1;t.on("end",function(){if(Et("wrapped end"),r.decoder&&!r.ended){var o=r.decoder.end();o&&o.length&&e.push(o)}e.push(null)}),t.on("data",function(o){if(Et("wrapped data"),r.decoder&&(o=r.decoder.write(o)),!(r.objectMode&&o==null)&&!(!r.objectMode&&(!o||!o.length))){var a=e.push(o);a||(i=!0,t.pause())}});for(var n in t)this[n]===void 0&&typeof t[n]=="function"&&(this[n]=function(a){return function(){return t[a].apply(t,arguments)}}(n));for(var s=0;s<$T.length;s++)t.on($T[s],this.emit.bind(this,$T[s]));return this._read=function(o){Et("wrapped _read",o),i&&(i=!1,t.resume())},this};typeof Symbol=="function"&&(kt.prototype[Symbol.asyncIterator]=function(){return XT===void 0&&(XT=uue()),XT(this)});Object.defineProperty(kt.prototype,"readableHighWaterMark",{enumerable:!1,get:function(){return this._readableState.highWaterMark}});Object.defineProperty(kt.prototype,"readableBuffer",{enumerable:!1,get:function(){return this._readableState&&this._readableState.buffer}});Object.defineProperty(kt.prototype,"readableFlowing",{enumerable:!1,get:function(){return this._readableState.flowing},set:function(e){this._readableState&&(this._readableState.flowing=e)}});kt._fromList=wue;Object.defineProperty(kt.prototype,"readableLength",{enumerable:!1,get:function(){return this._readableState.length}});function wue(t,e){if(e.length===0)return null;var r;return e.objectMode?r=e.buffer.shift():!t||t>=e.length?(e.decoder?r=e.buffer.join(""):e.buffer.length===1?r=e.buffer.first():r=e.buffer.concat(e.length),e.buffer.clear()):r=e.buffer.consume(t,e.decoder),r}function rM(t){var e=t._readableState;Et("endReadable",e.endEmitted),e.endEmitted||(e.ended=!0,process.nextTick(KVe,e,t))}function KVe(t,e){if(Et("endReadableNT",t.endEmitted,t.length),!t.endEmitted&&t.length===0&&(t.endEmitted=!0,e.readable=!1,e.emit("end"),t.autoDestroy)){var r=e._writableState;(!r||r.autoDestroy&&r.finished)&&e.destroy()}}typeof Symbol=="function"&&(kt.from=function(t,e){return ZT===void 0&&(ZT=pue()),ZT(kt,t,e)});function Que(t,e){for(var r=0,i=t.length;r{"use strict";vue.exports=Ja;var dQ=VA().codes,UVe=dQ.ERR_METHOD_NOT_IMPLEMENTED,HVe=dQ.ERR_MULTIPLE_CALLBACK,GVe=dQ.ERR_TRANSFORM_ALREADY_TRANSFORMING,jVe=dQ.ERR_TRANSFORM_WITH_LENGTH_0,CQ=Yc();_A()(Ja,CQ);function YVe(t,e){var r=this._transformState;r.transforming=!1;var i=r.writecb;if(i===null)return this.emit("error",new HVe);r.writechunk=null,r.writecb=null,e!=null&&this.push(e),i(t);var n=this._readableState;n.reading=!1,(n.needReadable||n.length{"use strict";xue.exports=om;var kue=nM();_A()(om,kue);function om(t){if(!(this instanceof om))return new om(t);kue.call(this,t)}om.prototype._transform=function(t,e,r){r(null,t)}});var Lue=E((DPt,Due)=>{"use strict";var sM;function JVe(t){var e=!1;return function(){e||(e=!0,t.apply(void 0,arguments))}}var Rue=VA().codes,WVe=Rue.ERR_MISSING_ARGS,zVe=Rue.ERR_STREAM_DESTROYED;function Fue(t){if(t)throw t}function VVe(t){return t.setHeader&&typeof t.abort=="function"}function _Ve(t,e,r,i){i=JVe(i);var n=!1;t.on("close",function(){n=!0}),sM===void 0&&(sM=cQ()),sM(t,{readable:e,writable:r},function(o){if(o)return i(o);n=!0,i()});var s=!1;return function(o){if(!n&&!s){if(s=!0,VVe(t))return t.abort();if(typeof t.destroy=="function")return t.destroy();i(o||new zVe("pipe"))}}}function Nue(t){t()}function XVe(t,e){return t.pipe(e)}function ZVe(t){return!t.length||typeof t[t.length-1]!="function"?Fue:t.pop()}function $Ve(){for(var t=arguments.length,e=new Array(t),r=0;r0;return _Ve(o,l,c,function(u){n||(n=u),u&&s.forEach(Nue),!l&&(s.forEach(Nue),i(n))})});return e.reduce(XVe)}Due.exports=$Ve});var bf=E((ys,am)=>{var Am=require("stream");process.env.READABLE_STREAM==="disable"&&Am?(am.exports=Am.Readable,Object.assign(am.exports,Am),am.exports.Stream=Am):(ys=am.exports=HT(),ys.Stream=Am||ys,ys.Readable=ys,ys.Writable=UT(),ys.Duplex=Yc(),ys.Transform=nM(),ys.PassThrough=Pue(),ys.finished=cQ(),ys.pipeline=Lue())});var Oue=E((RPt,Tue)=>{"use strict";var{Buffer:_s}=require("buffer"),Mue=Symbol.for("BufferList");function nr(t){if(!(this instanceof nr))return new nr(t);nr._init.call(this,t)}nr._init=function(e){Object.defineProperty(this,Mue,{value:!0}),this._bufs=[],this.length=0,e&&this.append(e)};nr.prototype._new=function(e){return new nr(e)};nr.prototype._offset=function(e){if(e===0)return[0,0];let r=0;for(let i=0;ithis.length||e<0)return;let r=this._offset(e);return this._bufs[r[0]][r[1]]};nr.prototype.slice=function(e,r){return typeof e=="number"&&e<0&&(e+=this.length),typeof r=="number"&&r<0&&(r+=this.length),this.copy(null,0,e,r)};nr.prototype.copy=function(e,r,i,n){if((typeof i!="number"||i<0)&&(i=0),(typeof n!="number"||n>this.length)&&(n=this.length),i>=this.length||n<=0)return e||_s.alloc(0);let s=!!e,o=this._offset(i),a=n-i,l=a,c=s&&r||0,u=o[1];if(i===0&&n===this.length){if(!s)return this._bufs.length===1?this._bufs[0]:_s.concat(this._bufs,this.length);for(let g=0;gf)this._bufs[g].copy(e,c,u),c+=f;else{this._bufs[g].copy(e,c,u,u+l),c+=f;break}l-=f,u&&(u=0)}return e.length>c?e.slice(0,c):e};nr.prototype.shallowSlice=function(e,r){if(e=e||0,r=typeof r!="number"?this.length:r,e<0&&(e+=this.length),r<0&&(r+=this.length),e===r)return this._new();let i=this._offset(e),n=this._offset(r),s=this._bufs.slice(i[0],n[0]+1);return n[1]===0?s.pop():s[s.length-1]=s[s.length-1].slice(0,n[1]),i[1]!==0&&(s[0]=s[0].slice(i[1])),this._new(s)};nr.prototype.toString=function(e,r,i){return this.slice(r,i).toString(e)};nr.prototype.consume=function(e){if(e=Math.trunc(e),Number.isNaN(e)||e<=0)return this;for(;this._bufs.length;)if(e>=this._bufs[0].length)e-=this._bufs[0].length,this.length-=this._bufs[0].length,this._bufs.shift();else{this._bufs[0]=this._bufs[0].slice(e),this.length-=e;break}return this};nr.prototype.duplicate=function(){let e=this._new();for(let r=0;rthis.length?this.length:e;let i=this._offset(e),n=i[0],s=i[1];for(;n=t.length){let l=o.indexOf(t,s);if(l!==-1)return this._reverseOffset([n,l]);s=o.length-t.length+1}else{let l=this._reverseOffset([n,s]);if(this._match(l,t))return l;s++}s=0}return-1};nr.prototype._match=function(t,e){if(this.length-t{"use strict";var oM=bf().Duplex,e7e=_A(),lm=Oue();function Oi(t){if(!(this instanceof Oi))return new Oi(t);if(typeof t=="function"){this._callback=t;let e=function(i){this._callback&&(this._callback(i),this._callback=null)}.bind(this);this.on("pipe",function(i){i.on("error",e)}),this.on("unpipe",function(i){i.removeListener("error",e)}),t=null}lm._init.call(this,t),oM.call(this)}e7e(Oi,oM);Object.assign(Oi.prototype,lm.prototype);Oi.prototype._new=function(e){return new Oi(e)};Oi.prototype._write=function(e,r,i){this._appendBuffer(e),typeof i=="function"&&i()};Oi.prototype._read=function(e){if(!this.length)return this.push(null);e=Math.min(e,this.length),this.push(this.slice(0,e)),this.consume(e)};Oi.prototype.end=function(e){oM.prototype.end.call(this,e),this._callback&&(this._callback(null,this.slice()),this._callback=null)};Oi.prototype._destroy=function(e,r){this._bufs.length=0,this.length=0,r(e)};Oi.prototype._isBufferList=function(e){return e instanceof Oi||e instanceof lm||Oi.isBufferList(e)};Oi.isBufferList=lm.isBufferList;mQ.exports=Oi;mQ.exports.BufferListStream=Oi;mQ.exports.BufferList=lm});var lM=E(vf=>{var t7e=Buffer.alloc,r7e="0000000000000000000",i7e="7777777777777777777",Uue="0".charCodeAt(0),Hue=Buffer.from("ustar\0","binary"),n7e=Buffer.from("00","binary"),s7e=Buffer.from("ustar ","binary"),o7e=Buffer.from(" \0","binary"),a7e=parseInt("7777",8),cm=257,aM=263,A7e=function(t,e,r){return typeof t!="number"?r:(t=~~t,t>=e?e:t>=0||(t+=e,t>=0)?t:0)},l7e=function(t){switch(t){case 0:return"file";case 1:return"link";case 2:return"symlink";case 3:return"character-device";case 4:return"block-device";case 5:return"directory";case 6:return"fifo";case 7:return"contiguous-file";case 72:return"pax-header";case 55:return"pax-global-header";case 27:return"gnu-long-link-path";case 28:case 30:return"gnu-long-path"}return null},c7e=function(t){switch(t){case"file":return 0;case"link":return 1;case"symlink":return 2;case"character-device":return 3;case"block-device":return 4;case"directory":return 5;case"fifo":return 6;case"contiguous-file":return 7;case"pax-header":return 72}return 0},Gue=function(t,e,r,i){for(;re?i7e.slice(0,e)+" ":r7e.slice(0,e-t.length)+t+" "};function u7e(t){var e;if(t[0]===128)e=!0;else if(t[0]===255)e=!1;else return null;for(var r=[],i=t.length-1;i>0;i--){var n=t[i];e?r.push(n):r.push(255-n)}var s=0,o=r.length;for(i=0;i=Math.pow(10,r)&&r++,e+r+t};vf.decodeLongPath=function(t,e){return Sf(t,0,t.length,e)};vf.encodePax=function(t){var e="";t.name&&(e+=AM(" path="+t.name+` +`)),t.linkname&&(e+=AM(" linkpath="+t.linkname+` +`));var r=t.pax;if(r)for(var i in r)e+=AM(" "+i+"="+r[i]+` +`);return Buffer.from(e)};vf.decodePax=function(t){for(var e={};t.length;){for(var r=0;r100;){var n=r.indexOf("/");if(n===-1)return null;i+=i?"/"+r.slice(0,n):r.slice(0,n),r=r.slice(n+1)}return Buffer.byteLength(r)>100||Buffer.byteLength(i)>155||t.linkname&&Buffer.byteLength(t.linkname)>100?null:(e.write(r),e.write(tl(t.mode&a7e,6),100),e.write(tl(t.uid,6),108),e.write(tl(t.gid,6),116),e.write(tl(t.size,11),124),e.write(tl(t.mtime.getTime()/1e3|0,11),136),e[156]=Uue+c7e(t.type),t.linkname&&e.write(t.linkname,157),Hue.copy(e,cm),n7e.copy(e,aM),t.uname&&e.write(t.uname,265),t.gname&&e.write(t.gname,297),e.write(tl(t.devmajor||0,6),329),e.write(tl(t.devminor||0,6),337),i&&e.write(i,345),e.write(tl(jue(e),6),148),e)};vf.decode=function(t,e,r){var i=t[156]===0?0:t[156]-Uue,n=Sf(t,0,100,e),s=rl(t,100,8),o=rl(t,108,8),a=rl(t,116,8),l=rl(t,124,12),c=rl(t,136,12),u=l7e(i),g=t[157]===0?null:Sf(t,157,100,e),f=Sf(t,265,32),h=Sf(t,297,32),p=rl(t,329,8),d=rl(t,337,8),m=jue(t);if(m===8*32)return null;if(m!==rl(t,148,8))throw new Error("Invalid tar header. Maybe the tar is corrupted or it needs to be gunzipped?");if(Hue.compare(t,cm,cm+6)===0)t[345]&&(n=Sf(t,345,155,e)+"/"+n);else if(!(s7e.compare(t,cm,cm+6)===0&&o7e.compare(t,aM,aM+2)===0)){if(!r)throw new Error("Invalid tar header: unknown format.")}return i===0&&n&&n[n.length-1]==="/"&&(i=5),{name:n,mode:s,uid:o,gid:a,size:l,mtime:new Date(1e3*c),type:u,linkname:g,uname:f,gname:h,devmajor:p,devminor:d}}});var _ue=E((LPt,Yue)=>{var que=require("util"),g7e=Kue(),um=lM(),Jue=bf().Writable,Wue=bf().PassThrough,zue=function(){},Vue=function(t){return t&=511,t&&512-t},f7e=function(t,e){var r=new EQ(t,e);return r.end(),r},h7e=function(t,e){return e.path&&(t.name=e.path),e.linkpath&&(t.linkname=e.linkpath),e.size&&(t.size=parseInt(e.size,10)),t.pax=e,t},EQ=function(t,e){this._parent=t,this.offset=e,Wue.call(this,{autoDestroy:!1})};que.inherits(EQ,Wue);EQ.prototype.destroy=function(t){this._parent.destroy(t)};var Wa=function(t){if(!(this instanceof Wa))return new Wa(t);Jue.call(this,t),t=t||{},this._offset=0,this._buffer=g7e(),this._missing=0,this._partial=!1,this._onparse=zue,this._header=null,this._stream=null,this._overflow=null,this._cb=null,this._locked=!1,this._destroyed=!1,this._pax=null,this._paxGlobal=null,this._gnuLongPath=null,this._gnuLongLinkPath=null;var e=this,r=e._buffer,i=function(){e._continue()},n=function(f){if(e._locked=!1,f)return e.destroy(f);e._stream||i()},s=function(){e._stream=null;var f=Vue(e._header.size);f?e._parse(f,o):e._parse(512,g),e._locked||i()},o=function(){e._buffer.consume(Vue(e._header.size)),e._parse(512,g),i()},a=function(){var f=e._header.size;e._paxGlobal=um.decodePax(r.slice(0,f)),r.consume(f),s()},l=function(){var f=e._header.size;e._pax=um.decodePax(r.slice(0,f)),e._paxGlobal&&(e._pax=Object.assign({},e._paxGlobal,e._pax)),r.consume(f),s()},c=function(){var f=e._header.size;this._gnuLongPath=um.decodeLongPath(r.slice(0,f),t.filenameEncoding),r.consume(f),s()},u=function(){var f=e._header.size;this._gnuLongLinkPath=um.decodeLongPath(r.slice(0,f),t.filenameEncoding),r.consume(f),s()},g=function(){var f=e._offset,h;try{h=e._header=um.decode(r.slice(0,512),t.filenameEncoding,t.allowUnknownFormat)}catch(p){e.emit("error",p)}if(r.consume(512),!h){e._parse(512,g),i();return}if(h.type==="gnu-long-path"){e._parse(h.size,c),i();return}if(h.type==="gnu-long-link-path"){e._parse(h.size,u),i();return}if(h.type==="pax-global-header"){e._parse(h.size,a),i();return}if(h.type==="pax-header"){e._parse(h.size,l),i();return}if(e._gnuLongPath&&(h.name=e._gnuLongPath,e._gnuLongPath=null),e._gnuLongLinkPath&&(h.linkname=e._gnuLongLinkPath,e._gnuLongLinkPath=null),e._pax&&(e._header=h=h7e(h,e._pax),e._pax=null),e._locked=!0,!h.size||h.type==="directory"){e._parse(512,g),e.emit("entry",h,f7e(e,f),n);return}e._stream=new EQ(e,f),e.emit("entry",h,e._stream,n),e._parse(h.size,s),i()};this._onheader=g,this._parse(512,g)};que.inherits(Wa,Jue);Wa.prototype.destroy=function(t){this._destroyed||(this._destroyed=!0,t&&this.emit("error",t),this.emit("close"),this._stream&&this._stream.emit("close"))};Wa.prototype._parse=function(t,e){this._destroyed||(this._offset+=t,this._missing=t,e===this._onheader&&(this._partial=!1),this._onparse=e)};Wa.prototype._continue=function(){if(!this._destroyed){var t=this._cb;this._cb=zue,this._overflow?this._write(this._overflow,void 0,t):t()}};Wa.prototype._write=function(t,e,r){if(!this._destroyed){var i=this._stream,n=this._buffer,s=this._missing;if(t.length&&(this._partial=!0),t.lengths&&(o=t.slice(s),t=t.slice(0,s)),i?i.end(t):n.append(t),this._overflow=o,this._onparse()}};Wa.prototype._final=function(t){if(this._partial)return this.destroy(new Error("Unexpected end of data"));t()};Yue.exports=Wa});var Zue=E((TPt,Xue)=>{Xue.exports=require("fs").constants||require("constants")});var ige=E((MPt,$ue)=>{var xf=Zue(),ege=tk(),IQ=_A(),p7e=Buffer.alloc,tge=bf().Readable,kf=bf().Writable,d7e=require("string_decoder").StringDecoder,yQ=lM(),C7e=parseInt("755",8),m7e=parseInt("644",8),rge=p7e(1024),cM=function(){},uM=function(t,e){e&=511,e&&t.push(rge.slice(0,512-e))};function E7e(t){switch(t&xf.S_IFMT){case xf.S_IFBLK:return"block-device";case xf.S_IFCHR:return"character-device";case xf.S_IFDIR:return"directory";case xf.S_IFIFO:return"fifo";case xf.S_IFLNK:return"symlink"}return"file"}var wQ=function(t){kf.call(this),this.written=0,this._to=t,this._destroyed=!1};IQ(wQ,kf);wQ.prototype._write=function(t,e,r){if(this.written+=t.length,this._to.push(t))return r();this._to._drain=r};wQ.prototype.destroy=function(){this._destroyed||(this._destroyed=!0,this.emit("close"))};var BQ=function(){kf.call(this),this.linkname="",this._decoder=new d7e("utf-8"),this._destroyed=!1};IQ(BQ,kf);BQ.prototype._write=function(t,e,r){this.linkname+=this._decoder.write(t),r()};BQ.prototype.destroy=function(){this._destroyed||(this._destroyed=!0,this.emit("close"))};var gm=function(){kf.call(this),this._destroyed=!1};IQ(gm,kf);gm.prototype._write=function(t,e,r){r(new Error("No body allowed for this entry"))};gm.prototype.destroy=function(){this._destroyed||(this._destroyed=!0,this.emit("close"))};var Oo=function(t){if(!(this instanceof Oo))return new Oo(t);tge.call(this,t),this._drain=cM,this._finalized=!1,this._finalizing=!1,this._destroyed=!1,this._stream=null};IQ(Oo,tge);Oo.prototype.entry=function(t,e,r){if(this._stream)throw new Error("already piping an entry");if(!(this._finalized||this._destroyed)){typeof e=="function"&&(r=e,e=null),r||(r=cM);var i=this;if((!t.size||t.type==="symlink")&&(t.size=0),t.type||(t.type=E7e(t.mode)),t.mode||(t.mode=t.type==="directory"?C7e:m7e),t.uid||(t.uid=0),t.gid||(t.gid=0),t.mtime||(t.mtime=new Date),typeof e=="string"&&(e=Buffer.from(e)),Buffer.isBuffer(e)){t.size=e.length,this._encode(t);var n=this.push(e);return uM(i,t.size),n?process.nextTick(r):this._drain=r,new gm}if(t.type==="symlink"&&!t.linkname){var s=new BQ;return ege(s,function(a){if(a)return i.destroy(),r(a);t.linkname=s.linkname,i._encode(t),r()}),s}if(this._encode(t),t.type!=="file"&&t.type!=="contiguous-file")return process.nextTick(r),new gm;var o=new wQ(this);return this._stream=o,ege(o,function(a){if(i._stream=null,a)return i.destroy(),r(a);if(o.written!==t.size)return i.destroy(),r(new Error("size mismatch"));uM(i,t.size),i._finalizing&&i.finalize(),r()}),o}};Oo.prototype.finalize=function(){if(this._stream){this._finalizing=!0;return}this._finalized||(this._finalized=!0,this.push(rge),this.push(null))};Oo.prototype.destroy=function(t){this._destroyed||(this._destroyed=!0,t&&this.emit("error",t),this.emit("close"),this._stream&&this._stream.destroy&&this._stream.destroy())};Oo.prototype._encode=function(t){if(!t.pax){var e=yQ.encode(t);if(e){this.push(e);return}}this._encodePax(t)};Oo.prototype._encodePax=function(t){var e=yQ.encodePax({name:t.name,linkname:t.linkname,pax:t.pax}),r={name:"PaxHeader",mode:t.mode,uid:t.uid,gid:t.gid,size:e.length,mtime:t.mtime,type:"pax-header",linkname:t.linkname&&"PaxHeader",uname:t.uname,gname:t.gname,devmajor:t.devmajor,devminor:t.devminor};this.push(yQ.encode(r)),this.push(e),uM(this,e.length),r.size=t.size,r.type=t.type,this.push(yQ.encode(r))};Oo.prototype._read=function(t){var e=this._drain;this._drain=cM,e()};$ue.exports=Oo});var nge=E(gM=>{gM.extract=_ue();gM.pack=ige()});var Cge=E((oDt,fge)=>{"use strict";var Pf=class{constructor(e,r,i){this.__specs=e||{},Object.keys(this.__specs).forEach(n=>{if(typeof this.__specs[n]=="string"){let s=this.__specs[n],o=this.__specs[s];if(o){let a=o.aliases||[];a.push(n,s),o.aliases=[...new Set(a)],this.__specs[n]=o}else throw new Error(`Alias refers to invalid key: ${s} -> ${n}`)}}),this.__opts=r||{},this.__providers=pge(i.filter(n=>n!=null&&typeof n=="object")),this.__isFiggyPudding=!0}get(e){return mM(this,e,!0)}get[Symbol.toStringTag](){return"FiggyPudding"}forEach(e,r=this){for(let[i,n]of this.entries())e.call(r,n,i,this)}toJSON(){let e={};return this.forEach((r,i)=>{e[i]=r}),e}*entries(e){for(let i of Object.keys(this.__specs))yield[i,this.get(i)];let r=e||this.__opts.other;if(r){let i=new Set;for(let n of this.__providers){let s=n.entries?n.entries(r):R7e(n);for(let[o,a]of s)r(o)&&!i.has(o)&&(i.add(o),yield[o,a])}}}*[Symbol.iterator](){for(let[e,r]of this.entries())yield[e,r]}*keys(){for(let[e]of this.entries())yield e}*values(){for(let[,e]of this.entries())yield e}concat(...e){return new Proxy(new Pf(this.__specs,this.__opts,pge(this.__providers).concat(e)),hge)}};try{let t=require("util");Pf.prototype[t.inspect.custom]=function(e,r){return this[Symbol.toStringTag]+" "+t.inspect(this.toJSON(),r)}}catch(t){}function F7e(t){throw Object.assign(new Error(`invalid config key requested: ${t}`),{code:"EBADKEY"})}function mM(t,e,r){let i=t.__specs[e];if(r&&!i&&(!t.__opts.other||!t.__opts.other(e)))F7e(e);else{i||(i={});let n;for(let s of t.__providers){if(n=dge(e,s),n===void 0&&i.aliases&&i.aliases.length){for(let o of i.aliases)if(o!==e&&(n=dge(o,s),n!==void 0))break}if(n!==void 0)break}return n===void 0&&i.default!==void 0?typeof i.default=="function"?i.default(t):i.default:n}}function dge(t,e){let r;return e.__isFiggyPudding?r=mM(e,t,!1):typeof e.get=="function"?r=e.get(t):r=e[t],r}var hge={has(t,e){return e in t.__specs&&mM(t,e,!1)!==void 0},ownKeys(t){return Object.keys(t.__specs)},get(t,e){return typeof e=="symbol"||e.slice(0,2)==="__"||e in Pf.prototype?t[e]:t.get(e)},set(t,e,r){if(typeof e=="symbol"||e.slice(0,2)==="__")return t[e]=r,!0;throw new Error("figgyPudding options cannot be modified. Use .concat() instead.")},deleteProperty(){throw new Error("figgyPudding options cannot be deleted. Use .concat() and shadow them instead.")}};fge.exports=N7e;function N7e(t,e){function r(...i){return new Proxy(new Pf(t,e,i),hge)}return r}function pge(t){let e=[];return t.forEach(r=>e.unshift(r)),e}function R7e(t){return Object.keys(t).map(e=>[e,t[e]])}});var Ige=E((aDt,Ko)=>{"use strict";var hm=require("crypto"),L7e=Cge(),T7e=require("stream").Transform,mge=["sha256","sha384","sha512"],M7e=/^[a-z0-9+/]+(?:=?=?)$/i,O7e=/^([^-]+)-([^?]+)([?\S*]*)$/,K7e=/^([^-]+)-([A-Za-z0-9+/=]{44,88})(\?[\x21-\x7E]*)*$/,U7e=/^[\x21-\x7E]+$/,on=L7e({algorithms:{default:["sha512"]},error:{default:!1},integrity:{},options:{default:[]},pickAlgorithm:{default:()=>H7e},Promise:{default:()=>Promise},sep:{default:" "},single:{default:!1},size:{},strict:{default:!1}}),zc=class{get isHash(){return!0}constructor(e,r){r=on(r);let i=!!r.strict;this.source=e.trim();let n=this.source.match(i?K7e:O7e);if(!n||i&&!mge.some(o=>o===n[1]))return;this.algorithm=n[1],this.digest=n[2];let s=n[3];this.options=s?s.slice(1).split("?"):[]}hexDigest(){return this.digest&&Buffer.from(this.digest,"base64").toString("hex")}toJSON(){return this.toString()}toString(e){if(e=on(e),e.strict&&!(mge.some(i=>i===this.algorithm)&&this.digest.match(M7e)&&(this.options||[]).every(i=>i.match(U7e))))return"";let r=this.options&&this.options.length?`?${this.options.join("?")}`:"";return`${this.algorithm}-${this.digest}${r}`}},Df=class{get isIntegrity(){return!0}toJSON(){return this.toString()}toString(e){e=on(e);let r=e.sep||" ";return e.strict&&(r=r.replace(/\S+/g," ")),Object.keys(this).map(i=>this[i].map(n=>zc.prototype.toString.call(n,e)).filter(n=>n.length).join(r)).filter(i=>i.length).join(r)}concat(e,r){r=on(r);let i=typeof e=="string"?e:pm(e,r);return Uo(`${this.toString(r)} ${i}`,r)}hexDigest(){return Uo(this,{single:!0}).hexDigest()}match(e,r){r=on(r);let i=Uo(e,r),n=i.pickAlgorithm(r);return this[n]&&i[n]&&this[n].find(s=>i[n].find(o=>s.digest===o.digest))||!1}pickAlgorithm(e){e=on(e);let r=e.pickAlgorithm,i=Object.keys(this);if(!i.length)throw new Error(`No algorithms available for ${JSON.stringify(this.toString())}`);return i.reduce((n,s)=>r(n,s)||n)}};Ko.exports.parse=Uo;function Uo(t,e){if(e=on(e),typeof t=="string")return EM(t,e);if(t.algorithm&&t.digest){let r=new Df;return r[t.algorithm]=[t],EM(pm(r,e),e)}else return EM(pm(t,e),e)}function EM(t,e){return e.single?new zc(t,e):t.trim().split(/\s+/).reduce((r,i)=>{let n=new zc(i,e);if(n.algorithm&&n.digest){let s=n.algorithm;r[s]||(r[s]=[]),r[s].push(n)}return r},new Df)}Ko.exports.stringify=pm;function pm(t,e){return e=on(e),t.algorithm&&t.digest?zc.prototype.toString.call(t,e):typeof t=="string"?pm(Uo(t,e),e):Df.prototype.toString.call(t,e)}Ko.exports.fromHex=G7e;function G7e(t,e,r){r=on(r);let i=r.options&&r.options.length?`?${r.options.join("?")}`:"";return Uo(`${e}-${Buffer.from(t,"hex").toString("base64")}${i}`,r)}Ko.exports.fromData=j7e;function j7e(t,e){e=on(e);let r=e.algorithms,i=e.options&&e.options.length?`?${e.options.join("?")}`:"";return r.reduce((n,s)=>{let o=hm.createHash(s).update(t).digest("base64"),a=new zc(`${s}-${o}${i}`,e);if(a.algorithm&&a.digest){let l=a.algorithm;n[l]||(n[l]=[]),n[l].push(a)}return n},new Df)}Ko.exports.fromStream=Y7e;function Y7e(t,e){e=on(e);let r=e.Promise||Promise,i=IM(e);return new r((n,s)=>{t.pipe(i),t.on("error",s),i.on("error",s);let o;i.on("integrity",a=>{o=a}),i.on("end",()=>n(o)),i.on("data",()=>{})})}Ko.exports.checkData=q7e;function q7e(t,e,r){if(r=on(r),e=Uo(e,r),!Object.keys(e).length){if(r.error)throw Object.assign(new Error("No valid integrity hashes to check against"),{code:"EINTEGRITY"});return!1}let i=e.pickAlgorithm(r),n=hm.createHash(i).update(t).digest("base64"),s=Uo({algorithm:i,digest:n}),o=s.match(e,r);if(o||!r.error)return o;if(typeof r.size=="number"&&t.length!==r.size){let a=new Error(`data size mismatch when checking ${e}. + Wanted: ${r.size} + Found: ${t.length}`);throw a.code="EBADSIZE",a.found=t.length,a.expected=r.size,a.sri=e,a}else{let a=new Error(`Integrity checksum failed when using ${i}: Wanted ${e}, but got ${s}. (${t.length} bytes)`);throw a.code="EINTEGRITY",a.found=s,a.expected=e,a.algorithm=i,a.sri=e,a}}Ko.exports.checkStream=J7e;function J7e(t,e,r){r=on(r);let i=r.Promise||Promise,n=IM(r.concat({integrity:e}));return new i((s,o)=>{t.pipe(n),t.on("error",o),n.on("error",o);let a;n.on("verified",l=>{a=l}),n.on("end",()=>s(a)),n.on("data",()=>{})})}Ko.exports.integrityStream=IM;function IM(t){t=on(t);let e=t.integrity&&Uo(t.integrity,t),r=e&&Object.keys(e).length,i=r&&e.pickAlgorithm(t),n=r&&e[i],s=Array.from(new Set(t.algorithms.concat(i?[i]:[]))),o=s.map(hm.createHash),a=0,l=new T7e({transform(c,u,g){a+=c.length,o.forEach(f=>f.update(c,u)),g(null,c,u)}}).on("end",()=>{let c=t.options&&t.options.length?`?${t.options.join("?")}`:"",u=Uo(o.map((f,h)=>`${s[h]}-${f.digest("base64")}${c}`).join(" "),t),g=r&&u.match(e,t);if(typeof t.size=="number"&&a!==t.size){let f=new Error(`stream size mismatch when checking ${e}. + Wanted: ${t.size} + Found: ${a}`);f.code="EBADSIZE",f.found=a,f.expected=t.size,f.sri=e,l.emit("error",f)}else if(t.integrity&&!g){let f=new Error(`${e} integrity checksum failed when using ${i}: wanted ${n} but got ${u}. (${a} bytes)`);f.code="EINTEGRITY",f.found=u,f.expected=n,f.algorithm=i,f.sri=e,l.emit("error",f)}else l.emit("size",a),l.emit("integrity",u),g&&l.emit("verified",g)});return l}Ko.exports.create=W7e;function W7e(t){t=on(t);let e=t.algorithms,r=t.options.length?`?${t.options.join("?")}`:"",i=e.map(hm.createHash);return{update:function(n,s){return i.forEach(o=>o.update(n,s)),this},digest:function(n){return e.reduce((o,a)=>{let l=i.shift().digest("base64"),c=new zc(`${a}-${l}${r}`,t);if(c.algorithm&&c.digest){let u=c.algorithm;o[u]||(o[u]=[]),o[u].push(c)}return o},new Df)}}}var z7e=new Set(hm.getHashes()),Ege=["md5","whirlpool","sha1","sha224","sha256","sha384","sha512","sha3","sha3-256","sha3-384","sha3-512","sha3_256","sha3_384","sha3_512"].filter(t=>z7e.has(t));function H7e(t,e){return Ege.indexOf(t.toLowerCase())>=Ege.indexOf(e.toLowerCase())?t:e}});var Fd={};it(Fd,{BuildType:()=>Gn,Cache:()=>Qt,Configuration:()=>fe,DEFAULT_LOCK_FILENAME:()=>DR,DEFAULT_RC_FILENAME:()=>PR,FormatType:()=>ps,InstallMode:()=>li,LightReport:()=>Fa,LinkType:()=>gt,Manifest:()=>Ze,MessageName:()=>z,PackageExtensionStatus:()=>ki,PackageExtensionType:()=>oi,Project:()=>Ke,ProjectLookup:()=>KA,Report:()=>Xi,ReportError:()=>nt,SettingsType:()=>ge,StreamReport:()=>Fe,TAG_REGEXP:()=>Rg,TelemetryManager:()=>Rd,ThrowReport:()=>ei,VirtualFetcher:()=>dd,Workspace:()=>Dd,WorkspaceResolver:()=>Yr,YarnVersion:()=>Zr,execUtils:()=>hr,folderUtils:()=>Pb,formatUtils:()=>ue,hashUtils:()=>mn,httpUtils:()=>Zt,miscUtils:()=>de,scriptUtils:()=>Kt,semverUtils:()=>qt,structUtils:()=>S,tgzUtils:()=>Ai,treeUtils:()=>Hs});var hr={};it(hr,{EndStrategy:()=>Pn,execvp:()=>Nhe,pipevp:()=>to});var ch={};it(ch,{AliasFS:()=>Xo,CwdFS:()=>Ft,DEFAULT_COMPRESSION_LEVEL:()=>pl,FakeFS:()=>eA,Filename:()=>wt,JailFS:()=>Zo,LazyFS:()=>oh,LinkStrategy:()=>eh,NoFS:()=>bE,NodeFS:()=>Wt,PortablePath:()=>Se,PosixFS:()=>ah,ProxiedFS:()=>fi,VirtualFS:()=>Pr,ZipFS:()=>Jr,ZipOpenFS:()=>Jn,constants:()=>mr,extendFs:()=>SE,normalizeLineEndings:()=>ul,npath:()=>M,opendir:()=>wE,patchFs:()=>pb,ppath:()=>v,statUtils:()=>rb,toFilename:()=>kr,xfs:()=>T});var mr={};it(mr,{SAFE_TIME:()=>tb,S_IFDIR:()=>zo,S_IFLNK:()=>_o,S_IFMT:()=>kn,S_IFREG:()=>Vo});var kn=61440,zo=16384,Vo=32768,_o=40960,tb=456789e3;var rb={};it(rb,{BigIntStatsEntry:()=>Xf,DEFAULT_MODE:()=>_f,DirEntry:()=>uO,StatEntry:()=>Za,areStatsEqual:()=>nb,clearStats:()=>pE,convertToBigIntStats:()=>dE,makeDefaultStats:()=>Zf,makeEmptyStats:()=>Jfe});var ib=ie(require("util"));var _f=Vo|420,uO=class{constructor(){this.name="";this.mode=0}isBlockDevice(){return!1}isCharacterDevice(){return!1}isDirectory(){return(this.mode&kn)===zo}isFIFO(){return!1}isFile(){return(this.mode&kn)===Vo}isSocket(){return!1}isSymbolicLink(){return(this.mode&kn)===_o}},Za=class{constructor(){this.uid=0;this.gid=0;this.size=0;this.blksize=0;this.atimeMs=0;this.mtimeMs=0;this.ctimeMs=0;this.birthtimeMs=0;this.atime=new Date(0);this.mtime=new Date(0);this.ctime=new Date(0);this.birthtime=new Date(0);this.dev=0;this.ino=0;this.mode=_f;this.nlink=1;this.rdev=0;this.blocks=1}isBlockDevice(){return!1}isCharacterDevice(){return!1}isDirectory(){return(this.mode&kn)===zo}isFIFO(){return!1}isFile(){return(this.mode&kn)===Vo}isSocket(){return!1}isSymbolicLink(){return(this.mode&kn)===_o}},Xf=class{constructor(){this.uid=BigInt(0);this.gid=BigInt(0);this.size=BigInt(0);this.blksize=BigInt(0);this.atimeMs=BigInt(0);this.mtimeMs=BigInt(0);this.ctimeMs=BigInt(0);this.birthtimeMs=BigInt(0);this.atimeNs=BigInt(0);this.mtimeNs=BigInt(0);this.ctimeNs=BigInt(0);this.birthtimeNs=BigInt(0);this.atime=new Date(0);this.mtime=new Date(0);this.ctime=new Date(0);this.birthtime=new Date(0);this.dev=BigInt(0);this.ino=BigInt(0);this.mode=BigInt(_f);this.nlink=BigInt(1);this.rdev=BigInt(0);this.blocks=BigInt(1)}isBlockDevice(){return!1}isCharacterDevice(){return!1}isDirectory(){return(this.mode&BigInt(kn))===BigInt(zo)}isFIFO(){return!1}isFile(){return(this.mode&BigInt(kn))===BigInt(Vo)}isSocket(){return!1}isSymbolicLink(){return(this.mode&BigInt(kn))===BigInt(_o)}};function Zf(){return new Za}function Jfe(){return pE(Zf())}function pE(t){for(let e in t)if(Object.prototype.hasOwnProperty.call(t,e)){let r=t[e];typeof r=="number"?t[e]=0:typeof r=="bigint"?t[e]=BigInt(0):ib.types.isDate(r)&&(t[e]=new Date(0))}return t}function dE(t){let e=new Xf;for(let r in t)if(Object.prototype.hasOwnProperty.call(t,r)){let i=t[r];typeof i=="number"?e[r]=BigInt(i):ib.types.isDate(i)&&(e[r]=new Date(i))}return e.atimeNs=e.atimeMs*BigInt(1e6),e.mtimeNs=e.mtimeMs*BigInt(1e6),e.ctimeNs=e.ctimeMs*BigInt(1e6),e.birthtimeNs=e.birthtimeMs*BigInt(1e6),e}function nb(t,e){if(t.atimeMs!==e.atimeMs||t.birthtimeMs!==e.birthtimeMs||t.blksize!==e.blksize||t.blocks!==e.blocks||t.ctimeMs!==e.ctimeMs||t.dev!==e.dev||t.gid!==e.gid||t.ino!==e.ino||t.isBlockDevice()!==e.isBlockDevice()||t.isCharacterDevice()!==e.isCharacterDevice()||t.isDirectory()!==e.isDirectory()||t.isFIFO()!==e.isFIFO()||t.isFile()!==e.isFile()||t.isSocket()!==e.isSocket()||t.isSymbolicLink()!==e.isSymbolicLink()||t.mode!==e.mode||t.mtimeMs!==e.mtimeMs||t.nlink!==e.nlink||t.rdev!==e.rdev||t.size!==e.size||t.uid!==e.uid)return!1;let r=t,i=e;return!(r.atimeNs!==i.atimeNs||r.mtimeNs!==i.mtimeNs||r.ctimeNs!==i.ctimeNs||r.birthtimeNs!==i.birthtimeNs)}var mE=ie(require("fs"));var $f=ie(require("path")),gO;(function(i){i[i.File=0]="File",i[i.Portable=1]="Portable",i[i.Native=2]="Native"})(gO||(gO={}));var Se={root:"/",dot:"."},wt={nodeModules:"node_modules",manifest:"package.json",lockfile:"yarn.lock",virtual:"__virtual__",pnpJs:".pnp.js",pnpCjs:".pnp.cjs",rc:".yarnrc.yml"},M=Object.create($f.default),v=Object.create($f.default.posix);M.cwd=()=>process.cwd();v.cwd=()=>sb(process.cwd());v.resolve=(...t)=>t.length>0&&v.isAbsolute(t[0])?$f.default.posix.resolve(...t):$f.default.posix.resolve(v.cwd(),...t);var fO=function(t,e,r){return e=t.normalize(e),r=t.normalize(r),e===r?".":(e.endsWith(t.sep)||(e=e+t.sep),r.startsWith(e)?r.slice(e.length):null)};M.fromPortablePath=hO;M.toPortablePath=sb;M.contains=(t,e)=>fO(M,t,e);v.contains=(t,e)=>fO(v,t,e);var Wfe=/^([a-zA-Z]:.*)$/,zfe=/^\\\\(\.\\)?(.*)$/,Vfe=/^\/([a-zA-Z]:.*)$/,_fe=/^\/unc\/(\.dot\/)?(.*)$/;function hO(t){if(process.platform!=="win32")return t;let e,r;if(e=t.match(Vfe))t=e[1];else if(r=t.match(_fe))t=`\\\\${r[1]?".\\":""}${r[2]}`;else return t;return t.replace(/\//g,"\\")}function sb(t){if(process.platform!=="win32")return t;let e,r;return(e=t.match(Wfe))?t=`/${e[1]}`:(r=t.match(zfe))&&(t=`/unc/${r[1]?".dot/":""}${r[2]}`),t.replace(/\\/g,"/")}function CE(t,e){return t===M?hO(e):sb(e)}function kr(t){if(M.parse(t).dir!==""||v.parse(t).dir!=="")throw new Error(`Invalid filename: "${t}"`);return t}var EE=new Date(tb*1e3),eh;(function(r){r.Allow="allow",r.ReadOnly="readOnly"})(eh||(eh={}));async function pO(t,e,r,i,n){let s=t.pathUtils.normalize(e),o=r.pathUtils.normalize(i),a=[],l=[],c=n.stableTime?{mtime:EE,atime:EE}:await r.lstatPromise(o);await t.mkdirpPromise(t.pathUtils.dirname(e),{utimes:[c.atime,c.mtime]});let u=typeof t.lutimesPromise=="function"?t.lutimesPromise.bind(t):t.utimesPromise.bind(t);await ob(a,l,u,t,s,r,o,n);for(let g of a)await g();await Promise.all(l.map(g=>g()))}async function ob(t,e,r,i,n,s,o,a){var f,h;let l=await Xfe(i,n),c=await s.lstatPromise(o),u=a.stableTime?{mtime:EE,atime:EE}:c,g;switch(!0){case c.isDirectory():g=await Zfe(t,e,r,i,n,l,s,o,c,a);break;case c.isFile():g=await $fe(t,e,r,i,n,l,s,o,c,a);break;case c.isSymbolicLink():g=await ehe(t,e,r,i,n,l,s,o,c,a);break;default:throw new Error(`Unsupported file type (${c.mode})`)}return(g||((f=l==null?void 0:l.mtime)==null?void 0:f.getTime())!==u.mtime.getTime()||((h=l==null?void 0:l.atime)==null?void 0:h.getTime())!==u.atime.getTime())&&(e.push(()=>r(n,u.atime,u.mtime)),g=!0),(l===null||(l.mode&511)!=(c.mode&511))&&(e.push(()=>i.chmodPromise(n,c.mode&511)),g=!0),g}async function Xfe(t,e){try{return await t.lstatPromise(e)}catch(r){return null}}async function Zfe(t,e,r,i,n,s,o,a,l,c){if(s!==null&&!s.isDirectory())if(c.overwrite)t.push(async()=>i.removePromise(n)),s=null;else return!1;let u=!1;s===null&&(t.push(async()=>{try{await i.mkdirPromise(n,{mode:l.mode})}catch(f){if(f.code!=="EEXIST")throw f}}),u=!0);let g=await o.readdirPromise(a);if(c.stableSort)for(let f of g.sort())await ob(t,e,r,i,i.pathUtils.join(n,f),o,o.pathUtils.join(a,f),c)&&(u=!0);else(await Promise.all(g.map(async h=>{await ob(t,e,r,i,i.pathUtils.join(n,h),o,o.pathUtils.join(a,h),c)}))).some(h=>h)&&(u=!0);return u}var ab=new WeakMap;function Ab(t,e,r,i,n){return async()=>{await t.linkPromise(r,e),n===eh.ReadOnly&&(i.mode&=~146,await t.chmodPromise(e,i.mode))}}function the(t,e,r,i,n){let s=ab.get(t);return typeof s=="undefined"?async()=>{try{await t.copyFilePromise(r,e,mE.default.constants.COPYFILE_FICLONE_FORCE),ab.set(t,!0)}catch(o){if(o.code==="ENOSYS"||o.code==="ENOTSUP")ab.set(t,!1),await Ab(t,e,r,i,n)();else throw o}}:s?async()=>t.copyFilePromise(r,e,mE.default.constants.COPYFILE_FICLONE_FORCE):Ab(t,e,r,i,n)}async function $fe(t,e,r,i,n,s,o,a,l,c){var f;if(s!==null)if(c.overwrite)t.push(async()=>i.removePromise(n)),s=null;else return!1;let u=(f=c.linkStrategy)!=null?f:null,g=i===o?u!==null?the(i,n,a,l,u):async()=>i.copyFilePromise(a,n,mE.default.constants.COPYFILE_FICLONE):u!==null?Ab(i,n,a,l,u):async()=>i.writeFilePromise(n,await o.readFilePromise(a));return t.push(async()=>g()),!0}async function ehe(t,e,r,i,n,s,o,a,l,c){if(s!==null)if(c.overwrite)t.push(async()=>i.removePromise(n)),s=null;else return!1;return t.push(async()=>{await i.symlinkPromise(CE(i.pathUtils,await o.readlinkPromise(a)),n)}),!0}function qn(t,e){return Object.assign(new Error(`${t}: ${e}`),{code:t})}function IE(t){return qn("EBUSY",t)}function th(t,e){return qn("ENOSYS",`${t}, ${e}`)}function $a(t){return qn("EINVAL",`invalid argument, ${t}`)}function Hi(t){return qn("EBADF",`bad file descriptor, ${t}`)}function bs(t){return qn("ENOENT",`no such file or directory, ${t}`)}function eo(t){return qn("ENOTDIR",`not a directory, ${t}`)}function rh(t){return qn("EISDIR",`illegal operation on a directory, ${t}`)}function yE(t){return qn("EEXIST",`file already exists, ${t}`)}function ln(t){return qn("EROFS",`read-only filesystem, ${t}`)}function dO(t){return qn("ENOTEMPTY",`directory not empty, ${t}`)}function CO(t){return qn("EOPNOTSUPP",`operation not supported, ${t}`)}function mO(){return qn("ERR_DIR_CLOSED","Directory handle was closed")}var lb=class extends Error{constructor(e,r){super(e);this.name="Libzip Error",this.code=r}};var EO=class{constructor(e,r,i={}){this.path=e;this.nextDirent=r;this.opts=i;this.closed=!1}throwIfClosed(){if(this.closed)throw mO()}async*[Symbol.asyncIterator](){try{let e;for(;(e=await this.read())!==null;)yield e}finally{await this.close()}}read(e){let r=this.readSync();return typeof e!="undefined"?e(null,r):Promise.resolve(r)}readSync(){return this.throwIfClosed(),this.nextDirent()}close(e){return this.closeSync(),typeof e!="undefined"?e(null):Promise.resolve()}closeSync(){var e,r;this.throwIfClosed(),(r=(e=this.opts).onClose)==null||r.call(e),this.closed=!0}};function wE(t,e,r,i){let n=()=>{let s=r.shift();return typeof s=="undefined"?null:Object.assign(t.statSync(t.pathUtils.join(e,s)),{name:s})};return new EO(e,n,i)}var IO=ie(require("os"));var eA=class{constructor(e){this.pathUtils=e}async*genTraversePromise(e,{stableSort:r=!1}={}){let i=[e];for(;i.length>0;){let n=i.shift();if((await this.lstatPromise(n)).isDirectory()){let o=await this.readdirPromise(n);if(r)for(let a of o.sort())i.push(this.pathUtils.join(n,a));else throw new Error("Not supported")}else yield n}}async removePromise(e,{recursive:r=!0,maxRetries:i=5}={}){let n;try{n=await this.lstatPromise(e)}catch(s){if(s.code==="ENOENT")return;throw s}if(n.isDirectory()){if(r){let o=await this.readdirPromise(e);await Promise.all(o.map(a=>this.removePromise(this.pathUtils.resolve(e,a))))}let s=0;do try{await this.rmdirPromise(e);break}catch(o){if(o.code==="EBUSY"||o.code==="ENOTEMPTY"){if(i===0)break;await new Promise(a=>setTimeout(a,s*100));continue}else throw o}while(s++{let l;try{[l]=await this.readJsonPromise(i)}catch(c){return Date.now()-s<500}try{return process.kill(l,0),!0}catch(c){return!1}};for(;o===null;)try{o=await this.openPromise(i,"wx")}catch(l){if(l.code==="EEXIST"){if(!await a())try{await this.unlinkPromise(i);continue}catch(c){}if(Date.now()-s<60*1e3)await new Promise(c=>setTimeout(c,n));else throw new Error(`Couldn't acquire a lock in a reasonable time (via ${i})`)}else throw l}await this.writePromise(o,JSON.stringify([process.pid]));try{return await r()}finally{try{await this.closePromise(o),await this.unlinkPromise(i)}catch(l){}}}async readJsonPromise(e){let r=await this.readFilePromise(e,"utf8");try{return JSON.parse(r)}catch(i){throw i.message+=` (in ${e})`,i}}readJsonSync(e){let r=this.readFileSync(e,"utf8");try{return JSON.parse(r)}catch(i){throw i.message+=` (in ${e})`,i}}async writeJsonPromise(e,r){return await this.writeFilePromise(e,`${JSON.stringify(r,null,2)} +`)}writeJsonSync(e,r){return this.writeFileSync(e,`${JSON.stringify(r,null,2)} +`)}async preserveTimePromise(e,r){let i=await this.lstatPromise(e),n=await r();typeof n!="undefined"&&(e=n),this.lutimesPromise?await this.lutimesPromise(e,i.atime,i.mtime):i.isSymbolicLink()||await this.utimesPromise(e,i.atime,i.mtime)}async preserveTimeSync(e,r){let i=this.lstatSync(e),n=r();typeof n!="undefined"&&(e=n),this.lutimesSync?this.lutimesSync(e,i.atime,i.mtime):i.isSymbolicLink()||this.utimesSync(e,i.atime,i.mtime)}},gl=class extends eA{constructor(){super(v)}};function rhe(t){let e=t.match(/\r?\n/g);if(e===null)return IO.EOL;let r=e.filter(n=>n===`\r +`).length,i=e.length-r;return r>i?`\r +`:` +`}function ul(t,e){return e.replace(/\r?\n/g,rhe(t))}var $c=ie(require("fs")),cb=ie(require("stream")),QO=ie(require("util")),ub=ie(require("zlib"));var yO=ie(require("fs"));var Wt=class extends gl{constructor(e=yO.default){super();this.realFs=e,typeof this.realFs.lutimes!="undefined"&&(this.lutimesPromise=this.lutimesPromiseImpl,this.lutimesSync=this.lutimesSyncImpl)}getExtractHint(){return!1}getRealPath(){return Se.root}resolve(e){return v.resolve(e)}async openPromise(e,r,i){return await new Promise((n,s)=>{this.realFs.open(M.fromPortablePath(e),r,i,this.makeCallback(n,s))})}openSync(e,r,i){return this.realFs.openSync(M.fromPortablePath(e),r,i)}async opendirPromise(e,r){return await new Promise((i,n)=>{typeof r!="undefined"?this.realFs.opendir(M.fromPortablePath(e),r,this.makeCallback(i,n)):this.realFs.opendir(M.fromPortablePath(e),this.makeCallback(i,n))}).then(i=>Object.defineProperty(i,"path",{value:e,configurable:!0,writable:!0}))}opendirSync(e,r){let i=typeof r!="undefined"?this.realFs.opendirSync(M.fromPortablePath(e),r):this.realFs.opendirSync(M.fromPortablePath(e));return Object.defineProperty(i,"path",{value:e,configurable:!0,writable:!0})}async readPromise(e,r,i=0,n=0,s=-1){return await new Promise((o,a)=>{this.realFs.read(e,r,i,n,s,(l,c)=>{l?a(l):o(c)})})}readSync(e,r,i,n,s){return this.realFs.readSync(e,r,i,n,s)}async writePromise(e,r,i,n,s){return await new Promise((o,a)=>typeof r=="string"?this.realFs.write(e,r,i,this.makeCallback(o,a)):this.realFs.write(e,r,i,n,s,this.makeCallback(o,a)))}writeSync(e,r,i,n,s){return typeof r=="string"?this.realFs.writeSync(e,r,i):this.realFs.writeSync(e,r,i,n,s)}async closePromise(e){await new Promise((r,i)=>{this.realFs.close(e,this.makeCallback(r,i))})}closeSync(e){this.realFs.closeSync(e)}createReadStream(e,r){let i=e!==null?M.fromPortablePath(e):e;return this.realFs.createReadStream(i,r)}createWriteStream(e,r){let i=e!==null?M.fromPortablePath(e):e;return this.realFs.createWriteStream(i,r)}async realpathPromise(e){return await new Promise((r,i)=>{this.realFs.realpath(M.fromPortablePath(e),{},this.makeCallback(r,i))}).then(r=>M.toPortablePath(r))}realpathSync(e){return M.toPortablePath(this.realFs.realpathSync(M.fromPortablePath(e),{}))}async existsPromise(e){return await new Promise(r=>{this.realFs.exists(M.fromPortablePath(e),r)})}accessSync(e,r){return this.realFs.accessSync(M.fromPortablePath(e),r)}async accessPromise(e,r){return await new Promise((i,n)=>{this.realFs.access(M.fromPortablePath(e),r,this.makeCallback(i,n))})}existsSync(e){return this.realFs.existsSync(M.fromPortablePath(e))}async statPromise(e,r){return await new Promise((i,n)=>{r?this.realFs.stat(M.fromPortablePath(e),r,this.makeCallback(i,n)):this.realFs.stat(M.fromPortablePath(e),this.makeCallback(i,n))})}statSync(e,r){return r?this.realFs.statSync(M.fromPortablePath(e),r):this.realFs.statSync(M.fromPortablePath(e))}async fstatPromise(e,r){return await new Promise((i,n)=>{r?this.realFs.fstat(e,r,this.makeCallback(i,n)):this.realFs.fstat(e,this.makeCallback(i,n))})}fstatSync(e,r){return r?this.realFs.fstatSync(e,r):this.realFs.fstatSync(e)}async lstatPromise(e,r){return await new Promise((i,n)=>{r?this.realFs.lstat(M.fromPortablePath(e),r,this.makeCallback(i,n)):this.realFs.lstat(M.fromPortablePath(e),this.makeCallback(i,n))})}lstatSync(e,r){return r?this.realFs.lstatSync(M.fromPortablePath(e),r):this.realFs.lstatSync(M.fromPortablePath(e))}async chmodPromise(e,r){return await new Promise((i,n)=>{this.realFs.chmod(M.fromPortablePath(e),r,this.makeCallback(i,n))})}chmodSync(e,r){return this.realFs.chmodSync(M.fromPortablePath(e),r)}async chownPromise(e,r,i){return await new Promise((n,s)=>{this.realFs.chown(M.fromPortablePath(e),r,i,this.makeCallback(n,s))})}chownSync(e,r,i){return this.realFs.chownSync(M.fromPortablePath(e),r,i)}async renamePromise(e,r){return await new Promise((i,n)=>{this.realFs.rename(M.fromPortablePath(e),M.fromPortablePath(r),this.makeCallback(i,n))})}renameSync(e,r){return this.realFs.renameSync(M.fromPortablePath(e),M.fromPortablePath(r))}async copyFilePromise(e,r,i=0){return await new Promise((n,s)=>{this.realFs.copyFile(M.fromPortablePath(e),M.fromPortablePath(r),i,this.makeCallback(n,s))})}copyFileSync(e,r,i=0){return this.realFs.copyFileSync(M.fromPortablePath(e),M.fromPortablePath(r),i)}async appendFilePromise(e,r,i){return await new Promise((n,s)=>{let o=typeof e=="string"?M.fromPortablePath(e):e;i?this.realFs.appendFile(o,r,i,this.makeCallback(n,s)):this.realFs.appendFile(o,r,this.makeCallback(n,s))})}appendFileSync(e,r,i){let n=typeof e=="string"?M.fromPortablePath(e):e;i?this.realFs.appendFileSync(n,r,i):this.realFs.appendFileSync(n,r)}async writeFilePromise(e,r,i){return await new Promise((n,s)=>{let o=typeof e=="string"?M.fromPortablePath(e):e;i?this.realFs.writeFile(o,r,i,this.makeCallback(n,s)):this.realFs.writeFile(o,r,this.makeCallback(n,s))})}writeFileSync(e,r,i){let n=typeof e=="string"?M.fromPortablePath(e):e;i?this.realFs.writeFileSync(n,r,i):this.realFs.writeFileSync(n,r)}async unlinkPromise(e){return await new Promise((r,i)=>{this.realFs.unlink(M.fromPortablePath(e),this.makeCallback(r,i))})}unlinkSync(e){return this.realFs.unlinkSync(M.fromPortablePath(e))}async utimesPromise(e,r,i){return await new Promise((n,s)=>{this.realFs.utimes(M.fromPortablePath(e),r,i,this.makeCallback(n,s))})}utimesSync(e,r,i){this.realFs.utimesSync(M.fromPortablePath(e),r,i)}async lutimesPromiseImpl(e,r,i){let n=this.realFs.lutimes;if(typeof n=="undefined")throw th("unavailable Node binding",`lutimes '${e}'`);return await new Promise((s,o)=>{n.call(this.realFs,M.fromPortablePath(e),r,i,this.makeCallback(s,o))})}lutimesSyncImpl(e,r,i){let n=this.realFs.lutimesSync;if(typeof n=="undefined")throw th("unavailable Node binding",`lutimes '${e}'`);n.call(this.realFs,M.fromPortablePath(e),r,i)}async mkdirPromise(e,r){return await new Promise((i,n)=>{this.realFs.mkdir(M.fromPortablePath(e),r,this.makeCallback(i,n))})}mkdirSync(e,r){return this.realFs.mkdirSync(M.fromPortablePath(e),r)}async rmdirPromise(e,r){return await new Promise((i,n)=>{r?this.realFs.rmdir(M.fromPortablePath(e),r,this.makeCallback(i,n)):this.realFs.rmdir(M.fromPortablePath(e),this.makeCallback(i,n))})}rmdirSync(e,r){return this.realFs.rmdirSync(M.fromPortablePath(e),r)}async linkPromise(e,r){return await new Promise((i,n)=>{this.realFs.link(M.fromPortablePath(e),M.fromPortablePath(r),this.makeCallback(i,n))})}linkSync(e,r){return this.realFs.linkSync(M.fromPortablePath(e),M.fromPortablePath(r))}async symlinkPromise(e,r,i){return await new Promise((n,s)=>{this.realFs.symlink(M.fromPortablePath(e.replace(/\/+$/,"")),M.fromPortablePath(r),i,this.makeCallback(n,s))})}symlinkSync(e,r,i){return this.realFs.symlinkSync(M.fromPortablePath(e.replace(/\/+$/,"")),M.fromPortablePath(r),i)}async readFilePromise(e,r){return await new Promise((i,n)=>{let s=typeof e=="string"?M.fromPortablePath(e):e;this.realFs.readFile(s,r,this.makeCallback(i,n))})}readFileSync(e,r){let i=typeof e=="string"?M.fromPortablePath(e):e;return this.realFs.readFileSync(i,r)}async readdirPromise(e,r){return await new Promise((i,n)=>{(r==null?void 0:r.withFileTypes)?this.realFs.readdir(M.fromPortablePath(e),{withFileTypes:!0},this.makeCallback(i,n)):this.realFs.readdir(M.fromPortablePath(e),this.makeCallback(s=>i(s),n))})}readdirSync(e,r){return(r==null?void 0:r.withFileTypes)?this.realFs.readdirSync(M.fromPortablePath(e),{withFileTypes:!0}):this.realFs.readdirSync(M.fromPortablePath(e))}async readlinkPromise(e){return await new Promise((r,i)=>{this.realFs.readlink(M.fromPortablePath(e),this.makeCallback(r,i))}).then(r=>M.toPortablePath(r))}readlinkSync(e){return M.toPortablePath(this.realFs.readlinkSync(M.fromPortablePath(e)))}async truncatePromise(e,r){return await new Promise((i,n)=>{this.realFs.truncate(M.fromPortablePath(e),r,this.makeCallback(i,n))})}truncateSync(e,r){return this.realFs.truncateSync(M.fromPortablePath(e),r)}watch(e,r,i){return this.realFs.watch(M.fromPortablePath(e),r,i)}watchFile(e,r,i){return this.realFs.watchFile(M.fromPortablePath(e),r,i)}unwatchFile(e,r){return this.realFs.unwatchFile(M.fromPortablePath(e),r)}makeCallback(e,r){return(i,n)=>{i?r(i):e(n)}}};var wO=ie(require("events"));var fl;(function(r){r.Change="change",r.Stop="stop"})(fl||(fl={}));var hl;(function(i){i.Ready="ready",i.Running="running",i.Stopped="stopped"})(hl||(hl={}));function BO(t,e){if(t!==e)throw new Error(`Invalid StatWatcher status: expected '${e}', got '${t}'`)}var ih=class extends wO.EventEmitter{constructor(e,r,{bigint:i=!1}={}){super();this.status=hl.Ready;this.changeListeners=new Map;this.startTimeout=null;this.fakeFs=e,this.path=r,this.bigint=i,this.lastStats=this.stat()}static create(e,r,i){let n=new ih(e,r,i);return n.start(),n}start(){BO(this.status,hl.Ready),this.status=hl.Running,this.startTimeout=setTimeout(()=>{this.startTimeout=null,this.fakeFs.existsSync(this.path)||this.emit(fl.Change,this.lastStats,this.lastStats)},3)}stop(){BO(this.status,hl.Running),this.status=hl.Stopped,this.startTimeout!==null&&(clearTimeout(this.startTimeout),this.startTimeout=null),this.emit(fl.Stop)}stat(){try{return this.fakeFs.statSync(this.path,{bigint:this.bigint})}catch(e){let r=this.bigint?new Xf:new Za;return pE(r)}}makeInterval(e){let r=setInterval(()=>{let i=this.stat(),n=this.lastStats;nb(i,n)||(this.lastStats=i,this.emit(fl.Change,i,n))},e.interval);return e.persistent?r:r.unref()}registerChangeListener(e,r){this.addListener(fl.Change,e),this.changeListeners.set(e,this.makeInterval(r))}unregisterChangeListener(e){this.removeListener(fl.Change,e);let r=this.changeListeners.get(e);typeof r!="undefined"&&clearInterval(r),this.changeListeners.delete(e)}unregisterAllChangeListeners(){for(let e of this.changeListeners.keys())this.unregisterChangeListener(e)}hasChangeListeners(){return this.changeListeners.size>0}ref(){for(let e of this.changeListeners.values())e.ref();return this}unref(){for(let e of this.changeListeners.values())e.unref();return this}};var BE=new WeakMap;function QE(t,e,r,i){let n,s,o,a;switch(typeof r){case"function":n=!1,s=!0,o=5007,a=r;break;default:({bigint:n=!1,persistent:s=!0,interval:o=5007}=r),a=i;break}let l=BE.get(t);typeof l=="undefined"&&BE.set(t,l=new Map);let c=l.get(e);return typeof c=="undefined"&&(c=ih.create(t,e,{bigint:n}),l.set(e,c)),c.registerChangeListener(a,{persistent:s,interval:o}),c}function nh(t,e,r){let i=BE.get(t);if(typeof i=="undefined")return;let n=i.get(e);typeof n!="undefined"&&(typeof r=="undefined"?n.unregisterAllChangeListeners():n.unregisterChangeListener(r),n.hasChangeListeners()||(n.stop(),i.delete(e)))}function sh(t){let e=BE.get(t);if(typeof e!="undefined")for(let r of e.keys())nh(t,r)}var pl="mixed";function ihe(t){if(typeof t=="string"&&String(+t)===t)return+t;if(Number.isFinite(t))return t<0?Date.now()/1e3:t;if((0,QO.isDate)(t))return t.getTime()/1e3;throw new Error("Invalid time")}function bO(){return Buffer.from([80,75,5,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0])}var Jr=class extends gl{constructor(e,r){super();this.lzSource=null;this.listings=new Map;this.entries=new Map;this.fileSources=new Map;this.fds=new Map;this.nextFd=0;this.ready=!1;this.readOnly=!1;this.libzip=r.libzip;let i=r;if(this.level=typeof i.level!="undefined"?i.level:pl,e!=null||(e=bO()),typeof e=="string"){let{baseFs:o=new Wt}=i;this.baseFs=o,this.path=e}else this.path=null,this.baseFs=null;if(r.stats)this.stats=r.stats;else if(typeof e=="string")try{this.stats=this.baseFs.statSync(e)}catch(o){if(o.code==="ENOENT"&&i.create)this.stats=Zf();else throw o}else this.stats=Zf();let n=this.libzip.malloc(4);try{let o=0;if(typeof e=="string"&&i.create&&(o|=this.libzip.ZIP_CREATE|this.libzip.ZIP_TRUNCATE),r.readOnly&&(o|=this.libzip.ZIP_RDONLY,this.readOnly=!0),typeof e=="string")this.zip=this.libzip.open(M.fromPortablePath(e),o,n);else{let a=this.allocateUnattachedSource(e);try{this.zip=this.libzip.openFromSource(a,o,n),this.lzSource=a}catch(l){throw this.libzip.source.free(a),l}}if(this.zip===0){let a=this.libzip.struct.errorS();throw this.libzip.error.initWithCode(a,this.libzip.getValue(n,"i32")),this.makeLibzipError(a)}}finally{this.libzip.free(n)}this.listings.set(Se.root,new Set);let s=this.libzip.getNumEntries(this.zip,0);for(let o=0;oe)throw new Error("Overread");let n=this.libzip.HEAPU8.subarray(r,r+e);return Buffer.from(n)}finally{this.libzip.free(r)}}finally{this.libzip.source.close(this.lzSource),this.libzip.source.free(this.lzSource),this.ready=!1}}prepareClose(){if(!this.ready)throw IE("archive closed, close");sh(this)}saveAndClose(){if(!this.path||!this.baseFs)throw new Error("ZipFS cannot be saved and must be discarded when loaded from a buffer");if(this.prepareClose(),this.readOnly){this.discardAndClose();return}let e=this.baseFs.existsSync(this.path)||this.stats.mode===_f?void 0:this.stats.mode;if(this.entries.size===0)this.discardAndClose(),this.baseFs.writeFileSync(this.path,bO(),{mode:e});else{if(this.libzip.close(this.zip)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));typeof e!="undefined"&&this.baseFs.chmodSync(this.path,e)}this.ready=!1}discardAndClose(){this.prepareClose(),this.libzip.discard(this.zip),this.ready=!1}resolve(e){return v.resolve(Se.root,e)}async openPromise(e,r,i){return this.openSync(e,r,i)}openSync(e,r,i){let n=this.nextFd++;return this.fds.set(n,{cursor:0,p:e}),n}hasOpenFileHandles(){return!!this.fds.size}async opendirPromise(e,r){return this.opendirSync(e,r)}opendirSync(e,r={}){let i=this.resolveFilename(`opendir '${e}'`,e);if(!this.entries.has(i)&&!this.listings.has(i))throw bs(`opendir '${e}'`);let n=this.listings.get(i);if(!n)throw eo(`opendir '${e}'`);let s=[...n],o=this.openSync(i,"r");return wE(this,i,s,{onClose:()=>{this.closeSync(o)}})}async readPromise(e,r,i,n,s){return this.readSync(e,r,i,n,s)}readSync(e,r,i=0,n=r.byteLength,s=-1){let o=this.fds.get(e);if(typeof o=="undefined")throw Hi("read");let a;s===-1||s===null?a=o.cursor:a=s;let l=this.readFileSync(o.p);l.copy(r,i,a,a+n);let c=Math.max(0,Math.min(l.length-a,n));return(s===-1||s===null)&&(o.cursor+=c),c}async writePromise(e,r,i,n,s){return typeof r=="string"?this.writeSync(e,r,s):this.writeSync(e,r,i,n,s)}writeSync(e,r,i,n,s){throw typeof this.fds.get(e)=="undefined"?Hi("read"):new Error("Unimplemented")}async closePromise(e){return this.closeSync(e)}closeSync(e){if(typeof this.fds.get(e)=="undefined")throw Hi("read");this.fds.delete(e)}createReadStream(e,{encoding:r}={}){if(e===null)throw new Error("Unimplemented");let i=this.openSync(e,"r"),n=Object.assign(new cb.PassThrough({emitClose:!0,autoDestroy:!0,destroy:(o,a)=>{clearImmediate(s),this.closeSync(i),a(o)}}),{close(){n.destroy()},bytesRead:0,path:e}),s=setImmediate(async()=>{try{let o=await this.readFilePromise(e,r);n.bytesRead=o.length,n.end(o)}catch(o){n.destroy(o)}});return n}createWriteStream(e,{encoding:r}={}){if(this.readOnly)throw ln(`open '${e}'`);if(e===null)throw new Error("Unimplemented");let i=[],n=this.openSync(e,"w"),s=Object.assign(new cb.PassThrough({autoDestroy:!0,emitClose:!0,destroy:(o,a)=>{try{o?a(o):(this.writeFileSync(e,Buffer.concat(i),r),a(null))}catch(l){a(l)}finally{this.closeSync(n)}}}),{bytesWritten:0,path:e,close(){s.destroy()}});return s.on("data",o=>{let a=Buffer.from(o);s.bytesWritten+=a.length,i.push(a)}),s}async realpathPromise(e){return this.realpathSync(e)}realpathSync(e){let r=this.resolveFilename(`lstat '${e}'`,e);if(!this.entries.has(r)&&!this.listings.has(r))throw bs(`lstat '${e}'`);return r}async existsPromise(e){return this.existsSync(e)}existsSync(e){if(!this.ready)throw IE(`archive closed, existsSync '${e}'`);if(this.symlinkCount===0){let i=v.resolve(Se.root,e);return this.entries.has(i)||this.listings.has(i)}let r;try{r=this.resolveFilename(`stat '${e}'`,e)}catch(i){return!1}return this.entries.has(r)||this.listings.has(r)}async accessPromise(e,r){return this.accessSync(e,r)}accessSync(e,r=$c.constants.F_OK){let i=this.resolveFilename(`access '${e}'`,e);if(!this.entries.has(i)&&!this.listings.has(i))throw bs(`access '${e}'`);if(this.readOnly&&r&$c.constants.W_OK)throw ln(`access '${e}'`)}async statPromise(e,r){return this.statSync(e,r)}statSync(e,r){let i=this.resolveFilename(`stat '${e}'`,e);if(!this.entries.has(i)&&!this.listings.has(i))throw bs(`stat '${e}'`);if(e[e.length-1]==="/"&&!this.listings.has(i))throw eo(`stat '${e}'`);return this.statImpl(`stat '${e}'`,i,r)}async fstatPromise(e,r){return this.fstatSync(e,r)}fstatSync(e,r){let i=this.fds.get(e);if(typeof i=="undefined")throw Hi("fstatSync");let{p:n}=i,s=this.resolveFilename(`stat '${n}'`,n);if(!this.entries.has(s)&&!this.listings.has(s))throw bs(`stat '${n}'`);if(n[n.length-1]==="/"&&!this.listings.has(s))throw eo(`stat '${n}'`);return this.statImpl(`fstat '${n}'`,s,r)}async lstatPromise(e,r){return this.lstatSync(e,r)}lstatSync(e,r){let i=this.resolveFilename(`lstat '${e}'`,e,!1);if(!this.entries.has(i)&&!this.listings.has(i))throw bs(`lstat '${e}'`);if(e[e.length-1]==="/"&&!this.listings.has(i))throw eo(`lstat '${e}'`);return this.statImpl(`lstat '${e}'`,i,r)}statImpl(e,r,i={}){let n=this.entries.get(r);if(typeof n!="undefined"){let s=this.libzip.struct.statS();if(this.libzip.statIndex(this.zip,n,0,0,s)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));let a=this.stats.uid,l=this.stats.gid,c=this.libzip.struct.statSize(s)>>>0,u=512,g=Math.ceil(c/u),f=(this.libzip.struct.statMtime(s)>>>0)*1e3,h=f,p=f,d=f,m=new Date(h),I=new Date(p),B=new Date(d),b=new Date(f),R=this.listings.has(r)?zo:this.isSymbolicLink(n)?_o:Vo,H=R===zo?493:420,L=R|this.getUnixMode(n,H)&511,K=this.libzip.struct.statCrc(s),J=Object.assign(new Za,{uid:a,gid:l,size:c,blksize:u,blocks:g,atime:m,birthtime:I,ctime:B,mtime:b,atimeMs:h,birthtimeMs:p,ctimeMs:d,mtimeMs:f,mode:L,crc:K});return i.bigint===!0?dE(J):J}if(this.listings.has(r)){let s=this.stats.uid,o=this.stats.gid,a=0,l=512,c=0,u=this.stats.mtimeMs,g=this.stats.mtimeMs,f=this.stats.mtimeMs,h=this.stats.mtimeMs,p=new Date(u),d=new Date(g),m=new Date(f),I=new Date(h),B=zo|493,b=0,R=Object.assign(new Za,{uid:s,gid:o,size:a,blksize:l,blocks:c,atime:p,birthtime:d,ctime:m,mtime:I,atimeMs:u,birthtimeMs:g,ctimeMs:f,mtimeMs:h,mode:B,crc:b});return i.bigint===!0?dE(R):R}throw new Error("Unreachable")}getUnixMode(e,r){if(this.libzip.file.getExternalAttributes(this.zip,e,0,0,this.libzip.uint08S,this.libzip.uint32S)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));return this.libzip.getValue(this.libzip.uint08S,"i8")>>>0!==this.libzip.ZIP_OPSYS_UNIX?r:this.libzip.getValue(this.libzip.uint32S,"i32")>>>16}registerListing(e){let r=this.listings.get(e);if(r)return r;let i=this.registerListing(v.dirname(e));return r=new Set,i.add(v.basename(e)),this.listings.set(e,r),r}registerEntry(e,r){this.registerListing(v.dirname(e)).add(v.basename(e)),this.entries.set(e,r)}unregisterListing(e){this.listings.delete(e);let r=this.listings.get(v.dirname(e));r==null||r.delete(v.basename(e))}unregisterEntry(e){this.unregisterListing(e);let r=this.entries.get(e);this.entries.delete(e),typeof r!="undefined"&&(this.fileSources.delete(r),this.isSymbolicLink(r)&&this.symlinkCount--)}deleteEntry(e,r){if(this.unregisterEntry(e),this.libzip.delete(this.zip,r)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip))}resolveFilename(e,r,i=!0){if(!this.ready)throw IE(`archive closed, ${e}`);let n=v.resolve(Se.root,r);if(n==="/")return Se.root;let s=this.entries.get(n);if(i&&s!==void 0)if(this.symlinkCount!==0&&this.isSymbolicLink(s)){let o=this.getFileSource(s).toString();return this.resolveFilename(e,v.resolve(v.dirname(n),o),!0)}else return n;for(;;){let o=this.resolveFilename(e,v.dirname(n),!0),a=this.listings.has(o),l=this.entries.has(o);if(!a&&!l)throw bs(e);if(!a)throw eo(e);if(n=v.resolve(o,v.basename(n)),!i||this.symlinkCount===0)break;let c=this.libzip.name.locate(this.zip,n.slice(1));if(c===-1)break;if(this.isSymbolicLink(c)){let u=this.getFileSource(c).toString();n=v.resolve(v.dirname(n),u)}else break}return n}allocateBuffer(e){Buffer.isBuffer(e)||(e=Buffer.from(e));let r=this.libzip.malloc(e.byteLength);if(!r)throw new Error("Couldn't allocate enough memory");return new Uint8Array(this.libzip.HEAPU8.buffer,r,e.byteLength).set(e),{buffer:r,byteLength:e.byteLength}}allocateUnattachedSource(e){let r=this.libzip.struct.errorS(),{buffer:i,byteLength:n}=this.allocateBuffer(e),s=this.libzip.source.fromUnattachedBuffer(i,n,0,!0,r);if(s===0)throw this.libzip.free(r),this.makeLibzipError(r);return s}allocateSource(e){let{buffer:r,byteLength:i}=this.allocateBuffer(e),n=this.libzip.source.fromBuffer(this.zip,r,i,0,!0);if(n===0)throw this.libzip.free(r),this.makeLibzipError(this.libzip.getError(this.zip));return n}setFileSource(e,r){let i=Buffer.isBuffer(r)?r:Buffer.from(r),n=v.relative(Se.root,e),s=this.allocateSource(r);try{let o=this.libzip.file.add(this.zip,n,s,this.libzip.ZIP_FL_OVERWRITE);if(o===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));if(this.level!=="mixed"){let a;if(this.level===0?a=this.libzip.ZIP_CM_STORE:a=this.libzip.ZIP_CM_DEFLATE,this.libzip.file.setCompression(this.zip,o,0,a,this.level)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip))}return this.fileSources.set(o,i),o}catch(o){throw this.libzip.source.free(s),o}}isSymbolicLink(e){if(this.symlinkCount===0)return!1;if(this.libzip.file.getExternalAttributes(this.zip,e,0,0,this.libzip.uint08S,this.libzip.uint32S)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));return this.libzip.getValue(this.libzip.uint08S,"i8")>>>0!==this.libzip.ZIP_OPSYS_UNIX?!1:(this.libzip.getValue(this.libzip.uint32S,"i32")>>>16&kn)===_o}getFileSource(e,r={asyncDecompress:!1}){let i=this.fileSources.get(e);if(typeof i!="undefined")return i;let n=this.libzip.struct.statS();if(this.libzip.statIndex(this.zip,e,0,0,n)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));let o=this.libzip.struct.statCompSize(n),a=this.libzip.struct.statCompMethod(n),l=this.libzip.malloc(o);try{let c=this.libzip.fopenIndex(this.zip,e,0,this.libzip.ZIP_FL_COMPRESSED);if(c===0)throw this.makeLibzipError(this.libzip.getError(this.zip));try{let u=this.libzip.fread(c,l,o,0);if(u===-1)throw this.makeLibzipError(this.libzip.file.getError(c));if(uo)throw new Error("Overread");let g=this.libzip.HEAPU8.subarray(l,l+o),f=Buffer.from(g);if(a===0)return this.fileSources.set(e,f),f;if(r.asyncDecompress)return new Promise((h,p)=>{ub.default.inflateRaw(f,(d,m)=>{d?p(d):(this.fileSources.set(e,m),h(m))})});{let h=ub.default.inflateRawSync(f);return this.fileSources.set(e,h),h}}finally{this.libzip.fclose(c)}}finally{this.libzip.free(l)}}async chmodPromise(e,r){return this.chmodSync(e,r)}chmodSync(e,r){if(this.readOnly)throw ln(`chmod '${e}'`);r&=493;let i=this.resolveFilename(`chmod '${e}'`,e,!1),n=this.entries.get(i);if(typeof n=="undefined")throw new Error(`Assertion failed: The entry should have been registered (${i})`);let o=this.getUnixMode(n,Vo|0)&~511|r;if(this.libzip.file.setExternalAttributes(this.zip,n,0,0,this.libzip.ZIP_OPSYS_UNIX,o<<16)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip))}async chownPromise(e,r,i){return this.chownSync(e,r,i)}chownSync(e,r,i){throw new Error("Unimplemented")}async renamePromise(e,r){return this.renameSync(e,r)}renameSync(e,r){throw new Error("Unimplemented")}async copyFilePromise(e,r,i){let{indexSource:n,indexDest:s,resolvedDestP:o}=this.prepareCopyFile(e,r,i),a=await this.getFileSource(n,{asyncDecompress:!0}),l=this.setFileSource(o,a);l!==s&&this.registerEntry(o,l)}copyFileSync(e,r,i=0){let{indexSource:n,indexDest:s,resolvedDestP:o}=this.prepareCopyFile(e,r,i),a=this.getFileSource(n),l=this.setFileSource(o,a);l!==s&&this.registerEntry(o,l)}prepareCopyFile(e,r,i=0){if(this.readOnly)throw ln(`copyfile '${e} -> '${r}'`);if((i&$c.constants.COPYFILE_FICLONE_FORCE)!=0)throw th("unsupported clone operation",`copyfile '${e}' -> ${r}'`);let n=this.resolveFilename(`copyfile '${e} -> ${r}'`,e),s=this.entries.get(n);if(typeof s=="undefined")throw $a(`copyfile '${e}' -> '${r}'`);let o=this.resolveFilename(`copyfile '${e}' -> ${r}'`,r),a=this.entries.get(o);if((i&($c.constants.COPYFILE_EXCL|$c.constants.COPYFILE_FICLONE_FORCE))!=0&&typeof a!="undefined")throw yE(`copyfile '${e}' -> '${r}'`);return{indexSource:s,resolvedDestP:o,indexDest:a}}async appendFilePromise(e,r,i){if(this.readOnly)throw ln(`open '${e}'`);return typeof i=="undefined"?i={flag:"a"}:typeof i=="string"?i={flag:"a",encoding:i}:typeof i.flag=="undefined"&&(i=P({flag:"a"},i)),this.writeFilePromise(e,r,i)}appendFileSync(e,r,i={}){if(this.readOnly)throw ln(`open '${e}'`);return typeof i=="undefined"?i={flag:"a"}:typeof i=="string"?i={flag:"a",encoding:i}:typeof i.flag=="undefined"&&(i=P({flag:"a"},i)),this.writeFileSync(e,r,i)}fdToPath(e,r){var n;let i=(n=this.fds.get(e))==null?void 0:n.p;if(typeof i=="undefined")throw Hi(r);return i}async writeFilePromise(e,r,i){let{encoding:n,mode:s,index:o,resolvedP:a}=this.prepareWriteFile(e,i);o!==void 0&&typeof i=="object"&&i.flag&&i.flag.includes("a")&&(r=Buffer.concat([await this.getFileSource(o,{asyncDecompress:!0}),Buffer.from(r)])),n!==null&&(r=r.toString(n));let l=this.setFileSource(a,r);l!==o&&this.registerEntry(a,l),s!==null&&await this.chmodPromise(a,s)}writeFileSync(e,r,i){let{encoding:n,mode:s,index:o,resolvedP:a}=this.prepareWriteFile(e,i);o!==void 0&&typeof i=="object"&&i.flag&&i.flag.includes("a")&&(r=Buffer.concat([this.getFileSource(o),Buffer.from(r)])),n!==null&&(r=r.toString(n));let l=this.setFileSource(a,r);l!==o&&this.registerEntry(a,l),s!==null&&this.chmodSync(a,s)}prepareWriteFile(e,r){if(typeof e=="number"&&(e=this.fdToPath(e,"read")),this.readOnly)throw ln(`open '${e}'`);let i=this.resolveFilename(`open '${e}'`,e);if(this.listings.has(i))throw rh(`open '${e}'`);let n=null,s=null;typeof r=="string"?n=r:typeof r=="object"&&({encoding:n=null,mode:s=null}=r);let o=this.entries.get(i);return{encoding:n,mode:s,resolvedP:i,index:o}}async unlinkPromise(e){return this.unlinkSync(e)}unlinkSync(e){if(this.readOnly)throw ln(`unlink '${e}'`);let r=this.resolveFilename(`unlink '${e}'`,e);if(this.listings.has(r))throw rh(`unlink '${e}'`);let i=this.entries.get(r);if(typeof i=="undefined")throw $a(`unlink '${e}'`);this.deleteEntry(r,i)}async utimesPromise(e,r,i){return this.utimesSync(e,r,i)}utimesSync(e,r,i){if(this.readOnly)throw ln(`utimes '${e}'`);let n=this.resolveFilename(`utimes '${e}'`,e);this.utimesImpl(n,i)}async lutimesPromise(e,r,i){return this.lutimesSync(e,r,i)}lutimesSync(e,r,i){if(this.readOnly)throw ln(`lutimes '${e}'`);let n=this.resolveFilename(`utimes '${e}'`,e,!1);this.utimesImpl(n,i)}utimesImpl(e,r){this.listings.has(e)&&(this.entries.has(e)||this.hydrateDirectory(e));let i=this.entries.get(e);if(i===void 0)throw new Error("Unreachable");if(this.libzip.file.setMtime(this.zip,i,0,ihe(r),0)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip))}async mkdirPromise(e,r){return this.mkdirSync(e,r)}mkdirSync(e,{mode:r=493,recursive:i=!1}={}){if(i){this.mkdirpSync(e,{chmod:r});return}if(this.readOnly)throw ln(`mkdir '${e}'`);let n=this.resolveFilename(`mkdir '${e}'`,e);if(this.entries.has(n)||this.listings.has(n))throw yE(`mkdir '${e}'`);this.hydrateDirectory(n),this.chmodSync(n,r)}async rmdirPromise(e,r){return this.rmdirSync(e,r)}rmdirSync(e,{recursive:r=!1}={}){if(this.readOnly)throw ln(`rmdir '${e}'`);if(r){this.removeSync(e);return}let i=this.resolveFilename(`rmdir '${e}'`,e),n=this.listings.get(i);if(!n)throw eo(`rmdir '${e}'`);if(n.size>0)throw dO(`rmdir '${e}'`);let s=this.entries.get(i);if(typeof s=="undefined")throw $a(`rmdir '${e}'`);this.deleteEntry(e,s)}hydrateDirectory(e){let r=this.libzip.dir.add(this.zip,v.relative(Se.root,e));if(r===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));return this.registerListing(e),this.registerEntry(e,r),r}async linkPromise(e,r){return this.linkSync(e,r)}linkSync(e,r){throw CO(`link '${e}' -> '${r}'`)}async symlinkPromise(e,r){return this.symlinkSync(e,r)}symlinkSync(e,r){if(this.readOnly)throw ln(`symlink '${e}' -> '${r}'`);let i=this.resolveFilename(`symlink '${e}' -> '${r}'`,r);if(this.listings.has(i))throw rh(`symlink '${e}' -> '${r}'`);if(this.entries.has(i))throw yE(`symlink '${e}' -> '${r}'`);let n=this.setFileSource(i,e);if(this.registerEntry(i,n),this.libzip.file.setExternalAttributes(this.zip,n,0,0,this.libzip.ZIP_OPSYS_UNIX,(_o|511)<<16)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));this.symlinkCount+=1}async readFilePromise(e,r){typeof r=="object"&&(r=r?r.encoding:void 0);let i=await this.readFileBuffer(e,{asyncDecompress:!0});return r?i.toString(r):i}readFileSync(e,r){typeof r=="object"&&(r=r?r.encoding:void 0);let i=this.readFileBuffer(e);return r?i.toString(r):i}readFileBuffer(e,r={asyncDecompress:!1}){typeof e=="number"&&(e=this.fdToPath(e,"read"));let i=this.resolveFilename(`open '${e}'`,e);if(!this.entries.has(i)&&!this.listings.has(i))throw bs(`open '${e}'`);if(e[e.length-1]==="/"&&!this.listings.has(i))throw eo(`open '${e}'`);if(this.listings.has(i))throw rh("read");let n=this.entries.get(i);if(n===void 0)throw new Error("Unreachable");return this.getFileSource(n,r)}async readdirPromise(e,r){return this.readdirSync(e,r)}readdirSync(e,r){let i=this.resolveFilename(`scandir '${e}'`,e);if(!this.entries.has(i)&&!this.listings.has(i))throw bs(`scandir '${e}'`);let n=this.listings.get(i);if(!n)throw eo(`scandir '${e}'`);let s=[...n];return(r==null?void 0:r.withFileTypes)?s.map(o=>Object.assign(this.statImpl("lstat",v.join(e,o)),{name:o})):s}async readlinkPromise(e){let r=this.prepareReadlink(e);return(await this.getFileSource(r,{asyncDecompress:!0})).toString()}readlinkSync(e){let r=this.prepareReadlink(e);return this.getFileSource(r).toString()}prepareReadlink(e){let r=this.resolveFilename(`readlink '${e}'`,e,!1);if(!this.entries.has(r)&&!this.listings.has(r))throw bs(`readlink '${e}'`);if(e[e.length-1]==="/"&&!this.listings.has(r))throw eo(`open '${e}'`);if(this.listings.has(r))throw $a(`readlink '${e}'`);let i=this.entries.get(r);if(i===void 0)throw new Error("Unreachable");if(!this.isSymbolicLink(i))throw $a(`readlink '${e}'`);return i}async truncatePromise(e,r=0){let i=this.resolveFilename(`open '${e}'`,e),n=this.entries.get(i);if(typeof n=="undefined")throw $a(`open '${e}'`);let s=await this.getFileSource(n,{asyncDecompress:!0}),o=Buffer.alloc(r,0);return s.copy(o),await this.writeFilePromise(e,o)}truncateSync(e,r=0){let i=this.resolveFilename(`open '${e}'`,e),n=this.entries.get(i);if(typeof n=="undefined")throw $a(`open '${e}'`);let s=this.getFileSource(n),o=Buffer.alloc(r,0);return s.copy(o),this.writeFileSync(e,o)}watch(e,r,i){let n;switch(typeof r){case"function":case"string":case"undefined":n=!0;break;default:({persistent:n=!0}=r);break}if(!n)return{on:()=>{},close:()=>{}};let s=setInterval(()=>{},24*60*60*1e3);return{on:()=>{},close:()=>{clearInterval(s)}}}watchFile(e,r,i){let n=v.resolve(Se.root,e);return QE(this,n,r,i)}unwatchFile(e,r){let i=v.resolve(Se.root,e);return nh(this,i,r)}};var fi=class extends eA{getExtractHint(e){return this.baseFs.getExtractHint(e)}resolve(e){return this.mapFromBase(this.baseFs.resolve(this.mapToBase(e)))}getRealPath(){return this.mapFromBase(this.baseFs.getRealPath())}async openPromise(e,r,i){return this.baseFs.openPromise(this.mapToBase(e),r,i)}openSync(e,r,i){return this.baseFs.openSync(this.mapToBase(e),r,i)}async opendirPromise(e,r){return Object.assign(await this.baseFs.opendirPromise(this.mapToBase(e),r),{path:e})}opendirSync(e,r){return Object.assign(this.baseFs.opendirSync(this.mapToBase(e),r),{path:e})}async readPromise(e,r,i,n,s){return await this.baseFs.readPromise(e,r,i,n,s)}readSync(e,r,i,n,s){return this.baseFs.readSync(e,r,i,n,s)}async writePromise(e,r,i,n,s){return typeof r=="string"?await this.baseFs.writePromise(e,r,i):await this.baseFs.writePromise(e,r,i,n,s)}writeSync(e,r,i,n,s){return typeof r=="string"?this.baseFs.writeSync(e,r,i):this.baseFs.writeSync(e,r,i,n,s)}async closePromise(e){return this.baseFs.closePromise(e)}closeSync(e){this.baseFs.closeSync(e)}createReadStream(e,r){return this.baseFs.createReadStream(e!==null?this.mapToBase(e):e,r)}createWriteStream(e,r){return this.baseFs.createWriteStream(e!==null?this.mapToBase(e):e,r)}async realpathPromise(e){return this.mapFromBase(await this.baseFs.realpathPromise(this.mapToBase(e)))}realpathSync(e){return this.mapFromBase(this.baseFs.realpathSync(this.mapToBase(e)))}async existsPromise(e){return this.baseFs.existsPromise(this.mapToBase(e))}existsSync(e){return this.baseFs.existsSync(this.mapToBase(e))}accessSync(e,r){return this.baseFs.accessSync(this.mapToBase(e),r)}async accessPromise(e,r){return this.baseFs.accessPromise(this.mapToBase(e),r)}async statPromise(e,r){return this.baseFs.statPromise(this.mapToBase(e),r)}statSync(e,r){return this.baseFs.statSync(this.mapToBase(e),r)}async fstatPromise(e,r){return this.baseFs.fstatPromise(e,r)}fstatSync(e,r){return this.baseFs.fstatSync(e,r)}async lstatPromise(e,r){return this.baseFs.lstatPromise(this.mapToBase(e),r)}lstatSync(e,r){return this.baseFs.lstatSync(this.mapToBase(e),r)}async chmodPromise(e,r){return this.baseFs.chmodPromise(this.mapToBase(e),r)}chmodSync(e,r){return this.baseFs.chmodSync(this.mapToBase(e),r)}async chownPromise(e,r,i){return this.baseFs.chownPromise(this.mapToBase(e),r,i)}chownSync(e,r,i){return this.baseFs.chownSync(this.mapToBase(e),r,i)}async renamePromise(e,r){return this.baseFs.renamePromise(this.mapToBase(e),this.mapToBase(r))}renameSync(e,r){return this.baseFs.renameSync(this.mapToBase(e),this.mapToBase(r))}async copyFilePromise(e,r,i=0){return this.baseFs.copyFilePromise(this.mapToBase(e),this.mapToBase(r),i)}copyFileSync(e,r,i=0){return this.baseFs.copyFileSync(this.mapToBase(e),this.mapToBase(r),i)}async appendFilePromise(e,r,i){return this.baseFs.appendFilePromise(this.fsMapToBase(e),r,i)}appendFileSync(e,r,i){return this.baseFs.appendFileSync(this.fsMapToBase(e),r,i)}async writeFilePromise(e,r,i){return this.baseFs.writeFilePromise(this.fsMapToBase(e),r,i)}writeFileSync(e,r,i){return this.baseFs.writeFileSync(this.fsMapToBase(e),r,i)}async unlinkPromise(e){return this.baseFs.unlinkPromise(this.mapToBase(e))}unlinkSync(e){return this.baseFs.unlinkSync(this.mapToBase(e))}async utimesPromise(e,r,i){return this.baseFs.utimesPromise(this.mapToBase(e),r,i)}utimesSync(e,r,i){return this.baseFs.utimesSync(this.mapToBase(e),r,i)}async mkdirPromise(e,r){return this.baseFs.mkdirPromise(this.mapToBase(e),r)}mkdirSync(e,r){return this.baseFs.mkdirSync(this.mapToBase(e),r)}async rmdirPromise(e,r){return this.baseFs.rmdirPromise(this.mapToBase(e),r)}rmdirSync(e,r){return this.baseFs.rmdirSync(this.mapToBase(e),r)}async linkPromise(e,r){return this.baseFs.linkPromise(this.mapToBase(e),this.mapToBase(r))}linkSync(e,r){return this.baseFs.linkSync(this.mapToBase(e),this.mapToBase(r))}async symlinkPromise(e,r,i){let n=this.mapToBase(r);if(this.pathUtils.isAbsolute(e))return this.baseFs.symlinkPromise(this.mapToBase(e),n,i);let s=this.mapToBase(this.pathUtils.join(this.pathUtils.dirname(r),e)),o=this.baseFs.pathUtils.relative(this.baseFs.pathUtils.dirname(n),s);return this.baseFs.symlinkPromise(o,n,i)}symlinkSync(e,r,i){let n=this.mapToBase(r);if(this.pathUtils.isAbsolute(e))return this.baseFs.symlinkSync(this.mapToBase(e),n,i);let s=this.mapToBase(this.pathUtils.join(this.pathUtils.dirname(r),e)),o=this.baseFs.pathUtils.relative(this.baseFs.pathUtils.dirname(n),s);return this.baseFs.symlinkSync(o,n,i)}async readFilePromise(e,r){return r==="utf8"?this.baseFs.readFilePromise(this.fsMapToBase(e),r):this.baseFs.readFilePromise(this.fsMapToBase(e),r)}readFileSync(e,r){return r==="utf8"?this.baseFs.readFileSync(this.fsMapToBase(e),r):this.baseFs.readFileSync(this.fsMapToBase(e),r)}async readdirPromise(e,r){return this.baseFs.readdirPromise(this.mapToBase(e),r)}readdirSync(e,r){return this.baseFs.readdirSync(this.mapToBase(e),r)}async readlinkPromise(e){return this.mapFromBase(await this.baseFs.readlinkPromise(this.mapToBase(e)))}readlinkSync(e){return this.mapFromBase(this.baseFs.readlinkSync(this.mapToBase(e)))}async truncatePromise(e,r){return this.baseFs.truncatePromise(this.mapToBase(e),r)}truncateSync(e,r){return this.baseFs.truncateSync(this.mapToBase(e),r)}watch(e,r,i){return this.baseFs.watch(this.mapToBase(e),r,i)}watchFile(e,r,i){return this.baseFs.watchFile(this.mapToBase(e),r,i)}unwatchFile(e,r){return this.baseFs.unwatchFile(this.mapToBase(e),r)}fsMapToBase(e){return typeof e=="number"?e:this.mapToBase(e)}};var Xo=class extends fi{constructor(e,{baseFs:r,pathUtils:i}){super(i);this.target=e,this.baseFs=r}getRealPath(){return this.target}getBaseFs(){return this.baseFs}mapFromBase(e){return e}mapToBase(e){return e}};var Ft=class extends fi{constructor(e,{baseFs:r=new Wt}={}){super(v);this.target=this.pathUtils.normalize(e),this.baseFs=r}getRealPath(){return this.pathUtils.resolve(this.baseFs.getRealPath(),this.target)}resolve(e){return this.pathUtils.isAbsolute(e)?v.normalize(e):this.baseFs.resolve(v.join(this.target,e))}mapFromBase(e){return e}mapToBase(e){return this.pathUtils.isAbsolute(e)?e:this.pathUtils.join(this.target,e)}};var vO=Se.root,Zo=class extends fi{constructor(e,{baseFs:r=new Wt}={}){super(v);this.target=this.pathUtils.resolve(Se.root,e),this.baseFs=r}getRealPath(){return this.pathUtils.resolve(this.baseFs.getRealPath(),this.pathUtils.relative(Se.root,this.target))}getTarget(){return this.target}getBaseFs(){return this.baseFs}mapToBase(e){let r=this.pathUtils.normalize(e);if(this.pathUtils.isAbsolute(e))return this.pathUtils.resolve(this.target,this.pathUtils.relative(vO,e));if(r.match(/^\.\.\/?/))throw new Error(`Resolving this path (${e}) would escape the jail`);return this.pathUtils.resolve(this.target,e)}mapFromBase(e){return this.pathUtils.resolve(vO,this.pathUtils.relative(this.target,e))}};var oh=class extends fi{constructor(e,r){super(r);this.instance=null;this.factory=e}get baseFs(){return this.instance||(this.instance=this.factory()),this.instance}set baseFs(e){this.instance=e}mapFromBase(e){return e}mapToBase(e){return e}};var ze=()=>Object.assign(new Error("ENOSYS: unsupported filesystem access"),{code:"ENOSYS"}),gb=class extends eA{constructor(){super(v)}getExtractHint(){throw ze()}getRealPath(){throw ze()}resolve(){throw ze()}async openPromise(){throw ze()}openSync(){throw ze()}async opendirPromise(){throw ze()}opendirSync(){throw ze()}async readPromise(){throw ze()}readSync(){throw ze()}async writePromise(){throw ze()}writeSync(){throw ze()}async closePromise(){throw ze()}closeSync(){throw ze()}createWriteStream(){throw ze()}createReadStream(){throw ze()}async realpathPromise(){throw ze()}realpathSync(){throw ze()}async readdirPromise(){throw ze()}readdirSync(){throw ze()}async existsPromise(e){throw ze()}existsSync(e){throw ze()}async accessPromise(){throw ze()}accessSync(){throw ze()}async statPromise(){throw ze()}statSync(){throw ze()}async fstatPromise(e){throw ze()}fstatSync(e){throw ze()}async lstatPromise(e){throw ze()}lstatSync(e){throw ze()}async chmodPromise(){throw ze()}chmodSync(){throw ze()}async chownPromise(){throw ze()}chownSync(){throw ze()}async mkdirPromise(){throw ze()}mkdirSync(){throw ze()}async rmdirPromise(){throw ze()}rmdirSync(){throw ze()}async linkPromise(){throw ze()}linkSync(){throw ze()}async symlinkPromise(){throw ze()}symlinkSync(){throw ze()}async renamePromise(){throw ze()}renameSync(){throw ze()}async copyFilePromise(){throw ze()}copyFileSync(){throw ze()}async appendFilePromise(){throw ze()}appendFileSync(){throw ze()}async writeFilePromise(){throw ze()}writeFileSync(){throw ze()}async unlinkPromise(){throw ze()}unlinkSync(){throw ze()}async utimesPromise(){throw ze()}utimesSync(){throw ze()}async readFilePromise(){throw ze()}readFileSync(){throw ze()}async readlinkPromise(){throw ze()}readlinkSync(){throw ze()}async truncatePromise(){throw ze()}truncateSync(){throw ze()}watch(){throw ze()}watchFile(){throw ze()}unwatchFile(){throw ze()}},bE=gb;bE.instance=new gb;var ah=class extends fi{constructor(e){super(M);this.baseFs=e}mapFromBase(e){return M.fromPortablePath(e)}mapToBase(e){return M.toPortablePath(e)}};var nhe=/^[0-9]+$/,fb=/^(\/(?:[^/]+\/)*?(?:\$\$virtual|__virtual__))((?:\/((?:[^/]+-)?[a-f0-9]+)(?:\/([^/]+))?)?((?:\/.*)?))$/,she=/^([^/]+-)?[a-f0-9]+$/,Pr=class extends fi{static makeVirtualPath(e,r,i){if(v.basename(e)!=="__virtual__")throw new Error('Assertion failed: Virtual folders must be named "__virtual__"');if(!v.basename(r).match(she))throw new Error("Assertion failed: Virtual components must be ended by an hexadecimal hash");let s=v.relative(v.dirname(e),i).split("/"),o=0;for(;o{let r=t.indexOf(e);if(r<=0)return null;let i=r;for(;r>=0&&(i=r+e.length,t[i]!==v.sep);){if(t[r-1]===v.sep)return null;r=t.indexOf(e,i)}return t.length>i&&t[i]!==v.sep?null:t.slice(0,i)},Jn=class extends gl{constructor({libzip:e,baseFs:r=new Wt,filter:i=null,maxOpenFiles:n=Infinity,readOnlyArchives:s=!1,useCache:o=!0,maxAge:a=5e3,fileExtensions:l=null}){super();this.fdMap=new Map;this.nextFd=3;this.isZip=new Set;this.notZip=new Set;this.realPaths=new Map;this.limitOpenFilesTimeout=null;this.libzipFactory=typeof e!="function"?()=>e:e,this.baseFs=r,this.zipInstances=o?new Map:null,this.filter=i,this.maxOpenFiles=n,this.readOnlyArchives=s,this.maxAge=a,this.fileExtensions=l}static async openPromise(e,r){let i=new Jn(r);try{return await e(i)}finally{i.saveAndClose()}}get libzip(){return typeof this.libzipInstance=="undefined"&&(this.libzipInstance=this.libzipFactory()),this.libzipInstance}getExtractHint(e){return this.baseFs.getExtractHint(e)}getRealPath(){return this.baseFs.getRealPath()}saveAndClose(){if(sh(this),this.zipInstances)for(let[e,{zipFs:r}]of this.zipInstances.entries())r.saveAndClose(),this.zipInstances.delete(e)}discardAndClose(){if(sh(this),this.zipInstances)for(let[e,{zipFs:r}]of this.zipInstances.entries())r.discardAndClose(),this.zipInstances.delete(e)}resolve(e){return this.baseFs.resolve(e)}remapFd(e,r){let i=this.nextFd++|$o;return this.fdMap.set(i,[e,r]),i}async openPromise(e,r,i){return await this.makeCallPromise(e,async()=>await this.baseFs.openPromise(e,r,i),async(n,{subPath:s})=>this.remapFd(n,await n.openPromise(s,r,i)))}openSync(e,r,i){return this.makeCallSync(e,()=>this.baseFs.openSync(e,r,i),(n,{subPath:s})=>this.remapFd(n,n.openSync(s,r,i)))}async opendirPromise(e,r){return await this.makeCallPromise(e,async()=>await this.baseFs.opendirPromise(e,r),async(i,{subPath:n})=>await i.opendirPromise(n,r),{requireSubpath:!1})}opendirSync(e,r){return this.makeCallSync(e,()=>this.baseFs.opendirSync(e,r),(i,{subPath:n})=>i.opendirSync(n,r),{requireSubpath:!1})}async readPromise(e,r,i,n,s){if((e&$o)==0)return await this.baseFs.readPromise(e,r,i,n,s);let o=this.fdMap.get(e);if(typeof o=="undefined")throw Hi("read");let[a,l]=o;return await a.readPromise(l,r,i,n,s)}readSync(e,r,i,n,s){if((e&$o)==0)return this.baseFs.readSync(e,r,i,n,s);let o=this.fdMap.get(e);if(typeof o=="undefined")throw Hi("readSync");let[a,l]=o;return a.readSync(l,r,i,n,s)}async writePromise(e,r,i,n,s){if((e&$o)==0)return typeof r=="string"?await this.baseFs.writePromise(e,r,i):await this.baseFs.writePromise(e,r,i,n,s);let o=this.fdMap.get(e);if(typeof o=="undefined")throw Hi("write");let[a,l]=o;return typeof r=="string"?await a.writePromise(l,r,i):await a.writePromise(l,r,i,n,s)}writeSync(e,r,i,n,s){if((e&$o)==0)return typeof r=="string"?this.baseFs.writeSync(e,r,i):this.baseFs.writeSync(e,r,i,n,s);let o=this.fdMap.get(e);if(typeof o=="undefined")throw Hi("writeSync");let[a,l]=o;return typeof r=="string"?a.writeSync(l,r,i):a.writeSync(l,r,i,n,s)}async closePromise(e){if((e&$o)==0)return await this.baseFs.closePromise(e);let r=this.fdMap.get(e);if(typeof r=="undefined")throw Hi("close");this.fdMap.delete(e);let[i,n]=r;return await i.closePromise(n)}closeSync(e){if((e&$o)==0)return this.baseFs.closeSync(e);let r=this.fdMap.get(e);if(typeof r=="undefined")throw Hi("closeSync");this.fdMap.delete(e);let[i,n]=r;return i.closeSync(n)}createReadStream(e,r){return e===null?this.baseFs.createReadStream(e,r):this.makeCallSync(e,()=>this.baseFs.createReadStream(e,r),(i,{subPath:n})=>i.createReadStream(n,r))}createWriteStream(e,r){return e===null?this.baseFs.createWriteStream(e,r):this.makeCallSync(e,()=>this.baseFs.createWriteStream(e,r),(i,{subPath:n})=>i.createWriteStream(n,r))}async realpathPromise(e){return await this.makeCallPromise(e,async()=>await this.baseFs.realpathPromise(e),async(r,{archivePath:i,subPath:n})=>{let s=this.realPaths.get(i);return typeof s=="undefined"&&(s=await this.baseFs.realpathPromise(i),this.realPaths.set(i,s)),this.pathUtils.join(s,this.pathUtils.relative(Se.root,await r.realpathPromise(n)))})}realpathSync(e){return this.makeCallSync(e,()=>this.baseFs.realpathSync(e),(r,{archivePath:i,subPath:n})=>{let s=this.realPaths.get(i);return typeof s=="undefined"&&(s=this.baseFs.realpathSync(i),this.realPaths.set(i,s)),this.pathUtils.join(s,this.pathUtils.relative(Se.root,r.realpathSync(n)))})}async existsPromise(e){return await this.makeCallPromise(e,async()=>await this.baseFs.existsPromise(e),async(r,{subPath:i})=>await r.existsPromise(i))}existsSync(e){return this.makeCallSync(e,()=>this.baseFs.existsSync(e),(r,{subPath:i})=>r.existsSync(i))}async accessPromise(e,r){return await this.makeCallPromise(e,async()=>await this.baseFs.accessPromise(e,r),async(i,{subPath:n})=>await i.accessPromise(n,r))}accessSync(e,r){return this.makeCallSync(e,()=>this.baseFs.accessSync(e,r),(i,{subPath:n})=>i.accessSync(n,r))}async statPromise(e,r){return await this.makeCallPromise(e,async()=>await this.baseFs.statPromise(e,r),async(i,{subPath:n})=>await i.statPromise(n,r))}statSync(e,r){return this.makeCallSync(e,()=>this.baseFs.statSync(e,r),(i,{subPath:n})=>i.statSync(n,r))}async fstatPromise(e,r){if((e&$o)==0)return this.baseFs.fstatPromise(e,r);let i=this.fdMap.get(e);if(typeof i=="undefined")throw Hi("fstat");let[n,s]=i;return n.fstatPromise(s,r)}fstatSync(e,r){if((e&$o)==0)return this.baseFs.fstatSync(e,r);let i=this.fdMap.get(e);if(typeof i=="undefined")throw Hi("fstatSync");let[n,s]=i;return n.fstatSync(s,r)}async lstatPromise(e,r){return await this.makeCallPromise(e,async()=>await this.baseFs.lstatPromise(e,r),async(i,{subPath:n})=>await i.lstatPromise(n,r))}lstatSync(e,r){return this.makeCallSync(e,()=>this.baseFs.lstatSync(e,r),(i,{subPath:n})=>i.lstatSync(n,r))}async chmodPromise(e,r){return await this.makeCallPromise(e,async()=>await this.baseFs.chmodPromise(e,r),async(i,{subPath:n})=>await i.chmodPromise(n,r))}chmodSync(e,r){return this.makeCallSync(e,()=>this.baseFs.chmodSync(e,r),(i,{subPath:n})=>i.chmodSync(n,r))}async chownPromise(e,r,i){return await this.makeCallPromise(e,async()=>await this.baseFs.chownPromise(e,r,i),async(n,{subPath:s})=>await n.chownPromise(s,r,i))}chownSync(e,r,i){return this.makeCallSync(e,()=>this.baseFs.chownSync(e,r,i),(n,{subPath:s})=>n.chownSync(s,r,i))}async renamePromise(e,r){return await this.makeCallPromise(e,async()=>await this.makeCallPromise(r,async()=>await this.baseFs.renamePromise(e,r),async()=>{throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"})}),async(i,{subPath:n})=>await this.makeCallPromise(r,async()=>{throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"})},async(s,{subPath:o})=>{if(i!==s)throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"});return await i.renamePromise(n,o)}))}renameSync(e,r){return this.makeCallSync(e,()=>this.makeCallSync(r,()=>this.baseFs.renameSync(e,r),()=>{throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"})}),(i,{subPath:n})=>this.makeCallSync(r,()=>{throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"})},(s,{subPath:o})=>{if(i!==s)throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"});return i.renameSync(n,o)}))}async copyFilePromise(e,r,i=0){let n=async(s,o,a,l)=>{if((i&Ah.constants.COPYFILE_FICLONE_FORCE)!=0)throw Object.assign(new Error(`EXDEV: cross-device clone not permitted, copyfile '${o}' -> ${l}'`),{code:"EXDEV"});if(i&Ah.constants.COPYFILE_EXCL&&await this.existsPromise(o))throw Object.assign(new Error(`EEXIST: file already exists, copyfile '${o}' -> '${l}'`),{code:"EEXIST"});let c;try{c=await s.readFilePromise(o)}catch(u){throw Object.assign(new Error(`EINVAL: invalid argument, copyfile '${o}' -> '${l}'`),{code:"EINVAL"})}await a.writeFilePromise(l,c)};return await this.makeCallPromise(e,async()=>await this.makeCallPromise(r,async()=>await this.baseFs.copyFilePromise(e,r,i),async(s,{subPath:o})=>await n(this.baseFs,e,s,o)),async(s,{subPath:o})=>await this.makeCallPromise(r,async()=>await n(s,o,this.baseFs,r),async(a,{subPath:l})=>s!==a?await n(s,o,a,l):await s.copyFilePromise(o,l,i)))}copyFileSync(e,r,i=0){let n=(s,o,a,l)=>{if((i&Ah.constants.COPYFILE_FICLONE_FORCE)!=0)throw Object.assign(new Error(`EXDEV: cross-device clone not permitted, copyfile '${o}' -> ${l}'`),{code:"EXDEV"});if(i&Ah.constants.COPYFILE_EXCL&&this.existsSync(o))throw Object.assign(new Error(`EEXIST: file already exists, copyfile '${o}' -> '${l}'`),{code:"EEXIST"});let c;try{c=s.readFileSync(o)}catch(u){throw Object.assign(new Error(`EINVAL: invalid argument, copyfile '${o}' -> '${l}'`),{code:"EINVAL"})}a.writeFileSync(l,c)};return this.makeCallSync(e,()=>this.makeCallSync(r,()=>this.baseFs.copyFileSync(e,r,i),(s,{subPath:o})=>n(this.baseFs,e,s,o)),(s,{subPath:o})=>this.makeCallSync(r,()=>n(s,o,this.baseFs,r),(a,{subPath:l})=>s!==a?n(s,o,a,l):s.copyFileSync(o,l,i)))}async appendFilePromise(e,r,i){return await this.makeCallPromise(e,async()=>await this.baseFs.appendFilePromise(e,r,i),async(n,{subPath:s})=>await n.appendFilePromise(s,r,i))}appendFileSync(e,r,i){return this.makeCallSync(e,()=>this.baseFs.appendFileSync(e,r,i),(n,{subPath:s})=>n.appendFileSync(s,r,i))}async writeFilePromise(e,r,i){return await this.makeCallPromise(e,async()=>await this.baseFs.writeFilePromise(e,r,i),async(n,{subPath:s})=>await n.writeFilePromise(s,r,i))}writeFileSync(e,r,i){return this.makeCallSync(e,()=>this.baseFs.writeFileSync(e,r,i),(n,{subPath:s})=>n.writeFileSync(s,r,i))}async unlinkPromise(e){return await this.makeCallPromise(e,async()=>await this.baseFs.unlinkPromise(e),async(r,{subPath:i})=>await r.unlinkPromise(i))}unlinkSync(e){return this.makeCallSync(e,()=>this.baseFs.unlinkSync(e),(r,{subPath:i})=>r.unlinkSync(i))}async utimesPromise(e,r,i){return await this.makeCallPromise(e,async()=>await this.baseFs.utimesPromise(e,r,i),async(n,{subPath:s})=>await n.utimesPromise(s,r,i))}utimesSync(e,r,i){return this.makeCallSync(e,()=>this.baseFs.utimesSync(e,r,i),(n,{subPath:s})=>n.utimesSync(s,r,i))}async mkdirPromise(e,r){return await this.makeCallPromise(e,async()=>await this.baseFs.mkdirPromise(e,r),async(i,{subPath:n})=>await i.mkdirPromise(n,r))}mkdirSync(e,r){return this.makeCallSync(e,()=>this.baseFs.mkdirSync(e,r),(i,{subPath:n})=>i.mkdirSync(n,r))}async rmdirPromise(e,r){return await this.makeCallPromise(e,async()=>await this.baseFs.rmdirPromise(e,r),async(i,{subPath:n})=>await i.rmdirPromise(n,r))}rmdirSync(e,r){return this.makeCallSync(e,()=>this.baseFs.rmdirSync(e,r),(i,{subPath:n})=>i.rmdirSync(n,r))}async linkPromise(e,r){return await this.makeCallPromise(r,async()=>await this.baseFs.linkPromise(e,r),async(i,{subPath:n})=>await i.linkPromise(e,n))}linkSync(e,r){return this.makeCallSync(r,()=>this.baseFs.linkSync(e,r),(i,{subPath:n})=>i.linkSync(e,n))}async symlinkPromise(e,r,i){return await this.makeCallPromise(r,async()=>await this.baseFs.symlinkPromise(e,r,i),async(n,{subPath:s})=>await n.symlinkPromise(e,s))}symlinkSync(e,r,i){return this.makeCallSync(r,()=>this.baseFs.symlinkSync(e,r,i),(n,{subPath:s})=>n.symlinkSync(e,s))}async readFilePromise(e,r){return this.makeCallPromise(e,async()=>{switch(r){case"utf8":return await this.baseFs.readFilePromise(e,r);default:return await this.baseFs.readFilePromise(e,r)}},async(i,{subPath:n})=>await i.readFilePromise(n,r))}readFileSync(e,r){return this.makeCallSync(e,()=>{switch(r){case"utf8":return this.baseFs.readFileSync(e,r);default:return this.baseFs.readFileSync(e,r)}},(i,{subPath:n})=>i.readFileSync(n,r))}async readdirPromise(e,r){return await this.makeCallPromise(e,async()=>await this.baseFs.readdirPromise(e,r),async(i,{subPath:n})=>await i.readdirPromise(n,r),{requireSubpath:!1})}readdirSync(e,r){return this.makeCallSync(e,()=>this.baseFs.readdirSync(e,r),(i,{subPath:n})=>i.readdirSync(n,r),{requireSubpath:!1})}async readlinkPromise(e){return await this.makeCallPromise(e,async()=>await this.baseFs.readlinkPromise(e),async(r,{subPath:i})=>await r.readlinkPromise(i))}readlinkSync(e){return this.makeCallSync(e,()=>this.baseFs.readlinkSync(e),(r,{subPath:i})=>r.readlinkSync(i))}async truncatePromise(e,r){return await this.makeCallPromise(e,async()=>await this.baseFs.truncatePromise(e,r),async(i,{subPath:n})=>await i.truncatePromise(n,r))}truncateSync(e,r){return this.makeCallSync(e,()=>this.baseFs.truncateSync(e,r),(i,{subPath:n})=>i.truncateSync(n,r))}watch(e,r,i){return this.makeCallSync(e,()=>this.baseFs.watch(e,r,i),(n,{subPath:s})=>n.watch(s,r,i))}watchFile(e,r,i){return this.makeCallSync(e,()=>this.baseFs.watchFile(e,r,i),()=>QE(this,e,r,i))}unwatchFile(e,r){return this.makeCallSync(e,()=>this.baseFs.unwatchFile(e,r),()=>nh(this,e,r))}async makeCallPromise(e,r,i,{requireSubpath:n=!0}={}){if(typeof e!="string")return await r();let s=this.resolve(e),o=this.findZip(s);return o?n&&o.subPath==="/"?await r():await this.getZipPromise(o.archivePath,async a=>await i(a,o)):await r()}makeCallSync(e,r,i,{requireSubpath:n=!0}={}){if(typeof e!="string")return r();let s=this.resolve(e),o=this.findZip(s);return!o||n&&o.subPath==="/"?r():this.getZipSync(o.archivePath,a=>i(a,o))}findZip(e){if(this.filter&&!this.filter.test(e))return null;let r="";for(;;){let i=e.substr(r.length),n;if(!this.fileExtensions)n=SO(i,".zip");else for(let s of this.fileExtensions)if(n=SO(i,s),n)break;if(!n)return null;if(r=this.pathUtils.join(r,n),this.isZip.has(r)===!1){if(this.notZip.has(r))continue;try{if(!this.baseFs.lstatSync(r).isFile()){this.notZip.add(r);continue}}catch{return null}this.isZip.add(r)}return{archivePath:r,subPath:this.pathUtils.join(Se.root,e.substr(r.length))}}}limitOpenFiles(e){if(this.zipInstances===null)return;let r=Date.now(),i=r+this.maxAge,n=e===null?0:this.zipInstances.size-e;for(let[s,{zipFs:o,expiresAt:a,refCount:l}]of this.zipInstances.entries())if(!(l!==0||o.hasOpenFileHandles())){if(r>=a){o.saveAndClose(),this.zipInstances.delete(s),n-=1;continue}else if(e===null||n<=0){i=a;break}o.saveAndClose(),this.zipInstances.delete(s),n-=1}this.limitOpenFilesTimeout===null&&(e===null&&this.zipInstances.size>0||e!==null)&&(this.limitOpenFilesTimeout=setTimeout(()=>{this.limitOpenFilesTimeout=null,this.limitOpenFiles(null)},i-r).unref())}async getZipPromise(e,r){let i=async()=>({baseFs:this.baseFs,libzip:this.libzip,readOnly:this.readOnlyArchives,stats:await this.baseFs.statPromise(e)});if(this.zipInstances){let n=this.zipInstances.get(e);if(!n){let s=await i();n=this.zipInstances.get(e),n||(n={zipFs:new Jr(e,s),expiresAt:0,refCount:0})}this.zipInstances.delete(e),this.limitOpenFiles(this.maxOpenFiles-1),this.zipInstances.set(e,n),n.expiresAt=Date.now()+this.maxAge,n.refCount+=1;try{return await r(n.zipFs)}finally{n.refCount-=1}}else{let n=new Jr(e,await i());try{return await r(n)}finally{n.saveAndClose()}}}getZipSync(e,r){let i=()=>({baseFs:this.baseFs,libzip:this.libzip,readOnly:this.readOnlyArchives,stats:this.baseFs.statSync(e)});if(this.zipInstances){let n=this.zipInstances.get(e);return n||(n={zipFs:new Jr(e,i()),expiresAt:0,refCount:0}),this.zipInstances.delete(e),this.limitOpenFiles(this.maxOpenFiles-1),this.zipInstances.set(e,n),n.expiresAt=Date.now()+this.maxAge,r(n.zipFs)}else{let n=new Jr(e,i());try{return r(n)}finally{n.saveAndClose()}}}};var lh=ie(require("util"));var vE=ie(require("url"));var hb=class extends fi{constructor(e){super(M);this.baseFs=e}mapFromBase(e){return e}mapToBase(e){return e instanceof vE.URL?(0,vE.fileURLToPath)(e):e}};var ohe=new Set(["accessSync","appendFileSync","createReadStream","createWriteStream","chmodSync","chownSync","closeSync","copyFileSync","linkSync","lstatSync","fstatSync","lutimesSync","mkdirSync","openSync","opendirSync","readSync","readlinkSync","readFileSync","readdirSync","readlinkSync","realpathSync","renameSync","rmdirSync","statSync","symlinkSync","truncateSync","unlinkSync","unwatchFile","utimesSync","watch","watchFile","writeFileSync","writeSync"]),xO=new Set(["accessPromise","appendFilePromise","chmodPromise","chownPromise","closePromise","copyFilePromise","linkPromise","fstatPromise","lstatPromise","lutimesPromise","mkdirPromise","openPromise","opendirPromise","readdirPromise","realpathPromise","readFilePromise","readdirPromise","readlinkPromise","renamePromise","rmdirPromise","statPromise","symlinkPromise","truncatePromise","unlinkPromise","utimesPromise","writeFilePromise","writeSync"]),ahe=new Set(["appendFilePromise","chmodPromise","chownPromise","closePromise","readPromise","readFilePromise","statPromise","truncatePromise","utimesPromise","writePromise","writeFilePromise"]);function pb(t,e){e=new hb(e);let r=(i,n,s)=>{let o=i[n];i[n]=s,typeof(o==null?void 0:o[lh.promisify.custom])!="undefined"&&(s[lh.promisify.custom]=o[lh.promisify.custom])};{r(t,"exists",(i,...n)=>{let o=typeof n[n.length-1]=="function"?n.pop():()=>{};process.nextTick(()=>{e.existsPromise(i).then(a=>{o(a)},()=>{o(!1)})})}),r(t,"read",(i,n,...s)=>{let a=typeof s[s.length-1]=="function"?s.pop():()=>{};process.nextTick(()=>{e.readPromise(i,n,...s).then(l=>{a(null,l,n)},l=>{a(l,0,n)})})});for(let i of xO){let n=i.replace(/Promise$/,"");if(typeof t[n]=="undefined")continue;let s=e[i];if(typeof s=="undefined")continue;r(t,n,(...a)=>{let c=typeof a[a.length-1]=="function"?a.pop():()=>{};process.nextTick(()=>{s.apply(e,a).then(u=>{c(null,u)},u=>{c(u)})})})}t.realpath.native=t.realpath}{r(t,"existsSync",i=>{try{return e.existsSync(i)}catch(n){return!1}});for(let i of ohe){let n=i;if(typeof t[n]=="undefined")continue;let s=e[i];typeof s!="undefined"&&r(t,n,s.bind(e))}t.realpathSync.native=t.realpathSync}{let i=process.emitWarning;process.emitWarning=()=>{};let n;try{n=t.promises}finally{process.emitWarning=i}if(typeof n!="undefined"){for(let o of xO){let a=o.replace(/Promise$/,"");if(typeof n[a]=="undefined")continue;let l=e[o];typeof l!="undefined"&&o!=="open"&&r(n,a,l.bind(e))}class s{constructor(a){this.fd=a}}for(let o of ahe){let a=o.replace(/Promise$/,""),l=e[o];typeof l!="undefined"&&r(s.prototype,a,function(...c){return l.call(e,this.fd,...c)})}r(n,"open",async(...o)=>{let a=await e.openPromise(...o);return new s(a)})}}t.read[lh.promisify.custom]=async(i,n,...s)=>({bytesRead:await e.readPromise(i,n,...s),buffer:n})}function SE(t,e){let r=Object.create(t);return pb(r,e),r}var kO=ie(require("os"));function PO(t){let e=M.toPortablePath(kO.default.tmpdir()),r=Math.ceil(Math.random()*4294967296).toString(16).padStart(8,"0");return v.join(e,`${t}${r}`)}var vs=new Set,DO=!1;function RO(){DO||(DO=!0,process.once("exit",()=>{T.rmtempSync()}))}var T=Object.assign(new Wt,{detachTemp(t){vs.delete(t)},mktempSync(t){for(RO();;){let e=PO("xfs-");try{this.mkdirSync(e)}catch(i){if(i.code==="EEXIST")continue;throw i}let r=this.realpathSync(e);if(vs.add(r),typeof t!="undefined")try{return t(r)}finally{if(vs.has(r)){vs.delete(r);try{this.removeSync(r)}catch{}}}else return r}},async mktempPromise(t){for(RO();;){let e=PO("xfs-");try{await this.mkdirPromise(e)}catch(i){if(i.code==="EEXIST")continue;throw i}let r=await this.realpathPromise(e);if(vs.add(r),typeof t!="undefined")try{return await t(r)}finally{if(vs.has(r)){vs.delete(r);try{await this.removePromise(r)}catch{}}}else return r}},async rmtempPromise(){await Promise.all(Array.from(vs.values()).map(async t=>{try{await T.removePromise(t,{maxRetries:0}),vs.delete(t)}catch{}}))},rmtempSync(){for(let t of vs)try{T.removeSync(t),vs.delete(t)}catch{}}});var vb=ie(bb()),Pn;(function(i){i[i.Never=0]="Never",i[i.ErrorCode=1]="ErrorCode",i[i.Always=2]="Always"})(Pn||(Pn={}));function dl(t){return t!==null&&typeof t.fd=="number"}var Cl=new Set;function Sb(){}function xb(){for(let t of Cl)t.kill()}async function to(t,e,{cwd:r,env:i=process.env,strict:n=!1,stdin:s=null,stdout:o,stderr:a,end:l=2}){let c=["pipe","pipe","pipe"];s===null?c[0]="ignore":dl(s)&&(c[0]=s),dl(o)&&(c[1]=o),dl(a)&&(c[2]=a);let u=(0,vb.default)(t,e,{cwd:M.fromPortablePath(r),env:_(P({},i),{PWD:M.fromPortablePath(r)}),stdio:c});Cl.add(u),Cl.size===1&&(process.on("SIGINT",Sb),process.on("SIGTERM",xb)),!dl(s)&&s!==null&&s.pipe(u.stdin),dl(o)||u.stdout.pipe(o,{end:!1}),dl(a)||u.stderr.pipe(a,{end:!1});let g=()=>{for(let f of new Set([o,a]))dl(f)||f.end()};return new Promise((f,h)=>{u.on("error",p=>{Cl.delete(u),Cl.size===0&&(process.off("SIGINT",Sb),process.off("SIGTERM",xb)),(l===2||l===1)&&g(),h(p)}),u.on("close",(p,d)=>{Cl.delete(u),Cl.size===0&&(process.off("SIGINT",Sb),process.off("SIGTERM",xb)),(l===2||l===1&&p>0)&&g(),p===0||!n?f({code:kb(p,d)}):h(p!==null?new Error(`Child "${t}" exited with exit code ${p}`):new Error(`Child "${t}" exited with signal ${d}`))})})}async function Nhe(t,e,{cwd:r,env:i=process.env,encoding:n="utf8",strict:s=!1}){let o=["ignore","pipe","pipe"],a=[],l=[],c=M.fromPortablePath(r);typeof i.PWD!="undefined"&&(i=_(P({},i),{PWD:c}));let u=(0,vb.default)(t,e,{cwd:c,env:i,stdio:o});return u.stdout.on("data",g=>{a.push(g)}),u.stderr.on("data",g=>{l.push(g)}),await new Promise((g,f)=>{u.on("error",()=>{f()}),u.on("close",(h,p)=>{let d=n==="buffer"?Buffer.concat(a):Buffer.concat(a).toString(n),m=n==="buffer"?Buffer.concat(l):Buffer.concat(l).toString(n);h===0||!s?g({code:kb(h,p),stdout:d,stderr:m}):f(Object.assign(new Error(`Child "${t}" exited with exit code ${h} + +${m}`),{code:kb(h,p),stdout:d,stderr:m}))})})}var Lhe=new Map([["SIGINT",2],["SIGQUIT",3],["SIGKILL",9],["SIGTERM",15]]);function kb(t,e){let r=Lhe.get(e);return typeof r!="undefined"?128+r:t!=null?t:1}var Pb={};it(Pb,{getDefaultGlobalFolder:()=>Rb,getHomeFolder:()=>uh,isFolderInside:()=>Fb});var Db=ie(require("os"));function Rb(){if(process.platform==="win32"){let t=M.toPortablePath(process.env.LOCALAPPDATA||M.join((0,Db.homedir)(),"AppData","Local"));return v.resolve(t,"Yarn/Berry")}if(process.env.XDG_DATA_HOME){let t=M.toPortablePath(process.env.XDG_DATA_HOME);return v.resolve(t,"yarn/berry")}return v.resolve(uh(),".yarn/berry")}function uh(){return M.toPortablePath((0,Db.homedir)()||"/usr/local/share")}function Fb(t,e){let r=v.relative(e,t);return r&&!r.startsWith("..")&&!v.isAbsolute(r)}var ue={};it(ue,{LogLevel:()=>Ts,Style:()=>Gl,Type:()=>Le,addLogFilterSupport:()=>Cp,applyColor:()=>On,applyHyperlink:()=>Ku,applyStyle:()=>Py,json:()=>Uu,mark:()=>xx,pretty:()=>Ve,prettyField:()=>Yl,prettyList:()=>Kx,supportsColor:()=>xy,supportsHyperlinks:()=>Mx,tuple:()=>jl});var pp=ie(jb()),dp=ie(ml()),o3=ie(Nn()),a3=ie(gU());var z;(function(te){te[te.UNNAMED=0]="UNNAMED",te[te.EXCEPTION=1]="EXCEPTION",te[te.MISSING_PEER_DEPENDENCY=2]="MISSING_PEER_DEPENDENCY",te[te.CYCLIC_DEPENDENCIES=3]="CYCLIC_DEPENDENCIES",te[te.DISABLED_BUILD_SCRIPTS=4]="DISABLED_BUILD_SCRIPTS",te[te.BUILD_DISABLED=5]="BUILD_DISABLED",te[te.SOFT_LINK_BUILD=6]="SOFT_LINK_BUILD",te[te.MUST_BUILD=7]="MUST_BUILD",te[te.MUST_REBUILD=8]="MUST_REBUILD",te[te.BUILD_FAILED=9]="BUILD_FAILED",te[te.RESOLVER_NOT_FOUND=10]="RESOLVER_NOT_FOUND",te[te.FETCHER_NOT_FOUND=11]="FETCHER_NOT_FOUND",te[te.LINKER_NOT_FOUND=12]="LINKER_NOT_FOUND",te[te.FETCH_NOT_CACHED=13]="FETCH_NOT_CACHED",te[te.YARN_IMPORT_FAILED=14]="YARN_IMPORT_FAILED",te[te.REMOTE_INVALID=15]="REMOTE_INVALID",te[te.REMOTE_NOT_FOUND=16]="REMOTE_NOT_FOUND",te[te.RESOLUTION_PACK=17]="RESOLUTION_PACK",te[te.CACHE_CHECKSUM_MISMATCH=18]="CACHE_CHECKSUM_MISMATCH",te[te.UNUSED_CACHE_ENTRY=19]="UNUSED_CACHE_ENTRY",te[te.MISSING_LOCKFILE_ENTRY=20]="MISSING_LOCKFILE_ENTRY",te[te.WORKSPACE_NOT_FOUND=21]="WORKSPACE_NOT_FOUND",te[te.TOO_MANY_MATCHING_WORKSPACES=22]="TOO_MANY_MATCHING_WORKSPACES",te[te.CONSTRAINTS_MISSING_DEPENDENCY=23]="CONSTRAINTS_MISSING_DEPENDENCY",te[te.CONSTRAINTS_INCOMPATIBLE_DEPENDENCY=24]="CONSTRAINTS_INCOMPATIBLE_DEPENDENCY",te[te.CONSTRAINTS_EXTRANEOUS_DEPENDENCY=25]="CONSTRAINTS_EXTRANEOUS_DEPENDENCY",te[te.CONSTRAINTS_INVALID_DEPENDENCY=26]="CONSTRAINTS_INVALID_DEPENDENCY",te[te.CANT_SUGGEST_RESOLUTIONS=27]="CANT_SUGGEST_RESOLUTIONS",te[te.FROZEN_LOCKFILE_EXCEPTION=28]="FROZEN_LOCKFILE_EXCEPTION",te[te.CROSS_DRIVE_VIRTUAL_LOCAL=29]="CROSS_DRIVE_VIRTUAL_LOCAL",te[te.FETCH_FAILED=30]="FETCH_FAILED",te[te.DANGEROUS_NODE_MODULES=31]="DANGEROUS_NODE_MODULES",te[te.NODE_GYP_INJECTED=32]="NODE_GYP_INJECTED",te[te.AUTHENTICATION_NOT_FOUND=33]="AUTHENTICATION_NOT_FOUND",te[te.INVALID_CONFIGURATION_KEY=34]="INVALID_CONFIGURATION_KEY",te[te.NETWORK_ERROR=35]="NETWORK_ERROR",te[te.LIFECYCLE_SCRIPT=36]="LIFECYCLE_SCRIPT",te[te.CONSTRAINTS_MISSING_FIELD=37]="CONSTRAINTS_MISSING_FIELD",te[te.CONSTRAINTS_INCOMPATIBLE_FIELD=38]="CONSTRAINTS_INCOMPATIBLE_FIELD",te[te.CONSTRAINTS_EXTRANEOUS_FIELD=39]="CONSTRAINTS_EXTRANEOUS_FIELD",te[te.CONSTRAINTS_INVALID_FIELD=40]="CONSTRAINTS_INVALID_FIELD",te[te.AUTHENTICATION_INVALID=41]="AUTHENTICATION_INVALID",te[te.PROLOG_UNKNOWN_ERROR=42]="PROLOG_UNKNOWN_ERROR",te[te.PROLOG_SYNTAX_ERROR=43]="PROLOG_SYNTAX_ERROR",te[te.PROLOG_EXISTENCE_ERROR=44]="PROLOG_EXISTENCE_ERROR",te[te.STACK_OVERFLOW_RESOLUTION=45]="STACK_OVERFLOW_RESOLUTION",te[te.AUTOMERGE_FAILED_TO_PARSE=46]="AUTOMERGE_FAILED_TO_PARSE",te[te.AUTOMERGE_IMMUTABLE=47]="AUTOMERGE_IMMUTABLE",te[te.AUTOMERGE_SUCCESS=48]="AUTOMERGE_SUCCESS",te[te.AUTOMERGE_REQUIRED=49]="AUTOMERGE_REQUIRED",te[te.DEPRECATED_CLI_SETTINGS=50]="DEPRECATED_CLI_SETTINGS",te[te.PLUGIN_NAME_NOT_FOUND=51]="PLUGIN_NAME_NOT_FOUND",te[te.INVALID_PLUGIN_REFERENCE=52]="INVALID_PLUGIN_REFERENCE",te[te.CONSTRAINTS_AMBIGUITY=53]="CONSTRAINTS_AMBIGUITY",te[te.CACHE_OUTSIDE_PROJECT=54]="CACHE_OUTSIDE_PROJECT",te[te.IMMUTABLE_INSTALL=55]="IMMUTABLE_INSTALL",te[te.IMMUTABLE_CACHE=56]="IMMUTABLE_CACHE",te[te.INVALID_MANIFEST=57]="INVALID_MANIFEST",te[te.PACKAGE_PREPARATION_FAILED=58]="PACKAGE_PREPARATION_FAILED",te[te.INVALID_RANGE_PEER_DEPENDENCY=59]="INVALID_RANGE_PEER_DEPENDENCY",te[te.INCOMPATIBLE_PEER_DEPENDENCY=60]="INCOMPATIBLE_PEER_DEPENDENCY",te[te.DEPRECATED_PACKAGE=61]="DEPRECATED_PACKAGE",te[te.INCOMPATIBLE_OS=62]="INCOMPATIBLE_OS",te[te.INCOMPATIBLE_CPU=63]="INCOMPATIBLE_CPU",te[te.FROZEN_ARTIFACT_EXCEPTION=64]="FROZEN_ARTIFACT_EXCEPTION",te[te.TELEMETRY_NOTICE=65]="TELEMETRY_NOTICE",te[te.PATCH_HUNK_FAILED=66]="PATCH_HUNK_FAILED",te[te.INVALID_CONFIGURATION_VALUE=67]="INVALID_CONFIGURATION_VALUE",te[te.UNUSED_PACKAGE_EXTENSION=68]="UNUSED_PACKAGE_EXTENSION",te[te.REDUNDANT_PACKAGE_EXTENSION=69]="REDUNDANT_PACKAGE_EXTENSION",te[te.AUTO_NM_SUCCESS=70]="AUTO_NM_SUCCESS",te[te.NM_CANT_INSTALL_EXTERNAL_SOFT_LINK=71]="NM_CANT_INSTALL_EXTERNAL_SOFT_LINK",te[te.NM_PRESERVE_SYMLINKS_REQUIRED=72]="NM_PRESERVE_SYMLINKS_REQUIRED",te[te.UPDATE_LOCKFILE_ONLY_SKIP_LINK=73]="UPDATE_LOCKFILE_ONLY_SKIP_LINK",te[te.NM_HARDLINKS_MODE_DOWNGRADED=74]="NM_HARDLINKS_MODE_DOWNGRADED",te[te.PROLOG_INSTANTIATION_ERROR=75]="PROLOG_INSTANTIATION_ERROR",te[te.INCOMPATIBLE_ARCHITECTURE=76]="INCOMPATIBLE_ARCHITECTURE",te[te.GHOST_ARCHITECTURE=77]="GHOST_ARCHITECTURE"})(z||(z={}));function KE(t){return`YN${t.toString(10).padStart(4,"0")}`}var de={};it(de,{BufferStream:()=>OH,CachingStrategy:()=>Dl,DefaultStream:()=>KH,assertNever:()=>Lv,bufferStream:()=>Cu,buildIgnorePattern:()=>DEe,convertMapsToIndexableObjects:()=>aI,dynamicRequire:()=>mu,escapeRegExp:()=>SEe,getArrayWithDefault:()=>hu,getFactoryWithDefault:()=>na,getMapWithDefault:()=>pu,getSetWithDefault:()=>Pl,isIndexableObject:()=>Tv,isPathLike:()=>REe,isTaggedYarnVersion:()=>vEe,mapAndFilter:()=>kl,mapAndFind:()=>MH,overrideType:()=>Nv,parseBoolean:()=>Hh,parseOptionalBoolean:()=>jH,prettifyAsyncErrors:()=>du,prettifySyncErrors:()=>Mv,releaseAfterUseAsync:()=>kEe,replaceEnvVariables:()=>Ov,sortMap:()=>gn,tryParseOptionalBoolean:()=>Kv,validateEnum:()=>xEe});var vh={};it(vh,{Builtins:()=>Iv,Cli:()=>oo,Command:()=>ye,Option:()=>Y,UsageError:()=>me});var yl=0,Eh=1,Gi=2,sv="",hi="\0",Au=-1,ov=/^(-h|--help)(?:=([0-9]+))?$/,UE=/^(--[a-z]+(?:-[a-z]+)*|-[a-zA-Z]+)$/,fU=/^-[a-zA-Z]{2,}$/,av=/^([^=]+)=([\s\S]*)$/,Av=process.env.DEBUG_CLI==="1";var me=class extends Error{constructor(e){super(e);this.clipanion={type:"usage"},this.name="UsageError"}},Ih=class extends Error{constructor(e,r){super();if(this.input=e,this.candidates=r,this.clipanion={type:"none"},this.name="UnknownSyntaxError",this.candidates.length===0)this.message="Command not found, but we're not sure what's the alternative.";else if(this.candidates.every(i=>i.reason!==null&&i.reason===r[0].reason)){let[{reason:i}]=this.candidates;this.message=`${i} + +${this.candidates.map(({usage:n})=>`$ ${n}`).join(` +`)}`}else if(this.candidates.length===1){let[{usage:i}]=this.candidates;this.message=`Command not found; did you mean: + +$ ${i} +${lv(e)}`}else this.message=`Command not found; did you mean one of: + +${this.candidates.map(({usage:i},n)=>`${`${n}.`.padStart(4)} ${i}`).join(` +`)} + +${lv(e)}`}},cv=class extends Error{constructor(e,r){super();this.input=e,this.usages=r,this.clipanion={type:"none"},this.name="AmbiguousSyntaxError",this.message=`Cannot find which to pick amongst the following alternatives: + +${this.usages.map((i,n)=>`${`${n}.`.padStart(4)} ${i}`).join(` +`)} + +${lv(e)}`}},lv=t=>`While running ${t.filter(e=>e!==hi).map(e=>{let r=JSON.stringify(e);return e.match(/\s/)||e.length===0||r!==`"${e}"`?r:e}).join(" ")}`;var yh=Symbol("clipanion/isOption");function ji(t){return _(P({},t),{[yh]:!0})}function so(t,e){return typeof t=="undefined"?[t,e]:typeof t=="object"&&t!==null&&!Array.isArray(t)?[void 0,t]:[t,e]}function HE(t,e=!1){let r=t.replace(/^\.: /,"");return e&&(r=r[0].toLowerCase()+r.slice(1)),r}function wh(t,e){return e.length===1?new me(`${t}: ${HE(e[0],!0)}`):new me(`${t}: +${e.map(r=>` +- ${HE(r)}`).join("")}`)}function Bh(t,e,r){if(typeof r=="undefined")return e;let i=[],n=[],s=a=>{let l=e;return e=a,s.bind(null,l)};if(!r(e,{errors:i,coercions:n,coercion:s}))throw wh(`Invalid value for ${t}`,i);for(let[,a]of n)a();return e}var ye=class{constructor(){this.help=!1}static Usage(e){return e}async catch(e){throw e}async validateAndExecute(){let r=this.constructor.schema;if(typeof r!="undefined"){let{isDict:n,isUnknown:s,applyCascade:o}=await Promise.resolve().then(()=>(Ss(),lu)),a=o(n(s()),r),l=[],c=[];if(!a(this,{errors:l,coercions:c}))throw wh("Invalid option schema",l);for(let[,g]of c)g()}let i=await this.execute();return typeof i!="undefined"?i:0}};ye.isOption=yh;ye.Default=[];function un(t){Av&&console.log(t)}var BU={candidateUsage:null,requiredOptions:[],errorMessage:null,ignoreOptions:!1,path:[],positionals:[],options:[],remainder:null,selectedIndex:Au};function QU(){return{nodes:[qi(),qi(),qi()]}}function nCe(t){let e=QU(),r=[],i=e.nodes.length;for(let n of t){r.push(i);for(let s=0;s{if(e.has(i))return;e.add(i);let n=t.nodes[i];for(let o of Object.values(n.statics))for(let{to:a}of o)r(a);for(let[,{to:o}]of n.dynamics)r(o);for(let{to:o}of n.shortcuts)r(o);let s=new Set(n.shortcuts.map(({to:o})=>o));for(;n.shortcuts.length>0;){let{to:o}=n.shortcuts.shift(),a=t.nodes[o];for(let[l,c]of Object.entries(a.statics)){let u=Object.prototype.hasOwnProperty.call(n.statics,l)?n.statics[l]:n.statics[l]=[];for(let g of c)u.some(({to:f})=>g.to===f)||u.push(g)}for(let[l,c]of a.dynamics)n.dynamics.some(([u,{to:g}])=>l===u&&c.to===g)||n.dynamics.push([l,c]);for(let l of a.shortcuts)s.has(l.to)||(n.shortcuts.push(l),s.add(l.to))}};r(yl)}function oCe(t,{prefix:e=""}={}){if(Av){un(`${e}Nodes are:`);for(let r=0;rl!==Gi).map(({state:l})=>({usage:l.candidateUsage,reason:null})));if(a.every(({node:l})=>l===Gi))throw new Ih(e,a.map(({state:l})=>({usage:l.candidateUsage,reason:l.errorMessage})));i=aCe(a)}if(i.length>0){un(" Results:");for(let s of i)un(` - ${s.node} -> ${JSON.stringify(s.state)}`)}else un(" No results");return i}function ACe(t,e){if(e.selectedIndex!==null)return!0;if(Object.prototype.hasOwnProperty.call(t.statics,hi)){for(let{to:r}of t.statics[hi])if(r===Eh)return!0}return!1}function cCe(t,e,r){let i=r&&e.length>0?[""]:[],n=vU(t,e,r),s=[],o=new Set,a=(l,c,u=!0)=>{let g=[c];for(;g.length>0;){let h=g;g=[];for(let p of h){let d=t.nodes[p],m=Object.keys(d.statics);for(let I of Object.keys(d.statics)){let B=m[0];for(let{to:b,reducer:R}of d.statics[B])R==="pushPath"&&(u||l.push(B),g.push(b))}}u=!1}let f=JSON.stringify(l);o.has(f)||(s.push(l),o.add(f))};for(let{node:l,state:c}of n){if(c.remainder!==null){a([c.remainder],l);continue}let u=t.nodes[l],g=ACe(u,c);for(let[f,h]of Object.entries(u.statics))(g&&f!==hi||!f.startsWith("-")&&h.some(({reducer:p})=>p==="pushPath"))&&a([...i,f],l);if(!!g)for(let[f,{to:h}]of u.dynamics){if(h===Gi)continue;let p=lCe(f,c);if(p!==null)for(let d of p)a([...i,d],l)}}return[...s].sort()}function gCe(t,e){let r=vU(t,[...e,hi]);return uCe(e,r.map(({state:i})=>i))}function aCe(t){let e=0;for(let{state:r}of t)r.path.length>e&&(e=r.path.length);return t.filter(({state:r})=>r.path.length===e)}function uCe(t,e){let r=e.filter(g=>g.selectedIndex!==null);if(r.length===0)throw new Error;let i=r.filter(g=>g.requiredOptions.every(f=>f.some(h=>g.options.find(p=>p.name===h))));if(i.length===0)throw new Ih(t,r.map(g=>({usage:g.candidateUsage,reason:null})));let n=0;for(let g of i)g.path.length>n&&(n=g.path.length);let s=i.filter(g=>g.path.length===n),o=g=>g.positionals.filter(({extra:f})=>!f).length+g.options.length,a=s.map(g=>({state:g,positionalCount:o(g)})),l=0;for(let{positionalCount:g}of a)g>l&&(l=g);let c=a.filter(({positionalCount:g})=>g===l).map(({state:g})=>g),u=fCe(c);if(u.length>1)throw new cv(t,u.map(g=>g.candidateUsage));return u[0]}function fCe(t){let e=[],r=[];for(let i of t)i.selectedIndex===Au?r.push(i):e.push(i);return r.length>0&&e.push(_(P({},BU),{path:SU(...r.map(i=>i.path)),options:r.reduce((i,n)=>i.concat(n.options),[])})),e}function SU(t,e,...r){return e===void 0?Array.from(t):SU(t.filter((i,n)=>i===e[n]),...r)}function qi(){return{dynamics:[],shortcuts:[],statics:{}}}function bU(t){return t===Eh||t===Gi}function Cv(t,e=0){return{to:bU(t.to)?t.to:t.to>2?t.to+e-2:t.to+e,reducer:t.reducer}}function iCe(t,e=0){let r=qi();for(let[i,n]of t.dynamics)r.dynamics.push([i,Cv(n,e)]);for(let i of t.shortcuts)r.shortcuts.push(Cv(i,e));for(let[i,n]of Object.entries(t.statics))r.statics[i]=n.map(s=>Cv(s,e));return r}function pi(t,e,r,i,n){t.nodes[e].dynamics.push([r,{to:i,reducer:n}])}function cu(t,e,r,i){t.nodes[e].shortcuts.push({to:r,reducer:i})}function ta(t,e,r,i,n){(Object.prototype.hasOwnProperty.call(t.nodes[e].statics,r)?t.nodes[e].statics[r]:t.nodes[e].statics[r]=[]).push({to:i,reducer:n})}function jE(t,e,r,i){if(Array.isArray(e)){let[n,...s]=e;return t[n](r,i,...s)}else return t[e](r,i)}function lCe(t,e){let r=Array.isArray(t)?YE[t[0]]:YE[t];if(typeof r.suggest=="undefined")return null;let i=Array.isArray(t)?t.slice(1):[];return r.suggest(e,...i)}var YE={always:()=>!0,isOptionLike:(t,e)=>!t.ignoreOptions&&e!=="-"&&e.startsWith("-"),isNotOptionLike:(t,e)=>t.ignoreOptions||e==="-"||!e.startsWith("-"),isOption:(t,e,r,i)=>!t.ignoreOptions&&e===r,isBatchOption:(t,e,r)=>!t.ignoreOptions&&fU.test(e)&&[...e.slice(1)].every(i=>r.includes(`-${i}`)),isBoundOption:(t,e,r,i)=>{let n=e.match(av);return!t.ignoreOptions&&!!n&&UE.test(n[1])&&r.includes(n[1])&&i.filter(s=>s.names.includes(n[1])).every(s=>s.allowBinding)},isNegatedOption:(t,e,r)=>!t.ignoreOptions&&e===`--no-${r.slice(2)}`,isHelp:(t,e)=>!t.ignoreOptions&&ov.test(e),isUnsupportedOption:(t,e,r)=>!t.ignoreOptions&&e.startsWith("-")&&UE.test(e)&&!r.includes(e),isInvalidOption:(t,e)=>!t.ignoreOptions&&e.startsWith("-")&&!UE.test(e)};YE.isOption.suggest=(t,e,r=!0)=>r?null:[e];var dv={setCandidateState:(t,e,r)=>P(P({},t),r),setSelectedIndex:(t,e,r)=>_(P({},t),{selectedIndex:r}),pushBatch:(t,e)=>_(P({},t),{options:t.options.concat([...e.slice(1)].map(r=>({name:`-${r}`,value:!0})))}),pushBound:(t,e)=>{let[,r,i]=e.match(av);return _(P({},t),{options:t.options.concat({name:r,value:i})})},pushPath:(t,e)=>_(P({},t),{path:t.path.concat(e)}),pushPositional:(t,e)=>_(P({},t),{positionals:t.positionals.concat({value:e,extra:!1})}),pushExtra:(t,e)=>_(P({},t),{positionals:t.positionals.concat({value:e,extra:!0})}),pushExtraNoLimits:(t,e)=>_(P({},t),{positionals:t.positionals.concat({value:e,extra:Ln})}),pushTrue:(t,e,r=e)=>_(P({},t),{options:t.options.concat({name:e,value:!0})}),pushFalse:(t,e,r=e)=>_(P({},t),{options:t.options.concat({name:r,value:!1})}),pushUndefined:(t,e)=>_(P({},t),{options:t.options.concat({name:e,value:void 0})}),pushStringValue:(t,e)=>{var r;let i=_(P({},t),{options:[...t.options]}),n=t.options[t.options.length-1];return n.value=((r=n.value)!==null&&r!==void 0?r:[]).concat([e]),i},setStringValue:(t,e)=>{let r=_(P({},t),{options:[...t.options]}),i=t.options[t.options.length-1];return i.value=e,r},inhibateOptions:t=>_(P({},t),{ignoreOptions:!0}),useHelp:(t,e,r)=>{let[,,i]=e.match(ov);return typeof i!="undefined"?_(P({},t),{options:[{name:"-c",value:String(r)},{name:"-i",value:i}]}):_(P({},t),{options:[{name:"-c",value:String(r)}]})},setError:(t,e,r)=>e===hi?_(P({},t),{errorMessage:`${r}.`}):_(P({},t),{errorMessage:`${r} ("${e}").`}),setOptionArityError:(t,e)=>{let r=t.options[t.options.length-1];return _(P({},t),{errorMessage:`Not enough arguments to option ${r.name}.`})}},Ln=Symbol(),xU=class{constructor(e,r){this.allOptionNames=[],this.arity={leading:[],trailing:[],extra:[],proxy:!1},this.options=[],this.paths=[],this.cliIndex=e,this.cliOpts=r}addPath(e){this.paths.push(e)}setArity({leading:e=this.arity.leading,trailing:r=this.arity.trailing,extra:i=this.arity.extra,proxy:n=this.arity.proxy}){Object.assign(this.arity,{leading:e,trailing:r,extra:i,proxy:n})}addPositional({name:e="arg",required:r=!0}={}){if(!r&&this.arity.extra===Ln)throw new Error("Optional parameters cannot be declared when using .rest() or .proxy()");if(!r&&this.arity.trailing.length>0)throw new Error("Optional parameters cannot be declared after the required trailing positional arguments");!r&&this.arity.extra!==Ln?this.arity.extra.push(e):this.arity.extra!==Ln&&this.arity.extra.length===0?this.arity.leading.push(e):this.arity.trailing.push(e)}addRest({name:e="arg",required:r=0}={}){if(this.arity.extra===Ln)throw new Error("Infinite lists cannot be declared multiple times in the same command");if(this.arity.trailing.length>0)throw new Error("Infinite lists cannot be declared after the required trailing positional arguments");for(let i=0;i1)throw new Error("The arity cannot be higher than 1 when the option only supports the --arg=value syntax");if(!Number.isInteger(i))throw new Error(`The arity must be an integer, got ${i}`);if(i<0)throw new Error(`The arity must be positive, got ${i}`);this.allOptionNames.push(...e),this.options.push({names:e,description:r,arity:i,hidden:n,required:s,allowBinding:o})}setContext(e){this.context=e}usage({detailed:e=!0,inlineOptions:r=!0}={}){let i=[this.cliOpts.binaryName],n=[];if(this.paths.length>0&&i.push(...this.paths[0]),e){for(let{names:o,arity:a,hidden:l,description:c,required:u}of this.options){if(l)continue;let g=[];for(let h=0;h`:`[${f}]`)}i.push(...this.arity.leading.map(o=>`<${o}>`)),this.arity.extra===Ln?i.push("..."):i.push(...this.arity.extra.map(o=>`[${o}]`)),i.push(...this.arity.trailing.map(o=>`<${o}>`))}return{usage:i.join(" "),options:n}}compile(){if(typeof this.context=="undefined")throw new Error("Assertion failed: No context attached");let e=QU(),r=yl,i=this.usage().usage,n=this.options.filter(a=>a.required).map(a=>a.names);r=xs(e,qi()),ta(e,yl,sv,r,["setCandidateState",{candidateUsage:i,requiredOptions:n}]);let s=this.arity.proxy?"always":"isNotOptionLike",o=this.paths.length>0?this.paths:[[]];for(let a of o){let l=r;if(a.length>0){let f=xs(e,qi());cu(e,l,f),this.registerOptions(e,f),l=f}for(let f=0;f0||!this.arity.proxy){let f=xs(e,qi());pi(e,l,"isHelp",f,["useHelp",this.cliIndex]),ta(e,f,hi,Eh,["setSelectedIndex",Au]),this.registerOptions(e,l)}this.arity.leading.length>0&&ta(e,l,hi,Gi,["setError","Not enough positional arguments"]);let c=l;for(let f=0;f0||f+1!==this.arity.leading.length)&&ta(e,h,hi,Gi,["setError","Not enough positional arguments"]),pi(e,c,"isNotOptionLike",h,"pushPositional"),c=h}let u=c;if(this.arity.extra===Ln||this.arity.extra.length>0){let f=xs(e,qi());if(cu(e,c,f),this.arity.extra===Ln){let h=xs(e,qi());this.arity.proxy||this.registerOptions(e,h),pi(e,c,s,h,"pushExtraNoLimits"),pi(e,h,s,h,"pushExtraNoLimits"),cu(e,h,f)}else for(let h=0;h0&&ta(e,u,hi,Gi,["setError","Not enough positional arguments"]);let g=u;for(let f=0;fo.length>s.length?o:s,"");if(i.arity===0)for(let s of i.names)pi(e,r,["isOption",s,i.hidden||s!==n],r,"pushTrue"),s.startsWith("--")&&!s.startsWith("--no-")&&pi(e,r,["isNegatedOption",s],r,["pushFalse",s]);else{let s=xs(e,qi());for(let o of i.names)pi(e,r,["isOption",o,i.hidden||o!==n],s,"pushUndefined");for(let o=0;o=0&&egCe(i,n),suggest:(n,s)=>cCe(i,n,s)}}};var kU=80,mv=Array(kU).fill("\u2501");for(let t=0;t<=24;++t)mv[mv.length-t]=`[38;5;${232+t}m\u2501`;var Ev={header:t=>`\u2501\u2501\u2501 ${t}${t.length`${t}`,error:t=>`${t}`,code:t=>`${t}`},PU={header:t=>t,bold:t=>t,error:t=>t,code:t=>t};function hCe(t){let e=t.split(` +`),r=e.filter(n=>n.match(/\S/)),i=r.length>0?r.reduce((n,s)=>Math.min(n,s.length-s.trimStart().length),Number.MAX_VALUE):0;return e.map(n=>n.slice(i).trimRight()).join(` +`)}function Vn(t,{format:e,paragraphs:r}){return t=t.replace(/\r\n?/g,` +`),t=hCe(t),t=t.replace(/^\n+|\n+$/g,""),t=t.replace(/^(\s*)-([^\n]*?)\n+/gm,`$1-$2 + +`),t=t.replace(/\n(\n)?\n*/g,"$1"),r&&(t=t.split(/\n/).map(i=>{let n=i.match(/^\s*[*-][\t ]+(.*)/);if(!n)return i.match(/(.{1,80})(?: |$)/g).join(` +`);let s=i.length-i.trimStart().length;return n[1].match(new RegExp(`(.{1,${78-s}})(?: |$)`,"g")).map((o,a)=>" ".repeat(s)+(a===0?"- ":" ")+o).join(` +`)}).join(` + +`)),t=t.replace(/(`+)((?:.|[\n])*?)\1/g,(i,n,s)=>e.code(n+s+n)),t=t.replace(/(\*\*)((?:.|[\n])*?)\1/g,(i,n,s)=>e.bold(n+s+n)),t?`${t} +`:""}var bh=class extends ye{constructor(e){super();this.contexts=e,this.commands=[]}static from(e,r){let i=new bh(r);i.path=e.path;for(let n of e.options)switch(n.name){case"-c":i.commands.push(Number(n.value));break;case"-i":i.index=Number(n.value);break}return i}async execute(){let e=this.commands;if(typeof this.index!="undefined"&&this.index>=0&&this.index1){this.context.stdout.write(`Multiple commands match your selection: +`),this.context.stdout.write(` +`);let r=0;for(let i of this.commands)this.context.stdout.write(this.cli.usage(this.contexts[i].commandClass,{prefix:`${r++}. `.padStart(5)}));this.context.stdout.write(` +`),this.context.stdout.write(`Run again with -h= to see the longer details of any of those commands. +`)}}};var DU=Symbol("clipanion/errorCommand");function pCe(){return process.env.FORCE_COLOR==="0"?!1:!!(process.env.FORCE_COLOR==="1"||typeof process.stdout!="undefined"&&process.stdout.isTTY)}var oo=class{constructor({binaryLabel:e,binaryName:r="...",binaryVersion:i,enableColors:n=pCe()}={}){this.registrations=new Map,this.builder=new Qh({binaryName:r}),this.binaryLabel=e,this.binaryName=r,this.binaryVersion=i,this.enableColors=n}static from(e,r={}){let i=new oo(r);for(let n of e)i.register(n);return i}register(e){var r;let i=new Map,n=new e;for(let l in n){let c=n[l];typeof c=="object"&&c!==null&&c[ye.isOption]&&i.set(l,c)}let s=this.builder.command(),o=s.cliIndex,a=(r=e.paths)!==null&&r!==void 0?r:n.paths;if(typeof a!="undefined")for(let l of a)s.addPath(l);this.registrations.set(e,{specs:i,builder:s,index:o});for(let[l,{definition:c}]of i.entries())c(s,l);s.setContext({commandClass:e})}process(e){let{contexts:r,process:i}=this.builder.compile(),n=i(e);switch(n.selectedIndex){case Au:return bh.from(n,r);default:{let{commandClass:s}=r[n.selectedIndex],o=this.registrations.get(s);if(typeof o=="undefined")throw new Error("Assertion failed: Expected the command class to have been registered.");let a=new s;a.path=n.path;try{for(let[l,{transformer:c}]of o.specs.entries())a[l]=c(o.builder,l,n);return a}catch(l){throw l[DU]=a,l}}break}}async run(e,r){let i;if(!Array.isArray(e))i=e;else try{i=this.process(e)}catch(s){return r.stdout.write(this.error(s)),1}if(i.help)return r.stdout.write(this.usage(i,{detailed:!0})),0;i.context=r,i.cli={binaryLabel:this.binaryLabel,binaryName:this.binaryName,binaryVersion:this.binaryVersion,enableColors:this.enableColors,definitions:()=>this.definitions(),error:(s,o)=>this.error(s,o),process:s=>this.process(s),run:(s,o)=>this.run(s,P(P({},r),o)),usage:(s,o)=>this.usage(s,o)};let n;try{n=await i.validateAndExecute().catch(s=>i.catch(s).then(()=>0))}catch(s){return r.stdout.write(this.error(s,{command:i})),1}return n}async runExit(e,r){process.exitCode=await this.run(e,r)}suggest(e,r){let{suggest:i}=this.builder.compile();return i(e,r)}definitions({colored:e=!1}={}){let r=[];for(let[i,{index:n}]of this.registrations){if(typeof i.usage=="undefined")continue;let{usage:s}=this.getUsageByIndex(n,{detailed:!1}),{usage:o,options:a}=this.getUsageByIndex(n,{detailed:!0,inlineOptions:!1}),l=typeof i.usage.category!="undefined"?Vn(i.usage.category,{format:this.format(e),paragraphs:!1}):void 0,c=typeof i.usage.description!="undefined"?Vn(i.usage.description,{format:this.format(e),paragraphs:!1}):void 0,u=typeof i.usage.details!="undefined"?Vn(i.usage.details,{format:this.format(e),paragraphs:!0}):void 0,g=typeof i.usage.examples!="undefined"?i.usage.examples.map(([f,h])=>[Vn(f,{format:this.format(e),paragraphs:!1}),h.replace(/\$0/g,this.binaryName)]):void 0;r.push({path:s,usage:o,category:l,description:c,details:u,examples:g,options:a})}return r}usage(e=null,{colored:r,detailed:i=!1,prefix:n="$ "}={}){var s;if(e===null){for(let l of this.registrations.keys()){let c=l.paths,u=typeof l.usage!="undefined";if(!c||c.length===0||c.length===1&&c[0].length===0||((s=c==null?void 0:c.some(h=>h.length===0))!==null&&s!==void 0?s:!1))if(e){e=null;break}else e=l;else if(u){e=null;continue}}e&&(i=!0)}let o=e!==null&&e instanceof ye?e.constructor:e,a="";if(o)if(i){let{description:l="",details:c="",examples:u=[]}=o.usage||{};l!==""&&(a+=Vn(l,{format:this.format(r),paragraphs:!1}).replace(/^./,h=>h.toUpperCase()),a+=` +`),(c!==""||u.length>0)&&(a+=`${this.format(r).header("Usage")} +`,a+=` +`);let{usage:g,options:f}=this.getUsageByRegistration(o,{inlineOptions:!1});if(a+=`${this.format(r).bold(n)}${g} +`,f.length>0){a+=` +`,a+=`${Ev.header("Options")} +`;let h=f.reduce((p,d)=>Math.max(p,d.definition.length),0);a+=` +`;for(let{definition:p,description:d}of f)a+=` ${this.format(r).bold(p.padEnd(h))} ${Vn(d,{format:this.format(r),paragraphs:!1})}`}if(c!==""&&(a+=` +`,a+=`${this.format(r).header("Details")} +`,a+=` +`,a+=Vn(c,{format:this.format(r),paragraphs:!0})),u.length>0){a+=` +`,a+=`${this.format(r).header("Examples")} +`;for(let[h,p]of u)a+=` +`,a+=Vn(h,{format:this.format(r),paragraphs:!1}),a+=`${p.replace(/^/m,` ${this.format(r).bold(n)}`).replace(/\$0/g,this.binaryName)} +`}}else{let{usage:l}=this.getUsageByRegistration(o);a+=`${this.format(r).bold(n)}${l} +`}else{let l=new Map;for(let[f,{index:h}]of this.registrations.entries()){if(typeof f.usage=="undefined")continue;let p=typeof f.usage.category!="undefined"?Vn(f.usage.category,{format:this.format(r),paragraphs:!1}):null,d=l.get(p);typeof d=="undefined"&&l.set(p,d=[]);let{usage:m}=this.getUsageByIndex(h);d.push({commandClass:f,usage:m})}let c=Array.from(l.keys()).sort((f,h)=>f===null?-1:h===null?1:f.localeCompare(h,"en",{usage:"sort",caseFirst:"upper"})),u=typeof this.binaryLabel!="undefined",g=typeof this.binaryVersion!="undefined";u||g?(u&&g?a+=`${this.format(r).header(`${this.binaryLabel} - ${this.binaryVersion}`)} + +`:u?a+=`${this.format(r).header(`${this.binaryLabel}`)} +`:a+=`${this.format(r).header(`${this.binaryVersion}`)} +`,a+=` ${this.format(r).bold(n)}${this.binaryName} +`):a+=`${this.format(r).bold(n)}${this.binaryName} +`;for(let f of c){let h=l.get(f).slice().sort((d,m)=>d.usage.localeCompare(m.usage,"en",{usage:"sort",caseFirst:"upper"})),p=f!==null?f.trim():"General commands";a+=` +`,a+=`${this.format(r).header(`${p}`)} +`;for(let{commandClass:d,usage:m}of h){let I=d.usage.description||"undocumented";a+=` +`,a+=` ${this.format(r).bold(m)} +`,a+=` ${Vn(I,{format:this.format(r),paragraphs:!1})}`}}a+=` +`,a+=Vn("You can also print more details about any of these commands by calling them with the `-h,--help` flag right after the command name.",{format:this.format(r),paragraphs:!0})}return a}error(e,r){var i,{colored:n,command:s=(i=e[DU])!==null&&i!==void 0?i:null}=r===void 0?{}:r;e instanceof Error||(e=new Error(`Execution failed with a non-error rejection (rejected value: ${JSON.stringify(e)})`));let o="",a=e.name.replace(/([a-z])([A-Z])/g,"$1 $2");a==="Error"&&(a="Internal Error"),o+=`${this.format(n).error(a)}: ${e.message} +`;let l=e.clipanion;return typeof l!="undefined"?l.type==="usage"&&(o+=` +`,o+=this.usage(s)):e.stack&&(o+=`${e.stack.replace(/^.*\n/,"")} +`),o}getUsageByRegistration(e,r){let i=this.registrations.get(e);if(typeof i=="undefined")throw new Error("Assertion failed: Unregistered command");return this.getUsageByIndex(i.index,r)}getUsageByIndex(e,r){return this.builder.getBuilderByIndex(e).usage(r)}format(e=this.enableColors){return e?Ev:PU}};oo.defaultContext={stdin:process.stdin,stdout:process.stdout,stderr:process.stderr};var Iv={};it(Iv,{DefinitionsCommand:()=>qE,HelpCommand:()=>JE,VersionCommand:()=>WE});var qE=class extends ye{async execute(){this.context.stdout.write(`${JSON.stringify(this.cli.definitions(),null,2)} +`)}};qE.paths=[["--clipanion=definitions"]];var JE=class extends ye{async execute(){this.context.stdout.write(this.cli.usage())}};JE.paths=[["-h"],["--help"]];var WE=class extends ye{async execute(){var e;this.context.stdout.write(`${(e=this.cli.binaryVersion)!==null&&e!==void 0?e:""} +`)}};WE.paths=[["-v"],["--version"]];var Y={};it(Y,{Array:()=>RU,Boolean:()=>FU,Counter:()=>NU,Proxy:()=>LU,Rest:()=>TU,String:()=>MU,applyValidator:()=>Bh,cleanValidationError:()=>HE,formatError:()=>wh,isOptionSymbol:()=>yh,makeCommandOption:()=>ji,rerouteArguments:()=>so});function RU(t,e,r){let[i,n]=so(e,r!=null?r:{}),{arity:s=1}=n,o=t.split(","),a=new Set(o);return ji({definition(l){l.addOption({names:o,arity:s,hidden:n==null?void 0:n.hidden,description:n==null?void 0:n.description,required:n.required})},transformer(l,c,u){let g=typeof i!="undefined"?[...i]:void 0;for(let{name:f,value:h}of u.options)!a.has(f)||(g=g!=null?g:[],g.push(h));return g}})}function FU(t,e,r){let[i,n]=so(e,r!=null?r:{}),s=t.split(","),o=new Set(s);return ji({definition(a){a.addOption({names:s,allowBinding:!1,arity:0,hidden:n.hidden,description:n.description,required:n.required})},transformer(a,l,c){let u=i;for(let{name:g,value:f}of c.options)!o.has(g)||(u=f);return u}})}function NU(t,e,r){let[i,n]=so(e,r!=null?r:{}),s=t.split(","),o=new Set(s);return ji({definition(a){a.addOption({names:s,allowBinding:!1,arity:0,hidden:n.hidden,description:n.description,required:n.required})},transformer(a,l,c){let u=i;for(let{name:g,value:f}of c.options)!o.has(g)||(u!=null||(u=0),f?u+=1:u=0);return u}})}function LU(t={}){return ji({definition(e,r){var i;e.addProxy({name:(i=t.name)!==null&&i!==void 0?i:r,required:t.required})},transformer(e,r,i){return i.positionals.map(({value:n})=>n)}})}function TU(t={}){return ji({definition(e,r){var i;e.addRest({name:(i=t.name)!==null&&i!==void 0?i:r,required:t.required})},transformer(e,r,i){let n=o=>{let a=i.positionals[o];return a.extra===Ln||a.extra===!1&&oo)}})}function dCe(t,e,r){let[i,n]=so(e,r!=null?r:{}),{arity:s=1}=n,o=t.split(","),a=new Set(o);return ji({definition(l){l.addOption({names:o,arity:n.tolerateBoolean?0:s,hidden:n.hidden,description:n.description,required:n.required})},transformer(l,c,u){let g,f=i;for(let{name:h,value:p}of u.options)!a.has(h)||(g=h,f=p);return typeof f=="string"?Bh(g!=null?g:c,f,n.validator):f}})}function CCe(t={}){let{required:e=!0}=t;return ji({definition(r,i){var n;r.addPositional({name:(n=t.name)!==null&&n!==void 0?n:i,required:t.required})},transformer(r,i,n){var s;for(let o=0;oJSON.stringify(i)).join(", ")})`);return e}function kl(t,e){let r=[];for(let i of t){let n=e(i);n!==LH&&r.push(n)}return r}var LH=Symbol();kl.skip=LH;function MH(t,e){for(let r of t){let i=e(r);if(i!==TH)return i}}var TH=Symbol();MH.skip=TH;function Tv(t){return typeof t=="object"&&t!==null}function aI(t){if(t instanceof Map&&(t=Object.fromEntries(t)),Tv(t))for(let e of Object.keys(t)){let r=t[e];Tv(r)&&(t[e]=aI(r))}return t}function na(t,e,r){let i=t.get(e);return typeof i=="undefined"&&t.set(e,i=r()),i}function hu(t,e){let r=t.get(e);return typeof r=="undefined"&&t.set(e,r=[]),r}function Pl(t,e){let r=t.get(e);return typeof r=="undefined"&&t.set(e,r=new Set),r}function pu(t,e){let r=t.get(e);return typeof r=="undefined"&&t.set(e,r=new Map),r}async function kEe(t,e){if(e==null)return await t();try{return await t()}finally{await e()}}async function du(t,e){try{return await t()}catch(r){throw r.message=e(r.message),r}}function Mv(t,e){try{return t()}catch(r){throw r.message=e(r.message),r}}async function Cu(t){return await new Promise((e,r)=>{let i=[];t.on("error",n=>{r(n)}),t.on("data",n=>{i.push(n)}),t.on("end",()=>{e(Buffer.concat(i))})})}var OH=class extends Fv.Transform{constructor(){super(...arguments);this.chunks=[]}_transform(e,r,i){if(r!=="buffer"||!Buffer.isBuffer(e))throw new Error("Assertion failed: BufferStream only accept buffers");this.chunks.push(e),i(null,null)}_flush(e){e(null,Buffer.concat(this.chunks))}},KH=class extends Fv.Transform{constructor(e=Buffer.alloc(0)){super();this.active=!0;this.ifEmpty=e}_transform(e,r,i){if(r!=="buffer"||!Buffer.isBuffer(e))throw new Error("Assertion failed: DefaultStream only accept buffers");this.active=!1,i(null,e)}_flush(e){this.active&&this.ifEmpty.length>0?e(null,this.ifEmpty):e(null)}},Uh=eval("require");function UH(t){return Uh(M.fromPortablePath(t))}function HH(path){let physicalPath=M.fromPortablePath(path),currentCacheEntry=Uh.cache[physicalPath];delete Uh.cache[physicalPath];let result;try{result=UH(physicalPath);let freshCacheEntry=Uh.cache[physicalPath],dynamicModule=eval("module"),freshCacheIndex=dynamicModule.children.indexOf(freshCacheEntry);freshCacheIndex!==-1&&dynamicModule.children.splice(freshCacheIndex,1)}finally{Uh.cache[physicalPath]=currentCacheEntry}return result}var GH=new Map;function PEe(t){let e=GH.get(t),r=T.statSync(t);if((e==null?void 0:e.mtime)===r.mtimeMs)return e.instance;let i=HH(t);return GH.set(t,{mtime:r.mtimeMs,instance:i}),i}var Dl;(function(i){i[i.NoCache=0]="NoCache",i[i.FsTime=1]="FsTime",i[i.Node=2]="Node"})(Dl||(Dl={}));function mu(t,{cachingStrategy:e=2}={}){switch(e){case 0:return HH(t);case 1:return PEe(t);case 2:return UH(t);default:throw new Error("Unsupported caching strategy")}}function gn(t,e){let r=Array.from(t);Array.isArray(e)||(e=[e]);let i=[];for(let s of e)i.push(r.map(o=>s(o)));let n=r.map((s,o)=>o);return n.sort((s,o)=>{for(let a of i){let l=a[s]a[o]?1:0;if(l!==0)return l}return 0}),n.map(s=>r[s])}function DEe(t){return t.length===0?null:t.map(e=>`(${FH.default.makeRe(e,{windows:!1,dot:!0}).source})`).join("|")}function Ov(t,{env:e}){let r=/\${(?[\d\w_]+)(?:)?(?:-(?[^}]*))?}/g;return t.replace(r,(...i)=>{let{variableName:n,colon:s,fallback:o}=i[i.length-1],a=Object.prototype.hasOwnProperty.call(e,n),l=e[n];if(l||a&&!s)return l;if(o!=null)return o;throw new me(`Environment variable not found (${n})`)})}function Hh(t){switch(t){case"true":case"1":case 1:case!0:return!0;case"false":case"0":case 0:case!1:return!1;default:throw new Error(`Couldn't parse "${t}" as a boolean`)}}function jH(t){return typeof t=="undefined"?t:Hh(t)}function Kv(t){try{return jH(t)}catch{return null}}function REe(t){return!!(M.isAbsolute(t)||t.match(/^(\.{1,2}|~)\//))}var S={};it(S,{areDescriptorsEqual:()=>i3,areIdentsEqual:()=>cp,areLocatorsEqual:()=>up,areVirtualPackagesEquivalent:()=>XQe,bindDescriptor:()=>VQe,bindLocator:()=>_Qe,convertDescriptorToLocator:()=>By,convertLocatorToDescriptor:()=>WQe,convertPackageToLocator:()=>zQe,convertToIdent:()=>JQe,convertToManifestRange:()=>ebe,copyPackage:()=>ap,devirtualizeDescriptor:()=>Ap,devirtualizeLocator:()=>lp,getIdentVendorPath:()=>Lx,isPackageCompatible:()=>Sy,isVirtualDescriptor:()=>hA,isVirtualLocator:()=>Io,makeDescriptor:()=>Yt,makeIdent:()=>Eo,makeLocator:()=>Vi,makeRange:()=>by,parseDescriptor:()=>pA,parseFileStyleRange:()=>ZQe,parseIdent:()=>En,parseLocator:()=>Hl,parseRange:()=>Tu,prettyDependent:()=>Nx,prettyDescriptor:()=>Xt,prettyIdent:()=>Vr,prettyLocator:()=>lt,prettyLocatorNoColors:()=>Rx,prettyRange:()=>yy,prettyReference:()=>fp,prettyResolution:()=>Fx,prettyWorkspace:()=>hp,renamePackage:()=>op,slugifyIdent:()=>Dx,slugifyLocator:()=>Mu,sortDescriptors:()=>Ou,stringifyDescriptor:()=>In,stringifyIdent:()=>St,stringifyLocator:()=>is,tryParseDescriptor:()=>gp,tryParseIdent:()=>n3,tryParseLocator:()=>Qy,virtualizeDescriptor:()=>kx,virtualizePackage:()=>Px});var Lu=ie(require("querystring")),e3=ie(Or()),t3=ie(wY());var mn={};it(mn,{checksumFile:()=>Ey,checksumPattern:()=>Iy,makeHash:()=>zi});var my=ie(require("crypto")),Sx=ie(vx());function zi(...t){let e=(0,my.createHash)("sha512"),r="";for(let i of t)typeof i=="string"?r+=i:i&&(r&&(e.update(r),r=""),e.update(i));return r&&e.update(r),e.digest("hex")}async function Ey(t,{baseFs:e,algorithm:r}={baseFs:T,algorithm:"sha512"}){let i=await e.openPromise(t,"r");try{let n=65536,s=Buffer.allocUnsafeSlow(n),o=(0,my.createHash)(r),a=0;for(;(a=await e.readPromise(i,s,0,n))!==0;)o.update(a===n?s:s.slice(0,a));return o.digest("hex")}finally{await e.closePromise(i)}}async function Iy(t,{cwd:e}){let i=(await(0,Sx.default)(t,{cwd:M.fromPortablePath(e),expandDirectories:!1,onlyDirectories:!0,unique:!0})).map(a=>`${a}/**/*`),n=await(0,Sx.default)([t,...i],{cwd:M.fromPortablePath(e),expandDirectories:!1,onlyFiles:!1,unique:!0});n.sort();let s=await Promise.all(n.map(async a=>{let l=[Buffer.from(a)],c=M.toPortablePath(a),u=await T.lstatPromise(c);return u.isSymbolicLink()?l.push(Buffer.from(await T.readlinkPromise(c))):u.isFile()&&l.push(await T.readFilePromise(c)),l.join("\0")})),o=(0,my.createHash)("sha512");for(let a of s)o.update(a);return o.digest("hex")}var wy="virtual:",YQe=5,r3=/(os|cpu)=([a-z0-9_-]+)/,qQe=(0,t3.makeParser)(r3);function Eo(t,e){if(t==null?void 0:t.startsWith("@"))throw new Error("Invalid scope: don't prefix it with '@'");return{identHash:zi(t,e),scope:t,name:e}}function Yt(t,e){return{identHash:t.identHash,scope:t.scope,name:t.name,descriptorHash:zi(t.identHash,e),range:e}}function Vi(t,e){return{identHash:t.identHash,scope:t.scope,name:t.name,locatorHash:zi(t.identHash,e),reference:e}}function JQe(t){return{identHash:t.identHash,scope:t.scope,name:t.name}}function By(t){return{identHash:t.identHash,scope:t.scope,name:t.name,locatorHash:t.descriptorHash,reference:t.range}}function WQe(t){return{identHash:t.identHash,scope:t.scope,name:t.name,descriptorHash:t.locatorHash,range:t.reference}}function zQe(t){return{identHash:t.identHash,scope:t.scope,name:t.name,locatorHash:t.locatorHash,reference:t.reference}}function op(t,e){return{identHash:e.identHash,scope:e.scope,name:e.name,locatorHash:e.locatorHash,reference:e.reference,version:t.version,languageName:t.languageName,linkType:t.linkType,conditions:t.conditions,dependencies:new Map(t.dependencies),peerDependencies:new Map(t.peerDependencies),dependenciesMeta:new Map(t.dependenciesMeta),peerDependenciesMeta:new Map(t.peerDependenciesMeta),bin:new Map(t.bin)}}function ap(t){return op(t,t)}function kx(t,e){if(e.includes("#"))throw new Error("Invalid entropy");return Yt(t,`virtual:${e}#${t.range}`)}function Px(t,e){if(e.includes("#"))throw new Error("Invalid entropy");return op(t,Vi(t,`virtual:${e}#${t.reference}`))}function hA(t){return t.range.startsWith(wy)}function Io(t){return t.reference.startsWith(wy)}function Ap(t){if(!hA(t))throw new Error("Not a virtual descriptor");return Yt(t,t.range.replace(/^[^#]*#/,""))}function lp(t){if(!Io(t))throw new Error("Not a virtual descriptor");return Vi(t,t.reference.replace(/^[^#]*#/,""))}function VQe(t,e){return t.range.includes("::")?t:Yt(t,`${t.range}::${Lu.default.stringify(e)}`)}function _Qe(t,e){return t.reference.includes("::")?t:Vi(t,`${t.reference}::${Lu.default.stringify(e)}`)}function cp(t,e){return t.identHash===e.identHash}function i3(t,e){return t.descriptorHash===e.descriptorHash}function up(t,e){return t.locatorHash===e.locatorHash}function XQe(t,e){if(!Io(t))throw new Error("Invalid package type");if(!Io(e))throw new Error("Invalid package type");if(!cp(t,e)||t.dependencies.size!==e.dependencies.size)return!1;for(let r of t.dependencies.values()){let i=e.dependencies.get(r.identHash);if(!i||!i3(r,i))return!1}return!0}function En(t){let e=n3(t);if(!e)throw new Error(`Invalid ident (${t})`);return e}function n3(t){let e=t.match(/^(?:@([^/]+?)\/)?([^/]+)$/);if(!e)return null;let[,r,i]=e,n=typeof r!="undefined"?r:null;return Eo(n,i)}function pA(t,e=!1){let r=gp(t,e);if(!r)throw new Error(`Invalid descriptor (${t})`);return r}function gp(t,e=!1){let r=e?t.match(/^(?:@([^/]+?)\/)?([^/]+?)(?:@(.+))$/):t.match(/^(?:@([^/]+?)\/)?([^/]+?)(?:@(.+))?$/);if(!r)return null;let[,i,n,s]=r;if(s==="unknown")throw new Error(`Invalid range (${t})`);let o=typeof i!="undefined"?i:null,a=typeof s!="undefined"?s:"unknown";return Yt(Eo(o,n),a)}function Hl(t,e=!1){let r=Qy(t,e);if(!r)throw new Error(`Invalid locator (${t})`);return r}function Qy(t,e=!1){let r=e?t.match(/^(?:@([^/]+?)\/)?([^/]+?)(?:@(.+))$/):t.match(/^(?:@([^/]+?)\/)?([^/]+?)(?:@(.+))?$/);if(!r)return null;let[,i,n,s]=r;if(s==="unknown")throw new Error(`Invalid reference (${t})`);let o=typeof i!="undefined"?i:null,a=typeof s!="undefined"?s:"unknown";return Vi(Eo(o,n),a)}function Tu(t,e){let r=t.match(/^([^#:]*:)?((?:(?!::)[^#])*)(?:#((?:(?!::).)*))?(?:::(.*))?$/);if(r===null)throw new Error(`Invalid range (${t})`);let i=typeof r[1]!="undefined"?r[1]:null;if(typeof(e==null?void 0:e.requireProtocol)=="string"&&i!==e.requireProtocol)throw new Error(`Invalid protocol (${i})`);if((e==null?void 0:e.requireProtocol)&&i===null)throw new Error(`Missing protocol (${i})`);let n=typeof r[3]!="undefined"?decodeURIComponent(r[2]):null;if((e==null?void 0:e.requireSource)&&n===null)throw new Error(`Missing source (${t})`);let s=typeof r[3]!="undefined"?decodeURIComponent(r[3]):decodeURIComponent(r[2]),o=(e==null?void 0:e.parseSelector)?Lu.default.parse(s):s,a=typeof r[4]!="undefined"?Lu.default.parse(r[4]):null;return{protocol:i,source:n,selector:o,params:a}}function ZQe(t,{protocol:e}){let{selector:r,params:i}=Tu(t,{requireProtocol:e,requireBindings:!0});if(typeof i.locator!="string")throw new Error(`Assertion failed: Invalid bindings for ${t}`);return{parentLocator:Hl(i.locator,!0),path:r}}function s3(t){return t=t.replace(/%/g,"%25"),t=t.replace(/:/g,"%3A"),t=t.replace(/#/g,"%23"),t}function $Qe(t){return t===null?!1:Object.entries(t).length>0}function by({protocol:t,source:e,selector:r,params:i}){let n="";return t!==null&&(n+=`${t}`),e!==null&&(n+=`${s3(e)}#`),n+=s3(r),$Qe(i)&&(n+=`::${Lu.default.stringify(i)}`),n}function ebe(t){let{params:e,protocol:r,source:i,selector:n}=Tu(t);for(let s in e)s.startsWith("__")&&delete e[s];return by({protocol:r,source:i,params:e,selector:n})}function St(t){return t.scope?`@${t.scope}/${t.name}`:`${t.name}`}function In(t){return t.scope?`@${t.scope}/${t.name}@${t.range}`:`${t.name}@${t.range}`}function is(t){return t.scope?`@${t.scope}/${t.name}@${t.reference}`:`${t.name}@${t.reference}`}function Dx(t){return t.scope!==null?`@${t.scope}-${t.name}`:t.name}function Mu(t){let{protocol:e,selector:r}=Tu(t.reference),i=e!==null?e.replace(/:$/,""):"exotic",n=e3.default.valid(r),s=n!==null?`${i}-${n}`:`${i}`,o=10,a=t.scope?`${Dx(t)}-${s}-${t.locatorHash.slice(0,o)}`:`${Dx(t)}-${s}-${t.locatorHash.slice(0,o)}`;return kr(a)}function Vr(t,e){return e.scope?`${Ve(t,`@${e.scope}/`,Le.SCOPE)}${Ve(t,e.name,Le.NAME)}`:`${Ve(t,e.name,Le.NAME)}`}function vy(t){if(t.startsWith(wy)){let e=vy(t.substr(t.indexOf("#")+1)),r=t.substr(wy.length,YQe);return`${e} [${r}]`}else return t.replace(/\?.*/,"?[...]")}function yy(t,e){return`${Ve(t,vy(e),Le.RANGE)}`}function Xt(t,e){return`${Vr(t,e)}${Ve(t,"@",Le.RANGE)}${yy(t,e.range)}`}function fp(t,e){return`${Ve(t,vy(e),Le.REFERENCE)}`}function lt(t,e){return`${Vr(t,e)}${Ve(t,"@",Le.REFERENCE)}${fp(t,e.reference)}`}function Rx(t){return`${St(t)}@${vy(t.reference)}`}function Ou(t){return gn(t,[e=>St(e),e=>e.range])}function hp(t,e){return Vr(t,e.locator)}function Fx(t,e,r){let i=hA(e)?Ap(e):e;return r===null?`${Xt(t,i)} \u2192 ${xx(t).Cross}`:i.identHash===r.identHash?`${Xt(t,i)} \u2192 ${fp(t,r.reference)}`:`${Xt(t,i)} \u2192 ${lt(t,r)}`}function Nx(t,e,r){return r===null?`${lt(t,e)}`:`${lt(t,e)} (via ${yy(t,r.range)})`}function Lx(t){return`node_modules/${St(t)}`}function Sy(t,e){return t.conditions?qQe(t.conditions,r=>{let[,i,n]=r.match(r3),s=e[i];return s?s.includes(n):!0}):!0}var gt;(function(r){r.HARD="HARD",r.SOFT="SOFT"})(gt||(gt={}));var oi;(function(i){i.Dependency="Dependency",i.PeerDependency="PeerDependency",i.PeerDependencyMeta="PeerDependencyMeta"})(oi||(oi={}));var ki;(function(i){i.Inactive="inactive",i.Redundant="redundant",i.Active="active"})(ki||(ki={}));var Le={NO_HINT:"NO_HINT",NULL:"NULL",SCOPE:"SCOPE",NAME:"NAME",RANGE:"RANGE",REFERENCE:"REFERENCE",NUMBER:"NUMBER",PATH:"PATH",URL:"URL",ADDED:"ADDED",REMOVED:"REMOVED",CODE:"CODE",DURATION:"DURATION",SIZE:"SIZE",IDENT:"IDENT",DESCRIPTOR:"DESCRIPTOR",LOCATOR:"LOCATOR",RESOLUTION:"RESOLUTION",DEPENDENT:"DEPENDENT",PACKAGE_EXTENSION:"PACKAGE_EXTENSION",SETTING:"SETTING"},Gl;(function(e){e[e.BOLD=2]="BOLD"})(Gl||(Gl={}));var Tx=dp.default.GITHUB_ACTIONS?{level:2}:pp.default.supportsColor?{level:pp.default.supportsColor.level}:{level:0},xy=Tx.level!==0,Mx=xy&&!dp.default.GITHUB_ACTIONS&&!dp.default.CIRCLE&&!dp.default.GITLAB,Ox=new pp.default.Instance(Tx),tbe=new Map([[Le.NO_HINT,null],[Le.NULL,["#a853b5",129]],[Le.SCOPE,["#d75f00",166]],[Le.NAME,["#d7875f",173]],[Le.RANGE,["#00afaf",37]],[Le.REFERENCE,["#87afff",111]],[Le.NUMBER,["#ffd700",220]],[Le.PATH,["#d75fd7",170]],[Le.URL,["#d75fd7",170]],[Le.ADDED,["#5faf00",70]],[Le.REMOVED,["#d70000",160]],[Le.CODE,["#87afff",111]],[Le.SIZE,["#ffd700",220]]]),Ls=t=>t,ky={[Le.NUMBER]:Ls({pretty:(t,e)=>`${e}`,json:t=>t}),[Le.IDENT]:Ls({pretty:(t,e)=>Vr(t,e),json:t=>St(t)}),[Le.LOCATOR]:Ls({pretty:(t,e)=>lt(t,e),json:t=>is(t)}),[Le.DESCRIPTOR]:Ls({pretty:(t,e)=>Xt(t,e),json:t=>In(t)}),[Le.RESOLUTION]:Ls({pretty:(t,{descriptor:e,locator:r})=>Fx(t,e,r),json:({descriptor:t,locator:e})=>({descriptor:In(t),locator:e!==null?is(e):null})}),[Le.DEPENDENT]:Ls({pretty:(t,{locator:e,descriptor:r})=>Nx(t,e,r),json:({locator:t,descriptor:e})=>({locator:is(t),descriptor:In(e)})}),[Le.PACKAGE_EXTENSION]:Ls({pretty:(t,e)=>{switch(e.type){case oi.Dependency:return`${Vr(t,e.parentDescriptor)} \u27A4 ${On(t,"dependencies",Le.CODE)} \u27A4 ${Vr(t,e.descriptor)}`;case oi.PeerDependency:return`${Vr(t,e.parentDescriptor)} \u27A4 ${On(t,"peerDependencies",Le.CODE)} \u27A4 ${Vr(t,e.descriptor)}`;case oi.PeerDependencyMeta:return`${Vr(t,e.parentDescriptor)} \u27A4 ${On(t,"peerDependenciesMeta",Le.CODE)} \u27A4 ${Vr(t,En(e.selector))} \u27A4 ${On(t,e.key,Le.CODE)}`;default:throw new Error(`Assertion failed: Unsupported package extension type: ${e.type}`)}},json:t=>{switch(t.type){case oi.Dependency:return`${St(t.parentDescriptor)} > ${St(t.descriptor)}`;case oi.PeerDependency:return`${St(t.parentDescriptor)} >> ${St(t.descriptor)}`;case oi.PeerDependencyMeta:return`${St(t.parentDescriptor)} >> ${t.selector} / ${t.key}`;default:throw new Error(`Assertion failed: Unsupported package extension type: ${t.type}`)}}}),[Le.SETTING]:Ls({pretty:(t,e)=>(t.get(e),Ku(t,On(t,e,Le.CODE),`https://yarnpkg.com/configuration/yarnrc#${e}`)),json:t=>t}),[Le.DURATION]:Ls({pretty:(t,e)=>{if(e>1e3*60){let r=Math.floor(e/1e3/60),i=Math.ceil((e-r*60*1e3)/1e3);return i===0?`${r}m`:`${r}m ${i}s`}else{let r=Math.floor(e/1e3),i=e-r*1e3;return i===0?`${r}s`:`${r}s ${i}ms`}},json:t=>t}),[Le.SIZE]:Ls({pretty:(t,e)=>{let r=["KB","MB","GB","TB"],i=r.length;for(;i>1&&e<1024**i;)i-=1;let n=1024**i,s=Math.floor(e*100/n)/100;return On(t,`${s} ${r[i-1]}`,Le.NUMBER)},json:t=>t}),[Le.PATH]:Ls({pretty:(t,e)=>On(t,M.fromPortablePath(e),Le.PATH),json:t=>M.fromPortablePath(t)})};function jl(t,e){return[e,t]}function Py(t,e,r){return t.get("enableColors")&&r&2&&(e=pp.default.bold(e)),e}function On(t,e,r){if(!t.get("enableColors"))return e;let i=tbe.get(r);if(i===null)return e;let n=typeof i=="undefined"?r:Tx.level>=3?i[0]:i[1],s=typeof n=="number"?Ox.ansi256(n):n.startsWith("#")?Ox.hex(n):Ox[n];if(typeof s!="function")throw new Error(`Invalid format type ${n}`);return s(e)}var rbe=!!process.env.KONSOLE_VERSION;function Ku(t,e,r){return t.get("enableHyperlinks")?rbe?`]8;;${r}\\${e}]8;;\\`:`]8;;${r}\x07${e}]8;;\x07`:e}function Ve(t,e,r){if(e===null)return On(t,"null",Le.NULL);if(Object.prototype.hasOwnProperty.call(ky,r))return ky[r].pretty(t,e);if(typeof e!="string")throw new Error(`Assertion failed: Expected the value to be a string, got ${typeof e}`);return On(t,e,r)}function Kx(t,e,r,{separator:i=", "}={}){return[...e].map(n=>Ve(t,n,r)).join(i)}function Uu(t,e){if(t===null)return null;if(Object.prototype.hasOwnProperty.call(ky,e))return Nv(e),ky[e].json(t);if(typeof t!="string")throw new Error(`Assertion failed: Expected the value to be a string, got ${typeof t}`);return t}function xx(t){return{Check:On(t,"\u2713","green"),Cross:On(t,"\u2718","red"),Question:On(t,"?","cyan")}}function Yl(t,{label:e,value:[r,i]}){return`${Ve(t,e,Le.CODE)}: ${Ve(t,r,i)}`}var Ts;(function(n){n.Error="error",n.Warning="warning",n.Info="info",n.Discard="discard"})(Ts||(Ts={}));function Cp(t,{configuration:e}){let r=e.get("logFilters"),i=new Map,n=new Map,s=[];for(let g of r){let f=g.get("level");if(typeof f=="undefined")continue;let h=g.get("code");typeof h!="undefined"&&i.set(h,f);let p=g.get("text");typeof p!="undefined"&&n.set(p,f);let d=g.get("pattern");typeof d!="undefined"&&s.push([o3.default.matcher(d,{contains:!0}),f])}s.reverse();let o=(g,f,h)=>{if(g===null||g===z.UNNAMED)return h;let p=n.size>0||s.length>0?(0,a3.default)(f):f;if(n.size>0){let d=n.get(p);if(typeof d!="undefined")return d!=null?d:h}if(s.length>0){for(let[d,m]of s)if(d(p))return m!=null?m:h}if(i.size>0){let d=i.get(KE(g));if(typeof d!="undefined")return d!=null?d:h}return h},a=t.reportInfo,l=t.reportWarning,c=t.reportError,u=function(g,f,h,p){switch(o(f,h,p)){case Ts.Info:a.call(g,f,h);break;case Ts.Warning:l.call(g,f!=null?f:z.UNNAMED,h);break;case Ts.Error:c.call(g,f!=null?f:z.UNNAMED,h);break}};t.reportInfo=function(...g){return u(this,...g,Ts.Info)},t.reportWarning=function(...g){return u(this,...g,Ts.Warning)},t.reportError=function(...g){return u(this,...g,Ts.Error)}}var Zt={};it(Zt,{Method:()=>Jl,RequestError:()=>z8.RequestError,del:()=>pxe,get:()=>fxe,getNetworkSettings:()=>Z8,post:()=>iP,put:()=>hxe,request:()=>xp});var q8=ie(zy()),J8=ie(require("https")),W8=ie(require("http")),tP=ie(Nn()),rP=ie(G8()),Vy=ie(require("url"));var j8=ie(require("stream")),Y8=ie(require("string_decoder"));var nt=class extends Error{constructor(e,r,i){super(r);this.reportExtra=i;this.reportCode=e}};function Axe(t){return typeof t.reportCode!="undefined"}var Xi=class{constructor(){this.reportedInfos=new Set;this.reportedWarnings=new Set;this.reportedErrors=new Set}static progressViaCounter(e){let r=0,i,n=new Promise(l=>{i=l}),s=l=>{let c=i;n=new Promise(u=>{i=u}),r=l,c()},o=(l=0)=>{s(r+1)},a=async function*(){for(;r{let o=i.write(s),a;do if(a=o.indexOf(` +`),a!==-1){let l=n+o.substr(0,a);o=o.substr(a+1),n="",e!==null?this.reportInfo(null,`${e} ${l}`):this.reportInfo(null,l)}while(a!==-1);n+=o}),r.on("end",()=>{let s=i.end();s!==""&&(e!==null?this.reportInfo(null,`${e} ${s}`):this.reportInfo(null,s))}),r}};var z8=ie(zy()),V8=new Map,_8=new Map,lxe=new W8.Agent({keepAlive:!0}),cxe=new J8.Agent({keepAlive:!0});function X8(t){let e=new Vy.URL(t),r={host:e.hostname,headers:{}};return e.port&&(r.port=Number(e.port)),{proxy:r}}async function uxe(t){return na(_8,t,()=>T.readFilePromise(t).then(e=>(_8.set(t,e),e)))}function gxe({statusCode:t,statusMessage:e},r){let i=Ve(r,t,Le.NUMBER),n=`https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/${t}`;return Ku(r,`${i}${e?` (${e})`:""}`,n)}async function _y(t,{configuration:e,customErrorMessage:r}){var i,n;try{return await t}catch(s){if(s.name!=="HTTPError")throw s;let o=(n=r==null?void 0:r(s))!=null?n:(i=s.response.body)==null?void 0:i.error;o==null&&(s.message.startsWith("Response code")?o="The remote server failed to provide the requested resource":o=s.message),s instanceof q8.TimeoutError&&s.event==="socket"&&(o+=`(can be increased via ${Ve(e,"httpTimeout",Le.SETTING)})`);let a=new nt(z.NETWORK_ERROR,o,l=>{s.response&&l.reportError(z.NETWORK_ERROR,` ${Yl(e,{label:"Response Code",value:jl(Le.NO_HINT,gxe(s.response,e))})}`),s.request&&(l.reportError(z.NETWORK_ERROR,` ${Yl(e,{label:"Request Method",value:jl(Le.NO_HINT,s.request.options.method)})}`),l.reportError(z.NETWORK_ERROR,` ${Yl(e,{label:"Request URL",value:jl(Le.URL,s.request.requestUrl)})}`)),s.request.redirects.length>0&&l.reportError(z.NETWORK_ERROR,` ${Yl(e,{label:"Request Redirects",value:jl(Le.NO_HINT,Kx(e,s.request.redirects,Le.URL))})}`),s.request.retryCount===s.request.options.retry.limit&&l.reportError(z.NETWORK_ERROR,` ${Yl(e,{label:"Request Retry Count",value:jl(Le.NO_HINT,`${Ve(e,s.request.retryCount,Le.NUMBER)} (can be increased via ${Ve(e,"httpRetry",Le.SETTING)})`)})}`)});throw a.originalError=s,a}}function Z8(t,e){let r=[...e.configuration.get("networkSettings")].sort(([o],[a])=>a.length-o.length),i={enableNetwork:void 0,caFilePath:void 0,httpProxy:void 0,httpsProxy:void 0},n=Object.keys(i),s=typeof t=="string"?new Vy.URL(t):t;for(let[o,a]of r)if(tP.default.isMatch(s.hostname,o))for(let l of n){let c=a.get(l);c!==null&&typeof i[l]=="undefined"&&(i[l]=c)}for(let o of n)typeof i[o]=="undefined"&&(i[o]=e.configuration.get(o));return i}var Jl;(function(n){n.GET="GET",n.PUT="PUT",n.POST="POST",n.DELETE="DELETE"})(Jl||(Jl={}));async function xp(t,e,{configuration:r,headers:i,jsonRequest:n,jsonResponse:s,method:o=Jl.GET}){let a=typeof t=="string"?new Vy.URL(t):t,l=Z8(a,{configuration:r});if(l.enableNetwork===!1)throw new Error(`Request to '${a.href}' has been blocked because of your configuration settings`);if(a.protocol==="http:"&&!tP.default.isMatch(a.hostname,r.get("unsafeHttpWhitelist")))throw new Error(`Unsafe http requests must be explicitly whitelisted in your configuration (${a.hostname})`);let u={agent:{http:l.httpProxy?rP.default.httpOverHttp(X8(l.httpProxy)):lxe,https:l.httpsProxy?rP.default.httpsOverHttp(X8(l.httpsProxy)):cxe},headers:i,method:o};u.responseType=s?"json":"buffer",e!==null&&(Buffer.isBuffer(e)||!n&&typeof e=="string"?u.body=e:u.json=e);let g=r.get("httpTimeout"),f=r.get("httpRetry"),h=r.get("enableStrictSsl"),p=l.caFilePath,{default:d}=await Promise.resolve().then(()=>ie(zy())),m=p?await uxe(p):void 0,I=d.extend(P({timeout:{socket:g},retry:f,https:{rejectUnauthorized:h,certificateAuthority:m}},u));return r.getLimit("networkConcurrency")(()=>I(a))}async function fxe(t,n){var s=n,{configuration:e,jsonResponse:r}=s,i=qr(s,["configuration","jsonResponse"]);let o=na(V8,t,()=>_y(xp(t,null,P({configuration:e},i)),{configuration:e}).then(a=>(V8.set(t,a.body),a.body)));return Buffer.isBuffer(o)===!1&&(o=await o),r?JSON.parse(o.toString()):o}async function hxe(t,e,n){var s=n,{customErrorMessage:r}=s,i=qr(s,["customErrorMessage"]);return(await _y(xp(t,e,_(P({},i),{method:Jl.PUT})),i)).body}async function iP(t,e,n){var s=n,{customErrorMessage:r}=s,i=qr(s,["customErrorMessage"]);return(await _y(xp(t,e,_(P({},i),{method:Jl.POST})),i)).body}async function pxe(t,i){var n=i,{customErrorMessage:e}=n,r=qr(n,["customErrorMessage"]);return(await _y(xp(t,null,_(P({},r),{method:Jl.DELETE})),r)).body}var Kt={};it(Kt,{PackageManager:()=>tn,detectPackageManager:()=>a9,executePackageAccessibleBinary:()=>g9,executePackageScript:()=>Uw,executePackageShellcode:()=>rD,executeWorkspaceAccessibleBinary:()=>qFe,executeWorkspaceLifecycleScript:()=>u9,executeWorkspaceScript:()=>c9,getPackageAccessibleBinaries:()=>Hw,getWorkspaceAccessibleBinaries:()=>l9,hasPackageScript:()=>GFe,hasWorkspaceScript:()=>tD,makeScriptEnv:()=>Vp,maybeExecuteWorkspaceLifecycleScript:()=>YFe,prepareExternalProject:()=>HFe});var Fp={};it(Fp,{getLibzipPromise:()=>$i,getLibzipSync:()=>v4});var yA=["number","number"],nP;(function(D){D[D.ZIP_ER_OK=0]="ZIP_ER_OK",D[D.ZIP_ER_MULTIDISK=1]="ZIP_ER_MULTIDISK",D[D.ZIP_ER_RENAME=2]="ZIP_ER_RENAME",D[D.ZIP_ER_CLOSE=3]="ZIP_ER_CLOSE",D[D.ZIP_ER_SEEK=4]="ZIP_ER_SEEK",D[D.ZIP_ER_READ=5]="ZIP_ER_READ",D[D.ZIP_ER_WRITE=6]="ZIP_ER_WRITE",D[D.ZIP_ER_CRC=7]="ZIP_ER_CRC",D[D.ZIP_ER_ZIPCLOSED=8]="ZIP_ER_ZIPCLOSED",D[D.ZIP_ER_NOENT=9]="ZIP_ER_NOENT",D[D.ZIP_ER_EXISTS=10]="ZIP_ER_EXISTS",D[D.ZIP_ER_OPEN=11]="ZIP_ER_OPEN",D[D.ZIP_ER_TMPOPEN=12]="ZIP_ER_TMPOPEN",D[D.ZIP_ER_ZLIB=13]="ZIP_ER_ZLIB",D[D.ZIP_ER_MEMORY=14]="ZIP_ER_MEMORY",D[D.ZIP_ER_CHANGED=15]="ZIP_ER_CHANGED",D[D.ZIP_ER_COMPNOTSUPP=16]="ZIP_ER_COMPNOTSUPP",D[D.ZIP_ER_EOF=17]="ZIP_ER_EOF",D[D.ZIP_ER_INVAL=18]="ZIP_ER_INVAL",D[D.ZIP_ER_NOZIP=19]="ZIP_ER_NOZIP",D[D.ZIP_ER_INTERNAL=20]="ZIP_ER_INTERNAL",D[D.ZIP_ER_INCONS=21]="ZIP_ER_INCONS",D[D.ZIP_ER_REMOVE=22]="ZIP_ER_REMOVE",D[D.ZIP_ER_DELETED=23]="ZIP_ER_DELETED",D[D.ZIP_ER_ENCRNOTSUPP=24]="ZIP_ER_ENCRNOTSUPP",D[D.ZIP_ER_RDONLY=25]="ZIP_ER_RDONLY",D[D.ZIP_ER_NOPASSWD=26]="ZIP_ER_NOPASSWD",D[D.ZIP_ER_WRONGPASSWD=27]="ZIP_ER_WRONGPASSWD",D[D.ZIP_ER_OPNOTSUPP=28]="ZIP_ER_OPNOTSUPP",D[D.ZIP_ER_INUSE=29]="ZIP_ER_INUSE",D[D.ZIP_ER_TELL=30]="ZIP_ER_TELL",D[D.ZIP_ER_COMPRESSED_DATA=31]="ZIP_ER_COMPRESSED_DATA"})(nP||(nP={}));var $8=t=>({get HEAP8(){return t.HEAP8},get HEAPU8(){return t.HEAPU8},errors:nP,SEEK_SET:0,SEEK_CUR:1,SEEK_END:2,ZIP_CHECKCONS:4,ZIP_CREATE:1,ZIP_EXCL:2,ZIP_TRUNCATE:8,ZIP_RDONLY:16,ZIP_FL_OVERWRITE:8192,ZIP_FL_COMPRESSED:4,ZIP_OPSYS_DOS:0,ZIP_OPSYS_AMIGA:1,ZIP_OPSYS_OPENVMS:2,ZIP_OPSYS_UNIX:3,ZIP_OPSYS_VM_CMS:4,ZIP_OPSYS_ATARI_ST:5,ZIP_OPSYS_OS_2:6,ZIP_OPSYS_MACINTOSH:7,ZIP_OPSYS_Z_SYSTEM:8,ZIP_OPSYS_CPM:9,ZIP_OPSYS_WINDOWS_NTFS:10,ZIP_OPSYS_MVS:11,ZIP_OPSYS_VSE:12,ZIP_OPSYS_ACORN_RISC:13,ZIP_OPSYS_VFAT:14,ZIP_OPSYS_ALTERNATE_MVS:15,ZIP_OPSYS_BEOS:16,ZIP_OPSYS_TANDEM:17,ZIP_OPSYS_OS_400:18,ZIP_OPSYS_OS_X:19,ZIP_CM_DEFAULT:-1,ZIP_CM_STORE:0,ZIP_CM_DEFLATE:8,uint08S:t._malloc(1),uint16S:t._malloc(2),uint32S:t._malloc(4),uint64S:t._malloc(8),malloc:t._malloc,free:t._free,getValue:t.getValue,open:t.cwrap("zip_open","number",["string","number","number"]),openFromSource:t.cwrap("zip_open_from_source","number",["number","number","number"]),close:t.cwrap("zip_close","number",["number"]),discard:t.cwrap("zip_discard",null,["number"]),getError:t.cwrap("zip_get_error","number",["number"]),getName:t.cwrap("zip_get_name","string",["number","number","number"]),getNumEntries:t.cwrap("zip_get_num_entries","number",["number","number"]),delete:t.cwrap("zip_delete","number",["number","number"]),stat:t.cwrap("zip_stat","number",["number","string","number","number"]),statIndex:t.cwrap("zip_stat_index","number",["number",...yA,"number","number"]),fopen:t.cwrap("zip_fopen","number",["number","string","number"]),fopenIndex:t.cwrap("zip_fopen_index","number",["number",...yA,"number"]),fread:t.cwrap("zip_fread","number",["number","number","number","number"]),fclose:t.cwrap("zip_fclose","number",["number"]),dir:{add:t.cwrap("zip_dir_add","number",["number","string"])},file:{add:t.cwrap("zip_file_add","number",["number","string","number","number"]),getError:t.cwrap("zip_file_get_error","number",["number"]),getExternalAttributes:t.cwrap("zip_file_get_external_attributes","number",["number",...yA,"number","number","number"]),setExternalAttributes:t.cwrap("zip_file_set_external_attributes","number",["number",...yA,"number","number","number"]),setMtime:t.cwrap("zip_file_set_mtime","number",["number",...yA,"number","number"]),setCompression:t.cwrap("zip_set_file_compression","number",["number",...yA,"number","number"])},ext:{countSymlinks:t.cwrap("zip_ext_count_symlinks","number",["number"])},error:{initWithCode:t.cwrap("zip_error_init_with_code",null,["number","number"]),strerror:t.cwrap("zip_error_strerror","string",["number"])},name:{locate:t.cwrap("zip_name_locate","number",["number","string","number"])},source:{fromUnattachedBuffer:t.cwrap("zip_source_buffer_create","number",["number","number","number","number"]),fromBuffer:t.cwrap("zip_source_buffer","number",["number","number",...yA,"number"]),free:t.cwrap("zip_source_free",null,["number"]),keep:t.cwrap("zip_source_keep",null,["number"]),open:t.cwrap("zip_source_open","number",["number"]),close:t.cwrap("zip_source_close","number",["number"]),seek:t.cwrap("zip_source_seek","number",["number",...yA,"number"]),tell:t.cwrap("zip_source_tell","number",["number"]),read:t.cwrap("zip_source_read","number",["number","number","number"]),error:t.cwrap("zip_source_error","number",["number"]),setMtime:t.cwrap("zip_source_set_mtime","number",["number","number"])},struct:{stat:t.cwrap("zipstruct_stat","number",[]),statS:t.cwrap("zipstruct_statS","number",[]),statName:t.cwrap("zipstruct_stat_name","string",["number"]),statIndex:t.cwrap("zipstruct_stat_index","number",["number"]),statSize:t.cwrap("zipstruct_stat_size","number",["number"]),statCompSize:t.cwrap("zipstruct_stat_comp_size","number",["number"]),statCompMethod:t.cwrap("zipstruct_stat_comp_method","number",["number"]),statMtime:t.cwrap("zipstruct_stat_mtime","number",["number"]),statCrc:t.cwrap("zipstruct_stat_crc","number",["number"]),error:t.cwrap("zipstruct_error","number",[]),errorS:t.cwrap("zipstruct_errorS","number",[]),errorCodeZip:t.cwrap("zipstruct_error_code_zip","number",["number"])}});var BP=null;function v4(){return BP===null&&(BP=$8(b4())),BP}async function $i(){return v4()}var jp={};it(jp,{ShellError:()=>as,execute:()=>Fw,globUtils:()=>bw});var Hp={};it(Hp,{parseResolution:()=>gw,parseShell:()=>Aw,parseSyml:()=>Ii,stringifyArgument:()=>SP,stringifyArgumentSegment:()=>xP,stringifyArithmeticExpression:()=>uw,stringifyCommand:()=>vP,stringifyCommandChain:()=>rg,stringifyCommandChainThen:()=>bP,stringifyCommandLine:()=>lw,stringifyCommandLineThen:()=>QP,stringifyEnvSegment:()=>cw,stringifyRedirectArgument:()=>Np,stringifyResolution:()=>fw,stringifyShell:()=>tg,stringifyShellLine:()=>tg,stringifySyml:()=>Qa,stringifyValueArgument:()=>ig});var k4=ie(x4());function Aw(t,e={isGlobPattern:()=>!1}){try{return(0,k4.parse)(t,e)}catch(r){throw r.location&&(r.message=r.message.replace(/(\.)?$/,` (line ${r.location.start.line}, column ${r.location.start.column})$1`)),r}}function tg(t,{endSemicolon:e=!1}={}){return t.map(({command:r,type:i},n)=>`${lw(r)}${i===";"?n!==t.length-1||e?";":"":" &"}`).join(" ")}function lw(t){return`${rg(t.chain)}${t.then?` ${QP(t.then)}`:""}`}function QP(t){return`${t.type} ${lw(t.line)}`}function rg(t){return`${vP(t)}${t.then?` ${bP(t.then)}`:""}`}function bP(t){return`${t.type} ${rg(t.chain)}`}function vP(t){switch(t.type){case"command":return`${t.envs.length>0?`${t.envs.map(e=>cw(e)).join(" ")} `:""}${t.args.map(e=>SP(e)).join(" ")}`;case"subshell":return`(${tg(t.subshell)})${t.args.length>0?` ${t.args.map(e=>Np(e)).join(" ")}`:""}`;case"group":return`{ ${tg(t.group,{endSemicolon:!0})} }${t.args.length>0?` ${t.args.map(e=>Np(e)).join(" ")}`:""}`;case"envs":return t.envs.map(e=>cw(e)).join(" ");default:throw new Error(`Unsupported command type: "${t.type}"`)}}function cw(t){return`${t.name}=${t.args[0]?ig(t.args[0]):""}`}function SP(t){switch(t.type){case"redirection":return Np(t);case"argument":return ig(t);default:throw new Error(`Unsupported argument type: "${t.type}"`)}}function Np(t){return`${t.subtype} ${t.args.map(e=>ig(e)).join(" ")}`}function ig(t){return t.segments.map(e=>xP(e)).join("")}function xP(t){let e=(i,n)=>n?`"${i}"`:i,r=i=>i===""?'""':i.match(/[(){}<>$|&; \t"']/)?`$'${i.replace(/\\/g,"\\\\").replace(/'/g,"\\'").replace(/\f/g,"\\f").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/\t/g,"\\t").replace(/\v/g,"\\v").replace(/\0/g,"\\0")}'`:i;switch(t.type){case"text":return r(t.text);case"glob":return t.pattern;case"shell":return e(`\${${tg(t.shell)}}`,t.quoted);case"variable":return e(typeof t.defaultValue=="undefined"?`\${${t.name}}`:t.defaultValue.length===0?`\${${t.name}:-}`:`\${${t.name}:-${t.defaultValue.map(i=>ig(i)).join(" ")}}`,t.quoted);case"arithmetic":return`$(( ${uw(t.arithmetic)} ))`;default:throw new Error(`Unsupported argument segment type: "${t.type}"`)}}function uw(t){let e=n=>{switch(n){case"addition":return"+";case"subtraction":return"-";case"multiplication":return"*";case"division":return"/";default:throw new Error(`Can't extract operator from arithmetic expression of type "${n}"`)}},r=(n,s)=>s?`( ${n} )`:n,i=n=>r(uw(n),!["number","variable"].includes(n.type));switch(t.type){case"number":return String(t.value);case"variable":return t.name;default:return`${i(t.left)} ${e(t.type)} ${i(t.right)}`}}var R4=ie(D4());function gw(t){let e=t.match(/^\*{1,2}\/(.*)/);if(e)throw new Error(`The override for '${t}' includes a glob pattern. Glob patterns have been removed since their behaviours don't match what you'd expect. Set the override to '${e[1]}' instead.`);try{return(0,R4.parse)(t)}catch(r){throw r.location&&(r.message=r.message.replace(/(\.)?$/,` (line ${r.location.start.line}, column ${r.location.start.column})$1`)),r}}function fw(t){let e="";return t.from&&(e+=t.from.fullName,t.from.description&&(e+=`@${t.from.description}`),e+="/"),e+=t.descriptor.fullName,t.descriptor.description&&(e+=`@${t.descriptor.description}`),e}var Qw=ie(w5()),b5=ie(Q5()),$De=/^(?![-?:,\][{}#&*!|>'"%@` \t\r\n]).([ \t]*(?![,\][{}:# \t\r\n]).)*$/,v5=["__metadata","version","resolution","dependencies","peerDependencies","dependenciesMeta","peerDependenciesMeta","binaries"],HP=class{constructor(e){this.data=e}};function S5(t){return t.match($De)?t:JSON.stringify(t)}function x5(t){return typeof t=="undefined"?!0:typeof t=="object"&&t!==null?Object.keys(t).every(e=>x5(t[e])):!1}function GP(t,e,r){if(t===null)return`null +`;if(typeof t=="number"||typeof t=="boolean")return`${t.toString()} +`;if(typeof t=="string")return`${S5(t)} +`;if(Array.isArray(t)){if(t.length===0)return`[] +`;let i=" ".repeat(e);return` +${t.map(s=>`${i}- ${GP(s,e+1,!1)}`).join("")}`}if(typeof t=="object"&&t){let i,n;t instanceof HP?(i=t.data,n=!1):(i=t,n=!0);let s=" ".repeat(e),o=Object.keys(i);n&&o.sort((l,c)=>{let u=v5.indexOf(l),g=v5.indexOf(c);return u===-1&&g===-1?lc?1:0:u!==-1&&g===-1?-1:u===-1&&g!==-1?1:u-g});let a=o.filter(l=>!x5(i[l])).map((l,c)=>{let u=i[l],g=S5(l),f=GP(u,e+1,!0),h=c>0||r?s:"";return f.startsWith(` +`)?`${h}${g}:${f}`:`${h}${g}: ${f}`}).join(e===0?` +`:"")||` +`;return r?` +${a}`:`${a}`}throw new Error(`Unsupported value type (${t})`)}function Qa(t){try{let e=GP(t,0,!1);return e!==` +`?e:""}catch(e){throw e.location&&(e.message=e.message.replace(/(\.)?$/,` (line ${e.location.start.line}, column ${e.location.start.column})$1`)),e}}Qa.PreserveOrdering=HP;function eRe(t){return t.endsWith(` +`)||(t+=` +`),(0,b5.parse)(t)}var tRe=/^(#.*(\r?\n))*?#\s+yarn\s+lockfile\s+v1\r?\n/i;function rRe(t){if(tRe.test(t))return eRe(t);let e=(0,Qw.safeLoad)(t,{schema:Qw.FAILSAFE_SCHEMA,json:!0});if(e==null)return{};if(typeof e!="object")throw new Error(`Expected an indexed object, got a ${typeof e} instead. Does your file follow Yaml's rules?`);if(Array.isArray(e))throw new Error("Expected an indexed object, got an array instead. Does your file follow Yaml's rules?");return e}function Ii(t){return rRe(t)}var U5=ie(jb()),H5=ie(require("os")),Kn=ie(require("stream")),G5=ie(require("util"));var as=class extends Error{constructor(e){super(e);this.name="ShellError"}};var bw={};it(bw,{fastGlobOptions:()=>D5,isBraceExpansion:()=>R5,isGlobPattern:()=>iRe,match:()=>nRe,micromatchOptions:()=>Sw});var k5=ie(gy()),P5=ie(require("fs")),vw=ie(Nn()),Sw={strictBrackets:!0},D5={onlyDirectories:!1,onlyFiles:!1};function iRe(t){if(!vw.default.scan(t,Sw).isGlob)return!1;try{vw.default.parse(t,Sw)}catch{return!1}return!0}function nRe(t,{cwd:e,baseFs:r}){return(0,k5.default)(t,_(P({},D5),{cwd:M.fromPortablePath(e),fs:SE(P5.default,new ah(r))}))}function R5(t){return vw.default.scan(t,Sw).isBrace}var F5=ie(bb()),Bo=ie(require("stream")),N5=ie(require("string_decoder")),wn;(function(i){i[i.STDIN=0]="STDIN",i[i.STDOUT=1]="STDOUT",i[i.STDERR=2]="STDERR"})(wn||(wn={}));var sc=new Set;function jP(){}function YP(){for(let t of sc)t.kill()}function L5(t,e,r,i){return n=>{let s=n[0]instanceof Bo.Transform?"pipe":n[0],o=n[1]instanceof Bo.Transform?"pipe":n[1],a=n[2]instanceof Bo.Transform?"pipe":n[2],l=(0,F5.default)(t,e,_(P({},i),{stdio:[s,o,a]}));return sc.add(l),sc.size===1&&(process.on("SIGINT",jP),process.on("SIGTERM",YP)),n[0]instanceof Bo.Transform&&n[0].pipe(l.stdin),n[1]instanceof Bo.Transform&&l.stdout.pipe(n[1],{end:!1}),n[2]instanceof Bo.Transform&&l.stderr.pipe(n[2],{end:!1}),{stdin:l.stdin,promise:new Promise(c=>{l.on("error",u=>{switch(sc.delete(l),sc.size===0&&(process.off("SIGINT",jP),process.off("SIGTERM",YP)),u.code){case"ENOENT":n[2].write(`command not found: ${t} +`),c(127);break;case"EACCES":n[2].write(`permission denied: ${t} +`),c(128);break;default:n[2].write(`uncaught error: ${u.message} +`),c(1);break}}),l.on("exit",u=>{sc.delete(l),sc.size===0&&(process.off("SIGINT",jP),process.off("SIGTERM",YP)),c(u!==null?u:129)})})}}}function T5(t){return e=>{let r=e[0]==="pipe"?new Bo.PassThrough:e[0];return{stdin:r,promise:Promise.resolve().then(()=>t({stdin:r,stdout:e[1],stderr:e[2]}))}}}var Os=class{constructor(e){this.stream=e}close(){}get(){return this.stream}},M5=class{constructor(){this.stream=null}close(){if(this.stream===null)throw new Error("Assertion failed: No stream attached");this.stream.end()}attach(e){this.stream=e}get(){if(this.stream===null)throw new Error("Assertion failed: No stream attached");return this.stream}},Gp=class{constructor(e,r){this.stdin=null;this.stdout=null;this.stderr=null;this.pipe=null;this.ancestor=e,this.implementation=r}static start(e,{stdin:r,stdout:i,stderr:n}){let s=new Gp(null,e);return s.stdin=r,s.stdout=i,s.stderr=n,s}pipeTo(e,r=1){let i=new Gp(this,e),n=new M5;return i.pipe=n,i.stdout=this.stdout,i.stderr=this.stderr,(r&1)==1?this.stdout=n:this.ancestor!==null&&(this.stderr=this.ancestor.stdout),(r&2)==2?this.stderr=n:this.ancestor!==null&&(this.stderr=this.ancestor.stderr),i}async exec(){let e=["ignore","ignore","ignore"];if(this.pipe)e[0]="pipe";else{if(this.stdin===null)throw new Error("Assertion failed: No input stream registered");e[0]=this.stdin.get()}let r;if(this.stdout===null)throw new Error("Assertion failed: No output stream registered");r=this.stdout,e[1]=r.get();let i;if(this.stderr===null)throw new Error("Assertion failed: No error stream registered");i=this.stderr,e[2]=i.get();let n=this.implementation(e);return this.pipe&&this.pipe.attach(n.stdin),await n.promise.then(s=>(r.close(),i.close(),s))}async run(){let e=[];for(let i=this;i;i=i.ancestor)e.push(i.exec());return(await Promise.all(e))[0]}};function xw(t,e){return Gp.start(t,e)}function O5(t,e=null){let r=new Bo.PassThrough,i=new N5.StringDecoder,n="";return r.on("data",s=>{let o=i.write(s),a;do if(a=o.indexOf(` +`),a!==-1){let l=n+o.substr(0,a);o=o.substr(a+1),n="",t(e!==null?`${e} ${l}`:l)}while(a!==-1);n+=o}),r.on("end",()=>{let s=i.end();s!==""&&t(e!==null?`${e} ${s}`:s)}),r}function K5(t,{prefix:e}){return{stdout:O5(r=>t.stdout.write(`${r} +`),t.stdout.isTTY?e:null),stderr:O5(r=>t.stderr.write(`${r} +`),t.stderr.isTTY?e:null)}}var sRe=(0,G5.promisify)(setTimeout);var Fi;(function(r){r[r.Readable=1]="Readable",r[r.Writable=2]="Writable"})(Fi||(Fi={}));function j5(t,e,r){let i=new Kn.PassThrough({autoDestroy:!0});switch(t){case wn.STDIN:(e&1)==1&&r.stdin.pipe(i,{end:!1}),(e&2)==2&&r.stdin instanceof Kn.Writable&&i.pipe(r.stdin,{end:!1});break;case wn.STDOUT:(e&1)==1&&r.stdout.pipe(i,{end:!1}),(e&2)==2&&i.pipe(r.stdout,{end:!1});break;case wn.STDERR:(e&1)==1&&r.stderr.pipe(i,{end:!1}),(e&2)==2&&i.pipe(r.stderr,{end:!1});break;default:throw new as(`Bad file descriptor: "${t}"`)}return i}function kw(t,e={}){let r=P(P({},t),e);return r.environment=P(P({},t.environment),e.environment),r.variables=P(P({},t.variables),e.variables),r}var oRe=new Map([["cd",async([t=(0,H5.homedir)(),...e],r,i)=>{let n=v.resolve(i.cwd,M.toPortablePath(t));if(!(await r.baseFs.statPromise(n).catch(o=>{throw o.code==="ENOENT"?new as(`cd: no such file or directory: ${t}`):o})).isDirectory())throw new as(`cd: not a directory: ${t}`);return i.cwd=n,0}],["pwd",async(t,e,r)=>(r.stdout.write(`${M.fromPortablePath(r.cwd)} +`),0)],[":",async(t,e,r)=>0],["true",async(t,e,r)=>0],["false",async(t,e,r)=>1],["exit",async([t,...e],r,i)=>i.exitCode=parseInt(t!=null?t:i.variables["?"],10)],["echo",async(t,e,r)=>(r.stdout.write(`${t.join(" ")} +`),0)],["sleep",async([t],e,r)=>{if(typeof t=="undefined")throw new as("sleep: missing operand");let i=Number(t);if(Number.isNaN(i))throw new as(`sleep: invalid time interval '${t}'`);return await sRe(1e3*i,0)}],["__ysh_run_procedure",async(t,e,r)=>{let i=r.procedures[t[0]];return await xw(i,{stdin:new Os(r.stdin),stdout:new Os(r.stdout),stderr:new Os(r.stderr)}).run()}],["__ysh_set_redirects",async(t,e,r)=>{let i=r.stdin,n=r.stdout,s=r.stderr,o=[],a=[],l=[],c=0;for(;t[c]!=="--";){let g=t[c++],{type:f,fd:h}=JSON.parse(g),p=B=>{switch(h){case null:case 0:o.push(B);break;default:throw new Error(`Unsupported file descriptor: "${h}"`)}},d=B=>{switch(h){case null:case 1:a.push(B);break;case 2:l.push(B);break;default:throw new Error(`Unsupported file descriptor: "${h}"`)}},m=Number(t[c++]),I=c+m;for(let B=c;Be.baseFs.createReadStream(v.resolve(r.cwd,M.toPortablePath(t[B]))));break;case"<<<":p(()=>{let b=new Kn.PassThrough;return process.nextTick(()=>{b.write(`${t[B]} +`),b.end()}),b});break;case"<&":p(()=>j5(Number(t[B]),1,r));break;case">":case">>":{let b=v.resolve(r.cwd,M.toPortablePath(t[B]));d(b==="/dev/null"?new Kn.Writable({autoDestroy:!0,emitClose:!0,write(R,H,L){setImmediate(L)}}):e.baseFs.createWriteStream(b,f===">>"?{flags:"a"}:void 0))}break;case">&":d(j5(Number(t[B]),2,r));break;default:throw new Error(`Assertion failed: Unsupported redirection type: "${f}"`)}}if(o.length>0){let g=new Kn.PassThrough;i=g;let f=h=>{if(h===o.length)g.end();else{let p=o[h]();p.pipe(g,{end:!1}),p.on("end",()=>{f(h+1)})}};f(0)}if(a.length>0){let g=new Kn.PassThrough;n=g;for(let f of a)g.pipe(f)}if(l.length>0){let g=new Kn.PassThrough;s=g;for(let f of l)g.pipe(f)}let u=await xw(Yp(t.slice(c+1),e,r),{stdin:new Os(i),stdout:new Os(n),stderr:new Os(s)}).run();return await Promise.all(a.map(g=>new Promise((f,h)=>{g.on("error",p=>{h(p)}),g.on("close",()=>{f()}),g.end()}))),await Promise.all(l.map(g=>new Promise((f,h)=>{g.on("error",p=>{h(p)}),g.on("close",()=>{f()}),g.end()}))),u}]]);async function aRe(t,e,r){let i=[],n=new Kn.PassThrough;return n.on("data",s=>i.push(s)),await Pw(t,e,kw(r,{stdout:n})),Buffer.concat(i).toString().replace(/[\r\n]+$/,"")}async function Y5(t,e,r){let i=t.map(async s=>{let o=await oc(s.args,e,r);return{name:s.name,value:o.join(" ")}});return(await Promise.all(i)).reduce((s,o)=>(s[o.name]=o.value,s),{})}function Dw(t){return t.match(/[^ \r\n\t]+/g)||[]}async function q5(t,e,r,i,n=i){switch(t.name){case"$":i(String(process.pid));break;case"#":i(String(e.args.length));break;case"@":if(t.quoted)for(let s of e.args)n(s);else for(let s of e.args){let o=Dw(s);for(let a=0;a=0&&st+e,subtraction:(t,e)=>t-e,multiplication:(t,e)=>t*e,division:(t,e)=>Math.trunc(t/e)};async function qp(t,e,r){if(t.type==="number"){if(Number.isInteger(t.value))return t.value;throw new Error(`Invalid number: "${t.value}", only integers are allowed`)}else if(t.type==="variable"){let i=[];await q5(_(P({},t),{quoted:!0}),e,r,s=>i.push(s));let n=Number(i.join(" "));return Number.isNaN(n)?qp({type:"variable",name:i.join(" ")},e,r):qp({type:"number",value:n},e,r)}else return ARe[t.type](await qp(t.left,e,r),await qp(t.right,e,r))}async function oc(t,e,r){let i=new Map,n=[],s=[],o=u=>{s.push(u)},a=()=>{s.length>0&&n.push(s.join("")),s=[]},l=u=>{o(u),a()},c=(u,g,f)=>{let h=JSON.stringify({type:u,fd:g}),p=i.get(h);typeof p=="undefined"&&i.set(h,p=[]),p.push(f)};for(let u of t){let g=!1;switch(u.type){case"redirection":{let f=await oc(u.args,e,r);for(let h of f)c(u.subtype,u.fd,h)}break;case"argument":for(let f of u.segments)switch(f.type){case"text":o(f.text);break;case"glob":o(f.pattern),g=!0;break;case"shell":{let h=await aRe(f.shell,e,r);if(f.quoted)o(h);else{let p=Dw(h);for(let d=0;d0){let u=[];for(let[g,f]of i.entries())u.splice(u.length,0,g,String(f.length),...f);n.splice(0,0,"__ysh_set_redirects",...u,"--")}return n}function Yp(t,e,r){e.builtins.has(t[0])||(t=["command",...t]);let i=M.fromPortablePath(r.cwd),n=r.environment;typeof n.PWD!="undefined"&&(n=_(P({},n),{PWD:i}));let[s,...o]=t;if(s==="command")return L5(o[0],o.slice(1),e,{cwd:i,env:n});let a=e.builtins.get(s);if(typeof a=="undefined")throw new Error(`Assertion failed: A builtin should exist for "${s}"`);return T5(async({stdin:l,stdout:c,stderr:u})=>{let{stdin:g,stdout:f,stderr:h}=r;r.stdin=l,r.stdout=c,r.stderr=u;try{return await a(o,e,r)}finally{r.stdin=g,r.stdout=f,r.stderr=h}})}function lRe(t,e,r){return i=>{let n=new Kn.PassThrough,s=Pw(t,e,kw(r,{stdin:n}));return{stdin:n,promise:s}}}function cRe(t,e,r){return i=>{let n=new Kn.PassThrough,s=Pw(t,e,r);return{stdin:n,promise:s}}}function J5(t,e,r,i){if(e.length===0)return t;{let n;do n=String(Math.random());while(Object.prototype.hasOwnProperty.call(i.procedures,n));return i.procedures=P({},i.procedures),i.procedures[n]=t,Yp([...e,"__ysh_run_procedure",n],r,i)}}async function W5(t,e,r){let i=t,n=null,s=null;for(;i;){let o=i.then?P({},r):r,a;switch(i.type){case"command":{let l=await oc(i.args,e,r),c=await Y5(i.envs,e,r);a=i.envs.length?Yp(l,e,kw(o,{environment:c})):Yp(l,e,o)}break;case"subshell":{let l=await oc(i.args,e,r),c=lRe(i.subshell,e,o);a=J5(c,l,e,o)}break;case"group":{let l=await oc(i.args,e,r),c=cRe(i.group,e,o);a=J5(c,l,e,o)}break;case"envs":{let l=await Y5(i.envs,e,r);o.environment=P(P({},o.environment),l),a=Yp(["true"],e,o)}break}if(typeof a=="undefined")throw new Error("Assertion failed: An action should have been generated");if(n===null)s=xw(a,{stdin:new Os(o.stdin),stdout:new Os(o.stdout),stderr:new Os(o.stderr)});else{if(s===null)throw new Error("Assertion failed: The execution pipeline should have been setup");switch(n){case"|":s=s.pipeTo(a,wn.STDOUT);break;case"|&":s=s.pipeTo(a,wn.STDOUT|wn.STDERR);break}}i.then?(n=i.then.type,i=i.then.chain):i=null}if(s===null)throw new Error("Assertion failed: The execution pipeline should have been setup");return await s.run()}async function uRe(t,e,r,{background:i=!1}={}){function n(s){let o=["#2E86AB","#A23B72","#F18F01","#C73E1D","#CCE2A3"],a=o[s%o.length];return U5.default.hex(a)}if(i){let s=r.nextBackgroundJobIndex++,o=n(s),a=`[${s}]`,l=o(a),{stdout:c,stderr:u}=K5(r,{prefix:l});return r.backgroundJobs.push(W5(t,e,kw(r,{stdout:c,stderr:u})).catch(g=>u.write(`${g.message} +`)).finally(()=>{r.stdout.isTTY&&r.stdout.write(`Job ${l}, '${o(rg(t))}' has ended +`)})),0}return await W5(t,e,r)}async function gRe(t,e,r,{background:i=!1}={}){let n,s=a=>{n=a,r.variables["?"]=String(a)},o=async a=>{try{return await uRe(a.chain,e,r,{background:i&&typeof a.then=="undefined"})}catch(l){if(!(l instanceof as))throw l;return r.stderr.write(`${l.message} +`),1}};for(s(await o(t));t.then;){if(r.exitCode!==null)return r.exitCode;switch(t.then.type){case"&&":n===0&&s(await o(t.then.line));break;case"||":n!==0&&s(await o(t.then.line));break;default:throw new Error(`Assertion failed: Unsupported command type: "${t.then.type}"`)}t=t.then.line}return n}async function Pw(t,e,r){let i=r.backgroundJobs;r.backgroundJobs=[];let n=0;for(let{command:s,type:o}of t){if(n=await gRe(s,e,r,{background:o==="&"}),r.exitCode!==null)return r.exitCode;r.variables["?"]=String(n)}return await Promise.all(r.backgroundJobs),r.backgroundJobs=i,n}function z5(t){switch(t.type){case"variable":return t.name==="@"||t.name==="#"||t.name==="*"||Number.isFinite(parseInt(t.name,10))||"defaultValue"in t&&!!t.defaultValue&&t.defaultValue.some(e=>Rw(e));case"arithmetic":return qP(t.arithmetic);case"shell":return JP(t.shell);default:return!1}}function Rw(t){switch(t.type){case"redirection":return t.args.some(e=>Rw(e));case"argument":return t.segments.some(e=>z5(e));default:throw new Error(`Assertion failed: Unsupported argument type: "${t.type}"`)}}function qP(t){switch(t.type){case"variable":return z5(t);case"number":return!1;default:return qP(t.left)||qP(t.right)}}function JP(t){return t.some(({command:e})=>{for(;e;){let r=e.chain;for(;r;){let i;switch(r.type){case"subshell":i=JP(r.subshell);break;case"command":i=r.envs.some(n=>n.args.some(s=>Rw(s)))||r.args.some(n=>Rw(n));break}if(i)return!0;if(!r.then)break;r=r.then.chain}if(!e.then)break;e=e.then.line}return!1})}async function Fw(t,e=[],{baseFs:r=new Wt,builtins:i={},cwd:n=M.toPortablePath(process.cwd()),env:s=process.env,stdin:o=process.stdin,stdout:a=process.stdout,stderr:l=process.stderr,variables:c={},glob:u=bw}={}){let g={};for(let[p,d]of Object.entries(s))typeof d!="undefined"&&(g[p]=d);let f=new Map(oRe);for(let[p,d]of Object.entries(i))f.set(p,d);o===null&&(o=new Kn.PassThrough,o.end());let h=Aw(t,u);if(!JP(h)&&h.length>0&&e.length>0){let{command:p}=h[h.length-1];for(;p.then;)p=p.then.line;let d=p.chain;for(;d.then;)d=d.then.chain;d.type==="command"&&(d.args=d.args.concat(e.map(m=>({type:"argument",segments:[{type:"text",text:m}]}))))}return await Pw(h,{args:e,baseFs:r,builtins:f,initialStdin:o,initialStdout:a,initialStderr:l,glob:u},{cwd:n,environment:g,exitCode:null,procedures:{},stdin:o,stdout:a,stderr:l,variables:Object.assign({},c,{["?"]:0}),nextBackgroundJobIndex:1,backgroundJobs:[]})}var s9=ie(ZP()),o9=ie(Wp()),cc=ie(require("stream"));var J6=ie(Or());var zp=class{supportsDescriptor(e,r){return!!(e.range.startsWith(zp.protocol)||r.project.tryWorkspaceByDescriptor(e)!==null)}supportsLocator(e,r){return!!e.reference.startsWith(zp.protocol)}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,i){return e}getResolutionDependencies(e,r){return[]}async getCandidates(e,r,i){return[i.project.getWorkspaceByDescriptor(e).anchoredLocator]}async getSatisfying(e,r,i){return null}async resolve(e,r){let i=r.project.getWorkspaceByCwd(e.reference.slice(zp.protocol.length));return _(P({},e),{version:i.manifest.version||"0.0.0",languageName:"unknown",linkType:gt.SOFT,conditions:null,dependencies:new Map([...i.manifest.dependencies,...i.manifest.devDependencies]),peerDependencies:new Map([...i.manifest.peerDependencies]),dependenciesMeta:i.manifest.dependenciesMeta,peerDependenciesMeta:i.manifest.peerDependenciesMeta,bin:i.manifest.bin})}},Yr=zp;Yr.protocol="workspace:";var qt={};it(qt,{SemVer:()=>j6.SemVer,satisfiesWithPrereleases:()=>lc,validRange:()=>Us});var Lw=ie(Or()),j6=ie(Or()),Y6=new Map;function lc(t,e,r=!1){if(!t)return!1;let i=`${e}${r}`,n=Y6.get(i);if(typeof n=="undefined")try{n=new Lw.default.Range(e,{includePrerelease:!0,loose:r})}catch{return!1}finally{Y6.set(i,n||null)}else if(n===null)return!1;let s;try{s=new Lw.default.SemVer(t,n)}catch(o){return!1}return n.test(s)?!0:(s.prerelease&&(s.prerelease=[]),n.set.some(o=>{for(let a of o)a.semver.prerelease&&(a.semver.prerelease=[]);return o.every(a=>a.test(s))}))}var q6=new Map;function Us(t){if(t.indexOf(":")!==-1)return null;let e=q6.get(t);if(typeof e!="undefined")return e;try{e=new Lw.default.Range(t)}catch{e=null}return q6.set(t,e),e}var vA=class{constructor(){this.indent=" ";this.name=null;this.version=null;this.os=null;this.cpu=null;this.type=null;this.packageManager=null;this.private=!1;this.license=null;this.main=null;this.module=null;this.browser=null;this.languageName=null;this.bin=new Map;this.scripts=new Map;this.dependencies=new Map;this.devDependencies=new Map;this.peerDependencies=new Map;this.workspaceDefinitions=[];this.dependenciesMeta=new Map;this.peerDependenciesMeta=new Map;this.resolutions=[];this.files=null;this.publishConfig=null;this.installConfig=null;this.preferUnplugged=null;this.raw={};this.errors=[]}static async tryFind(e,{baseFs:r=new Wt}={}){let i=v.join(e,"package.json");return await r.existsPromise(i)?await vA.fromFile(i,{baseFs:r}):null}static async find(e,{baseFs:r}={}){let i=await vA.tryFind(e,{baseFs:r});if(i===null)throw new Error("Manifest not found");return i}static async fromFile(e,{baseFs:r=new Wt}={}){let i=new vA;return await i.loadFile(e,{baseFs:r}),i}static fromText(e){let r=new vA;return r.loadFromText(e),r}static isManifestFieldCompatible(e,r){if(e===null)return!0;let i=!0,n=!1;for(let s of e)if(s[0]==="!"){if(n=!0,r===s.slice(1))return!1}else if(i=!1,s===r)return!0;return n&&i}loadFromText(e){let r;try{r=JSON.parse(z6(e)||"{}")}catch(i){throw i.message+=` (when parsing ${e})`,i}this.load(r),this.indent=W6(e)}async loadFile(e,{baseFs:r=new Wt}){let i=await r.readFilePromise(e,"utf8"),n;try{n=JSON.parse(z6(i)||"{}")}catch(s){throw s.message+=` (when parsing ${e})`,s}this.load(n),this.indent=W6(i)}load(e,{yamlCompatibilityMode:r=!1}={}){if(typeof e!="object"||e===null)throw new Error(`Utterly invalid manifest data (${e})`);this.raw=e;let i=[];if(this.name=null,typeof e.name=="string")try{this.name=En(e.name)}catch(s){i.push(new Error("Parsing failed for the 'name' field"))}if(typeof e.version=="string"?this.version=e.version:this.version=null,Array.isArray(e.os)){let s=[];this.os=s;for(let o of e.os)typeof o!="string"?i.push(new Error("Parsing failed for the 'os' field")):s.push(o)}else this.os=null;if(Array.isArray(e.cpu)){let s=[];this.cpu=s;for(let o of e.cpu)typeof o!="string"?i.push(new Error("Parsing failed for the 'cpu' field")):s.push(o)}else this.cpu=null;if(typeof e.type=="string"?this.type=e.type:this.type=null,typeof e.packageManager=="string"?this.packageManager=e.packageManager:this.packageManager=null,typeof e.private=="boolean"?this.private=e.private:this.private=!1,typeof e.license=="string"?this.license=e.license:this.license=null,typeof e.languageName=="string"?this.languageName=e.languageName:this.languageName=null,typeof e.main=="string"?this.main=en(e.main):this.main=null,typeof e.module=="string"?this.module=en(e.module):this.module=null,e.browser!=null)if(typeof e.browser=="string")this.browser=en(e.browser);else{this.browser=new Map;for(let[s,o]of Object.entries(e.browser))this.browser.set(en(s),typeof o=="string"?en(o):o)}else this.browser=null;if(this.bin=new Map,typeof e.bin=="string")this.name!==null?this.bin.set(this.name.name,en(e.bin)):i.push(new Error("String bin field, but no attached package name"));else if(typeof e.bin=="object"&&e.bin!==null)for(let[s,o]of Object.entries(e.bin)){if(typeof o!="string"){i.push(new Error(`Invalid bin definition for '${s}'`));continue}this.bin.set(s,en(o))}if(this.scripts=new Map,typeof e.scripts=="object"&&e.scripts!==null)for(let[s,o]of Object.entries(e.scripts)){if(typeof o!="string"){i.push(new Error(`Invalid script definition for '${s}'`));continue}this.scripts.set(s,o)}if(this.dependencies=new Map,typeof e.dependencies=="object"&&e.dependencies!==null)for(let[s,o]of Object.entries(e.dependencies)){if(typeof o!="string"){i.push(new Error(`Invalid dependency range for '${s}'`));continue}let a;try{a=En(s)}catch(c){i.push(new Error(`Parsing failed for the dependency name '${s}'`));continue}let l=Yt(a,o);this.dependencies.set(l.identHash,l)}if(this.devDependencies=new Map,typeof e.devDependencies=="object"&&e.devDependencies!==null)for(let[s,o]of Object.entries(e.devDependencies)){if(typeof o!="string"){i.push(new Error(`Invalid dependency range for '${s}'`));continue}let a;try{a=En(s)}catch(c){i.push(new Error(`Parsing failed for the dependency name '${s}'`));continue}let l=Yt(a,o);this.devDependencies.set(l.identHash,l)}if(this.peerDependencies=new Map,typeof e.peerDependencies=="object"&&e.peerDependencies!==null)for(let[s,o]of Object.entries(e.peerDependencies)){let a;try{a=En(s)}catch(c){i.push(new Error(`Parsing failed for the dependency name '${s}'`));continue}(typeof o!="string"||!o.startsWith(Yr.protocol)&&!Us(o))&&(i.push(new Error(`Invalid dependency range for '${s}'`)),o="*");let l=Yt(a,o);this.peerDependencies.set(l.identHash,l)}typeof e.workspaces=="object"&&e.workspaces.nohoist&&i.push(new Error("'nohoist' is deprecated, please use 'installConfig.hoistingLimits' instead"));let n=Array.isArray(e.workspaces)?e.workspaces:typeof e.workspaces=="object"&&e.workspaces!==null&&Array.isArray(e.workspaces.packages)?e.workspaces.packages:[];this.workspaceDefinitions=[];for(let s of n){if(typeof s!="string"){i.push(new Error(`Invalid workspace definition for '${s}'`));continue}this.workspaceDefinitions.push({pattern:s})}if(this.dependenciesMeta=new Map,typeof e.dependenciesMeta=="object"&&e.dependenciesMeta!==null)for(let[s,o]of Object.entries(e.dependenciesMeta)){if(typeof o!="object"||o===null){i.push(new Error(`Invalid meta field for '${s}`));continue}let a=pA(s),l=this.ensureDependencyMeta(a),c=Tw(o.built,{yamlCompatibilityMode:r});if(c===null){i.push(new Error(`Invalid built meta field for '${s}'`));continue}let u=Tw(o.optional,{yamlCompatibilityMode:r});if(u===null){i.push(new Error(`Invalid optional meta field for '${s}'`));continue}let g=Tw(o.unplugged,{yamlCompatibilityMode:r});if(g===null){i.push(new Error(`Invalid unplugged meta field for '${s}'`));continue}Object.assign(l,{built:c,optional:u,unplugged:g})}if(this.peerDependenciesMeta=new Map,typeof e.peerDependenciesMeta=="object"&&e.peerDependenciesMeta!==null)for(let[s,o]of Object.entries(e.peerDependenciesMeta)){if(typeof o!="object"||o===null){i.push(new Error(`Invalid meta field for '${s}'`));continue}let a=pA(s),l=this.ensurePeerDependencyMeta(a),c=Tw(o.optional,{yamlCompatibilityMode:r});if(c===null){i.push(new Error(`Invalid optional meta field for '${s}'`));continue}Object.assign(l,{optional:c})}if(this.resolutions=[],typeof e.resolutions=="object"&&e.resolutions!==null)for(let[s,o]of Object.entries(e.resolutions)){if(typeof o!="string"){i.push(new Error(`Invalid resolution entry for '${s}'`));continue}try{this.resolutions.push({pattern:gw(s),reference:o})}catch(a){i.push(a);continue}}if(Array.isArray(e.files)){this.files=new Set;for(let s of e.files){if(typeof s!="string"){i.push(new Error(`Invalid files entry for '${s}'`));continue}this.files.add(s)}}else this.files=null;if(typeof e.publishConfig=="object"&&e.publishConfig!==null){if(this.publishConfig={},typeof e.publishConfig.access=="string"&&(this.publishConfig.access=e.publishConfig.access),typeof e.publishConfig.main=="string"&&(this.publishConfig.main=en(e.publishConfig.main)),typeof e.publishConfig.module=="string"&&(this.publishConfig.module=en(e.publishConfig.module)),e.publishConfig.browser!=null)if(typeof e.publishConfig.browser=="string")this.publishConfig.browser=en(e.publishConfig.browser);else{this.publishConfig.browser=new Map;for(let[s,o]of Object.entries(e.publishConfig.browser))this.publishConfig.browser.set(en(s),typeof o=="string"?en(o):o)}if(typeof e.publishConfig.registry=="string"&&(this.publishConfig.registry=e.publishConfig.registry),typeof e.publishConfig.bin=="string")this.name!==null?this.publishConfig.bin=new Map([[this.name.name,en(e.publishConfig.bin)]]):i.push(new Error("String bin field, but no attached package name"));else if(typeof e.publishConfig.bin=="object"&&e.publishConfig.bin!==null){this.publishConfig.bin=new Map;for(let[s,o]of Object.entries(e.publishConfig.bin)){if(typeof o!="string"){i.push(new Error(`Invalid bin definition for '${s}'`));continue}this.publishConfig.bin.set(s,en(o))}}if(Array.isArray(e.publishConfig.executableFiles)){this.publishConfig.executableFiles=new Set;for(let s of e.publishConfig.executableFiles){if(typeof s!="string"){i.push(new Error("Invalid executable file definition"));continue}this.publishConfig.executableFiles.add(en(s))}}}else this.publishConfig=null;if(typeof e.installConfig=="object"&&e.installConfig!==null){this.installConfig={};for(let s of Object.keys(e.installConfig))s==="hoistingLimits"?typeof e.installConfig.hoistingLimits=="string"?this.installConfig.hoistingLimits=e.installConfig.hoistingLimits:i.push(new Error("Invalid hoisting limits definition")):s=="selfReferences"?typeof e.installConfig.selfReferences=="boolean"?this.installConfig.selfReferences=e.installConfig.selfReferences:i.push(new Error("Invalid selfReferences definition, must be a boolean value")):i.push(new Error(`Unrecognized installConfig key: ${s}`))}else this.installConfig=null;if(typeof e.optionalDependencies=="object"&&e.optionalDependencies!==null)for(let[s,o]of Object.entries(e.optionalDependencies)){if(typeof o!="string"){i.push(new Error(`Invalid dependency range for '${s}'`));continue}let a;try{a=En(s)}catch(g){i.push(new Error(`Parsing failed for the dependency name '${s}'`));continue}let l=Yt(a,o);this.dependencies.set(l.identHash,l);let c=Yt(a,"unknown"),u=this.ensureDependencyMeta(c);Object.assign(u,{optional:!0})}typeof e.preferUnplugged=="boolean"?this.preferUnplugged=e.preferUnplugged:this.preferUnplugged=null,this.errors=i}getForScope(e){switch(e){case"dependencies":return this.dependencies;case"devDependencies":return this.devDependencies;case"peerDependencies":return this.peerDependencies;default:throw new Error(`Unsupported value ("${e}")`)}}hasConsumerDependency(e){return!!(this.dependencies.has(e.identHash)||this.peerDependencies.has(e.identHash))}hasHardDependency(e){return!!(this.dependencies.has(e.identHash)||this.devDependencies.has(e.identHash))}hasSoftDependency(e){return!!this.peerDependencies.has(e.identHash)}hasDependency(e){return!!(this.hasHardDependency(e)||this.hasSoftDependency(e))}getConditions(){let e=[];return this.os&&this.os.length>0&&e.push(V6("os",this.os)),this.cpu&&this.cpu.length>0&&e.push(V6("cpu",this.cpu)),e.length>0?e.join(" & "):null}isCompatibleWithOS(e){return vA.isManifestFieldCompatible(this.os,e)}isCompatibleWithCPU(e){return vA.isManifestFieldCompatible(this.cpu,e)}ensureDependencyMeta(e){if(e.range!=="unknown"&&!J6.default.valid(e.range))throw new Error(`Invalid meta field range for '${In(e)}'`);let r=St(e),i=e.range!=="unknown"?e.range:null,n=this.dependenciesMeta.get(r);n||this.dependenciesMeta.set(r,n=new Map);let s=n.get(i);return s||n.set(i,s={}),s}ensurePeerDependencyMeta(e){if(e.range!=="unknown")throw new Error(`Invalid meta field range for '${In(e)}'`);let r=St(e),i=this.peerDependenciesMeta.get(r);return i||this.peerDependenciesMeta.set(r,i={}),i}setRawField(e,r,{after:i=[]}={}){let n=new Set(i.filter(s=>Object.prototype.hasOwnProperty.call(this.raw,s)));if(n.size===0||Object.prototype.hasOwnProperty.call(this.raw,e))this.raw[e]=r;else{let s=this.raw,o=this.raw={},a=!1;for(let l of Object.keys(s))o[l]=s[l],a||(n.delete(l),n.size===0&&(o[e]=r,a=!0))}}exportTo(e,{compatibilityMode:r=!0}={}){var s;if(Object.assign(e,this.raw),this.name!==null?e.name=St(this.name):delete e.name,this.version!==null?e.version=this.version:delete e.version,this.os!==null?e.os=this.os:delete e.os,this.cpu!==null?e.cpu=this.cpu:delete e.cpu,this.type!==null?e.type=this.type:delete e.type,this.packageManager!==null?e.packageManager=this.packageManager:delete e.packageManager,this.private?e.private=!0:delete e.private,this.license!==null?e.license=this.license:delete e.license,this.languageName!==null?e.languageName=this.languageName:delete e.languageName,this.main!==null?e.main=this.main:delete e.main,this.module!==null?e.module=this.module:delete e.module,this.browser!==null){let o=this.browser;typeof o=="string"?e.browser=o:o instanceof Map&&(e.browser=Object.assign({},...Array.from(o.keys()).sort().map(a=>({[a]:o.get(a)}))))}else delete e.browser;this.bin.size===1&&this.name!==null&&this.bin.has(this.name.name)?e.bin=this.bin.get(this.name.name):this.bin.size>0?e.bin=Object.assign({},...Array.from(this.bin.keys()).sort().map(o=>({[o]:this.bin.get(o)}))):delete e.bin,this.workspaceDefinitions.length>0?this.raw.workspaces&&!Array.isArray(this.raw.workspaces)?e.workspaces=_(P({},this.raw.workspaces),{packages:this.workspaceDefinitions.map(({pattern:o})=>o)}):e.workspaces=this.workspaceDefinitions.map(({pattern:o})=>o):this.raw.workspaces&&!Array.isArray(this.raw.workspaces)&&Object.keys(this.raw.workspaces).length>0?e.workspaces=this.raw.workspaces:delete e.workspaces;let i=[],n=[];for(let o of this.dependencies.values()){let a=this.dependenciesMeta.get(St(o)),l=!1;if(r&&a){let c=a.get(null);c&&c.optional&&(l=!0)}l?n.push(o):i.push(o)}i.length>0?e.dependencies=Object.assign({},...Ou(i).map(o=>({[St(o)]:o.range}))):delete e.dependencies,n.length>0?e.optionalDependencies=Object.assign({},...Ou(n).map(o=>({[St(o)]:o.range}))):delete e.optionalDependencies,this.devDependencies.size>0?e.devDependencies=Object.assign({},...Ou(this.devDependencies.values()).map(o=>({[St(o)]:o.range}))):delete e.devDependencies,this.peerDependencies.size>0?e.peerDependencies=Object.assign({},...Ou(this.peerDependencies.values()).map(o=>({[St(o)]:o.range}))):delete e.peerDependencies,e.dependenciesMeta={};for(let[o,a]of gn(this.dependenciesMeta.entries(),([l,c])=>l))for(let[l,c]of gn(a.entries(),([u,g])=>u!==null?`0${u}`:"1")){let u=l!==null?In(Yt(En(o),l)):o,g=P({},c);r&&l===null&&delete g.optional,Object.keys(g).length!==0&&(e.dependenciesMeta[u]=g)}if(Object.keys(e.dependenciesMeta).length===0&&delete e.dependenciesMeta,this.peerDependenciesMeta.size>0?e.peerDependenciesMeta=Object.assign({},...gn(this.peerDependenciesMeta.entries(),([o,a])=>o).map(([o,a])=>({[o]:a}))):delete e.peerDependenciesMeta,this.resolutions.length>0?e.resolutions=Object.assign({},...this.resolutions.map(({pattern:o,reference:a})=>({[fw(o)]:a}))):delete e.resolutions,this.files!==null?e.files=Array.from(this.files):delete e.files,this.preferUnplugged!==null?e.preferUnplugged=this.preferUnplugged:delete e.preferUnplugged,this.scripts!==null&&this.scripts.size>0){(s=e.scripts)!=null||(e.scripts={});for(let o of Object.keys(e.scripts))this.scripts.has(o)||delete e.scripts[o];for(let[o,a]of this.scripts.entries())e.scripts[o]=a}else delete e.scripts;return e}},Ze=vA;Ze.fileName="package.json",Ze.allDependencies=["dependencies","devDependencies","peerDependencies"],Ze.hardDependencies=["dependencies","devDependencies"];function W6(t){let e=t.match(/^[ \t]+/m);return e?e[0]:" "}function z6(t){return t.charCodeAt(0)===65279?t.slice(1):t}function en(t){return t.replace(/\\/g,"/")}function Tw(t,{yamlCompatibilityMode:e}){return e?Kv(t):typeof t=="undefined"||typeof t=="boolean"?t:null}function _6(t,e){let r=e.search(/[^!]/);if(r===-1)return"invalid";let i=r%2==0?"":"!",n=e.slice(r);return`${i}${t}=${n}`}function V6(t,e){return e.length===1?_6(t,e[0]):`(${e.map(r=>_6(t,r)).join(" | ")})`}var e9=ie($6()),Ow=ie(ml());var t9=["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"],r9=80,NFe=new Set([z.FETCH_NOT_CACHED,z.UNUSED_CACHE_ENTRY]),LFe=5,SA=Ow.default.GITHUB_ACTIONS?{start:t=>`::group::${t} +`,end:t=>`::endgroup:: +`}:Ow.default.TRAVIS?{start:t=>`travis_fold:start:${t} +`,end:t=>`travis_fold:end:${t} +`}:Ow.default.GITLAB?{start:t=>`section_start:${Math.floor(Date.now()/1e3)}:${t.toLowerCase().replace(/\W+/g,"_")}[collapsed=true]\r${t} +`,end:t=>`section_end:${Math.floor(Date.now()/1e3)}:${t.toLowerCase().replace(/\W+/g,"_")}\r`}:null,i9=new Date,TFe=["iTerm.app","Apple_Terminal"].includes(process.env.TERM_PROGRAM)||!!process.env.WT_SESSION,MFe=t=>t,Kw=MFe({patrick:{date:[17,3],chars:["\u{1F340}","\u{1F331}"],size:40},simba:{date:[19,7],chars:["\u{1F981}","\u{1F334}"],size:40},jack:{date:[31,10],chars:["\u{1F383}","\u{1F987}"],size:40},hogsfather:{date:[31,12],chars:["\u{1F389}","\u{1F384}"],size:40},default:{chars:["=","-"],size:80}}),OFe=TFe&&Object.keys(Kw).find(t=>{let e=Kw[t];return!(e.date&&(e.date[0]!==i9.getDate()||e.date[1]!==i9.getMonth()+1))})||"default";function n9(t,{configuration:e,json:r}){if(!e.get("enableMessageNames"))return"";let n=KE(t===null?0:t);return!r&&t===null?Ve(e,n,"grey"):n}function eD(t,{configuration:e,json:r}){let i=n9(t,{configuration:e,json:r});if(!i||t===null||t===z.UNNAMED)return i;let n=z[t],s=`https://yarnpkg.com/advanced/error-codes#${i}---${n}`.toLowerCase();return Ku(e,i,s)}var Fe=class extends Xi{constructor({configuration:e,stdout:r,json:i=!1,includeFooter:n=!0,includeLogs:s=!i,includeInfos:o=s,includeWarnings:a=s,forgettableBufferSize:l=LFe,forgettableNames:c=new Set}){super();this.uncommitted=new Set;this.cacheHitCount=0;this.cacheMissCount=0;this.lastCacheMiss=null;this.warningCount=0;this.errorCount=0;this.startTime=Date.now();this.indent=0;this.progress=new Map;this.progressTime=0;this.progressFrame=0;this.progressTimeout=null;this.forgettableLines=[];Cp(this,{configuration:e}),this.configuration=e,this.forgettableBufferSize=l,this.forgettableNames=new Set([...c,...NFe]),this.includeFooter=n,this.includeInfos=o,this.includeWarnings=a,this.json=i,this.stdout=r;let u=this.configuration.get("progressBarStyle")||OFe;if(!Object.prototype.hasOwnProperty.call(Kw,u))throw new Error("Assertion failed: Invalid progress bar style");this.progressStyle=Kw[u];let g="\u27A4 YN0000: \u250C ".length,f=Math.max(0,Math.min(process.stdout.columns-g,80));this.progressMaxScaledSize=Math.floor(this.progressStyle.size*f/80)}static async start(e,r){let i=new this(e),n=process.emitWarning;process.emitWarning=(s,o)=>{if(typeof s!="string"){let l=s;s=l.message,o=o!=null?o:l.name}let a=typeof o!="undefined"?`${o}: ${s}`:s;i.reportWarning(z.UNNAMED,a)};try{await r(i)}catch(s){i.reportExceptionOnce(s)}finally{await i.finalize(),process.emitWarning=n}return i}hasErrors(){return this.errorCount>0}exitCode(){return this.hasErrors()?1:0}reportCacheHit(e){this.cacheHitCount+=1}reportCacheMiss(e,r){this.lastCacheMiss=e,this.cacheMissCount+=1,typeof r!="undefined"&&!this.configuration.get("preferAggregateCacheInfo")&&this.reportInfo(z.FETCH_NOT_CACHED,r)}startTimerSync(e,r,i){let n=typeof r=="function"?{}:r,s=typeof r=="function"?r:i,o={committed:!1,action:()=>{this.reportInfo(null,`\u250C ${e}`),this.indent+=1,SA!==null&&!this.json&&this.includeInfos&&this.stdout.write(SA.start(e))}};n.skipIfEmpty?this.uncommitted.add(o):(o.action(),o.committed=!0);let a=Date.now();try{return s()}catch(l){throw this.reportExceptionOnce(l),l}finally{let l=Date.now();this.uncommitted.delete(o),o.committed&&(this.indent-=1,SA!==null&&!this.json&&this.includeInfos&&this.stdout.write(SA.end(e)),this.configuration.get("enableTimers")&&l-a>200?this.reportInfo(null,`\u2514 Completed in ${Ve(this.configuration,l-a,Le.DURATION)}`):this.reportInfo(null,"\u2514 Completed"))}}async startTimerPromise(e,r,i){let n=typeof r=="function"?{}:r,s=typeof r=="function"?r:i,o={committed:!1,action:()=>{this.reportInfo(null,`\u250C ${e}`),this.indent+=1,SA!==null&&!this.json&&this.includeInfos&&this.stdout.write(SA.start(e))}};n.skipIfEmpty?this.uncommitted.add(o):(o.action(),o.committed=!0);let a=Date.now();try{return await s()}catch(l){throw this.reportExceptionOnce(l),l}finally{let l=Date.now();this.uncommitted.delete(o),o.committed&&(this.indent-=1,SA!==null&&!this.json&&this.includeInfos&&this.stdout.write(SA.end(e)),this.configuration.get("enableTimers")&&l-a>200?this.reportInfo(null,`\u2514 Completed in ${Ve(this.configuration,l-a,Le.DURATION)}`):this.reportInfo(null,"\u2514 Completed"))}}async startCacheReport(e){let r=this.configuration.get("preferAggregateCacheInfo")?{cacheHitCount:this.cacheHitCount,cacheMissCount:this.cacheMissCount}:null;try{return await e()}catch(i){throw this.reportExceptionOnce(i),i}finally{r!==null&&this.reportCacheChanges(r)}}reportSeparator(){this.indent===0?this.writeLineWithForgettableReset(""):this.reportInfo(null,"")}reportInfo(e,r){if(!this.includeInfos)return;this.commit();let i=this.formatNameWithHyperlink(e),n=i?`${i}: `:"",s=`${Ve(this.configuration,"\u27A4","blueBright")} ${n}${this.formatIndent()}${r}`;if(this.json)this.reportJson({type:"info",name:e,displayName:this.formatName(e),indent:this.formatIndent(),data:r});else if(this.forgettableNames.has(e))if(this.forgettableLines.push(s),this.forgettableLines.length>this.forgettableBufferSize){for(;this.forgettableLines.length>this.forgettableBufferSize;)this.forgettableLines.shift();this.writeLines(this.forgettableLines,{truncate:!0})}else this.writeLine(s,{truncate:!0});else this.writeLineWithForgettableReset(s)}reportWarning(e,r){if(this.warningCount+=1,!this.includeWarnings)return;this.commit();let i=this.formatNameWithHyperlink(e),n=i?`${i}: `:"";this.json?this.reportJson({type:"warning",name:e,displayName:this.formatName(e),indent:this.formatIndent(),data:r}):this.writeLineWithForgettableReset(`${Ve(this.configuration,"\u27A4","yellowBright")} ${n}${this.formatIndent()}${r}`)}reportError(e,r){this.errorCount+=1,this.commit();let i=this.formatNameWithHyperlink(e),n=i?`${i}: `:"";this.json?this.reportJson({type:"error",name:e,displayName:this.formatName(e),indent:this.formatIndent(),data:r}):this.writeLineWithForgettableReset(`${Ve(this.configuration,"\u27A4","redBright")} ${n}${this.formatIndent()}${r}`,{truncate:!1})}reportProgress(e){let r=!1,i=Promise.resolve().then(async()=>{let s={progress:0,title:void 0};this.progress.set(e,{definition:s,lastScaledSize:-1}),this.refreshProgress(-1);for await(let{progress:o,title:a}of e)r||s.progress===o&&s.title===a||(s.progress=o,s.title=a,this.refreshProgress());n()}),n=()=>{r||(r=!0,this.progress.delete(e),this.refreshProgress(1))};return _(P({},i),{stop:n})}reportJson(e){this.json&&this.writeLineWithForgettableReset(`${JSON.stringify(e)}`)}async finalize(){if(!this.includeFooter)return;let e="";this.errorCount>0?e="Failed with errors":this.warningCount>0?e="Done with warnings":e="Done";let r=Ve(this.configuration,Date.now()-this.startTime,Le.DURATION),i=this.configuration.get("enableTimers")?`${e} in ${r}`:e;this.errorCount>0?this.reportError(z.UNNAMED,i):this.warningCount>0?this.reportWarning(z.UNNAMED,i):this.reportInfo(z.UNNAMED,i)}writeLine(e,{truncate:r}={}){this.clearProgress({clear:!0}),this.stdout.write(`${this.truncate(e,{truncate:r})} +`),this.writeProgress()}writeLineWithForgettableReset(e,{truncate:r}={}){this.forgettableLines=[],this.writeLine(e,{truncate:r})}writeLines(e,{truncate:r}={}){this.clearProgress({delta:e.length});for(let i of e)this.stdout.write(`${this.truncate(i,{truncate:r})} +`);this.writeProgress()}reportCacheChanges({cacheHitCount:e,cacheMissCount:r}){let i=this.cacheHitCount-e,n=this.cacheMissCount-r;if(i===0&&n===0)return;let s="";this.cacheHitCount>1?s+=`${this.cacheHitCount} packages were already cached`:this.cacheHitCount===1?s+=" - one package was already cached":s+="No packages were cached",this.cacheHitCount>0?this.cacheMissCount>1?s+=`, ${this.cacheMissCount} had to be fetched`:this.cacheMissCount===1&&(s+=`, one had to be fetched (${lt(this.configuration,this.lastCacheMiss)})`):this.cacheMissCount>1?s+=` - ${this.cacheMissCount} packages had to be fetched`:this.cacheMissCount===1&&(s+=` - one package had to be fetched (${lt(this.configuration,this.lastCacheMiss)})`),this.reportInfo(z.FETCH_NOT_CACHED,s)}commit(){let e=this.uncommitted;this.uncommitted=new Set;for(let r of e)r.committed=!0,r.action()}clearProgress({delta:e=0,clear:r=!1}){!this.configuration.get("enableProgressBars")||this.json||this.progress.size+e>0&&(this.stdout.write(`[${this.progress.size+e}A`),(e>0||r)&&this.stdout.write(""))}writeProgress(){if(!this.configuration.get("enableProgressBars")||this.json||(this.progressTimeout!==null&&clearTimeout(this.progressTimeout),this.progressTimeout=null,this.progress.size===0))return;let e=Date.now();e-this.progressTime>r9&&(this.progressFrame=(this.progressFrame+1)%t9.length,this.progressTime=e);let r=t9[this.progressFrame];for(let i of this.progress.values()){let n=this.progressStyle.chars[0].repeat(i.lastScaledSize),s=this.progressStyle.chars[1].repeat(this.progressMaxScaledSize-i.lastScaledSize),o=this.formatName(null),a=o?`${o}: `:"";this.stdout.write(`${Ve(this.configuration,"\u27A4","blueBright")} ${a}${r} ${n}${s} +`)}this.progressTimeout=setTimeout(()=>{this.refreshProgress()},r9)}refreshProgress(e=0){let r=!1;if(this.progress.size===0)r=!0;else for(let i of this.progress.values()){let n=Math.trunc(this.progressMaxScaledSize*i.definition.progress),s=i.lastScaledSize;if(i.lastScaledSize=n,n!==s){r=!0;break}}r&&(this.clearProgress({delta:e}),this.writeProgress())}truncate(e,{truncate:r}={}){return this.configuration.get("enableProgressBars")||(r=!1),typeof r=="undefined"&&(r=this.configuration.get("preferTruncatedLines")),r&&(e=(0,e9.default)(e,0,process.stdout.columns-1)),e}formatName(e){return n9(e,{configuration:this.configuration,json:this.json})}formatNameWithHyperlink(e){return eD(e,{configuration:this.configuration,json:this.json})}formatIndent(){return"\u2502 ".repeat(this.indent)}};var Zr="3.1.1";var tn;(function(n){n.Yarn1="Yarn Classic",n.Yarn2="Yarn",n.Npm="npm",n.Pnpm="pnpm"})(tn||(tn={}));async function ba(t,e,r,i=[]){if(process.platform==="win32"){let n=`@goto #_undefined_# 2>NUL || @title %COMSPEC% & @setlocal & @"${r}" ${i.map(s=>`"${s.replace('"','""')}"`).join(" ")} %*`;await T.writeFilePromise(v.format({dir:t,name:e,ext:".cmd"}),n)}await T.writeFilePromise(v.join(t,e),`#!/bin/sh +exec "${r}" ${i.map(n=>`'${n.replace(/'/g,`'"'"'`)}'`).join(" ")} "$@" +`,{mode:493})}async function a9(t){let e=await Ze.tryFind(t);if(e==null?void 0:e.packageManager){let i=Qy(e.packageManager);if(i==null?void 0:i.name){let n=`found ${JSON.stringify({packageManager:e.packageManager})} in manifest`,[s]=i.reference.split(".");switch(i.name){case"yarn":return{packageManager:Number(s)===1?tn.Yarn1:tn.Yarn2,reason:n};case"npm":return{packageManager:tn.Npm,reason:n};case"pnpm":return{packageManager:tn.Pnpm,reason:n}}}}let r;try{r=await T.readFilePromise(v.join(t,wt.lockfile),"utf8")}catch{}return r!==void 0?r.match(/^__metadata:$/m)?{packageManager:tn.Yarn2,reason:'"__metadata" key found in yarn.lock'}:{packageManager:tn.Yarn1,reason:'"__metadata" key not found in yarn.lock, must be a Yarn classic lockfile'}:T.existsSync(v.join(t,"package-lock.json"))?{packageManager:tn.Npm,reason:`found npm's "package-lock.json" lockfile`}:T.existsSync(v.join(t,"pnpm-lock.yaml"))?{packageManager:tn.Pnpm,reason:`found pnpm's "pnpm-lock.yaml" lockfile`}:null}async function Vp({project:t,locator:e,binFolder:r,lifecycleScript:i}){var l,c;let n={};for(let[u,g]of Object.entries(process.env))typeof g!="undefined"&&(n[u.toLowerCase()!=="path"?u:"PATH"]=g);let s=M.fromPortablePath(r);n.BERRY_BIN_FOLDER=M.fromPortablePath(s);let o=process.env.COREPACK_ROOT?M.join(process.env.COREPACK_ROOT,"dist/yarn.js"):process.argv[1];if(await Promise.all([ba(r,"node",process.execPath),...Zr!==null?[ba(r,"run",process.execPath,[o,"run"]),ba(r,"yarn",process.execPath,[o]),ba(r,"yarnpkg",process.execPath,[o]),ba(r,"node-gyp",process.execPath,[o,"run","--top-level","node-gyp"])]:[]]),t&&(n.INIT_CWD=M.fromPortablePath(t.configuration.startingCwd),n.PROJECT_CWD=M.fromPortablePath(t.cwd)),n.PATH=n.PATH?`${s}${M.delimiter}${n.PATH}`:`${s}`,n.npm_execpath=`${s}${M.sep}yarn`,n.npm_node_execpath=`${s}${M.sep}node`,e){if(!t)throw new Error("Assertion failed: Missing project");let u=t.tryWorkspaceByLocator(e),g=u?(l=u.manifest.version)!=null?l:"":(c=t.storedPackages.get(e.locatorHash).version)!=null?c:"";n.npm_package_name=St(e),n.npm_package_version=g}let a=Zr!==null?`yarn/${Zr}`:`yarn/${mu("@yarnpkg/core").version}-core`;return n.npm_config_user_agent=`${a} npm/? node/${process.versions.node} ${process.platform} ${process.arch}`,i&&(n.npm_lifecycle_event=i),t&&await t.configuration.triggerHook(u=>u.setupScriptEnvironment,t,n,async(u,g,f)=>await ba(r,kr(u),g,f)),n}var KFe=2,UFe=(0,o9.default)(KFe);async function HFe(t,e,{configuration:r,report:i,workspace:n=null,locator:s=null}){await UFe(async()=>{await T.mktempPromise(async o=>{let a=v.join(o,"pack.log"),l=null,{stdout:c,stderr:u}=r.getSubprocessStreams(a,{prefix:M.fromPortablePath(t),report:i}),g=s&&Io(s)?lp(s):s,f=g?is(g):"an external project";c.write(`Packing ${f} from sources +`);let h=await a9(t),p;h!==null?(c.write(`Using ${h.packageManager} for bootstrap. Reason: ${h.reason} + +`),p=h.packageManager):(c.write(`No package manager configuration detected; defaulting to Yarn + +`),p=tn.Yarn2),await T.mktempPromise(async d=>{let m=await Vp({binFolder:d}),B=new Map([[tn.Yarn1,async()=>{let R=n!==null?["workspace",n]:[],H=await to("yarn",["set","version","classic","--only-if-needed"],{cwd:t,env:m,stdin:l,stdout:c,stderr:u,end:Pn.ErrorCode});if(H.code!==0)return H.code;await T.appendFilePromise(v.join(t,".npmignore"),`/.yarn +`),c.write(` +`);let L=await to("yarn",["install"],{cwd:t,env:m,stdin:l,stdout:c,stderr:u,end:Pn.ErrorCode});if(L.code!==0)return L.code;c.write(` +`);let K=await to("yarn",[...R,"pack","--filename",M.fromPortablePath(e)],{cwd:t,env:m,stdin:l,stdout:c,stderr:u});return K.code!==0?K.code:0}],[tn.Yarn2,async()=>{let R=n!==null?["workspace",n]:[];m.YARN_ENABLE_INLINE_BUILDS="1";let H=v.join(t,wt.lockfile);await T.existsPromise(H)||await T.writeFilePromise(H,"");let L=await to("yarn",[...R,"pack","--install-if-needed","--filename",M.fromPortablePath(e)],{cwd:t,env:m,stdin:l,stdout:c,stderr:u});return L.code!==0?L.code:0}],[tn.Npm,async()=>{if(n!==null){let A=new cc.PassThrough,V=Cu(A);A.pipe(c,{end:!1});let W=await to("npm",["--version"],{cwd:t,env:m,stdin:l,stdout:A,stderr:u,end:Pn.Never});if(A.end(),W.code!==0)return c.end(),u.end(),W.code;let X=(await V).toString().trim();if(!lc(X,">=7.x")){let F=Eo(null,"npm"),D=Yt(F,X),he=Yt(F,">=7.x");throw new Error(`Workspaces aren't supported by ${Xt(r,D)}; please upgrade to ${Xt(r,he)} (npm has been detected as the primary package manager for ${Ve(r,t,Le.PATH)})`)}}let R=n!==null?["--workspace",n]:[];delete m.npm_config_user_agent;let H=await to("npm",["install"],{cwd:t,env:m,stdin:l,stdout:c,stderr:u,end:Pn.ErrorCode});if(H.code!==0)return H.code;let L=new cc.PassThrough,K=Cu(L);L.pipe(c);let J=await to("npm",["pack","--silent",...R],{cwd:t,env:m,stdin:l,stdout:L,stderr:u});if(J.code!==0)return J.code;let ne=(await K).toString().trim().replace(/^.*\n/s,""),q=v.resolve(t,M.toPortablePath(ne));return await T.renamePromise(q,e),0}]]).get(p);if(typeof B=="undefined")throw new Error("Assertion failed: Unsupported workflow");let b=await B();if(!(b===0||typeof b=="undefined"))throw T.detachTemp(o),new nt(z.PACKAGE_PREPARATION_FAILED,`Packing the package failed (exit code ${b}, logs can be found here: ${Ve(r,a,Le.PATH)})`)})})})}async function GFe(t,e,{project:r}){let i=r.tryWorkspaceByLocator(t);if(i!==null)return tD(i,e);let n=r.storedPackages.get(t.locatorHash);if(!n)throw new Error(`Package for ${lt(r.configuration,t)} not found in the project`);return await Jn.openPromise(async s=>{let o=r.configuration,a=r.configuration.getLinkers(),l={project:r,report:new Fe({stdout:new cc.PassThrough,configuration:o})},c=a.find(h=>h.supportsPackage(n,l));if(!c)throw new Error(`The package ${lt(r.configuration,n)} isn't supported by any of the available linkers`);let u=await c.findPackageLocation(n,l),g=new Ft(u,{baseFs:s});return(await Ze.find(Se.dot,{baseFs:g})).scripts.has(e)},{libzip:await $i()})}async function Uw(t,e,r,{cwd:i,project:n,stdin:s,stdout:o,stderr:a}){return await T.mktempPromise(async l=>{let{manifest:c,env:u,cwd:g}=await A9(t,{project:n,binFolder:l,cwd:i,lifecycleScript:e}),f=c.scripts.get(e);if(typeof f=="undefined")return 1;let h=async()=>await Fw(f,r,{cwd:g,env:u,stdin:s,stdout:o,stderr:a});return await(await n.configuration.reduceHook(d=>d.wrapScriptExecution,h,n,t,e,{script:f,args:r,cwd:g,env:u,stdin:s,stdout:o,stderr:a}))()})}async function rD(t,e,r,{cwd:i,project:n,stdin:s,stdout:o,stderr:a}){return await T.mktempPromise(async l=>{let{env:c,cwd:u}=await A9(t,{project:n,binFolder:l,cwd:i});return await Fw(e,r,{cwd:u,env:c,stdin:s,stdout:o,stderr:a})})}async function jFe(t,{binFolder:e,cwd:r,lifecycleScript:i}){let n=await Vp({project:t.project,locator:t.anchoredLocator,binFolder:e,lifecycleScript:i});return await Promise.all(Array.from(await l9(t),([s,[,o]])=>ba(e,kr(s),process.execPath,[o]))),typeof r=="undefined"&&(r=v.dirname(await T.realpathPromise(v.join(t.cwd,"package.json")))),{manifest:t.manifest,binFolder:e,env:n,cwd:r}}async function A9(t,{project:e,binFolder:r,cwd:i,lifecycleScript:n}){let s=e.tryWorkspaceByLocator(t);if(s!==null)return jFe(s,{binFolder:r,cwd:i,lifecycleScript:n});let o=e.storedPackages.get(t.locatorHash);if(!o)throw new Error(`Package for ${lt(e.configuration,t)} not found in the project`);return await Jn.openPromise(async a=>{let l=e.configuration,c=e.configuration.getLinkers(),u={project:e,report:new Fe({stdout:new cc.PassThrough,configuration:l})},g=c.find(m=>m.supportsPackage(o,u));if(!g)throw new Error(`The package ${lt(e.configuration,o)} isn't supported by any of the available linkers`);let f=await Vp({project:e,locator:t,binFolder:r,lifecycleScript:n});await Promise.all(Array.from(await Hw(t,{project:e}),([m,[,I]])=>ba(r,kr(m),process.execPath,[I])));let h=await g.findPackageLocation(o,u),p=new Ft(h,{baseFs:a}),d=await Ze.find(Se.dot,{baseFs:p});return typeof i=="undefined"&&(i=h),{manifest:d,binFolder:r,env:f,cwd:i}},{libzip:await $i()})}async function c9(t,e,r,{cwd:i,stdin:n,stdout:s,stderr:o}){return await Uw(t.anchoredLocator,e,r,{cwd:i,project:t.project,stdin:n,stdout:s,stderr:o})}function tD(t,e){return t.manifest.scripts.has(e)}async function u9(t,e,{cwd:r,report:i}){let{configuration:n}=t.project,s=null;await T.mktempPromise(async o=>{let a=v.join(o,`${e}.log`),l=`# This file contains the result of Yarn calling the "${e}" lifecycle script inside a workspace ("${M.fromPortablePath(t.cwd)}") +`,{stdout:c,stderr:u}=n.getSubprocessStreams(a,{report:i,prefix:lt(n,t.anchoredLocator),header:l});i.reportInfo(z.LIFECYCLE_SCRIPT,`Calling the "${e}" lifecycle script`);let g=await c9(t,e,[],{cwd:r,stdin:s,stdout:c,stderr:u});if(c.end(),u.end(),g!==0)throw T.detachTemp(o),new nt(z.LIFECYCLE_SCRIPT,`${(0,s9.default)(e)} script failed (exit code ${Ve(n,g,Le.NUMBER)}, logs can be found here: ${Ve(n,a,Le.PATH)}); run ${Ve(n,`yarn ${e}`,Le.CODE)} to investigate`)})}async function YFe(t,e,r){tD(t,e)&&await u9(t,e,r)}async function Hw(t,{project:e}){let r=e.configuration,i=new Map,n=e.storedPackages.get(t.locatorHash);if(!n)throw new Error(`Package for ${lt(r,t)} not found in the project`);let s=new cc.Writable,o=r.getLinkers(),a={project:e,report:new Fe({configuration:r,stdout:s})},l=new Set([t.locatorHash]);for(let u of n.dependencies.values()){let g=e.storedResolutions.get(u.descriptorHash);if(!g)throw new Error(`Assertion failed: The resolution (${Xt(r,u)}) should have been registered`);l.add(g)}let c=await Promise.all(Array.from(l,async u=>{let g=e.storedPackages.get(u);if(!g)throw new Error(`Assertion failed: The package (${u}) should have been registered`);if(g.bin.size===0)return kl.skip;let f=o.find(p=>p.supportsPackage(g,a));if(!f)return kl.skip;let h=null;try{h=await f.findPackageLocation(g,a)}catch(p){if(p.code==="LOCATOR_NOT_INSTALLED")return kl.skip;throw p}return{dependency:g,packageLocation:h}}));for(let u of c){if(u===kl.skip)continue;let{dependency:g,packageLocation:f}=u;for(let[h,p]of g.bin)i.set(h,[g,M.fromPortablePath(v.resolve(f,p))])}return i}async function l9(t){return await Hw(t.anchoredLocator,{project:t.project})}async function g9(t,e,r,{cwd:i,project:n,stdin:s,stdout:o,stderr:a,nodeArgs:l=[],packageAccessibleBinaries:c}){c!=null||(c=await Hw(t,{project:n}));let u=c.get(e);if(!u)throw new Error(`Binary not found (${e}) for ${lt(n.configuration,t)}`);return await T.mktempPromise(async g=>{let[,f]=u,h=await Vp({project:n,locator:t,binFolder:g});await Promise.all(Array.from(c,([d,[,m]])=>ba(h.BERRY_BIN_FOLDER,kr(d),process.execPath,[m])));let p;try{p=await to(process.execPath,[...l,f,...r],{cwd:i,env:h,stdin:s,stdout:o,stderr:a})}finally{await T.removePromise(h.BERRY_BIN_FOLDER)}return p.code})}async function qFe(t,e,r,{cwd:i,stdin:n,stdout:s,stderr:o,packageAccessibleBinaries:a}){return await g9(t.anchoredLocator,e,r,{project:t.project,cwd:i,stdin:n,stdout:s,stderr:o,packageAccessibleBinaries:a})}var Ai={};it(Ai,{convertToZip:()=>lTe,extractArchiveTo:()=>uTe,makeArchiveFromDirectory:()=>ATe});var d_=ie(require("stream")),C_=ie(Z7());var u_=ie(require("os")),g_=ie(c_()),f_=ie(require("worker_threads")),IR=class{constructor(e){this.source=e;this.pool=[];this.queue=new g_.default({concurrency:Math.max(1,(0,u_.cpus)().length)});let r=setTimeout(()=>{if(!(this.queue.size!==0||this.queue.pending!==0)){for(let i of this.pool)i.terminate();this.pool=[]}},1e3).unref();this.queue.on("idle",()=>{r.refresh()})}run(e){return this.queue.add(()=>{var i;let r=(i=this.pool.pop())!=null?i:new f_.Worker(this.source,{eval:!0,execArgv:[...process.execArgv,"--unhandled-rejections=strict"]});return r.ref(),new Promise((n,s)=>{let o=a=>{a!==0&&s(new Error(`Worker exited with code ${a}`))};r.once("message",a=>{this.pool.push(r),r.unref(),r.off("error",s),r.off("exit",o),n(a)}),r.once("error",s),r.once("exit",o),r.postMessage(e)})})}};var m_=ie(p_());async function ATe(t,{baseFs:e=new Wt,prefixPath:r=Se.root,compressionLevel:i,inMemory:n=!1}={}){let s=await $i(),o;if(n)o=new Jr(null,{libzip:s,level:i});else{let l=await T.mktempPromise(),c=v.join(l,"archive.zip");o=new Jr(c,{create:!0,libzip:s,level:i})}let a=v.resolve(Se.root,r);return await o.copyPromise(a,t,{baseFs:e,stableTime:!0,stableSort:!0}),o}var E_;async function lTe(t,e){let r=await T.mktempPromise(),i=v.join(r,"archive.zip");return E_||(E_=new IR((0,m_.getContent)())),await E_.run({tmpFile:i,tgz:t,opts:e}),new Jr(i,{libzip:await $i(),level:e.compressionLevel})}async function*cTe(t){let e=new C_.default.Parse,r=new d_.PassThrough({objectMode:!0,autoDestroy:!0,emitClose:!0});e.on("entry",i=>{r.write(i)}),e.on("error",i=>{r.destroy(i)}),e.on("close",()=>{r.destroyed||r.end()}),e.end(t);for await(let i of r){let n=i;yield n,n.resume()}}async function uTe(t,e,{stripComponents:r=0,prefixPath:i=Se.dot}={}){var s,o;function n(a){if(a.path[0]==="/")return!0;let l=a.path.split(/\//g);return!!(l.some(c=>c==="..")||l.length<=r)}for await(let a of cTe(t)){if(n(a))continue;let l=v.normalize(M.toPortablePath(a.path)).replace(/\/$/,"").split(/\//g);if(l.length<=r)continue;let c=l.slice(r).join("/"),u=v.join(i,c),g=420;switch((a.type==="Directory"||(((s=a.mode)!=null?s:0)&73)!=0)&&(g|=73),a.type){case"Directory":e.mkdirpSync(v.dirname(u),{chmod:493,utimes:[mr.SAFE_TIME,mr.SAFE_TIME]}),e.mkdirSync(u,{mode:g}),e.utimesSync(u,mr.SAFE_TIME,mr.SAFE_TIME);break;case"OldFile":case"File":e.mkdirpSync(v.dirname(u),{chmod:493,utimes:[mr.SAFE_TIME,mr.SAFE_TIME]}),e.writeFileSync(u,await Cu(a),{mode:g}),e.utimesSync(u,mr.SAFE_TIME,mr.SAFE_TIME);break;case"SymbolicLink":e.mkdirpSync(v.dirname(u),{chmod:493,utimes:[mr.SAFE_TIME,mr.SAFE_TIME]}),e.symlinkSync(a.linkpath,u),(o=e.lutimesSync)==null||o.call(e,u,mr.SAFE_TIME,mr.SAFE_TIME);break}}return e}var Hs={};it(Hs,{emitList:()=>gTe,emitTree:()=>b_,treeNodeToJson:()=>Q_,treeNodeToTreeify:()=>B_});var w_=ie(y_());function B_(t,{configuration:e}){let r={},i=(n,s)=>{let o=Array.isArray(n)?n.entries():Object.entries(n);for(let[a,{label:l,value:c,children:u}]of o){let g=[];typeof l!="undefined"&&g.push(Py(e,l,Gl.BOLD)),typeof c!="undefined"&&g.push(Ve(e,c[0],c[1])),g.length===0&&g.push(Py(e,`${a}`,Gl.BOLD));let f=g.join(": "),h=s[f]={};typeof u!="undefined"&&i(u,h)}};if(typeof t.children=="undefined")throw new Error("The root node must only contain children");return i(t.children,r),r}function Q_(t){let e=r=>{var s;if(typeof r.children=="undefined"){if(typeof r.value=="undefined")throw new Error("Assertion failed: Expected a value to be set if the children are missing");return Uu(r.value[0],r.value[1])}let i=Array.isArray(r.children)?r.children.entries():Object.entries((s=r.children)!=null?s:{}),n=Array.isArray(r.children)?[]:{};for(let[o,a]of i)n[o]=e(a);return typeof r.value=="undefined"?n:{value:Uu(r.value[0],r.value[1]),children:n}};return e(t)}function gTe(t,{configuration:e,stdout:r,json:i}){let n=t.map(s=>({value:s}));b_({children:n},{configuration:e,stdout:r,json:i})}function b_(t,{configuration:e,stdout:r,json:i,separators:n=0}){var o;if(i){let a=Array.isArray(t.children)?t.children.values():Object.values((o=t.children)!=null?o:{});for(let l of a)r.write(`${JSON.stringify(Q_(l))} +`);return}let s=(0,w_.asTree)(B_(t,{configuration:e}),!1,!1);if(n>=1&&(s=s.replace(/^([├└]─)/gm,`\u2502 +$1`).replace(/^│\n/,"")),n>=2)for(let a=0;a<2;++a)s=s.replace(/^([│ ].{2}[├│ ].{2}[^\n]+\n)(([│ ]).{2}[├└].{2}[^\n]*\n[│ ].{2}[│ ].{2}[├└]─)/gm,`$1$3 \u2502 +$2`).replace(/^│\n/,"");if(n>=3)throw new Error("Only the first two levels are accepted by treeUtils.emitTree");r.write(s)}var v_=ie(require("crypto")),BR=ie(require("fs"));var fTe=8,Qt=class{constructor(e,{configuration:r,immutable:i=r.get("enableImmutableCache"),check:n=!1}){this.markedFiles=new Set;this.mutexes=new Map;this.cacheId=`-${(0,v_.randomBytes)(8).toString("hex")}.tmp`;this.configuration=r,this.cwd=e,this.immutable=i,this.check=n;let s=r.get("cacheKeyOverride");if(s!==null)this.cacheKey=`${s}`;else{let o=r.get("compressionLevel"),a=o!==pl?`c${o}`:"";this.cacheKey=[fTe,a].join("")}}static async find(e,{immutable:r,check:i}={}){let n=new Qt(e.get("cacheFolder"),{configuration:e,immutable:r,check:i});return await n.setup(),n}get mirrorCwd(){if(!this.configuration.get("enableMirror"))return null;let e=`${this.configuration.get("globalFolder")}/cache`;return e!==this.cwd?e:null}getVersionFilename(e){return`${Mu(e)}-${this.cacheKey}.zip`}getChecksumFilename(e,r){let n=hTe(r).slice(0,10);return`${Mu(e)}-${n}.zip`}getLocatorPath(e,r,i={}){var s;return this.mirrorCwd===null||((s=i.unstablePackages)==null?void 0:s.has(e.locatorHash))?v.resolve(this.cwd,this.getVersionFilename(e)):r===null||QR(r)!==this.cacheKey?null:v.resolve(this.cwd,this.getChecksumFilename(e,r))}getLocatorMirrorPath(e){let r=this.mirrorCwd;return r!==null?v.resolve(r,this.getVersionFilename(e)):null}async setup(){if(!this.configuration.get("enableGlobalCache"))if(this.immutable){if(!await T.existsPromise(this.cwd))throw new nt(z.IMMUTABLE_CACHE,"Cache path does not exist.")}else{await T.mkdirPromise(this.cwd,{recursive:!0});let e=v.resolve(this.cwd,".gitignore");await T.changeFilePromise(e,`/.gitignore +*.flock +*.tmp +`)}(this.mirrorCwd||!this.immutable)&&await T.mkdirPromise(this.mirrorCwd||this.cwd,{recursive:!0})}async fetchPackageFromCache(e,r,a){var l=a,{onHit:i,onMiss:n,loader:s}=l,o=qr(l,["onHit","onMiss","loader"]);var A;let c=this.getLocatorMirrorPath(e),u=new Wt,g=()=>{let V=new Jr(null,{libzip:H}),W=v.join(Se.root,Lx(e));return V.mkdirSync(W,{recursive:!0}),V.writeJsonSync(v.join(W,wt.manifest),{name:St(e),mocked:!0}),V},f=async(V,W=null)=>{let X=!o.skipIntegrityCheck||!r?`${this.cacheKey}/${await Ey(V)}`:r;if(W!==null){let F=!o.skipIntegrityCheck||!r?`${this.cacheKey}/${await Ey(W)}`:r;if(X!==F)throw new nt(z.CACHE_CHECKSUM_MISMATCH,"The remote archive doesn't match the local checksum - has the local cache been corrupted?")}if(r!==null&&X!==r){let F;switch(this.check?F="throw":QR(r)!==QR(X)?F="update":F=this.configuration.get("checksumBehavior"),F){case"ignore":return r;case"update":return X;default:case"throw":throw new nt(z.CACHE_CHECKSUM_MISMATCH,"The remote archive doesn't match the expected checksum")}}return X},h=async V=>{if(!s)throw new Error(`Cache check required but no loader configured for ${lt(this.configuration,e)}`);let W=await s(),X=W.getRealPath();return W.saveAndClose(),await T.chmodPromise(X,420),await f(V,X)},p=async()=>{if(c===null||!await T.existsPromise(c)){let V=await s(),W=V.getRealPath();return V.saveAndClose(),{source:"loader",path:W}}return{source:"mirror",path:c}},d=async()=>{if(!s)throw new Error(`Cache entry required but missing for ${lt(this.configuration,e)}`);if(this.immutable)throw new nt(z.IMMUTABLE_CACHE,`Cache entry required but missing for ${lt(this.configuration,e)}`);let{path:V,source:W}=await p(),X=await f(V),F=this.getLocatorPath(e,X,o);if(!F)throw new Error("Assertion failed: Expected the cache path to be available");let D=[];W!=="mirror"&&c!==null&&D.push(async()=>{let pe=`${c}${this.cacheId}`;await T.copyFilePromise(V,pe,BR.default.constants.COPYFILE_FICLONE),await T.chmodPromise(pe,420),await T.renamePromise(pe,c)}),(!o.mirrorWriteOnly||c===null)&&D.push(async()=>{let pe=`${F}${this.cacheId}`;await T.copyFilePromise(V,pe,BR.default.constants.COPYFILE_FICLONE),await T.chmodPromise(pe,420),await T.renamePromise(pe,F)});let he=o.mirrorWriteOnly&&c!=null?c:F;return await Promise.all(D.map(pe=>pe())),[!1,he,X]},m=async()=>{let W=(async()=>{var Ne;let X=this.getLocatorPath(e,r,o),F=X!==null?await u.existsPromise(X):!1,D=!!((Ne=o.mockedPackages)==null?void 0:Ne.has(e.locatorHash))&&(!this.check||!F),he=D||F,pe=he?i:n;if(pe&&pe(),he){let Pe=null,qe=X;return D||(Pe=this.check?await h(qe):await f(qe)),[D,qe,Pe]}else return d()})();this.mutexes.set(e.locatorHash,W);try{return await W}finally{this.mutexes.delete(e.locatorHash)}};for(let V;V=this.mutexes.get(e.locatorHash);)await V;let[I,B,b]=await m();this.markedFiles.add(B);let R,H=await $i(),L=I?()=>g():()=>new Jr(B,{baseFs:u,libzip:H,readOnly:!0}),K=new oh(()=>Mv(()=>R=L(),V=>`Failed to open the cache entry for ${lt(this.configuration,e)}: ${V}`),v),J=new Xo(B,{baseFs:K,pathUtils:v}),ne=()=>{R==null||R.discardAndClose()},q=((A=o.unstablePackages)==null?void 0:A.has(e.locatorHash))?null:b;return[J,ne,q]}};function QR(t){let e=t.indexOf("/");return e!==-1?t.slice(0,e):null}function hTe(t){let e=t.indexOf("/");return e!==-1?t.slice(e+1):t}var F_=ie(x_()),NB=ie(ml());var N_=ie(Wp()),kR=ie(require("stream"));var k_={hooks:{reduceDependency:(t,e,r,i,{resolver:n,resolveOptions:s})=>{for(let{pattern:o,reference:a}of e.topLevelWorkspace.manifest.resolutions){if(o.from&&o.from.fullName!==St(r)||o.from&&o.from.description&&o.from.description!==r.reference||o.descriptor.fullName!==St(t)||o.descriptor.description&&o.descriptor.description!==t.range)continue;return n.bindDescriptor(Yt(t,a),e.topLevelWorkspace.anchoredLocator,s)}return t},validateProject:async(t,e)=>{for(let r of t.workspaces){let i=hp(t.configuration,r);await t.configuration.triggerHook(n=>n.validateWorkspace,r,{reportWarning:(n,s)=>e.reportWarning(n,`${i}: ${s}`),reportError:(n,s)=>e.reportError(n,`${i}: ${s}`)})}},validateWorkspace:async(t,e)=>{let{manifest:r}=t;r.resolutions.length&&t.cwd!==t.project.cwd&&r.errors.push(new Error("Resolutions field will be ignored"));for(let i of r.errors)e.reportWarning(z.INVALID_MANIFEST,i.message)}}};var vR=class{constructor(e){this.fetchers=e}supports(e,r){return!!this.tryFetcher(e,r)}getLocalPath(e,r){return this.getFetcher(e,r).getLocalPath(e,r)}async fetch(e,r){return await this.getFetcher(e,r).fetch(e,r)}tryFetcher(e,r){let i=this.fetchers.find(n=>n.supports(e,r));return i||null}getFetcher(e,r){let i=this.fetchers.find(n=>n.supports(e,r));if(!i)throw new nt(z.FETCHER_NOT_FOUND,`${lt(r.project.configuration,e)} isn't supported by any available fetcher`);return i}};var pd=class{constructor(e){this.resolvers=e.filter(r=>r)}supportsDescriptor(e,r){return!!this.tryResolverByDescriptor(e,r)}supportsLocator(e,r){return!!this.tryResolverByLocator(e,r)}shouldPersistResolution(e,r){return this.getResolverByLocator(e,r).shouldPersistResolution(e,r)}bindDescriptor(e,r,i){return this.getResolverByDescriptor(e,i).bindDescriptor(e,r,i)}getResolutionDependencies(e,r){return this.getResolverByDescriptor(e,r).getResolutionDependencies(e,r)}async getCandidates(e,r,i){return await this.getResolverByDescriptor(e,i).getCandidates(e,r,i)}async getSatisfying(e,r,i){return this.getResolverByDescriptor(e,i).getSatisfying(e,r,i)}async resolve(e,r){return await this.getResolverByLocator(e,r).resolve(e,r)}tryResolverByDescriptor(e,r){let i=this.resolvers.find(n=>n.supportsDescriptor(e,r));return i||null}getResolverByDescriptor(e,r){let i=this.resolvers.find(n=>n.supportsDescriptor(e,r));if(!i)throw new Error(`${Xt(r.project.configuration,e)} isn't supported by any available resolver`);return i}tryResolverByLocator(e,r){let i=this.resolvers.find(n=>n.supportsLocator(e,r));return i||null}getResolverByLocator(e,r){let i=this.resolvers.find(n=>n.supportsLocator(e,r));if(!i)throw new Error(`${lt(r.project.configuration,e)} isn't supported by any available resolver`);return i}};var P_=ie(Or());var Rg=/^(?!v)[a-z0-9._-]+$/i,SR=class{supportsDescriptor(e,r){return!!(Us(e.range)||Rg.test(e.range))}supportsLocator(e,r){return!!(P_.default.valid(e.reference)||Rg.test(e.reference))}shouldPersistResolution(e,r){return r.resolver.shouldPersistResolution(this.forwardLocator(e,r),r)}bindDescriptor(e,r,i){return i.resolver.bindDescriptor(this.forwardDescriptor(e,i),r,i)}getResolutionDependencies(e,r){return r.resolver.getResolutionDependencies(this.forwardDescriptor(e,r),r)}async getCandidates(e,r,i){return await i.resolver.getCandidates(this.forwardDescriptor(e,i),r,i)}async getSatisfying(e,r,i){return await i.resolver.getSatisfying(this.forwardDescriptor(e,i),r,i)}async resolve(e,r){let i=await r.resolver.resolve(this.forwardLocator(e,r),r);return op(i,e)}forwardDescriptor(e,r){return Yt(e,`${r.project.configuration.get("defaultProtocol")}${e.range}`)}forwardLocator(e,r){return Vi(e,`${r.project.configuration.get("defaultProtocol")}${e.reference}`)}};var dd=class{supports(e){return!!e.reference.startsWith("virtual:")}getLocalPath(e,r){let i=e.reference.indexOf("#");if(i===-1)throw new Error("Invalid virtual package reference");let n=e.reference.slice(i+1),s=Vi(e,n);return r.fetcher.getLocalPath(s,r)}async fetch(e,r){let i=e.reference.indexOf("#");if(i===-1)throw new Error("Invalid virtual package reference");let n=e.reference.slice(i+1),s=Vi(e,n),o=await r.fetcher.fetch(s,r);return await this.ensureVirtualLink(e,o,r)}getLocatorFilename(e){return Mu(e)}async ensureVirtualLink(e,r,i){let n=r.packageFs.getRealPath(),s=i.project.configuration.get("virtualFolder"),o=this.getLocatorFilename(e),a=Pr.makeVirtualPath(s,o,n),l=new Xo(a,{baseFs:r.packageFs,pathUtils:v});return _(P({},r),{packageFs:l})}};var Fg=class{static isVirtualDescriptor(e){return!!e.range.startsWith(Fg.protocol)}static isVirtualLocator(e){return!!e.reference.startsWith(Fg.protocol)}supportsDescriptor(e,r){return Fg.isVirtualDescriptor(e)}supportsLocator(e,r){return Fg.isVirtualLocator(e)}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,i){throw new Error('Assertion failed: calling "bindDescriptor" on a virtual descriptor is unsupported')}getResolutionDependencies(e,r){throw new Error('Assertion failed: calling "getResolutionDependencies" on a virtual descriptor is unsupported')}async getCandidates(e,r,i){throw new Error('Assertion failed: calling "getCandidates" on a virtual descriptor is unsupported')}async getSatisfying(e,r,i){throw new Error('Assertion failed: calling "getSatisfying" on a virtual descriptor is unsupported')}async resolve(e,r){throw new Error('Assertion failed: calling "resolve" on a virtual locator is unsupported')}},FB=Fg;FB.protocol="virtual:";var xR=class{supports(e){return!!e.reference.startsWith(Yr.protocol)}getLocalPath(e,r){return this.getWorkspace(e,r).cwd}async fetch(e,r){let i=this.getWorkspace(e,r).cwd;return{packageFs:new Ft(i),prefixPath:Se.dot,localPath:i}}getWorkspace(e,r){return r.project.getWorkspaceByCwd(e.reference.slice(Yr.protocol.length))}};var D_=ie(require("module"));function R_(){return new Set(D_.default.builtinModules||Object.keys(process.binding("natives")))}var dTe=new Set(["binFolder","version","flags","profile","gpg","ignoreNode","wrapOutput","home","confDir"]),LB="yarn_",PR=".yarnrc.yml",DR="yarn.lock",CTe="********",ge;(function(u){u.ANY="ANY",u.BOOLEAN="BOOLEAN",u.ABSOLUTE_PATH="ABSOLUTE_PATH",u.LOCATOR="LOCATOR",u.LOCATOR_LOOSE="LOCATOR_LOOSE",u.NUMBER="NUMBER",u.STRING="STRING",u.SECRET="SECRET",u.SHAPE="SHAPE",u.MAP="MAP"})(ge||(ge={}));var ps=Le,RR={lastUpdateCheck:{description:"Last timestamp we checked whether new Yarn versions were available",type:ge.STRING,default:null},yarnPath:{description:"Path to the local executable that must be used over the global one",type:ge.ABSOLUTE_PATH,default:null},ignorePath:{description:"If true, the local executable will be ignored when using the global one",type:ge.BOOLEAN,default:!1},ignoreCwd:{description:"If true, the `--cwd` flag will be ignored",type:ge.BOOLEAN,default:!1},cacheKeyOverride:{description:"A global cache key override; used only for test purposes",type:ge.STRING,default:null},globalFolder:{description:"Folder where are stored the system-wide settings",type:ge.ABSOLUTE_PATH,default:Rb()},cacheFolder:{description:"Folder where the cache files must be written",type:ge.ABSOLUTE_PATH,default:"./.yarn/cache"},compressionLevel:{description:"Zip files compression level, from 0 to 9 or mixed (a variant of 9, which stores some files uncompressed, when compression doesn't yield good results)",type:ge.NUMBER,values:["mixed",0,1,2,3,4,5,6,7,8,9],default:pl},virtualFolder:{description:"Folder where the virtual packages (cf doc) will be mapped on the disk (must be named __virtual__)",type:ge.ABSOLUTE_PATH,default:"./.yarn/__virtual__"},lockfileFilename:{description:"Name of the files where the Yarn dependency tree entries must be stored",type:ge.STRING,default:DR},installStatePath:{description:"Path of the file where the install state will be persisted",type:ge.ABSOLUTE_PATH,default:"./.yarn/install-state.gz"},immutablePatterns:{description:"Array of glob patterns; files matching them won't be allowed to change during immutable installs",type:ge.STRING,default:[],isArray:!0},rcFilename:{description:"Name of the files where the configuration can be found",type:ge.STRING,default:TB()},enableGlobalCache:{description:"If true, the system-wide cache folder will be used regardless of `cache-folder`",type:ge.BOOLEAN,default:!1},enableColors:{description:"If true, the CLI is allowed to use colors in its output",type:ge.BOOLEAN,default:xy,defaultText:""},enableHyperlinks:{description:"If true, the CLI is allowed to use hyperlinks in its output",type:ge.BOOLEAN,default:Mx,defaultText:""},enableInlineBuilds:{description:"If true, the CLI will print the build output on the command line",type:ge.BOOLEAN,default:NB.isCI,defaultText:""},enableMessageNames:{description:"If true, the CLI will prefix most messages with codes suitable for search engines",type:ge.BOOLEAN,default:!0},enableProgressBars:{description:"If true, the CLI is allowed to show a progress bar for long-running events",type:ge.BOOLEAN,default:!NB.isCI&&process.stdout.isTTY&&process.stdout.columns>22,defaultText:""},enableTimers:{description:"If true, the CLI is allowed to print the time spent executing commands",type:ge.BOOLEAN,default:!0},preferAggregateCacheInfo:{description:"If true, the CLI will only print a one-line report of any cache changes",type:ge.BOOLEAN,default:NB.isCI},preferInteractive:{description:"If true, the CLI will automatically use the interactive mode when called from a TTY",type:ge.BOOLEAN,default:!1},preferTruncatedLines:{description:"If true, the CLI will truncate lines that would go beyond the size of the terminal",type:ge.BOOLEAN,default:!1},progressBarStyle:{description:"Which style of progress bar should be used (only when progress bars are enabled)",type:ge.STRING,default:void 0,defaultText:""},defaultLanguageName:{description:"Default language mode that should be used when a package doesn't offer any insight",type:ge.STRING,default:"node"},defaultProtocol:{description:"Default resolution protocol used when resolving pure semver and tag ranges",type:ge.STRING,default:"npm:"},enableTransparentWorkspaces:{description:"If false, Yarn won't automatically resolve workspace dependencies unless they use the `workspace:` protocol",type:ge.BOOLEAN,default:!0},supportedArchitectures:{description:"Architectures that Yarn will fetch and inject into the resolver",type:ge.SHAPE,properties:{os:{description:"Array of supported process.platform strings, or null to target them all",type:ge.STRING,isArray:!0,isNullable:!0,default:["current"]},cpu:{description:"Array of supported process.arch strings, or null to target them all",type:ge.STRING,isArray:!0,isNullable:!0,default:["current"]}}},enableMirror:{description:"If true, the downloaded packages will be retrieved and stored in both the local and global folders",type:ge.BOOLEAN,default:!0},enableNetwork:{description:"If false, the package manager will refuse to use the network if required to",type:ge.BOOLEAN,default:!0},httpProxy:{description:"URL of the http proxy that must be used for outgoing http requests",type:ge.STRING,default:null},httpsProxy:{description:"URL of the http proxy that must be used for outgoing https requests",type:ge.STRING,default:null},unsafeHttpWhitelist:{description:"List of the hostnames for which http queries are allowed (glob patterns are supported)",type:ge.STRING,default:[],isArray:!0},httpTimeout:{description:"Timeout of each http request in milliseconds",type:ge.NUMBER,default:6e4},httpRetry:{description:"Retry times on http failure",type:ge.NUMBER,default:3},networkConcurrency:{description:"Maximal number of concurrent requests",type:ge.NUMBER,default:50},networkSettings:{description:"Network settings per hostname (glob patterns are supported)",type:ge.MAP,valueDefinition:{description:"",type:ge.SHAPE,properties:{caFilePath:{description:"Path to file containing one or multiple Certificate Authority signing certificates",type:ge.ABSOLUTE_PATH,default:null},enableNetwork:{description:"If false, the package manager will refuse to use the network if required to",type:ge.BOOLEAN,default:null},httpProxy:{description:"URL of the http proxy that must be used for outgoing http requests",type:ge.STRING,default:null},httpsProxy:{description:"URL of the http proxy that must be used for outgoing https requests",type:ge.STRING,default:null}}}},caFilePath:{description:"A path to a file containing one or multiple Certificate Authority signing certificates",type:ge.ABSOLUTE_PATH,default:null},enableStrictSsl:{description:"If false, SSL certificate errors will be ignored",type:ge.BOOLEAN,default:!0},logFilters:{description:"Overrides for log levels",type:ge.SHAPE,isArray:!0,concatenateValues:!0,properties:{code:{description:"Code of the messages covered by this override",type:ge.STRING,default:void 0},text:{description:"Code of the texts covered by this override",type:ge.STRING,default:void 0},pattern:{description:"Code of the patterns covered by this override",type:ge.STRING,default:void 0},level:{description:"Log level override, set to null to remove override",type:ge.STRING,values:Object.values(Ts),isNullable:!0,default:void 0}}},enableTelemetry:{description:"If true, telemetry will be periodically sent, following the rules in https://yarnpkg.com/advanced/telemetry",type:ge.BOOLEAN,default:!0},telemetryInterval:{description:"Minimal amount of time between two telemetry uploads, in days",type:ge.NUMBER,default:7},telemetryUserId:{description:"If you desire to tell us which project you are, you can set this field. Completely optional and opt-in.",type:ge.STRING,default:null},enableScripts:{description:"If true, packages are allowed to have install scripts by default",type:ge.BOOLEAN,default:!0},enableStrictSettings:{description:"If true, unknown settings will cause Yarn to abort",type:ge.BOOLEAN,default:!0},enableImmutableCache:{description:"If true, the cache is reputed immutable and actions that would modify it will throw",type:ge.BOOLEAN,default:!1},checksumBehavior:{description:"Enumeration defining what to do when a checksum doesn't match expectations",type:ge.STRING,default:"throw"},packageExtensions:{description:"Map of package corrections to apply on the dependency tree",type:ge.MAP,valueDefinition:{description:"The extension that will be applied to any package whose version matches the specified range",type:ge.SHAPE,properties:{dependencies:{description:"The set of dependencies that must be made available to the current package in order for it to work properly",type:ge.MAP,valueDefinition:{description:"A range",type:ge.STRING}},peerDependencies:{description:"Inherited dependencies - the consumer of the package will be tasked to provide them",type:ge.MAP,valueDefinition:{description:"A semver range",type:ge.STRING}},peerDependenciesMeta:{description:"Extra information related to the dependencies listed in the peerDependencies field",type:ge.MAP,valueDefinition:{description:"The peerDependency meta",type:ge.SHAPE,properties:{optional:{description:"If true, the selected peer dependency will be marked as optional by the package manager and the consumer omitting it won't be reported as an error",type:ge.BOOLEAN,default:!1}}}}}}}};function NR(t,e,r,i,n){if(i.isArray||i.type===ge.ANY&&Array.isArray(r))return Array.isArray(r)?r.map((s,o)=>FR(t,`${e}[${o}]`,s,i,n)):String(r).split(/,/).map(s=>FR(t,e,s,i,n));if(Array.isArray(r))throw new Error(`Non-array configuration settings "${e}" cannot be an array`);return FR(t,e,r,i,n)}function FR(t,e,r,i,n){var a;switch(i.type){case ge.ANY:return r;case ge.SHAPE:return mTe(t,e,r,i,n);case ge.MAP:return ETe(t,e,r,i,n)}if(r===null&&!i.isNullable&&i.default!==null)throw new Error(`Non-nullable configuration settings "${e}" cannot be set to null`);if((a=i.values)==null?void 0:a.includes(r))return r;let o=(()=>{if(i.type===ge.BOOLEAN&&typeof r!="string")return Hh(r);if(typeof r!="string")throw new Error(`Expected value (${r}) to be a string`);let l=Ov(r,{env:process.env});switch(i.type){case ge.ABSOLUTE_PATH:return v.resolve(n,M.toPortablePath(l));case ge.LOCATOR_LOOSE:return Hl(l,!1);case ge.NUMBER:return parseInt(l);case ge.LOCATOR:return Hl(l);case ge.BOOLEAN:return Hh(l);default:return l}})();if(i.values&&!i.values.includes(o))throw new Error(`Invalid value, expected one of ${i.values.join(", ")}`);return o}function mTe(t,e,r,i,n){if(typeof r!="object"||Array.isArray(r))throw new me(`Object configuration settings "${e}" must be an object`);let s=LR(t,i,{ignoreArrays:!0});if(r===null)return s;for(let[o,a]of Object.entries(r)){let l=`${e}.${o}`;if(!i.properties[o])throw new me(`Unrecognized configuration settings found: ${e}.${o} - run "yarn config -v" to see the list of settings supported in Yarn`);s.set(o,NR(t,l,a,i.properties[o],n))}return s}function ETe(t,e,r,i,n){let s=new Map;if(typeof r!="object"||Array.isArray(r))throw new me(`Map configuration settings "${e}" must be an object`);if(r===null)return s;for(let[o,a]of Object.entries(r)){let l=i.normalizeKeys?i.normalizeKeys(o):o,c=`${e}['${l}']`,u=i.valueDefinition;s.set(l,NR(t,c,a,u,n))}return s}function LR(t,e,{ignoreArrays:r=!1}={}){switch(e.type){case ge.SHAPE:{if(e.isArray&&!r)return[];let i=new Map;for(let[n,s]of Object.entries(e.properties))i.set(n,LR(t,s));return i}break;case ge.MAP:return e.isArray&&!r?[]:new Map;case ge.ABSOLUTE_PATH:return e.default===null?null:t.projectCwd===null?v.isAbsolute(e.default)?v.normalize(e.default):e.isNullable?null:void 0:Array.isArray(e.default)?e.default.map(i=>v.resolve(t.projectCwd,i)):v.resolve(t.projectCwd,e.default);default:return e.default}}function MB(t,e,r){if(e.type===ge.SECRET&&typeof t=="string"&&r.hideSecrets)return CTe;if(e.type===ge.ABSOLUTE_PATH&&typeof t=="string"&&r.getNativePaths)return M.fromPortablePath(t);if(e.isArray&&Array.isArray(t)){let i=[];for(let n of t)i.push(MB(n,e,r));return i}if(e.type===ge.MAP&&t instanceof Map){let i=new Map;for(let[n,s]of t.entries())i.set(n,MB(s,e.valueDefinition,r));return i}if(e.type===ge.SHAPE&&t instanceof Map){let i=new Map;for(let[n,s]of t.entries()){let o=e.properties[n];i.set(n,MB(s,o,r))}return i}return t}function ITe(){let t={};for(let[e,r]of Object.entries(process.env))e=e.toLowerCase(),!!e.startsWith(LB)&&(e=(0,F_.default)(e.slice(LB.length)),t[e]=r);return t}function TB(){let t=`${LB}rc_filename`;for(let[e,r]of Object.entries(process.env))if(e.toLowerCase()===t&&typeof r=="string")return r;return PR}var KA;(function(i){i[i.LOCKFILE=0]="LOCKFILE",i[i.MANIFEST=1]="MANIFEST",i[i.NONE=2]="NONE"})(KA||(KA={}));var Ra=class{constructor(e){this.projectCwd=null;this.plugins=new Map;this.settings=new Map;this.values=new Map;this.sources=new Map;this.invalid=new Map;this.packageExtensions=new Map;this.limits=new Map;this.startingCwd=e}static create(e,r,i){let n=new Ra(e);typeof r!="undefined"&&!(r instanceof Map)&&(n.projectCwd=r),n.importSettings(RR);let s=typeof i!="undefined"?i:r instanceof Map?r:new Map;for(let[o,a]of s)n.activatePlugin(o,a);return n}static async find(e,r,{lookup:i=0,strict:n=!0,usePath:s=!1,useRc:o=!0}={}){let a=ITe();delete a.rcFilename;let l=await Ra.findRcFiles(e),c=await Ra.findHomeRcFile();if(c){let I=l.find(B=>B.path===c.path);I?I.strict=!1:l.push(_(P({},c),{strict:!1}))}let u=({ignoreCwd:I,yarnPath:B,ignorePath:b,lockfileFilename:R})=>({ignoreCwd:I,yarnPath:B,ignorePath:b,lockfileFilename:R}),g=L=>{var K=L,{ignoreCwd:I,yarnPath:B,ignorePath:b,lockfileFilename:R}=K,H=qr(K,["ignoreCwd","yarnPath","ignorePath","lockfileFilename"]);return H},f=new Ra(e);f.importSettings(u(RR)),f.useWithSource("",u(a),e,{strict:!1});for(let{path:I,cwd:B,data:b}of l)f.useWithSource(I,u(b),B,{strict:!1});if(s){let I=f.get("yarnPath"),B=f.get("ignorePath");if(I!==null&&!B)return f}let h=f.get("lockfileFilename"),p;switch(i){case 0:p=await Ra.findProjectCwd(e,h);break;case 1:p=await Ra.findProjectCwd(e,null);break;case 2:T.existsSync(v.join(e,"package.json"))?p=v.resolve(e):p=null;break}f.startingCwd=e,f.projectCwd=p,f.importSettings(g(RR));let d=new Map([["@@core",k_]]),m=I=>"default"in I?I.default:I;if(r!==null){for(let R of r.plugins.keys())d.set(R,m(r.modules.get(R)));let I=new Map;for(let R of R_())I.set(R,()=>mu(R));for(let[R,H]of r.modules)I.set(R,()=>H);let B=new Set,b=async(R,H)=>{let{factory:L,name:K}=mu(R);if(B.has(K))return;let J=new Map(I),ne=A=>{if(J.has(A))return J.get(A)();throw new me(`This plugin cannot access the package referenced via ${A} which is neither a builtin, nor an exposed entry`)},q=await du(async()=>m(await L(ne)),A=>`${A} (when initializing ${K}, defined in ${H})`);I.set(K,()=>q),B.add(K),d.set(K,q)};if(a.plugins)for(let R of a.plugins.split(";")){let H=v.resolve(e,M.toPortablePath(R));await b(H,"")}for(let{path:R,cwd:H,data:L}of l)if(!!o&&!!Array.isArray(L.plugins))for(let K of L.plugins){let J=typeof K!="string"?K.path:K,ne=v.resolve(H,M.toPortablePath(J));await b(ne,R)}}for(let[I,B]of d)f.activatePlugin(I,B);f.useWithSource("",g(a),e,{strict:n});for(let{path:I,cwd:B,data:b,strict:R}of l)f.useWithSource(I,g(b),B,{strict:R!=null?R:n});return f.get("enableGlobalCache")&&(f.values.set("cacheFolder",`${f.get("globalFolder")}/cache`),f.sources.set("cacheFolder","")),await f.refreshPackageExtensions(),f}static async findRcFiles(e){let r=TB(),i=[],n=e,s=null;for(;n!==s;){s=n;let o=v.join(s,r);if(T.existsSync(o)){let a=await T.readFilePromise(o,"utf8"),l;try{l=Ii(a)}catch(c){let u="";throw a.match(/^\s+(?!-)[^:]+\s+\S+/m)&&(u=" (in particular, make sure you list the colons after each key name)"),new me(`Parse error when loading ${o}; please check it's proper Yaml${u}`)}i.push({path:o,cwd:s,data:l})}n=v.dirname(s)}return i}static async findHomeRcFile(){let e=TB(),r=uh(),i=v.join(r,e);if(T.existsSync(i)){let n=await T.readFilePromise(i,"utf8"),s=Ii(n);return{path:i,cwd:r,data:s}}return null}static async findProjectCwd(e,r){let i=null,n=e,s=null;for(;n!==s;){if(s=n,T.existsSync(v.join(s,"package.json"))&&(i=s),r!==null){if(T.existsSync(v.join(s,r))){i=s;break}}else if(i!==null)break;n=v.dirname(s)}return i}static async updateConfiguration(e,r){let i=TB(),n=v.join(e,i),s=T.existsSync(n)?Ii(await T.readFilePromise(n,"utf8")):{},o=!1,a;if(typeof r=="function"){try{a=r(s)}catch{a=r({})}if(a===s)return}else{a=s;for(let l of Object.keys(r)){let c=s[l],u=r[l],g;if(typeof u=="function")try{g=u(c)}catch{g=u(void 0)}else g=u;c!==g&&(a[l]=g,o=!0)}if(!o)return}await T.changeFilePromise(n,Qa(a),{automaticNewlines:!0})}static async updateHomeConfiguration(e){let r=uh();return await Ra.updateConfiguration(r,e)}activatePlugin(e,r){this.plugins.set(e,r),typeof r.configuration!="undefined"&&this.importSettings(r.configuration)}importSettings(e){for(let[r,i]of Object.entries(e))if(i!=null){if(this.settings.has(r))throw new Error(`Cannot redefine settings "${r}"`);this.settings.set(r,i),this.values.set(r,LR(this,i))}}useWithSource(e,r,i,n){try{this.use(e,r,i,n)}catch(s){throw s.message+=` (in ${Ve(this,e,Le.PATH)})`,s}}use(e,r,i,{strict:n=!0,overwrite:s=!1}={}){n=n&&this.get("enableStrictSettings");for(let o of["enableStrictSettings",...Object.keys(r)]){if(typeof r[o]=="undefined"||o==="plugins"||e===""&&dTe.has(o))continue;if(o==="rcFilename")throw new me(`The rcFilename settings can only be set via ${`${LB}RC_FILENAME`.toUpperCase()}, not via a rc file`);let l=this.settings.get(o);if(!l){if(n)throw new me(`Unrecognized or legacy configuration settings found: ${o} - run "yarn config -v" to see the list of settings supported in Yarn`);this.invalid.set(o,e);continue}if(this.sources.has(o)&&!(s||l.type===ge.MAP||l.isArray&&l.concatenateValues))continue;let c;try{c=NR(this,o,r[o],l,i)}catch(u){throw u.message+=` in ${Ve(this,e,Le.PATH)}`,u}if(o==="enableStrictSettings"&&e!==""){n=c;continue}if(l.type===ge.MAP){let u=this.values.get(o);this.values.set(o,new Map(s?[...u,...c]:[...c,...u])),this.sources.set(o,`${this.sources.get(o)}, ${e}`)}else if(l.isArray&&l.concatenateValues){let u=this.values.get(o);this.values.set(o,s?[...u,...c]:[...c,...u]),this.sources.set(o,`${this.sources.get(o)}, ${e}`)}else this.values.set(o,c),this.sources.set(o,e)}}get(e){if(!this.values.has(e))throw new Error(`Invalid configuration key "${e}"`);return this.values.get(e)}getSpecial(e,{hideSecrets:r=!1,getNativePaths:i=!1}){let n=this.get(e),s=this.settings.get(e);if(typeof s=="undefined")throw new me(`Couldn't find a configuration settings named "${e}"`);return MB(n,s,{hideSecrets:r,getNativePaths:i})}getSubprocessStreams(e,{header:r,prefix:i,report:n}){let s,o,a=T.createWriteStream(e);if(this.get("enableInlineBuilds")){let l=n.createStreamReporter(`${i} ${Ve(this,"STDOUT","green")}`),c=n.createStreamReporter(`${i} ${Ve(this,"STDERR","red")}`);s=new kR.PassThrough,s.pipe(l),s.pipe(a),o=new kR.PassThrough,o.pipe(c),o.pipe(a)}else s=a,o=a,typeof r!="undefined"&&s.write(`${r} +`);return{stdout:s,stderr:o}}makeResolver(){let e=[];for(let r of this.plugins.values())for(let i of r.resolvers||[])e.push(new i);return new pd([new FB,new Yr,new SR,...e])}makeFetcher(){let e=[];for(let r of this.plugins.values())for(let i of r.fetchers||[])e.push(new i);return new vR([new dd,new xR,...e])}getLinkers(){let e=[];for(let r of this.plugins.values())for(let i of r.linkers||[])e.push(new i);return e}getSupportedArchitectures(){let e=this.get("supportedArchitectures"),r=e.get("os");r!==null&&(r=r.map(n=>n==="current"?process.platform:n));let i=e.get("cpu");return i!==null&&(i=i.map(n=>n==="current"?process.arch:n)),{os:r,cpu:i}}async refreshPackageExtensions(){this.packageExtensions=new Map;let e=this.packageExtensions,r=(i,n,{userProvided:s=!1}={})=>{if(!Us(i.range))throw new Error("Only semver ranges are allowed as keys for the packageExtensions setting");let o=new Ze;o.load(n,{yamlCompatibilityMode:!0});let a=hu(e,i.identHash),l=[];a.push([i.range,l]);let c={status:ki.Inactive,userProvided:s,parentDescriptor:i};for(let u of o.dependencies.values())l.push(_(P({},c),{type:oi.Dependency,descriptor:u}));for(let u of o.peerDependencies.values())l.push(_(P({},c),{type:oi.PeerDependency,descriptor:u}));for(let[u,g]of o.peerDependenciesMeta)for(let[f,h]of Object.entries(g))l.push(_(P({},c),{type:oi.PeerDependencyMeta,selector:u,key:f,value:h}))};await this.triggerHook(i=>i.registerPackageExtensions,this,r);for(let[i,n]of this.get("packageExtensions"))r(pA(i,!0),aI(n),{userProvided:!0})}normalizePackage(e){let r=ap(e);if(this.packageExtensions==null)throw new Error("refreshPackageExtensions has to be called before normalizing packages");let i=this.packageExtensions.get(e.identHash);if(typeof i!="undefined"){let s=e.version;if(s!==null){for(let[o,a]of i)if(!!lc(s,o))for(let l of a)switch(l.status===ki.Inactive&&(l.status=ki.Redundant),l.type){case oi.Dependency:typeof r.dependencies.get(l.descriptor.identHash)=="undefined"&&(l.status=ki.Active,r.dependencies.set(l.descriptor.identHash,l.descriptor));break;case oi.PeerDependency:typeof r.peerDependencies.get(l.descriptor.identHash)=="undefined"&&(l.status=ki.Active,r.peerDependencies.set(l.descriptor.identHash,l.descriptor));break;case oi.PeerDependencyMeta:{let c=r.peerDependenciesMeta.get(l.selector);(typeof c=="undefined"||!Object.prototype.hasOwnProperty.call(c,l.key)||c[l.key]!==l.value)&&(l.status=ki.Active,na(r.peerDependenciesMeta,l.selector,()=>({}))[l.key]=l.value)}break;default:Lv(l);break}}}let n=s=>s.scope?`${s.scope}__${s.name}`:`${s.name}`;for(let s of r.peerDependenciesMeta.keys()){let o=En(s);r.peerDependencies.has(o.identHash)||r.peerDependencies.set(o.identHash,Yt(o,"*"))}for(let s of r.peerDependencies.values()){if(s.scope==="types")continue;let o=n(s),a=Eo("types",o),l=St(a);r.peerDependencies.has(a.identHash)||r.peerDependenciesMeta.has(l)||(r.peerDependencies.set(a.identHash,Yt(a,"*")),r.peerDependenciesMeta.set(l,{optional:!0}))}return r.dependencies=new Map(gn(r.dependencies,([,s])=>In(s))),r.peerDependencies=new Map(gn(r.peerDependencies,([,s])=>In(s))),r}getLimit(e){return na(this.limits,e,()=>(0,N_.default)(this.get(e)))}async triggerHook(e,...r){for(let i of this.plugins.values()){let n=i.hooks;if(!n)continue;let s=e(n);!s||await s(...r)}}async triggerMultipleHooks(e,r){for(let i of r)await this.triggerHook(e,...i)}async reduceHook(e,r,...i){let n=r;for(let s of this.plugins.values()){let o=s.hooks;if(!o)continue;let a=e(o);!a||(n=await a(n,...i))}return n}async firstHook(e,...r){for(let i of this.plugins.values()){let n=i.hooks;if(!n)continue;let s=e(n);if(!s)continue;let o=await s(...r);if(typeof o!="undefined")return o}return null}},fe=Ra;fe.telemetry=null;var Gn;(function(r){r[r.SCRIPT=0]="SCRIPT",r[r.SHELLCODE=1]="SHELLCODE"})(Gn||(Gn={}));var Fa=class extends Xi{constructor({configuration:e,stdout:r,suggestInstall:i=!0}){super();this.errorCount=0;Cp(this,{configuration:e}),this.configuration=e,this.stdout=r,this.suggestInstall=i}static async start(e,r){let i=new this(e);try{await r(i)}catch(n){i.reportExceptionOnce(n)}finally{await i.finalize()}return i}hasErrors(){return this.errorCount>0}exitCode(){return this.hasErrors()?1:0}reportCacheHit(e){}reportCacheMiss(e){}startTimerSync(e,r,i){return(typeof r=="function"?r:i)()}async startTimerPromise(e,r,i){return await(typeof r=="function"?r:i)()}async startCacheReport(e){return await e()}reportSeparator(){}reportInfo(e,r){}reportWarning(e,r){}reportError(e,r){this.errorCount+=1,this.stdout.write(`${Ve(this.configuration,"\u27A4","redBright")} ${this.formatNameWithHyperlink(e)}: ${r} +`)}reportProgress(e){let r=Promise.resolve().then(async()=>{for await(let{}of e);}),i=()=>{};return _(P({},r),{stop:i})}reportJson(e){}async finalize(){this.errorCount>0&&(this.stdout.write(` +`),this.stdout.write(`${Ve(this.configuration,"\u27A4","redBright")} Errors happened when preparing the environment required to run this command. +`),this.suggestInstall&&this.stdout.write(`${Ve(this.configuration,"\u27A4","redBright")} This might be caused by packages being missing from the lockfile, in which case running "yarn install" might help. +`))}formatNameWithHyperlink(e){return eD(e,{configuration:this.configuration,json:!1})}};var t0=ie(require("crypto")),v$=ie(CX()),r0=ie(Q$()),S$=ie(Wp()),x$=ie(Or()),lF=ie(require("util")),cF=ie(require("v8")),uF=ie(require("zlib"));var iUe=[[/^(git(?:\+(?:https|ssh))?:\/\/.*(?:\.git)?)#(.*)$/,(t,e,r,i)=>`${r}#commit=${i}`],[/^https:\/\/((?:[^/]+?)@)?codeload\.github\.com\/([^/]+\/[^/]+)\/tar\.gz\/([0-9a-f]+)$/,(t,e,r="",i,n)=>`https://${r}github.com/${i}.git#commit=${n}`],[/^https:\/\/((?:[^/]+?)@)?github\.com\/([^/]+\/[^/]+?)(?:\.git)?#([0-9a-f]+)$/,(t,e,r="",i,n)=>`https://${r}github.com/${i}.git#commit=${n}`],[/^https?:\/\/[^/]+\/(?:[^/]+\/)*(?:@.+(?:\/|(?:%2f)))?([^/]+)\/(?:-|download)\/\1-[^/]+\.tgz(?:#|$)/,t=>`npm:${t}`],[/^https:\/\/npm\.pkg\.github\.com\/download\/(?:@[^/]+)\/(?:[^/]+)\/(?:[^/]+)\/(?:[0-9a-f]+)(?:#|$)/,t=>`npm:${t}`],[/^https:\/\/npm\.fontawesome\.com\/(?:@[^/]+)\/([^/]+)\/-\/([^/]+)\/\1-\2.tgz(?:#|$)/,t=>`npm:${t}`],[/^https?:\/\/(?:[^\\.]+)\.jfrog\.io\/.*\/(@[^/]+)\/([^/]+)\/-\/\1\/\2-(?:[.\d\w-]+)\.tgz(?:#|$)/,(t,e)=>by({protocol:"npm:",source:null,selector:t,params:{__archiveUrl:e}})],[/^[^/]+\.tgz#[0-9a-f]+$/,t=>`npm:${t}`]],oF=class{constructor(){this.resolutions=null}async setup(e,{report:r}){let i=v.join(e.cwd,e.configuration.get("lockfileFilename"));if(!T.existsSync(i))return;let n=await T.readFilePromise(i,"utf8"),s=Ii(n);if(Object.prototype.hasOwnProperty.call(s,"__metadata"))return;let o=this.resolutions=new Map;for(let a of Object.keys(s)){let l=gp(a);if(!l){r.reportWarning(z.YARN_IMPORT_FAILED,`Failed to parse the string "${a}" into a proper descriptor`);continue}Us(l.range)&&(l=Yt(l,`npm:${l.range}`));let{version:c,resolved:u}=s[a];if(!u)continue;let g;for(let[h,p]of iUe){let d=u.match(h);if(d){g=p(c,...d);break}}if(!g){r.reportWarning(z.YARN_IMPORT_FAILED,`${Xt(e.configuration,l)}: Only some patterns can be imported from legacy lockfiles (not "${u}")`);continue}let f=l;try{let h=Tu(l.range),p=gp(h.selector,!0);p&&(f=p)}catch{}o.set(l.descriptorHash,Vi(f,g))}}supportsDescriptor(e,r){return this.resolutions?this.resolutions.has(e.descriptorHash):!1}supportsLocator(e,r){return!1}shouldPersistResolution(e,r){throw new Error("Assertion failed: This resolver doesn't support resolving locators to packages")}bindDescriptor(e,r,i){return e}getResolutionDependencies(e,r){return[]}async getCandidates(e,r,i){if(!this.resolutions)throw new Error("Assertion failed: The resolution store should have been setup");let n=this.resolutions.get(e.descriptorHash);if(!n)throw new Error("Assertion failed: The resolution should have been registered");return[n]}async getSatisfying(e,r,i){return null}async resolve(e,r){throw new Error("Assertion failed: This resolver doesn't support resolving locators to packages")}};var aF=class{constructor(e){this.resolver=e}supportsDescriptor(e,r){return!!(r.project.storedResolutions.get(e.descriptorHash)||r.project.originalPackages.has(By(e).locatorHash))}supportsLocator(e,r){return!!(r.project.originalPackages.has(e.locatorHash)&&!r.project.lockfileNeedsRefresh)}shouldPersistResolution(e,r){throw new Error("The shouldPersistResolution method shouldn't be called on the lockfile resolver, which would always answer yes")}bindDescriptor(e,r,i){return e}getResolutionDependencies(e,r){return this.resolver.getResolutionDependencies(e,r)}async getCandidates(e,r,i){let n=i.project.originalPackages.get(By(e).locatorHash);if(n)return[n];let s=i.project.storedResolutions.get(e.descriptorHash);if(!s)throw new Error("Expected the resolution to have been successful - resolution not found");if(n=i.project.originalPackages.get(s),!n)throw new Error("Expected the resolution to have been successful - package not found");return[n]}async getSatisfying(e,r,i){return null}async resolve(e,r){let i=r.project.originalPackages.get(e.locatorHash);if(!i)throw new Error("The lockfile resolver isn't meant to resolve packages - they should already have been stored into a cache");return i}};var AF=class{constructor(e){this.resolver=e}supportsDescriptor(e,r){return this.resolver.supportsDescriptor(e,r)}supportsLocator(e,r){return this.resolver.supportsLocator(e,r)}shouldPersistResolution(e,r){return this.resolver.shouldPersistResolution(e,r)}bindDescriptor(e,r,i){return this.resolver.bindDescriptor(e,r,i)}getResolutionDependencies(e,r){return this.resolver.getResolutionDependencies(e,r)}async getCandidates(e,r,i){throw new nt(z.MISSING_LOCKFILE_ENTRY,`This package doesn't seem to be present in your lockfile; run "yarn install" to update the lockfile`)}async getSatisfying(e,r,i){throw new nt(z.MISSING_LOCKFILE_ENTRY,`This package doesn't seem to be present in your lockfile; run "yarn install" to update the lockfile`)}async resolve(e,r){throw new nt(z.MISSING_LOCKFILE_ENTRY,`This package doesn't seem to be present in your lockfile; run "yarn install" to update the lockfile`)}};var ei=class extends Xi{reportCacheHit(e){}reportCacheMiss(e){}startTimerSync(e,r,i){return(typeof r=="function"?r:i)()}async startTimerPromise(e,r,i){return await(typeof r=="function"?r:i)()}async startCacheReport(e){return await e()}reportSeparator(){}reportInfo(e,r){}reportWarning(e,r){}reportError(e,r){}reportProgress(e){let r=Promise.resolve().then(async()=>{for await(let{}of e);}),i=()=>{};return _(P({},r),{stop:i})}reportJson(e){}async finalize(){}};var b$=ie(vx());var Dd=class{constructor(e,{project:r}){this.workspacesCwds=new Set;this.dependencies=new Map;this.project=r,this.cwd=e}async setup(){this.manifest=T.existsSync(v.join(this.cwd,Ze.fileName))?await Ze.find(this.cwd):new Ze,this.relativeCwd=v.relative(this.project.cwd,this.cwd)||Se.dot;let e=this.manifest.name?this.manifest.name:Eo(null,`${this.computeCandidateName()}-${zi(this.relativeCwd).substr(0,6)}`),r=this.manifest.version?this.manifest.version:"0.0.0";this.locator=Vi(e,r),this.anchoredDescriptor=Yt(this.locator,`${Yr.protocol}${this.relativeCwd}`),this.anchoredLocator=Vi(this.locator,`${Yr.protocol}${this.relativeCwd}`);let i=this.manifest.workspaceDefinitions.map(({pattern:s})=>s),n=await(0,b$.default)(i,{cwd:M.fromPortablePath(this.cwd),expandDirectories:!1,onlyDirectories:!0,onlyFiles:!1,ignore:["**/node_modules","**/.git","**/.yarn"]});n.sort();for(let s of n){let o=v.resolve(this.cwd,M.toPortablePath(s));T.existsSync(v.join(o,"package.json"))&&this.workspacesCwds.add(o)}}accepts(e){var o;let r=e.indexOf(":"),i=r!==-1?e.slice(0,r+1):null,n=r!==-1?e.slice(r+1):e;if(i===Yr.protocol&&v.normalize(n)===this.relativeCwd||i===Yr.protocol&&(n==="*"||n==="^"||n==="~"))return!0;let s=Us(n);return s?i===Yr.protocol?s.test((o=this.manifest.version)!=null?o:"0.0.0"):this.project.configuration.get("enableTransparentWorkspaces")&&this.manifest.version!==null?s.test(this.manifest.version):!1:!1}computeCandidateName(){return this.cwd===this.project.cwd?"root-workspace":`${v.basename(this.cwd)}`||"unnamed-workspace"}getRecursiveWorkspaceDependencies({dependencies:e=Ze.hardDependencies}={}){let r=new Set,i=n=>{for(let s of e)for(let o of n.manifest[s].values()){let a=this.project.tryWorkspaceByDescriptor(o);a===null||r.has(a)||(r.add(a),i(a))}};return i(this),r}getRecursiveWorkspaceDependents({dependencies:e=Ze.hardDependencies}={}){let r=new Set,i=n=>{for(let s of this.project.workspaces)e.some(a=>[...s.manifest[a].values()].some(l=>{let c=this.project.tryWorkspaceByDescriptor(l);return c!==null&&up(c.anchoredLocator,n.anchoredLocator)}))&&!r.has(s)&&(r.add(s),i(s))};return i(this),r}getRecursiveWorkspaceChildren(){let e=[];for(let r of this.workspacesCwds){let i=this.project.workspacesByCwd.get(r);i&&e.push(i,...i.getRecursiveWorkspaceChildren())}return e}async persistManifest(){let e={};this.manifest.exportTo(e);let r=v.join(this.cwd,Ze.fileName),i=`${JSON.stringify(e,null,this.manifest.indent)} +`;await T.changeFilePromise(r,i,{automaticNewlines:!0}),this.manifest.raw=e}};var k$=5,nUe=1,sUe=/ *, */g,P$=/\/$/,oUe=32,aUe=(0,lF.promisify)(uF.default.gzip),AUe=(0,lF.promisify)(uF.default.gunzip),li;(function(r){r.UpdateLockfile="update-lockfile",r.SkipBuild="skip-build"})(li||(li={}));var gF={restoreInstallersCustomData:["installersCustomData"],restoreResolutions:["accessibleLocators","conditionalLocators","disabledLocators","optionalBuilds","storedDescriptors","storedResolutions","storedPackages","lockFileChecksum"],restoreBuildState:["storedBuildState"]},D$=t=>zi(`${nUe}`,t),Ke=class{constructor(e,{configuration:r}){this.resolutionAliases=new Map;this.workspaces=[];this.workspacesByCwd=new Map;this.workspacesByIdent=new Map;this.storedResolutions=new Map;this.storedDescriptors=new Map;this.storedPackages=new Map;this.storedChecksums=new Map;this.storedBuildState=new Map;this.accessibleLocators=new Set;this.conditionalLocators=new Set;this.disabledLocators=new Set;this.originalPackages=new Map;this.optionalBuilds=new Set;this.lockfileNeedsRefresh=!1;this.peerRequirements=new Map;this.installersCustomData=new Map;this.lockFileChecksum=null;this.installStateChecksum=null;this.configuration=r,this.cwd=e}static async find(e,r){var c,u,g;if(!e.projectCwd)throw new me(`No project found in ${r}`);let i=e.projectCwd,n=r,s=null;for(;s!==e.projectCwd;){if(s=n,T.existsSync(v.join(s,wt.manifest))){i=s;break}n=v.dirname(s)}let o=new Ke(e.projectCwd,{configuration:e});(c=fe.telemetry)==null||c.reportProject(o.cwd),await o.setupResolutions(),await o.setupWorkspaces(),(u=fe.telemetry)==null||u.reportWorkspaceCount(o.workspaces.length),(g=fe.telemetry)==null||g.reportDependencyCount(o.workspaces.reduce((f,h)=>f+h.manifest.dependencies.size+h.manifest.devDependencies.size,0));let a=o.tryWorkspaceByCwd(i);if(a)return{project:o,workspace:a,locator:a.anchoredLocator};let l=await o.findLocatorForLocation(`${i}/`,{strict:!0});if(l)return{project:o,locator:l,workspace:null};throw new me(`The nearest package directory (${Ve(e,i,Le.PATH)}) doesn't seem to be part of the project declared in ${Ve(e,o.cwd,Le.PATH)}. + +- If the project directory is right, it might be that you forgot to list ${Ve(e,v.relative(o.cwd,i),Le.PATH)} as a workspace. +- If it isn't, it's likely because you have a yarn.lock or package.json file there, confusing the project root detection.`)}async setupResolutions(){var i;this.storedResolutions=new Map,this.storedDescriptors=new Map,this.storedPackages=new Map,this.lockFileChecksum=null;let e=v.join(this.cwd,this.configuration.get("lockfileFilename")),r=this.configuration.get("defaultLanguageName");if(T.existsSync(e)){let n=await T.readFilePromise(e,"utf8");this.lockFileChecksum=D$(n);let s=Ii(n);if(s.__metadata){let o=s.__metadata.version,a=s.__metadata.cacheKey;this.lockfileNeedsRefresh=o0;){let r=e;e=[];for(let i of r){if(this.workspacesByCwd.has(i))continue;let n=await this.addWorkspace(i),s=this.storedPackages.get(n.anchoredLocator.locatorHash);s&&(n.dependencies=s.dependencies);for(let o of n.workspacesCwds)e.push(o)}}}async addWorkspace(e){let r=new Dd(e,{project:this});await r.setup();let i=this.workspacesByIdent.get(r.locator.identHash);if(typeof i!="undefined")throw new Error(`Duplicate workspace name ${Vr(this.configuration,r.locator)}: ${M.fromPortablePath(e)} conflicts with ${M.fromPortablePath(i.cwd)}`);return this.workspaces.push(r),this.workspacesByCwd.set(e,r),this.workspacesByIdent.set(r.locator.identHash,r),r}get topLevelWorkspace(){return this.getWorkspaceByCwd(this.cwd)}tryWorkspaceByCwd(e){v.isAbsolute(e)||(e=v.resolve(this.cwd,e)),e=v.normalize(e).replace(/\/+$/,"");let r=this.workspacesByCwd.get(e);return r||null}getWorkspaceByCwd(e){let r=this.tryWorkspaceByCwd(e);if(!r)throw new Error(`Workspace not found (${e})`);return r}tryWorkspaceByFilePath(e){let r=null;for(let i of this.workspaces)v.relative(i.cwd,e).startsWith("../")||r&&r.cwd.length>=i.cwd.length||(r=i);return r||null}getWorkspaceByFilePath(e){let r=this.tryWorkspaceByFilePath(e);if(!r)throw new Error(`Workspace not found (${e})`);return r}tryWorkspaceByIdent(e){let r=this.workspacesByIdent.get(e.identHash);return typeof r=="undefined"?null:r}getWorkspaceByIdent(e){let r=this.tryWorkspaceByIdent(e);if(!r)throw new Error(`Workspace not found (${Vr(this.configuration,e)})`);return r}tryWorkspaceByDescriptor(e){let r=this.tryWorkspaceByIdent(e);return r===null||(hA(e)&&(e=Ap(e)),!r.accepts(e.range))?null:r}getWorkspaceByDescriptor(e){let r=this.tryWorkspaceByDescriptor(e);if(r===null)throw new Error(`Workspace not found (${Xt(this.configuration,e)})`);return r}tryWorkspaceByLocator(e){let r=this.tryWorkspaceByIdent(e);return r===null||(Io(e)&&(e=lp(e)),r.locator.locatorHash!==e.locatorHash&&r.anchoredLocator.locatorHash!==e.locatorHash)?null:r}getWorkspaceByLocator(e){let r=this.tryWorkspaceByLocator(e);if(!r)throw new Error(`Workspace not found (${lt(this.configuration,e)})`);return r}refreshWorkspaceDependencies(){for(let e of this.workspaces){let r=this.storedPackages.get(e.anchoredLocator.locatorHash);if(!r)throw new Error(`Assertion failed: Expected workspace ${hp(this.configuration,e)} (${Ve(this.configuration,v.join(e.cwd,wt.manifest),Le.PATH)}) to have been resolved. Run "yarn install" to update the lockfile`);e.dependencies=new Map(r.dependencies)}}forgetResolution(e){let r=n=>{this.storedResolutions.delete(n),this.storedDescriptors.delete(n)},i=n=>{this.originalPackages.delete(n),this.storedPackages.delete(n),this.accessibleLocators.delete(n)};if("descriptorHash"in e){let n=this.storedResolutions.get(e.descriptorHash);r(e.descriptorHash);let s=new Set(this.storedResolutions.values());typeof n!="undefined"&&!s.has(n)&&i(n)}if("locatorHash"in e){i(e.locatorHash);for(let[n,s]of this.storedResolutions)s===e.locatorHash&&r(n)}}forgetTransientResolutions(){let e=this.configuration.makeResolver();for(let r of this.originalPackages.values()){let i;try{i=e.shouldPersistResolution(r,{project:this,resolver:e})}catch{i=!1}i||this.forgetResolution(r)}}forgetVirtualResolutions(){for(let e of this.storedPackages.values())for(let[r,i]of e.dependencies)hA(i)&&e.dependencies.set(r,Ap(i))}getDependencyMeta(e,r){let i={},s=this.topLevelWorkspace.manifest.dependenciesMeta.get(St(e));if(!s)return i;let o=s.get(null);if(o&&Object.assign(i,o),r===null||!x$.default.valid(r))return i;for(let[a,l]of s)a!==null&&a===r&&Object.assign(i,l);return i}async findLocatorForLocation(e,{strict:r=!1}={}){let i=new ei,n=this.configuration.getLinkers(),s={project:this,report:i};for(let o of n){let a=await o.findPackageLocator(e,s);if(a){if(r&&(await o.findPackageLocation(a,s)).replace(P$,"")!==e.replace(P$,""))continue;return a}}return null}async resolveEverything(e){if(!this.workspacesByCwd||!this.workspacesByIdent)throw new Error("Workspaces must have been setup before calling this function");this.forgetVirtualResolutions(),e.lockfileOnly||this.forgetTransientResolutions();let r=e.resolver||this.configuration.makeResolver(),i=new oF;await i.setup(this,{report:e.report});let n=e.lockfileOnly?[new AF(r)]:[i,r],s=new pd([new aF(r),...n]),o=this.configuration.makeFetcher(),a=e.lockfileOnly?{project:this,report:e.report,resolver:s}:{project:this,report:e.report,resolver:s,fetchOptions:{project:this,cache:e.cache,checksums:this.storedChecksums,report:e.report,fetcher:o,cacheOptions:{mirrorWriteOnly:!0}}},l=new Map,c=new Map,u=new Map,g=new Map,f=new Map,h=new Map,p=this.topLevelWorkspace.anchoredLocator,d=new Set,m=[],I=async W=>{let X=await du(async()=>await s.resolve(W,a),D=>`${lt(this.configuration,W)}: ${D}`);if(!up(W,X))throw new Error(`Assertion failed: The locator cannot be changed by the resolver (went from ${lt(this.configuration,W)} to ${lt(this.configuration,X)})`);g.set(X.locatorHash,X);let F=this.configuration.normalizePackage(X);for(let[D,he]of F.dependencies){let pe=await this.configuration.reduceHook(Pe=>Pe.reduceDependency,he,this,F,he,{resolver:s,resolveOptions:a});if(!cp(he,pe))throw new Error("Assertion failed: The descriptor ident cannot be changed through aliases");let Ne=s.bindDescriptor(pe,W,a);F.dependencies.set(D,Ne)}return m.push(Promise.all([...F.dependencies.values()].map(D=>H(D)))),c.set(F.locatorHash,F),F},B=async W=>{let X=f.get(W.locatorHash);if(typeof X!="undefined")return X;let F=Promise.resolve().then(()=>I(W));return f.set(W.locatorHash,F),F},b=async(W,X)=>{let F=await H(X);return l.set(W.descriptorHash,W),u.set(W.descriptorHash,F.locatorHash),F},R=async W=>{let X=this.resolutionAliases.get(W.descriptorHash);if(typeof X!="undefined")return b(W,this.storedDescriptors.get(X));let F=s.getResolutionDependencies(W,a),D=new Map(await Promise.all(F.map(async Ne=>{let Pe=s.bindDescriptor(Ne,p,a),qe=await H(Pe);return d.add(qe.locatorHash),[Ne.descriptorHash,qe]}))),pe=(await du(async()=>await s.getCandidates(W,D,a),Ne=>`${Xt(this.configuration,W)}: ${Ne}`))[0];if(typeof pe=="undefined")throw new Error(`${Xt(this.configuration,W)}: No candidates found`);return l.set(W.descriptorHash,W),u.set(W.descriptorHash,pe.locatorHash),B(pe)},H=W=>{let X=h.get(W.descriptorHash);if(typeof X!="undefined")return X;l.set(W.descriptorHash,W);let F=Promise.resolve().then(()=>R(W));return h.set(W.descriptorHash,F),F};for(let W of this.workspaces){let X=W.anchoredDescriptor;m.push(H(X))}for(;m.length>0;){let W=[...m];m.length=0,await Promise.all(W)}let L=new Set(this.resolutionAliases.values()),K=new Set(c.keys()),J=new Set,ne=new Map;lUe({project:this,report:e.report,accessibleLocators:J,volatileDescriptors:L,optionalBuilds:K,peerRequirements:ne,allDescriptors:l,allResolutions:u,allPackages:c});for(let W of d)K.delete(W);for(let W of L)l.delete(W),u.delete(W);let q=this.configuration.getSupportedArchitectures(),A=new Set,V=new Set;for(let W of c.values())W.conditions!=null&&(!K.has(W.locatorHash)||(Sy(W,q)||(Sy(W,{os:[process.platform],cpu:[process.arch]})&&e.report.reportWarningOnce(z.GHOST_ARCHITECTURE,`${lt(this.configuration,W)}: Your current architecture (${process.platform}-${process.arch}) is supported by this package, but is missing from the ${Ve(this.configuration,"supportedArchitectures",ps.SETTING)} setting`),V.add(W.locatorHash)),A.add(W.locatorHash)));this.storedResolutions=u,this.storedDescriptors=l,this.storedPackages=c,this.accessibleLocators=J,this.conditionalLocators=A,this.disabledLocators=V,this.originalPackages=g,this.optionalBuilds=K,this.peerRequirements=ne,this.refreshWorkspaceDependencies()}async fetchEverything({cache:e,report:r,fetcher:i,mode:n}){let s={mockedPackages:this.disabledLocators,unstablePackages:this.conditionalLocators},o=i||this.configuration.makeFetcher(),a={checksums:this.storedChecksums,project:this,cache:e,fetcher:o,report:r,cacheOptions:s},l=Array.from(new Set(gn(this.storedResolutions.values(),[f=>{let h=this.storedPackages.get(f);if(!h)throw new Error("Assertion failed: The locator should have been registered");return is(h)}])));n===li.UpdateLockfile&&(l=l.filter(f=>!this.storedChecksums.has(f)));let c=!1,u=Xi.progressViaCounter(l.length);r.reportProgress(u);let g=(0,S$.default)(oUe);if(await r.startCacheReport(async()=>{await Promise.all(l.map(f=>g(async()=>{let h=this.storedPackages.get(f);if(!h)throw new Error("Assertion failed: The locator should have been registered");if(Io(h))return;let p;try{p=await o.fetch(h,a)}catch(d){d.message=`${lt(this.configuration,h)}: ${d.message}`,r.reportExceptionOnce(d),c=d;return}p.checksum!=null?this.storedChecksums.set(h.locatorHash,p.checksum):this.storedChecksums.delete(h.locatorHash),p.releaseFs&&p.releaseFs()}).finally(()=>{u.tick()})))}),c)throw c}async linkEverything({cache:e,report:r,fetcher:i,mode:n}){var A,V,W;let s={mockedPackages:this.disabledLocators,unstablePackages:this.conditionalLocators,skipIntegrityCheck:!0},o=i||this.configuration.makeFetcher(),a={checksums:this.storedChecksums,project:this,cache:e,fetcher:o,report:r,skipIntegrityCheck:!0,cacheOptions:s},l=this.configuration.getLinkers(),c={project:this,report:r},u=new Map(l.map(X=>{let F=X.makeInstaller(c),D=F.getCustomDataKey(),he=this.installersCustomData.get(D);return typeof he!="undefined"&&F.attachCustomData(he),[X,F]})),g=new Map,f=new Map,h=new Map,p=new Map(await Promise.all([...this.accessibleLocators].map(async X=>{let F=this.storedPackages.get(X);if(!F)throw new Error("Assertion failed: The locator should have been registered");return[X,await o.fetch(F,a)]}))),d=[];for(let X of this.accessibleLocators){let F=this.storedPackages.get(X);if(typeof F=="undefined")throw new Error("Assertion failed: The locator should have been registered");let D=p.get(F.locatorHash);if(typeof D=="undefined")throw new Error("Assertion failed: The fetch result should have been registered");let he=[],pe=Pe=>{he.push(Pe)},Ne=this.tryWorkspaceByLocator(F);if(Ne!==null){let Pe=[],{scripts:qe}=Ne.manifest;for(let se of["preinstall","install","postinstall"])qe.has(se)&&Pe.push([Gn.SCRIPT,se]);try{for(let[se,be]of u)if(se.supportsPackage(F,c)&&(await be.installPackage(F,D,{holdFetchResult:pe})).buildDirective!==null)throw new Error("Assertion failed: Linkers can't return build directives for workspaces; this responsibility befalls to the Yarn core")}finally{he.length===0?(A=D.releaseFs)==null||A.call(D):d.push(Promise.all(he).catch(()=>{}).then(()=>{var se;(se=D.releaseFs)==null||se.call(D)}))}let re=v.join(D.packageFs.getRealPath(),D.prefixPath);f.set(F.locatorHash,re),!Io(F)&&Pe.length>0&&h.set(F.locatorHash,{directives:Pe,buildLocations:[re]})}else{let Pe=l.find(se=>se.supportsPackage(F,c));if(!Pe)throw new nt(z.LINKER_NOT_FOUND,`${lt(this.configuration,F)} isn't supported by any available linker`);let qe=u.get(Pe);if(!qe)throw new Error("Assertion failed: The installer should have been registered");let re;try{re=await qe.installPackage(F,D,{holdFetchResult:pe})}finally{he.length===0?(V=D.releaseFs)==null||V.call(D):d.push(Promise.all(he).then(()=>{}).then(()=>{var se;(se=D.releaseFs)==null||se.call(D)}))}g.set(F.locatorHash,Pe),f.set(F.locatorHash,re.packageLocation),re.buildDirective&&re.buildDirective.length>0&&re.packageLocation&&h.set(F.locatorHash,{directives:re.buildDirective,buildLocations:[re.packageLocation]})}}let m=new Map;for(let X of this.accessibleLocators){let F=this.storedPackages.get(X);if(!F)throw new Error("Assertion failed: The locator should have been registered");let D=this.tryWorkspaceByLocator(F)!==null,he=async(pe,Ne)=>{let Pe=f.get(F.locatorHash);if(typeof Pe=="undefined")throw new Error(`Assertion failed: The package (${lt(this.configuration,F)}) should have been registered`);let qe=[];for(let re of F.dependencies.values()){let se=this.storedResolutions.get(re.descriptorHash);if(typeof se=="undefined")throw new Error(`Assertion failed: The resolution (${Xt(this.configuration,re)}, from ${lt(this.configuration,F)})should have been registered`);let be=this.storedPackages.get(se);if(typeof be=="undefined")throw new Error(`Assertion failed: The package (${se}, resolved from ${Xt(this.configuration,re)}) should have been registered`);let ae=this.tryWorkspaceByLocator(be)===null?g.get(se):null;if(typeof ae=="undefined")throw new Error(`Assertion failed: The package (${se}, resolved from ${Xt(this.configuration,re)}) should have been registered`);ae===pe||ae===null?f.get(be.locatorHash)!==null&&qe.push([re,be]):!D&&Pe!==null&&hu(m,se).push(Pe)}Pe!==null&&await Ne.attachInternalDependencies(F,qe)};if(D)for(let[pe,Ne]of u)pe.supportsPackage(F,c)&&await he(pe,Ne);else{let pe=g.get(F.locatorHash);if(!pe)throw new Error("Assertion failed: The linker should have been found");let Ne=u.get(pe);if(!Ne)throw new Error("Assertion failed: The installer should have been registered");await he(pe,Ne)}}for(let[X,F]of m){let D=this.storedPackages.get(X);if(!D)throw new Error("Assertion failed: The package should have been registered");let he=g.get(D.locatorHash);if(!he)throw new Error("Assertion failed: The linker should have been found");let pe=u.get(he);if(!pe)throw new Error("Assertion failed: The installer should have been registered");await pe.attachExternalDependents(D,F)}let I=new Map;for(let X of u.values()){let F=await X.finalizeInstall();for(let D of(W=F==null?void 0:F.records)!=null?W:[])h.set(D.locatorHash,{directives:D.buildDirective,buildLocations:D.buildLocations});typeof(F==null?void 0:F.customData)!="undefined"&&I.set(X.getCustomDataKey(),F.customData)}if(this.installersCustomData=I,await Promise.all(d),n===li.SkipBuild)return;let B=new Set(this.storedPackages.keys()),b=new Set(h.keys());for(let X of b)B.delete(X);let R=(0,t0.createHash)("sha512");R.update(process.versions.node),await this.configuration.triggerHook(X=>X.globalHashGeneration,this,X=>{R.update("\0"),R.update(X)});let H=R.digest("hex"),L=new Map,K=X=>{let F=L.get(X.locatorHash);if(typeof F!="undefined")return F;let D=this.storedPackages.get(X.locatorHash);if(typeof D=="undefined")throw new Error("Assertion failed: The package should have been registered");let he=(0,t0.createHash)("sha512");he.update(X.locatorHash),L.set(X.locatorHash,"");for(let pe of D.dependencies.values()){let Ne=this.storedResolutions.get(pe.descriptorHash);if(typeof Ne=="undefined")throw new Error(`Assertion failed: The resolution (${Xt(this.configuration,pe)}) should have been registered`);let Pe=this.storedPackages.get(Ne);if(typeof Pe=="undefined")throw new Error("Assertion failed: The package should have been registered");he.update(K(Pe))}return F=he.digest("hex"),L.set(X.locatorHash,F),F},J=(X,F)=>{let D=(0,t0.createHash)("sha512");D.update(H),D.update(K(X));for(let he of F)D.update(he);return D.digest("hex")},ne=new Map,q=!1;for(;b.size>0;){let X=b.size,F=[];for(let D of b){let he=this.storedPackages.get(D);if(!he)throw new Error("Assertion failed: The package should have been registered");let pe=!0;for(let qe of he.dependencies.values()){let re=this.storedResolutions.get(qe.descriptorHash);if(!re)throw new Error(`Assertion failed: The resolution (${Xt(this.configuration,qe)}) should have been registered`);if(b.has(re)){pe=!1;break}}if(!pe)continue;b.delete(D);let Ne=h.get(he.locatorHash);if(!Ne)throw new Error("Assertion failed: The build directive should have been registered");let Pe=J(he,Ne.buildLocations);if(this.storedBuildState.get(he.locatorHash)===Pe){ne.set(he.locatorHash,Pe);continue}q||(await this.persistInstallStateFile(),q=!0),this.storedBuildState.has(he.locatorHash)?r.reportInfo(z.MUST_REBUILD,`${lt(this.configuration,he)} must be rebuilt because its dependency tree changed`):r.reportInfo(z.MUST_BUILD,`${lt(this.configuration,he)} must be built because it never has been before or the last one failed`);for(let qe of Ne.buildLocations){if(!v.isAbsolute(qe))throw new Error(`Assertion failed: Expected the build location to be absolute (not ${qe})`);F.push((async()=>{for(let[re,se]of Ne.directives){let be=`# This file contains the result of Yarn building a package (${is(he)}) +`;switch(re){case Gn.SCRIPT:be+=`# Script name: ${se} +`;break;case Gn.SHELLCODE:be+=`# Script code: ${se} +`;break}let ae=null;if(!await T.mktempPromise(async De=>{let $=v.join(De,"build.log"),{stdout:G,stderr:Ce}=this.configuration.getSubprocessStreams($,{header:be,prefix:lt(this.configuration,he),report:r}),ee;try{switch(re){case Gn.SCRIPT:ee=await Uw(he,se,[],{cwd:qe,project:this,stdin:ae,stdout:G,stderr:Ce});break;case Gn.SHELLCODE:ee=await rD(he,se,[],{cwd:qe,project:this,stdin:ae,stdout:G,stderr:Ce});break}}catch(Oe){Ce.write(Oe.stack),ee=1}if(G.end(),Ce.end(),ee===0)return ne.set(he.locatorHash,Pe),!0;T.detachTemp(De);let Ue=`${lt(this.configuration,he)} couldn't be built successfully (exit code ${Ve(this.configuration,ee,Le.NUMBER)}, logs can be found here: ${Ve(this.configuration,$,Le.PATH)})`;return this.optionalBuilds.has(he.locatorHash)?(r.reportInfo(z.BUILD_FAILED,Ue),ne.set(he.locatorHash,Pe),!0):(r.reportError(z.BUILD_FAILED,Ue),!1)}))return}})())}}if(await Promise.all(F),X===b.size){let D=Array.from(b).map(he=>{let pe=this.storedPackages.get(he);if(!pe)throw new Error("Assertion failed: The package should have been registered");return lt(this.configuration,pe)}).join(", ");r.reportError(z.CYCLIC_DEPENDENCIES,`Some packages have circular dependencies that make their build order unsatisfiable - as a result they won't be built (affected packages are: ${D})`);break}}this.storedBuildState=ne}async install(e){var a,l;let r=this.configuration.get("nodeLinker");(a=fe.telemetry)==null||a.reportInstall(r),await e.report.startTimerPromise("Project validation",{skipIfEmpty:!0},async()=>{await this.configuration.triggerHook(c=>c.validateProject,this,{reportWarning:e.report.reportWarning.bind(e.report),reportError:e.report.reportError.bind(e.report)})});for(let c of this.configuration.packageExtensions.values())for(let[,u]of c)for(let g of u)g.status=ki.Inactive;let i=v.join(this.cwd,this.configuration.get("lockfileFilename")),n=null;if(e.immutable)try{n=await T.readFilePromise(i,"utf8")}catch(c){throw c.code==="ENOENT"?new nt(z.FROZEN_LOCKFILE_EXCEPTION,"The lockfile would have been created by this install, which is explicitly forbidden."):c}await e.report.startTimerPromise("Resolution step",async()=>{await this.resolveEverything(e)}),await e.report.startTimerPromise("Post-resolution validation",{skipIfEmpty:!0},async()=>{for(let[,c]of this.configuration.packageExtensions)for(let[,u]of c)for(let g of u)if(g.userProvided){let f=Ve(this.configuration,g,Le.PACKAGE_EXTENSION);switch(g.status){case ki.Inactive:e.report.reportWarning(z.UNUSED_PACKAGE_EXTENSION,`${f}: No matching package in the dependency tree; you may not need this rule anymore.`);break;case ki.Redundant:e.report.reportWarning(z.REDUNDANT_PACKAGE_EXTENSION,`${f}: This rule seems redundant when applied on the original package; the extension may have been applied upstream.`);break}}if(n!==null){let c=ul(n,this.generateLockfile());if(c!==n){let u=(0,v$.structuredPatch)(i,i,n,c);e.report.reportSeparator();for(let g of u.hunks){e.report.reportInfo(null,`@@ -${g.oldStart},${g.oldLines} +${g.newStart},${g.newLines} @@`);for(let f of g.lines)f.startsWith("+")?e.report.reportError(z.FROZEN_LOCKFILE_EXCEPTION,Ve(this.configuration,f,Le.ADDED)):f.startsWith("-")?e.report.reportError(z.FROZEN_LOCKFILE_EXCEPTION,Ve(this.configuration,f,Le.REMOVED)):e.report.reportInfo(null,Ve(this.configuration,f,"grey"))}throw e.report.reportSeparator(),new nt(z.FROZEN_LOCKFILE_EXCEPTION,"The lockfile would have been modified by this install, which is explicitly forbidden.")}}});for(let c of this.configuration.packageExtensions.values())for(let[,u]of c)for(let g of u)g.userProvided&&g.status===ki.Active&&((l=fe.telemetry)==null||l.reportPackageExtension(Uu(g,Le.PACKAGE_EXTENSION)));await e.report.startTimerPromise("Fetch step",async()=>{await this.fetchEverything(e),(typeof e.persistProject=="undefined"||e.persistProject)&&e.mode!==li.UpdateLockfile&&await this.cacheCleanup(e)});let s=e.immutable?[...new Set(this.configuration.get("immutablePatterns"))].sort():[],o=await Promise.all(s.map(async c=>Iy(c,{cwd:this.cwd})));(typeof e.persistProject=="undefined"||e.persistProject)&&await this.persist(),await e.report.startTimerPromise("Link step",async()=>{if(e.mode===li.UpdateLockfile){e.report.reportWarning(z.UPDATE_LOCKFILE_ONLY_SKIP_LINK,`Skipped due to ${Ve(this.configuration,"mode=update-lockfile",Le.CODE)}`);return}await this.linkEverything(e);let c=await Promise.all(s.map(async u=>Iy(u,{cwd:this.cwd})));for(let u=0;uc.afterAllInstalled,this,e)}generateLockfile(){let e=new Map;for(let[n,s]of this.storedResolutions.entries()){let o=e.get(s);o||e.set(s,o=new Set),o.add(n)}let r={};r.__metadata={version:k$,cacheKey:void 0};for(let[n,s]of e.entries()){let o=this.originalPackages.get(n);if(!o)continue;let a=[];for(let f of s){let h=this.storedDescriptors.get(f);if(!h)throw new Error("Assertion failed: The descriptor should have been registered");a.push(h)}let l=a.map(f=>In(f)).sort().join(", "),c=new Ze;c.version=o.linkType===gt.HARD?o.version:"0.0.0-use.local",c.languageName=o.languageName,c.dependencies=new Map(o.dependencies),c.peerDependencies=new Map(o.peerDependencies),c.dependenciesMeta=new Map(o.dependenciesMeta),c.peerDependenciesMeta=new Map(o.peerDependenciesMeta),c.bin=new Map(o.bin);let u,g=this.storedChecksums.get(o.locatorHash);if(typeof g!="undefined"){let f=g.indexOf("/");if(f===-1)throw new Error("Assertion failed: Expected the checksum to reference its cache key");let h=g.slice(0,f),p=g.slice(f+1);typeof r.__metadata.cacheKey=="undefined"&&(r.__metadata.cacheKey=h),h===r.__metadata.cacheKey?u=p:u=g}r[l]=_(P({},c.exportTo({},{compatibilityMode:!1})),{linkType:o.linkType.toLowerCase(),resolution:is(o),checksum:u,conditions:o.conditions||void 0})}return`${[`# This file is generated by running "yarn install" inside your project. +`,`# Manual changes might be lost - proceed with caution! +`].join("")} +`+Qa(r)}async persistLockfile(){let e=v.join(this.cwd,this.configuration.get("lockfileFilename")),r="";try{r=await T.readFilePromise(e,"utf8")}catch(s){}let i=this.generateLockfile(),n=ul(r,i);n!==r&&(await T.writeFilePromise(e,n),this.lockFileChecksum=D$(n),this.lockfileNeedsRefresh=!1)}async persistInstallStateFile(){let e=[];for(let o of Object.values(gF))e.push(...o);let r=(0,r0.default)(this,e),i=cF.default.serialize(r),n=zi(i);if(this.installStateChecksum===n)return;let s=this.configuration.get("installStatePath");await T.mkdirPromise(v.dirname(s),{recursive:!0}),await T.writeFilePromise(s,await aUe(i)),this.installStateChecksum=n}async restoreInstallState({restoreInstallersCustomData:e=!0,restoreResolutions:r=!0,restoreBuildState:i=!0}={}){let n=this.configuration.get("installStatePath");if(!T.existsSync(n)){r&&await this.applyLightResolution();return}let s=await AUe(await T.readFilePromise(n));this.installStateChecksum=zi(s);let o=cF.default.deserialize(s);e&&typeof o.installersCustomData!="undefined"&&(this.installersCustomData=o.installersCustomData),i&&Object.assign(this,(0,r0.default)(o,gF.restoreBuildState)),r&&(o.lockFileChecksum===this.lockFileChecksum?(Object.assign(this,(0,r0.default)(o,gF.restoreResolutions)),this.refreshWorkspaceDependencies()):await this.applyLightResolution())}async applyLightResolution(){await this.resolveEverything({lockfileOnly:!0,report:new ei}),await this.persistInstallStateFile()}async persist(){await this.persistLockfile();for(let e of this.workspacesByCwd.values())await e.persistManifest()}async cacheCleanup({cache:e,report:r}){let i=new Set([".gitignore"]);if(!Fb(e.cwd,this.cwd)||!await T.existsPromise(e.cwd))return;let n=this.configuration.get("preferAggregateCacheInfo"),s=0,o=null;for(let a of await T.readdirPromise(e.cwd)){if(i.has(a))continue;let l=v.resolve(e.cwd,a);e.markedFiles.has(l)||(o=a,e.immutable?r.reportError(z.IMMUTABLE_CACHE,`${Ve(this.configuration,v.basename(l),"magenta")} appears to be unused and would be marked for deletion, but the cache is immutable`):(n?s+=1:r.reportInfo(z.UNUSED_CACHE_ENTRY,`${Ve(this.configuration,v.basename(l),"magenta")} appears to be unused - removing`),await T.removePromise(l)))}n&&s!==0&&r.reportInfo(z.UNUSED_CACHE_ENTRY,s>1?`${s} packages appeared to be unused and were removed`:`${o} appeared to be unused and was removed`),e.markedFiles.clear()}};function lUe({project:t,allDescriptors:e,allResolutions:r,allPackages:i,accessibleLocators:n=new Set,optionalBuilds:s=new Set,volatileDescriptors:o=new Set,peerRequirements:a=new Map,report:l,tolerateMissingPackages:c=!1}){var ne;let u=new Map,g=[],f=new Map,h=new Map,p=new Map,d=new Map,m=new Map,I=new Map(t.workspaces.map(q=>{let A=q.anchoredLocator.locatorHash,V=i.get(A);if(typeof V=="undefined"){if(c)return[A,null];throw new Error("Assertion failed: The workspace should have an associated package")}return[A,ap(V)]})),B=()=>{let q=T.mktempSync(),A=v.join(q,"stacktrace.log"),V=String(g.length+1).length,W=g.map((X,F)=>`${`${F+1}.`.padStart(V," ")} ${is(X)} +`).join("");throw T.writeFileSync(A,W),T.detachTemp(q),new nt(z.STACK_OVERFLOW_RESOLUTION,`Encountered a stack overflow when resolving peer dependencies; cf ${M.fromPortablePath(A)}`)},b=q=>{let A=r.get(q.descriptorHash);if(typeof A=="undefined")throw new Error("Assertion failed: The resolution should have been registered");let V=i.get(A);if(!V)throw new Error("Assertion failed: The package could not be found");return V},R=(q,A,V,{top:W,optional:X})=>{g.length>1e3&&B(),g.push(A);let F=H(q,A,V,{top:W,optional:X});return g.pop(),F},H=(q,A,V,{top:W,optional:X})=>{if(n.has(A.locatorHash))return;n.add(A.locatorHash),X||s.delete(A.locatorHash);let F=i.get(A.locatorHash);if(!F){if(c)return;throw new Error(`Assertion failed: The package (${lt(t.configuration,A)}) should have been registered`)}let D=[],he=[],pe=[],Ne=[],Pe=[];for(let re of Array.from(F.dependencies.values())){if(F.peerDependencies.has(re.identHash)&&F.locatorHash!==W)continue;if(hA(re))throw new Error("Assertion failed: Virtual packages shouldn't be encountered when virtualizing a branch");o.delete(re.descriptorHash);let se=X;if(!se){let ee=F.dependenciesMeta.get(St(re));if(typeof ee!="undefined"){let Ue=ee.get(null);typeof Ue!="undefined"&&Ue.optional&&(se=!0)}}let be=r.get(re.descriptorHash);if(!be){if(c)continue;throw new Error(`Assertion failed: The resolution (${Xt(t.configuration,re)}) should have been registered`)}let ae=I.get(be)||i.get(be);if(!ae)throw new Error(`Assertion failed: The package (${be}, resolved from ${Xt(t.configuration,re)}) should have been registered`);if(ae.peerDependencies.size===0){R(re,ae,new Map,{top:W,optional:se});continue}let Ae=u.get(ae.locatorHash);typeof Ae=="number"&&Ae>=2&&B();let De,$,G=new Set,Ce;he.push(()=>{De=kx(re,A.locatorHash),$=Px(ae,A.locatorHash),F.dependencies.delete(re.identHash),F.dependencies.set(De.identHash,De),r.set(De.descriptorHash,$.locatorHash),e.set(De.descriptorHash,De),i.set($.locatorHash,$),D.push([ae,De,$])}),pe.push(()=>{var ee;Ce=new Map;for(let Ue of $.peerDependencies.values()){let Oe=F.dependencies.get(Ue.identHash);if(!Oe&&cp(A,Ue)&&(Oe=q),(!Oe||Oe.range==="missing:")&&$.dependencies.has(Ue.identHash)){$.peerDependencies.delete(Ue.identHash);continue}Oe||(Oe=Yt(Ue,"missing:")),$.dependencies.set(Oe.identHash,Oe),hA(Oe)&&Pl(p,Oe.descriptorHash).add($.locatorHash),f.set(Oe.identHash,Oe),Oe.range==="missing:"&&G.add(Oe.identHash),Ce.set(Ue.identHash,(ee=V.get(Ue.identHash))!=null?ee:$.locatorHash)}$.dependencies=new Map(gn($.dependencies,([Ue,Oe])=>St(Oe)))}),Ne.push(()=>{if(!i.has($.locatorHash))return;let ee=u.get(ae.locatorHash),Ue=typeof ee!="undefined"?ee+1:1;u.set(ae.locatorHash,Ue),R(De,$,Ce,{top:W,optional:se}),u.set(ae.locatorHash,Ue-1)}),Pe.push(()=>{let ee=F.dependencies.get(re.identHash);if(typeof ee=="undefined")throw new Error("Assertion failed: Expected the peer dependency to have been turned into a dependency");let Ue=r.get(ee.descriptorHash);if(typeof Ue=="undefined")throw new Error("Assertion failed: Expected the descriptor to be registered");if(Pl(m,Ue).add(A.locatorHash),!!i.has($.locatorHash)){for(let Oe of $.peerDependencies.values()){let vt=Ce.get(Oe.identHash);if(typeof vt=="undefined")throw new Error("Assertion failed: Expected the peer dependency ident to be registered");hu(pu(d,vt),St(Oe)).push($.locatorHash)}for(let Oe of G)$.dependencies.delete(Oe)}})}for(let re of[...he,...pe])re();let qe;do{qe=!0;for(let[re,se,be]of D){if(!i.has(be.locatorHash))continue;let ae=pu(h,re.locatorHash),Ae=zi(...[...be.dependencies.values()].map(Ce=>{let ee=Ce.range!=="missing:"?r.get(Ce.descriptorHash):"missing:";if(typeof ee=="undefined")throw new Error(`Assertion failed: Expected the resolution for ${Xt(t.configuration,Ce)} to have been registered`);return ee===W?`${ee} (top)`:ee}),se.identHash),De=ae.get(Ae);if(typeof De=="undefined"){ae.set(Ae,se);continue}if(De===se)continue;qe=!1,i.delete(be.locatorHash),e.delete(se.descriptorHash),r.delete(se.descriptorHash),n.delete(be.locatorHash);let $=p.get(se.descriptorHash)||[],G=[F.locatorHash,...$];p.delete(se.descriptorHash);for(let Ce of G){let ee=i.get(Ce);typeof ee!="undefined"&&ee.dependencies.set(se.identHash,De)}}}while(!qe);for(let re of[...Ne,...Pe])re()};for(let q of t.workspaces){let A=q.anchoredLocator;o.delete(q.anchoredDescriptor.descriptorHash),R(q.anchoredDescriptor,A,new Map,{top:A.locatorHash,optional:!1})}var L;(function(V){V[V.NotProvided=0]="NotProvided",V[V.NotCompatible=1]="NotCompatible"})(L||(L={}));let K=[];for(let[q,A]of m){let V=i.get(q);if(typeof V=="undefined")throw new Error("Assertion failed: Expected the root to be registered");let W=d.get(q);if(typeof W!="undefined")for(let X of A){let F=i.get(X);if(typeof F!="undefined")for(let[D,he]of W){let pe=En(D);if(F.peerDependencies.has(pe.identHash))continue;let Ne=`p${zi(X,D,q).slice(0,5)}`;a.set(Ne,{subject:X,requested:pe,rootRequester:q,allRequesters:he});let Pe=V.dependencies.get(pe.identHash);if(typeof Pe!="undefined"){let qe=b(Pe),re=(ne=qe.version)!=null?ne:"0.0.0",se=new Set;for(let ae of he){let Ae=i.get(ae);if(typeof Ae=="undefined")throw new Error("Assertion failed: Expected the link to be registered");let De=Ae.peerDependencies.get(pe.identHash);if(typeof De=="undefined")throw new Error("Assertion failed: Expected the ident to be registered");se.add(De.range)}[...se].every(ae=>{if(ae.startsWith(Yr.protocol)){if(!t.tryWorkspaceByLocator(qe))return!1;ae=ae.slice(Yr.protocol.length),(ae==="^"||ae==="~")&&(ae="*")}return lc(re,ae)})||K.push({type:1,subject:F,requested:pe,requester:V,version:re,hash:Ne,requirementCount:he.length})}else{let qe=V.peerDependenciesMeta.get(D);(qe==null?void 0:qe.optional)||K.push({type:0,subject:F,requested:pe,requester:V,hash:Ne})}}}}let J=[q=>Rx(q.subject),q=>St(q.requested),q=>`${q.type}`];for(let q of gn(K,J))switch(q.type){case 0:l==null||l.reportWarning(z.MISSING_PEER_DEPENDENCY,`${lt(t.configuration,q.subject)} doesn't provide ${Vr(t.configuration,q.requested)} (${Ve(t.configuration,q.hash,Le.CODE)}), requested by ${Vr(t.configuration,q.requester)}`);break;case 1:{let A=q.requirementCount>1?"and some of its descendants request":"requests";l==null||l.reportWarning(z.INCOMPATIBLE_PEER_DEPENDENCY,`${lt(t.configuration,q.subject)} provides ${Vr(t.configuration,q.requested)} (${Ve(t.configuration,q.hash,Le.CODE)}) with version ${fp(t.configuration,q.version)}, which doesn't satisfy what ${Vr(t.configuration,q.requester)} ${A}`)}break}K.length>0&&(l==null||l.reportWarning(z.UNNAMED,`Some peer dependencies are incorrectly met; run ${Ve(t.configuration,"yarn explain peer-requirements ",Le.CODE)} for details, where ${Ve(t.configuration,"",Le.CODE)} is the six-letter p-prefixed code`))}var Po;(function(l){l.VERSION="version",l.COMMAND_NAME="commandName",l.PLUGIN_NAME="pluginName",l.INSTALL_COUNT="installCount",l.PROJECT_COUNT="projectCount",l.WORKSPACE_COUNT="workspaceCount",l.DEPENDENCY_COUNT="dependencyCount",l.EXTENSION="packageExtension"})(Po||(Po={}));var Rd=class{constructor(e,r){this.values=new Map;this.hits=new Map;this.enumerators=new Map;this.configuration=e;let i=this.getRegistryPath();this.isNew=!T.existsSync(i),this.sendReport(r),this.startBuffer()}reportVersion(e){this.reportValue(Po.VERSION,e.replace(/-git\..*/,"-git"))}reportCommandName(e){this.reportValue(Po.COMMAND_NAME,e||"")}reportPluginName(e){this.reportValue(Po.PLUGIN_NAME,e)}reportProject(e){this.reportEnumerator(Po.PROJECT_COUNT,e)}reportInstall(e){this.reportHit(Po.INSTALL_COUNT,e)}reportPackageExtension(e){this.reportValue(Po.EXTENSION,e)}reportWorkspaceCount(e){this.reportValue(Po.WORKSPACE_COUNT,String(e))}reportDependencyCount(e){this.reportValue(Po.DEPENDENCY_COUNT,String(e))}reportValue(e,r){Pl(this.values,e).add(r)}reportEnumerator(e,r){Pl(this.enumerators,e).add(zi(r))}reportHit(e,r="*"){let i=pu(this.hits,e),n=na(i,r,()=>0);i.set(r,n+1)}getRegistryPath(){let e=this.configuration.get("globalFolder");return v.join(e,"telemetry.json")}sendReport(e){var u,g,f;let r=this.getRegistryPath(),i;try{i=T.readJsonSync(r)}catch{i={}}let n=Date.now(),s=this.configuration.get("telemetryInterval")*24*60*60*1e3,a=((u=i.lastUpdate)!=null?u:n+s+Math.floor(s*Math.random()))+s;if(a>n&&i.lastUpdate!=null)return;try{T.mkdirSync(v.dirname(r),{recursive:!0}),T.writeJsonSync(r,{lastUpdate:n})}catch{return}if(a>n||!i.blocks)return;let l=`https://browser-http-intake.logs.datadoghq.eu/v1/input/${e}?ddsource=yarn`,c=h=>iP(l,h,{configuration:this.configuration}).catch(()=>{});for(let[h,p]of Object.entries((g=i.blocks)!=null?g:{})){if(Object.keys(p).length===0)continue;let d=p;d.userId=h,d.reportType="primary";for(let B of Object.keys((f=d.enumerators)!=null?f:{}))d.enumerators[B]=d.enumerators[B].length;c(d);let m=new Map,I=20;for(let[B,b]of Object.entries(d.values))b.length>0&&m.set(B,b.slice(0,I));for(;m.size>0;){let B={};B.userId=h,B.reportType="secondary",B.metrics={};for(let[b,R]of m)B.metrics[b]=R.shift(),R.length===0&&m.delete(b);c(B)}}}applyChanges(){var o,a,l,c,u,g,f,h,p;let e=this.getRegistryPath(),r;try{r=T.readJsonSync(e)}catch{r={}}let i=(o=this.configuration.get("telemetryUserId"))!=null?o:"*",n=r.blocks=(a=r.blocks)!=null?a:{},s=n[i]=(l=n[i])!=null?l:{};for(let d of this.hits.keys()){let m=s.hits=(c=s.hits)!=null?c:{},I=m[d]=(u=m[d])!=null?u:{};for(let[B,b]of this.hits.get(d))I[B]=((g=I[B])!=null?g:0)+b}for(let d of["values","enumerators"])for(let m of this[d].keys()){let I=s[d]=(f=s[d])!=null?f:{};I[m]=[...new Set([...(h=I[m])!=null?h:[],...(p=this[d].get(m))!=null?p:[]])]}T.mkdirSync(v.dirname(e),{recursive:!0}),T.writeJsonSync(e,r)}startBuffer(){process.on("exit",()=>{try{this.applyChanges()}catch{}})}};var fF=ie(require("child_process")),R$=ie(ml());var hF=ie(require("fs"));var Yg=new Map([["constraints",[["constraints","query"],["constraints","source"],["constraints"]]],["exec",[]],["interactive-tools",[["search"],["upgrade-interactive"]]],["stage",[["stage"]]],["typescript",[]],["version",[["version","apply"],["version","check"],["version"]]],["workspace-tools",[["workspaces","focus"],["workspaces","foreach"]]]]);function cUe(t){let e=M.fromPortablePath(t);process.on("SIGINT",()=>{}),e?(0,fF.execFileSync)(process.execPath,[e,...process.argv.slice(2)],{stdio:"inherit",env:_(P({},process.env),{YARN_IGNORE_PATH:"1",YARN_IGNORE_CWD:"1"})}):(0,fF.execFileSync)(e,process.argv.slice(2),{stdio:"inherit",env:_(P({},process.env),{YARN_IGNORE_PATH:"1",YARN_IGNORE_CWD:"1"})})}async function i0({binaryVersion:t,pluginConfiguration:e}){async function r(){let n=new oo({binaryLabel:"Yarn Package Manager",binaryName:"yarn",binaryVersion:t});try{await i(n)}catch(s){process.stdout.write(n.error(s)),process.exitCode=1}}async function i(n){var p,d,m,I,B;let s=process.versions.node,o=">=12 <14 || 14.2 - 14.9 || >14.10.0";if(process.env.YARN_IGNORE_NODE!=="1"&&!qt.satisfiesWithPrereleases(s,o))throw new me(`This tool requires a Node version compatible with ${o} (got ${s}). Upgrade Node, or set \`YARN_IGNORE_NODE=1\` in your environment.`);let a=await fe.find(M.toPortablePath(process.cwd()),e,{usePath:!0,strict:!1}),l=a.get("yarnPath"),c=a.get("ignorePath"),u=a.get("ignoreCwd"),g=M.toPortablePath(M.resolve(process.argv[1])),f=b=>T.readFilePromise(b).catch(()=>Buffer.of());if(!c&&!u&&await(async()=>l===g||Buffer.compare(...await Promise.all([f(l),f(g)]))===0)()){process.env.YARN_IGNORE_PATH="1",process.env.YARN_IGNORE_CWD="1",await i(n);return}else if(l!==null&&!c)if(!T.existsSync(l))process.stdout.write(n.error(new Error(`The "yarn-path" option has been set (in ${a.sources.get("yarnPath")}), but the specified location doesn't exist (${l}).`))),process.exitCode=1;else try{cUe(l)}catch(b){process.exitCode=b.code||1}else{c&&delete process.env.YARN_IGNORE_PATH,a.get("enableTelemetry")&&!R$.isCI&&process.stdout.isTTY&&(fe.telemetry=new Rd(a,"puba9cdc10ec5790a2cf4969dd413a47270")),(p=fe.telemetry)==null||p.reportVersion(t);for(let[L,K]of a.plugins.entries()){Yg.has((m=(d=L.match(/^@yarnpkg\/plugin-(.*)$/))==null?void 0:d[1])!=null?m:"")&&((I=fe.telemetry)==null||I.reportPluginName(L));for(let J of K.commands||[])n.register(J)}let R=n.process(process.argv.slice(2));R.help||(B=fe.telemetry)==null||B.reportCommandName(R.path.join(" "));let H=R.cwd;if(typeof H!="undefined"&&!u){let L=(0,hF.realpathSync)(process.cwd()),K=(0,hF.realpathSync)(H);if(L!==K){process.chdir(H),await r();return}}await n.runExit(R,{cwd:M.toPortablePath(process.cwd()),plugins:e,quiet:!1,stdin:process.stdin,stdout:process.stdout,stderr:process.stderr})}}return r().catch(n=>{process.stdout.write(n.stack||n.message),process.exitCode=1}).finally(()=>T.rmtempPromise())}function F$(t){t.Command.Path=(...e)=>r=>{r.paths=r.paths||[],r.paths.push(e)};for(let e of["Array","Boolean","String","Proxy","Rest","Counter"])t.Command[e]=(...r)=>(i,n)=>{let s=t.Option[e](...r);Object.defineProperty(i,`__${n}`,{configurable:!1,enumerable:!0,get(){return s},set(o){this[n]=o}})};return t}var iC={};it(iC,{BaseCommand:()=>Be,WorkspaceRequiredError:()=>rt,getDynamicLibs:()=>Wie,getPluginConfiguration:()=>F0,main:()=>i0,openWorkspace:()=>rf,pluginCommands:()=>Yg});var Be=class extends ye{constructor(){super(...arguments);this.cwd=Y.String("--cwd",{hidden:!0})}};var rt=class extends me{constructor(e,r){let i=v.relative(e,r),n=v.join(e,Ze.fileName);super(`This command can only be run from within a workspace of your project (${i} isn't a workspace of ${n}).`)}};var dJe=ie(Or());Ss();var CJe=ie(gN()),Wie=()=>new Map([["@yarnpkg/cli",iC],["@yarnpkg/core",Fd],["@yarnpkg/fslib",ch],["@yarnpkg/libzip",Fp],["@yarnpkg/parsers",Hp],["@yarnpkg/shell",jp],["clipanion",vh],["semver",dJe],["typanion",lu],["yup",CJe]]);async function rf(t,e){let{project:r,workspace:i}=await Ke.find(t,e);if(!i)throw new rt(r.cwd,e);return i}var x_e=ie(Or());Ss();var k_e=ie(gN());var hL={};it(hL,{dedupeUtils:()=>zN,default:()=>Qze,suggestUtils:()=>LN});var WAe=ie(ml());var roe=ie(aC());Ss();var LN={};it(LN,{Modifier:()=>Lo,Strategy:()=>Fr,Target:()=>vr,WorkspaceModifier:()=>af,applyModifier:()=>Zse,extractDescriptorFromPath:()=>ON,extractRangeModifier:()=>Xse,fetchDescriptorFrom:()=>MN,findProjectDescriptors:()=>toe,getModifier:()=>AC,getSuggestedDescriptors:()=>lC,makeWorkspaceDescriptor:()=>eoe,toWorkspaceModifier:()=>$se});var TN=ie(Or()),L3e="workspace:",vr;(function(i){i.REGULAR="dependencies",i.DEVELOPMENT="devDependencies",i.PEER="peerDependencies"})(vr||(vr={}));var Lo;(function(i){i.CARET="^",i.TILDE="~",i.EXACT=""})(Lo||(Lo={}));var af;(function(i){i.CARET="^",i.TILDE="~",i.EXACT="*"})(af||(af={}));var Fr;(function(s){s.KEEP="keep",s.REUSE="reuse",s.PROJECT="project",s.LATEST="latest",s.CACHE="cache"})(Fr||(Fr={}));function AC(t,e){return t.exact?Lo.EXACT:t.caret?Lo.CARET:t.tilde?Lo.TILDE:e.configuration.get("defaultSemverRangePrefix")}var T3e=/^([\^~]?)[0-9]+(?:\.[0-9]+){0,2}(?:-\S+)?$/;function Xse(t,{project:e}){let r=t.match(T3e);return r?r[1]:e.configuration.get("defaultSemverRangePrefix")}function Zse(t,e){let{protocol:r,source:i,params:n,selector:s}=S.parseRange(t.range);return TN.default.valid(s)&&(s=`${e}${t.range}`),S.makeDescriptor(t,S.makeRange({protocol:r,source:i,params:n,selector:s}))}function $se(t){switch(t){case Lo.CARET:return af.CARET;case Lo.TILDE:return af.TILDE;case Lo.EXACT:return af.EXACT;default:throw new Error(`Assertion failed: Unknown modifier: "${t}"`)}}function eoe(t,e){return S.makeDescriptor(t.anchoredDescriptor,`${L3e}${$se(e)}`)}async function toe(t,{project:e,target:r}){let i=new Map,n=s=>{let o=i.get(s.descriptorHash);return o||i.set(s.descriptorHash,o={descriptor:s,locators:[]}),o};for(let s of e.workspaces)if(r===vr.PEER){let o=s.manifest.peerDependencies.get(t.identHash);o!==void 0&&n(o).locators.push(s.locator)}else{let o=s.manifest.dependencies.get(t.identHash),a=s.manifest.devDependencies.get(t.identHash);r===vr.DEVELOPMENT?a!==void 0?n(a).locators.push(s.locator):o!==void 0&&n(o).locators.push(s.locator):o!==void 0?n(o).locators.push(s.locator):a!==void 0&&n(a).locators.push(s.locator)}return i}async function ON(t,{cwd:e,workspace:r}){return await M3e(async i=>{v.isAbsolute(t)||(t=v.relative(r.cwd,v.resolve(e,t)),t.match(/^\.{0,2}\//)||(t=`./${t}`));let{project:n}=r,s=await MN(S.makeIdent(null,"archive"),t,{project:r.project,cache:i,workspace:r});if(!s)throw new Error("Assertion failed: The descriptor should have been found");let o=new ei,a=n.configuration.makeResolver(),l=n.configuration.makeFetcher(),c={checksums:n.storedChecksums,project:n,cache:i,fetcher:l,report:o,resolver:a},u=a.bindDescriptor(s,r.anchoredLocator,c),g=S.convertDescriptorToLocator(u),f=await l.fetch(g,c),h=await Ze.find(f.prefixPath,{baseFs:f.packageFs});if(!h.name)throw new Error("Target path doesn't have a name");return S.makeDescriptor(h.name,t)})}async function lC(t,{project:e,workspace:r,cache:i,target:n,modifier:s,strategies:o,maxResults:a=Infinity}){if(!(a>=0))throw new Error(`Invalid maxResults (${a})`);if(t.range!=="unknown")return{suggestions:[{descriptor:t,name:`Use ${S.prettyDescriptor(e.configuration,t)}`,reason:"(unambiguous explicit request)"}],rejections:[]};let l=typeof r!="undefined"&&r!==null&&r.manifest[n].get(t.identHash)||null,c=[],u=[],g=async f=>{try{await f()}catch(h){u.push(h)}};for(let f of o){if(c.length>=a)break;switch(f){case Fr.KEEP:await g(async()=>{l&&c.push({descriptor:l,name:`Keep ${S.prettyDescriptor(e.configuration,l)}`,reason:"(no changes)"})});break;case Fr.REUSE:await g(async()=>{for(let{descriptor:h,locators:p}of(await toe(t,{project:e,target:n})).values()){if(p.length===1&&p[0].locatorHash===r.anchoredLocator.locatorHash&&o.includes(Fr.KEEP))continue;let d=`(originally used by ${S.prettyLocator(e.configuration,p[0])}`;d+=p.length>1?` and ${p.length-1} other${p.length>2?"s":""})`:")",c.push({descriptor:h,name:`Reuse ${S.prettyDescriptor(e.configuration,h)}`,reason:d})}});break;case Fr.CACHE:await g(async()=>{for(let h of e.storedDescriptors.values())h.identHash===t.identHash&&c.push({descriptor:h,name:`Reuse ${S.prettyDescriptor(e.configuration,h)}`,reason:"(already used somewhere in the lockfile)"})});break;case Fr.PROJECT:await g(async()=>{if(r.manifest.name!==null&&t.identHash===r.manifest.name.identHash)return;let h=e.tryWorkspaceByIdent(t);if(h===null)return;let p=eoe(h,s);c.push({descriptor:p,name:`Attach ${S.prettyDescriptor(e.configuration,p)}`,reason:`(local workspace at ${ue.pretty(e.configuration,h.relativeCwd,ue.Type.PATH)})`})});break;case Fr.LATEST:await g(async()=>{if(t.range!=="unknown")c.push({descriptor:t,name:`Use ${S.prettyRange(e.configuration,t.range)}`,reason:"(explicit range requested)"});else if(n===vr.PEER)c.push({descriptor:S.makeDescriptor(t,"*"),name:"Use *",reason:"(catch-all peer dependency pattern)"});else if(!e.configuration.get("enableNetwork"))c.push({descriptor:null,name:"Resolve from latest",reason:ue.pretty(e.configuration,"(unavailable because enableNetwork is toggled off)","grey")});else{let h=await MN(t,"latest",{project:e,cache:i,workspace:r,preserveModifier:!1});h&&(h=Zse(h,s),c.push({descriptor:h,name:`Use ${S.prettyDescriptor(e.configuration,h)}`,reason:"(resolved from latest)"}))}});break}}return{suggestions:c.slice(0,a),rejections:u.slice(0,a)}}async function MN(t,e,{project:r,cache:i,workspace:n,preserveModifier:s=!0}){let o=S.makeDescriptor(t,e),a=new ei,l=r.configuration.makeFetcher(),c=r.configuration.makeResolver(),u={project:r,fetcher:l,cache:i,checksums:r.storedChecksums,report:a,cacheOptions:{skipIntegrityCheck:!0},skipIntegrityCheck:!0},g=_(P({},u),{resolver:c,fetchOptions:u}),f=c.bindDescriptor(o,n.anchoredLocator,g),h=await c.getCandidates(f,new Map,g);if(h.length===0)return null;let p=h[0],{protocol:d,source:m,params:I,selector:B}=S.parseRange(S.convertToManifestRange(p.reference));if(d===r.configuration.get("defaultProtocol")&&(d=null),TN.default.valid(B)&&s!==!1){let b=typeof s=="string"?s:o.range;B=Xse(b,{project:r})+B}return S.makeDescriptor(p,S.makeRange({protocol:d,source:m,params:I,selector:B}))}async function M3e(t){return await T.mktempPromise(async e=>{let r=fe.create(e);return r.useWithSource(e,{enableMirror:!1,compressionLevel:0},e,{overwrite:!0}),await t(new Qt(e,{configuration:r,check:!1,immutable:!1}))})}var cC=class extends Be{constructor(){super(...arguments);this.json=Y.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.exact=Y.Boolean("-E,--exact",!1,{description:"Don't use any semver modifier on the resolved range"});this.tilde=Y.Boolean("-T,--tilde",!1,{description:"Use the `~` semver modifier on the resolved range"});this.caret=Y.Boolean("-C,--caret",!1,{description:"Use the `^` semver modifier on the resolved range"});this.dev=Y.Boolean("-D,--dev",!1,{description:"Add a package as a dev dependency"});this.peer=Y.Boolean("-P,--peer",!1,{description:"Add a package as a peer dependency"});this.optional=Y.Boolean("-O,--optional",!1,{description:"Add / upgrade a package to an optional regular / peer dependency"});this.preferDev=Y.Boolean("--prefer-dev",!1,{description:"Add / upgrade a package to a dev dependency"});this.interactive=Y.Boolean("-i,--interactive",{description:"Reuse the specified package from other workspaces in the project"});this.cached=Y.Boolean("--cached",!1,{description:"Reuse the highest version already used somewhere within the project"});this.mode=Y.String("--mode",{description:"Change what artifacts installs generate",validator:Yi(li)});this.silent=Y.Boolean("--silent",{hidden:!0});this.packages=Y.Rest()}async execute(){var d;let e=await fe.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Ke.find(e,this.context.cwd),n=await Qt.find(e);if(!i)throw new rt(r.cwd,this.context.cwd);await r.restoreInstallState({restoreResolutions:!1});let s=(d=this.interactive)!=null?d:e.get("preferInteractive"),o=AC(this,r),a=[...s?[Fr.REUSE]:[],Fr.PROJECT,...this.cached?[Fr.CACHE]:[],Fr.LATEST],l=s?Infinity:1,c=await Promise.all(this.packages.map(async m=>{let I=m.match(/^\.{0,2}\//)?await ON(m,{cwd:this.context.cwd,workspace:i}):S.parseDescriptor(m),B=O3e(i,I,{dev:this.dev,peer:this.peer,preferDev:this.preferDev,optional:this.optional}),b=await lC(I,{project:r,workspace:i,cache:n,target:B,modifier:o,strategies:a,maxResults:l});return[I,b,B]})),u=await Fa.start({configuration:e,stdout:this.context.stdout,suggestInstall:!1},async m=>{for(let[I,{suggestions:B,rejections:b}]of c)if(B.filter(H=>H.descriptor!==null).length===0){let[H]=b;if(typeof H=="undefined")throw new Error("Assertion failed: Expected an error to have been set");r.configuration.get("enableNetwork")?m.reportError(z.CANT_SUGGEST_RESOLUTIONS,`${S.prettyDescriptor(e,I)} can't be resolved to a satisfying range`):m.reportError(z.CANT_SUGGEST_RESOLUTIONS,`${S.prettyDescriptor(e,I)} can't be resolved to a satisfying range (note: network resolution has been disabled)`),m.reportSeparator(),m.reportExceptionOnce(H)}});if(u.hasErrors())return u.exitCode();let g=!1,f=[],h=[];for(let[,{suggestions:m},I]of c){let B,b=m.filter(K=>K.descriptor!==null),R=b[0].descriptor,H=b.every(K=>S.areDescriptorsEqual(K.descriptor,R));b.length===1||H?B=R:(g=!0,{answer:B}=await(0,roe.prompt)({type:"select",name:"answer",message:"Which range do you want to use?",choices:m.map(({descriptor:K,name:J,reason:ne})=>K?{name:J,hint:ne,descriptor:K}:{name:J,hint:ne,disabled:!0}),onCancel:()=>process.exit(130),result(K){return this.find(K,"descriptor")},stdin:this.context.stdin,stdout:this.context.stdout}));let L=i.manifest[I].get(B.identHash);(typeof L=="undefined"||L.descriptorHash!==B.descriptorHash)&&(i.manifest[I].set(B.identHash,B),this.optional&&(I==="dependencies"?i.manifest.ensureDependencyMeta(_(P({},B),{range:"unknown"})).optional=!0:I==="peerDependencies"&&(i.manifest.ensurePeerDependencyMeta(_(P({},B),{range:"unknown"})).optional=!0)),typeof L=="undefined"?f.push([i,I,B,a]):h.push([i,I,L,B]))}return await e.triggerMultipleHooks(m=>m.afterWorkspaceDependencyAddition,f),await e.triggerMultipleHooks(m=>m.afterWorkspaceDependencyReplacement,h),g&&this.context.stdout.write(` +`),(await Fe.start({configuration:e,json:this.json,stdout:this.context.stdout,includeLogs:!this.context.quiet},async m=>{await r.install({cache:n,report:m,mode:this.mode})})).exitCode()}};cC.paths=[["add"]],cC.usage=ye.Usage({description:"add dependencies to the project",details:"\n This command adds a package to the package.json for the nearest workspace.\n\n - If it didn't exist before, the package will by default be added to the regular `dependencies` field, but this behavior can be overriden thanks to the `-D,--dev` flag (which will cause the dependency to be added to the `devDependencies` field instead) and the `-P,--peer` flag (which will do the same but for `peerDependencies`).\n\n - If the package was already listed in your dependencies, it will by default be upgraded whether it's part of your `dependencies` or `devDependencies` (it won't ever update `peerDependencies`, though).\n\n - If set, the `--prefer-dev` flag will operate as a more flexible `-D,--dev` in that it will add the package to your `devDependencies` if it isn't already listed in either `dependencies` or `devDependencies`, but it will also happily upgrade your `dependencies` if that's what you already use (whereas `-D,--dev` would throw an exception).\n\n - If set, the `-O,--optional` flag will add the package to the `optionalDependencies` field and, in combination with the `-P,--peer` flag, it will add the package as an optional peer dependency. If the package was already listed in your `dependencies`, it will be upgraded to `optionalDependencies`. If the package was already listed in your `peerDependencies`, in combination with the `-P,--peer` flag, it will be upgraded to an optional peer dependency: `\"peerDependenciesMeta\": { \"\": { \"optional\": true } }`\n\n - If the added package doesn't specify a range at all its `latest` tag will be resolved and the returned version will be used to generate a new semver range (using the `^` modifier by default unless otherwise configured via the `defaultSemverRangePrefix` configuration, or the `~` modifier if `-T,--tilde` is specified, or no modifier at all if `-E,--exact` is specified). Two exceptions to this rule: the first one is that if the package is a workspace then its local version will be used, and the second one is that if you use `-P,--peer` the default range will be `*` and won't be resolved at all.\n\n - If the added package specifies a range (such as `^1.0.0`, `latest`, or `rc`), Yarn will add this range as-is in the resulting package.json entry (in particular, tags such as `rc` will be encoded as-is rather than being converted into a semver range).\n\n If the `--cached` option is used, Yarn will preferably reuse the highest version already used somewhere within the project, even if through a transitive dependency.\n\n If the `-i,--interactive` option is used (or if the `preferInteractive` settings is toggled on) the command will first try to check whether other workspaces in the project use the specified package and, if so, will offer to reuse them.\n\n If the `--mode=` option is set, Yarn will change which artifacts are generated. The modes currently supported are:\n\n - `skip-build` will not run the build scripts at all. Note that this is different from setting `enableScripts` to false because the later will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run.\n\n - `update-lockfile` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost.\n\n For a compilation of all the supported protocols, please consult the dedicated page from our website: https://yarnpkg.com/features/protocols.\n ",examples:[["Add a regular package to the current workspace","$0 add lodash"],["Add a specific version for a package to the current workspace","$0 add lodash@1.2.3"],["Add a package from a GitHub repository (the master branch) to the current workspace using a URL","$0 add lodash@https://github.com/lodash/lodash"],["Add a package from a GitHub repository (the master branch) to the current workspace using the GitHub protocol","$0 add lodash@github:lodash/lodash"],["Add a package from a GitHub repository (the master branch) to the current workspace using the GitHub protocol (shorthand)","$0 add lodash@lodash/lodash"],["Add a package from a specific branch of a GitHub repository to the current workspace using the GitHub protocol (shorthand)","$0 add lodash-es@lodash/lodash#es"]]});var ioe=cC;function O3e(t,e,{dev:r,peer:i,preferDev:n,optional:s}){let o=t.manifest[vr.REGULAR].has(e.identHash),a=t.manifest[vr.DEVELOPMENT].has(e.identHash),l=t.manifest[vr.PEER].has(e.identHash);if((r||i)&&o)throw new me(`Package "${S.prettyIdent(t.project.configuration,e)}" is already listed as a regular dependency - remove the -D,-P flags or remove it from your dependencies first`);if(!r&&!i&&l)throw new me(`Package "${S.prettyIdent(t.project.configuration,e)}" is already listed as a peer dependency - use either of -D or -P, or remove it from your peer dependencies first`);if(s&&a)throw new me(`Package "${S.prettyIdent(t.project.configuration,e)}" is already listed as a dev dependency - remove the -O flag or remove it from your dev dependencies first`);if(s&&!i&&l)throw new me(`Package "${S.prettyIdent(t.project.configuration,e)}" is already listed as a peer dependency - remove the -O flag or add the -P flag or remove it from your peer dependencies first`);if((r||n)&&s)throw new me(`Package "${S.prettyIdent(t.project.configuration,e)}" cannot simultaneously be a dev dependency and an optional dependency`);return i?vr.PEER:r||n?vr.DEVELOPMENT:o?vr.REGULAR:a?vr.DEVELOPMENT:vr.REGULAR}var uC=class extends Be{constructor(){super(...arguments);this.verbose=Y.Boolean("-v,--verbose",!1,{description:"Print both the binary name and the locator of the package that provides the binary"});this.json=Y.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.name=Y.String({required:!1})}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins),{project:r,locator:i}=await Ke.find(e,this.context.cwd);if(await r.restoreInstallState(),this.name){let o=(await Kt.getPackageAccessibleBinaries(i,{project:r})).get(this.name);if(!o)throw new me(`Couldn't find a binary named "${this.name}" for package "${S.prettyLocator(e,i)}"`);let[,a]=o;return this.context.stdout.write(`${a} +`),0}return(await Fe.start({configuration:e,json:this.json,stdout:this.context.stdout},async s=>{let o=await Kt.getPackageAccessibleBinaries(i,{project:r}),l=Array.from(o.keys()).reduce((c,u)=>Math.max(c,u.length),0);for(let[c,[u,g]]of o)s.reportJson({name:c,source:S.stringifyIdent(u),path:g});if(this.verbose)for(let[c,[u]]of o)s.reportInfo(null,`${c.padEnd(l," ")} ${S.prettyLocator(e,u)}`);else for(let c of o.keys())s.reportInfo(null,c)})).exitCode()}};uC.paths=[["bin"]],uC.usage=ye.Usage({description:"get the path to a binary script",details:` + When used without arguments, this command will print the list of all the binaries available in the current workspace. Adding the \`-v,--verbose\` flag will cause the output to contain both the binary name and the locator of the package that provides the binary. + + When an argument is specified, this command will just print the path to the binary on the standard output and exit. Note that the reported path may be stored within a zip archive. + `,examples:[["List all the available binaries","$0 bin"],["Print the path to a specific binary","$0 bin eslint"]]});var noe=uC;var gC=class extends Be{constructor(){super(...arguments);this.mirror=Y.Boolean("--mirror",!1,{description:"Remove the global cache files instead of the local cache files"});this.all=Y.Boolean("--all",!1,{description:"Remove both the global cache files and the local cache files of the current project"})}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins),r=await Qt.find(e);return(await Fe.start({configuration:e,stdout:this.context.stdout},async()=>{let n=(this.all||this.mirror)&&r.mirrorCwd!==null,s=!this.mirror;n&&(await T.removePromise(r.mirrorCwd),await e.triggerHook(o=>o.cleanGlobalArtifacts,e)),s&&await T.removePromise(r.cwd)})).exitCode()}};gC.paths=[["cache","clean"],["cache","clear"]],gC.usage=ye.Usage({description:"remove the shared cache files",details:` + This command will remove all the files from the cache. + `,examples:[["Remove all the local archives","$0 cache clean"],["Remove all the archives stored in the ~/.yarn directory","$0 cache clean --mirror"]]});var soe=gC;var ooe=ie(p0()),KN=ie(require("util")),fC=class extends Be{constructor(){super(...arguments);this.json=Y.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.unsafe=Y.Boolean("--no-redacted",!1,{description:"Don't redact secrets (such as tokens) from the output"});this.name=Y.String()}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins),r=this.name.replace(/[.[].*$/,""),i=this.name.replace(/^[^.[]*/,"");if(typeof e.settings.get(r)=="undefined")throw new me(`Couldn't find a configuration settings named "${r}"`);let s=e.getSpecial(r,{hideSecrets:!this.unsafe,getNativePaths:!0}),o=de.convertMapsToIndexableObjects(s),a=i?(0,ooe.default)(o,i):o,l=await Fe.start({configuration:e,includeFooter:!1,json:this.json,stdout:this.context.stdout},async c=>{c.reportJson(a)});if(!this.json){if(typeof a=="string")return this.context.stdout.write(`${a} +`),l.exitCode();KN.inspect.styles.name="cyan",this.context.stdout.write(`${(0,KN.inspect)(a,{depth:Infinity,colors:e.get("enableColors"),compact:!1})} +`)}return l.exitCode()}};fC.paths=[["config","get"]],fC.usage=ye.Usage({description:"read a configuration settings",details:` + This command will print a configuration setting. + + Secrets (such as tokens) will be redacted from the output by default. If this behavior isn't desired, set the \`--no-redacted\` to get the untransformed value. + `,examples:[["Print a simple configuration setting","yarn config get yarnPath"],["Print a complex configuration setting","yarn config get packageExtensions"],["Print a nested field from the configuration",`yarn config get 'npmScopes["my-company"].npmRegistryServer'`],["Print a token from the configuration","yarn config get npmAuthToken --no-redacted"],["Print a configuration setting as JSON","yarn config get packageExtensions --json"]]});var aoe=fC;var Eae=ie(qN()),Iae=ie(p0()),yae=ie(mae()),JN=ie(require("util")),pC=class extends Be{constructor(){super(...arguments);this.json=Y.Boolean("--json",!1,{description:"Set complex configuration settings to JSON values"});this.home=Y.Boolean("-H,--home",!1,{description:"Update the home configuration instead of the project configuration"});this.name=Y.String();this.value=Y.String()}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins),r=()=>{if(!e.projectCwd)throw new me("This command must be run from within a project folder");return e.projectCwd},i=this.name.replace(/[.[].*$/,""),n=this.name.replace(/^[^.[]*\.?/,"");if(typeof e.settings.get(i)=="undefined")throw new me(`Couldn't find a configuration settings named "${i}"`);if(i==="enableStrictSettings")throw new me("This setting only affects the file it's in, and thus cannot be set from the CLI");let o=this.json?JSON.parse(this.value):this.value;await(this.home?h=>fe.updateHomeConfiguration(h):h=>fe.updateConfiguration(r(),h))(h=>{if(n){let p=(0,Eae.default)(h);return(0,yae.default)(p,this.name,o),p}else return _(P({},h),{[i]:o})});let c=(await fe.find(this.context.cwd,this.context.plugins)).getSpecial(i,{hideSecrets:!0,getNativePaths:!0}),u=de.convertMapsToIndexableObjects(c),g=n?(0,Iae.default)(u,n):u;return(await Fe.start({configuration:e,includeFooter:!1,stdout:this.context.stdout},async h=>{JN.inspect.styles.name="cyan",h.reportInfo(z.UNNAMED,`Successfully set ${this.name} to ${(0,JN.inspect)(g,{depth:Infinity,colors:e.get("enableColors"),compact:!1})}`)})).exitCode()}};pC.paths=[["config","set"]],pC.usage=ye.Usage({description:"change a configuration settings",details:` + This command will set a configuration setting. + + When used without the \`--json\` flag, it can only set a simple configuration setting (a string, a number, or a boolean). + + When used with the \`--json\` flag, it can set both simple and complex configuration settings, including Arrays and Objects. + `,examples:[["Set a simple configuration setting (a string, a number, or a boolean)","yarn config set initScope myScope"],["Set a simple configuration setting (a string, a number, or a boolean) using the `--json` flag",'yarn config set initScope --json \\"myScope\\"'],["Set a complex configuration setting (an Array) using the `--json` flag",`yarn config set unsafeHttpWhitelist --json '["*.example.com", "example.com"]'`],["Set a complex configuration setting (an Object) using the `--json` flag",`yarn config set packageExtensions --json '{ "@babel/parser@*": { "dependencies": { "@babel/types": "*" } } }'`],["Set a nested configuration setting",'yarn config set npmScopes.company.npmRegistryServer "https://npm.example.com"'],["Set a nested configuration setting using indexed access for non-simple keys",`yarn config set 'npmRegistries["//npm.example.com"].npmAuthToken' "ffffffff-ffff-ffff-ffff-ffffffffffff"`]]});var wae=pC;var Dae=ie(qN()),Rae=ie(Ld()),Fae=ie(Pae()),dC=class extends Be{constructor(){super(...arguments);this.home=Y.Boolean("-H,--home",!1,{description:"Update the home configuration instead of the project configuration"});this.name=Y.String()}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins),r=()=>{if(!e.projectCwd)throw new me("This command must be run from within a project folder");return e.projectCwd},i=this.name.replace(/[.[].*$/,""),n=this.name.replace(/^[^.[]*\.?/,"");if(typeof e.settings.get(i)=="undefined")throw new me(`Couldn't find a configuration settings named "${i}"`);let o=this.home?l=>fe.updateHomeConfiguration(l):l=>fe.updateConfiguration(r(),l);return(await Fe.start({configuration:e,includeFooter:!1,stdout:this.context.stdout},async l=>{let c=!1;await o(u=>{if(!(0,Rae.default)(u,this.name))return l.reportWarning(z.UNNAMED,`Configuration doesn't contain setting ${this.name}; there is nothing to unset`),c=!0,u;let g=n?(0,Dae.default)(u):P({},u);return(0,Fae.default)(g,this.name),g}),c||l.reportInfo(z.UNNAMED,`Successfully unset ${this.name}`)})).exitCode()}};dC.paths=[["config","unset"]],dC.usage=ye.Usage({description:"unset a configuration setting",details:` + This command will unset a configuration setting. + `,examples:[["Unset a simple configuration setting","yarn config unset initScope"],["Unset a complex configuration setting","yarn config unset packageExtensions"],["Unset a nested configuration setting","yarn config unset npmScopes.company.npmRegistryServer"]]});var Nae=dC;var WN=ie(require("util")),CC=class extends Be{constructor(){super(...arguments);this.verbose=Y.Boolean("-v,--verbose",!1,{description:"Print the setting description on top of the regular key/value information"});this.why=Y.Boolean("--why",!1,{description:"Print the reason why a setting is set a particular way"});this.json=Y.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins,{strict:!1});return(await Fe.start({configuration:e,json:this.json,stdout:this.context.stdout},async i=>{if(e.invalid.size>0&&!this.json){for(let[n,s]of e.invalid)i.reportError(z.INVALID_CONFIGURATION_KEY,`Invalid configuration key "${n}" in ${s}`);i.reportSeparator()}if(this.json){let n=de.sortMap(e.settings.keys(),s=>s);for(let s of n){let o=e.settings.get(s),a=e.getSpecial(s,{hideSecrets:!0,getNativePaths:!0}),l=e.sources.get(s);this.verbose?i.reportJson({key:s,effective:a,source:l}):i.reportJson(P({key:s,effective:a,source:l},o))}}else{let n=de.sortMap(e.settings.keys(),a=>a),s=n.reduce((a,l)=>Math.max(a,l.length),0),o={breakLength:Infinity,colors:e.get("enableColors"),maxArrayLength:2};if(this.why||this.verbose){let a=n.map(c=>{let u=e.settings.get(c);if(!u)throw new Error(`Assertion failed: This settings ("${c}") should have been registered`);let g=this.why?e.sources.get(c)||"":u.description;return[c,g]}),l=a.reduce((c,[,u])=>Math.max(c,u.length),0);for(let[c,u]of a)i.reportInfo(null,`${c.padEnd(s," ")} ${u.padEnd(l," ")} ${(0,WN.inspect)(e.getSpecial(c,{hideSecrets:!0,getNativePaths:!0}),o)}`)}else for(let a of n)i.reportInfo(null,`${a.padEnd(s," ")} ${(0,WN.inspect)(e.getSpecial(a,{hideSecrets:!0,getNativePaths:!0}),o)}`)}})).exitCode()}};CC.paths=[["config"]],CC.usage=ye.Usage({description:"display the current configuration",details:` + This command prints the current active configuration settings. + `,examples:[["Print the active configuration settings","$0 config"]]});var Lae=CC;Ss();var zN={};it(zN,{Strategy:()=>Oc,acceptedStrategies:()=>H4e,dedupe:()=>VN});var Tae=ie(Nn()),Oc;(function(e){e.HIGHEST="highest"})(Oc||(Oc={}));var H4e=new Set(Object.values(Oc)),G4e={highest:async(t,e,{resolver:r,fetcher:i,resolveOptions:n,fetchOptions:s})=>{let o=new Map;for(let[a,l]of t.storedResolutions){let c=t.storedDescriptors.get(a);if(typeof c=="undefined")throw new Error(`Assertion failed: The descriptor (${a}) should have been registered`);de.getSetWithDefault(o,c.identHash).add(l)}return Array.from(t.storedDescriptors.values(),async a=>{if(e.length&&!Tae.default.isMatch(S.stringifyIdent(a),e))return null;let l=t.storedResolutions.get(a.descriptorHash);if(typeof l=="undefined")throw new Error(`Assertion failed: The resolution (${a.descriptorHash}) should have been registered`);let c=t.originalPackages.get(l);if(typeof c=="undefined"||!r.shouldPersistResolution(c,n))return null;let u=o.get(a.identHash);if(typeof u=="undefined")throw new Error(`Assertion failed: The resolutions (${a.identHash}) should have been registered`);if(u.size===1)return null;let g=[...u].map(m=>{let I=t.originalPackages.get(m);if(typeof I=="undefined")throw new Error(`Assertion failed: The package (${m}) should have been registered`);return I.reference}),f=await r.getSatisfying(a,g,n),h=f==null?void 0:f[0];if(typeof h=="undefined")return null;let p=h.locatorHash,d=t.originalPackages.get(p);if(typeof d=="undefined")throw new Error(`Assertion failed: The package (${p}) should have been registered`);return p===l?null:{descriptor:a,currentPackage:c,updatedPackage:d}})}};async function VN(t,{strategy:e,patterns:r,cache:i,report:n}){let{configuration:s}=t,o=new ei,a=s.makeResolver(),l=s.makeFetcher(),c={cache:i,checksums:t.storedChecksums,fetcher:l,project:t,report:o,skipIntegrityCheck:!0,cacheOptions:{skipIntegrityCheck:!0}},u={project:t,resolver:a,report:o,fetchOptions:c};return await n.startTimerPromise("Deduplication step",async()=>{let f=await G4e[e](t,r,{resolver:a,resolveOptions:u,fetcher:l,fetchOptions:c}),h=Xi.progressViaCounter(f.length);n.reportProgress(h);let p=0;await Promise.all(f.map(I=>I.then(B=>{if(B===null)return;p++;let{descriptor:b,currentPackage:R,updatedPackage:H}=B;n.reportInfo(z.UNNAMED,`${S.prettyDescriptor(s,b)} can be deduped from ${S.prettyLocator(s,R)} to ${S.prettyLocator(s,H)}`),n.reportJson({descriptor:S.stringifyDescriptor(b),currentResolution:S.stringifyLocator(R),updatedResolution:S.stringifyLocator(H)}),t.storedResolutions.set(b.descriptorHash,H.locatorHash)}).finally(()=>h.tick())));let d;switch(p){case 0:d="No packages";break;case 1:d="One package";break;default:d=`${p} packages`}let m=ue.pretty(s,e,ue.Type.CODE);return n.reportInfo(z.UNNAMED,`${d} can be deduped using the ${m} strategy`),p})}var mC=class extends Be{constructor(){super(...arguments);this.strategy=Y.String("-s,--strategy",Oc.HIGHEST,{description:"The strategy to use when deduping dependencies",validator:Yi(Oc)});this.check=Y.Boolean("-c,--check",!1,{description:"Exit with exit code 1 when duplicates are found, without persisting the dependency tree"});this.json=Y.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.mode=Y.String("--mode",{description:"Change what artifacts installs generate",validator:Yi(li)});this.patterns=Y.Rest()}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins),{project:r}=await Ke.find(e,this.context.cwd),i=await Qt.find(e);await r.restoreInstallState({restoreResolutions:!1});let n=0,s=await Fe.start({configuration:e,includeFooter:!1,stdout:this.context.stdout,json:this.json},async o=>{n=await VN(r,{strategy:this.strategy,patterns:this.patterns,cache:i,report:o})});return s.hasErrors()?s.exitCode():this.check?n?1:0:(await Fe.start({configuration:e,stdout:this.context.stdout,json:this.json},async a=>{await r.install({cache:i,report:a,mode:this.mode})})).exitCode()}};mC.paths=[["dedupe"]],mC.usage=ye.Usage({description:"deduplicate dependencies with overlapping ranges",details:"\n Duplicates are defined as descriptors with overlapping ranges being resolved and locked to different locators. They are a natural consequence of Yarn's deterministic installs, but they can sometimes pile up and unnecessarily increase the size of your project.\n\n This command dedupes dependencies in the current project using different strategies (only one is implemented at the moment):\n\n - `highest`: Reuses (where possible) the locators with the highest versions. This means that dependencies can only be upgraded, never downgraded. It's also guaranteed that it never takes more than a single pass to dedupe the entire dependency tree.\n\n **Note:** Even though it never produces a wrong dependency tree, this command should be used with caution, as it modifies the dependency tree, which can sometimes cause problems when packages don't strictly follow semver recommendations. Because of this, it is recommended to also review the changes manually.\n\n If set, the `-c,--check` flag will only report the found duplicates, without persisting the modified dependency tree. If changes are found, the command will exit with a non-zero exit code, making it suitable for CI purposes.\n\n If the `--mode=` option is set, Yarn will change which artifacts are generated. The modes currently supported are:\n\n - `skip-build` will not run the build scripts at all. Note that this is different from setting `enableScripts` to false because the later will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run.\n\n - `update-lockfile` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost.\n\n This command accepts glob patterns as arguments (if valid Idents and supported by [micromatch](https://github.com/micromatch/micromatch)). Make sure to escape the patterns, to prevent your own shell from trying to expand them.\n\n ### In-depth explanation:\n\n Yarn doesn't deduplicate dependencies by default, otherwise installs wouldn't be deterministic and the lockfile would be useless. What it actually does is that it tries to not duplicate dependencies in the first place.\n\n **Example:** If `foo@^2.3.4` (a dependency of a dependency) has already been resolved to `foo@2.3.4`, running `yarn add foo@*`will cause Yarn to reuse `foo@2.3.4`, even if the latest `foo` is actually `foo@2.10.14`, thus preventing unnecessary duplication.\n\n Duplication happens when Yarn can't unlock dependencies that have already been locked inside the lockfile.\n\n **Example:** If `foo@^2.3.4` (a dependency of a dependency) has already been resolved to `foo@2.3.4`, running `yarn add foo@2.10.14` will cause Yarn to install `foo@2.10.14` because the existing resolution doesn't satisfy the range `2.10.14`. This behavior can lead to (sometimes) unwanted duplication, since now the lockfile contains 2 separate resolutions for the 2 `foo` descriptors, even though they have overlapping ranges, which means that the lockfile can be simplified so that both descriptors resolve to `foo@2.10.14`.\n ",examples:[["Dedupe all packages","$0 dedupe"],["Dedupe all packages using a specific strategy","$0 dedupe --strategy highest"],["Dedupe a specific package","$0 dedupe lodash"],["Dedupe all packages with the `@babel/*` scope","$0 dedupe '@babel/*'"],["Check for duplicates (can be used as a CI step)","$0 dedupe --check"]]});var Mae=mC;var Y0=class extends Be{async execute(){let{plugins:e}=await fe.find(this.context.cwd,this.context.plugins),r=[];for(let o of e){let{commands:a}=o[1];if(a){let c=oo.from(a).definitions();r.push([o[0],c])}}let i=this.cli.definitions(),n=(o,a)=>o.split(" ").slice(1).join()===a.split(" ").slice(1).join(),s=Kae()["@yarnpkg/builder"].bundles.standard;for(let o of r){let a=o[1];for(let l of a)i.find(c=>n(c.path,l.path)).plugin={name:o[0],isDefault:s.includes(o[0])}}this.context.stdout.write(`${JSON.stringify(i,null,2)} +`)}};Y0.paths=[["--clipanion=definitions"]];var Uae=Y0;var q0=class extends Be{async execute(){this.context.stdout.write(this.cli.usage(null))}};q0.paths=[["help"],["--help"],["-h"]];var Hae=q0;var _N=class extends Be{constructor(){super(...arguments);this.leadingArgument=Y.String();this.args=Y.Proxy()}async execute(){if(this.leadingArgument.match(/[\\/]/)&&!S.tryParseIdent(this.leadingArgument)){let e=v.resolve(this.context.cwd,M.toPortablePath(this.leadingArgument));return await this.cli.run(this.args,{cwd:e})}else return await this.cli.run(["run",this.leadingArgument,...this.args])}},Gae=_N;var J0=class extends Be{async execute(){this.context.stdout.write(`${Zr||""} +`)}};J0.paths=[["-v"],["--version"]];var jae=J0;var EC=class extends Be{constructor(){super(...arguments);this.commandName=Y.String();this.args=Y.Proxy()}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins),{project:r,locator:i}=await Ke.find(e,this.context.cwd);return await r.restoreInstallState(),await Kt.executePackageShellcode(i,this.commandName,this.args,{cwd:this.context.cwd,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr,project:r})}};EC.paths=[["exec"]],EC.usage=ye.Usage({description:"execute a shell script",details:` + This command simply executes a shell script within the context of the root directory of the active workspace using the portable shell. + + It also makes sure to call it in a way that's compatible with the current project (for example, on PnP projects the environment will be setup in such a way that PnP will be correctly injected into the environment). + `,examples:[["Execute a single shell command","$0 exec echo Hello World"],["Execute a shell script",'$0 exec "tsc & babel src --out-dir lib"']]});var Yae=EC;Ss();var IC=class extends Be{constructor(){super(...arguments);this.hash=Y.String({required:!1,validator:fv(gv(),[hv(/^p[0-9a-f]{5}$/)])})}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins),{project:r}=await Ke.find(e,this.context.cwd);return await r.restoreInstallState({restoreResolutions:!1}),await r.applyLightResolution(),typeof this.hash!="undefined"?await j4e(this.hash,r,{stdout:this.context.stdout}):(await Fe.start({configuration:e,stdout:this.context.stdout,includeFooter:!1},async n=>{var o;let s=[([,a])=>S.stringifyLocator(r.storedPackages.get(a.subject)),([,a])=>S.stringifyIdent(a.requested)];for(let[a,l]of de.sortMap(r.peerRequirements,s)){let c=r.storedPackages.get(l.subject);if(typeof c=="undefined")throw new Error("Assertion failed: Expected the subject package to have been registered");let u=r.storedPackages.get(l.rootRequester);if(typeof u=="undefined")throw new Error("Assertion failed: Expected the root package to have been registered");let g=(o=c.dependencies.get(l.requested.identHash))!=null?o:null,f=ue.pretty(e,a,ue.Type.CODE),h=S.prettyLocator(e,c),p=S.prettyIdent(e,l.requested),d=S.prettyIdent(e,u),m=l.allRequesters.length-1,I=`descendant${m===1?"":"s"}`,B=m>0?` and ${m} ${I}`:"",b=g!==null?"provides":"doesn't provide";n.reportInfo(null,`${f} \u2192 ${h} ${b} ${p} to ${d}${B}`)}})).exitCode()}};IC.paths=[["explain","peer-requirements"]],IC.usage=ye.Usage({description:"explain a set of peer requirements",details:` + A set of peer requirements represents all peer requirements that a dependent must satisfy when providing a given peer request to a requester and its descendants. + + When the hash argument is specified, this command prints a detailed explanation of all requirements of the set corresponding to the hash and whether they're satisfied or not. + + When used without arguments, this command lists all sets of peer requirements and the corresponding hash that can be used to get detailed information about a given set. + + **Note:** A hash is a six-letter p-prefixed code that can be obtained from peer dependency warnings or from the list of all peer requirements (\`yarn explain peer-requirements\`). + `,examples:[["Explain the corresponding set of peer requirements for a hash","$0 explain peer-requirements p1a4ed"],["List all sets of peer requirements","$0 explain peer-requirements"]]});var qae=IC;async function j4e(t,e,r){let{configuration:i}=e,n=e.peerRequirements.get(t);if(typeof n=="undefined")throw new Error(`No peerDependency requirements found for hash: "${t}"`);return(await Fe.start({configuration:i,stdout:r.stdout,includeFooter:!1},async o=>{var I,B;let a=e.storedPackages.get(n.subject);if(typeof a=="undefined")throw new Error("Assertion failed: Expected the subject package to have been registered");let l=e.storedPackages.get(n.rootRequester);if(typeof l=="undefined")throw new Error("Assertion failed: Expected the root package to have been registered");let c=(I=a.dependencies.get(n.requested.identHash))!=null?I:null,u=c!==null?e.storedResolutions.get(c.descriptorHash):null;if(typeof u=="undefined")throw new Error("Assertion failed: Expected the resolution to have been registered");let g=u!==null?e.storedPackages.get(u):null;if(typeof g=="undefined")throw new Error("Assertion failed: Expected the provided package to have been registered");let f=[...n.allRequesters.values()].map(b=>{let R=e.storedPackages.get(b);if(typeof R=="undefined")throw new Error("Assertion failed: Expected the package to be registered");let H=S.devirtualizeLocator(R),L=e.storedPackages.get(H.locatorHash);if(typeof L=="undefined")throw new Error("Assertion failed: Expected the package to be registered");let K=L.peerDependencies.get(n.requested.identHash);if(typeof K=="undefined")throw new Error("Assertion failed: Expected the peer dependency to be registered");return{pkg:R,peerDependency:K}});if(g!==null){let b=f.every(({peerDependency:R})=>qt.satisfiesWithPrereleases(g.version,R.range));o.reportInfo(z.UNNAMED,`${S.prettyLocator(i,a)} provides ${S.prettyLocator(i,g)} with version ${S.prettyReference(i,(B=g.version)!=null?B:"")}, which ${b?"satisfies":"doesn't satisfy"} the following requirements:`)}else o.reportInfo(z.UNNAMED,`${S.prettyLocator(i,a)} doesn't provide ${S.prettyIdent(i,n.requested)}, breaking the following requirements:`);o.reportSeparator();let h=ue.mark(i),p=[];for(let{pkg:b,peerDependency:R}of de.sortMap(f,H=>S.stringifyLocator(H.pkg))){let L=(g!==null?qt.satisfiesWithPrereleases(g.version,R.range):!1)?h.Check:h.Cross;p.push({stringifiedLocator:S.stringifyLocator(b),prettyLocator:S.prettyLocator(i,b),prettyRange:S.prettyRange(i,R.range),mark:L})}let d=Math.max(...p.map(({stringifiedLocator:b})=>b.length)),m=Math.max(...p.map(({prettyRange:b})=>b.length));for(let{stringifiedLocator:b,prettyLocator:R,prettyRange:H,mark:L}of de.sortMap(p,({stringifiedLocator:K})=>K))o.reportInfo(null,`${R.padEnd(d+(R.length-b.length)," ")} \u2192 ${H.padEnd(m," ")} ${L}`);p.length>1&&(o.reportSeparator(),o.reportInfo(z.UNNAMED,`Note: these requirements start with ${S.prettyLocator(e.configuration,l)}`))})).exitCode()}var Jae=ie(Nn()),yC=class extends Be{constructor(){super(...arguments);this.all=Y.Boolean("-A,--all",!1,{description:"Print versions of a package from the whole project"});this.recursive=Y.Boolean("-R,--recursive",!1,{description:"Print information for all packages, including transitive dependencies"});this.extra=Y.Array("-X,--extra",[],{description:"An array of requests of extra data provided by plugins"});this.cache=Y.Boolean("--cache",!1,{description:"Print information about the cache entry of a package (path, size, checksum)"});this.dependents=Y.Boolean("--dependents",!1,{description:"Print all dependents for each matching package"});this.manifest=Y.Boolean("--manifest",!1,{description:"Print data obtained by looking at the package archive (license, homepage, ...)"});this.nameOnly=Y.Boolean("--name-only",!1,{description:"Only print the name for the matching packages"});this.virtuals=Y.Boolean("--virtuals",!1,{description:"Print each instance of the virtual packages"});this.json=Y.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.patterns=Y.Rest()}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Ke.find(e,this.context.cwd),n=await Qt.find(e);if(!i&&!this.all)throw new rt(r.cwd,this.context.cwd);await r.restoreInstallState();let s=new Set(this.extra);this.cache&&s.add("cache"),this.dependents&&s.add("dependents"),this.manifest&&s.add("manifest");let o=(b,{recursive:R})=>{let H=b.anchoredLocator.locatorHash,L=new Map,K=[H];for(;K.length>0;){let J=K.shift();if(L.has(J))continue;let ne=r.storedPackages.get(J);if(typeof ne=="undefined")throw new Error("Assertion failed: Expected the package to be registered");if(L.set(J,ne),S.isVirtualLocator(ne)&&K.push(S.devirtualizeLocator(ne).locatorHash),!(!R&&J!==H))for(let q of ne.dependencies.values()){let A=r.storedResolutions.get(q.descriptorHash);if(typeof A=="undefined")throw new Error("Assertion failed: Expected the resolution to be registered");K.push(A)}}return L.values()},a=({recursive:b})=>{let R=new Map;for(let H of r.workspaces)for(let L of o(H,{recursive:b}))R.set(L.locatorHash,L);return R.values()},l=({all:b,recursive:R})=>b&&R?r.storedPackages.values():b?a({recursive:R}):o(i,{recursive:R}),c=({all:b,recursive:R})=>{let H=l({all:b,recursive:R}),L=this.patterns.map(ne=>{let q=S.parseLocator(ne),A=Jae.default.makeRe(S.stringifyIdent(q)),V=S.isVirtualLocator(q),W=V?S.devirtualizeLocator(q):q;return X=>{let F=S.stringifyIdent(X);if(!A.test(F))return!1;if(q.reference==="unknown")return!0;let D=S.isVirtualLocator(X),he=D?S.devirtualizeLocator(X):X;return!(V&&D&&q.reference!==X.reference||W.reference!==he.reference)}}),K=de.sortMap([...H],ne=>S.stringifyLocator(ne));return{selection:K.filter(ne=>L.length===0||L.some(q=>q(ne))),sortedLookup:K}},{selection:u,sortedLookup:g}=c({all:this.all,recursive:this.recursive});if(u.length===0)throw new me("No package matched your request");let f=new Map;if(this.dependents)for(let b of g)for(let R of b.dependencies.values()){let H=r.storedResolutions.get(R.descriptorHash);if(typeof H=="undefined")throw new Error("Assertion failed: Expected the resolution to be registered");de.getArrayWithDefault(f,H).push(b)}let h=new Map;for(let b of g){if(!S.isVirtualLocator(b))continue;let R=S.devirtualizeLocator(b);de.getArrayWithDefault(h,R.locatorHash).push(b)}let p={},d={children:p},m=e.makeFetcher(),I={project:r,fetcher:m,cache:n,checksums:r.storedChecksums,report:new ei,cacheOptions:{skipIntegrityCheck:!0},skipIntegrityCheck:!0},B=[async(b,R,H)=>{var J,ne;if(!R.has("manifest"))return;let L=await m.fetch(b,I),K;try{K=await Ze.find(L.prefixPath,{baseFs:L.packageFs})}finally{(J=L.releaseFs)==null||J.call(L)}H("Manifest",{License:ue.tuple(ue.Type.NO_HINT,K.license),Homepage:ue.tuple(ue.Type.URL,(ne=K.raw.homepage)!=null?ne:null)})},async(b,R,H)=>{var A;if(!R.has("cache"))return;let L={mockedPackages:r.disabledLocators,unstablePackages:r.conditionalLocators},K=(A=r.storedChecksums.get(b.locatorHash))!=null?A:null,J=n.getLocatorPath(b,K,L),ne;if(J!==null)try{ne=T.statSync(J)}catch{}let q=typeof ne!="undefined"?[ne.size,ue.Type.SIZE]:void 0;H("Cache",{Checksum:ue.tuple(ue.Type.NO_HINT,K),Path:ue.tuple(ue.Type.PATH,J),Size:q})}];for(let b of u){let R=S.isVirtualLocator(b);if(!this.virtuals&&R)continue;let H={},L={value:[b,ue.Type.LOCATOR],children:H};if(p[S.stringifyLocator(b)]=L,this.nameOnly){delete L.children;continue}let K=h.get(b.locatorHash);typeof K!="undefined"&&(H.Instances={label:"Instances",value:ue.tuple(ue.Type.NUMBER,K.length)}),H.Version={label:"Version",value:ue.tuple(ue.Type.NO_HINT,b.version)};let J=(q,A)=>{let V={};if(H[q]=V,Array.isArray(A))V.children=A.map(W=>({value:W}));else{let W={};V.children=W;for(let[X,F]of Object.entries(A))typeof F!="undefined"&&(W[X]={label:X,value:F})}};if(!R){for(let q of B)await q(b,s,J);await e.triggerHook(q=>q.fetchPackageInfo,b,s,J)}b.bin.size>0&&!R&&J("Exported Binaries",[...b.bin.keys()].map(q=>ue.tuple(ue.Type.PATH,q)));let ne=f.get(b.locatorHash);typeof ne!="undefined"&&ne.length>0&&J("Dependents",ne.map(q=>ue.tuple(ue.Type.LOCATOR,q))),b.dependencies.size>0&&!R&&J("Dependencies",[...b.dependencies.values()].map(q=>{var W;let A=r.storedResolutions.get(q.descriptorHash),V=typeof A!="undefined"&&(W=r.storedPackages.get(A))!=null?W:null;return ue.tuple(ue.Type.RESOLUTION,{descriptor:q,locator:V})})),b.peerDependencies.size>0&&R&&J("Peer dependencies",[...b.peerDependencies.values()].map(q=>{var X,F;let A=b.dependencies.get(q.identHash),V=typeof A!="undefined"&&(X=r.storedResolutions.get(A.descriptorHash))!=null?X:null,W=V!==null&&(F=r.storedPackages.get(V))!=null?F:null;return ue.tuple(ue.Type.RESOLUTION,{descriptor:q,locator:W})}))}Hs.emitTree(d,{configuration:e,json:this.json,stdout:this.context.stdout,separators:this.nameOnly?0:2})}};yC.paths=[["info"]],yC.usage=ye.Usage({description:"see information related to packages",details:"\n This command prints various information related to the specified packages, accepting glob patterns.\n\n By default, if the locator reference is missing, Yarn will default to print the information about all the matching direct dependencies of the package for the active workspace. To instead print all versions of the package that are direct dependencies of any of your workspaces, use the `-A,--all` flag. Adding the `-R,--recursive` flag will also report transitive dependencies.\n\n Some fields will be hidden by default in order to keep the output readable, but can be selectively displayed by using additional options (`--dependents`, `--manifest`, `--virtuals`, ...) described in the option descriptions.\n\n Note that this command will only print the information directly related to the selected packages - if you wish to know why the package is there in the first place, use `yarn why` which will do just that (it also provides a `-R,--recursive` flag that may be of some help).\n ",examples:[["Show information about Lodash","$0 info lodash"]]});var Wae=yC;var W0=ie(ml());Ss();var wC=class extends Be{constructor(){super(...arguments);this.json=Y.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.immutable=Y.Boolean("--immutable",{description:"Abort with an error exit code if the lockfile was to be modified"});this.immutableCache=Y.Boolean("--immutable-cache",{description:"Abort with an error exit code if the cache folder was to be modified"});this.checkCache=Y.Boolean("--check-cache",!1,{description:"Always refetch the packages and ensure that their checksums are consistent"});this.inlineBuilds=Y.Boolean("--inline-builds",{description:"Verbosely print the output of the build steps of dependencies"});this.mode=Y.String("--mode",{description:"Change what artifacts installs generate",validator:Yi(li)});this.cacheFolder=Y.String("--cache-folder",{hidden:!0});this.frozenLockfile=Y.Boolean("--frozen-lockfile",{hidden:!0});this.ignoreEngines=Y.Boolean("--ignore-engines",{hidden:!0});this.nonInteractive=Y.Boolean("--non-interactive",{hidden:!0});this.preferOffline=Y.Boolean("--prefer-offline",{hidden:!0});this.production=Y.Boolean("--production",{hidden:!0});this.registry=Y.String("--registry",{hidden:!0});this.silent=Y.Boolean("--silent",{hidden:!0});this.networkTimeout=Y.String("--network-timeout",{hidden:!0})}async execute(){var c;let e=await fe.find(this.context.cwd,this.context.plugins);typeof this.inlineBuilds!="undefined"&&e.useWithSource("",{enableInlineBuilds:this.inlineBuilds},e.startingCwd,{overwrite:!0});let r=!!process.env.FUNCTION_TARGET||!!process.env.GOOGLE_RUNTIME,i=async(u,{error:g})=>{let f=await Fe.start({configuration:e,stdout:this.context.stdout,includeFooter:!1},async h=>{g?h.reportError(z.DEPRECATED_CLI_SETTINGS,u):h.reportWarning(z.DEPRECATED_CLI_SETTINGS,u)});return f.hasErrors()?f.exitCode():null};if(typeof this.ignoreEngines!="undefined"){let u=await i("The --ignore-engines option is deprecated; engine checking isn't a core feature anymore",{error:!W0.default.VERCEL});if(u!==null)return u}if(typeof this.registry!="undefined"){let u=await i("The --registry option is deprecated; prefer setting npmRegistryServer in your .yarnrc.yml file",{error:!1});if(u!==null)return u}if(typeof this.preferOffline!="undefined"){let u=await i("The --prefer-offline flag is deprecated; use the --cached flag with 'yarn add' instead",{error:!W0.default.VERCEL});if(u!==null)return u}if(typeof this.production!="undefined"){let u=await i("The --production option is deprecated on 'install'; use 'yarn workspaces focus' instead",{error:!0});if(u!==null)return u}if(typeof this.nonInteractive!="undefined"){let u=await i("The --non-interactive option is deprecated",{error:!r});if(u!==null)return u}if(typeof this.frozenLockfile!="undefined"&&(await i("The --frozen-lockfile option is deprecated; use --immutable and/or --immutable-cache instead",{error:!1}),this.immutable=this.frozenLockfile),typeof this.cacheFolder!="undefined"){let u=await i("The cache-folder option has been deprecated; use rc settings instead",{error:!W0.default.NETLIFY});if(u!==null)return u}let n=(c=this.immutable)!=null?c:e.get("enableImmutableInstalls");if(e.projectCwd!==null){let u=await Fe.start({configuration:e,json:this.json,stdout:this.context.stdout,includeFooter:!1},async g=>{await Y4e(e,n)&&(g.reportInfo(z.AUTOMERGE_SUCCESS,"Automatically fixed merge conflicts \u{1F44D}"),g.reportSeparator())});if(u.hasErrors())return u.exitCode()}if(e.projectCwd!==null&&typeof e.sources.get("nodeLinker")=="undefined"){let u=e.projectCwd,g;try{g=await T.readFilePromise(v.join(u,wt.lockfile),"utf8")}catch{}if(g==null?void 0:g.includes("yarn lockfile v1")){let f=await Fe.start({configuration:e,json:this.json,stdout:this.context.stdout,includeFooter:!1},async h=>{h.reportInfo(z.AUTO_NM_SUCCESS,"Migrating from Yarn 1; automatically enabling the compatibility node-modules linker \u{1F44D}"),h.reportSeparator(),e.use("",{nodeLinker:"node-modules"},u,{overwrite:!0}),await fe.updateConfiguration(u,{nodeLinker:"node-modules"})});if(f.hasErrors())return f.exitCode()}}if(e.projectCwd!==null){let u=await Fe.start({configuration:e,json:this.json,stdout:this.context.stdout,includeFooter:!1},async g=>{var f;((f=fe.telemetry)==null?void 0:f.isNew)&&(g.reportInfo(z.TELEMETRY_NOTICE,"Yarn will periodically gather anonymous telemetry: https://yarnpkg.com/advanced/telemetry"),g.reportInfo(z.TELEMETRY_NOTICE,`Run ${ue.pretty(e,"yarn config set --home enableTelemetry 0",ue.Type.CODE)} to disable`),g.reportSeparator())});if(u.hasErrors())return u.exitCode()}let{project:s,workspace:o}=await Ke.find(e,this.context.cwd),a=await Qt.find(e,{immutable:this.immutableCache,check:this.checkCache});if(!o)throw new rt(s.cwd,this.context.cwd);return await s.restoreInstallState({restoreResolutions:!1}),(await Fe.start({configuration:e,json:this.json,stdout:this.context.stdout,includeLogs:!0},async u=>{await s.install({cache:a,report:u,immutable:n,mode:this.mode})})).exitCode()}};wC.paths=[["install"],ye.Default],wC.usage=ye.Usage({description:"install the project dependencies",details:` + This command sets up your project if needed. The installation is split into four different steps that each have their own characteristics: + + - **Resolution:** First the package manager will resolve your dependencies. The exact way a dependency version is privileged over another isn't standardized outside of the regular semver guarantees. If a package doesn't resolve to what you would expect, check that all dependencies are correctly declared (also check our website for more information: ). + + - **Fetch:** Then we download all the dependencies if needed, and make sure that they're all stored within our cache (check the value of \`cacheFolder\` in \`yarn config\` to see where the cache files are stored). + + - **Link:** Then we send the dependency tree information to internal plugins tasked with writing them on the disk in some form (for example by generating the .pnp.cjs file you might know). + + - **Build:** Once the dependency tree has been written on the disk, the package manager will now be free to run the build scripts for all packages that might need it, in a topological order compatible with the way they depend on one another. See https://yarnpkg.com/advanced/lifecycle-scripts for detail. + + Note that running this command is not part of the recommended workflow. Yarn supports zero-installs, which means that as long as you store your cache and your .pnp.cjs file inside your repository, everything will work without requiring any install right after cloning your repository or switching branches. + + If the \`--immutable\` option is set (defaults to true on CI), Yarn will abort with an error exit code if the lockfile was to be modified (other paths can be added using the \`immutablePatterns\` configuration setting). For backward compatibility we offer an alias under the name of \`--frozen-lockfile\`, but it will be removed in a later release. + + If the \`--immutable-cache\` option is set, Yarn will abort with an error exit code if the cache folder was to be modified (either because files would be added, or because they'd be removed). + + If the \`--check-cache\` option is set, Yarn will always refetch the packages and will ensure that their checksum matches what's 1/ described in the lockfile 2/ inside the existing cache files (if present). This is recommended as part of your CI workflow if you're both following the Zero-Installs model and accepting PRs from third-parties, as they'd otherwise have the ability to alter the checked-in packages before submitting them. + + If the \`--inline-builds\` option is set, Yarn will verbosely print the output of the build steps of your dependencies (instead of writing them into individual files). This is likely useful mostly for debug purposes only when using Docker-like environments. + + If the \`--mode=\` option is set, Yarn will change which artifacts are generated. The modes currently supported are: + + - \`skip-build\` will not run the build scripts at all. Note that this is different from setting \`enableScripts\` to false because the later will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run. + + - \`update-lockfile\` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost. + `,examples:[["Install the project","$0 install"],["Validate a project when using Zero-Installs","$0 install --immutable --immutable-cache"],["Validate a project when using Zero-Installs (slightly safer if you accept external PRs)","$0 install --immutable --immutable-cache --check-cache"]]});var zae=wC,q4e="|||||||",J4e=">>>>>>>",W4e="=======",Vae="<<<<<<<";async function Y4e(t,e){if(!t.projectCwd)return!1;let r=v.join(t.projectCwd,t.get("lockfileFilename"));if(!await T.existsPromise(r))return!1;let i=await T.readFilePromise(r,"utf8");if(!i.includes(Vae))return!1;if(e)throw new nt(z.AUTOMERGE_IMMUTABLE,"Cannot autofix a lockfile when running an immutable install");let[n,s]=z4e(i),o,a;try{o=Ii(n),a=Ii(s)}catch(c){throw new nt(z.AUTOMERGE_FAILED_TO_PARSE,"The individual variants of the lockfile failed to parse")}let l=P(P({},o),a);for(let[c,u]of Object.entries(l))typeof u=="string"&&delete l[c];return await T.changeFilePromise(r,Qa(l),{automaticNewlines:!0}),!0}function z4e(t){let e=[[],[]],r=t.split(/\r?\n/g),i=!1;for(;r.length>0;){let n=r.shift();if(typeof n=="undefined")throw new Error("Assertion failed: Some lines should remain");if(n.startsWith(Vae)){for(;r.length>0;){let s=r.shift();if(typeof s=="undefined")throw new Error("Assertion failed: Some lines should remain");if(s===W4e){i=!1;break}else if(i||s.startsWith(q4e)){i=!0;continue}else e[0].push(s)}for(;r.length>0;){let s=r.shift();if(typeof s=="undefined")throw new Error("Assertion failed: Some lines should remain");if(s.startsWith(J4e))break;e[1].push(s)}}else e[0].push(n),e[1].push(n)}return[e[0].join(` +`),e[1].join(` +`)]}var BC=class extends Be{constructor(){super(...arguments);this.all=Y.Boolean("-A,--all",!1,{description:"Link all workspaces belonging to the target project to the current one"});this.private=Y.Boolean("-p,--private",!1,{description:"Also link private workspaces belonging to the target project to the current one"});this.relative=Y.Boolean("-r,--relative",!1,{description:"Link workspaces using relative paths instead of absolute paths"});this.destination=Y.String()}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Ke.find(e,this.context.cwd),n=await Qt.find(e);if(!i)throw new rt(r.cwd,this.context.cwd);await r.restoreInstallState({restoreResolutions:!1});let s=v.resolve(this.context.cwd,M.toPortablePath(this.destination)),o=await fe.find(s,this.context.plugins,{useRc:!1,strict:!1}),{project:a,workspace:l}=await Ke.find(o,s);if(r.cwd===a.cwd)throw new me("Invalid destination; Can't link the project to itself");if(!l)throw new rt(a.cwd,s);let c=r.topLevelWorkspace,u=[];if(this.all){for(let f of a.workspaces)f.manifest.name&&(!f.manifest.private||this.private)&&u.push(f);if(u.length===0)throw new me("No workspace found to be linked in the target project")}else{if(!l.manifest.name)throw new me("The target workspace doesn't have a name and thus cannot be linked");if(l.manifest.private&&!this.private)throw new me("The target workspace is marked private - use the --private flag to link it anyway");u.push(l)}for(let f of u){let h=S.stringifyIdent(f.locator),p=this.relative?v.relative(r.cwd,f.cwd):f.cwd;c.manifest.resolutions.push({pattern:{descriptor:{fullName:h}},reference:`portal:${p}`})}return(await Fe.start({configuration:e,stdout:this.context.stdout},async f=>{await r.install({cache:n,report:f})})).exitCode()}};BC.paths=[["link"]],BC.usage=ye.Usage({description:"connect the local project to another one",details:"\n This command will set a new `resolutions` field in the project-level manifest and point it to the workspace at the specified location (even if part of another project).\n ",examples:[["Register a remote workspace for use in the current project","$0 link ~/ts-loader"],["Register all workspaces from a remote project for use in the current project","$0 link ~/jest --all"]]});var _ae=BC;var QC=class extends Be{constructor(){super(...arguments);this.args=Y.Proxy()}async execute(){return this.cli.run(["exec","node",...this.args])}};QC.paths=[["node"]],QC.usage=ye.Usage({description:"run node with the hook already setup",details:` + This command simply runs Node. It also makes sure to call it in a way that's compatible with the current project (for example, on PnP projects the environment will be setup in such a way that PnP will be correctly injected into the environment). + + The Node process will use the exact same version of Node as the one used to run Yarn itself, which might be a good way to ensure that your commands always use a consistent Node version. + `,examples:[["Run a Node script","$0 node ./my-script.js"]]});var Xae=QC;var lAe=ie(require("os"));var rAe=ie(require("os"));var V4e="https://raw.githubusercontent.com/yarnpkg/berry/master/plugins.yml";async function Kc(t){let e=await Zt.get(V4e,{configuration:t});return Ii(e.toString())}var bC=class extends Be{constructor(){super(...arguments);this.json=Y.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins);return(await Fe.start({configuration:e,json:this.json,stdout:this.context.stdout},async i=>{let n=await Kc(e);for(let s of Object.entries(n)){let[l,o]=s,a=o,{experimental:c}=a,u=qr(a,["experimental"]);let g=l;c&&(g+=" [experimental]"),i.reportJson(P({name:l,experimental:c},u)),i.reportInfo(null,g)}})).exitCode()}};bC.paths=[["plugin","list"]],bC.usage=ye.Usage({category:"Plugin-related commands",description:"list the available official plugins",details:"\n This command prints the plugins available directly from the Yarn repository. Only those plugins can be referenced by name in `yarn plugin import`.\n ",examples:[["List the official plugins","$0 plugin list"]]});var Zae=bC;var $ae=ie(Or()),vC=class extends Be{constructor(){super(...arguments);this.onlyIfNeeded=Y.Boolean("--only-if-needed",!1,{description:"Only lock the Yarn version if it isn't already locked"});this.version=Y.String()}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins);if(e.get("yarnPath")&&this.onlyIfNeeded)return 0;let r=()=>{if(typeof Zr=="undefined")throw new me("The --install flag can only be used without explicit version specifier from the Yarn CLI");return`file://${process.argv[1]}`},i;if(this.version==="self")i=r();else if(this.version==="latest"||this.version==="berry"||this.version==="stable")i=`https://repo.yarnpkg.com/${await eAe(e,"stable")}/packages/yarnpkg-cli/bin/yarn.js`;else if(this.version==="canary")i=`https://repo.yarnpkg.com/${await eAe(e,"canary")}/packages/yarnpkg-cli/bin/yarn.js`;else if(this.version==="classic")i="https://nightly.yarnpkg.com/latest.js";else if(this.version.match(/^\.{0,2}[\\/]/)||M.isAbsolute(this.version))i=`file://${M.resolve(this.version)}`;else if(qt.satisfiesWithPrereleases(this.version,">=2.0.0"))i=`https://repo.yarnpkg.com/${this.version}/packages/yarnpkg-cli/bin/yarn.js`;else if(qt.satisfiesWithPrereleases(this.version,"^0.x || ^1.x"))i=`https://github.com/yarnpkg/yarn/releases/download/v${this.version}/yarn-${this.version}.js`;else if(qt.validRange(this.version))i=`https://repo.yarnpkg.com/${await _4e(e,this.version)}/packages/yarnpkg-cli/bin/yarn.js`;else throw new me(`Invalid version descriptor "${this.version}"`);return(await Fe.start({configuration:e,stdout:this.context.stdout,includeLogs:!this.context.quiet},async s=>{let o="file://",a;i.startsWith(o)?(s.reportInfo(z.UNNAMED,`Downloading ${ue.pretty(e,i,ps.URL)}`),a=await T.readFilePromise(M.toPortablePath(i.slice(o.length)))):(s.reportInfo(z.UNNAMED,`Retrieving ${ue.pretty(e,i,ps.PATH)}`),a=await Zt.get(i,{configuration:e})),await XN(e,null,a,{report:s})})).exitCode()}};vC.paths=[["set","version"]],vC.usage=ye.Usage({description:"lock the Yarn version used by the project",details:"\n This command will download a specific release of Yarn directly from the Yarn GitHub repository, will store it inside your project, and will change the `yarnPath` settings from your project `.yarnrc.yml` file to point to the new file.\n\n A very good use case for this command is to enforce the version of Yarn used by the any single member of your team inside a same project - by doing this you ensure that you have control on Yarn upgrades and downgrades (including on your deployment servers), and get rid of most of the headaches related to someone using a slightly different version and getting a different behavior than you.\n\n The version specifier can be:\n\n - a tag:\n - `latest` / `berry` / `stable` -> the most recent stable berry (`>=2.0.0`) release\n - `canary` -> the most recent canary (release candidate) berry (`>=2.0.0`) release\n - `classic` -> the most recent classic (`^0.x || ^1.x`) release\n\n - a semver range (e.g. `2.x`) -> the most recent version satisfying the range (limited to berry releases)\n\n - a semver version (e.g. `2.4.1`, `1.22.1`)\n\n - a local file referenced through either a relative or absolute path\n\n - `self` -> the version used to invoke the command\n ",examples:[["Download the latest release from the Yarn repository","$0 set version latest"],["Download the latest canary release from the Yarn repository","$0 set version canary"],["Download the latest classic release from the Yarn repository","$0 set version classic"],["Download the most recent Yarn 3 build","$0 set version 3.x"],["Download a specific Yarn 2 build","$0 set version 2.0.0-rc.30"],["Switch back to a specific Yarn 1 release","$0 set version 1.22.1"],["Use a release from the local filesystem","$0 set version ./yarn.cjs"],["Download the version used to invoke the command","$0 set version self"]]});var tAe=vC;async function _4e(t,e){let i=(await Zt.get("https://repo.yarnpkg.com/tags",{configuration:t,jsonResponse:!0})).tags.filter(n=>qt.satisfiesWithPrereleases(n,e));if(i.length===0)throw new me(`No matching release found for range ${ue.pretty(t,e,ue.Type.RANGE)}.`);return i[0]}async function eAe(t,e){let r=await Zt.get("https://repo.yarnpkg.com/tags",{configuration:t,jsonResponse:!0});if(!r.latest[e])throw new me(`Tag ${ue.pretty(t,e,ue.Type.RANGE)} not found`);return r.latest[e]}async function XN(t,e,r,{report:i}){var g;e===null&&await T.mktempPromise(async f=>{let h=v.join(f,"yarn.cjs");await T.writeFilePromise(h,r);let{stdout:p}=await hr.execvp(process.execPath,[M.fromPortablePath(h),"--version"],{cwd:f,env:_(P({},process.env),{YARN_IGNORE_PATH:"1"})});if(e=p.trim(),!$ae.default.valid(e))throw new Error(`Invalid semver version. ${ue.pretty(t,"yarn --version",ue.Type.CODE)} returned: +${e}`)});let n=(g=t.projectCwd)!=null?g:t.startingCwd,s=v.resolve(n,".yarn/releases"),o=v.resolve(s,`yarn-${e}.cjs`),a=v.relative(t.startingCwd,o),l=v.relative(n,o),c=t.get("yarnPath"),u=c===null||c.startsWith(`${s}/`);if(i.reportInfo(z.UNNAMED,`Saving the new release in ${ue.pretty(t,a,"magenta")}`),await T.removePromise(v.dirname(o)),await T.mkdirPromise(v.dirname(o),{recursive:!0}),await T.writeFilePromise(o,r,{mode:493}),u){await fe.updateConfiguration(n,{yarnPath:l});let f=await Ze.tryFind(n)||new Ze;e&&de.isTaggedYarnVersion(e)&&(f.packageManager=`yarn@${e}`);let h={};f.exportTo(h);let p=v.join(n,Ze.fileName),d=`${JSON.stringify(h,null,f.indent)} +`;await T.changeFilePromise(p,d,{automaticNewlines:!0})}}var X4e=/^[0-9]+$/;function iAe(t){return X4e.test(t)?`pull/${t}/head`:t}var Z4e=({repository:t,branch:e},r)=>[["git","init",M.fromPortablePath(r)],["git","remote","add","origin",t],["git","fetch","origin",iAe(e)],["git","reset","--hard","FETCH_HEAD"]],$4e=({branch:t})=>[["git","fetch","origin",iAe(t),"--force"],["git","reset","--hard","FETCH_HEAD"],["git","clean","-dfx"]],eze=({plugins:t,noMinify:e},r)=>[["yarn","build:cli",...new Array().concat(...t.map(i=>["--plugin",v.resolve(r,i)])),...e?["--no-minify"]:[],"|"]],SC=class extends Be{constructor(){super(...arguments);this.installPath=Y.String("--path",{description:"The path where the repository should be cloned to"});this.repository=Y.String("--repository","https://github.com/yarnpkg/berry.git",{description:"The repository that should be cloned"});this.branch=Y.String("--branch","master",{description:"The branch of the repository that should be cloned"});this.plugins=Y.Array("--plugin",[],{description:"An array of additional plugins that should be included in the bundle"});this.noMinify=Y.Boolean("--no-minify",!1,{description:"Build a bundle for development (debugging) - non-minified and non-mangled"});this.force=Y.Boolean("-f,--force",!1,{description:"Always clone the repository instead of trying to fetch the latest commits"});this.skipPlugins=Y.Boolean("--skip-plugins",!1,{description:"Skip updating the contrib plugins"})}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins),{project:r}=await Ke.find(e,this.context.cwd),i=typeof this.installPath!="undefined"?v.resolve(this.context.cwd,M.toPortablePath(this.installPath)):v.resolve(M.toPortablePath((0,rAe.tmpdir)()),"yarnpkg-sources",mn.makeHash(this.repository).slice(0,6));return(await Fe.start({configuration:e,stdout:this.context.stdout},async s=>{await $N(this,{configuration:e,report:s,target:i}),s.reportSeparator(),s.reportInfo(z.UNNAMED,"Building a fresh bundle"),s.reportSeparator(),await xC(eze(this,i),{configuration:e,context:this.context,target:i}),s.reportSeparator();let o=v.resolve(i,"packages/yarnpkg-cli/bundles/yarn.js"),a=await T.readFilePromise(o);await XN(e,"sources",a,{report:s}),this.skipPlugins||await tze(this,{project:r,report:s,target:i})})).exitCode()}};SC.paths=[["set","version","from","sources"]],SC.usage=ye.Usage({description:"build Yarn from master",details:` + This command will clone the Yarn repository into a temporary folder, then build it. The resulting bundle will then be copied into the local project. + + By default, it also updates all contrib plugins to the same commit the bundle is built from. This behavior can be disabled by using the \`--skip-plugins\` flag. + `,examples:[["Build Yarn from master","$0 set version from sources"]]});var nAe=SC;async function xC(t,{configuration:e,context:r,target:i}){for(let[n,...s]of t){let o=s[s.length-1]==="|";if(o&&s.pop(),o)await hr.pipevp(n,s,{cwd:i,stdin:r.stdin,stdout:r.stdout,stderr:r.stderr,strict:!0});else{r.stdout.write(`${ue.pretty(e,` $ ${[n,...s].join(" ")}`,"grey")} +`);try{await hr.execvp(n,s,{cwd:i,strict:!0})}catch(a){throw r.stdout.write(a.stdout||a.stack),a}}}}async function $N(t,{configuration:e,report:r,target:i}){let n=!1;if(!t.force&&T.existsSync(v.join(i,".git"))){r.reportInfo(z.UNNAMED,"Fetching the latest commits"),r.reportSeparator();try{await xC($4e(t),{configuration:e,context:t.context,target:i}),n=!0}catch(s){r.reportSeparator(),r.reportWarning(z.UNNAMED,"Repository update failed; we'll try to regenerate it")}}n||(r.reportInfo(z.UNNAMED,"Cloning the remote repository"),r.reportSeparator(),await T.removePromise(i),await T.mkdirPromise(i,{recursive:!0}),await xC(Z4e(t,i),{configuration:e,context:t.context,target:i}))}async function tze(t,{project:e,report:r,target:i}){let n=await Kc(e.configuration),s=new Set(Object.keys(n));for(let o of e.configuration.plugins.keys())!s.has(o)||await ZN(o,t,{project:e,report:r,target:i})}var sAe=ie(Or()),oAe=ie(require("url")),aAe=ie(require("vm"));var kC=class extends Be{constructor(){super(...arguments);this.name=Y.String()}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins);return(await Fe.start({configuration:e,stdout:this.context.stdout},async i=>{let{project:n}=await Ke.find(e,this.context.cwd),s,o;if(this.name.match(/^\.{0,2}[\\/]/)||M.isAbsolute(this.name)){let a=v.resolve(this.context.cwd,M.toPortablePath(this.name));i.reportInfo(z.UNNAMED,`Reading ${ue.pretty(e,a,ue.Type.PATH)}`),s=v.relative(n.cwd,a),o=await T.readFilePromise(a)}else{let a;if(this.name.match(/^https?:/)){try{new oAe.URL(this.name)}catch{throw new nt(z.INVALID_PLUGIN_REFERENCE,`Plugin specifier "${this.name}" is neither a plugin name nor a valid url`)}s=this.name,a=this.name}else{let l=S.parseLocator(this.name.replace(/^((@yarnpkg\/)?plugin-)?/,"@yarnpkg/plugin-"));if(l.reference!=="unknown"&&!sAe.default.valid(l.reference))throw new nt(z.UNNAMED,"Official plugins only accept strict version references. Use an explicit URL if you wish to download them from another location.");let c=S.stringifyIdent(l),u=await Kc(e);if(!Object.prototype.hasOwnProperty.call(u,c))throw new nt(z.PLUGIN_NAME_NOT_FOUND,`Couldn't find a plugin named "${c}" on the remote registry. Note that only the plugins referenced on our website (https://github.com/yarnpkg/berry/blob/master/plugins.yml) can be referenced by their name; any other plugin will have to be referenced through its public url (for example https://github.com/yarnpkg/berry/raw/master/packages/plugin-typescript/bin/%40yarnpkg/plugin-typescript.js).`);s=c,a=u[c].url,l.reference!=="unknown"?a=a.replace(/\/master\//,`/${c}/${l.reference}/`):Zr!==null&&(a=a.replace(/\/master\//,`/@yarnpkg/cli/${Zr}/`))}i.reportInfo(z.UNNAMED,`Downloading ${ue.pretty(e,a,"green")}`),o=await Zt.get(a,{configuration:e})}await eL(s,o,{project:n,report:i})})).exitCode()}};kC.paths=[["plugin","import"]],kC.usage=ye.Usage({category:"Plugin-related commands",description:"download a plugin",details:` + This command downloads the specified plugin from its remote location and updates the configuration to reference it in further CLI invocations. + + Three types of plugin references are accepted: + + - If the plugin is stored within the Yarn repository, it can be referenced by name. + - Third-party plugins can be referenced directly through their public urls. + - Local plugins can be referenced by their path on the disk. + + Plugins cannot be downloaded from the npm registry, and aren't allowed to have dependencies (they need to be bundled into a single file, possibly thanks to the \`@yarnpkg/builder\` package). + `,examples:[['Download and activate the "@yarnpkg/plugin-exec" plugin',"$0 plugin import @yarnpkg/plugin-exec"],['Download and activate the "@yarnpkg/plugin-exec" plugin (shorthand)',"$0 plugin import exec"],["Download and activate a community plugin","$0 plugin import https://example.org/path/to/plugin.js"],["Activate a local plugin","$0 plugin import ./path/to/plugin.js"]]});var AAe=kC;async function eL(t,e,{project:r,report:i}){let{configuration:n}=r,s={},o={exports:s};(0,aAe.runInNewContext)(e.toString(),{module:o,exports:s});let a=o.exports.name,l=`.yarn/plugins/${a}.cjs`,c=v.resolve(r.cwd,l);i.reportInfo(z.UNNAMED,`Saving the new plugin in ${ue.pretty(n,l,"magenta")}`),await T.mkdirPromise(v.dirname(c),{recursive:!0}),await T.writeFilePromise(c,e);let u={path:l,spec:t};await fe.updateConfiguration(r.cwd,g=>{let f=[],h=!1;for(let p of g.plugins||[]){let d=typeof p!="string"?p.path:p,m=v.resolve(r.cwd,M.toPortablePath(d)),{name:I}=de.dynamicRequire(m);I!==a?f.push(p):(f.push(u),h=!0)}return h||f.push(u),_(P({},g),{plugins:f})})}var rze=({pluginName:t,noMinify:e},r)=>[["yarn",`build:${t}`,...e?["--no-minify"]:[],"|"]],PC=class extends Be{constructor(){super(...arguments);this.installPath=Y.String("--path",{description:"The path where the repository should be cloned to"});this.repository=Y.String("--repository","https://github.com/yarnpkg/berry.git",{description:"The repository that should be cloned"});this.branch=Y.String("--branch","master",{description:"The branch of the repository that should be cloned"});this.noMinify=Y.Boolean("--no-minify",!1,{description:"Build a plugin for development (debugging) - non-minified and non-mangled"});this.force=Y.Boolean("-f,--force",!1,{description:"Always clone the repository instead of trying to fetch the latest commits"});this.name=Y.String()}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins),r=typeof this.installPath!="undefined"?v.resolve(this.context.cwd,M.toPortablePath(this.installPath)):v.resolve(M.toPortablePath((0,lAe.tmpdir)()),"yarnpkg-sources",mn.makeHash(this.repository).slice(0,6));return(await Fe.start({configuration:e,stdout:this.context.stdout},async n=>{let{project:s}=await Ke.find(e,this.context.cwd),o=S.parseIdent(this.name.replace(/^((@yarnpkg\/)?plugin-)?/,"@yarnpkg/plugin-")),a=S.stringifyIdent(o),l=await Kc(e);if(!Object.prototype.hasOwnProperty.call(l,a))throw new nt(z.PLUGIN_NAME_NOT_FOUND,`Couldn't find a plugin named "${a}" on the remote registry. Note that only the plugins referenced on our website (https://github.com/yarnpkg/berry/blob/master/plugins.yml) can be built and imported from sources.`);let c=a;await $N(this,{configuration:e,report:n,target:r}),await ZN(c,this,{project:s,report:n,target:r})})).exitCode()}};PC.paths=[["plugin","import","from","sources"]],PC.usage=ye.Usage({category:"Plugin-related commands",description:"build a plugin from sources",details:` + This command clones the Yarn repository into a temporary folder, builds the specified contrib plugin and updates the configuration to reference it in further CLI invocations. + + The plugins can be referenced by their short name if sourced from the official Yarn repository. + `,examples:[['Build and activate the "@yarnpkg/plugin-exec" plugin',"$0 plugin import from sources @yarnpkg/plugin-exec"],['Build and activate the "@yarnpkg/plugin-exec" plugin (shorthand)',"$0 plugin import from sources exec"]]});var cAe=PC;async function ZN(t,{context:e,noMinify:r},{project:i,report:n,target:s}){let o=t.replace(/@yarnpkg\//,""),{configuration:a}=i;n.reportSeparator(),n.reportInfo(z.UNNAMED,`Building a fresh ${o}`),n.reportSeparator(),await xC(rze({pluginName:o,noMinify:r},s),{configuration:a,context:e,target:s}),n.reportSeparator();let l=v.resolve(s,`packages/${o}/bundles/${t}.js`),c=await T.readFilePromise(l);await eL(t,c,{project:i,report:n})}var DC=class extends Be{constructor(){super(...arguments);this.name=Y.String()}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins),{project:r}=await Ke.find(e,this.context.cwd);return(await Fe.start({configuration:e,stdout:this.context.stdout},async n=>{let s=this.name,o=S.parseIdent(s);if(!e.plugins.has(s))throw new me(`${S.prettyIdent(e,o)} isn't referenced by the current configuration`);let a=`.yarn/plugins/${s}.cjs`,l=v.resolve(r.cwd,a);T.existsSync(l)&&(n.reportInfo(z.UNNAMED,`Removing ${ue.pretty(e,a,ue.Type.PATH)}...`),await T.removePromise(l)),n.reportInfo(z.UNNAMED,"Updating the configuration..."),await fe.updateConfiguration(r.cwd,c=>{if(!Array.isArray(c.plugins))return c;let u=c.plugins.filter(g=>g.path!==a);return c.plugins.length===u.length?c:_(P({},c),{plugins:u})})})).exitCode()}};DC.paths=[["plugin","remove"]],DC.usage=ye.Usage({category:"Plugin-related commands",description:"remove a plugin",details:` + This command deletes the specified plugin from the .yarn/plugins folder and removes it from the configuration. + + **Note:** The plugins have to be referenced by their name property, which can be obtained using the \`yarn plugin runtime\` command. Shorthands are not allowed. + `,examples:[["Remove a plugin imported from the Yarn repository","$0 plugin remove @yarnpkg/plugin-typescript"],["Remove a plugin imported from a local file","$0 plugin remove my-local-plugin"]]});var uAe=DC;var RC=class extends Be{constructor(){super(...arguments);this.json=Y.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins);return(await Fe.start({configuration:e,json:this.json,stdout:this.context.stdout},async i=>{for(let n of e.plugins.keys()){let s=this.context.plugins.plugins.has(n),o=n;s&&(o+=" [builtin]"),i.reportJson({name:n,builtin:s}),i.reportInfo(null,`${o}`)}})).exitCode()}};RC.paths=[["plugin","runtime"]],RC.usage=ye.Usage({category:"Plugin-related commands",description:"list the active plugins",details:` + This command prints the currently active plugins. Will be displayed both builtin plugins and external plugins. + `,examples:[["List the currently active plugins","$0 plugin runtime"]]});var gAe=RC;var FC=class extends Be{constructor(){super(...arguments);this.idents=Y.Rest()}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Ke.find(e,this.context.cwd),n=await Qt.find(e);if(!i)throw new rt(r.cwd,this.context.cwd);let s=new Set;for(let a of this.idents)s.add(S.parseIdent(a).identHash);if(await r.restoreInstallState({restoreResolutions:!1}),await r.resolveEverything({cache:n,report:new ei}),s.size>0)for(let a of r.storedPackages.values())s.has(a.identHash)&&r.storedBuildState.delete(a.locatorHash);else r.storedBuildState.clear();return(await Fe.start({configuration:e,stdout:this.context.stdout,includeLogs:!this.context.quiet},async a=>{await r.install({cache:n,report:a})})).exitCode()}};FC.paths=[["rebuild"]],FC.usage=ye.Usage({description:"rebuild the project's native packages",details:` + This command will automatically cause Yarn to forget about previous compilations of the given packages and to run them again. + + Note that while Yarn forgets the compilation, the previous artifacts aren't erased from the filesystem and may affect the next builds (in good or bad). To avoid this, you may remove the .yarn/unplugged folder, or any other relevant location where packages might have been stored (Yarn may offer a way to do that automatically in the future). + + By default all packages will be rebuilt, but you can filter the list by specifying the names of the packages you want to clear from memory. + `,examples:[["Rebuild all packages","$0 rebuild"],["Rebuild fsevents only","$0 rebuild fsevents"]]});var fAe=FC;var tL=ie(Nn());Ss();var NC=class extends Be{constructor(){super(...arguments);this.all=Y.Boolean("-A,--all",!1,{description:"Apply the operation to all workspaces from the current project"});this.mode=Y.String("--mode",{description:"Change what artifacts installs generate",validator:Yi(li)});this.patterns=Y.Rest()}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Ke.find(e,this.context.cwd),n=await Qt.find(e);if(!i)throw new rt(r.cwd,this.context.cwd);await r.restoreInstallState({restoreResolutions:!1});let s=this.all?r.workspaces:[i],o=[vr.REGULAR,vr.DEVELOPMENT,vr.PEER],a=[],l=!1,c=[];for(let h of this.patterns){let p=!1,d=S.parseIdent(h);for(let m of s){let I=[...m.manifest.peerDependenciesMeta.keys()];for(let B of(0,tL.default)(I,h))m.manifest.peerDependenciesMeta.delete(B),l=!0,p=!0;for(let B of o){let b=m.manifest.getForScope(B),R=[...b.values()].map(H=>S.stringifyIdent(H));for(let H of(0,tL.default)(R,S.stringifyIdent(d))){let{identHash:L}=S.parseIdent(H),K=b.get(L);if(typeof K=="undefined")throw new Error("Assertion failed: Expected the descriptor to be registered");m.manifest[B].delete(L),c.push([m,B,K]),l=!0,p=!0}}}p||a.push(h)}let u=a.length>1?"Patterns":"Pattern",g=a.length>1?"don't":"doesn't",f=this.all?"any":"this";if(a.length>0)throw new me(`${u} ${ue.prettyList(e,a,ps.CODE)} ${g} match any packages referenced by ${f} workspace`);return l?(await e.triggerMultipleHooks(p=>p.afterWorkspaceDependencyRemoval,c),(await Fe.start({configuration:e,stdout:this.context.stdout},async p=>{await r.install({cache:n,report:p,mode:this.mode})})).exitCode()):0}};NC.paths=[["remove"]],NC.usage=ye.Usage({description:"remove dependencies from the project",details:` + This command will remove the packages matching the specified patterns from the current workspace. + + If the \`--mode=\` option is set, Yarn will change which artifacts are generated. The modes currently supported are: + + - \`skip-build\` will not run the build scripts at all. Note that this is different from setting \`enableScripts\` to false because the later will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run. + + - \`update-lockfile\` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost. + + This command accepts glob patterns as arguments (if valid Idents and supported by [micromatch](https://github.com/micromatch/micromatch)). Make sure to escape the patterns, to prevent your own shell from trying to expand them. + `,examples:[["Remove a dependency from the current project","$0 remove lodash"],["Remove a dependency from all workspaces at once","$0 remove lodash --all"],["Remove all dependencies starting with `eslint-`","$0 remove 'eslint-*'"],["Remove all dependencies with the `@babel` scope","$0 remove '@babel/*'"],["Remove all dependencies matching `react-dom` or `react-helmet`","$0 remove 'react-{dom,helmet}'"]]});var hAe=NC;var pAe=ie(require("util")),z0=class extends Be{async execute(){let e=await fe.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Ke.find(e,this.context.cwd);if(!i)throw new rt(r.cwd,this.context.cwd);return(await Fe.start({configuration:e,stdout:this.context.stdout},async s=>{let o=i.manifest.scripts,a=de.sortMap(o.keys(),u=>u),l={breakLength:Infinity,colors:e.get("enableColors"),maxArrayLength:2},c=a.reduce((u,g)=>Math.max(u,g.length),0);for(let[u,g]of o.entries())s.reportInfo(null,`${u.padEnd(c," ")} ${(0,pAe.inspect)(g,l)}`)})).exitCode()}};z0.paths=[["run"]];var dAe=z0;var LC=class extends Be{constructor(){super(...arguments);this.inspect=Y.String("--inspect",!1,{tolerateBoolean:!0,description:"Forwarded to the underlying Node process when executing a binary"});this.inspectBrk=Y.String("--inspect-brk",!1,{tolerateBoolean:!0,description:"Forwarded to the underlying Node process when executing a binary"});this.topLevel=Y.Boolean("-T,--top-level",!1,{description:"Check the root workspace for scripts and/or binaries instead of the current one"});this.binariesOnly=Y.Boolean("-B,--binaries-only",!1,{description:"Ignore any user defined scripts and only check for binaries"});this.silent=Y.Boolean("--silent",{hidden:!0});this.scriptName=Y.String();this.args=Y.Proxy()}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins),{project:r,workspace:i,locator:n}=await Ke.find(e,this.context.cwd);await r.restoreInstallState();let s=this.topLevel?r.topLevelWorkspace.anchoredLocator:n;if(!this.binariesOnly&&await Kt.hasPackageScript(s,this.scriptName,{project:r}))return await Kt.executePackageScript(s,this.scriptName,this.args,{project:r,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr});let o=await Kt.getPackageAccessibleBinaries(s,{project:r});if(o.get(this.scriptName)){let l=[];return this.inspect&&(typeof this.inspect=="string"?l.push(`--inspect=${this.inspect}`):l.push("--inspect")),this.inspectBrk&&(typeof this.inspectBrk=="string"?l.push(`--inspect-brk=${this.inspectBrk}`):l.push("--inspect-brk")),await Kt.executePackageAccessibleBinary(s,this.scriptName,this.args,{cwd:this.context.cwd,project:r,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr,nodeArgs:l,packageAccessibleBinaries:o})}if(!this.topLevel&&!this.binariesOnly&&i&&this.scriptName.includes(":")){let c=(await Promise.all(r.workspaces.map(async u=>u.manifest.scripts.has(this.scriptName)?u:null))).filter(u=>u!==null);if(c.length===1)return await Kt.executeWorkspaceScript(c[0],this.scriptName,this.args,{stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr})}if(this.topLevel)throw this.scriptName==="node-gyp"?new me(`Couldn't find a script name "${this.scriptName}" in the top-level (used by ${S.prettyLocator(e,n)}). This typically happens because some package depends on "node-gyp" to build itself, but didn't list it in their dependencies. To fix that, please run "yarn add node-gyp" into your top-level workspace. You also can open an issue on the repository of the specified package to suggest them to use an optional peer dependency.`):new me(`Couldn't find a script name "${this.scriptName}" in the top-level (used by ${S.prettyLocator(e,n)}).`);{if(this.scriptName==="global")throw new me("The 'yarn global' commands have been removed in 2.x - consider using 'yarn dlx' or a third-party plugin instead");let l=[this.scriptName].concat(this.args);for(let[c,u]of Yg)for(let g of u)if(l.length>=g.length&&JSON.stringify(l.slice(0,g.length))===JSON.stringify(g))throw new me(`Couldn't find a script named "${this.scriptName}", but a matching command can be found in the ${c} plugin. You can install it with "yarn plugin import ${c}".`);throw new me(`Couldn't find a script named "${this.scriptName}".`)}}};LC.paths=[["run"]],LC.usage=ye.Usage({description:"run a script defined in the package.json",details:` + This command will run a tool. The exact tool that will be executed will depend on the current state of your workspace: + + - If the \`scripts\` field from your local package.json contains a matching script name, its definition will get executed. + + - Otherwise, if one of the local workspace's dependencies exposes a binary with a matching name, this binary will get executed. + + - Otherwise, if the specified name contains a colon character and if one of the workspaces in the project contains exactly one script with a matching name, then this script will get executed. + + Whatever happens, the cwd of the spawned process will be the workspace that declares the script (which makes it possible to call commands cross-workspaces using the third syntax). + `,examples:[["Run the tests from the local workspace","$0 run test"],['Same thing, but without the "run" keyword',"$0 test"],["Inspect Webpack while running","$0 run --inspect-brk webpack"]]});var CAe=LC;var TC=class extends Be{constructor(){super(...arguments);this.save=Y.Boolean("-s,--save",!1,{description:"Persist the resolution inside the top-level manifest"});this.descriptor=Y.String();this.resolution=Y.String()}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Ke.find(e,this.context.cwd),n=await Qt.find(e);if(await r.restoreInstallState({restoreResolutions:!1}),!i)throw new rt(r.cwd,this.context.cwd);let s=S.parseDescriptor(this.descriptor,!0),o=S.makeDescriptor(s,this.resolution);return r.storedDescriptors.set(s.descriptorHash,s),r.storedDescriptors.set(o.descriptorHash,o),r.resolutionAliases.set(s.descriptorHash,o.descriptorHash),(await Fe.start({configuration:e,stdout:this.context.stdout},async l=>{await r.install({cache:n,report:l})})).exitCode()}};TC.paths=[["set","resolution"]],TC.usage=ye.Usage({description:"enforce a package resolution",details:'\n This command updates the resolution table so that `descriptor` is resolved by `resolution`.\n\n Note that by default this command only affect the current resolution table - meaning that this "manual override" will disappear if you remove the lockfile, or if the package disappear from the table. If you wish to make the enforced resolution persist whatever happens, add the `-s,--save` flag which will also edit the `resolutions` field from your top-level manifest.\n\n Note that no attempt is made at validating that `resolution` is a valid resolution entry for `descriptor`.\n ',examples:[["Force all instances of lodash@npm:^1.2.3 to resolve to 1.5.0","$0 set resolution lodash@npm:^1.2.3 1.5.0"]]});var mAe=TC;var EAe=ie(Nn()),MC=class extends Be{constructor(){super(...arguments);this.all=Y.Boolean("-A,--all",!1,{description:"Unlink all workspaces belonging to the target project from the current one"});this.leadingArguments=Y.Rest()}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Ke.find(e,this.context.cwd),n=await Qt.find(e);if(!i)throw new rt(r.cwd,this.context.cwd);let s=r.topLevelWorkspace,o=new Set;if(this.leadingArguments.length===0&&this.all)for(let{pattern:l,reference:c}of s.manifest.resolutions)c.startsWith("portal:")&&o.add(l.descriptor.fullName);if(this.leadingArguments.length>0)for(let l of this.leadingArguments){let c=v.resolve(this.context.cwd,M.toPortablePath(l));if(de.isPathLike(l)){let u=await fe.find(c,this.context.plugins,{useRc:!1,strict:!1}),{project:g,workspace:f}=await Ke.find(u,c);if(!f)throw new rt(g.cwd,c);if(this.all){for(let h of g.workspaces)h.manifest.name&&o.add(S.stringifyIdent(h.locator));if(o.size===0)throw new me("No workspace found to be unlinked in the target project")}else{if(!f.manifest.name)throw new me("The target workspace doesn't have a name and thus cannot be unlinked");o.add(S.stringifyIdent(f.locator))}}else{let u=[...s.manifest.resolutions.map(({pattern:g})=>g.descriptor.fullName)];for(let g of(0,EAe.default)(u,l))o.add(g)}}return s.manifest.resolutions=s.manifest.resolutions.filter(({pattern:l})=>!o.has(l.descriptor.fullName)),(await Fe.start({configuration:e,stdout:this.context.stdout},async l=>{await r.install({cache:n,report:l})})).exitCode()}};MC.paths=[["unlink"]],MC.usage=ye.Usage({description:"disconnect the local project from another one",details:` + This command will remove any resolutions in the project-level manifest that would have been added via a yarn link with similar arguments. + `,examples:[["Unregister a remote workspace in the current project","$0 unlink ~/ts-loader"],["Unregister all workspaces from a remote project in the current project","$0 unlink ~/jest --all"],["Unregister all previously linked workspaces","$0 unlink --all"],["Unregister all workspaces matching a glob","$0 unlink '@babel/*' 'pkg-{a,b}'"]]});var IAe=MC;var yAe=ie(aC()),rL=ie(Nn());Ss();var uf=class extends Be{constructor(){super(...arguments);this.interactive=Y.Boolean("-i,--interactive",{description:"Offer various choices, depending on the detected upgrade paths"});this.exact=Y.Boolean("-E,--exact",!1,{description:"Don't use any semver modifier on the resolved range"});this.tilde=Y.Boolean("-T,--tilde",!1,{description:"Use the `~` semver modifier on the resolved range"});this.caret=Y.Boolean("-C,--caret",!1,{description:"Use the `^` semver modifier on the resolved range"});this.recursive=Y.Boolean("-R,--recursive",!1,{description:"Resolve again ALL resolutions for those packages"});this.mode=Y.String("--mode",{description:"Change what artifacts installs generate",validator:Yi(li)});this.patterns=Y.Rest()}async execute(){return this.recursive?await this.executeUpRecursive():await this.executeUpClassic()}async executeUpRecursive(){let e=await fe.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Ke.find(e,this.context.cwd),n=await Qt.find(e);if(!i)throw new rt(r.cwd,this.context.cwd);await r.restoreInstallState({restoreResolutions:!1});let s=[...r.storedDescriptors.values()],o=s.map(u=>S.stringifyIdent(u)),a=new Set;for(let u of this.patterns){if(S.parseDescriptor(u).range!=="unknown")throw new me("Ranges aren't allowed when using --recursive");for(let g of(0,rL.default)(o,u)){let f=S.parseIdent(g);a.add(f.identHash)}}let l=s.filter(u=>a.has(u.identHash));for(let u of l)r.storedDescriptors.delete(u.descriptorHash),r.storedResolutions.delete(u.descriptorHash);return(await Fe.start({configuration:e,stdout:this.context.stdout},async u=>{await r.install({cache:n,report:u})})).exitCode()}async executeUpClassic(){var d;let e=await fe.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Ke.find(e,this.context.cwd),n=await Qt.find(e);if(!i)throw new rt(r.cwd,this.context.cwd);await r.restoreInstallState({restoreResolutions:!1});let s=(d=this.interactive)!=null?d:e.get("preferInteractive"),o=AC(this,r),a=s?[Fr.KEEP,Fr.REUSE,Fr.PROJECT,Fr.LATEST]:[Fr.PROJECT,Fr.LATEST],l=[],c=[];for(let m of this.patterns){let I=!1,B=S.parseDescriptor(m);for(let b of r.workspaces)for(let R of[vr.REGULAR,vr.DEVELOPMENT]){let L=[...b.manifest.getForScope(R).values()].map(K=>S.stringifyIdent(K));for(let K of(0,rL.default)(L,S.stringifyIdent(B))){let J=S.parseIdent(K),ne=b.manifest[R].get(J.identHash);if(typeof ne=="undefined")throw new Error("Assertion failed: Expected the descriptor to be registered");let q=S.makeDescriptor(J,B.range);l.push(Promise.resolve().then(async()=>[b,R,ne,await lC(q,{project:r,workspace:b,cache:n,target:R,modifier:o,strategies:a})])),I=!0}}I||c.push(m)}if(c.length>1)throw new me(`Patterns ${ue.prettyList(e,c,ps.CODE)} don't match any packages referenced by any workspace`);if(c.length>0)throw new me(`Pattern ${ue.prettyList(e,c,ps.CODE)} doesn't match any packages referenced by any workspace`);let u=await Promise.all(l),g=await Fa.start({configuration:e,stdout:this.context.stdout,suggestInstall:!1},async m=>{for(let[,,I,{suggestions:B,rejections:b}]of u){let R=B.filter(H=>H.descriptor!==null);if(R.length===0){let[H]=b;if(typeof H=="undefined")throw new Error("Assertion failed: Expected an error to have been set");let L=this.cli.error(H);r.configuration.get("enableNetwork")?m.reportError(z.CANT_SUGGEST_RESOLUTIONS,`${S.prettyDescriptor(e,I)} can't be resolved to a satisfying range + +${L}`):m.reportError(z.CANT_SUGGEST_RESOLUTIONS,`${S.prettyDescriptor(e,I)} can't be resolved to a satisfying range (note: network resolution has been disabled) + +${L}`)}else R.length>1&&!s&&m.reportError(z.CANT_SUGGEST_RESOLUTIONS,`${S.prettyDescriptor(e,I)} has multiple possible upgrade strategies; use -i to disambiguate manually`)}});if(g.hasErrors())return g.exitCode();let f=!1,h=[];for(let[m,I,,{suggestions:B}]of u){let b,R=B.filter(J=>J.descriptor!==null),H=R[0].descriptor,L=R.every(J=>S.areDescriptorsEqual(J.descriptor,H));R.length===1||L?b=H:(f=!0,{answer:b}=await(0,yAe.prompt)({type:"select",name:"answer",message:`Which range to you want to use in ${S.prettyWorkspace(e,m)} \u276F ${I}?`,choices:B.map(({descriptor:J,name:ne,reason:q})=>J?{name:ne,hint:q,descriptor:J}:{name:ne,hint:q,disabled:!0}),onCancel:()=>process.exit(130),result(J){return this.find(J,"descriptor")},stdin:this.context.stdin,stdout:this.context.stdout}));let K=m.manifest[I].get(b.identHash);if(typeof K=="undefined")throw new Error("Assertion failed: This descriptor should have a matching entry");if(K.descriptorHash!==b.descriptorHash)m.manifest[I].set(b.identHash,b),h.push([m,I,K,b]);else{let J=e.makeResolver(),ne={project:r,resolver:J},q=J.bindDescriptor(K,m.anchoredLocator,ne);r.forgetResolution(q)}}return await e.triggerMultipleHooks(m=>m.afterWorkspaceDependencyReplacement,h),f&&this.context.stdout.write(` +`),(await Fe.start({configuration:e,stdout:this.context.stdout},async m=>{await r.install({cache:n,report:m,mode:this.mode})})).exitCode()}};uf.paths=[["up"]],uf.usage=ye.Usage({description:"upgrade dependencies across the project",details:"\n This command upgrades the packages matching the list of specified patterns to their latest available version across the whole project (regardless of whether they're part of `dependencies` or `devDependencies` - `peerDependencies` won't be affected). This is a project-wide command: all workspaces will be upgraded in the process.\n\n If `-R,--recursive` is set the command will change behavior and no other switch will be allowed. When operating under this mode `yarn up` will force all ranges matching the selected packages to be resolved again (often to the highest available versions) before being stored in the lockfile. It however won't touch your manifests anymore, so depending on your needs you might want to run both `yarn up` and `yarn up -R` to cover all bases.\n\n If `-i,--interactive` is set (or if the `preferInteractive` settings is toggled on) the command will offer various choices, depending on the detected upgrade paths. Some upgrades require this flag in order to resolve ambiguities.\n\n The, `-C,--caret`, `-E,--exact` and `-T,--tilde` options have the same meaning as in the `add` command (they change the modifier used when the range is missing or a tag, and are ignored when the range is explicitly set).\n\n If the `--mode=` option is set, Yarn will change which artifacts are generated. The modes currently supported are:\n\n - `skip-build` will not run the build scripts at all. Note that this is different from setting `enableScripts` to false because the later will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run.\n\n - `update-lockfile` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost.\n\n Generally you can see `yarn up` as a counterpart to what was `yarn upgrade --latest` in Yarn 1 (ie it ignores the ranges previously listed in your manifests), but unlike `yarn upgrade` which only upgraded dependencies in the current workspace, `yarn up` will upgrade all workspaces at the same time.\n\n This command accepts glob patterns as arguments (if valid Descriptors and supported by [micromatch](https://github.com/micromatch/micromatch)). Make sure to escape the patterns, to prevent your own shell from trying to expand them.\n\n **Note:** The ranges have to be static, only the package scopes and names can contain glob patterns.\n ",examples:[["Upgrade all instances of lodash to the latest release","$0 up lodash"],["Upgrade all instances of lodash to the latest release, but ask confirmation for each","$0 up lodash -i"],["Upgrade all instances of lodash to 1.2.3","$0 up lodash@1.2.3"],["Upgrade all instances of packages with the `@babel` scope to the latest release","$0 up '@babel/*'"],["Upgrade all instances of packages containing the word `jest` to the latest release","$0 up '*jest*'"],["Upgrade all instances of packages with the `@babel` scope to 7.0.0","$0 up '@babel/*@7.0.0'"]]}),uf.schema=[pv("recursive",Bl.Forbids,["interactive","exact","tilde","caret"],{ignore:[void 0,!1]})];var wAe=uf;var OC=class extends Be{constructor(){super(...arguments);this.recursive=Y.Boolean("-R,--recursive",!1,{description:"List, for each workspace, what are all the paths that lead to the dependency"});this.json=Y.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.peers=Y.Boolean("--peers",!1,{description:"Also print the peer dependencies that match the specified name"});this.package=Y.String()}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Ke.find(e,this.context.cwd);if(!i)throw new rt(r.cwd,this.context.cwd);await r.restoreInstallState();let n=S.parseIdent(this.package).identHash,s=this.recursive?nze(r,n,{configuration:e,peers:this.peers}):ize(r,n,{configuration:e,peers:this.peers});Hs.emitTree(s,{configuration:e,stdout:this.context.stdout,json:this.json,separators:1})}};OC.paths=[["why"]],OC.usage=ye.Usage({description:"display the reason why a package is needed",details:` + This command prints the exact reasons why a package appears in the dependency tree. + + If \`-R,--recursive\` is set, the listing will go in depth and will list, for each workspaces, what are all the paths that lead to the dependency. Note that the display is somewhat optimized in that it will not print the package listing twice for a single package, so if you see a leaf named "Foo" when looking for "Bar", it means that "Foo" already got printed higher in the tree. + `,examples:[["Explain why lodash is used in your project","$0 why lodash"]]});var BAe=OC;function ize(t,e,{configuration:r,peers:i}){let n=de.sortMap(t.storedPackages.values(),a=>S.stringifyLocator(a)),s={},o={children:s};for(let a of n){let l={},c=null;for(let u of a.dependencies.values()){if(!i&&a.peerDependencies.has(u.identHash))continue;let g=t.storedResolutions.get(u.descriptorHash);if(!g)throw new Error("Assertion failed: The resolution should have been registered");let f=t.storedPackages.get(g);if(!f)throw new Error("Assertion failed: The package should have been registered");if(f.identHash!==e)continue;if(c===null){let p=S.stringifyLocator(a);s[p]={value:[a,ue.Type.LOCATOR],children:l}}let h=S.stringifyLocator(f);l[h]={value:[{descriptor:u,locator:f},ue.Type.DEPENDENT]}}}return o}function nze(t,e,{configuration:r,peers:i}){let n=de.sortMap(t.workspaces,f=>S.stringifyLocator(f.anchoredLocator)),s=new Set,o=new Set,a=f=>{if(s.has(f.locatorHash))return o.has(f.locatorHash);if(s.add(f.locatorHash),f.identHash===e)return o.add(f.locatorHash),!0;let h=!1;f.identHash===e&&(h=!0);for(let p of f.dependencies.values()){if(!i&&f.peerDependencies.has(p.identHash))continue;let d=t.storedResolutions.get(p.descriptorHash);if(!d)throw new Error("Assertion failed: The resolution should have been registered");let m=t.storedPackages.get(d);if(!m)throw new Error("Assertion failed: The package should have been registered");a(m)&&(h=!0)}return h&&o.add(f.locatorHash),h};for(let f of n){let h=t.storedPackages.get(f.anchoredLocator.locatorHash);if(!h)throw new Error("Assertion failed: The package should have been registered");a(h)}let l=new Set,c={},u={children:c},g=(f,h,p)=>{if(!o.has(f.locatorHash))return;let d=p!==null?ue.tuple(ue.Type.DEPENDENT,{locator:f,descriptor:p}):ue.tuple(ue.Type.LOCATOR,f),m={},I={value:d,children:m},B=S.stringifyLocator(f);if(h[B]=I,!l.has(f.locatorHash)&&(l.add(f.locatorHash),!(p!==null&&t.tryWorkspaceByLocator(f))))for(let b of f.dependencies.values()){if(!i&&f.peerDependencies.has(b.identHash))continue;let R=t.storedResolutions.get(b.descriptorHash);if(!R)throw new Error("Assertion failed: The resolution should have been registered");let H=t.storedPackages.get(R);if(!H)throw new Error("Assertion failed: The package should have been registered");g(H,m,b)}};for(let f of n){let h=t.storedPackages.get(f.anchoredLocator.locatorHash);if(!h)throw new Error("Assertion failed: The package should have been registered");g(h,c,null)}return u}var fL={};it(fL,{default:()=>wze,gitUtils:()=>Uc});var Uc={};it(Uc,{TreeishProtocols:()=>vn,clone:()=>cL,fetchBase:()=>jAe,fetchChangedFiles:()=>YAe,fetchChangedWorkspaces:()=>Ize,fetchRoot:()=>GAe,isGitUrl:()=>ff,lsRemote:()=>HAe,normalizeLocator:()=>AL,normalizeRepoUrl:()=>KC,resolveUrl:()=>lL,splitRepoUrl:()=>UC});var oL=ie(OAe()),gf=ie(require("querystring")),aL=ie(Or()),KAe=ie(require("url"));function UAe(){return _(P({},process.env),{GIT_SSH_COMMAND:"ssh -o BatchMode=yes"})}var Eze=[/^ssh:/,/^git(?:\+[^:]+)?:/,/^(?:git\+)?https?:[^#]+\/[^#]+(?:\.git)(?:#.*)?$/,/^git@[^#]+\/[^#]+\.git(?:#.*)?$/,/^(?:github:|https:\/\/github\.com\/)?(?!\.{1,2}\/)([a-zA-Z._0-9-]+)\/(?!\.{1,2}(?:#|$))([a-zA-Z._0-9-]+?)(?:\.git)?(?:#.*)?$/,/^https:\/\/github\.com\/(?!\.{1,2}\/)([a-zA-Z0-9._-]+)\/(?!\.{1,2}(?:#|$))([a-zA-Z0-9._-]+?)\/tarball\/(.+)?$/],vn;(function(n){n.Commit="commit",n.Head="head",n.Tag="tag",n.Semver="semver"})(vn||(vn={}));function ff(t){return t?Eze.some(e=>!!t.match(e)):!1}function UC(t){t=KC(t);let e=t.indexOf("#");if(e===-1)return{repo:t,treeish:{protocol:vn.Head,request:"HEAD"},extra:{}};let r=t.slice(0,e),i=t.slice(e+1);if(i.match(/^[a-z]+=/)){let n=gf.default.parse(i);for(let[l,c]of Object.entries(n))if(typeof c!="string")throw new Error(`Assertion failed: The ${l} parameter must be a literal string`);let s=Object.values(vn).find(l=>Object.prototype.hasOwnProperty.call(n,l)),o,a;typeof s!="undefined"?(o=s,a=n[s]):(o=vn.Head,a="HEAD");for(let l of Object.values(vn))delete n[l];return{repo:r,treeish:{protocol:o,request:a},extra:n}}else{let n=i.indexOf(":"),s,o;return n===-1?(s=null,o=i):(s=i.slice(0,n),o=i.slice(n+1)),{repo:r,treeish:{protocol:s,request:o},extra:{}}}}function KC(t,{git:e=!1}={}){var r;if(t=t.replace(/^git\+https:/,"https:"),t=t.replace(/^(?:github:|https:\/\/github\.com\/)?(?!\.{1,2}\/)([a-zA-Z0-9._-]+)\/(?!\.{1,2}(?:#|$))([a-zA-Z0-9._-]+?)(?:\.git)?(#.*)?$/,"https://github.com/$1/$2.git$3"),t=t.replace(/^https:\/\/github\.com\/(?!\.{1,2}\/)([a-zA-Z0-9._-]+)\/(?!\.{1,2}(?:#|$))([a-zA-Z0-9._-]+?)\/tarball\/(.+)?$/,"https://github.com/$1/$2.git#$3"),e){t=t.replace(/^git\+([^:]+):/,"$1:");let i;try{i=KAe.default.parse(t)}catch{i=null}i&&i.protocol==="ssh:"&&((r=i.path)==null?void 0:r.startsWith("/:"))&&(t=t.replace(/^ssh:\/\//,""))}return t}function AL(t){return S.makeLocator(t,KC(t.reference))}async function HAe(t,e){let r=KC(t,{git:!0});if(!Zt.getNetworkSettings(`https://${(0,oL.default)(r).resource}`,{configuration:e}).enableNetwork)throw new Error(`Request to '${r}' has been blocked because of your configuration settings`);let n;try{n=await hr.execvp("git",["ls-remote",r],{cwd:e.startingCwd,env:UAe(),strict:!0})}catch(l){throw l.message=`Listing the refs for ${t} failed`,l}let s=new Map,o=/^([a-f0-9]{40})\t([^\n]+)/gm,a;for(;(a=o.exec(n.stdout))!==null;)s.set(a[2],a[1]);return s}async function lL(t,e){let{repo:r,treeish:{protocol:i,request:n},extra:s}=UC(t),o=await HAe(r,e),a=(c,u)=>{switch(c){case vn.Commit:{if(!u.match(/^[a-f0-9]{40}$/))throw new Error("Invalid commit hash");return gf.default.stringify(_(P({},s),{commit:u}))}case vn.Head:{let g=o.get(u==="HEAD"?u:`refs/heads/${u}`);if(typeof g=="undefined")throw new Error(`Unknown head ("${u}")`);return gf.default.stringify(_(P({},s),{commit:g}))}case vn.Tag:{let g=o.get(`refs/tags/${u}`);if(typeof g=="undefined")throw new Error(`Unknown tag ("${u}")`);return gf.default.stringify(_(P({},s),{commit:g}))}case vn.Semver:{let g=qt.validRange(u);if(!g)throw new Error(`Invalid range ("${u}")`);let f=new Map([...o.entries()].filter(([p])=>p.startsWith("refs/tags/")).map(([p,d])=>[aL.default.parse(p.slice(10)),d]).filter(p=>p[0]!==null)),h=aL.default.maxSatisfying([...f.keys()],g);if(h===null)throw new Error(`No matching range ("${u}")`);return gf.default.stringify(_(P({},s),{commit:f.get(h)}))}case null:{let g;if((g=l(vn.Commit,u))!==null||(g=l(vn.Tag,u))!==null||(g=l(vn.Head,u))!==null)return g;throw u.match(/^[a-f0-9]+$/)?new Error(`Couldn't resolve "${u}" as either a commit, a tag, or a head - if a commit, use the 40-characters commit hash`):new Error(`Couldn't resolve "${u}" as either a commit, a tag, or a head`)}default:throw new Error(`Invalid Git resolution protocol ("${c}")`)}},l=(c,u)=>{try{return a(c,u)}catch(g){return null}};return`${r}#${a(i,n)}`}async function cL(t,e){return await e.getLimit("cloneConcurrency")(async()=>{let{repo:r,treeish:{protocol:i,request:n}}=UC(t);if(i!=="commit")throw new Error("Invalid treeish protocol when cloning");let s=KC(r,{git:!0});if(Zt.getNetworkSettings(`https://${(0,oL.default)(s).resource}`,{configuration:e}).enableNetwork===!1)throw new Error(`Request to '${s}' has been blocked because of your configuration settings`);let o=await T.mktempPromise(),a={cwd:o,env:UAe(),strict:!0};try{await hr.execvp("git",["clone","-c core.autocrlf=false",s,M.fromPortablePath(o)],a),await hr.execvp("git",["checkout",`${n}`],a)}catch(l){throw l.message=`Repository clone failed: ${l.message}`,l}return o})}async function GAe(t){let e=null,r,i=t;do r=i,await T.existsPromise(v.join(r,".git"))&&(e=r),i=v.dirname(r);while(e===null&&i!==r);return e}async function jAe(t,{baseRefs:e}){if(e.length===0)throw new me("Can't run this command with zero base refs specified.");let r=[];for(let a of e){let{code:l}=await hr.execvp("git",["merge-base",a,"HEAD"],{cwd:t});l===0&&r.push(a)}if(r.length===0)throw new me(`No ancestor could be found between any of HEAD and ${e.join(", ")}`);let{stdout:i}=await hr.execvp("git",["merge-base","HEAD",...r],{cwd:t,strict:!0}),n=i.trim(),{stdout:s}=await hr.execvp("git",["show","--quiet","--pretty=format:%s",n],{cwd:t,strict:!0}),o=s.trim();return{hash:n,title:o}}async function YAe(t,{base:e,project:r}){let i=de.buildIgnorePattern(r.configuration.get("changesetIgnorePatterns")),{stdout:n}=await hr.execvp("git",["diff","--name-only",`${e}`],{cwd:t,strict:!0}),s=n.split(/\r\n|\r|\n/).filter(c=>c.length>0).map(c=>v.resolve(t,M.toPortablePath(c))),{stdout:o}=await hr.execvp("git",["ls-files","--others","--exclude-standard"],{cwd:t,strict:!0}),a=o.split(/\r\n|\r|\n/).filter(c=>c.length>0).map(c=>v.resolve(t,M.toPortablePath(c))),l=[...new Set([...s,...a].sort())];return i?l.filter(c=>!v.relative(r.cwd,c).match(i)):l}async function Ize({ref:t,project:e}){if(e.configuration.projectCwd===null)throw new me("This command can only be run from within a Yarn project");let r=[v.resolve(e.cwd,e.configuration.get("cacheFolder")),v.resolve(e.cwd,e.configuration.get("installStatePath")),v.resolve(e.cwd,e.configuration.get("lockfileFilename")),v.resolve(e.cwd,e.configuration.get("virtualFolder"))];await e.configuration.triggerHook(o=>o.populateYarnPaths,e,o=>{o!=null&&r.push(o)});let i=await GAe(e.configuration.projectCwd);if(i==null)throw new me("This command can only be run on Git repositories");let n=await jAe(i,{baseRefs:typeof t=="string"?[t]:e.configuration.get("changesetBaseRefs")}),s=await YAe(i,{base:n.hash,project:e});return new Set(de.mapAndFilter(s,o=>{let a=e.tryWorkspaceByFilePath(o);return a===null?de.mapAndFilter.skip:r.some(l=>o.startsWith(l))?de.mapAndFilter.skip:a}))}var uL=class{supports(e,r){return ff(e.reference)}getLocalPath(e,r){return null}async fetch(e,r){let i=r.checksums.get(e.locatorHash)||null,n=AL(e),s=new Map(r.checksums);s.set(n.locatorHash,i);let o=_(P({},r),{checksums:s}),a=await this.downloadHosted(n,o);if(a!==null)return a;let[l,c,u]=await r.cache.fetchPackageFromCache(e,i,P({onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${S.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the remote repository`),loader:()=>this.cloneFromRemote(n,o),skipIntegrityCheck:r.skipIntegrityCheck},r.cacheOptions));return{packageFs:l,releaseFs:c,prefixPath:S.getIdentVendorPath(e),checksum:u}}async downloadHosted(e,r){return r.project.configuration.reduceHook(i=>i.fetchHostedRepository,null,e,r)}async cloneFromRemote(e,r){let i=await cL(e.reference,r.project.configuration),n=UC(e.reference),s=v.join(i,"package.tgz");await Kt.prepareExternalProject(i,s,{configuration:r.project.configuration,report:r.report,workspace:n.extra.workspace,locator:e});let o=await T.readFilePromise(s);return await de.releaseAfterUseAsync(async()=>await Ai.convertToZip(o,{compressionLevel:r.project.configuration.get("compressionLevel"),prefixPath:S.getIdentVendorPath(e),stripComponents:1}))}};var gL=class{supportsDescriptor(e,r){return ff(e.range)}supportsLocator(e,r){return ff(e.reference)}shouldPersistResolution(e,r){return!0}bindDescriptor(e,r,i){return e}getResolutionDependencies(e,r){return[]}async getCandidates(e,r,i){let n=await lL(e.range,i.project.configuration);return[S.makeLocator(e,n)]}async getSatisfying(e,r,i){return null}async resolve(e,r){if(!r.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let i=await r.fetchOptions.fetcher.fetch(e,r.fetchOptions),n=await de.releaseAfterUseAsync(async()=>await Ze.find(i.prefixPath,{baseFs:i.packageFs}),i.releaseFs);return _(P({},e),{version:n.version||"0.0.0",languageName:n.languageName||r.project.configuration.get("defaultLanguageName"),linkType:gt.HARD,conditions:n.getConditions(),dependencies:n.dependencies,peerDependencies:n.peerDependencies,dependenciesMeta:n.dependenciesMeta,peerDependenciesMeta:n.peerDependenciesMeta,bin:n.bin})}};var yze={configuration:{changesetBaseRefs:{description:"The base git refs that the current HEAD is compared against when detecting changes. Supports git branches, tags, and commits.",type:ge.STRING,isArray:!0,isNullable:!1,default:["master","origin/master","upstream/master","main","origin/main","upstream/main"]},changesetIgnorePatterns:{description:"Array of glob patterns; files matching them will be ignored when fetching the changed files",type:ge.STRING,default:[],isArray:!0},cloneConcurrency:{description:"Maximal number of concurrent clones",type:ge.NUMBER,default:2}},fetchers:[uL],resolvers:[gL]};var wze=yze;var HC=class extends Be{constructor(){super(...arguments);this.since=Y.String("--since",{description:"Only include workspaces that have been changed since the specified ref.",tolerateBoolean:!0});this.recursive=Y.Boolean("-R,--recursive",!1,{description:"Find packages via dependencies/devDependencies instead of using the workspaces field"});this.verbose=Y.Boolean("-v,--verbose",!1,{description:"Also return the cross-dependencies between workspaces"});this.json=Y.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins),{project:r}=await Ke.find(e,this.context.cwd);return(await Fe.start({configuration:e,json:this.json,stdout:this.context.stdout},async n=>{let s=this.since?await Uc.fetchChangedWorkspaces({ref:this.since,project:r}):r.workspaces,o=new Set(s);if(this.recursive)for(let a of[...s].map(l=>l.getRecursiveWorkspaceDependents()))for(let l of a)o.add(l);for(let a of o){let{manifest:l}=a,c;if(this.verbose){let u=new Set,g=new Set;for(let f of Ze.hardDependencies)for(let[h,p]of l.getForScope(f)){let d=r.tryWorkspaceByDescriptor(p);d===null?r.workspacesByIdent.has(h)&&g.add(p):u.add(d)}c={workspaceDependencies:Array.from(u).map(f=>f.relativeCwd),mismatchedWorkspaceDependencies:Array.from(g).map(f=>S.stringifyDescriptor(f))}}n.reportInfo(null,`${a.relativeCwd}`),n.reportJson(P({location:a.relativeCwd,name:l.name?S.stringifyIdent(l.name):null},c))}})).exitCode()}};HC.paths=[["workspaces","list"]],HC.usage=ye.Usage({category:"Workspace-related commands",description:"list all available workspaces",details:"\n This command will print the list of all workspaces in the project.\n\n - If `--since` is set, Yarn will only list workspaces that have been modified since the specified ref. By default Yarn will use the refs specified by the `changesetBaseRefs` configuration option.\n\n - If `-R,--recursive` is set, Yarn will find workspaces to run the command on by recursively evaluating `dependencies` and `devDependencies` fields, instead of looking at the `workspaces` fields.\n\n - If both the `-v,--verbose` and `--json` options are set, Yarn will also return the cross-dependencies between each workspaces (useful when you wish to automatically generate Buck / Bazel rules).\n "});var qAe=HC;var GC=class extends Be{constructor(){super(...arguments);this.workspaceName=Y.String();this.commandName=Y.String();this.args=Y.Proxy()}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Ke.find(e,this.context.cwd);if(!i)throw new rt(r.cwd,this.context.cwd);let n=r.workspaces,s=new Map(n.map(a=>{let l=S.convertToIdent(a.locator);return[S.stringifyIdent(l),a]})),o=s.get(this.workspaceName);if(o===void 0){let a=Array.from(s.keys()).sort();throw new me(`Workspace '${this.workspaceName}' not found. Did you mean any of the following: + - ${a.join(` + - `)}?`)}return this.cli.run([this.commandName,...this.args],{cwd:o.cwd})}};GC.paths=[["workspace"]],GC.usage=ye.Usage({category:"Workspace-related commands",description:"run a command within the specified workspace",details:` + This command will run a given sub-command on a single workspace. + `,examples:[["Add a package to a single workspace","yarn workspace components add -D react"],["Run build script on a single workspace","yarn workspace components run build"]]});var JAe=GC;var Bze={configuration:{enableImmutableInstalls:{description:"If true (the default on CI), prevents the install command from modifying the lockfile",type:ge.BOOLEAN,default:WAe.isCI},defaultSemverRangePrefix:{description:"The default save prefix: '^', '~' or ''",type:ge.STRING,values:["^","~",""],default:Lo.CARET}},commands:[soe,aoe,wae,Nae,mAe,nAe,tAe,qAe,Uae,Hae,Gae,jae,ioe,noe,Lae,Mae,Yae,qae,Wae,zae,_ae,IAe,Xae,cAe,AAe,uAe,Zae,gAe,fAe,hAe,dAe,CAe,wAe,BAe,JAe]},Qze=Bze;var mL={};it(mL,{default:()=>vze});var Me={optional:!0},zAe=[["@tailwindcss/aspect-ratio@<0.2.1",{peerDependencies:{tailwindcss:"^2.0.2"}}],["@tailwindcss/line-clamp@<0.2.1",{peerDependencies:{tailwindcss:"^2.0.2"}}],["@fullhuman/postcss-purgecss@3.1.3 || 3.1.3-alpha.0",{peerDependencies:{postcss:"^8.0.0"}}],["@samverschueren/stream-to-observable@<0.3.1",{peerDependenciesMeta:{rxjs:Me,zenObservable:Me}}],["any-observable@<0.5.1",{peerDependenciesMeta:{rxjs:Me,zenObservable:Me}}],["@pm2/agent@<1.0.4",{dependencies:{debug:"*"}}],["debug@<4.2.0",{peerDependenciesMeta:{["supports-color"]:Me}}],["got@<11",{dependencies:{["@types/responselike"]:"^1.0.0",["@types/keyv"]:"^3.1.1"}}],["cacheable-lookup@<4.1.2",{dependencies:{["@types/keyv"]:"^3.1.1"}}],["http-link-dataloader@*",{peerDependencies:{graphql:"^0.13.1 || ^14.0.0"}}],["typescript-language-server@*",{dependencies:{["vscode-jsonrpc"]:"^5.0.1",["vscode-languageserver-protocol"]:"^3.15.0"}}],["postcss-syntax@*",{peerDependenciesMeta:{["postcss-html"]:Me,["postcss-jsx"]:Me,["postcss-less"]:Me,["postcss-markdown"]:Me,["postcss-scss"]:Me}}],["jss-plugin-rule-value-function@<=10.1.1",{dependencies:{["tiny-warning"]:"^1.0.2"}}],["ink-select-input@<4.1.0",{peerDependencies:{react:"^16.8.2"}}],["license-webpack-plugin@<2.3.18",{peerDependenciesMeta:{webpack:Me}}],["snowpack@>=3.3.0",{dependencies:{["node-gyp"]:"^7.1.0"}}],["promise-inflight@*",{peerDependenciesMeta:{bluebird:Me}}],["reactcss@*",{peerDependencies:{react:"*"}}],["react-color@<=2.19.0",{peerDependencies:{react:"*"}}],["gatsby-plugin-i18n@*",{dependencies:{ramda:"^0.24.1"}}],["useragent@^2.0.0",{dependencies:{request:"^2.88.0",yamlparser:"0.0.x",semver:"5.5.x"}}],["@apollographql/apollo-tools@*",{peerDependencies:{graphql:"^14.2.1 || ^15.0.0"}}],["material-table@^2.0.0",{dependencies:{"@babel/runtime":"^7.11.2"}}],["@babel/parser@*",{dependencies:{"@babel/types":"^7.8.3"}}],["fork-ts-checker-webpack-plugin@<=6.3.4",{peerDependencies:{eslint:">= 6",typescript:">= 2.7",webpack:">= 4","vue-template-compiler":"*"},peerDependenciesMeta:{eslint:Me,"vue-template-compiler":Me}}],["rc-animate@<=3.1.1",{peerDependencies:{react:">=16.9.0","react-dom":">=16.9.0"}}],["react-bootstrap-table2-paginator@*",{dependencies:{classnames:"^2.2.6"}}],["react-draggable@<=4.4.3",{peerDependencies:{react:">= 16.3.0","react-dom":">= 16.3.0"}}],["apollo-upload-client@<14",{peerDependencies:{graphql:"14 - 15"}}],["react-instantsearch-core@<=6.7.0",{peerDependencies:{algoliasearch:">= 3.1 < 5"}}],["react-instantsearch-dom@<=6.7.0",{dependencies:{"react-fast-compare":"^3.0.0"}}],["ws@<7.2.1",{peerDependencies:{bufferutil:"^4.0.1","utf-8-validate":"^5.0.2"},peerDependenciesMeta:{bufferutil:Me,"utf-8-validate":Me}}],["react-portal@*",{peerDependencies:{"react-dom":"^15.0.0-0 || ^16.0.0-0 || ^17.0.0-0"}}],["react-scripts@<=4.0.1",{peerDependencies:{react:"*"}}],["testcafe@<=1.10.1",{dependencies:{"@babel/plugin-transform-for-of":"^7.12.1","@babel/runtime":"^7.12.5"}}],["testcafe-legacy-api@<=4.2.0",{dependencies:{"testcafe-hammerhead":"^17.0.1","read-file-relative":"^1.2.0"}}],["@google-cloud/firestore@<=4.9.3",{dependencies:{protobufjs:"^6.8.6"}}],["gatsby-source-apiserver@*",{dependencies:{["babel-polyfill"]:"^6.26.0"}}],["@webpack-cli/package-utils@<=1.0.1-alpha.4",{dependencies:{["cross-spawn"]:"^7.0.3"}}],["gatsby-remark-prismjs@<3.3.28",{dependencies:{lodash:"^4"}}],["gatsby-plugin-favicon@*",{peerDependencies:{webpack:"*"}}],["gatsby-plugin-sharp@*",{dependencies:{debug:"^4.3.1"}}],["gatsby-react-router-scroll@*",{dependencies:{["prop-types"]:"^15.7.2"}}],["@rebass/forms@*",{dependencies:{["@styled-system/should-forward-prop"]:"^5.0.0"},peerDependencies:{react:"^16.8.6"}}],["rebass@*",{peerDependencies:{react:"^16.8.6"}}],["@ant-design/react-slick@<=0.28.3",{peerDependencies:{react:">=16.0.0"}}],["mqtt@<4.2.7",{dependencies:{duplexify:"^4.1.1"}}],["vue-cli-plugin-vuetify@<=2.0.3",{dependencies:{semver:"^6.3.0"},peerDependenciesMeta:{"sass-loader":Me,"vuetify-loader":Me}}],["vue-cli-plugin-vuetify@<=2.0.4",{dependencies:{"null-loader":"^3.0.0"}}],["@vuetify/cli-plugin-utils@<=0.0.4",{dependencies:{semver:"^6.3.0"},peerDependenciesMeta:{"sass-loader":Me}}],["@vue/cli-plugin-typescript@<=5.0.0-alpha.0",{dependencies:{"babel-loader":"^8.1.0"}}],["@vue/cli-plugin-typescript@<=5.0.0-beta.0",{dependencies:{"@babel/core":"^7.12.16"},peerDependencies:{"vue-template-compiler":"^2.0.0"},peerDependenciesMeta:{"vue-template-compiler":Me}}],["cordova-ios@<=6.3.0",{dependencies:{underscore:"^1.9.2"}}],["cordova-lib@<=10.0.1",{dependencies:{underscore:"^1.9.2"}}],["git-node-fs@*",{peerDependencies:{"js-git":"^0.7.8"},peerDependenciesMeta:{"js-git":Me}}],["consolidate@*",{peerDependencies:{velocityjs:"^2.0.1",tinyliquid:"^0.2.34","liquid-node":"^3.0.1",jade:"^1.11.0","then-jade":"*",dust:"^0.3.0","dustjs-helpers":"^1.7.4","dustjs-linkedin":"^2.7.5",swig:"^1.4.2","swig-templates":"^2.0.3","razor-tmpl":"^1.3.1",atpl:">=0.7.6",liquor:"^0.0.5",twig:"^1.15.2",ejs:"^3.1.5",eco:"^1.1.0-rc-3",jazz:"^0.0.18",jqtpl:"~1.1.0",hamljs:"^0.6.2",hamlet:"^0.3.3",whiskers:"^0.4.0","haml-coffee":"^1.14.1","hogan.js":"^3.0.2",templayed:">=0.2.3",handlebars:"^4.7.6",underscore:"^1.11.0",lodash:"^4.17.20",pug:"^3.0.0","then-pug":"*",qejs:"^3.0.5",walrus:"^0.10.1",mustache:"^4.0.1",just:"^0.1.8",ect:"^0.5.9",mote:"^0.2.0",toffee:"^0.3.6",dot:"^1.1.3","bracket-template":"^1.1.5",ractive:"^1.3.12",nunjucks:"^3.2.2",htmling:"^0.0.8","babel-core":"^6.26.3",plates:"~0.4.11","react-dom":"^16.13.1",react:"^16.13.1","arc-templates":"^0.5.3",vash:"^0.13.0",slm:"^2.0.0",marko:"^3.14.4",teacup:"^2.0.0","coffee-script":"^1.12.7",squirrelly:"^5.1.0",twing:"^5.0.2"},peerDependenciesMeta:{velocityjs:Me,tinyliquid:Me,"liquid-node":Me,jade:Me,"then-jade":Me,dust:Me,"dustjs-helpers":Me,"dustjs-linkedin":Me,swig:Me,"swig-templates":Me,"razor-tmpl":Me,atpl:Me,liquor:Me,twig:Me,ejs:Me,eco:Me,jazz:Me,jqtpl:Me,hamljs:Me,hamlet:Me,whiskers:Me,"haml-coffee":Me,"hogan.js":Me,templayed:Me,handlebars:Me,underscore:Me,lodash:Me,pug:Me,"then-pug":Me,qejs:Me,walrus:Me,mustache:Me,just:Me,ect:Me,mote:Me,toffee:Me,dot:Me,"bracket-template":Me,ractive:Me,nunjucks:Me,htmling:Me,"babel-core":Me,plates:Me,"react-dom":Me,react:Me,"arc-templates":Me,vash:Me,slm:Me,marko:Me,teacup:Me,"coffee-script":Me,squirrelly:Me,twing:Me}}],["vue-loader@<=16.3.1",{peerDependencies:{"@vue/compiler-sfc":"^3.0.8",webpack:"^4.1.0 || ^5.0.0-0"}}],["scss-parser@*",{dependencies:{lodash:"^4.17.21"}}],["query-ast@*",{dependencies:{lodash:"^4.17.21"}}],["redux-thunk@<=2.3.0",{peerDependencies:{redux:"^4.0.0"}}],["skypack@<=0.3.2",{dependencies:{tar:"^6.1.0"}}],["@npmcli/metavuln-calculator@*",{dependencies:{"json-parse-even-better-errors":"^2.3.1"}}],["bin-links@*",{dependencies:{"mkdirp-infer-owner":"^1.0.2"}}],["rollup-plugin-polyfill-node@*",{peerDependencies:{rollup:"^1.20.0 || ^2.0.0"}}],["snowpack@*",{dependencies:{"magic-string":"^0.25.7"}}],["elm-webpack-loader@*",{dependencies:{temp:"^0.9.4"}}],["winston-transport@<=4.4.0",{dependencies:{logform:"^2.2.0"}}],["jest-vue-preprocessor@*",{dependencies:{"@babel/core":"7.8.7","@babel/template":"7.8.6"},peerDependencies:{pug:"^2.0.4"},peerDependenciesMeta:{pug:Me}}],["redux-persist@*",{peerDependencies:{react:">=16"},peerDependenciesMeta:{react:Me}}],["sodium@>=3",{dependencies:{"node-gyp":"^3.8.0"}}],["babel-plugin-graphql-tag@<=3.1.0",{peerDependencies:{graphql:"^14.0.0 || ^15.0.0"}}],["@playwright/test@<=1.14.1",{dependencies:{"jest-matcher-utils":"^26.4.2"}}],...["babel-plugin-remove-graphql-queries@<3.14.0-next.1","babel-preset-gatsby-package@<1.14.0-next.1","create-gatsby@<1.14.0-next.1","gatsby-admin@<0.24.0-next.1","gatsby-cli@<3.14.0-next.1","gatsby-core-utils@<2.14.0-next.1","gatsby-design-tokens@<3.14.0-next.1","gatsby-legacy-polyfills@<1.14.0-next.1","gatsby-plugin-benchmark-reporting@<1.14.0-next.1","gatsby-plugin-graphql-config@<0.23.0-next.1","gatsby-plugin-image@<1.14.0-next.1","gatsby-plugin-mdx@<2.14.0-next.1","gatsby-plugin-netlify-cms@<5.14.0-next.1","gatsby-plugin-no-sourcemaps@<3.14.0-next.1","gatsby-plugin-page-creator@<3.14.0-next.1","gatsby-plugin-preact@<5.14.0-next.1","gatsby-plugin-preload-fonts@<2.14.0-next.1","gatsby-plugin-schema-snapshot@<2.14.0-next.1","gatsby-plugin-styletron@<6.14.0-next.1","gatsby-plugin-subfont@<3.14.0-next.1","gatsby-plugin-utils@<1.14.0-next.1","gatsby-recipes@<0.25.0-next.1","gatsby-source-shopify@<5.6.0-next.1","gatsby-source-wikipedia@<3.14.0-next.1","gatsby-transformer-screenshot@<3.14.0-next.1","gatsby-worker@<0.5.0-next.1"].map(t=>[t,{dependencies:{"@babel/runtime":"^7.14.8"}}]),["gatsby-core-utils@<2.14.0-next.1",{dependencies:{got:"8.3.2"}}],["gatsby-plugin-gatsby-cloud@<=3.1.0-next.0",{dependencies:{"gatsby-core-utils":"^2.13.0-next.0"}}],["gatsby-plugin-gatsby-cloud@<=3.2.0-next.1",{peerDependencies:{webpack:"*"}}],["babel-plugin-remove-graphql-queries@<=3.14.0-next.1",{dependencies:{"gatsby-core-utils":"^2.8.0-next.1"}}],["gatsby-plugin-netlify@3.13.0-next.1",{dependencies:{"gatsby-core-utils":"^2.13.0-next.0"}}],["clipanion-v3-codemod@<=0.2.0",{peerDependencies:{jscodeshift:"^0.11.0"}}],["react-live@*",{peerDependencies:{"react-dom":"*",react:"*"}}],["webpack@<4.44.1",{peerDependenciesMeta:{"webpack-cli":Me,"webpack-command":Me}}],["webpack@<5.0.0-beta.23",{peerDependenciesMeta:{"webpack-cli":Me}}],["webpack-dev-server@<3.10.2",{peerDependenciesMeta:{"webpack-cli":Me}}]];var pL;function VAe(){return typeof pL=="undefined"&&(pL=require("zlib").brotliDecompressSync(Buffer.from("G7weAByFTVk3Vs7UfHhq4yykgEM7pbW7TI43SG2S5tvGrwHBAzdz+s/npQ6tgEvobvxisrPIadkXeUAJotBn5bDZ5kAhcRqsIHe3F75Walet5hNalwgFDtxb0BiDUjiUQkjG0yW2hto9HPgiCkm316d6bC0kST72YN7D7rfkhCE9x4J0XwB0yavalxpUu2t9xszHrmtwalOxT7VslsxWcB1qpqZwERUra4psWhTV8BgwWeizurec82Caf1ABL11YMfbf8FJ9JBceZOkgmvrQPbC9DUldX/yMbmX06UQluCEjSwUoyO+EZPIjofr+/oAZUck2enraRD+oWLlnlYnj8xB+gwSo9lmmks4fXv574qSqcWA6z21uYkzMu3EWj+K23RxeQlLqiE35/rC8GcS4CGkKHKKq+zAIQwD9iRDNfiAqueLLpicFFrNsAI4zeTD/eO9MHcnRa5m8UT+M2+V+AkFST4BlKneiAQRSdST8KEAIyFlULt6wa9EBd0Ds28VmpaxquJdVt+nwdEs5xUskI13OVtFyY0UrQIRAlCuvvWivvlSKQfTO+2Q8OyUR1W5RvetaPz4jD27hdtwHFFA1Ptx6Ee/t2cY2rg2G46M1pNDRf2pWhvpy8pqMnuI3++4OF3+7OFIWXGjh+o7Nr2jNvbiYcQdQS1h903/jVFgOpA0yJ78z+x759bFA0rq+6aY5qPB4FzS3oYoLupDUhD9nDz6F6H7hpnlMf18KNKDu4IKjTWwrAnY6MFQw1W6ymOALHlFyCZmQhldg1MQHaMVVQTVgDC60TfaBqG++Y8PEoFhN/PBTZT175KNP/BlHDYGOOBmnBdzqJKplZ/ljiVG0ZBzfqeBRrrUkn6rA54462SgiliKoYVnbeptMdXNfAuaupIEi0bApF10TlgHfmEJAPUVidRVFyDupSem5po5vErPqWKhKbUIp0LozpYsIKK57dM/HKr+nguF+7924IIWMICkQ8JUigs9D+W+c4LnNoRtPPKNRUiCYmP+Jfo2lfKCKw8qpraEeWU3uiNRO6zcyKQoXPR5htmzzLznke7b4YbXW3I1lIRzmgG02Udb58U+7TpwyN7XymCgH+wuPDthZVQvRZuEP+SnLtMicz9m5zASWOBiAcLmkuFlTKuHspSIhCBD0yUPKcxu81A+4YD78rA2vtwsUEday9WNyrShyrl60rWmA+SmbYZkQOwFJWArxRYYc5jGhA5ikxYw1rx3ei4NmeX/lKiwpZ9Ln1tV2Ae7sArvxuVLbJjqJRjW1vFXAyHpvLG+8MJ6T2Ubx5M2KDa2SN6vuIGxJ9WQM9Mk3Q7aCNiZONXllhqq24DmoLbQfW2rYWsOgHWjtOmIQMyMKdiHZDjoyIq5+U700nZ6odJAoYXPQBvFNiQ78d5jaXliBqLTJEqUCwi+LiH2mx92EmNKDsJL74Z613+3lf20pxkV1+erOrjj8pW00vsPaahKUM+05ssd5uwM7K482KWEf3TCwlg/o3e5ngto7qSMz7YteIgCsF1UOcsLk7F7MxWbvrPMY473ew0G+noVL8EPbkmEMftMSeL6HFub/zy+2JQ==","base64")).toString()),pL}var dL;function _Ae(){return typeof dL=="undefined"&&(dL=require("zlib").brotliDecompressSync(Buffer.from("G8MSIIzURnVBnObTcvb3XE6v2S9Qgc2K801Oa5otNKEtK8BINZNcaQHy+9/vf/WXBimwutXC33P2DPc64pps5rz7NGGWaOKNSPL4Y2KRE8twut2lFOIN+OXPtRmPMRhMTILib2bEQx43az2I5d3YS8Roa5UZpF/ujHb3Djd3GDvYUfvFYSUQ39vb2cmifp/rgB4J/65JK3wRBTvMBoNBmn3mbXC63/gbBkW/2IRPri0O8bcsRBsmarF328pAln04nyJFkwUAvNu934supAqLtyerZZpJ8I8suJHhf/ocMV+scKwa8NOiDKIPXw6Ex/EEZD6TEGaW8N5zvNHYF10l6Lfooj7D5W2k3dgvQSbp2Wv8TGOayS978gxlOLVjTGXs66ozewbrjwElLtyrYNnWTfzzdEutgROUFPVMhnMoy8EjJLLlWwIEoySxliim9kYW30JUHiPVyjt0iAw/ZpPmCbUCltYPnq6ZNblIKhTNhqS/oqC9iya5sGKZTOVsTEg34n92uZTf2iPpcZih8rPW8CzA+adIGmyCPcKdLMsBLShd+zuEbTrqpwuh+DLmracZcjPC5Sdf5odDAhKpFuOsQS67RT+1VgWWygSv3YwxDnylc04/PYuaMeIzhBkLrvs7e/OUzRTF56MmfY6rI63QtEjEQzq637zQqJ39nNhu3NmoRRhW/086bHGBUtx0PE0j3aEGvkdh9WJC8y8j8mqqke9/dQ5la+Q3ba4RlhvTbnfQhPDDab3tUifkjKuOsp13mXEmO00Mu88F/M67R7LXfoFDFLNtgCSWjWX+3Jn1371pJTK9xPBiMJafvDjtFyAzu8rxeQ0TKMQXNPs5xxiBOd+BRJP8KP88XPtJIbZKh/cdW8KvBUkpqKpGoiIaA32c3/JnQr4efXt85mXvidOvn/eU3Pase1typLYBalJ14mCso9h79nuMOuCa/kZAOkJHmTjP5RM2WNoPasZUAnT1TAE/NH25hUxcQv6hQWR/m1PKk4ooXMcM4SR1iYU3fUohvqk4RY2hbmTVVIXv6TvqO+0doOjgeVFAcom+RlwJQmOVH7pr1Q9LoJT6n1DeQEB+NHygsATbIwTcOKZlJsY8G4+suX1uQLjUWwLjjs0mvSvZcLTpIGAekeR7GCgl8eo3ndAqEe2XCav4huliHjdbIPBsGJuPX7lrO9HX1UbXRH5opOe1x6JsOSgHZR+EaxuXVhpLLxm6jk1LJtZfHSc6BKPun3CpYYVMJGwEUyk8MTGG0XL5MfEwaXpnc9TKnBmlGn6nHiGREc3ysn47XIBDzA+YvFdjZzVIEDcKGpS6PbUJehFRjEne8D0lVU1XuRtlgszq6pTNlQ/3MzNOEgCWPyTct22V2mEi2krizn5VDo9B19/X2DB3hCGRMM7ONbtnAcIx/OWB1u5uPbW1gsH8irXxT/IzG0PoXWYjhbMsH3KTuoOl5o17PulcgvsfTSnKFM354GWI8luqZnrswWjiXy3G+Vbyo1KMopFmmvBwNELgaS8z8dNZchx/Cl/xjddxhMcyqtzFyONb2Zdu90NkI8pAeufe7YlXrp53v8Dj/l8vWeVspRKBGXScBBPI/HinSTGmLDOGGOCIyH0JFdOZx0gWsacNlQLJMIrBhqRxXxHF/5pseWwejlAAvZ3klZSDSYY8mkToaWejXhgNomeGtx1DTLEUFMRkgF5yFB22WYdJnaWN14r1YJj81hGi45+jrADS5nYRhCiSlCJJ1nL8pYX+HDSMhdTEWyRcgHVp/IsUIZYMfT+YYncUQPgcxNGCHfZ88vDdrcUuaGIl6zhAsiaq7R5dfqrqXH/JcBhfjT8D0azayIyEz75Nxp6YkcyDxlJq3EXnJUpqDohJJOysL1t1uNiHESlvsxPb5cpbW0+ICZqJmUZus1BMW0F5IVBODLIo2zHHjA0=","base64")).toString()),dL}var CL;function XAe(){return typeof CL=="undefined"&&(CL=require("zlib").brotliDecompressSync(Buffer.from("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","base64")).toString()),CL}var ZAe=new Map([[S.makeIdent(null,"fsevents").identHash,VAe],[S.makeIdent(null,"resolve").identHash,_Ae],[S.makeIdent(null,"typescript").identHash,XAe]]),bze={hooks:{registerPackageExtensions:async(t,e)=>{for(let[r,i]of zAe)e(S.parseDescriptor(r,!0),i)},getBuiltinPatch:async(t,e)=>{var s;let r="compat/";if(!e.startsWith(r))return;let i=S.parseIdent(e.slice(r.length)),n=(s=ZAe.get(i.identHash))==null?void 0:s();return typeof n!="undefined"?n:null},reduceDependency:async(t,e,r,i)=>typeof ZAe.get(t.identHash)=="undefined"?t:S.makeDescriptor(t,S.makeRange({protocol:"patch:",source:S.stringifyDescriptor(t),selector:`~builtin`,params:null}))}},vze=bze;var EL={};it(EL,{default:()=>xze});var V0=class extends Be{constructor(){super(...arguments);this.pkg=Y.String("-p,--package",{description:"The package to run the provided command from"});this.quiet=Y.Boolean("-q,--quiet",!1,{description:"Only report critical errors instead of printing the full install logs"});this.command=Y.String();this.args=Y.Proxy()}async execute(){let e=[];this.pkg&&e.push("--package",this.pkg),this.quiet&&e.push("--quiet");let r=S.parseIdent(this.command),i=S.makeIdent(r.scope,`create-${r.name}`);return this.cli.run(["dlx",...e,S.stringifyIdent(i),...this.args])}};V0.paths=[["create"]];var $Ae=V0;var jC=class extends Be{constructor(){super(...arguments);this.packages=Y.Array("-p,--package",{description:"The package(s) to install before running the command"});this.quiet=Y.Boolean("-q,--quiet",!1,{description:"Only report critical errors instead of printing the full install logs"});this.command=Y.String();this.args=Y.Proxy()}async execute(){return fe.telemetry=null,await T.mktempPromise(async e=>{var p;let r=v.join(e,`dlx-${process.pid}`);await T.mkdirPromise(r),await T.writeFilePromise(v.join(r,"package.json"),`{} +`),await T.writeFilePromise(v.join(r,"yarn.lock"),"");let i=v.join(r,".yarnrc.yml"),n=await fe.findProjectCwd(this.context.cwd,wt.lockfile),s=!(await fe.find(this.context.cwd,null,{strict:!1})).get("enableGlobalCache"),o=n!==null?v.join(n,".yarnrc.yml"):null;o!==null&&T.existsSync(o)?(await T.copyFilePromise(o,i),await fe.updateConfiguration(r,d=>{let m=_(P({},d),{enableGlobalCache:s,enableTelemetry:!1});return Array.isArray(d.plugins)&&(m.plugins=d.plugins.map(I=>{let B=typeof I=="string"?I:I.path,b=M.isAbsolute(B)?B:M.resolve(M.fromPortablePath(n),B);return typeof I=="string"?b:{path:b,spec:I.spec}})),m})):await T.writeFilePromise(i,`enableGlobalCache: ${s} +enableTelemetry: false +`);let a=(p=this.packages)!=null?p:[this.command],l=S.parseDescriptor(this.command).name,c=await this.cli.run(["add","--",...a],{cwd:r,quiet:this.quiet});if(c!==0)return c;this.quiet||this.context.stdout.write(` +`);let u=await fe.find(r,this.context.plugins),{project:g,workspace:f}=await Ke.find(u,r);if(f===null)throw new rt(g.cwd,r);await g.restoreInstallState();let h=await Kt.getWorkspaceAccessibleBinaries(f);return h.has(l)===!1&&h.size===1&&typeof this.packages=="undefined"&&(l=Array.from(h)[0][0]),await Kt.executeWorkspaceAccessibleBinary(f,l,this.args,{packageAccessibleBinaries:h,cwd:this.context.cwd,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr})})}};jC.paths=[["dlx"]],jC.usage=ye.Usage({description:"run a package in a temporary environment",details:"\n This command will install a package within a temporary environment, and run its binary script if it contains any. The binary will run within the current cwd.\n\n By default Yarn will download the package named `command`, but this can be changed through the use of the `-p,--package` flag which will instruct Yarn to still run the same command but from a different package.\n\n Using `yarn dlx` as a replacement of `yarn add` isn't recommended, as it makes your project non-deterministic (Yarn doesn't keep track of the packages installed through `dlx` - neither their name, nor their version).\n ",examples:[["Use create-react-app to create a new React app","yarn dlx create-react-app ./my-app"],["Install multiple packages for a single command",`yarn dlx -p typescript -p ts-node ts-node --transpile-only -e "console.log('hello!')"`]]});var ele=jC;var Sze={commands:[$Ae,ele]},xze=Sze;var xL={};it(xL,{default:()=>Dze,fileUtils:()=>IL});var hf=/^(?:[a-zA-Z]:[\\/]|\.{0,2}\/)/,YC=/^[^?]*\.(?:tar\.gz|tgz)(?:::.*)?$/,Nr="file:";var IL={};it(IL,{makeArchiveFromLocator:()=>_0,makeBufferFromLocator:()=>BL,makeLocator:()=>wL,makeSpec:()=>tle,parseSpec:()=>yL});function yL(t){let{params:e,selector:r}=S.parseRange(t),i=M.toPortablePath(r);return{parentLocator:e&&typeof e.locator=="string"?S.parseLocator(e.locator):null,path:i}}function tle({parentLocator:t,path:e,folderHash:r,protocol:i}){let n=t!==null?{locator:S.stringifyLocator(t)}:{},s=typeof r!="undefined"?{hash:r}:{};return S.makeRange({protocol:i,source:e,selector:e,params:P(P({},s),n)})}function wL(t,{parentLocator:e,path:r,folderHash:i,protocol:n}){return S.makeLocator(t,tle({parentLocator:e,path:r,folderHash:i,protocol:n}))}async function _0(t,{protocol:e,fetchOptions:r,inMemory:i=!1}){let{parentLocator:n,path:s}=S.parseFileStyleRange(t.reference,{protocol:e}),o=v.isAbsolute(s)?{packageFs:new Ft(Se.root),prefixPath:Se.dot,localPath:Se.root}:await r.fetcher.fetch(n,r),a=o.localPath?{packageFs:new Ft(Se.root),prefixPath:v.relative(Se.root,o.localPath)}:o;o!==a&&o.releaseFs&&o.releaseFs();let l=a.packageFs,c=v.join(a.prefixPath,s);return await de.releaseAfterUseAsync(async()=>await Ai.makeArchiveFromDirectory(c,{baseFs:l,prefixPath:S.getIdentVendorPath(t),compressionLevel:r.project.configuration.get("compressionLevel"),inMemory:i}),a.releaseFs)}async function BL(t,{protocol:e,fetchOptions:r}){return(await _0(t,{protocol:e,fetchOptions:r,inMemory:!0})).getBufferAndClose()}var QL=class{supports(e,r){return!!e.reference.startsWith(Nr)}getLocalPath(e,r){let{parentLocator:i,path:n}=S.parseFileStyleRange(e.reference,{protocol:Nr});if(v.isAbsolute(n))return n;let s=r.fetcher.getLocalPath(i,r);return s===null?null:v.resolve(s,n)}async fetch(e,r){let i=r.checksums.get(e.locatorHash)||null,[n,s,o]=await r.cache.fetchPackageFromCache(e,i,P({onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${S.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the disk`),loader:()=>this.fetchFromDisk(e,r),skipIntegrityCheck:r.skipIntegrityCheck},r.cacheOptions));return{packageFs:n,releaseFs:s,prefixPath:S.getIdentVendorPath(e),localPath:this.getLocalPath(e,r),checksum:o}}async fetchFromDisk(e,r){return _0(e,{protocol:Nr,fetchOptions:r})}};var kze=2,bL=class{supportsDescriptor(e,r){return e.range.match(hf)?!0:!!e.range.startsWith(Nr)}supportsLocator(e,r){return!!e.reference.startsWith(Nr)}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,i){return hf.test(e.range)&&(e=S.makeDescriptor(e,`${Nr}${e.range}`)),S.bindDescriptor(e,{locator:S.stringifyLocator(r)})}getResolutionDependencies(e,r){return[]}async getCandidates(e,r,i){if(!i.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let{path:n,parentLocator:s}=yL(e.range);if(s===null)throw new Error("Assertion failed: The descriptor should have been bound");let o=await BL(S.makeLocator(e,S.makeRange({protocol:Nr,source:n,selector:n,params:{locator:S.stringifyLocator(s)}})),{protocol:Nr,fetchOptions:i.fetchOptions}),a=mn.makeHash(`${kze}`,o).slice(0,6);return[wL(e,{parentLocator:s,path:n,folderHash:a,protocol:Nr})]}async getSatisfying(e,r,i){return null}async resolve(e,r){if(!r.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let i=await r.fetchOptions.fetcher.fetch(e,r.fetchOptions),n=await de.releaseAfterUseAsync(async()=>await Ze.find(i.prefixPath,{baseFs:i.packageFs}),i.releaseFs);return _(P({},e),{version:n.version||"0.0.0",languageName:n.languageName||r.project.configuration.get("defaultLanguageName"),linkType:gt.HARD,conditions:n.getConditions(),dependencies:n.dependencies,peerDependencies:n.peerDependencies,dependenciesMeta:n.dependenciesMeta,peerDependenciesMeta:n.peerDependenciesMeta,bin:n.bin})}};var vL=class{supports(e,r){return YC.test(e.reference)?!!e.reference.startsWith(Nr):!1}getLocalPath(e,r){return null}async fetch(e,r){let i=r.checksums.get(e.locatorHash)||null,[n,s,o]=await r.cache.fetchPackageFromCache(e,i,P({onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${S.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the disk`),loader:()=>this.fetchFromDisk(e,r),skipIntegrityCheck:r.skipIntegrityCheck},r.cacheOptions));return{packageFs:n,releaseFs:s,prefixPath:S.getIdentVendorPath(e),checksum:o}}async fetchFromDisk(e,r){let{parentLocator:i,path:n}=S.parseFileStyleRange(e.reference,{protocol:Nr}),s=v.isAbsolute(n)?{packageFs:new Ft(Se.root),prefixPath:Se.dot,localPath:Se.root}:await r.fetcher.fetch(i,r),o=s.localPath?{packageFs:new Ft(Se.root),prefixPath:v.relative(Se.root,s.localPath)}:s;s!==o&&s.releaseFs&&s.releaseFs();let a=o.packageFs,l=v.join(o.prefixPath,n),c=await a.readFilePromise(l);return await de.releaseAfterUseAsync(async()=>await Ai.convertToZip(c,{compressionLevel:r.project.configuration.get("compressionLevel"),prefixPath:S.getIdentVendorPath(e),stripComponents:1}),o.releaseFs)}};var SL=class{supportsDescriptor(e,r){return YC.test(e.range)?!!(e.range.startsWith(Nr)||hf.test(e.range)):!1}supportsLocator(e,r){return YC.test(e.reference)?!!e.reference.startsWith(Nr):!1}shouldPersistResolution(e,r){return!0}bindDescriptor(e,r,i){return hf.test(e.range)&&(e=S.makeDescriptor(e,`${Nr}${e.range}`)),S.bindDescriptor(e,{locator:S.stringifyLocator(r)})}getResolutionDependencies(e,r){return[]}async getCandidates(e,r,i){let n=e.range;return n.startsWith(Nr)&&(n=n.slice(Nr.length)),[S.makeLocator(e,`${Nr}${M.toPortablePath(n)}`)]}async getSatisfying(e,r,i){return null}async resolve(e,r){if(!r.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let i=await r.fetchOptions.fetcher.fetch(e,r.fetchOptions),n=await de.releaseAfterUseAsync(async()=>await Ze.find(i.prefixPath,{baseFs:i.packageFs}),i.releaseFs);return _(P({},e),{version:n.version||"0.0.0",languageName:n.languageName||r.project.configuration.get("defaultLanguageName"),linkType:gt.HARD,conditions:n.getConditions(),dependencies:n.dependencies,peerDependencies:n.peerDependencies,dependenciesMeta:n.dependenciesMeta,peerDependenciesMeta:n.peerDependenciesMeta,bin:n.bin})}};var Pze={fetchers:[vL,QL],resolvers:[SL,bL]},Dze=Pze;var PL={};it(PL,{default:()=>Nze});var rle=ie(require("querystring")),ile=[/^https?:\/\/(?:([^/]+?)@)?github.com\/([^/#]+)\/([^/#]+)\/tarball\/([^/#]+)(?:#(.*))?$/,/^https?:\/\/(?:([^/]+?)@)?github.com\/([^/#]+)\/([^/#]+?)(?:\.git)?(?:#(.*))?$/];function nle(t){return t?ile.some(e=>!!t.match(e)):!1}function sle(t){let e;for(let a of ile)if(e=t.match(a),e)break;if(!e)throw new Error(Rze(t));let[,r,i,n,s="master"]=e,{commit:o}=rle.default.parse(s);return s=o||s.replace(/[^:]*:/,""),{auth:r,username:i,reponame:n,treeish:s}}function Rze(t){return`Input cannot be parsed as a valid GitHub URL ('${t}').`}var kL=class{supports(e,r){return!!nle(e.reference)}getLocalPath(e,r){return null}async fetch(e,r){let i=r.checksums.get(e.locatorHash)||null,[n,s,o]=await r.cache.fetchPackageFromCache(e,i,P({onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${S.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from GitHub`),loader:()=>this.fetchFromNetwork(e,r),skipIntegrityCheck:r.skipIntegrityCheck},r.cacheOptions));return{packageFs:n,releaseFs:s,prefixPath:S.getIdentVendorPath(e),checksum:o}}async fetchFromNetwork(e,r){let i=await Zt.get(this.getLocatorUrl(e,r),{configuration:r.project.configuration});return await T.mktempPromise(async n=>{let s=new Ft(n);await Ai.extractArchiveTo(i,s,{stripComponents:1});let o=Uc.splitRepoUrl(e.reference),a=v.join(n,"package.tgz");await Kt.prepareExternalProject(n,a,{configuration:r.project.configuration,report:r.report,workspace:o.extra.workspace,locator:e});let l=await T.readFilePromise(a);return await Ai.convertToZip(l,{compressionLevel:r.project.configuration.get("compressionLevel"),prefixPath:S.getIdentVendorPath(e),stripComponents:1})})}getLocatorUrl(e,r){let{auth:i,username:n,reponame:s,treeish:o}=sle(e.reference);return`https://${i?`${i}@`:""}github.com/${n}/${s}/archive/${o}.tar.gz`}};var Fze={hooks:{async fetchHostedRepository(t,e,r){if(t!==null)return t;let i=new kL;if(!i.supports(e,r))return null;try{return await i.fetch(e,r)}catch(n){return null}}}},Nze=Fze;var FL={};it(FL,{default:()=>Tze});var qC=/^[^?]*\.(?:tar\.gz|tgz)(?:\?.*)?$/,JC=/^https?:/;var DL=class{supports(e,r){return qC.test(e.reference)?!!JC.test(e.reference):!1}getLocalPath(e,r){return null}async fetch(e,r){let i=r.checksums.get(e.locatorHash)||null,[n,s,o]=await r.cache.fetchPackageFromCache(e,i,P({onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${S.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the remote server`),loader:()=>this.fetchFromNetwork(e,r),skipIntegrityCheck:r.skipIntegrityCheck},r.cacheOptions));return{packageFs:n,releaseFs:s,prefixPath:S.getIdentVendorPath(e),checksum:o}}async fetchFromNetwork(e,r){let i=await Zt.get(e.reference,{configuration:r.project.configuration});return await Ai.convertToZip(i,{compressionLevel:r.project.configuration.get("compressionLevel"),prefixPath:S.getIdentVendorPath(e),stripComponents:1})}};var RL=class{supportsDescriptor(e,r){return qC.test(e.range)?!!JC.test(e.range):!1}supportsLocator(e,r){return qC.test(e.reference)?!!JC.test(e.reference):!1}shouldPersistResolution(e,r){return!0}bindDescriptor(e,r,i){return e}getResolutionDependencies(e,r){return[]}async getCandidates(e,r,i){return[S.convertDescriptorToLocator(e)]}async getSatisfying(e,r,i){return null}async resolve(e,r){if(!r.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let i=await r.fetchOptions.fetcher.fetch(e,r.fetchOptions),n=await de.releaseAfterUseAsync(async()=>await Ze.find(i.prefixPath,{baseFs:i.packageFs}),i.releaseFs);return _(P({},e),{version:n.version||"0.0.0",languageName:n.languageName||r.project.configuration.get("defaultLanguageName"),linkType:gt.HARD,conditions:n.getConditions(),dependencies:n.dependencies,peerDependencies:n.peerDependencies,dependenciesMeta:n.dependenciesMeta,peerDependenciesMeta:n.peerDependenciesMeta,bin:n.bin})}};var Lze={fetchers:[DL],resolvers:[RL]},Tze=Lze;var ML={};it(ML,{default:()=>M5e});var Rle=ie(Dle()),TL=ie(require("util")),WC=class extends Be{constructor(){super(...arguments);this.private=Y.Boolean("-p,--private",!1,{description:"Initialize a private package"});this.workspace=Y.Boolean("-w,--workspace",!1,{description:"Initialize a workspace root with a `packages/` directory"});this.install=Y.String("-i,--install",!1,{tolerateBoolean:!0,description:"Initialize a package with a specific bundle that will be locked in the project"});this.usev2=Y.Boolean("-2",!1,{hidden:!0});this.yes=Y.Boolean("-y,--yes",{hidden:!0});this.assumeFreshProject=Y.Boolean("--assume-fresh-project",!1,{hidden:!0})}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins),r=typeof this.install=="string"?this.install:this.usev2||this.install===!0?"latest":null;return r!==null?await this.executeProxy(e,r):await this.executeRegular(e)}async executeProxy(e,r){if(e.projectCwd!==null&&e.projectCwd!==this.context.cwd)throw new me("Cannot use the --install flag from within a project subdirectory");T.existsSync(this.context.cwd)||await T.mkdirPromise(this.context.cwd,{recursive:!0});let i=v.join(this.context.cwd,e.get("lockfileFilename"));T.existsSync(i)||await T.writeFilePromise(i,"");let n=await this.cli.run(["set","version",r],{quiet:!0});if(n!==0)return n;let s=[];return this.private&&s.push("-p"),this.workspace&&s.push("-w"),this.yes&&s.push("-y"),await T.mktempPromise(async o=>{let{code:a}=await hr.pipevp("yarn",["init",...s],{cwd:this.context.cwd,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr,env:await Kt.makeScriptEnv({binFolder:o})});return a})}async executeRegular(e){var l;let r=null;try{r=(await Ke.find(e,this.context.cwd)).project}catch{r=null}T.existsSync(this.context.cwd)||await T.mkdirPromise(this.context.cwd,{recursive:!0});let i=await Ze.tryFind(this.context.cwd)||new Ze,n=Object.fromEntries(e.get("initFields").entries());i.load(n),i.name=(l=i.name)!=null?l:S.makeIdent(e.get("initScope"),v.basename(this.context.cwd)),i.packageManager=Zr&&de.isTaggedYarnVersion(Zr)?`yarn@${Zr}`:null,typeof i.raw.private=="undefined"&&(this.private||this.workspace&&i.workspaceDefinitions.length===0)&&(i.private=!0),this.workspace&&i.workspaceDefinitions.length===0&&(await T.mkdirPromise(v.join(this.context.cwd,"packages"),{recursive:!0}),i.workspaceDefinitions=[{pattern:"packages/*"}]);let s={};i.exportTo(s),TL.inspect.styles.name="cyan",this.context.stdout.write(`${(0,TL.inspect)(s,{depth:Infinity,colors:!0,compact:!1})} +`);let o=v.join(this.context.cwd,Ze.fileName);await T.changeFilePromise(o,`${JSON.stringify(s,null,2)} +`,{automaticNewlines:!0});let a=v.join(this.context.cwd,"README.md");if(T.existsSync(a)||await T.writeFilePromise(a,`# ${S.stringifyIdent(i.name)} +`),!r||r.cwd===this.context.cwd){let c=v.join(this.context.cwd,wt.lockfile);T.existsSync(c)||await T.writeFilePromise(c,"");let g=["/.yarn/*","!/.yarn/patches","!/.yarn/plugins","!/.yarn/releases","!/.yarn/sdks","","# Swap the comments on the following lines if you don't wish to use zero-installs","# Documentation here: https://yarnpkg.com/features/zero-installs","!/.yarn/cache","#/.pnp.*"].map(m=>`${m} +`).join(""),f=v.join(this.context.cwd,".gitignore");T.existsSync(f)||await T.writeFilePromise(f,g);let h={["*"]:{endOfLine:"lf",insertFinalNewline:!0},["*.{js,json,yml}"]:{charset:"utf-8",indentStyle:"space",indentSize:2}};(0,Rle.default)(h,e.get("initEditorConfig"));let p=`root = true +`;for(let[m,I]of Object.entries(h)){p+=` +[${m}] +`;for(let[B,b]of Object.entries(I))p+=`${B.replace(/[A-Z]/g,H=>`_${H.toLowerCase()}`)} = ${b} +`}let d=v.join(this.context.cwd,".editorconfig");T.existsSync(d)||await T.writeFilePromise(d,p),T.existsSync(v.join(this.context.cwd,".git"))||await hr.execvp("git",["init"],{cwd:this.context.cwd})}}};WC.paths=[["init"]],WC.usage=ye.Usage({description:"create a new package",details:"\n This command will setup a new package in your local directory.\n\n If the `-p,--private` or `-w,--workspace` options are set, the package will be private by default.\n\n If the `-w,--workspace` option is set, the package will be configured to accept a set of workspaces in the `packages/` directory.\n\n If the `-i,--install` option is given a value, Yarn will first download it using `yarn set version` and only then forward the init call to the newly downloaded bundle. Without arguments, the downloaded bundle will be `latest`.\n\n The initial settings of the manifest can be changed by using the `initScope` and `initFields` configuration values. Additionally, Yarn will generate an EditorConfig file whose rules can be altered via `initEditorConfig`, and will initialize a Git repository in the current directory.\n ",examples:[["Create a new package in the local directory","yarn init"],["Create a new private package in the local directory","yarn init -p"],["Create a new package and store the Yarn release inside","yarn init -i=latest"],["Create a new private package and defines it as a workspace root","yarn init -w"]]});var Fle=WC;var T5e={configuration:{initScope:{description:"Scope used when creating packages via the init command",type:ge.STRING,default:null},initFields:{description:"Additional fields to set when creating packages via the init command",type:ge.MAP,valueDefinition:{description:"",type:ge.ANY}},initEditorConfig:{description:"Extra rules to define in the generator editorconfig",type:ge.MAP,valueDefinition:{description:"",type:ge.ANY}}},commands:[Fle]},M5e=T5e;var GL={};it(GL,{default:()=>K5e});var Ua="portal:",Ha="link:";var OL=class{supports(e,r){return!!e.reference.startsWith(Ua)}getLocalPath(e,r){let{parentLocator:i,path:n}=S.parseFileStyleRange(e.reference,{protocol:Ua});if(v.isAbsolute(n))return n;let s=r.fetcher.getLocalPath(i,r);return s===null?null:v.resolve(s,n)}async fetch(e,r){var c;let{parentLocator:i,path:n}=S.parseFileStyleRange(e.reference,{protocol:Ua}),s=v.isAbsolute(n)?{packageFs:new Ft(Se.root),prefixPath:Se.dot,localPath:Se.root}:await r.fetcher.fetch(i,r),o=s.localPath?{packageFs:new Ft(Se.root),prefixPath:v.relative(Se.root,s.localPath),localPath:Se.root}:s;s!==o&&s.releaseFs&&s.releaseFs();let a=o.packageFs,l=v.resolve((c=o.localPath)!=null?c:o.packageFs.getRealPath(),o.prefixPath,n);return s.localPath?{packageFs:new Ft(l,{baseFs:a}),releaseFs:o.releaseFs,prefixPath:Se.dot,localPath:l}:{packageFs:new Zo(l,{baseFs:a}),releaseFs:o.releaseFs,prefixPath:Se.dot}}};var KL=class{supportsDescriptor(e,r){return!!e.range.startsWith(Ua)}supportsLocator(e,r){return!!e.reference.startsWith(Ua)}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,i){return S.bindDescriptor(e,{locator:S.stringifyLocator(r)})}getResolutionDependencies(e,r){return[]}async getCandidates(e,r,i){let n=e.range.slice(Ua.length);return[S.makeLocator(e,`${Ua}${M.toPortablePath(n)}`)]}async getSatisfying(e,r,i){return null}async resolve(e,r){if(!r.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let i=await r.fetchOptions.fetcher.fetch(e,r.fetchOptions),n=await de.releaseAfterUseAsync(async()=>await Ze.find(i.prefixPath,{baseFs:i.packageFs}),i.releaseFs);return _(P({},e),{version:n.version||"0.0.0",languageName:n.languageName||r.project.configuration.get("defaultLanguageName"),linkType:gt.SOFT,conditions:n.getConditions(),dependencies:new Map([...n.dependencies]),peerDependencies:n.peerDependencies,dependenciesMeta:n.dependenciesMeta,peerDependenciesMeta:n.peerDependenciesMeta,bin:n.bin})}};var UL=class{supports(e,r){return!!e.reference.startsWith(Ha)}getLocalPath(e,r){let{parentLocator:i,path:n}=S.parseFileStyleRange(e.reference,{protocol:Ha});if(v.isAbsolute(n))return n;let s=r.fetcher.getLocalPath(i,r);return s===null?null:v.resolve(s,n)}async fetch(e,r){var c;let{parentLocator:i,path:n}=S.parseFileStyleRange(e.reference,{protocol:Ha}),s=v.isAbsolute(n)?{packageFs:new Ft(Se.root),prefixPath:Se.dot,localPath:Se.root}:await r.fetcher.fetch(i,r),o=s.localPath?{packageFs:new Ft(Se.root),prefixPath:v.relative(Se.root,s.localPath),localPath:Se.root}:s;s!==o&&s.releaseFs&&s.releaseFs();let a=o.packageFs,l=v.resolve((c=o.localPath)!=null?c:o.packageFs.getRealPath(),o.prefixPath,n);return s.localPath?{packageFs:new Ft(l,{baseFs:a}),releaseFs:o.releaseFs,prefixPath:Se.dot,discardFromLookup:!0,localPath:l}:{packageFs:new Zo(l,{baseFs:a}),releaseFs:o.releaseFs,prefixPath:Se.dot,discardFromLookup:!0}}};var HL=class{supportsDescriptor(e,r){return!!e.range.startsWith(Ha)}supportsLocator(e,r){return!!e.reference.startsWith(Ha)}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,i){return S.bindDescriptor(e,{locator:S.stringifyLocator(r)})}getResolutionDependencies(e,r){return[]}async getCandidates(e,r,i){let n=e.range.slice(Ha.length);return[S.makeLocator(e,`${Ha}${M.toPortablePath(n)}`)]}async getSatisfying(e,r,i){return null}async resolve(e,r){return _(P({},e),{version:"0.0.0",languageName:r.project.configuration.get("defaultLanguageName"),linkType:gt.SOFT,conditions:null,dependencies:new Map,peerDependencies:new Map,dependenciesMeta:new Map,peerDependenciesMeta:new Map,bin:new Map})}};var O5e={fetchers:[UL,OL],resolvers:[HL,KL]},K5e=O5e;var mT={};it(mT,{default:()=>Y6e});var Ga;(function(i){i[i.YES=0]="YES",i[i.NO=1]="NO",i[i.DEPENDS=2]="DEPENDS"})(Ga||(Ga={}));var jL=(t,e)=>`${t}@${e}`,Nle=(t,e)=>{let r=e.indexOf("#"),i=r>=0?e.substring(r+1):e;return jL(t,i)},qs;(function(s){s[s.NONE=-1]="NONE",s[s.PERF=0]="PERF",s[s.CHECK=1]="CHECK",s[s.REASONS=2]="REASONS",s[s.INTENSIVE_CHECK=9]="INTENSIVE_CHECK"})(qs||(qs={}));var Tle=(t,e={})=>{let r=e.debugLevel||Number(process.env.NM_DEBUG_LEVEL||-1),i=e.check||r>=9,n=e.hoistingLimits||new Map,s={check:i,debugLevel:r,hoistingLimits:n,fastLookupPossible:!0},o;s.debugLevel>=0&&(o=Date.now());let a=U5e(t,s),l=!1,c=0;do l=YL(a,[a],new Set([a.locator]),new Map,s).anotherRoundNeeded,s.fastLookupPossible=!1,c++;while(l);if(s.debugLevel>=0&&console.log(`hoist time: ${Date.now()-o}ms, rounds: ${c}`),s.debugLevel>=1){let u=zC(a);if(YL(a,[a],new Set([a.locator]),new Map,s).isGraphChanged)throw new Error(`The hoisting result is not terminal, prev tree: +${u}, next tree: +${zC(a)}`);let f=Lle(a);if(f)throw new Error(`${f}, after hoisting finished: +${zC(a)}`)}return s.debugLevel>=2&&console.log(zC(a)),H5e(a)},G5e=t=>{let e=t[t.length-1],r=new Map,i=new Set,n=s=>{if(!i.has(s)){i.add(s);for(let o of s.hoistedDependencies.values())r.set(o.name,o);for(let o of s.dependencies.values())s.peerNames.has(o.name)||n(o)}};return n(e),r},j5e=t=>{let e=t[t.length-1],r=new Map,i=new Set,n=new Set,s=(o,a)=>{if(i.has(o))return;i.add(o);for(let c of o.hoistedDependencies.values())if(!a.has(c.name)){let u;for(let g of t)u=g.dependencies.get(c.name),u&&r.set(u.name,u)}let l=new Set;for(let c of o.dependencies.values())l.add(c.name);for(let c of o.dependencies.values())o.peerNames.has(c.name)||s(c,l)};return s(e,n),r},Mle=(t,e)=>{if(e.decoupled)return e;let{name:r,references:i,ident:n,locator:s,dependencies:o,originalDependencies:a,hoistedDependencies:l,peerNames:c,reasons:u,isHoistBorder:g,hoistPriority:f,isWorkspace:h,hoistedFrom:p,hoistedTo:d}=e,m={name:r,references:new Set(i),ident:n,locator:s,dependencies:new Map(o),originalDependencies:new Map(a),hoistedDependencies:new Map(l),peerNames:new Set(c),reasons:new Map(u),decoupled:!0,isHoistBorder:g,hoistPriority:f,isWorkspace:h,hoistedFrom:new Map(p),hoistedTo:new Map(d)},I=m.dependencies.get(r);return I&&I.ident==m.ident&&m.dependencies.set(r,m),t.dependencies.set(m.name,m),m},Y5e=(t,e)=>{let r=new Map([[t.name,[t.ident]]]);for(let n of t.dependencies.values())t.peerNames.has(n.name)||r.set(n.name,[n.ident]);let i=Array.from(e.keys());i.sort((n,s)=>{let o=e.get(n),a=e.get(s);return a.hoistPriority!==o.hoistPriority?a.hoistPriority-o.hoistPriority:a.peerDependents.size!==o.peerDependents.size?a.peerDependents.size-o.peerDependents.size:a.dependents.size-o.dependents.size});for(let n of i){let s=n.substring(0,n.indexOf("@",1)),o=n.substring(s.length+1);if(!t.peerNames.has(s)){let a=r.get(s);a||(a=[],r.set(s,a)),a.indexOf(o)<0&&a.push(o)}}return r},qL=t=>{let e=new Set,r=(i,n=new Set)=>{if(!n.has(i)){n.add(i);for(let s of i.peerNames)if(!t.peerNames.has(s)){let o=t.dependencies.get(s);o&&!e.has(o)&&r(o,n)}e.add(i)}};for(let i of t.dependencies.values())t.peerNames.has(i.name)||r(i);return e},YL=(t,e,r,i,n,s=new Set)=>{let o=e[e.length-1];if(s.has(o))return{anotherRoundNeeded:!1,isGraphChanged:!1};s.add(o);let a=J5e(o),l=Y5e(o,a),c=t==o?new Map:n.fastLookupPossible?G5e(e):j5e(e),u,g=!1,f=!1,h=new Map(Array.from(l.entries()).map(([d,m])=>[d,m[0]])),p=new Map;do{let d=q5e(t,e,r,c,h,l,i,p,n);d.isGraphChanged&&(f=!0),d.anotherRoundNeeded&&(g=!0),u=!1;for(let[m,I]of l)I.length>1&&!o.dependencies.has(m)&&(h.delete(m),I.shift(),h.set(m,I[0]),u=!0)}while(u);for(let d of o.dependencies.values())if(!o.peerNames.has(d.name)&&!r.has(d.locator)){r.add(d.locator);let m=YL(t,[...e,d],r,p,n);m.isGraphChanged&&(f=!0),m.anotherRoundNeeded&&(g=!0),r.delete(d.locator)}return{anotherRoundNeeded:g,isGraphChanged:f}},W5e=(t,e,r,i,n,s,o,a,{outputReason:l,fastLookupPossible:c})=>{let u,g=null,f=new Set;l&&(u=`${Array.from(e).map(m=>wi(m)).join("\u2192")}`);let h=r[r.length-1],d=!(i.ident===h.ident);if(l&&!d&&(g="- self-reference"),d&&(d=!i.isWorkspace,l&&!d&&(g="- workspace")),d&&(d=!h.isWorkspace||h.hoistedFrom.has(i.name)||e.size===1,l&&!d&&(g=h.reasons.get(i.name))),d&&(d=!t.peerNames.has(i.name),l&&!d&&(g=`- cannot shadow peer: ${wi(t.originalDependencies.get(i.name).locator)} at ${u}`)),d){let m=!1,I=n.get(i.name);if(m=!I||I.ident===i.ident,l&&!m&&(g=`- filled by: ${wi(I.locator)} at ${u}`),m)for(let B=r.length-1;B>=1;B--){let R=r[B].dependencies.get(i.name);if(R&&R.ident!==i.ident){m=!1;let H=a.get(h);H||(H=new Set,a.set(h,H)),H.add(i.name),l&&(g=`- filled by ${wi(R.locator)} at ${r.slice(0,B).map(L=>wi(L.locator)).join("\u2192")}`);break}}d=m}if(d&&(d=s.get(i.name)===i.ident,l&&!d&&(g=`- filled by: ${wi(o.get(i.name)[0])} at ${u}`)),d){let m=!0,I=new Set(i.peerNames);for(let B=r.length-1;B>=1;B--){let b=r[B];for(let R of I){if(b.peerNames.has(R)&&b.originalDependencies.has(R))continue;let H=b.dependencies.get(R);H&&t.dependencies.get(R)!==H&&(B===r.length-1?f.add(H):(f=null,m=!1,l&&(g=`- peer dependency ${wi(H.locator)} from parent ${wi(b.locator)} was not hoisted to ${u}`))),I.delete(R)}if(!m)break}d=m}if(d&&!c)for(let m of i.hoistedDependencies.values()){let I=n.get(m.name);if(!I||m.ident!==I.ident){d=!1,l&&(g=`- previously hoisted dependency mismatch, needed: ${wi(m.locator)}, available: ${wi(I==null?void 0:I.locator)}`);break}}return f!==null&&f.size>0?{isHoistable:2,dependsOn:f,reason:g}:{isHoistable:d?0:1,reason:g}},q5e=(t,e,r,i,n,s,o,a,l)=>{let c=e[e.length-1],u=new Set,g=!1,f=!1,h=(m,I,B,b)=>{if(u.has(B))return;let R=[...I,B.locator],H=new Map,L=new Map;for(let q of qL(B)){let A=W5e(c,r,[c,...m,B],q,i,n,s,a,{outputReason:l.debugLevel>=2,fastLookupPossible:l.fastLookupPossible});if(L.set(q,A),A.isHoistable===2)for(let V of A.dependsOn){let W=H.get(V.name)||new Set;W.add(q.name),H.set(V.name,W)}}let K=new Set,J=(q,A,V)=>{if(!K.has(q)){K.add(q),L.set(q,{isHoistable:1,reason:V});for(let W of H.get(q.name)||[])J(B.dependencies.get(W),A,l.debugLevel>=2?`- peer dependency ${wi(q.locator)} from parent ${wi(B.locator)} was not hoisted`:"")}};for(let[q,A]of L)A.isHoistable===1&&J(q,A,A.reason);for(let q of L.keys())if(!K.has(q)){f=!0;let A=o.get(B);A&&A.has(q.name)&&(g=!0),B.dependencies.delete(q.name),B.hoistedDependencies.set(q.name,q),B.reasons.delete(q.name);let V=c.dependencies.get(q.name);if(l.debugLevel>=2){let W=Array.from(I).concat([B.locator]).map(F=>wi(F)).join("\u2192"),X=c.hoistedFrom.get(q.name);X||(X=[],c.hoistedFrom.set(q.name,X)),X.push(W),B.hoistedTo.set(q.name,Array.from(e).map(F=>wi(F.locator)).join("\u2192"))}if(!V)c.ident!==q.ident&&(c.dependencies.set(q.name,q),b.add(q));else for(let W of q.references)V.references.add(W)}if(l.check){let q=Lle(t);if(q)throw new Error(`${q}, after hoisting dependencies of ${[c,...m,B].map(A=>wi(A.locator)).join("\u2192")}: +${zC(t)}`)}let ne=qL(B);for(let q of ne)if(K.has(q)){let A=L.get(q);if((n.get(q.name)===q.ident||!B.reasons.has(q.name))&&A.isHoistable!==0&&B.reasons.set(q.name,A.reason),!q.isHoistBorder&&R.indexOf(q.locator)<0){u.add(B);let W=Mle(B,q);h([...m,B],[...I,B.locator],W,d),u.delete(B)}}},p,d=new Set(qL(c));do{p=d,d=new Set;for(let m of p){if(m.locator===c.locator||m.isHoistBorder)continue;let I=Mle(c,m);h([],Array.from(r),I,d)}}while(d.size>0);return{anotherRoundNeeded:g,isGraphChanged:f}},Lle=t=>{let e=[],r=new Set,i=new Set,n=(s,o,a)=>{if(r.has(s)||(r.add(s),i.has(s)))return;let l=new Map(o);for(let c of s.dependencies.values())s.peerNames.has(c.name)||l.set(c.name,c);for(let c of s.originalDependencies.values()){let u=l.get(c.name),g=()=>`${Array.from(i).concat([s]).map(f=>wi(f.locator)).join("\u2192")}`;if(s.peerNames.has(c.name)){let f=o.get(c.name);(f!==u||!f||f.ident!==c.ident)&&e.push(`${g()} - broken peer promise: expected ${c.ident} but found ${f&&f.ident}`)}else{let f=a.hoistedFrom.get(s.name),h=s.hoistedTo.get(c.name),p=`${f?` hoisted from ${f.join(", ")}`:""}`,d=`${h?` hoisted to ${h}`:""}`,m=`${g()}${p}`;u?u.ident!==c.ident&&e.push(`${m} - broken require promise for ${c.name}${d}: expected ${c.ident}, but found: ${u.ident}`):e.push(`${m} - broken require promise: no required dependency ${c.name}${d} found`)}}i.add(s);for(let c of s.dependencies.values())s.peerNames.has(c.name)||n(c,l,s);i.delete(s)};return n(t,t.dependencies,t),e.join(` +`)},U5e=(t,e)=>{let{identName:r,name:i,reference:n,peerNames:s}=t,o={name:i,references:new Set([n]),locator:jL(r,n),ident:Nle(r,n),dependencies:new Map,originalDependencies:new Map,hoistedDependencies:new Map,peerNames:new Set(s),reasons:new Map,decoupled:!0,isHoistBorder:!0,hoistPriority:0,isWorkspace:!0,hoistedFrom:new Map,hoistedTo:new Map},a=new Map([[t,o]]),l=(c,u)=>{let g=a.get(c),f=!!g;if(!g){let{name:h,identName:p,reference:d,peerNames:m,hoistPriority:I,isWorkspace:B}=c,b=e.hoistingLimits.get(u.locator);g={name:h,references:new Set([d]),locator:jL(p,d),ident:Nle(p,d),dependencies:new Map,originalDependencies:new Map,hoistedDependencies:new Map,peerNames:new Set(m),reasons:new Map,decoupled:!0,isHoistBorder:b?b.has(h):!1,hoistPriority:I||0,isWorkspace:B||!1,hoistedFrom:new Map,hoistedTo:new Map},a.set(c,g)}if(u.dependencies.set(c.name,g),u.originalDependencies.set(c.name,g),f){let h=new Set,p=d=>{if(!h.has(d)){h.add(d),d.decoupled=!1;for(let m of d.dependencies.values())d.peerNames.has(m.name)||p(m)}};p(g)}else for(let h of c.dependencies)l(h,g)};for(let c of t.dependencies)l(c,o);return o},JL=t=>t.substring(0,t.indexOf("@",1)),H5e=t=>{let e={name:t.name,identName:JL(t.locator),references:new Set(t.references),dependencies:new Set},r=new Set([t]),i=(n,s,o)=>{let a=r.has(n),l;if(s===n)l=o;else{let{name:c,references:u,locator:g}=n;l={name:c,identName:JL(g),references:u,dependencies:new Set}}if(o.dependencies.add(l),!a){r.add(n);for(let c of n.dependencies.values())n.peerNames.has(c.name)||i(c,n,l);r.delete(n)}};for(let n of t.dependencies.values())i(n,t,e);return e},J5e=t=>{let e=new Map,r=new Set([t]),i=o=>`${o.name}@${o.ident}`,n=o=>{let a=i(o),l=e.get(a);return l||(l={dependents:new Set,peerDependents:new Set,hoistPriority:0},e.set(a,l)),l},s=(o,a)=>{let l=!!r.has(a);if(n(a).dependents.add(o.ident),!l){r.add(a);for(let u of a.dependencies.values()){let g=n(u);g.hoistPriority=Math.max(g.hoistPriority,u.hoistPriority),a.peerNames.has(u.name)?g.peerDependents.add(a.ident):s(a,u)}}};for(let o of t.dependencies.values())t.peerNames.has(o.name)||s(t,o);return e},wi=t=>{if(!t)return"none";let e=t.indexOf("@",1),r=t.substring(0,e);r.endsWith("$wsroot$")&&(r=`wh:${r.replace("$wsroot$","")}`);let i=t.substring(e+1);if(i==="workspace:.")return".";if(i){let n=(i.indexOf("#")>0?i.split("#")[1]:i).replace("npm:","");return i.startsWith("virtual")&&(r=`v:${r}`),n.startsWith("workspace")&&(r=`w:${r}`,n=""),`${r}${n?`@${n}`:""}`}else return`${r}`},Ole=5e4,zC=t=>{let e=0,r=(n,s,o="")=>{if(e>Ole||s.has(n))return"";e++;let a=Array.from(n.dependencies.values()).sort((c,u)=>c.name.localeCompare(u.name)),l="";s.add(n);for(let c=0;c":"")+(f!==u.name?`a:${u.name}:`:"")+wi(u.locator)+(g?` ${g}`:"")+(u!==n&&h.length>0?`, hoisted from: ${h.join(", ")}`:"")} +`,l+=r(u,s,`${o}${cOle?` +Tree is too large, part of the tree has been dunped +`:"")};var Js;(function(r){r.HARD="HARD",r.SOFT="SOFT"})(Js||(Js={}));var Sn;(function(i){i.WORKSPACES="workspaces",i.DEPENDENCIES="dependencies",i.NONE="none"})(Sn||(Sn={}));var Kle="node_modules",Hc="$wsroot$";var VC=(t,e)=>{let{packageTree:r,hoistingLimits:i,errors:n,preserveSymlinksRequired:s}=z5e(t,e),o=null;if(n.length===0){let a=Tle(r,{hoistingLimits:i});o=V5e(t,a,e)}return{tree:o,errors:n,preserveSymlinksRequired:s}},ms=t=>`${t.name}@${t.reference}`,WL=t=>{let e=new Map;for(let[r,i]of t.entries())if(!i.dirList){let n=e.get(i.locator);n||(n={target:i.target,linkType:i.linkType,locations:[],aliases:i.aliases},e.set(i.locator,n)),n.locations.push(r)}for(let r of e.values())r.locations=r.locations.sort((i,n)=>{let s=i.split(v.delimiter).length,o=n.split(v.delimiter).length;return s!==o?o-s:n.localeCompare(i)});return e},Ule=(t,e)=>{let r=S.isVirtualLocator(t)?S.devirtualizeLocator(t):t,i=S.isVirtualLocator(e)?S.devirtualizeLocator(e):e;return S.areLocatorsEqual(r,i)},zL=(t,e,r,i)=>{if(t.linkType!==Js.SOFT)return!1;let n=M.toPortablePath(r.resolveVirtual&&e.reference&&e.reference.startsWith("virtual:")?r.resolveVirtual(t.packageLocation):t.packageLocation);return v.contains(i,n)===null},_5e=t=>{let e=t.getPackageInformation(t.topLevel);if(e===null)throw new Error("Assertion failed: Expected the top-level package to have been registered");if(t.findPackageLocator(e.packageLocation)===null)throw new Error("Assertion failed: Expected the top-level package to have a physical locator");let i=M.toPortablePath(e.packageLocation.slice(0,-1)),n=new Map,s={children:new Map},o=t.getDependencyTreeRoots(),a=new Map,l=new Set,c=(f,h)=>{let p=ms(f);if(l.has(p))return;l.add(p);let d=t.getPackageInformation(f);if(d){let m=h?ms(h):"";if(ms(f)!==m&&d.linkType===Js.SOFT&&!zL(d,f,t,i)){let I=Hle(d,f,t);(!a.get(I)||f.reference.startsWith("workspace:"))&&a.set(I,f)}for(let[I,B]of d.packageDependencies)B!==null&&(d.packagePeers.has(I)||c(t.getLocator(I,B),f))}};for(let f of o)c(f,null);let u=i.split(v.sep);for(let f of a.values()){let h=t.getPackageInformation(f),d=M.toPortablePath(h.packageLocation.slice(0,-1)).split(v.sep).slice(u.length),m=s;for(let I of d){let B=m.children.get(I);B||(B={children:new Map},m.children.set(I,B)),m=B}m.workspaceLocator=f}let g=(f,h)=>{if(f.workspaceLocator){let p=ms(h),d=n.get(p);d||(d=new Set,n.set(p,d)),d.add(f.workspaceLocator)}for(let p of f.children.values())g(p,f.workspaceLocator||h)};for(let f of s.children.values())g(f,s.workspaceLocator);return n},z5e=(t,e)=>{let r=[],i=!1,n=new Map,s=_5e(t),o=t.getPackageInformation(t.topLevel);if(o===null)throw new Error("Assertion failed: Expected the top-level package to have been registered");let a=t.findPackageLocator(o.packageLocation);if(a===null)throw new Error("Assertion failed: Expected the top-level package to have a physical locator");let l=M.toPortablePath(o.packageLocation.slice(0,-1)),c={name:a.name,identName:a.name,reference:a.reference,peerNames:o.packagePeers,dependencies:new Set,isWorkspace:!0},u=new Map,g=(h,p)=>`${ms(p)}:${h}`,f=(h,p,d,m,I,B,b,R)=>{var X,F;let H=g(h,d),L=u.get(H),K=!!L;!K&&d.name===a.name&&d.reference===a.reference&&(L=c,u.set(H,c));let J=zL(p,d,t,l);if(!L){let D=p.linkType===Js.SOFT&&d.name.endsWith(Hc);L={name:h,identName:d.name,reference:d.reference,dependencies:new Set,peerNames:D?new Set:p.packagePeers,isWorkspace:D},u.set(H,L)}let ne;if(J?ne=2:I.linkType===Js.SOFT?ne=1:ne=0,L.hoistPriority=Math.max(L.hoistPriority||0,ne),R&&!J){let D=ms({name:m.identName,reference:m.reference}),he=n.get(D)||new Set;n.set(D,he),he.add(L.name)}let q=new Map(p.packageDependencies);if(e.project){let D=e.project.workspacesByCwd.get(M.toPortablePath(p.packageLocation.slice(0,-1)));if(D){let he=new Set([...Array.from(D.manifest.peerDependencies.values(),pe=>S.stringifyIdent(pe)),...Array.from(D.manifest.peerDependenciesMeta.keys())]);for(let pe of he)q.has(pe)||(q.set(pe,B.get(pe)||null),L.peerNames.add(pe))}}let A=ms({name:d.name.replace(Hc,""),reference:d.reference}),V=s.get(A);if(V)for(let D of V)q.set(`${D.name}${Hc}`,D.reference);(p!==I||p.linkType!==Js.SOFT||!e.selfReferencesByCwd||e.selfReferencesByCwd.get(b))&&m.dependencies.add(L);let W=d!==a&&p.linkType===Js.SOFT&&!d.name.endsWith(Hc)&&!J;if(!K&&!W){let D=new Map;for(let[he,pe]of q)if(pe!==null){let Ne=t.getLocator(he,pe),Pe=t.getLocator(he.replace(Hc,""),pe),qe=t.getPackageInformation(Pe);if(qe===null)throw new Error("Assertion failed: Expected the package to have been registered");let re=zL(qe,Ne,t,l);if(e.validateExternalSoftLinks&&e.project&&re){qe.packageDependencies.size>0&&(i=!0);for(let[De,$]of qe.packageDependencies)if($!==null){let G=S.parseLocator(Array.isArray($)?`${$[0]}@${$[1]}`:`${De}@${$}`);if(ms(G)!==ms(Ne)){let Ce=q.get(De);if(Ce){let ee=S.parseLocator(Array.isArray(Ce)?`${Ce[0]}@${Ce[1]}`:`${De}@${Ce}`);Ule(ee,G)||r.push({messageName:z.NM_CANT_INSTALL_EXTERNAL_SOFT_LINK,text:`Cannot link ${S.prettyIdent(e.project.configuration,S.parseIdent(Ne.name))} into ${S.prettyLocator(e.project.configuration,S.parseLocator(`${d.name}@${d.reference}`))} dependency ${S.prettyLocator(e.project.configuration,G)} conflicts with parent dependency ${S.prettyLocator(e.project.configuration,ee)}`})}else{let ee=D.get(De);if(ee){let Ue=ee.target,Oe=S.parseLocator(Array.isArray(Ue)?`${Ue[0]}@${Ue[1]}`:`${De}@${Ue}`);Ule(Oe,G)||r.push({messageName:z.NM_CANT_INSTALL_EXTERNAL_SOFT_LINK,text:`Cannot link ${S.prettyIdent(e.project.configuration,S.parseIdent(Ne.name))} into ${S.prettyLocator(e.project.configuration,S.parseLocator(`${d.name}@${d.reference}`))} dependency ${S.prettyLocator(e.project.configuration,G)} conflicts with dependency ${S.prettyLocator(e.project.configuration,Oe)} from sibling portal ${S.prettyIdent(e.project.configuration,S.parseIdent(ee.portal.name))}`})}else D.set(De,{target:G.reference,portal:Ne})}}}}let se=(X=e.hoistingLimitsByCwd)==null?void 0:X.get(b),be=re?b:v.relative(l,M.toPortablePath(qe.packageLocation))||Se.dot,ae=(F=e.hoistingLimitsByCwd)==null?void 0:F.get(be),Ae=se===Sn.DEPENDENCIES||ae===Sn.DEPENDENCIES||ae===Sn.WORKSPACES;f(ms(Ne)===ms(d)?h:he,qe,Ne,L,p,q,be,Ae)}}};return f(a.name,o,a,c,o,o.packageDependencies,Se.dot,!1),{packageTree:c,hoistingLimits:n,errors:r,preserveSymlinksRequired:i}};function Hle(t,e,r){let i=r.resolveVirtual&&e.reference&&e.reference.startsWith("virtual:")?r.resolveVirtual(t.packageLocation):t.packageLocation;return M.toPortablePath(i||t.packageLocation)}function X5e(t,e,r){let i=e.getLocator(t.name.replace(Hc,""),t.reference),n=e.getPackageInformation(i);if(n===null)throw new Error("Assertion failed: Expected the package to be registered");let s,o;return r.pnpifyFs?(o=M.toPortablePath(n.packageLocation),s=Js.SOFT):(o=Hle(n,t,e),s=n.linkType),{linkType:s,target:o}}var V5e=(t,e,r)=>{let i=new Map,n=(u,g,f)=>{let{linkType:h,target:p}=X5e(u,t,r);return{locator:ms(u),nodePath:g,target:p,linkType:h,aliases:f}},s=u=>{let[g,f]=u.split("/");return f?{scope:kr(g),name:kr(f)}:{scope:null,name:kr(g)}},o=new Set,a=(u,g,f)=>{if(!o.has(u)){o.add(u);for(let h of u.dependencies){if(h===u)continue;let p=Array.from(h.references).sort(),d={name:h.identName,reference:p[0]},{name:m,scope:I}=s(h.name),B=I?[I,m]:[m],b=v.join(g,Kle),R=v.join(b,...B),H=`${f}/${d.name}`,L=n(d,f,p.slice(1)),K=!1;if(L.linkType===Js.SOFT&&r.project){let J=r.project.workspacesByCwd.get(L.target.slice(0,-1));K=!!(J&&!J.manifest.name)}if(!h.name.endsWith(Hc)&&!K){let J=i.get(R);if(J){if(J.dirList)throw new Error(`Assertion failed: ${R} cannot merge dir node with leaf node`);{let V=S.parseLocator(J.locator),W=S.parseLocator(L.locator);if(J.linkType!==L.linkType)throw new Error(`Assertion failed: ${R} cannot merge nodes with different link types ${J.nodePath}/${S.stringifyLocator(V)} and ${f}/${S.stringifyLocator(W)}`);if(V.identHash!==W.identHash)throw new Error(`Assertion failed: ${R} cannot merge nodes with different idents ${J.nodePath}/${S.stringifyLocator(V)} and ${f}/s${S.stringifyLocator(W)}`);L.aliases=[...L.aliases,...J.aliases,S.parseLocator(J.locator).reference]}}i.set(R,L);let ne=R.split("/"),q=ne.indexOf(Kle),A=ne.length-1;for(;q>=0&&A>q;){let V=M.toPortablePath(ne.slice(0,A).join(v.sep)),W=kr(ne[A]),X=i.get(V);if(!X)i.set(V,{dirList:new Set([W])});else if(X.dirList){if(X.dirList.has(W))break;X.dirList.add(W)}A--}}a(h,L.linkType===Js.SOFT?L.target:R,H)}}},l=n({name:e.name,reference:Array.from(e.references)[0]},"",[]),c=l.target;return i.set(c,l),a(e,c,""),i};var oT={};it(oT,{PnpInstaller:()=>Cf,PnpLinker:()=>jc,default:()=>m6e,getPnpPath:()=>qA,jsInstallUtils:()=>Ws,pnpUtils:()=>nT,quotePathIfNeeded:()=>uce});var lce=ie(Or()),cce=ie(require("url"));var Gle;(function(r){r.HARD="HARD",r.SOFT="SOFT"})(Gle||(Gle={}));var Ht;(function(f){f.DEFAULT="DEFAULT",f.TOP_LEVEL="TOP_LEVEL",f.FALLBACK_EXCLUSION_LIST="FALLBACK_EXCLUSION_LIST",f.FALLBACK_EXCLUSION_ENTRIES="FALLBACK_EXCLUSION_ENTRIES",f.FALLBACK_EXCLUSION_DATA="FALLBACK_EXCLUSION_DATA",f.PACKAGE_REGISTRY_DATA="PACKAGE_REGISTRY_DATA",f.PACKAGE_REGISTRY_ENTRIES="PACKAGE_REGISTRY_ENTRIES",f.PACKAGE_STORE_DATA="PACKAGE_STORE_DATA",f.PACKAGE_STORE_ENTRIES="PACKAGE_STORE_ENTRIES",f.PACKAGE_INFORMATION_DATA="PACKAGE_INFORMATION_DATA",f.PACKAGE_DEPENDENCIES="PACKAGE_DEPENDENCIES",f.PACKAGE_DEPENDENCY="PACKAGE_DEPENDENCY"})(Ht||(Ht={}));var jle={[Ht.DEFAULT]:{collapsed:!1,next:{["*"]:Ht.DEFAULT}},[Ht.TOP_LEVEL]:{collapsed:!1,next:{fallbackExclusionList:Ht.FALLBACK_EXCLUSION_LIST,packageRegistryData:Ht.PACKAGE_REGISTRY_DATA,["*"]:Ht.DEFAULT}},[Ht.FALLBACK_EXCLUSION_LIST]:{collapsed:!1,next:{["*"]:Ht.FALLBACK_EXCLUSION_ENTRIES}},[Ht.FALLBACK_EXCLUSION_ENTRIES]:{collapsed:!0,next:{["*"]:Ht.FALLBACK_EXCLUSION_DATA}},[Ht.FALLBACK_EXCLUSION_DATA]:{collapsed:!0,next:{["*"]:Ht.DEFAULT}},[Ht.PACKAGE_REGISTRY_DATA]:{collapsed:!1,next:{["*"]:Ht.PACKAGE_REGISTRY_ENTRIES}},[Ht.PACKAGE_REGISTRY_ENTRIES]:{collapsed:!0,next:{["*"]:Ht.PACKAGE_STORE_DATA}},[Ht.PACKAGE_STORE_DATA]:{collapsed:!1,next:{["*"]:Ht.PACKAGE_STORE_ENTRIES}},[Ht.PACKAGE_STORE_ENTRIES]:{collapsed:!0,next:{["*"]:Ht.PACKAGE_INFORMATION_DATA}},[Ht.PACKAGE_INFORMATION_DATA]:{collapsed:!1,next:{packageDependencies:Ht.PACKAGE_DEPENDENCIES,["*"]:Ht.DEFAULT}},[Ht.PACKAGE_DEPENDENCIES]:{collapsed:!1,next:{["*"]:Ht.PACKAGE_DEPENDENCY}},[Ht.PACKAGE_DEPENDENCY]:{collapsed:!0,next:{["*"]:Ht.DEFAULT}}};function Z5e(t,e,r){let i="";i+="[";for(let n=0,s=t.length;ns(o)));let n=r.map((s,o)=>o);return n.sort((s,o)=>{for(let a of i){let l=a[s]a[o]?1:0;if(l!==0)return l}return 0}),n.map(s=>r[s])}function r6e(t){let e=new Map,r=_C(t.fallbackExclusionList||[],[({name:i,reference:n})=>i,({name:i,reference:n})=>n]);for(let{name:i,reference:n}of r){let s=e.get(i);typeof s=="undefined"&&e.set(i,s=new Set),s.add(n)}return Array.from(e).map(([i,n])=>[i,Array.from(n)])}function i6e(t){return _C(t.fallbackPool||[],([e])=>e)}function n6e(t){let e=[];for(let[r,i]of _C(t.packageRegistry,([n])=>n===null?"0":`1${n}`)){let n=[];e.push([r,n]);for(let[s,{packageLocation:o,packageDependencies:a,packagePeers:l,linkType:c,discardFromLookup:u}]of _C(i,([g])=>g===null?"0":`1${g}`)){let g=[];r!==null&&s!==null&&!a.has(r)&&g.push([r,s]);for(let[p,d]of _C(a.entries(),([m])=>m))g.push([p,d]);let f=l&&l.size>0?Array.from(l):void 0,h=u||void 0;n.push([s,{packageLocation:o,packageDependencies:g,packagePeers:f,linkType:c,discardFromLookup:h}])}}return e}function XC(t){return{__info:["This file is automatically generated. Do not touch it, or risk","your modifications being lost. We also recommend you not to read","it either without using the @yarnpkg/pnp package, as the data layout","is entirely unspecified and WILL change from a version to another."],dependencyTreeRoots:t.dependencyTreeRoots,enableTopLevelFallback:t.enableTopLevelFallback||!1,ignorePatternData:t.ignorePattern||null,fallbackExclusionList:r6e(t),fallbackPool:i6e(t),packageRegistryData:n6e(t)}}var zle=ie(Wle());function Vle(t,e){return[t?`${t} +`:"",`/* eslint-disable */ + +`,`try { +`,` Object.freeze({}).detectStrictMode = true; +`,`} catch (error) { +`," throw new Error(`The whole PnP file got strict-mode-ified, which is known to break (Emscripten libraries aren't strict mode). This usually happens when the file goes through Babel.`);\n",`} +`,` +`,`var __non_webpack_module__ = module; +`,` +`,`function $$SETUP_STATE(hydrateRuntimeState, basePath) { +`,e.replace(/^/gm," "),`} +`,` +`,(0,zle.default)()].join("")}function s6e(t){return JSON.stringify(t,null,2)}function o6e(t){return[`return hydrateRuntimeState(${qle(t)}, {basePath: basePath || __dirname}); +`].join("")}function a6e(t){return[`var path = require('path'); +`,`var dataLocation = path.resolve(__dirname, ${JSON.stringify(t)}); +`,`return hydrateRuntimeState(require(dataLocation), {basePath: basePath || path.dirname(dataLocation)}); +`].join("")}function _le(t){let e=XC(t),r=o6e(e);return Vle(t.shebang,r)}function Xle(t){let e=XC(t),r=a6e(t.dataLocation),i=Vle(t.shebang,r);return{dataFile:s6e(e),loaderFile:i}}var tce=ie(require("fs")),u6e=ie(require("path")),rce=ie(require("util"));function _L(t,{basePath:e}){let r=M.toPortablePath(e),i=v.resolve(r),n=t.ignorePatternData!==null?new RegExp(t.ignorePatternData):null,s=new Map,o=new Map(t.packageRegistryData.map(([g,f])=>[g,new Map(f.map(([h,p])=>{var b;if(g===null!=(h===null))throw new Error("Assertion failed: The name and reference should be null, or neither should");let d=(b=p.discardFromLookup)!=null?b:!1,m={name:g,reference:h},I=s.get(p.packageLocation);I?(I.discardFromLookup=I.discardFromLookup&&d,d||(I.locator=m)):s.set(p.packageLocation,{locator:m,discardFromLookup:d});let B=null;return[h,{packageDependencies:new Map(p.packageDependencies),packagePeers:new Set(p.packagePeers),linkType:p.linkType,discardFromLookup:d,get packageLocation(){return B||(B=v.join(i,p.packageLocation))}}]}))])),a=new Map(t.fallbackExclusionList.map(([g,f])=>[g,new Set(f)])),l=new Map(t.fallbackPool),c=t.dependencyTreeRoots,u=t.enableTopLevelFallback;return{basePath:r,dependencyTreeRoots:c,enableTopLevelFallback:u,fallbackExclusionList:a,fallbackPool:l,ignorePattern:n,packageLocatorsByLocations:s,packageRegistry:o}}var df=ie(require("module")),ece=ie($le()),ZL=ie(require("util"));var ur;(function(l){l.API_ERROR="API_ERROR",l.BUILTIN_NODE_RESOLUTION_FAILED="BUILTIN_NODE_RESOLUTION_FAILED",l.MISSING_DEPENDENCY="MISSING_DEPENDENCY",l.MISSING_PEER_DEPENDENCY="MISSING_PEER_DEPENDENCY",l.QUALIFIED_PATH_RESOLUTION_FAILED="QUALIFIED_PATH_RESOLUTION_FAILED",l.INTERNAL="INTERNAL",l.UNDECLARED_DEPENDENCY="UNDECLARED_DEPENDENCY",l.UNSUPPORTED="UNSUPPORTED"})(ur||(ur={}));var c6e=new Set([ur.BUILTIN_NODE_RESOLUTION_FAILED,ur.MISSING_DEPENDENCY,ur.MISSING_PEER_DEPENDENCY,ur.QUALIFIED_PATH_RESOLUTION_FAILED,ur.UNDECLARED_DEPENDENCY]);function ui(t,e,r={}){let i=c6e.has(t)?"MODULE_NOT_FOUND":t,n={configurable:!0,writable:!0,enumerable:!1};return Object.defineProperties(new Error(e),{code:_(P({},n),{value:i}),pnpCode:_(P({},n),{value:t}),data:_(P({},n),{value:r})})}function YA(t){return M.normalize(M.fromPortablePath(t))}function $L(t,e){let r=Number(process.env.PNP_ALWAYS_WARN_ON_FALLBACK)>0,i=Number(process.env.PNP_DEBUG_LEVEL),n=new Set(df.Module.builtinModules||Object.keys(process.binding("natives"))),s=re=>n.has(re)||re.startsWith("node:"),o=/^(?![a-zA-Z]:[\\/]|\\\\|\.{0,2}(?:\/|$))((?:node:)?(?:@[^/]+\/)?[^/]+)\/*(.*|)$/,a=/^(\/|\.{1,2}(\/|$))/,l=/\/$/,c=/^\.{0,2}\//,u={name:null,reference:null},g=[],f=new Set;if(t.enableTopLevelFallback===!0&&g.push(u),e.compatibilityMode!==!1)for(let re of["react-scripts","gatsby"]){let se=t.packageRegistry.get(re);if(se)for(let be of se.keys()){if(be===null)throw new Error("Assertion failed: This reference shouldn't be null");g.push({name:re,reference:be})}}let{ignorePattern:h,packageRegistry:p,packageLocatorsByLocations:d}=t;function m(re,se){return{fn:re,args:se,error:null,result:null}}function I(re){var De,$,G,Ce,ee,Ue;let se=(G=($=(De=process.stderr)==null?void 0:De.hasColors)==null?void 0:$.call(De))!=null?G:process.stdout.isTTY,be=(Oe,vt)=>`[${Oe}m${vt}`,ae=re.error;console.error(ae?be("31;1",`\u2716 ${(Ce=re.error)==null?void 0:Ce.message.replace(/\n.*/s,"")}`):be("33;1","\u203C Resolution")),re.args.length>0&&console.error();for(let Oe of re.args)console.error(` ${be("37;1","In \u2190")} ${(0,ZL.inspect)(Oe,{colors:se,compact:!0})}`);re.result&&(console.error(),console.error(` ${be("37;1","Out \u2192")} ${(0,ZL.inspect)(re.result,{colors:se,compact:!0})}`));let Ae=(Ue=(ee=new Error().stack.match(/(?<=^ +)at.*/gm))==null?void 0:ee.slice(2))!=null?Ue:[];if(Ae.length>0){console.error();for(let Oe of Ae)console.error(` ${be("38;5;244",Oe)}`)}console.error()}function B(re,se){if(e.allowDebug===!1)return se;if(Number.isFinite(i)){if(i>=2)return(...be)=>{let ae=m(re,be);try{return ae.result=se(...be)}catch(Ae){throw ae.error=Ae}finally{I(ae)}};if(i>=1)return(...be)=>{try{return se(...be)}catch(ae){let Ae=m(re,be);throw Ae.error=ae,I(Ae),ae}}}return se}function b(re){let se=W(re);if(!se)throw ui(ur.INTERNAL,"Couldn't find a matching entry in the dependency tree for the specified parent (this is probably an internal error)");return se}function R(re){if(re.name===null)return!0;for(let se of t.dependencyTreeRoots)if(se.name===re.name&&se.reference===re.reference)return!0;return!1}let H=new Set(["default","node","require"]);function L(re,se=H){let be=D(v.join(re,"internal.js"),{resolveIgnored:!0,includeDiscardFromLookup:!0});if(be===null)throw ui(ur.INTERNAL,`The locator that owns the "${re}" path can't be found inside the dependency tree (this is probably an internal error)`);let{packageLocation:ae}=b(be),Ae=v.join(ae,wt.manifest);if(!e.fakeFs.existsSync(Ae))return null;let De=JSON.parse(e.fakeFs.readFileSync(Ae,"utf8")),$=v.contains(ae,re);if($===null)throw ui(ur.INTERNAL,"unqualifiedPath doesn't contain the packageLocation (this is probably an internal error)");c.test($)||($=`./${$}`);let G=(0,ece.resolve)(De,v.normalize($),{conditions:se,unsafe:!0});return typeof G=="string"?v.join(ae,G):null}function K(re,se,{extensions:be}){let ae;try{se.push(re),ae=e.fakeFs.statSync(re)}catch(Ae){}if(ae&&!ae.isDirectory())return e.fakeFs.realpathSync(re);if(ae&&ae.isDirectory()){let Ae;try{Ae=JSON.parse(e.fakeFs.readFileSync(v.join(re,wt.manifest),"utf8"))}catch($){}let De;if(Ae&&Ae.main&&(De=v.resolve(re,Ae.main)),De&&De!==re){let $=K(De,se,{extensions:be});if($!==null)return $}}for(let Ae=0,De=be.length;Ae{let G=JSON.stringify($.name);if(ae.has(G))return;ae.add(G);let Ce=X($);for(let ee of Ce)if(b(ee).packagePeers.has(re))Ae(ee);else{let Oe=be.get(ee.name);typeof Oe=="undefined"&&be.set(ee.name,Oe=new Set),Oe.add(ee.reference)}};Ae(se);let De=[];for(let $ of[...be.keys()].sort())for(let G of[...be.get($)].sort())De.push({name:$,reference:G});return De}function D(re,{resolveIgnored:se=!1,includeDiscardFromLookup:be=!1}={}){if(q(re)&&!se)return null;let ae=v.relative(t.basePath,re);ae.match(a)||(ae=`./${ae}`),ae.endsWith("/")||(ae=`${ae}/`);do{let Ae=d.get(ae);if(typeof Ae=="undefined"||Ae.discardFromLookup&&!be){ae=ae.substring(0,ae.lastIndexOf("/",ae.length-2)+1);continue}return Ae.locator}while(ae!=="");return null}function he(re,se,{considerBuiltins:be=!0}={}){if(re==="pnpapi")return M.toPortablePath(e.pnpapiResolution);if(be&&s(re))return null;let ae=YA(re),Ae=se&&YA(se);if(se&&q(se)&&(!v.isAbsolute(re)||D(re)===null)){let G=ne(re,se);if(G===!1)throw ui(ur.BUILTIN_NODE_RESOLUTION_FAILED,`The builtin node resolution algorithm was unable to resolve the requested module (it didn't go through the pnp resolver because the issuer was explicitely ignored by the regexp) + +Require request: "${ae}" +Required by: ${Ae} +`,{request:ae,issuer:Ae});return M.toPortablePath(G)}let De,$=re.match(o);if($){if(!se)throw ui(ur.API_ERROR,"The resolveToUnqualified function must be called with a valid issuer when the path isn't a builtin nor absolute",{request:ae,issuer:Ae});let[,G,Ce]=$,ee=D(se);if(!ee){let yr=ne(re,se);if(yr===!1)throw ui(ur.BUILTIN_NODE_RESOLUTION_FAILED,`The builtin node resolution algorithm was unable to resolve the requested module (it didn't go through the pnp resolver because the issuer doesn't seem to be part of the Yarn-managed dependency tree). + +Require path: "${ae}" +Required by: ${Ae} +`,{request:ae,issuer:Ae});return M.toPortablePath(yr)}let Oe=b(ee).packageDependencies.get(G),vt=null;if(Oe==null&&ee.name!==null){let yr=t.fallbackExclusionList.get(ee.name);if(!yr||!yr.has(ee.reference)){for(let Qi=0,Go=g.length;QiR(Ki))?dt=ui(ur.MISSING_PEER_DEPENDENCY,`${ee.name} tried to access ${G} (a peer dependency) but it isn't provided by your application; this makes the require call ambiguous and unsound. + +Required package: ${G}${G!==ae?` (via "${ae}")`:""} +Required by: ${ee.name}@${ee.reference} (via ${Ae}) +${yr.map(Ki=>`Ancestor breaking the chain: ${Ki.name}@${Ki.reference} +`).join("")} +`,{request:ae,issuer:Ae,issuerLocator:Object.assign({},ee),dependencyName:G,brokenAncestors:yr}):dt=ui(ur.MISSING_PEER_DEPENDENCY,`${ee.name} tried to access ${G} (a peer dependency) but it isn't provided by its ancestors; this makes the require call ambiguous and unsound. + +Required package: ${G}${G!==ae?` (via "${ae}")`:""} +Required by: ${ee.name}@${ee.reference} (via ${Ae}) + +${yr.map(Ki=>`Ancestor breaking the chain: ${Ki.name}@${Ki.reference} +`).join("")} +`,{request:ae,issuer:Ae,issuerLocator:Object.assign({},ee),dependencyName:G,brokenAncestors:yr})}else Oe===void 0&&(!be&&s(re)?R(ee)?dt=ui(ur.UNDECLARED_DEPENDENCY,`Your application tried to access ${G}. While this module is usually interpreted as a Node builtin, your resolver is running inside a non-Node resolution context where such builtins are ignored. Since ${G} isn't otherwise declared in your dependencies, this makes the require call ambiguous and unsound. + +Required package: ${G}${G!==ae?` (via "${ae}")`:""} +Required by: ${Ae} +`,{request:ae,issuer:Ae,dependencyName:G}):dt=ui(ur.UNDECLARED_DEPENDENCY,`${ee.name} tried to access ${G}. While this module is usually interpreted as a Node builtin, your resolver is running inside a non-Node resolution context where such builtins are ignored. Since ${G} isn't otherwise declared in ${ee.name}'s dependencies, this makes the require call ambiguous and unsound. + +Required package: ${G}${G!==ae?` (via "${ae}")`:""} +Required by: ${Ae} +`,{request:ae,issuer:Ae,issuerLocator:Object.assign({},ee),dependencyName:G}):R(ee)?dt=ui(ur.UNDECLARED_DEPENDENCY,`Your application tried to access ${G}, but it isn't declared in your dependencies; this makes the require call ambiguous and unsound. + +Required package: ${G}${G!==ae?` (via "${ae}")`:""} +Required by: ${Ae} +`,{request:ae,issuer:Ae,dependencyName:G}):dt=ui(ur.UNDECLARED_DEPENDENCY,`${ee.name} tried to access ${G}, but it isn't declared in its dependencies; this makes the require call ambiguous and unsound. + +Required package: ${G}${G!==ae?` (via "${ae}")`:""} +Required by: ${ee.name}@${ee.reference} (via ${Ae}) +`,{request:ae,issuer:Ae,issuerLocator:Object.assign({},ee),dependencyName:G}));if(Oe==null){if(vt===null||dt===null)throw dt||new Error("Assertion failed: Expected an error to have been set");Oe=vt;let yr=dt.message.replace(/\n.*/g,"");dt.message=yr,!f.has(yr)&&i!==0&&(f.add(yr),process.emitWarning(dt))}let ri=Array.isArray(Oe)?{name:Oe[0],reference:Oe[1]}:{name:G,reference:Oe},ii=b(ri);if(!ii.packageLocation)throw ui(ur.MISSING_DEPENDENCY,`A dependency seems valid but didn't get installed for some reason. This might be caused by a partial install, such as dev vs prod. + +Required package: ${ri.name}@${ri.reference}${ri.name!==ae?` (via "${ae}")`:""} +Required by: ${ee.name}@${ee.reference} (via ${Ae}) +`,{request:ae,issuer:Ae,dependencyLocator:Object.assign({},ri)});let an=ii.packageLocation;Ce?De=v.join(an,Ce):De=an}else if(v.isAbsolute(re))De=v.normalize(re);else{if(!se)throw ui(ur.API_ERROR,"The resolveToUnqualified function must be called with a valid issuer when the path isn't a builtin nor absolute",{request:ae,issuer:Ae});let G=v.resolve(se);se.match(l)?De=v.normalize(v.join(G,re)):De=v.normalize(v.join(v.dirname(G),re))}return v.normalize(De)}function pe(re,se,be=H){if(a.test(re))return se;let ae=L(se,be);return ae?v.normalize(ae):se}function Ne(re,{extensions:se=Object.keys(df.Module._extensions)}={}){let be=[],ae=K(re,be,{extensions:se});if(ae)return v.normalize(ae);{let Ae=YA(re),De=D(re);if(De){let{packageLocation:$}=b(De);if(!e.fakeFs.existsSync($)){let G=$.includes("/unplugged/")?"Required unplugged package missing from disk. This may happen when switching branches without running installs (unplugged packages must be fully materialized on disk to work).":"Required package missing from disk. If you keep your packages inside your repository then restarting the Node process may be enough. Otherwise, try to run an install first.";throw ui(ur.QUALIFIED_PATH_RESOLUTION_FAILED,`${G} + +Missing package: ${De.name}@${De.reference} +Expected package location: ${YA($)} +`,{unqualifiedPath:Ae})}}throw ui(ur.QUALIFIED_PATH_RESOLUTION_FAILED,`Qualified path resolution failed - none of those files can be found on the disk. + +Source path: ${Ae} +${be.map($=>`Not found: ${YA($)} +`).join("")}`,{unqualifiedPath:Ae})}}function Pe(re,se,{considerBuiltins:be,extensions:ae,conditions:Ae}={}){let De=he(re,se,{considerBuiltins:be});if(re==="pnpapi")return De;if(De===null)return null;let $=()=>se!==null?q(se):!1,G=(!be||!s(re))&&!$()?pe(re,De,Ae):De;try{return Ne(G,{extensions:ae})}catch(Ce){throw Ce.pnpCode==="QUALIFIED_PATH_RESOLUTION_FAILED"&&Object.assign(Ce.data,{request:YA(re),issuer:se&&YA(se)}),Ce}}function qe(re){let se=v.normalize(re),be=Pr.resolveVirtual(se);return be!==se?be:null}return{VERSIONS:A,topLevel:V,getLocator:(re,se)=>Array.isArray(se)?{name:se[0],reference:se[1]}:{name:re,reference:se},getDependencyTreeRoots:()=>[...t.dependencyTreeRoots],getAllLocators(){let re=[];for(let[se,be]of p)for(let ae of be.keys())se!==null&&ae!==null&&re.push({name:se,reference:ae});return re},getPackageInformation:re=>{let se=W(re);if(se===null)return null;let be=M.fromPortablePath(se.packageLocation);return _(P({},se),{packageLocation:be})},findPackageLocator:re=>D(M.toPortablePath(re)),resolveToUnqualified:B("resolveToUnqualified",(re,se,be)=>{let ae=se!==null?M.toPortablePath(se):null,Ae=he(M.toPortablePath(re),ae,be);return Ae===null?null:M.fromPortablePath(Ae)}),resolveUnqualified:B("resolveUnqualified",(re,se)=>M.fromPortablePath(Ne(M.toPortablePath(re),se))),resolveRequest:B("resolveRequest",(re,se,be)=>{let ae=se!==null?M.toPortablePath(se):null,Ae=Pe(M.toPortablePath(re),ae,be);return Ae===null?null:M.fromPortablePath(Ae)}),resolveVirtual:B("resolveVirtual",re=>{let se=qe(M.toPortablePath(re));return se!==null?M.fromPortablePath(se):null})}}var ISt=(0,rce.promisify)(tce.readFile);var ice=(t,e,r)=>{let i=XC(t),n=_L(i,{basePath:e}),s=M.join(e,wt.pnpCjs);return $L(n,{fakeFs:r,pnpapiResolution:s})};var tT=ie(sce());var Ws={};it(Ws,{checkAndReportManifestCompatibility:()=>oce,extractBuildScripts:()=>Z0,getExtractHint:()=>rT,hasBindingGyp:()=>iT});function oce(t,e,{configuration:r,report:i}){return S.isPackageCompatible(t,{os:[process.platform],cpu:[process.arch]})?!0:(i==null||i.reportWarningOnce(z.INCOMPATIBLE_ARCHITECTURE,`${S.prettyLocator(r,t)} The ${process.platform}-${process.arch} architecture is incompatible with this module, ${e} skipped.`),!1)}function Z0(t,e,r,{configuration:i,report:n}){let s=[];for(let a of["preinstall","install","postinstall"])e.manifest.scripts.has(a)&&s.push([Gn.SCRIPT,a]);return!e.manifest.scripts.has("install")&&e.misc.hasBindingGyp&&s.push([Gn.SHELLCODE,"node-gyp rebuild"]),s.length===0?[]:t.linkType!==gt.HARD?(n==null||n.reportWarningOnce(z.SOFT_LINK_BUILD,`${S.prettyLocator(i,t)} lists build scripts, but is referenced through a soft link. Soft links don't support build scripts, so they'll be ignored.`),[]):r&&r.built===!1?(n==null||n.reportInfoOnce(z.BUILD_DISABLED,`${S.prettyLocator(i,t)} lists build scripts, but its build has been explicitly disabled through configuration.`),[]):!i.get("enableScripts")&&!r.built?(n==null||n.reportWarningOnce(z.DISABLED_BUILD_SCRIPTS,`${S.prettyLocator(i,t)} lists build scripts, but all build scripts have been disabled.`),[]):oce(t,"build",{configuration:i,report:n})?s:[]}var g6e=new Set([".exe",".h",".hh",".hpp",".c",".cc",".cpp",".java",".jar",".node"]);function rT(t){return t.packageFs.getExtractHint({relevantExtensions:g6e})}function iT(t){let e=v.join(t.prefixPath,"binding.gyp");return t.packageFs.existsSync(e)}var nT={};it(nT,{getUnpluggedPath:()=>ZC});function ZC(t,{configuration:e}){return v.resolve(e.get("pnpUnpluggedFolder"),S.slugifyLocator(t))}var f6e=new Set([S.makeIdent(null,"nan").identHash,S.makeIdent(null,"node-gyp").identHash,S.makeIdent(null,"node-pre-gyp").identHash,S.makeIdent(null,"node-addon-api").identHash,S.makeIdent(null,"fsevents").identHash]),jc=class{constructor(){this.mode="strict";this.pnpCache=new Map}supportsPackage(e,r){return!(r.project.configuration.get("nodeLinker")!=="pnp"||r.project.configuration.get("pnpMode")!==this.mode)}async findPackageLocation(e,r){let i=qA(r.project).cjs;if(!T.existsSync(i))throw new me(`The project in ${ue.pretty(r.project.configuration,`${r.project.cwd}/package.json`,ue.Type.PATH)} doesn't seem to have been installed - running an install there might help`);let n=de.getFactoryWithDefault(this.pnpCache,i,()=>de.dynamicRequire(i,{cachingStrategy:de.CachingStrategy.FsTime})),s={name:S.stringifyIdent(e),reference:e.reference},o=n.getPackageInformation(s);if(!o)throw new me(`Couldn't find ${S.prettyLocator(r.project.configuration,e)} in the currently installed PnP map - running an install might help`);return M.toPortablePath(o.packageLocation)}async findPackageLocator(e,r){let i=qA(r.project).cjs;if(!T.existsSync(i))return null;let s=de.getFactoryWithDefault(this.pnpCache,i,()=>de.dynamicRequire(i,{cachingStrategy:de.CachingStrategy.FsTime})).findPackageLocator(M.fromPortablePath(e));return s?S.makeLocator(S.parseIdent(s.name),s.reference):null}makeInstaller(e){return new Cf(e)}},Cf=class{constructor(e){this.opts=e;this.mode="strict";this.packageRegistry=new Map;this.virtualTemplates=new Map;this.isESMLoaderRequired=!1;this.customData={store:new Map};this.unpluggedPaths=new Set;this.opts=e}getCustomDataKey(){return JSON.stringify({name:"PnpInstaller",version:2})}attachCustomData(e){this.customData=e}async installPackage(e,r){let i=S.stringifyIdent(e),n=e.reference,s=!!this.opts.project.tryWorkspaceByLocator(e),o=S.isVirtualLocator(e),a=e.peerDependencies.size>0&&!o,l=!a&&!s,c=!a&&e.linkType!==gt.SOFT,u,g;if(l||c){let B=o?S.devirtualizeLocator(e):e;u=this.customData.store.get(B.locatorHash),typeof u=="undefined"&&(u=await h6e(r),e.linkType===gt.HARD&&this.customData.store.set(B.locatorHash,u)),u.manifest.type==="module"&&(this.isESMLoaderRequired=!0),g=this.opts.project.getDependencyMeta(B,e.version)}let f=l?Z0(e,u,g,{configuration:this.opts.project.configuration,report:this.opts.report}):[],h=c?await this.unplugPackageIfNeeded(e,u,r,g):r.packageFs;if(v.isAbsolute(r.prefixPath))throw new Error(`Assertion failed: Expected the prefix path (${r.prefixPath}) to be relative to the parent`);let p=v.resolve(h.getRealPath(),r.prefixPath),d=sT(this.opts.project.cwd,p),m=new Map,I=new Set;if(o){for(let B of e.peerDependencies.values())m.set(S.stringifyIdent(B),null),I.add(S.stringifyIdent(B));if(!s){let B=S.devirtualizeLocator(e);this.virtualTemplates.set(B.locatorHash,{location:sT(this.opts.project.cwd,Pr.resolveVirtual(p)),locator:B})}}return de.getMapWithDefault(this.packageRegistry,i).set(n,{packageLocation:d,packageDependencies:m,packagePeers:I,linkType:e.linkType,discardFromLookup:r.discardFromLookup||!1}),{packageLocation:p,buildDirective:f.length>0?f:null}}async attachInternalDependencies(e,r){let i=this.getPackageInformation(e);for(let[n,s]of r){let o=S.areIdentsEqual(n,s)?s.reference:[S.stringifyIdent(s),s.reference];i.packageDependencies.set(S.stringifyIdent(n),o)}}async attachExternalDependents(e,r){for(let i of r)this.getDiskInformation(i).packageDependencies.set(S.stringifyIdent(e),e.reference)}async finalizeInstall(){if(this.opts.project.configuration.get("pnpMode")!==this.mode)return;let e=qA(this.opts.project);if(T.existsSync(e.cjsLegacy)&&(this.opts.report.reportWarning(z.UNNAMED,`Removing the old ${ue.pretty(this.opts.project.configuration,wt.pnpJs,ue.Type.PATH)} file. You might need to manually update existing references to reference the new ${ue.pretty(this.opts.project.configuration,wt.pnpCjs,ue.Type.PATH)} file. If you use Editor SDKs, you'll have to rerun ${ue.pretty(this.opts.project.configuration,"yarn sdks",ue.Type.CODE)}.`),await T.removePromise(e.cjsLegacy)),this.isEsmEnabled()||await T.removePromise(e.esmLoader),this.opts.project.configuration.get("nodeLinker")!=="pnp"){await T.removePromise(e.cjs),await T.removePromise(this.opts.project.configuration.get("pnpDataPath")),await T.removePromise(e.esmLoader);return}for(let{locator:u,location:g}of this.virtualTemplates.values())de.getMapWithDefault(this.packageRegistry,S.stringifyIdent(u)).set(u.reference,{packageLocation:g,packageDependencies:new Map,packagePeers:new Set,linkType:gt.SOFT,discardFromLookup:!1});this.packageRegistry.set(null,new Map([[null,this.getPackageInformation(this.opts.project.topLevelWorkspace.anchoredLocator)]]));let r=this.opts.project.configuration.get("pnpFallbackMode"),i=this.opts.project.workspaces.map(({anchoredLocator:u})=>({name:S.stringifyIdent(u),reference:u.reference})),n=r!=="none",s=[],o=new Map,a=de.buildIgnorePattern([".yarn/sdks/**",...this.opts.project.configuration.get("pnpIgnorePatterns")]),l=this.packageRegistry,c=this.opts.project.configuration.get("pnpShebang");if(r==="dependencies-only")for(let u of this.opts.project.storedPackages.values())this.opts.project.tryWorkspaceByLocator(u)&&s.push({name:S.stringifyIdent(u),reference:u.reference});return await this.finalizeInstallWithPnp({dependencyTreeRoots:i,enableTopLevelFallback:n,fallbackExclusionList:s,fallbackPool:o,ignorePattern:a,packageRegistry:l,shebang:c}),{customData:this.customData}}async transformPnpSettings(e){}isEsmEnabled(){if(this.opts.project.configuration.sources.has("pnpEnableEsmLoader"))return this.opts.project.configuration.get("pnpEnableEsmLoader");if(this.isESMLoaderRequired)return!0;for(let e of this.opts.project.workspaces)if(e.manifest.type==="module")return!0;return!1}async finalizeInstallWithPnp(e){let r=qA(this.opts.project),i=this.opts.project.configuration.get("pnpDataPath"),n=await this.locateNodeModules(e.ignorePattern);if(n.length>0){this.opts.report.reportWarning(z.DANGEROUS_NODE_MODULES,"One or more node_modules have been detected and will be removed. This operation may take some time.");for(let o of n)await T.removePromise(o)}if(await this.transformPnpSettings(e),this.opts.project.configuration.get("pnpEnableInlining")){let o=_le(e);await T.changeFilePromise(r.cjs,o,{automaticNewlines:!0,mode:493}),await T.removePromise(i)}else{let o=v.relative(v.dirname(r.cjs),i),{dataFile:a,loaderFile:l}=Xle(_(P({},e),{dataLocation:o}));await T.changeFilePromise(r.cjs,l,{automaticNewlines:!0,mode:493}),await T.changeFilePromise(i,a,{automaticNewlines:!0,mode:420})}this.isEsmEnabled()&&(this.opts.report.reportWarning(z.UNNAMED,"ESM support for PnP uses the experimental loader API and is therefore experimental"),await T.changeFilePromise(r.esmLoader,(0,tT.default)(),{automaticNewlines:!0,mode:420}));let s=this.opts.project.configuration.get("pnpUnpluggedFolder");if(this.unpluggedPaths.size===0)await T.removePromise(s);else for(let o of await T.readdirPromise(s)){let a=v.resolve(s,o);this.unpluggedPaths.has(a)||await T.removePromise(a)}}async locateNodeModules(e){let r=[],i=e?new RegExp(e):null;for(let n of this.opts.project.workspaces){let s=v.join(n.cwd,"node_modules");if(i&&i.test(v.relative(this.opts.project.cwd,n.cwd))||!T.existsSync(s))continue;let o=await T.readdirPromise(s,{withFileTypes:!0}),a=o.filter(l=>!l.isDirectory()||l.name===".bin"||!l.name.startsWith("."));if(a.length===o.length)r.push(s);else for(let l of a)r.push(v.join(s,l.name))}return r}async unplugPackageIfNeeded(e,r,i,n){return this.shouldBeUnplugged(e,r,n)?this.unplugPackage(e,i):i.packageFs}shouldBeUnplugged(e,r,i){return typeof i.unplugged!="undefined"?i.unplugged:f6e.has(e.identHash)||e.conditions!=null?!0:r.manifest.preferUnplugged!==null?r.manifest.preferUnplugged:!!(Z0(e,r,i,{configuration:this.opts.project.configuration}).length>0||r.misc.extractHint)}async unplugPackage(e,r){let i=ZC(e,{configuration:this.opts.project.configuration});if(this.opts.project.disabledLocators.has(e.locatorHash))return new Xo(i,{baseFs:r.packageFs,pathUtils:v});this.unpluggedPaths.add(i);let n=v.join(i,r.prefixPath,".ready");return await T.existsPromise(n)?new Ft(i):(this.opts.project.storedBuildState.delete(e.locatorHash),await T.mkdirPromise(i,{recursive:!0}),await T.copyPromise(i,Se.dot,{baseFs:r.packageFs,overwrite:!1}),await T.writeFilePromise(n,""),new Ft(i))}getPackageInformation(e){let r=S.stringifyIdent(e),i=e.reference,n=this.packageRegistry.get(r);if(!n)throw new Error(`Assertion failed: The package information store should have been available (for ${S.prettyIdent(this.opts.project.configuration,e)})`);let s=n.get(i);if(!s)throw new Error(`Assertion failed: The package information should have been available (for ${S.prettyLocator(this.opts.project.configuration,e)})`);return s}getDiskInformation(e){let r=de.getMapWithDefault(this.packageRegistry,"@@disk"),i=sT(this.opts.project.cwd,e);return de.getFactoryWithDefault(r,i,()=>({packageLocation:i,packageDependencies:new Map,packagePeers:new Set,linkType:gt.SOFT,discardFromLookup:!1}))}};function sT(t,e){let r=v.relative(t,e);return r.match(/^\.{0,2}\//)||(r=`./${r}`),r.replace(/\/?$/,"/")}async function h6e(t){var i;let e=(i=await Ze.tryFind(t.prefixPath,{baseFs:t.packageFs}))!=null?i:new Ze,r=new Set(["preinstall","install","postinstall"]);for(let n of e.scripts.keys())r.has(n)||e.scripts.delete(n);return{manifest:{scripts:e.scripts,preferUnplugged:e.preferUnplugged,type:e.type},misc:{extractHint:rT(t),hasBindingGyp:iT(t)}}}var ace=ie(Nn());var $C=class extends Be{constructor(){super(...arguments);this.all=Y.Boolean("-A,--all",!1,{description:"Unplug direct dependencies from the entire project"});this.recursive=Y.Boolean("-R,--recursive",!1,{description:"Unplug both direct and transitive dependencies"});this.json=Y.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.patterns=Y.Rest()}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Ke.find(e,this.context.cwd),n=await Qt.find(e);if(!i)throw new rt(r.cwd,this.context.cwd);if(e.get("nodeLinker")!=="pnp")throw new me("This command can only be used if the `nodeLinker` option is set to `pnp`");await r.restoreInstallState();let s=new Set(this.patterns),o=this.patterns.map(f=>{let h=S.parseDescriptor(f),p=h.range!=="unknown"?h:S.makeDescriptor(h,"*");if(!qt.validRange(p.range))throw new me(`The range of the descriptor patterns must be a valid semver range (${S.prettyDescriptor(e,p)})`);return d=>{let m=S.stringifyIdent(d);return!ace.default.isMatch(m,S.stringifyIdent(p))||d.version&&!qt.satisfiesWithPrereleases(d.version,p.range)?!1:(s.delete(f),!0)}}),a=()=>{let f=[];for(let h of r.storedPackages.values())!r.tryWorkspaceByLocator(h)&&!S.isVirtualLocator(h)&&o.some(p=>p(h))&&f.push(h);return f},l=f=>{let h=new Set,p=[],d=(m,I)=>{if(!h.has(m.locatorHash)&&(h.add(m.locatorHash),!r.tryWorkspaceByLocator(m)&&o.some(B=>B(m))&&p.push(m),!(I>0&&!this.recursive)))for(let B of m.dependencies.values()){let b=r.storedResolutions.get(B.descriptorHash);if(!b)throw new Error("Assertion failed: The resolution should have been registered");let R=r.storedPackages.get(b);if(!R)throw new Error("Assertion failed: The package should have been registered");d(R,I+1)}};for(let m of f){let I=r.storedPackages.get(m.anchoredLocator.locatorHash);if(!I)throw new Error("Assertion failed: The package should have been registered");d(I,0)}return p},c,u;if(this.all&&this.recursive?(c=a(),u="the project"):this.all?(c=l(r.workspaces),u="any workspace"):(c=l([i]),u="this workspace"),s.size>1)throw new me(`Patterns ${ue.prettyList(e,s,ue.Type.CODE)} don't match any packages referenced by ${u}`);if(s.size>0)throw new me(`Pattern ${ue.prettyList(e,s,ue.Type.CODE)} doesn't match any packages referenced by ${u}`);return c=de.sortMap(c,f=>S.stringifyLocator(f)),(await Fe.start({configuration:e,stdout:this.context.stdout,json:this.json},async f=>{var h;for(let p of c){let d=(h=p.version)!=null?h:"unknown",m=r.topLevelWorkspace.manifest.ensureDependencyMeta(S.makeDescriptor(p,d));m.unplugged=!0,f.reportInfo(z.UNNAMED,`Will unpack ${S.prettyLocator(e,p)} to ${ue.pretty(e,ZC(p,{configuration:e}),ue.Type.PATH)}`),f.reportJson({locator:S.stringifyLocator(p),version:d})}await r.topLevelWorkspace.persistManifest(),f.reportSeparator(),await r.install({cache:n,report:f})})).exitCode()}};$C.paths=[["unplug"]],$C.usage=ye.Usage({description:"force the unpacking of a list of packages",details:"\n This command will add the selectors matching the specified patterns to the list of packages that must be unplugged when installed.\n\n A package being unplugged means that instead of being referenced directly through its archive, it will be unpacked at install time in the directory configured via `pnpUnpluggedFolder`. Note that unpacking packages this way is generally not recommended because it'll make it harder to store your packages within the repository. However, it's a good approach to quickly and safely debug some packages, and can even sometimes be required depending on the context (for example when the package contains shellscripts).\n\n Running the command will set a persistent flag inside your top-level `package.json`, in the `dependenciesMeta` field. As such, to undo its effects, you'll need to revert the changes made to the manifest and run `yarn install` to apply the modification.\n\n By default, only direct dependencies from the current workspace are affected. If `-A,--all` is set, direct dependencies from the entire project are affected. Using the `-R,--recursive` flag will affect transitive dependencies as well as direct ones.\n\n This command accepts glob patterns inside the scope and name components (not the range). Make sure to escape the patterns to prevent your own shell from trying to expand them.\n ",examples:[["Unplug the lodash dependency from the active workspace","yarn unplug lodash"],["Unplug all instances of lodash referenced by any workspace","yarn unplug lodash -A"],["Unplug all instances of lodash referenced by the active workspace and its dependencies","yarn unplug lodash -R"],["Unplug all instances of lodash, anywhere","yarn unplug lodash -AR"],["Unplug one specific version of lodash","yarn unplug lodash@1.2.3"],["Unplug all packages with the `@babel` scope","yarn unplug '@babel/*'"],["Unplug all packages (only for testing, not recommended)","yarn unplug -R '*'"]]});var Ace=$C;var qA=t=>({cjs:v.join(t.cwd,wt.pnpCjs),cjsLegacy:v.join(t.cwd,wt.pnpJs),esmLoader:v.join(t.cwd,".pnp.loader.mjs")}),uce=t=>/\s/.test(t)?JSON.stringify(t):t;async function p6e(t,e,r){let i=qA(t),n=`--require ${uce(M.fromPortablePath(i.cjs))}`;if(T.existsSync(i.esmLoader)&&(n=`${n} --experimental-loader ${(0,cce.pathToFileURL)(M.fromPortablePath(i.esmLoader)).href}`),i.cjs.includes(" ")&&lce.default.lt(process.versions.node,"12.0.0"))throw new Error(`Expected the build location to not include spaces when using Node < 12.0.0 (${process.versions.node})`);if(T.existsSync(i.cjs)){let s=e.NODE_OPTIONS||"",o=/\s*--require\s+\S*\.pnp\.c?js\s*/g,a=/\s*--experimental-loader\s+\S*\.pnp\.loader\.mjs\s*/;s=s.replace(o," ").replace(a," ").trim(),s=s?`${n} ${s}`:n,e.NODE_OPTIONS=s}}async function d6e(t,e){let r=qA(t);e(r.cjs),e(r.esmLoader),e(t.configuration.get("pnpDataPath")),e(t.configuration.get("pnpUnpluggedFolder"))}var C6e={hooks:{populateYarnPaths:d6e,setupScriptEnvironment:p6e},configuration:{nodeLinker:{description:'The linker used for installing Node packages, one of: "pnp", "node-modules"',type:ge.STRING,default:"pnp"},pnpMode:{description:"If 'strict', generates standard PnP maps. If 'loose', merges them with the n_m resolution.",type:ge.STRING,default:"strict"},pnpShebang:{description:"String to prepend to the generated PnP script",type:ge.STRING,default:"#!/usr/bin/env node"},pnpIgnorePatterns:{description:"Array of glob patterns; files matching them will use the classic resolution",type:ge.STRING,default:[],isArray:!0},pnpEnableEsmLoader:{description:"If true, Yarn will generate an ESM loader (`.pnp.loader.mjs`). If this is not explicitly set Yarn tries to automatically detect whether ESM support is required.",type:ge.BOOLEAN,default:!1},pnpEnableInlining:{description:"If true, the PnP data will be inlined along with the generated loader",type:ge.BOOLEAN,default:!0},pnpFallbackMode:{description:"If true, the generated PnP loader will follow the top-level fallback rule",type:ge.STRING,default:"dependencies-only"},pnpUnpluggedFolder:{description:"Folder where the unplugged packages must be stored",type:ge.ABSOLUTE_PATH,default:"./.yarn/unplugged"},pnpDataPath:{description:"Path of the file where the PnP data (used by the loader) must be written",type:ge.ABSOLUTE_PATH,default:"./.pnp.data.json"}},linkers:[jc],commands:[Ace]},m6e=C6e;var Cce=ie(dce());var uT=ie(require("crypto")),mce=ie(require("fs")),Ece=1,gi="node_modules",gT=".bin",Ice=".yarn-state.yml",Bi;(function(i){i.CLASSIC="classic",i.HARDLINKS_LOCAL="hardlinks-local",i.HARDLINKS_GLOBAL="hardlinks-global"})(Bi||(Bi={}));var fT=class{constructor(){this.installStateCache=new Map}supportsPackage(e,r){return r.project.configuration.get("nodeLinker")==="node-modules"}async findPackageLocation(e,r){let i=r.project.tryWorkspaceByLocator(e);if(i)return i.cwd;let n=await de.getFactoryWithDefault(this.installStateCache,r.project.cwd,async()=>await hT(r.project,{unrollAliases:!0}));if(n===null)throw new me("Couldn't find the node_modules state file - running an install might help (findPackageLocation)");let s=n.locatorMap.get(S.stringifyLocator(e));if(!s){let a=new me(`Couldn't find ${S.prettyLocator(r.project.configuration,e)} in the currently installed node_modules map - running an install might help`);throw a.code="LOCATOR_NOT_INSTALLED",a}let o=r.project.configuration.startingCwd;return s.locations.find(a=>v.contains(o,a))||s.locations[0]}async findPackageLocator(e,r){let i=await de.getFactoryWithDefault(this.installStateCache,r.project.cwd,async()=>await hT(r.project,{unrollAliases:!0}));if(i===null)return null;let{locationRoot:n,segments:s}=$0(v.resolve(e),{skipPrefix:r.project.cwd}),o=i.locationTree.get(n);if(!o)return null;let a=o.locator;for(let l of s){if(o=o.children.get(l),!o)break;a=o.locator||a}return S.parseLocator(a)}makeInstaller(e){return new yce(e)}},yce=class{constructor(e){this.opts=e;this.localStore=new Map;this.realLocatorChecksums=new Map;this.customData={store:new Map}}getCustomDataKey(){return JSON.stringify({name:"NodeModulesInstaller",version:1})}attachCustomData(e){this.customData=e}async installPackage(e,r){var u;let i=v.resolve(r.packageFs.getRealPath(),r.prefixPath),n=this.customData.store.get(e.locatorHash);if(typeof n=="undefined"&&(n=await L6e(e,r),e.linkType===gt.HARD&&this.customData.store.set(e.locatorHash,n)),!Ws.checkAndReportManifestCompatibility(e,"link",{configuration:this.opts.project.configuration,report:this.opts.report}))return{packageLocation:null,buildDirective:null};let s=new Map,o=new Set;s.has(S.stringifyIdent(e))||s.set(S.stringifyIdent(e),e.reference);let a=e;if(S.isVirtualLocator(e)){a=S.devirtualizeLocator(e);for(let g of e.peerDependencies.values())s.set(S.stringifyIdent(g),null),o.add(S.stringifyIdent(g))}let l={packageLocation:`${M.fromPortablePath(i)}/`,packageDependencies:s,packagePeers:o,linkType:e.linkType,discardFromLookup:(u=r.discardFromLookup)!=null?u:!1};this.localStore.set(e.locatorHash,{pkg:e,customPackageData:n,dependencyMeta:this.opts.project.getDependencyMeta(e,e.version),pnpNode:l});let c=r.checksum?r.checksum.substring(r.checksum.indexOf("/")+1):null;return this.realLocatorChecksums.set(a.locatorHash,c),{packageLocation:i,buildDirective:null}}async attachInternalDependencies(e,r){let i=this.localStore.get(e.locatorHash);if(typeof i=="undefined")throw new Error("Assertion failed: Expected information object to have been registered");for(let[n,s]of r){let o=S.areIdentsEqual(n,s)?s.reference:[S.stringifyIdent(s),s.reference];i.pnpNode.packageDependencies.set(S.stringifyIdent(n),o)}}async attachExternalDependents(e,r){throw new Error("External dependencies haven't been implemented for the node-modules linker")}async finalizeInstall(){if(this.opts.project.configuration.get("nodeLinker")!=="node-modules")return;let e=new Pr({baseFs:new Jn({libzip:await $i(),maxOpenFiles:80,readOnlyArchives:!0})}),r=await hT(this.opts.project),i=this.opts.project.configuration.get("nmMode");(r===null||i!==r.nmMode)&&(this.opts.project.storedBuildState.clear(),r={locatorMap:new Map,binSymlinks:new Map,locationTree:new Map,nmMode:i});let n=new Map(this.opts.project.workspaces.map(f=>{var p,d;let h=this.opts.project.configuration.get("nmHoistingLimits");try{h=de.validateEnum(Sn,(d=(p=f.manifest.installConfig)==null?void 0:p.hoistingLimits)!=null?d:h)}catch(m){let I=S.prettyWorkspace(this.opts.project.configuration,f);this.opts.report.reportWarning(z.INVALID_MANIFEST,`${I}: Invalid 'installConfig.hoistingLimits' value. Expected one of ${Object.values(Sn).join(", ")}, using default: "${h}"`)}return[f.relativeCwd,h]})),s=new Map(this.opts.project.workspaces.map(f=>{var p,d;let h=this.opts.project.configuration.get("nmSelfReferences");return h=(d=(p=f.manifest.installConfig)==null?void 0:p.selfReferences)!=null?d:h,[f.relativeCwd,h]})),o={VERSIONS:{std:1},topLevel:{name:null,reference:null},getLocator:(f,h)=>Array.isArray(h)?{name:h[0],reference:h[1]}:{name:f,reference:h},getDependencyTreeRoots:()=>this.opts.project.workspaces.map(f=>{let h=f.anchoredLocator;return{name:S.stringifyIdent(f.locator),reference:h.reference}}),getPackageInformation:f=>{let h=f.reference===null?this.opts.project.topLevelWorkspace.anchoredLocator:S.makeLocator(S.parseIdent(f.name),f.reference),p=this.localStore.get(h.locatorHash);if(typeof p=="undefined")throw new Error("Assertion failed: Expected the package reference to have been registered");return p.pnpNode},findPackageLocator:f=>{let h=this.opts.project.tryWorkspaceByCwd(M.toPortablePath(f));if(h!==null){let p=h.anchoredLocator;return{name:S.stringifyIdent(p),reference:p.reference}}throw new Error("Assertion failed: Unimplemented")},resolveToUnqualified:()=>{throw new Error("Assertion failed: Unimplemented")},resolveUnqualified:()=>{throw new Error("Assertion failed: Unimplemented")},resolveRequest:()=>{throw new Error("Assertion failed: Unimplemented")},resolveVirtual:f=>M.fromPortablePath(Pr.resolveVirtual(M.toPortablePath(f)))},{tree:a,errors:l,preserveSymlinksRequired:c}=VC(o,{pnpifyFs:!1,validateExternalSoftLinks:!0,hoistingLimitsByCwd:n,project:this.opts.project,selfReferencesByCwd:s});if(!a){for(let{messageName:f,text:h}of l)this.opts.report.reportError(f,h);return}let u=WL(a);await T6e(r,u,{baseFs:e,project:this.opts.project,report:this.opts.report,realLocatorChecksums:this.realLocatorChecksums,loadManifest:async f=>{let h=S.parseLocator(f),p=this.localStore.get(h.locatorHash);if(typeof p=="undefined")throw new Error("Assertion failed: Expected the slot to exist");return p.customPackageData.manifest}});let g=[];for(let[f,h]of u.entries()){if(wce(f))continue;let p=S.parseLocator(f),d=this.localStore.get(p.locatorHash);if(typeof d=="undefined")throw new Error("Assertion failed: Expected the slot to exist");if(this.opts.project.tryWorkspaceByLocator(d.pkg))continue;let m=Ws.extractBuildScripts(d.pkg,d.customPackageData,d.dependencyMeta,{configuration:this.opts.project.configuration,report:this.opts.report});m.length!==0&&g.push({buildLocations:h.locations,locatorHash:p.locatorHash,buildDirective:m})}return c&&this.opts.report.reportWarning(z.NM_PRESERVE_SYMLINKS_REQUIRED,`The application uses portals and that's why ${ue.pretty(this.opts.project.configuration,"--preserve-symlinks",ue.Type.CODE)} Node option is required for launching it`),{customData:this.customData,records:g}}};async function L6e(t,e){var n;let r=(n=await Ze.tryFind(e.prefixPath,{baseFs:e.packageFs}))!=null?n:new Ze,i=new Set(["preinstall","install","postinstall"]);for(let s of r.scripts.keys())i.has(s)||r.scripts.delete(s);return{manifest:{bin:r.bin,scripts:r.scripts},misc:{extractHint:Ws.getExtractHint(e),hasBindingGyp:Ws.hasBindingGyp(e)}}}async function M6e(t,e,r,i){let n="";n+=`# Warning: This file is automatically generated. Removing it is fine, but will +`,n+=`# cause your node_modules installation to become invalidated. +`,n+=` +`,n+=`__metadata: +`,n+=` version: ${Ece} +`,n+=` nmMode: ${i.value} +`;let s=Array.from(e.keys()).sort(),o=S.stringifyLocator(t.topLevelWorkspace.anchoredLocator);for(let c of s){let u=e.get(c);n+=` +`,n+=`${JSON.stringify(c)}: +`,n+=` locations: +`;for(let g of u.locations){let f=v.contains(t.cwd,g);if(f===null)throw new Error(`Assertion failed: Expected the path to be within the project (${g})`);n+=` - ${JSON.stringify(f)} +`}if(u.aliases.length>0){n+=` aliases: +`;for(let g of u.aliases)n+=` - ${JSON.stringify(g)} +`}if(c===o&&r.size>0){n+=` bin: +`;for(let[g,f]of r){let h=v.contains(t.cwd,g);if(h===null)throw new Error(`Assertion failed: Expected the path to be within the project (${g})`);n+=` ${JSON.stringify(h)}: +`;for(let[p,d]of f){let m=v.relative(v.join(g,gi),d);n+=` ${JSON.stringify(p)}: ${JSON.stringify(m)} +`}}}}let a=t.cwd,l=v.join(a,gi,Ice);await T.changeFilePromise(l,n,{automaticNewlines:!0})}async function hT(t,{unrollAliases:e=!1}={}){let r=t.cwd,i=v.join(r,gi,Ice);if(!T.existsSync(i))return null;let n=Ii(await T.readFilePromise(i,"utf8"));if(n.__metadata.version>Ece)return null;let s=n.__metadata.nmMode||Bi.CLASSIC,o=new Map,a=new Map;delete n.__metadata;for(let[l,c]of Object.entries(n)){let u=c.locations.map(f=>v.join(r,f)),g=c.bin;if(g)for(let[f,h]of Object.entries(g)){let p=v.join(r,M.toPortablePath(f)),d=de.getMapWithDefault(a,p);for(let[m,I]of Object.entries(h))d.set(kr(m),M.toPortablePath([p,gi,I].join(v.delimiter)))}if(o.set(l,{target:Se.dot,linkType:gt.HARD,locations:u,aliases:c.aliases||[]}),e&&c.aliases)for(let f of c.aliases){let{scope:h,name:p}=S.parseLocator(l),d=S.makeLocator(S.makeIdent(h,p),f),m=S.stringifyLocator(d);o.set(m,{target:Se.dot,linkType:gt.HARD,locations:u,aliases:[]})}}return{locatorMap:o,binSymlinks:a,locationTree:Bce(o,{skipPrefix:t.cwd}),nmMode:s}}var Ef=async(t,e)=>{if(t.split(v.sep).indexOf(gi)<0)throw new Error(`Assertion failed: trying to remove dir that doesn't contain node_modules: ${t}`);try{if(!e.innerLoop&&(await T.lstatPromise(t)).isSymbolicLink()){await T.unlinkPromise(t);return}let r=await T.readdirPromise(t,{withFileTypes:!0});for(let i of r){let n=v.join(t,kr(i.name));i.isDirectory()?(i.name!==gi||e&&e.innerLoop)&&await Ef(n,{innerLoop:!0,contentsOnly:!1}):await T.unlinkPromise(n)}e.contentsOnly||await T.rmdirPromise(t)}catch(r){if(r.code!=="ENOENT"&&r.code!=="ENOTEMPTY")throw r}},Qce=4,$0=(t,{skipPrefix:e})=>{let r=v.contains(e,t);if(r===null)throw new Error(`Assertion failed: Writing attempt prevented to ${t} which is outside project root: ${e}`);let i=r.split(v.sep).filter(l=>l!==""),n=i.indexOf(gi),s=i.slice(0,n).join(v.sep),o=v.join(e,s),a=i.slice(n);return{locationRoot:o,segments:a}},Bce=(t,{skipPrefix:e})=>{let r=new Map;if(t===null)return r;let i=()=>({children:new Map,linkType:gt.HARD});for(let[n,s]of t.entries()){if(s.linkType===gt.SOFT&&v.contains(e,s.target)!==null){let a=de.getFactoryWithDefault(r,s.target,i);a.locator=n,a.linkType=s.linkType}for(let o of s.locations){let{locationRoot:a,segments:l}=$0(o,{skipPrefix:e}),c=de.getFactoryWithDefault(r,a,i);for(let u=0;u{let r;try{process.platform==="win32"&&(r=await T.lstatPromise(t))}catch(i){}process.platform=="win32"&&(!r||r.isDirectory())?await T.symlinkPromise(t,e,"junction"):await T.symlinkPromise(v.relative(v.dirname(e),t),e)};async function bce(t,e,r){let i=v.join(t,kr(`${uT.default.randomBytes(16).toString("hex")}.tmp`));try{await T.writeFilePromise(i,r);try{await T.linkPromise(i,e)}catch(n){}}finally{await T.unlinkPromise(i)}}async function O6e({srcPath:t,dstPath:e,srcMode:r,globalHardlinksStore:i,baseFs:n,nmMode:s,digest:o}){if(s.value===Bi.HARDLINKS_GLOBAL&&i&&o){let l=v.join(i,o.substring(0,2),`${o.substring(2)}.dat`),c;try{if(await mn.checksumFile(l,{baseFs:T,algorithm:"sha1"})!==o){let g=v.join(i,kr(`${uT.default.randomBytes(16).toString("hex")}.tmp`));await T.renamePromise(l,g);let f=await n.readFilePromise(t);await T.writeFilePromise(g,f);try{await T.linkPromise(g,l),await T.unlinkPromise(g)}catch(h){}}await T.linkPromise(l,e),c=!0}catch(u){c=!1}if(!c){let u=await n.readFilePromise(t);await bce(i,l,u);try{await T.linkPromise(l,e)}catch(g){g&&g.code&&g.code=="EXDEV"&&(s.value=Bi.HARDLINKS_LOCAL,await n.copyFilePromise(t,e))}}}else await n.copyFilePromise(t,e);let a=r&511;a!==420&&await T.chmodPromise(e,a)}var JA;(function(i){i.FILE="file",i.DIRECTORY="directory",i.SYMLINK="symlink"})(JA||(JA={}));var K6e=async(t,e,{baseFs:r,globalHardlinksStore:i,nmMode:n,packageChecksum:s})=>{await T.mkdirPromise(t,{recursive:!0});let o=async(l=Se.dot)=>{let c=v.join(e,l),u=await r.readdirPromise(c,{withFileTypes:!0}),g=new Map;for(let f of u){let h=v.join(l,f.name),p,d=v.join(c,f.name);if(f.isFile()){if(p={kind:JA.FILE,mode:(await r.lstatPromise(d)).mode},n.value===Bi.HARDLINKS_GLOBAL){let m=await mn.checksumFile(d,{baseFs:r,algorithm:"sha1"});p.digest=m}}else if(f.isDirectory())p={kind:JA.DIRECTORY};else if(f.isSymbolicLink())p={kind:JA.SYMLINK,symlinkTo:await r.readlinkPromise(d)};else throw new Error(`Unsupported file type (file: ${d}, mode: 0o${await r.statSync(d).mode.toString(8).padStart(6,"0")})`);if(g.set(h,p),f.isDirectory()&&h!==gi){let m=await o(h);for(let[I,B]of m)g.set(I,B)}}return g},a;if(n.value===Bi.HARDLINKS_GLOBAL&&i&&s){let l=v.join(i,s.substring(0,2),`${s.substring(2)}.json`);try{a=new Map(Object.entries(JSON.parse(await T.readFilePromise(l,"utf8"))))}catch(c){a=await o(),await bce(i,l,Buffer.from(JSON.stringify(Object.fromEntries(a))))}}else a=await o();for(let[l,c]of a){let u=v.join(e,l),g=v.join(t,l);c.kind===JA.DIRECTORY?await T.mkdirPromise(g,{recursive:!0}):c.kind===JA.FILE?await O6e({srcPath:u,dstPath:g,srcMode:c.mode,digest:c.digest,nmMode:n,baseFs:r,globalHardlinksStore:i}):c.kind===JA.SYMLINK&&await pT(v.resolve(v.dirname(g),c.symlinkTo),g)}};function U6e(t,e){let r=new Map([...t]),i=new Map([...e]);for(let[n,s]of t){let o=v.join(n,gi);if(!T.existsSync(o)){s.children.delete(gi);for(let a of i.keys())v.contains(o,a)!==null&&i.delete(a)}}return{locationTree:r,binSymlinks:i}}function wce(t){let e=S.parseDescriptor(t);return S.isVirtualDescriptor(e)&&(e=S.devirtualizeDescriptor(e)),e.range.startsWith("link:")}async function H6e(t,e,r,{loadManifest:i}){let n=new Map;for(let[a,{locations:l}]of t){let c=wce(a)?null:await i(a,l[0]),u=new Map;if(c)for(let[g,f]of c.bin){let h=v.join(l[0],f);f!==""&&T.existsSync(h)&&u.set(g,f)}n.set(a,u)}let s=new Map,o=(a,l,c)=>{let u=new Map,g=v.contains(r,a);if(c.locator&&g!==null){let f=n.get(c.locator);for(let[h,p]of f){let d=v.join(a,M.toPortablePath(p));u.set(kr(h),d)}for(let[h,p]of c.children){let d=v.join(a,h),m=o(d,d,p);m.size>0&&s.set(a,new Map([...s.get(a)||new Map,...m]))}}else for(let[f,h]of c.children){let p=o(v.join(a,f),l,h);for(let[d,m]of p)u.set(d,m)}return u};for(let[a,l]of e){let c=o(a,a,l);c.size>0&&s.set(a,new Map([...s.get(a)||new Map,...c]))}return s}var vce=(t,e)=>{if(!t||!e)return t===e;let r=S.parseLocator(t);S.isVirtualLocator(r)&&(r=S.devirtualizeLocator(r));let i=S.parseLocator(e);return S.isVirtualLocator(i)&&(i=S.devirtualizeLocator(i)),S.areLocatorsEqual(r,i)};function dT(t){return v.join(t.get("globalFolder"),"store")}async function T6e(t,e,{baseFs:r,project:i,report:n,loadManifest:s,realLocatorChecksums:o}){let a=v.join(i.cwd,gi),{locationTree:l,binSymlinks:c}=U6e(t.locationTree,t.binSymlinks),u=Bce(e,{skipPrefix:i.cwd}),g=[],f=async({srcDir:L,dstDir:K,linkType:J,globalHardlinksStore:ne,nmMode:q,packageChecksum:A})=>{let V=(async()=>{try{J===gt.SOFT?(await T.mkdirPromise(v.dirname(K),{recursive:!0}),await pT(v.resolve(L),K)):await K6e(K,L,{baseFs:r,globalHardlinksStore:ne,nmMode:q,packageChecksum:A})}catch(W){throw W.message=`While persisting ${L} -> ${K} ${W.message}`,W}finally{B.tick()}})().then(()=>g.splice(g.indexOf(V),1));g.push(V),g.length>Qce&&await Promise.race(g)},h=async(L,K,J)=>{let ne=(async()=>{let q=async(A,V,W)=>{try{W.innerLoop||await T.mkdirPromise(V,{recursive:!0});let X=await T.readdirPromise(A,{withFileTypes:!0});for(let F of X){if(!W.innerLoop&&F.name===gT)continue;let D=v.join(A,F.name),he=v.join(V,F.name);F.isDirectory()?(F.name!==gi||W&&W.innerLoop)&&(await T.mkdirPromise(he,{recursive:!0}),await q(D,he,_(P({},W),{innerLoop:!0}))):H.value===Bi.HARDLINKS_LOCAL||H.value===Bi.HARDLINKS_GLOBAL?await T.linkPromise(D,he):await T.copyFilePromise(D,he,mce.default.constants.COPYFILE_FICLONE)}}catch(X){throw W.innerLoop||(X.message=`While cloning ${A} -> ${V} ${X.message}`),X}finally{W.innerLoop||B.tick()}};await q(L,K,J)})().then(()=>g.splice(g.indexOf(ne),1));g.push(ne),g.length>Qce&&await Promise.race(g)},p=async(L,K,J)=>{if(!J)K.children.has(gi)&&await Ef(v.join(L,gi),{contentsOnly:!1}),await Ef(L,{contentsOnly:L===a});else for(let[ne,q]of K.children){let A=J.children.get(ne);await p(v.join(L,ne),q,A)}};for(let[L,K]of l){let J=u.get(L);for(let[ne,q]of K.children){if(ne===".")continue;let A=J&&J.children.get(ne);await p(v.join(L,ne),q,A)}}let d=async(L,K,J)=>{if(!J)K.children.has(gi)&&await Ef(v.join(L,gi),{contentsOnly:!0}),await Ef(L,{contentsOnly:K.linkType===gt.HARD});else{vce(K.locator,J.locator)||await Ef(L,{contentsOnly:K.linkType===gt.HARD});for(let[ne,q]of K.children){let A=J.children.get(ne);await d(v.join(L,ne),q,A)}}};for(let[L,K]of u){let J=l.get(L);for(let[ne,q]of K.children){if(ne===".")continue;let A=J&&J.children.get(ne);await d(v.join(L,ne),q,A)}}let m=new Map,I=[];for(let[L,{locations:K}]of t.locatorMap.entries())for(let J of K){let{locationRoot:ne,segments:q}=$0(J,{skipPrefix:i.cwd}),A=u.get(ne),V=ne;if(A){for(let W of q)if(V=v.join(V,W),A=A.children.get(W),!A)break;if(A){let W=vce(A.locator,L),X=e.get(A.locator),F=X.target,D=V,he=X.linkType;if(W)m.has(F)||m.set(F,D);else if(F!==D){let pe=S.parseLocator(A.locator);S.isVirtualLocator(pe)&&(pe=S.devirtualizeLocator(pe)),I.push({srcDir:F,dstDir:D,linkType:he,realLocatorHash:pe.locatorHash})}}}}for(let[L,{locations:K}]of e.entries())for(let J of K){let{locationRoot:ne,segments:q}=$0(J,{skipPrefix:i.cwd}),A=l.get(ne),V=u.get(ne),W=ne,X=e.get(L),F=S.parseLocator(L);S.isVirtualLocator(F)&&(F=S.devirtualizeLocator(F));let D=F.locatorHash,he=X.target,pe=J;if(he===pe)continue;let Ne=X.linkType;for(let Pe of q)V=V.children.get(Pe);if(!A)I.push({srcDir:he,dstDir:pe,linkType:Ne,realLocatorHash:D});else for(let Pe of q)if(W=v.join(W,Pe),A=A.children.get(Pe),!A){I.push({srcDir:he,dstDir:pe,linkType:Ne,realLocatorHash:D});break}}let B=Xi.progressViaCounter(I.length),b=n.reportProgress(B),R=i.configuration.get("nmMode"),H={value:R};try{let L=H.value===Bi.HARDLINKS_GLOBAL?`${dT(i.configuration)}/v1`:null;if(L&&!await T.existsPromise(L)){await T.mkdirpPromise(L);for(let J=0;J<256;J++)await T.mkdirPromise(v.join(L,J.toString(16).padStart(2,"0")))}for(let J of I)(J.linkType===gt.SOFT||!m.has(J.srcDir))&&(m.set(J.srcDir,J.dstDir),await f(_(P({},J),{globalHardlinksStore:L,nmMode:H,packageChecksum:o.get(J.realLocatorHash)||null})));await Promise.all(g),g.length=0;for(let J of I){let ne=m.get(J.srcDir);J.linkType!==gt.SOFT&&J.dstDir!==ne&&await h(ne,J.dstDir,{nmMode:H})}await Promise.all(g),await T.mkdirPromise(a,{recursive:!0});let K=await H6e(e,u,i.cwd,{loadManifest:s});await G6e(c,K,i.cwd),await M6e(i,e,K,H),R==Bi.HARDLINKS_GLOBAL&&H.value==Bi.HARDLINKS_LOCAL&&n.reportWarningOnce(z.NM_HARDLINKS_MODE_DOWNGRADED,"'nmMode' has been downgraded to 'hardlinks-local' due to global cache and install folder being on different devices")}finally{b.stop()}}async function G6e(t,e,r){for(let i of t.keys()){if(v.contains(r,i)===null)throw new Error(`Assertion failed. Excepted bin symlink location to be inside project dir, instead it was at ${i}`);if(!e.has(i)){let n=v.join(i,gi,gT);await T.removePromise(n)}}for(let[i,n]of e){if(v.contains(r,i)===null)throw new Error(`Assertion failed. Excepted bin symlink location to be inside project dir, instead it was at ${i}`);let s=v.join(i,gi,gT),o=t.get(i)||new Map;await T.mkdirPromise(s,{recursive:!0});for(let a of o.keys())n.has(a)||(await T.removePromise(v.join(s,a)),process.platform==="win32"&&await T.removePromise(v.join(s,kr(`${a}.cmd`))));for(let[a,l]of n){let c=o.get(a),u=v.join(s,a);c!==l&&(process.platform==="win32"?await(0,Cce.default)(M.fromPortablePath(l),M.fromPortablePath(u),{createPwshFile:!1}):(await T.removePromise(u),await pT(l,u),v.contains(r,await T.realpathPromise(l))!==null&&await T.chmodPromise(l,493)))}}}var CT=class extends jc{constructor(){super(...arguments);this.mode="loose"}makeInstaller(e){return new Sce(e)}},Sce=class extends Cf{constructor(){super(...arguments);this.mode="loose"}async transformPnpSettings(e){let r=new Pr({baseFs:new Jn({libzip:await $i(),maxOpenFiles:80,readOnlyArchives:!0})}),i=ice(e,this.opts.project.cwd,r),{tree:n,errors:s}=VC(i,{pnpifyFs:!1,project:this.opts.project});if(!n){for(let{messageName:u,text:g}of s)this.opts.report.reportError(u,g);return}let o=new Map;e.fallbackPool=o;let a=(u,g)=>{let f=S.parseLocator(g.locator),h=S.stringifyIdent(f);h===u?o.set(u,f.reference):o.set(u,[h,f.reference])},l=v.join(this.opts.project.cwd,wt.nodeModules),c=n.get(l);if(typeof c!="undefined"){if("target"in c)throw new Error("Assertion failed: Expected the root junction point to be a directory");for(let u of c.dirList){let g=v.join(l,u),f=n.get(g);if(typeof f=="undefined")throw new Error("Assertion failed: Expected the child to have been registered");if("target"in f)a(u,f);else for(let h of f.dirList){let p=v.join(g,h),d=n.get(p);if(typeof d=="undefined")throw new Error("Assertion failed: Expected the subchild to have been registered");if("target"in d)a(`${u}/${h}`,d);else throw new Error("Assertion failed: Expected the leaf junction to be a package")}}}}};var j6e={hooks:{cleanGlobalArtifacts:async t=>{let e=dT(t);await T.removePromise(e)}},configuration:{nmHoistingLimits:{description:"Prevent packages to be hoisted past specific levels",type:ge.STRING,values:[Sn.WORKSPACES,Sn.DEPENDENCIES,Sn.NONE],default:Sn.NONE},nmMode:{description:'If set to "hardlinks-local" Yarn will utilize hardlinks to reduce disk space consumption inside "node_modules" directories. With "hardlinks-global" Yarn will use global content addressable storage to reduce "node_modules" size across all the projects using this option.',type:ge.STRING,values:[Bi.CLASSIC,Bi.HARDLINKS_LOCAL,Bi.HARDLINKS_GLOBAL],default:Bi.CLASSIC},nmSelfReferences:{description:"If set to 'false' the workspace will not be allowed to require itself and corresponding self-referencing symlink will not be created",type:ge.BOOLEAN,default:!0}},linkers:[fT,CT]},Y6e=j6e;var yM={};it(yM,{default:()=>Z7e,npmConfigUtils:()=>gr,npmHttpUtils:()=>Lt,npmPublishUtils:()=>Rf});var Rce=ie(Or());var ir="npm:";var Lt={};it(Lt,{AuthType:()=>jn,customPackageError:()=>W6e,del:()=>_6e,get:()=>zs,getIdentUrl:()=>zA,handleInvalidAuthenticationError:()=>WA,post:()=>z6e,put:()=>V6e});var Pce=ie(aC()),Dce=ie(require("url"));var gr={};it(gr,{RegistryType:()=>ja,getAuditRegistry:()=>q6e,getAuthConfiguration:()=>IT,getDefaultRegistry:()=>eQ,getPublishRegistry:()=>xce,getRegistryConfiguration:()=>kce,getScopeConfiguration:()=>ET,getScopeRegistry:()=>Ya,normalizeRegistry:()=>To});var ja;(function(i){i.AUDIT_REGISTRY="npmAuditRegistry",i.FETCH_REGISTRY="npmRegistryServer",i.PUBLISH_REGISTRY="npmPublishRegistry"})(ja||(ja={}));function To(t){return t.replace(/\/$/,"")}function q6e(t,{configuration:e}){let r=e.get(ja.AUDIT_REGISTRY);return r!==null?To(r):xce(t,{configuration:e})}function xce(t,{configuration:e}){var r;return((r=t.publishConfig)==null?void 0:r.registry)?To(t.publishConfig.registry):t.name?Ya(t.name.scope,{configuration:e,type:ja.PUBLISH_REGISTRY}):eQ({configuration:e,type:ja.PUBLISH_REGISTRY})}function Ya(t,{configuration:e,type:r=ja.FETCH_REGISTRY}){let i=ET(t,{configuration:e});if(i===null)return eQ({configuration:e,type:r});let n=i.get(r);return n===null?eQ({configuration:e,type:r}):To(n)}function eQ({configuration:t,type:e=ja.FETCH_REGISTRY}){let r=t.get(e);return To(r!==null?r:t.get(ja.FETCH_REGISTRY))}function kce(t,{configuration:e}){let r=e.get("npmRegistries"),i=To(t),n=r.get(i);if(typeof n!="undefined")return n;let s=r.get(i.replace(/^[a-z]+:/,""));return typeof s!="undefined"?s:null}function ET(t,{configuration:e}){if(t===null)return null;let i=e.get("npmScopes").get(t);return i||null}function IT(t,{configuration:e,ident:r}){let i=r&&ET(r.scope,{configuration:e});return(i==null?void 0:i.get("npmAuthIdent"))||(i==null?void 0:i.get("npmAuthToken"))?i:kce(t,{configuration:e})||e}var jn;(function(n){n[n.NO_AUTH=0]="NO_AUTH",n[n.BEST_EFFORT=1]="BEST_EFFORT",n[n.CONFIGURATION=2]="CONFIGURATION",n[n.ALWAYS_AUTH=3]="ALWAYS_AUTH"})(jn||(jn={}));async function WA(t,{attemptedAs:e,registry:r,headers:i,configuration:n}){var s,o;if(((s=t.originalError)==null?void 0:s.name)==="HTTPError"&&((o=t.originalError)==null?void 0:o.response.statusCode)===401)throw new nt(z.AUTHENTICATION_INVALID,`Invalid authentication (${typeof e!="string"?`as ${await J6e(r,i,{configuration:n})}`:`attempted as ${e}`})`)}function W6e(t){var e;return((e=t.response)==null?void 0:e.statusCode)===404?"Package not found":null}function zA(t){return t.scope?`/@${t.scope}%2f${t.name}`:`/${t.name}`}async function zs(t,a){var l=a,{configuration:e,headers:r,ident:i,authType:n,registry:s}=l,o=qr(l,["configuration","headers","ident","authType","registry"]);if(i&&typeof s=="undefined"&&(s=Ya(i.scope,{configuration:e})),i&&i.scope&&typeof n=="undefined"&&(n=1),typeof s!="string")throw new Error("Assertion failed: The registry should be a string");let c=await tQ(s,{authType:n,configuration:e,ident:i});c&&(r=_(P({},r),{authorization:c}));try{return await Zt.get(t.charAt(0)==="/"?`${s}${t}`:t,P({configuration:e,headers:r},o))}catch(u){throw await WA(u,{registry:s,configuration:e,headers:r}),u}}async function z6e(t,e,c){var u=c,{attemptedAs:r,configuration:i,headers:n,ident:s,authType:o=3,registry:a}=u,l=qr(u,["attemptedAs","configuration","headers","ident","authType","registry"]);if(s&&typeof a=="undefined"&&(a=Ya(s.scope,{configuration:i})),typeof a!="string")throw new Error("Assertion failed: The registry should be a string");let g=await tQ(a,{authType:o,configuration:i,ident:s});g&&(n=_(P({},n),{authorization:g}));try{return await Zt.post(a+t,e,P({configuration:i,headers:n},l))}catch(f){if(!wT(f))throw await WA(f,{attemptedAs:r,registry:a,configuration:i,headers:n}),f;let h=await yT(),p=P(P({},n),BT(h));try{return await Zt.post(`${a}${t}`,e,P({configuration:i,headers:p},l))}catch(d){throw await WA(d,{attemptedAs:r,registry:a,configuration:i,headers:n}),d}}}async function V6e(t,e,c){var u=c,{attemptedAs:r,configuration:i,headers:n,ident:s,authType:o=3,registry:a}=u,l=qr(u,["attemptedAs","configuration","headers","ident","authType","registry"]);if(s&&typeof a=="undefined"&&(a=Ya(s.scope,{configuration:i})),typeof a!="string")throw new Error("Assertion failed: The registry should be a string");let g=await tQ(a,{authType:o,configuration:i,ident:s});g&&(n=_(P({},n),{authorization:g}));try{return await Zt.put(a+t,e,P({configuration:i,headers:n},l))}catch(f){if(!wT(f))throw await WA(f,{attemptedAs:r,registry:a,configuration:i,headers:n}),f;let h=await yT(),p=P(P({},n),BT(h));try{return await Zt.put(`${a}${t}`,e,P({configuration:i,headers:p},l))}catch(d){throw await WA(d,{attemptedAs:r,registry:a,configuration:i,headers:n}),d}}}async function _6e(t,l){var c=l,{attemptedAs:e,configuration:r,headers:i,ident:n,authType:s=3,registry:o}=c,a=qr(c,["attemptedAs","configuration","headers","ident","authType","registry"]);if(n&&typeof o=="undefined"&&(o=Ya(n.scope,{configuration:r})),typeof o!="string")throw new Error("Assertion failed: The registry should be a string");let u=await tQ(o,{authType:s,configuration:r,ident:n});u&&(i=_(P({},i),{authorization:u}));try{return await Zt.del(o+t,P({configuration:r,headers:i},a))}catch(g){if(!wT(g))throw await WA(g,{attemptedAs:e,registry:o,configuration:r,headers:i}),g;let f=await yT(),h=P(P({},i),BT(f));try{return await Zt.del(`${o}${t}`,P({configuration:r,headers:h},a))}catch(p){throw await WA(p,{attemptedAs:e,registry:o,configuration:r,headers:i}),p}}}async function tQ(t,{authType:e=2,configuration:r,ident:i}){let n=IT(t,{configuration:r,ident:i}),s=X6e(n,e);if(!s)return null;let o=await r.reduceHook(a=>a.getNpmAuthenticationHeader,void 0,t,{configuration:r,ident:i});if(o)return o;if(n.get("npmAuthToken"))return`Bearer ${n.get("npmAuthToken")}`;if(n.get("npmAuthIdent")){let a=n.get("npmAuthIdent");return a.includes(":")?`Basic ${Buffer.from(a).toString("base64")}`:`Basic ${a}`}if(s&&e!==1)throw new nt(z.AUTHENTICATION_NOT_FOUND,"No authentication configured for request");return null}function X6e(t,e){switch(e){case 2:return t.get("npmAlwaysAuth");case 1:case 3:return!0;case 0:return!1;default:throw new Error("Unreachable")}}async function J6e(t,e,{configuration:r}){var i;if(typeof e=="undefined"||typeof e.authorization=="undefined")return"an anonymous user";try{return(i=(await Zt.get(new Dce.URL(`${t}/-/whoami`).href,{configuration:r,headers:e,jsonResponse:!0})).username)!=null?i:"an unknown user"}catch{return"an unknown user"}}async function yT(){if(process.env.TEST_ENV)return process.env.TEST_NPM_2FA_TOKEN||"";let{otp:t}=await(0,Pce.prompt)({type:"password",name:"otp",message:"One-time password:",required:!0,onCancel:()=>process.exit(130)});return t}function wT(t){var e,r;if(((e=t.originalError)==null?void 0:e.name)!=="HTTPError")return!1;try{return((r=t.originalError)==null?void 0:r.response.headers["www-authenticate"].split(/,\s*/).map(n=>n.toLowerCase())).includes("otp")}catch(i){return!1}}function BT(t){return{["npm-otp"]:t}}var QT=class{supports(e,r){if(!e.reference.startsWith(ir))return!1;let{selector:i,params:n}=S.parseRange(e.reference);return!(!Rce.default.valid(i)||n===null||typeof n.__archiveUrl!="string")}getLocalPath(e,r){return null}async fetch(e,r){let i=r.checksums.get(e.locatorHash)||null,[n,s,o]=await r.cache.fetchPackageFromCache(e,i,P({onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${S.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the remote server`),loader:()=>this.fetchFromNetwork(e,r),skipIntegrityCheck:r.skipIntegrityCheck},r.cacheOptions));return{packageFs:n,releaseFs:s,prefixPath:S.getIdentVendorPath(e),checksum:o}}async fetchFromNetwork(e,r){let{params:i}=S.parseRange(e.reference);if(i===null||typeof i.__archiveUrl!="string")throw new Error("Assertion failed: The archiveUrl querystring parameter should have been available");let n=await zs(i.__archiveUrl,{configuration:r.project.configuration,ident:e});return await Ai.convertToZip(n,{compressionLevel:r.project.configuration.get("compressionLevel"),prefixPath:S.getIdentVendorPath(e),stripComponents:1})}};var bT=class{supportsDescriptor(e,r){return!(!e.range.startsWith(ir)||!S.tryParseDescriptor(e.range.slice(ir.length),!0))}supportsLocator(e,r){return!1}shouldPersistResolution(e,r){throw new Error("Unreachable")}bindDescriptor(e,r,i){return e}getResolutionDependencies(e,r){let i=S.parseDescriptor(e.range.slice(ir.length),!0);return r.resolver.getResolutionDependencies(i,r)}async getCandidates(e,r,i){let n=S.parseDescriptor(e.range.slice(ir.length),!0);return await i.resolver.getCandidates(n,r,i)}async getSatisfying(e,r,i){let n=S.parseDescriptor(e.range.slice(ir.length),!0);return i.resolver.getSatisfying(n,r,i)}resolve(e,r){throw new Error("Unreachable")}};var vT=ie(Or()),Fce=ie(require("url"));var Vs=class{supports(e,r){if(!e.reference.startsWith(ir))return!1;let i=new Fce.URL(e.reference);return!(!vT.default.valid(i.pathname)||i.searchParams.has("__archiveUrl"))}getLocalPath(e,r){return null}async fetch(e,r){let i=r.checksums.get(e.locatorHash)||null,[n,s,o]=await r.cache.fetchPackageFromCache(e,i,P({onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${S.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the remote registry`),loader:()=>this.fetchFromNetwork(e,r),skipIntegrityCheck:r.skipIntegrityCheck},r.cacheOptions));return{packageFs:n,releaseFs:s,prefixPath:S.getIdentVendorPath(e),checksum:o}}async fetchFromNetwork(e,r){let i;try{i=await zs(Vs.getLocatorUrl(e),{configuration:r.project.configuration,ident:e})}catch(n){i=await zs(Vs.getLocatorUrl(e).replace(/%2f/g,"/"),{configuration:r.project.configuration,ident:e})}return await Ai.convertToZip(i,{compressionLevel:r.project.configuration.get("compressionLevel"),prefixPath:S.getIdentVendorPath(e),stripComponents:1})}static isConventionalTarballUrl(e,r,{configuration:i}){let n=Ya(e.scope,{configuration:i}),s=Vs.getLocatorUrl(e);return r=r.replace(/^https?:(\/\/(?:[^/]+\.)?npmjs.org(?:$|\/))/,"https:$1"),n=n.replace(/^https:\/\/registry\.npmjs\.org($|\/)/,"https://registry.yarnpkg.com$1"),r=r.replace(/^https:\/\/registry\.npmjs\.org($|\/)/,"https://registry.yarnpkg.com$1"),r===n+s||r===n+s.replace(/%2f/g,"/")}static getLocatorUrl(e){let r=vT.default.clean(e.reference.slice(ir.length));if(r===null)throw new nt(z.RESOLVER_NOT_FOUND,"The npm semver resolver got selected, but the version isn't semver");return`${zA(e)}/-/${e.name}-${r}.tgz`}};var ST=ie(Or());var rQ=S.makeIdent(null,"node-gyp"),Z6e=/\b(node-gyp|prebuild-install)\b/,xT=class{supportsDescriptor(e,r){return e.range.startsWith(ir)?!!qt.validRange(e.range.slice(ir.length)):!1}supportsLocator(e,r){if(!e.reference.startsWith(ir))return!1;let{selector:i}=S.parseRange(e.reference);return!!ST.default.valid(i)}shouldPersistResolution(e,r){return!0}bindDescriptor(e,r,i){return e}getResolutionDependencies(e,r){return[]}async getCandidates(e,r,i){let n=qt.validRange(e.range.slice(ir.length));if(n===null)throw new Error(`Expected a valid range, got ${e.range.slice(ir.length)}`);let s=await zs(zA(e),{configuration:i.project.configuration,ident:e,jsonResponse:!0}),o=de.mapAndFilter(Object.keys(s.versions),c=>{try{let u=new qt.SemVer(c);if(n.test(u))return u}catch{}return de.mapAndFilter.skip}),a=o.filter(c=>!s.versions[c.raw].deprecated),l=a.length>0?a:o;return l.sort((c,u)=>-c.compare(u)),l.map(c=>{let u=S.makeLocator(e,`${ir}${c.raw}`),g=s.versions[c.raw].dist.tarball;return Vs.isConventionalTarballUrl(u,g,{configuration:i.project.configuration})?u:S.bindLocator(u,{__archiveUrl:g})})}async getSatisfying(e,r,i){let n=qt.validRange(e.range.slice(ir.length));if(n===null)throw new Error(`Expected a valid range, got ${e.range.slice(ir.length)}`);return de.mapAndFilter(r,s=>{try{let{selector:o}=S.parseRange(s,{requireProtocol:ir}),a=new qt.SemVer(o);if(n.test(a))return{reference:s,version:a}}catch{}return de.mapAndFilter.skip}).sort((s,o)=>-s.version.compare(o.version)).map(({reference:s})=>S.makeLocator(e,s))}async resolve(e,r){let{selector:i}=S.parseRange(e.reference),n=ST.default.clean(i);if(n===null)throw new nt(z.RESOLVER_NOT_FOUND,"The npm semver resolver got selected, but the version isn't semver");let s=await zs(zA(e),{configuration:r.project.configuration,ident:e,jsonResponse:!0});if(!Object.prototype.hasOwnProperty.call(s,"versions"))throw new nt(z.REMOTE_INVALID,'Registry returned invalid data for - missing "versions" field');if(!Object.prototype.hasOwnProperty.call(s.versions,n))throw new nt(z.REMOTE_NOT_FOUND,`Registry failed to return reference "${n}"`);let o=new Ze;if(o.load(s.versions[n]),!o.dependencies.has(rQ.identHash)&&!o.peerDependencies.has(rQ.identHash)){for(let a of o.scripts.values())if(a.match(Z6e)){o.dependencies.set(rQ.identHash,S.makeDescriptor(rQ,"latest")),r.report.reportWarningOnce(z.NODE_GYP_INJECTED,`${S.prettyLocator(r.project.configuration,e)}: Implicit dependencies on node-gyp are discouraged`);break}}return typeof o.raw.deprecated=="string"&&r.report.reportWarningOnce(z.DEPRECATED_PACKAGE,`${S.prettyLocator(r.project.configuration,e)} is deprecated: ${o.raw.deprecated}`),_(P({},e),{version:n,languageName:"node",linkType:gt.HARD,conditions:o.getConditions(),dependencies:o.dependencies,peerDependencies:o.peerDependencies,dependenciesMeta:o.dependenciesMeta,peerDependenciesMeta:o.peerDependenciesMeta,bin:o.bin})}};var kT=class{supportsDescriptor(e,r){return!(!e.range.startsWith(ir)||!Rg.test(e.range.slice(ir.length)))}supportsLocator(e,r){return!1}shouldPersistResolution(e,r){throw new Error("Unreachable")}bindDescriptor(e,r,i){return e}getResolutionDependencies(e,r){return[]}async getCandidates(e,r,i){let n=e.range.slice(ir.length),s=await zs(zA(e),{configuration:i.project.configuration,ident:e,jsonResponse:!0});if(!Object.prototype.hasOwnProperty.call(s,"dist-tags"))throw new nt(z.REMOTE_INVALID,'Registry returned invalid data - missing "dist-tags" field');let o=s["dist-tags"];if(!Object.prototype.hasOwnProperty.call(o,n))throw new nt(z.REMOTE_NOT_FOUND,`Registry failed to return tag "${n}"`);let a=o[n],l=S.makeLocator(e,`${ir}${a}`),c=s.versions[a].dist.tarball;return Vs.isConventionalTarballUrl(l,c,{configuration:i.project.configuration})?[l]:[S.bindLocator(l,{__archiveUrl:c})]}async getSatisfying(e,r,i){return null}async resolve(e,r){throw new Error("Unreachable")}};var Rf={};it(Rf,{getGitHead:()=>_7e,makePublishBody:()=>V7e});var CM={};it(CM,{default:()=>D7e,packUtils:()=>za});var za={};it(za,{genPackList:()=>QQ,genPackStream:()=>dM,genPackageManifest:()=>age,hasPackScripts:()=>hM,prepareForPack:()=>pM});var fM=ie(Nn()),sge=ie(nge()),oge=ie(require("zlib")),I7e=["/package.json","/readme","/readme.*","/license","/license.*","/licence","/licence.*","/changelog","/changelog.*"],y7e=["/package.tgz",".github",".git",".hg","node_modules",".npmignore",".gitignore",".#*",".DS_Store"];async function hM(t){return!!(Kt.hasWorkspaceScript(t,"prepack")||Kt.hasWorkspaceScript(t,"postpack"))}async function pM(t,{report:e},r){await Kt.maybeExecuteWorkspaceLifecycleScript(t,"prepack",{report:e});try{let i=v.join(t.cwd,Ze.fileName);await T.existsPromise(i)&&await t.manifest.loadFile(i,{baseFs:T}),await r()}finally{await Kt.maybeExecuteWorkspaceLifecycleScript(t,"postpack",{report:e})}}async function dM(t,e){var s,o;typeof e=="undefined"&&(e=await QQ(t));let r=new Set;for(let a of(o=(s=t.manifest.publishConfig)==null?void 0:s.executableFiles)!=null?o:new Set)r.add(v.normalize(a));for(let a of t.manifest.bin.values())r.add(v.normalize(a));let i=sge.default.pack();process.nextTick(async()=>{for(let a of e){let l=v.normalize(a),c=v.resolve(t.cwd,l),u=v.join("package",l),g=await T.lstatPromise(c),f={name:u,mtime:new Date(mr.SAFE_TIME*1e3)},h=r.has(l)?493:420,p,d,m=new Promise((B,b)=>{p=B,d=b}),I=B=>{B?d(B):p()};if(g.isFile()){let B;l==="package.json"?B=Buffer.from(JSON.stringify(await age(t),null,2)):B=await T.readFilePromise(c),i.entry(_(P({},f),{mode:h,type:"file"}),B,I)}else g.isSymbolicLink()?i.entry(_(P({},f),{mode:h,type:"symlink",linkname:await T.readlinkPromise(c)}),I):I(new Error(`Unsupported file type ${g.mode} for ${M.fromPortablePath(l)}`));await m}i.finalize()});let n=(0,oge.createGzip)();return i.pipe(n),n}async function age(t){let e=JSON.parse(JSON.stringify(t.manifest.raw));return await t.project.configuration.triggerHook(r=>r.beforeWorkspacePacking,t,e),e}async function QQ(t){var g,f,h,p,d,m,I,B;let e=t.project,r=e.configuration,i={accept:[],reject:[]};for(let b of y7e)i.reject.push(b);for(let b of I7e)i.accept.push(b);i.reject.push(r.get("rcFilename"));let n=b=>{if(b===null||!b.startsWith(`${t.cwd}/`))return;let R=v.relative(t.cwd,b),H=v.resolve(Se.root,R);i.reject.push(H)};n(v.resolve(e.cwd,r.get("lockfileFilename"))),n(r.get("cacheFolder")),n(r.get("globalFolder")),n(r.get("installStatePath")),n(r.get("virtualFolder")),n(r.get("yarnPath")),await r.triggerHook(b=>b.populateYarnPaths,e,b=>{n(b)});for(let b of e.workspaces){let R=v.relative(t.cwd,b.cwd);R!==""&&!R.match(/^(\.\.)?\//)&&i.reject.push(`/${R}`)}let s={accept:[],reject:[]},o=(f=(g=t.manifest.publishConfig)==null?void 0:g.main)!=null?f:t.manifest.main,a=(p=(h=t.manifest.publishConfig)==null?void 0:h.module)!=null?p:t.manifest.module,l=(m=(d=t.manifest.publishConfig)==null?void 0:d.browser)!=null?m:t.manifest.browser,c=(B=(I=t.manifest.publishConfig)==null?void 0:I.bin)!=null?B:t.manifest.bin;o!=null&&s.accept.push(v.resolve(Se.root,o)),a!=null&&s.accept.push(v.resolve(Se.root,a)),typeof l=="string"&&s.accept.push(v.resolve(Se.root,l));for(let b of c.values())s.accept.push(v.resolve(Se.root,b));if(l instanceof Map)for(let[b,R]of l.entries())s.accept.push(v.resolve(Se.root,b)),typeof R=="string"&&s.accept.push(v.resolve(Se.root,R));let u=t.manifest.files!==null;if(u){s.reject.push("/*");for(let b of t.manifest.files)Age(s.accept,b,{cwd:Se.root})}return await w7e(t.cwd,{hasExplicitFileList:u,globalList:i,ignoreList:s})}async function w7e(t,{hasExplicitFileList:e,globalList:r,ignoreList:i}){let n=[],s=new Zo(t),o=[[Se.root,[i]]];for(;o.length>0;){let[a,l]=o.pop(),c=await s.lstatPromise(a);if(!cge(a,{globalList:r,ignoreLists:c.isDirectory()?null:l}))if(c.isDirectory()){let u=await s.readdirPromise(a),g=!1,f=!1;if(!e||a!==Se.root)for(let d of u)g=g||d===".gitignore",f=f||d===".npmignore";let h=f?await lge(s,a,".npmignore"):g?await lge(s,a,".gitignore"):null,p=h!==null?[h].concat(l):l;cge(a,{globalList:r,ignoreLists:l})&&(p=[...l,{accept:[],reject:["**/*"]}]);for(let d of u)o.push([v.resolve(a,d),p])}else(c.isFile()||c.isSymbolicLink())&&n.push(v.relative(Se.root,a))}return n.sort()}async function lge(t,e,r){let i={accept:[],reject:[]},n=await t.readFilePromise(v.join(e,r),"utf8");for(let s of n.split(/\n/g))Age(i.reject,s,{cwd:e});return i}function B7e(t,{cwd:e}){let r=t[0]==="!";return r&&(t=t.slice(1)),t.match(/\.{0,1}\//)&&(t=v.resolve(e,t)),r&&(t=`!${t}`),t}function Age(t,e,{cwd:r}){let i=e.trim();i===""||i[0]==="#"||t.push(B7e(i,{cwd:r}))}function cge(t,{globalList:e,ignoreLists:r}){if(bQ(t,e.accept))return!1;if(bQ(t,e.reject))return!0;if(r!==null)for(let i of r){if(bQ(t,i.accept))return!1;if(bQ(t,i.reject))return!0}return!1}function bQ(t,e){let r=e,i=[];for(let n=0;n{await pM(i,{report:l},async()=>{l.reportJson({base:M.fromPortablePath(i.cwd)});let c=await QQ(i);for(let u of c)l.reportInfo(null,M.fromPortablePath(u)),l.reportJson({location:M.fromPortablePath(u)});if(!this.dryRun){let u=await dM(i,c),g=T.createWriteStream(s);u.pipe(g),await new Promise(f=>{g.on("finish",f)})}}),this.dryRun||(l.reportInfo(z.UNNAMED,`Package archive generated in ${ue.pretty(e,s,ue.Type.PATH)}`),l.reportJson({output:M.fromPortablePath(s)}))})).exitCode()}};fm.paths=[["pack"]],fm.usage=ye.Usage({description:"generate a tarball from the active workspace",details:"\n This command will turn the active workspace into a compressed archive suitable for publishing. The archive will by default be stored at the root of the workspace (`package.tgz`).\n\n If the `-o,---out` is set the archive will be created at the specified path. The `%s` and `%v` variables can be used within the path and will be respectively replaced by the package name and version.\n ",examples:[["Create an archive from the active workspace","yarn pack"],["List the files that would be made part of the workspace's archive","yarn pack --dry-run"],["Name and output the archive in a dedicated folder","yarn pack --out /artifacts/%s-%v.tgz"]]});var gge=fm;function Q7e(t,{workspace:e}){let r=t.replace("%s",b7e(e)).replace("%v",v7e(e));return M.toPortablePath(r)}function b7e(t){return t.manifest.name!==null?S.slugifyIdent(t.manifest.name):"package"}function v7e(t){return t.manifest.version!==null?t.manifest.version:"unknown"}var S7e=["dependencies","devDependencies","peerDependencies"],x7e="workspace:",k7e=(t,e)=>{var i,n;e.publishConfig&&(e.publishConfig.main&&(e.main=e.publishConfig.main),e.publishConfig.browser&&(e.browser=e.publishConfig.browser),e.publishConfig.module&&(e.module=e.publishConfig.module),e.publishConfig.browser&&(e.browser=e.publishConfig.browser),e.publishConfig.exports&&(e.exports=e.publishConfig.exports),e.publishConfig.bin&&(e.bin=e.publishConfig.bin));let r=t.project;for(let s of S7e)for(let o of t.manifest.getForScope(s).values()){let a=r.tryWorkspaceByDescriptor(o),l=S.parseRange(o.range);if(l.protocol===x7e)if(a===null){if(r.tryWorkspaceByIdent(o)===null)throw new nt(z.WORKSPACE_NOT_FOUND,`${S.prettyDescriptor(r.configuration,o)}: No local workspace found for this range`)}else{let c;S.areDescriptorsEqual(o,a.anchoredDescriptor)||l.selector==="*"?c=(i=a.manifest.version)!=null?i:"0.0.0":l.selector==="~"||l.selector==="^"?c=`${l.selector}${(n=a.manifest.version)!=null?n:"0.0.0"}`:c=l.selector,e[s][S.stringifyIdent(o)]=c}}},P7e={hooks:{beforeWorkspacePacking:k7e},commands:[gge]},D7e=P7e;var yge=ie(require("crypto")),wge=ie(Ige()),Bge=ie(require("url"));async function V7e(t,e,{access:r,tag:i,registry:n,gitHead:s}){let o=t.project.configuration,a=t.manifest.name,l=t.manifest.version,c=S.stringifyIdent(a),u=(0,yge.createHash)("sha1").update(e).digest("hex"),g=wge.default.fromData(e).toString();typeof r=="undefined"&&(t.manifest.publishConfig&&typeof t.manifest.publishConfig.access=="string"?r=t.manifest.publishConfig.access:o.get("npmPublishAccess")!==null?r=o.get("npmPublishAccess"):a.scope?r="restricted":r="public");let f=await za.genPackageManifest(t),h=`${c}-${l}.tgz`,p=new Bge.URL(`${To(n)}/${c}/-/${h}`);return{_id:c,_attachments:{[h]:{content_type:"application/octet-stream",data:e.toString("base64"),length:e.length}},name:c,access:r,["dist-tags"]:{[i]:l},versions:{[l]:_(P({},f),{_id:`${c}@${l}`,name:c,version:l,gitHead:s,dist:{shasum:u,integrity:g,tarball:p.toString()}})}}}async function _7e(t){try{let{stdout:e}=await hr.execvp("git",["rev-parse","--revs-only","HEAD"],{cwd:t});return e.trim()===""?void 0:e.trim()}catch{return}}var wM={npmAlwaysAuth:{description:"URL of the selected npm registry (note: npm enterprise isn't supported)",type:ge.BOOLEAN,default:!1},npmAuthIdent:{description:"Authentication identity for the npm registry (_auth in npm and yarn v1)",type:ge.SECRET,default:null},npmAuthToken:{description:"Authentication token for the npm registry (_authToken in npm and yarn v1)",type:ge.SECRET,default:null}},Qge={npmAuditRegistry:{description:"Registry to query for audit reports",type:ge.STRING,default:null},npmPublishRegistry:{description:"Registry to push packages to",type:ge.STRING,default:null},npmRegistryServer:{description:"URL of the selected npm registry (note: npm enterprise isn't supported)",type:ge.STRING,default:"https://registry.yarnpkg.com"}},X7e={configuration:_(P(P({},wM),Qge),{npmScopes:{description:"Settings per package scope",type:ge.MAP,valueDefinition:{description:"",type:ge.SHAPE,properties:P(P({},wM),Qge)}},npmRegistries:{description:"Settings per registry",type:ge.MAP,normalizeKeys:To,valueDefinition:{description:"",type:ge.SHAPE,properties:P({},wM)}}}),fetchers:[QT,Vs],resolvers:[bT,xT,kT]},Z7e=X7e;var vM={};it(vM,{default:()=>a_e});Ss();var Ho;(function(i){i.All="all",i.Production="production",i.Development="development"})(Ho||(Ho={}));var Xs;(function(s){s.Info="info",s.Low="low",s.Moderate="moderate",s.High="high",s.Critical="critical"})(Xs||(Xs={}));var vQ=[Xs.Info,Xs.Low,Xs.Moderate,Xs.High,Xs.Critical];function bge(t,e){let r=[],i=new Set,n=o=>{i.has(o)||(i.add(o),r.push(o))};for(let o of e)n(o);let s=new Set;for(;r.length>0;){let o=r.shift(),a=t.storedResolutions.get(o);if(typeof a=="undefined")throw new Error("Assertion failed: Expected the resolution to have been registered");let l=t.storedPackages.get(a);if(!!l){s.add(o);for(let c of l.dependencies.values())n(c.descriptorHash)}}return s}function $7e(t,e){return new Set([...t].filter(r=>!e.has(r)))}function e_e(t,e,{all:r}){let i=r?t.workspaces:[e],n=i.map(f=>f.manifest),s=new Set(n.map(f=>[...f.dependencies].map(([h,p])=>h)).flat()),o=new Set(n.map(f=>[...f.devDependencies].map(([h,p])=>h)).flat()),a=i.map(f=>[...f.dependencies.values()]).flat(),l=a.filter(f=>s.has(f.identHash)).map(f=>f.descriptorHash),c=a.filter(f=>o.has(f.identHash)).map(f=>f.descriptorHash),u=bge(t,l),g=bge(t,c);return $7e(g,u)}function vge(t){let e={};for(let r of t)e[S.stringifyIdent(r)]=S.parseRange(r.range).selector;return e}function Sge(t){if(typeof t=="undefined")return new Set;let e=vQ.indexOf(t),r=vQ.slice(e);return new Set(r)}function t_e(t,e){let r=Sge(e),i={};for(let n of r)i[n]=t[n];return i}function xge(t,e){var i;let r=t_e(t,e);for(let n of Object.keys(r))if((i=r[n])!=null?i:0>0)return!0;return!1}function kge(t,e){var s;let r={},i={children:r},n=Object.values(t.advisories);if(e!=null){let o=Sge(e);n=n.filter(a=>o.has(a.severity))}for(let o of de.sortMap(n,a=>a.module_name))r[o.module_name]={label:o.module_name,value:ue.tuple(ue.Type.RANGE,o.findings.map(a=>a.version).join(", ")),children:{Issue:{label:"Issue",value:ue.tuple(ue.Type.NO_HINT,o.title)},URL:{label:"URL",value:ue.tuple(ue.Type.URL,o.url)},Severity:{label:"Severity",value:ue.tuple(ue.Type.NO_HINT,o.severity)},["Vulnerable Versions"]:{label:"Vulnerable Versions",value:ue.tuple(ue.Type.RANGE,o.vulnerable_versions)},["Patched Versions"]:{label:"Patched Versions",value:ue.tuple(ue.Type.RANGE,o.patched_versions)},Via:{label:"Via",value:ue.tuple(ue.Type.NO_HINT,Array.from(new Set(o.findings.map(a=>a.paths).flat().map(a=>a.split(">")[0]))).join(", "))},Recommendation:{label:"Recommendation",value:ue.tuple(ue.Type.NO_HINT,(s=o.recommendation)==null?void 0:s.replace(/\n/g," "))}}};return i}function Pge(t,e,{all:r,environment:i}){let n=r?t.workspaces:[e],s=[Ho.All,Ho.Production].includes(i),o=[];if(s)for(let c of n)for(let u of c.manifest.dependencies.values())o.push(u);let a=[Ho.All,Ho.Development].includes(i),l=[];if(a)for(let c of n)for(let u of c.manifest.devDependencies.values())l.push(u);return vge([...o,...l].filter(c=>S.parseRange(c.range).protocol===null))}function Dge(t,e,{all:r}){var s;let i=e_e(t,e,{all:r}),n={};for(let o of t.storedPackages.values())n[S.stringifyIdent(o)]={version:(s=o.version)!=null?s:"0.0.0",integrity:o.identHash,requires:vge(o.dependencies.values()),dev:i.has(S.convertLocatorToDescriptor(o).descriptorHash)};return n}var dm=class extends Be{constructor(){super(...arguments);this.all=Y.Boolean("-A,--all",!1,{description:"Audit dependencies from all workspaces"});this.recursive=Y.Boolean("-R,--recursive",!1,{description:"Audit transitive dependencies as well"});this.environment=Y.String("--environment",Ho.All,{description:"Which environments to cover",validator:Yi(Ho)});this.json=Y.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.severity=Y.String("--severity",Xs.Info,{description:"Minimal severity requested for packages to be displayed",validator:Yi(Xs)})}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Ke.find(e,this.context.cwd);if(!i)throw new rt(r.cwd,this.context.cwd);await r.restoreInstallState();let n=Pge(r,i,{all:this.all,environment:this.environment}),s=Dge(r,i,{all:this.all});if(!this.recursive)for(let f of Object.keys(s))Object.prototype.hasOwnProperty.call(n,f)?s[f].requires={}:delete s[f];let o={requires:n,dependencies:s},a=gr.getAuditRegistry(i.manifest,{configuration:e}),l,c=await Fa.start({configuration:e,stdout:this.context.stdout},async()=>{l=await Lt.post("/-/npm/v1/security/audits/quick",o,{authType:Lt.AuthType.BEST_EFFORT,configuration:e,jsonResponse:!0,registry:a})});if(c.hasErrors())return c.exitCode();let u=xge(l.metadata.vulnerabilities,this.severity);return!this.json&&u?(Hs.emitTree(kge(l,this.severity),{configuration:e,json:this.json,stdout:this.context.stdout,separators:2}),1):(await Fe.start({configuration:e,includeFooter:!1,json:this.json,stdout:this.context.stdout},async f=>{f.reportJson(l),u||f.reportInfo(z.EXCEPTION,"No audit suggestions")})).exitCode()}};dm.paths=[["npm","audit"]],dm.usage=ye.Usage({description:"perform a vulnerability audit against the installed packages",details:` + This command checks for known security reports on the packages you use. The reports are by default extracted from the npm registry, and may or may not be relevant to your actual program (not all vulnerabilities affect all code paths). + + For consistency with our other commands the default is to only check the direct dependencies for the active workspace. To extend this search to all workspaces, use \`-A,--all\`. To extend this search to both direct and transitive dependencies, use \`-R,--recursive\`. + + Applying the \`--severity\` flag will limit the audit table to vulnerabilities of the corresponding severity and above. Valid values are ${vQ.map(e=>`\`${e}\``).join(", ")}. + + If the \`--json\` flag is set, Yarn will print the output exactly as received from the registry. Regardless of this flag, the process will exit with a non-zero exit code if a report is found for the selected packages. + + To understand the dependency tree requiring vulnerable packages, check the raw report with the \`--json\` flag or use \`yarn why \` to get more information as to who depends on them. + `,examples:[["Checks for known security issues with the installed packages. The output is a list of known issues.","yarn npm audit"],["Audit dependencies in all workspaces","yarn npm audit --all"],["Limit auditing to `dependencies` (excludes `devDependencies`)","yarn npm audit --environment production"],["Show audit report as valid JSON","yarn npm audit --json"],["Audit all direct and transitive dependencies","yarn npm audit --recursive"],["Output moderate (or more severe) vulnerabilities","yarn npm audit --severity moderate"]]});var Rge=dm;var BM=ie(Or()),QM=ie(require("util")),Cm=class extends Be{constructor(){super(...arguments);this.fields=Y.String("-f,--fields",{description:"A comma-separated list of manifest fields that should be displayed"});this.json=Y.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.packages=Y.Rest()}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins),{project:r}=await Ke.find(e,this.context.cwd),i=typeof this.fields!="undefined"?new Set(["name",...this.fields.split(/\s*,\s*/)]):null,n=[],s=!1,o=await Fe.start({configuration:e,includeFooter:!1,json:this.json,stdout:this.context.stdout},async a=>{for(let l of this.packages){let c;if(l==="."){let b=r.topLevelWorkspace;if(!b.manifest.name)throw new me(`Missing 'name' field in ${M.fromPortablePath(v.join(b.cwd,wt.manifest))}`);c=S.makeDescriptor(b.manifest.name,"unknown")}else c=S.parseDescriptor(l);let u=Lt.getIdentUrl(c),g=bM(await Lt.get(u,{configuration:e,ident:c,jsonResponse:!0,customErrorMessage:Lt.customPackageError})),f=Object.keys(g.versions).sort(BM.default.compareLoose),p=g["dist-tags"].latest||f[f.length-1],d=qt.validRange(c.range);if(d){let b=BM.default.maxSatisfying(f,d);b!==null?p=b:(a.reportWarning(z.UNNAMED,`Unmet range ${S.prettyRange(e,c.range)}; falling back to the latest version`),s=!0)}else c.range!=="unknown"&&(a.reportWarning(z.UNNAMED,`Invalid range ${S.prettyRange(e,c.range)}; falling back to the latest version`),s=!0);let m=g.versions[p],I=_(P(P({},g),m),{version:p,versions:f}),B;if(i!==null){B={};for(let b of i){let R=I[b];if(typeof R!="undefined")B[b]=R;else{a.reportWarning(z.EXCEPTION,`The '${b}' field doesn't exist inside ${S.prettyIdent(e,c)}'s informations`),s=!0;continue}}}else this.json||(delete I.dist,delete I.readme,delete I.users),B=I;a.reportJson(B),this.json||n.push(B)}});QM.inspect.styles.name="cyan";for(let a of n)(a!==n[0]||s)&&this.context.stdout.write(` +`),this.context.stdout.write(`${(0,QM.inspect)(a,{depth:Infinity,colors:!0,compact:!1})} +`);return o.exitCode()}};Cm.paths=[["npm","info"]],Cm.usage=ye.Usage({category:"Npm-related commands",description:"show information about a package",details:"\n This command will fetch information about a package from the npm registry, and prints it in a tree format.\n\n The package does not have to be installed locally, but needs to have been published (in particular, local changes will be ignored even for workspaces).\n\n Append `@` to the package argument to provide information specific to the latest version that satisfies the range. If the range is invalid or if there is no version satisfying the range, the command will print a warning and fall back to the latest version.\n\n If the `-f,--fields` option is set, it's a comma-separated list of fields which will be used to only display part of the package informations.\n\n By default, this command won't return the `dist`, `readme`, and `users` fields, since they are often very long. To explicitly request those fields, explicitly list them with the `--fields` flag or request the output in JSON mode.\n ",examples:[["Show all available information about react (except the `dist`, `readme`, and `users` fields)","yarn npm info react"],["Show all available information about react as valid JSON (including the `dist`, `readme`, and `users` fields)","yarn npm info react --json"],["Show all available information about react 16.12.0","yarn npm info react@16.12.0"],["Show the description of react","yarn npm info react --fields description"],["Show all available versions of react","yarn npm info react --fields versions"],["Show the readme of react","yarn npm info react --fields readme"],["Show a few fields of react","yarn npm info react --fields homepage,repository"]]});var Fge=Cm;function bM(t){if(Array.isArray(t)){let e=[];for(let r of t)r=bM(r),r&&e.push(r);return e}else if(typeof t=="object"&&t!==null){let e={};for(let r of Object.keys(t)){if(r.startsWith("_"))continue;let i=bM(t[r]);i&&(e[r]=i)}return e}else return t||null}var Nge=ie(aC()),mm=class extends Be{constructor(){super(...arguments);this.scope=Y.String("-s,--scope",{description:"Login to the registry configured for a given scope"});this.publish=Y.Boolean("--publish",!1,{description:"Login to the publish registry"})}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins),r=await SQ({configuration:e,cwd:this.context.cwd,publish:this.publish,scope:this.scope});return(await Fe.start({configuration:e,stdout:this.context.stdout},async n=>{let s=await i_e({registry:r,report:n,stdin:this.context.stdin,stdout:this.context.stdout}),o=`/-/user/org.couchdb.user:${encodeURIComponent(s.name)}`,a=await Lt.put(o,s,{attemptedAs:s.name,configuration:e,registry:r,jsonResponse:!0,authType:Lt.AuthType.NO_AUTH});return await r_e(r,a.token,{configuration:e,scope:this.scope}),n.reportInfo(z.UNNAMED,"Successfully logged in")})).exitCode()}};mm.paths=[["npm","login"]],mm.usage=ye.Usage({category:"Npm-related commands",description:"store new login info to access the npm registry",details:"\n This command will ask you for your username, password, and 2FA One-Time-Password (when it applies). It will then modify your local configuration (in your home folder, never in the project itself) to reference the new tokens thus generated.\n\n Adding the `-s,--scope` flag will cause the authentication to be done against whatever registry is configured for the associated scope (see also `npmScopes`).\n\n Adding the `--publish` flag will cause the authentication to be done against the registry used when publishing the package (see also `publishConfig.registry` and `npmPublishRegistry`).\n ",examples:[["Login to the default registry","yarn npm login"],["Login to the registry linked to the @my-scope registry","yarn npm login --scope my-scope"],["Login to the publish registry for the current package","yarn npm login --publish"]]});var Lge=mm;async function SQ({scope:t,publish:e,configuration:r,cwd:i}){return t&&e?gr.getScopeRegistry(t,{configuration:r,type:gr.RegistryType.PUBLISH_REGISTRY}):t?gr.getScopeRegistry(t,{configuration:r}):e?gr.getPublishRegistry((await rf(r,i)).manifest,{configuration:r}):gr.getDefaultRegistry({configuration:r})}async function r_e(t,e,{configuration:r,scope:i}){let n=o=>a=>{let l=de.isIndexableObject(a)?a:{},c=l[o],u=de.isIndexableObject(c)?c:{};return _(P({},l),{[o]:_(P({},u),{npmAuthToken:e})})},s=i?{npmScopes:n(i)}:{npmRegistries:n(t)};return await fe.updateHomeConfiguration(s)}async function i_e({registry:t,report:e,stdin:r,stdout:i}){if(process.env.TEST_ENV)return{name:process.env.TEST_NPM_USER||"",password:process.env.TEST_NPM_PASSWORD||""};e.reportInfo(z.UNNAMED,`Logging in to ${t}`);let n=!1;t.match(/^https:\/\/npm\.pkg\.github\.com(\/|$)/)&&(e.reportInfo(z.UNNAMED,"You seem to be using the GitHub Package Registry. Tokens must be generated with the 'repo', 'write:packages', and 'read:packages' permissions."),n=!0),e.reportSeparator();let{username:s,password:o}=await(0,Nge.prompt)([{type:"input",name:"username",message:"Username:",required:!0,onCancel:()=>process.exit(130),stdin:r,stdout:i},{type:"password",name:"password",message:n?"Token:":"Password:",required:!0,onCancel:()=>process.exit(130),stdin:r,stdout:i}]);return e.reportSeparator(),{name:s,password:o}}var Ff=new Set(["npmAuthIdent","npmAuthToken"]),Em=class extends Be{constructor(){super(...arguments);this.scope=Y.String("-s,--scope",{description:"Logout of the registry configured for a given scope"});this.publish=Y.Boolean("--publish",!1,{description:"Logout of the publish registry"});this.all=Y.Boolean("-A,--all",!1,{description:"Logout of all registries"})}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins),r=async()=>{var l;let n=await SQ({configuration:e,cwd:this.context.cwd,publish:this.publish,scope:this.scope}),s=await fe.find(this.context.cwd,this.context.plugins),o=S.makeIdent((l=this.scope)!=null?l:null,"pkg");return!gr.getAuthConfiguration(n,{configuration:s,ident:o}).get("npmAuthToken")};return(await Fe.start({configuration:e,stdout:this.context.stdout},async n=>{if(this.all&&(await n_e(),n.reportInfo(z.UNNAMED,"Successfully logged out from everything")),this.scope){await Tge("npmScopes",this.scope),await r()?n.reportInfo(z.UNNAMED,`Successfully logged out from ${this.scope}`):n.reportWarning(z.UNNAMED,"Scope authentication settings removed, but some other ones settings still apply to it");return}let s=await SQ({configuration:e,cwd:this.context.cwd,publish:this.publish});await Tge("npmRegistries",s),await r()?n.reportInfo(z.UNNAMED,`Successfully logged out from ${s}`):n.reportWarning(z.UNNAMED,"Registry authentication settings removed, but some other ones settings still apply to it")})).exitCode()}};Em.paths=[["npm","logout"]],Em.usage=ye.Usage({category:"Npm-related commands",description:"logout of the npm registry",details:"\n This command will log you out by modifying your local configuration (in your home folder, never in the project itself) to delete all credentials linked to a registry.\n\n Adding the `-s,--scope` flag will cause the deletion to be done against whatever registry is configured for the associated scope (see also `npmScopes`).\n\n Adding the `--publish` flag will cause the deletion to be done against the registry used when publishing the package (see also `publishConfig.registry` and `npmPublishRegistry`).\n\n Adding the `-A,--all` flag will cause the deletion to be done against all registries and scopes.\n ",examples:[["Logout of the default registry","yarn npm logout"],["Logout of the @my-scope scope","yarn npm logout --scope my-scope"],["Logout of the publish registry for the current package","yarn npm logout --publish"],["Logout of all registries","yarn npm logout --all"]]});var Mge=Em;function s_e(t,e){let r=t[e];if(!de.isIndexableObject(r))return!1;let i=new Set(Object.keys(r));if([...Ff].every(s=>!i.has(s)))return!1;for(let s of Ff)i.delete(s);if(i.size===0)return t[e]=void 0,!0;let n=P({},r);for(let s of Ff)delete n[s];return t[e]=n,!0}async function n_e(){let t=e=>{let r=!1,i=de.isIndexableObject(e)?P({},e):{};i.npmAuthToken&&(delete i.npmAuthToken,r=!0);for(let n of Object.keys(i))s_e(i,n)&&(r=!0);if(Object.keys(i).length!==0)return r?i:e};return await fe.updateHomeConfiguration({npmRegistries:t,npmScopes:t})}async function Tge(t,e){return await fe.updateHomeConfiguration({[t]:r=>{let i=de.isIndexableObject(r)?r:{};if(!Object.prototype.hasOwnProperty.call(i,e))return r;let n=i[e],s=de.isIndexableObject(n)?n:{},o=new Set(Object.keys(s));if([...Ff].every(l=>!o.has(l)))return r;for(let l of Ff)o.delete(l);if(o.size===0)return Object.keys(i).length===1?void 0:_(P({},i),{[e]:void 0});let a={};for(let l of Ff)a[l]=void 0;return _(P({},i),{[e]:P(P({},s),a)})}})}var Im=class extends Be{constructor(){super(...arguments);this.access=Y.String("--access",{description:"The access for the published package (public or restricted)"});this.tag=Y.String("--tag","latest",{description:"The tag on the registry that the package should be attached to"});this.tolerateRepublish=Y.Boolean("--tolerate-republish",!1,{description:"Warn and exit when republishing an already existing version of a package"})}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Ke.find(e,this.context.cwd);if(!i)throw new rt(r.cwd,this.context.cwd);if(i.manifest.private)throw new me("Private workspaces cannot be published");if(i.manifest.name===null||i.manifest.version===null)throw new me("Workspaces must have valid names and versions to be published on an external registry");await r.restoreInstallState();let n=i.manifest.name,s=i.manifest.version,o=gr.getPublishRegistry(i.manifest,{configuration:e});return(await Fe.start({configuration:e,stdout:this.context.stdout},async l=>{var c,u;if(this.tolerateRepublish)try{let g=await Lt.get(Lt.getIdentUrl(n),{configuration:e,registry:o,ident:n,jsonResponse:!0});if(!Object.prototype.hasOwnProperty.call(g,"versions"))throw new nt(z.REMOTE_INVALID,'Registry returned invalid data for - missing "versions" field');if(Object.prototype.hasOwnProperty.call(g.versions,s)){l.reportWarning(z.UNNAMED,`Registry already knows about version ${s}; skipping.`);return}}catch(g){if(((u=(c=g.originalError)==null?void 0:c.response)==null?void 0:u.statusCode)!==404)throw g}await Kt.maybeExecuteWorkspaceLifecycleScript(i,"prepublish",{report:l}),await za.prepareForPack(i,{report:l},async()=>{let g=await za.genPackList(i);for(let m of g)l.reportInfo(null,m);let f=await za.genPackStream(i,g),h=await de.bufferStream(f),p=await Rf.getGitHead(i.cwd),d=await Rf.makePublishBody(i,h,{access:this.access,tag:this.tag,registry:o,gitHead:p});await Lt.put(Lt.getIdentUrl(n),d,{configuration:e,registry:o,ident:n,jsonResponse:!0})}),l.reportInfo(z.UNNAMED,"Package archive published")})).exitCode()}};Im.paths=[["npm","publish"]],Im.usage=ye.Usage({category:"Npm-related commands",description:"publish the active workspace to the npm registry",details:'\n This command will pack the active workspace into a fresh archive and upload it to the npm registry.\n\n The package will by default be attached to the `latest` tag on the registry, but this behavior can be overriden by using the `--tag` option.\n\n Note that for legacy reasons scoped packages are by default published with an access set to `restricted` (aka "private packages"). This requires you to register for a paid npm plan. In case you simply wish to publish a public scoped package to the registry (for free), just add the `--access public` flag. This behavior can be enabled by default through the `npmPublishAccess` settings.\n ',examples:[["Publish the active workspace","yarn npm publish"]]});var Oge=Im;var Uge=ie(Or());var ym=class extends Be{constructor(){super(...arguments);this.json=Y.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.package=Y.String({required:!1})}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Ke.find(e,this.context.cwd),n;if(typeof this.package!="undefined")n=S.parseIdent(this.package);else{if(!i)throw new rt(r.cwd,this.context.cwd);if(!i.manifest.name)throw new me(`Missing 'name' field in ${M.fromPortablePath(v.join(i.cwd,wt.manifest))}`);n=i.manifest.name}let s=await wm(n,e),a={children:de.sortMap(Object.entries(s),([l])=>l).map(([l,c])=>({value:ue.tuple(ue.Type.RESOLUTION,{descriptor:S.makeDescriptor(n,l),locator:S.makeLocator(n,c)})}))};return Hs.emitTree(a,{configuration:e,json:this.json,stdout:this.context.stdout})}};ym.paths=[["npm","tag","list"]],ym.usage=ye.Usage({category:"Npm-related commands",description:"list all dist-tags of a package",details:` + This command will list all tags of a package from the npm registry. + + If the package is not specified, Yarn will default to the current workspace. + `,examples:[["List all tags of package `my-pkg`","yarn npm tag list my-pkg"]]});var Kge=ym;async function wm(t,e){let r=`/-/package${Lt.getIdentUrl(t)}/dist-tags`;return Lt.get(r,{configuration:e,ident:t,jsonResponse:!0,customErrorMessage:Lt.customPackageError})}var Bm=class extends Be{constructor(){super(...arguments);this.package=Y.String();this.tag=Y.String()}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Ke.find(e,this.context.cwd);if(!i)throw new rt(r.cwd,this.context.cwd);let n=S.parseDescriptor(this.package,!0),s=n.range;if(!Uge.default.valid(s))throw new me(`The range ${ue.pretty(e,n.range,ue.Type.RANGE)} must be a valid semver version`);let o=gr.getPublishRegistry(i.manifest,{configuration:e}),a=ue.pretty(e,n,ue.Type.IDENT),l=ue.pretty(e,s,ue.Type.RANGE),c=ue.pretty(e,this.tag,ue.Type.CODE);return(await Fe.start({configuration:e,stdout:this.context.stdout},async g=>{let f=await wm(n,e);Object.prototype.hasOwnProperty.call(f,this.tag)&&f[this.tag]===s&&g.reportWarning(z.UNNAMED,`Tag ${c} is already set to version ${l}`);let h=`/-/package${Lt.getIdentUrl(n)}/dist-tags/${encodeURIComponent(this.tag)}`;await Lt.put(h,s,{configuration:e,registry:o,ident:n,jsonRequest:!0,jsonResponse:!0}),g.reportInfo(z.UNNAMED,`Tag ${c} added to version ${l} of package ${a}`)})).exitCode()}};Bm.paths=[["npm","tag","add"]],Bm.usage=ye.Usage({category:"Npm-related commands",description:"add a tag for a specific version of a package",details:` + This command will add a tag to the npm registry for a specific version of a package. If the tag already exists, it will be overwritten. + `,examples:[["Add a `beta` tag for version `2.3.4-beta.4` of package `my-pkg`","yarn npm tag add my-pkg@2.3.4-beta.4 beta"]]});var Hge=Bm;var Qm=class extends Be{constructor(){super(...arguments);this.package=Y.String();this.tag=Y.String()}async execute(){if(this.tag==="latest")throw new me("The 'latest' tag cannot be removed.");let e=await fe.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Ke.find(e,this.context.cwd);if(!i)throw new rt(r.cwd,this.context.cwd);let n=S.parseIdent(this.package),s=gr.getPublishRegistry(i.manifest,{configuration:e}),o=ue.pretty(e,this.tag,ue.Type.CODE),a=ue.pretty(e,n,ue.Type.IDENT),l=await wm(n,e);if(!Object.prototype.hasOwnProperty.call(l,this.tag))throw new me(`${o} is not a tag of package ${a}`);return(await Fe.start({configuration:e,stdout:this.context.stdout},async u=>{let g=`/-/package${Lt.getIdentUrl(n)}/dist-tags/${encodeURIComponent(this.tag)}`;await Lt.del(g,{configuration:e,registry:s,ident:n,jsonResponse:!0}),u.reportInfo(z.UNNAMED,`Tag ${o} removed from package ${a}`)})).exitCode()}};Qm.paths=[["npm","tag","remove"]],Qm.usage=ye.Usage({category:"Npm-related commands",description:"remove a tag from a package",details:` + This command will remove a tag from a package from the npm registry. + `,examples:[["Remove the `beta` tag from package `my-pkg`","yarn npm tag remove my-pkg beta"]]});var Gge=Qm;var bm=class extends Be{constructor(){super(...arguments);this.scope=Y.String("-s,--scope",{description:"Print username for the registry configured for a given scope"});this.publish=Y.Boolean("--publish",!1,{description:"Print username for the publish registry"})}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins),r;return this.scope&&this.publish?r=gr.getScopeRegistry(this.scope,{configuration:e,type:gr.RegistryType.PUBLISH_REGISTRY}):this.scope?r=gr.getScopeRegistry(this.scope,{configuration:e}):this.publish?r=gr.getPublishRegistry((await rf(e,this.context.cwd)).manifest,{configuration:e}):r=gr.getDefaultRegistry({configuration:e}),(await Fe.start({configuration:e,stdout:this.context.stdout},async n=>{var o,a;let s;try{s=await Lt.get("/-/whoami",{configuration:e,registry:r,authType:Lt.AuthType.ALWAYS_AUTH,jsonResponse:!0,ident:this.scope?S.makeIdent(this.scope,""):void 0})}catch(l){if(((o=l.response)==null?void 0:o.statusCode)===401||((a=l.response)==null?void 0:a.statusCode)===403){n.reportError(z.AUTHENTICATION_INVALID,"Authentication failed - your credentials may have expired");return}else throw l}n.reportInfo(z.UNNAMED,s.username)})).exitCode()}};bm.paths=[["npm","whoami"]],bm.usage=ye.Usage({category:"Npm-related commands",description:"display the name of the authenticated user",details:"\n Print the username associated with the current authentication settings to the standard output.\n\n When using `-s,--scope`, the username printed will be the one that matches the authentication settings of the registry associated with the given scope (those settings can be overriden using the `npmRegistries` map, and the registry associated with the scope is configured via the `npmScopes` map).\n\n When using `--publish`, the registry we'll select will by default be the one used when publishing packages (`publishConfig.registry` or `npmPublishRegistry` if available, otherwise we'll fallback to the regular `npmRegistryServer`).\n ",examples:[["Print username for the default registry","yarn npm whoami"],["Print username for the registry on a given scope","yarn npm whoami --scope company"]]});var jge=bm;var o_e={configuration:{npmPublishAccess:{description:"Default access of the published packages",type:ge.STRING,default:null}},commands:[Rge,Fge,Lge,Mge,Oge,Hge,Kge,Gge,jge]},a_e=o_e;var NM={};it(NM,{default:()=>B_e,patchUtils:()=>SM});var SM={};it(SM,{applyPatchFile:()=>PQ,diffFolders:()=>DM,extractPackageToDisk:()=>PM,extractPatchFlags:()=>Xge,isParentRequired:()=>kM,loadPatchFiles:()=>km,makeDescriptor:()=>I_e,makeLocator:()=>xM,parseDescriptor:()=>Sm,parseLocator:()=>xm,parsePatchFile:()=>kQ});var vm=class extends Error{constructor(e,r){super(`Cannot apply hunk #${e+1}`);this.hunk=r}};var A_e=/^@@ -(\d+)(,(\d+))? \+(\d+)(,(\d+))? @@.*/;function Nf(t){return v.relative(Se.root,v.resolve(Se.root,M.toPortablePath(t)))}function l_e(t){let e=t.trim().match(A_e);if(!e)throw new Error(`Bad header line: '${t}'`);return{original:{start:Math.max(Number(e[1]),1),length:Number(e[3]||1)},patched:{start:Math.max(Number(e[4]),1),length:Number(e[6]||1)}}}var c_e=420,u_e=493,Lr;(function(i){i.Context="context",i.Insertion="insertion",i.Deletion="deletion"})(Lr||(Lr={}));var Yge=()=>({semverExclusivity:null,diffLineFromPath:null,diffLineToPath:null,oldMode:null,newMode:null,deletedFileMode:null,newFileMode:null,renameFrom:null,renameTo:null,beforeHash:null,afterHash:null,fromPath:null,toPath:null,hunks:null}),g_e=t=>({header:l_e(t),parts:[]}),f_e={["@"]:"header",["-"]:Lr.Deletion,["+"]:Lr.Insertion,[" "]:Lr.Context,["\\"]:"pragma",undefined:Lr.Context};function p_e(t){let e=[],r=Yge(),i="parsing header",n=null,s=null;function o(){n&&(s&&(n.parts.push(s),s=null),r.hunks.push(n),n=null)}function a(){o(),e.push(r),r=Yge()}for(let l=0;l0?"patch":"mode change",B=null;switch(I){case"rename":{if(!u||!g)throw new Error("Bad parser state: rename from & to not given");e.push({type:"rename",semverExclusivity:i,fromPath:Nf(u),toPath:Nf(g)}),B=g}break;case"file deletion":{let b=n||p;if(!b)throw new Error("Bad parse state: no path given for file deletion");e.push({type:"file deletion",semverExclusivity:i,hunk:m&&m[0]||null,path:Nf(b),mode:xQ(l),hash:f})}break;case"file creation":{let b=s||d;if(!b)throw new Error("Bad parse state: no path given for file creation");e.push({type:"file creation",semverExclusivity:i,hunk:m&&m[0]||null,path:Nf(b),mode:xQ(c),hash:h})}break;case"patch":case"mode change":B=d||s;break;default:de.assertNever(I);break}B&&o&&a&&o!==a&&e.push({type:"mode change",semverExclusivity:i,path:Nf(B),oldMode:xQ(o),newMode:xQ(a)}),B&&m&&m.length&&e.push({type:"patch",semverExclusivity:i,path:Nf(B),hunks:m,beforeHash:f,afterHash:h})}if(e.length===0)throw new Error("Unable to parse patch file: No changes found. Make sure the patch is a valid UTF8 encoded string");return e}function xQ(t){let e=parseInt(t,8)&511;if(e!==c_e&&e!==u_e)throw new Error(`Unexpected file mode string: ${t}`);return e}function kQ(t){let e=t.split(/\n/g);return e[e.length-1]===""&&e.pop(),d_e(p_e(e))}function h_e(t){let e=0,r=0;for(let{type:i,lines:n}of t.parts)switch(i){case Lr.Context:r+=n.length,e+=n.length;break;case Lr.Deletion:e+=n.length;break;case Lr.Insertion:r+=n.length;break;default:de.assertNever(i);break}if(e!==t.header.original.length||r!==t.header.patched.length){let i=n=>n<0?n:`+${n}`;throw new Error(`hunk header integrity check failed (expected @@ ${i(t.header.original.length)} ${i(t.header.patched.length)} @@, got @@ ${i(e)} ${i(r)} @@)`)}}async function Lf(t,e,r){let i=await t.lstatPromise(e),n=await r();if(typeof n!="undefined"&&(e=n),t.lutimesPromise)await t.lutimesPromise(e,i.atime,i.mtime);else if(!i.isSymbolicLink())await t.utimesPromise(e,i.atime,i.mtime);else throw new Error("Cannot preserve the time values of a symlink")}async function PQ(t,{baseFs:e=new Wt,dryRun:r=!1,version:i=null}={}){for(let n of t)if(!(n.semverExclusivity!==null&&i!==null&&!qt.satisfiesWithPrereleases(i,n.semverExclusivity)))switch(n.type){case"file deletion":if(r){if(!e.existsSync(n.path))throw new Error(`Trying to delete a file that doesn't exist: ${n.path}`)}else await Lf(e,v.dirname(n.path),async()=>{await e.unlinkPromise(n.path)});break;case"rename":if(r){if(!e.existsSync(n.fromPath))throw new Error(`Trying to move a file that doesn't exist: ${n.fromPath}`)}else await Lf(e,v.dirname(n.fromPath),async()=>{await Lf(e,v.dirname(n.toPath),async()=>{await Lf(e,n.fromPath,async()=>(await e.movePromise(n.fromPath,n.toPath),n.toPath))})});break;case"file creation":if(r){if(e.existsSync(n.path))throw new Error(`Trying to create a file that already exists: ${n.path}`)}else{let s=n.hunk?n.hunk.parts[0].lines.join(` +`)+(n.hunk.parts[0].noNewlineAtEndOfFile?"":` +`):"";await e.mkdirpPromise(v.dirname(n.path),{chmod:493,utimes:[mr.SAFE_TIME,mr.SAFE_TIME]}),await e.writeFilePromise(n.path,s,{mode:n.mode}),await e.utimesPromise(n.path,mr.SAFE_TIME,mr.SAFE_TIME)}break;case"patch":await Lf(e,n.path,async()=>{await C_e(n,{baseFs:e,dryRun:r})});break;case"mode change":{let o=(await e.statPromise(n.path)).mode;if(qge(n.newMode)!==qge(o))continue;await Lf(e,n.path,async()=>{await e.chmodPromise(n.path,n.newMode)})}break;default:de.assertNever(n);break}}function qge(t){return(t&64)>0}function Jge(t){return t.replace(/\s+$/,"")}function m_e(t,e){return Jge(t)===Jge(e)}async function C_e({hunks:t,path:e},{baseFs:r,dryRun:i=!1}){let n=await r.statSync(e).mode,o=(await r.readFileSync(e,"utf8")).split(/\n/),a=[],l=0,c=0;for(let g of t){let f=Math.max(c,g.header.patched.start+l),h=Math.max(0,f-c),p=Math.max(0,o.length-f-g.header.original.length),d=Math.max(h,p),m=0,I=0,B=null;for(;m<=d;){if(m<=h&&(I=f-m,B=Wge(g,o,I),B!==null)){m=-m;break}if(m<=p&&(I=f+m,B=Wge(g,o,I),B!==null))break;m+=1}if(B===null)throw new vm(t.indexOf(g),g);a.push(B),l+=m,c=I+g.header.original.length}if(i)return;let u=0;for(let g of a)for(let f of g)switch(f.type){case"splice":{let h=f.index+u;o.splice(h,f.numToDelete,...f.linesToInsert),u+=f.linesToInsert.length-f.numToDelete}break;case"pop":o.pop();break;case"push":o.push(f.line);break;default:de.assertNever(f);break}await r.writeFilePromise(e,o.join(` +`),{mode:n})}function Wge(t,e,r){let i=[];for(let n of t.parts)switch(n.type){case Lr.Context:case Lr.Deletion:{for(let s of n.lines){let o=e[r];if(o==null||!m_e(o,s))return null;r+=1}n.type===Lr.Deletion&&(i.push({type:"splice",index:r-n.lines.length,numToDelete:n.lines.length,linesToInsert:[]}),n.noNewlineAtEndOfFile&&i.push({type:"push",line:""}))}break;case Lr.Insertion:i.push({type:"splice",index:r,numToDelete:0,linesToInsert:n.lines}),n.noNewlineAtEndOfFile&&i.push({type:"pop"});break;default:de.assertNever(n.type);break}return i}var E_e=/^builtin<([^>]+)>$/;function zge(t,e){let{source:r,selector:i,params:n}=S.parseRange(t);if(r===null)throw new Error("Patch locators must explicitly define their source");let s=i?i.split(/&/).map(c=>M.toPortablePath(c)):[],o=n&&typeof n.locator=="string"?S.parseLocator(n.locator):null,a=n&&typeof n.version=="string"?n.version:null,l=e(r);return{parentLocator:o,sourceItem:l,patchPaths:s,sourceVersion:a}}function Sm(t){let i=zge(t.range,S.parseDescriptor),{sourceItem:e}=i,r=qr(i,["sourceItem"]);return _(P({},r),{sourceDescriptor:e})}function xm(t){let i=zge(t.reference,S.parseLocator),{sourceItem:e}=i,r=qr(i,["sourceItem"]);return _(P({},r),{sourceLocator:e})}function Vge({parentLocator:t,sourceItem:e,patchPaths:r,sourceVersion:i,patchHash:n},s){let o=t!==null?{locator:S.stringifyLocator(t)}:{},a=typeof i!="undefined"?{version:i}:{},l=typeof n!="undefined"?{hash:n}:{};return S.makeRange({protocol:"patch:",source:s(e),selector:r.join("&"),params:P(P(P({},a),l),o)})}function I_e(t,{parentLocator:e,sourceDescriptor:r,patchPaths:i}){return S.makeLocator(t,Vge({parentLocator:e,sourceItem:r,patchPaths:i},S.stringifyDescriptor))}function xM(t,{parentLocator:e,sourcePackage:r,patchPaths:i,patchHash:n}){return S.makeLocator(t,Vge({parentLocator:e,sourceItem:r,sourceVersion:r.version,patchPaths:i,patchHash:n},S.stringifyLocator))}function _ge({onAbsolute:t,onRelative:e,onBuiltin:r},i){i.startsWith("~")&&(i=i.slice(1));let s=i.match(E_e);return s!==null?r(s[1]):v.isAbsolute(i)?t(i):e(i)}function Xge(t){let e=t.startsWith("~");return e&&(t=t.slice(1)),{optional:e}}function kM(t){return _ge({onAbsolute:()=>!1,onRelative:()=>!0,onBuiltin:()=>!1},t)}async function km(t,e,r){let i=t!==null?await r.fetcher.fetch(t,r):null,n=i&&i.localPath?{packageFs:new Ft(Se.root),prefixPath:v.relative(Se.root,i.localPath)}:i;i&&i!==n&&i.releaseFs&&i.releaseFs();let s=await de.releaseAfterUseAsync(async()=>await Promise.all(e.map(async o=>{let a=Xge(o),l=await _ge({onAbsolute:async()=>await T.readFilePromise(o,"utf8"),onRelative:async()=>{if(n===null)throw new Error("Assertion failed: The parent locator should have been fetched");return await n.packageFs.readFilePromise(v.join(n.prefixPath,o),"utf8")},onBuiltin:async c=>await r.project.configuration.firstHook(u=>u.getBuiltinPatch,r.project,c)},o);return _(P({},a),{source:l})})));for(let o of s)typeof o.source=="string"&&(o.source=o.source.replace(/\r\n?/g,` +`));return s}async function PM(t,{cache:e,project:r}){let i=r.storedPackages.get(t.locatorHash);if(typeof i=="undefined")throw new Error("Assertion failed: Expected the package to be registered");let n=r.storedChecksums,s=new ei,o=r.configuration.makeFetcher(),a=await o.fetch(t,{cache:e,project:r,fetcher:o,checksums:n,report:s}),l=await T.mktempPromise(),c=v.join(l,"source"),u=v.join(l,"user"),g=v.join(l,".yarn-patch.json");return await Promise.all([T.copyPromise(c,a.prefixPath,{baseFs:a.packageFs}),T.copyPromise(u,a.prefixPath,{baseFs:a.packageFs}),T.writeJsonPromise(g,{locator:S.stringifyLocator(t),version:i.version})]),T.detachTemp(l),u}async function DM(t,e){let r=M.fromPortablePath(t).replace(/\\/g,"/"),i=M.fromPortablePath(e).replace(/\\/g,"/"),{stdout:n,stderr:s}=await hr.execvp("git",["-c","core.safecrlf=false","diff","--src-prefix=a/","--dst-prefix=b/","--ignore-cr-at-eol","--full-index","--no-index","--text",r,i],{cwd:M.toPortablePath(process.cwd()),env:_(P({},process.env),{GIT_CONFIG_NOSYSTEM:"1",HOME:"",XDG_CONFIG_HOME:"",USERPROFILE:""})});if(s.length>0)throw new Error(`Unable to diff directories. Make sure you have a recent version of 'git' available in PATH. +The following error was reported by 'git': +${s}`);let o=r.startsWith("/")?a=>a.slice(1):a=>a;return n.replace(new RegExp(`(a|b)(${de.escapeRegExp(`/${o(r)}/`)})`,"g"),"$1/").replace(new RegExp(`(a|b)${de.escapeRegExp(`/${o(i)}/`)}`,"g"),"$1/").replace(new RegExp(de.escapeRegExp(`${r}/`),"g"),"").replace(new RegExp(de.escapeRegExp(`${i}/`),"g"),"")}function Zge(t,{configuration:e,report:r}){for(let i of t.parts)for(let n of i.lines)switch(i.type){case Lr.Context:r.reportInfo(null,` ${ue.pretty(e,n,"grey")}`);break;case Lr.Deletion:r.reportError(z.FROZEN_LOCKFILE_EXCEPTION,`- ${ue.pretty(e,n,ue.Type.REMOVED)}`);break;case Lr.Insertion:r.reportError(z.FROZEN_LOCKFILE_EXCEPTION,`+ ${ue.pretty(e,n,ue.Type.ADDED)}`);break;default:de.assertNever(i.type)}}var RM=class{supports(e,r){return!!e.reference.startsWith("patch:")}getLocalPath(e,r){return null}async fetch(e,r){let i=r.checksums.get(e.locatorHash)||null,[n,s,o]=await r.cache.fetchPackageFromCache(e,i,P({onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${S.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the disk`),loader:()=>this.patchPackage(e,r),skipIntegrityCheck:r.skipIntegrityCheck},r.cacheOptions));return{packageFs:n,releaseFs:s,prefixPath:S.getIdentVendorPath(e),localPath:this.getLocalPath(e,r),checksum:o}}async patchPackage(e,r){let{parentLocator:i,sourceLocator:n,sourceVersion:s,patchPaths:o}=xm(e),a=await km(i,o,r),l=await T.mktempPromise(),c=v.join(l,"current.zip"),u=await r.fetcher.fetch(n,r),g=S.getIdentVendorPath(e),f=await $i(),h=new Jr(c,{libzip:f,create:!0,level:r.project.configuration.get("compressionLevel")});await de.releaseAfterUseAsync(async()=>{await h.copyPromise(g,u.prefixPath,{baseFs:u.packageFs,stableSort:!0})},u.releaseFs),h.saveAndClose();for(let{source:p,optional:d}of a){if(p===null)continue;let m=new Jr(c,{libzip:f,level:r.project.configuration.get("compressionLevel")}),I=new Ft(v.resolve(Se.root,g),{baseFs:m});try{await PQ(kQ(p),{baseFs:I,version:s})}catch(B){if(!(B instanceof vm))throw B;let b=r.project.configuration.get("enableInlineHunks"),R=!b&&!d?" (set enableInlineHunks for details)":"",H=`${S.prettyLocator(r.project.configuration,e)}: ${B.message}${R}`,L=K=>{!b||Zge(B.hunk,{configuration:r.project.configuration,report:K})};if(m.discardAndClose(),d){r.report.reportWarningOnce(z.PATCH_HUNK_FAILED,H,{reportExtra:L});continue}else throw new nt(z.PATCH_HUNK_FAILED,H,L)}m.saveAndClose()}return new Jr(c,{libzip:f,level:r.project.configuration.get("compressionLevel")})}};var y_e=3,FM=class{supportsDescriptor(e,r){return!!e.range.startsWith("patch:")}supportsLocator(e,r){return!!e.reference.startsWith("patch:")}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,i){let{patchPaths:n}=Sm(e);return n.every(s=>!kM(s))?e:S.bindDescriptor(e,{locator:S.stringifyLocator(r)})}getResolutionDependencies(e,r){let{sourceDescriptor:i}=Sm(e);return[i]}async getCandidates(e,r,i){if(!i.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let{parentLocator:n,sourceDescriptor:s,patchPaths:o}=Sm(e),a=await km(n,o,i.fetchOptions),l=r.get(s.descriptorHash);if(typeof l=="undefined")throw new Error("Assertion failed: The dependency should have been resolved");let c=mn.makeHash(`${y_e}`,...a.map(u=>JSON.stringify(u))).slice(0,6);return[xM(e,{parentLocator:n,sourcePackage:l,patchPaths:o,patchHash:c})]}async getSatisfying(e,r,i){return null}async resolve(e,r){let{sourceLocator:i}=xm(e),n=await r.resolver.resolve(i,r);return P(P({},n),e)}};var Pm=class extends Be{constructor(){super(...arguments);this.save=Y.Boolean("-s,--save",!1,{description:"Add the patch to your resolution entries"});this.patchFolder=Y.String()}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Ke.find(e,this.context.cwd);if(!i)throw new rt(r.cwd,this.context.cwd);await r.restoreInstallState();let n=v.resolve(this.context.cwd,M.toPortablePath(this.patchFolder)),s=v.join(n,"../source"),o=v.join(n,"../.yarn-patch.json");if(!T.existsSync(s))throw new me("The argument folder didn't get created by 'yarn patch'");let a=await DM(s,n),l=await T.readJsonPromise(o),c=S.parseLocator(l.locator,!0);if(!r.storedPackages.has(c.locatorHash))throw new me("No package found in the project for the given locator");if(!this.save){this.context.stdout.write(a);return}let u=e.get("patchFolder"),g=v.join(u,S.slugifyLocator(c));await T.mkdirPromise(u,{recursive:!0}),await T.writeFilePromise(g,a);let f=v.relative(r.cwd,g);r.topLevelWorkspace.manifest.resolutions.push({pattern:{descriptor:{fullName:S.stringifyIdent(c),description:l.version}},reference:`patch:${S.stringifyLocator(c)}#${f}`}),await r.persist()}};Pm.paths=[["patch-commit"]],Pm.usage=ye.Usage({description:"generate a patch out of a directory",details:"\n This will print a patchfile on stdout based on the diff between the folder passed in and the original version of the package. Such file is suitable for consumption with the `patch:` protocol.\n\n Only folders generated by `yarn patch` are accepted as valid input for `yarn patch-commit`.\n "});var $ge=Pm;var Dm=class extends Be{constructor(){super(...arguments);this.json=Y.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.package=Y.String()}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Ke.find(e,this.context.cwd),n=await Qt.find(e);if(!i)throw new rt(r.cwd,this.context.cwd);await r.restoreInstallState();let s=S.parseLocator(this.package);if(s.reference==="unknown"){let o=de.mapAndFilter([...r.storedPackages.values()],a=>a.identHash!==s.identHash?de.mapAndFilter.skip:S.isVirtualLocator(a)?de.mapAndFilter.skip:a);if(o.length===0)throw new me("No package found in the project for the given locator");if(o.length>1)throw new me(`Multiple candidate packages found; explicitly choose one of them (use \`yarn why \` to get more information as to who depends on them): +${o.map(a=>` +- ${S.prettyLocator(e,a)}`).join("")}`);s=o[0]}if(!r.storedPackages.has(s.locatorHash))throw new me("No package found in the project for the given locator");await Fe.start({configuration:e,json:this.json,stdout:this.context.stdout},async o=>{let a=await PM(s,{cache:n,project:r});o.reportJson({locator:S.stringifyLocator(s),path:M.fromPortablePath(a)}),o.reportInfo(z.UNNAMED,`Package ${S.prettyLocator(e,s)} got extracted with success!`),o.reportInfo(z.UNNAMED,`You can now edit the following folder: ${ue.pretty(e,M.fromPortablePath(a),"magenta")}`),o.reportInfo(z.UNNAMED,`Once you are done run ${ue.pretty(e,`yarn patch-commit ${process.platform==="win32"?'"':""}${M.fromPortablePath(a)}${process.platform==="win32"?'"':""}`,"cyan")} and Yarn will store a patchfile based on your changes.`)})}};Dm.paths=[["patch"]],Dm.usage=ye.Usage({description:"prepare a package for patching",details:'\n This command will cause a package to be extracted in a temporary directory (under a folder named "patch-workdir"). This folder will be editable at will; running `yarn patch` inside it will then cause Yarn to generate a patchfile and register it into your top-level manifest (cf the `patch:` protocol).\n '});var efe=Dm;var w_e={configuration:{enableInlineHunks:{description:"If true, the installs will print unmatched patch hunks",type:ge.BOOLEAN,default:!1},patchFolder:{description:"Folder where the patch files must be written",type:ge.ABSOLUTE_PATH,default:"./.yarn/patches"}},commands:[$ge,efe],fetchers:[RM],resolvers:[FM]},B_e=w_e;var TM={};it(TM,{default:()=>S_e});var tfe=ie(Wp()),LM=class{supportsPackage(e,r){return r.project.configuration.get("nodeLinker")==="pnpm"}async findPackageLocation(e,r){return nfe(e,{project:r.project})}async findPackageLocator(e,r){let i=ife(),n=r.project.installersCustomData.get(i);if(!n)throw new me(`The project in ${ue.pretty(r.project.configuration,`${r.project.cwd}/package.json`,ue.Type.PATH)} doesn't seem to have been installed - running an install there might help`);let s=e.match(/(^.*\/node_modules\/(@[^/]*\/)?[^/]+)(\/.*$)/);if(s){let l=n.locatorByPath.get(s[1]);if(l)return l}let o=e,a=e;do{a=o,o=v.dirname(a);let l=n.locatorByPath.get(a);if(l)return l}while(o!==a);return null}makeInstaller(e){return new rfe(e)}},rfe=class{constructor(e){this.opts=e;this.asyncActions=new afe;this.packageLocations=new Map;this.customData={locatorByPath:new Map}}getCustomDataKey(){return ife()}attachCustomData(e){this.customData=e}async installPackage(e,r,i){switch(e.linkType){case gt.SOFT:return this.installPackageSoft(e,r,i);case gt.HARD:return this.installPackageHard(e,r,i)}throw new Error("Assertion failed: Unsupported package link type")}async installPackageSoft(e,r,i){let n=v.resolve(r.packageFs.getRealPath(),r.prefixPath);return this.packageLocations.set(e.locatorHash,n),{packageLocation:n,buildDirective:null}}async installPackageHard(e,r,i){var u;let n=nfe(e,{project:this.opts.project});this.customData.locatorByPath.set(n,S.stringifyLocator(e)),this.packageLocations.set(e.locatorHash,n),i.holdFetchResult(this.asyncActions.set(e.locatorHash,async()=>{await T.mkdirPromise(n,{recursive:!0}),await T.copyPromise(n,r.prefixPath,{baseFs:r.packageFs,overwrite:!1})}));let o=S.isVirtualLocator(e)?S.devirtualizeLocator(e):e,a={manifest:(u=await Ze.tryFind(r.prefixPath,{baseFs:r.packageFs}))!=null?u:new Ze,misc:{hasBindingGyp:Ws.hasBindingGyp(r)}},l=this.opts.project.getDependencyMeta(o,e.version),c=Ws.extractBuildScripts(e,a,l,{configuration:this.opts.project.configuration,report:this.opts.report});return{packageLocation:n,buildDirective:c}}async attachInternalDependencies(e,r){this.opts.project.configuration.get("nodeLinker")==="pnpm"&&(!ofe(e,{project:this.opts.project})||this.asyncActions.reduce(e.locatorHash,async i=>{await i;let n=this.packageLocations.get(e.locatorHash);if(typeof n=="undefined")throw new Error(`Assertion failed: Expected the package to have been registered (${S.stringifyLocator(e)})`);let s=v.join(n,wt.nodeModules);r.length>0&&await T.mkdirpPromise(s);let o=await Q_e(s),a=[];for(let[l,c]of r){let u=c;ofe(c,{project:this.opts.project})||(this.opts.report.reportWarning(z.UNNAMED,"The pnpm linker doesn't support providing different versions to workspaces' peer dependencies"),u=S.devirtualizeLocator(c));let g=this.packageLocations.get(u.locatorHash);if(typeof g=="undefined")throw new Error(`Assertion failed: Expected the package to have been registered (${S.stringifyLocator(c)})`);let f=S.stringifyIdent(l),h=v.join(s,f),p=v.relative(v.dirname(h),g),d=o.get(f);o.delete(f),a.push(Promise.resolve().then(async()=>{if(d){if(d.isSymbolicLink()&&await T.readlinkPromise(h)===p)return;await T.removePromise(h)}await T.mkdirpPromise(v.dirname(h)),process.platform=="win32"?await T.symlinkPromise(g,h,"junction"):await T.symlinkPromise(p,h)}))}for(let l of o.keys())a.push(T.removePromise(v.join(s,l)));await Promise.all(a)}))}async attachExternalDependents(e,r){throw new Error("External dependencies haven't been implemented for the pnpm linker")}async finalizeInstall(){let e=sfe(this.opts.project),r=new Set;for(let s of this.packageLocations.values())r.add(v.basename(s));let i;try{i=await T.readdirPromise(e)}catch{i=[]}let n=[];for(let s of i)r.has(s)||n.push(T.removePromise(v.join(e,s)));await Promise.all(n),await this.asyncActions.wait()}};function ife(){return JSON.stringify({name:"PnpmInstaller",version:1})}function sfe(t){return v.join(t.cwd,wt.nodeModules,".store")}function nfe(t,{project:e}){let r=S.slugifyLocator(t);return v.join(sfe(e),r)}function ofe(t,{project:e}){return!S.isVirtualLocator(t)||!e.tryWorkspaceByLocator(t)}async function Q_e(t){let e=new Map,r=[];try{r=await T.readdirPromise(t,{withFileTypes:!0})}catch(i){if(i.code!=="ENOENT")throw i}try{for(let i of r)if(!i.name.startsWith("."))if(i.name.startsWith("@"))for(let n of await T.readdirPromise(v.join(t,i.name),{withFileTypes:!0}))e.set(`${i.name}/${n.name}`,n);else e.set(i.name,i)}catch(i){if(i.code!=="ENOENT")throw i}return e}function b_e(){let t,e;return{promise:new Promise((i,n)=>{t=i,e=n}),resolve:t,reject:e}}var afe=class{constructor(){this.deferred=new Map;this.promises=new Map;this.limit=(0,tfe.default)(10)}set(e,r){let i=this.deferred.get(e);typeof i=="undefined"&&this.deferred.set(e,i=b_e());let n=this.limit(()=>r());return this.promises.set(e,n),n.then(()=>{this.promises.get(e)===n&&i.resolve()},s=>{this.promises.get(e)===n&&i.reject(s)}),i.promise}reduce(e,r){var n;let i=(n=this.promises.get(e))!=null?n:Promise.resolve();this.set(e,()=>r(i))}async wait(){await Promise.all(this.promises.values())}};var v_e={linkers:[LM]},S_e=v_e;var F0=()=>({modules:new Map([["@yarnpkg/cli",iC],["@yarnpkg/core",Fd],["@yarnpkg/fslib",ch],["@yarnpkg/libzip",Fp],["@yarnpkg/parsers",Hp],["@yarnpkg/shell",jp],["clipanion",F$(vh)],["semver",x_e],["typanion",lu],["yup",k_e],["@yarnpkg/plugin-essentials",hL],["@yarnpkg/plugin-compat",mL],["@yarnpkg/plugin-dlx",EL],["@yarnpkg/plugin-file",xL],["@yarnpkg/plugin-git",fL],["@yarnpkg/plugin-github",PL],["@yarnpkg/plugin-http",FL],["@yarnpkg/plugin-init",ML],["@yarnpkg/plugin-link",GL],["@yarnpkg/plugin-nm",mT],["@yarnpkg/plugin-npm",yM],["@yarnpkg/plugin-npm-cli",vM],["@yarnpkg/plugin-pack",CM],["@yarnpkg/plugin-patch",NM],["@yarnpkg/plugin-pnp",oT],["@yarnpkg/plugin-pnpm",TM]]),plugins:new Set(["@yarnpkg/plugin-essentials","@yarnpkg/plugin-compat","@yarnpkg/plugin-dlx","@yarnpkg/plugin-file","@yarnpkg/plugin-git","@yarnpkg/plugin-github","@yarnpkg/plugin-http","@yarnpkg/plugin-init","@yarnpkg/plugin-link","@yarnpkg/plugin-nm","@yarnpkg/plugin-npm","@yarnpkg/plugin-npm-cli","@yarnpkg/plugin-pack","@yarnpkg/plugin-patch","@yarnpkg/plugin-pnp","@yarnpkg/plugin-pnpm"])});i0({binaryVersion:Zr||"",pluginConfiguration:F0()});})(); +/*! + * buildToken + * Builds OAuth token prefix (helper function) + * + * @name buildToken + * @function + * @param {GitUrl} obj The parsed Git url object. + * @return {String} token prefix + */ +/*! + * fill-range + * + * Copyright (c) 2014-present, Jon Schlinkert. + * Licensed under the MIT License. + */ +/*! + * is-extglob + * + * Copyright (c) 2014-2016, Jon Schlinkert. + * Licensed under the MIT License. + */ +/*! + * is-glob + * + * Copyright (c) 2014-2017, Jon Schlinkert. + * Released under the MIT License. + */ +/*! + * is-number + * + * Copyright (c) 2014-present, Jon Schlinkert. + * Released under the MIT License. + */ +/*! + * is-windows + * + * Copyright © 2015-2018, Jon Schlinkert. + * Released under the MIT License. + */ +/*! + * to-regex-range + * + * Copyright (c) 2015-present, Jon Schlinkert. + * Released under the MIT License. + */ diff --git a/spec/fixtures/repos/yarn2-modules-nonzero-install/.yarnrc.yml b/spec/fixtures/repos/yarn2-modules-nonzero-install/.yarnrc.yml new file mode 100644 index 000000000..3c8f7baf6 --- /dev/null +++ b/spec/fixtures/repos/yarn2-modules-nonzero-install/.yarnrc.yml @@ -0,0 +1,2 @@ +yarnPath: .yarn/releases/yarn-3.1.1.cjs +nodeLinker: node-modules diff --git a/spec/fixtures/repos/yarn2-modules-nonzero-install/index.js b/spec/fixtures/repos/yarn2-modules-nonzero-install/index.js new file mode 100644 index 000000000..831460880 --- /dev/null +++ b/spec/fixtures/repos/yarn2-modules-nonzero-install/index.js @@ -0,0 +1,11 @@ +const express = require("express"); +const app = express(); +const port = process.env["PORT"] || 3000; + +app.get("/", (_req,res) => { + res.send("Hello from yarn2-modules-nonzero-install"); +}); + +app.listen(port, () => { + console.log(`yarn2-modules-nonzero-install listening on ${port}`); +}); diff --git a/spec/fixtures/repos/yarn2-modules-nonzero-install/package.json b/spec/fixtures/repos/yarn2-modules-nonzero-install/package.json new file mode 100644 index 000000000..4721b2399 --- /dev/null +++ b/spec/fixtures/repos/yarn2-modules-nonzero-install/package.json @@ -0,0 +1,13 @@ +{ + "name": "yarn2-modules-nonzero-install", + "version": "1.0.0", + "main": "index.js", + "license": "MIT", + "scripts": { + "start": "yarn node index.js" + }, + "dependencies": { + "express": "^4.17.2" + }, + "packageManager": "yarn@3.1.1" +} diff --git a/spec/fixtures/repos/yarn2-modules-nonzero-install/yarn.lock b/spec/fixtures/repos/yarn2-modules-nonzero-install/yarn.lock new file mode 100644 index 000000000..0099555d5 --- /dev/null +++ b/spec/fixtures/repos/yarn2-modules-nonzero-install/yarn.lock @@ -0,0 +1,465 @@ +# This file is generated by running "yarn install" inside your project. +# Manual changes might be lost - proceed with caution! + +__metadata: + version: 5 + cacheKey: 8 + +"accepts@npm:~1.3.7": + version: 1.3.8 + resolution: "accepts@npm:1.3.8" + dependencies: + mime-types: ~2.1.34 + negotiator: 0.6.3 + checksum: 50c43d32e7b50285ebe84b613ee4a3aa426715a7d131b65b786e2ead0fd76b6b60091b9916d3478a75f11f162628a2139991b6c03ab3f1d9ab7c86075dc8eab4 + languageName: node + linkType: hard + +"array-flatten@npm:1.1.1": + version: 1.1.1 + resolution: "array-flatten@npm:1.1.1" + checksum: a9925bf3512d9dce202112965de90c222cd59a4fbfce68a0951d25d965cf44642931f40aac72309c41f12df19afa010ecadceb07cfff9ccc1621e99d89ab5f3b + languageName: node + linkType: hard + +"body-parser@npm:1.19.1": + version: 1.19.1 + resolution: "body-parser@npm:1.19.1" + dependencies: + bytes: 3.1.1 + content-type: ~1.0.4 + debug: 2.6.9 + depd: ~1.1.2 + http-errors: 1.8.1 + iconv-lite: 0.4.24 + on-finished: ~2.3.0 + qs: 6.9.6 + raw-body: 2.4.2 + type-is: ~1.6.18 + checksum: 9197a300a6580b8723c7b6b1e22cebd5ba47cd4a6fd45c153350efcde79293869ddee8d17d95fb52724812d649d89d62775faab072608d3243a0cbb00582234e + languageName: node + linkType: hard + +"bytes@npm:3.1.1": + version: 3.1.1 + resolution: "bytes@npm:3.1.1" + checksum: 949ab99a385d6acf4d2c69f1afc618615dc905936e0b0b9aa94a9e94d722baaba44d6a0851536585a0892ae4d462b5a270ccb1b04c774640742cbde5538ca328 + languageName: node + linkType: hard + +"content-disposition@npm:0.5.4": + version: 0.5.4 + resolution: "content-disposition@npm:0.5.4" + dependencies: + safe-buffer: 5.2.1 + checksum: afb9d545e296a5171d7574fcad634b2fdf698875f4006a9dd04a3e1333880c5c0c98d47b560d01216fb6505a54a2ba6a843ee3a02ec86d7e911e8315255f56c3 + languageName: node + linkType: hard + +"content-type@npm:~1.0.4": + version: 1.0.4 + resolution: "content-type@npm:1.0.4" + checksum: 3d93585fda985d1554eca5ebd251994327608d2e200978fdbfba21c0c679914d5faf266d17027de44b34a72c7b0745b18584ecccaa7e1fdfb6a68ac7114f12e0 + languageName: node + linkType: hard + +"cookie-signature@npm:1.0.6": + version: 1.0.6 + resolution: "cookie-signature@npm:1.0.6" + checksum: f4e1b0a98a27a0e6e66fd7ea4e4e9d8e038f624058371bf4499cfcd8f3980be9a121486995202ba3fca74fbed93a407d6d54d43a43f96fd28d0bd7a06761591a + languageName: node + linkType: hard + +"cookie@npm:0.4.1": + version: 0.4.1 + resolution: "cookie@npm:0.4.1" + checksum: bd7c47f5d94ab70ccdfe8210cde7d725880d2fcda06d8e375afbdd82de0c8d3b73541996e9ce57d35f67f672c4ee6d60208adec06b3c5fc94cebb85196084cf8 + languageName: node + linkType: hard + +"debug@npm:2.6.9": + version: 2.6.9 + resolution: "debug@npm:2.6.9" + dependencies: + ms: 2.0.0 + checksum: d2f51589ca66df60bf36e1fa6e4386b318c3f1e06772280eea5b1ae9fd3d05e9c2b7fd8a7d862457d00853c75b00451aa2d7459b924629ee385287a650f58fe6 + languageName: node + linkType: hard + +"depd@npm:~1.1.2": + version: 1.1.2 + resolution: "depd@npm:1.1.2" + checksum: 6b406620d269619852885ce15965272b829df6f409724415e0002c8632ab6a8c0a08ec1f0bd2add05dc7bd7507606f7e2cc034fa24224ab829580040b835ecd9 + languageName: node + linkType: hard + +"destroy@npm:~1.0.4": + version: 1.0.4 + resolution: "destroy@npm:1.0.4" + checksum: da9ab4961dc61677c709da0c25ef01733042614453924d65636a7db37308fef8a24cd1e07172e61173d471ca175371295fbc984b0af5b2b4ff47cd57bd784c03 + languageName: node + linkType: hard + +"ee-first@npm:1.1.1": + version: 1.1.1 + resolution: "ee-first@npm:1.1.1" + checksum: 1b4cac778d64ce3b582a7e26b218afe07e207a0f9bfe13cc7395a6d307849cfe361e65033c3251e00c27dd060cab43014c2d6b2647676135e18b77d2d05b3f4f + languageName: node + linkType: hard + +"encodeurl@npm:~1.0.2": + version: 1.0.2 + resolution: "encodeurl@npm:1.0.2" + checksum: e50e3d508cdd9c4565ba72d2012e65038e5d71bdc9198cb125beb6237b5b1ade6c0d343998da9e170fb2eae52c1bed37d4d6d98a46ea423a0cddbed5ac3f780c + languageName: node + linkType: hard + +"escape-html@npm:~1.0.3": + version: 1.0.3 + resolution: "escape-html@npm:1.0.3" + checksum: 6213ca9ae00d0ab8bccb6d8d4e0a98e76237b2410302cf7df70aaa6591d509a2a37ce8998008cbecae8fc8ffaadf3fb0229535e6a145f3ce0b211d060decbb24 + languageName: node + linkType: hard + +"etag@npm:~1.8.1": + version: 1.8.1 + resolution: "etag@npm:1.8.1" + checksum: 571aeb3dbe0f2bbd4e4fadbdb44f325fc75335cd5f6f6b6a091e6a06a9f25ed5392f0863c5442acb0646787446e816f13cbfc6edce5b07658541dff573cab1ff + languageName: node + linkType: hard + +"express@npm:^4.17.2": + version: 4.17.2 + resolution: "express@npm:4.17.2" + dependencies: + accepts: ~1.3.7 + array-flatten: 1.1.1 + body-parser: 1.19.1 + content-disposition: 0.5.4 + content-type: ~1.0.4 + cookie: 0.4.1 + cookie-signature: 1.0.6 + debug: 2.6.9 + depd: ~1.1.2 + encodeurl: ~1.0.2 + escape-html: ~1.0.3 + etag: ~1.8.1 + finalhandler: ~1.1.2 + fresh: 0.5.2 + merge-descriptors: 1.0.1 + methods: ~1.1.2 + on-finished: ~2.3.0 + parseurl: ~1.3.3 + path-to-regexp: 0.1.7 + proxy-addr: ~2.0.7 + qs: 6.9.6 + range-parser: ~1.2.1 + safe-buffer: 5.2.1 + send: 0.17.2 + serve-static: 1.14.2 + setprototypeof: 1.2.0 + statuses: ~1.5.0 + type-is: ~1.6.18 + utils-merge: 1.0.1 + vary: ~1.1.2 + checksum: 1535d56d20e65a1a39b5f056c025dd635290a744478ac69cc47633aeb4b2ce51458f8eb4080cfb7ba47c853ba5cfd794d404cff822a25127f1556b726ec3914a + languageName: node + linkType: hard + +"finalhandler@npm:~1.1.2": + version: 1.1.2 + resolution: "finalhandler@npm:1.1.2" + dependencies: + debug: 2.6.9 + encodeurl: ~1.0.2 + escape-html: ~1.0.3 + on-finished: ~2.3.0 + parseurl: ~1.3.3 + statuses: ~1.5.0 + unpipe: ~1.0.0 + checksum: 617880460c5138dd7ccfd555cb5dde4d8f170f4b31b8bd51e4b646bb2946c30f7db716428a1f2882d730d2b72afb47d1f67cc487b874cb15426f95753a88965e + languageName: node + linkType: hard + +"forwarded@npm:0.2.0": + version: 0.2.0 + resolution: "forwarded@npm:0.2.0" + checksum: fd27e2394d8887ebd16a66ffc889dc983fbbd797d5d3f01087c020283c0f019a7d05ee85669383d8e0d216b116d720fc0cef2f6e9b7eb9f4c90c6e0bc7fd28e6 + languageName: node + linkType: hard + +"fresh@npm:0.5.2": + version: 0.5.2 + resolution: "fresh@npm:0.5.2" + checksum: 13ea8b08f91e669a64e3ba3a20eb79d7ca5379a81f1ff7f4310d54e2320645503cc0c78daedc93dfb6191287295f6479544a649c64d8e41a1c0fb0c221552346 + languageName: node + linkType: hard + +"http-errors@npm:1.8.1": + version: 1.8.1 + resolution: "http-errors@npm:1.8.1" + dependencies: + depd: ~1.1.2 + inherits: 2.0.4 + setprototypeof: 1.2.0 + statuses: ">= 1.5.0 < 2" + toidentifier: 1.0.1 + checksum: d3c7e7e776fd51c0a812baff570bdf06fe49a5dc448b700ab6171b1250e4cf7db8b8f4c0b133e4bfe2451022a5790c1ca6c2cae4094dedd6ac8304a1267f91d2 + languageName: node + linkType: hard + +"iconv-lite@npm:0.4.24": + version: 0.4.24 + resolution: "iconv-lite@npm:0.4.24" + dependencies: + safer-buffer: ">= 2.1.2 < 3" + checksum: bd9f120f5a5b306f0bc0b9ae1edeb1577161503f5f8252a20f1a9e56ef8775c9959fd01c55f2d3a39d9a8abaf3e30c1abeb1895f367dcbbe0a8fd1c9ca01c4f6 + languageName: node + linkType: hard + +"inherits@npm:2.0.4": + version: 2.0.4 + resolution: "inherits@npm:2.0.4" + checksum: 4a48a733847879d6cf6691860a6b1e3f0f4754176e4d71494c41f3475553768b10f84b5ce1d40fbd0e34e6bfbb864ee35858ad4dd2cf31e02fc4a154b724d7f1 + languageName: node + linkType: hard + +"ipaddr.js@npm:1.9.1": + version: 1.9.1 + resolution: "ipaddr.js@npm:1.9.1" + checksum: f88d3825981486f5a1942414c8d77dd6674dd71c065adcfa46f578d677edcb99fda25af42675cb59db492fdf427b34a5abfcde3982da11a8fd83a500b41cfe77 + languageName: node + linkType: hard + +"media-typer@npm:0.3.0": + version: 0.3.0 + resolution: "media-typer@npm:0.3.0" + checksum: af1b38516c28ec95d6b0826f6c8f276c58aec391f76be42aa07646b4e39d317723e869700933ca6995b056db4b09a78c92d5440dc23657e6764be5d28874bba1 + languageName: node + linkType: hard + +"merge-descriptors@npm:1.0.1": + version: 1.0.1 + resolution: "merge-descriptors@npm:1.0.1" + checksum: 5abc259d2ae25bb06d19ce2b94a21632583c74e2a9109ee1ba7fd147aa7362b380d971e0251069f8b3eb7d48c21ac839e21fa177b335e82c76ec172e30c31a26 + languageName: node + linkType: hard + +"methods@npm:~1.1.2": + version: 1.1.2 + resolution: "methods@npm:1.1.2" + checksum: 0917ff4041fa8e2f2fda5425a955fe16ca411591fbd123c0d722fcf02b73971ed6f764d85f0a6f547ce49ee0221ce2c19a5fa692157931cecb422984f1dcd13a + languageName: node + linkType: hard + +"mime-db@npm:1.51.0": + version: 1.51.0 + resolution: "mime-db@npm:1.51.0" + checksum: 613b1ac9d6e725cc24444600b124a7f1ce6c60b1baa654f39a3e260d0995a6dffc5693190217e271af7e2a5612dae19f2a73f3e316707d797a7391165f7ef423 + languageName: node + linkType: hard + +"mime-types@npm:~2.1.24, mime-types@npm:~2.1.34": + version: 2.1.34 + resolution: "mime-types@npm:2.1.34" + dependencies: + mime-db: 1.51.0 + checksum: 67013de9e9d6799bde6d669d18785b7e18bcd212e710d3e04a4727f92f67a8ad4e74aee24be28b685adb794944814bde649119b58ee3282ffdbee58f9278d9f3 + languageName: node + linkType: hard + +"mime@npm:1.6.0": + version: 1.6.0 + resolution: "mime@npm:1.6.0" + bin: + mime: cli.js + checksum: fef25e39263e6d207580bdc629f8872a3f9772c923c7f8c7e793175cee22777bbe8bba95e5d509a40aaa292d8974514ce634ae35769faa45f22d17edda5e8557 + languageName: node + linkType: hard + +"ms@npm:2.0.0": + version: 2.0.0 + resolution: "ms@npm:2.0.0" + checksum: 0e6a22b8b746d2e0b65a430519934fefd41b6db0682e3477c10f60c76e947c4c0ad06f63ffdf1d78d335f83edee8c0aa928aa66a36c7cd95b69b26f468d527f4 + languageName: node + linkType: hard + +"ms@npm:2.1.3": + version: 2.1.3 + resolution: "ms@npm:2.1.3" + checksum: aa92de608021b242401676e35cfa5aa42dd70cbdc082b916da7fb925c542173e36bce97ea3e804923fe92c0ad991434e4a38327e15a1b5b5f945d66df615ae6d + languageName: node + linkType: hard + +"negotiator@npm:0.6.3": + version: 0.6.3 + resolution: "negotiator@npm:0.6.3" + checksum: b8ffeb1e262eff7968fc90a2b6767b04cfd9842582a9d0ece0af7049537266e7b2506dfb1d107a32f06dd849ab2aea834d5830f7f4d0e5cb7d36e1ae55d021d9 + languageName: node + linkType: hard + +"on-finished@npm:~2.3.0": + version: 2.3.0 + resolution: "on-finished@npm:2.3.0" + dependencies: + ee-first: 1.1.1 + checksum: 1db595bd963b0124d6fa261d18320422407b8f01dc65863840f3ddaaf7bcad5b28ff6847286703ca53f4ec19595bd67a2f1253db79fc4094911ec6aa8df1671b + languageName: node + linkType: hard + +"parseurl@npm:~1.3.3": + version: 1.3.3 + resolution: "parseurl@npm:1.3.3" + checksum: 407cee8e0a3a4c5cd472559bca8b6a45b82c124e9a4703302326e9ab60fc1081442ada4e02628efef1eb16197ddc7f8822f5a91fd7d7c86b51f530aedb17dfa2 + languageName: node + linkType: hard + +"path-to-regexp@npm:0.1.7": + version: 0.1.7 + resolution: "path-to-regexp@npm:0.1.7" + checksum: 69a14ea24db543e8b0f4353305c5eac6907917031340e5a8b37df688e52accd09e3cebfe1660b70d76b6bd89152f52183f28c74813dbf454ba1a01c82a38abce + languageName: node + linkType: hard + +"proxy-addr@npm:~2.0.7": + version: 2.0.7 + resolution: "proxy-addr@npm:2.0.7" + dependencies: + forwarded: 0.2.0 + ipaddr.js: 1.9.1 + checksum: 29c6990ce9364648255454842f06f8c46fcd124d3e6d7c5066df44662de63cdc0bad032e9bf5a3d653ff72141cc7b6019873d685708ac8210c30458ad99f2b74 + languageName: node + linkType: hard + +"qs@npm:6.9.6": + version: 6.9.6 + resolution: "qs@npm:6.9.6" + checksum: cb6df402bb8a3dbefa4bd46eba0dfca427079baca923e6b8d28a03e6bfb16a5c1dcdb96e69388f9c5813ac8ff17bb8bbca22f2ecd31fe1e344a55cb531b5fabf + languageName: node + linkType: hard + +"range-parser@npm:~1.2.1": + version: 1.2.1 + resolution: "range-parser@npm:1.2.1" + checksum: 0a268d4fea508661cf5743dfe3d5f47ce214fd6b7dec1de0da4d669dd4ef3d2144468ebe4179049eff253d9d27e719c88dae55be64f954e80135a0cada804ec9 + languageName: node + linkType: hard + +"raw-body@npm:2.4.2": + version: 2.4.2 + resolution: "raw-body@npm:2.4.2" + dependencies: + bytes: 3.1.1 + http-errors: 1.8.1 + iconv-lite: 0.4.24 + unpipe: 1.0.0 + checksum: c6f8d6a75c65c0a047f888cb29efc97f60fb36e950ba2cb31fefce694f98186e844a03367920faa7dc5bffaf33df08aee0b9dd935280e366439fa6492a5b163e + languageName: node + linkType: hard + +"safe-buffer@npm:5.2.1": + version: 5.2.1 + resolution: "safe-buffer@npm:5.2.1" + checksum: b99c4b41fdd67a6aaf280fcd05e9ffb0813654894223afb78a31f14a19ad220bba8aba1cb14eddce1fcfb037155fe6de4e861784eb434f7d11ed58d1e70dd491 + languageName: node + linkType: hard + +"safer-buffer@npm:>= 2.1.2 < 3": + version: 2.1.2 + resolution: "safer-buffer@npm:2.1.2" + checksum: cab8f25ae6f1434abee8d80023d7e72b598cf1327164ddab31003c51215526801e40b66c5e65d658a0af1e9d6478cadcb4c745f4bd6751f97d8644786c0978b0 + languageName: node + linkType: hard + +"send@npm:0.17.2": + version: 0.17.2 + resolution: "send@npm:0.17.2" + dependencies: + debug: 2.6.9 + depd: ~1.1.2 + destroy: ~1.0.4 + encodeurl: ~1.0.2 + escape-html: ~1.0.3 + etag: ~1.8.1 + fresh: 0.5.2 + http-errors: 1.8.1 + mime: 1.6.0 + ms: 2.1.3 + on-finished: ~2.3.0 + range-parser: ~1.2.1 + statuses: ~1.5.0 + checksum: c28f36deb4ccba9b8d6e6a1e472b8e7c40a1f51575bdf8f67303568cc9e71131faa3adc36fdb72611616ccad1584358bbe4c3ebf419e663ecc5de868ad3d3f03 + languageName: node + linkType: hard + +"serve-static@npm:1.14.2": + version: 1.14.2 + resolution: "serve-static@npm:1.14.2" + dependencies: + encodeurl: ~1.0.2 + escape-html: ~1.0.3 + parseurl: ~1.3.3 + send: 0.17.2 + checksum: d97f3183b1dfcd8ce9c0e37e18e87fd31147ed6c8ee0b2c3a089d795e44ee851ca5061db01574f806d54f4e4b70bc694d9ca64578653514e04a28cbc97a1de05 + languageName: node + linkType: hard + +"setprototypeof@npm:1.2.0": + version: 1.2.0 + resolution: "setprototypeof@npm:1.2.0" + checksum: be18cbbf70e7d8097c97f713a2e76edf84e87299b40d085c6bf8b65314e994cc15e2e317727342fa6996e38e1f52c59720b53fe621e2eb593a6847bf0356db89 + languageName: node + linkType: hard + +"statuses@npm:>= 1.5.0 < 2, statuses@npm:~1.5.0": + version: 1.5.0 + resolution: "statuses@npm:1.5.0" + checksum: c469b9519de16a4bb19600205cffb39ee471a5f17b82589757ca7bd40a8d92ebb6ed9f98b5a540c5d302ccbc78f15dc03cc0280dd6e00df1335568a5d5758a5c + languageName: node + linkType: hard + +"toidentifier@npm:1.0.1": + version: 1.0.1 + resolution: "toidentifier@npm:1.0.1" + checksum: 952c29e2a85d7123239b5cfdd889a0dde47ab0497f0913d70588f19c53f7e0b5327c95f4651e413c74b785147f9637b17410ac8c846d5d4a20a5a33eb6dc3a45 + languageName: node + linkType: hard + +"type-is@npm:~1.6.18": + version: 1.6.18 + resolution: "type-is@npm:1.6.18" + dependencies: + media-typer: 0.3.0 + mime-types: ~2.1.24 + checksum: 2c8e47675d55f8b4e404bcf529abdf5036c537a04c2b20177bcf78c9e3c1da69da3942b1346e6edb09e823228c0ee656ef0e033765ec39a70d496ef601a0c657 + languageName: node + linkType: hard + +"unpipe@npm:1.0.0, unpipe@npm:~1.0.0": + version: 1.0.0 + resolution: "unpipe@npm:1.0.0" + checksum: 4fa18d8d8d977c55cb09715385c203197105e10a6d220087ec819f50cb68870f02942244f1017565484237f1f8c5d3cd413631b1ae104d3096f24fdfde1b4aa2 + languageName: node + linkType: hard + +"utils-merge@npm:1.0.1": + version: 1.0.1 + resolution: "utils-merge@npm:1.0.1" + checksum: c81095493225ecfc28add49c106ca4f09cdf56bc66731aa8dabc2edbbccb1e1bfe2de6a115e5c6a380d3ea166d1636410b62ef216bb07b3feb1cfde1d95d5080 + languageName: node + linkType: hard + +"vary@npm:~1.1.2": + version: 1.1.2 + resolution: "vary@npm:1.1.2" + checksum: ae0123222c6df65b437669d63dfa8c36cee20a504101b2fcd97b8bf76f91259c17f9f2b4d70a1e3c6bbcee7f51b28392833adb6b2770b23b01abec84e369660b + languageName: node + linkType: hard + +"yarn2-modules-nonzero-install@workspace:.": + version: 0.0.0-use.local + resolution: "yarn2-modules-nonzero-install@workspace:." + dependencies: + express: ^4.17.2 + languageName: unknown + linkType: soft diff --git a/spec/fixtures/repos/yarn2-modules-zero-install/.gitignore b/spec/fixtures/repos/yarn2-modules-zero-install/.gitignore new file mode 100644 index 000000000..ec01cfd76 --- /dev/null +++ b/spec/fixtures/repos/yarn2-modules-zero-install/.gitignore @@ -0,0 +1,8 @@ +node_modules/ +.yarn/* +!.yarn/cache +!.yarn/patches +!.yarn/plugins +!.yarn/releases +!.yarn/sdks +!.yarn/versions diff --git a/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/cache/accepts-npm-1.3.8-9a812371c9-50c43d32e7.zip b/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/cache/accepts-npm-1.3.8-9a812371c9-50c43d32e7.zip new file mode 100644 index 000000000..416f55bd5 Binary files /dev/null and b/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/cache/accepts-npm-1.3.8-9a812371c9-50c43d32e7.zip differ diff --git a/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/cache/array-flatten-npm-1.1.1-9d94ad5f1d-a9925bf351.zip b/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/cache/array-flatten-npm-1.1.1-9d94ad5f1d-a9925bf351.zip new file mode 100644 index 000000000..c6a8b5333 Binary files /dev/null and b/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/cache/array-flatten-npm-1.1.1-9d94ad5f1d-a9925bf351.zip differ diff --git a/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/cache/body-parser-npm-1.19.1-ae102dea05-9197a300a6.zip b/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/cache/body-parser-npm-1.19.1-ae102dea05-9197a300a6.zip new file mode 100644 index 000000000..fc8da0b91 Binary files /dev/null and b/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/cache/body-parser-npm-1.19.1-ae102dea05-9197a300a6.zip differ diff --git a/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/cache/bytes-npm-3.1.1-f2d0e8c583-949ab99a38.zip b/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/cache/bytes-npm-3.1.1-f2d0e8c583-949ab99a38.zip new file mode 100644 index 000000000..6306ab1d8 Binary files /dev/null and b/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/cache/bytes-npm-3.1.1-f2d0e8c583-949ab99a38.zip differ diff --git a/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/cache/content-disposition-npm-0.5.4-2d93678616-afb9d545e2.zip b/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/cache/content-disposition-npm-0.5.4-2d93678616-afb9d545e2.zip new file mode 100644 index 000000000..5f9dc26d3 Binary files /dev/null and b/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/cache/content-disposition-npm-0.5.4-2d93678616-afb9d545e2.zip differ diff --git a/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/cache/content-type-npm-1.0.4-3b1a5ca16b-3d93585fda.zip b/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/cache/content-type-npm-1.0.4-3b1a5ca16b-3d93585fda.zip new file mode 100644 index 000000000..9e1b5d890 Binary files /dev/null and b/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/cache/content-type-npm-1.0.4-3b1a5ca16b-3d93585fda.zip differ diff --git a/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/cache/cookie-npm-0.4.1-cc5e2ebb42-bd7c47f5d9.zip b/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/cache/cookie-npm-0.4.1-cc5e2ebb42-bd7c47f5d9.zip new file mode 100644 index 000000000..67c675ed5 Binary files /dev/null and b/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/cache/cookie-npm-0.4.1-cc5e2ebb42-bd7c47f5d9.zip differ diff --git a/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/cache/cookie-signature-npm-1.0.6-93f325f7f0-f4e1b0a98a.zip b/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/cache/cookie-signature-npm-1.0.6-93f325f7f0-f4e1b0a98a.zip new file mode 100644 index 000000000..bf40b1449 Binary files /dev/null and b/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/cache/cookie-signature-npm-1.0.6-93f325f7f0-f4e1b0a98a.zip differ diff --git a/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/cache/debug-npm-2.6.9-7d4cb597dc-d2f51589ca.zip b/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/cache/debug-npm-2.6.9-7d4cb597dc-d2f51589ca.zip new file mode 100644 index 000000000..5a1127607 Binary files /dev/null and b/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/cache/debug-npm-2.6.9-7d4cb597dc-d2f51589ca.zip differ diff --git a/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/cache/depd-npm-1.1.2-b0c8414da7-6b406620d2.zip b/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/cache/depd-npm-1.1.2-b0c8414da7-6b406620d2.zip new file mode 100644 index 000000000..082e92548 Binary files /dev/null and b/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/cache/depd-npm-1.1.2-b0c8414da7-6b406620d2.zip differ diff --git a/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/cache/destroy-npm-1.0.4-a2203e01cb-da9ab4961d.zip b/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/cache/destroy-npm-1.0.4-a2203e01cb-da9ab4961d.zip new file mode 100644 index 000000000..3c79469d7 Binary files /dev/null and b/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/cache/destroy-npm-1.0.4-a2203e01cb-da9ab4961d.zip differ diff --git a/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/cache/ee-first-npm-1.1.1-33f8535b39-1b4cac778d.zip b/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/cache/ee-first-npm-1.1.1-33f8535b39-1b4cac778d.zip new file mode 100644 index 000000000..458439cba Binary files /dev/null and b/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/cache/ee-first-npm-1.1.1-33f8535b39-1b4cac778d.zip differ diff --git a/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/cache/encodeurl-npm-1.0.2-f8c8454c41-e50e3d508c.zip b/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/cache/encodeurl-npm-1.0.2-f8c8454c41-e50e3d508c.zip new file mode 100644 index 000000000..e9badb765 Binary files /dev/null and b/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/cache/encodeurl-npm-1.0.2-f8c8454c41-e50e3d508c.zip differ diff --git a/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/cache/escape-html-npm-1.0.3-376c22ee74-6213ca9ae0.zip b/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/cache/escape-html-npm-1.0.3-376c22ee74-6213ca9ae0.zip new file mode 100644 index 000000000..d12a72b12 Binary files /dev/null and b/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/cache/escape-html-npm-1.0.3-376c22ee74-6213ca9ae0.zip differ diff --git a/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/cache/etag-npm-1.8.1-54a3b989d9-571aeb3dbe.zip b/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/cache/etag-npm-1.8.1-54a3b989d9-571aeb3dbe.zip new file mode 100644 index 000000000..e4f07e5fb Binary files /dev/null and b/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/cache/etag-npm-1.8.1-54a3b989d9-571aeb3dbe.zip differ diff --git a/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/cache/express-npm-4.17.2-fd936fc165-1535d56d20.zip b/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/cache/express-npm-4.17.2-fd936fc165-1535d56d20.zip new file mode 100644 index 000000000..dfa35a6b2 Binary files /dev/null and b/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/cache/express-npm-4.17.2-fd936fc165-1535d56d20.zip differ diff --git a/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/cache/finalhandler-npm-1.1.2-55a75d6b53-617880460c.zip b/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/cache/finalhandler-npm-1.1.2-55a75d6b53-617880460c.zip new file mode 100644 index 000000000..3d0f6f375 Binary files /dev/null and b/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/cache/finalhandler-npm-1.1.2-55a75d6b53-617880460c.zip differ diff --git a/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/cache/forwarded-npm-0.2.0-6473dabe35-fd27e2394d.zip b/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/cache/forwarded-npm-0.2.0-6473dabe35-fd27e2394d.zip new file mode 100644 index 000000000..64cd57a06 Binary files /dev/null and b/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/cache/forwarded-npm-0.2.0-6473dabe35-fd27e2394d.zip differ diff --git a/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/cache/fresh-npm-0.5.2-ad2bb4c0a2-13ea8b08f9.zip b/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/cache/fresh-npm-0.5.2-ad2bb4c0a2-13ea8b08f9.zip new file mode 100644 index 000000000..643fb82ff Binary files /dev/null and b/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/cache/fresh-npm-0.5.2-ad2bb4c0a2-13ea8b08f9.zip differ diff --git a/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/cache/http-errors-npm-1.8.1-fb60d9f6ae-d3c7e7e776.zip b/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/cache/http-errors-npm-1.8.1-fb60d9f6ae-d3c7e7e776.zip new file mode 100644 index 000000000..2fb70ddd0 Binary files /dev/null and b/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/cache/http-errors-npm-1.8.1-fb60d9f6ae-d3c7e7e776.zip differ diff --git a/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/cache/iconv-lite-npm-0.4.24-c5c4ac6695-bd9f120f5a.zip b/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/cache/iconv-lite-npm-0.4.24-c5c4ac6695-bd9f120f5a.zip new file mode 100644 index 000000000..9cae309cf Binary files /dev/null and b/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/cache/iconv-lite-npm-0.4.24-c5c4ac6695-bd9f120f5a.zip differ diff --git a/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/cache/inherits-npm-2.0.4-c66b3957a0-4a48a73384.zip b/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/cache/inherits-npm-2.0.4-c66b3957a0-4a48a73384.zip new file mode 100644 index 000000000..62c31cb78 Binary files /dev/null and b/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/cache/inherits-npm-2.0.4-c66b3957a0-4a48a73384.zip differ diff --git a/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/cache/ipaddr.js-npm-1.9.1-19ae7878b4-f88d382598.zip b/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/cache/ipaddr.js-npm-1.9.1-19ae7878b4-f88d382598.zip new file mode 100644 index 000000000..fe2963443 Binary files /dev/null and b/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/cache/ipaddr.js-npm-1.9.1-19ae7878b4-f88d382598.zip differ diff --git a/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/cache/media-typer-npm-0.3.0-8674f8f0f5-af1b38516c.zip b/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/cache/media-typer-npm-0.3.0-8674f8f0f5-af1b38516c.zip new file mode 100644 index 000000000..1bc097808 Binary files /dev/null and b/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/cache/media-typer-npm-0.3.0-8674f8f0f5-af1b38516c.zip differ diff --git a/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/cache/merge-descriptors-npm-1.0.1-615287aaa8-5abc259d2a.zip b/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/cache/merge-descriptors-npm-1.0.1-615287aaa8-5abc259d2a.zip new file mode 100644 index 000000000..8bba31611 Binary files /dev/null and b/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/cache/merge-descriptors-npm-1.0.1-615287aaa8-5abc259d2a.zip differ diff --git a/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/cache/methods-npm-1.1.2-92f6fdb39b-0917ff4041.zip b/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/cache/methods-npm-1.1.2-92f6fdb39b-0917ff4041.zip new file mode 100644 index 000000000..bce73c59e Binary files /dev/null and b/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/cache/methods-npm-1.1.2-92f6fdb39b-0917ff4041.zip differ diff --git a/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/cache/mime-db-npm-1.51.0-d5e42b45ad-613b1ac9d6.zip b/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/cache/mime-db-npm-1.51.0-d5e42b45ad-613b1ac9d6.zip new file mode 100644 index 000000000..08bd4c6ee Binary files /dev/null and b/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/cache/mime-db-npm-1.51.0-d5e42b45ad-613b1ac9d6.zip differ diff --git a/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/cache/mime-npm-1.6.0-60ae95038a-fef25e3926.zip b/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/cache/mime-npm-1.6.0-60ae95038a-fef25e3926.zip new file mode 100644 index 000000000..498dc2d37 Binary files /dev/null and b/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/cache/mime-npm-1.6.0-60ae95038a-fef25e3926.zip differ diff --git a/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/cache/mime-types-npm-2.1.34-3cd0bb907c-67013de9e9.zip b/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/cache/mime-types-npm-2.1.34-3cd0bb907c-67013de9e9.zip new file mode 100644 index 000000000..f3bdb304a Binary files /dev/null and b/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/cache/mime-types-npm-2.1.34-3cd0bb907c-67013de9e9.zip differ diff --git a/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/cache/ms-npm-2.0.0-9e1101a471-0e6a22b8b7.zip b/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/cache/ms-npm-2.0.0-9e1101a471-0e6a22b8b7.zip new file mode 100644 index 000000000..1cb6ffa5d Binary files /dev/null and b/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/cache/ms-npm-2.0.0-9e1101a471-0e6a22b8b7.zip differ diff --git a/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/cache/ms-npm-2.1.3-81ff3cfac1-aa92de6080.zip b/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/cache/ms-npm-2.1.3-81ff3cfac1-aa92de6080.zip new file mode 100644 index 000000000..2b635f28e Binary files /dev/null and b/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/cache/ms-npm-2.1.3-81ff3cfac1-aa92de6080.zip differ diff --git a/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/cache/negotiator-npm-0.6.3-9d50e36171-b8ffeb1e26.zip b/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/cache/negotiator-npm-0.6.3-9d50e36171-b8ffeb1e26.zip new file mode 100644 index 000000000..e8c5cf489 Binary files /dev/null and b/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/cache/negotiator-npm-0.6.3-9d50e36171-b8ffeb1e26.zip differ diff --git a/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/cache/on-finished-npm-2.3.0-4ce92f72c6-1db595bd96.zip b/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/cache/on-finished-npm-2.3.0-4ce92f72c6-1db595bd96.zip new file mode 100644 index 000000000..3afaa2a9b Binary files /dev/null and b/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/cache/on-finished-npm-2.3.0-4ce92f72c6-1db595bd96.zip differ diff --git a/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/cache/parseurl-npm-1.3.3-1542397e00-407cee8e0a.zip b/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/cache/parseurl-npm-1.3.3-1542397e00-407cee8e0a.zip new file mode 100644 index 000000000..794eb17d7 Binary files /dev/null and b/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/cache/parseurl-npm-1.3.3-1542397e00-407cee8e0a.zip differ diff --git a/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/cache/path-to-regexp-npm-0.1.7-2605347373-69a14ea24d.zip b/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/cache/path-to-regexp-npm-0.1.7-2605347373-69a14ea24d.zip new file mode 100644 index 000000000..c89765e69 Binary files /dev/null and b/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/cache/path-to-regexp-npm-0.1.7-2605347373-69a14ea24d.zip differ diff --git a/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/cache/proxy-addr-npm-2.0.7-dae6552872-29c6990ce9.zip b/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/cache/proxy-addr-npm-2.0.7-dae6552872-29c6990ce9.zip new file mode 100644 index 000000000..cd0d662a3 Binary files /dev/null and b/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/cache/proxy-addr-npm-2.0.7-dae6552872-29c6990ce9.zip differ diff --git a/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/cache/qs-npm-6.9.6-fee5de1427-cb6df402bb.zip b/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/cache/qs-npm-6.9.6-fee5de1427-cb6df402bb.zip new file mode 100644 index 000000000..c4c5cd452 Binary files /dev/null and b/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/cache/qs-npm-6.9.6-fee5de1427-cb6df402bb.zip differ diff --git a/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/cache/range-parser-npm-1.2.1-1a470fa390-0a268d4fea.zip b/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/cache/range-parser-npm-1.2.1-1a470fa390-0a268d4fea.zip new file mode 100644 index 000000000..7b40d5913 Binary files /dev/null and b/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/cache/range-parser-npm-1.2.1-1a470fa390-0a268d4fea.zip differ diff --git a/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/cache/raw-body-npm-2.4.2-f70aad454d-c6f8d6a75c.zip b/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/cache/raw-body-npm-2.4.2-f70aad454d-c6f8d6a75c.zip new file mode 100644 index 000000000..998ef6dca Binary files /dev/null and b/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/cache/raw-body-npm-2.4.2-f70aad454d-c6f8d6a75c.zip differ diff --git a/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/cache/safe-buffer-npm-5.2.1-3481c8aa9b-b99c4b41fd.zip b/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/cache/safe-buffer-npm-5.2.1-3481c8aa9b-b99c4b41fd.zip new file mode 100644 index 000000000..c80798aec Binary files /dev/null and b/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/cache/safe-buffer-npm-5.2.1-3481c8aa9b-b99c4b41fd.zip differ diff --git a/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/cache/safer-buffer-npm-2.1.2-8d5c0b705e-cab8f25ae6.zip b/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/cache/safer-buffer-npm-2.1.2-8d5c0b705e-cab8f25ae6.zip new file mode 100644 index 000000000..1a93be642 Binary files /dev/null and b/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/cache/safer-buffer-npm-2.1.2-8d5c0b705e-cab8f25ae6.zip differ diff --git a/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/cache/send-npm-0.17.2-73a3dbeba6-c28f36deb4.zip b/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/cache/send-npm-0.17.2-73a3dbeba6-c28f36deb4.zip new file mode 100644 index 000000000..8bdb189a1 Binary files /dev/null and b/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/cache/send-npm-0.17.2-73a3dbeba6-c28f36deb4.zip differ diff --git a/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/cache/serve-static-npm-1.14.2-3ce50bb5ff-d97f3183b1.zip b/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/cache/serve-static-npm-1.14.2-3ce50bb5ff-d97f3183b1.zip new file mode 100644 index 000000000..a94104227 Binary files /dev/null and b/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/cache/serve-static-npm-1.14.2-3ce50bb5ff-d97f3183b1.zip differ diff --git a/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/cache/setprototypeof-npm-1.2.0-0fedbdcd3a-be18cbbf70.zip b/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/cache/setprototypeof-npm-1.2.0-0fedbdcd3a-be18cbbf70.zip new file mode 100644 index 000000000..f6bd1cbd7 Binary files /dev/null and b/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/cache/setprototypeof-npm-1.2.0-0fedbdcd3a-be18cbbf70.zip differ diff --git a/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/cache/statuses-npm-1.5.0-f88f91b2e9-c469b9519d.zip b/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/cache/statuses-npm-1.5.0-f88f91b2e9-c469b9519d.zip new file mode 100644 index 000000000..5517a9447 Binary files /dev/null and b/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/cache/statuses-npm-1.5.0-f88f91b2e9-c469b9519d.zip differ diff --git a/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/cache/toidentifier-npm-1.0.1-f759712599-952c29e2a8.zip b/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/cache/toidentifier-npm-1.0.1-f759712599-952c29e2a8.zip new file mode 100644 index 000000000..595363e93 Binary files /dev/null and b/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/cache/toidentifier-npm-1.0.1-f759712599-952c29e2a8.zip differ diff --git a/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/cache/type-is-npm-1.6.18-6dee4d4961-2c8e47675d.zip b/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/cache/type-is-npm-1.6.18-6dee4d4961-2c8e47675d.zip new file mode 100644 index 000000000..3bfed96dc Binary files /dev/null and b/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/cache/type-is-npm-1.6.18-6dee4d4961-2c8e47675d.zip differ diff --git a/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/cache/unpipe-npm-1.0.0-2ed2a3c2bf-4fa18d8d8d.zip b/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/cache/unpipe-npm-1.0.0-2ed2a3c2bf-4fa18d8d8d.zip new file mode 100644 index 000000000..380809cf6 Binary files /dev/null and b/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/cache/unpipe-npm-1.0.0-2ed2a3c2bf-4fa18d8d8d.zip differ diff --git a/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/cache/utils-merge-npm-1.0.1-363bbdfbca-c810954932.zip b/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/cache/utils-merge-npm-1.0.1-363bbdfbca-c810954932.zip new file mode 100644 index 000000000..8164f0572 Binary files /dev/null and b/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/cache/utils-merge-npm-1.0.1-363bbdfbca-c810954932.zip differ diff --git a/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/cache/vary-npm-1.1.2-b49f70ae63-ae0123222c.zip b/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/cache/vary-npm-1.1.2-b49f70ae63-ae0123222c.zip new file mode 100644 index 000000000..6ef083146 Binary files /dev/null and b/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/cache/vary-npm-1.1.2-b49f70ae63-ae0123222c.zip differ diff --git a/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/releases/yarn-3.1.1.cjs b/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/releases/yarn-3.1.1.cjs new file mode 100755 index 000000000..f5f2adca8 --- /dev/null +++ b/spec/fixtures/repos/yarn2-modules-zero-install/.yarn/releases/yarn-3.1.1.cjs @@ -0,0 +1,768 @@ +#!/usr/bin/env node +/* eslint-disable */ +//prettier-ignore +(()=>{var Mfe=Object.create,Vf=Object.defineProperty,Ofe=Object.defineProperties,Kfe=Object.getOwnPropertyDescriptor,Ufe=Object.getOwnPropertyDescriptors,Hfe=Object.getOwnPropertyNames,hE=Object.getOwnPropertySymbols,Gfe=Object.getPrototypeOf,eb=Object.prototype.hasOwnProperty,lO=Object.prototype.propertyIsEnumerable;var cO=(t,e,r)=>e in t?Vf(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,P=(t,e)=>{for(var r in e||(e={}))eb.call(e,r)&&cO(t,r,e[r]);if(hE)for(var r of hE(e))lO.call(e,r)&&cO(t,r,e[r]);return t},_=(t,e)=>Ofe(t,Ufe(e)),jfe=t=>Vf(t,"__esModule",{value:!0});var qr=(t,e)=>{var r={};for(var i in t)eb.call(t,i)&&e.indexOf(i)<0&&(r[i]=t[i]);if(t!=null&&hE)for(var i of hE(t))e.indexOf(i)<0&&lO.call(t,i)&&(r[i]=t[i]);return r},Yfe=(t,e)=>()=>(t&&(e=t(t=0)),e),E=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),it=(t,e)=>{for(var r in e)Vf(t,r,{get:e[r],enumerable:!0})},qfe=(t,e,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of Hfe(e))!eb.call(t,i)&&i!=="default"&&Vf(t,i,{get:()=>e[i],enumerable:!(r=Kfe(e,i))||r.enumerable});return t},ie=t=>qfe(jfe(Vf(t!=null?Mfe(Gfe(t)):{},"default",t&&t.__esModule&&"default"in t?{get:()=>t.default,enumerable:!0}:{value:t,enumerable:!0})),t);var MO=E((i$e,FO)=>{FO.exports=NO;NO.sync=Ahe;var LO=require("fs");function lhe(t,e){var r=e.pathExt!==void 0?e.pathExt:process.env.PATHEXT;if(!r||(r=r.split(";"),r.indexOf("")!==-1))return!0;for(var i=0;i{OO.exports=KO;KO.sync=che;var UO=require("fs");function KO(t,e,r){UO.stat(t,function(i,n){r(i,i?!1:HO(n,e))})}function che(t,e){return HO(UO.statSync(t),e)}function HO(t,e){return t.isFile()&&uhe(t,e)}function uhe(t,e){var r=t.mode,i=t.uid,n=t.gid,s=e.uid!==void 0?e.uid:process.getuid&&process.getuid(),o=e.gid!==void 0?e.gid:process.getgid&&process.getgid(),a=parseInt("100",8),l=parseInt("010",8),c=parseInt("001",8),u=a|l,g=r&c||r&l&&n===o||r&a&&i===s||r&u&&s===0;return g}});var YO=E((o$e,jO)=>{var s$e=require("fs"),xE;process.platform==="win32"||global.TESTING_WINDOWS?xE=MO():xE=GO();jO.exports=db;db.sync=ghe;function db(t,e,r){if(typeof e=="function"&&(r=e,e={}),!r){if(typeof Promise!="function")throw new TypeError("callback not provided");return new Promise(function(i,n){db(t,e||{},function(s,o){s?n(s):i(o)})})}xE(t,e||{},function(i,n){i&&(i.code==="EACCES"||e&&e.ignoreErrors)&&(i=null,n=!1),r(i,n)})}function ghe(t,e){try{return xE.sync(t,e||{})}catch(r){if(e&&e.ignoreErrors||r.code==="EACCES")return!1;throw r}}});var XO=E((a$e,qO)=>{var eu=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys",JO=require("path"),fhe=eu?";":":",WO=YO(),zO=t=>Object.assign(new Error(`not found: ${t}`),{code:"ENOENT"}),VO=(t,e)=>{let r=e.colon||fhe,i=t.match(/\//)||eu&&t.match(/\\/)?[""]:[...eu?[process.cwd()]:[],...(e.path||process.env.PATH||"").split(r)],n=eu?e.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",s=eu?n.split(r):[""];return eu&&t.indexOf(".")!==-1&&s[0]!==""&&s.unshift(""),{pathEnv:i,pathExt:s,pathExtExe:n}},_O=(t,e,r)=>{typeof e=="function"&&(r=e,e={}),e||(e={});let{pathEnv:i,pathExt:n,pathExtExe:s}=VO(t,e),o=[],a=c=>new Promise((u,g)=>{if(c===i.length)return e.all&&o.length?u(o):g(zO(t));let f=i[c],h=/^".*"$/.test(f)?f.slice(1,-1):f,p=JO.join(h,t),d=!h&&/^\.[\\\/]/.test(t)?t.slice(0,2)+p:p;u(l(d,c,0))}),l=(c,u,g)=>new Promise((f,h)=>{if(g===n.length)return f(a(u+1));let p=n[g];WO(c+p,{pathExt:s},(d,m)=>{if(!d&&m)if(e.all)o.push(c+p);else return f(c+p);return f(l(c,u,g+1))})});return r?a(0).then(c=>r(null,c),r):a(0)},hhe=(t,e)=>{e=e||{};let{pathEnv:r,pathExt:i,pathExtExe:n}=VO(t,e),s=[];for(let o=0;o{"use strict";var ZO=(t={})=>{let e=t.env||process.env;return(t.platform||process.platform)!=="win32"?"PATH":Object.keys(e).reverse().find(i=>i.toUpperCase()==="PATH")||"Path"};Cb.exports=ZO;Cb.exports.default=ZO});var iK=E((l$e,eK)=>{"use strict";var tK=require("path"),phe=XO(),dhe=$O();function rK(t,e){let r=t.options.env||process.env,i=process.cwd(),n=t.options.cwd!=null,s=n&&process.chdir!==void 0&&!process.chdir.disabled;if(s)try{process.chdir(t.options.cwd)}catch(a){}let o;try{o=phe.sync(t.command,{path:r[dhe({env:r})],pathExt:e?tK.delimiter:void 0})}catch(a){}finally{s&&process.chdir(i)}return o&&(o=tK.resolve(n?t.options.cwd:"",o)),o}function Che(t){return rK(t)||rK(t,!0)}eK.exports=Che});var nK=E((c$e,mb)=>{"use strict";var Eb=/([()\][%!^"`<>&|;, *?])/g;function mhe(t){return t=t.replace(Eb,"^$1"),t}function Ehe(t,e){return t=`${t}`,t=t.replace(/(\\*)"/g,'$1$1\\"'),t=t.replace(/(\\*)$/,"$1$1"),t=`"${t}"`,t=t.replace(Eb,"^$1"),e&&(t=t.replace(Eb,"^$1")),t}mb.exports.command=mhe;mb.exports.argument=Ehe});var oK=E((u$e,sK)=>{"use strict";sK.exports=/^#!(.*)/});var AK=E((g$e,aK)=>{"use strict";var Ihe=oK();aK.exports=(t="")=>{let e=t.match(Ihe);if(!e)return null;let[r,i]=e[0].replace(/#! ?/,"").split(" "),n=r.split("/").pop();return n==="env"?i:i?`${n} ${i}`:n}});var cK=E((f$e,lK)=>{"use strict";var Ib=require("fs"),yhe=AK();function whe(t){let e=150,r=Buffer.alloc(e),i;try{i=Ib.openSync(t,"r"),Ib.readSync(i,r,0,e,0),Ib.closeSync(i)}catch(n){}return yhe(r.toString())}lK.exports=whe});var hK=E((h$e,uK)=>{"use strict";var Bhe=require("path"),gK=iK(),fK=nK(),Qhe=cK(),bhe=process.platform==="win32",vhe=/\.(?:com|exe)$/i,She=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function xhe(t){t.file=gK(t);let e=t.file&&Qhe(t.file);return e?(t.args.unshift(t.file),t.command=e,gK(t)):t.file}function khe(t){if(!bhe)return t;let e=xhe(t),r=!vhe.test(e);if(t.options.forceShell||r){let i=She.test(e);t.command=Bhe.normalize(t.command),t.command=fK.command(t.command),t.args=t.args.map(s=>fK.argument(s,i));let n=[t.command].concat(t.args).join(" ");t.args=["/d","/s","/c",`"${n}"`],t.command=process.env.comspec||"cmd.exe",t.options.windowsVerbatimArguments=!0}return t}function Phe(t,e,r){e&&!Array.isArray(e)&&(r=e,e=null),e=e?e.slice(0):[],r=Object.assign({},r);let i={command:t,args:e,options:r,file:void 0,original:{command:t,args:e}};return r.shell?i:khe(i)}uK.exports=Phe});var CK=E((p$e,pK)=>{"use strict";var yb=process.platform==="win32";function wb(t,e){return Object.assign(new Error(`${e} ${t.command} ENOENT`),{code:"ENOENT",errno:"ENOENT",syscall:`${e} ${t.command}`,path:t.command,spawnargs:t.args})}function Dhe(t,e){if(!yb)return;let r=t.emit;t.emit=function(i,n){if(i==="exit"){let s=dK(n,e,"spawn");if(s)return r.call(t,"error",s)}return r.apply(t,arguments)}}function dK(t,e){return yb&&t===1&&!e.file?wb(e.original,"spawn"):null}function Rhe(t,e){return yb&&t===1&&!e.file?wb(e.original,"spawnSync"):null}pK.exports={hookChildProcess:Dhe,verifyENOENT:dK,verifyENOENTSync:Rhe,notFoundError:wb}});var bb=E((d$e,tu)=>{"use strict";var mK=require("child_process"),Bb=hK(),Qb=CK();function EK(t,e,r){let i=Bb(t,e,r),n=mK.spawn(i.command,i.args,i.options);return Qb.hookChildProcess(n,i),n}function Fhe(t,e,r){let i=Bb(t,e,r),n=mK.spawnSync(i.command,i.args,i.options);return n.error=n.error||Qb.verifyENOENTSync(n.status,i),n}tu.exports=EK;tu.exports.spawn=EK;tu.exports.sync=Fhe;tu.exports._parse=Bb;tu.exports._enoent=Qb});var yK=E((y$e,IK)=>{"use strict";IK.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}});var Nb=E((w$e,wK)=>{var gh=yK(),BK={};for(let t of Object.keys(gh))BK[gh[t]]=t;var Xe={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};wK.exports=Xe;for(let t of Object.keys(Xe)){if(!("channels"in Xe[t]))throw new Error("missing channels property: "+t);if(!("labels"in Xe[t]))throw new Error("missing channel labels property: "+t);if(Xe[t].labels.length!==Xe[t].channels)throw new Error("channel and label counts mismatch: "+t);let{channels:e,labels:r}=Xe[t];delete Xe[t].channels,delete Xe[t].labels,Object.defineProperty(Xe[t],"channels",{value:e}),Object.defineProperty(Xe[t],"labels",{value:r})}Xe.rgb.hsl=function(t){let e=t[0]/255,r=t[1]/255,i=t[2]/255,n=Math.min(e,r,i),s=Math.max(e,r,i),o=s-n,a,l;s===n?a=0:e===s?a=(r-i)/o:r===s?a=2+(i-e)/o:i===s&&(a=4+(e-r)/o),a=Math.min(a*60,360),a<0&&(a+=360);let c=(n+s)/2;return s===n?l=0:c<=.5?l=o/(s+n):l=o/(2-s-n),[a,l*100,c*100]};Xe.rgb.hsv=function(t){let e,r,i,n,s,o=t[0]/255,a=t[1]/255,l=t[2]/255,c=Math.max(o,a,l),u=c-Math.min(o,a,l),g=function(f){return(c-f)/6/u+1/2};return u===0?(n=0,s=0):(s=u/c,e=g(o),r=g(a),i=g(l),o===c?n=i-r:a===c?n=1/3+e-i:l===c&&(n=2/3+r-e),n<0?n+=1:n>1&&(n-=1)),[n*360,s*100,c*100]};Xe.rgb.hwb=function(t){let e=t[0],r=t[1],i=t[2],n=Xe.rgb.hsl(t)[0],s=1/255*Math.min(e,Math.min(r,i));return i=1-1/255*Math.max(e,Math.max(r,i)),[n,s*100,i*100]};Xe.rgb.cmyk=function(t){let e=t[0]/255,r=t[1]/255,i=t[2]/255,n=Math.min(1-e,1-r,1-i),s=(1-e-n)/(1-n)||0,o=(1-r-n)/(1-n)||0,a=(1-i-n)/(1-n)||0;return[s*100,o*100,a*100,n*100]};function The(t,e){return(t[0]-e[0])**2+(t[1]-e[1])**2+(t[2]-e[2])**2}Xe.rgb.keyword=function(t){let e=BK[t];if(e)return e;let r=Infinity,i;for(let n of Object.keys(gh)){let s=gh[n],o=The(t,s);o.04045?((e+.055)/1.055)**2.4:e/12.92,r=r>.04045?((r+.055)/1.055)**2.4:r/12.92,i=i>.04045?((i+.055)/1.055)**2.4:i/12.92;let n=e*.4124+r*.3576+i*.1805,s=e*.2126+r*.7152+i*.0722,o=e*.0193+r*.1192+i*.9505;return[n*100,s*100,o*100]};Xe.rgb.lab=function(t){let e=Xe.rgb.xyz(t),r=e[0],i=e[1],n=e[2];r/=95.047,i/=100,n/=108.883,r=r>.008856?r**(1/3):7.787*r+16/116,i=i>.008856?i**(1/3):7.787*i+16/116,n=n>.008856?n**(1/3):7.787*n+16/116;let s=116*i-16,o=500*(r-i),a=200*(i-n);return[s,o,a]};Xe.hsl.rgb=function(t){let e=t[0]/360,r=t[1]/100,i=t[2]/100,n,s,o;if(r===0)return o=i*255,[o,o,o];i<.5?n=i*(1+r):n=i+r-i*r;let a=2*i-n,l=[0,0,0];for(let c=0;c<3;c++)s=e+1/3*-(c-1),s<0&&s++,s>1&&s--,6*s<1?o=a+(n-a)*6*s:2*s<1?o=n:3*s<2?o=a+(n-a)*(2/3-s)*6:o=a,l[c]=o*255;return l};Xe.hsl.hsv=function(t){let e=t[0],r=t[1]/100,i=t[2]/100,n=r,s=Math.max(i,.01);i*=2,r*=i<=1?i:2-i,n*=s<=1?s:2-s;let o=(i+r)/2,a=i===0?2*n/(s+n):2*r/(i+r);return[e,a*100,o*100]};Xe.hsv.rgb=function(t){let e=t[0]/60,r=t[1]/100,i=t[2]/100,n=Math.floor(e)%6,s=e-Math.floor(e),o=255*i*(1-r),a=255*i*(1-r*s),l=255*i*(1-r*(1-s));switch(i*=255,n){case 0:return[i,l,o];case 1:return[a,i,o];case 2:return[o,i,l];case 3:return[o,a,i];case 4:return[l,o,i];case 5:return[i,o,a]}};Xe.hsv.hsl=function(t){let e=t[0],r=t[1]/100,i=t[2]/100,n=Math.max(i,.01),s,o;o=(2-r)*i;let a=(2-r)*n;return s=r*n,s/=a<=1?a:2-a,s=s||0,o/=2,[e,s*100,o*100]};Xe.hwb.rgb=function(t){let e=t[0]/360,r=t[1]/100,i=t[2]/100,n=r+i,s;n>1&&(r/=n,i/=n);let o=Math.floor(6*e),a=1-i;s=6*e-o,(o&1)!=0&&(s=1-s);let l=r+s*(a-r),c,u,g;switch(o){default:case 6:case 0:c=a,u=l,g=r;break;case 1:c=l,u=a,g=r;break;case 2:c=r,u=a,g=l;break;case 3:c=r,u=l,g=a;break;case 4:c=l,u=r,g=a;break;case 5:c=a,u=r,g=l;break}return[c*255,u*255,g*255]};Xe.cmyk.rgb=function(t){let e=t[0]/100,r=t[1]/100,i=t[2]/100,n=t[3]/100,s=1-Math.min(1,e*(1-n)+n),o=1-Math.min(1,r*(1-n)+n),a=1-Math.min(1,i*(1-n)+n);return[s*255,o*255,a*255]};Xe.xyz.rgb=function(t){let e=t[0]/100,r=t[1]/100,i=t[2]/100,n,s,o;return n=e*3.2406+r*-1.5372+i*-.4986,s=e*-.9689+r*1.8758+i*.0415,o=e*.0557+r*-.204+i*1.057,n=n>.0031308?1.055*n**(1/2.4)-.055:n*12.92,s=s>.0031308?1.055*s**(1/2.4)-.055:s*12.92,o=o>.0031308?1.055*o**(1/2.4)-.055:o*12.92,n=Math.min(Math.max(0,n),1),s=Math.min(Math.max(0,s),1),o=Math.min(Math.max(0,o),1),[n*255,s*255,o*255]};Xe.xyz.lab=function(t){let e=t[0],r=t[1],i=t[2];e/=95.047,r/=100,i/=108.883,e=e>.008856?e**(1/3):7.787*e+16/116,r=r>.008856?r**(1/3):7.787*r+16/116,i=i>.008856?i**(1/3):7.787*i+16/116;let n=116*r-16,s=500*(e-r),o=200*(r-i);return[n,s,o]};Xe.lab.xyz=function(t){let e=t[0],r=t[1],i=t[2],n,s,o;s=(e+16)/116,n=r/500+s,o=s-i/200;let a=s**3,l=n**3,c=o**3;return s=a>.008856?a:(s-16/116)/7.787,n=l>.008856?l:(n-16/116)/7.787,o=c>.008856?c:(o-16/116)/7.787,n*=95.047,s*=100,o*=108.883,[n,s,o]};Xe.lab.lch=function(t){let e=t[0],r=t[1],i=t[2],n;n=Math.atan2(i,r)*360/2/Math.PI,n<0&&(n+=360);let o=Math.sqrt(r*r+i*i);return[e,o,n]};Xe.lch.lab=function(t){let e=t[0],r=t[1],n=t[2]/360*2*Math.PI,s=r*Math.cos(n),o=r*Math.sin(n);return[e,s,o]};Xe.rgb.ansi16=function(t,e=null){let[r,i,n]=t,s=e===null?Xe.rgb.hsv(t)[2]:e;if(s=Math.round(s/50),s===0)return 30;let o=30+(Math.round(n/255)<<2|Math.round(i/255)<<1|Math.round(r/255));return s===2&&(o+=60),o};Xe.hsv.ansi16=function(t){return Xe.rgb.ansi16(Xe.hsv.rgb(t),t[2])};Xe.rgb.ansi256=function(t){let e=t[0],r=t[1],i=t[2];return e===r&&r===i?e<8?16:e>248?231:Math.round((e-8)/247*24)+232:16+36*Math.round(e/255*5)+6*Math.round(r/255*5)+Math.round(i/255*5)};Xe.ansi16.rgb=function(t){let e=t%10;if(e===0||e===7)return t>50&&(e+=3.5),e=e/10.5*255,[e,e,e];let r=(~~(t>50)+1)*.5,i=(e&1)*r*255,n=(e>>1&1)*r*255,s=(e>>2&1)*r*255;return[i,n,s]};Xe.ansi256.rgb=function(t){if(t>=232){let s=(t-232)*10+8;return[s,s,s]}t-=16;let e,r=Math.floor(t/36)/5*255,i=Math.floor((e=t%36)/6)/5*255,n=e%6/5*255;return[r,i,n]};Xe.rgb.hex=function(t){let r=(((Math.round(t[0])&255)<<16)+((Math.round(t[1])&255)<<8)+(Math.round(t[2])&255)).toString(16).toUpperCase();return"000000".substring(r.length)+r};Xe.hex.rgb=function(t){let e=t.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!e)return[0,0,0];let r=e[0];e[0].length===3&&(r=r.split("").map(a=>a+a).join(""));let i=parseInt(r,16),n=i>>16&255,s=i>>8&255,o=i&255;return[n,s,o]};Xe.rgb.hcg=function(t){let e=t[0]/255,r=t[1]/255,i=t[2]/255,n=Math.max(Math.max(e,r),i),s=Math.min(Math.min(e,r),i),o=n-s,a,l;return o<1?a=s/(1-o):a=0,o<=0?l=0:n===e?l=(r-i)/o%6:n===r?l=2+(i-e)/o:l=4+(e-r)/o,l/=6,l%=1,[l*360,o*100,a*100]};Xe.hsl.hcg=function(t){let e=t[1]/100,r=t[2]/100,i=r<.5?2*e*r:2*e*(1-r),n=0;return i<1&&(n=(r-.5*i)/(1-i)),[t[0],i*100,n*100]};Xe.hsv.hcg=function(t){let e=t[1]/100,r=t[2]/100,i=e*r,n=0;return i<1&&(n=(r-i)/(1-i)),[t[0],i*100,n*100]};Xe.hcg.rgb=function(t){let e=t[0]/360,r=t[1]/100,i=t[2]/100;if(r===0)return[i*255,i*255,i*255];let n=[0,0,0],s=e%1*6,o=s%1,a=1-o,l=0;switch(Math.floor(s)){case 0:n[0]=1,n[1]=o,n[2]=0;break;case 1:n[0]=a,n[1]=1,n[2]=0;break;case 2:n[0]=0,n[1]=1,n[2]=o;break;case 3:n[0]=0,n[1]=a,n[2]=1;break;case 4:n[0]=o,n[1]=0,n[2]=1;break;default:n[0]=1,n[1]=0,n[2]=a}return l=(1-r)*i,[(r*n[0]+l)*255,(r*n[1]+l)*255,(r*n[2]+l)*255]};Xe.hcg.hsv=function(t){let e=t[1]/100,r=t[2]/100,i=e+r*(1-e),n=0;return i>0&&(n=e/i),[t[0],n*100,i*100]};Xe.hcg.hsl=function(t){let e=t[1]/100,i=t[2]/100*(1-e)+.5*e,n=0;return i>0&&i<.5?n=e/(2*i):i>=.5&&i<1&&(n=e/(2*(1-i))),[t[0],n*100,i*100]};Xe.hcg.hwb=function(t){let e=t[1]/100,r=t[2]/100,i=e+r*(1-e);return[t[0],(i-e)*100,(1-i)*100]};Xe.hwb.hcg=function(t){let e=t[1]/100,r=t[2]/100,i=1-r,n=i-e,s=0;return n<1&&(s=(i-n)/(1-n)),[t[0],n*100,s*100]};Xe.apple.rgb=function(t){return[t[0]/65535*255,t[1]/65535*255,t[2]/65535*255]};Xe.rgb.apple=function(t){return[t[0]/255*65535,t[1]/255*65535,t[2]/255*65535]};Xe.gray.rgb=function(t){return[t[0]/100*255,t[0]/100*255,t[0]/100*255]};Xe.gray.hsl=function(t){return[0,0,t[0]]};Xe.gray.hsv=Xe.gray.hsl;Xe.gray.hwb=function(t){return[0,100,t[0]]};Xe.gray.cmyk=function(t){return[0,0,0,t[0]]};Xe.gray.lab=function(t){return[t[0],0,0]};Xe.gray.hex=function(t){let e=Math.round(t[0]/100*255)&255,i=((e<<16)+(e<<8)+e).toString(16).toUpperCase();return"000000".substring(i.length)+i};Xe.rgb.gray=function(t){return[(t[0]+t[1]+t[2])/3/255*100]}});var bK=E((B$e,QK)=>{var kE=Nb();function Mhe(){let t={},e=Object.keys(kE);for(let r=e.length,i=0;i{var Lb=Nb(),Hhe=bK(),ru={},Ghe=Object.keys(Lb);function jhe(t){let e=function(...r){let i=r[0];return i==null?i:(i.length>1&&(r=i),t(r))};return"conversion"in t&&(e.conversion=t.conversion),e}function Yhe(t){let e=function(...r){let i=r[0];if(i==null)return i;i.length>1&&(r=i);let n=t(r);if(typeof n=="object")for(let s=n.length,o=0;o{ru[t]={},Object.defineProperty(ru[t],"channels",{value:Lb[t].channels}),Object.defineProperty(ru[t],"labels",{value:Lb[t].labels});let e=Hhe(t);Object.keys(e).forEach(i=>{let n=e[i];ru[t][i]=Yhe(n),ru[t][i].raw=jhe(n)})});vK.exports=ru});var FK=E((b$e,xK)=>{"use strict";var kK=(t,e)=>(...r)=>`[${t(...r)+e}m`,PK=(t,e)=>(...r)=>{let i=t(...r);return`[${38+e};5;${i}m`},DK=(t,e)=>(...r)=>{let i=t(...r);return`[${38+e};2;${i[0]};${i[1]};${i[2]}m`},PE=t=>t,RK=(t,e,r)=>[t,e,r],iu=(t,e,r)=>{Object.defineProperty(t,e,{get:()=>{let i=r();return Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0}),i},enumerable:!0,configurable:!0})},Tb,nu=(t,e,r,i)=>{Tb===void 0&&(Tb=SK());let n=i?10:0,s={};for(let[o,a]of Object.entries(Tb)){let l=o==="ansi16"?"ansi":o;o===e?s[l]=t(r,n):typeof a=="object"&&(s[l]=t(a[e],n))}return s};function qhe(){let t=new Map,e={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};e.color.gray=e.color.blackBright,e.bgColor.bgGray=e.bgColor.bgBlackBright,e.color.grey=e.color.blackBright,e.bgColor.bgGrey=e.bgColor.bgBlackBright;for(let[r,i]of Object.entries(e)){for(let[n,s]of Object.entries(i))e[n]={open:`[${s[0]}m`,close:`[${s[1]}m`},i[n]=e[n],t.set(s[0],s[1]);Object.defineProperty(e,r,{value:i,enumerable:!1})}return Object.defineProperty(e,"codes",{value:t,enumerable:!1}),e.color.close="",e.bgColor.close="",iu(e.color,"ansi",()=>nu(kK,"ansi16",PE,!1)),iu(e.color,"ansi256",()=>nu(PK,"ansi256",PE,!1)),iu(e.color,"ansi16m",()=>nu(DK,"rgb",RK,!1)),iu(e.bgColor,"ansi",()=>nu(kK,"ansi16",PE,!0)),iu(e.bgColor,"ansi256",()=>nu(PK,"ansi256",PE,!0)),iu(e.bgColor,"ansi16m",()=>nu(DK,"rgb",RK,!0)),e}Object.defineProperty(xK,"exports",{enumerable:!0,get:qhe})});var LK=E((v$e,NK)=>{"use strict";NK.exports=(t,e=process.argv)=>{let r=t.startsWith("-")?"":t.length===1?"-":"--",i=e.indexOf(r+t),n=e.indexOf("--");return i!==-1&&(n===-1||i{"use strict";var Jhe=require("os"),MK=require("tty"),Wn=LK(),{env:Wr}=process,tA;Wn("no-color")||Wn("no-colors")||Wn("color=false")||Wn("color=never")?tA=0:(Wn("color")||Wn("colors")||Wn("color=true")||Wn("color=always"))&&(tA=1);"FORCE_COLOR"in Wr&&(Wr.FORCE_COLOR==="true"?tA=1:Wr.FORCE_COLOR==="false"?tA=0:tA=Wr.FORCE_COLOR.length===0?1:Math.min(parseInt(Wr.FORCE_COLOR,10),3));function Mb(t){return t===0?!1:{level:t,hasBasic:!0,has256:t>=2,has16m:t>=3}}function Ob(t,e){if(tA===0)return 0;if(Wn("color=16m")||Wn("color=full")||Wn("color=truecolor"))return 3;if(Wn("color=256"))return 2;if(t&&!e&&tA===void 0)return 0;let r=tA||0;if(Wr.TERM==="dumb")return r;if(process.platform==="win32"){let i=Jhe.release().split(".");return Number(i[0])>=10&&Number(i[2])>=10586?Number(i[2])>=14931?3:2:1}if("CI"in Wr)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI"].some(i=>i in Wr)||Wr.CI_NAME==="codeship"?1:r;if("TEAMCITY_VERSION"in Wr)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(Wr.TEAMCITY_VERSION)?1:0;if("GITHUB_ACTIONS"in Wr)return 1;if(Wr.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in Wr){let i=parseInt((Wr.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(Wr.TERM_PROGRAM){case"iTerm.app":return i>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(Wr.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(Wr.TERM)||"COLORTERM"in Wr?1:r}function Whe(t){let e=Ob(t,t&&t.isTTY);return Mb(e)}TK.exports={supportsColor:Whe,stdout:Mb(Ob(!0,MK.isatty(1))),stderr:Mb(Ob(!0,MK.isatty(2)))}});var UK=E((x$e,KK)=>{"use strict";var zhe=(t,e,r)=>{let i=t.indexOf(e);if(i===-1)return t;let n=e.length,s=0,o="";do o+=t.substr(s,i-s)+e+r,s=i+n,i=t.indexOf(e,s);while(i!==-1);return o+=t.substr(s),o},Vhe=(t,e,r,i)=>{let n=0,s="";do{let o=t[i-1]==="\r";s+=t.substr(n,(o?i-1:i)-n)+e+(o?`\r +`:` +`)+r,n=i+1,i=t.indexOf(` +`,n)}while(i!==-1);return s+=t.substr(n),s};KK.exports={stringReplaceAll:zhe,stringEncaseCRLFWithFirstIndex:Vhe}});var qK=E((k$e,HK)=>{"use strict";var _he=/(?:\\(u(?:[a-f\d]{4}|\{[a-f\d]{1,6}\})|x[a-f\d]{2}|.))|(?:\{(~)?(\w+(?:\([^)]*\))?(?:\.\w+(?:\([^)]*\))?)*)(?:[ \t]|(?=\r?\n)))|(\})|((?:.|[\r\n\f])+?)/gi,GK=/(?:^|\.)(\w+)(?:\(([^)]*)\))?/g,Xhe=/^(['"])((?:\\.|(?!\1)[^\\])*)\1$/,Zhe=/\\(u(?:[a-f\d]{4}|\{[a-f\d]{1,6}\})|x[a-f\d]{2}|.)|([^\\])/gi,$he=new Map([["n",` +`],["r","\r"],["t"," "],["b","\b"],["f","\f"],["v","\v"],["0","\0"],["\\","\\"],["e",""],["a","\x07"]]);function jK(t){let e=t[0]==="u",r=t[1]==="{";return e&&!r&&t.length===5||t[0]==="x"&&t.length===3?String.fromCharCode(parseInt(t.slice(1),16)):e&&r?String.fromCodePoint(parseInt(t.slice(2,-1),16)):$he.get(t)||t}function epe(t,e){let r=[],i=e.trim().split(/\s*,\s*/g),n;for(let s of i){let o=Number(s);if(!Number.isNaN(o))r.push(o);else if(n=s.match(Xhe))r.push(n[2].replace(Zhe,(a,l,c)=>l?jK(l):c));else throw new Error(`Invalid Chalk template style argument: ${s} (in style '${t}')`)}return r}function tpe(t){GK.lastIndex=0;let e=[],r;for(;(r=GK.exec(t))!==null;){let i=r[1];if(r[2]){let n=epe(i,r[2]);e.push([i].concat(n))}else e.push([i])}return e}function YK(t,e){let r={};for(let n of e)for(let s of n.styles)r[s[0]]=n.inverse?null:s.slice(1);let i=t;for(let[n,s]of Object.entries(r))if(!!Array.isArray(s)){if(!(n in i))throw new Error(`Unknown Chalk style: ${n}`);i=s.length>0?i[n](...s):i[n]}return i}HK.exports=(t,e)=>{let r=[],i=[],n=[];if(e.replace(_he,(s,o,a,l,c,u)=>{if(o)n.push(jK(o));else if(l){let g=n.join("");n=[],i.push(r.length===0?g:YK(t,r)(g)),r.push({inverse:a,styles:tpe(l)})}else if(c){if(r.length===0)throw new Error("Found extraneous } in Chalk template literal");i.push(YK(t,r)(n.join(""))),n=[],r.pop()}else n.push(u)}),i.push(n.join("")),r.length>0){let s=`Chalk template literal is missing ${r.length} closing bracket${r.length===1?"":"s"} (\`}\`)`;throw new Error(s)}return i.join("")}});var jb=E((P$e,JK)=>{"use strict";var fh=FK(),{stdout:Kb,stderr:Ub}=OK(),{stringReplaceAll:rpe,stringEncaseCRLFWithFirstIndex:ipe}=UK(),WK=["ansi","ansi","ansi256","ansi16m"],su=Object.create(null),npe=(t,e={})=>{if(e.level>3||e.level<0)throw new Error("The `level` option should be an integer from 0 to 3");let r=Kb?Kb.level:0;t.level=e.level===void 0?r:e.level},zK=class{constructor(e){return VK(e)}},VK=t=>{let e={};return npe(e,t),e.template=(...r)=>spe(e.template,...r),Object.setPrototypeOf(e,DE.prototype),Object.setPrototypeOf(e.template,e),e.template.constructor=()=>{throw new Error("`chalk.constructor()` is deprecated. Use `new chalk.Instance()` instead.")},e.template.Instance=zK,e.template};function DE(t){return VK(t)}for(let[t,e]of Object.entries(fh))su[t]={get(){let r=RE(this,Hb(e.open,e.close,this._styler),this._isEmpty);return Object.defineProperty(this,t,{value:r}),r}};su.visible={get(){let t=RE(this,this._styler,!0);return Object.defineProperty(this,"visible",{value:t}),t}};var _K=["rgb","hex","keyword","hsl","hsv","hwb","ansi","ansi256"];for(let t of _K)su[t]={get(){let{level:e}=this;return function(...r){let i=Hb(fh.color[WK[e]][t](...r),fh.color.close,this._styler);return RE(this,i,this._isEmpty)}}};for(let t of _K){let e="bg"+t[0].toUpperCase()+t.slice(1);su[e]={get(){let{level:r}=this;return function(...i){let n=Hb(fh.bgColor[WK[r]][t](...i),fh.bgColor.close,this._styler);return RE(this,n,this._isEmpty)}}}}var ope=Object.defineProperties(()=>{},_(P({},su),{level:{enumerable:!0,get(){return this._generator.level},set(t){this._generator.level=t}}})),Hb=(t,e,r)=>{let i,n;return r===void 0?(i=t,n=e):(i=r.openAll+t,n=e+r.closeAll),{open:t,close:e,openAll:i,closeAll:n,parent:r}},RE=(t,e,r)=>{let i=(...n)=>ape(i,n.length===1?""+n[0]:n.join(" "));return i.__proto__=ope,i._generator=t,i._styler=e,i._isEmpty=r,i},ape=(t,e)=>{if(t.level<=0||!e)return t._isEmpty?"":e;let r=t._styler;if(r===void 0)return e;let{openAll:i,closeAll:n}=r;if(e.indexOf("")!==-1)for(;r!==void 0;)e=rpe(e,r.close,r.open),r=r.parent;let s=e.indexOf(` +`);return s!==-1&&(e=ipe(e,n,i,s)),i+e+n},Gb,spe=(t,...e)=>{let[r]=e;if(!Array.isArray(r))return e.join(" ");let i=e.slice(1),n=[r.raw[0]];for(let s=1;s{XK.exports=[{name:"AppVeyor",constant:"APPVEYOR",env:"APPVEYOR",pr:"APPVEYOR_PULL_REQUEST_NUMBER"},{name:"Azure Pipelines",constant:"AZURE_PIPELINES",env:"SYSTEM_TEAMFOUNDATIONCOLLECTIONURI",pr:"SYSTEM_PULLREQUEST_PULLREQUESTID"},{name:"Appcircle",constant:"APPCIRCLE",env:"AC_APPCIRCLE"},{name:"Bamboo",constant:"BAMBOO",env:"bamboo_planKey"},{name:"Bitbucket Pipelines",constant:"BITBUCKET",env:"BITBUCKET_COMMIT",pr:"BITBUCKET_PR_ID"},{name:"Bitrise",constant:"BITRISE",env:"BITRISE_IO",pr:"BITRISE_PULL_REQUEST"},{name:"Buddy",constant:"BUDDY",env:"BUDDY_WORKSPACE_ID",pr:"BUDDY_EXECUTION_PULL_REQUEST_ID"},{name:"Buildkite",constant:"BUILDKITE",env:"BUILDKITE",pr:{env:"BUILDKITE_PULL_REQUEST",ne:"false"}},{name:"CircleCI",constant:"CIRCLE",env:"CIRCLECI",pr:"CIRCLE_PULL_REQUEST"},{name:"Cirrus CI",constant:"CIRRUS",env:"CIRRUS_CI",pr:"CIRRUS_PR"},{name:"AWS CodeBuild",constant:"CODEBUILD",env:"CODEBUILD_BUILD_ARN"},{name:"Codefresh",constant:"CODEFRESH",env:"CF_BUILD_ID",pr:{any:["CF_PULL_REQUEST_NUMBER","CF_PULL_REQUEST_ID"]}},{name:"Codeship",constant:"CODESHIP",env:{CI_NAME:"codeship"}},{name:"Drone",constant:"DRONE",env:"DRONE",pr:{DRONE_BUILD_EVENT:"pull_request"}},{name:"dsari",constant:"DSARI",env:"DSARI"},{name:"GitHub Actions",constant:"GITHUB_ACTIONS",env:"GITHUB_ACTIONS",pr:{GITHUB_EVENT_NAME:"pull_request"}},{name:"GitLab CI",constant:"GITLAB",env:"GITLAB_CI",pr:"CI_MERGE_REQUEST_ID"},{name:"GoCD",constant:"GOCD",env:"GO_PIPELINE_LABEL"},{name:"LayerCI",constant:"LAYERCI",env:"LAYERCI",pr:"LAYERCI_PULL_REQUEST"},{name:"Hudson",constant:"HUDSON",env:"HUDSON_URL"},{name:"Jenkins",constant:"JENKINS",env:["JENKINS_URL","BUILD_ID"],pr:{any:["ghprbPullId","CHANGE_ID"]}},{name:"Magnum CI",constant:"MAGNUM",env:"MAGNUM"},{name:"Netlify CI",constant:"NETLIFY",env:"NETLIFY",pr:{env:"PULL_REQUEST",ne:"false"}},{name:"Nevercode",constant:"NEVERCODE",env:"NEVERCODE",pr:{env:"NEVERCODE_PULL_REQUEST",ne:"false"}},{name:"Render",constant:"RENDER",env:"RENDER",pr:{IS_PULL_REQUEST:"true"}},{name:"Sail CI",constant:"SAIL",env:"SAILCI",pr:"SAIL_PULL_REQUEST_NUMBER"},{name:"Semaphore",constant:"SEMAPHORE",env:"SEMAPHORE",pr:"PULL_REQUEST_NUMBER"},{name:"Screwdriver",constant:"SCREWDRIVER",env:"SCREWDRIVER",pr:{env:"SD_PULL_REQUEST",ne:"false"}},{name:"Shippable",constant:"SHIPPABLE",env:"SHIPPABLE",pr:{IS_PULL_REQUEST:"true"}},{name:"Solano CI",constant:"SOLANO",env:"TDDIUM",pr:"TDDIUM_PR_ID"},{name:"Strider CD",constant:"STRIDER",env:"STRIDER"},{name:"TaskCluster",constant:"TASKCLUSTER",env:["TASK_ID","RUN_ID"]},{name:"TeamCity",constant:"TEAMCITY",env:"TEAMCITY_VERSION"},{name:"Travis CI",constant:"TRAVIS",env:"TRAVIS",pr:{env:"TRAVIS_PULL_REQUEST",ne:"false"}},{name:"Vercel",constant:"VERCEL",env:"NOW_BUILDER"},{name:"Visual Studio App Center",constant:"APPCENTER",env:"APPCENTER_BUILD_ID"}]});var ml=E(Dn=>{"use strict";var $K=ZK(),ro=process.env;Object.defineProperty(Dn,"_vendors",{value:$K.map(function(t){return t.constant})});Dn.name=null;Dn.isPR=null;$K.forEach(function(t){let r=(Array.isArray(t.env)?t.env:[t.env]).every(function(i){return e1(i)});if(Dn[t.constant]=r,r)switch(Dn.name=t.name,typeof t.pr){case"string":Dn.isPR=!!ro[t.pr];break;case"object":"env"in t.pr?Dn.isPR=t.pr.env in ro&&ro[t.pr.env]!==t.pr.ne:"any"in t.pr?Dn.isPR=t.pr.any.some(function(i){return!!ro[i]}):Dn.isPR=e1(t.pr);break;default:Dn.isPR=null}});Dn.isCI=!!(ro.CI||ro.CONTINUOUS_INTEGRATION||ro.BUILD_NUMBER||ro.RUN_ID||Dn.name);function e1(t){return typeof t=="string"?!!ro[t]:Object.keys(t).every(function(e){return ro[e]===t[e]})}});var FE=E(zn=>{"use strict";zn.isInteger=t=>typeof t=="number"?Number.isInteger(t):typeof t=="string"&&t.trim()!==""?Number.isInteger(Number(t)):!1;zn.find=(t,e)=>t.nodes.find(r=>r.type===e);zn.exceedsLimit=(t,e,r=1,i)=>i===!1||!zn.isInteger(t)||!zn.isInteger(e)?!1:(Number(e)-Number(t))/Number(r)>=i;zn.escapeNode=(t,e=0,r)=>{let i=t.nodes[e];!i||(r&&i.type===r||i.type==="open"||i.type==="close")&&i.escaped!==!0&&(i.value="\\"+i.value,i.escaped=!0)};zn.encloseBrace=t=>t.type!=="brace"?!1:t.commas>>0+t.ranges>>0==0?(t.invalid=!0,!0):!1;zn.isInvalidBrace=t=>t.type!=="brace"?!1:t.invalid===!0||t.dollar?!0:t.commas>>0+t.ranges>>0==0||t.open!==!0||t.close!==!0?(t.invalid=!0,!0):!1;zn.isOpenOrClose=t=>t.type==="open"||t.type==="close"?!0:t.open===!0||t.close===!0;zn.reduce=t=>t.reduce((e,r)=>(r.type==="text"&&e.push(r.value),r.type==="range"&&(r.type="text"),e),[]);zn.flatten=(...t)=>{let e=[],r=i=>{for(let n=0;n{"use strict";var r1=FE();t1.exports=(t,e={})=>{let r=(i,n={})=>{let s=e.escapeInvalid&&r1.isInvalidBrace(n),o=i.invalid===!0&&e.escapeInvalid===!0,a="";if(i.value)return(s||o)&&r1.isOpenOrClose(i)?"\\"+i.value:i.value;if(i.value)return i.value;if(i.nodes)for(let l of i.nodes)a+=r(l);return a};return r(t)}});var n1=E((L$e,i1)=>{"use strict";i1.exports=function(t){return typeof t=="number"?t-t==0:typeof t=="string"&&t.trim()!==""?Number.isFinite?Number.isFinite(+t):isFinite(+t):!1}});var f1=E((T$e,s1)=>{"use strict";var o1=n1(),El=(t,e,r)=>{if(o1(t)===!1)throw new TypeError("toRegexRange: expected the first argument to be a number");if(e===void 0||t===e)return String(t);if(o1(e)===!1)throw new TypeError("toRegexRange: expected the second argument to be a number.");let i=P({relaxZeros:!0},r);typeof i.strictZeros=="boolean"&&(i.relaxZeros=i.strictZeros===!1);let n=String(i.relaxZeros),s=String(i.shorthand),o=String(i.capture),a=String(i.wrap),l=t+":"+e+"="+n+s+o+a;if(El.cache.hasOwnProperty(l))return El.cache[l].result;let c=Math.min(t,e),u=Math.max(t,e);if(Math.abs(c-u)===1){let d=t+"|"+e;return i.capture?`(${d})`:i.wrap===!1?d:`(?:${d})`}let g=A1(t)||A1(e),f={min:t,max:e,a:c,b:u},h=[],p=[];if(g&&(f.isPadded=g,f.maxLen=String(f.max).length),c<0){let d=u<0?Math.abs(u):1;p=a1(d,Math.abs(c),f,i),c=f.a=0}return u>=0&&(h=a1(c,u,f,i)),f.negatives=p,f.positives=h,f.result=Ape(p,h,i),i.capture===!0?f.result=`(${f.result})`:i.wrap!==!1&&h.length+p.length>1&&(f.result=`(?:${f.result})`),El.cache[l]=f,f.result};function Ape(t,e,r){let i=Yb(t,e,"-",!1,r)||[],n=Yb(e,t,"",!1,r)||[],s=Yb(t,e,"-?",!0,r)||[];return i.concat(s).concat(n).join("|")}function cpe(t,e){let r=1,i=1,n=l1(t,r),s=new Set([e]);for(;t<=n&&n<=e;)s.add(n),r+=1,n=l1(t,r);for(n=c1(e+1,i)-1;t1&&a.count.pop(),a.count.push(u.count[0]),a.string=a.pattern+u1(a.count),o=c+1;continue}r.isPadded&&(g=hpe(c,r,i)),u.string=g+u.pattern+u1(u.count),s.push(u),o=c+1,a=u}return s}function Yb(t,e,r,i,n){let s=[];for(let o of t){let{string:a}=o;!i&&!g1(e,"string",a)&&s.push(r+a),i&&g1(e,"string",a)&&s.push(r+a)}return s}function upe(t,e){let r=[];for(let i=0;ie?1:e>t?-1:0}function g1(t,e,r){return t.some(i=>i[e]===r)}function l1(t,e){return Number(String(t).slice(0,-e)+"9".repeat(e))}function c1(t,e){return t-t%Math.pow(10,e)}function u1(t){let[e=0,r=""]=t;return r||e>1?`{${e+(r?","+r:"")}}`:""}function gpe(t,e,r){return`[${t}${e-t==1?"":"-"}${e}]`}function A1(t){return/^-?(0+)\d/.test(t)}function hpe(t,e,r){if(!e.isPadded)return t;let i=Math.abs(e.maxLen-String(t).length),n=r.relaxZeros!==!1;switch(i){case 0:return"";case 1:return n?"0?":"0";case 2:return n?"0{0,2}":"00";default:return n?`0{0,${i}}`:`0{${i}}`}}El.cache={};El.clearCache=()=>El.cache={};s1.exports=El});var Wb=E((M$e,h1)=>{"use strict";var ppe=require("util"),p1=f1(),d1=t=>t!==null&&typeof t=="object"&&!Array.isArray(t),dpe=t=>e=>t===!0?Number(e):String(e),qb=t=>typeof t=="number"||typeof t=="string"&&t!=="",ph=t=>Number.isInteger(+t),Jb=t=>{let e=`${t}`,r=-1;if(e[0]==="-"&&(e=e.slice(1)),e==="0")return!1;for(;e[++r]==="0";);return r>0},Cpe=(t,e,r)=>typeof t=="string"||typeof e=="string"?!0:r.stringify===!0,mpe=(t,e,r)=>{if(e>0){let i=t[0]==="-"?"-":"";i&&(t=t.slice(1)),t=i+t.padStart(i?e-1:e,"0")}return r===!1?String(t):t},C1=(t,e)=>{let r=t[0]==="-"?"-":"";for(r&&(t=t.slice(1),e--);t.length{t.negatives.sort((o,a)=>oa?1:0),t.positives.sort((o,a)=>oa?1:0);let r=e.capture?"":"?:",i="",n="",s;return t.positives.length&&(i=t.positives.join("|")),t.negatives.length&&(n=`-(${r}${t.negatives.join("|")})`),i&&n?s=`${i}|${n}`:s=i||n,e.wrap?`(${r}${s})`:s},m1=(t,e,r,i)=>{if(r)return p1(t,e,P({wrap:!1},i));let n=String.fromCharCode(t);if(t===e)return n;let s=String.fromCharCode(e);return`[${n}-${s}]`},E1=(t,e,r)=>{if(Array.isArray(t)){let i=r.wrap===!0,n=r.capture?"":"?:";return i?`(${n}${t.join("|")})`:t.join("|")}return p1(t,e,r)},I1=(...t)=>new RangeError("Invalid range arguments: "+ppe.inspect(...t)),y1=(t,e,r)=>{if(r.strictRanges===!0)throw I1([t,e]);return[]},Ipe=(t,e)=>{if(e.strictRanges===!0)throw new TypeError(`Expected step "${t}" to be a number`);return[]},ype=(t,e,r=1,i={})=>{let n=Number(t),s=Number(e);if(!Number.isInteger(n)||!Number.isInteger(s)){if(i.strictRanges===!0)throw I1([t,e]);return[]}n===0&&(n=0),s===0&&(s=0);let o=n>s,a=String(t),l=String(e),c=String(r);r=Math.max(Math.abs(r),1);let u=Jb(a)||Jb(l)||Jb(c),g=u?Math.max(a.length,l.length,c.length):0,f=u===!1&&Cpe(t,e,i)===!1,h=i.transform||dpe(f);if(i.toRegex&&r===1)return m1(C1(t,g),C1(e,g),!0,i);let p={negatives:[],positives:[]},d=B=>p[B<0?"negatives":"positives"].push(Math.abs(B)),m=[],I=0;for(;o?n>=s:n<=s;)i.toRegex===!0&&r>1?d(n):m.push(mpe(h(n,I),g,f)),n=o?n-r:n+r,I++;return i.toRegex===!0?r>1?Epe(p,i):E1(m,null,P({wrap:!1},i)):m},wpe=(t,e,r=1,i={})=>{if(!ph(t)&&t.length>1||!ph(e)&&e.length>1)return y1(t,e,i);let n=i.transform||(f=>String.fromCharCode(f)),s=`${t}`.charCodeAt(0),o=`${e}`.charCodeAt(0),a=s>o,l=Math.min(s,o),c=Math.max(s,o);if(i.toRegex&&r===1)return m1(l,c,!1,i);let u=[],g=0;for(;a?s>=o:s<=o;)u.push(n(s,g)),s=a?s-r:s+r,g++;return i.toRegex===!0?E1(u,null,{wrap:!1,options:i}):u},LE=(t,e,r,i={})=>{if(e==null&&qb(t))return[t];if(!qb(t)||!qb(e))return y1(t,e,i);if(typeof r=="function")return LE(t,e,1,{transform:r});if(d1(r))return LE(t,e,0,r);let n=P({},i);return n.capture===!0&&(n.wrap=!0),r=r||n.step||1,ph(r)?ph(t)&&ph(e)?ype(t,e,r,n):wpe(t,e,Math.max(Math.abs(r),1),n):r!=null&&!d1(r)?Ipe(r,n):LE(t,e,1,r)};h1.exports=LE});var Q1=E((O$e,w1)=>{"use strict";var Bpe=Wb(),B1=FE(),Qpe=(t,e={})=>{let r=(i,n={})=>{let s=B1.isInvalidBrace(n),o=i.invalid===!0&&e.escapeInvalid===!0,a=s===!0||o===!0,l=e.escapeInvalid===!0?"\\":"",c="";if(i.isOpen===!0||i.isClose===!0)return l+i.value;if(i.type==="open")return a?l+i.value:"(";if(i.type==="close")return a?l+i.value:")";if(i.type==="comma")return i.prev.type==="comma"?"":a?i.value:"|";if(i.value)return i.value;if(i.nodes&&i.ranges>0){let u=B1.reduce(i.nodes),g=Bpe(...u,_(P({},e),{wrap:!1,toRegex:!0}));if(g.length!==0)return u.length>1&&g.length>1?`(${g})`:g}if(i.nodes)for(let u of i.nodes)c+=r(u,i);return c};return r(t)};w1.exports=Qpe});var S1=E((K$e,b1)=>{"use strict";var bpe=Wb(),v1=NE(),ou=FE(),Il=(t="",e="",r=!1)=>{let i=[];if(t=[].concat(t),e=[].concat(e),!e.length)return t;if(!t.length)return r?ou.flatten(e).map(n=>`{${n}}`):e;for(let n of t)if(Array.isArray(n))for(let s of n)i.push(Il(s,e,r));else for(let s of e)r===!0&&typeof s=="string"&&(s=`{${s}}`),i.push(Array.isArray(s)?Il(n,s,r):n+s);return ou.flatten(i)},vpe=(t,e={})=>{let r=e.rangeLimit===void 0?1e3:e.rangeLimit,i=(n,s={})=>{n.queue=[];let o=s,a=s.queue;for(;o.type!=="brace"&&o.type!=="root"&&o.parent;)o=o.parent,a=o.queue;if(n.invalid||n.dollar){a.push(Il(a.pop(),v1(n,e)));return}if(n.type==="brace"&&n.invalid!==!0&&n.nodes.length===2){a.push(Il(a.pop(),["{}"]));return}if(n.nodes&&n.ranges>0){let g=ou.reduce(n.nodes);if(ou.exceedsLimit(...g,e.step,r))throw new RangeError("expanded array length exceeds range limit. Use options.rangeLimit to increase or disable the limit.");let f=bpe(...g,e);f.length===0&&(f=v1(n,e)),a.push(Il(a.pop(),f)),n.nodes=[];return}let l=ou.encloseBrace(n),c=n.queue,u=n;for(;u.type!=="brace"&&u.type!=="root"&&u.parent;)u=u.parent,c=u.queue;for(let g=0;g{"use strict";x1.exports={MAX_LENGTH:1024*64,CHAR_0:"0",CHAR_9:"9",CHAR_UPPERCASE_A:"A",CHAR_LOWERCASE_A:"a",CHAR_UPPERCASE_Z:"Z",CHAR_LOWERCASE_Z:"z",CHAR_LEFT_PARENTHESES:"(",CHAR_RIGHT_PARENTHESES:")",CHAR_ASTERISK:"*",CHAR_AMPERSAND:"&",CHAR_AT:"@",CHAR_BACKSLASH:"\\",CHAR_BACKTICK:"`",CHAR_CARRIAGE_RETURN:"\r",CHAR_CIRCUMFLEX_ACCENT:"^",CHAR_COLON:":",CHAR_COMMA:",",CHAR_DOLLAR:"$",CHAR_DOT:".",CHAR_DOUBLE_QUOTE:'"',CHAR_EQUAL:"=",CHAR_EXCLAMATION_MARK:"!",CHAR_FORM_FEED:"\f",CHAR_FORWARD_SLASH:"/",CHAR_HASH:"#",CHAR_HYPHEN_MINUS:"-",CHAR_LEFT_ANGLE_BRACKET:"<",CHAR_LEFT_CURLY_BRACE:"{",CHAR_LEFT_SQUARE_BRACKET:"[",CHAR_LINE_FEED:` +`,CHAR_NO_BREAK_SPACE:"\xA0",CHAR_PERCENT:"%",CHAR_PLUS:"+",CHAR_QUESTION_MARK:"?",CHAR_RIGHT_ANGLE_BRACKET:">",CHAR_RIGHT_CURLY_BRACE:"}",CHAR_RIGHT_SQUARE_BRACKET:"]",CHAR_SEMICOLON:";",CHAR_SINGLE_QUOTE:"'",CHAR_SPACE:" ",CHAR_TAB:" ",CHAR_UNDERSCORE:"_",CHAR_VERTICAL_LINE:"|",CHAR_ZERO_WIDTH_NOBREAK_SPACE:"\uFEFF"}});var N1=E((H$e,P1)=>{"use strict";var Spe=NE(),{MAX_LENGTH:D1,CHAR_BACKSLASH:zb,CHAR_BACKTICK:xpe,CHAR_COMMA:kpe,CHAR_DOT:Ppe,CHAR_LEFT_PARENTHESES:Dpe,CHAR_RIGHT_PARENTHESES:Rpe,CHAR_LEFT_CURLY_BRACE:Fpe,CHAR_RIGHT_CURLY_BRACE:Npe,CHAR_LEFT_SQUARE_BRACKET:R1,CHAR_RIGHT_SQUARE_BRACKET:F1,CHAR_DOUBLE_QUOTE:Lpe,CHAR_SINGLE_QUOTE:Tpe,CHAR_NO_BREAK_SPACE:Mpe,CHAR_ZERO_WIDTH_NOBREAK_SPACE:Ope}=k1(),Kpe=(t,e={})=>{if(typeof t!="string")throw new TypeError("Expected a string");let r=e||{},i=typeof r.maxLength=="number"?Math.min(D1,r.maxLength):D1;if(t.length>i)throw new SyntaxError(`Input length (${t.length}), exceeds max characters (${i})`);let n={type:"root",input:t,nodes:[]},s=[n],o=n,a=n,l=0,c=t.length,u=0,g=0,f,h={},p=()=>t[u++],d=m=>{if(m.type==="text"&&a.type==="dot"&&(a.type="text"),a&&a.type==="text"&&m.type==="text"){a.value+=m.value;return}return o.nodes.push(m),m.parent=o,m.prev=a,a=m,m};for(d({type:"bos"});u0){if(o.ranges>0){o.ranges=0;let m=o.nodes.shift();o.nodes=[m,{type:"text",value:Spe(o)}]}d({type:"comma",value:f}),o.commas++;continue}if(f===Ppe&&g>0&&o.commas===0){let m=o.nodes;if(g===0||m.length===0){d({type:"text",value:f});continue}if(a.type==="dot"){if(o.range=[],a.value+=f,a.type="range",o.nodes.length!==3&&o.nodes.length!==5){o.invalid=!0,o.ranges=0,a.type="text";continue}o.ranges++,o.args=[];continue}if(a.type==="range"){m.pop();let I=m[m.length-1];I.value+=a.value+f,a=I,o.ranges--;continue}d({type:"dot",value:f});continue}d({type:"text",value:f})}do if(o=s.pop(),o.type!=="root"){o.nodes.forEach(B=>{B.nodes||(B.type==="open"&&(B.isOpen=!0),B.type==="close"&&(B.isClose=!0),B.nodes||(B.type="text"),B.invalid=!0)});let m=s[s.length-1],I=m.nodes.indexOf(o);m.nodes.splice(I,1,...o.nodes)}while(s.length>0);return d({type:"eos"}),n};P1.exports=Kpe});var M1=E((G$e,L1)=>{"use strict";var T1=NE(),Upe=Q1(),Hpe=S1(),Gpe=N1(),Rn=(t,e={})=>{let r=[];if(Array.isArray(t))for(let i of t){let n=Rn.create(i,e);Array.isArray(n)?r.push(...n):r.push(n)}else r=[].concat(Rn.create(t,e));return e&&e.expand===!0&&e.nodupes===!0&&(r=[...new Set(r)]),r};Rn.parse=(t,e={})=>Gpe(t,e);Rn.stringify=(t,e={})=>typeof t=="string"?T1(Rn.parse(t,e),e):T1(t,e);Rn.compile=(t,e={})=>(typeof t=="string"&&(t=Rn.parse(t,e)),Upe(t,e));Rn.expand=(t,e={})=>{typeof t=="string"&&(t=Rn.parse(t,e));let r=Hpe(t,e);return e.noempty===!0&&(r=r.filter(Boolean)),e.nodupes===!0&&(r=[...new Set(r)]),r};Rn.create=(t,e={})=>t===""||t.length<3?[t]:e.expand!==!0?Rn.compile(t,e):Rn.expand(t,e);L1.exports=Rn});var dh=E((j$e,O1)=>{"use strict";var jpe=require("path"),io="\\\\/",K1=`[^${io}]`,ea="\\.",Ype="\\+",qpe="\\?",TE="\\/",Jpe="(?=.)",U1="[^/]",Vb=`(?:${TE}|$)`,H1=`(?:^|${TE})`,_b=`${ea}{1,2}${Vb}`,Wpe=`(?!${ea})`,zpe=`(?!${H1}${_b})`,Vpe=`(?!${ea}{0,1}${Vb})`,_pe=`(?!${_b})`,Xpe=`[^.${TE}]`,Zpe=`${U1}*?`,G1={DOT_LITERAL:ea,PLUS_LITERAL:Ype,QMARK_LITERAL:qpe,SLASH_LITERAL:TE,ONE_CHAR:Jpe,QMARK:U1,END_ANCHOR:Vb,DOTS_SLASH:_b,NO_DOT:Wpe,NO_DOTS:zpe,NO_DOT_SLASH:Vpe,NO_DOTS_SLASH:_pe,QMARK_NO_DOT:Xpe,STAR:Zpe,START_ANCHOR:H1},$pe=_(P({},G1),{SLASH_LITERAL:`[${io}]`,QMARK:K1,STAR:`${K1}*?`,DOTS_SLASH:`${ea}{1,2}(?:[${io}]|$)`,NO_DOT:`(?!${ea})`,NO_DOTS:`(?!(?:^|[${io}])${ea}{1,2}(?:[${io}]|$))`,NO_DOT_SLASH:`(?!${ea}{0,1}(?:[${io}]|$))`,NO_DOTS_SLASH:`(?!${ea}{1,2}(?:[${io}]|$))`,QMARK_NO_DOT:`[^.${io}]`,START_ANCHOR:`(?:^|[${io}])`,END_ANCHOR:`(?:[${io}]|$)`}),ede={alnum:"a-zA-Z0-9",alpha:"a-zA-Z",ascii:"\\x00-\\x7F",blank:" \\t",cntrl:"\\x00-\\x1F\\x7F",digit:"0-9",graph:"\\x21-\\x7E",lower:"a-z",print:"\\x20-\\x7E ",punct:"\\-!\"#$%&'()\\*+,./:;<=>?@[\\]^_`{|}~",space:" \\t\\r\\n\\v\\f",upper:"A-Z",word:"A-Za-z0-9_",xdigit:"A-Fa-f0-9"};O1.exports={MAX_LENGTH:1024*64,POSIX_REGEX_SOURCE:ede,REGEX_BACKSLASH:/\\(?![*+?^${}(|)[\]])/g,REGEX_NON_SPECIAL_CHARS:/^[^@![\].,$*+?^{}()|\\/]+/,REGEX_SPECIAL_CHARS:/[-*+?.^${}(|)[\]]/,REGEX_SPECIAL_CHARS_BACKREF:/(\\?)((\W)(\3*))/g,REGEX_SPECIAL_CHARS_GLOBAL:/([-*+?.^${}(|)[\]])/g,REGEX_REMOVE_BACKSLASH:/(?:\[.*?[^\\]\]|\\(?=.))/g,REPLACEMENTS:{"***":"*","**/**":"**","**/**/**":"**"},CHAR_0:48,CHAR_9:57,CHAR_UPPERCASE_A:65,CHAR_LOWERCASE_A:97,CHAR_UPPERCASE_Z:90,CHAR_LOWERCASE_Z:122,CHAR_LEFT_PARENTHESES:40,CHAR_RIGHT_PARENTHESES:41,CHAR_ASTERISK:42,CHAR_AMPERSAND:38,CHAR_AT:64,CHAR_BACKWARD_SLASH:92,CHAR_CARRIAGE_RETURN:13,CHAR_CIRCUMFLEX_ACCENT:94,CHAR_COLON:58,CHAR_COMMA:44,CHAR_DOT:46,CHAR_DOUBLE_QUOTE:34,CHAR_EQUAL:61,CHAR_EXCLAMATION_MARK:33,CHAR_FORM_FEED:12,CHAR_FORWARD_SLASH:47,CHAR_GRAVE_ACCENT:96,CHAR_HASH:35,CHAR_HYPHEN_MINUS:45,CHAR_LEFT_ANGLE_BRACKET:60,CHAR_LEFT_CURLY_BRACE:123,CHAR_LEFT_SQUARE_BRACKET:91,CHAR_LINE_FEED:10,CHAR_NO_BREAK_SPACE:160,CHAR_PERCENT:37,CHAR_PLUS:43,CHAR_QUESTION_MARK:63,CHAR_RIGHT_ANGLE_BRACKET:62,CHAR_RIGHT_CURLY_BRACE:125,CHAR_RIGHT_SQUARE_BRACKET:93,CHAR_SEMICOLON:59,CHAR_SINGLE_QUOTE:39,CHAR_SPACE:32,CHAR_TAB:9,CHAR_UNDERSCORE:95,CHAR_VERTICAL_LINE:124,CHAR_ZERO_WIDTH_NOBREAK_SPACE:65279,SEP:jpe.sep,extglobChars(t){return{"!":{type:"negate",open:"(?:(?!(?:",close:`))${t.STAR})`},"?":{type:"qmark",open:"(?:",close:")?"},"+":{type:"plus",open:"(?:",close:")+"},"*":{type:"star",open:"(?:",close:")*"},"@":{type:"at",open:"(?:",close:")"}}},globChars(t){return t===!0?$pe:G1}}});var Ch=E(cn=>{"use strict";var tde=require("path"),rde=process.platform==="win32",{REGEX_BACKSLASH:ide,REGEX_REMOVE_BACKSLASH:nde,REGEX_SPECIAL_CHARS:sde,REGEX_SPECIAL_CHARS_GLOBAL:ode}=dh();cn.isObject=t=>t!==null&&typeof t=="object"&&!Array.isArray(t);cn.hasRegexChars=t=>sde.test(t);cn.isRegexChar=t=>t.length===1&&cn.hasRegexChars(t);cn.escapeRegex=t=>t.replace(ode,"\\$1");cn.toPosixSlashes=t=>t.replace(ide,"/");cn.removeBackslashes=t=>t.replace(nde,e=>e==="\\"?"":e);cn.supportsLookbehinds=()=>{let t=process.version.slice(1).split(".").map(Number);return t.length===3&&t[0]>=9||t[0]===8&&t[1]>=10};cn.isWindows=t=>t&&typeof t.windows=="boolean"?t.windows:rde===!0||tde.sep==="\\";cn.escapeLast=(t,e,r)=>{let i=t.lastIndexOf(e,r);return i===-1?t:t[i-1]==="\\"?cn.escapeLast(t,e,i-1):`${t.slice(0,i)}\\${t.slice(i)}`};cn.removePrefix=(t,e={})=>{let r=t;return r.startsWith("./")&&(r=r.slice(2),e.prefix="./"),r};cn.wrapOutput=(t,e={},r={})=>{let i=r.contains?"":"^",n=r.contains?"":"$",s=`${i}(?:${t})${n}`;return e.negated===!0&&(s=`(?:^(?!${s}).*$)`),s}});var X1=E((q$e,j1)=>{"use strict";var Y1=Ch(),{CHAR_ASTERISK:Xb,CHAR_AT:ade,CHAR_BACKWARD_SLASH:mh,CHAR_COMMA:Ade,CHAR_DOT:Zb,CHAR_EXCLAMATION_MARK:q1,CHAR_FORWARD_SLASH:J1,CHAR_LEFT_CURLY_BRACE:$b,CHAR_LEFT_PARENTHESES:ev,CHAR_LEFT_SQUARE_BRACKET:lde,CHAR_PLUS:cde,CHAR_QUESTION_MARK:W1,CHAR_RIGHT_CURLY_BRACE:ude,CHAR_RIGHT_PARENTHESES:z1,CHAR_RIGHT_SQUARE_BRACKET:gde}=dh(),V1=t=>t===J1||t===mh,_1=t=>{t.isPrefix!==!0&&(t.depth=t.isGlobstar?Infinity:1)},fde=(t,e)=>{let r=e||{},i=t.length-1,n=r.parts===!0||r.scanToEnd===!0,s=[],o=[],a=[],l=t,c=-1,u=0,g=0,f=!1,h=!1,p=!1,d=!1,m=!1,I=!1,B=!1,b=!1,R=!1,H=0,L,K,J={value:"",depth:0,isGlob:!1},ne=()=>c>=i,q=()=>l.charCodeAt(c+1),A=()=>(L=K,l.charCodeAt(++c));for(;c0&&(W=l.slice(0,u),l=l.slice(u),g-=u),V&&p===!0&&g>0?(V=l.slice(0,g),X=l.slice(g)):p===!0?(V="",X=l):V=l,V&&V!==""&&V!=="/"&&V!==l&&V1(V.charCodeAt(V.length-1))&&(V=V.slice(0,-1)),r.unescape===!0&&(X&&(X=Y1.removeBackslashes(X)),V&&B===!0&&(V=Y1.removeBackslashes(V)));let F={prefix:W,input:t,start:u,base:V,glob:X,isBrace:f,isBracket:h,isGlob:p,isExtglob:d,isGlobstar:m,negated:b};if(r.tokens===!0&&(F.maxDepth=0,V1(K)||o.push(J),F.tokens=o),r.parts===!0||r.tokens===!0){let D;for(let he=0;he{"use strict";var ME=dh(),Fn=Ch(),{MAX_LENGTH:OE,POSIX_REGEX_SOURCE:hde,REGEX_NON_SPECIAL_CHARS:pde,REGEX_SPECIAL_CHARS_BACKREF:dde,REPLACEMENTS:$1}=ME,Cde=(t,e)=>{if(typeof e.expandRange=="function")return e.expandRange(...t,e);t.sort();let r=`[${t.join("-")}]`;try{new RegExp(r)}catch(i){return t.map(n=>Fn.escapeRegex(n)).join("..")}return r},au=(t,e)=>`Missing ${t}: "${e}" - use "\\\\${e}" to match literal characters`,eU=(t,e)=>{if(typeof t!="string")throw new TypeError("Expected a string");t=$1[t]||t;let r=P({},e),i=typeof r.maxLength=="number"?Math.min(OE,r.maxLength):OE,n=t.length;if(n>i)throw new SyntaxError(`Input length: ${n}, exceeds maximum allowed length: ${i}`);let s={type:"bos",value:"",output:r.prepend||""},o=[s],a=r.capture?"":"?:",l=Fn.isWindows(e),c=ME.globChars(l),u=ME.extglobChars(c),{DOT_LITERAL:g,PLUS_LITERAL:f,SLASH_LITERAL:h,ONE_CHAR:p,DOTS_SLASH:d,NO_DOT:m,NO_DOT_SLASH:I,NO_DOTS_SLASH:B,QMARK:b,QMARK_NO_DOT:R,STAR:H,START_ANCHOR:L}=c,K=G=>`(${a}(?:(?!${L}${G.dot?d:g}).)*?)`,J=r.dot?"":m,ne=r.dot?b:R,q=r.bash===!0?K(r):H;r.capture&&(q=`(${q})`),typeof r.noext=="boolean"&&(r.noextglob=r.noext);let A={input:t,index:-1,start:0,dot:r.dot===!0,consumed:"",output:"",prefix:"",backtrack:!1,negated:!1,brackets:0,braces:0,parens:0,quotes:0,globstar:!1,tokens:o};t=Fn.removePrefix(t,A),n=t.length;let V=[],W=[],X=[],F=s,D,he=()=>A.index===n-1,pe=A.peek=(G=1)=>t[A.index+G],Ne=A.advance=()=>t[++A.index],Pe=()=>t.slice(A.index+1),qe=(G="",Ce=0)=>{A.consumed+=G,A.index+=Ce},re=G=>{A.output+=G.output!=null?G.output:G.value,qe(G.value)},se=()=>{let G=1;for(;pe()==="!"&&(pe(2)!=="("||pe(3)==="?");)Ne(),A.start++,G++;return G%2==0?!1:(A.negated=!0,A.start++,!0)},be=G=>{A[G]++,X.push(G)},ae=G=>{A[G]--,X.pop()},Ae=G=>{if(F.type==="globstar"){let Ce=A.braces>0&&(G.type==="comma"||G.type==="brace"),ee=G.extglob===!0||V.length&&(G.type==="pipe"||G.type==="paren");G.type!=="slash"&&G.type!=="paren"&&!Ce&&!ee&&(A.output=A.output.slice(0,-F.output.length),F.type="star",F.value="*",F.output=q,A.output+=F.output)}if(V.length&&G.type!=="paren"&&!u[G.value]&&(V[V.length-1].inner+=G.value),(G.value||G.output)&&re(G),F&&F.type==="text"&&G.type==="text"){F.value+=G.value,F.output=(F.output||"")+G.value;return}G.prev=F,o.push(G),F=G},De=(G,Ce)=>{let ee=_(P({},u[Ce]),{conditions:1,inner:""});ee.prev=F,ee.parens=A.parens,ee.output=A.output;let Ue=(r.capture?"(":"")+ee.open;be("parens"),Ae({type:G,value:Ce,output:A.output?"":p}),Ae({type:"paren",extglob:!0,value:Ne(),output:Ue}),V.push(ee)},$=G=>{let Ce=G.close+(r.capture?")":"");if(G.type==="negate"){let ee=q;G.inner&&G.inner.length>1&&G.inner.includes("/")&&(ee=K(r)),(ee!==q||he()||/^\)+$/.test(Pe()))&&(Ce=G.close=`)$))${ee}`),G.prev.type==="bos"&&(A.negatedExtglob=!0)}Ae({type:"paren",extglob:!0,value:D,output:Ce}),ae("parens")};if(r.fastpaths!==!1&&!/(^[*!]|[/()[\]{}"])/.test(t)){let G=!1,Ce=t.replace(dde,(ee,Ue,Oe,vt,dt,ri)=>vt==="\\"?(G=!0,ee):vt==="?"?Ue?Ue+vt+(dt?b.repeat(dt.length):""):ri===0?ne+(dt?b.repeat(dt.length):""):b.repeat(Oe.length):vt==="."?g.repeat(Oe.length):vt==="*"?Ue?Ue+vt+(dt?q:""):q:Ue?ee:`\\${ee}`);return G===!0&&(r.unescape===!0?Ce=Ce.replace(/\\/g,""):Ce=Ce.replace(/\\+/g,ee=>ee.length%2==0?"\\\\":ee?"\\":"")),Ce===t&&r.contains===!0?(A.output=t,A):(A.output=Fn.wrapOutput(Ce,A,e),A)}for(;!he();){if(D=Ne(),D==="\0")continue;if(D==="\\"){let ee=pe();if(ee==="/"&&r.bash!==!0||ee==="."||ee===";")continue;if(!ee){D+="\\",Ae({type:"text",value:D});continue}let Ue=/^\\+/.exec(Pe()),Oe=0;if(Ue&&Ue[0].length>2&&(Oe=Ue[0].length,A.index+=Oe,Oe%2!=0&&(D+="\\")),r.unescape===!0?D=Ne()||"":D+=Ne()||"",A.brackets===0){Ae({type:"text",value:D});continue}}if(A.brackets>0&&(D!=="]"||F.value==="["||F.value==="[^")){if(r.posix!==!1&&D===":"){let ee=F.value.slice(1);if(ee.includes("[")&&(F.posix=!0,ee.includes(":"))){let Ue=F.value.lastIndexOf("["),Oe=F.value.slice(0,Ue),vt=F.value.slice(Ue+2),dt=hde[vt];if(dt){F.value=Oe+dt,A.backtrack=!0,Ne(),!s.output&&o.indexOf(F)===1&&(s.output=p);continue}}}(D==="["&&pe()!==":"||D==="-"&&pe()==="]")&&(D=`\\${D}`),D==="]"&&(F.value==="["||F.value==="[^")&&(D=`\\${D}`),r.posix===!0&&D==="!"&&F.value==="["&&(D="^"),F.value+=D,re({value:D});continue}if(A.quotes===1&&D!=='"'){D=Fn.escapeRegex(D),F.value+=D,re({value:D});continue}if(D==='"'){A.quotes=A.quotes===1?0:1,r.keepQuotes===!0&&Ae({type:"text",value:D});continue}if(D==="("){be("parens"),Ae({type:"paren",value:D});continue}if(D===")"){if(A.parens===0&&r.strictBrackets===!0)throw new SyntaxError(au("opening","("));let ee=V[V.length-1];if(ee&&A.parens===ee.parens+1){$(V.pop());continue}Ae({type:"paren",value:D,output:A.parens?")":"\\)"}),ae("parens");continue}if(D==="["){if(r.nobracket===!0||!Pe().includes("]")){if(r.nobracket!==!0&&r.strictBrackets===!0)throw new SyntaxError(au("closing","]"));D=`\\${D}`}else be("brackets");Ae({type:"bracket",value:D});continue}if(D==="]"){if(r.nobracket===!0||F&&F.type==="bracket"&&F.value.length===1){Ae({type:"text",value:D,output:`\\${D}`});continue}if(A.brackets===0){if(r.strictBrackets===!0)throw new SyntaxError(au("opening","["));Ae({type:"text",value:D,output:`\\${D}`});continue}ae("brackets");let ee=F.value.slice(1);if(F.posix!==!0&&ee[0]==="^"&&!ee.includes("/")&&(D=`/${D}`),F.value+=D,re({value:D}),r.literalBrackets===!1||Fn.hasRegexChars(ee))continue;let Ue=Fn.escapeRegex(F.value);if(A.output=A.output.slice(0,-F.value.length),r.literalBrackets===!0){A.output+=Ue,F.value=Ue;continue}F.value=`(${a}${Ue}|${F.value})`,A.output+=F.value;continue}if(D==="{"&&r.nobrace!==!0){be("braces");let ee={type:"brace",value:D,output:"(",outputIndex:A.output.length,tokensIndex:A.tokens.length};W.push(ee),Ae(ee);continue}if(D==="}"){let ee=W[W.length-1];if(r.nobrace===!0||!ee){Ae({type:"text",value:D,output:D});continue}let Ue=")";if(ee.dots===!0){let Oe=o.slice(),vt=[];for(let dt=Oe.length-1;dt>=0&&(o.pop(),Oe[dt].type!=="brace");dt--)Oe[dt].type!=="dots"&&vt.unshift(Oe[dt].value);Ue=Cde(vt,r),A.backtrack=!0}if(ee.comma!==!0&&ee.dots!==!0){let Oe=A.output.slice(0,ee.outputIndex),vt=A.tokens.slice(ee.tokensIndex);ee.value=ee.output="\\{",D=Ue="\\}",A.output=Oe;for(let dt of vt)A.output+=dt.output||dt.value}Ae({type:"brace",value:D,output:Ue}),ae("braces"),W.pop();continue}if(D==="|"){V.length>0&&V[V.length-1].conditions++,Ae({type:"text",value:D});continue}if(D===","){let ee=D,Ue=W[W.length-1];Ue&&X[X.length-1]==="braces"&&(Ue.comma=!0,ee="|"),Ae({type:"comma",value:D,output:ee});continue}if(D==="/"){if(F.type==="dot"&&A.index===A.start+1){A.start=A.index+1,A.consumed="",A.output="",o.pop(),F=s;continue}Ae({type:"slash",value:D,output:h});continue}if(D==="."){if(A.braces>0&&F.type==="dot"){F.value==="."&&(F.output=g);let ee=W[W.length-1];F.type="dots",F.output+=D,F.value+=D,ee.dots=!0;continue}if(A.braces+A.parens===0&&F.type!=="bos"&&F.type!=="slash"){Ae({type:"text",value:D,output:g});continue}Ae({type:"dot",value:D,output:g});continue}if(D==="?"){if(!(F&&F.value==="(")&&r.noextglob!==!0&&pe()==="("&&pe(2)!=="?"){De("qmark",D);continue}if(F&&F.type==="paren"){let Ue=pe(),Oe=D;if(Ue==="<"&&!Fn.supportsLookbehinds())throw new Error("Node.js v10 or higher is required for regex lookbehinds");(F.value==="("&&!/[!=<:]/.test(Ue)||Ue==="<"&&!/<([!=]|\w+>)/.test(Pe()))&&(Oe=`\\${D}`),Ae({type:"text",value:D,output:Oe});continue}if(r.dot!==!0&&(F.type==="slash"||F.type==="bos")){Ae({type:"qmark",value:D,output:R});continue}Ae({type:"qmark",value:D,output:b});continue}if(D==="!"){if(r.noextglob!==!0&&pe()==="("&&(pe(2)!=="?"||!/[!=<:]/.test(pe(3)))){De("negate",D);continue}if(r.nonegate!==!0&&A.index===0){se();continue}}if(D==="+"){if(r.noextglob!==!0&&pe()==="("&&pe(2)!=="?"){De("plus",D);continue}if(F&&F.value==="("||r.regex===!1){Ae({type:"plus",value:D,output:f});continue}if(F&&(F.type==="bracket"||F.type==="paren"||F.type==="brace")||A.parens>0){Ae({type:"plus",value:D});continue}Ae({type:"plus",value:f});continue}if(D==="@"){if(r.noextglob!==!0&&pe()==="("&&pe(2)!=="?"){Ae({type:"at",extglob:!0,value:D,output:""});continue}Ae({type:"text",value:D});continue}if(D!=="*"){(D==="$"||D==="^")&&(D=`\\${D}`);let ee=pde.exec(Pe());ee&&(D+=ee[0],A.index+=ee[0].length),Ae({type:"text",value:D});continue}if(F&&(F.type==="globstar"||F.star===!0)){F.type="star",F.star=!0,F.value+=D,F.output=q,A.backtrack=!0,A.globstar=!0,qe(D);continue}let G=Pe();if(r.noextglob!==!0&&/^\([^?]/.test(G)){De("star",D);continue}if(F.type==="star"){if(r.noglobstar===!0){qe(D);continue}let ee=F.prev,Ue=ee.prev,Oe=ee.type==="slash"||ee.type==="bos",vt=Ue&&(Ue.type==="star"||Ue.type==="globstar");if(r.bash===!0&&(!Oe||G[0]&&G[0]!=="/")){Ae({type:"star",value:D,output:""});continue}let dt=A.braces>0&&(ee.type==="comma"||ee.type==="brace"),ri=V.length&&(ee.type==="pipe"||ee.type==="paren");if(!Oe&&ee.type!=="paren"&&!dt&&!ri){Ae({type:"star",value:D,output:""});continue}for(;G.slice(0,3)==="/**";){let ii=t[A.index+4];if(ii&&ii!=="/")break;G=G.slice(3),qe("/**",3)}if(ee.type==="bos"&&he()){F.type="globstar",F.value+=D,F.output=K(r),A.output=F.output,A.globstar=!0,qe(D);continue}if(ee.type==="slash"&&ee.prev.type!=="bos"&&!vt&&he()){A.output=A.output.slice(0,-(ee.output+F.output).length),ee.output=`(?:${ee.output}`,F.type="globstar",F.output=K(r)+(r.strictSlashes?")":"|$)"),F.value+=D,A.globstar=!0,A.output+=ee.output+F.output,qe(D);continue}if(ee.type==="slash"&&ee.prev.type!=="bos"&&G[0]==="/"){let ii=G[1]!==void 0?"|$":"";A.output=A.output.slice(0,-(ee.output+F.output).length),ee.output=`(?:${ee.output}`,F.type="globstar",F.output=`${K(r)}${h}|${h}${ii})`,F.value+=D,A.output+=ee.output+F.output,A.globstar=!0,qe(D+Ne()),Ae({type:"slash",value:"/",output:""});continue}if(ee.type==="bos"&&G[0]==="/"){F.type="globstar",F.value+=D,F.output=`(?:^|${h}|${K(r)}${h})`,A.output=F.output,A.globstar=!0,qe(D+Ne()),Ae({type:"slash",value:"/",output:""});continue}A.output=A.output.slice(0,-F.output.length),F.type="globstar",F.output=K(r),F.value+=D,A.output+=F.output,A.globstar=!0,qe(D);continue}let Ce={type:"star",value:D,output:q};if(r.bash===!0){Ce.output=".*?",(F.type==="bos"||F.type==="slash")&&(Ce.output=J+Ce.output),Ae(Ce);continue}if(F&&(F.type==="bracket"||F.type==="paren")&&r.regex===!0){Ce.output=D,Ae(Ce);continue}(A.index===A.start||F.type==="slash"||F.type==="dot")&&(F.type==="dot"?(A.output+=I,F.output+=I):r.dot===!0?(A.output+=B,F.output+=B):(A.output+=J,F.output+=J),pe()!=="*"&&(A.output+=p,F.output+=p)),Ae(Ce)}for(;A.brackets>0;){if(r.strictBrackets===!0)throw new SyntaxError(au("closing","]"));A.output=Fn.escapeLast(A.output,"["),ae("brackets")}for(;A.parens>0;){if(r.strictBrackets===!0)throw new SyntaxError(au("closing",")"));A.output=Fn.escapeLast(A.output,"("),ae("parens")}for(;A.braces>0;){if(r.strictBrackets===!0)throw new SyntaxError(au("closing","}"));A.output=Fn.escapeLast(A.output,"{"),ae("braces")}if(r.strictSlashes!==!0&&(F.type==="star"||F.type==="bracket")&&Ae({type:"maybe_slash",value:"",output:`${h}?`}),A.backtrack===!0){A.output="";for(let G of A.tokens)A.output+=G.output!=null?G.output:G.value,G.suffix&&(A.output+=G.suffix)}return A};eU.fastpaths=(t,e)=>{let r=P({},e),i=typeof r.maxLength=="number"?Math.min(OE,r.maxLength):OE,n=t.length;if(n>i)throw new SyntaxError(`Input length: ${n}, exceeds maximum allowed length: ${i}`);t=$1[t]||t;let s=Fn.isWindows(e),{DOT_LITERAL:o,SLASH_LITERAL:a,ONE_CHAR:l,DOTS_SLASH:c,NO_DOT:u,NO_DOTS:g,NO_DOTS_SLASH:f,STAR:h,START_ANCHOR:p}=ME.globChars(s),d=r.dot?g:u,m=r.dot?f:u,I=r.capture?"":"?:",B={negated:!1,prefix:""},b=r.bash===!0?".*?":h;r.capture&&(b=`(${b})`);let R=J=>J.noglobstar===!0?b:`(${I}(?:(?!${p}${J.dot?c:o}).)*?)`,H=J=>{switch(J){case"*":return`${d}${l}${b}`;case".*":return`${o}${l}${b}`;case"*.*":return`${d}${b}${o}${l}${b}`;case"*/*":return`${d}${b}${a}${l}${m}${b}`;case"**":return d+R(r);case"**/*":return`(?:${d}${R(r)}${a})?${m}${l}${b}`;case"**/*.*":return`(?:${d}${R(r)}${a})?${m}${b}${o}${l}${b}`;case"**/.*":return`(?:${d}${R(r)}${a})?${o}${l}${b}`;default:{let ne=/^(.*?)\.(\w+)$/.exec(J);if(!ne)return;let q=H(ne[1]);return q?q+o+ne[2]:void 0}}},L=Fn.removePrefix(t,B),K=H(L);return K&&r.strictSlashes!==!0&&(K+=`${a}?`),K};Z1.exports=eU});var iU=E((W$e,rU)=>{"use strict";var mde=require("path"),Ede=X1(),tv=tU(),rv=Ch(),Ide=dh(),yde=t=>t&&typeof t=="object"&&!Array.isArray(t),Dr=(t,e,r=!1)=>{if(Array.isArray(t)){let u=t.map(f=>Dr(f,e,r));return f=>{for(let h of u){let p=h(f);if(p)return p}return!1}}let i=yde(t)&&t.tokens&&t.input;if(t===""||typeof t!="string"&&!i)throw new TypeError("Expected pattern to be a non-empty string");let n=e||{},s=rv.isWindows(e),o=i?Dr.compileRe(t,e):Dr.makeRe(t,e,!1,!0),a=o.state;delete o.state;let l=()=>!1;if(n.ignore){let u=_(P({},e),{ignore:null,onMatch:null,onResult:null});l=Dr(n.ignore,u,r)}let c=(u,g=!1)=>{let{isMatch:f,match:h,output:p}=Dr.test(u,o,e,{glob:t,posix:s}),d={glob:t,state:a,regex:o,posix:s,input:u,output:p,match:h,isMatch:f};return typeof n.onResult=="function"&&n.onResult(d),f===!1?(d.isMatch=!1,g?d:!1):l(u)?(typeof n.onIgnore=="function"&&n.onIgnore(d),d.isMatch=!1,g?d:!1):(typeof n.onMatch=="function"&&n.onMatch(d),g?d:!0)};return r&&(c.state=a),c};Dr.test=(t,e,r,{glob:i,posix:n}={})=>{if(typeof t!="string")throw new TypeError("Expected input to be a string");if(t==="")return{isMatch:!1,output:""};let s=r||{},o=s.format||(n?rv.toPosixSlashes:null),a=t===i,l=a&&o?o(t):t;return a===!1&&(l=o?o(t):t,a=l===i),(a===!1||s.capture===!0)&&(s.matchBase===!0||s.basename===!0?a=Dr.matchBase(t,e,r,n):a=e.exec(l)),{isMatch:Boolean(a),match:a,output:l}};Dr.matchBase=(t,e,r,i=rv.isWindows(r))=>(e instanceof RegExp?e:Dr.makeRe(e,r)).test(mde.basename(t));Dr.isMatch=(t,e,r)=>Dr(e,r)(t);Dr.parse=(t,e)=>Array.isArray(t)?t.map(r=>Dr.parse(r,e)):tv(t,_(P({},e),{fastpaths:!1}));Dr.scan=(t,e)=>Ede(t,e);Dr.compileRe=(t,e,r=!1,i=!1)=>{if(r===!0)return t.output;let n=e||{},s=n.contains?"":"^",o=n.contains?"":"$",a=`${s}(?:${t.output})${o}`;t&&t.negated===!0&&(a=`^(?!${a}).*$`);let l=Dr.toRegex(a,e);return i===!0&&(l.state=t),l};Dr.makeRe=(t,e,r=!1,i=!1)=>{if(!t||typeof t!="string")throw new TypeError("Expected a non-empty string");let n=e||{},s={negated:!1,fastpaths:!0},o="",a;return t.startsWith("./")&&(t=t.slice(2),o=s.prefix="./"),n.fastpaths!==!1&&(t[0]==="."||t[0]==="*")&&(a=tv.fastpaths(t,e)),a===void 0?(s=tv(t,e),s.prefix=o+(s.prefix||"")):s.output=a,Dr.compileRe(s,e,r,i)};Dr.toRegex=(t,e)=>{try{let r=e||{};return new RegExp(t,r.flags||(r.nocase?"i":""))}catch(r){if(e&&e.debug===!0)throw r;return/$^/}};Dr.constants=Ide;rU.exports=Dr});var iv=E((z$e,nU)=>{"use strict";nU.exports=iU()});var Nn=E((V$e,sU)=>{"use strict";var oU=require("util"),aU=M1(),no=iv(),nv=Ch(),AU=t=>typeof t=="string"&&(t===""||t==="./"),pr=(t,e,r)=>{e=[].concat(e),t=[].concat(t);let i=new Set,n=new Set,s=new Set,o=0,a=u=>{s.add(u.output),r&&r.onResult&&r.onResult(u)};for(let u=0;u!i.has(u));if(r&&c.length===0){if(r.failglob===!0)throw new Error(`No matches found for "${e.join(", ")}"`);if(r.nonull===!0||r.nullglob===!0)return r.unescape?e.map(u=>u.replace(/\\/g,"")):e}return c};pr.match=pr;pr.matcher=(t,e)=>no(t,e);pr.isMatch=(t,e,r)=>no(e,r)(t);pr.any=pr.isMatch;pr.not=(t,e,r={})=>{e=[].concat(e).map(String);let i=new Set,n=[],s=a=>{r.onResult&&r.onResult(a),n.push(a.output)},o=pr(t,e,_(P({},r),{onResult:s}));for(let a of n)o.includes(a)||i.add(a);return[...i]};pr.contains=(t,e,r)=>{if(typeof t!="string")throw new TypeError(`Expected a string: "${oU.inspect(t)}"`);if(Array.isArray(e))return e.some(i=>pr.contains(t,i,r));if(typeof e=="string"){if(AU(t)||AU(e))return!1;if(t.includes(e)||t.startsWith("./")&&t.slice(2).includes(e))return!0}return pr.isMatch(t,e,_(P({},r),{contains:!0}))};pr.matchKeys=(t,e,r)=>{if(!nv.isObject(t))throw new TypeError("Expected the first argument to be an object");let i=pr(Object.keys(t),e,r),n={};for(let s of i)n[s]=t[s];return n};pr.some=(t,e,r)=>{let i=[].concat(t);for(let n of[].concat(e)){let s=no(String(n),r);if(i.some(o=>s(o)))return!0}return!1};pr.every=(t,e,r)=>{let i=[].concat(t);for(let n of[].concat(e)){let s=no(String(n),r);if(!i.every(o=>s(o)))return!1}return!0};pr.all=(t,e,r)=>{if(typeof t!="string")throw new TypeError(`Expected a string: "${oU.inspect(t)}"`);return[].concat(e).every(i=>no(i,r)(t))};pr.capture=(t,e,r)=>{let i=nv.isWindows(r),s=no.makeRe(String(t),_(P({},r),{capture:!0})).exec(i?nv.toPosixSlashes(e):e);if(s)return s.slice(1).map(o=>o===void 0?"":o)};pr.makeRe=(...t)=>no.makeRe(...t);pr.scan=(...t)=>no.scan(...t);pr.parse=(t,e)=>{let r=[];for(let i of[].concat(t||[]))for(let n of aU(String(i),e))r.push(no.parse(n,e));return r};pr.braces=(t,e)=>{if(typeof t!="string")throw new TypeError("Expected a string");return e&&e.nobrace===!0||!/\{.*\}/.test(t)?[t]:aU(t,e)};pr.braceExpand=(t,e)=>{if(typeof t!="string")throw new TypeError("Expected a string");return pr.braces(t,_(P({},e),{expand:!0}))};sU.exports=pr});var cU=E((_$e,lU)=>{"use strict";lU.exports=({onlyFirst:t=!1}={})=>{let e=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:[a-zA-Z\\d]*(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(e,t?void 0:"g")}});var gU=E((X$e,uU)=>{"use strict";var wde=cU();uU.exports=t=>typeof t=="string"?t.replace(wde(),""):t});var lu={};it(lu,{KeyRelationship:()=>Bl,applyCascade:()=>fv,base64RegExp:()=>CU,colorStringAlphaRegExp:()=>dU,colorStringRegExp:()=>pU,computeKey:()=>rA,getPrintable:()=>Mr,hasExactLength:()=>wU,hasForbiddenKeys:()=>eCe,hasKeyRelationship:()=>pv,hasMaxLength:()=>Mde,hasMinLength:()=>Tde,hasMutuallyExclusiveKeys:()=>tCe,hasRequiredKeys:()=>$de,hasUniqueItems:()=>Ode,isArray:()=>xde,isAtLeast:()=>Hde,isAtMost:()=>Gde,isBase64:()=>Xde,isBoolean:()=>bde,isDate:()=>Sde,isDict:()=>Pde,isEnum:()=>Yi,isHexColor:()=>_de,isISO8601:()=>Vde,isInExclusiveRange:()=>Yde,isInInclusiveRange:()=>jde,isInstanceOf:()=>Rde,isInteger:()=>qde,isJSON:()=>Zde,isLiteral:()=>Bde,isLowerCase:()=>Jde,isNegative:()=>Kde,isNullable:()=>Lde,isNumber:()=>vde,isObject:()=>Dde,isOneOf:()=>Fde,isOptional:()=>Nde,isPositive:()=>Ude,isString:()=>gv,isTuple:()=>kde,isUUID4:()=>zde,isUnknown:()=>yU,isUpperCase:()=>Wde,iso8601RegExp:()=>uv,makeCoercionFn:()=>wl,makeSetter:()=>IU,makeTrait:()=>EU,makeValidator:()=>Ct,matchesRegExp:()=>hv,plural:()=>GE,pushError:()=>at,simpleKeyRegExp:()=>hU,uuid4RegExp:()=>mU});function Ct({test:t}){return EU(t)()}function Mr(t){return t===null?"null":t===void 0?"undefined":t===""?"an empty string":JSON.stringify(t)}function rA(t,e){var r,i,n;return typeof e=="number"?`${(r=t==null?void 0:t.p)!==null&&r!==void 0?r:"."}[${e}]`:hU.test(e)?`${(i=t==null?void 0:t.p)!==null&&i!==void 0?i:""}.${e}`:`${(n=t==null?void 0:t.p)!==null&&n!==void 0?n:"."}[${JSON.stringify(e)}]`}function wl(t,e){return r=>{let i=t[e];return t[e]=r,wl(t,e).bind(null,i)}}function IU(t,e){return r=>{t[e]=r}}function GE(t,e,r){return t===1?e:r}function at({errors:t,p:e}={},r){return t==null||t.push(`${e!=null?e:"."}: ${r}`),!1}function Bde(t){return Ct({test:(e,r)=>e!==t?at(r,`Expected a literal (got ${Mr(t)})`):!0})}function Yi(t){let e=Array.isArray(t)?t:Object.values(t),r=new Set(e);return Ct({test:(i,n)=>r.has(i)?!0:at(n,`Expected a valid enumeration value (got ${Mr(i)})`)})}var hU,pU,dU,CU,mU,uv,EU,yU,gv,Qde,bde,vde,Sde,xde,kde,Pde,Dde,Rde,Fde,fv,Nde,Lde,Tde,Mde,wU,Ode,Kde,Ude,Hde,Gde,jde,Yde,qde,hv,Jde,Wde,zde,Vde,_de,Xde,Zde,$de,eCe,tCe,Bl,rCe,pv,Ss=Yfe(()=>{hU=/^[a-zA-Z_][a-zA-Z0-9_]*$/,pU=/^#[0-9a-f]{6}$/i,dU=/^#[0-9a-f]{6}([0-9a-f]{2})?$/i,CU=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/,mU=/^[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89aAbB][a-f0-9]{3}-[a-f0-9]{12}$/i,uv=/^(?:[1-9]\d{3}(-?)(?:(?:0[1-9]|1[0-2])\1(?:0[1-9]|1\d|2[0-8])|(?:0[13-9]|1[0-2])\1(?:29|30)|(?:0[13578]|1[02])(?:\1)31|00[1-9]|0[1-9]\d|[12]\d{2}|3(?:[0-5]\d|6[0-5]))|(?:[1-9]\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)(?:(-?)02(?:\2)29|-?366))T(?:[01]\d|2[0-3])(:?)[0-5]\d(?:\3[0-5]\d)?(?:Z|[+-][01]\d(?:\3[0-5]\d)?)$/,EU=t=>()=>t;yU=()=>Ct({test:(t,e)=>!0});gv=()=>Ct({test:(t,e)=>typeof t!="string"?at(e,`Expected a string (got ${Mr(t)})`):!0});Qde=new Map([["true",!0],["True",!0],["1",!0],[1,!0],["false",!1],["False",!1],["0",!1],[0,!1]]),bde=()=>Ct({test:(t,e)=>{var r;if(typeof t!="boolean"){if(typeof(e==null?void 0:e.coercions)!="undefined"){if(typeof(e==null?void 0:e.coercion)=="undefined")return at(e,"Unbound coercion result");let i=Qde.get(t);if(typeof i!="undefined")return e.coercions.push([(r=e.p)!==null&&r!==void 0?r:".",e.coercion.bind(null,i)]),!0}return at(e,`Expected a boolean (got ${Mr(t)})`)}return!0}}),vde=()=>Ct({test:(t,e)=>{var r;if(typeof t!="number"){if(typeof(e==null?void 0:e.coercions)!="undefined"){if(typeof(e==null?void 0:e.coercion)=="undefined")return at(e,"Unbound coercion result");let i;if(typeof t=="string"){let n;try{n=JSON.parse(t)}catch(s){}if(typeof n=="number")if(JSON.stringify(n)===t)i=n;else return at(e,`Received a number that can't be safely represented by the runtime (${t})`)}if(typeof i!="undefined")return e.coercions.push([(r=e.p)!==null&&r!==void 0?r:".",e.coercion.bind(null,i)]),!0}return at(e,`Expected a number (got ${Mr(t)})`)}return!0}}),Sde=()=>Ct({test:(t,e)=>{var r;if(!(t instanceof Date)){if(typeof(e==null?void 0:e.coercions)!="undefined"){if(typeof(e==null?void 0:e.coercion)=="undefined")return at(e,"Unbound coercion result");let i;if(typeof t=="string"&&uv.test(t))i=new Date(t);else{let n;if(typeof t=="string"){let s;try{s=JSON.parse(t)}catch(o){}typeof s=="number"&&(n=s)}else typeof t=="number"&&(n=t);if(typeof n!="undefined")if(Number.isSafeInteger(n)||!Number.isSafeInteger(n*1e3))i=new Date(n*1e3);else return at(e,`Received a timestamp that can't be safely represented by the runtime (${t})`)}if(typeof i!="undefined")return e.coercions.push([(r=e.p)!==null&&r!==void 0?r:".",e.coercion.bind(null,i)]),!0}return at(e,`Expected a date (got ${Mr(t)})`)}return!0}}),xde=(t,{delimiter:e}={})=>Ct({test:(r,i)=>{var n;if(typeof r=="string"&&typeof e!="undefined"&&typeof(i==null?void 0:i.coercions)!="undefined"){if(typeof(i==null?void 0:i.coercion)=="undefined")return at(i,"Unbound coercion result");r=r.split(e),i.coercions.push([(n=i.p)!==null&&n!==void 0?n:".",i.coercion.bind(null,r)])}if(!Array.isArray(r))return at(i,`Expected an array (got ${Mr(r)})`);let s=!0;for(let o=0,a=r.length;o{let r=wU(t.length);return Ct({test:(i,n)=>{var s;if(typeof i=="string"&&typeof e!="undefined"&&typeof(n==null?void 0:n.coercions)!="undefined"){if(typeof(n==null?void 0:n.coercion)=="undefined")return at(n,"Unbound coercion result");i=i.split(e),n.coercions.push([(s=n.p)!==null&&s!==void 0?s:".",n.coercion.bind(null,i)])}if(!Array.isArray(i))return at(n,`Expected a tuple (got ${Mr(i)})`);let o=r(i,Object.assign({},n));for(let a=0,l=i.length;aCt({test:(r,i)=>{if(typeof r!="object"||r===null)return at(i,`Expected an object (got ${Mr(r)})`);let n=Object.keys(r),s=!0;for(let o=0,a=n.length;o{let r=Object.keys(t);return Ct({test:(i,n)=>{if(typeof i!="object"||i===null)return at(n,`Expected an object (got ${Mr(i)})`);let s=new Set([...r,...Object.keys(i)]),o={},a=!0;for(let l of s){if(l==="constructor"||l==="__proto__")a=at(Object.assign(Object.assign({},n),{p:rA(n,l)}),"Unsafe property name");else{let c=Object.prototype.hasOwnProperty.call(t,l)?t[l]:void 0,u=Object.prototype.hasOwnProperty.call(i,l)?i[l]:void 0;typeof c!="undefined"?a=c(u,Object.assign(Object.assign({},n),{p:rA(n,l),coercion:wl(i,l)}))&&a:e===null?a=at(Object.assign(Object.assign({},n),{p:rA(n,l)}),`Extraneous property (got ${Mr(u)})`):Object.defineProperty(o,l,{enumerable:!0,get:()=>u,set:IU(i,l)})}if(!a&&(n==null?void 0:n.errors)==null)break}return e!==null&&(a||(n==null?void 0:n.errors)!=null)&&(a=e(o,n)&&a),a}})},Rde=t=>Ct({test:(e,r)=>e instanceof t?!0:at(r,`Expected an instance of ${t.name} (got ${Mr(e)})`)}),Fde=(t,{exclusive:e=!1}={})=>Ct({test:(r,i)=>{var n,s,o;let a=[],l=typeof(i==null?void 0:i.errors)!="undefined"?[]:void 0;for(let c=0,u=t.length;c1?at(i,`Expected to match exactly a single predicate (matched ${a.join(", ")})`):(o=i==null?void 0:i.errors)===null||o===void 0||o.push(...l),!1}}),fv=(t,e)=>Ct({test:(r,i)=>{var n,s;let o={value:r},a=typeof(i==null?void 0:i.coercions)!="undefined"?wl(o,"value"):void 0,l=typeof(i==null?void 0:i.coercions)!="undefined"?[]:void 0;if(!t(r,Object.assign(Object.assign({},i),{coercion:a,coercions:l})))return!1;let c=[];if(typeof l!="undefined")for(let[,u]of l)c.push(u());try{if(typeof(i==null?void 0:i.coercions)!="undefined"){if(o.value!==r){if(typeof(i==null?void 0:i.coercion)=="undefined")return at(i,"Unbound coercion result");i.coercions.push([(n=i.p)!==null&&n!==void 0?n:".",i.coercion.bind(null,o.value)])}(s=i==null?void 0:i.coercions)===null||s===void 0||s.push(...l)}return e.every(u=>u(o.value,i))}finally{for(let u of c)u()}}}),Nde=t=>Ct({test:(e,r)=>typeof e=="undefined"?!0:t(e,r)}),Lde=t=>Ct({test:(e,r)=>e===null?!0:t(e,r)}),Tde=t=>Ct({test:(e,r)=>e.length>=t?!0:at(r,`Expected to have a length of at least ${t} elements (got ${e.length})`)}),Mde=t=>Ct({test:(e,r)=>e.length<=t?!0:at(r,`Expected to have a length of at most ${t} elements (got ${e.length})`)}),wU=t=>Ct({test:(e,r)=>e.length!==t?at(r,`Expected to have a length of exactly ${t} elements (got ${e.length})`):!0}),Ode=({map:t}={})=>Ct({test:(e,r)=>{let i=new Set,n=new Set;for(let s=0,o=e.length;sCt({test:(t,e)=>t<=0?!0:at(e,`Expected to be negative (got ${t})`)}),Ude=()=>Ct({test:(t,e)=>t>=0?!0:at(e,`Expected to be positive (got ${t})`)}),Hde=t=>Ct({test:(e,r)=>e>=t?!0:at(r,`Expected to be at least ${t} (got ${e})`)}),Gde=t=>Ct({test:(e,r)=>e<=t?!0:at(r,`Expected to be at most ${t} (got ${e})`)}),jde=(t,e)=>Ct({test:(r,i)=>r>=t&&r<=e?!0:at(i,`Expected to be in the [${t}; ${e}] range (got ${r})`)}),Yde=(t,e)=>Ct({test:(r,i)=>r>=t&&rCt({test:(e,r)=>e!==Math.round(e)?at(r,`Expected to be an integer (got ${e})`):Number.isSafeInteger(e)?!0:at(r,`Expected to be a safe integer (got ${e})`)}),hv=t=>Ct({test:(e,r)=>t.test(e)?!0:at(r,`Expected to match the pattern ${t.toString()} (got ${Mr(e)})`)}),Jde=()=>Ct({test:(t,e)=>t!==t.toLowerCase()?at(e,`Expected to be all-lowercase (got ${t})`):!0}),Wde=()=>Ct({test:(t,e)=>t!==t.toUpperCase()?at(e,`Expected to be all-uppercase (got ${t})`):!0}),zde=()=>Ct({test:(t,e)=>mU.test(t)?!0:at(e,`Expected to be a valid UUID v4 (got ${Mr(t)})`)}),Vde=()=>Ct({test:(t,e)=>uv.test(t)?!1:at(e,`Expected to be a valid ISO 8601 date string (got ${Mr(t)})`)}),_de=({alpha:t=!1})=>Ct({test:(e,r)=>(t?pU.test(e):dU.test(e))?!0:at(r,`Expected to be a valid hexadecimal color string (got ${Mr(e)})`)}),Xde=()=>Ct({test:(t,e)=>CU.test(t)?!0:at(e,`Expected to be a valid base 64 string (got ${Mr(t)})`)}),Zde=(t=yU())=>Ct({test:(e,r)=>{let i;try{i=JSON.parse(e)}catch(n){return at(r,`Expected to be a valid JSON string (got ${Mr(e)})`)}return t(i,r)}}),$de=t=>{let e=new Set(t);return Ct({test:(r,i)=>{let n=new Set(Object.keys(r)),s=[];for(let o of e)n.has(o)||s.push(o);return s.length>0?at(i,`Missing required ${GE(s.length,"property","properties")} ${s.map(o=>`"${o}"`).join(", ")}`):!0}})},eCe=t=>{let e=new Set(t);return Ct({test:(r,i)=>{let n=new Set(Object.keys(r)),s=[];for(let o of e)n.has(o)&&s.push(o);return s.length>0?at(i,`Forbidden ${GE(s.length,"property","properties")} ${s.map(o=>`"${o}"`).join(", ")}`):!0}})},tCe=t=>{let e=new Set(t);return Ct({test:(r,i)=>{let n=new Set(Object.keys(r)),s=[];for(let o of e)n.has(o)&&s.push(o);return s.length>1?at(i,`Mutually exclusive properties ${s.map(o=>`"${o}"`).join(", ")}`):!0}})};(function(t){t.Forbids="Forbids",t.Requires="Requires"})(Bl||(Bl={}));rCe={[Bl.Forbids]:{expect:!1,message:"forbids using"},[Bl.Requires]:{expect:!0,message:"requires using"}},pv=(t,e,r,{ignore:i=[]}={})=>{let n=new Set(i),s=new Set(r),o=rCe[e];return Ct({test:(a,l)=>{let c=new Set(Object.keys(a));if(!c.has(t)||n.has(a[t]))return!0;let u=[];for(let g of s)(c.has(g)&&!n.has(a[g]))!==o.expect&&u.push(g);return u.length>=1?at(l,`Property "${t}" ${o.message} ${GE(u.length,"property","properties")} ${u.map(g=>`"${g}"`).join(", ")}`):!0}})}});var Sh=E(($et,OU)=>{var mCe="2.0.0",ECe=256,ICe=Number.MAX_SAFE_INTEGER||9007199254740991,yCe=16;OU.exports={SEMVER_SPEC_VERSION:mCe,MAX_LENGTH:ECe,MAX_SAFE_INTEGER:ICe,MAX_SAFE_COMPONENT_LENGTH:yCe}});var xh=E((ett,KU)=>{var wCe=typeof process=="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...t)=>console.error("SEMVER",...t):()=>{};KU.exports=wCe});var Ql=E((iA,UU)=>{var{MAX_SAFE_COMPONENT_LENGTH:yv}=Sh(),BCe=xh();iA=UU.exports={};var QCe=iA.re=[],Je=iA.src=[],We=iA.t={},bCe=0,mt=(t,e,r)=>{let i=bCe++;BCe(i,e),We[t]=i,Je[i]=e,QCe[i]=new RegExp(e,r?"g":void 0)};mt("NUMERICIDENTIFIER","0|[1-9]\\d*");mt("NUMERICIDENTIFIERLOOSE","[0-9]+");mt("NONNUMERICIDENTIFIER","\\d*[a-zA-Z-][a-zA-Z0-9-]*");mt("MAINVERSION",`(${Je[We.NUMERICIDENTIFIER]})\\.(${Je[We.NUMERICIDENTIFIER]})\\.(${Je[We.NUMERICIDENTIFIER]})`);mt("MAINVERSIONLOOSE",`(${Je[We.NUMERICIDENTIFIERLOOSE]})\\.(${Je[We.NUMERICIDENTIFIERLOOSE]})\\.(${Je[We.NUMERICIDENTIFIERLOOSE]})`);mt("PRERELEASEIDENTIFIER",`(?:${Je[We.NUMERICIDENTIFIER]}|${Je[We.NONNUMERICIDENTIFIER]})`);mt("PRERELEASEIDENTIFIERLOOSE",`(?:${Je[We.NUMERICIDENTIFIERLOOSE]}|${Je[We.NONNUMERICIDENTIFIER]})`);mt("PRERELEASE",`(?:-(${Je[We.PRERELEASEIDENTIFIER]}(?:\\.${Je[We.PRERELEASEIDENTIFIER]})*))`);mt("PRERELEASELOOSE",`(?:-?(${Je[We.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${Je[We.PRERELEASEIDENTIFIERLOOSE]})*))`);mt("BUILDIDENTIFIER","[0-9A-Za-z-]+");mt("BUILD",`(?:\\+(${Je[We.BUILDIDENTIFIER]}(?:\\.${Je[We.BUILDIDENTIFIER]})*))`);mt("FULLPLAIN",`v?${Je[We.MAINVERSION]}${Je[We.PRERELEASE]}?${Je[We.BUILD]}?`);mt("FULL",`^${Je[We.FULLPLAIN]}$`);mt("LOOSEPLAIN",`[v=\\s]*${Je[We.MAINVERSIONLOOSE]}${Je[We.PRERELEASELOOSE]}?${Je[We.BUILD]}?`);mt("LOOSE",`^${Je[We.LOOSEPLAIN]}$`);mt("GTLT","((?:<|>)?=?)");mt("XRANGEIDENTIFIERLOOSE",`${Je[We.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`);mt("XRANGEIDENTIFIER",`${Je[We.NUMERICIDENTIFIER]}|x|X|\\*`);mt("XRANGEPLAIN",`[v=\\s]*(${Je[We.XRANGEIDENTIFIER]})(?:\\.(${Je[We.XRANGEIDENTIFIER]})(?:\\.(${Je[We.XRANGEIDENTIFIER]})(?:${Je[We.PRERELEASE]})?${Je[We.BUILD]}?)?)?`);mt("XRANGEPLAINLOOSE",`[v=\\s]*(${Je[We.XRANGEIDENTIFIERLOOSE]})(?:\\.(${Je[We.XRANGEIDENTIFIERLOOSE]})(?:\\.(${Je[We.XRANGEIDENTIFIERLOOSE]})(?:${Je[We.PRERELEASELOOSE]})?${Je[We.BUILD]}?)?)?`);mt("XRANGE",`^${Je[We.GTLT]}\\s*${Je[We.XRANGEPLAIN]}$`);mt("XRANGELOOSE",`^${Je[We.GTLT]}\\s*${Je[We.XRANGEPLAINLOOSE]}$`);mt("COERCE",`(^|[^\\d])(\\d{1,${yv}})(?:\\.(\\d{1,${yv}}))?(?:\\.(\\d{1,${yv}}))?(?:$|[^\\d])`);mt("COERCERTL",Je[We.COERCE],!0);mt("LONETILDE","(?:~>?)");mt("TILDETRIM",`(\\s*)${Je[We.LONETILDE]}\\s+`,!0);iA.tildeTrimReplace="$1~";mt("TILDE",`^${Je[We.LONETILDE]}${Je[We.XRANGEPLAIN]}$`);mt("TILDELOOSE",`^${Je[We.LONETILDE]}${Je[We.XRANGEPLAINLOOSE]}$`);mt("LONECARET","(?:\\^)");mt("CARETTRIM",`(\\s*)${Je[We.LONECARET]}\\s+`,!0);iA.caretTrimReplace="$1^";mt("CARET",`^${Je[We.LONECARET]}${Je[We.XRANGEPLAIN]}$`);mt("CARETLOOSE",`^${Je[We.LONECARET]}${Je[We.XRANGEPLAINLOOSE]}$`);mt("COMPARATORLOOSE",`^${Je[We.GTLT]}\\s*(${Je[We.LOOSEPLAIN]})$|^$`);mt("COMPARATOR",`^${Je[We.GTLT]}\\s*(${Je[We.FULLPLAIN]})$|^$`);mt("COMPARATORTRIM",`(\\s*)${Je[We.GTLT]}\\s*(${Je[We.LOOSEPLAIN]}|${Je[We.XRANGEPLAIN]})`,!0);iA.comparatorTrimReplace="$1$2$3";mt("HYPHENRANGE",`^\\s*(${Je[We.XRANGEPLAIN]})\\s+-\\s+(${Je[We.XRANGEPLAIN]})\\s*$`);mt("HYPHENRANGELOOSE",`^\\s*(${Je[We.XRANGEPLAINLOOSE]})\\s+-\\s+(${Je[We.XRANGEPLAINLOOSE]})\\s*$`);mt("STAR","(<|>)?=?\\s*\\*");mt("GTE0","^\\s*>=\\s*0.0.0\\s*$");mt("GTE0PRE","^\\s*>=\\s*0.0.0-0\\s*$")});var kh=E((ttt,HU)=>{var vCe=["includePrerelease","loose","rtl"],SCe=t=>t?typeof t!="object"?{loose:!0}:vCe.filter(e=>t[e]).reduce((e,r)=>(e[r]=!0,e),{}):{};HU.exports=SCe});var zE=E((rtt,GU)=>{var jU=/^[0-9]+$/,YU=(t,e)=>{let r=jU.test(t),i=jU.test(e);return r&&i&&(t=+t,e=+e),t===e?0:r&&!i?-1:i&&!r?1:tYU(e,t);GU.exports={compareIdentifiers:YU,rcompareIdentifiers:xCe}});var bi=E((itt,qU)=>{var VE=xh(),{MAX_LENGTH:JU,MAX_SAFE_INTEGER:_E}=Sh(),{re:WU,t:zU}=Ql(),kCe=kh(),{compareIdentifiers:Ph}=zE(),_n=class{constructor(e,r){if(r=kCe(r),e instanceof _n){if(e.loose===!!r.loose&&e.includePrerelease===!!r.includePrerelease)return e;e=e.version}else if(typeof e!="string")throw new TypeError(`Invalid Version: ${e}`);if(e.length>JU)throw new TypeError(`version is longer than ${JU} characters`);VE("SemVer",e,r),this.options=r,this.loose=!!r.loose,this.includePrerelease=!!r.includePrerelease;let i=e.trim().match(r.loose?WU[zU.LOOSE]:WU[zU.FULL]);if(!i)throw new TypeError(`Invalid Version: ${e}`);if(this.raw=e,this.major=+i[1],this.minor=+i[2],this.patch=+i[3],this.major>_E||this.major<0)throw new TypeError("Invalid major version");if(this.minor>_E||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>_E||this.patch<0)throw new TypeError("Invalid patch version");i[4]?this.prerelease=i[4].split(".").map(n=>{if(/^[0-9]+$/.test(n)){let s=+n;if(s>=0&&s<_E)return s}return n}):this.prerelease=[],this.build=i[5]?i[5].split("."):[],this.format()}format(){return this.version=`${this.major}.${this.minor}.${this.patch}`,this.prerelease.length&&(this.version+=`-${this.prerelease.join(".")}`),this.version}toString(){return this.version}compare(e){if(VE("SemVer.compare",this.version,this.options,e),!(e instanceof _n)){if(typeof e=="string"&&e===this.version)return 0;e=new _n(e,this.options)}return e.version===this.version?0:this.compareMain(e)||this.comparePre(e)}compareMain(e){return e instanceof _n||(e=new _n(e,this.options)),Ph(this.major,e.major)||Ph(this.minor,e.minor)||Ph(this.patch,e.patch)}comparePre(e){if(e instanceof _n||(e=new _n(e,this.options)),this.prerelease.length&&!e.prerelease.length)return-1;if(!this.prerelease.length&&e.prerelease.length)return 1;if(!this.prerelease.length&&!e.prerelease.length)return 0;let r=0;do{let i=this.prerelease[r],n=e.prerelease[r];if(VE("prerelease compare",r,i,n),i===void 0&&n===void 0)return 0;if(n===void 0)return 1;if(i===void 0)return-1;if(i===n)continue;return Ph(i,n)}while(++r)}compareBuild(e){e instanceof _n||(e=new _n(e,this.options));let r=0;do{let i=this.build[r],n=e.build[r];if(VE("prerelease compare",r,i,n),i===void 0&&n===void 0)return 0;if(n===void 0)return 1;if(i===void 0)return-1;if(i===n)continue;return Ph(i,n)}while(++r)}inc(e,r){switch(e){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",r);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",r);break;case"prepatch":this.prerelease.length=0,this.inc("patch",r),this.inc("pre",r);break;case"prerelease":this.prerelease.length===0&&this.inc("patch",r),this.inc("pre",r);break;case"major":(this.minor!==0||this.patch!==0||this.prerelease.length===0)&&this.major++,this.minor=0,this.patch=0,this.prerelease=[];break;case"minor":(this.patch!==0||this.prerelease.length===0)&&this.minor++,this.patch=0,this.prerelease=[];break;case"patch":this.prerelease.length===0&&this.patch++,this.prerelease=[];break;case"pre":if(this.prerelease.length===0)this.prerelease=[0];else{let i=this.prerelease.length;for(;--i>=0;)typeof this.prerelease[i]=="number"&&(this.prerelease[i]++,i=-2);i===-1&&this.prerelease.push(0)}r&&(this.prerelease[0]===r?isNaN(this.prerelease[1])&&(this.prerelease=[r,0]):this.prerelease=[r,0]);break;default:throw new Error(`invalid increment argument: ${e}`)}return this.format(),this.raw=this.version,this}};qU.exports=_n});var bl=E((ntt,VU)=>{var{MAX_LENGTH:PCe}=Sh(),{re:_U,t:XU}=Ql(),ZU=bi(),DCe=kh(),RCe=(t,e)=>{if(e=DCe(e),t instanceof ZU)return t;if(typeof t!="string"||t.length>PCe||!(e.loose?_U[XU.LOOSE]:_U[XU.FULL]).test(t))return null;try{return new ZU(t,e)}catch(i){return null}};VU.exports=RCe});var e2=E((stt,$U)=>{var FCe=bl(),NCe=(t,e)=>{let r=FCe(t,e);return r?r.version:null};$U.exports=NCe});var r2=E((ott,t2)=>{var LCe=bl(),TCe=(t,e)=>{let r=LCe(t.trim().replace(/^[=v]+/,""),e);return r?r.version:null};t2.exports=TCe});var n2=E((att,i2)=>{var MCe=bi(),OCe=(t,e,r,i)=>{typeof r=="string"&&(i=r,r=void 0);try{return new MCe(t,r).inc(e,i).version}catch(n){return null}};i2.exports=OCe});var Xn=E((Att,s2)=>{var o2=bi(),KCe=(t,e,r)=>new o2(t,r).compare(new o2(e,r));s2.exports=KCe});var XE=E((ltt,a2)=>{var UCe=Xn(),HCe=(t,e,r)=>UCe(t,e,r)===0;a2.exports=HCe});var c2=E((ctt,A2)=>{var l2=bl(),GCe=XE(),jCe=(t,e)=>{if(GCe(t,e))return null;{let r=l2(t),i=l2(e),n=r.prerelease.length||i.prerelease.length,s=n?"pre":"",o=n?"prerelease":"";for(let a in r)if((a==="major"||a==="minor"||a==="patch")&&r[a]!==i[a])return s+a;return o}};A2.exports=jCe});var g2=E((utt,u2)=>{var YCe=bi(),qCe=(t,e)=>new YCe(t,e).major;u2.exports=qCe});var h2=E((gtt,f2)=>{var JCe=bi(),WCe=(t,e)=>new JCe(t,e).minor;f2.exports=WCe});var d2=E((ftt,p2)=>{var zCe=bi(),VCe=(t,e)=>new zCe(t,e).patch;p2.exports=VCe});var m2=E((htt,C2)=>{var _Ce=bl(),XCe=(t,e)=>{let r=_Ce(t,e);return r&&r.prerelease.length?r.prerelease:null};C2.exports=XCe});var I2=E((ptt,E2)=>{var ZCe=Xn(),$Ce=(t,e,r)=>ZCe(e,t,r);E2.exports=$Ce});var w2=E((dtt,y2)=>{var eme=Xn(),tme=(t,e)=>eme(t,e,!0);y2.exports=tme});var ZE=E((Ctt,B2)=>{var Q2=bi(),rme=(t,e,r)=>{let i=new Q2(t,r),n=new Q2(e,r);return i.compare(n)||i.compareBuild(n)};B2.exports=rme});var v2=E((mtt,b2)=>{var ime=ZE(),nme=(t,e)=>t.sort((r,i)=>ime(r,i,e));b2.exports=nme});var x2=E((Ett,S2)=>{var sme=ZE(),ome=(t,e)=>t.sort((r,i)=>sme(i,r,e));S2.exports=ome});var Dh=E((Itt,k2)=>{var ame=Xn(),Ame=(t,e,r)=>ame(t,e,r)>0;k2.exports=Ame});var $E=E((ytt,P2)=>{var lme=Xn(),cme=(t,e,r)=>lme(t,e,r)<0;P2.exports=cme});var wv=E((wtt,D2)=>{var ume=Xn(),gme=(t,e,r)=>ume(t,e,r)!==0;D2.exports=gme});var eI=E((Btt,R2)=>{var fme=Xn(),hme=(t,e,r)=>fme(t,e,r)>=0;R2.exports=hme});var tI=E((Qtt,F2)=>{var pme=Xn(),dme=(t,e,r)=>pme(t,e,r)<=0;F2.exports=dme});var Bv=E((btt,N2)=>{var Cme=XE(),mme=wv(),Eme=Dh(),Ime=eI(),yme=$E(),wme=tI(),Bme=(t,e,r,i)=>{switch(e){case"===":return typeof t=="object"&&(t=t.version),typeof r=="object"&&(r=r.version),t===r;case"!==":return typeof t=="object"&&(t=t.version),typeof r=="object"&&(r=r.version),t!==r;case"":case"=":case"==":return Cme(t,r,i);case"!=":return mme(t,r,i);case">":return Eme(t,r,i);case">=":return Ime(t,r,i);case"<":return yme(t,r,i);case"<=":return wme(t,r,i);default:throw new TypeError(`Invalid operator: ${e}`)}};N2.exports=Bme});var T2=E((vtt,L2)=>{var Qme=bi(),bme=bl(),{re:rI,t:iI}=Ql(),vme=(t,e)=>{if(t instanceof Qme)return t;if(typeof t=="number"&&(t=String(t)),typeof t!="string")return null;e=e||{};let r=null;if(!e.rtl)r=t.match(rI[iI.COERCE]);else{let i;for(;(i=rI[iI.COERCERTL].exec(t))&&(!r||r.index+r[0].length!==t.length);)(!r||i.index+i[0].length!==r.index+r[0].length)&&(r=i),rI[iI.COERCERTL].lastIndex=i.index+i[1].length+i[2].length;rI[iI.COERCERTL].lastIndex=-1}return r===null?null:bme(`${r[2]}.${r[3]||"0"}.${r[4]||"0"}`,e)};L2.exports=vme});var O2=E((Stt,M2)=>{"use strict";M2.exports=function(t){t.prototype[Symbol.iterator]=function*(){for(let e=this.head;e;e=e.next)yield e.value}}});var Rh=E((xtt,K2)=>{"use strict";K2.exports=Pt;Pt.Node=vl;Pt.create=Pt;function Pt(t){var e=this;if(e instanceof Pt||(e=new Pt),e.tail=null,e.head=null,e.length=0,t&&typeof t.forEach=="function")t.forEach(function(n){e.push(n)});else if(arguments.length>0)for(var r=0,i=arguments.length;r1)r=e;else if(this.head)i=this.head.next,r=this.head.value;else throw new TypeError("Reduce of empty list with no initial value");for(var n=0;i!==null;n++)r=t(r,i.value,n),i=i.next;return r};Pt.prototype.reduceReverse=function(t,e){var r,i=this.tail;if(arguments.length>1)r=e;else if(this.tail)i=this.tail.prev,r=this.tail.value;else throw new TypeError("Reduce of empty list with no initial value");for(var n=this.length-1;i!==null;n--)r=t(r,i.value,n),i=i.prev;return r};Pt.prototype.toArray=function(){for(var t=new Array(this.length),e=0,r=this.head;r!==null;e++)t[e]=r.value,r=r.next;return t};Pt.prototype.toArrayReverse=function(){for(var t=new Array(this.length),e=0,r=this.tail;r!==null;e++)t[e]=r.value,r=r.prev;return t};Pt.prototype.slice=function(t,e){e=e||this.length,e<0&&(e+=this.length),t=t||0,t<0&&(t+=this.length);var r=new Pt;if(ethis.length&&(e=this.length);for(var i=0,n=this.head;n!==null&&ithis.length&&(e=this.length);for(var i=this.length,n=this.tail;n!==null&&i>e;i--)n=n.prev;for(;n!==null&&i>t;i--,n=n.prev)r.push(n.value);return r};Pt.prototype.splice=function(t,e,...r){t>this.length&&(t=this.length-1),t<0&&(t=this.length+t);for(var i=0,n=this.head;n!==null&&i{"use strict";var Pme=Rh(),Sl=Symbol("max"),ra=Symbol("length"),uu=Symbol("lengthCalculator"),Fh=Symbol("allowStale"),xl=Symbol("maxAge"),ia=Symbol("dispose"),H2=Symbol("noDisposeOnSet"),si=Symbol("lruList"),ks=Symbol("cache"),G2=Symbol("updateAgeOnGet"),Qv=()=>1,j2=class{constructor(e){if(typeof e=="number"&&(e={max:e}),e||(e={}),e.max&&(typeof e.max!="number"||e.max<0))throw new TypeError("max must be a non-negative number");let r=this[Sl]=e.max||Infinity,i=e.length||Qv;if(this[uu]=typeof i!="function"?Qv:i,this[Fh]=e.stale||!1,e.maxAge&&typeof e.maxAge!="number")throw new TypeError("maxAge must be a number");this[xl]=e.maxAge||0,this[ia]=e.dispose,this[H2]=e.noDisposeOnSet||!1,this[G2]=e.updateAgeOnGet||!1,this.reset()}set max(e){if(typeof e!="number"||e<0)throw new TypeError("max must be a non-negative number");this[Sl]=e||Infinity,Nh(this)}get max(){return this[Sl]}set allowStale(e){this[Fh]=!!e}get allowStale(){return this[Fh]}set maxAge(e){if(typeof e!="number")throw new TypeError("maxAge must be a non-negative number");this[xl]=e,Nh(this)}get maxAge(){return this[xl]}set lengthCalculator(e){typeof e!="function"&&(e=Qv),e!==this[uu]&&(this[uu]=e,this[ra]=0,this[si].forEach(r=>{r.length=this[uu](r.value,r.key),this[ra]+=r.length})),Nh(this)}get lengthCalculator(){return this[uu]}get length(){return this[ra]}get itemCount(){return this[si].length}rforEach(e,r){r=r||this;for(let i=this[si].tail;i!==null;){let n=i.prev;q2(this,e,i,r),i=n}}forEach(e,r){r=r||this;for(let i=this[si].head;i!==null;){let n=i.next;q2(this,e,i,r),i=n}}keys(){return this[si].toArray().map(e=>e.key)}values(){return this[si].toArray().map(e=>e.value)}reset(){this[ia]&&this[si]&&this[si].length&&this[si].forEach(e=>this[ia](e.key,e.value)),this[ks]=new Map,this[si]=new Pme,this[ra]=0}dump(){return this[si].map(e=>nI(this,e)?!1:{k:e.key,v:e.value,e:e.now+(e.maxAge||0)}).toArray().filter(e=>e)}dumpLru(){return this[si]}set(e,r,i){if(i=i||this[xl],i&&typeof i!="number")throw new TypeError("maxAge must be a number");let n=i?Date.now():0,s=this[uu](r,e);if(this[ks].has(e)){if(s>this[Sl])return gu(this,this[ks].get(e)),!1;let l=this[ks].get(e).value;return this[ia]&&(this[H2]||this[ia](e,l.value)),l.now=n,l.maxAge=i,l.value=r,this[ra]+=s-l.length,l.length=s,this.get(e),Nh(this),!0}let o=new Y2(e,r,s,n,i);return o.length>this[Sl]?(this[ia]&&this[ia](e,r),!1):(this[ra]+=o.length,this[si].unshift(o),this[ks].set(e,this[si].head),Nh(this),!0)}has(e){if(!this[ks].has(e))return!1;let r=this[ks].get(e).value;return!nI(this,r)}get(e){return bv(this,e,!0)}peek(e){return bv(this,e,!1)}pop(){let e=this[si].tail;return e?(gu(this,e),e.value):null}del(e){gu(this,this[ks].get(e))}load(e){this.reset();let r=Date.now();for(let i=e.length-1;i>=0;i--){let n=e[i],s=n.e||0;if(s===0)this.set(n.k,n.v);else{let o=s-r;o>0&&this.set(n.k,n.v,o)}}}prune(){this[ks].forEach((e,r)=>bv(this,r,!1))}},bv=(t,e,r)=>{let i=t[ks].get(e);if(i){let n=i.value;if(nI(t,n)){if(gu(t,i),!t[Fh])return}else r&&(t[G2]&&(i.value.now=Date.now()),t[si].unshiftNode(i));return n.value}},nI=(t,e)=>{if(!e||!e.maxAge&&!t[xl])return!1;let r=Date.now()-e.now;return e.maxAge?r>e.maxAge:t[xl]&&r>t[xl]},Nh=t=>{if(t[ra]>t[Sl])for(let e=t[si].tail;t[ra]>t[Sl]&&e!==null;){let r=e.prev;gu(t,e),e=r}},gu=(t,e)=>{if(e){let r=e.value;t[ia]&&t[ia](r.key,r.value),t[ra]-=r.length,t[ks].delete(r.key),t[si].removeNode(e)}},Y2=class{constructor(e,r,i,n,s){this.key=e,this.value=r,this.length=i,this.now=n,this.maxAge=s||0}},q2=(t,e,r,i)=>{let n=r.value;nI(t,n)&&(gu(t,r),t[Fh]||(n=void 0)),n&&e.call(i,n.value,n.key,t)};U2.exports=j2});var Zn=E((Ptt,W2)=>{var fu=class{constructor(e,r){if(r=Dme(r),e instanceof fu)return e.loose===!!r.loose&&e.includePrerelease===!!r.includePrerelease?e:new fu(e.raw,r);if(e instanceof vv)return this.raw=e.value,this.set=[[e]],this.format(),this;if(this.options=r,this.loose=!!r.loose,this.includePrerelease=!!r.includePrerelease,this.raw=e,this.set=e.split(/\s*\|\|\s*/).map(i=>this.parseRange(i.trim())).filter(i=>i.length),!this.set.length)throw new TypeError(`Invalid SemVer Range: ${e}`);if(this.set.length>1){let i=this.set[0];if(this.set=this.set.filter(n=>!V2(n[0])),this.set.length===0)this.set=[i];else if(this.set.length>1){for(let n of this.set)if(n.length===1&&Tme(n[0])){this.set=[n];break}}}this.format()}format(){return this.range=this.set.map(e=>e.join(" ").trim()).join("||").trim(),this.range}toString(){return this.range}parseRange(e){e=e.trim();let i=`parseRange:${Object.keys(this.options).join(",")}:${e}`,n=z2.get(i);if(n)return n;let s=this.options.loose,o=s?vi[di.HYPHENRANGELOOSE]:vi[di.HYPHENRANGE];e=e.replace(o,Kme(this.options.includePrerelease)),Rr("hyphen replace",e),e=e.replace(vi[di.COMPARATORTRIM],Fme),Rr("comparator trim",e,vi[di.COMPARATORTRIM]),e=e.replace(vi[di.TILDETRIM],Nme),e=e.replace(vi[di.CARETTRIM],Lme),e=e.split(/\s+/).join(" ");let a=s?vi[di.COMPARATORLOOSE]:vi[di.COMPARATOR],l=e.split(" ").map(f=>Mme(f,this.options)).join(" ").split(/\s+/).map(f=>Ome(f,this.options)).filter(this.options.loose?f=>!!f.match(a):()=>!0).map(f=>new vv(f,this.options)),c=l.length,u=new Map;for(let f of l){if(V2(f))return[f];u.set(f.value,f)}u.size>1&&u.has("")&&u.delete("");let g=[...u.values()];return z2.set(i,g),g}intersects(e,r){if(!(e instanceof fu))throw new TypeError("a Range is required");return this.set.some(i=>_2(i,r)&&e.set.some(n=>_2(n,r)&&i.every(s=>n.every(o=>s.intersects(o,r)))))}test(e){if(!e)return!1;if(typeof e=="string")try{e=new Rme(e,this.options)}catch(r){return!1}for(let r=0;rt.value==="<0.0.0-0",Tme=t=>t.value==="",_2=(t,e)=>{let r=!0,i=t.slice(),n=i.pop();for(;r&&i.length;)r=i.every(s=>n.intersects(s,e)),n=i.pop();return r},Mme=(t,e)=>(Rr("comp",t,e),t=jme(t,e),Rr("caret",t),t=Gme(t,e),Rr("tildes",t),t=Yme(t,e),Rr("xrange",t),t=qme(t,e),Rr("stars",t),t),Ji=t=>!t||t.toLowerCase()==="x"||t==="*",Gme=(t,e)=>t.trim().split(/\s+/).map(r=>Jme(r,e)).join(" "),Jme=(t,e)=>{let r=e.loose?vi[di.TILDELOOSE]:vi[di.TILDE];return t.replace(r,(i,n,s,o,a)=>{Rr("tilde",t,i,n,s,o,a);let l;return Ji(n)?l="":Ji(s)?l=`>=${n}.0.0 <${+n+1}.0.0-0`:Ji(o)?l=`>=${n}.${s}.0 <${n}.${+s+1}.0-0`:a?(Rr("replaceTilde pr",a),l=`>=${n}.${s}.${o}-${a} <${n}.${+s+1}.0-0`):l=`>=${n}.${s}.${o} <${n}.${+s+1}.0-0`,Rr("tilde return",l),l})},jme=(t,e)=>t.trim().split(/\s+/).map(r=>Wme(r,e)).join(" "),Wme=(t,e)=>{Rr("caret",t,e);let r=e.loose?vi[di.CARETLOOSE]:vi[di.CARET],i=e.includePrerelease?"-0":"";return t.replace(r,(n,s,o,a,l)=>{Rr("caret",t,n,s,o,a,l);let c;return Ji(s)?c="":Ji(o)?c=`>=${s}.0.0${i} <${+s+1}.0.0-0`:Ji(a)?s==="0"?c=`>=${s}.${o}.0${i} <${s}.${+o+1}.0-0`:c=`>=${s}.${o}.0${i} <${+s+1}.0.0-0`:l?(Rr("replaceCaret pr",l),s==="0"?o==="0"?c=`>=${s}.${o}.${a}-${l} <${s}.${o}.${+a+1}-0`:c=`>=${s}.${o}.${a}-${l} <${s}.${+o+1}.0-0`:c=`>=${s}.${o}.${a}-${l} <${+s+1}.0.0-0`):(Rr("no pr"),s==="0"?o==="0"?c=`>=${s}.${o}.${a}${i} <${s}.${o}.${+a+1}-0`:c=`>=${s}.${o}.${a}${i} <${s}.${+o+1}.0-0`:c=`>=${s}.${o}.${a} <${+s+1}.0.0-0`),Rr("caret return",c),c})},Yme=(t,e)=>(Rr("replaceXRanges",t,e),t.split(/\s+/).map(r=>zme(r,e)).join(" ")),zme=(t,e)=>{t=t.trim();let r=e.loose?vi[di.XRANGELOOSE]:vi[di.XRANGE];return t.replace(r,(i,n,s,o,a,l)=>{Rr("xRange",t,i,n,s,o,a,l);let c=Ji(s),u=c||Ji(o),g=u||Ji(a),f=g;return n==="="&&f&&(n=""),l=e.includePrerelease?"-0":"",c?n===">"||n==="<"?i="<0.0.0-0":i="*":n&&f?(u&&(o=0),a=0,n===">"?(n=">=",u?(s=+s+1,o=0,a=0):(o=+o+1,a=0)):n==="<="&&(n="<",u?s=+s+1:o=+o+1),n==="<"&&(l="-0"),i=`${n+s}.${o}.${a}${l}`):u?i=`>=${s}.0.0${l} <${+s+1}.0.0-0`:g&&(i=`>=${s}.${o}.0${l} <${s}.${+o+1}.0-0`),Rr("xRange return",i),i})},qme=(t,e)=>(Rr("replaceStars",t,e),t.trim().replace(vi[di.STAR],"")),Ome=(t,e)=>(Rr("replaceGTE0",t,e),t.trim().replace(vi[e.includePrerelease?di.GTE0PRE:di.GTE0],"")),Kme=t=>(e,r,i,n,s,o,a,l,c,u,g,f,h)=>(Ji(i)?r="":Ji(n)?r=`>=${i}.0.0${t?"-0":""}`:Ji(s)?r=`>=${i}.${n}.0${t?"-0":""}`:o?r=`>=${r}`:r=`>=${r}${t?"-0":""}`,Ji(c)?l="":Ji(u)?l=`<${+c+1}.0.0-0`:Ji(g)?l=`<${c}.${+u+1}.0-0`:f?l=`<=${c}.${u}.${g}-${f}`:t?l=`<${c}.${u}.${+g+1}-0`:l=`<=${l}`,`${r} ${l}`.trim()),Ume=(t,e,r)=>{for(let i=0;i0){let n=t[i].semver;if(n.major===e.major&&n.minor===e.minor&&n.patch===e.patch)return!0}return!1}return!0}});var Lh=E((Dtt,X2)=>{var Th=Symbol("SemVer ANY"),Mh=class{static get ANY(){return Th}constructor(e,r){if(r=Vme(r),e instanceof Mh){if(e.loose===!!r.loose)return e;e=e.value}xv("comparator",e,r),this.options=r,this.loose=!!r.loose,this.parse(e),this.semver===Th?this.value="":this.value=this.operator+this.semver.version,xv("comp",this)}parse(e){let r=this.options.loose?Z2[$2.COMPARATORLOOSE]:Z2[$2.COMPARATOR],i=e.match(r);if(!i)throw new TypeError(`Invalid comparator: ${e}`);this.operator=i[1]!==void 0?i[1]:"",this.operator==="="&&(this.operator=""),i[2]?this.semver=new eH(i[2],this.options.loose):this.semver=Th}toString(){return this.value}test(e){if(xv("Comparator.test",e,this.options.loose),this.semver===Th||e===Th)return!0;if(typeof e=="string")try{e=new eH(e,this.options)}catch(r){return!1}return Sv(e,this.operator,this.semver,this.options)}intersects(e,r){if(!(e instanceof Mh))throw new TypeError("a Comparator is required");if((!r||typeof r!="object")&&(r={loose:!!r,includePrerelease:!1}),this.operator==="")return this.value===""?!0:new tH(e.value,r).test(this.value);if(e.operator==="")return e.value===""?!0:new tH(this.value,r).test(e.semver);let i=(this.operator===">="||this.operator===">")&&(e.operator===">="||e.operator===">"),n=(this.operator==="<="||this.operator==="<")&&(e.operator==="<="||e.operator==="<"),s=this.semver.version===e.semver.version,o=(this.operator===">="||this.operator==="<=")&&(e.operator===">="||e.operator==="<="),a=Sv(this.semver,"<",e.semver,r)&&(this.operator===">="||this.operator===">")&&(e.operator==="<="||e.operator==="<"),l=Sv(this.semver,">",e.semver,r)&&(this.operator==="<="||this.operator==="<")&&(e.operator===">="||e.operator===">");return i||n||s&&o||a||l}};X2.exports=Mh;var Vme=kh(),{re:Z2,t:$2}=Ql(),Sv=Bv(),xv=xh(),eH=bi(),tH=Zn()});var Oh=E((Rtt,rH)=>{var _me=Zn(),Xme=(t,e,r)=>{try{e=new _me(e,r)}catch(i){return!1}return e.test(t)};rH.exports=Xme});var nH=E((Ftt,iH)=>{var Zme=Zn(),$me=(t,e)=>new Zme(t,e).set.map(r=>r.map(i=>i.value).join(" ").trim().split(" "));iH.exports=$me});var oH=E((Ntt,sH)=>{var eEe=bi(),tEe=Zn(),rEe=(t,e,r)=>{let i=null,n=null,s=null;try{s=new tEe(e,r)}catch(o){return null}return t.forEach(o=>{s.test(o)&&(!i||n.compare(o)===-1)&&(i=o,n=new eEe(i,r))}),i};sH.exports=rEe});var AH=E((Ltt,aH)=>{var iEe=bi(),nEe=Zn(),sEe=(t,e,r)=>{let i=null,n=null,s=null;try{s=new nEe(e,r)}catch(o){return null}return t.forEach(o=>{s.test(o)&&(!i||n.compare(o)===1)&&(i=o,n=new iEe(i,r))}),i};aH.exports=sEe});var uH=E((Ttt,lH)=>{var kv=bi(),oEe=Zn(),cH=Dh(),aEe=(t,e)=>{t=new oEe(t,e);let r=new kv("0.0.0");if(t.test(r)||(r=new kv("0.0.0-0"),t.test(r)))return r;r=null;for(let i=0;i{let a=new kv(o.semver.version);switch(o.operator){case">":a.prerelease.length===0?a.patch++:a.prerelease.push(0),a.raw=a.format();case"":case">=":(!s||cH(a,s))&&(s=a);break;case"<":case"<=":break;default:throw new Error(`Unexpected operation: ${o.operator}`)}}),s&&(!r||cH(r,s))&&(r=s)}return r&&t.test(r)?r:null};lH.exports=aEe});var fH=E((Mtt,gH)=>{var AEe=Zn(),lEe=(t,e)=>{try{return new AEe(t,e).range||"*"}catch(r){return null}};gH.exports=lEe});var sI=E((Ott,hH)=>{var cEe=bi(),pH=Lh(),{ANY:uEe}=pH,gEe=Zn(),fEe=Oh(),dH=Dh(),CH=$E(),hEe=tI(),pEe=eI(),dEe=(t,e,r,i)=>{t=new cEe(t,i),e=new gEe(e,i);let n,s,o,a,l;switch(r){case">":n=dH,s=hEe,o=CH,a=">",l=">=";break;case"<":n=CH,s=pEe,o=dH,a="<",l="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(fEe(t,e,i))return!1;for(let c=0;c{h.semver===uEe&&(h=new pH(">=0.0.0")),g=g||h,f=f||h,n(h.semver,g.semver,i)?g=h:o(h.semver,f.semver,i)&&(f=h)}),g.operator===a||g.operator===l||(!f.operator||f.operator===a)&&s(t,f.semver))return!1;if(f.operator===l&&o(t,f.semver))return!1}return!0};hH.exports=dEe});var EH=E((Ktt,mH)=>{var CEe=sI(),mEe=(t,e,r)=>CEe(t,e,">",r);mH.exports=mEe});var yH=E((Utt,IH)=>{var EEe=sI(),IEe=(t,e,r)=>EEe(t,e,"<",r);IH.exports=IEe});var QH=E((Htt,wH)=>{var BH=Zn(),yEe=(t,e,r)=>(t=new BH(t,r),e=new BH(e,r),t.intersects(e));wH.exports=yEe});var vH=E((Gtt,bH)=>{var wEe=Oh(),BEe=Xn();bH.exports=(t,e,r)=>{let i=[],n=null,s=null,o=t.sort((u,g)=>BEe(u,g,r));for(let u of o)wEe(u,e,r)?(s=u,n||(n=u)):(s&&i.push([n,s]),s=null,n=null);n&&i.push([n,null]);let a=[];for(let[u,g]of i)u===g?a.push(u):!g&&u===o[0]?a.push("*"):g?u===o[0]?a.push(`<=${g}`):a.push(`${u} - ${g}`):a.push(`>=${u}`);let l=a.join(" || "),c=typeof e.raw=="string"?e.raw:String(e);return l.length{var xH=Zn(),oI=Lh(),{ANY:Pv}=oI,Kh=Oh(),Dv=Xn(),bEe=(t,e,r={})=>{if(t===e)return!0;t=new xH(t,r),e=new xH(e,r);let i=!1;e:for(let n of t.set){for(let s of e.set){let o=QEe(n,s,r);if(i=i||o!==null,o)continue e}if(i)return!1}return!0},QEe=(t,e,r)=>{if(t===e)return!0;if(t.length===1&&t[0].semver===Pv){if(e.length===1&&e[0].semver===Pv)return!0;r.includePrerelease?t=[new oI(">=0.0.0-0")]:t=[new oI(">=0.0.0")]}if(e.length===1&&e[0].semver===Pv){if(r.includePrerelease)return!0;e=[new oI(">=0.0.0")]}let i=new Set,n,s;for(let h of t)h.operator===">"||h.operator===">="?n=kH(n,h,r):h.operator==="<"||h.operator==="<="?s=PH(s,h,r):i.add(h.semver);if(i.size>1)return null;let o;if(n&&s){if(o=Dv(n.semver,s.semver,r),o>0)return null;if(o===0&&(n.operator!==">="||s.operator!=="<="))return null}for(let h of i){if(n&&!Kh(h,String(n),r)||s&&!Kh(h,String(s),r))return null;for(let p of e)if(!Kh(h,String(p),r))return!1;return!0}let a,l,c,u,g=s&&!r.includePrerelease&&s.semver.prerelease.length?s.semver:!1,f=n&&!r.includePrerelease&&n.semver.prerelease.length?n.semver:!1;g&&g.prerelease.length===1&&s.operator==="<"&&g.prerelease[0]===0&&(g=!1);for(let h of e){if(u=u||h.operator===">"||h.operator===">=",c=c||h.operator==="<"||h.operator==="<=",n){if(f&&h.semver.prerelease&&h.semver.prerelease.length&&h.semver.major===f.major&&h.semver.minor===f.minor&&h.semver.patch===f.patch&&(f=!1),h.operator===">"||h.operator===">="){if(a=kH(n,h,r),a===h&&a!==n)return!1}else if(n.operator===">="&&!Kh(n.semver,String(h),r))return!1}if(s){if(g&&h.semver.prerelease&&h.semver.prerelease.length&&h.semver.major===g.major&&h.semver.minor===g.minor&&h.semver.patch===g.patch&&(g=!1),h.operator==="<"||h.operator==="<="){if(l=PH(s,h,r),l===h&&l!==s)return!1}else if(s.operator==="<="&&!Kh(s.semver,String(h),r))return!1}if(!h.operator&&(s||n)&&o!==0)return!1}return!(n&&c&&!s&&o!==0||s&&u&&!n&&o!==0||f||g)},kH=(t,e,r)=>{if(!t)return e;let i=Dv(t.semver,e.semver,r);return i>0?t:i<0||e.operator===">"&&t.operator===">="?e:t},PH=(t,e,r)=>{if(!t)return e;let i=Dv(t.semver,e.semver,r);return i<0?t:i>0||e.operator==="<"&&t.operator==="<="?e:t};SH.exports=bEe});var Or=E((Ytt,RH)=>{var Rv=Ql();RH.exports={re:Rv.re,src:Rv.src,tokens:Rv.t,SEMVER_SPEC_VERSION:Sh().SEMVER_SPEC_VERSION,SemVer:bi(),compareIdentifiers:zE().compareIdentifiers,rcompareIdentifiers:zE().rcompareIdentifiers,parse:bl(),valid:e2(),clean:r2(),inc:n2(),diff:c2(),major:g2(),minor:h2(),patch:d2(),prerelease:m2(),compare:Xn(),rcompare:I2(),compareLoose:w2(),compareBuild:ZE(),sort:v2(),rsort:x2(),gt:Dh(),lt:$E(),eq:XE(),neq:wv(),gte:eI(),lte:tI(),cmp:Bv(),coerce:T2(),Comparator:Lh(),Range:Zn(),satisfies:Oh(),toComparators:nH(),maxSatisfying:oH(),minSatisfying:AH(),minVersion:uH(),validRange:fH(),outside:sI(),gtr:EH(),ltr:yH(),intersects:QH(),simplifyRange:vH(),subset:DH()}});var Uv=E(AI=>{"use strict";Object.defineProperty(AI,"__esModule",{value:!0});AI.VERSION=void 0;AI.VERSION="9.1.0"});var Dt=E((exports,module)=>{"use strict";var __spreadArray=exports&&exports.__spreadArray||function(t,e,r){if(r||arguments.length===2)for(var i=0,n=e.length,s;i{(function(t,e){typeof define=="function"&&define.amd?define([],e):typeof lI=="object"&&lI.exports?lI.exports=e():t.regexpToAst=e()})(typeof self!="undefined"?self:YH,function(){function t(){}t.prototype.saveState=function(){return{idx:this.idx,input:this.input,groupIdx:this.groupIdx}},t.prototype.restoreState=function(p){this.idx=p.idx,this.input=p.input,this.groupIdx=p.groupIdx},t.prototype.pattern=function(p){this.idx=0,this.input=p,this.groupIdx=0,this.consumeChar("/");var d=this.disjunction();this.consumeChar("/");for(var m={type:"Flags",loc:{begin:this.idx,end:p.length},global:!1,ignoreCase:!1,multiLine:!1,unicode:!1,sticky:!1};this.isRegExpFlag();)switch(this.popChar()){case"g":o(m,"global");break;case"i":o(m,"ignoreCase");break;case"m":o(m,"multiLine");break;case"u":o(m,"unicode");break;case"y":o(m,"sticky");break}if(this.idx!==this.input.length)throw Error("Redundant input: "+this.input.substring(this.idx));return{type:"Pattern",flags:m,value:d,loc:this.loc(0)}},t.prototype.disjunction=function(){var p=[],d=this.idx;for(p.push(this.alternative());this.peekChar()==="|";)this.consumeChar("|"),p.push(this.alternative());return{type:"Disjunction",value:p,loc:this.loc(d)}},t.prototype.alternative=function(){for(var p=[],d=this.idx;this.isTerm();)p.push(this.term());return{type:"Alternative",value:p,loc:this.loc(d)}},t.prototype.term=function(){return this.isAssertion()?this.assertion():this.atom()},t.prototype.assertion=function(){var p=this.idx;switch(this.popChar()){case"^":return{type:"StartAnchor",loc:this.loc(p)};case"$":return{type:"EndAnchor",loc:this.loc(p)};case"\\":switch(this.popChar()){case"b":return{type:"WordBoundary",loc:this.loc(p)};case"B":return{type:"NonWordBoundary",loc:this.loc(p)}}throw Error("Invalid Assertion Escape");case"(":this.consumeChar("?");var d;switch(this.popChar()){case"=":d="Lookahead";break;case"!":d="NegativeLookahead";break}a(d);var m=this.disjunction();return this.consumeChar(")"),{type:d,value:m,loc:this.loc(p)}}l()},t.prototype.quantifier=function(p){var d,m=this.idx;switch(this.popChar()){case"*":d={atLeast:0,atMost:Infinity};break;case"+":d={atLeast:1,atMost:Infinity};break;case"?":d={atLeast:0,atMost:1};break;case"{":var I=this.integerIncludingZero();switch(this.popChar()){case"}":d={atLeast:I,atMost:I};break;case",":var B;this.isDigit()?(B=this.integerIncludingZero(),d={atLeast:I,atMost:B}):d={atLeast:I,atMost:Infinity},this.consumeChar("}");break}if(p===!0&&d===void 0)return;a(d);break}if(!(p===!0&&d===void 0))return a(d),this.peekChar(0)==="?"?(this.consumeChar("?"),d.greedy=!1):d.greedy=!0,d.type="Quantifier",d.loc=this.loc(m),d},t.prototype.atom=function(){var p,d=this.idx;switch(this.peekChar()){case".":p=this.dotAll();break;case"\\":p=this.atomEscape();break;case"[":p=this.characterClass();break;case"(":p=this.group();break}return p===void 0&&this.isPatternCharacter()&&(p=this.patternCharacter()),a(p),p.loc=this.loc(d),this.isQuantifier()&&(p.quantifier=this.quantifier()),p},t.prototype.dotAll=function(){return this.consumeChar("."),{type:"Set",complement:!0,value:[n(` +`),n("\r"),n("\u2028"),n("\u2029")]}},t.prototype.atomEscape=function(){switch(this.consumeChar("\\"),this.peekChar()){case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":return this.decimalEscapeAtom();case"d":case"D":case"s":case"S":case"w":case"W":return this.characterClassEscape();case"f":case"n":case"r":case"t":case"v":return this.controlEscapeAtom();case"c":return this.controlLetterEscapeAtom();case"0":return this.nulCharacterAtom();case"x":return this.hexEscapeSequenceAtom();case"u":return this.regExpUnicodeEscapeSequenceAtom();default:return this.identityEscapeAtom()}},t.prototype.decimalEscapeAtom=function(){var p=this.positiveInteger();return{type:"GroupBackReference",value:p}},t.prototype.characterClassEscape=function(){var p,d=!1;switch(this.popChar()){case"d":p=u;break;case"D":p=u,d=!0;break;case"s":p=f;break;case"S":p=f,d=!0;break;case"w":p=g;break;case"W":p=g,d=!0;break}return a(p),{type:"Set",value:p,complement:d}},t.prototype.controlEscapeAtom=function(){var p;switch(this.popChar()){case"f":p=n("\f");break;case"n":p=n(` +`);break;case"r":p=n("\r");break;case"t":p=n(" ");break;case"v":p=n("\v");break}return a(p),{type:"Character",value:p}},t.prototype.controlLetterEscapeAtom=function(){this.consumeChar("c");var p=this.popChar();if(/[a-zA-Z]/.test(p)===!1)throw Error("Invalid ");var d=p.toUpperCase().charCodeAt(0)-64;return{type:"Character",value:d}},t.prototype.nulCharacterAtom=function(){return this.consumeChar("0"),{type:"Character",value:n("\0")}},t.prototype.hexEscapeSequenceAtom=function(){return this.consumeChar("x"),this.parseHexDigits(2)},t.prototype.regExpUnicodeEscapeSequenceAtom=function(){return this.consumeChar("u"),this.parseHexDigits(4)},t.prototype.identityEscapeAtom=function(){var p=this.popChar();return{type:"Character",value:n(p)}},t.prototype.classPatternCharacterAtom=function(){switch(this.peekChar()){case` +`:case"\r":case"\u2028":case"\u2029":case"\\":case"]":throw Error("TBD");default:var p=this.popChar();return{type:"Character",value:n(p)}}},t.prototype.characterClass=function(){var p=[],d=!1;for(this.consumeChar("["),this.peekChar(0)==="^"&&(this.consumeChar("^"),d=!0);this.isClassAtom();){var m=this.classAtom(),I=m.type==="Character";if(I&&this.isRangeDash()){this.consumeChar("-");var B=this.classAtom(),b=B.type==="Character";if(b){if(B.value=this.input.length)throw Error("Unexpected end of input");this.idx++},t.prototype.loc=function(p){return{begin:p,end:this.idx}};var e=/[0-9a-fA-F]/,r=/[0-9]/,i=/[1-9]/;function n(p){return p.charCodeAt(0)}function s(p,d){p.length!==void 0?p.forEach(function(m){d.push(m)}):d.push(p)}function o(p,d){if(p[d]===!0)throw"duplicate flag "+d;p[d]=!0}function a(p){if(p===void 0)throw Error("Internal Error - Should never get here!")}function l(){throw Error("Internal Error - Should never get here!")}var c,u=[];for(c=n("0");c<=n("9");c++)u.push(c);var g=[n("_")].concat(u);for(c=n("a");c<=n("z");c++)g.push(c);for(c=n("A");c<=n("Z");c++)g.push(c);var f=[n(" "),n("\f"),n(` +`),n("\r"),n(" "),n("\v"),n(" "),n("\xA0"),n("\u1680"),n("\u2000"),n("\u2001"),n("\u2002"),n("\u2003"),n("\u2004"),n("\u2005"),n("\u2006"),n("\u2007"),n("\u2008"),n("\u2009"),n("\u200A"),n("\u2028"),n("\u2029"),n("\u202F"),n("\u205F"),n("\u3000"),n("\uFEFF")];function h(){}return h.prototype.visitChildren=function(p){for(var d in p){var m=p[d];p.hasOwnProperty(d)&&(m.type!==void 0?this.visit(m):Array.isArray(m)&&m.forEach(function(I){this.visit(I)},this))}},h.prototype.visit=function(p){switch(p.type){case"Pattern":this.visitPattern(p);break;case"Flags":this.visitFlags(p);break;case"Disjunction":this.visitDisjunction(p);break;case"Alternative":this.visitAlternative(p);break;case"StartAnchor":this.visitStartAnchor(p);break;case"EndAnchor":this.visitEndAnchor(p);break;case"WordBoundary":this.visitWordBoundary(p);break;case"NonWordBoundary":this.visitNonWordBoundary(p);break;case"Lookahead":this.visitLookahead(p);break;case"NegativeLookahead":this.visitNegativeLookahead(p);break;case"Character":this.visitCharacter(p);break;case"Set":this.visitSet(p);break;case"Group":this.visitGroup(p);break;case"GroupBackReference":this.visitGroupBackReference(p);break;case"Quantifier":this.visitQuantifier(p);break}this.visitChildren(p)},h.prototype.visitPattern=function(p){},h.prototype.visitFlags=function(p){},h.prototype.visitDisjunction=function(p){},h.prototype.visitAlternative=function(p){},h.prototype.visitStartAnchor=function(p){},h.prototype.visitEndAnchor=function(p){},h.prototype.visitWordBoundary=function(p){},h.prototype.visitNonWordBoundary=function(p){},h.prototype.visitLookahead=function(p){},h.prototype.visitNegativeLookahead=function(p){},h.prototype.visitCharacter=function(p){},h.prototype.visitSet=function(p){},h.prototype.visitGroup=function(p){},h.prototype.visitGroupBackReference=function(p){},h.prototype.visitQuantifier=function(p){},{RegExpParser:t,BaseRegExpVisitor:h,VERSION:"0.5.0"}})});var gI=E(Eu=>{"use strict";Object.defineProperty(Eu,"__esModule",{value:!0});Eu.clearRegExpParserCache=Eu.getRegExpAst=void 0;var FEe=cI(),uI={},NEe=new FEe.RegExpParser;function LEe(t){var e=t.toString();if(uI.hasOwnProperty(e))return uI[e];var r=NEe.pattern(e);return uI[e]=r,r}Eu.getRegExpAst=LEe;function TEe(){uI={}}Eu.clearRegExpParserCache=TEe});var VH=E(fn=>{"use strict";var MEe=fn&&fn.__extends||function(){var t=function(e,r){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},t(e,r)};return function(e,r){if(typeof r!="function"&&r!==null)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");t(e,r);function i(){this.constructor=e}e.prototype=r===null?Object.create(r):(i.prototype=r.prototype,new i)}}();Object.defineProperty(fn,"__esModule",{value:!0});fn.canMatchCharCode=fn.firstCharOptimizedIndices=fn.getOptimizedStartCodesIndices=fn.failedOptimizationPrefixMsg=void 0;var qH=cI(),$n=Dt(),JH=gI(),sa=Hv(),WH="Complement Sets are not supported for first char optimization";fn.failedOptimizationPrefixMsg=`Unable to use "first char" lexer optimizations: +`;function OEe(t,e){e===void 0&&(e=!1);try{var r=(0,JH.getRegExpAst)(t),i=fI(r.value,{},r.flags.ignoreCase);return i}catch(s){if(s.message===WH)e&&(0,$n.PRINT_WARNING)(""+fn.failedOptimizationPrefixMsg+(" Unable to optimize: < "+t.toString()+` > +`)+` Complement Sets cannot be automatically optimized. + This will disable the lexer's first char optimizations. + See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#COMPLEMENT for details.`);else{var n="";e&&(n=` + This will disable the lexer's first char optimizations. + See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#REGEXP_PARSING for details.`),(0,$n.PRINT_ERROR)(fn.failedOptimizationPrefixMsg+` +`+(" Failed parsing: < "+t.toString()+` > +`)+(" Using the regexp-to-ast library version: "+qH.VERSION+` +`)+" Please open an issue at: https://github.com/bd82/regexp-to-ast/issues"+n)}}return[]}fn.getOptimizedStartCodesIndices=OEe;function fI(t,e,r){switch(t.type){case"Disjunction":for(var i=0;i=sa.minOptimizationVal)for(var f=u.from>=sa.minOptimizationVal?u.from:sa.minOptimizationVal,h=u.to,p=(0,sa.charCodeToOptimizedIndex)(f),d=(0,sa.charCodeToOptimizedIndex)(h),m=p;m<=d;m++)e[m]=m}}});break;case"Group":fI(o.value,e,r);break;default:throw Error("Non Exhaustive Match")}var a=o.quantifier!==void 0&&o.quantifier.atLeast===0;if(o.type==="Group"&&Gv(o)===!1||o.type!=="Group"&&a===!1)break}break;default:throw Error("non exhaustive match!")}return(0,$n.values)(e)}fn.firstCharOptimizedIndices=fI;function hI(t,e,r){var i=(0,sa.charCodeToOptimizedIndex)(t);e[i]=i,r===!0&&KEe(t,e)}function KEe(t,e){var r=String.fromCharCode(t),i=r.toUpperCase();if(i!==r){var n=(0,sa.charCodeToOptimizedIndex)(i.charCodeAt(0));e[n]=n}else{var s=r.toLowerCase();if(s!==r){var n=(0,sa.charCodeToOptimizedIndex)(s.charCodeAt(0));e[n]=n}}}function zH(t,e){return(0,$n.find)(t.value,function(r){if(typeof r=="number")return(0,$n.contains)(e,r);var i=r;return(0,$n.find)(e,function(n){return i.from<=n&&n<=i.to})!==void 0})}function Gv(t){return t.quantifier&&t.quantifier.atLeast===0?!0:t.value?(0,$n.isArray)(t.value)?(0,$n.every)(t.value,Gv):Gv(t.value):!1}var UEe=function(t){MEe(e,t);function e(r){var i=t.call(this)||this;return i.targetCharCodes=r,i.found=!1,i}return e.prototype.visitChildren=function(r){if(this.found!==!0){switch(r.type){case"Lookahead":this.visitLookahead(r);return;case"NegativeLookahead":this.visitNegativeLookahead(r);return}t.prototype.visitChildren.call(this,r)}},e.prototype.visitCharacter=function(r){(0,$n.contains)(this.targetCharCodes,r.value)&&(this.found=!0)},e.prototype.visitSet=function(r){r.complement?zH(r,this.targetCharCodes)===void 0&&(this.found=!0):zH(r,this.targetCharCodes)!==void 0&&(this.found=!0)},e}(qH.BaseRegExpVisitor);function HEe(t,e){if(e instanceof RegExp){var r=(0,JH.getRegExpAst)(e),i=new UEe(t);return i.visit(r),i.found}else return(0,$n.find)(e,function(n){return(0,$n.contains)(t,n.charCodeAt(0))})!==void 0}fn.canMatchCharCode=HEe});var Hv=E(je=>{"use strict";var _H=je&&je.__extends||function(){var t=function(e,r){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},t(e,r)};return function(e,r){if(typeof r!="function"&&r!==null)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");t(e,r);function i(){this.constructor=e}e.prototype=r===null?Object.create(r):(i.prototype=r.prototype,new i)}}();Object.defineProperty(je,"__esModule",{value:!0});je.charCodeToOptimizedIndex=je.minOptimizationVal=je.buildLineBreakIssueMessage=je.LineTerminatorOptimizedTester=je.isShortPattern=je.isCustomPattern=je.cloneEmptyGroups=je.performWarningRuntimeChecks=je.performRuntimeChecks=je.addStickyFlag=je.addStartOfInput=je.findUnreachablePatterns=je.findModesThatDoNotExist=je.findInvalidGroupType=je.findDuplicatePatterns=je.findUnsupportedFlags=je.findStartOfInputAnchor=je.findEmptyMatchRegExps=je.findEndOfInputAnchor=je.findInvalidPatterns=je.findMissingPatterns=je.validatePatterns=je.analyzeTokenTypes=je.enableSticky=je.disableSticky=je.SUPPORT_STICKY=je.MODES=je.DEFAULT_MODE=void 0;var XH=cI(),zt=Gh(),Ie=Dt(),Iu=VH(),ZH=gI(),ao="PATTERN";je.DEFAULT_MODE="defaultMode";je.MODES="modes";je.SUPPORT_STICKY=typeof new RegExp("(?:)").sticky=="boolean";function GEe(){je.SUPPORT_STICKY=!1}je.disableSticky=GEe;function jEe(){je.SUPPORT_STICKY=!0}je.enableSticky=jEe;function qEe(t,e){e=(0,Ie.defaults)(e,{useSticky:je.SUPPORT_STICKY,debug:!1,safeMode:!1,positionTracking:"full",lineTerminatorCharacters:["\r",` +`],tracer:function(B,b){return b()}});var r=e.tracer;r("initCharCodeToOptimizedIndexMap",function(){YEe()});var i;r("Reject Lexer.NA",function(){i=(0,Ie.reject)(t,function(B){return B[ao]===zt.Lexer.NA})});var n=!1,s;r("Transform Patterns",function(){n=!1,s=(0,Ie.map)(i,function(B){var b=B[ao];if((0,Ie.isRegExp)(b)){var R=b.source;return R.length===1&&R!=="^"&&R!=="$"&&R!=="."&&!b.ignoreCase?R:R.length===2&&R[0]==="\\"&&!(0,Ie.contains)(["d","D","s","S","t","r","n","t","0","c","b","B","f","v","w","W"],R[1])?R[1]:e.useSticky?Yv(b):jv(b)}else{if((0,Ie.isFunction)(b))return n=!0,{exec:b};if((0,Ie.has)(b,"exec"))return n=!0,b;if(typeof b=="string"){if(b.length===1)return b;var H=b.replace(/[\\^$.*+?()[\]{}|]/g,"\\$&"),L=new RegExp(H);return e.useSticky?Yv(L):jv(L)}else throw Error("non exhaustive match")}})});var o,a,l,c,u;r("misc mapping",function(){o=(0,Ie.map)(i,function(B){return B.tokenTypeIdx}),a=(0,Ie.map)(i,function(B){var b=B.GROUP;if(b!==zt.Lexer.SKIPPED){if((0,Ie.isString)(b))return b;if((0,Ie.isUndefined)(b))return!1;throw Error("non exhaustive match")}}),l=(0,Ie.map)(i,function(B){var b=B.LONGER_ALT;if(b){var R=(0,Ie.isArray)(b)?(0,Ie.map)(b,function(H){return(0,Ie.indexOf)(i,H)}):[(0,Ie.indexOf)(i,b)];return R}}),c=(0,Ie.map)(i,function(B){return B.PUSH_MODE}),u=(0,Ie.map)(i,function(B){return(0,Ie.has)(B,"POP_MODE")})});var g;r("Line Terminator Handling",function(){var B=tG(e.lineTerminatorCharacters);g=(0,Ie.map)(i,function(b){return!1}),e.positionTracking!=="onlyOffset"&&(g=(0,Ie.map)(i,function(b){if((0,Ie.has)(b,"LINE_BREAKS"))return b.LINE_BREAKS;if(eG(b,B)===!1)return(0,Iu.canMatchCharCode)(B,b.PATTERN)}))});var f,h,p,d;r("Misc Mapping #2",function(){f=(0,Ie.map)(i,qv),h=(0,Ie.map)(s,$H),p=(0,Ie.reduce)(i,function(B,b){var R=b.GROUP;return(0,Ie.isString)(R)&&R!==zt.Lexer.SKIPPED&&(B[R]=[]),B},{}),d=(0,Ie.map)(s,function(B,b){return{pattern:s[b],longerAlt:l[b],canLineTerminator:g[b],isCustom:f[b],short:h[b],group:a[b],push:c[b],pop:u[b],tokenTypeIdx:o[b],tokenType:i[b]}})});var m=!0,I=[];return e.safeMode||r("First Char Optimization",function(){I=(0,Ie.reduce)(i,function(B,b,R){if(typeof b.PATTERN=="string"){var H=b.PATTERN.charCodeAt(0),L=Wv(H);Jv(B,L,d[R])}else if((0,Ie.isArray)(b.START_CHARS_HINT)){var K;(0,Ie.forEach)(b.START_CHARS_HINT,function(ne){var q=typeof ne=="string"?ne.charCodeAt(0):ne,A=Wv(q);K!==A&&(K=A,Jv(B,A,d[R]))})}else if((0,Ie.isRegExp)(b.PATTERN))if(b.PATTERN.unicode)m=!1,e.ensureOptimizations&&(0,Ie.PRINT_ERROR)(""+Iu.failedOptimizationPrefixMsg+(" Unable to analyze < "+b.PATTERN.toString()+` > pattern. +`)+` The regexp unicode flag is not currently supported by the regexp-to-ast library. + This will disable the lexer's first char optimizations. + For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNICODE_OPTIMIZE`);else{var J=(0,Iu.getOptimizedStartCodesIndices)(b.PATTERN,e.ensureOptimizations);(0,Ie.isEmpty)(J)&&(m=!1),(0,Ie.forEach)(J,function(ne){Jv(B,ne,d[R])})}else e.ensureOptimizations&&(0,Ie.PRINT_ERROR)(""+Iu.failedOptimizationPrefixMsg+(" TokenType: <"+b.name+`> is using a custom token pattern without providing parameter. +`)+` This will disable the lexer's first char optimizations. + For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_OPTIMIZE`),m=!1;return B},[])}),r("ArrayPacking",function(){I=(0,Ie.packArray)(I)}),{emptyGroups:p,patternIdxToConfig:d,charCodeToPatternIdxToConfig:I,hasCustom:n,canBeOptimized:m}}je.analyzeTokenTypes=qEe;function WEe(t,e){var r=[],i=rG(t);r=r.concat(i.errors);var n=iG(i.valid),s=n.valid;return r=r.concat(n.errors),r=r.concat(JEe(s)),r=r.concat(nG(s)),r=r.concat(sG(s,e)),r=r.concat(oG(s)),r}je.validatePatterns=WEe;function JEe(t){var e=[],r=(0,Ie.filter)(t,function(i){return(0,Ie.isRegExp)(i[ao])});return e=e.concat(aG(r)),e=e.concat(lG(r)),e=e.concat(cG(r)),e=e.concat(uG(r)),e=e.concat(AG(r)),e}function rG(t){var e=(0,Ie.filter)(t,function(n){return!(0,Ie.has)(n,ao)}),r=(0,Ie.map)(e,function(n){return{message:"Token Type: ->"+n.name+"<- missing static 'PATTERN' property",type:zt.LexerDefinitionErrorType.MISSING_PATTERN,tokenTypes:[n]}}),i=(0,Ie.difference)(t,e);return{errors:r,valid:i}}je.findMissingPatterns=rG;function iG(t){var e=(0,Ie.filter)(t,function(n){var s=n[ao];return!(0,Ie.isRegExp)(s)&&!(0,Ie.isFunction)(s)&&!(0,Ie.has)(s,"exec")&&!(0,Ie.isString)(s)}),r=(0,Ie.map)(e,function(n){return{message:"Token Type: ->"+n.name+"<- static 'PATTERN' can only be a RegExp, a Function matching the {CustomPatternMatcherFunc} type or an Object matching the {ICustomPattern} interface.",type:zt.LexerDefinitionErrorType.INVALID_PATTERN,tokenTypes:[n]}}),i=(0,Ie.difference)(t,e);return{errors:r,valid:i}}je.findInvalidPatterns=iG;var zEe=/[^\\][\$]/;function aG(t){var e=function(n){_H(s,n);function s(){var o=n!==null&&n.apply(this,arguments)||this;return o.found=!1,o}return s.prototype.visitEndAnchor=function(o){this.found=!0},s}(XH.BaseRegExpVisitor),r=(0,Ie.filter)(t,function(n){var s=n[ao];try{var o=(0,ZH.getRegExpAst)(s),a=new e;return a.visit(o),a.found}catch(l){return zEe.test(s.source)}}),i=(0,Ie.map)(r,function(n){return{message:`Unexpected RegExp Anchor Error: + Token Type: ->`+n.name+`<- static 'PATTERN' cannot contain end of input anchor '$' + See chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:zt.LexerDefinitionErrorType.EOI_ANCHOR_FOUND,tokenTypes:[n]}});return i}je.findEndOfInputAnchor=aG;function AG(t){var e=(0,Ie.filter)(t,function(i){var n=i[ao];return n.test("")}),r=(0,Ie.map)(e,function(i){return{message:"Token Type: ->"+i.name+"<- static 'PATTERN' must not match an empty string",type:zt.LexerDefinitionErrorType.EMPTY_MATCH_PATTERN,tokenTypes:[i]}});return r}je.findEmptyMatchRegExps=AG;var VEe=/[^\\[][\^]|^\^/;function lG(t){var e=function(n){_H(s,n);function s(){var o=n!==null&&n.apply(this,arguments)||this;return o.found=!1,o}return s.prototype.visitStartAnchor=function(o){this.found=!0},s}(XH.BaseRegExpVisitor),r=(0,Ie.filter)(t,function(n){var s=n[ao];try{var o=(0,ZH.getRegExpAst)(s),a=new e;return a.visit(o),a.found}catch(l){return VEe.test(s.source)}}),i=(0,Ie.map)(r,function(n){return{message:`Unexpected RegExp Anchor Error: + Token Type: ->`+n.name+`<- static 'PATTERN' cannot contain start of input anchor '^' + See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:zt.LexerDefinitionErrorType.SOI_ANCHOR_FOUND,tokenTypes:[n]}});return i}je.findStartOfInputAnchor=lG;function cG(t){var e=(0,Ie.filter)(t,function(i){var n=i[ao];return n instanceof RegExp&&(n.multiline||n.global)}),r=(0,Ie.map)(e,function(i){return{message:"Token Type: ->"+i.name+"<- static 'PATTERN' may NOT contain global('g') or multiline('m')",type:zt.LexerDefinitionErrorType.UNSUPPORTED_FLAGS_FOUND,tokenTypes:[i]}});return r}je.findUnsupportedFlags=cG;function uG(t){var e=[],r=(0,Ie.map)(t,function(s){return(0,Ie.reduce)(t,function(o,a){return s.PATTERN.source===a.PATTERN.source&&!(0,Ie.contains)(e,a)&&a.PATTERN!==zt.Lexer.NA&&(e.push(a),o.push(a)),o},[])});r=(0,Ie.compact)(r);var i=(0,Ie.filter)(r,function(s){return s.length>1}),n=(0,Ie.map)(i,function(s){var o=(0,Ie.map)(s,function(l){return l.name}),a=(0,Ie.first)(s).PATTERN;return{message:"The same RegExp pattern ->"+a+"<-"+("has been used in all of the following Token Types: "+o.join(", ")+" <-"),type:zt.LexerDefinitionErrorType.DUPLICATE_PATTERNS_FOUND,tokenTypes:s}});return n}je.findDuplicatePatterns=uG;function nG(t){var e=(0,Ie.filter)(t,function(i){if(!(0,Ie.has)(i,"GROUP"))return!1;var n=i.GROUP;return n!==zt.Lexer.SKIPPED&&n!==zt.Lexer.NA&&!(0,Ie.isString)(n)}),r=(0,Ie.map)(e,function(i){return{message:"Token Type: ->"+i.name+"<- static 'GROUP' can only be Lexer.SKIPPED/Lexer.NA/A String",type:zt.LexerDefinitionErrorType.INVALID_GROUP_TYPE_FOUND,tokenTypes:[i]}});return r}je.findInvalidGroupType=nG;function sG(t,e){var r=(0,Ie.filter)(t,function(n){return n.PUSH_MODE!==void 0&&!(0,Ie.contains)(e,n.PUSH_MODE)}),i=(0,Ie.map)(r,function(n){var s="Token Type: ->"+n.name+"<- static 'PUSH_MODE' value cannot refer to a Lexer Mode ->"+n.PUSH_MODE+"<-which does not exist";return{message:s,type:zt.LexerDefinitionErrorType.PUSH_MODE_DOES_NOT_EXIST,tokenTypes:[n]}});return i}je.findModesThatDoNotExist=sG;function oG(t){var e=[],r=(0,Ie.reduce)(t,function(i,n,s){var o=n.PATTERN;return o===zt.Lexer.NA||((0,Ie.isString)(o)?i.push({str:o,idx:s,tokenType:n}):(0,Ie.isRegExp)(o)&&XEe(o)&&i.push({str:o.source,idx:s,tokenType:n})),i},[]);return(0,Ie.forEach)(t,function(i,n){(0,Ie.forEach)(r,function(s){var o=s.str,a=s.idx,l=s.tokenType;if(n"+i.name+"<-")+`in the lexer's definition. +See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNREACHABLE`;e.push({message:c,type:zt.LexerDefinitionErrorType.UNREACHABLE_PATTERN,tokenTypes:[i,l]})}})}),e}je.findUnreachablePatterns=oG;function _Ee(t,e){if((0,Ie.isRegExp)(e)){var r=e.exec(t);return r!==null&&r.index===0}else{if((0,Ie.isFunction)(e))return e(t,0,[],{});if((0,Ie.has)(e,"exec"))return e.exec(t,0,[],{});if(typeof e=="string")return e===t;throw Error("non exhaustive match")}}function XEe(t){var e=[".","\\","[","]","|","^","$","(",")","?","*","+","{"];return(0,Ie.find)(e,function(r){return t.source.indexOf(r)!==-1})===void 0}function jv(t){var e=t.ignoreCase?"i":"";return new RegExp("^(?:"+t.source+")",e)}je.addStartOfInput=jv;function Yv(t){var e=t.ignoreCase?"iy":"y";return new RegExp(""+t.source,e)}je.addStickyFlag=Yv;function ZEe(t,e,r){var i=[];return(0,Ie.has)(t,je.DEFAULT_MODE)||i.push({message:"A MultiMode Lexer cannot be initialized without a <"+je.DEFAULT_MODE+`> property in its definition +`,type:zt.LexerDefinitionErrorType.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE}),(0,Ie.has)(t,je.MODES)||i.push({message:"A MultiMode Lexer cannot be initialized without a <"+je.MODES+`> property in its definition +`,type:zt.LexerDefinitionErrorType.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY}),(0,Ie.has)(t,je.MODES)&&(0,Ie.has)(t,je.DEFAULT_MODE)&&!(0,Ie.has)(t.modes,t.defaultMode)&&i.push({message:"A MultiMode Lexer cannot be initialized with a "+je.DEFAULT_MODE+": <"+t.defaultMode+`>which does not exist +`,type:zt.LexerDefinitionErrorType.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST}),(0,Ie.has)(t,je.MODES)&&(0,Ie.forEach)(t.modes,function(n,s){(0,Ie.forEach)(n,function(o,a){(0,Ie.isUndefined)(o)&&i.push({message:"A Lexer cannot be initialized using an undefined Token Type. Mode:"+("<"+s+"> at index: <"+a+`> +`),type:zt.LexerDefinitionErrorType.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED})})}),i}je.performRuntimeChecks=ZEe;function $Ee(t,e,r){var i=[],n=!1,s=(0,Ie.compact)((0,Ie.flatten)((0,Ie.mapValues)(t.modes,function(l){return l}))),o=(0,Ie.reject)(s,function(l){return l[ao]===zt.Lexer.NA}),a=tG(r);return e&&(0,Ie.forEach)(o,function(l){var c=eG(l,a);if(c!==!1){var u=gG(l,c),g={message:u,type:c.issue,tokenType:l};i.push(g)}else(0,Ie.has)(l,"LINE_BREAKS")?l.LINE_BREAKS===!0&&(n=!0):(0,Iu.canMatchCharCode)(a,l.PATTERN)&&(n=!0)}),e&&!n&&i.push({message:`Warning: No LINE_BREAKS Found. + This Lexer has been defined to track line and column information, + But none of the Token Types can be identified as matching a line terminator. + See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#LINE_BREAKS + for details.`,type:zt.LexerDefinitionErrorType.NO_LINE_BREAKS_FLAGS}),i}je.performWarningRuntimeChecks=$Ee;function eIe(t){var e={},r=(0,Ie.keys)(t);return(0,Ie.forEach)(r,function(i){var n=t[i];if((0,Ie.isArray)(n))e[i]=[];else throw Error("non exhaustive match")}),e}je.cloneEmptyGroups=eIe;function qv(t){var e=t.PATTERN;if((0,Ie.isRegExp)(e))return!1;if((0,Ie.isFunction)(e))return!0;if((0,Ie.has)(e,"exec"))return!0;if((0,Ie.isString)(e))return!1;throw Error("non exhaustive match")}je.isCustomPattern=qv;function $H(t){return(0,Ie.isString)(t)&&t.length===1?t.charCodeAt(0):!1}je.isShortPattern=$H;je.LineTerminatorOptimizedTester={test:function(t){for(var e=t.length,r=this.lastIndex;r Token Type +`)+(" Root cause: "+e.errMsg+`. +`)+" For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#IDENTIFY_TERMINATOR";if(e.issue===zt.LexerDefinitionErrorType.CUSTOM_LINE_BREAK)return`Warning: A Custom Token Pattern should specify the option. +`+(" The problem is in the <"+t.name+`> Token Type +`)+" For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_LINE_BREAK";throw Error("non exhaustive match")}je.buildLineBreakIssueMessage=gG;function tG(t){var e=(0,Ie.map)(t,function(r){return(0,Ie.isString)(r)&&r.length>0?r.charCodeAt(0):r});return e}function Jv(t,e,r){t[e]===void 0?t[e]=[r]:t[e].push(r)}je.minOptimizationVal=256;var pI=[];function Wv(t){return t255?255+~~(t/255):t}}});var yu=E(Bt=>{"use strict";Object.defineProperty(Bt,"__esModule",{value:!0});Bt.isTokenType=Bt.hasExtendingTokensTypesMapProperty=Bt.hasExtendingTokensTypesProperty=Bt.hasCategoriesProperty=Bt.hasShortKeyProperty=Bt.singleAssignCategoriesToksMap=Bt.assignCategoriesMapProp=Bt.assignCategoriesTokensProp=Bt.assignTokenDefaultProps=Bt.expandCategories=Bt.augmentTokenTypes=Bt.tokenIdxToClass=Bt.tokenShortNameIdx=Bt.tokenStructuredMatcherNoCategories=Bt.tokenStructuredMatcher=void 0;var Kr=Dt();function tIe(t,e){var r=t.tokenTypeIdx;return r===e.tokenTypeIdx?!0:e.isParent===!0&&e.categoryMatchesMap[r]===!0}Bt.tokenStructuredMatcher=tIe;function rIe(t,e){return t.tokenTypeIdx===e.tokenTypeIdx}Bt.tokenStructuredMatcherNoCategories=rIe;Bt.tokenShortNameIdx=1;Bt.tokenIdxToClass={};function iIe(t){var e=fG(t);hG(e),dG(e),pG(e),(0,Kr.forEach)(e,function(r){r.isParent=r.categoryMatches.length>0})}Bt.augmentTokenTypes=iIe;function fG(t){for(var e=(0,Kr.cloneArr)(t),r=t,i=!0;i;){r=(0,Kr.compact)((0,Kr.flatten)((0,Kr.map)(r,function(s){return s.CATEGORIES})));var n=(0,Kr.difference)(r,e);e=e.concat(n),(0,Kr.isEmpty)(n)?i=!1:r=n}return e}Bt.expandCategories=fG;function hG(t){(0,Kr.forEach)(t,function(e){CG(e)||(Bt.tokenIdxToClass[Bt.tokenShortNameIdx]=e,e.tokenTypeIdx=Bt.tokenShortNameIdx++),zv(e)&&!(0,Kr.isArray)(e.CATEGORIES)&&(e.CATEGORIES=[e.CATEGORIES]),zv(e)||(e.CATEGORIES=[]),mG(e)||(e.categoryMatches=[]),EG(e)||(e.categoryMatchesMap={})})}Bt.assignTokenDefaultProps=hG;function pG(t){(0,Kr.forEach)(t,function(e){e.categoryMatches=[],(0,Kr.forEach)(e.categoryMatchesMap,function(r,i){e.categoryMatches.push(Bt.tokenIdxToClass[i].tokenTypeIdx)})})}Bt.assignCategoriesTokensProp=pG;function dG(t){(0,Kr.forEach)(t,function(e){Vv([],e)})}Bt.assignCategoriesMapProp=dG;function Vv(t,e){(0,Kr.forEach)(t,function(r){e.categoryMatchesMap[r.tokenTypeIdx]=!0}),(0,Kr.forEach)(e.CATEGORIES,function(r){var i=t.concat(e);(0,Kr.contains)(i,r)||Vv(i,r)})}Bt.singleAssignCategoriesToksMap=Vv;function CG(t){return(0,Kr.has)(t,"tokenTypeIdx")}Bt.hasShortKeyProperty=CG;function zv(t){return(0,Kr.has)(t,"CATEGORIES")}Bt.hasCategoriesProperty=zv;function mG(t){return(0,Kr.has)(t,"categoryMatches")}Bt.hasExtendingTokensTypesProperty=mG;function EG(t){return(0,Kr.has)(t,"categoryMatchesMap")}Bt.hasExtendingTokensTypesMapProperty=EG;function nIe(t){return(0,Kr.has)(t,"tokenTypeIdx")}Bt.isTokenType=nIe});var _v=E(dI=>{"use strict";Object.defineProperty(dI,"__esModule",{value:!0});dI.defaultLexerErrorProvider=void 0;dI.defaultLexerErrorProvider={buildUnableToPopLexerModeMessage:function(t){return"Unable to pop Lexer Mode after encountering Token ->"+t.image+"<- The Mode Stack is empty"},buildUnexpectedCharactersMessage:function(t,e,r,i,n){return"unexpected character: ->"+t.charAt(e)+"<- at offset: "+e+","+(" skipped "+r+" characters.")}}});var Gh=E(Rl=>{"use strict";Object.defineProperty(Rl,"__esModule",{value:!0});Rl.Lexer=Rl.LexerDefinitionErrorType=void 0;var Ps=Hv(),Vt=Dt(),sIe=yu(),oIe=_v(),aIe=gI(),AIe;(function(t){t[t.MISSING_PATTERN=0]="MISSING_PATTERN",t[t.INVALID_PATTERN=1]="INVALID_PATTERN",t[t.EOI_ANCHOR_FOUND=2]="EOI_ANCHOR_FOUND",t[t.UNSUPPORTED_FLAGS_FOUND=3]="UNSUPPORTED_FLAGS_FOUND",t[t.DUPLICATE_PATTERNS_FOUND=4]="DUPLICATE_PATTERNS_FOUND",t[t.INVALID_GROUP_TYPE_FOUND=5]="INVALID_GROUP_TYPE_FOUND",t[t.PUSH_MODE_DOES_NOT_EXIST=6]="PUSH_MODE_DOES_NOT_EXIST",t[t.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE=7]="MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE",t[t.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY=8]="MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY",t[t.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST=9]="MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST",t[t.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED=10]="LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED",t[t.SOI_ANCHOR_FOUND=11]="SOI_ANCHOR_FOUND",t[t.EMPTY_MATCH_PATTERN=12]="EMPTY_MATCH_PATTERN",t[t.NO_LINE_BREAKS_FLAGS=13]="NO_LINE_BREAKS_FLAGS",t[t.UNREACHABLE_PATTERN=14]="UNREACHABLE_PATTERN",t[t.IDENTIFY_TERMINATOR=15]="IDENTIFY_TERMINATOR",t[t.CUSTOM_LINE_BREAK=16]="CUSTOM_LINE_BREAK"})(AIe=Rl.LexerDefinitionErrorType||(Rl.LexerDefinitionErrorType={}));var jh={deferDefinitionErrorsHandling:!1,positionTracking:"full",lineTerminatorsPattern:/\n|\r\n?/g,lineTerminatorCharacters:[` +`,"\r"],ensureOptimizations:!1,safeMode:!1,errorMessageProvider:oIe.defaultLexerErrorProvider,traceInitPerf:!1,skipValidations:!1};Object.freeze(jh);var lIe=function(){function t(e,r){var i=this;if(r===void 0&&(r=jh),this.lexerDefinition=e,this.lexerDefinitionErrors=[],this.lexerDefinitionWarning=[],this.patternIdxToConfig={},this.charCodeToPatternIdxToConfig={},this.modes=[],this.emptyGroups={},this.config=void 0,this.trackStartLines=!0,this.trackEndLines=!0,this.hasCustom=!1,this.canModeBeOptimized={},typeof r=="boolean")throw Error(`The second argument to the Lexer constructor is now an ILexerConfig Object. +a boolean 2nd argument is no longer supported`);this.config=(0,Vt.merge)(jh,r);var n=this.config.traceInitPerf;n===!0?(this.traceInitMaxIdent=Infinity,this.traceInitPerf=!0):typeof n=="number"&&(this.traceInitMaxIdent=n,this.traceInitPerf=!0),this.traceInitIndent=-1,this.TRACE_INIT("Lexer Constructor",function(){var s,o=!0;i.TRACE_INIT("Lexer Config handling",function(){if(i.config.lineTerminatorsPattern===jh.lineTerminatorsPattern)i.config.lineTerminatorsPattern=Ps.LineTerminatorOptimizedTester;else if(i.config.lineTerminatorCharacters===jh.lineTerminatorCharacters)throw Error(`Error: Missing property on the Lexer config. + For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#MISSING_LINE_TERM_CHARS`);if(r.safeMode&&r.ensureOptimizations)throw Error('"safeMode" and "ensureOptimizations" flags are mutually exclusive.');i.trackStartLines=/full|onlyStart/i.test(i.config.positionTracking),i.trackEndLines=/full/i.test(i.config.positionTracking),(0,Vt.isArray)(e)?(s={modes:{}},s.modes[Ps.DEFAULT_MODE]=(0,Vt.cloneArr)(e),s[Ps.DEFAULT_MODE]=Ps.DEFAULT_MODE):(o=!1,s=(0,Vt.cloneObj)(e))}),i.config.skipValidations===!1&&(i.TRACE_INIT("performRuntimeChecks",function(){i.lexerDefinitionErrors=i.lexerDefinitionErrors.concat((0,Ps.performRuntimeChecks)(s,i.trackStartLines,i.config.lineTerminatorCharacters))}),i.TRACE_INIT("performWarningRuntimeChecks",function(){i.lexerDefinitionWarning=i.lexerDefinitionWarning.concat((0,Ps.performWarningRuntimeChecks)(s,i.trackStartLines,i.config.lineTerminatorCharacters))})),s.modes=s.modes?s.modes:{},(0,Vt.forEach)(s.modes,function(u,g){s.modes[g]=(0,Vt.reject)(u,function(f){return(0,Vt.isUndefined)(f)})});var a=(0,Vt.keys)(s.modes);if((0,Vt.forEach)(s.modes,function(u,g){i.TRACE_INIT("Mode: <"+g+"> processing",function(){if(i.modes.push(g),i.config.skipValidations===!1&&i.TRACE_INIT("validatePatterns",function(){i.lexerDefinitionErrors=i.lexerDefinitionErrors.concat((0,Ps.validatePatterns)(u,a))}),(0,Vt.isEmpty)(i.lexerDefinitionErrors)){(0,sIe.augmentTokenTypes)(u);var f;i.TRACE_INIT("analyzeTokenTypes",function(){f=(0,Ps.analyzeTokenTypes)(u,{lineTerminatorCharacters:i.config.lineTerminatorCharacters,positionTracking:r.positionTracking,ensureOptimizations:r.ensureOptimizations,safeMode:r.safeMode,tracer:i.TRACE_INIT.bind(i)})}),i.patternIdxToConfig[g]=f.patternIdxToConfig,i.charCodeToPatternIdxToConfig[g]=f.charCodeToPatternIdxToConfig,i.emptyGroups=(0,Vt.merge)(i.emptyGroups,f.emptyGroups),i.hasCustom=f.hasCustom||i.hasCustom,i.canModeBeOptimized[g]=f.canBeOptimized}})}),i.defaultMode=s.defaultMode,!(0,Vt.isEmpty)(i.lexerDefinitionErrors)&&!i.config.deferDefinitionErrorsHandling){var l=(0,Vt.map)(i.lexerDefinitionErrors,function(u){return u.message}),c=l.join(`----------------------- +`);throw new Error(`Errors detected in definition of Lexer: +`+c)}(0,Vt.forEach)(i.lexerDefinitionWarning,function(u){(0,Vt.PRINT_WARNING)(u.message)}),i.TRACE_INIT("Choosing sub-methods implementations",function(){if(Ps.SUPPORT_STICKY?(i.chopInput=Vt.IDENTITY,i.match=i.matchWithTest):(i.updateLastIndex=Vt.NOOP,i.match=i.matchWithExec),o&&(i.handleModes=Vt.NOOP),i.trackStartLines===!1&&(i.computeNewColumn=Vt.IDENTITY),i.trackEndLines===!1&&(i.updateTokenEndLineColumnLocation=Vt.NOOP),/full/i.test(i.config.positionTracking))i.createTokenInstance=i.createFullToken;else if(/onlyStart/i.test(i.config.positionTracking))i.createTokenInstance=i.createStartOnlyToken;else if(/onlyOffset/i.test(i.config.positionTracking))i.createTokenInstance=i.createOffsetOnlyToken;else throw Error('Invalid config option: "'+i.config.positionTracking+'"');i.hasCustom?(i.addToken=i.addTokenUsingPush,i.handlePayload=i.handlePayloadWithCustom):(i.addToken=i.addTokenUsingMemberAccess,i.handlePayload=i.handlePayloadNoCustom)}),i.TRACE_INIT("Failed Optimization Warnings",function(){var u=(0,Vt.reduce)(i.canModeBeOptimized,function(g,f,h){return f===!1&&g.push(h),g},[]);if(r.ensureOptimizations&&!(0,Vt.isEmpty)(u))throw Error("Lexer Modes: < "+u.join(", ")+` > cannot be optimized. + Disable the "ensureOptimizations" lexer config flag to silently ignore this and run the lexer in an un-optimized mode. + Or inspect the console log for details on how to resolve these issues.`)}),i.TRACE_INIT("clearRegExpParserCache",function(){(0,aIe.clearRegExpParserCache)()}),i.TRACE_INIT("toFastProperties",function(){(0,Vt.toFastProperties)(i)})})}return t.prototype.tokenize=function(e,r){if(r===void 0&&(r=this.defaultMode),!(0,Vt.isEmpty)(this.lexerDefinitionErrors)){var i=(0,Vt.map)(this.lexerDefinitionErrors,function(o){return o.message}),n=i.join(`----------------------- +`);throw new Error(`Unable to Tokenize because Errors detected in definition of Lexer: +`+n)}var s=this.tokenizeInternal(e,r);return s},t.prototype.tokenizeInternal=function(e,r){var i=this,n,s,o,a,l,c,u,g,f,h,p,d,m,I,B,b,R=e,H=R.length,L=0,K=0,J=this.hasCustom?0:Math.floor(e.length/10),ne=new Array(J),q=[],A=this.trackStartLines?1:void 0,V=this.trackStartLines?1:void 0,W=(0,Ps.cloneEmptyGroups)(this.emptyGroups),X=this.trackStartLines,F=this.config.lineTerminatorsPattern,D=0,he=[],pe=[],Ne=[],Pe=[];Object.freeze(Pe);var qe=void 0;function re(){return he}function se(wr){var Ui=(0,Ps.charCodeToOptimizedIndex)(wr),ws=pe[Ui];return ws===void 0?Pe:ws}var be=function(wr){if(Ne.length===1&&wr.tokenType.PUSH_MODE===void 0){var Ui=i.config.errorMessageProvider.buildUnableToPopLexerModeMessage(wr);q.push({offset:wr.startOffset,line:wr.startLine!==void 0?wr.startLine:void 0,column:wr.startColumn!==void 0?wr.startColumn:void 0,length:wr.image.length,message:Ui})}else{Ne.pop();var ws=(0,Vt.last)(Ne);he=i.patternIdxToConfig[ws],pe=i.charCodeToPatternIdxToConfig[ws],D=he.length;var Tf=i.canModeBeOptimized[ws]&&i.config.safeMode===!1;pe&&Tf?qe=se:qe=re}};function ae(wr){Ne.push(wr),pe=this.charCodeToPatternIdxToConfig[wr],he=this.patternIdxToConfig[wr],D=he.length,D=he.length;var Ui=this.canModeBeOptimized[wr]&&this.config.safeMode===!1;pe&&Ui?qe=se:qe=re}ae.call(this,r);for(var Ae;Lc.length){c=a,u=g,Ae=Oe;break}}}break}}if(c!==null){if(f=c.length,h=Ae.group,h!==void 0&&(p=Ae.tokenTypeIdx,d=this.createTokenInstance(c,L,p,Ae.tokenType,A,V,f),this.handlePayload(d,u),h===!1?K=this.addToken(ne,K,d):W[h].push(d)),e=this.chopInput(e,f),L=L+f,V=this.computeNewColumn(V,f),X===!0&&Ae.canLineTerminator===!0){var dt=0,ri=void 0,ii=void 0;F.lastIndex=0;do ri=F.test(c),ri===!0&&(ii=F.lastIndex-1,dt++);while(ri===!0);dt!==0&&(A=A+dt,V=f-ii,this.updateTokenEndLineColumnLocation(d,h,ii,dt,A,V,f))}this.handleModes(Ae,be,ae,d)}else{for(var an=L,yr=A,Ki=V,Qi=!1;!Qi&&L <"+e+">");var n=(0,Vt.timer)(r),s=n.time,o=n.value,a=s>10?console.warn:console.log;return this.traceInitIndent time: "+s+"ms"),this.traceInitIndent--,o}else return r()},t.SKIPPED="This marks a skipped Token pattern, this means each token identified by it willbe consumed and then thrown into oblivion, this can be used to for example to completely ignore whitespace.",t.NA=/NOT_APPLICABLE/,t}();Rl.Lexer=lIe});var nA=E(Ci=>{"use strict";Object.defineProperty(Ci,"__esModule",{value:!0});Ci.tokenMatcher=Ci.createTokenInstance=Ci.EOF=Ci.createToken=Ci.hasTokenLabel=Ci.tokenName=Ci.tokenLabel=void 0;var Ds=Dt(),cIe=Gh(),Xv=yu();function uIe(t){return IG(t)?t.LABEL:t.name}Ci.tokenLabel=uIe;function gIe(t){return t.name}Ci.tokenName=gIe;function IG(t){return(0,Ds.isString)(t.LABEL)&&t.LABEL!==""}Ci.hasTokenLabel=IG;var fIe="parent",yG="categories",wG="label",BG="group",QG="push_mode",bG="pop_mode",vG="longer_alt",SG="line_breaks",xG="start_chars_hint";function kG(t){return hIe(t)}Ci.createToken=kG;function hIe(t){var e=t.pattern,r={};if(r.name=t.name,(0,Ds.isUndefined)(e)||(r.PATTERN=e),(0,Ds.has)(t,fIe))throw`The parent property is no longer supported. +See: https://github.com/chevrotain/chevrotain/issues/564#issuecomment-349062346 for details.`;return(0,Ds.has)(t,yG)&&(r.CATEGORIES=t[yG]),(0,Xv.augmentTokenTypes)([r]),(0,Ds.has)(t,wG)&&(r.LABEL=t[wG]),(0,Ds.has)(t,BG)&&(r.GROUP=t[BG]),(0,Ds.has)(t,bG)&&(r.POP_MODE=t[bG]),(0,Ds.has)(t,QG)&&(r.PUSH_MODE=t[QG]),(0,Ds.has)(t,vG)&&(r.LONGER_ALT=t[vG]),(0,Ds.has)(t,SG)&&(r.LINE_BREAKS=t[SG]),(0,Ds.has)(t,xG)&&(r.START_CHARS_HINT=t[xG]),r}Ci.EOF=kG({name:"EOF",pattern:cIe.Lexer.NA});(0,Xv.augmentTokenTypes)([Ci.EOF]);function pIe(t,e,r,i,n,s,o,a){return{image:e,startOffset:r,endOffset:i,startLine:n,endLine:s,startColumn:o,endColumn:a,tokenTypeIdx:t.tokenTypeIdx,tokenType:t}}Ci.createTokenInstance=pIe;function dIe(t,e){return(0,Xv.tokenStructuredMatcher)(t,e)}Ci.tokenMatcher=dIe});var hn=E(Tt=>{"use strict";var oa=Tt&&Tt.__extends||function(){var t=function(e,r){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},t(e,r)};return function(e,r){if(typeof r!="function"&&r!==null)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");t(e,r);function i(){this.constructor=e}e.prototype=r===null?Object.create(r):(i.prototype=r.prototype,new i)}}();Object.defineProperty(Tt,"__esModule",{value:!0});Tt.serializeProduction=Tt.serializeGrammar=Tt.Terminal=Tt.Alternation=Tt.RepetitionWithSeparator=Tt.Repetition=Tt.RepetitionMandatoryWithSeparator=Tt.RepetitionMandatory=Tt.Option=Tt.Alternative=Tt.Rule=Tt.NonTerminal=Tt.AbstractProduction=void 0;var $t=Dt(),CIe=nA(),Ao=function(){function t(e){this._definition=e}return Object.defineProperty(t.prototype,"definition",{get:function(){return this._definition},set:function(e){this._definition=e},enumerable:!1,configurable:!0}),t.prototype.accept=function(e){e.visit(this),(0,$t.forEach)(this.definition,function(r){r.accept(e)})},t}();Tt.AbstractProduction=Ao;var PG=function(t){oa(e,t);function e(r){var i=t.call(this,[])||this;return i.idx=1,(0,$t.assign)(i,(0,$t.pick)(r,function(n){return n!==void 0})),i}return Object.defineProperty(e.prototype,"definition",{get:function(){return this.referencedRule!==void 0?this.referencedRule.definition:[]},set:function(r){},enumerable:!1,configurable:!0}),e.prototype.accept=function(r){r.visit(this)},e}(Ao);Tt.NonTerminal=PG;var DG=function(t){oa(e,t);function e(r){var i=t.call(this,r.definition)||this;return i.orgText="",(0,$t.assign)(i,(0,$t.pick)(r,function(n){return n!==void 0})),i}return e}(Ao);Tt.Rule=DG;var RG=function(t){oa(e,t);function e(r){var i=t.call(this,r.definition)||this;return i.ignoreAmbiguities=!1,(0,$t.assign)(i,(0,$t.pick)(r,function(n){return n!==void 0})),i}return e}(Ao);Tt.Alternative=RG;var FG=function(t){oa(e,t);function e(r){var i=t.call(this,r.definition)||this;return i.idx=1,(0,$t.assign)(i,(0,$t.pick)(r,function(n){return n!==void 0})),i}return e}(Ao);Tt.Option=FG;var NG=function(t){oa(e,t);function e(r){var i=t.call(this,r.definition)||this;return i.idx=1,(0,$t.assign)(i,(0,$t.pick)(r,function(n){return n!==void 0})),i}return e}(Ao);Tt.RepetitionMandatory=NG;var LG=function(t){oa(e,t);function e(r){var i=t.call(this,r.definition)||this;return i.idx=1,(0,$t.assign)(i,(0,$t.pick)(r,function(n){return n!==void 0})),i}return e}(Ao);Tt.RepetitionMandatoryWithSeparator=LG;var TG=function(t){oa(e,t);function e(r){var i=t.call(this,r.definition)||this;return i.idx=1,(0,$t.assign)(i,(0,$t.pick)(r,function(n){return n!==void 0})),i}return e}(Ao);Tt.Repetition=TG;var MG=function(t){oa(e,t);function e(r){var i=t.call(this,r.definition)||this;return i.idx=1,(0,$t.assign)(i,(0,$t.pick)(r,function(n){return n!==void 0})),i}return e}(Ao);Tt.RepetitionWithSeparator=MG;var OG=function(t){oa(e,t);function e(r){var i=t.call(this,r.definition)||this;return i.idx=1,i.ignoreAmbiguities=!1,i.hasPredicates=!1,(0,$t.assign)(i,(0,$t.pick)(r,function(n){return n!==void 0})),i}return Object.defineProperty(e.prototype,"definition",{get:function(){return this._definition},set:function(r){this._definition=r},enumerable:!1,configurable:!0}),e}(Ao);Tt.Alternation=OG;var CI=function(){function t(e){this.idx=1,(0,$t.assign)(this,(0,$t.pick)(e,function(r){return r!==void 0}))}return t.prototype.accept=function(e){e.visit(this)},t}();Tt.Terminal=CI;function mIe(t){return(0,$t.map)(t,Yh)}Tt.serializeGrammar=mIe;function Yh(t){function e(s){return(0,$t.map)(s,Yh)}if(t instanceof PG){var r={type:"NonTerminal",name:t.nonTerminalName,idx:t.idx};return(0,$t.isString)(t.label)&&(r.label=t.label),r}else{if(t instanceof RG)return{type:"Alternative",definition:e(t.definition)};if(t instanceof FG)return{type:"Option",idx:t.idx,definition:e(t.definition)};if(t instanceof NG)return{type:"RepetitionMandatory",idx:t.idx,definition:e(t.definition)};if(t instanceof LG)return{type:"RepetitionMandatoryWithSeparator",idx:t.idx,separator:Yh(new CI({terminalType:t.separator})),definition:e(t.definition)};if(t instanceof MG)return{type:"RepetitionWithSeparator",idx:t.idx,separator:Yh(new CI({terminalType:t.separator})),definition:e(t.definition)};if(t instanceof TG)return{type:"Repetition",idx:t.idx,definition:e(t.definition)};if(t instanceof OG)return{type:"Alternation",idx:t.idx,definition:e(t.definition)};if(t instanceof CI){var i={type:"Terminal",name:t.terminalType.name,label:(0,CIe.tokenLabel)(t.terminalType),idx:t.idx};(0,$t.isString)(t.label)&&(i.terminalLabel=t.label);var n=t.terminalType.PATTERN;return t.terminalType.PATTERN&&(i.pattern=(0,$t.isRegExp)(n)?n.source:n),i}else{if(t instanceof DG)return{type:"Rule",name:t.name,orgText:t.orgText,definition:e(t.definition)};throw Error("non exhaustive match")}}}Tt.serializeProduction=Yh});var EI=E(mI=>{"use strict";Object.defineProperty(mI,"__esModule",{value:!0});mI.RestWalker=void 0;var Zv=Dt(),pn=hn(),EIe=function(){function t(){}return t.prototype.walk=function(e,r){var i=this;r===void 0&&(r=[]),(0,Zv.forEach)(e.definition,function(n,s){var o=(0,Zv.drop)(e.definition,s+1);if(n instanceof pn.NonTerminal)i.walkProdRef(n,o,r);else if(n instanceof pn.Terminal)i.walkTerminal(n,o,r);else if(n instanceof pn.Alternative)i.walkFlat(n,o,r);else if(n instanceof pn.Option)i.walkOption(n,o,r);else if(n instanceof pn.RepetitionMandatory)i.walkAtLeastOne(n,o,r);else if(n instanceof pn.RepetitionMandatoryWithSeparator)i.walkAtLeastOneSep(n,o,r);else if(n instanceof pn.RepetitionWithSeparator)i.walkManySep(n,o,r);else if(n instanceof pn.Repetition)i.walkMany(n,o,r);else if(n instanceof pn.Alternation)i.walkOr(n,o,r);else throw Error("non exhaustive match")})},t.prototype.walkTerminal=function(e,r,i){},t.prototype.walkProdRef=function(e,r,i){},t.prototype.walkFlat=function(e,r,i){var n=r.concat(i);this.walk(e,n)},t.prototype.walkOption=function(e,r,i){var n=r.concat(i);this.walk(e,n)},t.prototype.walkAtLeastOne=function(e,r,i){var n=[new pn.Option({definition:e.definition})].concat(r,i);this.walk(e,n)},t.prototype.walkAtLeastOneSep=function(e,r,i){var n=KG(e,r,i);this.walk(e,n)},t.prototype.walkMany=function(e,r,i){var n=[new pn.Option({definition:e.definition})].concat(r,i);this.walk(e,n)},t.prototype.walkManySep=function(e,r,i){var n=KG(e,r,i);this.walk(e,n)},t.prototype.walkOr=function(e,r,i){var n=this,s=r.concat(i);(0,Zv.forEach)(e.definition,function(o){var a=new pn.Alternative({definition:[o]});n.walk(a,s)})},t}();mI.RestWalker=EIe;function KG(t,e,r){var i=[new pn.Option({definition:[new pn.Terminal({terminalType:t.separator})].concat(t.definition)})],n=i.concat(e,r);return n}});var wu=E(II=>{"use strict";Object.defineProperty(II,"__esModule",{value:!0});II.GAstVisitor=void 0;var lo=hn(),IIe=function(){function t(){}return t.prototype.visit=function(e){var r=e;switch(r.constructor){case lo.NonTerminal:return this.visitNonTerminal(r);case lo.Alternative:return this.visitAlternative(r);case lo.Option:return this.visitOption(r);case lo.RepetitionMandatory:return this.visitRepetitionMandatory(r);case lo.RepetitionMandatoryWithSeparator:return this.visitRepetitionMandatoryWithSeparator(r);case lo.RepetitionWithSeparator:return this.visitRepetitionWithSeparator(r);case lo.Repetition:return this.visitRepetition(r);case lo.Alternation:return this.visitAlternation(r);case lo.Terminal:return this.visitTerminal(r);case lo.Rule:return this.visitRule(r);default:throw Error("non exhaustive match")}},t.prototype.visitNonTerminal=function(e){},t.prototype.visitAlternative=function(e){},t.prototype.visitOption=function(e){},t.prototype.visitRepetition=function(e){},t.prototype.visitRepetitionMandatory=function(e){},t.prototype.visitRepetitionMandatoryWithSeparator=function(e){},t.prototype.visitRepetitionWithSeparator=function(e){},t.prototype.visitAlternation=function(e){},t.prototype.visitTerminal=function(e){},t.prototype.visitRule=function(e){},t}();II.GAstVisitor=IIe});var Jh=E(Si=>{"use strict";var yIe=Si&&Si.__extends||function(){var t=function(e,r){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},t(e,r)};return function(e,r){if(typeof r!="function"&&r!==null)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");t(e,r);function i(){this.constructor=e}e.prototype=r===null?Object.create(r):(i.prototype=r.prototype,new i)}}();Object.defineProperty(Si,"__esModule",{value:!0});Si.collectMethods=Si.DslMethodsCollectorVisitor=Si.getProductionDslName=Si.isBranchingProd=Si.isOptionalProd=Si.isSequenceProd=void 0;var qh=Dt(),dr=hn(),wIe=wu();function BIe(t){return t instanceof dr.Alternative||t instanceof dr.Option||t instanceof dr.Repetition||t instanceof dr.RepetitionMandatory||t instanceof dr.RepetitionMandatoryWithSeparator||t instanceof dr.RepetitionWithSeparator||t instanceof dr.Terminal||t instanceof dr.Rule}Si.isSequenceProd=BIe;function $v(t,e){e===void 0&&(e=[]);var r=t instanceof dr.Option||t instanceof dr.Repetition||t instanceof dr.RepetitionWithSeparator;return r?!0:t instanceof dr.Alternation?(0,qh.some)(t.definition,function(i){return $v(i,e)}):t instanceof dr.NonTerminal&&(0,qh.contains)(e,t)?!1:t instanceof dr.AbstractProduction?(t instanceof dr.NonTerminal&&e.push(t),(0,qh.every)(t.definition,function(i){return $v(i,e)})):!1}Si.isOptionalProd=$v;function QIe(t){return t instanceof dr.Alternation}Si.isBranchingProd=QIe;function bIe(t){if(t instanceof dr.NonTerminal)return"SUBRULE";if(t instanceof dr.Option)return"OPTION";if(t instanceof dr.Alternation)return"OR";if(t instanceof dr.RepetitionMandatory)return"AT_LEAST_ONE";if(t instanceof dr.RepetitionMandatoryWithSeparator)return"AT_LEAST_ONE_SEP";if(t instanceof dr.RepetitionWithSeparator)return"MANY_SEP";if(t instanceof dr.Repetition)return"MANY";if(t instanceof dr.Terminal)return"CONSUME";throw Error("non exhaustive match")}Si.getProductionDslName=bIe;var UG=function(t){yIe(e,t);function e(){var r=t!==null&&t.apply(this,arguments)||this;return r.separator="-",r.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]},r}return e.prototype.reset=function(){this.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]}},e.prototype.visitTerminal=function(r){var i=r.terminalType.name+this.separator+"Terminal";(0,qh.has)(this.dslMethods,i)||(this.dslMethods[i]=[]),this.dslMethods[i].push(r)},e.prototype.visitNonTerminal=function(r){var i=r.nonTerminalName+this.separator+"Terminal";(0,qh.has)(this.dslMethods,i)||(this.dslMethods[i]=[]),this.dslMethods[i].push(r)},e.prototype.visitOption=function(r){this.dslMethods.option.push(r)},e.prototype.visitRepetitionWithSeparator=function(r){this.dslMethods.repetitionWithSeparator.push(r)},e.prototype.visitRepetitionMandatory=function(r){this.dslMethods.repetitionMandatory.push(r)},e.prototype.visitRepetitionMandatoryWithSeparator=function(r){this.dslMethods.repetitionMandatoryWithSeparator.push(r)},e.prototype.visitRepetition=function(r){this.dslMethods.repetition.push(r)},e.prototype.visitAlternation=function(r){this.dslMethods.alternation.push(r)},e}(wIe.GAstVisitor);Si.DslMethodsCollectorVisitor=UG;var yI=new UG;function vIe(t){yI.reset(),t.accept(yI);var e=yI.dslMethods;return yI.reset(),e}Si.collectMethods=vIe});var tS=E(co=>{"use strict";Object.defineProperty(co,"__esModule",{value:!0});co.firstForTerminal=co.firstForBranching=co.firstForSequence=co.first=void 0;var wI=Dt(),HG=hn(),eS=Jh();function BI(t){if(t instanceof HG.NonTerminal)return BI(t.referencedRule);if(t instanceof HG.Terminal)return YG(t);if((0,eS.isSequenceProd)(t))return GG(t);if((0,eS.isBranchingProd)(t))return jG(t);throw Error("non exhaustive match")}co.first=BI;function GG(t){for(var e=[],r=t.definition,i=0,n=r.length>i,s,o=!0;n&&o;)s=r[i],o=(0,eS.isOptionalProd)(s),e=e.concat(BI(s)),i=i+1,n=r.length>i;return(0,wI.uniq)(e)}co.firstForSequence=GG;function jG(t){var e=(0,wI.map)(t.definition,function(r){return BI(r)});return(0,wI.uniq)((0,wI.flatten)(e))}co.firstForBranching=jG;function YG(t){return[t.terminalType]}co.firstForTerminal=YG});var rS=E(QI=>{"use strict";Object.defineProperty(QI,"__esModule",{value:!0});QI.IN=void 0;QI.IN="_~IN~_"});var VG=E(es=>{"use strict";var SIe=es&&es.__extends||function(){var t=function(e,r){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},t(e,r)};return function(e,r){if(typeof r!="function"&&r!==null)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");t(e,r);function i(){this.constructor=e}e.prototype=r===null?Object.create(r):(i.prototype=r.prototype,new i)}}();Object.defineProperty(es,"__esModule",{value:!0});es.buildInProdFollowPrefix=es.buildBetweenProdsFollowPrefix=es.computeAllProdsFollows=es.ResyncFollowsWalker=void 0;var xIe=EI(),kIe=tS(),qG=Dt(),JG=rS(),PIe=hn(),zG=function(t){SIe(e,t);function e(r){var i=t.call(this)||this;return i.topProd=r,i.follows={},i}return e.prototype.startWalking=function(){return this.walk(this.topProd),this.follows},e.prototype.walkTerminal=function(r,i,n){},e.prototype.walkProdRef=function(r,i,n){var s=WG(r.referencedRule,r.idx)+this.topProd.name,o=i.concat(n),a=new PIe.Alternative({definition:o}),l=(0,kIe.first)(a);this.follows[s]=l},e}(xIe.RestWalker);es.ResyncFollowsWalker=zG;function DIe(t){var e={};return(0,qG.forEach)(t,function(r){var i=new zG(r).startWalking();(0,qG.assign)(e,i)}),e}es.computeAllProdsFollows=DIe;function WG(t,e){return t.name+e+JG.IN}es.buildBetweenProdsFollowPrefix=WG;function RIe(t){var e=t.terminalType.name;return e+t.idx+JG.IN}es.buildInProdFollowPrefix=RIe});var Wh=E(aa=>{"use strict";Object.defineProperty(aa,"__esModule",{value:!0});aa.defaultGrammarValidatorErrorProvider=aa.defaultGrammarResolverErrorProvider=aa.defaultParserErrorProvider=void 0;var Bu=nA(),FIe=Dt(),Rs=Dt(),iS=hn(),_G=Jh();aa.defaultParserErrorProvider={buildMismatchTokenMessage:function(t){var e=t.expected,r=t.actual,i=t.previous,n=t.ruleName,s=(0,Bu.hasTokenLabel)(e),o=s?"--> "+(0,Bu.tokenLabel)(e)+" <--":"token of type --> "+e.name+" <--",a="Expecting "+o+" but found --> '"+r.image+"' <--";return a},buildNotAllInputParsedMessage:function(t){var e=t.firstRedundant,r=t.ruleName;return"Redundant input, expecting EOF but found: "+e.image},buildNoViableAltMessage:function(t){var e=t.expectedPathsPerAlt,r=t.actual,i=t.previous,n=t.customUserDescription,s=t.ruleName,o="Expecting: ",a=(0,Rs.first)(r).image,l=` +but found: '`+a+"'";if(n)return o+n+l;var c=(0,Rs.reduce)(e,function(h,p){return h.concat(p)},[]),u=(0,Rs.map)(c,function(h){return"["+(0,Rs.map)(h,function(p){return(0,Bu.tokenLabel)(p)}).join(", ")+"]"}),g=(0,Rs.map)(u,function(h,p){return" "+(p+1)+". "+h}),f=`one of these possible Token sequences: +`+g.join(` +`);return o+f+l},buildEarlyExitMessage:function(t){var e=t.expectedIterationPaths,r=t.actual,i=t.customUserDescription,n=t.ruleName,s="Expecting: ",o=(0,Rs.first)(r).image,a=` +but found: '`+o+"'";if(i)return s+i+a;var l=(0,Rs.map)(e,function(u){return"["+(0,Rs.map)(u,function(g){return(0,Bu.tokenLabel)(g)}).join(",")+"]"}),c=`expecting at least one iteration which starts with one of these possible Token sequences:: + `+("<"+l.join(" ,")+">");return s+c+a}};Object.freeze(aa.defaultParserErrorProvider);aa.defaultGrammarResolverErrorProvider={buildRuleNotFoundError:function(t,e){var r="Invalid grammar, reference to a rule which is not defined: ->"+e.nonTerminalName+`<- +inside top level rule: ->`+t.name+"<-";return r}};aa.defaultGrammarValidatorErrorProvider={buildDuplicateFoundError:function(t,e){function r(u){return u instanceof iS.Terminal?u.terminalType.name:u instanceof iS.NonTerminal?u.nonTerminalName:""}var i=t.name,n=(0,Rs.first)(e),s=n.idx,o=(0,_G.getProductionDslName)(n),a=r(n),l=s>0,c="->"+o+(l?s:"")+"<- "+(a?"with argument: ->"+a+"<-":"")+` + appears more than once (`+e.length+" times) in the top level rule: ->"+i+`<-. + For further details see: https://chevrotain.io/docs/FAQ.html#NUMERICAL_SUFFIXES + `;return c=c.replace(/[ \t]+/g," "),c=c.replace(/\s\s+/g,` +`),c},buildNamespaceConflictError:function(t){var e=`Namespace conflict found in grammar. +`+("The grammar has both a Terminal(Token) and a Non-Terminal(Rule) named: <"+t.name+`>. +`)+`To resolve this make sure each Terminal and Non-Terminal names are unique +This is easy to accomplish by using the convention that Terminal names start with an uppercase letter +and Non-Terminal names start with a lower case letter.`;return e},buildAlternationPrefixAmbiguityError:function(t){var e=(0,Rs.map)(t.prefixPath,function(n){return(0,Bu.tokenLabel)(n)}).join(", "),r=t.alternation.idx===0?"":t.alternation.idx,i="Ambiguous alternatives: <"+t.ambiguityIndices.join(" ,")+`> due to common lookahead prefix +`+("in inside <"+t.topLevelRule.name+`> Rule, +`)+("<"+e+`> may appears as a prefix path in all these alternatives. +`)+`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#COMMON_PREFIX +For Further details.`;return i},buildAlternationAmbiguityError:function(t){var e=(0,Rs.map)(t.prefixPath,function(n){return(0,Bu.tokenLabel)(n)}).join(", "),r=t.alternation.idx===0?"":t.alternation.idx,i="Ambiguous Alternatives Detected: <"+t.ambiguityIndices.join(" ,")+"> in "+(" inside <"+t.topLevelRule.name+`> Rule, +`)+("<"+e+`> may appears as a prefix path in all these alternatives. +`);return i=i+`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES +For Further details.`,i},buildEmptyRepetitionError:function(t){var e=(0,_G.getProductionDslName)(t.repetition);t.repetition.idx!==0&&(e+=t.repetition.idx);var r="The repetition <"+e+"> within Rule <"+t.topLevelRule.name+`> can never consume any tokens. +This could lead to an infinite loop.`;return r},buildTokenNameError:function(t){return"deprecated"},buildEmptyAlternationError:function(t){var e="Ambiguous empty alternative: <"+(t.emptyChoiceIdx+1)+">"+(" in inside <"+t.topLevelRule.name+`> Rule. +`)+"Only the last alternative may be an empty alternative.";return e},buildTooManyAlternativesError:function(t){var e=`An Alternation cannot have more than 256 alternatives: +`+(" inside <"+t.topLevelRule.name+`> Rule. + has `+(t.alternation.definition.length+1)+" alternatives.");return e},buildLeftRecursionError:function(t){var e=t.topLevelRule.name,r=FIe.map(t.leftRecursionPath,function(s){return s.name}),i=e+" --> "+r.concat([e]).join(" --> "),n=`Left Recursion found in grammar. +`+("rule: <"+e+`> can be invoked from itself (directly or indirectly) +`)+(`without consuming any Tokens. The grammar path that causes this is: + `+i+` +`)+` To fix this refactor your grammar to remove the left recursion. +see: https://en.wikipedia.org/wiki/LL_parser#Left_Factoring.`;return n},buildInvalidRuleNameError:function(t){return"deprecated"},buildDuplicateRuleNameError:function(t){var e;t.topLevelRule instanceof iS.Rule?e=t.topLevelRule.name:e=t.topLevelRule;var r="Duplicate definition, rule: ->"+e+"<- is already defined in the grammar: ->"+t.grammarName+"<-";return r}}});var $G=E(sA=>{"use strict";var NIe=sA&&sA.__extends||function(){var t=function(e,r){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},t(e,r)};return function(e,r){if(typeof r!="function"&&r!==null)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");t(e,r);function i(){this.constructor=e}e.prototype=r===null?Object.create(r):(i.prototype=r.prototype,new i)}}();Object.defineProperty(sA,"__esModule",{value:!0});sA.GastRefResolverVisitor=sA.resolveGrammar=void 0;var LIe=Tn(),XG=Dt(),TIe=wu();function MIe(t,e){var r=new ZG(t,e);return r.resolveRefs(),r.errors}sA.resolveGrammar=MIe;var ZG=function(t){NIe(e,t);function e(r,i){var n=t.call(this)||this;return n.nameToTopRule=r,n.errMsgProvider=i,n.errors=[],n}return e.prototype.resolveRefs=function(){var r=this;(0,XG.forEach)((0,XG.values)(this.nameToTopRule),function(i){r.currTopLevel=i,i.accept(r)})},e.prototype.visitNonTerminal=function(r){var i=this.nameToTopRule[r.nonTerminalName];if(i)r.referencedRule=i;else{var n=this.errMsgProvider.buildRuleNotFoundError(this.currTopLevel,r);this.errors.push({message:n,type:LIe.ParserDefinitionErrorType.UNRESOLVED_SUBRULE_REF,ruleName:this.currTopLevel.name,unresolvedRefName:r.nonTerminalName})}},e}(TIe.GAstVisitor);sA.GastRefResolverVisitor=ZG});var Vh=E(Br=>{"use strict";var Fl=Br&&Br.__extends||function(){var t=function(e,r){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},t(e,r)};return function(e,r){if(typeof r!="function"&&r!==null)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");t(e,r);function i(){this.constructor=e}e.prototype=r===null?Object.create(r):(i.prototype=r.prototype,new i)}}();Object.defineProperty(Br,"__esModule",{value:!0});Br.nextPossibleTokensAfter=Br.possiblePathsFrom=Br.NextTerminalAfterAtLeastOneSepWalker=Br.NextTerminalAfterAtLeastOneWalker=Br.NextTerminalAfterManySepWalker=Br.NextTerminalAfterManyWalker=Br.AbstractNextTerminalAfterProductionWalker=Br.NextAfterTokenWalker=Br.AbstractNextPossibleTokensWalker=void 0;var ej=EI(),xt=Dt(),OIe=tS(),It=hn(),tj=function(t){Fl(e,t);function e(r,i){var n=t.call(this)||this;return n.topProd=r,n.path=i,n.possibleTokTypes=[],n.nextProductionName="",n.nextProductionOccurrence=0,n.found=!1,n.isAtEndOfPath=!1,n}return e.prototype.startWalking=function(){if(this.found=!1,this.path.ruleStack[0]!==this.topProd.name)throw Error("The path does not start with the walker's top Rule!");return this.ruleStack=(0,xt.cloneArr)(this.path.ruleStack).reverse(),this.occurrenceStack=(0,xt.cloneArr)(this.path.occurrenceStack).reverse(),this.ruleStack.pop(),this.occurrenceStack.pop(),this.updateExpectedNext(),this.walk(this.topProd),this.possibleTokTypes},e.prototype.walk=function(r,i){i===void 0&&(i=[]),this.found||t.prototype.walk.call(this,r,i)},e.prototype.walkProdRef=function(r,i,n){if(r.referencedRule.name===this.nextProductionName&&r.idx===this.nextProductionOccurrence){var s=i.concat(n);this.updateExpectedNext(),this.walk(r.referencedRule,s)}},e.prototype.updateExpectedNext=function(){(0,xt.isEmpty)(this.ruleStack)?(this.nextProductionName="",this.nextProductionOccurrence=0,this.isAtEndOfPath=!0):(this.nextProductionName=this.ruleStack.pop(),this.nextProductionOccurrence=this.occurrenceStack.pop())},e}(ej.RestWalker);Br.AbstractNextPossibleTokensWalker=tj;var KIe=function(t){Fl(e,t);function e(r,i){var n=t.call(this,r,i)||this;return n.path=i,n.nextTerminalName="",n.nextTerminalOccurrence=0,n.nextTerminalName=n.path.lastTok.name,n.nextTerminalOccurrence=n.path.lastTokOccurrence,n}return e.prototype.walkTerminal=function(r,i,n){if(this.isAtEndOfPath&&r.terminalType.name===this.nextTerminalName&&r.idx===this.nextTerminalOccurrence&&!this.found){var s=i.concat(n),o=new It.Alternative({definition:s});this.possibleTokTypes=(0,OIe.first)(o),this.found=!0}},e}(tj);Br.NextAfterTokenWalker=KIe;var zh=function(t){Fl(e,t);function e(r,i){var n=t.call(this)||this;return n.topRule=r,n.occurrence=i,n.result={token:void 0,occurrence:void 0,isEndOfRule:void 0},n}return e.prototype.startWalking=function(){return this.walk(this.topRule),this.result},e}(ej.RestWalker);Br.AbstractNextTerminalAfterProductionWalker=zh;var UIe=function(t){Fl(e,t);function e(){return t!==null&&t.apply(this,arguments)||this}return e.prototype.walkMany=function(r,i,n){if(r.idx===this.occurrence){var s=(0,xt.first)(i.concat(n));this.result.isEndOfRule=s===void 0,s instanceof It.Terminal&&(this.result.token=s.terminalType,this.result.occurrence=s.idx)}else t.prototype.walkMany.call(this,r,i,n)},e}(zh);Br.NextTerminalAfterManyWalker=UIe;var HIe=function(t){Fl(e,t);function e(){return t!==null&&t.apply(this,arguments)||this}return e.prototype.walkManySep=function(r,i,n){if(r.idx===this.occurrence){var s=(0,xt.first)(i.concat(n));this.result.isEndOfRule=s===void 0,s instanceof It.Terminal&&(this.result.token=s.terminalType,this.result.occurrence=s.idx)}else t.prototype.walkManySep.call(this,r,i,n)},e}(zh);Br.NextTerminalAfterManySepWalker=HIe;var GIe=function(t){Fl(e,t);function e(){return t!==null&&t.apply(this,arguments)||this}return e.prototype.walkAtLeastOne=function(r,i,n){if(r.idx===this.occurrence){var s=(0,xt.first)(i.concat(n));this.result.isEndOfRule=s===void 0,s instanceof It.Terminal&&(this.result.token=s.terminalType,this.result.occurrence=s.idx)}else t.prototype.walkAtLeastOne.call(this,r,i,n)},e}(zh);Br.NextTerminalAfterAtLeastOneWalker=GIe;var jIe=function(t){Fl(e,t);function e(){return t!==null&&t.apply(this,arguments)||this}return e.prototype.walkAtLeastOneSep=function(r,i,n){if(r.idx===this.occurrence){var s=(0,xt.first)(i.concat(n));this.result.isEndOfRule=s===void 0,s instanceof It.Terminal&&(this.result.token=s.terminalType,this.result.occurrence=s.idx)}else t.prototype.walkAtLeastOneSep.call(this,r,i,n)},e}(zh);Br.NextTerminalAfterAtLeastOneSepWalker=jIe;function rj(t,e,r){r===void 0&&(r=[]),r=(0,xt.cloneArr)(r);var i=[],n=0;function s(c){return c.concat((0,xt.drop)(t,n+1))}function o(c){var u=rj(s(c),e,r);return i.concat(u)}for(;r.length=0;W--){var X=I.definition[W],F={idx:p,def:X.definition.concat((0,xt.drop)(h)),ruleStack:d,occurrenceStack:m};g.push(F),g.push(o)}else if(I instanceof It.Alternative)g.push({idx:p,def:I.definition.concat((0,xt.drop)(h)),ruleStack:d,occurrenceStack:m});else if(I instanceof It.Rule)g.push(YIe(I,p,d,m));else throw Error("non exhaustive match")}}return u}Br.nextPossibleTokensAfter=qIe;function YIe(t,e,r,i){var n=(0,xt.cloneArr)(r);n.push(t.name);var s=(0,xt.cloneArr)(i);return s.push(1),{idx:e,def:t.definition,ruleStack:n,occurrenceStack:s}}});var _h=E(Gt=>{"use strict";var ij=Gt&&Gt.__extends||function(){var t=function(e,r){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},t(e,r)};return function(e,r){if(typeof r!="function"&&r!==null)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");t(e,r);function i(){this.constructor=e}e.prototype=r===null?Object.create(r):(i.prototype=r.prototype,new i)}}();Object.defineProperty(Gt,"__esModule",{value:!0});Gt.areTokenCategoriesNotUsed=Gt.isStrictPrefixOfPath=Gt.containsPath=Gt.getLookaheadPathsForOptionalProd=Gt.getLookaheadPathsForOr=Gt.lookAheadSequenceFromAlternatives=Gt.buildSingleAlternativeLookaheadFunction=Gt.buildAlternativesLookAheadFunc=Gt.buildLookaheadFuncForOptionalProd=Gt.buildLookaheadFuncForOr=Gt.getProdType=Gt.PROD_TYPE=void 0;var _t=Dt(),nj=Vh(),JIe=EI(),bI=yu(),oA=hn(),WIe=wu(),zr;(function(t){t[t.OPTION=0]="OPTION",t[t.REPETITION=1]="REPETITION",t[t.REPETITION_MANDATORY=2]="REPETITION_MANDATORY",t[t.REPETITION_MANDATORY_WITH_SEPARATOR=3]="REPETITION_MANDATORY_WITH_SEPARATOR",t[t.REPETITION_WITH_SEPARATOR=4]="REPETITION_WITH_SEPARATOR",t[t.ALTERNATION=5]="ALTERNATION"})(zr=Gt.PROD_TYPE||(Gt.PROD_TYPE={}));function zIe(t){if(t instanceof oA.Option)return zr.OPTION;if(t instanceof oA.Repetition)return zr.REPETITION;if(t instanceof oA.RepetitionMandatory)return zr.REPETITION_MANDATORY;if(t instanceof oA.RepetitionMandatoryWithSeparator)return zr.REPETITION_MANDATORY_WITH_SEPARATOR;if(t instanceof oA.RepetitionWithSeparator)return zr.REPETITION_WITH_SEPARATOR;if(t instanceof oA.Alternation)return zr.ALTERNATION;throw Error("non exhaustive match")}Gt.getProdType=zIe;function VIe(t,e,r,i,n,s){var o=sj(t,e,r),a=nS(o)?bI.tokenStructuredMatcherNoCategories:bI.tokenStructuredMatcher;return s(o,i,a,n)}Gt.buildLookaheadFuncForOr=VIe;function _Ie(t,e,r,i,n,s){var o=oj(t,e,n,r),a=nS(o)?bI.tokenStructuredMatcherNoCategories:bI.tokenStructuredMatcher;return s(o[0],a,i)}Gt.buildLookaheadFuncForOptionalProd=_Ie;function XIe(t,e,r,i){var n=t.length,s=(0,_t.every)(t,function(l){return(0,_t.every)(l,function(c){return c.length===1})});if(e)return function(l){for(var c=(0,_t.map)(l,function(b){return b.GATE}),u=0;u{"use strict";var aS=Mt&&Mt.__extends||function(){var t=function(e,r){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},t(e,r)};return function(e,r){if(typeof r!="function"&&r!==null)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");t(e,r);function i(){this.constructor=e}e.prototype=r===null?Object.create(r):(i.prototype=r.prototype,new i)}}();Object.defineProperty(Mt,"__esModule",{value:!0});Mt.checkPrefixAlternativesAmbiguities=Mt.validateSomeNonEmptyLookaheadPath=Mt.validateTooManyAlts=Mt.RepetionCollector=Mt.validateAmbiguousAlternationAlternatives=Mt.validateEmptyOrAlternative=Mt.getFirstNoneTerminal=Mt.validateNoLeftRecursion=Mt.validateRuleIsOverridden=Mt.validateRuleDoesNotAlreadyExist=Mt.OccurrenceValidationCollector=Mt.identifyProductionForDuplicates=Mt.validateGrammar=void 0;var jt=Dt(),Cr=Dt(),uo=Tn(),AS=Jh(),Qu=_h(),rye=Vh(),Fs=hn(),lS=wu();function sye(t,e,r,i,n){var s=jt.map(t,function(h){return iye(h,i)}),o=jt.map(t,function(h){return cS(h,h,i)}),a=[],l=[],c=[];(0,Cr.every)(o,Cr.isEmpty)&&(a=(0,Cr.map)(t,function(h){return uj(h,i)}),l=(0,Cr.map)(t,function(h){return gj(h,e,i)}),c=hj(t,e,i));var u=nye(t,r,i),g=(0,Cr.map)(t,function(h){return fj(h,i)}),f=(0,Cr.map)(t,function(h){return cj(h,t,n,i)});return jt.flatten(s.concat(c,o,a,l,u,g,f))}Mt.validateGrammar=sye;function iye(t,e){var r=new Cj;t.accept(r);var i=r.allProductions,n=jt.groupBy(i,pj),s=jt.pick(n,function(a){return a.length>1}),o=jt.map(jt.values(s),function(a){var l=jt.first(a),c=e.buildDuplicateFoundError(t,a),u=(0,AS.getProductionDslName)(l),g={message:c,type:uo.ParserDefinitionErrorType.DUPLICATE_PRODUCTIONS,ruleName:t.name,dslName:u,occurrence:l.idx},f=dj(l);return f&&(g.parameter=f),g});return o}function pj(t){return(0,AS.getProductionDslName)(t)+"_#_"+t.idx+"_#_"+dj(t)}Mt.identifyProductionForDuplicates=pj;function dj(t){return t instanceof Fs.Terminal?t.terminalType.name:t instanceof Fs.NonTerminal?t.nonTerminalName:""}var Cj=function(t){aS(e,t);function e(){var r=t!==null&&t.apply(this,arguments)||this;return r.allProductions=[],r}return e.prototype.visitNonTerminal=function(r){this.allProductions.push(r)},e.prototype.visitOption=function(r){this.allProductions.push(r)},e.prototype.visitRepetitionWithSeparator=function(r){this.allProductions.push(r)},e.prototype.visitRepetitionMandatory=function(r){this.allProductions.push(r)},e.prototype.visitRepetitionMandatoryWithSeparator=function(r){this.allProductions.push(r)},e.prototype.visitRepetition=function(r){this.allProductions.push(r)},e.prototype.visitAlternation=function(r){this.allProductions.push(r)},e.prototype.visitTerminal=function(r){this.allProductions.push(r)},e}(lS.GAstVisitor);Mt.OccurrenceValidationCollector=Cj;function cj(t,e,r,i){var n=[],s=(0,Cr.reduce)(e,function(a,l){return l.name===t.name?a+1:a},0);if(s>1){var o=i.buildDuplicateRuleNameError({topLevelRule:t,grammarName:r});n.push({message:o,type:uo.ParserDefinitionErrorType.DUPLICATE_RULE_NAME,ruleName:t.name})}return n}Mt.validateRuleDoesNotAlreadyExist=cj;function oye(t,e,r){var i=[],n;return jt.contains(e,t)||(n="Invalid rule override, rule: ->"+t+"<- cannot be overridden in the grammar: ->"+r+"<-as it is not defined in any of the super grammars ",i.push({message:n,type:uo.ParserDefinitionErrorType.INVALID_RULE_OVERRIDE,ruleName:t})),i}Mt.validateRuleIsOverridden=oye;function cS(t,e,r,i){i===void 0&&(i=[]);var n=[],s=Xh(e.definition);if(jt.isEmpty(s))return[];var o=t.name,a=jt.contains(s,t);a&&n.push({message:r.buildLeftRecursionError({topLevelRule:t,leftRecursionPath:i}),type:uo.ParserDefinitionErrorType.LEFT_RECURSION,ruleName:o});var l=jt.difference(s,i.concat([t])),c=jt.map(l,function(u){var g=jt.cloneArr(i);return g.push(u),cS(t,u,r,g)});return n.concat(jt.flatten(c))}Mt.validateNoLeftRecursion=cS;function Xh(t){var e=[];if(jt.isEmpty(t))return e;var r=jt.first(t);if(r instanceof Fs.NonTerminal)e.push(r.referencedRule);else if(r instanceof Fs.Alternative||r instanceof Fs.Option||r instanceof Fs.RepetitionMandatory||r instanceof Fs.RepetitionMandatoryWithSeparator||r instanceof Fs.RepetitionWithSeparator||r instanceof Fs.Repetition)e=e.concat(Xh(r.definition));else if(r instanceof Fs.Alternation)e=jt.flatten(jt.map(r.definition,function(o){return Xh(o.definition)}));else if(!(r instanceof Fs.Terminal))throw Error("non exhaustive match");var i=(0,AS.isOptionalProd)(r),n=t.length>1;if(i&&n){var s=jt.drop(t);return e.concat(Xh(s))}else return e}Mt.getFirstNoneTerminal=Xh;var uS=function(t){aS(e,t);function e(){var r=t!==null&&t.apply(this,arguments)||this;return r.alternations=[],r}return e.prototype.visitAlternation=function(r){this.alternations.push(r)},e}(lS.GAstVisitor);function uj(t,e){var r=new uS;t.accept(r);var i=r.alternations,n=jt.reduce(i,function(s,o){var a=jt.dropRight(o.definition),l=jt.map(a,function(c,u){var g=(0,rye.nextPossibleTokensAfter)([c],[],null,1);return jt.isEmpty(g)?{message:e.buildEmptyAlternationError({topLevelRule:t,alternation:o,emptyChoiceIdx:u}),type:uo.ParserDefinitionErrorType.NONE_LAST_EMPTY_ALT,ruleName:t.name,occurrence:o.idx,alternative:u+1}:null});return s.concat(jt.compact(l))},[]);return n}Mt.validateEmptyOrAlternative=uj;function gj(t,e,r){var i=new uS;t.accept(i);var n=i.alternations;n=(0,Cr.reject)(n,function(o){return o.ignoreAmbiguities===!0});var s=jt.reduce(n,function(o,a){var l=a.idx,c=a.maxLookahead||e,u=(0,Qu.getLookaheadPathsForOr)(l,t,c,a),g=aye(u,a,t,r),f=mj(u,a,t,r);return o.concat(g,f)},[]);return s}Mt.validateAmbiguousAlternationAlternatives=gj;var Ej=function(t){aS(e,t);function e(){var r=t!==null&&t.apply(this,arguments)||this;return r.allProductions=[],r}return e.prototype.visitRepetitionWithSeparator=function(r){this.allProductions.push(r)},e.prototype.visitRepetitionMandatory=function(r){this.allProductions.push(r)},e.prototype.visitRepetitionMandatoryWithSeparator=function(r){this.allProductions.push(r)},e.prototype.visitRepetition=function(r){this.allProductions.push(r)},e}(lS.GAstVisitor);Mt.RepetionCollector=Ej;function fj(t,e){var r=new uS;t.accept(r);var i=r.alternations,n=jt.reduce(i,function(s,o){return o.definition.length>255&&s.push({message:e.buildTooManyAlternativesError({topLevelRule:t,alternation:o}),type:uo.ParserDefinitionErrorType.TOO_MANY_ALTS,ruleName:t.name,occurrence:o.idx}),s},[]);return n}Mt.validateTooManyAlts=fj;function hj(t,e,r){var i=[];return(0,Cr.forEach)(t,function(n){var s=new Ej;n.accept(s);var o=s.allProductions;(0,Cr.forEach)(o,function(a){var l=(0,Qu.getProdType)(a),c=a.maxLookahead||e,u=a.idx,g=(0,Qu.getLookaheadPathsForOptionalProd)(u,n,l,c),f=g[0];if((0,Cr.isEmpty)((0,Cr.flatten)(f))){var h=r.buildEmptyRepetitionError({topLevelRule:n,repetition:a});i.push({message:h,type:uo.ParserDefinitionErrorType.NO_NON_EMPTY_LOOKAHEAD,ruleName:n.name})}})}),i}Mt.validateSomeNonEmptyLookaheadPath=hj;function aye(t,e,r,i){var n=[],s=(0,Cr.reduce)(t,function(a,l,c){return e.definition[c].ignoreAmbiguities===!0||(0,Cr.forEach)(l,function(u){var g=[c];(0,Cr.forEach)(t,function(f,h){c!==h&&(0,Qu.containsPath)(f,u)&&e.definition[h].ignoreAmbiguities!==!0&&g.push(h)}),g.length>1&&!(0,Qu.containsPath)(n,u)&&(n.push(u),a.push({alts:g,path:u}))}),a},[]),o=jt.map(s,function(a){var l=(0,Cr.map)(a.alts,function(u){return u+1}),c=i.buildAlternationAmbiguityError({topLevelRule:r,alternation:e,ambiguityIndices:l,prefixPath:a.path});return{message:c,type:uo.ParserDefinitionErrorType.AMBIGUOUS_ALTS,ruleName:r.name,occurrence:e.idx,alternatives:[a.alts]}});return o}function mj(t,e,r,i){var n=[],s=(0,Cr.reduce)(t,function(o,a,l){var c=(0,Cr.map)(a,function(u){return{idx:l,path:u}});return o.concat(c)},[]);return(0,Cr.forEach)(s,function(o){var a=e.definition[o.idx];if(a.ignoreAmbiguities!==!0){var l=o.idx,c=o.path,u=(0,Cr.findAll)(s,function(f){return e.definition[f.idx].ignoreAmbiguities!==!0&&f.idx{"use strict";Object.defineProperty(bu,"__esModule",{value:!0});bu.validateGrammar=bu.resolveGrammar=void 0;var fS=Dt(),Aye=$G(),lye=gS(),Ij=Wh();function cye(t){t=(0,fS.defaults)(t,{errMsgProvider:Ij.defaultGrammarResolverErrorProvider});var e={};return(0,fS.forEach)(t.rules,function(r){e[r.name]=r}),(0,Aye.resolveGrammar)(e,t.errMsgProvider)}bu.resolveGrammar=cye;function uye(t){return t=(0,fS.defaults)(t,{errMsgProvider:Ij.defaultGrammarValidatorErrorProvider}),(0,lye.validateGrammar)(t.rules,t.maxLookahead,t.tokenTypes,t.errMsgProvider,t.grammarName)}bu.validateGrammar=uye});var vu=E(dn=>{"use strict";var Zh=dn&&dn.__extends||function(){var t=function(e,r){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},t(e,r)};return function(e,r){if(typeof r!="function"&&r!==null)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");t(e,r);function i(){this.constructor=e}e.prototype=r===null?Object.create(r):(i.prototype=r.prototype,new i)}}();Object.defineProperty(dn,"__esModule",{value:!0});dn.EarlyExitException=dn.NotAllInputParsedException=dn.NoViableAltException=dn.MismatchedTokenException=dn.isRecognitionException=void 0;var gye=Dt(),wj="MismatchedTokenException",Bj="NoViableAltException",Qj="EarlyExitException",bj="NotAllInputParsedException",vj=[wj,Bj,Qj,bj];Object.freeze(vj);function fye(t){return(0,gye.contains)(vj,t.name)}dn.isRecognitionException=fye;var vI=function(t){Zh(e,t);function e(r,i){var n=this.constructor,s=t.call(this,r)||this;return s.token=i,s.resyncedTokens=[],Object.setPrototypeOf(s,n.prototype),Error.captureStackTrace&&Error.captureStackTrace(s,s.constructor),s}return e}(Error),hye=function(t){Zh(e,t);function e(r,i,n){var s=t.call(this,r,i)||this;return s.previousToken=n,s.name=wj,s}return e}(vI);dn.MismatchedTokenException=hye;var pye=function(t){Zh(e,t);function e(r,i,n){var s=t.call(this,r,i)||this;return s.previousToken=n,s.name=Bj,s}return e}(vI);dn.NoViableAltException=pye;var dye=function(t){Zh(e,t);function e(r,i){var n=t.call(this,r,i)||this;return n.name=bj,n}return e}(vI);dn.NotAllInputParsedException=dye;var Cye=function(t){Zh(e,t);function e(r,i,n){var s=t.call(this,r,i)||this;return s.previousToken=n,s.name=Qj,s}return e}(vI);dn.EarlyExitException=Cye});var pS=E(xi=>{"use strict";Object.defineProperty(xi,"__esModule",{value:!0});xi.attemptInRepetitionRecovery=xi.Recoverable=xi.InRuleRecoveryException=xi.IN_RULE_RECOVERY_EXCEPTION=xi.EOF_FOLLOW_KEY=void 0;var SI=nA(),ts=Dt(),mye=vu(),Eye=rS(),Iye=Tn();xi.EOF_FOLLOW_KEY={};xi.IN_RULE_RECOVERY_EXCEPTION="InRuleRecoveryException";function hS(t){this.name=xi.IN_RULE_RECOVERY_EXCEPTION,this.message=t}xi.InRuleRecoveryException=hS;hS.prototype=Error.prototype;var yye=function(){function t(){}return t.prototype.initRecoverable=function(e){this.firstAfterRepMap={},this.resyncFollows={},this.recoveryEnabled=(0,ts.has)(e,"recoveryEnabled")?e.recoveryEnabled:Iye.DEFAULT_PARSER_CONFIG.recoveryEnabled,this.recoveryEnabled&&(this.attemptInRepetitionRecovery=Sj)},t.prototype.getTokenToInsert=function(e){var r=(0,SI.createTokenInstance)(e,"",NaN,NaN,NaN,NaN,NaN,NaN);return r.isInsertedInRecovery=!0,r},t.prototype.canTokenTypeBeInsertedInRecovery=function(e){return!0},t.prototype.tryInRepetitionRecovery=function(e,r,i,n){for(var s=this,o=this.findReSyncTokenType(),a=this.exportLexerState(),l=[],c=!1,u=this.LA(1),g=this.LA(1),f=function(){var h=s.LA(0),p=s.errorMessageProvider.buildMismatchTokenMessage({expected:n,actual:u,previous:h,ruleName:s.getCurrRuleFullName()}),d=new mye.MismatchedTokenException(p,u,s.LA(0));d.resyncedTokens=(0,ts.dropRight)(l),s.SAVE_ERROR(d)};!c;)if(this.tokenMatcher(g,n)){f();return}else if(i.call(this)){f(),e.apply(this,r);return}else this.tokenMatcher(g,o)?c=!0:(g=this.SKIP_TOKEN(),this.addToResyncTokens(g,l));this.importLexerState(a)},t.prototype.shouldInRepetitionRecoveryBeTried=function(e,r,i){return!(i===!1||e===void 0||r===void 0||this.tokenMatcher(this.LA(1),e)||this.isBackTracking()||this.canPerformInRuleRecovery(e,this.getFollowsForInRuleRecovery(e,r)))},t.prototype.getFollowsForInRuleRecovery=function(e,r){var i=this.getCurrentGrammarPath(e,r),n=this.getNextPossibleTokenTypes(i);return n},t.prototype.tryInRuleRecovery=function(e,r){if(this.canRecoverWithSingleTokenInsertion(e,r)){var i=this.getTokenToInsert(e);return i}if(this.canRecoverWithSingleTokenDeletion(e)){var n=this.SKIP_TOKEN();return this.consumeToken(),n}throw new hS("sad sad panda")},t.prototype.canPerformInRuleRecovery=function(e,r){return this.canRecoverWithSingleTokenInsertion(e,r)||this.canRecoverWithSingleTokenDeletion(e)},t.prototype.canRecoverWithSingleTokenInsertion=function(e,r){var i=this;if(!this.canTokenTypeBeInsertedInRecovery(e)||(0,ts.isEmpty)(r))return!1;var n=this.LA(1),s=(0,ts.find)(r,function(o){return i.tokenMatcher(n,o)})!==void 0;return s},t.prototype.canRecoverWithSingleTokenDeletion=function(e){var r=this.tokenMatcher(this.LA(2),e);return r},t.prototype.isInCurrentRuleReSyncSet=function(e){var r=this.getCurrFollowKey(),i=this.getFollowSetFromFollowKey(r);return(0,ts.contains)(i,e)},t.prototype.findReSyncTokenType=function(){for(var e=this.flattenFollowSet(),r=this.LA(1),i=2;;){var n=r.tokenType;if((0,ts.contains)(e,n))return n;r=this.LA(i),i++}},t.prototype.getCurrFollowKey=function(){if(this.RULE_STACK.length===1)return xi.EOF_FOLLOW_KEY;var e=this.getLastExplicitRuleShortName(),r=this.getLastExplicitRuleOccurrenceIndex(),i=this.getPreviousExplicitRuleShortName();return{ruleName:this.shortRuleNameToFullName(e),idxInCallingRule:r,inRule:this.shortRuleNameToFullName(i)}},t.prototype.buildFullFollowKeyStack=function(){var e=this,r=this.RULE_STACK,i=this.RULE_OCCURRENCE_STACK;return(0,ts.map)(r,function(n,s){return s===0?xi.EOF_FOLLOW_KEY:{ruleName:e.shortRuleNameToFullName(n),idxInCallingRule:i[s],inRule:e.shortRuleNameToFullName(r[s-1])}})},t.prototype.flattenFollowSet=function(){var e=this,r=(0,ts.map)(this.buildFullFollowKeyStack(),function(i){return e.getFollowSetFromFollowKey(i)});return(0,ts.flatten)(r)},t.prototype.getFollowSetFromFollowKey=function(e){if(e===xi.EOF_FOLLOW_KEY)return[SI.EOF];var r=e.ruleName+e.idxInCallingRule+Eye.IN+e.inRule;return this.resyncFollows[r]},t.prototype.addToResyncTokens=function(e,r){return this.tokenMatcher(e,SI.EOF)||r.push(e),r},t.prototype.reSyncTo=function(e){for(var r=[],i=this.LA(1);this.tokenMatcher(i,e)===!1;)i=this.SKIP_TOKEN(),this.addToResyncTokens(i,r);return(0,ts.dropRight)(r)},t.prototype.attemptInRepetitionRecovery=function(e,r,i,n,s,o,a){},t.prototype.getCurrentGrammarPath=function(e,r){var i=this.getHumanReadableRuleStack(),n=(0,ts.cloneArr)(this.RULE_OCCURRENCE_STACK),s={ruleStack:i,occurrenceStack:n,lastTok:e,lastTokOccurrence:r};return s},t.prototype.getHumanReadableRuleStack=function(){var e=this;return(0,ts.map)(this.RULE_STACK,function(r){return e.shortRuleNameToFullName(r)})},t}();xi.Recoverable=yye;function Sj(t,e,r,i,n,s,o){var a=this.getKeyForAutomaticLookahead(i,n),l=this.firstAfterRepMap[a];if(l===void 0){var c=this.getCurrRuleFullName(),u=this.getGAstProductions()[c],g=new s(u,n);l=g.startWalking(),this.firstAfterRepMap[a]=l}var f=l.token,h=l.occurrence,p=l.isEndOfRule;this.RULE_STACK.length===1&&p&&f===void 0&&(f=SI.EOF,h=1),this.shouldInRepetitionRecoveryBeTried(f,h,o)&&this.tryInRepetitionRecovery(t,e,r,f)}xi.attemptInRepetitionRecovery=Sj});var xI=E(Nt=>{"use strict";Object.defineProperty(Nt,"__esModule",{value:!0});Nt.getKeyForAutomaticLookahead=Nt.AT_LEAST_ONE_SEP_IDX=Nt.MANY_SEP_IDX=Nt.AT_LEAST_ONE_IDX=Nt.MANY_IDX=Nt.OPTION_IDX=Nt.OR_IDX=Nt.BITS_FOR_ALT_IDX=Nt.BITS_FOR_RULE_IDX=Nt.BITS_FOR_OCCURRENCE_IDX=Nt.BITS_FOR_METHOD_TYPE=void 0;Nt.BITS_FOR_METHOD_TYPE=4;Nt.BITS_FOR_OCCURRENCE_IDX=8;Nt.BITS_FOR_RULE_IDX=12;Nt.BITS_FOR_ALT_IDX=8;Nt.OR_IDX=1<{"use strict";Object.defineProperty(kI,"__esModule",{value:!0});kI.LooksAhead=void 0;var Aa=_h(),Ns=Dt(),xj=Tn(),la=xI(),Nl=Jh(),Bye=function(){function t(){}return t.prototype.initLooksAhead=function(e){this.dynamicTokensEnabled=(0,Ns.has)(e,"dynamicTokensEnabled")?e.dynamicTokensEnabled:xj.DEFAULT_PARSER_CONFIG.dynamicTokensEnabled,this.maxLookahead=(0,Ns.has)(e,"maxLookahead")?e.maxLookahead:xj.DEFAULT_PARSER_CONFIG.maxLookahead,this.lookAheadFuncsCache=(0,Ns.isES2015MapSupported)()?new Map:[],(0,Ns.isES2015MapSupported)()?(this.getLaFuncFromCache=this.getLaFuncFromMap,this.setLaFuncCache=this.setLaFuncCacheUsingMap):(this.getLaFuncFromCache=this.getLaFuncFromObj,this.setLaFuncCache=this.setLaFuncUsingObj)},t.prototype.preComputeLookaheadFunctions=function(e){var r=this;(0,Ns.forEach)(e,function(i){r.TRACE_INIT(i.name+" Rule Lookahead",function(){var n=(0,Nl.collectMethods)(i),s=n.alternation,o=n.repetition,a=n.option,l=n.repetitionMandatory,c=n.repetitionMandatoryWithSeparator,u=n.repetitionWithSeparator;(0,Ns.forEach)(s,function(g){var f=g.idx===0?"":g.idx;r.TRACE_INIT(""+(0,Nl.getProductionDslName)(g)+f,function(){var h=(0,Aa.buildLookaheadFuncForOr)(g.idx,i,g.maxLookahead||r.maxLookahead,g.hasPredicates,r.dynamicTokensEnabled,r.lookAheadBuilderForAlternatives),p=(0,la.getKeyForAutomaticLookahead)(r.fullRuleNameToShort[i.name],la.OR_IDX,g.idx);r.setLaFuncCache(p,h)})}),(0,Ns.forEach)(o,function(g){r.computeLookaheadFunc(i,g.idx,la.MANY_IDX,Aa.PROD_TYPE.REPETITION,g.maxLookahead,(0,Nl.getProductionDslName)(g))}),(0,Ns.forEach)(a,function(g){r.computeLookaheadFunc(i,g.idx,la.OPTION_IDX,Aa.PROD_TYPE.OPTION,g.maxLookahead,(0,Nl.getProductionDslName)(g))}),(0,Ns.forEach)(l,function(g){r.computeLookaheadFunc(i,g.idx,la.AT_LEAST_ONE_IDX,Aa.PROD_TYPE.REPETITION_MANDATORY,g.maxLookahead,(0,Nl.getProductionDslName)(g))}),(0,Ns.forEach)(c,function(g){r.computeLookaheadFunc(i,g.idx,la.AT_LEAST_ONE_SEP_IDX,Aa.PROD_TYPE.REPETITION_MANDATORY_WITH_SEPARATOR,g.maxLookahead,(0,Nl.getProductionDslName)(g))}),(0,Ns.forEach)(u,function(g){r.computeLookaheadFunc(i,g.idx,la.MANY_SEP_IDX,Aa.PROD_TYPE.REPETITION_WITH_SEPARATOR,g.maxLookahead,(0,Nl.getProductionDslName)(g))})})})},t.prototype.computeLookaheadFunc=function(e,r,i,n,s,o){var a=this;this.TRACE_INIT(""+o+(r===0?"":r),function(){var l=(0,Aa.buildLookaheadFuncForOptionalProd)(r,e,s||a.maxLookahead,a.dynamicTokensEnabled,n,a.lookAheadBuilderForOptional),c=(0,la.getKeyForAutomaticLookahead)(a.fullRuleNameToShort[e.name],i,r);a.setLaFuncCache(c,l)})},t.prototype.lookAheadBuilderForOptional=function(e,r,i){return(0,Aa.buildSingleAlternativeLookaheadFunction)(e,r,i)},t.prototype.lookAheadBuilderForAlternatives=function(e,r,i,n){return(0,Aa.buildAlternativesLookAheadFunc)(e,r,i,n)},t.prototype.getKeyForAutomaticLookahead=function(e,r){var i=this.getLastExplicitRuleShortName();return(0,la.getKeyForAutomaticLookahead)(i,e,r)},t.prototype.getLaFuncFromCache=function(e){},t.prototype.getLaFuncFromMap=function(e){return this.lookAheadFuncsCache.get(e)},t.prototype.getLaFuncFromObj=function(e){return this.lookAheadFuncsCache[e]},t.prototype.setLaFuncCache=function(e,r){},t.prototype.setLaFuncCacheUsingMap=function(e,r){this.lookAheadFuncsCache.set(e,r)},t.prototype.setLaFuncUsingObj=function(e,r){this.lookAheadFuncsCache[e]=r},t}();kI.LooksAhead=Bye});var Pj=E(go=>{"use strict";Object.defineProperty(go,"__esModule",{value:!0});go.addNoneTerminalToCst=go.addTerminalToCst=go.setNodeLocationFull=go.setNodeLocationOnlyOffset=void 0;function Qye(t,e){isNaN(t.startOffset)===!0?(t.startOffset=e.startOffset,t.endOffset=e.endOffset):t.endOffset{"use strict";Object.defineProperty(aA,"__esModule",{value:!0});aA.defineNameProp=aA.functionName=aA.classNameFromInstance=void 0;var xye=Dt();function kye(t){return Dj(t.constructor)}aA.classNameFromInstance=kye;var Rj="name";function Dj(t){var e=t.name;return e||"anonymous"}aA.functionName=Dj;function Pye(t,e){var r=Object.getOwnPropertyDescriptor(t,Rj);return(0,xye.isUndefined)(r)||r.configurable?(Object.defineProperty(t,Rj,{enumerable:!1,configurable:!0,writable:!1,value:e}),!0):!1}aA.defineNameProp=Pye});var Mj=E(mi=>{"use strict";Object.defineProperty(mi,"__esModule",{value:!0});mi.validateRedundantMethods=mi.validateMissingCstMethods=mi.validateVisitor=mi.CstVisitorDefinitionError=mi.createBaseVisitorConstructorWithDefaults=mi.createBaseSemanticVisitorConstructor=mi.defaultVisit=void 0;var rs=Dt(),$h=dS();function Fj(t,e){for(var r=(0,rs.keys)(t),i=r.length,n=0;n: + `+(""+s.join(` + +`).replace(/\n/g,` + `)))}}};return r.prototype=i,r.prototype.constructor=r,r._RULE_NAMES=e,r}mi.createBaseSemanticVisitorConstructor=Dye;function Rye(t,e,r){var i=function(){};(0,$h.defineNameProp)(i,t+"BaseSemanticsWithDefaults");var n=Object.create(r.prototype);return(0,rs.forEach)(e,function(s){n[s]=Fj}),i.prototype=n,i.prototype.constructor=i,i}mi.createBaseVisitorConstructorWithDefaults=Rye;var CS;(function(t){t[t.REDUNDANT_METHOD=0]="REDUNDANT_METHOD",t[t.MISSING_METHOD=1]="MISSING_METHOD"})(CS=mi.CstVisitorDefinitionError||(mi.CstVisitorDefinitionError={}));function Nj(t,e){var r=Lj(t,e),i=Tj(t,e);return r.concat(i)}mi.validateVisitor=Nj;function Lj(t,e){var r=(0,rs.map)(e,function(i){if(!(0,rs.isFunction)(t[i]))return{msg:"Missing visitor method: <"+i+"> on "+(0,$h.functionName)(t.constructor)+" CST Visitor.",type:CS.MISSING_METHOD,methodName:i}});return(0,rs.compact)(r)}mi.validateMissingCstMethods=Lj;var Fye=["constructor","visit","validateVisitor"];function Tj(t,e){var r=[];for(var i in t)(0,rs.isFunction)(t[i])&&!(0,rs.contains)(Fye,i)&&!(0,rs.contains)(e,i)&&r.push({msg:"Redundant visitor method: <"+i+"> on "+(0,$h.functionName)(t.constructor)+` CST Visitor +There is no Grammar Rule corresponding to this method's name. +`,type:CS.REDUNDANT_METHOD,methodName:i});return r}mi.validateRedundantMethods=Tj});var Kj=E(PI=>{"use strict";Object.defineProperty(PI,"__esModule",{value:!0});PI.TreeBuilder=void 0;var Su=Pj(),Ur=Dt(),Oj=Mj(),Nye=Tn(),Lye=function(){function t(){}return t.prototype.initTreeBuilder=function(e){if(this.CST_STACK=[],this.outputCst=e.outputCst,this.nodeLocationTracking=(0,Ur.has)(e,"nodeLocationTracking")?e.nodeLocationTracking:Nye.DEFAULT_PARSER_CONFIG.nodeLocationTracking,!this.outputCst)this.cstInvocationStateUpdate=Ur.NOOP,this.cstFinallyStateUpdate=Ur.NOOP,this.cstPostTerminal=Ur.NOOP,this.cstPostNonTerminal=Ur.NOOP,this.cstPostRule=Ur.NOOP;else if(/full/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=Su.setNodeLocationFull,this.setNodeLocationFromNode=Su.setNodeLocationFull,this.cstPostRule=Ur.NOOP,this.setInitialNodeLocation=this.setInitialNodeLocationFullRecovery):(this.setNodeLocationFromToken=Ur.NOOP,this.setNodeLocationFromNode=Ur.NOOP,this.cstPostRule=this.cstPostRuleFull,this.setInitialNodeLocation=this.setInitialNodeLocationFullRegular);else if(/onlyOffset/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=Su.setNodeLocationOnlyOffset,this.setNodeLocationFromNode=Su.setNodeLocationOnlyOffset,this.cstPostRule=Ur.NOOP,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRecovery):(this.setNodeLocationFromToken=Ur.NOOP,this.setNodeLocationFromNode=Ur.NOOP,this.cstPostRule=this.cstPostRuleOnlyOffset,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRegular);else if(/none/i.test(this.nodeLocationTracking))this.setNodeLocationFromToken=Ur.NOOP,this.setNodeLocationFromNode=Ur.NOOP,this.cstPostRule=Ur.NOOP,this.setInitialNodeLocation=Ur.NOOP;else throw Error('Invalid config option: "'+e.nodeLocationTracking+'"')},t.prototype.setInitialNodeLocationOnlyOffsetRecovery=function(e){e.location={startOffset:NaN,endOffset:NaN}},t.prototype.setInitialNodeLocationOnlyOffsetRegular=function(e){e.location={startOffset:this.LA(1).startOffset,endOffset:NaN}},t.prototype.setInitialNodeLocationFullRecovery=function(e){e.location={startOffset:NaN,startLine:NaN,startColumn:NaN,endOffset:NaN,endLine:NaN,endColumn:NaN}},t.prototype.setInitialNodeLocationFullRegular=function(e){var r=this.LA(1);e.location={startOffset:r.startOffset,startLine:r.startLine,startColumn:r.startColumn,endOffset:NaN,endLine:NaN,endColumn:NaN}},t.prototype.cstInvocationStateUpdate=function(e,r){var i={name:e,children:{}};this.setInitialNodeLocation(i),this.CST_STACK.push(i)},t.prototype.cstFinallyStateUpdate=function(){this.CST_STACK.pop()},t.prototype.cstPostRuleFull=function(e){var r=this.LA(0),i=e.location;i.startOffset<=r.startOffset?(i.endOffset=r.endOffset,i.endLine=r.endLine,i.endColumn=r.endColumn):(i.startOffset=NaN,i.startLine=NaN,i.startColumn=NaN)},t.prototype.cstPostRuleOnlyOffset=function(e){var r=this.LA(0),i=e.location;i.startOffset<=r.startOffset?i.endOffset=r.endOffset:i.startOffset=NaN},t.prototype.cstPostTerminal=function(e,r){var i=this.CST_STACK[this.CST_STACK.length-1];(0,Su.addTerminalToCst)(i,r,e),this.setNodeLocationFromToken(i.location,r)},t.prototype.cstPostNonTerminal=function(e,r){var i=this.CST_STACK[this.CST_STACK.length-1];(0,Su.addNoneTerminalToCst)(i,r,e),this.setNodeLocationFromNode(i.location,e.location)},t.prototype.getBaseCstVisitorConstructor=function(){if((0,Ur.isUndefined)(this.baseCstVisitorConstructor)){var e=(0,Oj.createBaseSemanticVisitorConstructor)(this.className,(0,Ur.keys)(this.gastProductionsCache));return this.baseCstVisitorConstructor=e,e}return this.baseCstVisitorConstructor},t.prototype.getBaseCstVisitorConstructorWithDefaults=function(){if((0,Ur.isUndefined)(this.baseCstVisitorWithDefaultsConstructor)){var e=(0,Oj.createBaseVisitorConstructorWithDefaults)(this.className,(0,Ur.keys)(this.gastProductionsCache),this.getBaseCstVisitorConstructor());return this.baseCstVisitorWithDefaultsConstructor=e,e}return this.baseCstVisitorWithDefaultsConstructor},t.prototype.getLastExplicitRuleShortName=function(){var e=this.RULE_STACK;return e[e.length-1]},t.prototype.getPreviousExplicitRuleShortName=function(){var e=this.RULE_STACK;return e[e.length-2]},t.prototype.getLastExplicitRuleOccurrenceIndex=function(){var e=this.RULE_OCCURRENCE_STACK;return e[e.length-1]},t}();PI.TreeBuilder=Lye});var Hj=E(DI=>{"use strict";Object.defineProperty(DI,"__esModule",{value:!0});DI.LexerAdapter=void 0;var Uj=Tn(),Tye=function(){function t(){}return t.prototype.initLexerAdapter=function(){this.tokVector=[],this.tokVectorLength=0,this.currIdx=-1},Object.defineProperty(t.prototype,"input",{get:function(){return this.tokVector},set:function(e){if(this.selfAnalysisDone!==!0)throw Error("Missing invocation at the end of the Parser's constructor.");this.reset(),this.tokVector=e,this.tokVectorLength=e.length},enumerable:!1,configurable:!0}),t.prototype.SKIP_TOKEN=function(){return this.currIdx<=this.tokVector.length-2?(this.consumeToken(),this.LA(1)):Uj.END_OF_FILE},t.prototype.LA=function(e){var r=this.currIdx+e;return r<0||this.tokVectorLength<=r?Uj.END_OF_FILE:this.tokVector[r]},t.prototype.consumeToken=function(){this.currIdx++},t.prototype.exportLexerState=function(){return this.currIdx},t.prototype.importLexerState=function(e){this.currIdx=e},t.prototype.resetLexerState=function(){this.currIdx=-1},t.prototype.moveToTerminatedState=function(){this.currIdx=this.tokVector.length-1},t.prototype.getLexerPosition=function(){return this.exportLexerState()},t}();DI.LexerAdapter=Tye});var jj=E(RI=>{"use strict";Object.defineProperty(RI,"__esModule",{value:!0});RI.RecognizerApi=void 0;var Gj=Dt(),Mye=vu(),mS=Tn(),Oye=Wh(),Kye=gS(),Uye=hn(),Hye=function(){function t(){}return t.prototype.ACTION=function(e){return e.call(this)},t.prototype.consume=function(e,r,i){return this.consumeInternal(r,e,i)},t.prototype.subrule=function(e,r,i){return this.subruleInternal(r,e,i)},t.prototype.option=function(e,r){return this.optionInternal(r,e)},t.prototype.or=function(e,r){return this.orInternal(r,e)},t.prototype.many=function(e,r){return this.manyInternal(e,r)},t.prototype.atLeastOne=function(e,r){return this.atLeastOneInternal(e,r)},t.prototype.CONSUME=function(e,r){return this.consumeInternal(e,0,r)},t.prototype.CONSUME1=function(e,r){return this.consumeInternal(e,1,r)},t.prototype.CONSUME2=function(e,r){return this.consumeInternal(e,2,r)},t.prototype.CONSUME3=function(e,r){return this.consumeInternal(e,3,r)},t.prototype.CONSUME4=function(e,r){return this.consumeInternal(e,4,r)},t.prototype.CONSUME5=function(e,r){return this.consumeInternal(e,5,r)},t.prototype.CONSUME6=function(e,r){return this.consumeInternal(e,6,r)},t.prototype.CONSUME7=function(e,r){return this.consumeInternal(e,7,r)},t.prototype.CONSUME8=function(e,r){return this.consumeInternal(e,8,r)},t.prototype.CONSUME9=function(e,r){return this.consumeInternal(e,9,r)},t.prototype.SUBRULE=function(e,r){return this.subruleInternal(e,0,r)},t.prototype.SUBRULE1=function(e,r){return this.subruleInternal(e,1,r)},t.prototype.SUBRULE2=function(e,r){return this.subruleInternal(e,2,r)},t.prototype.SUBRULE3=function(e,r){return this.subruleInternal(e,3,r)},t.prototype.SUBRULE4=function(e,r){return this.subruleInternal(e,4,r)},t.prototype.SUBRULE5=function(e,r){return this.subruleInternal(e,5,r)},t.prototype.SUBRULE6=function(e,r){return this.subruleInternal(e,6,r)},t.prototype.SUBRULE7=function(e,r){return this.subruleInternal(e,7,r)},t.prototype.SUBRULE8=function(e,r){return this.subruleInternal(e,8,r)},t.prototype.SUBRULE9=function(e,r){return this.subruleInternal(e,9,r)},t.prototype.OPTION=function(e){return this.optionInternal(e,0)},t.prototype.OPTION1=function(e){return this.optionInternal(e,1)},t.prototype.OPTION2=function(e){return this.optionInternal(e,2)},t.prototype.OPTION3=function(e){return this.optionInternal(e,3)},t.prototype.OPTION4=function(e){return this.optionInternal(e,4)},t.prototype.OPTION5=function(e){return this.optionInternal(e,5)},t.prototype.OPTION6=function(e){return this.optionInternal(e,6)},t.prototype.OPTION7=function(e){return this.optionInternal(e,7)},t.prototype.OPTION8=function(e){return this.optionInternal(e,8)},t.prototype.OPTION9=function(e){return this.optionInternal(e,9)},t.prototype.OR=function(e){return this.orInternal(e,0)},t.prototype.OR1=function(e){return this.orInternal(e,1)},t.prototype.OR2=function(e){return this.orInternal(e,2)},t.prototype.OR3=function(e){return this.orInternal(e,3)},t.prototype.OR4=function(e){return this.orInternal(e,4)},t.prototype.OR5=function(e){return this.orInternal(e,5)},t.prototype.OR6=function(e){return this.orInternal(e,6)},t.prototype.OR7=function(e){return this.orInternal(e,7)},t.prototype.OR8=function(e){return this.orInternal(e,8)},t.prototype.OR9=function(e){return this.orInternal(e,9)},t.prototype.MANY=function(e){this.manyInternal(0,e)},t.prototype.MANY1=function(e){this.manyInternal(1,e)},t.prototype.MANY2=function(e){this.manyInternal(2,e)},t.prototype.MANY3=function(e){this.manyInternal(3,e)},t.prototype.MANY4=function(e){this.manyInternal(4,e)},t.prototype.MANY5=function(e){this.manyInternal(5,e)},t.prototype.MANY6=function(e){this.manyInternal(6,e)},t.prototype.MANY7=function(e){this.manyInternal(7,e)},t.prototype.MANY8=function(e){this.manyInternal(8,e)},t.prototype.MANY9=function(e){this.manyInternal(9,e)},t.prototype.MANY_SEP=function(e){this.manySepFirstInternal(0,e)},t.prototype.MANY_SEP1=function(e){this.manySepFirstInternal(1,e)},t.prototype.MANY_SEP2=function(e){this.manySepFirstInternal(2,e)},t.prototype.MANY_SEP3=function(e){this.manySepFirstInternal(3,e)},t.prototype.MANY_SEP4=function(e){this.manySepFirstInternal(4,e)},t.prototype.MANY_SEP5=function(e){this.manySepFirstInternal(5,e)},t.prototype.MANY_SEP6=function(e){this.manySepFirstInternal(6,e)},t.prototype.MANY_SEP7=function(e){this.manySepFirstInternal(7,e)},t.prototype.MANY_SEP8=function(e){this.manySepFirstInternal(8,e)},t.prototype.MANY_SEP9=function(e){this.manySepFirstInternal(9,e)},t.prototype.AT_LEAST_ONE=function(e){this.atLeastOneInternal(0,e)},t.prototype.AT_LEAST_ONE1=function(e){return this.atLeastOneInternal(1,e)},t.prototype.AT_LEAST_ONE2=function(e){this.atLeastOneInternal(2,e)},t.prototype.AT_LEAST_ONE3=function(e){this.atLeastOneInternal(3,e)},t.prototype.AT_LEAST_ONE4=function(e){this.atLeastOneInternal(4,e)},t.prototype.AT_LEAST_ONE5=function(e){this.atLeastOneInternal(5,e)},t.prototype.AT_LEAST_ONE6=function(e){this.atLeastOneInternal(6,e)},t.prototype.AT_LEAST_ONE7=function(e){this.atLeastOneInternal(7,e)},t.prototype.AT_LEAST_ONE8=function(e){this.atLeastOneInternal(8,e)},t.prototype.AT_LEAST_ONE9=function(e){this.atLeastOneInternal(9,e)},t.prototype.AT_LEAST_ONE_SEP=function(e){this.atLeastOneSepFirstInternal(0,e)},t.prototype.AT_LEAST_ONE_SEP1=function(e){this.atLeastOneSepFirstInternal(1,e)},t.prototype.AT_LEAST_ONE_SEP2=function(e){this.atLeastOneSepFirstInternal(2,e)},t.prototype.AT_LEAST_ONE_SEP3=function(e){this.atLeastOneSepFirstInternal(3,e)},t.prototype.AT_LEAST_ONE_SEP4=function(e){this.atLeastOneSepFirstInternal(4,e)},t.prototype.AT_LEAST_ONE_SEP5=function(e){this.atLeastOneSepFirstInternal(5,e)},t.prototype.AT_LEAST_ONE_SEP6=function(e){this.atLeastOneSepFirstInternal(6,e)},t.prototype.AT_LEAST_ONE_SEP7=function(e){this.atLeastOneSepFirstInternal(7,e)},t.prototype.AT_LEAST_ONE_SEP8=function(e){this.atLeastOneSepFirstInternal(8,e)},t.prototype.AT_LEAST_ONE_SEP9=function(e){this.atLeastOneSepFirstInternal(9,e)},t.prototype.RULE=function(e,r,i){if(i===void 0&&(i=mS.DEFAULT_RULE_CONFIG),(0,Gj.contains)(this.definedRulesNames,e)){var n=Oye.defaultGrammarValidatorErrorProvider.buildDuplicateRuleNameError({topLevelRule:e,grammarName:this.className}),s={message:n,type:mS.ParserDefinitionErrorType.DUPLICATE_RULE_NAME,ruleName:e};this.definitionErrors.push(s)}this.definedRulesNames.push(e);var o=this.defineRule(e,r,i);return this[e]=o,o},t.prototype.OVERRIDE_RULE=function(e,r,i){i===void 0&&(i=mS.DEFAULT_RULE_CONFIG);var n=[];n=n.concat((0,Kye.validateRuleIsOverridden)(e,this.definedRulesNames,this.className)),this.definitionErrors=this.definitionErrors.concat(n);var s=this.defineRule(e,r,i);return this[e]=s,s},t.prototype.BACKTRACK=function(e,r){return function(){this.isBackTrackingStack.push(1);var i=this.saveRecogState();try{return e.apply(this,r),!0}catch(n){if((0,Mye.isRecognitionException)(n))return!1;throw n}finally{this.reloadRecogState(i),this.isBackTrackingStack.pop()}}},t.prototype.getGAstProductions=function(){return this.gastProductionsCache},t.prototype.getSerializedGastProductions=function(){return(0,Uye.serializeGrammar)((0,Gj.values)(this.gastProductionsCache))},t}();RI.RecognizerApi=Hye});var Wj=E(FI=>{"use strict";Object.defineProperty(FI,"__esModule",{value:!0});FI.RecognizerEngine=void 0;var Er=Dt(),Mn=xI(),NI=vu(),Yj=_h(),xu=Vh(),qj=Tn(),Gye=pS(),Jj=nA(),ep=yu(),jye=dS(),Yye=function(){function t(){}return t.prototype.initRecognizerEngine=function(e,r){if(this.className=(0,jye.classNameFromInstance)(this),this.shortRuleNameToFull={},this.fullRuleNameToShort={},this.ruleShortNameIdx=256,this.tokenMatcher=ep.tokenStructuredMatcherNoCategories,this.definedRulesNames=[],this.tokensMap={},this.isBackTrackingStack=[],this.RULE_STACK=[],this.RULE_OCCURRENCE_STACK=[],this.gastProductionsCache={},(0,Er.has)(r,"serializedGrammar"))throw Error(`The Parser's configuration can no longer contain a property. + See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_6-0-0 + For Further details.`);if((0,Er.isArray)(e)){if((0,Er.isEmpty)(e))throw Error(`A Token Vocabulary cannot be empty. + Note that the first argument for the parser constructor + is no longer a Token vector (since v4.0).`);if(typeof e[0].startOffset=="number")throw Error(`The Parser constructor no longer accepts a token vector as the first argument. + See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_4-0-0 + For Further details.`)}if((0,Er.isArray)(e))this.tokensMap=(0,Er.reduce)(e,function(o,a){return o[a.name]=a,o},{});else if((0,Er.has)(e,"modes")&&(0,Er.every)((0,Er.flatten)((0,Er.values)(e.modes)),ep.isTokenType)){var i=(0,Er.flatten)((0,Er.values)(e.modes)),n=(0,Er.uniq)(i);this.tokensMap=(0,Er.reduce)(n,function(o,a){return o[a.name]=a,o},{})}else if((0,Er.isObject)(e))this.tokensMap=(0,Er.cloneObj)(e);else throw new Error(" argument must be An Array of Token constructors, A dictionary of Token constructors or an IMultiModeLexerDefinition");this.tokensMap.EOF=Jj.EOF;var s=(0,Er.every)((0,Er.values)(e),function(o){return(0,Er.isEmpty)(o.categoryMatches)});this.tokenMatcher=s?ep.tokenStructuredMatcherNoCategories:ep.tokenStructuredMatcher,(0,ep.augmentTokenTypes)((0,Er.values)(this.tokensMap))},t.prototype.defineRule=function(e,r,i){if(this.selfAnalysisDone)throw Error("Grammar rule <"+e+`> may not be defined after the 'performSelfAnalysis' method has been called' +Make sure that all grammar rule definitions are done before 'performSelfAnalysis' is called.`);var n=(0,Er.has)(i,"resyncEnabled")?i.resyncEnabled:qj.DEFAULT_RULE_CONFIG.resyncEnabled,s=(0,Er.has)(i,"recoveryValueFunc")?i.recoveryValueFunc:qj.DEFAULT_RULE_CONFIG.recoveryValueFunc,o=this.ruleShortNameIdx<r},t.prototype.orInternal=function(e,r){var i=this.getKeyForAutomaticLookahead(Mn.OR_IDX,r),n=(0,Er.isArray)(e)?e:e.DEF,s=this.getLaFuncFromCache(i),o=s.call(this,n);if(o!==void 0){var a=n[o];return a.ALT.call(this)}this.raiseNoAltException(r,e.ERR_MSG)},t.prototype.ruleFinallyStateUpdate=function(){if(this.RULE_STACK.pop(),this.RULE_OCCURRENCE_STACK.pop(),this.cstFinallyStateUpdate(),this.RULE_STACK.length===0&&this.isAtEndOfInput()===!1){var e=this.LA(1),r=this.errorMessageProvider.buildNotAllInputParsedMessage({firstRedundant:e,ruleName:this.getCurrRuleFullName()});this.SAVE_ERROR(new NI.NotAllInputParsedException(r,e))}},t.prototype.subruleInternal=function(e,r,i){var n;try{var s=i!==void 0?i.ARGS:void 0;return n=e.call(this,r,s),this.cstPostNonTerminal(n,i!==void 0&&i.LABEL!==void 0?i.LABEL:e.ruleName),n}catch(o){this.subruleInternalError(o,i,e.ruleName)}},t.prototype.subruleInternalError=function(e,r,i){throw(0,NI.isRecognitionException)(e)&&e.partialCstResult!==void 0&&(this.cstPostNonTerminal(e.partialCstResult,r!==void 0&&r.LABEL!==void 0?r.LABEL:i),delete e.partialCstResult),e},t.prototype.consumeInternal=function(e,r,i){var n;try{var s=this.LA(1);this.tokenMatcher(s,e)===!0?(this.consumeToken(),n=s):this.consumeInternalError(e,s,i)}catch(o){n=this.consumeInternalRecovery(e,r,o)}return this.cstPostTerminal(i!==void 0&&i.LABEL!==void 0?i.LABEL:e.name,n),n},t.prototype.consumeInternalError=function(e,r,i){var n,s=this.LA(0);throw i!==void 0&&i.ERR_MSG?n=i.ERR_MSG:n=this.errorMessageProvider.buildMismatchTokenMessage({expected:e,actual:r,previous:s,ruleName:this.getCurrRuleFullName()}),this.SAVE_ERROR(new NI.MismatchedTokenException(n,r,s))},t.prototype.consumeInternalRecovery=function(e,r,i){if(this.recoveryEnabled&&i.name==="MismatchedTokenException"&&!this.isBackTracking()){var n=this.getFollowsForInRuleRecovery(e,r);try{return this.tryInRuleRecovery(e,n)}catch(s){throw s.name===Gye.IN_RULE_RECOVERY_EXCEPTION?i:s}}else throw i},t.prototype.saveRecogState=function(){var e=this.errors,r=(0,Er.cloneArr)(this.RULE_STACK);return{errors:e,lexerState:this.exportLexerState(),RULE_STACK:r,CST_STACK:this.CST_STACK}},t.prototype.reloadRecogState=function(e){this.errors=e.errors,this.importLexerState(e.lexerState),this.RULE_STACK=e.RULE_STACK},t.prototype.ruleInvocationStateUpdate=function(e,r,i){this.RULE_OCCURRENCE_STACK.push(i),this.RULE_STACK.push(e),this.cstInvocationStateUpdate(r,e)},t.prototype.isBackTracking=function(){return this.isBackTrackingStack.length!==0},t.prototype.getCurrRuleFullName=function(){var e=this.getLastExplicitRuleShortName();return this.shortRuleNameToFull[e]},t.prototype.shortRuleNameToFullName=function(e){return this.shortRuleNameToFull[e]},t.prototype.isAtEndOfInput=function(){return this.tokenMatcher(this.LA(1),Jj.EOF)},t.prototype.reset=function(){this.resetLexerState(),this.isBackTrackingStack=[],this.errors=[],this.RULE_STACK=[],this.CST_STACK=[],this.RULE_OCCURRENCE_STACK=[]},t}();FI.RecognizerEngine=Yye});var Vj=E(LI=>{"use strict";Object.defineProperty(LI,"__esModule",{value:!0});LI.ErrorHandler=void 0;var ES=vu(),IS=Dt(),zj=_h(),qye=Tn(),Jye=function(){function t(){}return t.prototype.initErrorHandler=function(e){this._errors=[],this.errorMessageProvider=(0,IS.has)(e,"errorMessageProvider")?e.errorMessageProvider:qye.DEFAULT_PARSER_CONFIG.errorMessageProvider},t.prototype.SAVE_ERROR=function(e){if((0,ES.isRecognitionException)(e))return e.context={ruleStack:this.getHumanReadableRuleStack(),ruleOccurrenceStack:(0,IS.cloneArr)(this.RULE_OCCURRENCE_STACK)},this._errors.push(e),e;throw Error("Trying to save an Error which is not a RecognitionException")},Object.defineProperty(t.prototype,"errors",{get:function(){return(0,IS.cloneArr)(this._errors)},set:function(e){this._errors=e},enumerable:!1,configurable:!0}),t.prototype.raiseEarlyExitException=function(e,r,i){for(var n=this.getCurrRuleFullName(),s=this.getGAstProductions()[n],o=(0,zj.getLookaheadPathsForOptionalProd)(e,s,r,this.maxLookahead),a=o[0],l=[],c=1;c<=this.maxLookahead;c++)l.push(this.LA(c));var u=this.errorMessageProvider.buildEarlyExitMessage({expectedIterationPaths:a,actual:l,previous:this.LA(0),customUserDescription:i,ruleName:n});throw this.SAVE_ERROR(new ES.EarlyExitException(u,this.LA(1),this.LA(0)))},t.prototype.raiseNoAltException=function(e,r){for(var i=this.getCurrRuleFullName(),n=this.getGAstProductions()[i],s=(0,zj.getLookaheadPathsForOr)(e,n,this.maxLookahead),o=[],a=1;a<=this.maxLookahead;a++)o.push(this.LA(a));var l=this.LA(0),c=this.errorMessageProvider.buildNoViableAltMessage({expectedPathsPerAlt:s,actual:o,previous:l,customUserDescription:r,ruleName:this.getCurrRuleFullName()});throw this.SAVE_ERROR(new ES.NoViableAltException(c,this.LA(1),l))},t}();LI.ErrorHandler=Jye});var Zj=E(TI=>{"use strict";Object.defineProperty(TI,"__esModule",{value:!0});TI.ContentAssist=void 0;var _j=Vh(),Xj=Dt(),Wye=function(){function t(){}return t.prototype.initContentAssist=function(){},t.prototype.computeContentAssist=function(e,r){var i=this.gastProductionsCache[e];if((0,Xj.isUndefined)(i))throw Error("Rule ->"+e+"<- does not exist in this grammar.");return(0,_j.nextPossibleTokensAfter)([i],r,this.tokenMatcher,this.maxLookahead)},t.prototype.getNextPossibleTokenTypes=function(e){var r=(0,Xj.first)(e.ruleStack),i=this.getGAstProductions(),n=i[r],s=new _j.NextAfterTokenWalker(n,e).startWalking();return s},t}();TI.ContentAssist=Wye});var oY=E(MI=>{"use strict";Object.defineProperty(MI,"__esModule",{value:!0});MI.GastRecorder=void 0;var Cn=Dt(),fo=hn(),zye=Gh(),$j=yu(),eY=nA(),Vye=Tn(),_ye=xI(),OI={description:"This Object indicates the Parser is during Recording Phase"};Object.freeze(OI);var tY=!0,rY=Math.pow(2,_ye.BITS_FOR_OCCURRENCE_IDX)-1,iY=(0,eY.createToken)({name:"RECORDING_PHASE_TOKEN",pattern:zye.Lexer.NA});(0,$j.augmentTokenTypes)([iY]);var nY=(0,eY.createTokenInstance)(iY,`This IToken indicates the Parser is in Recording Phase + See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,-1,-1,-1,-1,-1,-1);Object.freeze(nY);var Xye={name:`This CSTNode indicates the Parser is in Recording Phase + See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,children:{}},$ye=function(){function t(){}return t.prototype.initGastRecorder=function(e){this.recordingProdStack=[],this.RECORDING_PHASE=!1},t.prototype.enableRecording=function(){var e=this;this.RECORDING_PHASE=!0,this.TRACE_INIT("Enable Recording",function(){for(var r=function(n){var s=n>0?n:"";e["CONSUME"+s]=function(o,a){return this.consumeInternalRecord(o,n,a)},e["SUBRULE"+s]=function(o,a){return this.subruleInternalRecord(o,n,a)},e["OPTION"+s]=function(o){return this.optionInternalRecord(o,n)},e["OR"+s]=function(o){return this.orInternalRecord(o,n)},e["MANY"+s]=function(o){this.manyInternalRecord(n,o)},e["MANY_SEP"+s]=function(o){this.manySepFirstInternalRecord(n,o)},e["AT_LEAST_ONE"+s]=function(o){this.atLeastOneInternalRecord(n,o)},e["AT_LEAST_ONE_SEP"+s]=function(o){this.atLeastOneSepFirstInternalRecord(n,o)}},i=0;i<10;i++)r(i);e.consume=function(n,s,o){return this.consumeInternalRecord(s,n,o)},e.subrule=function(n,s,o){return this.subruleInternalRecord(s,n,o)},e.option=function(n,s){return this.optionInternalRecord(s,n)},e.or=function(n,s){return this.orInternalRecord(s,n)},e.many=function(n,s){this.manyInternalRecord(n,s)},e.atLeastOne=function(n,s){this.atLeastOneInternalRecord(n,s)},e.ACTION=e.ACTION_RECORD,e.BACKTRACK=e.BACKTRACK_RECORD,e.LA=e.LA_RECORD})},t.prototype.disableRecording=function(){var e=this;this.RECORDING_PHASE=!1,this.TRACE_INIT("Deleting Recording methods",function(){for(var r=0;r<10;r++){var i=r>0?r:"";delete e["CONSUME"+i],delete e["SUBRULE"+i],delete e["OPTION"+i],delete e["OR"+i],delete e["MANY"+i],delete e["MANY_SEP"+i],delete e["AT_LEAST_ONE"+i],delete e["AT_LEAST_ONE_SEP"+i]}delete e.consume,delete e.subrule,delete e.option,delete e.or,delete e.many,delete e.atLeastOne,delete e.ACTION,delete e.BACKTRACK,delete e.LA})},t.prototype.ACTION_RECORD=function(e){},t.prototype.BACKTRACK_RECORD=function(e,r){return function(){return!0}},t.prototype.LA_RECORD=function(e){return Vye.END_OF_FILE},t.prototype.topLevelRuleRecord=function(e,r){try{var i=new fo.Rule({definition:[],name:e});return i.name=e,this.recordingProdStack.push(i),r.call(this),this.recordingProdStack.pop(),i}catch(n){if(n.KNOWN_RECORDER_ERROR!==!0)try{n.message=n.message+` + This error was thrown during the "grammar recording phase" For more info see: + https://chevrotain.io/docs/guide/internals.html#grammar-recording`}catch(s){throw n}throw n}},t.prototype.optionInternalRecord=function(e,r){return tp.call(this,fo.Option,e,r)},t.prototype.atLeastOneInternalRecord=function(e,r){tp.call(this,fo.RepetitionMandatory,r,e)},t.prototype.atLeastOneSepFirstInternalRecord=function(e,r){tp.call(this,fo.RepetitionMandatoryWithSeparator,r,e,tY)},t.prototype.manyInternalRecord=function(e,r){tp.call(this,fo.Repetition,r,e)},t.prototype.manySepFirstInternalRecord=function(e,r){tp.call(this,fo.RepetitionWithSeparator,r,e,tY)},t.prototype.orInternalRecord=function(e,r){return Zye.call(this,e,r)},t.prototype.subruleInternalRecord=function(e,r,i){if(KI(r),!e||(0,Cn.has)(e,"ruleName")===!1){var n=new Error(" argument is invalid"+(" expecting a Parser method reference but got: <"+JSON.stringify(e)+">")+(` + inside top level rule: <`+this.recordingProdStack[0].name+">"));throw n.KNOWN_RECORDER_ERROR=!0,n}var s=(0,Cn.peek)(this.recordingProdStack),o=e.ruleName,a=new fo.NonTerminal({idx:r,nonTerminalName:o,label:i==null?void 0:i.LABEL,referencedRule:void 0});return s.definition.push(a),this.outputCst?Xye:OI},t.prototype.consumeInternalRecord=function(e,r,i){if(KI(r),!(0,$j.hasShortKeyProperty)(e)){var n=new Error(" argument is invalid"+(" expecting a TokenType reference but got: <"+JSON.stringify(e)+">")+(` + inside top level rule: <`+this.recordingProdStack[0].name+">"));throw n.KNOWN_RECORDER_ERROR=!0,n}var s=(0,Cn.peek)(this.recordingProdStack),o=new fo.Terminal({idx:r,terminalType:e,label:i==null?void 0:i.LABEL});return s.definition.push(o),nY},t}();MI.GastRecorder=$ye;function tp(t,e,r,i){i===void 0&&(i=!1),KI(r);var n=(0,Cn.peek)(this.recordingProdStack),s=(0,Cn.isFunction)(e)?e:e.DEF,o=new t({definition:[],idx:r});return i&&(o.separator=e.SEP),(0,Cn.has)(e,"MAX_LOOKAHEAD")&&(o.maxLookahead=e.MAX_LOOKAHEAD),this.recordingProdStack.push(o),s.call(this),n.definition.push(o),this.recordingProdStack.pop(),OI}function Zye(t,e){var r=this;KI(e);var i=(0,Cn.peek)(this.recordingProdStack),n=(0,Cn.isArray)(t)===!1,s=n===!1?t:t.DEF,o=new fo.Alternation({definition:[],idx:e,ignoreAmbiguities:n&&t.IGNORE_AMBIGUITIES===!0});(0,Cn.has)(t,"MAX_LOOKAHEAD")&&(o.maxLookahead=t.MAX_LOOKAHEAD);var a=(0,Cn.some)(s,function(l){return(0,Cn.isFunction)(l.GATE)});return o.hasPredicates=a,i.definition.push(o),(0,Cn.forEach)(s,function(l){var c=new fo.Alternative({definition:[]});o.definition.push(c),(0,Cn.has)(l,"IGNORE_AMBIGUITIES")?c.ignoreAmbiguities=l.IGNORE_AMBIGUITIES:(0,Cn.has)(l,"GATE")&&(c.ignoreAmbiguities=!0),r.recordingProdStack.push(c),l.ALT.call(r),r.recordingProdStack.pop()}),OI}function sY(t){return t===0?"":""+t}function KI(t){if(t<0||t>rY){var e=new Error("Invalid DSL Method idx value: <"+t+`> + `+("Idx value must be a none negative value smaller than "+(rY+1)));throw e.KNOWN_RECORDER_ERROR=!0,e}}});var AY=E(UI=>{"use strict";Object.defineProperty(UI,"__esModule",{value:!0});UI.PerformanceTracer=void 0;var aY=Dt(),ewe=Tn(),twe=function(){function t(){}return t.prototype.initPerformanceTracer=function(e){if((0,aY.has)(e,"traceInitPerf")){var r=e.traceInitPerf,i=typeof r=="number";this.traceInitMaxIdent=i?r:Infinity,this.traceInitPerf=i?r>0:r}else this.traceInitMaxIdent=0,this.traceInitPerf=ewe.DEFAULT_PARSER_CONFIG.traceInitPerf;this.traceInitIndent=-1},t.prototype.TRACE_INIT=function(e,r){if(this.traceInitPerf===!0){this.traceInitIndent++;var i=new Array(this.traceInitIndent+1).join(" ");this.traceInitIndent <"+e+">");var n=(0,aY.timer)(r),s=n.time,o=n.value,a=s>10?console.warn:console.log;return this.traceInitIndent time: "+s+"ms"),this.traceInitIndent--,o}else return r()},t}();UI.PerformanceTracer=twe});var lY=E(HI=>{"use strict";Object.defineProperty(HI,"__esModule",{value:!0});HI.applyMixins=void 0;function rwe(t,e){e.forEach(function(r){var i=r.prototype;Object.getOwnPropertyNames(i).forEach(function(n){if(n!=="constructor"){var s=Object.getOwnPropertyDescriptor(i,n);s&&(s.get||s.set)?Object.defineProperty(t.prototype,n,s):t.prototype[n]=r.prototype[n]}})})}HI.applyMixins=rwe});var Tn=E(or=>{"use strict";var cY=or&&or.__extends||function(){var t=function(e,r){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},t(e,r)};return function(e,r){if(typeof r!="function"&&r!==null)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");t(e,r);function i(){this.constructor=e}e.prototype=r===null?Object.create(r):(i.prototype=r.prototype,new i)}}();Object.defineProperty(or,"__esModule",{value:!0});or.EmbeddedActionsParser=or.CstParser=or.Parser=or.EMPTY_ALT=or.ParserDefinitionErrorType=or.DEFAULT_RULE_CONFIG=or.DEFAULT_PARSER_CONFIG=or.END_OF_FILE=void 0;var Wi=Dt(),iwe=VG(),uY=nA(),gY=Wh(),fY=yj(),nwe=pS(),swe=kj(),owe=Kj(),awe=Hj(),Awe=jj(),lwe=Wj(),cwe=Vj(),uwe=Zj(),gwe=oY(),fwe=AY(),hwe=lY();or.END_OF_FILE=(0,uY.createTokenInstance)(uY.EOF,"",NaN,NaN,NaN,NaN,NaN,NaN);Object.freeze(or.END_OF_FILE);or.DEFAULT_PARSER_CONFIG=Object.freeze({recoveryEnabled:!1,maxLookahead:3,dynamicTokensEnabled:!1,outputCst:!0,errorMessageProvider:gY.defaultParserErrorProvider,nodeLocationTracking:"none",traceInitPerf:!1,skipValidations:!1});or.DEFAULT_RULE_CONFIG=Object.freeze({recoveryValueFunc:function(){},resyncEnabled:!0});var pwe;(function(t){t[t.INVALID_RULE_NAME=0]="INVALID_RULE_NAME",t[t.DUPLICATE_RULE_NAME=1]="DUPLICATE_RULE_NAME",t[t.INVALID_RULE_OVERRIDE=2]="INVALID_RULE_OVERRIDE",t[t.DUPLICATE_PRODUCTIONS=3]="DUPLICATE_PRODUCTIONS",t[t.UNRESOLVED_SUBRULE_REF=4]="UNRESOLVED_SUBRULE_REF",t[t.LEFT_RECURSION=5]="LEFT_RECURSION",t[t.NONE_LAST_EMPTY_ALT=6]="NONE_LAST_EMPTY_ALT",t[t.AMBIGUOUS_ALTS=7]="AMBIGUOUS_ALTS",t[t.CONFLICT_TOKENS_RULES_NAMESPACE=8]="CONFLICT_TOKENS_RULES_NAMESPACE",t[t.INVALID_TOKEN_NAME=9]="INVALID_TOKEN_NAME",t[t.NO_NON_EMPTY_LOOKAHEAD=10]="NO_NON_EMPTY_LOOKAHEAD",t[t.AMBIGUOUS_PREFIX_ALTS=11]="AMBIGUOUS_PREFIX_ALTS",t[t.TOO_MANY_ALTS=12]="TOO_MANY_ALTS"})(pwe=or.ParserDefinitionErrorType||(or.ParserDefinitionErrorType={}));function dwe(t){return t===void 0&&(t=void 0),function(){return t}}or.EMPTY_ALT=dwe;var GI=function(){function t(e,r){this.definitionErrors=[],this.selfAnalysisDone=!1;var i=this;if(i.initErrorHandler(r),i.initLexerAdapter(),i.initLooksAhead(r),i.initRecognizerEngine(e,r),i.initRecoverable(r),i.initTreeBuilder(r),i.initContentAssist(),i.initGastRecorder(r),i.initPerformanceTracer(r),(0,Wi.has)(r,"ignoredIssues"))throw new Error(`The IParserConfig property has been deprecated. + Please use the flag on the relevant DSL method instead. + See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#IGNORING_AMBIGUITIES + For further details.`);this.skipValidations=(0,Wi.has)(r,"skipValidations")?r.skipValidations:or.DEFAULT_PARSER_CONFIG.skipValidations}return t.performSelfAnalysis=function(e){throw Error("The **static** `performSelfAnalysis` method has been deprecated. \nUse the **instance** method with the same name instead.")},t.prototype.performSelfAnalysis=function(){var e=this;this.TRACE_INIT("performSelfAnalysis",function(){var r;e.selfAnalysisDone=!0;var i=e.className;e.TRACE_INIT("toFastProps",function(){(0,Wi.toFastProperties)(e)}),e.TRACE_INIT("Grammar Recording",function(){try{e.enableRecording(),(0,Wi.forEach)(e.definedRulesNames,function(s){var o=e[s],a=o.originalGrammarAction,l=void 0;e.TRACE_INIT(s+" Rule",function(){l=e.topLevelRuleRecord(s,a)}),e.gastProductionsCache[s]=l})}finally{e.disableRecording()}});var n=[];if(e.TRACE_INIT("Grammar Resolving",function(){n=(0,fY.resolveGrammar)({rules:(0,Wi.values)(e.gastProductionsCache)}),e.definitionErrors=e.definitionErrors.concat(n)}),e.TRACE_INIT("Grammar Validations",function(){if((0,Wi.isEmpty)(n)&&e.skipValidations===!1){var s=(0,fY.validateGrammar)({rules:(0,Wi.values)(e.gastProductionsCache),maxLookahead:e.maxLookahead,tokenTypes:(0,Wi.values)(e.tokensMap),errMsgProvider:gY.defaultGrammarValidatorErrorProvider,grammarName:i});e.definitionErrors=e.definitionErrors.concat(s)}}),(0,Wi.isEmpty)(e.definitionErrors)&&(e.recoveryEnabled&&e.TRACE_INIT("computeAllProdsFollows",function(){var s=(0,iwe.computeAllProdsFollows)((0,Wi.values)(e.gastProductionsCache));e.resyncFollows=s}),e.TRACE_INIT("ComputeLookaheadFunctions",function(){e.preComputeLookaheadFunctions((0,Wi.values)(e.gastProductionsCache))})),!t.DEFER_DEFINITION_ERRORS_HANDLING&&!(0,Wi.isEmpty)(e.definitionErrors))throw r=(0,Wi.map)(e.definitionErrors,function(s){return s.message}),new Error(`Parser Definition Errors detected: + `+r.join(` +------------------------------- +`))})},t.DEFER_DEFINITION_ERRORS_HANDLING=!1,t}();or.Parser=GI;(0,hwe.applyMixins)(GI,[nwe.Recoverable,swe.LooksAhead,owe.TreeBuilder,awe.LexerAdapter,lwe.RecognizerEngine,Awe.RecognizerApi,cwe.ErrorHandler,uwe.ContentAssist,gwe.GastRecorder,fwe.PerformanceTracer]);var Cwe=function(t){cY(e,t);function e(r,i){i===void 0&&(i=or.DEFAULT_PARSER_CONFIG);var n=this,s=(0,Wi.cloneObj)(i);return s.outputCst=!0,n=t.call(this,r,s)||this,n}return e}(GI);or.CstParser=Cwe;var mwe=function(t){cY(e,t);function e(r,i){i===void 0&&(i=or.DEFAULT_PARSER_CONFIG);var n=this,s=(0,Wi.cloneObj)(i);return s.outputCst=!1,n=t.call(this,r,s)||this,n}return e}(GI);or.EmbeddedActionsParser=mwe});var pY=E(jI=>{"use strict";Object.defineProperty(jI,"__esModule",{value:!0});jI.createSyntaxDiagramsCode=void 0;var hY=Uv();function Ewe(t,e){var r=e===void 0?{}:e,i=r.resourceBase,n=i===void 0?"https://unpkg.com/chevrotain@"+hY.VERSION+"/diagrams/":i,s=r.css,o=s===void 0?"https://unpkg.com/chevrotain@"+hY.VERSION+"/diagrams/diagrams.css":s,a=` + + + + + +`,l=` + +`,c=` + + + + +`,u=` +
+`,g=` + +`,f=` + +`;return a+l+c+u+g+f}jI.createSyntaxDiagramsCode=Ewe});var mY=E(He=>{"use strict";Object.defineProperty(He,"__esModule",{value:!0});He.Parser=He.createSyntaxDiagramsCode=He.clearCache=He.GAstVisitor=He.serializeProduction=He.serializeGrammar=He.Terminal=He.Rule=He.RepetitionWithSeparator=He.RepetitionMandatoryWithSeparator=He.RepetitionMandatory=He.Repetition=He.Option=He.NonTerminal=He.Alternative=He.Alternation=He.defaultLexerErrorProvider=He.NoViableAltException=He.NotAllInputParsedException=He.MismatchedTokenException=He.isRecognitionException=He.EarlyExitException=He.defaultParserErrorProvider=He.tokenName=He.tokenMatcher=He.tokenLabel=He.EOF=He.createTokenInstance=He.createToken=He.LexerDefinitionErrorType=He.Lexer=He.EMPTY_ALT=He.ParserDefinitionErrorType=He.EmbeddedActionsParser=He.CstParser=He.VERSION=void 0;var Iwe=Uv();Object.defineProperty(He,"VERSION",{enumerable:!0,get:function(){return Iwe.VERSION}});var YI=Tn();Object.defineProperty(He,"CstParser",{enumerable:!0,get:function(){return YI.CstParser}});Object.defineProperty(He,"EmbeddedActionsParser",{enumerable:!0,get:function(){return YI.EmbeddedActionsParser}});Object.defineProperty(He,"ParserDefinitionErrorType",{enumerable:!0,get:function(){return YI.ParserDefinitionErrorType}});Object.defineProperty(He,"EMPTY_ALT",{enumerable:!0,get:function(){return YI.EMPTY_ALT}});var dY=Gh();Object.defineProperty(He,"Lexer",{enumerable:!0,get:function(){return dY.Lexer}});Object.defineProperty(He,"LexerDefinitionErrorType",{enumerable:!0,get:function(){return dY.LexerDefinitionErrorType}});var ku=nA();Object.defineProperty(He,"createToken",{enumerable:!0,get:function(){return ku.createToken}});Object.defineProperty(He,"createTokenInstance",{enumerable:!0,get:function(){return ku.createTokenInstance}});Object.defineProperty(He,"EOF",{enumerable:!0,get:function(){return ku.EOF}});Object.defineProperty(He,"tokenLabel",{enumerable:!0,get:function(){return ku.tokenLabel}});Object.defineProperty(He,"tokenMatcher",{enumerable:!0,get:function(){return ku.tokenMatcher}});Object.defineProperty(He,"tokenName",{enumerable:!0,get:function(){return ku.tokenName}});var ywe=Wh();Object.defineProperty(He,"defaultParserErrorProvider",{enumerable:!0,get:function(){return ywe.defaultParserErrorProvider}});var rp=vu();Object.defineProperty(He,"EarlyExitException",{enumerable:!0,get:function(){return rp.EarlyExitException}});Object.defineProperty(He,"isRecognitionException",{enumerable:!0,get:function(){return rp.isRecognitionException}});Object.defineProperty(He,"MismatchedTokenException",{enumerable:!0,get:function(){return rp.MismatchedTokenException}});Object.defineProperty(He,"NotAllInputParsedException",{enumerable:!0,get:function(){return rp.NotAllInputParsedException}});Object.defineProperty(He,"NoViableAltException",{enumerable:!0,get:function(){return rp.NoViableAltException}});var wwe=_v();Object.defineProperty(He,"defaultLexerErrorProvider",{enumerable:!0,get:function(){return wwe.defaultLexerErrorProvider}});var ho=hn();Object.defineProperty(He,"Alternation",{enumerable:!0,get:function(){return ho.Alternation}});Object.defineProperty(He,"Alternative",{enumerable:!0,get:function(){return ho.Alternative}});Object.defineProperty(He,"NonTerminal",{enumerable:!0,get:function(){return ho.NonTerminal}});Object.defineProperty(He,"Option",{enumerable:!0,get:function(){return ho.Option}});Object.defineProperty(He,"Repetition",{enumerable:!0,get:function(){return ho.Repetition}});Object.defineProperty(He,"RepetitionMandatory",{enumerable:!0,get:function(){return ho.RepetitionMandatory}});Object.defineProperty(He,"RepetitionMandatoryWithSeparator",{enumerable:!0,get:function(){return ho.RepetitionMandatoryWithSeparator}});Object.defineProperty(He,"RepetitionWithSeparator",{enumerable:!0,get:function(){return ho.RepetitionWithSeparator}});Object.defineProperty(He,"Rule",{enumerable:!0,get:function(){return ho.Rule}});Object.defineProperty(He,"Terminal",{enumerable:!0,get:function(){return ho.Terminal}});var CY=hn();Object.defineProperty(He,"serializeGrammar",{enumerable:!0,get:function(){return CY.serializeGrammar}});Object.defineProperty(He,"serializeProduction",{enumerable:!0,get:function(){return CY.serializeProduction}});var Bwe=wu();Object.defineProperty(He,"GAstVisitor",{enumerable:!0,get:function(){return Bwe.GAstVisitor}});function Qwe(){console.warn(`The clearCache function was 'soft' removed from the Chevrotain API. + It performs no action other than printing this message. + Please avoid using it as it will be completely removed in the future`)}He.clearCache=Qwe;var bwe=pY();Object.defineProperty(He,"createSyntaxDiagramsCode",{enumerable:!0,get:function(){return bwe.createSyntaxDiagramsCode}});var vwe=function(){function t(){throw new Error(`The Parser class has been deprecated, use CstParser or EmbeddedActionsParser instead. +See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_7-0-0`)}return t}();He.Parser=vwe});var yY=E((Trt,EY)=>{var qI=mY(),ca=qI.createToken,IY=qI.tokenMatcher,yS=qI.Lexer,Swe=qI.EmbeddedActionsParser;EY.exports=t=>{let e=ca({name:"LogicalOperator",pattern:yS.NA}),r=ca({name:"Or",pattern:/\|/,categories:e}),i=ca({name:"Xor",pattern:/\^/,categories:e}),n=ca({name:"And",pattern:/&/,categories:e}),s=ca({name:"Not",pattern:/!/}),o=ca({name:"LParen",pattern:/\(/}),a=ca({name:"RParen",pattern:/\)/}),l=ca({name:"Query",pattern:t}),u=[ca({name:"WhiteSpace",pattern:/\s+/,group:yS.SKIPPED}),r,i,n,o,a,s,e,l],g=new yS(u);class f extends Swe{constructor(p){super(u);this.RULE("expression",()=>this.SUBRULE(this.logicalExpression)),this.RULE("logicalExpression",()=>{let m=this.SUBRULE(this.atomicExpression);return this.MANY(()=>{let I=m,B=this.CONSUME(e),b=this.SUBRULE2(this.atomicExpression);IY(B,r)?m=R=>I(R)||b(R):IY(B,i)?m=R=>!!(I(R)^b(R)):m=R=>I(R)&&b(R)}),m}),this.RULE("atomicExpression",()=>this.OR([{ALT:()=>this.SUBRULE(this.parenthesisExpression)},{ALT:()=>{let{image:d}=this.CONSUME(l);return m=>m(d)}},{ALT:()=>{this.CONSUME(s);let d=this.SUBRULE(this.atomicExpression);return m=>!d(m)}}])),this.RULE("parenthesisExpression",()=>{let d;return this.CONSUME(o),d=this.SUBRULE(this.expression),this.CONSUME(a),d}),this.performSelfAnalysis()}}return{TinylogicLexer:g,TinylogicParser:f}}});var wY=E(JI=>{var xwe=yY();JI.makeParser=(t=/[a-z]+/)=>{let{TinylogicLexer:e,TinylogicParser:r}=xwe(t),i=new r;return(n,s)=>{let o=e.tokenize(n);return i.input=o.tokens,i.expression()(s)}};JI.parse=JI.makeParser()});var QY=E((Ort,BY)=>{"use strict";BY.exports=(...t)=>[...new Set([].concat(...t))]});var wS=E((Krt,bY)=>{"use strict";var kwe=require("stream"),vY=kwe.PassThrough,Pwe=Array.prototype.slice;bY.exports=Dwe;function Dwe(){let t=[],e=!1,r=Pwe.call(arguments),i=r[r.length-1];i&&!Array.isArray(i)&&i.pipe==null?r.pop():i={};let n=i.end!==!1;i.objectMode==null&&(i.objectMode=!0),i.highWaterMark==null&&(i.highWaterMark=64*1024);let s=vY(i);function o(){for(let c=0,u=arguments.length;c0||(e=!1,a())}function f(h){function p(){h.removeListener("merge2UnpipeEnd",p),h.removeListener("end",p),g()}if(h._readableState.endEmitted)return g();h.on("merge2UnpipeEnd",p),h.on("end",p),h.pipe(s,{end:!1}),h.resume()}for(let h=0;h{"use strict";Object.defineProperty(WI,"__esModule",{value:!0});function Rwe(t){return t.reduce((e,r)=>[].concat(e,r),[])}WI.flatten=Rwe;function Fwe(t,e){let r=[[]],i=0;for(let n of t)e(n)?(i++,r[i]=[]):r[i].push(n);return r}WI.splitWhen=Fwe});var kY=E(BS=>{"use strict";Object.defineProperty(BS,"__esModule",{value:!0});function Nwe(t){return t.code==="ENOENT"}BS.isEnoentCodeError=Nwe});var DY=E(QS=>{"use strict";Object.defineProperty(QS,"__esModule",{value:!0});var PY=class{constructor(e,r){this.name=e,this.isBlockDevice=r.isBlockDevice.bind(r),this.isCharacterDevice=r.isCharacterDevice.bind(r),this.isDirectory=r.isDirectory.bind(r),this.isFIFO=r.isFIFO.bind(r),this.isFile=r.isFile.bind(r),this.isSocket=r.isSocket.bind(r),this.isSymbolicLink=r.isSymbolicLink.bind(r)}};function Lwe(t,e){return new PY(t,e)}QS.createDirentFromStats=Lwe});var RY=E(Pu=>{"use strict";Object.defineProperty(Pu,"__esModule",{value:!0});var Twe=require("path"),Mwe=2,Owe=/(\\?)([()*?[\]{|}]|^!|[!+@](?=\())/g;function Kwe(t){return t.replace(/\\/g,"/")}Pu.unixify=Kwe;function Uwe(t,e){return Twe.resolve(t,e)}Pu.makeAbsolute=Uwe;function Hwe(t){return t.replace(Owe,"\\$2")}Pu.escape=Hwe;function Gwe(t){if(t.charAt(0)==="."){let e=t.charAt(1);if(e==="/"||e==="\\")return t.slice(Mwe)}return t}Pu.removeLeadingDotSegment=Gwe});var NY=E((Yrt,FY)=>{FY.exports=function(e){if(typeof e!="string"||e==="")return!1;for(var r;r=/(\\).|([@?!+*]\(.*\))/g.exec(e);){if(r[2])return!0;e=e.slice(r.index+r[0].length)}return!1}});var TY=E((qrt,LY)=>{var jwe=NY(),Ywe={"{":"}","(":")","[":"]"},qwe=/\\(.)|(^!|\*|[\].+)]\?|\[[^\\\]]+\]|\{[^\\}]+\}|\(\?[:!=][^\\)]+\)|\([^|]+\|[^\\)]+\))/,Jwe=/\\(.)|(^!|[*?{}()[\]]|\(\?)/;LY.exports=function(e,r){if(typeof e!="string"||e==="")return!1;if(jwe(e))return!0;var i=qwe,n;for(r&&r.strict===!1&&(i=Jwe);n=i.exec(e);){if(n[2])return!0;var s=n.index+n[0].length,o=n[1],a=o?Ywe[o]:null;if(o&&a){var l=e.indexOf(a,s);l!==-1&&(s=l+1)}e=e.slice(s)}return!1}});var OY=E((Jrt,MY)=>{"use strict";var Wwe=TY(),zwe=require("path").posix.dirname,Vwe=require("os").platform()==="win32",bS="/",_we=/\\/g,Xwe=/[\{\[].*[\}\]]$/,Zwe=/(^|[^\\])([\{\[]|\([^\)]+$)/,$we=/\\([\!\*\?\|\[\]\(\)\{\}])/g;MY.exports=function(e,r){var i=Object.assign({flipBackslashes:!0},r);i.flipBackslashes&&Vwe&&e.indexOf(bS)<0&&(e=e.replace(_we,bS)),Xwe.test(e)&&(e+=bS),e+="a";do e=zwe(e);while(Wwe(e)||Zwe.test(e));return e.replace($we,"$1")}});var WY=E(Hr=>{"use strict";Object.defineProperty(Hr,"__esModule",{value:!0});var eBe=require("path"),tBe=OY(),KY=Nn(),rBe=iv(),UY="**",iBe="\\",nBe=/[*?]|^!/,sBe=/\[.*]/,oBe=/(?:^|[^!*+?@])\(.*\|.*\)/,aBe=/[!*+?@]\(.*\)/,ABe=/{.*(?:,|\.\.).*}/;function GY(t,e={}){return!HY(t,e)}Hr.isStaticPattern=GY;function HY(t,e={}){return!!(e.caseSensitiveMatch===!1||t.includes(iBe)||nBe.test(t)||sBe.test(t)||oBe.test(t)||e.extglob!==!1&&aBe.test(t)||e.braceExpansion!==!1&&ABe.test(t))}Hr.isDynamicPattern=HY;function lBe(t){return zI(t)?t.slice(1):t}Hr.convertToPositivePattern=lBe;function cBe(t){return"!"+t}Hr.convertToNegativePattern=cBe;function zI(t){return t.startsWith("!")&&t[1]!=="("}Hr.isNegativePattern=zI;function jY(t){return!zI(t)}Hr.isPositivePattern=jY;function uBe(t){return t.filter(zI)}Hr.getNegativePatterns=uBe;function gBe(t){return t.filter(jY)}Hr.getPositivePatterns=gBe;function fBe(t){return tBe(t,{flipBackslashes:!1})}Hr.getBaseDirectory=fBe;function hBe(t){return t.includes(UY)}Hr.hasGlobStar=hBe;function YY(t){return t.endsWith("/"+UY)}Hr.endsWithSlashGlobStar=YY;function pBe(t){let e=eBe.basename(t);return YY(t)||GY(e)}Hr.isAffectDepthOfReadingPattern=pBe;function dBe(t){return t.reduce((e,r)=>e.concat(qY(r)),[])}Hr.expandPatternsWithBraceExpansion=dBe;function qY(t){return KY.braces(t,{expand:!0,nodupes:!0})}Hr.expandBraceExpansion=qY;function CBe(t,e){let r=rBe.scan(t,Object.assign(Object.assign({},e),{parts:!0}));return r.parts.length===0?[t]:r.parts}Hr.getPatternParts=CBe;function JY(t,e){return KY.makeRe(t,e)}Hr.makeRe=JY;function mBe(t,e){return t.map(r=>JY(r,e))}Hr.convertPatternsToRe=mBe;function EBe(t,e){return e.some(r=>r.test(t))}Hr.matchAny=EBe});var VY=E(vS=>{"use strict";Object.defineProperty(vS,"__esModule",{value:!0});var IBe=wS();function yBe(t){let e=IBe(t);return t.forEach(r=>{r.once("error",i=>e.emit("error",i))}),e.once("close",()=>zY(t)),e.once("end",()=>zY(t)),e}vS.merge=yBe;function zY(t){t.forEach(e=>e.emit("close"))}});var _Y=E(VI=>{"use strict";Object.defineProperty(VI,"__esModule",{value:!0});function wBe(t){return typeof t=="string"}VI.isString=wBe;function BBe(t){return t===""}VI.isEmpty=BBe});var ga=E(ua=>{"use strict";Object.defineProperty(ua,"__esModule",{value:!0});var QBe=xY();ua.array=QBe;var bBe=kY();ua.errno=bBe;var vBe=DY();ua.fs=vBe;var SBe=RY();ua.path=SBe;var xBe=WY();ua.pattern=xBe;var kBe=VY();ua.stream=kBe;var PBe=_Y();ua.string=PBe});var tq=E(fa=>{"use strict";Object.defineProperty(fa,"__esModule",{value:!0});var Ll=ga();function DBe(t,e){let r=XY(t),i=ZY(t,e.ignore),n=r.filter(l=>Ll.pattern.isStaticPattern(l,e)),s=r.filter(l=>Ll.pattern.isDynamicPattern(l,e)),o=SS(n,i,!1),a=SS(s,i,!0);return o.concat(a)}fa.generate=DBe;function SS(t,e,r){let i=$Y(t);return"."in i?[xS(".",t,e,r)]:eq(i,e,r)}fa.convertPatternsToTasks=SS;function XY(t){return Ll.pattern.getPositivePatterns(t)}fa.getPositivePatterns=XY;function ZY(t,e){return Ll.pattern.getNegativePatterns(t).concat(e).map(Ll.pattern.convertToPositivePattern)}fa.getNegativePatternsAsPositive=ZY;function $Y(t){let e={};return t.reduce((r,i)=>{let n=Ll.pattern.getBaseDirectory(i);return n in r?r[n].push(i):r[n]=[i],r},e)}fa.groupPatternsByBaseDirectory=$Y;function eq(t,e,r){return Object.keys(t).map(i=>xS(i,t[i],e,r))}fa.convertPatternGroupsToTasks=eq;function xS(t,e,r,i){return{dynamic:i,positive:e,negative:r,base:t,patterns:[].concat(e,r.map(Ll.pattern.convertToNegativePattern))}}fa.convertPatternGroupToTask=xS});var iq=E(_I=>{"use strict";Object.defineProperty(_I,"__esModule",{value:!0});_I.read=void 0;function RBe(t,e,r){e.fs.lstat(t,(i,n)=>{if(i!==null){rq(r,i);return}if(!n.isSymbolicLink()||!e.followSymbolicLink){kS(r,n);return}e.fs.stat(t,(s,o)=>{if(s!==null){if(e.throwErrorOnBrokenSymbolicLink){rq(r,s);return}kS(r,n);return}e.markSymbolicLink&&(o.isSymbolicLink=()=>!0),kS(r,o)})})}_I.read=RBe;function rq(t,e){t(e)}function kS(t,e){t(null,e)}});var nq=E(XI=>{"use strict";Object.defineProperty(XI,"__esModule",{value:!0});XI.read=void 0;function FBe(t,e){let r=e.fs.lstatSync(t);if(!r.isSymbolicLink()||!e.followSymbolicLink)return r;try{let i=e.fs.statSync(t);return e.markSymbolicLink&&(i.isSymbolicLink=()=>!0),i}catch(i){if(!e.throwErrorOnBrokenSymbolicLink)return r;throw i}}XI.read=FBe});var sq=E(AA=>{"use strict";Object.defineProperty(AA,"__esModule",{value:!0});AA.createFileSystemAdapter=AA.FILE_SYSTEM_ADAPTER=void 0;var ZI=require("fs");AA.FILE_SYSTEM_ADAPTER={lstat:ZI.lstat,stat:ZI.stat,lstatSync:ZI.lstatSync,statSync:ZI.statSync};function NBe(t){return t===void 0?AA.FILE_SYSTEM_ADAPTER:Object.assign(Object.assign({},AA.FILE_SYSTEM_ADAPTER),t)}AA.createFileSystemAdapter=NBe});var aq=E(PS=>{"use strict";Object.defineProperty(PS,"__esModule",{value:!0});var LBe=sq(),oq=class{constructor(e={}){this._options=e,this.followSymbolicLink=this._getValue(this._options.followSymbolicLink,!0),this.fs=LBe.createFileSystemAdapter(this._options.fs),this.markSymbolicLink=this._getValue(this._options.markSymbolicLink,!1),this.throwErrorOnBrokenSymbolicLink=this._getValue(this._options.throwErrorOnBrokenSymbolicLink,!0)}_getValue(e,r){return e!=null?e:r}};PS.default=oq});var Tl=E(lA=>{"use strict";Object.defineProperty(lA,"__esModule",{value:!0});lA.statSync=lA.stat=lA.Settings=void 0;var Aq=iq(),TBe=nq(),DS=aq();lA.Settings=DS.default;function MBe(t,e,r){if(typeof e=="function"){Aq.read(t,RS(),e);return}Aq.read(t,RS(e),r)}lA.stat=MBe;function OBe(t,e){let r=RS(e);return TBe.read(t,r)}lA.statSync=OBe;function RS(t={}){return t instanceof DS.default?t:new DS.default(t)}});var cq=E((iit,lq)=>{lq.exports=KBe;function KBe(t,e){var r,i,n,s=!0;Array.isArray(t)?(r=[],i=t.length):(n=Object.keys(t),r={},i=n.length);function o(l){function c(){e&&e(l,r),e=null}s?process.nextTick(c):c()}function a(l,c,u){r[l]=u,(--i==0||c)&&o(c)}i?n?n.forEach(function(l){t[l](function(c,u){a(l,c,u)})}):t.forEach(function(l,c){l(function(u,g){a(c,u,g)})}):o(null),s=!1}});var FS=E($I=>{"use strict";Object.defineProperty($I,"__esModule",{value:!0});$I.IS_SUPPORT_READDIR_WITH_FILE_TYPES=void 0;var ey=process.versions.node.split(".");if(ey[0]===void 0||ey[1]===void 0)throw new Error(`Unexpected behavior. The 'process.versions.node' variable has invalid value: ${process.versions.node}`);var uq=Number.parseInt(ey[0],10),UBe=Number.parseInt(ey[1],10),gq=10,HBe=10,GBe=uq>gq,jBe=uq===gq&&UBe>=HBe;$I.IS_SUPPORT_READDIR_WITH_FILE_TYPES=GBe||jBe});var hq=E(ty=>{"use strict";Object.defineProperty(ty,"__esModule",{value:!0});ty.createDirentFromStats=void 0;var fq=class{constructor(e,r){this.name=e,this.isBlockDevice=r.isBlockDevice.bind(r),this.isCharacterDevice=r.isCharacterDevice.bind(r),this.isDirectory=r.isDirectory.bind(r),this.isFIFO=r.isFIFO.bind(r),this.isFile=r.isFile.bind(r),this.isSocket=r.isSocket.bind(r),this.isSymbolicLink=r.isSymbolicLink.bind(r)}};function YBe(t,e){return new fq(t,e)}ty.createDirentFromStats=YBe});var NS=E(ry=>{"use strict";Object.defineProperty(ry,"__esModule",{value:!0});ry.fs=void 0;var qBe=hq();ry.fs=qBe});var LS=E(iy=>{"use strict";Object.defineProperty(iy,"__esModule",{value:!0});iy.joinPathSegments=void 0;function JBe(t,e,r){return t.endsWith(r)?t+e:t+r+e}iy.joinPathSegments=JBe});var Iq=E(cA=>{"use strict";Object.defineProperty(cA,"__esModule",{value:!0});cA.readdir=cA.readdirWithFileTypes=cA.read=void 0;var WBe=Tl(),pq=cq(),zBe=FS(),dq=NS(),Cq=LS();function VBe(t,e,r){if(!e.stats&&zBe.IS_SUPPORT_READDIR_WITH_FILE_TYPES){mq(t,e,r);return}Eq(t,e,r)}cA.read=VBe;function mq(t,e,r){e.fs.readdir(t,{withFileTypes:!0},(i,n)=>{if(i!==null){ny(r,i);return}let s=n.map(a=>({dirent:a,name:a.name,path:Cq.joinPathSegments(t,a.name,e.pathSegmentSeparator)}));if(!e.followSymbolicLinks){TS(r,s);return}let o=s.map(a=>_Be(a,e));pq(o,(a,l)=>{if(a!==null){ny(r,a);return}TS(r,l)})})}cA.readdirWithFileTypes=mq;function _Be(t,e){return r=>{if(!t.dirent.isSymbolicLink()){r(null,t);return}e.fs.stat(t.path,(i,n)=>{if(i!==null){if(e.throwErrorOnBrokenSymbolicLink){r(i);return}r(null,t);return}t.dirent=dq.fs.createDirentFromStats(t.name,n),r(null,t)})}}function Eq(t,e,r){e.fs.readdir(t,(i,n)=>{if(i!==null){ny(r,i);return}let s=n.map(o=>{let a=Cq.joinPathSegments(t,o,e.pathSegmentSeparator);return l=>{WBe.stat(a,e.fsStatSettings,(c,u)=>{if(c!==null){l(c);return}let g={name:o,path:a,dirent:dq.fs.createDirentFromStats(o,u)};e.stats&&(g.stats=u),l(null,g)})}});pq(s,(o,a)=>{if(o!==null){ny(r,o);return}TS(r,a)})})}cA.readdir=Eq;function ny(t,e){t(e)}function TS(t,e){t(null,e)}});var bq=E(uA=>{"use strict";Object.defineProperty(uA,"__esModule",{value:!0});uA.readdir=uA.readdirWithFileTypes=uA.read=void 0;var XBe=Tl(),ZBe=FS(),yq=NS(),wq=LS();function $Be(t,e){return!e.stats&&ZBe.IS_SUPPORT_READDIR_WITH_FILE_TYPES?Bq(t,e):Qq(t,e)}uA.read=$Be;function Bq(t,e){return e.fs.readdirSync(t,{withFileTypes:!0}).map(i=>{let n={dirent:i,name:i.name,path:wq.joinPathSegments(t,i.name,e.pathSegmentSeparator)};if(n.dirent.isSymbolicLink()&&e.followSymbolicLinks)try{let s=e.fs.statSync(n.path);n.dirent=yq.fs.createDirentFromStats(n.name,s)}catch(s){if(e.throwErrorOnBrokenSymbolicLink)throw s}return n})}uA.readdirWithFileTypes=Bq;function Qq(t,e){return e.fs.readdirSync(t).map(i=>{let n=wq.joinPathSegments(t,i,e.pathSegmentSeparator),s=XBe.statSync(n,e.fsStatSettings),o={name:i,path:n,dirent:yq.fs.createDirentFromStats(i,s)};return e.stats&&(o.stats=s),o})}uA.readdir=Qq});var vq=E(gA=>{"use strict";Object.defineProperty(gA,"__esModule",{value:!0});gA.createFileSystemAdapter=gA.FILE_SYSTEM_ADAPTER=void 0;var Du=require("fs");gA.FILE_SYSTEM_ADAPTER={lstat:Du.lstat,stat:Du.stat,lstatSync:Du.lstatSync,statSync:Du.statSync,readdir:Du.readdir,readdirSync:Du.readdirSync};function e0e(t){return t===void 0?gA.FILE_SYSTEM_ADAPTER:Object.assign(Object.assign({},gA.FILE_SYSTEM_ADAPTER),t)}gA.createFileSystemAdapter=e0e});var xq=E(MS=>{"use strict";Object.defineProperty(MS,"__esModule",{value:!0});var t0e=require("path"),r0e=Tl(),i0e=vq(),Sq=class{constructor(e={}){this._options=e,this.followSymbolicLinks=this._getValue(this._options.followSymbolicLinks,!1),this.fs=i0e.createFileSystemAdapter(this._options.fs),this.pathSegmentSeparator=this._getValue(this._options.pathSegmentSeparator,t0e.sep),this.stats=this._getValue(this._options.stats,!1),this.throwErrorOnBrokenSymbolicLink=this._getValue(this._options.throwErrorOnBrokenSymbolicLink,!0),this.fsStatSettings=new r0e.Settings({followSymbolicLink:this.followSymbolicLinks,fs:this.fs,throwErrorOnBrokenSymbolicLink:this.throwErrorOnBrokenSymbolicLink})}_getValue(e,r){return e!=null?e:r}};MS.default=Sq});var sy=E(fA=>{"use strict";Object.defineProperty(fA,"__esModule",{value:!0});fA.Settings=fA.scandirSync=fA.scandir=void 0;var kq=Iq(),n0e=bq(),OS=xq();fA.Settings=OS.default;function s0e(t,e,r){if(typeof e=="function"){kq.read(t,KS(),e);return}kq.read(t,KS(e),r)}fA.scandir=s0e;function o0e(t,e){let r=KS(e);return n0e.read(t,r)}fA.scandirSync=o0e;function KS(t={}){return t instanceof OS.default?t:new OS.default(t)}});var Dq=E((fit,Pq)=>{"use strict";function a0e(t){var e=new t,r=e;function i(){var s=e;return s.next?e=s.next:(e=new t,r=e),s.next=null,s}function n(s){r.next=s,r=s}return{get:i,release:n}}Pq.exports=a0e});var Fq=E((hit,US)=>{"use strict";var A0e=Dq();function Rq(t,e,r){if(typeof t=="function"&&(r=e,e=t,t=null),r<1)throw new Error("fastqueue concurrency must be greater than 1");var i=A0e(l0e),n=null,s=null,o=0,a=null,l={push:d,drain:po,saturated:po,pause:u,paused:!1,concurrency:r,running:c,resume:h,idle:p,length:g,getQueue:f,unshift:m,empty:po,kill:B,killAndDrain:b,error:R};return l;function c(){return o}function u(){l.paused=!0}function g(){for(var H=n,L=0;H;)H=H.next,L++;return L}function f(){for(var H=n,L=[];H;)L.push(H.value),H=H.next;return L}function h(){if(!!l.paused){l.paused=!1;for(var H=0;H{"use strict";Object.defineProperty(Co,"__esModule",{value:!0});Co.joinPathSegments=Co.replacePathSegmentSeparator=Co.isAppliedFilter=Co.isFatalError=void 0;function u0e(t,e){return t.errorFilter===null?!0:!t.errorFilter(e)}Co.isFatalError=u0e;function g0e(t,e){return t===null||t(e)}Co.isAppliedFilter=g0e;function f0e(t,e){return t.split(/[/\\]/).join(e)}Co.replacePathSegmentSeparator=f0e;function h0e(t,e,r){return t===""?e:t.endsWith(r)?t+e:t+r+e}Co.joinPathSegments=h0e});var GS=E(HS=>{"use strict";Object.defineProperty(HS,"__esModule",{value:!0});var p0e=oy(),Nq=class{constructor(e,r){this._root=e,this._settings=r,this._root=p0e.replacePathSegmentSeparator(e,r.pathSegmentSeparator)}};HS.default=Nq});var YS=E(jS=>{"use strict";Object.defineProperty(jS,"__esModule",{value:!0});var d0e=require("events"),C0e=sy(),m0e=Fq(),ay=oy(),E0e=GS(),Lq=class extends E0e.default{constructor(e,r){super(e,r);this._settings=r,this._scandir=C0e.scandir,this._emitter=new d0e.EventEmitter,this._queue=m0e(this._worker.bind(this),this._settings.concurrency),this._isFatalError=!1,this._isDestroyed=!1,this._queue.drain=()=>{this._isFatalError||this._emitter.emit("end")}}read(){return this._isFatalError=!1,this._isDestroyed=!1,setImmediate(()=>{this._pushToQueue(this._root,this._settings.basePath)}),this._emitter}get isDestroyed(){return this._isDestroyed}destroy(){if(this._isDestroyed)throw new Error("The reader is already destroyed");this._isDestroyed=!0,this._queue.killAndDrain()}onEntry(e){this._emitter.on("entry",e)}onError(e){this._emitter.once("error",e)}onEnd(e){this._emitter.once("end",e)}_pushToQueue(e,r){let i={directory:e,base:r};this._queue.push(i,n=>{n!==null&&this._handleError(n)})}_worker(e,r){this._scandir(e.directory,this._settings.fsScandirSettings,(i,n)=>{if(i!==null){r(i,void 0);return}for(let s of n)this._handleEntry(s,e.base);r(null,void 0)})}_handleError(e){this._isDestroyed||!ay.isFatalError(this._settings,e)||(this._isFatalError=!0,this._isDestroyed=!0,this._emitter.emit("error",e))}_handleEntry(e,r){if(this._isDestroyed||this._isFatalError)return;let i=e.path;r!==void 0&&(e.path=ay.joinPathSegments(r,e.name,this._settings.pathSegmentSeparator)),ay.isAppliedFilter(this._settings.entryFilter,e)&&this._emitEntry(e),e.dirent.isDirectory()&&ay.isAppliedFilter(this._settings.deepFilter,e)&&this._pushToQueue(i,e.path)}_emitEntry(e){this._emitter.emit("entry",e)}};jS.default=Lq});var Mq=E(qS=>{"use strict";Object.defineProperty(qS,"__esModule",{value:!0});var I0e=YS(),Tq=class{constructor(e,r){this._root=e,this._settings=r,this._reader=new I0e.default(this._root,this._settings),this._storage=new Set}read(e){this._reader.onError(r=>{y0e(e,r)}),this._reader.onEntry(r=>{this._storage.add(r)}),this._reader.onEnd(()=>{w0e(e,[...this._storage])}),this._reader.read()}};qS.default=Tq;function y0e(t,e){t(e)}function w0e(t,e){t(null,e)}});var Kq=E(JS=>{"use strict";Object.defineProperty(JS,"__esModule",{value:!0});var B0e=require("stream"),Q0e=YS(),Oq=class{constructor(e,r){this._root=e,this._settings=r,this._reader=new Q0e.default(this._root,this._settings),this._stream=new B0e.Readable({objectMode:!0,read:()=>{},destroy:()=>{this._reader.isDestroyed||this._reader.destroy()}})}read(){return this._reader.onError(e=>{this._stream.emit("error",e)}),this._reader.onEntry(e=>{this._stream.push(e)}),this._reader.onEnd(()=>{this._stream.push(null)}),this._reader.read(),this._stream}};JS.default=Oq});var Hq=E(WS=>{"use strict";Object.defineProperty(WS,"__esModule",{value:!0});var b0e=sy(),Ay=oy(),v0e=GS(),Uq=class extends v0e.default{constructor(){super(...arguments);this._scandir=b0e.scandirSync,this._storage=new Set,this._queue=new Set}read(){return this._pushToQueue(this._root,this._settings.basePath),this._handleQueue(),[...this._storage]}_pushToQueue(e,r){this._queue.add({directory:e,base:r})}_handleQueue(){for(let e of this._queue.values())this._handleDirectory(e.directory,e.base)}_handleDirectory(e,r){try{let i=this._scandir(e,this._settings.fsScandirSettings);for(let n of i)this._handleEntry(n,r)}catch(i){this._handleError(i)}}_handleError(e){if(!!Ay.isFatalError(this._settings,e))throw e}_handleEntry(e,r){let i=e.path;r!==void 0&&(e.path=Ay.joinPathSegments(r,e.name,this._settings.pathSegmentSeparator)),Ay.isAppliedFilter(this._settings.entryFilter,e)&&this._pushToStorage(e),e.dirent.isDirectory()&&Ay.isAppliedFilter(this._settings.deepFilter,e)&&this._pushToQueue(i,e.path)}_pushToStorage(e){this._storage.add(e)}};WS.default=Uq});var jq=E(zS=>{"use strict";Object.defineProperty(zS,"__esModule",{value:!0});var S0e=Hq(),Gq=class{constructor(e,r){this._root=e,this._settings=r,this._reader=new S0e.default(this._root,this._settings)}read(){return this._reader.read()}};zS.default=Gq});var qq=E(VS=>{"use strict";Object.defineProperty(VS,"__esModule",{value:!0});var x0e=require("path"),k0e=sy(),Yq=class{constructor(e={}){this._options=e,this.basePath=this._getValue(this._options.basePath,void 0),this.concurrency=this._getValue(this._options.concurrency,Number.POSITIVE_INFINITY),this.deepFilter=this._getValue(this._options.deepFilter,null),this.entryFilter=this._getValue(this._options.entryFilter,null),this.errorFilter=this._getValue(this._options.errorFilter,null),this.pathSegmentSeparator=this._getValue(this._options.pathSegmentSeparator,x0e.sep),this.fsScandirSettings=new k0e.Settings({followSymbolicLinks:this._options.followSymbolicLinks,fs:this._options.fs,pathSegmentSeparator:this._options.pathSegmentSeparator,stats:this._options.stats,throwErrorOnBrokenSymbolicLink:this._options.throwErrorOnBrokenSymbolicLink})}_getValue(e,r){return e!=null?e:r}};VS.default=Yq});var XS=E(mo=>{"use strict";Object.defineProperty(mo,"__esModule",{value:!0});mo.Settings=mo.walkStream=mo.walkSync=mo.walk=void 0;var Jq=Mq(),P0e=Kq(),D0e=jq(),_S=qq();mo.Settings=_S.default;function R0e(t,e,r){if(typeof e=="function"){new Jq.default(t,ly()).read(e);return}new Jq.default(t,ly(e)).read(r)}mo.walk=R0e;function F0e(t,e){let r=ly(e);return new D0e.default(t,r).read()}mo.walkSync=F0e;function N0e(t,e){let r=ly(e);return new P0e.default(t,r).read()}mo.walkStream=N0e;function ly(t={}){return t instanceof _S.default?t:new _S.default(t)}});var $S=E(ZS=>{"use strict";Object.defineProperty(ZS,"__esModule",{value:!0});var L0e=require("path"),T0e=Tl(),Wq=ga(),zq=class{constructor(e){this._settings=e,this._fsStatSettings=new T0e.Settings({followSymbolicLink:this._settings.followSymbolicLinks,fs:this._settings.fs,throwErrorOnBrokenSymbolicLink:this._settings.followSymbolicLinks})}_getFullEntryPath(e){return L0e.resolve(this._settings.cwd,e)}_makeEntry(e,r){let i={name:r,path:r,dirent:Wq.fs.createDirentFromStats(r,e)};return this._settings.stats&&(i.stats=e),i}_isFatalError(e){return!Wq.errno.isEnoentCodeError(e)&&!this._settings.suppressErrors}};ZS.default=zq});var tx=E(ex=>{"use strict";Object.defineProperty(ex,"__esModule",{value:!0});var M0e=require("stream"),O0e=Tl(),K0e=XS(),U0e=$S(),Vq=class extends U0e.default{constructor(){super(...arguments);this._walkStream=K0e.walkStream,this._stat=O0e.stat}dynamic(e,r){return this._walkStream(e,r)}static(e,r){let i=e.map(this._getFullEntryPath,this),n=new M0e.PassThrough({objectMode:!0});n._write=(s,o,a)=>this._getEntry(i[s],e[s],r).then(l=>{l!==null&&r.entryFilter(l)&&n.push(l),s===i.length-1&&n.end(),a()}).catch(a);for(let s=0;sthis._makeEntry(n,r)).catch(n=>{if(i.errorFilter(n))return null;throw n})}_getStat(e){return new Promise((r,i)=>{this._stat(e,this._fsStatSettings,(n,s)=>n===null?r(s):i(n))})}};ex.default=Vq});var Xq=E(rx=>{"use strict";Object.defineProperty(rx,"__esModule",{value:!0});var Ru=ga(),_q=class{constructor(e,r,i){this._patterns=e,this._settings=r,this._micromatchOptions=i,this._storage=[],this._fillStorage()}_fillStorage(){let e=Ru.pattern.expandPatternsWithBraceExpansion(this._patterns);for(let r of e){let i=this._getPatternSegments(r),n=this._splitSegmentsIntoSections(i);this._storage.push({complete:n.length<=1,pattern:r,segments:i,sections:n})}}_getPatternSegments(e){return Ru.pattern.getPatternParts(e,this._micromatchOptions).map(i=>Ru.pattern.isDynamicPattern(i,this._settings)?{dynamic:!0,pattern:i,patternRe:Ru.pattern.makeRe(i,this._micromatchOptions)}:{dynamic:!1,pattern:i})}_splitSegmentsIntoSections(e){return Ru.array.splitWhen(e,r=>r.dynamic&&Ru.pattern.hasGlobStar(r.pattern))}};rx.default=_q});var $q=E(ix=>{"use strict";Object.defineProperty(ix,"__esModule",{value:!0});var H0e=Xq(),Zq=class extends H0e.default{match(e){let r=e.split("/"),i=r.length,n=this._storage.filter(s=>!s.complete||s.segments.length>i);for(let s of n){let o=s.sections[0];if(!s.complete&&i>o.length||r.every((l,c)=>{let u=s.segments[c];return!!(u.dynamic&&u.patternRe.test(l)||!u.dynamic&&u.pattern===l)}))return!0}return!1}};ix.default=Zq});var tJ=E(nx=>{"use strict";Object.defineProperty(nx,"__esModule",{value:!0});var cy=ga(),G0e=$q(),eJ=class{constructor(e,r){this._settings=e,this._micromatchOptions=r}getFilter(e,r,i){let n=this._getMatcher(r),s=this._getNegativePatternsRe(i);return o=>this._filter(e,o,n,s)}_getMatcher(e){return new G0e.default(e,this._settings,this._micromatchOptions)}_getNegativePatternsRe(e){let r=e.filter(cy.pattern.isAffectDepthOfReadingPattern);return cy.pattern.convertPatternsToRe(r,this._micromatchOptions)}_filter(e,r,i,n){let s=this._getEntryLevel(e,r.path);if(this._isSkippedByDeep(s)||this._isSkippedSymbolicLink(r))return!1;let o=cy.path.removeLeadingDotSegment(r.path);return this._isSkippedByPositivePatterns(o,i)?!1:this._isSkippedByNegativePatterns(o,n)}_isSkippedByDeep(e){return e>=this._settings.deep}_isSkippedSymbolicLink(e){return!this._settings.followSymbolicLinks&&e.dirent.isSymbolicLink()}_getEntryLevel(e,r){let i=e.split("/").length;return r.split("/").length-(e===""?0:i)}_isSkippedByPositivePatterns(e,r){return!this._settings.baseNameMatch&&!r.match(e)}_isSkippedByNegativePatterns(e,r){return!cy.pattern.matchAny(e,r)}};nx.default=eJ});var iJ=E(sx=>{"use strict";Object.defineProperty(sx,"__esModule",{value:!0});var ip=ga(),rJ=class{constructor(e,r){this._settings=e,this._micromatchOptions=r,this.index=new Map}getFilter(e,r){let i=ip.pattern.convertPatternsToRe(e,this._micromatchOptions),n=ip.pattern.convertPatternsToRe(r,this._micromatchOptions);return s=>this._filter(s,i,n)}_filter(e,r,i){if(this._settings.unique){if(this._isDuplicateEntry(e))return!1;this._createIndexRecord(e)}if(this._onlyFileFilter(e)||this._onlyDirectoryFilter(e)||this._isSkippedByAbsoluteNegativePatterns(e,i))return!1;let n=this._settings.baseNameMatch?e.name:e.path;return this._isMatchToPatterns(n,r)&&!this._isMatchToPatterns(e.path,i)}_isDuplicateEntry(e){return this.index.has(e.path)}_createIndexRecord(e){this.index.set(e.path,void 0)}_onlyFileFilter(e){return this._settings.onlyFiles&&!e.dirent.isFile()}_onlyDirectoryFilter(e){return this._settings.onlyDirectories&&!e.dirent.isDirectory()}_isSkippedByAbsoluteNegativePatterns(e,r){if(!this._settings.absolute)return!1;let i=ip.path.makeAbsolute(this._settings.cwd,e.path);return this._isMatchToPatterns(i,r)}_isMatchToPatterns(e,r){let i=ip.path.removeLeadingDotSegment(e);return ip.pattern.matchAny(i,r)}};sx.default=rJ});var sJ=E(ox=>{"use strict";Object.defineProperty(ox,"__esModule",{value:!0});var j0e=ga(),nJ=class{constructor(e){this._settings=e}getFilter(){return e=>this._isNonFatalError(e)}_isNonFatalError(e){return j0e.errno.isEnoentCodeError(e)||this._settings.suppressErrors}};ox.default=nJ});var AJ=E(ax=>{"use strict";Object.defineProperty(ax,"__esModule",{value:!0});var oJ=ga(),aJ=class{constructor(e){this._settings=e}getTransformer(){return e=>this._transform(e)}_transform(e){let r=e.path;return this._settings.absolute&&(r=oJ.path.makeAbsolute(this._settings.cwd,r),r=oJ.path.unixify(r)),this._settings.markDirectories&&e.dirent.isDirectory()&&(r+="/"),this._settings.objectMode?Object.assign(Object.assign({},e),{path:r}):r}};ax.default=aJ});var uy=E(Ax=>{"use strict";Object.defineProperty(Ax,"__esModule",{value:!0});var Y0e=require("path"),q0e=tJ(),J0e=iJ(),W0e=sJ(),z0e=AJ(),lJ=class{constructor(e){this._settings=e,this.errorFilter=new W0e.default(this._settings),this.entryFilter=new J0e.default(this._settings,this._getMicromatchOptions()),this.deepFilter=new q0e.default(this._settings,this._getMicromatchOptions()),this.entryTransformer=new z0e.default(this._settings)}_getRootDirectory(e){return Y0e.resolve(this._settings.cwd,e.base)}_getReaderOptions(e){let r=e.base==="."?"":e.base;return{basePath:r,pathSegmentSeparator:"/",concurrency:this._settings.concurrency,deepFilter:this.deepFilter.getFilter(r,e.positive,e.negative),entryFilter:this.entryFilter.getFilter(e.positive,e.negative),errorFilter:this.errorFilter.getFilter(),followSymbolicLinks:this._settings.followSymbolicLinks,fs:this._settings.fs,stats:this._settings.stats,throwErrorOnBrokenSymbolicLink:this._settings.throwErrorOnBrokenSymbolicLink,transform:this.entryTransformer.getTransformer()}}_getMicromatchOptions(){return{dot:this._settings.dot,matchBase:this._settings.baseNameMatch,nobrace:!this._settings.braceExpansion,nocase:!this._settings.caseSensitiveMatch,noext:!this._settings.extglob,noglobstar:!this._settings.globstar,posix:!0,strictSlashes:!1}}};Ax.default=lJ});var uJ=E(lx=>{"use strict";Object.defineProperty(lx,"__esModule",{value:!0});var V0e=tx(),_0e=uy(),cJ=class extends _0e.default{constructor(){super(...arguments);this._reader=new V0e.default(this._settings)}read(e){let r=this._getRootDirectory(e),i=this._getReaderOptions(e),n=[];return new Promise((s,o)=>{let a=this.api(r,e,i);a.once("error",o),a.on("data",l=>n.push(i.transform(l))),a.once("end",()=>s(n))})}api(e,r,i){return r.dynamic?this._reader.dynamic(e,i):this._reader.static(r.patterns,i)}};lx.default=cJ});var fJ=E(cx=>{"use strict";Object.defineProperty(cx,"__esModule",{value:!0});var X0e=require("stream"),Z0e=tx(),$0e=uy(),gJ=class extends $0e.default{constructor(){super(...arguments);this._reader=new Z0e.default(this._settings)}read(e){let r=this._getRootDirectory(e),i=this._getReaderOptions(e),n=this.api(r,e,i),s=new X0e.Readable({objectMode:!0,read:()=>{}});return n.once("error",o=>s.emit("error",o)).on("data",o=>s.emit("data",i.transform(o))).once("end",()=>s.emit("end")),s.once("close",()=>n.destroy()),s}api(e,r,i){return r.dynamic?this._reader.dynamic(e,i):this._reader.static(r.patterns,i)}};cx.default=gJ});var pJ=E(ux=>{"use strict";Object.defineProperty(ux,"__esModule",{value:!0});var eQe=Tl(),tQe=XS(),rQe=$S(),hJ=class extends rQe.default{constructor(){super(...arguments);this._walkSync=tQe.walkSync,this._statSync=eQe.statSync}dynamic(e,r){return this._walkSync(e,r)}static(e,r){let i=[];for(let n of e){let s=this._getFullEntryPath(n),o=this._getEntry(s,n,r);o===null||!r.entryFilter(o)||i.push(o)}return i}_getEntry(e,r,i){try{let n=this._getStat(e);return this._makeEntry(n,r)}catch(n){if(i.errorFilter(n))return null;throw n}}_getStat(e){return this._statSync(e,this._fsStatSettings)}};ux.default=hJ});var CJ=E(gx=>{"use strict";Object.defineProperty(gx,"__esModule",{value:!0});var iQe=pJ(),nQe=uy(),dJ=class extends nQe.default{constructor(){super(...arguments);this._reader=new iQe.default(this._settings)}read(e){let r=this._getRootDirectory(e),i=this._getReaderOptions(e);return this.api(r,e,i).map(i.transform)}api(e,r,i){return r.dynamic?this._reader.dynamic(e,i):this._reader.static(r.patterns,i)}};gx.default=dJ});var EJ=E(np=>{"use strict";Object.defineProperty(np,"__esModule",{value:!0});var Fu=require("fs"),sQe=require("os"),oQe=sQe.cpus().length;np.DEFAULT_FILE_SYSTEM_ADAPTER={lstat:Fu.lstat,lstatSync:Fu.lstatSync,stat:Fu.stat,statSync:Fu.statSync,readdir:Fu.readdir,readdirSync:Fu.readdirSync};var mJ=class{constructor(e={}){this._options=e,this.absolute=this._getValue(this._options.absolute,!1),this.baseNameMatch=this._getValue(this._options.baseNameMatch,!1),this.braceExpansion=this._getValue(this._options.braceExpansion,!0),this.caseSensitiveMatch=this._getValue(this._options.caseSensitiveMatch,!0),this.concurrency=this._getValue(this._options.concurrency,oQe),this.cwd=this._getValue(this._options.cwd,process.cwd()),this.deep=this._getValue(this._options.deep,Infinity),this.dot=this._getValue(this._options.dot,!1),this.extglob=this._getValue(this._options.extglob,!0),this.followSymbolicLinks=this._getValue(this._options.followSymbolicLinks,!0),this.fs=this._getFileSystemMethods(this._options.fs),this.globstar=this._getValue(this._options.globstar,!0),this.ignore=this._getValue(this._options.ignore,[]),this.markDirectories=this._getValue(this._options.markDirectories,!1),this.objectMode=this._getValue(this._options.objectMode,!1),this.onlyDirectories=this._getValue(this._options.onlyDirectories,!1),this.onlyFiles=this._getValue(this._options.onlyFiles,!0),this.stats=this._getValue(this._options.stats,!1),this.suppressErrors=this._getValue(this._options.suppressErrors,!1),this.throwErrorOnBrokenSymbolicLink=this._getValue(this._options.throwErrorOnBrokenSymbolicLink,!1),this.unique=this._getValue(this._options.unique,!0),this.onlyDirectories&&(this.onlyFiles=!1),this.stats&&(this.objectMode=!0)}_getValue(e,r){return e===void 0?r:e}_getFileSystemMethods(e={}){return Object.assign(Object.assign({},np.DEFAULT_FILE_SYSTEM_ADAPTER),e)}};np.default=mJ});var gy=E((Oit,IJ)=>{"use strict";var yJ=tq(),aQe=uJ(),AQe=fJ(),lQe=CJ(),fx=EJ(),Ml=ga();async function px(t,e){Nu(t);let r=hx(t,aQe.default,e),i=await Promise.all(r);return Ml.array.flatten(i)}(function(t){function e(o,a){Nu(o);let l=hx(o,lQe.default,a);return Ml.array.flatten(l)}t.sync=e;function r(o,a){Nu(o);let l=hx(o,AQe.default,a);return Ml.stream.merge(l)}t.stream=r;function i(o,a){Nu(o);let l=[].concat(o),c=new fx.default(a);return yJ.generate(l,c)}t.generateTasks=i;function n(o,a){Nu(o);let l=new fx.default(a);return Ml.pattern.isDynamicPattern(o,l)}t.isDynamicPattern=n;function s(o){return Nu(o),Ml.path.escape(o)}t.escapePath=s})(px||(px={}));function hx(t,e,r){let i=[].concat(t),n=new fx.default(r),s=yJ.generate(i,n),o=new e(n);return s.map(o.read,o)}function Nu(t){if(![].concat(t).every(i=>Ml.string.isString(i)&&!Ml.string.isEmpty(i)))throw new TypeError("Patterns must be a string (non empty) or an array of strings")}IJ.exports=px});var BJ=E(Ol=>{"use strict";var{promisify:cQe}=require("util"),wJ=require("fs");async function dx(t,e,r){if(typeof r!="string")throw new TypeError(`Expected a string, got ${typeof r}`);try{return(await cQe(wJ[t])(r))[e]()}catch(i){if(i.code==="ENOENT")return!1;throw i}}function Cx(t,e,r){if(typeof r!="string")throw new TypeError(`Expected a string, got ${typeof r}`);try{return wJ[t](r)[e]()}catch(i){if(i.code==="ENOENT")return!1;throw i}}Ol.isFile=dx.bind(null,"stat","isFile");Ol.isDirectory=dx.bind(null,"stat","isDirectory");Ol.isSymlink=dx.bind(null,"lstat","isSymbolicLink");Ol.isFileSync=Cx.bind(null,"statSync","isFile");Ol.isDirectorySync=Cx.bind(null,"statSync","isDirectory");Ol.isSymlinkSync=Cx.bind(null,"lstatSync","isSymbolicLink")});var xJ=E((Uit,mx)=>{"use strict";var Kl=require("path"),QJ=BJ(),bJ=t=>t.length>1?`{${t.join(",")}}`:t[0],vJ=(t,e)=>{let r=t[0]==="!"?t.slice(1):t;return Kl.isAbsolute(r)?r:Kl.join(e,r)},uQe=(t,e)=>Kl.extname(t)?`**/${t}`:`**/${t}.${bJ(e)}`,SJ=(t,e)=>{if(e.files&&!Array.isArray(e.files))throw new TypeError(`Expected \`files\` to be of type \`Array\` but received type \`${typeof e.files}\``);if(e.extensions&&!Array.isArray(e.extensions))throw new TypeError(`Expected \`extensions\` to be of type \`Array\` but received type \`${typeof e.extensions}\``);return e.files&&e.extensions?e.files.map(r=>Kl.posix.join(t,uQe(r,e.extensions))):e.files?e.files.map(r=>Kl.posix.join(t,`**/${r}`)):e.extensions?[Kl.posix.join(t,`**/*.${bJ(e.extensions)}`)]:[Kl.posix.join(t,"**")]};mx.exports=async(t,e)=>{if(e=P({cwd:process.cwd()},e),typeof e.cwd!="string")throw new TypeError(`Expected \`cwd\` to be of type \`string\` but received type \`${typeof e.cwd}\``);let r=await Promise.all([].concat(t).map(async i=>await QJ.isDirectory(vJ(i,e.cwd))?SJ(i,e):i));return[].concat.apply([],r)};mx.exports.sync=(t,e)=>{if(e=P({cwd:process.cwd()},e),typeof e.cwd!="string")throw new TypeError(`Expected \`cwd\` to be of type \`string\` but received type \`${typeof e.cwd}\``);let r=[].concat(t).map(i=>QJ.isDirectorySync(vJ(i,e.cwd))?SJ(i,e):i);return[].concat.apply([],r)}});var TJ=E((Hit,kJ)=>{function PJ(t){return Array.isArray(t)?t:[t]}var gQe=/^\s+$/,fQe=/^\\!/,hQe=/^\\#/,pQe=/\r?\n/g,dQe=/^\.*\/|^\.+$/,Ex="/",DJ=typeof Symbol!="undefined"?Symbol.for("node-ignore"):"node-ignore",CQe=(t,e,r)=>Object.defineProperty(t,e,{value:r}),mQe=/([0-z])-([0-z])/g,EQe=t=>t.replace(mQe,(e,r,i)=>r.charCodeAt(0)<=i.charCodeAt(0)?e:""),IQe=[[/\\?\s+$/,t=>t.indexOf("\\")===0?" ":""],[/\\\s/g,()=>" "],[/[\\^$.|*+(){]/g,t=>`\\${t}`],[/\[([^\]/]*)($|\])/g,(t,e,r)=>r==="]"?`[${EQe(e)}]`:`\\${t}`],[/(?!\\)\?/g,()=>"[^/]"],[/^\//,()=>"^"],[/\//g,()=>"\\/"],[/^\^*\\\*\\\*\\\//,()=>"^(?:.*\\/)?"],[/(?:[^*])$/,t=>/\/$/.test(t)?`${t}$`:`${t}(?=$|\\/$)`],[/^(?=[^^])/,function(){return/\/(?!$)/.test(this)?"^":"(?:^|\\/)"}],[/\\\/\\\*\\\*(?=\\\/|$)/g,(t,e,r)=>e+6`${e}[^\\/]*`],[/(\^|\\\/)?\\\*$/,(t,e)=>`${e?`${e}[^/]+`:"[^/]*"}(?=$|\\/$)`],[/\\\\\\/g,()=>"\\"]],RJ=Object.create(null),yQe=(t,e,r)=>{let i=RJ[t];if(i)return i;let n=IQe.reduce((s,o)=>s.replace(o[0],o[1].bind(t)),t);return RJ[t]=r?new RegExp(n,"i"):new RegExp(n)},Ix=t=>typeof t=="string",wQe=t=>t&&Ix(t)&&!gQe.test(t)&&t.indexOf("#")!==0,BQe=t=>t.split(pQe),FJ=class{constructor(e,r,i,n){this.origin=e,this.pattern=r,this.negative=i,this.regex=n}},QQe=(t,e)=>{let r=t,i=!1;t.indexOf("!")===0&&(i=!0,t=t.substr(1)),t=t.replace(fQe,"!").replace(hQe,"#");let n=yQe(t,i,e);return new FJ(r,t,i,n)},bQe=(t,e)=>{throw new e(t)},ha=(t,e,r)=>Ix(t)?t?ha.isNotRelative(t)?r(`path should be a \`path.relative()\`d string, but got "${e}"`,RangeError):!0:r("path must not be empty",TypeError):r(`path must be a string, but got \`${e}\``,TypeError),NJ=t=>dQe.test(t);ha.isNotRelative=NJ;ha.convert=t=>t;var LJ=class{constructor({ignorecase:e=!0}={}){this._rules=[],this._ignorecase=e,CQe(this,DJ,!0),this._initCache()}_initCache(){this._ignoreCache=Object.create(null),this._testCache=Object.create(null)}_addPattern(e){if(e&&e[DJ]){this._rules=this._rules.concat(e._rules),this._added=!0;return}if(wQe(e)){let r=QQe(e,this._ignorecase);this._added=!0,this._rules.push(r)}}add(e){return this._added=!1,PJ(Ix(e)?BQe(e):e).forEach(this._addPattern,this),this._added&&this._initCache(),this}addPattern(e){return this.add(e)}_testOne(e,r){let i=!1,n=!1;return this._rules.forEach(s=>{let{negative:o}=s;if(n===o&&i!==n||o&&!i&&!n&&!r)return;s.regex.test(e)&&(i=!o,n=o)}),{ignored:i,unignored:n}}_test(e,r,i,n){let s=e&&ha.convert(e);return ha(s,e,bQe),this._t(s,r,i,n)}_t(e,r,i,n){if(e in r)return r[e];if(n||(n=e.split(Ex)),n.pop(),!n.length)return r[e]=this._testOne(e,i);let s=this._t(n.join(Ex)+Ex,r,i,n);return r[e]=s.ignored?s:this._testOne(e,i)}ignores(e){return this._test(e,this._ignoreCache,!1).ignored}createFilter(){return e=>!this.ignores(e)}filter(e){return PJ(e).filter(this.createFilter())}test(e){return this._test(e,this._testCache,!0)}},fy=t=>new LJ(t),vQe=()=>!1,SQe=t=>ha(t&&ha.convert(t),t,vQe);fy.isPathValid=SQe;fy.default=fy;kJ.exports=fy;if(typeof process!="undefined"&&(process.env&&process.env.IGNORE_TEST_WIN32||process.platform==="win32")){let t=r=>/^\\\\\?\\/.test(r)||/["<>|\u0000-\u001F]+/u.test(r)?r:r.replace(/\\/g,"/");ha.convert=t;let e=/^[a-z]:\//i;ha.isNotRelative=r=>e.test(r)||NJ(r)}});var OJ=E((Git,MJ)=>{"use strict";MJ.exports=t=>{let e=/^\\\\\?\\/.test(t),r=/[^\u0000-\u0080]+/.test(t);return e||r?t:t.replace(/\\/g,"/")}});var qJ=E((jit,yx)=>{"use strict";var{promisify:xQe}=require("util"),KJ=require("fs"),pa=require("path"),UJ=gy(),kQe=TJ(),sp=OJ(),HJ=["**/node_modules/**","**/flow-typed/**","**/coverage/**","**/.git"],PQe=xQe(KJ.readFile),DQe=t=>e=>e.startsWith("!")?"!"+pa.posix.join(t,e.slice(1)):pa.posix.join(t,e),RQe=(t,e)=>{let r=sp(pa.relative(e.cwd,pa.dirname(e.fileName)));return t.split(/\r?\n/).filter(Boolean).filter(i=>!i.startsWith("#")).map(DQe(r))},GJ=t=>{let e=kQe();for(let r of t)e.add(RQe(r.content,{cwd:r.cwd,fileName:r.filePath}));return e},FQe=(t,e)=>{if(t=sp(t),pa.isAbsolute(e)){if(sp(e).startsWith(t))return e;throw new Error(`Path ${e} is not in cwd ${t}`)}return pa.join(t,e)},jJ=(t,e)=>r=>t.ignores(sp(pa.relative(e,FQe(e,r.path||r)))),NQe=async(t,e)=>{let r=pa.join(e,t),i=await PQe(r,"utf8");return{cwd:e,filePath:r,content:i}},LQe=(t,e)=>{let r=pa.join(e,t),i=KJ.readFileSync(r,"utf8");return{cwd:e,filePath:r,content:i}},YJ=({ignore:t=[],cwd:e=sp(process.cwd())}={})=>({ignore:t,cwd:e});yx.exports=async t=>{t=YJ(t);let e=await UJ("**/.gitignore",{ignore:HJ.concat(t.ignore),cwd:t.cwd}),r=await Promise.all(e.map(n=>NQe(n,t.cwd))),i=GJ(r);return jJ(i,t.cwd)};yx.exports.sync=t=>{t=YJ(t);let r=UJ.sync("**/.gitignore",{ignore:HJ.concat(t.ignore),cwd:t.cwd}).map(n=>LQe(n,t.cwd)),i=GJ(r);return jJ(i,t.cwd)}});var VJ=E((Yit,JJ)=>{"use strict";var{Transform:TQe}=require("stream"),wx=class extends TQe{constructor(){super({objectMode:!0})}},WJ=class extends wx{constructor(e){super();this._filter=e}_transform(e,r,i){this._filter(e)&&this.push(e),i()}},zJ=class extends wx{constructor(){super();this._pushed=new Set}_transform(e,r,i){this._pushed.has(e)||(this.push(e),this._pushed.add(e)),i()}};JJ.exports={FilterStream:WJ,UniqueStream:zJ}});var vx=E((qit,Ul)=>{"use strict";var _J=require("fs"),hy=QY(),MQe=wS(),py=gy(),dy=xJ(),Bx=qJ(),{FilterStream:OQe,UniqueStream:KQe}=VJ(),XJ=()=>!1,ZJ=t=>t[0]==="!",UQe=t=>{if(!t.every(e=>typeof e=="string"))throw new TypeError("Patterns must be a string or an array of strings")},HQe=(t={})=>{if(!t.cwd)return;let e;try{e=_J.statSync(t.cwd)}catch{return}if(!e.isDirectory())throw new Error("The `cwd` option must be a path to a directory")},GQe=t=>t.stats instanceof _J.Stats?t.path:t,Cy=(t,e)=>{t=hy([].concat(t)),UQe(t),HQe(e);let r=[];e=P({ignore:[],expandDirectories:!0},e);for(let[i,n]of t.entries()){if(ZJ(n))continue;let s=t.slice(i).filter(a=>ZJ(a)).map(a=>a.slice(1)),o=_(P({},e),{ignore:e.ignore.concat(s)});r.push({pattern:n,options:o})}return r},jQe=(t,e)=>{let r={};return t.options.cwd&&(r.cwd=t.options.cwd),Array.isArray(t.options.expandDirectories)?r=_(P({},r),{files:t.options.expandDirectories}):typeof t.options.expandDirectories=="object"&&(r=P(P({},r),t.options.expandDirectories)),e(t.pattern,r)},Qx=(t,e)=>t.options.expandDirectories?jQe(t,e):[t.pattern],$J=t=>t&&t.gitignore?Bx.sync({cwd:t.cwd,ignore:t.ignore}):XJ,bx=t=>e=>{let{options:r}=t;return r.ignore&&Array.isArray(r.ignore)&&r.expandDirectories&&(r.ignore=dy.sync(r.ignore)),{pattern:e,options:r}};Ul.exports=async(t,e)=>{let r=Cy(t,e),i=async()=>e&&e.gitignore?Bx({cwd:e.cwd,ignore:e.ignore}):XJ,n=async()=>{let l=await Promise.all(r.map(async c=>{let u=await Qx(c,dy);return Promise.all(u.map(bx(c)))}));return hy(...l)},[s,o]=await Promise.all([i(),n()]),a=await Promise.all(o.map(l=>py(l.pattern,l.options)));return hy(...a).filter(l=>!s(GQe(l)))};Ul.exports.sync=(t,e)=>{let r=Cy(t,e),i=[];for(let o of r){let a=Qx(o,dy.sync).map(bx(o));i.push(...a)}let n=$J(e),s=[];for(let o of i)s=hy(s,py.sync(o.pattern,o.options));return s.filter(o=>!n(o))};Ul.exports.stream=(t,e)=>{let r=Cy(t,e),i=[];for(let a of r){let l=Qx(a,dy.sync).map(bx(a));i.push(...l)}let n=$J(e),s=new OQe(a=>!n(a)),o=new KQe;return MQe(i.map(a=>py.stream(a.pattern,a.options))).pipe(s).pipe(o)};Ul.exports.generateGlobTasks=Cy;Ul.exports.hasMagic=(t,e)=>[].concat(t).some(r=>py.isDynamicPattern(r,e));Ul.exports.gitignore=Bx});var Ca=E((da,Dy)=>{"use strict";Object.defineProperty(da,"__esModule",{value:!0});var A3=["Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array","BigInt64Array","BigUint64Array"];function ibe(t){return A3.includes(t)}var nbe=["Function","Generator","AsyncGenerator","GeneratorFunction","AsyncGeneratorFunction","AsyncFunction","Observable","Array","Buffer","Object","RegExp","Date","Error","Map","Set","WeakMap","WeakSet","ArrayBuffer","SharedArrayBuffer","DataView","Promise","URL","FormData","URLSearchParams","HTMLElement",...A3];function sbe(t){return nbe.includes(t)}var obe=["null","undefined","string","number","bigint","boolean","symbol"];function abe(t){return obe.includes(t)}function Hu(t){return e=>typeof e===t}var{toString:l3}=Object.prototype,mp=t=>{let e=l3.call(t).slice(8,-1);if(/HTML\w+Element/.test(e)&&j.domElement(t))return"HTMLElement";if(sbe(e))return e},er=t=>e=>mp(e)===t;function j(t){if(t===null)return"null";switch(typeof t){case"undefined":return"undefined";case"string":return"string";case"number":return"number";case"boolean":return"boolean";case"function":return"Function";case"bigint":return"bigint";case"symbol":return"symbol";default:}if(j.observable(t))return"Observable";if(j.array(t))return"Array";if(j.buffer(t))return"Buffer";let e=mp(t);if(e)return e;if(t instanceof String||t instanceof Boolean||t instanceof Number)throw new TypeError("Please don't use object wrappers for primitive types");return"Object"}j.undefined=Hu("undefined");j.string=Hu("string");var Abe=Hu("number");j.number=t=>Abe(t)&&!j.nan(t);j.bigint=Hu("bigint");j.function_=Hu("function");j.null_=t=>t===null;j.class_=t=>j.function_(t)&&t.toString().startsWith("class ");j.boolean=t=>t===!0||t===!1;j.symbol=Hu("symbol");j.numericString=t=>j.string(t)&&!j.emptyStringOrWhitespace(t)&&!Number.isNaN(Number(t));j.array=(t,e)=>Array.isArray(t)?j.function_(e)?t.every(e):!0:!1;j.buffer=t=>{var e,r,i,n;return(n=(i=(r=(e=t)===null||e===void 0?void 0:e.constructor)===null||r===void 0?void 0:r.isBuffer)===null||i===void 0?void 0:i.call(r,t))!==null&&n!==void 0?n:!1};j.nullOrUndefined=t=>j.null_(t)||j.undefined(t);j.object=t=>!j.null_(t)&&(typeof t=="object"||j.function_(t));j.iterable=t=>{var e;return j.function_((e=t)===null||e===void 0?void 0:e[Symbol.iterator])};j.asyncIterable=t=>{var e;return j.function_((e=t)===null||e===void 0?void 0:e[Symbol.asyncIterator])};j.generator=t=>j.iterable(t)&&j.function_(t.next)&&j.function_(t.throw);j.asyncGenerator=t=>j.asyncIterable(t)&&j.function_(t.next)&&j.function_(t.throw);j.nativePromise=t=>er("Promise")(t);var lbe=t=>{var e,r;return j.function_((e=t)===null||e===void 0?void 0:e.then)&&j.function_((r=t)===null||r===void 0?void 0:r.catch)};j.promise=t=>j.nativePromise(t)||lbe(t);j.generatorFunction=er("GeneratorFunction");j.asyncGeneratorFunction=t=>mp(t)==="AsyncGeneratorFunction";j.asyncFunction=t=>mp(t)==="AsyncFunction";j.boundFunction=t=>j.function_(t)&&!t.hasOwnProperty("prototype");j.regExp=er("RegExp");j.date=er("Date");j.error=er("Error");j.map=t=>er("Map")(t);j.set=t=>er("Set")(t);j.weakMap=t=>er("WeakMap")(t);j.weakSet=t=>er("WeakSet")(t);j.int8Array=er("Int8Array");j.uint8Array=er("Uint8Array");j.uint8ClampedArray=er("Uint8ClampedArray");j.int16Array=er("Int16Array");j.uint16Array=er("Uint16Array");j.int32Array=er("Int32Array");j.uint32Array=er("Uint32Array");j.float32Array=er("Float32Array");j.float64Array=er("Float64Array");j.bigInt64Array=er("BigInt64Array");j.bigUint64Array=er("BigUint64Array");j.arrayBuffer=er("ArrayBuffer");j.sharedArrayBuffer=er("SharedArrayBuffer");j.dataView=er("DataView");j.directInstanceOf=(t,e)=>Object.getPrototypeOf(t)===e.prototype;j.urlInstance=t=>er("URL")(t);j.urlString=t=>{if(!j.string(t))return!1;try{return new URL(t),!0}catch(e){return!1}};j.truthy=t=>Boolean(t);j.falsy=t=>!t;j.nan=t=>Number.isNaN(t);j.primitive=t=>j.null_(t)||abe(typeof t);j.integer=t=>Number.isInteger(t);j.safeInteger=t=>Number.isSafeInteger(t);j.plainObject=t=>{if(l3.call(t)!=="[object Object]")return!1;let e=Object.getPrototypeOf(t);return e===null||e===Object.getPrototypeOf({})};j.typedArray=t=>ibe(mp(t));var cbe=t=>j.safeInteger(t)&&t>=0;j.arrayLike=t=>!j.nullOrUndefined(t)&&!j.function_(t)&&cbe(t.length);j.inRange=(t,e)=>{if(j.number(e))return t>=Math.min(0,e)&&t<=Math.max(e,0);if(j.array(e)&&e.length===2)return t>=Math.min(...e)&&t<=Math.max(...e);throw new TypeError(`Invalid range: ${JSON.stringify(e)}`)};var ube=1,gbe=["innerHTML","ownerDocument","style","attributes","nodeValue"];j.domElement=t=>j.object(t)&&t.nodeType===ube&&j.string(t.nodeName)&&!j.plainObject(t)&&gbe.every(e=>e in t);j.observable=t=>{var e,r,i,n;return t?t===((r=(e=t)[Symbol.observable])===null||r===void 0?void 0:r.call(e))||t===((n=(i=t)["@@observable"])===null||n===void 0?void 0:n.call(i)):!1};j.nodeStream=t=>j.object(t)&&j.function_(t.pipe)&&!j.observable(t);j.infinite=t=>t===Infinity||t===-Infinity;var c3=t=>e=>j.integer(e)&&Math.abs(e%2)===t;j.evenInteger=c3(0);j.oddInteger=c3(1);j.emptyArray=t=>j.array(t)&&t.length===0;j.nonEmptyArray=t=>j.array(t)&&t.length>0;j.emptyString=t=>j.string(t)&&t.length===0;j.nonEmptyString=t=>j.string(t)&&t.length>0;var fbe=t=>j.string(t)&&!/\S/.test(t);j.emptyStringOrWhitespace=t=>j.emptyString(t)||fbe(t);j.emptyObject=t=>j.object(t)&&!j.map(t)&&!j.set(t)&&Object.keys(t).length===0;j.nonEmptyObject=t=>j.object(t)&&!j.map(t)&&!j.set(t)&&Object.keys(t).length>0;j.emptySet=t=>j.set(t)&&t.size===0;j.nonEmptySet=t=>j.set(t)&&t.size>0;j.emptyMap=t=>j.map(t)&&t.size===0;j.nonEmptyMap=t=>j.map(t)&&t.size>0;j.propertyKey=t=>j.any([j.string,j.number,j.symbol],t);j.formData=t=>er("FormData")(t);j.urlSearchParams=t=>er("URLSearchParams")(t);var u3=(t,e,r)=>{if(!j.function_(e))throw new TypeError(`Invalid predicate: ${JSON.stringify(e)}`);if(r.length===0)throw new TypeError("Invalid number of values");return t.call(r,e)};j.any=(t,...e)=>(j.array(t)?t:[t]).some(i=>u3(Array.prototype.some,i,e));j.all=(t,...e)=>u3(Array.prototype.every,t,e);var Te=(t,e,r,i={})=>{if(!t){let{multipleValues:n}=i,s=n?`received values of types ${[...new Set(r.map(o=>`\`${j(o)}\``))].join(", ")}`:`received value of type \`${j(r)}\``;throw new TypeError(`Expected value which is \`${e}\`, ${s}.`)}};da.assert={undefined:t=>Te(j.undefined(t),"undefined",t),string:t=>Te(j.string(t),"string",t),number:t=>Te(j.number(t),"number",t),bigint:t=>Te(j.bigint(t),"bigint",t),function_:t=>Te(j.function_(t),"Function",t),null_:t=>Te(j.null_(t),"null",t),class_:t=>Te(j.class_(t),"Class",t),boolean:t=>Te(j.boolean(t),"boolean",t),symbol:t=>Te(j.symbol(t),"symbol",t),numericString:t=>Te(j.numericString(t),"string with a number",t),array:(t,e)=>{Te(j.array(t),"Array",t),e&&t.forEach(e)},buffer:t=>Te(j.buffer(t),"Buffer",t),nullOrUndefined:t=>Te(j.nullOrUndefined(t),"null or undefined",t),object:t=>Te(j.object(t),"Object",t),iterable:t=>Te(j.iterable(t),"Iterable",t),asyncIterable:t=>Te(j.asyncIterable(t),"AsyncIterable",t),generator:t=>Te(j.generator(t),"Generator",t),asyncGenerator:t=>Te(j.asyncGenerator(t),"AsyncGenerator",t),nativePromise:t=>Te(j.nativePromise(t),"native Promise",t),promise:t=>Te(j.promise(t),"Promise",t),generatorFunction:t=>Te(j.generatorFunction(t),"GeneratorFunction",t),asyncGeneratorFunction:t=>Te(j.asyncGeneratorFunction(t),"AsyncGeneratorFunction",t),asyncFunction:t=>Te(j.asyncFunction(t),"AsyncFunction",t),boundFunction:t=>Te(j.boundFunction(t),"Function",t),regExp:t=>Te(j.regExp(t),"RegExp",t),date:t=>Te(j.date(t),"Date",t),error:t=>Te(j.error(t),"Error",t),map:t=>Te(j.map(t),"Map",t),set:t=>Te(j.set(t),"Set",t),weakMap:t=>Te(j.weakMap(t),"WeakMap",t),weakSet:t=>Te(j.weakSet(t),"WeakSet",t),int8Array:t=>Te(j.int8Array(t),"Int8Array",t),uint8Array:t=>Te(j.uint8Array(t),"Uint8Array",t),uint8ClampedArray:t=>Te(j.uint8ClampedArray(t),"Uint8ClampedArray",t),int16Array:t=>Te(j.int16Array(t),"Int16Array",t),uint16Array:t=>Te(j.uint16Array(t),"Uint16Array",t),int32Array:t=>Te(j.int32Array(t),"Int32Array",t),uint32Array:t=>Te(j.uint32Array(t),"Uint32Array",t),float32Array:t=>Te(j.float32Array(t),"Float32Array",t),float64Array:t=>Te(j.float64Array(t),"Float64Array",t),bigInt64Array:t=>Te(j.bigInt64Array(t),"BigInt64Array",t),bigUint64Array:t=>Te(j.bigUint64Array(t),"BigUint64Array",t),arrayBuffer:t=>Te(j.arrayBuffer(t),"ArrayBuffer",t),sharedArrayBuffer:t=>Te(j.sharedArrayBuffer(t),"SharedArrayBuffer",t),dataView:t=>Te(j.dataView(t),"DataView",t),urlInstance:t=>Te(j.urlInstance(t),"URL",t),urlString:t=>Te(j.urlString(t),"string with a URL",t),truthy:t=>Te(j.truthy(t),"truthy",t),falsy:t=>Te(j.falsy(t),"falsy",t),nan:t=>Te(j.nan(t),"NaN",t),primitive:t=>Te(j.primitive(t),"primitive",t),integer:t=>Te(j.integer(t),"integer",t),safeInteger:t=>Te(j.safeInteger(t),"integer",t),plainObject:t=>Te(j.plainObject(t),"plain object",t),typedArray:t=>Te(j.typedArray(t),"TypedArray",t),arrayLike:t=>Te(j.arrayLike(t),"array-like",t),domElement:t=>Te(j.domElement(t),"HTMLElement",t),observable:t=>Te(j.observable(t),"Observable",t),nodeStream:t=>Te(j.nodeStream(t),"Node.js Stream",t),infinite:t=>Te(j.infinite(t),"infinite number",t),emptyArray:t=>Te(j.emptyArray(t),"empty array",t),nonEmptyArray:t=>Te(j.nonEmptyArray(t),"non-empty array",t),emptyString:t=>Te(j.emptyString(t),"empty string",t),nonEmptyString:t=>Te(j.nonEmptyString(t),"non-empty string",t),emptyStringOrWhitespace:t=>Te(j.emptyStringOrWhitespace(t),"empty string or whitespace",t),emptyObject:t=>Te(j.emptyObject(t),"empty object",t),nonEmptyObject:t=>Te(j.nonEmptyObject(t),"non-empty object",t),emptySet:t=>Te(j.emptySet(t),"empty set",t),nonEmptySet:t=>Te(j.nonEmptySet(t),"non-empty set",t),emptyMap:t=>Te(j.emptyMap(t),"empty map",t),nonEmptyMap:t=>Te(j.nonEmptyMap(t),"non-empty map",t),propertyKey:t=>Te(j.propertyKey(t),"PropertyKey",t),formData:t=>Te(j.formData(t),"FormData",t),urlSearchParams:t=>Te(j.urlSearchParams(t),"URLSearchParams",t),evenInteger:t=>Te(j.evenInteger(t),"even integer",t),oddInteger:t=>Te(j.oddInteger(t),"odd integer",t),directInstanceOf:(t,e)=>Te(j.directInstanceOf(t,e),"T",t),inRange:(t,e)=>Te(j.inRange(t,e),"in range",t),any:(t,...e)=>Te(j.any(t,...e),"predicate returns truthy for any value",e,{multipleValues:!0}),all:(t,...e)=>Te(j.all(t,...e),"predicate returns truthy for all values",e,{multipleValues:!0})};Object.defineProperties(j,{class:{value:j.class_},function:{value:j.function_},null:{value:j.null_}});Object.defineProperties(da.assert,{class:{value:da.assert.class_},function:{value:da.assert.function_},null:{value:da.assert.null_}});da.default=j;Dy.exports=j;Dy.exports.default=j;Dy.exports.assert=da.assert});var g3=E((gnt,Ux)=>{"use strict";var Hx=class extends Error{constructor(e){super(e||"Promise was canceled");this.name="CancelError"}get isCanceled(){return!0}},Ep=class{static fn(e){return(...r)=>new Ep((i,n,s)=>{r.push(s),e(...r).then(i,n)})}constructor(e){this._cancelHandlers=[],this._isPending=!0,this._isCanceled=!1,this._rejectOnCancel=!0,this._promise=new Promise((r,i)=>{this._reject=i;let n=a=>{this._isPending=!1,r(a)},s=a=>{this._isPending=!1,i(a)},o=a=>{if(!this._isPending)throw new Error("The `onCancel` handler was attached after the promise settled.");this._cancelHandlers.push(a)};return Object.defineProperties(o,{shouldReject:{get:()=>this._rejectOnCancel,set:a=>{this._rejectOnCancel=a}}}),e(n,s,o)})}then(e,r){return this._promise.then(e,r)}catch(e){return this._promise.catch(e)}finally(e){return this._promise.finally(e)}cancel(e){if(!(!this._isPending||this._isCanceled)){if(this._cancelHandlers.length>0)try{for(let r of this._cancelHandlers)r()}catch(r){this._reject(r)}this._isCanceled=!0,this._rejectOnCancel&&this._reject(new Hx(e))}}get isCanceled(){return this._isCanceled}};Object.setPrototypeOf(Ep.prototype,Promise.prototype);Ux.exports=Ep;Ux.exports.CancelError=Hx});var f3=E((Gx,jx)=>{"use strict";Object.defineProperty(Gx,"__esModule",{value:!0});var hbe=require("tls"),Yx=(t,e)=>{let r;typeof e=="function"?r={connect:e}:r=e;let i=typeof r.connect=="function",n=typeof r.secureConnect=="function",s=typeof r.close=="function",o=()=>{i&&r.connect(),t instanceof hbe.TLSSocket&&n&&(t.authorized?r.secureConnect():t.authorizationError||t.once("secureConnect",r.secureConnect)),s&&t.once("close",r.close)};t.writable&&!t.connecting?o():t.connecting?t.once("connect",o):t.destroyed&&s&&r.close(t._hadError)};Gx.default=Yx;jx.exports=Yx;jx.exports.default=Yx});var h3=E((qx,Jx)=>{"use strict";Object.defineProperty(qx,"__esModule",{value:!0});var pbe=f3(),dbe=Number(process.versions.node.split(".")[0]),Wx=t=>{let e={start:Date.now(),socket:void 0,lookup:void 0,connect:void 0,secureConnect:void 0,upload:void 0,response:void 0,end:void 0,error:void 0,abort:void 0,phases:{wait:void 0,dns:void 0,tcp:void 0,tls:void 0,request:void 0,firstByte:void 0,download:void 0,total:void 0}};t.timings=e;let r=o=>{let a=o.emit.bind(o);o.emit=(l,...c)=>(l==="error"&&(e.error=Date.now(),e.phases.total=e.error-e.start,o.emit=a),a(l,...c))};r(t),t.prependOnceListener("abort",()=>{e.abort=Date.now(),(!e.response||dbe>=13)&&(e.phases.total=Date.now()-e.start)});let i=o=>{e.socket=Date.now(),e.phases.wait=e.socket-e.start;let a=()=>{e.lookup=Date.now(),e.phases.dns=e.lookup-e.socket};o.prependOnceListener("lookup",a),pbe.default(o,{connect:()=>{e.connect=Date.now(),e.lookup===void 0&&(o.removeListener("lookup",a),e.lookup=e.connect,e.phases.dns=e.lookup-e.socket),e.phases.tcp=e.connect-e.lookup},secureConnect:()=>{e.secureConnect=Date.now(),e.phases.tls=e.secureConnect-e.connect}})};t.socket?i(t.socket):t.prependOnceListener("socket",i);let n=()=>{var o;e.upload=Date.now(),e.phases.request=e.upload-(o=e.secureConnect,o!=null?o:e.connect)};return(()=>typeof t.writableFinished=="boolean"?t.writableFinished:t.finished&&t.outputSize===0&&(!t.socket||t.socket.writableLength===0))()?n():t.prependOnceListener("finish",n),t.prependOnceListener("response",o=>{e.response=Date.now(),e.phases.firstByte=e.response-e.upload,o.timings=e,r(o),o.prependOnceListener("end",()=>{e.end=Date.now(),e.phases.download=e.end-e.response,e.phases.total=e.end-e.start})}),e};qx.default=Wx;Jx.exports=Wx;Jx.exports.default=Wx});var y3=E((fnt,zx)=>{"use strict";var{V4MAPPED:Cbe,ADDRCONFIG:mbe,ALL:p3,promises:{Resolver:d3},lookup:Ebe}=require("dns"),{promisify:Vx}=require("util"),Ibe=require("os"),Gu=Symbol("cacheableLookupCreateConnection"),_x=Symbol("cacheableLookupInstance"),C3=Symbol("expires"),ybe=typeof p3=="number",m3=t=>{if(!(t&&typeof t.createConnection=="function"))throw new Error("Expected an Agent instance as the first argument")},wbe=t=>{for(let e of t)e.family!==6&&(e.address=`::ffff:${e.address}`,e.family=6)},E3=()=>{let t=!1,e=!1;for(let r of Object.values(Ibe.networkInterfaces()))for(let i of r)if(!i.internal&&(i.family==="IPv6"?e=!0:t=!0,t&&e))return{has4:t,has6:e};return{has4:t,has6:e}},Bbe=t=>Symbol.iterator in t,I3={ttl:!0},Qbe={all:!0},Xx=class{constructor({cache:e=new Map,maxTtl:r=Infinity,fallbackDuration:i=3600,errorTtl:n=.15,resolver:s=new d3,lookup:o=Ebe}={}){if(this.maxTtl=r,this.errorTtl=n,this._cache=e,this._resolver=s,this._dnsLookup=Vx(o),this._resolver instanceof d3?(this._resolve4=this._resolver.resolve4.bind(this._resolver),this._resolve6=this._resolver.resolve6.bind(this._resolver)):(this._resolve4=Vx(this._resolver.resolve4.bind(this._resolver)),this._resolve6=Vx(this._resolver.resolve6.bind(this._resolver))),this._iface=E3(),this._pending={},this._nextRemovalTime=!1,this._hostnamesToFallback=new Set,i<1)this._fallback=!1;else{this._fallback=!0;let a=setInterval(()=>{this._hostnamesToFallback.clear()},i*1e3);a.unref&&a.unref()}this.lookup=this.lookup.bind(this),this.lookupAsync=this.lookupAsync.bind(this)}set servers(e){this.clear(),this._resolver.setServers(e)}get servers(){return this._resolver.getServers()}lookup(e,r,i){if(typeof r=="function"?(i=r,r={}):typeof r=="number"&&(r={family:r}),!i)throw new Error("Callback must be a function.");this.lookupAsync(e,r).then(n=>{r.all?i(null,n):i(null,n.address,n.family,n.expires,n.ttl)},i)}async lookupAsync(e,r={}){typeof r=="number"&&(r={family:r});let i=await this.query(e);if(r.family===6){let n=i.filter(s=>s.family===6);r.hints&Cbe&&(ybe&&r.hints&p3||n.length===0)?wbe(i):i=n}else r.family===4&&(i=i.filter(n=>n.family===4));if(r.hints&mbe){let{_iface:n}=this;i=i.filter(s=>s.family===6?n.has6:n.has4)}if(i.length===0){let n=new Error(`cacheableLookup ENOTFOUND ${e}`);throw n.code="ENOTFOUND",n.hostname=e,n}return r.all?i:i[0]}async query(e){let r=await this._cache.get(e);if(!r){let i=this._pending[e];if(i)r=await i;else{let n=this.queryAndCache(e);this._pending[e]=n,r=await n}}return r=r.map(i=>P({},i)),r}async _resolve(e){let r=async c=>{try{return await c}catch(u){if(u.code==="ENODATA"||u.code==="ENOTFOUND")return[];throw u}},[i,n]=await Promise.all([this._resolve4(e,I3),this._resolve6(e,I3)].map(c=>r(c))),s=0,o=0,a=0,l=Date.now();for(let c of i)c.family=4,c.expires=l+c.ttl*1e3,s=Math.max(s,c.ttl);for(let c of n)c.family=6,c.expires=l+c.ttl*1e3,o=Math.max(o,c.ttl);return i.length>0?n.length>0?a=Math.min(s,o):a=s:a=o,{entries:[...i,...n],cacheTtl:a}}async _lookup(e){try{return{entries:await this._dnsLookup(e,{all:!0}),cacheTtl:0}}catch(r){return{entries:[],cacheTtl:0}}}async _set(e,r,i){if(this.maxTtl>0&&i>0){i=Math.min(i,this.maxTtl)*1e3,r[C3]=Date.now()+i;try{await this._cache.set(e,r,i)}catch(n){this.lookupAsync=async()=>{let s=new Error("Cache Error. Please recreate the CacheableLookup instance.");throw s.cause=n,s}}Bbe(this._cache)&&this._tick(i)}}async queryAndCache(e){if(this._hostnamesToFallback.has(e))return this._dnsLookup(e,Qbe);try{let r=await this._resolve(e);r.entries.length===0&&this._fallback&&(r=await this._lookup(e),r.entries.length!==0&&this._hostnamesToFallback.add(e));let i=r.entries.length===0?this.errorTtl:r.cacheTtl;return await this._set(e,r.entries,i),delete this._pending[e],r.entries}catch(r){throw delete this._pending[e],r}}_tick(e){let r=this._nextRemovalTime;(!r||e{this._nextRemovalTime=!1;let i=Infinity,n=Date.now();for(let[s,o]of this._cache){let a=o[C3];n>=a?this._cache.delete(s):a("lookup"in r||(r.lookup=this.lookup),e[Gu](r,i))}uninstall(e){if(m3(e),e[Gu]){if(e[_x]!==this)throw new Error("The agent is not owned by this CacheableLookup instance");e.createConnection=e[Gu],delete e[Gu],delete e[_x]}}updateInterfaceInfo(){let{_iface:e}=this;this._iface=E3(),(e.has4&&!this._iface.has4||e.has6&&!this._iface.has6)&&this._cache.clear()}clear(e){if(e){this._cache.delete(e);return}this._cache.clear()}};zx.exports=Xx;zx.exports.default=Xx});var Q3=E((hnt,Zx)=>{"use strict";var bbe=typeof URL=="undefined"?require("url").URL:URL,vbe="text/plain",Sbe="us-ascii",w3=(t,e)=>e.some(r=>r instanceof RegExp?r.test(t):r===t),xbe=(t,{stripHash:e})=>{let r=t.match(/^data:([^,]*?),([^#]*?)(?:#(.*))?$/);if(!r)throw new Error(`Invalid URL: ${t}`);let i=r[1].split(";"),n=r[2],s=e?"":r[3],o=!1;i[i.length-1]==="base64"&&(i.pop(),o=!0);let a=(i.shift()||"").toLowerCase(),c=[...i.map(u=>{let[g,f=""]=u.split("=").map(h=>h.trim());return g==="charset"&&(f=f.toLowerCase(),f===Sbe)?"":`${g}${f?`=${f}`:""}`}).filter(Boolean)];return o&&c.push("base64"),(c.length!==0||a&&a!==vbe)&&c.unshift(a),`data:${c.join(";")},${o?n.trim():n}${s?`#${s}`:""}`},B3=(t,e)=>{if(e=P({defaultProtocol:"http:",normalizeProtocol:!0,forceHttp:!1,forceHttps:!1,stripAuthentication:!0,stripHash:!1,stripWWW:!0,removeQueryParameters:[/^utm_\w+/i],removeTrailingSlash:!0,removeDirectoryIndex:!1,sortQueryParameters:!0},e),Reflect.has(e,"normalizeHttps"))throw new Error("options.normalizeHttps is renamed to options.forceHttp");if(Reflect.has(e,"normalizeHttp"))throw new Error("options.normalizeHttp is renamed to options.forceHttps");if(Reflect.has(e,"stripFragment"))throw new Error("options.stripFragment is renamed to options.stripHash");if(t=t.trim(),/^data:/i.test(t))return xbe(t,e);let r=t.startsWith("//");!r&&/^\.*\//.test(t)||(t=t.replace(/^(?!(?:\w+:)?\/\/)|^\/\//,e.defaultProtocol));let n=new bbe(t);if(e.forceHttp&&e.forceHttps)throw new Error("The `forceHttp` and `forceHttps` options cannot be used together");if(e.forceHttp&&n.protocol==="https:"&&(n.protocol="http:"),e.forceHttps&&n.protocol==="http:"&&(n.protocol="https:"),e.stripAuthentication&&(n.username="",n.password=""),e.stripHash&&(n.hash=""),n.pathname&&(n.pathname=n.pathname.replace(/((?!:).|^)\/{2,}/g,(s,o)=>/^(?!\/)/g.test(o)?`${o}/`:"/")),n.pathname&&(n.pathname=decodeURI(n.pathname)),e.removeDirectoryIndex===!0&&(e.removeDirectoryIndex=[/^index\.[a-z]+$/]),Array.isArray(e.removeDirectoryIndex)&&e.removeDirectoryIndex.length>0){let s=n.pathname.split("/"),o=s[s.length-1];w3(o,e.removeDirectoryIndex)&&(s=s.slice(0,s.length-1),n.pathname=s.slice(1).join("/")+"/")}if(n.hostname&&(n.hostname=n.hostname.replace(/\.$/,""),e.stripWWW&&/^www\.([a-z\-\d]{2,63})\.([a-z.]{2,5})$/.test(n.hostname)&&(n.hostname=n.hostname.replace(/^www\./,""))),Array.isArray(e.removeQueryParameters))for(let s of[...n.searchParams.keys()])w3(s,e.removeQueryParameters)&&n.searchParams.delete(s);return e.sortQueryParameters&&n.searchParams.sort(),e.removeTrailingSlash&&(n.pathname=n.pathname.replace(/\/$/,"")),t=n.toString(),(e.removeTrailingSlash||n.pathname==="/")&&n.hash===""&&(t=t.replace(/\/$/,"")),r&&!e.normalizeProtocol&&(t=t.replace(/^http:\/\//,"//")),e.stripProtocol&&(t=t.replace(/^(?:https?:)?\/\//,"")),t};Zx.exports=B3;Zx.exports.default=B3});var S3=E((pnt,b3)=>{b3.exports=v3;function v3(t,e){if(t&&e)return v3(t)(e);if(typeof t!="function")throw new TypeError("need wrapper function");return Object.keys(t).forEach(function(i){r[i]=t[i]}),r;function r(){for(var i=new Array(arguments.length),n=0;n{var x3=S3();$x.exports=x3(Ry);$x.exports.strict=x3(k3);Ry.proto=Ry(function(){Object.defineProperty(Function.prototype,"once",{value:function(){return Ry(this)},configurable:!0}),Object.defineProperty(Function.prototype,"onceStrict",{value:function(){return k3(this)},configurable:!0})});function Ry(t){var e=function(){return e.called?e.value:(e.called=!0,e.value=t.apply(this,arguments))};return e.called=!1,e}function k3(t){var e=function(){if(e.called)throw new Error(e.onceError);return e.called=!0,e.value=t.apply(this,arguments)},r=t.name||"Function wrapped with `once`";return e.onceError=r+" shouldn't be called more than once",e.called=!1,e}});var tk=E((Cnt,P3)=>{var kbe=ek(),Pbe=function(){},Dbe=function(t){return t.setHeader&&typeof t.abort=="function"},Rbe=function(t){return t.stdio&&Array.isArray(t.stdio)&&t.stdio.length===3},D3=function(t,e,r){if(typeof e=="function")return D3(t,null,e);e||(e={}),r=kbe(r||Pbe);var i=t._writableState,n=t._readableState,s=e.readable||e.readable!==!1&&t.readable,o=e.writable||e.writable!==!1&&t.writable,a=function(){t.writable||l()},l=function(){o=!1,s||r.call(t)},c=function(){s=!1,o||r.call(t)},u=function(p){r.call(t,p?new Error("exited with error code: "+p):null)},g=function(p){r.call(t,p)},f=function(){if(s&&!(n&&n.ended))return r.call(t,new Error("premature close"));if(o&&!(i&&i.ended))return r.call(t,new Error("premature close"))},h=function(){t.req.on("finish",l)};return Dbe(t)?(t.on("complete",l),t.on("abort",f),t.req?h():t.on("request",h)):o&&!i&&(t.on("end",a),t.on("close",a)),Rbe(t)&&t.on("exit",u),t.on("end",c),t.on("finish",l),e.error!==!1&&t.on("error",g),t.on("close",f),function(){t.removeListener("complete",l),t.removeListener("abort",f),t.removeListener("request",h),t.req&&t.req.removeListener("finish",l),t.removeListener("end",a),t.removeListener("close",a),t.removeListener("finish",l),t.removeListener("exit",u),t.removeListener("end",c),t.removeListener("error",g),t.removeListener("close",f)}};P3.exports=D3});var N3=E((mnt,R3)=>{var Fbe=ek(),Nbe=tk(),rk=require("fs"),Ip=function(){},Lbe=/^v?\.0/.test(process.version),Fy=function(t){return typeof t=="function"},Tbe=function(t){return!Lbe||!rk?!1:(t instanceof(rk.ReadStream||Ip)||t instanceof(rk.WriteStream||Ip))&&Fy(t.close)},Mbe=function(t){return t.setHeader&&Fy(t.abort)},Obe=function(t,e,r,i){i=Fbe(i);var n=!1;t.on("close",function(){n=!0}),Nbe(t,{readable:e,writable:r},function(o){if(o)return i(o);n=!0,i()});var s=!1;return function(o){if(!n&&!s){if(s=!0,Tbe(t))return t.close(Ip);if(Mbe(t))return t.abort();if(Fy(t.destroy))return t.destroy();i(o||new Error("stream was destroyed"))}}},F3=function(t){t()},Kbe=function(t,e){return t.pipe(e)},Ube=function(){var t=Array.prototype.slice.call(arguments),e=Fy(t[t.length-1]||Ip)&&t.pop()||Ip;if(Array.isArray(t[0])&&(t=t[0]),t.length<2)throw new Error("pump requires two streams per minimum");var r,i=t.map(function(n,s){var o=s0;return Obe(n,o,a,function(l){r||(r=l),l&&i.forEach(F3),!o&&(i.forEach(F3),e(r))})});return t.reduce(Kbe)};R3.exports=Ube});var T3=E((Ent,L3)=>{"use strict";var{PassThrough:Hbe}=require("stream");L3.exports=t=>{t=P({},t);let{array:e}=t,{encoding:r}=t,i=r==="buffer",n=!1;e?n=!(r||i):r=r||"utf8",i&&(r=null);let s=new Hbe({objectMode:n});r&&s.setEncoding(r);let o=0,a=[];return s.on("data",l=>{a.push(l),n?o=a.length:o+=l.length}),s.getBufferedValue=()=>e?a:i?Buffer.concat(a,o):a.join(""),s.getBufferedLength=()=>o,s}});var M3=E((Int,ju)=>{"use strict";var Gbe=N3(),jbe=T3(),ik=class extends Error{constructor(){super("maxBuffer exceeded");this.name="MaxBufferError"}};async function Ny(t,e){if(!t)return Promise.reject(new Error("Expected a stream"));e=P({maxBuffer:Infinity},e);let{maxBuffer:r}=e,i;return await new Promise((n,s)=>{let o=a=>{a&&(a.bufferedData=i.getBufferedValue()),s(a)};i=Gbe(t,jbe(e),a=>{if(a){o(a);return}n()}),i.on("data",()=>{i.getBufferedLength()>r&&o(new ik)})}),i.getBufferedValue()}ju.exports=Ny;ju.exports.default=Ny;ju.exports.buffer=(t,e)=>Ny(t,_(P({},e),{encoding:"buffer"}));ju.exports.array=(t,e)=>Ny(t,_(P({},e),{array:!0}));ju.exports.MaxBufferError=ik});var K3=E((wnt,O3)=>{"use strict";var Ybe=[200,203,204,206,300,301,404,405,410,414,501],qbe=[200,203,204,300,301,302,303,307,308,404,405,410,414,501],Jbe={date:!0,connection:!0,"keep-alive":!0,"proxy-authenticate":!0,"proxy-authorization":!0,te:!0,trailer:!0,"transfer-encoding":!0,upgrade:!0},Wbe={"content-length":!0,"content-encoding":!0,"transfer-encoding":!0,"content-range":!0};function nk(t){let e={};if(!t)return e;let r=t.trim().split(/\s*,\s*/);for(let i of r){let[n,s]=i.split(/\s*=\s*/,2);e[n]=s===void 0?!0:s.replace(/^"|"$/g,"")}return e}function zbe(t){let e=[];for(let r in t){let i=t[r];e.push(i===!0?r:r+"="+i)}if(!!e.length)return e.join(", ")}O3.exports=class{constructor(e,r,{shared:i,cacheHeuristic:n,immutableMinTimeToLive:s,ignoreCargoCult:o,trustServerDate:a,_fromObject:l}={}){if(l){this._fromObject(l);return}if(!r||!r.headers)throw Error("Response headers missing");this._assertRequestHasHeaders(e),this._responseTime=this.now(),this._isShared=i!==!1,this._trustServerDate=a!==void 0?a:!0,this._cacheHeuristic=n!==void 0?n:.1,this._immutableMinTtl=s!==void 0?s:24*3600*1e3,this._status="status"in r?r.status:200,this._resHeaders=r.headers,this._rescc=nk(r.headers["cache-control"]),this._method="method"in e?e.method:"GET",this._url=e.url,this._host=e.headers.host,this._noAuthorization=!e.headers.authorization,this._reqHeaders=r.headers.vary?e.headers:null,this._reqcc=nk(e.headers["cache-control"]),o&&"pre-check"in this._rescc&&"post-check"in this._rescc&&(delete this._rescc["pre-check"],delete this._rescc["post-check"],delete this._rescc["no-cache"],delete this._rescc["no-store"],delete this._rescc["must-revalidate"],this._resHeaders=Object.assign({},this._resHeaders,{"cache-control":zbe(this._rescc)}),delete this._resHeaders.expires,delete this._resHeaders.pragma),!r.headers["cache-control"]&&/no-cache/.test(r.headers.pragma)&&(this._rescc["no-cache"]=!0)}now(){return Date.now()}storable(){return!!(!this._reqcc["no-store"]&&(this._method==="GET"||this._method==="HEAD"||this._method==="POST"&&this._hasExplicitExpiration())&&qbe.indexOf(this._status)!==-1&&!this._rescc["no-store"]&&(!this._isShared||!this._rescc.private)&&(!this._isShared||this._noAuthorization||this._allowsStoringAuthenticated())&&(this._resHeaders.expires||this._rescc.public||this._rescc["max-age"]||this._rescc["s-maxage"]||Ybe.indexOf(this._status)!==-1))}_hasExplicitExpiration(){return this._isShared&&this._rescc["s-maxage"]||this._rescc["max-age"]||this._resHeaders.expires}_assertRequestHasHeaders(e){if(!e||!e.headers)throw Error("Request headers missing")}satisfiesWithoutRevalidation(e){this._assertRequestHasHeaders(e);let r=nk(e.headers["cache-control"]);return r["no-cache"]||/no-cache/.test(e.headers.pragma)||r["max-age"]&&this.age()>r["max-age"]||r["min-fresh"]&&this.timeToLive()<1e3*r["min-fresh"]||this.stale()&&!(r["max-stale"]&&!this._rescc["must-revalidate"]&&(r["max-stale"]===!0||r["max-stale"]>this.age()-this.maxAge()))?!1:this._requestMatches(e,!1)}_requestMatches(e,r){return(!this._url||this._url===e.url)&&this._host===e.headers.host&&(!e.method||this._method===e.method||r&&e.method==="HEAD")&&this._varyMatches(e)}_allowsStoringAuthenticated(){return this._rescc["must-revalidate"]||this._rescc.public||this._rescc["s-maxage"]}_varyMatches(e){if(!this._resHeaders.vary)return!0;if(this._resHeaders.vary==="*")return!1;let r=this._resHeaders.vary.trim().toLowerCase().split(/\s*,\s*/);for(let i of r)if(e.headers[i]!==this._reqHeaders[i])return!1;return!0}_copyWithoutHopByHopHeaders(e){let r={};for(let i in e)Jbe[i]||(r[i]=e[i]);if(e.connection){let i=e.connection.trim().split(/\s*,\s*/);for(let n of i)delete r[n]}if(r.warning){let i=r.warning.split(/,/).filter(n=>!/^\s*1[0-9][0-9]/.test(n));i.length?r.warning=i.join(",").trim():delete r.warning}return r}responseHeaders(){let e=this._copyWithoutHopByHopHeaders(this._resHeaders),r=this.age();return r>3600*24&&!this._hasExplicitExpiration()&&this.maxAge()>3600*24&&(e.warning=(e.warning?`${e.warning}, `:"")+'113 - "rfc7234 5.5.4"'),e.age=`${Math.round(r)}`,e.date=new Date(this.now()).toUTCString(),e}date(){return this._trustServerDate?this._serverDate():this._responseTime}_serverDate(){let e=Date.parse(this._resHeaders.date);if(isFinite(e)){let r=8*3600*1e3;if(Math.abs(this._responseTime-e)e&&(e=i)}let r=(this.now()-this._responseTime)/1e3;return e+r}_ageValue(){let e=parseInt(this._resHeaders.age);return isFinite(e)?e:0}maxAge(){if(!this.storable()||this._rescc["no-cache"]||this._isShared&&this._resHeaders["set-cookie"]&&!this._rescc.public&&!this._rescc.immutable||this._resHeaders.vary==="*")return 0;if(this._isShared){if(this._rescc["proxy-revalidate"])return 0;if(this._rescc["s-maxage"])return parseInt(this._rescc["s-maxage"],10)}if(this._rescc["max-age"])return parseInt(this._rescc["max-age"],10);let e=this._rescc.immutable?this._immutableMinTtl:0,r=this._serverDate();if(this._resHeaders.expires){let i=Date.parse(this._resHeaders.expires);return Number.isNaN(i)||ii)return Math.max(e,(r-i)/1e3*this._cacheHeuristic)}return e}timeToLive(){return Math.max(0,this.maxAge()-this.age())*1e3}stale(){return this.maxAge()<=this.age()}static fromObject(e){return new this(void 0,void 0,{_fromObject:e})}_fromObject(e){if(this._responseTime)throw Error("Reinitialized");if(!e||e.v!==1)throw Error("Invalid serialization");this._responseTime=e.t,this._isShared=e.sh,this._cacheHeuristic=e.ch,this._immutableMinTtl=e.imm!==void 0?e.imm:24*3600*1e3,this._status=e.st,this._resHeaders=e.resh,this._rescc=e.rescc,this._method=e.m,this._url=e.u,this._host=e.h,this._noAuthorization=e.a,this._reqHeaders=e.reqh,this._reqcc=e.reqcc}toObject(){return{v:1,t:this._responseTime,sh:this._isShared,ch:this._cacheHeuristic,imm:this._immutableMinTtl,st:this._status,resh:this._resHeaders,rescc:this._rescc,m:this._method,u:this._url,h:this._host,a:this._noAuthorization,reqh:this._reqHeaders,reqcc:this._reqcc}}revalidationHeaders(e){this._assertRequestHasHeaders(e);let r=this._copyWithoutHopByHopHeaders(e.headers);if(delete r["if-range"],!this._requestMatches(e,!0)||!this.storable())return delete r["if-none-match"],delete r["if-modified-since"],r;if(this._resHeaders.etag&&(r["if-none-match"]=r["if-none-match"]?`${r["if-none-match"]}, ${this._resHeaders.etag}`:this._resHeaders.etag),r["accept-ranges"]||r["if-match"]||r["if-unmodified-since"]||this._method&&this._method!="GET"){if(delete r["if-modified-since"],r["if-none-match"]){let n=r["if-none-match"].split(/,/).filter(s=>!/^\s*W\//.test(s));n.length?r["if-none-match"]=n.join(",").trim():delete r["if-none-match"]}}else this._resHeaders["last-modified"]&&!r["if-modified-since"]&&(r["if-modified-since"]=this._resHeaders["last-modified"]);return r}revalidatedPolicy(e,r){if(this._assertRequestHasHeaders(e),!r||!r.headers)throw Error("Response headers missing");let i=!1;if(r.status!==void 0&&r.status!=304?i=!1:r.headers.etag&&!/^\s*W\//.test(r.headers.etag)?i=this._resHeaders.etag&&this._resHeaders.etag.replace(/^\s*W\//,"")===r.headers.etag:this._resHeaders.etag&&r.headers.etag?i=this._resHeaders.etag.replace(/^\s*W\//,"")===r.headers.etag.replace(/^\s*W\//,""):this._resHeaders["last-modified"]?i=this._resHeaders["last-modified"]===r.headers["last-modified"]:!this._resHeaders.etag&&!this._resHeaders["last-modified"]&&!r.headers.etag&&!r.headers["last-modified"]&&(i=!0),!i)return{policy:new this.constructor(e,r),modified:r.status!=304,matches:!1};let n={};for(let o in this._resHeaders)n[o]=o in r.headers&&!Wbe[o]?r.headers[o]:this._resHeaders[o];let s=Object.assign({},r,{status:this._status,method:this._method,headers:n});return{policy:new this.constructor(e,s,{shared:this._isShared,cacheHeuristic:this._cacheHeuristic,immutableMinTimeToLive:this._immutableMinTtl,trustServerDate:this._trustServerDate}),modified:!1,matches:!0}}}});var Ly=E((Bnt,U3)=>{"use strict";U3.exports=t=>{let e={};for(let[r,i]of Object.entries(t))e[r.toLowerCase()]=i;return e}});var j3=E((Qnt,H3)=>{"use strict";var Vbe=require("stream").Readable,_be=Ly(),G3=class extends Vbe{constructor(e,r,i,n){if(typeof e!="number")throw new TypeError("Argument `statusCode` should be a number");if(typeof r!="object")throw new TypeError("Argument `headers` should be an object");if(!(i instanceof Buffer))throw new TypeError("Argument `body` should be a buffer");if(typeof n!="string")throw new TypeError("Argument `url` should be a string");super();this.statusCode=e,this.headers=_be(r),this.body=i,this.url=n}_read(){this.push(this.body),this.push(null)}};H3.exports=G3});var q3=E((bnt,Y3)=>{"use strict";var Xbe=["destroy","setTimeout","socket","headers","trailers","rawHeaders","statusCode","httpVersion","httpVersionMinor","httpVersionMajor","rawTrailers","statusMessage"];Y3.exports=(t,e)=>{let r=new Set(Object.keys(t).concat(Xbe));for(let i of r)i in e||(e[i]=typeof t[i]=="function"?t[i].bind(t):t[i])}});var W3=E((vnt,J3)=>{"use strict";var Zbe=require("stream").PassThrough,$be=q3(),eve=t=>{if(!(t&&t.pipe))throw new TypeError("Parameter `response` must be a response stream.");let e=new Zbe;return $be(t,e),t.pipe(e)};J3.exports=eve});var z3=E(sk=>{sk.stringify=function t(e){if(typeof e=="undefined")return e;if(e&&Buffer.isBuffer(e))return JSON.stringify(":base64:"+e.toString("base64"));if(e&&e.toJSON&&(e=e.toJSON()),e&&typeof e=="object"){var r="",i=Array.isArray(e);r=i?"[":"{";var n=!0;for(var s in e){var o=typeof e[s]=="function"||!i&&typeof e[s]=="undefined";Object.hasOwnProperty.call(e,s)&&!o&&(n||(r+=","),n=!1,i?e[s]==null?r+="null":r+=t(e[s]):e[s]!==void 0&&(r+=t(s)+":"+t(e[s])))}return r+=i?"]":"}",r}else return typeof e=="string"?JSON.stringify(/^:/.test(e)?":"+e:e):typeof e=="undefined"?"null":JSON.stringify(e)};sk.parse=function(t){return JSON.parse(t,function(e,r){return typeof r=="string"?/^:base64:/.test(r)?Buffer.from(r.substring(8),"base64"):/^:/.test(r)?r.substring(1):r:r})}});var Z3=E((xnt,V3)=>{"use strict";var tve=require("events"),_3=z3(),rve=t=>{let e={redis:"@keyv/redis",mongodb:"@keyv/mongo",mongo:"@keyv/mongo",sqlite:"@keyv/sqlite",postgresql:"@keyv/postgres",postgres:"@keyv/postgres",mysql:"@keyv/mysql"};if(t.adapter||t.uri){let r=t.adapter||/^[^:]*/.exec(t.uri)[0];return new(require(e[r]))(t)}return new Map},X3=class extends tve{constructor(e,r){super();if(this.opts=Object.assign({namespace:"keyv",serialize:_3.stringify,deserialize:_3.parse},typeof e=="string"?{uri:e}:e,r),!this.opts.store){let i=Object.assign({},this.opts);this.opts.store=rve(i)}typeof this.opts.store.on=="function"&&this.opts.store.on("error",i=>this.emit("error",i)),this.opts.store.namespace=this.opts.namespace}_getKeyPrefix(e){return`${this.opts.namespace}:${e}`}get(e,r){e=this._getKeyPrefix(e);let{store:i}=this.opts;return Promise.resolve().then(()=>i.get(e)).then(n=>typeof n=="string"?this.opts.deserialize(n):n).then(n=>{if(n!==void 0){if(typeof n.expires=="number"&&Date.now()>n.expires){this.delete(e);return}return r&&r.raw?n:n.value}})}set(e,r,i){e=this._getKeyPrefix(e),typeof i=="undefined"&&(i=this.opts.ttl),i===0&&(i=void 0);let{store:n}=this.opts;return Promise.resolve().then(()=>{let s=typeof i=="number"?Date.now()+i:null;return r={value:r,expires:s},this.opts.serialize(r)}).then(s=>n.set(e,s,i)).then(()=>!0)}delete(e){e=this._getKeyPrefix(e);let{store:r}=this.opts;return Promise.resolve().then(()=>r.delete(e))}clear(){let{store:e}=this.opts;return Promise.resolve().then(()=>e.clear())}};V3.exports=X3});var tW=E((knt,$3)=>{"use strict";var ive=require("events"),Ty=require("url"),nve=Q3(),sve=M3(),ok=K3(),eW=j3(),ove=Ly(),ave=W3(),Ave=Z3(),yo=class{constructor(e,r){if(typeof e!="function")throw new TypeError("Parameter `request` must be a function");return this.cache=new Ave({uri:typeof r=="string"&&r,store:typeof r!="string"&&r,namespace:"cacheable-request"}),this.createCacheableRequest(e)}createCacheableRequest(e){return(r,i)=>{let n;if(typeof r=="string")n=ak(Ty.parse(r)),r={};else if(r instanceof Ty.URL)n=ak(Ty.parse(r.toString())),r={};else{let[g,...f]=(r.path||"").split("?"),h=f.length>0?`?${f.join("?")}`:"";n=ak(_(P({},r),{pathname:g,search:h}))}r=P(P({headers:{},method:"GET",cache:!0,strictTtl:!1,automaticFailover:!1},r),lve(n)),r.headers=ove(r.headers);let s=new ive,o=nve(Ty.format(n),{stripWWW:!1,removeTrailingSlash:!1,stripAuthentication:!1}),a=`${r.method}:${o}`,l=!1,c=!1,u=g=>{c=!0;let f=!1,h,p=new Promise(m=>{h=()=>{f||(f=!0,m())}}),d=m=>{if(l&&!g.forceRefresh){m.status=m.statusCode;let B=ok.fromObject(l.cachePolicy).revalidatedPolicy(g,m);if(!B.modified){let b=B.policy.responseHeaders();m=new eW(l.statusCode,b,l.body,l.url),m.cachePolicy=B.policy,m.fromCache=!0}}m.fromCache||(m.cachePolicy=new ok(g,m,g),m.fromCache=!1);let I;g.cache&&m.cachePolicy.storable()?(I=ave(m),(async()=>{try{let B=sve.buffer(m);if(await Promise.race([p,new Promise(L=>m.once("end",L))]),f)return;let b=await B,R={cachePolicy:m.cachePolicy.toObject(),url:m.url,statusCode:m.fromCache?l.statusCode:m.statusCode,body:b},H=g.strictTtl?m.cachePolicy.timeToLive():void 0;g.maxTtl&&(H=H?Math.min(H,g.maxTtl):g.maxTtl),await this.cache.set(a,R,H)}catch(B){s.emit("error",new yo.CacheError(B))}})()):g.cache&&l&&(async()=>{try{await this.cache.delete(a)}catch(B){s.emit("error",new yo.CacheError(B))}})(),s.emit("response",I||m),typeof i=="function"&&i(I||m)};try{let m=e(g,d);m.once("error",h),m.once("abort",h),s.emit("request",m)}catch(m){s.emit("error",new yo.RequestError(m))}};return(async()=>{let g=async h=>{await Promise.resolve();let p=h.cache?await this.cache.get(a):void 0;if(typeof p=="undefined")return u(h);let d=ok.fromObject(p.cachePolicy);if(d.satisfiesWithoutRevalidation(h)&&!h.forceRefresh){let m=d.responseHeaders(),I=new eW(p.statusCode,m,p.body,p.url);I.cachePolicy=d,I.fromCache=!0,s.emit("response",I),typeof i=="function"&&i(I)}else l=p,h.headers=d.revalidationHeaders(h),u(h)},f=h=>s.emit("error",new yo.CacheError(h));this.cache.once("error",f),s.on("response",()=>this.cache.removeListener("error",f));try{await g(r)}catch(h){r.automaticFailover&&!c&&u(r),s.emit("error",new yo.CacheError(h))}})(),s}}};function lve(t){let e=P({},t);return e.path=`${t.pathname||"/"}${t.search||""}`,delete e.pathname,delete e.search,e}function ak(t){return{protocol:t.protocol,auth:t.auth,hostname:t.hostname||t.host||"localhost",port:t.port,pathname:t.pathname,search:t.search}}yo.RequestError=class extends Error{constructor(t){super(t.message);this.name="RequestError",Object.assign(this,t)}};yo.CacheError=class extends Error{constructor(t){super(t.message);this.name="CacheError",Object.assign(this,t)}};$3.exports=yo});var iW=E((Pnt,rW)=>{"use strict";var cve=["aborted","complete","headers","httpVersion","httpVersionMinor","httpVersionMajor","method","rawHeaders","rawTrailers","setTimeout","socket","statusCode","statusMessage","trailers","url"];rW.exports=(t,e)=>{if(e._readableState.autoDestroy)throw new Error("The second stream must have the `autoDestroy` option set to `false`");let r=new Set(Object.keys(t).concat(cve)),i={};for(let n of r)n in e||(i[n]={get(){let s=t[n];return typeof s=="function"?s.bind(t):s},set(s){t[n]=s},enumerable:!0,configurable:!1});return Object.defineProperties(e,i),t.once("aborted",()=>{e.destroy(),e.emit("aborted")}),t.once("close",()=>{t.complete&&e.readable?e.once("end",()=>{e.emit("close")}):e.emit("close")}),e}});var sW=E((Dnt,nW)=>{"use strict";var{Transform:uve,PassThrough:gve}=require("stream"),Ak=require("zlib"),fve=iW();nW.exports=t=>{let e=(t.headers["content-encoding"]||"").toLowerCase();if(!["gzip","deflate","br"].includes(e))return t;let r=e==="br";if(r&&typeof Ak.createBrotliDecompress!="function")return t.destroy(new Error("Brotli is not supported on Node.js < 12")),t;let i=!0,n=new uve({transform(a,l,c){i=!1,c(null,a)},flush(a){a()}}),s=new gve({autoDestroy:!1,destroy(a,l){t.destroy(),l(a)}}),o=r?Ak.createBrotliDecompress():Ak.createUnzip();return o.once("error",a=>{if(i&&!t.readable){s.end();return}s.destroy(a)}),fve(t,s),t.pipe(n).pipe(o).pipe(s),s}});var lk=E((Rnt,oW)=>{"use strict";var aW=class{constructor(e={}){if(!(e.maxSize&&e.maxSize>0))throw new TypeError("`maxSize` must be a number greater than 0");this.maxSize=e.maxSize,this.onEviction=e.onEviction,this.cache=new Map,this.oldCache=new Map,this._size=0}_set(e,r){if(this.cache.set(e,r),this._size++,this._size>=this.maxSize){if(this._size=0,typeof this.onEviction=="function")for(let[i,n]of this.oldCache.entries())this.onEviction(i,n);this.oldCache=this.cache,this.cache=new Map}}get(e){if(this.cache.has(e))return this.cache.get(e);if(this.oldCache.has(e)){let r=this.oldCache.get(e);return this.oldCache.delete(e),this._set(e,r),r}}set(e,r){return this.cache.has(e)?this.cache.set(e,r):this._set(e,r),this}has(e){return this.cache.has(e)||this.oldCache.has(e)}peek(e){if(this.cache.has(e))return this.cache.get(e);if(this.oldCache.has(e))return this.oldCache.get(e)}delete(e){let r=this.cache.delete(e);return r&&this._size--,this.oldCache.delete(e)||r}clear(){this.cache.clear(),this.oldCache.clear(),this._size=0}*keys(){for(let[e]of this)yield e}*values(){for(let[,e]of this)yield e}*[Symbol.iterator](){for(let e of this.cache)yield e;for(let e of this.oldCache){let[r]=e;this.cache.has(r)||(yield e)}}get size(){let e=0;for(let r of this.oldCache.keys())this.cache.has(r)||e++;return Math.min(this._size+e,this.maxSize)}};oW.exports=aW});var uk=E((Fnt,AW)=>{"use strict";var hve=require("events"),pve=require("tls"),dve=require("http2"),Cve=lk(),_i=Symbol("currentStreamsCount"),lW=Symbol("request"),ns=Symbol("cachedOriginSet"),Yu=Symbol("gracefullyClosing"),mve=["maxDeflateDynamicTableSize","maxSessionMemory","maxHeaderListPairs","maxOutstandingPings","maxReservedRemoteStreams","maxSendHeaderBlockLength","paddingStrategy","localAddress","path","rejectUnauthorized","minDHSize","ca","cert","clientCertEngine","ciphers","key","pfx","servername","minVersion","maxVersion","secureProtocol","crl","honorCipherOrder","ecdhCurve","dhparam","secureOptions","sessionIdContext"],Eve=(t,e,r)=>{let i=0,n=t.length;for(;i>>1;r(t[s],e)?i=s+1:n=s}return i},Ive=(t,e)=>t.remoteSettings.maxConcurrentStreams>e.remoteSettings.maxConcurrentStreams,ck=(t,e)=>{for(let r of t)r[ns].lengthe[ns].includes(i))&&r[_i]+e[_i]<=e.remoteSettings.maxConcurrentStreams&&cW(r)},yve=(t,e)=>{for(let r of t)e[ns].lengthr[ns].includes(i))&&e[_i]+r[_i]<=r.remoteSettings.maxConcurrentStreams&&cW(e)},uW=({agent:t,isFree:e})=>{let r={};for(let i in t.sessions){let s=t.sessions[i].filter(o=>{let a=o[ma.kCurrentStreamsCount]{t[Yu]=!0,t[_i]===0&&t.close()},ma=class extends hve{constructor({timeout:e=6e4,maxSessions:r=Infinity,maxFreeSessions:i=10,maxCachedTlsSessions:n=100}={}){super();this.sessions={},this.queue={},this.timeout=e,this.maxSessions=r,this.maxFreeSessions=i,this._freeSessionsCount=0,this._sessionsCount=0,this.settings={enablePush:!1},this.tlsSessionCache=new Cve({maxSize:n})}static normalizeOrigin(e,r){return typeof e=="string"&&(e=new URL(e)),r&&e.hostname!==r&&(e.hostname=r),e.origin}normalizeOptions(e){let r="";if(e)for(let i of mve)e[i]&&(r+=`:${e[i]}`);return r}_tryToCreateNewSession(e,r){if(!(e in this.queue)||!(r in this.queue[e]))return;let i=this.queue[e][r];this._sessionsCount{Array.isArray(i)?(i=[...i],n()):i=[{resolve:n,reject:s}];let o=this.normalizeOptions(r),a=ma.normalizeOrigin(e,r&&r.servername);if(a===void 0){for(let{reject:u}of i)u(new TypeError("The `origin` argument needs to be a string or an URL object"));return}if(o in this.sessions){let u=this.sessions[o],g=-1,f=-1,h;for(let p of u){let d=p.remoteSettings.maxConcurrentStreams;if(d=d||p[Yu]||p.destroyed)continue;h||(g=d),m>f&&(h=p,f=m)}}if(h){if(i.length!==1){for(let{reject:p}of i){let d=new Error(`Expected the length of listeners to be 1, got ${i.length}. +Please report this to https://github.com/szmarczak/http2-wrapper/`);p(d)}return}i[0].resolve(h);return}}if(o in this.queue){if(a in this.queue[o]){this.queue[o][a].listeners.push(...i),this._tryToCreateNewSession(o,a);return}}else this.queue[o]={};let l=()=>{o in this.queue&&this.queue[o][a]===c&&(delete this.queue[o][a],Object.keys(this.queue[o]).length===0&&delete this.queue[o])},c=()=>{let u=`${a}:${o}`,g=!1;try{let f=dve.connect(e,P({createConnection:this.createConnection,settings:this.settings,session:this.tlsSessionCache.get(u)},r));f[_i]=0,f[Yu]=!1;let h=()=>f[_i]{this.tlsSessionCache.set(u,m)}),f.once("error",m=>{for(let{reject:I}of i)I(m);this.tlsSessionCache.delete(u)}),f.setTimeout(this.timeout,()=>{f.destroy()}),f.once("close",()=>{if(g){p&&this._freeSessionsCount--,this._sessionsCount--;let m=this.sessions[o];m.splice(m.indexOf(f),1),m.length===0&&delete this.sessions[o]}else{let m=new Error("Session closed without receiving a SETTINGS frame");m.code="HTTP2WRAPPER_NOSETTINGS";for(let{reject:I}of i)I(m);l()}this._tryToCreateNewSession(o,a)});let d=()=>{if(!(!(o in this.queue)||!h())){for(let m of f[ns])if(m in this.queue[o]){let{listeners:I}=this.queue[o][m];for(;I.length!==0&&h();)I.shift().resolve(f);let B=this.queue[o];if(B[m].listeners.length===0&&(delete B[m],Object.keys(B).length===0)){delete this.queue[o];break}if(!h())break}}};f.on("origin",()=>{f[ns]=f.originSet,!!h()&&(d(),ck(this.sessions[o],f))}),f.once("remoteSettings",()=>{if(f.ref(),f.unref(),this._sessionsCount++,c.destroyed){let m=new Error("Agent has been destroyed");for(let I of i)I.reject(m);f.destroy();return}f[ns]=f.originSet;{let m=this.sessions;if(o in m){let I=m[o];I.splice(Eve(I,f,Ive),0,f)}else m[o]=[f]}this._freeSessionsCount+=1,g=!0,this.emit("session",f),d(),l(),f[_i]===0&&this._freeSessionsCount>this.maxFreeSessions&&f.close(),i.length!==0&&(this.getSession(a,r,i),i.length=0),f.on("remoteSettings",()=>{d(),ck(this.sessions[o],f)})}),f[lW]=f.request,f.request=(m,I)=>{if(f[Yu])throw new Error("The session is gracefully closing. No new streams are allowed.");let B=f[lW](m,I);return f.ref(),++f[_i],f[_i]===f.remoteSettings.maxConcurrentStreams&&this._freeSessionsCount--,B.once("close",()=>{if(p=h(),--f[_i],!f.destroyed&&!f.closed&&(yve(this.sessions[o],f),h()&&!f.closed)){p||(this._freeSessionsCount++,p=!0);let b=f[_i]===0;b&&f.unref(),b&&(this._freeSessionsCount>this.maxFreeSessions||f[Yu])?f.close():(ck(this.sessions[o],f),d())}}),B}}catch(f){for(let h of i)h.reject(f);l()}};c.listeners=i,c.completed=!1,c.destroyed=!1,this.queue[o][a]=c,this._tryToCreateNewSession(o,a)})}request(e,r,i,n){return new Promise((s,o)=>{this.getSession(e,r,[{reject:o,resolve:a=>{try{s(a.request(i,n))}catch(l){o(l)}}}])})}createConnection(e,r){return ma.connect(e,r)}static connect(e,r){r.ALPNProtocols=["h2"];let i=e.port||443,n=e.hostname||e.host;return typeof r.servername=="undefined"&&(r.servername=n),pve.connect(i,n,r)}closeFreeSessions(){for(let e of Object.values(this.sessions))for(let r of e)r[_i]===0&&r.close()}destroy(e){for(let r of Object.values(this.sessions))for(let i of r)i.destroy(e);for(let r of Object.values(this.queue))for(let i of Object.values(r))i.destroyed=!0;this.queue={}}get freeSessions(){return uW({agent:this,isFree:!0})}get busySessions(){return uW({agent:this,isFree:!1})}};ma.kCurrentStreamsCount=_i;ma.kGracefullyClosing=Yu;AW.exports={Agent:ma,globalAgent:new ma}});var gk=E((Nnt,gW)=>{"use strict";var{Readable:wve}=require("stream"),fW=class extends wve{constructor(e,r){super({highWaterMark:r,autoDestroy:!1});this.statusCode=null,this.statusMessage="",this.httpVersion="2.0",this.httpVersionMajor=2,this.httpVersionMinor=0,this.headers={},this.trailers={},this.req=null,this.aborted=!1,this.complete=!1,this.upgrade=null,this.rawHeaders=[],this.rawTrailers=[],this.socket=e,this.connection=e,this._dumped=!1}_destroy(e){this.req._request.destroy(e)}setTimeout(e,r){return this.req.setTimeout(e,r),this}_dump(){this._dumped||(this._dumped=!0,this.removeAllListeners("data"),this.resume())}_read(){this.req&&this.req._request.resume()}};gW.exports=fW});var fk=E((Lnt,hW)=>{"use strict";hW.exports=t=>{let e={protocol:t.protocol,hostname:typeof t.hostname=="string"&&t.hostname.startsWith("[")?t.hostname.slice(1,-1):t.hostname,host:t.host,hash:t.hash,search:t.search,pathname:t.pathname,href:t.href,path:`${t.pathname||""}${t.search||""}`};return typeof t.port=="string"&&t.port.length!==0&&(e.port=Number(t.port)),(t.username||t.password)&&(e.auth=`${t.username||""}:${t.password||""}`),e}});var dW=E((Tnt,pW)=>{"use strict";pW.exports=(t,e,r)=>{for(let i of r)t.on(i,(...n)=>e.emit(i,...n))}});var mW=E((Mnt,CW)=>{"use strict";CW.exports=t=>{switch(t){case":method":case":scheme":case":authority":case":path":return!0;default:return!1}}});var IW=E((Knt,EW)=>{"use strict";var qu=(t,e,r)=>{EW.exports[e]=class extends t{constructor(...n){super(typeof r=="string"?r:r(n));this.name=`${super.name} [${e}]`,this.code=e}}};qu(TypeError,"ERR_INVALID_ARG_TYPE",t=>{let e=t[0].includes(".")?"property":"argument",r=t[1],i=Array.isArray(r);return i&&(r=`${r.slice(0,-1).join(", ")} or ${r.slice(-1)}`),`The "${t[0]}" ${e} must be ${i?"one of":"of"} type ${r}. Received ${typeof t[2]}`});qu(TypeError,"ERR_INVALID_PROTOCOL",t=>`Protocol "${t[0]}" not supported. Expected "${t[1]}"`);qu(Error,"ERR_HTTP_HEADERS_SENT",t=>`Cannot ${t[0]} headers after they are sent to the client`);qu(TypeError,"ERR_INVALID_HTTP_TOKEN",t=>`${t[0]} must be a valid HTTP token [${t[1]}]`);qu(TypeError,"ERR_HTTP_INVALID_HEADER_VALUE",t=>`Invalid value "${t[0]} for header "${t[1]}"`);qu(TypeError,"ERR_INVALID_CHAR",t=>`Invalid character in ${t[0]} [${t[1]}]`)});var Ck=E((Unt,yW)=>{"use strict";var Bve=require("http2"),{Writable:Qve}=require("stream"),{Agent:wW,globalAgent:bve}=uk(),vve=gk(),Sve=fk(),xve=dW(),kve=mW(),{ERR_INVALID_ARG_TYPE:hk,ERR_INVALID_PROTOCOL:Pve,ERR_HTTP_HEADERS_SENT:BW,ERR_INVALID_HTTP_TOKEN:Dve,ERR_HTTP_INVALID_HEADER_VALUE:Rve,ERR_INVALID_CHAR:Fve}=IW(),{HTTP2_HEADER_STATUS:QW,HTTP2_HEADER_METHOD:bW,HTTP2_HEADER_PATH:vW,HTTP2_METHOD_CONNECT:Nve}=Bve.constants,Pi=Symbol("headers"),pk=Symbol("origin"),dk=Symbol("session"),SW=Symbol("options"),My=Symbol("flushedHeaders"),yp=Symbol("jobs"),Lve=/^[\^`\-\w!#$%&*+.|~]+$/,Tve=/[^\t\u0020-\u007E\u0080-\u00FF]/,xW=class extends Qve{constructor(e,r,i){super({autoDestroy:!1});let n=typeof e=="string"||e instanceof URL;if(n&&(e=Sve(e instanceof URL?e:new URL(e))),typeof r=="function"||r===void 0?(i=r,r=n?e:P({},e)):r=P(P({},e),r),r.h2session)this[dk]=r.h2session;else if(r.agent===!1)this.agent=new wW({maxFreeSessions:0});else if(typeof r.agent=="undefined"||r.agent===null)typeof r.createConnection=="function"?(this.agent=new wW({maxFreeSessions:0}),this.agent.createConnection=r.createConnection):this.agent=bve;else if(typeof r.agent.request=="function")this.agent=r.agent;else throw new hk("options.agent",["Agent-like Object","undefined","false"],r.agent);if(r.protocol&&r.protocol!=="https:")throw new Pve(r.protocol,"https:");let s=r.port||r.defaultPort||this.agent&&this.agent.defaultPort||443,o=r.hostname||r.host||"localhost";delete r.hostname,delete r.host,delete r.port;let{timeout:a}=r;if(r.timeout=void 0,this[Pi]=Object.create(null),this[yp]=[],this.socket=null,this.connection=null,this.method=r.method||"GET",this.path=r.path,this.res=null,this.aborted=!1,this.reusedSocket=!1,r.headers)for(let[l,c]of Object.entries(r.headers))this.setHeader(l,c);r.auth&&!("authorization"in this[Pi])&&(this[Pi].authorization="Basic "+Buffer.from(r.auth).toString("base64")),r.session=r.tlsSession,r.path=r.socketPath,this[SW]=r,s===443?(this[pk]=`https://${o}`,":authority"in this[Pi]||(this[Pi][":authority"]=o)):(this[pk]=`https://${o}:${s}`,":authority"in this[Pi]||(this[Pi][":authority"]=`${o}:${s}`)),a&&this.setTimeout(a),i&&this.once("response",i),this[My]=!1}get method(){return this[Pi][bW]}set method(e){e&&(this[Pi][bW]=e.toUpperCase())}get path(){return this[Pi][vW]}set path(e){e&&(this[Pi][vW]=e)}get _mustNotHaveABody(){return this.method==="GET"||this.method==="HEAD"||this.method==="DELETE"}_write(e,r,i){if(this._mustNotHaveABody){i(new Error("The GET, HEAD and DELETE methods must NOT have a body"));return}this.flushHeaders();let n=()=>this._request.write(e,r,i);this._request?n():this[yp].push(n)}_final(e){if(this.destroyed)return;this.flushHeaders();let r=()=>{if(this._mustNotHaveABody){e();return}this._request.end(e)};this._request?r():this[yp].push(r)}abort(){this.res&&this.res.complete||(this.aborted||process.nextTick(()=>this.emit("abort")),this.aborted=!0,this.destroy())}_destroy(e,r){this.res&&this.res._dump(),this._request&&this._request.destroy(),r(e)}async flushHeaders(){if(this[My]||this.destroyed)return;this[My]=!0;let e=this.method===Nve,r=i=>{if(this._request=i,this.destroyed){i.destroy();return}e||xve(i,this,["timeout","continue","close","error"]);let n=o=>(...a)=>{!this.writable&&!this.destroyed?o(...a):this.once("finish",()=>{o(...a)})};i.once("response",n((o,a,l)=>{let c=new vve(this.socket,i.readableHighWaterMark);this.res=c,c.req=this,c.statusCode=o[QW],c.headers=o,c.rawHeaders=l,c.once("end",()=>{this.aborted?(c.aborted=!0,c.emit("aborted")):(c.complete=!0,c.socket=null,c.connection=null)}),e?(c.upgrade=!0,this.emit("connect",c,i,Buffer.alloc(0))?this.emit("close"):i.destroy()):(i.on("data",u=>{!c._dumped&&!c.push(u)&&i.pause()}),i.once("end",()=>{c.push(null)}),this.emit("response",c)||c._dump())})),i.once("headers",n(o=>this.emit("information",{statusCode:o[QW]}))),i.once("trailers",n((o,a,l)=>{let{res:c}=this;c.trailers=o,c.rawTrailers=l}));let{socket:s}=i.session;this.socket=s,this.connection=s;for(let o of this[yp])o();this.emit("socket",this.socket)};if(this[dk])try{r(this[dk].request(this[Pi]))}catch(i){this.emit("error",i)}else{this.reusedSocket=!0;try{r(await this.agent.request(this[pk],this[SW],this[Pi]))}catch(i){this.emit("error",i)}}}getHeader(e){if(typeof e!="string")throw new hk("name","string",e);return this[Pi][e.toLowerCase()]}get headersSent(){return this[My]}removeHeader(e){if(typeof e!="string")throw new hk("name","string",e);if(this.headersSent)throw new BW("remove");delete this[Pi][e.toLowerCase()]}setHeader(e,r){if(this.headersSent)throw new BW("set");if(typeof e!="string"||!Lve.test(e)&&!kve(e))throw new Dve("Header name",e);if(typeof r=="undefined")throw new Rve(r,e);if(Tve.test(r))throw new Fve("header content",e);this[Pi][e.toLowerCase()]=r}setNoDelay(){}setSocketKeepAlive(){}setTimeout(e,r){let i=()=>this._request.setTimeout(e,r);return this._request?i():this[yp].push(i),this}get maxHeadersCount(){if(!this.destroyed&&this._request)return this._request.session.localSettings.maxHeaderListSize}set maxHeadersCount(e){}};yW.exports=xW});var PW=E((Hnt,kW)=>{"use strict";var Mve=require("tls");kW.exports=(t={})=>new Promise((e,r)=>{let i=Mve.connect(t,()=>{t.resolveSocket?(i.off("error",r),e({alpnProtocol:i.alpnProtocol,socket:i})):(i.destroy(),e({alpnProtocol:i.alpnProtocol}))});i.on("error",r)})});var RW=E((Gnt,DW)=>{"use strict";var Ove=require("net");DW.exports=t=>{let e=t.host,r=t.headers&&t.headers.host;return r&&(r.startsWith("[")?r.indexOf("]")===-1?e=r:e=r.slice(1,-1):e=r.split(":",1)[0]),Ove.isIP(e)?"":e}});var LW=E((jnt,mk)=>{"use strict";var FW=require("http"),Ek=require("https"),Kve=PW(),Uve=lk(),Hve=Ck(),Gve=RW(),jve=fk(),Oy=new Uve({maxSize:100}),wp=new Map,NW=(t,e,r)=>{e._httpMessage={shouldKeepAlive:!0};let i=()=>{t.emit("free",e,r)};e.on("free",i);let n=()=>{t.removeSocket(e,r)};e.on("close",n);let s=()=>{t.removeSocket(e,r),e.off("close",n),e.off("free",i),e.off("agentRemove",s)};e.on("agentRemove",s),t.emit("free",e,r)},Yve=async t=>{let e=`${t.host}:${t.port}:${t.ALPNProtocols.sort()}`;if(!Oy.has(e)){if(wp.has(e))return(await wp.get(e)).alpnProtocol;let{path:r,agent:i}=t;t.path=t.socketPath;let n=Kve(t);wp.set(e,n);try{let{socket:s,alpnProtocol:o}=await n;if(Oy.set(e,o),t.path=r,o==="h2")s.destroy();else{let{globalAgent:a}=Ek,l=Ek.Agent.prototype.createConnection;i?i.createConnection===l?NW(i,s,t):s.destroy():a.createConnection===l?NW(a,s,t):s.destroy()}return wp.delete(e),o}catch(s){throw wp.delete(e),s}}return Oy.get(e)};mk.exports=async(t,e,r)=>{if((typeof t=="string"||t instanceof URL)&&(t=jve(new URL(t))),typeof e=="function"&&(r=e,e=void 0),e=_(P(P({ALPNProtocols:["h2","http/1.1"]},t),e),{resolveSocket:!0}),!Array.isArray(e.ALPNProtocols)||e.ALPNProtocols.length===0)throw new Error("The `ALPNProtocols` option must be an Array with at least one entry");e.protocol=e.protocol||"https:";let i=e.protocol==="https:";e.host=e.hostname||e.host||"localhost",e.session=e.tlsSession,e.servername=e.servername||Gve(e),e.port=e.port||(i?443:80),e._defaultAgent=i?Ek.globalAgent:FW.globalAgent;let n=e.agent;if(n){if(n.addRequest)throw new Error("The `options.agent` object can contain only `http`, `https` or `http2` properties");e.agent=n[i?"https":"http"]}return i&&await Yve(e)==="h2"?(n&&(e.agent=n.http2),new Hve(e,r)):FW.request(e,r)};mk.exports.protocolCache=Oy});var MW=E((Ynt,TW)=>{"use strict";var qve=require("http2"),Jve=uk(),Ik=Ck(),Wve=gk(),zve=LW(),Vve=(t,e,r)=>new Ik(t,e,r),_ve=(t,e,r)=>{let i=new Ik(t,e,r);return i.end(),i};TW.exports=_(P(_(P({},qve),{ClientRequest:Ik,IncomingMessage:Wve}),Jve),{request:Vve,get:_ve,auto:zve})});var wk=E(yk=>{"use strict";Object.defineProperty(yk,"__esModule",{value:!0});var OW=Ca();yk.default=t=>OW.default.nodeStream(t)&&OW.default.function_(t.getBoundary)});var GW=E(Bk=>{"use strict";Object.defineProperty(Bk,"__esModule",{value:!0});var KW=require("fs"),UW=require("util"),HW=Ca(),Xve=wk(),Zve=UW.promisify(KW.stat);Bk.default=async(t,e)=>{if(e&&"content-length"in e)return Number(e["content-length"]);if(!t)return 0;if(HW.default.string(t))return Buffer.byteLength(t);if(HW.default.buffer(t))return t.length;if(Xve.default(t))return UW.promisify(t.getLength.bind(t))();if(t instanceof KW.ReadStream){let{size:r}=await Zve(t.path);return r===0?void 0:r}}});var bk=E(Qk=>{"use strict";Object.defineProperty(Qk,"__esModule",{value:!0});function $ve(t,e,r){let i={};for(let n of r)i[n]=(...s)=>{e.emit(n,...s)},t.on(n,i[n]);return()=>{for(let n of r)t.off(n,i[n])}}Qk.default=$ve});var jW=E(vk=>{"use strict";Object.defineProperty(vk,"__esModule",{value:!0});vk.default=()=>{let t=[];return{once(e,r,i){e.once(r,i),t.push({origin:e,event:r,fn:i})},unhandleAll(){for(let e of t){let{origin:r,event:i,fn:n}=e;r.removeListener(i,n)}t.length=0}}}});var qW=E(Bp=>{"use strict";Object.defineProperty(Bp,"__esModule",{value:!0});Bp.TimeoutError=void 0;var eSe=require("net"),tSe=jW(),YW=Symbol("reentry"),rSe=()=>{},Sk=class extends Error{constructor(e,r){super(`Timeout awaiting '${r}' for ${e}ms`);this.event=r,this.name="TimeoutError",this.code="ETIMEDOUT"}};Bp.TimeoutError=Sk;Bp.default=(t,e,r)=>{if(YW in t)return rSe;t[YW]=!0;let i=[],{once:n,unhandleAll:s}=tSe.default(),o=(g,f,h)=>{var p;let d=setTimeout(f,g,g,h);(p=d.unref)===null||p===void 0||p.call(d);let m=()=>{clearTimeout(d)};return i.push(m),m},{host:a,hostname:l}=r,c=(g,f)=>{t.destroy(new Sk(g,f))},u=()=>{for(let g of i)g();s()};if(t.once("error",g=>{if(u(),t.listenerCount("error")===0)throw g}),t.once("close",u),n(t,"response",g=>{n(g,"end",u)}),typeof e.request!="undefined"&&o(e.request,c,"request"),typeof e.socket!="undefined"){let g=()=>{c(e.socket,"socket")};t.setTimeout(e.socket,g),i.push(()=>{t.removeListener("timeout",g)})}return n(t,"socket",g=>{var f;let{socketPath:h}=t;if(g.connecting){let p=Boolean(h!=null?h:eSe.isIP((f=l!=null?l:a)!==null&&f!==void 0?f:"")!==0);if(typeof e.lookup!="undefined"&&!p&&typeof g.address().address=="undefined"){let d=o(e.lookup,c,"lookup");n(g,"lookup",d)}if(typeof e.connect!="undefined"){let d=()=>o(e.connect,c,"connect");p?n(g,"connect",d()):n(g,"lookup",m=>{m===null&&n(g,"connect",d())})}typeof e.secureConnect!="undefined"&&r.protocol==="https:"&&n(g,"connect",()=>{let d=o(e.secureConnect,c,"secureConnect");n(g,"secureConnect",d)})}if(typeof e.send!="undefined"){let p=()=>o(e.send,c,"send");g.connecting?n(g,"connect",()=>{n(t,"upload-complete",p())}):n(t,"upload-complete",p())}}),typeof e.response!="undefined"&&n(t,"upload-complete",()=>{let g=o(e.response,c,"response");n(t,"response",g)}),u}});var WW=E(xk=>{"use strict";Object.defineProperty(xk,"__esModule",{value:!0});var JW=Ca();xk.default=t=>{t=t;let e={protocol:t.protocol,hostname:JW.default.string(t.hostname)&&t.hostname.startsWith("[")?t.hostname.slice(1,-1):t.hostname,host:t.host,hash:t.hash,search:t.search,pathname:t.pathname,href:t.href,path:`${t.pathname||""}${t.search||""}`};return JW.default.string(t.port)&&t.port.length>0&&(e.port=Number(t.port)),(t.username||t.password)&&(e.auth=`${t.username||""}:${t.password||""}`),e}});var zW=E(kk=>{"use strict";Object.defineProperty(kk,"__esModule",{value:!0});var iSe=require("url"),nSe=["protocol","host","hostname","port","pathname","search"];kk.default=(t,e)=>{var r,i;if(e.path){if(e.pathname)throw new TypeError("Parameters `path` and `pathname` are mutually exclusive.");if(e.search)throw new TypeError("Parameters `path` and `search` are mutually exclusive.");if(e.searchParams)throw new TypeError("Parameters `path` and `searchParams` are mutually exclusive.")}if(e.search&&e.searchParams)throw new TypeError("Parameters `search` and `searchParams` are mutually exclusive.");if(!t){if(!e.protocol)throw new TypeError("No URL protocol specified");t=`${e.protocol}//${(i=(r=e.hostname)!==null&&r!==void 0?r:e.host)!==null&&i!==void 0?i:""}`}let n=new iSe.URL(t);if(e.path){let s=e.path.indexOf("?");s===-1?e.pathname=e.path:(e.pathname=e.path.slice(0,s),e.search=e.path.slice(s+1)),delete e.path}for(let s of nSe)e[s]&&(n[s]=e[s].toString());return n}});var _W=E(Pk=>{"use strict";Object.defineProperty(Pk,"__esModule",{value:!0});var VW=class{constructor(){this.weakMap=new WeakMap,this.map=new Map}set(e,r){typeof e=="object"?this.weakMap.set(e,r):this.map.set(e,r)}get(e){return typeof e=="object"?this.weakMap.get(e):this.map.get(e)}has(e){return typeof e=="object"?this.weakMap.has(e):this.map.has(e)}};Pk.default=VW});var Rk=E(Dk=>{"use strict";Object.defineProperty(Dk,"__esModule",{value:!0});var sSe=async t=>{let e=[],r=0;for await(let i of t)e.push(i),r+=Buffer.byteLength(i);return Buffer.isBuffer(e[0])?Buffer.concat(e,r):Buffer.from(e.join(""))};Dk.default=sSe});var ZW=E(ql=>{"use strict";Object.defineProperty(ql,"__esModule",{value:!0});ql.dnsLookupIpVersionToFamily=ql.isDnsLookupIpVersion=void 0;var XW={auto:0,ipv4:4,ipv6:6};ql.isDnsLookupIpVersion=t=>t in XW;ql.dnsLookupIpVersionToFamily=t=>{if(ql.isDnsLookupIpVersion(t))return XW[t];throw new Error("Invalid DNS lookup IP version")}});var Fk=E(Ky=>{"use strict";Object.defineProperty(Ky,"__esModule",{value:!0});Ky.isResponseOk=void 0;Ky.isResponseOk=t=>{let{statusCode:e}=t,r=t.request.options.followRedirect?299:399;return e>=200&&e<=r||e===304}});var e8=E(Nk=>{"use strict";Object.defineProperty(Nk,"__esModule",{value:!0});var $W=new Set;Nk.default=t=>{$W.has(t)||($W.add(t),process.emitWarning(`Got: ${t}`,{type:"DeprecationWarning"}))}});var t8=E(Lk=>{"use strict";Object.defineProperty(Lk,"__esModule",{value:!0});var ar=Ca(),oSe=(t,e)=>{if(ar.default.null_(t.encoding))throw new TypeError("To get a Buffer, set `options.responseType` to `buffer` instead");ar.assert.any([ar.default.string,ar.default.undefined],t.encoding),ar.assert.any([ar.default.boolean,ar.default.undefined],t.resolveBodyOnly),ar.assert.any([ar.default.boolean,ar.default.undefined],t.methodRewriting),ar.assert.any([ar.default.boolean,ar.default.undefined],t.isStream),ar.assert.any([ar.default.string,ar.default.undefined],t.responseType),t.responseType===void 0&&(t.responseType="text");let{retry:r}=t;if(e?t.retry=P({},e.retry):t.retry={calculateDelay:i=>i.computedValue,limit:0,methods:[],statusCodes:[],errorCodes:[],maxRetryAfter:void 0},ar.default.object(r)?(t.retry=P(P({},t.retry),r),t.retry.methods=[...new Set(t.retry.methods.map(i=>i.toUpperCase()))],t.retry.statusCodes=[...new Set(t.retry.statusCodes)],t.retry.errorCodes=[...new Set(t.retry.errorCodes)]):ar.default.number(r)&&(t.retry.limit=r),ar.default.undefined(t.retry.maxRetryAfter)&&(t.retry.maxRetryAfter=Math.min(...[t.timeout.request,t.timeout.connect].filter(ar.default.number))),ar.default.object(t.pagination)){e&&(t.pagination=P(P({},e.pagination),t.pagination));let{pagination:i}=t;if(!ar.default.function_(i.transform))throw new Error("`options.pagination.transform` must be implemented");if(!ar.default.function_(i.shouldContinue))throw new Error("`options.pagination.shouldContinue` must be implemented");if(!ar.default.function_(i.filter))throw new TypeError("`options.pagination.filter` must be implemented");if(!ar.default.function_(i.paginate))throw new Error("`options.pagination.paginate` must be implemented")}return t.responseType==="json"&&t.headers.accept===void 0&&(t.headers.accept="application/json"),t};Lk.default=oSe});var r8=E(Qp=>{"use strict";Object.defineProperty(Qp,"__esModule",{value:!0});Qp.retryAfterStatusCodes=void 0;Qp.retryAfterStatusCodes=new Set([413,429,503]);var aSe=({attemptCount:t,retryOptions:e,error:r,retryAfter:i})=>{if(t>e.limit)return 0;let n=e.methods.includes(r.options.method),s=e.errorCodes.includes(r.code),o=r.response&&e.statusCodes.includes(r.response.statusCode);if(!n||!s&&!o)return 0;if(r.response){if(i)return e.maxRetryAfter===void 0||i>e.maxRetryAfter?0:i;if(r.response.statusCode===413)return 0}let a=Math.random()*100;return 2**(t-1)*1e3+a};Qp.default=aSe});var vp=E(Rt=>{"use strict";Object.defineProperty(Rt,"__esModule",{value:!0});Rt.UnsupportedProtocolError=Rt.ReadError=Rt.TimeoutError=Rt.UploadError=Rt.CacheError=Rt.HTTPError=Rt.MaxRedirectsError=Rt.RequestError=Rt.setNonEnumerableProperties=Rt.knownHookEvents=Rt.withoutBody=Rt.kIsNormalizedAlready=void 0;var i8=require("util"),n8=require("stream"),ASe=require("fs"),dA=require("url"),s8=require("http"),Tk=require("http"),lSe=require("https"),cSe=h3(),uSe=y3(),o8=tW(),gSe=sW(),fSe=MW(),hSe=Ly(),ce=Ca(),pSe=GW(),a8=wk(),dSe=bk(),A8=qW(),CSe=WW(),l8=zW(),mSe=_W(),ESe=Rk(),c8=ZW(),ISe=Fk(),CA=e8(),ySe=t8(),wSe=r8(),Mk,Ei=Symbol("request"),Uy=Symbol("response"),Ju=Symbol("responseSize"),Wu=Symbol("downloadedSize"),zu=Symbol("bodySize"),Vu=Symbol("uploadedSize"),Hy=Symbol("serverResponsesPiped"),u8=Symbol("unproxyEvents"),g8=Symbol("isFromCache"),Ok=Symbol("cancelTimeouts"),f8=Symbol("startedReading"),_u=Symbol("stopReading"),Gy=Symbol("triggerRead"),mA=Symbol("body"),bp=Symbol("jobs"),h8=Symbol("originalResponse"),p8=Symbol("retryTimeout");Rt.kIsNormalizedAlready=Symbol("isNormalizedAlready");var BSe=ce.default.string(process.versions.brotli);Rt.withoutBody=new Set(["GET","HEAD"]);Rt.knownHookEvents=["init","beforeRequest","beforeRedirect","beforeError","beforeRetry","afterResponse"];function QSe(t){for(let e in t){let r=t[e];if(!ce.default.string(r)&&!ce.default.number(r)&&!ce.default.boolean(r)&&!ce.default.null_(r)&&!ce.default.undefined(r))throw new TypeError(`The \`searchParams\` value '${String(r)}' must be a string, number, boolean or null`)}}function bSe(t){return ce.default.object(t)&&!("statusCode"in t)}var Kk=new mSe.default,vSe=async t=>new Promise((e,r)=>{let i=n=>{r(n)};t.pending||e(),t.once("error",i),t.once("ready",()=>{t.off("error",i),e()})}),SSe=new Set([300,301,302,303,304,307,308]),xSe=["context","body","json","form"];Rt.setNonEnumerableProperties=(t,e)=>{let r={};for(let i of t)if(!!i)for(let n of xSe)n in i&&(r[n]={writable:!0,configurable:!0,enumerable:!1,value:i[n]});Object.defineProperties(e,r)};var _r=class extends Error{constructor(e,r,i){var n;super(e);if(Error.captureStackTrace(this,this.constructor),this.name="RequestError",this.code=r.code,i instanceof Uk?(Object.defineProperty(this,"request",{enumerable:!1,value:i}),Object.defineProperty(this,"response",{enumerable:!1,value:i[Uy]}),Object.defineProperty(this,"options",{enumerable:!1,value:i.options})):Object.defineProperty(this,"options",{enumerable:!1,value:i}),this.timings=(n=this.request)===null||n===void 0?void 0:n.timings,ce.default.string(r.stack)&&ce.default.string(this.stack)){let s=this.stack.indexOf(this.message)+this.message.length,o=this.stack.slice(s).split(` +`).reverse(),a=r.stack.slice(r.stack.indexOf(r.message)+r.message.length).split(` +`).reverse();for(;a.length!==0&&a[0]===o[0];)o.shift();this.stack=`${this.stack.slice(0,s)}${o.reverse().join(` +`)}${a.reverse().join(` +`)}`}}};Rt.RequestError=_r;var Hk=class extends _r{constructor(e){super(`Redirected ${e.options.maxRedirects} times. Aborting.`,{},e);this.name="MaxRedirectsError"}};Rt.MaxRedirectsError=Hk;var Gk=class extends _r{constructor(e){super(`Response code ${e.statusCode} (${e.statusMessage})`,{},e.request);this.name="HTTPError"}};Rt.HTTPError=Gk;var jk=class extends _r{constructor(e,r){super(e.message,e,r);this.name="CacheError"}};Rt.CacheError=jk;var Yk=class extends _r{constructor(e,r){super(e.message,e,r);this.name="UploadError"}};Rt.UploadError=Yk;var qk=class extends _r{constructor(e,r,i){super(e.message,e,i);this.name="TimeoutError",this.event=e.event,this.timings=r}};Rt.TimeoutError=qk;var jy=class extends _r{constructor(e,r){super(e.message,e,r);this.name="ReadError"}};Rt.ReadError=jy;var Jk=class extends _r{constructor(e){super(`Unsupported protocol "${e.url.protocol}"`,{},e);this.name="UnsupportedProtocolError"}};Rt.UnsupportedProtocolError=Jk;var kSe=["socket","connect","continue","information","upgrade","timeout"],Uk=class extends n8.Duplex{constructor(e,r={},i){super({autoDestroy:!1,highWaterMark:0});this[Wu]=0,this[Vu]=0,this.requestInitialized=!1,this[Hy]=new Set,this.redirects=[],this[_u]=!1,this[Gy]=!1,this[bp]=[],this.retryCount=0,this._progressCallbacks=[];let n=()=>this._unlockWrite(),s=()=>this._lockWrite();this.on("pipe",c=>{c.prependListener("data",n),c.on("data",s),c.prependListener("end",n),c.on("end",s)}),this.on("unpipe",c=>{c.off("data",n),c.off("data",s),c.off("end",n),c.off("end",s)}),this.on("pipe",c=>{c instanceof Tk.IncomingMessage&&(this.options.headers=P(P({},c.headers),this.options.headers))});let{json:o,body:a,form:l}=r;if((o||a||l)&&this._lockWrite(),Rt.kIsNormalizedAlready in r)this.options=r;else try{this.options=this.constructor.normalizeArguments(e,r,i)}catch(c){ce.default.nodeStream(r.body)&&r.body.destroy(),this.destroy(c);return}(async()=>{var c;try{this.options.body instanceof ASe.ReadStream&&await vSe(this.options.body);let{url:u}=this.options;if(!u)throw new TypeError("Missing `url` property");if(this.requestUrl=u.toString(),decodeURI(this.requestUrl),await this._finalizeBody(),await this._makeRequest(),this.destroyed){(c=this[Ei])===null||c===void 0||c.destroy();return}for(let g of this[bp])g();this[bp].length=0,this.requestInitialized=!0}catch(u){if(u instanceof _r){this._beforeError(u);return}this.destroyed||this.destroy(u)}})()}static normalizeArguments(e,r,i){var n,s,o,a,l;let c=r;if(ce.default.object(e)&&!ce.default.urlInstance(e))r=P(P(P({},i),e),r);else{if(e&&r&&r.url!==void 0)throw new TypeError("The `url` option is mutually exclusive with the `input` argument");r=P(P({},i),r),e!==void 0&&(r.url=e),ce.default.urlInstance(r.url)&&(r.url=new dA.URL(r.url.toString()))}if(r.cache===!1&&(r.cache=void 0),r.dnsCache===!1&&(r.dnsCache=void 0),ce.assert.any([ce.default.string,ce.default.undefined],r.method),ce.assert.any([ce.default.object,ce.default.undefined],r.headers),ce.assert.any([ce.default.string,ce.default.urlInstance,ce.default.undefined],r.prefixUrl),ce.assert.any([ce.default.object,ce.default.undefined],r.cookieJar),ce.assert.any([ce.default.object,ce.default.string,ce.default.undefined],r.searchParams),ce.assert.any([ce.default.object,ce.default.string,ce.default.undefined],r.cache),ce.assert.any([ce.default.object,ce.default.number,ce.default.undefined],r.timeout),ce.assert.any([ce.default.object,ce.default.undefined],r.context),ce.assert.any([ce.default.object,ce.default.undefined],r.hooks),ce.assert.any([ce.default.boolean,ce.default.undefined],r.decompress),ce.assert.any([ce.default.boolean,ce.default.undefined],r.ignoreInvalidCookies),ce.assert.any([ce.default.boolean,ce.default.undefined],r.followRedirect),ce.assert.any([ce.default.number,ce.default.undefined],r.maxRedirects),ce.assert.any([ce.default.boolean,ce.default.undefined],r.throwHttpErrors),ce.assert.any([ce.default.boolean,ce.default.undefined],r.http2),ce.assert.any([ce.default.boolean,ce.default.undefined],r.allowGetBody),ce.assert.any([ce.default.string,ce.default.undefined],r.localAddress),ce.assert.any([c8.isDnsLookupIpVersion,ce.default.undefined],r.dnsLookupIpVersion),ce.assert.any([ce.default.object,ce.default.undefined],r.https),ce.assert.any([ce.default.boolean,ce.default.undefined],r.rejectUnauthorized),r.https&&(ce.assert.any([ce.default.boolean,ce.default.undefined],r.https.rejectUnauthorized),ce.assert.any([ce.default.function_,ce.default.undefined],r.https.checkServerIdentity),ce.assert.any([ce.default.string,ce.default.object,ce.default.array,ce.default.undefined],r.https.certificateAuthority),ce.assert.any([ce.default.string,ce.default.object,ce.default.array,ce.default.undefined],r.https.key),ce.assert.any([ce.default.string,ce.default.object,ce.default.array,ce.default.undefined],r.https.certificate),ce.assert.any([ce.default.string,ce.default.undefined],r.https.passphrase),ce.assert.any([ce.default.string,ce.default.buffer,ce.default.array,ce.default.undefined],r.https.pfx)),ce.assert.any([ce.default.object,ce.default.undefined],r.cacheOptions),ce.default.string(r.method)?r.method=r.method.toUpperCase():r.method="GET",r.headers===(i==null?void 0:i.headers)?r.headers=P({},r.headers):r.headers=hSe(P(P({},i==null?void 0:i.headers),r.headers)),"slashes"in r)throw new TypeError("The legacy `url.Url` has been deprecated. Use `URL` instead.");if("auth"in r)throw new TypeError("Parameter `auth` is deprecated. Use `username` / `password` instead.");if("searchParams"in r&&r.searchParams&&r.searchParams!==(i==null?void 0:i.searchParams)){let h;if(ce.default.string(r.searchParams)||r.searchParams instanceof dA.URLSearchParams)h=new dA.URLSearchParams(r.searchParams);else{QSe(r.searchParams),h=new dA.URLSearchParams;for(let p in r.searchParams){let d=r.searchParams[p];d===null?h.append(p,""):d!==void 0&&h.append(p,d)}}(n=i==null?void 0:i.searchParams)===null||n===void 0||n.forEach((p,d)=>{h.has(d)||h.append(d,p)}),r.searchParams=h}if(r.username=(s=r.username)!==null&&s!==void 0?s:"",r.password=(o=r.password)!==null&&o!==void 0?o:"",ce.default.undefined(r.prefixUrl)?r.prefixUrl=(a=i==null?void 0:i.prefixUrl)!==null&&a!==void 0?a:"":(r.prefixUrl=r.prefixUrl.toString(),r.prefixUrl!==""&&!r.prefixUrl.endsWith("/")&&(r.prefixUrl+="/")),ce.default.string(r.url)){if(r.url.startsWith("/"))throw new Error("`input` must not start with a slash when using `prefixUrl`");r.url=l8.default(r.prefixUrl+r.url,r)}else(ce.default.undefined(r.url)&&r.prefixUrl!==""||r.protocol)&&(r.url=l8.default(r.prefixUrl,r));if(r.url){"port"in r&&delete r.port;let{prefixUrl:h}=r;Object.defineProperty(r,"prefixUrl",{set:d=>{let m=r.url;if(!m.href.startsWith(d))throw new Error(`Cannot change \`prefixUrl\` from ${h} to ${d}: ${m.href}`);r.url=new dA.URL(d+m.href.slice(h.length)),h=d},get:()=>h});let{protocol:p}=r.url;if(p==="unix:"&&(p="http:",r.url=new dA.URL(`http://unix${r.url.pathname}${r.url.search}`)),r.searchParams&&(r.url.search=r.searchParams.toString()),p!=="http:"&&p!=="https:")throw new Jk(r);r.username===""?r.username=r.url.username:r.url.username=r.username,r.password===""?r.password=r.url.password:r.url.password=r.password}let{cookieJar:u}=r;if(u){let{setCookie:h,getCookieString:p}=u;ce.assert.function_(h),ce.assert.function_(p),h.length===4&&p.length===0&&(h=i8.promisify(h.bind(r.cookieJar)),p=i8.promisify(p.bind(r.cookieJar)),r.cookieJar={setCookie:h,getCookieString:p})}let{cache:g}=r;if(g&&(Kk.has(g)||Kk.set(g,new o8((h,p)=>{let d=h[Ei](h,p);return ce.default.promise(d)&&(d.once=(m,I)=>{if(m==="error")d.catch(I);else if(m==="abort")(async()=>{try{(await d).once("abort",I)}catch(B){}})();else throw new Error(`Unknown HTTP2 promise event: ${m}`);return d}),d},g))),r.cacheOptions=P({},r.cacheOptions),r.dnsCache===!0)Mk||(Mk=new uSe.default),r.dnsCache=Mk;else if(!ce.default.undefined(r.dnsCache)&&!r.dnsCache.lookup)throw new TypeError(`Parameter \`dnsCache\` must be a CacheableLookup instance or a boolean, got ${ce.default(r.dnsCache)}`);ce.default.number(r.timeout)?r.timeout={request:r.timeout}:i&&r.timeout!==i.timeout?r.timeout=P(P({},i.timeout),r.timeout):r.timeout=P({},r.timeout),r.context||(r.context={});let f=r.hooks===(i==null?void 0:i.hooks);r.hooks=P({},r.hooks);for(let h of Rt.knownHookEvents)if(h in r.hooks)if(ce.default.array(r.hooks[h]))r.hooks[h]=[...r.hooks[h]];else throw new TypeError(`Parameter \`${h}\` must be an Array, got ${ce.default(r.hooks[h])}`);else r.hooks[h]=[];if(i&&!f)for(let h of Rt.knownHookEvents)i.hooks[h].length>0&&(r.hooks[h]=[...i.hooks[h],...r.hooks[h]]);if("family"in r&&CA.default('"options.family" was never documented, please use "options.dnsLookupIpVersion"'),(i==null?void 0:i.https)&&(r.https=P(P({},i.https),r.https)),"rejectUnauthorized"in r&&CA.default('"options.rejectUnauthorized" is now deprecated, please use "options.https.rejectUnauthorized"'),"checkServerIdentity"in r&&CA.default('"options.checkServerIdentity" was never documented, please use "options.https.checkServerIdentity"'),"ca"in r&&CA.default('"options.ca" was never documented, please use "options.https.certificateAuthority"'),"key"in r&&CA.default('"options.key" was never documented, please use "options.https.key"'),"cert"in r&&CA.default('"options.cert" was never documented, please use "options.https.certificate"'),"passphrase"in r&&CA.default('"options.passphrase" was never documented, please use "options.https.passphrase"'),"pfx"in r&&CA.default('"options.pfx" was never documented, please use "options.https.pfx"'),"followRedirects"in r)throw new TypeError("The `followRedirects` option does not exist. Use `followRedirect` instead.");if(r.agent){for(let h in r.agent)if(h!=="http"&&h!=="https"&&h!=="http2")throw new TypeError(`Expected the \`options.agent\` properties to be \`http\`, \`https\` or \`http2\`, got \`${h}\``)}return r.maxRedirects=(l=r.maxRedirects)!==null&&l!==void 0?l:0,Rt.setNonEnumerableProperties([i,c],r),ySe.default(r,i)}_lockWrite(){let e=()=>{throw new TypeError("The payload has been already provided")};this.write=e,this.end=e}_unlockWrite(){this.write=super.write,this.end=super.end}async _finalizeBody(){let{options:e}=this,{headers:r}=e,i=!ce.default.undefined(e.form),n=!ce.default.undefined(e.json),s=!ce.default.undefined(e.body),o=i||n||s,a=Rt.withoutBody.has(e.method)&&!(e.method==="GET"&&e.allowGetBody);if(this._cannotHaveBody=a,o){if(a)throw new TypeError(`The \`${e.method}\` method cannot be used with a body`);if([s,i,n].filter(l=>l).length>1)throw new TypeError("The `body`, `json` and `form` options are mutually exclusive");if(s&&!(e.body instanceof n8.Readable)&&!ce.default.string(e.body)&&!ce.default.buffer(e.body)&&!a8.default(e.body))throw new TypeError("The `body` option must be a stream.Readable, string or Buffer");if(i&&!ce.default.object(e.form))throw new TypeError("The `form` option must be an Object");{let l=!ce.default.string(r["content-type"]);s?(a8.default(e.body)&&l&&(r["content-type"]=`multipart/form-data; boundary=${e.body.getBoundary()}`),this[mA]=e.body):i?(l&&(r["content-type"]="application/x-www-form-urlencoded"),this[mA]=new dA.URLSearchParams(e.form).toString()):(l&&(r["content-type"]="application/json"),this[mA]=e.stringifyJson(e.json));let c=await pSe.default(this[mA],e.headers);ce.default.undefined(r["content-length"])&&ce.default.undefined(r["transfer-encoding"])&&!a&&!ce.default.undefined(c)&&(r["content-length"]=String(c))}}else a?this._lockWrite():this._unlockWrite();this[zu]=Number(r["content-length"])||void 0}async _onResponseBase(e){let{options:r}=this,{url:i}=r;this[h8]=e,r.decompress&&(e=gSe(e));let n=e.statusCode,s=e;s.statusMessage=s.statusMessage?s.statusMessage:s8.STATUS_CODES[n],s.url=r.url.toString(),s.requestUrl=this.requestUrl,s.redirectUrls=this.redirects,s.request=this,s.isFromCache=e.fromCache||!1,s.ip=this.ip,s.retryCount=this.retryCount,this[g8]=s.isFromCache,this[Ju]=Number(e.headers["content-length"])||void 0,this[Uy]=e,e.once("end",()=>{this[Ju]=this[Wu],this.emit("downloadProgress",this.downloadProgress)}),e.once("error",a=>{e.destroy(),this._beforeError(new jy(a,this))}),e.once("aborted",()=>{this._beforeError(new jy({name:"Error",message:"The server aborted pending request",code:"ECONNRESET"},this))}),this.emit("downloadProgress",this.downloadProgress);let o=e.headers["set-cookie"];if(ce.default.object(r.cookieJar)&&o){let a=o.map(async l=>r.cookieJar.setCookie(l,i.toString()));r.ignoreInvalidCookies&&(a=a.map(async l=>l.catch(()=>{})));try{await Promise.all(a)}catch(l){this._beforeError(l);return}}if(r.followRedirect&&e.headers.location&&SSe.has(n)){if(e.resume(),this[Ei]&&(this[Ok](),delete this[Ei],this[u8]()),(n===303&&r.method!=="GET"&&r.method!=="HEAD"||!r.methodRewriting)&&(r.method="GET","body"in r&&delete r.body,"json"in r&&delete r.json,"form"in r&&delete r.form,this[mA]=void 0,delete r.headers["content-length"]),this.redirects.length>=r.maxRedirects){this._beforeError(new Hk(this));return}try{let l=Buffer.from(e.headers.location,"binary").toString(),c=new dA.URL(l,i),u=c.toString();decodeURI(u),c.hostname!==i.hostname||c.port!==i.port?("host"in r.headers&&delete r.headers.host,"cookie"in r.headers&&delete r.headers.cookie,"authorization"in r.headers&&delete r.headers.authorization,(r.username||r.password)&&(r.username="",r.password="")):(c.username=r.username,c.password=r.password),this.redirects.push(u),r.url=c;for(let g of r.hooks.beforeRedirect)await g(r,s);this.emit("redirect",s,r),await this._makeRequest()}catch(l){this._beforeError(l);return}return}if(r.isStream&&r.throwHttpErrors&&!ISe.isResponseOk(s)){this._beforeError(new Gk(s));return}e.on("readable",()=>{this[Gy]&&this._read()}),this.on("resume",()=>{e.resume()}),this.on("pause",()=>{e.pause()}),e.once("end",()=>{this.push(null)}),this.emit("response",e);for(let a of this[Hy])if(!a.headersSent){for(let l in e.headers){let c=r.decompress?l!=="content-encoding":!0,u=e.headers[l];c&&a.setHeader(l,u)}a.statusCode=n}}async _onResponse(e){try{await this._onResponseBase(e)}catch(r){this._beforeError(r)}}_onRequest(e){let{options:r}=this,{timeout:i,url:n}=r;cSe.default(e),this[Ok]=A8.default(e,i,n);let s=r.cache?"cacheableResponse":"response";e.once(s,l=>{this._onResponse(l)}),e.once("error",l=>{var c;e.destroy(),(c=e.res)===null||c===void 0||c.removeAllListeners("end"),l=l instanceof A8.TimeoutError?new qk(l,this.timings,this):new _r(l.message,l,this),this._beforeError(l)}),this[u8]=dSe.default(e,this,kSe),this[Ei]=e,this.emit("uploadProgress",this.uploadProgress);let o=this[mA],a=this.redirects.length===0?this:e;ce.default.nodeStream(o)?(o.pipe(a),o.once("error",l=>{this._beforeError(new Yk(l,this))})):(this._unlockWrite(),ce.default.undefined(o)?(this._cannotHaveBody||this._noPipe)&&(a.end(),this._lockWrite()):(this._writeRequest(o,void 0,()=>{}),a.end(),this._lockWrite())),this.emit("request",e)}async _createCacheableRequest(e,r){return new Promise((i,n)=>{Object.assign(r,CSe.default(e)),delete r.url;let s,o=Kk.get(r.cache)(r,async a=>{a._readableState.autoDestroy=!1,s&&(await s).emit("cacheableResponse",a),i(a)});r.url=e,o.once("error",n),o.once("request",async a=>{s=a,i(s)})})}async _makeRequest(){var e,r,i,n,s;let{options:o}=this,{headers:a}=o;for(let I in a)if(ce.default.undefined(a[I]))delete a[I];else if(ce.default.null_(a[I]))throw new TypeError(`Use \`undefined\` instead of \`null\` to delete the \`${I}\` header`);if(o.decompress&&ce.default.undefined(a["accept-encoding"])&&(a["accept-encoding"]=BSe?"gzip, deflate, br":"gzip, deflate"),o.cookieJar){let I=await o.cookieJar.getCookieString(o.url.toString());ce.default.nonEmptyString(I)&&(o.headers.cookie=I)}for(let I of o.hooks.beforeRequest){let B=await I(o);if(!ce.default.undefined(B)){o.request=()=>B;break}}o.body&&this[mA]!==o.body&&(this[mA]=o.body);let{agent:l,request:c,timeout:u,url:g}=o;if(o.dnsCache&&!("lookup"in o)&&(o.lookup=o.dnsCache.lookup),g.hostname==="unix"){let I=/(?.+?):(?.+)/.exec(`${g.pathname}${g.search}`);if(I==null?void 0:I.groups){let{socketPath:B,path:b}=I.groups;Object.assign(o,{socketPath:B,path:b,host:""})}}let f=g.protocol==="https:",h;o.http2?h=fSe.auto:h=f?lSe.request:s8.request;let p=(e=o.request)!==null&&e!==void 0?e:h,d=o.cache?this._createCacheableRequest:p;l&&!o.http2&&(o.agent=l[f?"https":"http"]),o[Ei]=p,delete o.request,delete o.timeout;let m=o;if(m.shared=(r=o.cacheOptions)===null||r===void 0?void 0:r.shared,m.cacheHeuristic=(i=o.cacheOptions)===null||i===void 0?void 0:i.cacheHeuristic,m.immutableMinTimeToLive=(n=o.cacheOptions)===null||n===void 0?void 0:n.immutableMinTimeToLive,m.ignoreCargoCult=(s=o.cacheOptions)===null||s===void 0?void 0:s.ignoreCargoCult,o.dnsLookupIpVersion!==void 0)try{m.family=c8.dnsLookupIpVersionToFamily(o.dnsLookupIpVersion)}catch(I){throw new Error("Invalid `dnsLookupIpVersion` option value")}o.https&&("rejectUnauthorized"in o.https&&(m.rejectUnauthorized=o.https.rejectUnauthorized),o.https.checkServerIdentity&&(m.checkServerIdentity=o.https.checkServerIdentity),o.https.certificateAuthority&&(m.ca=o.https.certificateAuthority),o.https.certificate&&(m.cert=o.https.certificate),o.https.key&&(m.key=o.https.key),o.https.passphrase&&(m.passphrase=o.https.passphrase),o.https.pfx&&(m.pfx=o.https.pfx));try{let I=await d(g,m);ce.default.undefined(I)&&(I=h(g,m)),o.request=c,o.timeout=u,o.agent=l,o.https&&("rejectUnauthorized"in o.https&&delete m.rejectUnauthorized,o.https.checkServerIdentity&&delete m.checkServerIdentity,o.https.certificateAuthority&&delete m.ca,o.https.certificate&&delete m.cert,o.https.key&&delete m.key,o.https.passphrase&&delete m.passphrase,o.https.pfx&&delete m.pfx),bSe(I)?this._onRequest(I):this.writable?(this.once("finish",()=>{this._onResponse(I)}),this._unlockWrite(),this.end(),this._lockWrite()):this._onResponse(I)}catch(I){throw I instanceof o8.CacheError?new jk(I,this):new _r(I.message,I,this)}}async _error(e){try{for(let r of this.options.hooks.beforeError)e=await r(e)}catch(r){e=new _r(r.message,r,this)}this.destroy(e)}_beforeError(e){if(this[_u])return;let{options:r}=this,i=this.retryCount+1;this[_u]=!0,e instanceof _r||(e=new _r(e.message,e,this));let n=e,{response:s}=n;(async()=>{if(s&&!s.body){s.setEncoding(this._readableState.encoding);try{s.rawBody=await ESe.default(s),s.body=s.rawBody.toString()}catch(o){}}if(this.listenerCount("retry")!==0){let o;try{let a;s&&"retry-after"in s.headers&&(a=Number(s.headers["retry-after"]),Number.isNaN(a)?(a=Date.parse(s.headers["retry-after"])-Date.now(),a<=0&&(a=1)):a*=1e3),o=await r.retry.calculateDelay({attemptCount:i,retryOptions:r.retry,error:n,retryAfter:a,computedValue:wSe.default({attemptCount:i,retryOptions:r.retry,error:n,retryAfter:a,computedValue:0})})}catch(a){this._error(new _r(a.message,a,this));return}if(o){let a=async()=>{try{for(let l of this.options.hooks.beforeRetry)await l(this.options,n,i)}catch(l){this._error(new _r(l.message,e,this));return}this.destroyed||(this.destroy(),this.emit("retry",i,e))};this[p8]=setTimeout(a,o);return}}this._error(n)})()}_read(){this[Gy]=!0;let e=this[Uy];if(e&&!this[_u]){e.readableLength&&(this[Gy]=!1);let r;for(;(r=e.read())!==null;){this[Wu]+=r.length,this[f8]=!0;let i=this.downloadProgress;i.percent<1&&this.emit("downloadProgress",i),this.push(r)}}}_write(e,r,i){let n=()=>{this._writeRequest(e,r,i)};this.requestInitialized?n():this[bp].push(n)}_writeRequest(e,r,i){this[Ei].destroyed||(this._progressCallbacks.push(()=>{this[Vu]+=Buffer.byteLength(e,r);let n=this.uploadProgress;n.percent<1&&this.emit("uploadProgress",n)}),this[Ei].write(e,r,n=>{!n&&this._progressCallbacks.length>0&&this._progressCallbacks.shift()(),i(n)}))}_final(e){let r=()=>{for(;this._progressCallbacks.length!==0;)this._progressCallbacks.shift()();if(!(Ei in this)){e();return}if(this[Ei].destroyed){e();return}this[Ei].end(i=>{i||(this[zu]=this[Vu],this.emit("uploadProgress",this.uploadProgress),this[Ei].emit("upload-complete")),e(i)})};this.requestInitialized?r():this[bp].push(r)}_destroy(e,r){var i;this[_u]=!0,clearTimeout(this[p8]),Ei in this&&(this[Ok](),((i=this[Uy])===null||i===void 0?void 0:i.complete)||this[Ei].destroy()),e!==null&&!ce.default.undefined(e)&&!(e instanceof _r)&&(e=new _r(e.message,e,this)),r(e)}get _isAboutToError(){return this[_u]}get ip(){var e;return(e=this.socket)===null||e===void 0?void 0:e.remoteAddress}get aborted(){var e,r,i;return((r=(e=this[Ei])===null||e===void 0?void 0:e.destroyed)!==null&&r!==void 0?r:this.destroyed)&&!((i=this[h8])===null||i===void 0?void 0:i.complete)}get socket(){var e,r;return(r=(e=this[Ei])===null||e===void 0?void 0:e.socket)!==null&&r!==void 0?r:void 0}get downloadProgress(){let e;return this[Ju]?e=this[Wu]/this[Ju]:this[Ju]===this[Wu]?e=1:e=0,{percent:e,transferred:this[Wu],total:this[Ju]}}get uploadProgress(){let e;return this[zu]?e=this[Vu]/this[zu]:this[zu]===this[Vu]?e=1:e=0,{percent:e,transferred:this[Vu],total:this[zu]}}get timings(){var e;return(e=this[Ei])===null||e===void 0?void 0:e.timings}get isFromCache(){return this[g8]}pipe(e,r){if(this[f8])throw new Error("Failed to pipe. The response has been emitted already.");return e instanceof Tk.ServerResponse&&this[Hy].add(e),super.pipe(e,r)}unpipe(e){return e instanceof Tk.ServerResponse&&this[Hy].delete(e),super.unpipe(e),this}};Rt.default=Uk});var Sp=E(Ms=>{"use strict";var PSe=Ms&&Ms.__createBinding||(Object.create?function(t,e,r,i){i===void 0&&(i=r),Object.defineProperty(t,i,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,i){i===void 0&&(i=r),t[i]=e[r]}),DSe=Ms&&Ms.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&PSe(e,t,r)};Object.defineProperty(Ms,"__esModule",{value:!0});Ms.CancelError=Ms.ParseError=void 0;var d8=vp(),C8=class extends d8.RequestError{constructor(e,r){let{options:i}=r.request;super(`${e.message} in "${i.url.toString()}"`,e,r.request);this.name="ParseError"}};Ms.ParseError=C8;var m8=class extends d8.RequestError{constructor(e){super("Promise was canceled",{},e);this.name="CancelError"}get isCanceled(){return!0}};Ms.CancelError=m8;DSe(vp(),Ms)});var I8=E(Wk=>{"use strict";Object.defineProperty(Wk,"__esModule",{value:!0});var E8=Sp(),RSe=(t,e,r,i)=>{let{rawBody:n}=t;try{if(e==="text")return n.toString(i);if(e==="json")return n.length===0?"":r(n.toString());if(e==="buffer")return n;throw new E8.ParseError({message:`Unknown body type '${e}'`,name:"Error"},t)}catch(s){throw new E8.ParseError(s,t)}};Wk.default=RSe});var zk=E(EA=>{"use strict";var FSe=EA&&EA.__createBinding||(Object.create?function(t,e,r,i){i===void 0&&(i=r),Object.defineProperty(t,i,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,i){i===void 0&&(i=r),t[i]=e[r]}),NSe=EA&&EA.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&FSe(e,t,r)};Object.defineProperty(EA,"__esModule",{value:!0});var LSe=require("events"),TSe=Ca(),MSe=g3(),Yy=Sp(),y8=I8(),w8=vp(),OSe=bk(),KSe=Rk(),B8=Fk(),USe=["request","response","redirect","uploadProgress","downloadProgress"];function Q8(t){let e,r,i=new LSe.EventEmitter,n=new MSe((o,a,l)=>{let c=u=>{let g=new w8.default(void 0,t);g.retryCount=u,g._noPipe=!0,l(()=>g.destroy()),l.shouldReject=!1,l(()=>a(new Yy.CancelError(g))),e=g,g.once("response",async p=>{var d;if(p.retryCount=u,p.request.aborted)return;let m;try{m=await KSe.default(g),p.rawBody=m}catch(R){return}if(g._isAboutToError)return;let I=((d=p.headers["content-encoding"])!==null&&d!==void 0?d:"").toLowerCase(),B=["gzip","deflate","br"].includes(I),{options:b}=g;if(B&&!b.decompress)p.body=m;else try{p.body=y8.default(p,b.responseType,b.parseJson,b.encoding)}catch(R){if(p.body=m.toString(),B8.isResponseOk(p)){g._beforeError(R);return}}try{for(let[R,H]of b.hooks.afterResponse.entries())p=await H(p,async L=>{let K=w8.default.normalizeArguments(void 0,_(P({},L),{retry:{calculateDelay:()=>0},throwHttpErrors:!1,resolveBodyOnly:!1}),b);K.hooks.afterResponse=K.hooks.afterResponse.slice(0,R);for(let ne of K.hooks.beforeRetry)await ne(K);let J=Q8(K);return l(()=>{J.catch(()=>{}),J.cancel()}),J})}catch(R){g._beforeError(new Yy.RequestError(R.message,R,g));return}if(!B8.isResponseOk(p)){g._beforeError(new Yy.HTTPError(p));return}r=p,o(g.options.resolveBodyOnly?p.body:p)});let f=p=>{if(n.isCanceled)return;let{options:d}=g;if(p instanceof Yy.HTTPError&&!d.throwHttpErrors){let{response:m}=p;o(g.options.resolveBodyOnly?m.body:m);return}a(p)};g.once("error",f);let h=g.options.body;g.once("retry",(p,d)=>{var m,I;if(h===((m=d.request)===null||m===void 0?void 0:m.options.body)&&TSe.default.nodeStream((I=d.request)===null||I===void 0?void 0:I.options.body)){f(d);return}c(p)}),OSe.default(g,i,USe)};c(0)});n.on=(o,a)=>(i.on(o,a),n);let s=o=>{let a=(async()=>{await n;let{options:l}=r.request;return y8.default(r,o,l.parseJson,l.encoding)})();return Object.defineProperties(a,Object.getOwnPropertyDescriptors(n)),a};return n.json=()=>{let{headers:o}=e.options;return!e.writableFinished&&o.accept===void 0&&(o.accept="application/json"),s("json")},n.buffer=()=>s("buffer"),n.text=()=>s("text"),n}EA.default=Q8;NSe(Sp(),EA)});var b8=E(Vk=>{"use strict";Object.defineProperty(Vk,"__esModule",{value:!0});var HSe=Sp();function GSe(t,...e){let r=(async()=>{if(t instanceof HSe.RequestError)try{for(let n of e)if(n)for(let s of n)t=await s(t)}catch(n){t=n}throw t})(),i=()=>r;return r.json=i,r.text=i,r.buffer=i,r.on=i,r}Vk.default=GSe});var x8=E(_k=>{"use strict";Object.defineProperty(_k,"__esModule",{value:!0});var v8=Ca();function S8(t){for(let e of Object.values(t))(v8.default.plainObject(e)||v8.default.array(e))&&S8(e);return Object.freeze(t)}_k.default=S8});var P8=E(k8=>{"use strict";Object.defineProperty(k8,"__esModule",{value:!0})});var Xk=E(ss=>{"use strict";var jSe=ss&&ss.__createBinding||(Object.create?function(t,e,r,i){i===void 0&&(i=r),Object.defineProperty(t,i,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,i){i===void 0&&(i=r),t[i]=e[r]}),YSe=ss&&ss.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&jSe(e,t,r)};Object.defineProperty(ss,"__esModule",{value:!0});ss.defaultHandler=void 0;var D8=Ca(),os=zk(),qSe=b8(),qy=vp(),JSe=x8(),WSe={RequestError:os.RequestError,CacheError:os.CacheError,ReadError:os.ReadError,HTTPError:os.HTTPError,MaxRedirectsError:os.MaxRedirectsError,TimeoutError:os.TimeoutError,ParseError:os.ParseError,CancelError:os.CancelError,UnsupportedProtocolError:os.UnsupportedProtocolError,UploadError:os.UploadError},zSe=async t=>new Promise(e=>{setTimeout(e,t)}),{normalizeArguments:Jy}=qy.default,R8=(...t)=>{let e;for(let r of t)e=Jy(void 0,r,e);return e},VSe=t=>t.isStream?new qy.default(void 0,t):os.default(t),_Se=t=>"defaults"in t&&"options"in t.defaults,XSe=["get","post","put","patch","head","delete"];ss.defaultHandler=(t,e)=>e(t);var F8=(t,e)=>{if(t)for(let r of t)r(e)},N8=t=>{t._rawHandlers=t.handlers,t.handlers=t.handlers.map(i=>(n,s)=>{let o,a=i(n,l=>(o=s(l),o));if(a!==o&&!n.isStream&&o){let l=a,{then:c,catch:u,finally:g}=l;Object.setPrototypeOf(l,Object.getPrototypeOf(o)),Object.defineProperties(l,Object.getOwnPropertyDescriptors(o)),l.then=c,l.catch=u,l.finally=g}return a});let e=(i,n={},s)=>{var o,a;let l=0,c=u=>t.handlers[l++](u,l===t.handlers.length?VSe:c);if(D8.default.plainObject(i)){let u=P(P({},i),n);qy.setNonEnumerableProperties([i,n],u),n=u,i=void 0}try{let u;try{F8(t.options.hooks.init,n),F8((o=n.hooks)===null||o===void 0?void 0:o.init,n)}catch(f){u=f}let g=Jy(i,n,s!=null?s:t.options);if(g[qy.kIsNormalizedAlready]=!0,u)throw new os.RequestError(u.message,u,g);return c(g)}catch(u){if(n.isStream)throw u;return qSe.default(u,t.options.hooks.beforeError,(a=n.hooks)===null||a===void 0?void 0:a.beforeError)}};e.extend=(...i)=>{let n=[t.options],s=[...t._rawHandlers],o;for(let a of i)_Se(a)?(n.push(a.defaults.options),s.push(...a.defaults._rawHandlers),o=a.defaults.mutableDefaults):(n.push(a),"handlers"in a&&s.push(...a.handlers),o=a.mutableDefaults);return s=s.filter(a=>a!==ss.defaultHandler),s.length===0&&s.push(ss.defaultHandler),N8({options:R8(...n),handlers:s,mutableDefaults:Boolean(o)})};let r=async function*(i,n){let s=Jy(i,n,t.options);s.resolveBodyOnly=!1;let o=s.pagination;if(!D8.default.object(o))throw new TypeError("`options.pagination` must be implemented");let a=[],{countLimit:l}=o,c=0;for(;c{let s=[];for await(let o of r(i,n))s.push(o);return s},e.paginate.each=r,e.stream=(i,n)=>e(i,_(P({},n),{isStream:!0}));for(let i of XSe)e[i]=(n,s)=>e(n,_(P({},s),{method:i})),e.stream[i]=(n,s)=>e(n,_(P({},s),{method:i,isStream:!0}));return Object.assign(e,WSe),Object.defineProperty(e,"defaults",{value:t.mutableDefaults?t:JSe.default(t),writable:t.mutableDefaults,configurable:t.mutableDefaults,enumerable:!0}),e.mergeOptions=R8,e};ss.default=N8;YSe(P8(),ss)});var zy=E((Ea,Wy)=>{"use strict";var ZSe=Ea&&Ea.__createBinding||(Object.create?function(t,e,r,i){i===void 0&&(i=r),Object.defineProperty(t,i,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,i){i===void 0&&(i=r),t[i]=e[r]}),L8=Ea&&Ea.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&ZSe(e,t,r)};Object.defineProperty(Ea,"__esModule",{value:!0});var $Se=require("url"),T8=Xk(),exe={options:{method:"GET",retry:{limit:2,methods:["GET","PUT","HEAD","DELETE","OPTIONS","TRACE"],statusCodes:[408,413,429,500,502,503,504,521,522,524],errorCodes:["ETIMEDOUT","ECONNRESET","EADDRINUSE","ECONNREFUSED","EPIPE","ENOTFOUND","ENETUNREACH","EAI_AGAIN"],maxRetryAfter:void 0,calculateDelay:({computedValue:t})=>t},timeout:{},headers:{"user-agent":"got (https://github.com/sindresorhus/got)"},hooks:{init:[],beforeRequest:[],beforeRedirect:[],beforeRetry:[],beforeError:[],afterResponse:[]},cache:void 0,dnsCache:void 0,decompress:!0,throwHttpErrors:!0,followRedirect:!0,isStream:!1,responseType:"text",resolveBodyOnly:!1,maxRedirects:10,prefixUrl:"",methodRewriting:!0,ignoreInvalidCookies:!1,context:{},http2:!1,allowGetBody:!1,https:void 0,pagination:{transform:t=>t.request.options.responseType==="json"?t.body:JSON.parse(t.body),paginate:t=>{if(!Reflect.has(t.headers,"link"))return!1;let e=t.headers.link.split(","),r;for(let i of e){let n=i.split(";");if(n[1].includes("next")){r=n[0].trimStart().trim(),r=r.slice(1,-1);break}}return r?{url:new $Se.URL(r)}:!1},filter:()=>!0,shouldContinue:()=>!0,countLimit:Infinity,backoff:0,requestLimit:1e4,stackAllItems:!0},parseJson:t=>JSON.parse(t),stringifyJson:t=>JSON.stringify(t),cacheOptions:{}},handlers:[T8.defaultHandler],mutableDefaults:!1},Zk=T8.default(exe);Ea.default=Zk;Wy.exports=Zk;Wy.exports.default=Zk;Wy.exports.__esModule=!0;L8(Xk(),Ea);L8(zk(),Ea)});var U8=E(Xu=>{"use strict";var fst=require("net"),txe=require("tls"),$k=require("http"),M8=require("https"),rxe=require("events"),hst=require("assert"),ixe=require("util");Xu.httpOverHttp=nxe;Xu.httpsOverHttp=sxe;Xu.httpOverHttps=oxe;Xu.httpsOverHttps=axe;function nxe(t){var e=new Ia(t);return e.request=$k.request,e}function sxe(t){var e=new Ia(t);return e.request=$k.request,e.createSocket=O8,e.defaultPort=443,e}function oxe(t){var e=new Ia(t);return e.request=M8.request,e}function axe(t){var e=new Ia(t);return e.request=M8.request,e.createSocket=O8,e.defaultPort=443,e}function Ia(t){var e=this;e.options=t||{},e.proxyOptions=e.options.proxy||{},e.maxSockets=e.options.maxSockets||$k.Agent.defaultMaxSockets,e.requests=[],e.sockets=[],e.on("free",function(i,n,s,o){for(var a=K8(n,s,o),l=0,c=e.requests.length;l=this.maxSockets){s.requests.push(o);return}s.createSocket(o,function(a){a.on("free",l),a.on("close",c),a.on("agentRemove",c),e.onSocket(a);function l(){s.emit("free",a,o)}function c(u){s.removeSocket(a),a.removeListener("free",l),a.removeListener("close",c),a.removeListener("agentRemove",c)}})};Ia.prototype.createSocket=function(e,r){var i=this,n={};i.sockets.push(n);var s=eP({},i.proxyOptions,{method:"CONNECT",path:e.host+":"+e.port,agent:!1,headers:{host:e.host+":"+e.port}});e.localAddress&&(s.localAddress=e.localAddress),s.proxyAuth&&(s.headers=s.headers||{},s.headers["Proxy-Authorization"]="Basic "+new Buffer(s.proxyAuth).toString("base64")),IA("making CONNECT request");var o=i.request(s);o.useChunkedEncodingByDefault=!1,o.once("response",a),o.once("upgrade",l),o.once("connect",c),o.once("error",u),o.end();function a(g){g.upgrade=!0}function l(g,f,h){process.nextTick(function(){c(g,f,h)})}function c(g,f,h){if(o.removeAllListeners(),f.removeAllListeners(),g.statusCode!==200){IA("tunneling socket could not be established, statusCode=%d",g.statusCode),f.destroy();var p=new Error("tunneling socket could not be established, statusCode="+g.statusCode);p.code="ECONNRESET",e.request.emit("error",p),i.removeSocket(n);return}if(h.length>0){IA("got illegal response body from proxy"),f.destroy();var p=new Error("got illegal response body from proxy");p.code="ECONNRESET",e.request.emit("error",p),i.removeSocket(n);return}return IA("tunneling connection has established"),i.sockets[i.sockets.indexOf(n)]=f,r(f)}function u(g){o.removeAllListeners(),IA(`tunneling socket could not be established, cause=%s +`,g.message,g.stack);var f=new Error("tunneling socket could not be established, cause="+g.message);f.code="ECONNRESET",e.request.emit("error",f),i.removeSocket(n)}};Ia.prototype.removeSocket=function(e){var r=this.sockets.indexOf(e);if(r!==-1){this.sockets.splice(r,1);var i=this.requests.shift();i&&this.createSocket(i,function(n){i.request.onSocket(n)})}};function O8(t,e){var r=this;Ia.prototype.createSocket.call(r,t,function(i){var n=t.request.getHeader("host"),s=eP({},r.options,{socket:i,servername:n?n.replace(/:.*$/,""):t.host}),o=txe.connect(0,s);r.sockets[r.sockets.indexOf(i)]=o,e(o)})}function K8(t,e,r){return typeof t=="string"?{host:t,port:e,localAddress:r}:t}function eP(t){for(var e=1,r=arguments.length;e{H8.exports=U8()});var b4=E((xot,sP)=>{var e4=Object.assign({},require("fs")),oe=typeof oe!="undefined"?oe:{},kp={},wA;for(wA in oe)oe.hasOwnProperty(wA)&&(kp[wA]=oe[wA]);var oP=[],t4="./this.program",r4=function(t,e){throw e},i4=!1,Wl=!0,Pp="";function dxe(t){return oe.locateFile?oe.locateFile(t,Pp):Pp+t}var Xy,aP,Zy,AP;Wl&&(i4?Pp=require("path").dirname(Pp)+"/":Pp=__dirname+"/",Xy=function(e,r){var i=s4(e);return i?r?i:i.toString():(Zy||(Zy=e4),AP||(AP=require("path")),e=AP.normalize(e),Zy.readFileSync(e,r?null:"utf8"))},aP=function(e){var r=Xy(e,!0);return r.buffer||(r=new Uint8Array(r)),n4(r.buffer),r},process.argv.length>1&&(t4=process.argv[1].replace(/\\/g,"/")),oP=process.argv.slice(2),typeof sP!="undefined"&&(sP.exports=oe),r4=function(t){process.exit(t)},oe.inspect=function(){return"[Emscripten Module object]"});var $y=oe.print||console.log.bind(console),Di=oe.printErr||console.warn.bind(console);for(wA in kp)kp.hasOwnProperty(wA)&&(oe[wA]=kp[wA]);kp=null;oe.arguments&&(oP=oe.arguments);oe.thisProgram&&(t4=oe.thisProgram);oe.quit&&(r4=oe.quit);var Cxe=16;function mxe(t,e){return e||(e=Cxe),Math.ceil(t/e)*e}var Exe=0,Ixe=function(t){Exe=t},lP;oe.wasmBinary&&(lP=oe.wasmBinary);var Pst=oe.noExitRuntime||!0;typeof WebAssembly!="object"&&Gr("no native wasm support detected");function yxe(t,e,r){switch(e=e||"i8",e.charAt(e.length-1)==="*"&&(e="i32"),e){case"i1":return Zi[t>>0];case"i8":return Zi[t>>0];case"i16":return cP[t>>1];case"i32":return _e[t>>2];case"i64":return _e[t>>2];case"float":return o4[t>>2];case"double":return a4[t>>3];default:Gr("invalid type for getValue: "+e)}return null}var ew,A4=!1,wxe;function n4(t,e){t||Gr("Assertion failed: "+e)}function l4(t){var e=oe["_"+t];return n4(e,"Cannot call unknown function "+t+", make sure it is exported"),e}function vxe(t,e,r,i,n){var s={string:function(h){var p=0;if(h!=null&&h!==0){var d=(h.length<<2)+1;p=g4(d),u4(h,p,d)}return p},array:function(h){var p=g4(h.length);return Bxe(h,p),p}};function o(h){return e==="string"?c4(h):e==="boolean"?Boolean(h):h}var a=l4(t),l=[],c=0;if(i)for(var u=0;u=i);)++n;if(n-e>16&&t.subarray&&f4)return f4.decode(t.subarray(e,n));for(var s="";e>10,56320|c&1023)}}return s}function c4(t,e){return t?Zu($u,t,e):""}function tw(t,e,r,i){if(!(i>0))return 0;for(var n=r,s=r+i-1,o=0;o=55296&&a<=57343){var l=t.charCodeAt(++o);a=65536+((a&1023)<<10)|l&1023}if(a<=127){if(r>=s)break;e[r++]=a}else if(a<=2047){if(r+1>=s)break;e[r++]=192|a>>6,e[r++]=128|a&63}else if(a<=65535){if(r+2>=s)break;e[r++]=224|a>>12,e[r++]=128|a>>6&63,e[r++]=128|a&63}else{if(r+3>=s)break;e[r++]=240|a>>18,e[r++]=128|a>>12&63,e[r++]=128|a>>6&63,e[r++]=128|a&63}}return e[r]=0,r-n}function u4(t,e,r){return tw(t,$u,e,r)}function rw(t){for(var e=0,r=0;r=55296&&i<=57343&&(i=65536+((i&1023)<<10)|t.charCodeAt(++r)&1023),i<=127?++e:i<=2047?e+=2:i<=65535?e+=3:e+=4}return e}function uP(t){var e=rw(t)+1,r=h4(e);return r&&tw(t,Zi,r,e),r}function Bxe(t,e){Zi.set(t,e)}function xxe(t,e){return t%e>0&&(t+=e-t%e),t}var gP,Zi,$u,cP,kxe,_e,Pxe,o4,a4;function p4(t){gP=t,oe.HEAP8=Zi=new Int8Array(t),oe.HEAP16=cP=new Int16Array(t),oe.HEAP32=_e=new Int32Array(t),oe.HEAPU8=$u=new Uint8Array(t),oe.HEAPU16=kxe=new Uint16Array(t),oe.HEAPU32=Pxe=new Uint32Array(t),oe.HEAPF32=o4=new Float32Array(t),oe.HEAPF64=a4=new Float64Array(t)}var Dst=oe.INITIAL_MEMORY||16777216,fP,d4=[],C4=[],m4=[],Dxe=!1;function Fxe(){if(oe.preRun)for(typeof oe.preRun=="function"&&(oe.preRun=[oe.preRun]);oe.preRun.length;)Rxe(oe.preRun.shift());hP(d4)}function Nxe(){Dxe=!0,!oe.noFSInit&&!y.init.initialized&&y.init(),BA.init(),hP(C4)}function Txe(){if(oe.postRun)for(typeof oe.postRun=="function"&&(oe.postRun=[oe.postRun]);oe.postRun.length;)Lxe(oe.postRun.shift());hP(m4)}function Rxe(t){d4.unshift(t)}function Mxe(t){C4.unshift(t)}function Lxe(t){m4.unshift(t)}var zl=0,pP=null,Dp=null;function Oxe(t){return t}function E4(t){zl++,oe.monitorRunDependencies&&oe.monitorRunDependencies(zl)}function dP(t){if(zl--,oe.monitorRunDependencies&&oe.monitorRunDependencies(zl),zl==0&&(pP!==null&&(clearInterval(pP),pP=null),Dp)){var e=Dp;Dp=null,e()}}oe.preloadedImages={};oe.preloadedAudios={};function Gr(t){oe.onAbort&&oe.onAbort(t),t+="",Di(t),A4=!0,wxe=1,t="abort("+t+"). Build with -s ASSERTIONS=1 for more info.";var e=new WebAssembly.RuntimeError(t);throw e}var I4="data:application/octet-stream;base64,";function y4(t){return t.startsWith(I4)}var Rp="data:application/octet-stream;base64,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AkEEaiEBIAIoAgAiA0F/cyADQYGChAhrcUGAgYKEeHFFDQALIANB/wFxRQRAIAIgAGsPCwNAIAItAAEhAyACQQFqIgEhAiADDQALCyABIABrC2EBAX8jAEEQayICIAA2AgggAiABNwMAAkAgAikDACACKAIIKQMIVgRAIAIoAghBADoAACACQX82AgwMAQsgAigCCEEBOgAAIAIoAgggAikDADcDECACQQA2AgwLIAIoAgwL7wEBAX8jAEEgayICJAAgAiAANgIYIAIgATcDECACIAIoAhhCCBAeNgIMAkAgAigCDEUEQCACQX82AhwMAQsgAigCDCACKQMQQv8BgzwAACACKAIMIAIpAxBCCIhC/wGDPAABIAIoAgwgAikDEEIQiEL/AYM8AAIgAigCDCACKQMQQhiIQv8BgzwAAyACKAIMIAIpAxBCIIhC/wGDPAAEIAIoAgwgAikDEEIoiEL/AYM8AAUgAigCDCACKQMQQjCIQv8BgzwABiACKAIMIAIpAxBCOIhC/wGDPAAHIAJBADYCHAsgAigCHBogAkEgaiQAC4cDAQF/IwBBMGsiAyQAIAMgADYCJCADIAE2AiAgAyACNwMYAkAgAygCJC0AKEEBcQRAIANCfzcDKAwBCwJAAkAgAygCJCgCIEUNACADKQMYQv///////////wBWDQAgAykDGFANASADKAIgDQELIAMoAiRBDGpBEkEAEBQgA0J/NwMoDAELIAMoAiQtADVBAXEEQCADQn83AygMAQsCfyMAQRBrIgAgAygCJDYCDCAAKAIMLQA0QQFxCwRAIANCADcDKAwBCyADKQMYUARAIANCADcDKAwBCyADQgA3AxADQCADKQMQIAMpAxhUBEAgAyADKAIkIAMoAiAgAykDEKdqIAMpAxggAykDEH1BARAhIgI3AwggAkIAUwRAIAMoAiRBAToANSADKQMQUARAIANCfzcDKAwECyADIAMpAxA3AygMAwsgAykDCFAEQCADKAIkQQE6ADQFIAMgAykDCCADKQMQfDcDEAwCCwsLIAMgAykDEDcDKAsgAykDKCECIANBMGokACACCzYBAX8jAEEQayIBIAA2AgwCfiABKAIMLQAAQQFxBEAgASgCDCkDCCABKAIMKQMQfQwBC0IACwuyAQIBfwF+IwBBEGsiASQAIAEgADYCBCABIAEoAgRC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AkEBNgIQIAJBADYCCANAAkAgAigCCCACKAIYLwEETw0AAkAgAigCDCACKAIIai0AAEEfSwRAIAIoAgwgAigCCGotAABBgAFJDQELIAIoAgwgAigCCGotAABBDUYNACACKAIMIAIoAghqLQAAQQpGDQAgAigCDCACKAIIai0AAEEJRgRADAELIAJBAzYCEAJAIAIoAgwgAigCCGotAABB4AFxQcABRgRAIAJBATYCAAwBCwJAIAIoAgwgAigCCGotAABB8AFxQeABRgRAIAJBAjYCAAwBCwJAIAIoAgwgAigCCGotAABB+AFxQfABRgRAIAJBAzYCAAwBCyACQQQ2AhAMBAsLCyACKAIYLwEEIAIoAgggAigCAGpNBEAgAkEENgIQDAILIAJBATYCBANAIAIoAgQgAigCAE0EQCACKAIMIAIoAgggAigCBGpqLQAAQcABcUGAAUcEQCACQQQ2AhAMBgUgAiACKAIEQQFqNgIEDAILAAsLIAIgAigCACACKAIIajYCCAsgAiACKAIIQQFqNgIIDAELCwsgAigCGCACKAIQNgIIIAIoAhQEQAJAIAIoAhRBAkcNACACKAIQQQNHDQAgAkECNgIQIAIoAhhBAjYCCAsCQCACKAIUIAIoAhBGDQAgAigCEEEBRg0AIAJBBTYCHAwCCwsgAiACKAIQNgIcCyACKAIcC2oBAX8jAEEQayIBIAA2AgwgASgCDEIANwMAIAEoAgxBADYCCCABKAIMQn83AxAgASgCDEEANgIsIAEoAgxBfzYCKCABKAIMQgA3AxggASgCDEIANwMgIAEoAgxBADsBMCABKAIMQQA7ATILUgECf0GQlwEoAgAiASAAQQNqQXxxIgJqIQACQCACQQAgACABTRsNACAAPwBBEHRLBEAgABATRQ0BC0GQlwEgADYCACABDwtBtJsBQTA2AgBBfwuNBQEDfyMAQRBrIgEkACABIAA2AgwgASgCDARAIAEoAgwoAgAEQCABKAIMKAIAEDEaIAEoAgwoAgAQGwsgASgCDCgCHBAVIAEoAgwoAiAQJSABKAIMKAIkECUgASgCDCgCUCECIwBBEGsiACQAIAAgAjYCDCAAKAIMBEAgACgCDCgCEARAIABBADYCCANAIAAoAgggACgCDCgCAEkEQCAAKAIMKAIQIAAoAghBAnRqKAIABEAgACgCDCgC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A3EQHwsgAygCpAEoAhQgA0GeAWogA0GcAWoQgQEgAygCTCADLwGeARAfIAMoAkwgAy8BnAEQHwJAAkAgAy0AhQFBAXFFDQAgAygCpAEpAyhCFFoNACADKAJMQQAQIAwBCyADKAJMIAMoAqQBKAIYECALAkACQCADKAKgAUGAAnFBgAJHDQAgAygCpAEpAyBC/////w9UBEAgAygCpAEpAyhC/////w9UDQELIAMoAkxBfxAgIAMoAkxBfxAgDAELAkAgAygCpAEpAyBC/////w9UBEAgAygCTCADKAKkASkDIKcQIAwBCyADKAJMQX8QIAsCQCADKAKkASkDKEL/////D1QEQCADKAJMIAMoAqQBKQMopxAgDAELIAMoAkxBfxAgCwsgAygCTCADKAKkASgCMBBTQf//A3EQHyADIAMoAqQBKAI0IAMoAqABEIYBQf//A3EgAygCkAFBgAYQhgFB//8DcWo2AogBIAMoAkwgAygCiAFB//8DcRAfIAMoAqABQYACcUUEQCADKAJMIAMoAqQBKAI4EFNB//8DcRAfIAMoAkwgAygCpAEoAjxB//8DcRAfIAMoAkwgAygCpAEvAUAQHyADKAJMIAMoAqQBKAJEECACQCADKAKkASkDSEL/////D1QEQCADKAJMIAMoAqQBKQNIpxAgDAELIAMoAkxBfxAgCwsCfyMAQRBrIgAgAygCTDYCDCAAKAIMLQAAQQFxRQsEQCADKAKoAUEIakEUQQAQFCADKAJMEBYgAygCkAEQIyADQX82AqwBDAELIAMoAqgBIANB0ABqAn4jAEEQayIAIAMoAkw2AgwCfiAAKAIMLQAAQQFxBEAgACgCDCkDEAwBC0IACwsQNUEASARAIAMoAkwQFiADKAKQARAjIANBfzYCrAEMAQsgAygCTBAWIAMoAqQBKAIwBEAgAygCqAEgAygCpAEoAjAQigFBAEgEQCADKAKQARAjIANBfzYCrAEMAgsLIAMoApABBEAgAygCqAEgAygCkAFBgAYQhQFBAEgEQCADKAKQARAjIANBfzYCrAEMAgsLIAMoApABECMgAygCpAEoAjQEQCADKAKoASADKAKkASgCNCADKAKgARCFAUEASARAIANBfzYCrAEMAgsLIAMoAqABQYACcUUEQCADKAKkASgCOARAIAMoAqgBIAMoAqQBKAI4EIoB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HCAAIAAoAhRBAWo2AhQMAQsLIAAoAggQR0EBcUUEQCAAKAIgQRRBABAUIAAoAggQFiAAQX82AiwMAQsgACgCCBAWIAAgACgCHDYCLAsgACgCLCECIABBMGokACADIAIiADYCBCAAQQBIBEAgA0IANwMoDAELIAMpAwggAygCBK18Qv///////////wBWBEAgAygCFEEEQRYQFCADQgA3AygMAQsgAyADKQMIIAMoAgStfDcDKAsgAykDKCEBIANBMGokACABC20BAX8jAEEgayIEJAAgBCAANgIYIAQgATYCFCAEIAI2AhAgBCADNgIMAkAgBCgCGEUEQCAEQQA2AhwMAQsgBCAEKAIUIAQoAhAgBCgCDCAEKAIYQQhqEJIBNgIcCyAEKAIcIQAgBEEgaiQAIAALVQEBfyMAQRBrIgEkACABIAA2AgwCQAJAIAEoAgwoAiRBAUYNACABKAIMKAIkQQJGDQAMAQsgASgCDEEAQgBBChAhGiABKAIMQQA2AiQLIAFBEGokAAumAQEBfyMAQRBrIgIkACACIAA2AgggAiABNgIEAkAgAigCCC0AKEEBcQRAIAJBfzYCDAwBCyACKAIIKAIABEAgAigCCCgCACACKAIEEGhBAEgEQCACKAIIQQxqIAIoAggoAgAQFyACQX82AgwMAgsLIAIoAgggAkEEakIEQRMQIUIAUwRAIAJBfzYCDAwBCyACQQA2AgwLIAIoAgwhACACQRBqJAAgAAuNCAIBfwF+IwBBkAFrIgMkACADIAA2AoQBIAMgATYCgAEgAyACNgJ8IAMQTwJAIAMoAoABKQMIQgBSBEAgAyADKAKAASgCACgCACkDSDcDYCADIAMoAoABKAIAKAIAKQNINwNoDAELIANCADcDYCADQgA3A2gLIANCADcDcAJAA0AgAykDcCADKAKAASkDCFQEQCADKAKAASgCACADKQNwp0EEdGooAgApA0ggAykDaFQEQCADIAMoAoABKAIAIAMpA3CnQQR0aigCACkDSDcDaAsgAykDaCADKAKAASkDIFYEQCADKAJ8QRNBABAUIANCfzcDiAEMAwsgAyADKAKAASgCACADKQNwp0EEdGooAgApA0ggAygCgAEoAgAgAykDcKdBBHRqKAIAKQMgfCADKAKAASgCACADKQNwp0EEdGooAgAoAjAQU0H//wNxrXxC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DEECdGooAgBBAnRqLwEASA0AAkAgAygCGCADKAIQQQJ0ai8BACADKAIYIAMoAhxB3BZqIAMoAgxBAnRqKAIAQQJ0ai8BAEcNACADKAIQIAMoAhxB2Chqai0AACADKAIcQdwWaiADKAIMQQJ0aigCACADKAIcQdgoamotAABKDQAMAQsgAygCHEHcFmogAygCFEECdGogAygCHEHcFmogAygCDEECdGooAgA2AgAgAyADKAIMNgIUIAMgAygCDEEBdDYCDAwBCwsgAygCHEHcFmogAygCFEECdGogAygCEDYCAAvXEwEDfyMAQTBrIgIkACACIAA2AiwgAiABNgIoIAIgAigCKCgCADYCJCACIAIoAigoAggoAgA2AiAgAiACKAIoKAIIKAIMNgIcIAJBfzYCECACKAIsQQA2AtAoIAIoAixBvQQ2AtQoIAJBADYCGANAIAIoAhggAigCHEgEQAJAIAIoAiQgAigCGEECdGovAQAEQCACIAIoAhgiATYCECACKAIsQdwWaiEDIAIoAiwiBCgC0ChBAWohACAEIAA2AtAoIABBAnQgA2ogATYCACACKAIYIAIoAixB2ChqakEAOgAADAELIAIoAiQgAigCGEECdGpBADsBAgsgAiACKAIYQQFqNgIYDAELCwNAIAIoAiwoAtAoQQJIBEACQCACKAIQQQJIBEAgAiACKAIQQQFqIgA2AhAMAQtBACEACyACKAIsQdwWaiEDIAIoAiwiBCgC0ChBAWohASAEIAE2AtAoIAFBAnQgA2ogADYCACACIAA2AgwgAigCJCACKAIMQQJ0akEBOwEAIAIoAgwgAigCLEHYKGpqQQA6AAAgAigCLCIAIAAoAqgtQQFrNgKoLSACKAIgBEAgAigCLCIAIAAoAqwtIAIoAiAgAigCDEECdGovAQJrNgKsLQsMAQsLIAIoAiggAigCEDYCBCACIAIoAiwoAtAoQQJtNgIYA0AgAigCGEEBTgRAIAIoAiwgAigCJCACKAIYEHogAiACKAIYQQFrNgIYDAELCyACIAIoAhw2AgwDQCACIAIoAiwoAuAWNgIYIAIoAixB3BZqIQEgAigCLCIDKALQKCEAIAMgAEEBazYC0CggAigCLCAAQQJ0IAFqKAIANgLgFiACKAIsIAIoAiRBARB6IAIgAigCLCgC4BY2AhQgAigCGCEBIAIoAixB3BZqIQMgAigCLCIEKALUKEEBayEAIAQgADYC1CggAEECdCADaiABNgIAIAIoAhQhASACKAIsQdwWaiEDIAIoAiwiBCgC1ChBAWshACAEIAA2AtQoIABBAnQgA2ogATYCACACKAIkIAIoAgxBAnRqIAIoAiQgAigCGEECdGovAQAgAigCJCACKAIUQQJ0ai8BAGo7AQAgAigCDCACKAIsQdgoamoCfyACKAIYIAIoAixB2Chqai0AACACKAIUIAIoAixB2Chqai0AAE4EQCACKAIYIAIoAixB2Chqai0AAAwBCyACKAIUIAIoAixB2Chqai0AAAtBAWo6AAAgAigCJCACKAIUQQJ0aiACKAIMIgA7AQIgAigCJCACKAIYQQJ0aiAAOwECIAIgAigCDCIAQQFqNgIMIAIoAiwgADYC4BYgAigCLCACKAIkQQEQeiACKAIsKALQKEECTg0ACyACKAIsKALgFiEBIAIoAixB3BZqIQMgAigCLCIEKALUKEEBayEAIAQgADYC1CggAEECdCADaiABNgIAIAIoAighASMAQUBqIgAgAigCLDYCPCAAIAE2AjggACAAKAI4KAIANgI0IAAgACgCOCgCBDYCMCAAIAAoAjgoAggoAgA2AiwgACAAKAI4KAIIKAIENgIoIAAgACgCOCgCCCgCCDYCJCAAIAAoAjgoAggoAhA2AiAgAEEANgIEIABBADYCEANAIAAoAhBBD0wEQCAAKAI8QbwWaiAAKAIQQQF0akEAOwEAIAAgACgCEEEBajYCEAwBCwsgACgCNCAAKAI8QdwWaiAAKAI8KALUKEECdGooAgBBAnRqQQA7AQIgACAAKAI8KALUKEEBajYCHANAIAAoAhxBvQRIBEAgACAAKAI8QdwWaiAAKAIcQQJ0aigCADYCGCAAIAAoAjQgACgCNCAAKAIYQQJ0ai8BAkECdGovAQJBAWo2AhAgACgCECAAKAIgSgRAIAAgACgCIDYCECAAIAAoAgRBAWo2AgQLIAAoAjQgACgCGEECdGogACgCEDsBAiAAKAIYIAAoAjBMBEAgACgCPCAAKAIQQQF0akG8FmoiASABLwEAQQFqOwEAIABBADYCDCAAKAIYIAAoAiROBEAgACAAKAIoIAAoAhggACgCJGtBAnRqKAIANgIMCyAAIAAoAjQgACgCGEECdGovAQA7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EANAIAMpAxAgAykDCFpFBEAgAygCKCgCACADKQMQp0EEdGoQkAEgAyADKQMQQgF8NwMQDAELCyADKAIoIAMpAwgiATcDECADKAIoIAE3AwggA0EBOgAvCyADLQAvQQFxIQAgA0EwaiQAIAALzAEBAX8jAEEgayICJAAgAiAANwMQIAIgATYCDCACQTAQGCIBNgIIAkAgAUUEQCACKAIMQQ5BABAUIAJBADYCHAwBCyACKAIIQQA2AgAgAigCCEIANwMQIAIoAghCADcDCCACKAIIQgA3AyAgAigCCEIANwMYIAIoAghBADYCKCACKAIIQQA6ACwgAigCCCACKQMQIAIoAgwQgwFBAXFFBEAgAigCCBAkIAJBADYCHAwBCyACIAIoAgg2AhwLIAIoAhwhASACQSBqJAAgAQvWAgEBfyMAQSBrIgMkACADIAA2AhggAyABNgIUIAMgAjYCECADIANBDGpCBBApNgIIAkAgAygCCEUEQCADQX82AhwMAQsDQCADKAIUBEAgAygCFCgCBCADKAIQcUGABnEEQCADKAIIQgAQLBogAygCCCADKAIULwEIEB8gAygCCCADKAIULwEKEB8CfyMAQRBrIgAgAygCCDYCDCAAKAIMLQAAQQFxRQsEQCADKAIYQQhqQRRBABAUIAMoAggQFiADQX82AhwMBAsgAygCGCADQQxqQgQQNUEASARAIAMoAggQFiADQX82AhwMBAsgAygCFC8BCgRAIAMoAhggAygCFCgCDCADKAIULwEKrRA1QQBIBEAgAygCCBAWIANBfzYCHAwFCwsLIAMgAygCFCgCADYCFAwBCwsgAygCCBAWIANBADYCHAsgAygCHCEAIANBIGokACAAC2gBAX8jAEEQayICIAA2AgwgAiABNgIIIAJBADsBBgNAIAIoAgwEQCACKAIMKAIEIAIoAghxQYAGcQRAIAIgAigCDC8BCiACLwEGQQRqajsBBgsgAiACKAIMKAIANgIMDAELCyACLwEGC/ABAQF/IwBBEGsiASQAIAEgADYCDCABIAEoAgw2AgggAUEANgIEA0AgASgCDARAAkACQCABKAIMLwEIQfXGAUYNACABKAIMLwEIQfXgAUYNACABKAIMLwEIQYGyAkYNACABKAIMLwEIQQFHDQELIAEgASgCDCgCADYCACABKAIIIAEoAgxGBEAg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IAEpA4ABIAEpAzB8IAEpA5gBIAEpAzh8VgRAIAEoApABQRVBABAUIAFBADYCrAEMAQsCQCABKAKUAUEEcUUNACABKQOAASABKQMwfCABKQOYASABKQM4fFENACABKAKQAUEVQQAQFCABQQA2AqwBDAELIAEpAyggASkDMEIugFYEQCABKAKQAUEVQQAQFCABQQA2AqwBDAELIAEgASkDKCABKAKQARCEASIFNgKMASAFRQRAIAFBADYCrAEMAQsgASgCjAFBAToALCABKAKMASABKQMwNwMYIAEoAowBIAEpA4ABNwMgIAEgASgCjAE2AqwBCyABKAKsASEFIAFBsAFqJAAgACAFNgJQDAELIAAoAmQgACkDMBAsGiAAKAJkIQUgACkDWCEJIAAoAmgoAhQhBiAAKAJUIQcjAEHQAGsiASQAIAEgBTYCSCABIAk3A0AgASAGNgI8IAEgBzYCOAJAIAEoAkgQL0IWVARAIAEoAjhBFUEAEBQgAUEANgJMDAELIwBBEGsiBSABKAJINgIMIAECfiAFKAIMLQAAQQFxBEAgBSgCDCkDEAwBC0IACzcDCCABKAJIQgQQHhogASgCSBAqBEAgASgCOEEBQQAQFCABQQA2AkwMAQsgASABKAJIEB1B//8Dca03AyggASABKAJIEB1B//8Dca03AyAgASkDICABKQMoUgRAIAEoAjhBE0EAEBQgAUEANgJMDAELIAEgASgCSBAqrTcDGCABIAEoAkgQKq03AxAgASkDECABKQMQIAEpAxh8VgRAIAEoAjhBBEEWEBQgAUEANgJMDAELIAEpAxAgASkDGHwgASkDQCABKQMIfFYEQCABKAI4QRVBABAUIAFBADYCTAwBCwJAIAEoAjxBBHFFDQAgASkDECABKQMYfCABKQNAIAEpAwh8UQ0AIAEoAjhBFUEAEBQgAUEANgJMDAELIAEgASkDICABKAI4EIQBIgU2AjQgBUUEQCABQQA2AkwMAQsgASgCNEEAOgAsIAEoAjQgASkDGDcDGCABKAI0IAEpAxA3AyAgASABKAI0NgJMCyABKAJMIQUgAUHQAGokACAAIAU2AlALIAAoAlBFBEAgAEEANgJsDAELIAAoAmQgACkDMEIUfBAsGiAAIAAoAmQQHTsBTiAAKAJQKQMgIAAoAlApAxh8IAApA1ggACkDMHxWBEAg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IAIgAigCLCIAQQFqNgIsIAAtAAEhASACIAIoAigiAEEBajYCKEEAIAAtAAEgAUcNABogAiACKAIsIgBBAWo2AiwgAC0AASEBIAIgAigCKCIAQQFqNgIoQQAgAC0AASABRw0AGiACIAIoAiwiAEEBajYCLCAALQABIQEgAiACKAIoIgBBAWo2AihBACAALQABIAFHDQAaIAIgAigCLCIAQQFqNgIsIAAtAAEhASACIAIoAigiAEEBajYCKEEAIAAtAAEgAUcNABogAiACKAIsIgBBAWo2AiwgAC0AASEBIAIgAigCKCIAQQFqNgIoQQAgAC0AASABRw0AGiACKAIsIAIoAgxJC0EBcQ0ACyACQYICIAIoAgwgAigCLGtrNgIkIAIgAigCDEGCAms2AiwgAigCJCACKAIgSgRAIAIoAjggAigCNDYCcCACIAIoAiQ2AiAgAigCJCACKAIcTg0CIAIgAigCLCACKAIgQQFrai0AADoACyACIAIoAiwgAigCIGotAAA6AAoLCyACIAIoAhQgAigCNCACKAIQcUEBdGovAQAiATYCNEEAIQAgASACKAIYSwR/IAIgAigCMEEBayIANgIwIABBAEcFQQALQQFxDQELCwJAIAIoAiAgAigCOCgCdE0EQCACIAIoAiA2AjwMAQsgAiACKAI4KAJ0NgI8CyACKAI8C5IQAQF/IwBBMGsiAiQAIAIgADYCKCACIAE2AiQgAgJ/IAIoAigoAiwgAigCKCgCDEEFa0kEQCACKAIoKAIsDAELIAIoAigoAgxBBWsLNgIgIAJBADYCECACIAIoAigoAgAoAgQ2AgwDQAJAIAJB//8DNgIcIAIgAigCKCgCvC1BKmpBA3U2AhQgAigCKCgCACgCECACKAIUSQ0AIAIgAigCKCgCACgCECACKAIUazYCFCACIAIoAigoAmwgAigCKCgCXGs2AhggAigCHCACKAIYIAIoAigoAgAoAgRqSwRAIAIgAigCGCACKAIoKAIAKAIEajYCHAsgAigCHCACKAIUSwRAIAIgAigCFDYCHAsCQCACKAIcIAIoAiBPDQACQCACKAIcRQRAIAIoAiRBBEcNAQsgAigCJEUNACACKAIcIAIoAhggAigCKCgCACgCBGpGDQELDAELQQAhACACIAIoAiRBBEYEfyACKAIcIAIoAhggAigCKCgCACgCBGpGBUEAC0EBcTYCECACKAIoQQBBACACKAIQEFwgAigCKCgCCCACKAIoKAIUQQRraiACKAIcOgAAIAIoAigoAgggAigCKCgCFEEDa2ogAigCHEEIdjoAACACKAIoKAIIIAIoAigoAhRBAmtqIAIoAhxBf3M6AAAgAigCKCgCCCACKAIoKAIUQQFraiACKAIcQX9zQQh2OgAAIAIoAigoAgAQHCACKAIYBEAgAigCGCACKAIcSwRAIAIgAigCHDYCGAsgAigCKCgCACgCDCACKAIoKAI4IAIoAigoAlxqIAIoAhgQGRogAigCKCgCACIAIAIoAhggACgCDGo2AgwgAigCKCgCACIAIAAoAhAgAigCGGs2AhAgAigCKCgCACIAIAIoAhggACgCFGo2AhQgAigCKCIAIAIoAhggACgCXGo2AlwgAiACKAIcIAIoAhhrNgIcCyACKAIcBEAgAigCKCgCACACKAIoKAIAKAIMIAIoAhwQeBogAigCKCgCACIAIAIoAhwgACgCDGo2AgwgAigCKCgCACIAIAAoAhAgAigCHGs2AhAgAigCKCgCACIAIAIoAhwgACgCFGo2AhQLIAIoAhBFDQELCyACIAIoAgwgAigCKCgCACgCBGs2AgwgAigCDARAAkAgAigCDCACKAIoKAIsTwRAIAIoAihBAjYCsC0gAigCKCgCOCACKAIoKAIAKAIAIAIoAigoAixrIAIoAigoAiwQGRogAigCKCACKAIoKAIsNgJsDAELIAIoAgwgAigCKCgCPCACKAIoKAJsa08EQCACKAIoIgAgACgCbCACKAIoKAIsazYCbCACKAIoKAI4IAIoAigoAjggAigCKCgCLGogAigCKCgCbBAZGiACKAIoKAKwLUECSQRAIAIoAigiACAAKAKwLUEBajYCsC0LCyACKAIoKAI4IAIoAigoAmxqIAIoAigoAgAoAgAgAigCDGsgAigCDBAZGiACKAIoIgAgAigCDCAAKAJsajYCbAsgAigCKCACKAIoKAJsNgJcIAIoAigiAQJ/IAIoAgwgAigCKCgCLCACKAIoKAK0LWtLBEAgAigCKCgCLCACKAIoKAK0LWsMAQsgAigCDAsgASgCtC1qNgK0LQsgAigCKCgCwC0gAigCKCgCbEkEQCACKAIoIAIoAigoAmw2AsAtCwJAIAIoAhAEQCACQQM2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mwFCADcDAEGYmwFCADcDAEGQmwFCADcDAEGImwFCADcDAEGAmwFCADcDAEH4mgFCADcDAEHwmgFCADcDAEHwmgEL1QQBBX8jAEGwAWsiASQAIAEgADYCqAEgASgCqAEQNwJAAkAgASgCqAEoAgBBAE4EQCABKAKoASgCAEGAFCgCAEgNAQsgASABKAKoASgCADYCECABQSBqQY8SIAFBEGoQcCABQQA2AqQBIAEgAUEgajYCoAEMAQsgASABKAKoASgCAEECdEGAE2ooAgA2AqQBAkACQAJAAkAgASgCqAEoAgBBAnRBkBRqKAIAQQFrDgIAAQILIAEoAqgBKAIEIQJBkJkBKAIAIQRBACEAAkACQANAIAIgAEGgiAFqLQAARwRAQdcAIQMgAEEBaiIAQdcARw0BDAILCyAAIgMNAEGAiQEhAgwBC0GAiQEhAANAIAAtAAAhBSAAQQFqIgIhACAFDQAgAiEAIANBAWsiAw0ACwsgBCgCFBogASACNgKgAQwCCyMAQRBrIgAgASgCqAEoAgQ2AgwgAUEAIAAoAgxrQQJ0QajZAGooAgA2AqABDAELIAFBADYCoAELCwJAIAEoAqABRQRAIAEgASgCpAE2AqwBDAELIAEgASgCoAEQKwJ/IAEoAqQBBEAgASgCpAEQK0ECagwBC0EAC2pBAWoQGCIANgIcIABFBEAgAUG4EygCADYCrAEMAQsgASgCHCEAAn8gASgCpAEEQCABKAKkAQwBC0H6EgshA0HfEkH6EiABKAKkARshAiABIAEoAqABNgIIIAEgAjYCBCABIAM2AgAgAEG+CiABEHAgASgCqAEgASgCHDYCCCABIAEoAhw2AqwBCyABKAKsASEAIAFBsAFqJAAgAAszAQF/IAAoAhQiAyABIAIgACgCECADayIBIAEgAksbIgEQGRogACAAKAIUIAFqNgIUIAILjwUCBn4BfyABIAEoAgBBD2pBcHEiAUEQajYCACAAAnwgASkDACEDIAEpAwghBiMAQSBrIggkAAJAIAZC////////////AIMiBEKAgICAgIDAgDx9IARCgICAgICAwP/DAH1UBEAgBkIEhiADQjyIhCEEIANC//////////8PgyIDQoGAgICAgICACFoEQCAEQoGAgICAgICAwAB8IQIMAgsgBEKAgICAgICAgEB9IQIgA0KAgICAgICAgAiFQgBSDQEgAiAEQgGDfCECDAELIANQIARCgICAgICAwP//AFQgBEKAgICAgIDA//8AURtFBEAgBkIEhiADQjyIhEL/////////A4NCgICAgICAgPz/AIQhAgwBC0KAgICAgICA+P8AIQIgBEL///////+//8MAVg0AQgAhAiAEQjCIpyIAQZH3AEkNACADIQIgBkL///////8/g0KAgICAgIDAAIQiBSEHAkAgAEGB9wBrIgFBwABxBEAgAiABQUBqrYYhB0IAIQIMAQsgAUUNACAHIAGtIgSGIAJBwAAgAWutiIQhByACIASGIQILIAggAjcDECAIIAc3AxgCQEGB+AAgAGsiAEHAAHEEQCAFIABBQGqtiCEDQgAhBQwBCyAARQ0AIAVBwAAgAGuthiADIACtIgKIhCEDIAUgAoghBQsgCCADNwMAIAggBTcDCCAIKQMIQgSGIAgpAwAiA0I8iIQhAiAIKQMQIAgpAxiEQgBSrSADQv//////////D4OEIgNCgYCAgICAgIAIWgRAIAJCAXwhAgwBCyADQoCAgICAgICACIVCAFINACACQgGDIAJ8IQILIAhBIGokACACIAZCgICAgICAgICAf4OEvws5AwALrRcDEn8CfgF8IwBBsARrIgkkACAJQQA2AiwCQCABvSIYQn9XBEBBASESQa4IIRMgAZoiAb0hGAwBCyAEQYAQcQRAQQEhEkGxCCETDAELQbQIQa8IIARBAXEiEhshEyASRSEXCwJAIBhCgICAgICAgPj/AINCgICAgICAgPj/AFEEQCAAQSAgAiASQQNqIg0gBEH//3txECYgACATIBIQIiAAQeQLQbUSIAVBIHEiAxtBjw1BuRIgAxsgASABYhtBAxAiDAELIAlBEGohEAJAAn8CQCABIAlBLGoQqQEiASABoCIBRAAAAAAAAAAAYgRAIAkgCSgCLCIGQQFrNgIsIAVBIHIiFEHhAEcNAQwDCyAFQSByIhRB4QBGDQIgCSgCLCELQQYgAyADQQBIGwwBCyAJIAZBHWsiCzYCLCABRAAAAAAAALBBoiEBQQYgAyADQQBIGwshCiAJQTBqIAlB0AJqIAtBAEgbIg4hBwNAIAcCfyABRAAAAAAAAPBBYyABRAAAAAAAAAAAZnEEQCABqwwBC0EACyIDNgIAIAdBBGohByABIAO4oUQA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HCECIAEgASgCGCIDQQFqNgIYQQAgAy0AASACRw0AGiABKAIcIQIgASABKAIYIgNBAWo2AhhBACADLQABIAJHDQAaIAEoAhwhAiABIAEoAhgiA0EBajYCGEEAIAMtAAEgAkcNABogASgCHCECIAEgASgCGCIDQQFqNgIYQQAgAy0AASACRw0AGiABKAIcIQIgASABKAIYIgNBAWo2AhhBACADLQABIAJHDQAaIAEoAhwhAiABIAEoAhgiA0EBajYCGEEAIAMtAAEgAkcNABogASgCGCABKAIUSQtBAXENAAsgASgCKEGCAiABKAIUIAEoAhhrazYCYCABKAIoKAJgIAEoAigoAnRLBEAgASgCKCABKAIoKAJ0NgJgCwsLAkAgASgCKCgCYEEDTwRAIAEgASgCKCgCYEEDazoAEyABQQE7ARAgASgCKCICKAKkLSACKAKgLUEBdGogAS8BEDsBACABLQATIQMgASgCKCICKAKYLSEEIAIgAigCoC0iAkEBajYCoC0gAiAEaiADOgAAIAEgAS8BEEEBazsBECABKAIoIAEtABNB0N0Aai0AAEECdGpBmAlqIgIgAi8BAEEBajsBACABKAIoQYgTagJ/IAEvARBBgAJJBEAgAS8BEC0A0FkMAQsgAS8BEEEHdkGAAmotANBZC0ECdGoiAiACLwEAQQFqOwEAIAEgASgCKCgCoC0gASgCKCgCnC1BAWtGNgIgIAEoAigiAiACKAJ0IAEoAigoAmBrNgJ0IAEoAigiAiABKAIoKAJgIAIoAmxqNgJsIAEoAihBADYCYAwBCyABIAEoAigiAigCOCACKAJsai0AADoADyABKAIoIgIoAqQtIAIoAqAtQQF0akEAOwEAIAEtAA8hAyABKAIoIgIoApgtIQQgAiACKAKgLSICQQFqNgKgLSACIARqIAM6AAAgASgCKCABLQAPQQJ0aiICIAIvAZQBQQFqOwGUASABIAEoAigoAqAtIAEoAigoApwtQQFrRjYCICABKAIoIgIgAigCdEEBazYCdCABKAIoIgIgAigCbEEBajYCbAsgASgCIARAIAEoAigCfyABKAIoKAJcQQBOBEAgASgCKCgCOCABKAIoKAJcagwBC0EACyABKAIoKAJsIAEoAigoAlxrQQAQKCABKAIoIAEoAigoAmw2AlwgASgCKCgCABAcIAEoAigo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QCABKAIoQQ9JBEAgASABKAJQIgJBAWo2AlAgASABKAIsIAItAAAgASgCKHRqNgIsIAEgASgCKEEIajYCKCABIAEoAlAiAkEBajYCUCABIAEoAiwgAi0AACABKAIodGo2AiwgASABKAIoQQhqNgIoCyABIAEoAiQgASgCLCABKAIccUECdGooAQA2ARACQAJAA0AgASABLQARNgIMIAEgASgCLCABKAIMdjYCLCABIAEoAiggASgCDGs2AiggASABLQAQNgIMIAEoAgxFBEAgAS8BEiECIAEgASgCSCIDQQFqNgJIIAMgAjoAAAwCCyABKAIMQRBxBEAgASABLwESNgIIIAEgASgCDEEPcTYCDCABKAIMBEAgASgCKCABKAIMSQRAIAEgASgCUCICQQFqNgJQIAEgASgCLCACLQAAIAEoAih0ajYCLCABIAEoAihBCGo2AigLIAEgASgCCCABKAIsQQEgASgCDHRBAWtxajYCCCABIAEoAiwgASgCDHY2AiwgASABKAIoIAEoAgxrNgIoCyABKAIoQQ9JBEAgASABKAJQIgJBAWo2AlAgASABKAIsIAItAAAgASgCKHRqNgIsIAEgASgCKEEIajYCKCABIAEoAlAiAkEBajYCUCABIAEoAiwgAi0AACABKAIodGo2AiwgASABKAIoQQhqNgIoCyABIAEoAiAgASgCLCABKAIYcUECdGooAQA2ARACQANAIAEgAS0AETYCDCABIAEoAiwgASgCDHY2AiwgASABKAIoIAEoAgxrNgIoIAEgAS0AEDYCDCABKAIMQRBxBEAgASABLwESNgIEIAEgASgCDEEPcTYCDCABKAIoIAEoAgxJBEAgASABKAJQIgJBAWo2AlAgASABKAIsIAItAAAgASgCKHRqNgIsIAEgASgCKEEIajYCKCABKAIoIAEoAgxJBEAgASABKAJQIgJBAWo2AlAgASABKAIsIAItAAAgASgCKHRqNgIsIAEgASgCKEEIajYCKAsLIAEgASgCBCABKAIsQQEgASgCDHRBAWtxajYCBCABIAEoAiwgASgCDHY2AiwgASABKAIoIAEoAgxrNgIoIAEgASgCSCABKAJEazYCDAJAIAEoAgQgASgCDEsEQCABIAEoAgQgASgCDGs2AgwgASgCDCABKAI4SwRAIAEoAlQoAsQ3BEAgASgCXEHdDDYCGCABKAJUQdH+ADYCBAwKCwsgASABKAIwNgIAAkAgASgCNEUEQCABIAEoAgAgASgCPCABKAIMa2o2AgAgASgCDCABKAIISQRAIAEgASgCCCABKAIMazYCCANAIAEgASgCACICQQFqNgIAIAItAAAhAiABIAEoAkgiA0EBajYCSCADIAI6AAAgASABKAIMQQFrIgI2AgwgAg0ACyABIAEoAkggASgCBGs2AgALDAELAkAgASgCNCABKAIMSQRAIAEgASgCACABKAI8IAEoAjRqIAEoAgxrajYCACABIAEoAgwgASgCNGs2AgwgASgCDCABKAIISQRAIAEgASgCCCABKAIMazYCCANAIAEgASgCACICQQFqNgIAIAItAAAhAiABIAEoAkgiA0EBajYCSCADIAI6AAAgASABKAIMQQFrIgI2AgwgAg0ACyABIAEoAjA2AgAgASgCNCABKAIISQRAIAEgASgCNDYCDCABIAEoAgggASgCDGs2AggDQCABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAAIAEgASgCDEEBayICNgIMIAINAAsgASABKAJIIAEoAgRrNgIACwsMAQsgASABKAIAIAEoAjQgASgCDGtqNgIAIAEoAgwgASgCCEkEQCABIAEoAgggASgCDGs2AggDQCABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAAIAEgASgCDEEBayICNgIMIAINAAsgASABKAJIIAEoAgRrNgIACwsLA0AgASgCCEECSwRAIAEgASgCACICQQFqNgIAIAItAAAhAiABIAEoAkgiA0EBajYCSCADIAI6AAAgASABKAIAIgJBAWo2AgAgAi0AACECIAEgASgCSCIDQQFqNgJIIAMgAjoAACABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAAIAEgASgCCEEDazYCCAwBCwsMAQsgASABKAJIIAEoAgRrNgIAA0AgASABKAIAIgJBAWo2AgAgAi0AACECIAEgASgCSCIDQQFqNgJIIAMgAjoAACABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAAIAEgASgCACICQQFqNgIAIAItAAAhAiABIAEoAkgi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ZWFkIGVycm9yAFpsaWIgZXJyb3IAZGF0YSBlcnJvcgBDUkMgZXJyb3IAaW5jb21wYXRpYmxlIHZlcnNpb24AbmFuAC9kZXYvdXJhbmRvbQBpbnZhbGlkIGNvZGUgLS0gbWlzc2luZyBlbmQtb2YtYmxvY2sAaW5jb3JyZWN0IGhlYWRlciBjaGVjawBpbmNvcnJlY3QgbGVuZ3RoIGNoZWNrAGluY29ycmVjdCBkYXRhIGNoZWNrAGludmFsaWQgZGlzdGFuY2UgdG9vIGZhciBiYWNrAGhlYWRlciBjcmMgbWlzbWF0Y2gAaW5mAGludmFsaWQgd2luZG93IHNpemUAUmVhZC1vbmx5IGFyY2hpdmUATm90IGEgemlwIGFyY2hpdmUAUmVzb3VyY2Ugc3RpbGwgaW4gdXNlAE1hbGxvYyBmYWlsdXJlAGludmFsaWQgYmxvY2sgdHlwZQBGYWlsdXJlIHRvIGNyZWF0ZSB0ZW1wb3JhcnkgZmlsZQBDYW4ndCBvcGVuIGZpbGUATm8gc3VjaCBmaWxlAFByZW1hdHVyZSBlbmQgb2YgZmlsZQBDYW4ndCByZW1vdmUgZmlsZQBpbnZhbGlkIGxpdGVyYWwvbGVuZ3RoIGNvZGUAaW52YWxpZCBkaXN0YW5jZSBjb2RlAHVua25vd24gY29tcHJlc3Npb24gbWV0aG9kAHN0cmVhbSBlbmQAQ29tcHJlc3NlZCBkYXRhIGludmFsaWQATXVsdGktZGlzayB6aXAgYXJjaGl2ZXMgbm90IHN1cHBvcnRlZABPcGVyYXRpb24gbm90IHN1cHBvcnRlZABFbmNyeXB0aW9uIG1ldGhvZCBub3Qgc3VwcG9ydGVkAENvbXByZXNzaW9uIG1ldGhvZCBub3Qgc3VwcG9ydGVkAEVudHJ5IGhhcyBiZWVuIGRlbGV0ZWQAQ29udGFpbmluZyB6aXAgYXJjaGl2ZSB3YXMgY2xvc2VkAENsb3NpbmcgemlwIGFyY2hpdmUgZmFpbGVkAFJlbmFtaW5nIHRlbXBvcmFyeSBmaWxlIGZhaWxlZABFbnRyeSBoYXMgYmVlbiBjaGFuZ2VkAE5vIHBhc3N3b3JkIHByb3ZpZGVkAFdyb25nIHBhc3N3b3JkIHByb3ZpZGVkAFVua25vd24gZXJyb3IgJWQAcmIAcitiAHJ3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CADcAAgAPAAIALwACAB8AAgA/AAIAAIACACCAAgAQgAIAMIACAAiAAgAogAIAGIACADiAAgAEgAIAJIACABSAAgA0gAIADIACACyAAgAcgAIAPIACAAKAAgAigAIAEoACADKAAgAKgAIAKoACABqAAgA6gAIABoACACaAAgAWgAIANoACAA6AAgAugAIAHoACAD6AAgABgAIAIYACABGAAgAxgAIACYACACmAAgAZgAIAOYACAAWAAgAlgAIAFYACADWAAgANgAIALYACAB2AAgA9gAIAA4ACACOAAgATgAIAM4ACAAuAAgArgAIAG4ACADuAAgAHgAIAJ4ACABeAAgA3gAIAD4ACAC+AAgAfgAIAP4ACAABAAgAgQAIAEEACADBAAgAIQAIAKEACABhAAgA4QAIABEACACRAAgAUQAIANEACAAxAAgAsQAIAHEACADxAAgACQAIAIkACABJAAgAyQAIACkACACpAAgAaQAIAOkACAAZAAgAmQAIAFkACADZAAgAOQAIALkACAB5AAgA+QAIAAUACACFAAgARQAIAMUACAAlAAgApQAIAGUACADlAAgAFQAIAJUACABVAAgA1QAIADUACAC1AAgAdQAIAPUACAANAAgAjQAIAE0ACADNAAgALQAIAK0ACABtAAgA7QAIAB0ACACdAAgAXQAIAN0ACAA9AAgAvQAIAH0ACAD9AAgAEwAJABMBCQCTAAkAkwEJAFMACQBTAQkA0wAJANMBCQAzAAkAMwEJALMACQCzAQkAcwAJAHMBCQDzAAkA8wEJAAsACQALAQkAiwAJAIsBCQBLAAkASwEJAMsACQDLAQkAKwAJACsBCQCrAAkAqwEJAGsACQBrAQkA6wAJAOsBCQAbAAkAGwEJAJsACQCbAQkAWwAJAFsBCQDbAAkA2wEJADsACQA7AQkAuwAJALsBCQB7AAkAewEJAPsACQD7AQkABwAJAAcBCQCHAAkAhwEJAEcACQBHAQkAxwAJAMcBCQAnAAkAJwEJAKcACQCnAQkAZwAJAGcBCQDnAAkA5wEJABcACQAXAQkAlwAJAJcBCQBXAAkAVwEJANcACQDXAQkANwAJADcBCQC3AAkAtwEJAHcACQB3AQkA9wAJAPcBCQAPAAkADwEJAI8ACQCPAQkATwAJAE8BCQDPAAkAzwEJAC8ACQAvAQkArwAJAK8BCQBvAAkAbwEJAO8ACQDvAQkAHwAJAB8BCQCfAAkAnwEJAF8ACQBfAQkA3wAJAN8BCQA/AAkAPwEJAL8ACQC/AQkAfwAJAH8BCQD/AAkA/wEJAAAABwBAAAcAIAAHAGAABwAQAAcAUAAHADAABwBwAAcACAAHAEgABwAoAAcAaAAHABgABwBYAAcAOAAHAHgABwAEAAcARAAHACQABwBkAAcAFAAHAFQABwA0AAcAdAAHAAMACACDAAgAQwAIAMMACAAjAAgAowAIAGMACADjAAgAAAAFABAABQAIAAUAGAAFAAQABQAUAAUADAAFABwABQACAAUAEgAFAAoABQAaAAUABgAFABYABQAOAAUAHgAFAAEABQARAAUACQAFABkABQAFAAUAFQAFAA0ABQAdAAUAAwAFABMABQALAAUAGwAFAAcABQAXAAUAQbDqAAtNAQAAAAEAAAABAAAAAQAAAAIAAAACAAAAAgAAAAIAAAADAAAAAwAAAAMAAAADAAAABAAAAAQAAAAEAAAABAAAAAUAAAAFAAAABQAAAAUAQaDrAAtlAQAAAAEAAAACAAAAAgAAAAMAAAADAAAABAAAAAQAAAAFAAAABQAAAAYAAAAGAAAABwAAAAcAAAAIAAAACAAAAAkAAAAJAAAACgAAAAoAAAALAAAACwAAAAwAAAAMAAAADQAAAA0AQdDsAAsjAgAAAAMAAAAHAAAAAAAAABAREgAIBwkGCgULBAwDDQIOAQ8AQYTtAAtpAQAAAAIAAAADAAAABAAAAAUAAAAGAAAABwAAAAgAAAAKAAAADAAAAA4AAAAQAAAAFAAAABgAAAAcAAAAIAAAACgAAAAwAAAAOAAAAEAAAABQAAAAYAAAAHAAAACAAAAAoAAAAMAAAADgAEGE7gALegEAAAACAAAAAwAAAAQAAAAGAAAACAAAAAwAAAAQAAAAGAAAACAAAAAwAAAAQAAAAGAAAACAAAAAwAAAAAABAACAAQAAAAIAAAADAAAABAAAAAYAAAAIAAAADAAAABAAAAAYAAAAIAAAADAAAABAAAAAYAAAMS4yLjExAEGI7wALbQcAAAAEAAQACAAEAAgAAAAEAAUAEAAIAAgAAAAEAAYAIAAgAAgAAAAEAAQAEAAQAAkAAAAIABAAIAAgAAkAAAAIABAAgACAAAkAAAAIACAAgAAAAQkAAAAgAIAAAgEABAkAAAAgAAIBAgEAEAkAQYDwAAulAgMABAAFAAYABwAIAAkACgALAA0ADwARABMAFwAbAB8AIwArADMAOwBDAFMAYwBzAIMAowDDAOMAAgEAAAAAAAAQABAAEAAQABAAEAAQABAAEQARABEAEQASABIAEgASABMAEwATABMAFAAUABQAFAAVABUAFQAVABAATQDKAAAAAQACAAMABAAFAAcACQANABEAGQAhADEAQQBhAIEAwQABAYEBAQIBAwEEAQYBCAEMARABGAEgATABQAFgAAAAABAAEAAQABAAEQARABIAEgATABMAFAAUABUAFQAWABYAFwAXABgAGAAZABkAGgAaABsAGwAcABwAHQAdAEAAQAAQABEAEgAAAAgABwAJAAYACgAFAAsABAAMAAMADQACAA4AAQAPAEGw8gALwRFgBwAAAAhQAAAIEAAUCHMAEgcfAAAIcAAACDAAAAnAABAHCgAACGAAAAggAAAJoAAACAAAAAiAAAAIQAAACeAAEAcGAAAIWAAACBgAAAmQABMHOwAACHgAAAg4AAAJ0AARBxEAAAhoAAAIKAAACbAAAAgIAAAIiAAACEgAAAnwABAHBAAACFQAAAgUABUI4wATBysAAAh0AAAINAAACcgAEQcNAAAIZAAACCQAAAmoAAAIBAAACIQAAAhEAAAJ6AAQBwgAAAhcAAAIHAAACZgAFAdTAAAIfAAACDwAAAnYABIHFwAACGwAAAgsAAAJuAAACAwAAAiMAAAITAAACfgAEAcDAAAIUgAACBIAFQijABMHIwAACHIAAAgyAAAJxAARBwsAAAhiAAAIIgAACaQAAAgCAAAIggAACEIAAAnkABAHBwAACFoAAAgaAAAJlAAUB0MAAAh6AAAIOgAACdQAEgcTAAAIagAACCoAAAm0AAAICgAACIoAAAhKAAAJ9AAQBwUAAAhWAAAIFgBACAAAEwczAAAIdgAACDYAAAnMABEHDwAACGYAAAgmAAAJrAAACAYAAAiGAAAIRgAACewAEAcJAAAIXgAACB4AAAmcABQHYwAACH4AAAg+AAAJ3AASBxsAAAhuAAAILgAACbwAAAgOAAAIjgAACE4AAAn8AGAHAAAACFEAAAgRABUIgwASBx8AAAhxAAAIMQAACcIAEAcKAAAIYQAACCEAAAmiAAAIAQAACIEAAAhBAAAJ4gAQBwYAAAhZAAAIGQAACZIAEwc7AAAIeQAACDkAAAnSABEHEQAACGkAAAgpAAAJsgAACAkAAAiJAAAISQAACfIAEAcEAAAIVQAACBUAEAgCARMHKwAACHUAAAg1AAAJygARBw0AAAhlAAAIJQAACaoAAAgFAAAIhQAACEUAAAnqABAHCAAACF0AAAgdAAAJmgAUB1MAAAh9AAAIPQAACdoAEgcXAAAIbQAACC0AAAm6AAAIDQAACI0AAAhNAAAJ+gAQBwMAAAhTAAAIEwAVCMMAEwcjAAAIcwAACDMAAAnGABEHCwAACGMAAAgjAAAJpgAACAMAAAiDAAAIQwAACeYAEAcHAAAIWwAACBsAAAmWABQHQwAACHsAAAg7AAAJ1gASBxMAAAhrAAAIKwAACbYAAAgLAAAIiwAACEsAAAn2ABAHBQAACFcAAAgXAEAIAAATBzMAAAh3AAAINwAACc4AEQcPAAAIZwAACCcAAAmuAAAIBwAACIcAAAhHAAAJ7gAQBwkAAAhfAAAIHwAACZ4AFAdjAAAIfwAACD8AAAneABIHGwAACG8AAAgvAAAJvgAACA8AAAiPAAAITwAACf4AYAcAAAAIUAAACBAAFAhzABIHHwAACHAAAAgwAAAJwQAQBwoAAAhgAAAIIAAACaEAAAgAAAAIgAAACEAAAAnhABAHBgAACFgAAAgYAAAJkQATBzsAAAh4AAAIOAAACdEAEQcRAAAIaAAACCgAAAmxAAAICAAACIgAAAhIAAAJ8QAQBwQAAAhUAAAIFAAVCOMAEwcrAAAIdAAACDQAAAnJABEHDQAACGQAAAgkAAAJqQAACAQAAAiEAAAIRAAACekAEAcIAAAIXAAACBwAAAmZABQHUwAACHwAAAg8AAAJ2QASBxcAAAhsAAAILAAACbkAAAgMAAAIjAAACEwAAAn5ABAHAwAACFIAAAgSABUIowATByMAAAhyAAAIMgAACcUAEQcLAAAIYgAACCIAAAmlAAAIAgAACIIAAAhCAAAJ5QAQBwcAAAhaAAAIGgAACZUAFAdDAAAIegAACDoAAAnVABIHEwAACGoAAAgqAAAJtQAACAoAAAiKAAAISgAACfUAEAcFAAAIVgAACBYAQAgAABMHMwAACHYAAAg2AAAJzQARBw8AAAhmAAAIJgAACa0AAAgGAAAIhgAACEYAAAntABAHCQAACF4AAAgeAAAJnQAUB2MAAAh+AAAIPgAACd0AEgcbAAAIbgAACC4AAAm9AAAIDgAACI4AAAhOAAAJ/QBgBwAAAAhRAAAIEQAVCIMAEgcfAAAIcQAACDEAAAnDABAHCgAACGEAAAghAAAJowAACAEAAAiBAAAIQQAACeMAEAcGAAAIWQAACBkAAAmTABMHOwAACHkAAAg5AAAJ0wARBxEAAAhpAAAIKQAACbMAAAgJAAAIiQAACEkAAAnzABAHBAAACFUAAAgVABAIAgETBysAAAh1AAAINQAACcsAEQcNAAAIZQAACCUAAAmrAAAIBQAACIUAAAhFAAAJ6wAQBwgAAAhdAAAIHQAACZsAFAdTAAAIfQAACD0AAAnbABIHFwAACG0AAAgtAAAJuwAACA0AAAiNAAAITQAACfsAEAcDAAAIUwAACBMAFQjDABMHIwAACHMAAAgzAAAJxwARBwsAAAhjAAAIIwAACacAAAgDAAAIgwAACEMAAAnnABAHBwAACFsAAAgbAAAJlwAUB0MAAAh7AAAIOwAACdcAEgcTAAAIawAACCsAAAm3AAAICwAACIsAAAhLAAAJ9wAQBwUAAAhXAAAIFwBACAAAEwczAAAIdwAACDcAAAnPABEHDwAACGcAAAgnAAAJrwAACAcAAAiHAAAIRwAACe8AEAcJAAAIXwAACB8AAAmfABQHYwAACH8AAAg/AAAJ3wASBxsAAAhvAAAILwAACb8AAAgPAAAIjwAACE8AAAn/ABAFAQAXBQEBEwURABsFARARBQUAGQUBBBUFQQAdBQFAEAUDABgFAQIUBSEAHAUBIBIFCQAaBQEIFgWBAEAFAAAQBQIAFwWBARMFGQAbBQEYEQUHABkFAQYVBWEAHQUBYBAFBAAYBQEDFAUxABwFATASBQ0AGgUBDBYFwQBABQAAEQAKABEREQAAAAAFAAAAAAAACQAAAAALAAAAAAAAAAARAA8KERERAwoHAAEACQsLAAAJBgsAAAsABhEAAAAREREAQYGEAQshCwAAAAAAAAAAEQAKChEREQAKAAACAAkLAAAACQALAAALAEG7hAELAQwAQceEAQsVDAAAAAAMAAAAAAkMAAAAAAAMAAAMAEH1hAELAQ4AQYGFAQsVDQAAAAQNAAAAAAkOAAAAAAAOAAAOAEGvhQELARAAQbuFAQseDwAAAAAPAAAAAAkQAAAAAAAQAAAQAAASAAAAEhISAEHyhQELDhIAAAASEhIAAAAAAAAJAEGjhgELAQsAQa+GAQsVCgAAAAAKAAAAAAkLAAAAAAALAAALAEHdhgELAQwAQemGAQsnDAAAAAAMAAAAAAkMAAAAAAAMAAAMAAAwMTIzNDU2Nzg5QUJDREVGAEG0hwELARkAQduHAQsF//////8AQaCIAQtXGRJEOwI/LEcUPTMwChsGRktFNw9JDo4XA0AdPGkrNh9KLRwBICUpIQgMFRYiLhA4Pgs0MRhkdHV2L0EJfzkRI0MyQomKiwUEJignDSoeNYwHGkiTE5SVAEGAiQELig5JbGxlZ2FsIGJ5dGUgc2VxdWVuY2UARG9tYWluIGVycm9yAFJlc3VsdCBub3QgcmVwcmVzZW50YWJsZQBOb3QgYSB0dHkAUGVybWlzc2lvbiBkZW5pZWQAT3BlcmF0aW9uIG5vdCBwZXJtaXR0ZWQATm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQBObyBzdWNoIHByb2Nlc3MARmlsZSBleGlzdHMAVmFsdWUgdG9vIGxhcmdlIGZvciBkYXRhIHR5cGUATm8gc3BhY2UgbGVmdCBvbiBkZXZpY2UAT3V0IG9mIG1lbW9yeQBSZXNvdXJjZSBidXN5AEludGVycnVwdGVkIHN5c3RlbSBjYWxsAFJlc291cmNlIHRlbXBvcmFyaWx5IHVuYXZhaWxhYmxlAEludmFsaWQgc2VlawBDcm9zcy1kZXZpY2UgbGluawBSZWFkLW9ubHkgZmlsZSBzeXN0ZW0ARGlyZWN0b3J5IG5vdCBlbXB0eQBDb25uZWN0aW9uIHJlc2V0IGJ5IHBlZXIAT3BlcmF0aW9uIHRpbWVkIG91dABDb25uZWN0aW9uIHJlZnVzZWQASG9zdCBpcyBkb3duAEhvc3QgaXMgdW5yZWFjaGFibGUAQWRkcmVzcyBpbiB1c2UAQnJva2VuIHBpcGUASS9PIGVycm9yAE5vIHN1Y2ggZGV2aWNlIG9yIGFkZHJlc3MAQmxvY2sgZGV2aWNlIHJlcXVpcmVkAE5vIHN1Y2ggZGV2aWNlAE5vdCBhIGRpcmVjdG9yeQBJcyBhIGRpcmVjdG9yeQBUZXh0IGZpbGUgYnVzeQBFeGVjIGZvcm1hdCBlcnJvcgBJbnZhbGlkIGFyZ3VtZW50AEFyZ3VtZW50IGxpc3QgdG9vIGxvbmcAU3ltYm9saWMgbGluayBsb29wAEZpbGVuYW1lIHRvbyBsb25nAFRvbyBtYW55IG9wZW4gZmlsZXMgaW4gc3lzdGVtAE5vIGZpbGUgZGVzY3JpcHRvcnMgYXZhaWxhYmxlAEJhZCBmaWxlIGRlc2NyaXB0b3IATm8gY2hpbGQgcHJvY2VzcwBCYWQgYWRkcmVzcwBGaWxlIHRvbyBsYXJnZQBUb28gbWFueSBsaW5rcwBObyBsb2NrcyBhdmFpbGFibGUAUmVzb3VyY2UgZGVhZGxvY2sgd291bGQgb2NjdXIAU3RhdGUgbm90IHJlY292ZXJhYmxlAFByZXZpb3VzIG93bmVyIGRpZWQAT3BlcmF0aW9uIGNhbmNlbGVkAEZ1bmN0aW9uIG5vdCBpbXBsZW1lbnRlZABObyBtZXNzYWdlIG9mIGRlc2lyZWQgdHlwZQBJZGVudGlmaWVyIHJlbW92ZWQARGV2aWNlIG5vdCBhIHN0cmVhbQBObyBkYXRhIGF2YWlsYWJsZQBEZXZpY2UgdGltZW91dABPdXQgb2Ygc3RyZWFtcyByZXNvdXJjZXMATGluayBoYXMgYmVlbiBzZXZlcmVkAFByb3RvY29sIGVycm9yAEJhZCBtZXNzYWdlAEZpbGUgZGVzY3JpcHRvciBpbiBiYWQgc3RhdGUATm90IGEgc29ja2V0AERlc3RpbmF0aW9uIGFkZHJlc3MgcmVxdWlyZWQATWVzc2FnZSB0b28gbGFyZ2UAUHJvdG9jb2wgd3JvbmcgdHlwZSBmb3Igc29ja2V0AFByb3RvY29sIG5vdCBhdmFpbGFibGUAUHJvdG9jb2wgbm90IHN1cHBvcnRlZABTb2NrZXQgdHlwZSBub3Qgc3VwcG9ydGVkAE5vdCBzdXBwb3J0ZWQAUHJvdG9jb2wgZmFtaWx5IG5vdCBzdXBwb3J0ZWQAQWRkcmVzcyBmYW1pbHkgbm90IHN1cHBvcnRlZCBieSBwcm90b2NvbABBZGRyZXNzIG5vdCBhdmFpbGFibGUATmV0d29yayBpcyBkb3duAE5ldHdvcmsgdW5yZWFjaGFibGUAQ29ubmVjdGlvbiByZXNldCBieSBuZXR3b3JrAENvbm5lY3Rpb24gYWJvcnRlZABObyBidWZmZXIgc3BhY2UgYXZhaWxhYmxlAFNvY2tldCBpcyBjb25uZWN0ZWQAU29ja2V0IG5vdCBjb25uZWN0ZWQAQ2Fubm90IHNlbmQgYWZ0ZXIgc29ja2V0IHNodXRkb3duAE9wZXJhdGlvbiBhbHJlYWR5IGluIHByb2dyZXNzAE9wZXJhdGlvbiBpbiBwcm9ncmVzcwBTdGFsZSBmaWxlIGhhbmRsZQBSZW1vdGUgSS9PIGVycm9yAFF1b3RhIGV4Y2VlZGVkAE5vIG1lZGl1bSBmb3VuZABXcm9uZyBtZWRpdW0gdHlwZQBObyBlcnJvciBpbmZvcm1hdGlvbgBBkJcBC1JQUFAACgAAAAsAAAAMAAAADQAAAA4AAAAPAAAAEAAAABEAAAASAAAACwAAAAwAAAANAAAADgAAAA8AAAAQAAAAEQAAAAEAAAAIAAAAlEsAALRLAEGQmQELAgxQAEHImQELCR8AAADkTAAAAwBB5JkBC4wBLfRRWM+MscBG9rXLKTEDxwRbcDC0Xf0geH+LmthZKVBoSImrp1YDbP+3zYg/1He0K6WjcPG65Kj8QYP92W/hinovLXSWBx8NCV4Ddixw90ClLKdvV0GoqnTfoFhkA0rHxDxTrq9fGAQVseNtKIarDKS/Q/DpUIE5VxZSN/////////////////////8=";y4(Rp)||(Rp=dxe(Rp));function Kxe(t){try{if(t==Rp&&lP)return new Uint8Array(lP);var e=s4(t);if(e)return e;if(aP)return aP(t);throw"sync fetching of the wasm failed: you can preload it to Module['wasmBinary'] manually, or emcc.py will do that for you when generating HTML (but not JS)"}catch(r){Gr(r)}}function Uxe(t,e){var r,i,n;try{n=Kxe(t),i=new WebAssembly.Module(n),r=new WebAssembly.Instance(i,e)}catch(o){var s=o.toString();throw Di("failed to compile wasm module: "+s),(s.includes("imported Memory")||s.includes("memory import"))&&Di("Memory size incompatibility issues may be due to changing INITIAL_MEMORY at runtime to something too large. Use ALLOW_MEMORY_GROWTH to allow any size memory (and also make sure not to set INITIAL_MEMORY at runtime to something smaller than it was at compile time)."),o}return[r,i]}function Gxe(){var t={a:Hxe};function e(n,s){var o=n.exports;oe.asm=o,ew=oe.asm.u,p4(ew.buffer),fP=oe.asm.za,Mxe(oe.asm.v),dP("wasm-instantiate")}if(E4("wasm-instantiate"),oe.instantiateWasm)try{var r=oe.instantiateWasm(t,e);return r}catch(n){return Di("Module.instantiateWasm callback failed with error: "+n),!1}var i=Uxe(Rp,t);return e(i[0]),oe.asm}var ai,ya;function hP(t){for(;t.length>0;){var e=t.shift();if(typeof e=="function"){e(oe);continue}var r=e.func;typeof r=="number"?e.arg===void 0?fP.get(r)():fP.get(r)(e.arg):r(e.arg===void 0?null:e.arg)}}function iw(t,e){var r=new Date(_e[t>>2]*1e3);_e[e>>2]=r.getUTCSeconds(),_e[e+4>>2]=r.getUTCMinutes(),_e[e+8>>2]=r.getUTCHours(),_e[e+12>>2]=r.getUTCDate(),_e[e+16>>2]=r.getUTCMonth(),_e[e+20>>2]=r.getUTCFullYear()-1900,_e[e+24>>2]=r.getUTCDay(),_e[e+36>>2]=0,_e[e+32>>2]=0;var i=Date.UTC(r.getUTCFullYear(),0,1,0,0,0,0),n=(r.getTime()-i)/(1e3*60*60*24)|0;return _e[e+28>>2]=n,iw.GMTString||(iw.GMTString=uP("GMT")),_e[e+40>>2]=iw.GMTString,e}function jxe(t,e){return iw(t,e)}var yt={splitPath:function(t){var e=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return e.exec(t).slice(1)},normalizeArray:function(t,e){for(var r=0,i=t.length-1;i>=0;i--){var n=t[i];n==="."?t.splice(i,1):n===".."?(t.splice(i,1),r++):r&&(t.splice(i,1),r--)}if(e)for(;r;r--)t.unshift("..");return t},normalize:function(t){var e=t.charAt(0)==="/",r=t.substr(-1)==="/";return t=yt.normalizeArray(t.split("/").filter(function(i){return!!i}),!e).join("/"),!t&&!e&&(t="."),t&&r&&(t+="/"),(e?"/":"")+t},dirname:function(t){var e=yt.splitPath(t),r=e[0],i=e[1];return!r&&!i?".":(i&&(i=i.substr(0,i.length-1)),r+i)},basename:function(t){if(t==="/")return"/";t=yt.normalize(t),t=t.replace(/\/$/,"");var e=t.lastIndexOf("/");return e===-1?t:t.substr(e+1)},extname:function(t){return yt.splitPath(t)[3]},join:function(){var t=Array.prototype.slice.call(arguments,0);return yt.normalize(t.join("/"))},join2:function(t,e){return yt.normalize(t+"/"+e)}};function Yxe(){if(typeof crypto=="object"&&typeof crypto.getRandomValues=="function"){var t=new Uint8Array(1);return function(){return crypto.getRandomValues(t),t[0]}}else if(Wl)try{var e=require("crypto");return function(){return e.randomBytes(1)[0]}}catch(r){}return function(){Gr("randomDevice")}}var wa={resolve:function(){for(var t="",e=!1,r=arguments.length-1;r>=-1&&!e;r--){var i=r>=0?arguments[r]:y.cwd();if(typeof i!="string")throw new TypeError("Arguments to path.resolve must be strings");if(!i)return"";t=i+"/"+t,e=i.charAt(0)==="/"}return t=yt.normalizeArray(t.split("/").filter(function(n){return!!n}),!e).join("/"),(e?"/":"")+t||"."},relative:function(t,e){t=wa.resolve(t).substr(1),e=wa.resolve(e).substr(1);function r(c){for(var u=0;u=0&&c[g]==="";g--);return u>g?[]:c.slice(u,g-u+1)}for(var i=r(t.split("/")),n=r(e.split("/")),s=Math.min(i.length,n.length),o=s,a=0;a0?e=i.slice(0,n).toString("utf-8"):e=null}else typeof window!="undefined"&&typeof window.prompt=="function"?(e=window.prompt("Input: "),e!==null&&(e+=` +`)):typeof readline=="function"&&(e=readline(),e!==null&&(e+=` +`));if(!e)return null;t.input=CP(e,!0)}return t.input.shift()},put_char:function(t,e){e===null||e===10?($y(Zu(t.output,0)),t.output=[]):e!=0&&t.output.push(e)},flush:function(t){t.output&&t.output.length>0&&($y(Zu(t.output,0)),t.output=[])}},default_tty1_ops:{put_char:function(t,e){e===null||e===10?(Di(Zu(t.output,0)),t.output=[]):e!=0&&t.output.push(e)},flush:function(t){t.output&&t.output.length>0&&(Di(Zu(t.output,0)),t.output=[])}}};function mP(t){for(var e=mxe(t,65536),r=h4(e);t=e)){var i=1024*1024;e=Math.max(e,r*(r>>0),r!=0&&(e=Math.max(e,256));var n=t.contents;t.contents=new Uint8Array(e),t.usedBytes>0&&t.contents.set(n.subarray(0,t.usedBytes),0)}},resizeFileStorage:function(t,e){if(t.usedBytes!=e)if(e==0)t.contents=null,t.usedBytes=0;else{var r=t.contents;t.contents=new Uint8Array(e),r&&t.contents.set(r.subarray(0,Math.min(e,t.usedBytes))),t.usedBytes=e}},node_ops:{getattr:function(t){var e={};return e.dev=y.isChrdev(t.mode)?t.id:1,e.ino=t.id,e.mode=t.mode,e.nlink=1,e.uid=0,e.gid=0,e.rdev=t.rdev,y.isDir(t.mode)?e.size=4096:y.isFile(t.mode)?e.size=t.usedBytes:y.isLink(t.mode)?e.size=t.link.length:e.size=0,e.atime=new Date(t.timestamp),e.mtime=new Date(t.timestamp),e.ctime=new Date(t.timestamp),e.blksize=4096,e.blocks=Math.ceil(e.size/e.blksize),e},setattr:function(t,e){e.mode!==void 0&&(t.mode=e.mode),e.timestamp!==void 0&&(t.timestamp=e.timestamp),e.size!==void 0&&pt.resizeFileStorage(t,e.size)},lookup:function(t,e){throw y.genericErrors[44]},mknod:function(t,e,r,i){return pt.createNode(t,e,r,i)},rename:function(t,e,r){if(y.isDir(t.mode)){var i;try{i=y.lookupNode(e,r)}catch(s){}if(i)for(var n in i.contents)throw new y.ErrnoError(55)}delete t.parent.contents[t.name],t.parent.timestamp=Date.now(),t.name=r,e.contents[r]=t,e.timestamp=t.parent.timestamp,t.parent=e},unlink:function(t,e){delete t.contents[e],t.timestamp=Date.now()},rmdir:function(t,e){var r=y.lookupNode(t,e);for(var i in r.contents)throw new y.ErrnoError(55);delete t.contents[e],t.timestamp=Date.now()},readdir:function(t){var e=[".",".."];for(var r in t.contents)!t.contents.hasOwnProperty(r)||e.push(r);return e},symlink:function(t,e,r){var i=pt.createNode(t,e,511|40960,0);return i.link=r,i},readlink:function(t){if(!y.isLink(t.mode))throw new y.ErrnoError(28);return t.link}},stream_ops:{read:function(t,e,r,i,n){var s=t.node.contents;if(n>=t.node.usedBytes)return 0;var o=Math.min(t.node.usedBytes-n,i);if(o>8&&s.subarray)e.set(s.subarray(n,n+o),r);else for(var a=0;a0||i+r>2)}catch(r){throw r.code?new y.ErrnoError(tt.convertNodeCode(r)):r}return e.mode},realPath:function(t){for(var e=[];t.parent!==t;)e.push(t.name),t=t.parent;return e.push(t.mount.opts.root),e.reverse(),yt.join.apply(null,e)},flagsForNode:function(t){t&=~2097152,t&=~2048,t&=~32768,t&=~524288;var e=0;for(var r in tt.flagsForNodeMap)t&r&&(e|=tt.flagsForNodeMap[r],t^=r);if(t)throw new y.ErrnoError(28);return e},node_ops:{getattr:function(t){var e=tt.realPath(t),r;try{r=ft.lstatSync(e)}catch(i){throw i.code?new y.ErrnoError(tt.convertNodeCode(i)):i}return tt.isWindows&&!r.blksize&&(r.blksize=4096),tt.isWindows&&!r.blocks&&(r.blocks=(r.size+r.blksize-1)/r.blksize|0),{dev:r.dev,ino:r.ino,mode:r.mode,nlink:r.nlink,uid:r.uid,gid:r.gid,rdev:r.rdev,size:r.size,atime:r.atime,mtime:r.mtime,ctime:r.ctime,blksize:r.blksize,blocks:r.blocks}},setattr:function(t,e){var r=tt.realPath(t);try{if(e.mode!==void 0&&(ft.chmodSync(r,e.mode),t.mode=e.mode),e.timestamp!==void 0){var i=new Date(e.timestamp);ft.utimesSync(r,i,i)}e.size!==void 0&&ft.truncateSync(r,e.size)}catch(n){throw n.code?new y.ErrnoError(tt.convertNodeCode(n)):n}},lookup:function(t,e){var r=yt.join2(tt.realPath(t),e),i=tt.getMode(r);return tt.createNode(t,e,i)},mknod:function(t,e,r,i){var n=tt.createNode(t,e,r,i),s=tt.realPath(n);try{y.isDir(n.mode)?ft.mkdirSync(s,n.mode):ft.writeFileSync(s,"",{mode:n.mode})}catch(o){throw o.code?new y.ErrnoError(tt.convertNodeCode(o)):o}return n},rename:function(t,e,r){var i=tt.realPath(t),n=yt.join2(tt.realPath(e),r);try{ft.renameSync(i,n)}catch(s){throw s.code?new y.ErrnoError(tt.convertNodeCode(s)):s}t.name=r},unlink:function(t,e){var r=yt.join2(tt.realPath(t),e);try{ft.unlinkSync(r)}catch(i){throw i.code?new y.ErrnoError(tt.convertNodeCode(i)):i}},rmdir:function(t,e){var r=yt.join2(tt.realPath(t),e);try{ft.rmdirSync(r)}catch(i){throw i.code?new y.ErrnoError(tt.convertNodeCode(i)):i}},readdir:function(t){var e=tt.realPath(t);try{return ft.readdirSync(e)}catch(r){throw r.code?new y.ErrnoError(tt.convertNodeCode(r)):r}},symlink:function(t,e,r){var i=yt.join2(tt.realPath(t),e);try{ft.symlinkSync(r,i)}catch(n){throw n.code?new y.ErrnoError(tt.convertNodeCode(n)):n}},readlink:function(t){var e=tt.realPath(t);try{return e=ft.readlinkSync(e),e=EP.relative(EP.resolve(t.mount.opts.root),e),e}catch(r){throw r.code?new y.ErrnoError(tt.convertNodeCode(r)):r}}},stream_ops:{open:function(t){var e=tt.realPath(t.node);try{y.isFile(t.node.mode)&&(t.nfd=ft.openSync(e,tt.flagsForNode(t.flags)))}catch(r){throw r.code?new y.ErrnoError(tt.convertNodeCode(r)):r}},close:function(t){try{y.isFile(t.node.mode)&&t.nfd&&ft.closeSync(t.nfd)}catch(e){throw e.code?new y.ErrnoError(tt.convertNodeCode(e)):e}},read:function(t,e,r,i,n){if(i===0)return 0;try{return ft.readSync(t.nfd,tt.bufferFrom(e.buffer),r,i,n)}catch(s){throw new y.ErrnoError(tt.convertNodeCode(s))}},write:function(t,e,r,i,n){try{return ft.writeSync(t.nfd,tt.bufferFrom(e.buffer),r,i,n)}catch(s){throw new y.ErrnoError(tt.convertNodeCode(s))}},llseek:function(t,e,r){var i=e;if(r===1)i+=t.position;else if(r===2&&y.isFile(t.node.mode))try{var n=ft.fstatSync(t.nfd);i+=n.size}catch(s){throw new y.ErrnoError(tt.convertNodeCode(s))}if(i<0)throw new y.ErrnoError(28);return i},mmap:function(t,e,r,i,n,s){if(e!==0)throw new y.ErrnoError(28);if(!y.isFile(t.node.mode))throw new y.ErrnoError(43);var o=mP(r);return tt.stream_ops.read(t,Zi,o,r,i),{ptr:o,allocated:!0}},msync:function(t,e,r,i,n){if(!y.isFile(t.node.mode))throw new y.ErrnoError(43);if(n&2)return 0;var s=tt.stream_ops.write(t,e,0,i,r,!1);return 0}}},w4={lookupPath:function(t){return{path:t,node:{mode:tt.getMode(t)}}},createStandardStreams:function(){y.streams[0]={fd:0,nfd:0,position:0,path:"",flags:0,tty:!0,seekable:!1};for(var t=1;t<3;t++)y.streams[t]={fd:t,nfd:t,position:0,path:"",flags:577,tty:!0,seekable:!1}},cwd:function(){return process.cwd()},chdir:function(){process.chdir.apply(void 0,arguments)},mknod:function(t,e){y.isDir(t)?ft.mkdirSync(t,e):ft.writeFileSync(t,"",{mode:e})},mkdir:function(){ft.mkdirSync.apply(void 0,arguments)},symlink:function(){ft.symlinkSync.apply(void 0,arguments)},rename:function(){ft.renameSync.apply(void 0,arguments)},rmdir:function(){ft.rmdirSync.apply(void 0,arguments)},readdir:function(){ft.readdirSync.apply(void 0,arguments)},unlink:function(){ft.unlinkSync.apply(void 0,arguments)},readlink:function(){return ft.readlinkSync.apply(void 0,arguments)},stat:function(){return ft.statSync.apply(void 0,arguments)},lstat:function(){return ft.lstatSync.apply(void 0,arguments)},chmod:function(){ft.chmodSync.apply(void 0,arguments)},fchmod:function(){ft.fchmodSync.apply(void 0,arguments)},chown:function(){ft.chownSync.apply(void 0,arguments)},fchown:function(){ft.fchownSync.apply(void 0,arguments)},truncate:function(){ft.truncateSync.apply(void 0,arguments)},ftruncate:function(t,e){if(e<0)throw new y.ErrnoError(28);ft.ftruncateSync.apply(void 0,arguments)},utime:function(){ft.utimesSync.apply(void 0,arguments)},open:function(t,e,r,i){typeof e=="string"&&(e=Vl.modeStringToFlags(e));var n=ft.openSync(t,tt.flagsForNode(e),r),s=i!=null?i:y.nextfd(n),o={fd:s,nfd:n,position:0,path:t,flags:e,seekable:!0};return y.streams[s]=o,o},close:function(t){t.stream_ops||ft.closeSync(t.nfd),y.closeStream(t.fd)},llseek:function(t,e,r){if(t.stream_ops)return Vl.llseek(t,e,r);var i=e;if(r===1)i+=t.position;else if(r===2)i+=ft.fstatSync(t.nfd).size;else if(r!==0)throw new y.ErrnoError(eg.EINVAL);if(i<0)throw new y.ErrnoError(eg.EINVAL);return t.position=i,i},read:function(t,e,r,i,n){if(t.stream_ops)return Vl.read(t,e,r,i,n);var s=typeof n!="undefined";!s&&t.seekable&&(n=t.position);var o=ft.readSync(t.nfd,tt.bufferFrom(e.buffer),r,i,n);return s||(t.position+=o),o},write:function(t,e,r,i,n){if(t.stream_ops)return Vl.write(t,e,r,i,n);t.flags&+"1024"&&y.llseek(t,0,+"2");var s=typeof n!="undefined";!s&&t.seekable&&(n=t.position);var o=ft.writeSync(t.nfd,tt.bufferFrom(e.buffer),r,i,n);return s||(t.position+=o),o},allocate:function(){throw new y.ErrnoError(eg.EOPNOTSUPP)},mmap:function(t,e,r,i,n,s){if(t.stream_ops)return Vl.mmap(t,e,r,i,n,s);if(e!==0)throw new y.ErrnoError(28);var o=mP(r);return y.read(t,Zi,o,r,i),{ptr:o,allocated:!0}},msync:function(t,e,r,i,n){return t.stream_ops?Vl.msync(t,e,r,i,n):(n&2||y.write(t,e,0,i,r),0)},munmap:function(){return 0},ioctl:function(){throw new y.ErrnoError(eg.ENOTTY)}},y={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,lookupPath:function(t,e){if(t=wa.resolve(y.cwd(),t),e=e||{},!t)return{path:"",node:null};var r={follow_mount:!0,recurse_count:0};for(var i in r)e[i]===void 0&&(e[i]=r[i]);if(e.recurse_count>8)throw new y.ErrnoError(32);for(var n=yt.normalizeArray(t.split("/").filter(function(f){return!!f}),!1),s=y.root,o="/",a=0;a40)throw new y.ErrnoError(32)}}return{path:o,node:s}},getPath:function(t){for(var e;;){if(y.isRoot(t)){var r=t.mount.mountpoint;return e?r[r.length-1]!=="/"?r+"/"+e:r+e:r}e=e?t.name+"/"+e:t.name,t=t.parent}},hashName:function(t,e){for(var r=0,i=0;i>>0)%y.nameTable.length},hashAddNode:function(t){var e=y.hashName(t.parent.id,t.name);t.name_next=y.nameTable[e],y.nameTable[e]=t},hashRemoveNode:function(t){var e=y.hashName(t.parent.id,t.name);if(y.nameTable[e]===t)y.nameTable[e]=t.name_next;else for(var r=y.nameTable[e];r;){if(r.name_next===t){r.name_next=t.name_next;break}r=r.name_next}},lookupNode:function(t,e){var r=y.mayLookup(t);if(r)throw new y.ErrnoError(r,t);for(var i=y.hashName(t.id,e),n=y.nameTable[i];n;n=n.name_next){var s=n.name;if(n.parent.id===t.id&&s===e)return n}return y.lookup(t,e)},createNode:function(t,e,r,i){var n=new y.FSNode(t,e,r,i);return y.hashAddNode(n),n},destroyNode:function(t){y.hashRemoveNode(t)},isRoot:function(t){return t===t.parent},isMountpoint:function(t){return!!t.mounted},isFile:function(t){return(t&61440)==32768},isDir:function(t){return(t&61440)==16384},isLink:function(t){return(t&61440)==40960},isChrdev:function(t){return(t&61440)==8192},isBlkdev:function(t){return(t&61440)==24576},isFIFO:function(t){return(t&61440)==4096},isSocket:function(t){return(t&49152)==49152},flagModes:{r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090},modeStringToFlags:function(t){var e=y.flagModes[t];if(typeof e=="undefined")throw new Error("Unknown file open mode: "+t);return e},flagsToPermissionString:function(t){var e=["r","w","rw"][t&3];return t&512&&(e+="w"),e},nodePermissions:function(t,e){return y.ignorePermissions?0:e.includes("r")&&!(t.mode&292)||e.includes("w")&&!(t.mode&146)||e.includes("x")&&!(t.mode&73)?2:0},mayLookup:function(t){var e=y.nodePermissions(t,"x");return e||(t.node_ops.lookup?0:2)},mayCreate:function(t,e){try{var r=y.lookupNode(t,e);return 20}catch(i){}return y.nodePermissions(t,"wx")},mayDelete:function(t,e,r){var i;try{i=y.lookupNode(t,e)}catch(s){return s.errno}var n=y.nodePermissions(t,"wx");if(n)return n;if(r){if(!y.isDir(i.mode))return 54;if(y.isRoot(i)||y.getPath(i)===y.cwd())return 10}else if(y.isDir(i.mode))return 31;return 0},mayOpen:function(t,e){return t?y.isLink(t.mode)?32:y.isDir(t.mode)&&(y.flagsToPermissionString(e)!=="r"||e&512)?31:y.nodePermissions(t,y.flagsToPermissionString(e)):44},MAX_OPEN_FDS:4096,nextfd:function(t,e){t=t||0,e=e||y.MAX_OPEN_FDS;for(var r=t;r<=e;r++)if(!y.streams[r])return r;throw new y.ErrnoError(33)},getStream:function(t){return y.streams[t]},createStream:function(t,e,r){y.FSStream||(y.FSStream=function(){},y.FSStream.prototype={object:{get:function(){return this.node},set:function(o){this.node=o}},isRead:{get:function(){return(this.flags&2097155)!=1}},isWrite:{get:function(){return(this.flags&2097155)!=0}},isAppend:{get:function(){return this.flags&1024}}});var i=new y.FSStream;for(var n in t)i[n]=t[n];t=i;var s=y.nextfd(e,r);return t.fd=s,y.streams[s]=t,t},closeStream:function(t){y.streams[t]=null},chrdev_stream_ops:{open:function(t){var e=y.getDevice(t.node.rdev);t.stream_ops=e.stream_ops,t.stream_ops.open&&t.stream_ops.open(t)},llseek:function(){throw new y.ErrnoError(70)}},major:function(t){return t>>8},minor:function(t){return t&255},makedev:function(t,e){return t<<8|e},registerDevice:function(t,e){y.devices[t]={stream_ops:e}},getDevice:function(t){return y.devices[t]},getMounts:function(t){for(var e=[],r=[t];r.length;){var i=r.pop();e.push(i),r.push.apply(r,i.mounts)}return e},syncfs:function(t,e){typeof t=="function"&&(e=t,t=!1),y.syncFSRequests++,y.syncFSRequests>1&&Di("warning: "+y.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work");var r=y.getMounts(y.root.mount),i=0;function n(o){return y.syncFSRequests--,e(o)}function s(o){if(o)return s.errored?void 0:(s.errored=!0,n(o));++i>=r.length&&n(null)}r.forEach(function(o){if(!o.type.syncfs)return s(null);o.type.syncfs(o,t,s)})},mount:function(t,e,r){var i=r==="/",n=!r,s;if(i&&y.root)throw new y.ErrnoError(10);if(!i&&!n){var o=y.lookupPath(r,{follow_mount:!1});if(r=o.path,s=o.node,y.isMountpoint(s))throw new y.ErrnoError(10);if(!y.isDir(s.mode))throw new y.ErrnoError(54)}var a={type:t,opts:e,mountpoint:r,mounts:[]},l=t.mount(a);return l.mount=a,a.root=l,i?y.root=l:s&&(s.mounted=a,s.mount&&s.mount.mounts.push(a)),l},unmount:function(t){var e=y.lookupPath(t,{follow_mount:!1});if(!y.isMountpoint(e.node))throw new y.ErrnoError(28);var r=e.node,i=r.mounted,n=y.getMounts(i);Object.keys(y.nameTable).forEach(function(o){for(var a=y.nameTable[o];a;){var l=a.name_next;n.includes(a.mount)&&y.destroyNode(a),a=l}}),r.mounted=null;var s=r.mount.mounts.indexOf(i);r.mount.mounts.splice(s,1)},lookup:function(t,e){return t.node_ops.lookup(t,e)},mknod:function(t,e,r){var i=y.lookupPath(t,{parent:!0}),n=i.node,s=yt.basename(t);if(!s||s==="."||s==="..")throw new y.ErrnoError(28);var o=y.mayCreate(n,s);if(o)throw new y.ErrnoError(o);if(!n.node_ops.mknod)throw new y.ErrnoError(63);return n.node_ops.mknod(n,s,e,r)},create:function(t,e){return e=e!==void 0?e:438,e&=4095,e|=32768,y.mknod(t,e,0)},mkdir:function(t,e){return e=e!==void 0?e:511,e&=511|512,e|=16384,y.mknod(t,e,0)},mkdirTree:function(t,e){for(var r=t.split("/"),i="",n=0;nthis.length-1||f<0)){var h=f%this.chunkSize,p=f/this.chunkSize|0;return this.getter(p)[h]}},s.prototype.setDataGetter=function(f){this.getter=f},s.prototype.cacheLength=function(){var f=new XMLHttpRequest;if(f.open("HEAD",r,!1),f.send(null),!(f.status>=200&&f.status<300||f.status===304))throw new Error("Couldn't load "+r+". Status: "+f.status);var h=Number(f.getResponseHeader("Content-length")),p,d=(p=f.getResponseHeader("Accept-Ranges"))&&p==="bytes",m=(p=f.getResponseHeader("Content-Encoding"))&&p==="gzip",I=1024*1024;d||(I=h);var B=function(R,H){if(R>H)throw new Error("invalid range ("+R+", "+H+") or no bytes requested!");if(H>h-1)throw new Error("only "+h+" bytes available! programmer error!");var L=new XMLHttpRequest;if(L.open("GET",r,!1),h!==I&&L.setRequestHeader("Range","bytes="+R+"-"+H),typeof Uint8Array!="undefined"&&(L.responseType="arraybuffer"),L.overrideMimeType&&L.overrideMimeType("text/plain; charset=x-user-defined"),L.send(null),!(L.status>=200&&L.status<300||L.status===304))throw new Error("Couldn't load "+r+". Status: "+L.status);return L.response!==void 0?new Uint8Array(L.response||[]):CP(L.responseText||"",!0)},b=this;b.setDataGetter(function(R){var H=R*I,L=(R+1)*I-1;if(L=Math.min(L,h-1),typeof b.chunks[R]=="undefined"&&(b.chunks[R]=B(H,L)),typeof b.chunks[R]=="undefined")throw new Error("doXHR failed!");return b.chunks[R]}),(m||!h)&&(I=h=1,h=this.getter(0).length,I=h,$y("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=h,this._chunkSize=I,this.lengthKnown=!0},typeof XMLHttpRequest!="undefined"){if(!i4)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var o=new s;Object.defineProperties(o,{length:{get:function(){return this.lengthKnown||this.cacheLength(),this._length}},chunkSize:{get:function(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}});var a={isDevice:!1,contents:o}}else var a={isDevice:!1,url:r};var l=y.createFile(t,e,a,i,n);a.contents?l.contents=a.contents:a.url&&(l.contents=null,l.url=a.url),Object.defineProperties(l,{usedBytes:{get:function(){return this.contents.length}}});var c={},u=Object.keys(l.stream_ops);return u.forEach(function(g){var f=l.stream_ops[g];c[g]=function(){return y.forceLoadFile(l),f.apply(null,arguments)}}),c.read=function(f,h,p,d,m){y.forceLoadFile(l);var I=f.node.contents;if(m>=I.length)return 0;var B=Math.min(I.length-m,d);if(I.slice)for(var b=0;b>2]=i.dev,_e[r+4>>2]=0,_e[r+8>>2]=i.ino,_e[r+12>>2]=i.mode,_e[r+16>>2]=i.nlink,_e[r+20>>2]=i.uid,_e[r+24>>2]=i.gid,_e[r+28>>2]=i.rdev,_e[r+32>>2]=0,ya=[i.size>>>0,(ai=i.size,+Math.abs(ai)>=1?ai>0?(Math.min(+Math.floor(ai/4294967296),4294967295)|0)>>>0:~~+Math.ceil((ai-+(~~ai>>>0))/4294967296)>>>0:0)],_e[r+40>>2]=ya[0],_e[r+44>>2]=ya[1],_e[r+48>>2]=4096,_e[r+52>>2]=i.blocks,_e[r+56>>2]=i.atime.getTime()/1e3|0,_e[r+60>>2]=0,_e[r+64>>2]=i.mtime.getTime()/1e3|0,_e[r+68>>2]=0,_e[r+72>>2]=i.ctime.getTime()/1e3|0,_e[r+76>>2]=0,ya=[i.ino>>>0,(ai=i.ino,+Math.abs(ai)>=1?ai>0?(Math.min(+Math.floor(ai/4294967296),4294967295)|0)>>>0:~~+Math.ceil((ai-+(~~ai>>>0))/4294967296)>>>0:0)],_e[r+80>>2]=ya[0],_e[r+84>>2]=ya[1],0},doMsync:function(t,e,r,i,n){var s=$u.slice(t,t+r);y.msync(e,s,n,r,i)},doMkdir:function(t,e){return t=yt.normalize(t),t[t.length-1]==="/"&&(t=t.substr(0,t.length-1)),y.mkdir(t,e,0),0},doMknod:function(t,e,r){switch(e&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-28}return y.mknod(t,e,r),0},doReadlink:function(t,e,r){if(r<=0)return-28;var i=y.readlink(t),n=Math.min(r,rw(i)),s=Zi[e+n];return u4(i,e,r+1),Zi[e+n]=s,n},doAccess:function(t,e){if(e&~7)return-28;var r,i=y.lookupPath(t,{follow:!0});if(r=i.node,!r)return-44;var n="";return e&4&&(n+="r"),e&2&&(n+="w"),e&1&&(n+="x"),n&&y.nodePermissions(r,n)?-2:0},doDup:function(t,e,r){var i=y.getStream(r);return i&&y.close(i),y.open(t,e,0,r,r).fd},doReadv:function(t,e,r,i){for(var n=0,s=0;s>2],a=_e[e+(s*8+4)>>2],l=y.read(t,Zi,o,a,i);if(l<0)return-1;if(n+=l,l>2],a=_e[e+(s*8+4)>>2],l=y.write(t,Zi,o,a,i);if(l<0)return-1;n+=l}return n},varargs:void 0,get:function(){Ot.varargs+=4;var t=_e[Ot.varargs-4>>2];return t},getStr:function(t){var e=c4(t);return e},getStreamFromFD:function(t){var e=y.getStream(t);if(!e)throw new y.ErrnoError(8);return e},get64:function(t,e){return t}};function qxe(t,e){try{return t=Ot.getStr(t),y.chmod(t,e),0}catch(r){return(typeof y=="undefined"||!(r instanceof y.ErrnoError))&&Gr(r),-r.errno}}function Wxe(t){return _e[Jxe()>>2]=t,t}function zxe(t,e,r){Ot.varargs=r;try{var i=Ot.getStreamFromFD(t);switch(e){case 0:{var n=Ot.get();if(n<0)return-28;var s;return s=y.open(i.path,i.flags,0,n),s.fd}case 1:case 2:return 0;case 3:return i.flags;case 4:{var n=Ot.get();return i.flags|=n,0}case 12:{var n=Ot.get(),o=0;return cP[n+o>>1]=2,0}case 13:case 14:return 0;case 16:case 8:return-28;case 9:return Wxe(28),-1;default:return-28}}catch(a){return(typeof y=="undefined"||!(a instanceof y.ErrnoError))&&Gr(a),-a.errno}}function Vxe(t,e){try{var r=Ot.getStreamFromFD(t);return Ot.doStat(y.stat,r.path,e)}catch(i){return(typeof y=="undefined"||!(i instanceof y.ErrnoError))&&Gr(i),-i.errno}}function _xe(t,e,r){Ot.varargs=r;try{var i=Ot.getStreamFromFD(t);switch(e){case 21509:case 21505:return i.tty?0:-59;case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:return i.tty?0:-59;case 21519:{if(!i.tty)return-59;var n=Ot.get();return _e[n>>2]=0,0}case 21520:return i.tty?-28:-59;case 21531:{var n=Ot.get();return y.ioctl(i,e,n)}case 21523:return i.tty?0:-59;case 21524:return i.tty?0:-59;default:Gr("bad ioctl syscall "+e)}}catch(s){return(typeof y=="undefined"||!(s instanceof y.ErrnoError))&&Gr(s),-s.errno}}function Xxe(t,e,r){Ot.varargs=r;try{var i=Ot.getStr(t),n=r?Ot.get():0,s=y.open(i,e,n);return s.fd}catch(o){return(typeof y=="undefined"||!(o instanceof y.ErrnoError))&&Gr(o),-o.errno}}function Zxe(t,e){try{return t=Ot.getStr(t),e=Ot.getStr(e),y.rename(t,e),0}catch(r){return(typeof y=="undefined"||!(r instanceof y.ErrnoError))&&Gr(r),-r.errno}}function $xe(t){try{return t=Ot.getStr(t),y.rmdir(t),0}catch(e){return(typeof y=="undefined"||!(e instanceof y.ErrnoError))&&Gr(e),-e.errno}}function eke(t,e){try{return t=Ot.getStr(t),Ot.doStat(y.stat,t,e)}catch(r){return(typeof y=="undefined"||!(r instanceof y.ErrnoError))&&Gr(r),-r.errno}}function tke(t){try{return t=Ot.getStr(t),y.unlink(t),0}catch(e){return(typeof y=="undefined"||!(e instanceof y.ErrnoError))&&Gr(e),-e.errno}}function rke(t,e,r){$u.copyWithin(t,e,e+r)}function ike(t){try{return ew.grow(t-gP.byteLength+65535>>>16),p4(ew.buffer),1}catch(e){}}function nke(t){var e=$u.length;t=t>>>0;var r=2147483648;if(t>r)return!1;for(var i=1;i<=4;i*=2){var n=e*(1+.2/i);n=Math.min(n,t+100663296);var s=Math.min(r,xxe(Math.max(t,n),65536)),o=ike(s);if(o)return!0}return!1}function ske(t){try{var e=Ot.getStreamFromFD(t);return y.close(e),0}catch(r){return(typeof y=="undefined"||!(r instanceof y.ErrnoError))&&Gr(r),r.errno}}function oke(t,e){try{var r=Ot.getStreamFromFD(t),i=r.tty?2:y.isDir(r.mode)?3:y.isLink(r.mode)?7:4;return Zi[e>>0]=i,0}catch(n){return(typeof y=="undefined"||!(n instanceof y.ErrnoError))&&Gr(n),n.errno}}function ake(t,e,r,i){try{var n=Ot.getStreamFromFD(t),s=Ot.doReadv(n,e,r);return _e[i>>2]=s,0}catch(o){return(typeof y=="undefined"||!(o instanceof y.ErrnoError))&&Gr(o),o.errno}}function Ake(t,e,r,i,n){try{var s=Ot.getStreamFromFD(t),o=4294967296,a=r*o+(e>>>0),l=9007199254740992;return a<=-l||a>=l?-61:(y.llseek(s,a,i),ya=[s.position>>>0,(ai=s.position,+Math.abs(ai)>=1?ai>0?(Math.min(+Math.floor(ai/4294967296),4294967295)|0)>>>0:~~+Math.ceil((ai-+(~~ai>>>0))/4294967296)>>>0:0)],_e[n>>2]=ya[0],_e[n+4>>2]=ya[1],s.getdents&&a===0&&i===0&&(s.getdents=null),0)}catch(c){return(typeof y=="undefined"||!(c instanceof y.ErrnoError))&&Gr(c),c.errno}}function lke(t,e,r,i){try{var n=Ot.getStreamFromFD(t),s=Ot.doWritev(n,e,r);return _e[i>>2]=s,0}catch(o){return(typeof y=="undefined"||!(o instanceof y.ErrnoError))&&Gr(o),o.errno}}function cke(t){Ixe(t)}function uke(t){var e=Date.now()/1e3|0;return t&&(_e[t>>2]=e),e}function IP(){if(IP.called)return;IP.called=!0;var t=new Date().getFullYear(),e=new Date(t,0,1),r=new Date(t,6,1),i=e.getTimezoneOffset(),n=r.getTimezoneOffset(),s=Math.max(i,n);_e[fke()>>2]=s*60,_e[gke()>>2]=Number(i!=n);function o(g){var f=g.toTimeString().match(/\(([A-Za-z ]+)\)$/);return f?f[1]:"GMT"}var a=o(e),l=o(r),c=uP(a),u=uP(l);n>2]=c,_e[nw()+4>>2]=u):(_e[nw()>>2]=u,_e[nw()+4>>2]=c)}function hke(t){IP();var e=Date.UTC(_e[t+20>>2]+1900,_e[t+16>>2],_e[t+12>>2],_e[t+8>>2],_e[t+4>>2],_e[t>>2],0),r=new Date(e);_e[t+24>>2]=r.getUTCDay();var i=Date.UTC(r.getUTCFullYear(),0,1,0,0,0,0),n=(r.getTime()-i)/(1e3*60*60*24)|0;return _e[t+28>>2]=n,r.getTime()/1e3|0}var B4=function(t,e,r,i){t||(t=this),this.parent=t,this.mount=t.mount,this.mounted=null,this.id=y.nextInode++,this.name=e,this.mode=r,this.node_ops={},this.stream_ops={},this.rdev=i},sw=292|73,ow=146;Object.defineProperties(B4.prototype,{read:{get:function(){return(this.mode&sw)===sw},set:function(t){t?this.mode|=sw:this.mode&=~sw}},write:{get:function(){return(this.mode&ow)===ow},set:function(t){t?this.mode|=ow:this.mode&=~ow}},isFolder:{get:function(){return y.isDir(this.mode)}},isDevice:{get:function(){return y.isChrdev(this.mode)}}});y.FSNode=B4;y.staticInit();Wl&&(ft=e4,EP=require("path"),tt.staticInit());var ft,EP;if(Wl){Q4=function(t){return function(){try{return t.apply(this,arguments)}catch(e){throw e.code?new y.ErrnoError(eg[e.code]):e}}},Vl=Object.assign({},y);for(yP in w4)y[yP]=Q4(w4[yP])}else throw new Error("NODERAWFS is currently only supported on Node.js environment.");var Q4,Vl,yP;function CP(t,e,r){var i=r>0?r:rw(t)+1,n=new Array(i),s=tw(t,n,0,n.length);return e&&(n.length=s),n}var pke=typeof atob=="function"?atob:function(t){var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",r="",i,n,s,o,a,l,c,u=0;t=t.replace(/[^A-Za-z0-9\+\/\=]/g,"");do o=e.indexOf(t.charAt(u++)),a=e.indexOf(t.charAt(u++)),l=e.indexOf(t.charAt(u++)),c=e.indexOf(t.charAt(u++)),i=o<<2|a>>4,n=(a&15)<<4|l>>2,s=(l&3)<<6|c,r=r+String.fromCharCode(i),l!==64&&(r=r+String.fromCharCode(n)),c!==64&&(r=r+String.fromCharCode(s));while(u0||(Fxe(),zl>0))return;function e(){aw||(aw=!0,oe.calledRun=!0,!A4&&(Nxe(),oe.onRuntimeInitialized&&oe.onRuntimeInitialized(),Txe()))}oe.setStatus?(oe.setStatus("Running..."),setTimeout(function(){setTimeout(function(){oe.setStatus("")},1),e()},1)):e()}oe.run=wP;if(oe.preInit)for(typeof oe.preInit=="function"&&(oe.preInit=[oe.preInit]);oe.preInit.length>0;)oe.preInit.pop()();wP()});var x4=E((Dot,S4)=>{"use strict";function Cke(t,e){function r(){this.constructor=t}r.prototype=e.prototype,t.prototype=new r}function _l(t,e,r,i){this.message=t,this.expected=e,this.found=r,this.location=i,this.name="SyntaxError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,_l)}Cke(_l,Error);_l.buildMessage=function(t,e){var r={literal:function(c){return'"'+n(c.text)+'"'},class:function(c){var u="",g;for(g=0;g0){for(g=1,f=1;g>",ee=At(">>",!1),Ue=">&",Oe=At(">&",!1),vt=">",dt=At(">",!1),ri="<<<",ii=At("<<<",!1),an="<&",yr=At("<&",!1),Ki="<",Qi=At("<",!1),Go=function(C){return{type:"argument",segments:[].concat(...C)}},wr=function(C){return C},Ui="'",ws=At("'",!1),Tf=function(C){return[{type:"text",text:C}]},Mf='"',Rm=At('"',!1),Fm=function(C){return C},Nm=function(C){return{type:"arithmetic",arithmetic:C,quoted:!0}},DQ=function(C){return{type:"shell",shell:C,quoted:!0}},RQ=function(C){return _(P({type:"variable"},C),{quoted:!0})},Of=function(C){return{type:"text",text:C}},FQ=function(C){return{type:"arithmetic",arithmetic:C,quoted:!1}},NQ=function(C){return{type:"shell",shell:C,quoted:!1}},Lm=function(C){return _(P({type:"variable"},C),{quoted:!1})},LQ=function(C){return{type:"glob",pattern:C}},Va="\\",jo=At("\\",!1),Tm=/^[\\']/,Mm=Qs(["\\","'"],!1,!1),te=function(C){return C},Om=/^[^']/,Km=Qs(["'"],!0,!1),il=function(C){return C.join("")},Um=/^[\\$"]/,Hm=Qs(["\\","$",'"'],!1,!1),Kf=/^[^$"]/,Gm=Qs(["$",'"'],!0,!1),jm="\\0",TQ=At("\\0",!1),MQ=function(){return"\0"},Ym="\\a",qm=At("\\a",!1),Jm=function(){return"a"},Wm="\\b",zm=At("\\b",!1),Vm=function(){return"\b"},Uf="\\e",OQ=At("\\e",!1),KQ=function(){return""},_m="\\f",UQ=At("\\f",!1),HQ=function(){return"\f"},O="\\n",ht=At("\\n",!1),Vc=function(){return` +`},xn="\\r",Hf=At("\\r",!1),Ye=function(){return"\r"},nl="\\t",Xm=At("\\t",!1),MM=function(){return" "},GQ="\\v",OM=At("\\v",!1),fr=function(){return"\v"},Bs="\\x",jQ=At("\\x",!1),Zm=function(C){return String.fromCharCode(parseInt(C,16))},Yo="\\u",$m=At("\\u",!1),_a="\\U",et=At("\\U",!1),YQ=function(C){return String.fromCodePoint(parseInt(C,16))},eE=/^[0-9a-fA-f]/,tE=Qs([["0","9"],["a","f"],["A","f"]],!1,!1),Xa=Cfe(),sl="-",ol=At("-",!1),al="+",qo=At("+",!1),Al=".",qQ=At(".",!1),rE=function(C,Q,k){return{type:"number",value:(C==="-"?-1:1)*parseFloat(Q.join("")+"."+k.join(""))}},iE=function(C,Q){return{type:"number",value:(C==="-"?-1:1)*parseInt(Q.join(""))}},JQ=function(C){return P({type:"variable"},C)},ll=function(C){return{type:"variable",name:C}},WQ=function(C){return C},nE="*",Gf=At("*",!1),_c="/",jf=At("/",!1),sE=function(C,Q,k){return{type:Q==="*"?"multiplication":"division",right:k}},cl=function(C,Q){return Q.reduce((k,N)=>P({left:k},N),C)},oE=function(C,Q,k){return{type:Q==="+"?"addition":"subtraction",right:k}},Yf="$((",Xc=At("$((",!1),xr="))",KM=At("))",!1),Jo=function(C){return C},Zs="$(",aE=At("$(",!1),Zc=function(C){return C},x="${",U=At("${",!1),le=":-",xe=At(":-",!1),Qe=function(C,Q){return{name:C,defaultValue:Q}},Ge=":-}",ct=At(":-}",!1),sr=function(C){return{name:C,defaultValue:[]}},Wo=function(C){return{name:C}},Afe="$",lfe=At("$",!1),cfe=function(C){return e.isGlobPattern(C)},ufe=function(C){return C},UM=/^[a-zA-Z0-9_]/,HM=Qs([["a","z"],["A","Z"],["0","9"],"_"],!1,!1),GM=function(){return dfe()},jM=/^[$@*?#a-zA-Z0-9_\-]/,YM=Qs(["$","@","*","?","#",["a","z"],["A","Z"],["0","9"],"_","-"],!1,!1),gfe=/^[(){}<>$|&; \t"']/,ffe=Qs(["(",")","{","}","<",">","$","|","&",";"," "," ",'"',"'"],!1,!1),hfe=/^[<>&; \t"']/,pfe=Qs(["<",">","&",";"," "," ",'"',"'"],!1,!1),qM=/^[ \t]/,JM=Qs([" "," "],!1,!1),w=0,Re=0,AE=[{line:1,column:1}],$s=0,zQ=[],we=0,lE;if("startRule"in e){if(!(e.startRule in i))throw new Error(`Can't start parsing from rule "`+e.startRule+'".');n=i[e.startRule]}function dfe(){return t.substring(Re,w)}function P_e(){return qf(Re,w)}function D_e(C,Q){throw Q=Q!==void 0?Q:qf(Re,w),zM([Efe(C)],t.substring(Re,w),Q)}function R_e(C,Q){throw Q=Q!==void 0?Q:qf(Re,w),Ife(C,Q)}function At(C,Q){return{type:"literal",text:C,ignoreCase:Q}}function Qs(C,Q,k){return{type:"class",parts:C,inverted:Q,ignoreCase:k}}function Cfe(){return{type:"any"}}function mfe(){return{type:"end"}}function Efe(C){return{type:"other",description:C}}function WM(C){var Q=AE[C],k;if(Q)return Q;for(k=C-1;!AE[k];)k--;for(Q=AE[k],Q={line:Q.line,column:Q.column};k$s&&($s=w,zQ=[]),zQ.push(C))}function Ife(C,Q){return new _l(C,null,null,Q)}function zM(C,Q,k){return new _l(_l.buildMessage(C,Q),C,Q,k)}function VM(){var C,Q;return C=w,Q=Jf(),Q===r&&(Q=null),Q!==r&&(Re=C,Q=s(Q)),C=Q,C}function Jf(){var C,Q,k,N,Z;if(C=w,Q=VQ(),Q!==r){for(k=[],N=ke();N!==r;)k.push(N),N=ke();k!==r?(N=_M(),N!==r?(Z=yfe(),Z===r&&(Z=null),Z!==r?(Re=C,Q=o(Q,N,Z),C=Q):(w=C,C=r)):(w=C,C=r)):(w=C,C=r)}else w=C,C=r;if(C===r)if(C=w,Q=VQ(),Q!==r){for(k=[],N=ke();N!==r;)k.push(N),N=ke();k!==r?(N=_M(),N===r&&(N=null),N!==r?(Re=C,Q=a(Q,N),C=Q):(w=C,C=r)):(w=C,C=r)}else w=C,C=r;return C}function yfe(){var C,Q,k,N,Z;for(C=w,Q=[],k=ke();k!==r;)Q.push(k),k=ke();if(Q!==r)if(k=Jf(),k!==r){for(N=[],Z=ke();Z!==r;)N.push(Z),Z=ke();N!==r?(Re=C,Q=l(k),C=Q):(w=C,C=r)}else w=C,C=r;else w=C,C=r;return C}function _M(){var C;return t.charCodeAt(w)===59?(C=c,w++):(C=r,we===0&&ve(u)),C===r&&(t.charCodeAt(w)===38?(C=g,w++):(C=r,we===0&&ve(f))),C}function VQ(){var C,Q,k;return C=w,Q=XM(),Q!==r?(k=wfe(),k===r&&(k=null),k!==r?(Re=C,Q=h(Q,k),C=Q):(w=C,C=r)):(w=C,C=r),C}function wfe(){var C,Q,k,N,Z,Ee,ot;for(C=w,Q=[],k=ke();k!==r;)Q.push(k),k=ke();if(Q!==r)if(k=Bfe(),k!==r){for(N=[],Z=ke();Z!==r;)N.push(Z),Z=ke();if(N!==r)if(Z=VQ(),Z!==r){for(Ee=[],ot=ke();ot!==r;)Ee.push(ot),ot=ke();Ee!==r?(Re=C,Q=p(k,Z),C=Q):(w=C,C=r)}else w=C,C=r;else w=C,C=r}else w=C,C=r;else w=C,C=r;return C}function Bfe(){var C;return t.substr(w,2)===d?(C=d,w+=2):(C=r,we===0&&ve(m)),C===r&&(t.substr(w,2)===I?(C=I,w+=2):(C=r,we===0&&ve(B))),C}function XM(){var C,Q,k;return C=w,Q=vfe(),Q!==r?(k=Qfe(),k===r&&(k=null),k!==r?(Re=C,Q=b(Q,k),C=Q):(w=C,C=r)):(w=C,C=r),C}function Qfe(){var C,Q,k,N,Z,Ee,ot;for(C=w,Q=[],k=ke();k!==r;)Q.push(k),k=ke();if(Q!==r)if(k=bfe(),k!==r){for(N=[],Z=ke();Z!==r;)N.push(Z),Z=ke();if(N!==r)if(Z=XM(),Z!==r){for(Ee=[],ot=ke();ot!==r;)Ee.push(ot),ot=ke();Ee!==r?(Re=C,Q=R(k,Z),C=Q):(w=C,C=r)}else w=C,C=r;else w=C,C=r}else w=C,C=r;else w=C,C=r;return C}function bfe(){var C;return t.substr(w,2)===H?(C=H,w+=2):(C=r,we===0&&ve(L)),C===r&&(t.charCodeAt(w)===124?(C=K,w++):(C=r,we===0&&ve(J))),C}function cE(){var C,Q,k,N,Z,Ee;if(C=w,Q=oO(),Q!==r)if(t.charCodeAt(w)===61?(k=ne,w++):(k=r,we===0&&ve(q)),k!==r)if(N=$M(),N!==r){for(Z=[],Ee=ke();Ee!==r;)Z.push(Ee),Ee=ke();Z!==r?(Re=C,Q=A(Q,N),C=Q):(w=C,C=r)}else w=C,C=r;else w=C,C=r;else w=C,C=r;if(C===r)if(C=w,Q=oO(),Q!==r)if(t.charCodeAt(w)===61?(k=ne,w++):(k=r,we===0&&ve(q)),k!==r){for(N=[],Z=ke();Z!==r;)N.push(Z),Z=ke();N!==r?(Re=C,Q=V(Q),C=Q):(w=C,C=r)}else w=C,C=r;else w=C,C=r;return C}function vfe(){var C,Q,k,N,Z,Ee,ot,ut,Tr,ni,Yn;for(C=w,Q=[],k=ke();k!==r;)Q.push(k),k=ke();if(Q!==r)if(t.charCodeAt(w)===40?(k=W,w++):(k=r,we===0&&ve(X)),k!==r){for(N=[],Z=ke();Z!==r;)N.push(Z),Z=ke();if(N!==r)if(Z=Jf(),Z!==r){for(Ee=[],ot=ke();ot!==r;)Ee.push(ot),ot=ke();if(Ee!==r)if(t.charCodeAt(w)===41?(ot=F,w++):(ot=r,we===0&&ve(D)),ot!==r){for(ut=[],Tr=ke();Tr!==r;)ut.push(Tr),Tr=ke();if(ut!==r){for(Tr=[],ni=Wf();ni!==r;)Tr.push(ni),ni=Wf();if(Tr!==r){for(ni=[],Yn=ke();Yn!==r;)ni.push(Yn),Yn=ke();ni!==r?(Re=C,Q=he(Z,Tr),C=Q):(w=C,C=r)}else w=C,C=r}else w=C,C=r}else w=C,C=r;else w=C,C=r}else w=C,C=r;else w=C,C=r}else w=C,C=r;else w=C,C=r;if(C===r){for(C=w,Q=[],k=ke();k!==r;)Q.push(k),k=ke();if(Q!==r)if(t.charCodeAt(w)===123?(k=pe,w++):(k=r,we===0&&ve(Ne)),k!==r){for(N=[],Z=ke();Z!==r;)N.push(Z),Z=ke();if(N!==r)if(Z=Jf(),Z!==r){for(Ee=[],ot=ke();ot!==r;)Ee.push(ot),ot=ke();if(Ee!==r)if(t.charCodeAt(w)===125?(ot=Pe,w++):(ot=r,we===0&&ve(qe)),ot!==r){for(ut=[],Tr=ke();Tr!==r;)ut.push(Tr),Tr=ke();if(ut!==r){for(Tr=[],ni=Wf();ni!==r;)Tr.push(ni),ni=Wf();if(Tr!==r){for(ni=[],Yn=ke();Yn!==r;)ni.push(Yn),Yn=ke();ni!==r?(Re=C,Q=re(Z,Tr),C=Q):(w=C,C=r)}else w=C,C=r}else w=C,C=r}else w=C,C=r;else w=C,C=r}else w=C,C=r;else w=C,C=r}else w=C,C=r;else w=C,C=r;if(C===r){for(C=w,Q=[],k=ke();k!==r;)Q.push(k),k=ke();if(Q!==r){for(k=[],N=cE();N!==r;)k.push(N),N=cE();if(k!==r){for(N=[],Z=ke();Z!==r;)N.push(Z),Z=ke();if(N!==r){if(Z=[],Ee=ZM(),Ee!==r)for(;Ee!==r;)Z.push(Ee),Ee=ZM();else Z=r;if(Z!==r){for(Ee=[],ot=ke();ot!==r;)Ee.push(ot),ot=ke();Ee!==r?(Re=C,Q=se(k,Z),C=Q):(w=C,C=r)}else w=C,C=r}else w=C,C=r}else w=C,C=r}else w=C,C=r;if(C===r){for(C=w,Q=[],k=ke();k!==r;)Q.push(k),k=ke();if(Q!==r){if(k=[],N=cE(),N!==r)for(;N!==r;)k.push(N),N=cE();else k=r;if(k!==r){for(N=[],Z=ke();Z!==r;)N.push(Z),Z=ke();N!==r?(Re=C,Q=be(k),C=Q):(w=C,C=r)}else w=C,C=r}else w=C,C=r}}}return C}function Sfe(){var C,Q,k,N,Z;for(C=w,Q=[],k=ke();k!==r;)Q.push(k),k=ke();if(Q!==r){if(k=[],N=uE(),N!==r)for(;N!==r;)k.push(N),N=uE();else k=r;if(k!==r){for(N=[],Z=ke();Z!==r;)N.push(Z),Z=ke();N!==r?(Re=C,Q=ae(k),C=Q):(w=C,C=r)}else w=C,C=r}else w=C,C=r;return C}function ZM(){var C,Q,k;for(C=w,Q=[],k=ke();k!==r;)Q.push(k),k=ke();if(Q!==r?(k=Wf(),k!==r?(Re=C,Q=Ae(k),C=Q):(w=C,C=r)):(w=C,C=r),C===r){for(C=w,Q=[],k=ke();k!==r;)Q.push(k),k=ke();Q!==r?(k=uE(),k!==r?(Re=C,Q=Ae(k),C=Q):(w=C,C=r)):(w=C,C=r)}return C}function Wf(){var C,Q,k,N,Z;for(C=w,Q=[],k=ke();k!==r;)Q.push(k),k=ke();return Q!==r?(De.test(t.charAt(w))?(k=t.charAt(w),w++):(k=r,we===0&&ve($)),k===r&&(k=null),k!==r?(N=xfe(),N!==r?(Z=uE(),Z!==r?(Re=C,Q=G(k,N,Z),C=Q):(w=C,C=r)):(w=C,C=r)):(w=C,C=r)):(w=C,C=r),C}function xfe(){var C;return t.substr(w,2)===Ce?(C=Ce,w+=2):(C=r,we===0&&ve(ee)),C===r&&(t.substr(w,2)===Ue?(C=Ue,w+=2):(C=r,we===0&&ve(Oe)),C===r&&(t.charCodeAt(w)===62?(C=vt,w++):(C=r,we===0&&ve(dt)),C===r&&(t.substr(w,3)===ri?(C=ri,w+=3):(C=r,we===0&&ve(ii)),C===r&&(t.substr(w,2)===an?(C=an,w+=2):(C=r,we===0&&ve(yr)),C===r&&(t.charCodeAt(w)===60?(C=Ki,w++):(C=r,we===0&&ve(Qi))))))),C}function uE(){var C,Q,k;for(C=w,Q=[],k=ke();k!==r;)Q.push(k),k=ke();return Q!==r?(k=$M(),k!==r?(Re=C,Q=Ae(k),C=Q):(w=C,C=r)):(w=C,C=r),C}function $M(){var C,Q,k;if(C=w,Q=[],k=eO(),k!==r)for(;k!==r;)Q.push(k),k=eO();else Q=r;return Q!==r&&(Re=C,Q=Go(Q)),C=Q,C}function eO(){var C,Q;return C=w,Q=kfe(),Q!==r&&(Re=C,Q=wr(Q)),C=Q,C===r&&(C=w,Q=Pfe(),Q!==r&&(Re=C,Q=wr(Q)),C=Q,C===r&&(C=w,Q=Dfe(),Q!==r&&(Re=C,Q=wr(Q)),C=Q)),C}function kfe(){var C,Q,k,N;return C=w,t.charCodeAt(w)===39?(Q=Ui,w++):(Q=r,we===0&&ve(ws)),Q!==r?(k=Rfe(),k!==r?(t.charCodeAt(w)===39?(N=Ui,w++):(N=r,we===0&&ve(ws)),N!==r?(Re=C,Q=Tf(k),C=Q):(w=C,C=r)):(w=C,C=r)):(w=C,C=r),C}function Pfe(){var C,Q,k,N;if(C=w,t.charCodeAt(w)===34?(Q=Mf,w++):(Q=r,we===0&&ve(Rm)),Q!==r){for(k=[],N=tO();N!==r;)k.push(N),N=tO();k!==r?(t.charCodeAt(w)===34?(N=Mf,w++):(N=r,we===0&&ve(Rm)),N!==r?(Re=C,Q=Fm(k),C=Q):(w=C,C=r)):(w=C,C=r)}else w=C,C=r;return C}function Dfe(){var C,Q,k;if(C=w,Q=[],k=rO(),k!==r)for(;k!==r;)Q.push(k),k=rO();else Q=r;return Q!==r&&(Re=C,Q=Fm(Q)),C=Q,C}function tO(){var C,Q;return C=w,Q=nO(),Q!==r&&(Re=C,Q=Nm(Q)),C=Q,C===r&&(C=w,Q=sO(),Q!==r&&(Re=C,Q=DQ(Q)),C=Q,C===r&&(C=w,Q=ZQ(),Q!==r&&(Re=C,Q=RQ(Q)),C=Q,C===r&&(C=w,Q=Ffe(),Q!==r&&(Re=C,Q=Of(Q)),C=Q))),C}function rO(){var C,Q;return C=w,Q=nO(),Q!==r&&(Re=C,Q=FQ(Q)),C=Q,C===r&&(C=w,Q=sO(),Q!==r&&(Re=C,Q=NQ(Q)),C=Q,C===r&&(C=w,Q=ZQ(),Q!==r&&(Re=C,Q=Lm(Q)),C=Q,C===r&&(C=w,Q=Lfe(),Q!==r&&(Re=C,Q=LQ(Q)),C=Q,C===r&&(C=w,Q=Nfe(),Q!==r&&(Re=C,Q=Of(Q)),C=Q)))),C}function Rfe(){var C,Q,k,N,Z;for(C=w,Q=[],k=gE(),k===r&&(k=fE(),k===r&&(k=w,t.charCodeAt(w)===92?(N=Va,w++):(N=r,we===0&&ve(jo)),N!==r?(Tm.test(t.charAt(w))?(Z=t.charAt(w),w++):(Z=r,we===0&&ve(Mm)),Z!==r?(Re=k,N=te(Z),k=N):(w=k,k=r)):(w=k,k=r),k===r&&(Om.test(t.charAt(w))?(k=t.charAt(w),w++):(k=r,we===0&&ve(Km)))));k!==r;)Q.push(k),k=gE(),k===r&&(k=fE(),k===r&&(k=w,t.charCodeAt(w)===92?(N=Va,w++):(N=r,we===0&&ve(jo)),N!==r?(Tm.test(t.charAt(w))?(Z=t.charAt(w),w++):(Z=r,we===0&&ve(Mm)),Z!==r?(Re=k,N=te(Z),k=N):(w=k,k=r)):(w=k,k=r),k===r&&(Om.test(t.charAt(w))?(k=t.charAt(w),w++):(k=r,we===0&&ve(Km)))));return Q!==r&&(Re=C,Q=il(Q)),C=Q,C}function Ffe(){var C,Q,k,N,Z;if(C=w,Q=[],k=gE(),k===r&&(k=fE(),k===r&&(k=w,t.charCodeAt(w)===92?(N=Va,w++):(N=r,we===0&&ve(jo)),N!==r?(Um.test(t.charAt(w))?(Z=t.charAt(w),w++):(Z=r,we===0&&ve(Hm)),Z!==r?(Re=k,N=te(Z),k=N):(w=k,k=r)):(w=k,k=r),k===r&&(Kf.test(t.charAt(w))?(k=t.charAt(w),w++):(k=r,we===0&&ve(Gm))))),k!==r)for(;k!==r;)Q.push(k),k=gE(),k===r&&(k=fE(),k===r&&(k=w,t.charCodeAt(w)===92?(N=Va,w++):(N=r,we===0&&ve(jo)),N!==r?(Um.test(t.charAt(w))?(Z=t.charAt(w),w++):(Z=r,we===0&&ve(Hm)),Z!==r?(Re=k,N=te(Z),k=N):(w=k,k=r)):(w=k,k=r),k===r&&(Kf.test(t.charAt(w))?(k=t.charAt(w),w++):(k=r,we===0&&ve(Gm)))));else Q=r;return Q!==r&&(Re=C,Q=il(Q)),C=Q,C}function gE(){var C,Q;return C=w,t.substr(w,2)===jm?(Q=jm,w+=2):(Q=r,we===0&&ve(TQ)),Q!==r&&(Re=C,Q=MQ()),C=Q,C===r&&(C=w,t.substr(w,2)===Ym?(Q=Ym,w+=2):(Q=r,we===0&&ve(qm)),Q!==r&&(Re=C,Q=Jm()),C=Q,C===r&&(C=w,t.substr(w,2)===Wm?(Q=Wm,w+=2):(Q=r,we===0&&ve(zm)),Q!==r&&(Re=C,Q=Vm()),C=Q,C===r&&(C=w,t.substr(w,2)===Uf?(Q=Uf,w+=2):(Q=r,we===0&&ve(OQ)),Q!==r&&(Re=C,Q=KQ()),C=Q,C===r&&(C=w,t.substr(w,2)===_m?(Q=_m,w+=2):(Q=r,we===0&&ve(UQ)),Q!==r&&(Re=C,Q=HQ()),C=Q,C===r&&(C=w,t.substr(w,2)===O?(Q=O,w+=2):(Q=r,we===0&&ve(ht)),Q!==r&&(Re=C,Q=Vc()),C=Q,C===r&&(C=w,t.substr(w,2)===xn?(Q=xn,w+=2):(Q=r,we===0&&ve(Hf)),Q!==r&&(Re=C,Q=Ye()),C=Q,C===r&&(C=w,t.substr(w,2)===nl?(Q=nl,w+=2):(Q=r,we===0&&ve(Xm)),Q!==r&&(Re=C,Q=MM()),C=Q,C===r&&(C=w,t.substr(w,2)===GQ?(Q=GQ,w+=2):(Q=r,we===0&&ve(OM)),Q!==r&&(Re=C,Q=fr()),C=Q)))))))),C}function fE(){var C,Q,k,N,Z,Ee,ot,ut,Tr,ni,Yn,$Q;return C=w,t.substr(w,2)===Bs?(Q=Bs,w+=2):(Q=r,we===0&&ve(jQ)),Q!==r?(k=w,N=w,Z=An(),Z!==r?(Ee=An(),Ee!==r?(Z=[Z,Ee],N=Z):(w=N,N=r)):(w=N,N=r),N!==r?k=t.substring(k,w):k=N,k!==r?(Re=C,Q=Zm(k),C=Q):(w=C,C=r)):(w=C,C=r),C===r&&(C=w,t.substr(w,2)===Yo?(Q=Yo,w+=2):(Q=r,we===0&&ve($m)),Q!==r?(k=w,N=w,Z=An(),Z!==r?(Ee=An(),Ee!==r?(ot=An(),ot!==r?(ut=An(),ut!==r?(Z=[Z,Ee,ot,ut],N=Z):(w=N,N=r)):(w=N,N=r)):(w=N,N=r)):(w=N,N=r),N!==r?k=t.substring(k,w):k=N,k!==r?(Re=C,Q=Zm(k),C=Q):(w=C,C=r)):(w=C,C=r),C===r&&(C=w,t.substr(w,2)===_a?(Q=_a,w+=2):(Q=r,we===0&&ve(et)),Q!==r?(k=w,N=w,Z=An(),Z!==r?(Ee=An(),Ee!==r?(ot=An(),ot!==r?(ut=An(),ut!==r?(Tr=An(),Tr!==r?(ni=An(),ni!==r?(Yn=An(),Yn!==r?($Q=An(),$Q!==r?(Z=[Z,Ee,ot,ut,Tr,ni,Yn,$Q],N=Z):(w=N,N=r)):(w=N,N=r)):(w=N,N=r)):(w=N,N=r)):(w=N,N=r)):(w=N,N=r)):(w=N,N=r)):(w=N,N=r),N!==r?k=t.substring(k,w):k=N,k!==r?(Re=C,Q=YQ(k),C=Q):(w=C,C=r)):(w=C,C=r))),C}function An(){var C;return eE.test(t.charAt(w))?(C=t.charAt(w),w++):(C=r,we===0&&ve(tE)),C}function Nfe(){var C,Q,k,N,Z;if(C=w,Q=[],k=w,t.charCodeAt(w)===92?(N=Va,w++):(N=r,we===0&&ve(jo)),N!==r?(t.length>w?(Z=t.charAt(w),w++):(Z=r,we===0&&ve(Xa)),Z!==r?(Re=k,N=te(Z),k=N):(w=k,k=r)):(w=k,k=r),k===r&&(k=w,N=w,we++,Z=aO(),we--,Z===r?N=void 0:(w=N,N=r),N!==r?(t.length>w?(Z=t.charAt(w),w++):(Z=r,we===0&&ve(Xa)),Z!==r?(Re=k,N=te(Z),k=N):(w=k,k=r)):(w=k,k=r)),k!==r)for(;k!==r;)Q.push(k),k=w,t.charCodeAt(w)===92?(N=Va,w++):(N=r,we===0&&ve(jo)),N!==r?(t.length>w?(Z=t.charAt(w),w++):(Z=r,we===0&&ve(Xa)),Z!==r?(Re=k,N=te(Z),k=N):(w=k,k=r)):(w=k,k=r),k===r&&(k=w,N=w,we++,Z=aO(),we--,Z===r?N=void 0:(w=N,N=r),N!==r?(t.length>w?(Z=t.charAt(w),w++):(Z=r,we===0&&ve(Xa)),Z!==r?(Re=k,N=te(Z),k=N):(w=k,k=r)):(w=k,k=r));else Q=r;return Q!==r&&(Re=C,Q=il(Q)),C=Q,C}function _Q(){var C,Q,k,N,Z,Ee;if(C=w,t.charCodeAt(w)===45?(Q=sl,w++):(Q=r,we===0&&ve(ol)),Q===r&&(t.charCodeAt(w)===43?(Q=al,w++):(Q=r,we===0&&ve(qo))),Q===r&&(Q=null),Q!==r){if(k=[],De.test(t.charAt(w))?(N=t.charAt(w),w++):(N=r,we===0&&ve($)),N!==r)for(;N!==r;)k.push(N),De.test(t.charAt(w))?(N=t.charAt(w),w++):(N=r,we===0&&ve($));else k=r;if(k!==r)if(t.charCodeAt(w)===46?(N=Al,w++):(N=r,we===0&&ve(qQ)),N!==r){if(Z=[],De.test(t.charAt(w))?(Ee=t.charAt(w),w++):(Ee=r,we===0&&ve($)),Ee!==r)for(;Ee!==r;)Z.push(Ee),De.test(t.charAt(w))?(Ee=t.charAt(w),w++):(Ee=r,we===0&&ve($));else Z=r;Z!==r?(Re=C,Q=rE(Q,k,Z),C=Q):(w=C,C=r)}else w=C,C=r;else w=C,C=r}else w=C,C=r;if(C===r){if(C=w,t.charCodeAt(w)===45?(Q=sl,w++):(Q=r,we===0&&ve(ol)),Q===r&&(t.charCodeAt(w)===43?(Q=al,w++):(Q=r,we===0&&ve(qo))),Q===r&&(Q=null),Q!==r){if(k=[],De.test(t.charAt(w))?(N=t.charAt(w),w++):(N=r,we===0&&ve($)),N!==r)for(;N!==r;)k.push(N),De.test(t.charAt(w))?(N=t.charAt(w),w++):(N=r,we===0&&ve($));else k=r;k!==r?(Re=C,Q=iE(Q,k),C=Q):(w=C,C=r)}else w=C,C=r;if(C===r&&(C=w,Q=ZQ(),Q!==r&&(Re=C,Q=JQ(Q)),C=Q,C===r&&(C=w,Q=zf(),Q!==r&&(Re=C,Q=ll(Q)),C=Q,C===r)))if(C=w,t.charCodeAt(w)===40?(Q=W,w++):(Q=r,we===0&&ve(X)),Q!==r){for(k=[],N=ke();N!==r;)k.push(N),N=ke();if(k!==r)if(N=iO(),N!==r){for(Z=[],Ee=ke();Ee!==r;)Z.push(Ee),Ee=ke();Z!==r?(t.charCodeAt(w)===41?(Ee=F,w++):(Ee=r,we===0&&ve(D)),Ee!==r?(Re=C,Q=WQ(N),C=Q):(w=C,C=r)):(w=C,C=r)}else w=C,C=r;else w=C,C=r}else w=C,C=r}return C}function XQ(){var C,Q,k,N,Z,Ee,ot,ut;if(C=w,Q=_Q(),Q!==r){for(k=[],N=w,Z=[],Ee=ke();Ee!==r;)Z.push(Ee),Ee=ke();if(Z!==r)if(t.charCodeAt(w)===42?(Ee=nE,w++):(Ee=r,we===0&&ve(Gf)),Ee===r&&(t.charCodeAt(w)===47?(Ee=_c,w++):(Ee=r,we===0&&ve(jf))),Ee!==r){for(ot=[],ut=ke();ut!==r;)ot.push(ut),ut=ke();ot!==r?(ut=_Q(),ut!==r?(Re=N,Z=sE(Q,Ee,ut),N=Z):(w=N,N=r)):(w=N,N=r)}else w=N,N=r;else w=N,N=r;for(;N!==r;){for(k.push(N),N=w,Z=[],Ee=ke();Ee!==r;)Z.push(Ee),Ee=ke();if(Z!==r)if(t.charCodeAt(w)===42?(Ee=nE,w++):(Ee=r,we===0&&ve(Gf)),Ee===r&&(t.charCodeAt(w)===47?(Ee=_c,w++):(Ee=r,we===0&&ve(jf))),Ee!==r){for(ot=[],ut=ke();ut!==r;)ot.push(ut),ut=ke();ot!==r?(ut=_Q(),ut!==r?(Re=N,Z=sE(Q,Ee,ut),N=Z):(w=N,N=r)):(w=N,N=r)}else w=N,N=r;else w=N,N=r}k!==r?(Re=C,Q=cl(Q,k),C=Q):(w=C,C=r)}else w=C,C=r;return C}function iO(){var C,Q,k,N,Z,Ee,ot,ut;if(C=w,Q=XQ(),Q!==r){for(k=[],N=w,Z=[],Ee=ke();Ee!==r;)Z.push(Ee),Ee=ke();if(Z!==r)if(t.charCodeAt(w)===43?(Ee=al,w++):(Ee=r,we===0&&ve(qo)),Ee===r&&(t.charCodeAt(w)===45?(Ee=sl,w++):(Ee=r,we===0&&ve(ol))),Ee!==r){for(ot=[],ut=ke();ut!==r;)ot.push(ut),ut=ke();ot!==r?(ut=XQ(),ut!==r?(Re=N,Z=oE(Q,Ee,ut),N=Z):(w=N,N=r)):(w=N,N=r)}else w=N,N=r;else w=N,N=r;for(;N!==r;){for(k.push(N),N=w,Z=[],Ee=ke();Ee!==r;)Z.push(Ee),Ee=ke();if(Z!==r)if(t.charCodeAt(w)===43?(Ee=al,w++):(Ee=r,we===0&&ve(qo)),Ee===r&&(t.charCodeAt(w)===45?(Ee=sl,w++):(Ee=r,we===0&&ve(ol))),Ee!==r){for(ot=[],ut=ke();ut!==r;)ot.push(ut),ut=ke();ot!==r?(ut=XQ(),ut!==r?(Re=N,Z=oE(Q,Ee,ut),N=Z):(w=N,N=r)):(w=N,N=r)}else w=N,N=r;else w=N,N=r}k!==r?(Re=C,Q=cl(Q,k),C=Q):(w=C,C=r)}else w=C,C=r;return C}function nO(){var C,Q,k,N,Z,Ee;if(C=w,t.substr(w,3)===Yf?(Q=Yf,w+=3):(Q=r,we===0&&ve(Xc)),Q!==r){for(k=[],N=ke();N!==r;)k.push(N),N=ke();if(k!==r)if(N=iO(),N!==r){for(Z=[],Ee=ke();Ee!==r;)Z.push(Ee),Ee=ke();Z!==r?(t.substr(w,2)===xr?(Ee=xr,w+=2):(Ee=r,we===0&&ve(KM)),Ee!==r?(Re=C,Q=Jo(N),C=Q):(w=C,C=r)):(w=C,C=r)}else w=C,C=r;else w=C,C=r}else w=C,C=r;return C}function sO(){var C,Q,k,N;return C=w,t.substr(w,2)===Zs?(Q=Zs,w+=2):(Q=r,we===0&&ve(aE)),Q!==r?(k=Jf(),k!==r?(t.charCodeAt(w)===41?(N=F,w++):(N=r,we===0&&ve(D)),N!==r?(Re=C,Q=Zc(k),C=Q):(w=C,C=r)):(w=C,C=r)):(w=C,C=r),C}function ZQ(){var C,Q,k,N,Z,Ee;return C=w,t.substr(w,2)===x?(Q=x,w+=2):(Q=r,we===0&&ve(U)),Q!==r?(k=zf(),k!==r?(t.substr(w,2)===le?(N=le,w+=2):(N=r,we===0&&ve(xe)),N!==r?(Z=Sfe(),Z!==r?(t.charCodeAt(w)===125?(Ee=Pe,w++):(Ee=r,we===0&&ve(qe)),Ee!==r?(Re=C,Q=Qe(k,Z),C=Q):(w=C,C=r)):(w=C,C=r)):(w=C,C=r)):(w=C,C=r)):(w=C,C=r),C===r&&(C=w,t.substr(w,2)===x?(Q=x,w+=2):(Q=r,we===0&&ve(U)),Q!==r?(k=zf(),k!==r?(t.substr(w,3)===Ge?(N=Ge,w+=3):(N=r,we===0&&ve(ct)),N!==r?(Re=C,Q=sr(k),C=Q):(w=C,C=r)):(w=C,C=r)):(w=C,C=r),C===r&&(C=w,t.substr(w,2)===x?(Q=x,w+=2):(Q=r,we===0&&ve(U)),Q!==r?(k=zf(),k!==r?(t.charCodeAt(w)===125?(N=Pe,w++):(N=r,we===0&&ve(qe)),N!==r?(Re=C,Q=Wo(k),C=Q):(w=C,C=r)):(w=C,C=r)):(w=C,C=r),C===r&&(C=w,t.charCodeAt(w)===36?(Q=Afe,w++):(Q=r,we===0&&ve(lfe)),Q!==r?(k=zf(),k!==r?(Re=C,Q=Wo(k),C=Q):(w=C,C=r)):(w=C,C=r)))),C}function Lfe(){var C,Q,k;return C=w,Q=Tfe(),Q!==r?(Re=w,k=cfe(Q),k?k=void 0:k=r,k!==r?(Re=C,Q=ufe(Q),C=Q):(w=C,C=r)):(w=C,C=r),C}function Tfe(){var C,Q,k,N,Z;if(C=w,Q=[],k=w,N=w,we++,Z=AO(),we--,Z===r?N=void 0:(w=N,N=r),N!==r?(t.length>w?(Z=t.charAt(w),w++):(Z=r,we===0&&ve(Xa)),Z!==r?(Re=k,N=te(Z),k=N):(w=k,k=r)):(w=k,k=r),k!==r)for(;k!==r;)Q.push(k),k=w,N=w,we++,Z=AO(),we--,Z===r?N=void 0:(w=N,N=r),N!==r?(t.length>w?(Z=t.charAt(w),w++):(Z=r,we===0&&ve(Xa)),Z!==r?(Re=k,N=te(Z),k=N):(w=k,k=r)):(w=k,k=r);else Q=r;return Q!==r&&(Re=C,Q=il(Q)),C=Q,C}function oO(){var C,Q,k;if(C=w,Q=[],UM.test(t.charAt(w))?(k=t.charAt(w),w++):(k=r,we===0&&ve(HM)),k!==r)for(;k!==r;)Q.push(k),UM.test(t.charAt(w))?(k=t.charAt(w),w++):(k=r,we===0&&ve(HM));else Q=r;return Q!==r&&(Re=C,Q=GM()),C=Q,C}function zf(){var C,Q,k;if(C=w,Q=[],jM.test(t.charAt(w))?(k=t.charAt(w),w++):(k=r,we===0&&ve(YM)),k!==r)for(;k!==r;)Q.push(k),jM.test(t.charAt(w))?(k=t.charAt(w),w++):(k=r,we===0&&ve(YM));else Q=r;return Q!==r&&(Re=C,Q=GM()),C=Q,C}function aO(){var C;return gfe.test(t.charAt(w))?(C=t.charAt(w),w++):(C=r,we===0&&ve(ffe)),C}function AO(){var C;return hfe.test(t.charAt(w))?(C=t.charAt(w),w++):(C=r,we===0&&ve(pfe)),C}function ke(){var C,Q;if(C=[],qM.test(t.charAt(w))?(Q=t.charAt(w),w++):(Q=r,we===0&&ve(JM)),Q!==r)for(;Q!==r;)C.push(Q),qM.test(t.charAt(w))?(Q=t.charAt(w),w++):(Q=r,we===0&&ve(JM));else C=r;return C}if(lE=n(),lE!==r&&w===t.length)return lE;throw lE!==r&&w{"use strict";function Eke(t,e){function r(){this.constructor=t}r.prototype=e.prototype,t.prototype=new r}function Xl(t,e,r,i){this.message=t,this.expected=e,this.found=r,this.location=i,this.name="SyntaxError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,Xl)}Eke(Xl,Error);Xl.buildMessage=function(t,e){var r={literal:function(c){return'"'+n(c.text)+'"'},class:function(c){var u="",g;for(g=0;g0){for(g=1,f=1;gH&&(H=B,L=[]),L.push($))}function qe($,G){return new Xl($,null,null,G)}function re($,G,Ce){return new Xl(Xl.buildMessage($,G),$,G,Ce)}function se(){var $,G,Ce,ee;return $=B,G=be(),G!==r?(t.charCodeAt(B)===47?(Ce=s,B++):(Ce=r,K===0&&Pe(o)),Ce!==r?(ee=be(),ee!==r?(b=$,G=a(G,ee),$=G):(B=$,$=r)):(B=$,$=r)):(B=$,$=r),$===r&&($=B,G=be(),G!==r&&(b=$,G=l(G)),$=G),$}function be(){var $,G,Ce,ee;return $=B,G=ae(),G!==r?(t.charCodeAt(B)===64?(Ce=c,B++):(Ce=r,K===0&&Pe(u)),Ce!==r?(ee=De(),ee!==r?(b=$,G=g(G,ee),$=G):(B=$,$=r)):(B=$,$=r)):(B=$,$=r),$===r&&($=B,G=ae(),G!==r&&(b=$,G=f(G)),$=G),$}function ae(){var $,G,Ce,ee,Ue;return $=B,t.charCodeAt(B)===64?(G=c,B++):(G=r,K===0&&Pe(u)),G!==r?(Ce=Ae(),Ce!==r?(t.charCodeAt(B)===47?(ee=s,B++):(ee=r,K===0&&Pe(o)),ee!==r?(Ue=Ae(),Ue!==r?(b=$,G=h(),$=G):(B=$,$=r)):(B=$,$=r)):(B=$,$=r)):(B=$,$=r),$===r&&($=B,G=Ae(),G!==r&&(b=$,G=h()),$=G),$}function Ae(){var $,G,Ce;if($=B,G=[],p.test(t.charAt(B))?(Ce=t.charAt(B),B++):(Ce=r,K===0&&Pe(d)),Ce!==r)for(;Ce!==r;)G.push(Ce),p.test(t.charAt(B))?(Ce=t.charAt(B),B++):(Ce=r,K===0&&Pe(d));else G=r;return G!==r&&(b=$,G=h()),$=G,$}function De(){var $,G,Ce;if($=B,G=[],m.test(t.charAt(B))?(Ce=t.charAt(B),B++):(Ce=r,K===0&&Pe(I)),Ce!==r)for(;Ce!==r;)G.push(Ce),m.test(t.charAt(B))?(Ce=t.charAt(B),B++):(Ce=r,K===0&&Pe(I));else G=r;return G!==r&&(b=$,G=h()),$=G,$}if(J=n(),J!==r&&B===t.length)return J;throw J!==r&&B{"use strict";function F4(t){return typeof t=="undefined"||t===null}function yke(t){return typeof t=="object"&&t!==null}function wke(t){return Array.isArray(t)?t:F4(t)?[]:[t]}function Bke(t,e){var r,i,n,s;if(e)for(s=Object.keys(e),r=0,i=s.length;r{"use strict";function Lp(t,e){Error.call(this),this.name="YAMLException",this.reason=t,this.mark=e,this.message=(this.reason||"(unknown reason)")+(this.mark?" "+this.mark.toString():""),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack||""}Lp.prototype=Object.create(Error.prototype);Lp.prototype.constructor=Lp;Lp.prototype.toString=function(e){var r=this.name+": ";return r+=this.reason||"(unknown reason)",!e&&this.mark&&(r+=" "+this.mark.toString()),r};N4.exports=Lp});var M4=E((Vot,L4)=>{"use strict";var T4=$l();function kP(t,e,r,i,n){this.name=t,this.buffer=e,this.position=r,this.line=i,this.column=n}kP.prototype.getSnippet=function(e,r){var i,n,s,o,a;if(!this.buffer)return null;for(e=e||4,r=r||75,i="",n=this.position;n>0&&`\0\r +\x85\u2028\u2029`.indexOf(this.buffer.charAt(n-1))===-1;)if(n-=1,this.position-n>r/2-1){i=" ... ",n+=5;break}for(s="",o=this.position;or/2-1){s=" ... ",o-=5;break}return a=this.buffer.slice(n,o),T4.repeat(" ",e)+i+a+s+` +`+T4.repeat(" ",e+this.position-n+i.length)+"^"};kP.prototype.toString=function(e){var r,i="";return this.name&&(i+='in "'+this.name+'" '),i+="at line "+(this.line+1)+", column "+(this.column+1),e||(r=this.getSnippet(),r&&(i+=`: +`+r)),i};L4.exports=kP});var Xr=E((_ot,O4)=>{"use strict";var K4=ng(),vke=["kind","resolve","construct","instanceOf","predicate","represent","defaultStyle","styleAliases"],Ske=["scalar","sequence","mapping"];function xke(t){var e={};return t!==null&&Object.keys(t).forEach(function(r){t[r].forEach(function(i){e[String(i)]=r})}),e}function kke(t,e){if(e=e||{},Object.keys(e).forEach(function(r){if(vke.indexOf(r)===-1)throw new K4('Unknown option "'+r+'" is met in definition of "'+t+'" YAML type.')}),this.tag=t,this.kind=e.kind||null,this.resolve=e.resolve||function(){return!0},this.construct=e.construct||function(r){return r},this.instanceOf=e.instanceOf||null,this.predicate=e.predicate||null,this.represent=e.represent||null,this.defaultStyle=e.defaultStyle||null,this.styleAliases=xke(e.styleAliases||null),Ske.indexOf(this.kind)===-1)throw new K4('Unknown kind "'+this.kind+'" is specified for "'+t+'" YAML type.')}O4.exports=kke});var ec=E((Xot,U4)=>{"use strict";var H4=$l(),hw=ng(),Pke=Xr();function PP(t,e,r){var i=[];return t.include.forEach(function(n){r=PP(n,e,r)}),t[e].forEach(function(n){r.forEach(function(s,o){s.tag===n.tag&&s.kind===n.kind&&i.push(o)}),r.push(n)}),r.filter(function(n,s){return i.indexOf(s)===-1})}function Dke(){var t={scalar:{},sequence:{},mapping:{},fallback:{}},e,r;function i(n){t[n.kind][n.tag]=t.fallback[n.tag]=n}for(e=0,r=arguments.length;e{"use strict";var Rke=Xr();G4.exports=new Rke("tag:yaml.org,2002:str",{kind:"scalar",construct:function(t){return t!==null?t:""}})});var q4=E(($ot,Y4)=>{"use strict";var Fke=Xr();Y4.exports=new Fke("tag:yaml.org,2002:seq",{kind:"sequence",construct:function(t){return t!==null?t:[]}})});var W4=E((eat,J4)=>{"use strict";var Nke=Xr();J4.exports=new Nke("tag:yaml.org,2002:map",{kind:"mapping",construct:function(t){return t!==null?t:{}}})});var pw=E((tat,z4)=>{"use strict";var Lke=ec();z4.exports=new Lke({explicit:[j4(),q4(),W4()]})});var _4=E((rat,V4)=>{"use strict";var Tke=Xr();function Mke(t){if(t===null)return!0;var e=t.length;return e===1&&t==="~"||e===4&&(t==="null"||t==="Null"||t==="NULL")}function Oke(){return null}function Kke(t){return t===null}V4.exports=new Tke("tag:yaml.org,2002:null",{kind:"scalar",resolve:Mke,construct:Oke,predicate:Kke,represent:{canonical:function(){return"~"},lowercase:function(){return"null"},uppercase:function(){return"NULL"},camelcase:function(){return"Null"}},defaultStyle:"lowercase"})});var Z4=E((iat,X4)=>{"use strict";var Uke=Xr();function Hke(t){if(t===null)return!1;var e=t.length;return e===4&&(t==="true"||t==="True"||t==="TRUE")||e===5&&(t==="false"||t==="False"||t==="FALSE")}function Gke(t){return t==="true"||t==="True"||t==="TRUE"}function jke(t){return Object.prototype.toString.call(t)==="[object Boolean]"}X4.exports=new Uke("tag:yaml.org,2002:bool",{kind:"scalar",resolve:Hke,construct:Gke,predicate:jke,represent:{lowercase:function(t){return t?"true":"false"},uppercase:function(t){return t?"TRUE":"FALSE"},camelcase:function(t){return t?"True":"False"}},defaultStyle:"lowercase"})});var ez=E((nat,$4)=>{"use strict";var Yke=$l(),qke=Xr();function Jke(t){return 48<=t&&t<=57||65<=t&&t<=70||97<=t&&t<=102}function Wke(t){return 48<=t&&t<=55}function zke(t){return 48<=t&&t<=57}function Vke(t){if(t===null)return!1;var e=t.length,r=0,i=!1,n;if(!e)return!1;if(n=t[r],(n==="-"||n==="+")&&(n=t[++r]),n==="0"){if(r+1===e)return!0;if(n=t[++r],n==="b"){for(r++;r=0?"0b"+t.toString(2):"-0b"+t.toString(2).slice(1)},octal:function(t){return t>=0?"0"+t.toString(8):"-0"+t.toString(8).slice(1)},decimal:function(t){return t.toString(10)},hexadecimal:function(t){return t>=0?"0x"+t.toString(16).toUpperCase():"-0x"+t.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}})});var iz=E((sat,tz)=>{"use strict";var rz=$l(),Zke=Xr(),$ke=new RegExp("^(?:[-+]?(?:0|[1-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\\.[0-9_]*|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");function ePe(t){return!(t===null||!$ke.test(t)||t[t.length-1]==="_")}function tPe(t){var e,r,i,n;return e=t.replace(/_/g,"").toLowerCase(),r=e[0]==="-"?-1:1,n=[],"+-".indexOf(e[0])>=0&&(e=e.slice(1)),e===".inf"?r===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:e===".nan"?NaN:e.indexOf(":")>=0?(e.split(":").forEach(function(s){n.unshift(parseFloat(s,10))}),e=0,i=1,n.forEach(function(s){e+=s*i,i*=60}),r*e):r*parseFloat(e,10)}var rPe=/^[-+]?[0-9]+e/;function iPe(t,e){var r;if(isNaN(t))switch(e){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===t)switch(e){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===t)switch(e){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(rz.isNegativeZero(t))return"-0.0";return r=t.toString(10),rPe.test(r)?r.replace("e",".e"):r}function nPe(t){return Object.prototype.toString.call(t)==="[object Number]"&&(t%1!=0||rz.isNegativeZero(t))}tz.exports=new Zke("tag:yaml.org,2002:float",{kind:"scalar",resolve:ePe,construct:tPe,predicate:nPe,represent:iPe,defaultStyle:"lowercase"})});var DP=E((oat,nz)=>{"use strict";var sPe=ec();nz.exports=new sPe({include:[pw()],implicit:[_4(),Z4(),ez(),iz()]})});var RP=E((aat,sz)=>{"use strict";var oPe=ec();sz.exports=new oPe({include:[DP()]})});var lz=E((Aat,oz)=>{"use strict";var aPe=Xr(),az=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),Az=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");function APe(t){return t===null?!1:az.exec(t)!==null||Az.exec(t)!==null}function lPe(t){var e,r,i,n,s,o,a,l=0,c=null,u,g,f;if(e=az.exec(t),e===null&&(e=Az.exec(t)),e===null)throw new Error("Date resolve error");if(r=+e[1],i=+e[2]-1,n=+e[3],!e[4])return new Date(Date.UTC(r,i,n));if(s=+e[4],o=+e[5],a=+e[6],e[7]){for(l=e[7].slice(0,3);l.length<3;)l+="0";l=+l}return e[9]&&(u=+e[10],g=+(e[11]||0),c=(u*60+g)*6e4,e[9]==="-"&&(c=-c)),f=new Date(Date.UTC(r,i,n,s,o,a,l)),c&&f.setTime(f.getTime()-c),f}function cPe(t){return t.toISOString()}oz.exports=new aPe("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:APe,construct:lPe,instanceOf:Date,represent:cPe})});var uz=E((lat,cz)=>{"use strict";var uPe=Xr();function gPe(t){return t==="<<"||t===null}cz.exports=new uPe("tag:yaml.org,2002:merge",{kind:"scalar",resolve:gPe})});var hz=E((cat,gz)=>{"use strict";var tc;try{fz=require,tc=fz("buffer").Buffer}catch(t){}var fz,fPe=Xr(),FP=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/= +\r`;function hPe(t){if(t===null)return!1;var e,r,i=0,n=t.length,s=FP;for(r=0;r64)){if(e<0)return!1;i+=6}return i%8==0}function pPe(t){var e,r,i=t.replace(/[\r\n=]/g,""),n=i.length,s=FP,o=0,a=[];for(e=0;e>16&255),a.push(o>>8&255),a.push(o&255)),o=o<<6|s.indexOf(i.charAt(e));return r=n%4*6,r===0?(a.push(o>>16&255),a.push(o>>8&255),a.push(o&255)):r===18?(a.push(o>>10&255),a.push(o>>2&255)):r===12&&a.push(o>>4&255),tc?tc.from?tc.from(a):new tc(a):a}function dPe(t){var e="",r=0,i,n,s=t.length,o=FP;for(i=0;i>18&63],e+=o[r>>12&63],e+=o[r>>6&63],e+=o[r&63]),r=(r<<8)+t[i];return n=s%3,n===0?(e+=o[r>>18&63],e+=o[r>>12&63],e+=o[r>>6&63],e+=o[r&63]):n===2?(e+=o[r>>10&63],e+=o[r>>4&63],e+=o[r<<2&63],e+=o[64]):n===1&&(e+=o[r>>2&63],e+=o[r<<4&63],e+=o[64],e+=o[64]),e}function CPe(t){return tc&&tc.isBuffer(t)}gz.exports=new fPe("tag:yaml.org,2002:binary",{kind:"scalar",resolve:hPe,construct:pPe,predicate:CPe,represent:dPe})});var dz=E((uat,pz)=>{"use strict";var mPe=Xr(),EPe=Object.prototype.hasOwnProperty,IPe=Object.prototype.toString;function yPe(t){if(t===null)return!0;var e=[],r,i,n,s,o,a=t;for(r=0,i=a.length;r{"use strict";var BPe=Xr(),QPe=Object.prototype.toString;function bPe(t){if(t===null)return!0;var e,r,i,n,s,o=t;for(s=new Array(o.length),e=0,r=o.length;e{"use strict";var SPe=Xr(),xPe=Object.prototype.hasOwnProperty;function kPe(t){if(t===null)return!0;var e,r=t;for(e in r)if(xPe.call(r,e)&&r[e]!==null)return!1;return!0}function PPe(t){return t!==null?t:{}}Ez.exports=new SPe("tag:yaml.org,2002:set",{kind:"mapping",resolve:kPe,construct:PPe})});var og=E((hat,yz)=>{"use strict";var DPe=ec();yz.exports=new DPe({include:[RP()],implicit:[lz(),uz()],explicit:[hz(),dz(),mz(),Iz()]})});var Bz=E((pat,wz)=>{"use strict";var RPe=Xr();function FPe(){return!0}function NPe(){}function LPe(){return""}function TPe(t){return typeof t=="undefined"}wz.exports=new RPe("tag:yaml.org,2002:js/undefined",{kind:"scalar",resolve:FPe,construct:NPe,predicate:TPe,represent:LPe})});var bz=E((dat,Qz)=>{"use strict";var MPe=Xr();function OPe(t){if(t===null||t.length===0)return!1;var e=t,r=/\/([gim]*)$/.exec(t),i="";return!(e[0]==="/"&&(r&&(i=r[1]),i.length>3||e[e.length-i.length-1]!=="/"))}function KPe(t){var e=t,r=/\/([gim]*)$/.exec(t),i="";return e[0]==="/"&&(r&&(i=r[1]),e=e.slice(1,e.length-i.length-1)),new RegExp(e,i)}function UPe(t){var e="/"+t.source+"/";return t.global&&(e+="g"),t.multiline&&(e+="m"),t.ignoreCase&&(e+="i"),e}function HPe(t){return Object.prototype.toString.call(t)==="[object RegExp]"}Qz.exports=new MPe("tag:yaml.org,2002:js/regexp",{kind:"scalar",resolve:OPe,construct:KPe,predicate:HPe,represent:UPe})});var xz=E((Cat,vz)=>{"use strict";var dw;try{Sz=require,dw=Sz("esprima")}catch(t){typeof window!="undefined"&&(dw=window.esprima)}var Sz,GPe=Xr();function jPe(t){if(t===null)return!1;try{var e="("+t+")",r=dw.parse(e,{range:!0});return!(r.type!=="Program"||r.body.length!==1||r.body[0].type!=="ExpressionStatement"||r.body[0].expression.type!=="ArrowFunctionExpression"&&r.body[0].expression.type!=="FunctionExpression")}catch(i){return!1}}function YPe(t){var e="("+t+")",r=dw.parse(e,{range:!0}),i=[],n;if(r.type!=="Program"||r.body.length!==1||r.body[0].type!=="ExpressionStatement"||r.body[0].expression.type!=="ArrowFunctionExpression"&&r.body[0].expression.type!=="FunctionExpression")throw new Error("Failed to resolve function");return r.body[0].expression.params.forEach(function(s){i.push(s.name)}),n=r.body[0].expression.body.range,r.body[0].expression.body.type==="BlockStatement"?new Function(i,e.slice(n[0]+1,n[1]-1)):new Function(i,"return "+e.slice(n[0],n[1]))}function qPe(t){return t.toString()}function JPe(t){return Object.prototype.toString.call(t)==="[object Function]"}vz.exports=new GPe("tag:yaml.org,2002:js/function",{kind:"scalar",resolve:jPe,construct:YPe,predicate:JPe,represent:qPe})});var Tp=E((mat,kz)=>{"use strict";var Pz=ec();kz.exports=Pz.DEFAULT=new Pz({include:[og()],explicit:[Bz(),bz(),xz()]})});var Vz=E((Eat,Mp)=>{"use strict";var Ba=$l(),Dz=ng(),WPe=M4(),Rz=og(),zPe=Tp(),QA=Object.prototype.hasOwnProperty,Cw=1,Fz=2,Nz=3,mw=4,NP=1,VPe=2,Lz=3,_Pe=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,XPe=/[\x85\u2028\u2029]/,ZPe=/[,\[\]\{\}]/,Tz=/^(?:!|!!|![a-z\-]+!)$/i,Mz=/^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i;function Oz(t){return Object.prototype.toString.call(t)}function wo(t){return t===10||t===13}function rc(t){return t===9||t===32}function yn(t){return t===9||t===32||t===10||t===13}function ag(t){return t===44||t===91||t===93||t===123||t===125}function $Pe(t){var e;return 48<=t&&t<=57?t-48:(e=t|32,97<=e&&e<=102?e-97+10:-1)}function eDe(t){return t===120?2:t===117?4:t===85?8:0}function tDe(t){return 48<=t&&t<=57?t-48:-1}function Kz(t){return t===48?"\0":t===97?"\x07":t===98?"\b":t===116||t===9?" ":t===110?` +`:t===118?"\v":t===102?"\f":t===114?"\r":t===101?"":t===32?" ":t===34?'"':t===47?"/":t===92?"\\":t===78?"\x85":t===95?"\xA0":t===76?"\u2028":t===80?"\u2029":""}function rDe(t){return t<=65535?String.fromCharCode(t):String.fromCharCode((t-65536>>10)+55296,(t-65536&1023)+56320)}var Uz=new Array(256),Hz=new Array(256);for(var Ag=0;Ag<256;Ag++)Uz[Ag]=Kz(Ag)?1:0,Hz[Ag]=Kz(Ag);function iDe(t,e){this.input=t,this.filename=e.filename||null,this.schema=e.schema||zPe,this.onWarning=e.onWarning||null,this.legacy=e.legacy||!1,this.json=e.json||!1,this.listener=e.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=t.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.documents=[]}function Gz(t,e){return new Dz(e,new WPe(t.filename,t.input,t.position,t.line,t.position-t.lineStart))}function st(t,e){throw Gz(t,e)}function Ew(t,e){t.onWarning&&t.onWarning.call(null,Gz(t,e))}var jz={YAML:function(e,r,i){var n,s,o;e.version!==null&&st(e,"duplication of %YAML directive"),i.length!==1&&st(e,"YAML directive accepts exactly one argument"),n=/^([0-9]+)\.([0-9]+)$/.exec(i[0]),n===null&&st(e,"ill-formed argument of the YAML directive"),s=parseInt(n[1],10),o=parseInt(n[2],10),s!==1&&st(e,"unacceptable YAML version of the document"),e.version=i[0],e.checkLineBreaks=o<2,o!==1&&o!==2&&Ew(e,"unsupported YAML version of the document")},TAG:function(e,r,i){var n,s;i.length!==2&&st(e,"TAG directive accepts exactly two arguments"),n=i[0],s=i[1],Tz.test(n)||st(e,"ill-formed tag handle (first argument) of the TAG directive"),QA.call(e.tagMap,n)&&st(e,'there is a previously declared suffix for "'+n+'" tag handle'),Mz.test(s)||st(e,"ill-formed tag prefix (second argument) of the TAG directive"),e.tagMap[n]=s}};function bA(t,e,r,i){var n,s,o,a;if(e1&&(t.result+=Ba.repeat(` +`,e-1))}function nDe(t,e,r){var i,n,s,o,a,l,c,u,g=t.kind,f=t.result,h;if(h=t.input.charCodeAt(t.position),yn(h)||ag(h)||h===35||h===38||h===42||h===33||h===124||h===62||h===39||h===34||h===37||h===64||h===96||(h===63||h===45)&&(n=t.input.charCodeAt(t.position+1),yn(n)||r&&ag(n)))return!1;for(t.kind="scalar",t.result="",s=o=t.position,a=!1;h!==0;){if(h===58){if(n=t.input.charCodeAt(t.position+1),yn(n)||r&&ag(n))break}else if(h===35){if(i=t.input.charCodeAt(t.position-1),yn(i))break}else{if(t.position===t.lineStart&&Iw(t)||r&&ag(h))break;if(wo(h))if(l=t.line,c=t.lineStart,u=t.lineIndent,jr(t,!1,-1),t.lineIndent>=e){a=!0,h=t.input.charCodeAt(t.position);continue}else{t.position=o,t.line=l,t.lineStart=c,t.lineIndent=u;break}}a&&(bA(t,s,o,!1),TP(t,t.line-l),s=o=t.position,a=!1),rc(h)||(o=t.position+1),h=t.input.charCodeAt(++t.position)}return bA(t,s,o,!1),t.result?!0:(t.kind=g,t.result=f,!1)}function sDe(t,e){var r,i,n;if(r=t.input.charCodeAt(t.position),r!==39)return!1;for(t.kind="scalar",t.result="",t.position++,i=n=t.position;(r=t.input.charCodeAt(t.position))!==0;)if(r===39)if(bA(t,i,t.position,!0),r=t.input.charCodeAt(++t.position),r===39)i=t.position,t.position++,n=t.position;else return!0;else wo(r)?(bA(t,i,n,!0),TP(t,jr(t,!1,e)),i=n=t.position):t.position===t.lineStart&&Iw(t)?st(t,"unexpected end of the document within a single quoted scalar"):(t.position++,n=t.position);st(t,"unexpected end of the stream within a single quoted scalar")}function oDe(t,e){var r,i,n,s,o,a;if(a=t.input.charCodeAt(t.position),a!==34)return!1;for(t.kind="scalar",t.result="",t.position++,r=i=t.position;(a=t.input.charCodeAt(t.position))!==0;){if(a===34)return bA(t,r,t.position,!0),t.position++,!0;if(a===92){if(bA(t,r,t.position,!0),a=t.input.charCodeAt(++t.position),wo(a))jr(t,!1,e);else if(a<256&&Uz[a])t.result+=Hz[a],t.position++;else if((o=eDe(a))>0){for(n=o,s=0;n>0;n--)a=t.input.charCodeAt(++t.position),(o=$Pe(a))>=0?s=(s<<4)+o:st(t,"expected hexadecimal character");t.result+=rDe(s),t.position++}else st(t,"unknown escape sequence");r=i=t.position}else wo(a)?(bA(t,r,i,!0),TP(t,jr(t,!1,e)),r=i=t.position):t.position===t.lineStart&&Iw(t)?st(t,"unexpected end of the document within a double quoted scalar"):(t.position++,i=t.position)}st(t,"unexpected end of the stream within a double quoted scalar")}function aDe(t,e){var r=!0,i,n=t.tag,s,o=t.anchor,a,l,c,u,g,f={},h,p,d,m;if(m=t.input.charCodeAt(t.position),m===91)l=93,g=!1,s=[];else if(m===123)l=125,g=!0,s={};else return!1;for(t.anchor!==null&&(t.anchorMap[t.anchor]=s),m=t.input.charCodeAt(++t.position);m!==0;){if(jr(t,!0,e),m=t.input.charCodeAt(t.position),m===l)return t.position++,t.tag=n,t.anchor=o,t.kind=g?"mapping":"sequence",t.result=s,!0;r||st(t,"missed comma between flow collection entries"),p=h=d=null,c=u=!1,m===63&&(a=t.input.charCodeAt(t.position+1),yn(a)&&(c=u=!0,t.position++,jr(t,!0,e))),i=t.line,cg(t,e,Cw,!1,!0),p=t.tag,h=t.result,jr(t,!0,e),m=t.input.charCodeAt(t.position),(u||t.line===i)&&m===58&&(c=!0,m=t.input.charCodeAt(++t.position),jr(t,!0,e),cg(t,e,Cw,!1,!0),d=t.result),g?lg(t,s,f,p,h,d):c?s.push(lg(t,null,f,p,h,d)):s.push(h),jr(t,!0,e),m=t.input.charCodeAt(t.position),m===44?(r=!0,m=t.input.charCodeAt(++t.position)):r=!1}st(t,"unexpected end of the stream within a flow collection")}function ADe(t,e){var r,i,n=NP,s=!1,o=!1,a=e,l=0,c=!1,u,g;if(g=t.input.charCodeAt(t.position),g===124)i=!1;else if(g===62)i=!0;else return!1;for(t.kind="scalar",t.result="";g!==0;)if(g=t.input.charCodeAt(++t.position),g===43||g===45)NP===n?n=g===43?Lz:VPe:st(t,"repeat of a chomping mode identifier");else if((u=tDe(g))>=0)u===0?st(t,"bad explicit indentation width of a block scalar; it cannot be less than one"):o?st(t,"repeat of an indentation width identifier"):(a=e+u-1,o=!0);else break;if(rc(g)){do g=t.input.charCodeAt(++t.position);while(rc(g));if(g===35)do g=t.input.charCodeAt(++t.position);while(!wo(g)&&g!==0)}for(;g!==0;){for(LP(t),t.lineIndent=0,g=t.input.charCodeAt(t.position);(!o||t.lineIndenta&&(a=t.lineIndent),wo(g)){l++;continue}if(t.lineIndente)&&l!==0)st(t,"bad indentation of a sequence entry");else if(t.lineIndente)&&(cg(t,e,mw,!0,n)&&(p?f=t.result:h=t.result),p||(lg(t,c,u,g,f,h,s,o),g=f=h=null),jr(t,!0,-1),m=t.input.charCodeAt(t.position)),t.lineIndent>e&&m!==0)st(t,"bad indentation of a mapping entry");else if(t.lineIndente?l=1:t.lineIndent===e?l=0:t.lineIndente?l=1:t.lineIndent===e?l=0:t.lineIndent tag; it should be "scalar", not "'+t.kind+'"'),g=0,f=t.implicitTypes.length;g tag; it should be "'+h.kind+'", not "'+t.kind+'"'),h.resolve(t.result)?(t.result=h.construct(t.result),t.anchor!==null&&(t.anchorMap[t.anchor]=t.result)):st(t,"cannot resolve a node with !<"+t.tag+"> explicit tag")):st(t,"unknown tag !<"+t.tag+">");return t.listener!==null&&t.listener("close",t),t.tag!==null||t.anchor!==null||u}function fDe(t){var e=t.position,r,i,n,s=!1,o;for(t.version=null,t.checkLineBreaks=t.legacy,t.tagMap={},t.anchorMap={};(o=t.input.charCodeAt(t.position))!==0&&(jr(t,!0,-1),o=t.input.charCodeAt(t.position),!(t.lineIndent>0||o!==37));){for(s=!0,o=t.input.charCodeAt(++t.position),r=t.position;o!==0&&!yn(o);)o=t.input.charCodeAt(++t.position);for(i=t.input.slice(r,t.position),n=[],i.length<1&&st(t,"directive name must not be less than one character in length");o!==0;){for(;rc(o);)o=t.input.charCodeAt(++t.position);if(o===35){do o=t.input.charCodeAt(++t.position);while(o!==0&&!wo(o));break}if(wo(o))break;for(r=t.position;o!==0&&!yn(o);)o=t.input.charCodeAt(++t.position);n.push(t.input.slice(r,t.position))}o!==0&&LP(t),QA.call(jz,i)?jz[i](t,i,n):Ew(t,'unknown document directive "'+i+'"')}if(jr(t,!0,-1),t.lineIndent===0&&t.input.charCodeAt(t.position)===45&&t.input.charCodeAt(t.position+1)===45&&t.input.charCodeAt(t.position+2)===45?(t.position+=3,jr(t,!0,-1)):s&&st(t,"directives end mark is expected"),cg(t,t.lineIndent-1,mw,!1,!0),jr(t,!0,-1),t.checkLineBreaks&&XPe.test(t.input.slice(e,t.position))&&Ew(t,"non-ASCII line breaks are interpreted as content"),t.documents.push(t.result),t.position===t.lineStart&&Iw(t)){t.input.charCodeAt(t.position)===46&&(t.position+=3,jr(t,!0,-1));return}if(t.position{"use strict";var Op=$l(),Kp=ng(),dDe=Tp(),CDe=og(),_z=Object.prototype.toString,Xz=Object.prototype.hasOwnProperty,mDe=9,Up=10,EDe=13,IDe=32,yDe=33,wDe=34,Zz=35,BDe=37,QDe=38,bDe=39,vDe=42,$z=44,SDe=45,e5=58,xDe=61,kDe=62,PDe=63,DDe=64,t5=91,r5=93,RDe=96,i5=123,FDe=124,n5=125,Ri={};Ri[0]="\\0";Ri[7]="\\a";Ri[8]="\\b";Ri[9]="\\t";Ri[10]="\\n";Ri[11]="\\v";Ri[12]="\\f";Ri[13]="\\r";Ri[27]="\\e";Ri[34]='\\"';Ri[92]="\\\\";Ri[133]="\\N";Ri[160]="\\_";Ri[8232]="\\L";Ri[8233]="\\P";var NDe=["y","Y","yes","Yes","YES","on","On","ON","n","N","no","No","NO","off","Off","OFF"];function LDe(t,e){var r,i,n,s,o,a,l;if(e===null)return{};for(r={},i=Object.keys(e),n=0,s=i.length;n0?t.charCodeAt(s-1):null,f=f&&a5(o,a)}else{for(s=0;si&&t[g+1]!==" ",g=s);else if(!ug(o))return yw;a=s>0?t.charCodeAt(s-1):null,f=f&&a5(o,a)}c=c||u&&s-g-1>i&&t[g+1]!==" "}return!l&&!c?f&&!n(t)?l5:c5:r>9&&A5(t)?yw:c?g5:u5}function jDe(t,e,r,i){t.dump=function(){if(e.length===0)return"''";if(!t.noCompatMode&&NDe.indexOf(e)!==-1)return"'"+e+"'";var n=t.indent*Math.max(1,r),s=t.lineWidth===-1?-1:Math.max(Math.min(t.lineWidth,40),t.lineWidth-n),o=i||t.flowLevel>-1&&r>=t.flowLevel;function a(l){return MDe(t,l)}switch(UDe(e,o,t.indent,s,a)){case l5:return e;case c5:return"'"+e.replace(/'/g,"''")+"'";case u5:return"|"+f5(e,t.indent)+h5(o5(e,n));case g5:return">"+f5(e,t.indent)+h5(o5(HDe(e,s),n));case yw:return'"'+GDe(e,s)+'"';default:throw new Kp("impossible error: invalid scalar style")}}()}function f5(t,e){var r=A5(t)?String(e):"",i=t[t.length-1]===` +`,n=i&&(t[t.length-2]===` +`||t===` +`),s=n?"+":i?"":"-";return r+s+` +`}function h5(t){return t[t.length-1]===` +`?t.slice(0,-1):t}function HDe(t,e){for(var r=/(\n+)([^\n]*)/g,i=function(){var c=t.indexOf(` +`);return c=c!==-1?c:t.length,r.lastIndex=c,p5(t.slice(0,c),e)}(),n=t[0]===` +`||t[0]===" ",s,o;o=r.exec(t);){var a=o[1],l=o[2];s=l[0]===" ",i+=a+(!n&&!s&&l!==""?` +`:"")+p5(l,e),n=s}return i}function p5(t,e){if(t===""||t[0]===" ")return t;for(var r=/ [^ ]/g,i,n=0,s,o=0,a=0,l="";i=r.exec(t);)a=i.index,a-n>e&&(s=o>n?o:a,l+=` +`+t.slice(n,s),n=s+1),o=a;return l+=` +`,t.length-n>e&&o>n?l+=t.slice(n,o)+` +`+t.slice(o+1):l+=t.slice(n),l.slice(1)}function GDe(t){for(var e="",r,i,n,s=0;s=55296&&r<=56319&&(i=t.charCodeAt(s+1),i>=56320&&i<=57343)){e+=s5((r-55296)*1024+i-56320+65536),s++;continue}n=Ri[r],e+=!n&&ug(r)?t[s]:n||s5(r)}return e}function YDe(t,e,r){var i="",n=t.tag,s,o;for(s=0,o=r.length;s1024&&(u+="? "),u+=t.dump+(t.condenseFlow?'"':"")+":"+(t.condenseFlow?"":" "),!!ic(t,e,c,!1,!1)&&(u+=t.dump,i+=u));t.tag=n,t.dump="{"+i+"}"}function WDe(t,e,r,i){var n="",s=t.tag,o=Object.keys(r),a,l,c,u,g,f;if(t.sortKeys===!0)o.sort();else if(typeof t.sortKeys=="function")o.sort(t.sortKeys);else if(t.sortKeys)throw new Kp("sortKeys must be a boolean or a function");for(a=0,l=o.length;a1024,g&&(t.dump&&Up===t.dump.charCodeAt(0)?f+="?":f+="? "),f+=t.dump,g&&(f+=OP(t,e)),!!ic(t,e+1,u,!0,g)&&(t.dump&&Up===t.dump.charCodeAt(0)?f+=":":f+=": ",f+=t.dump,n+=f));t.tag=s,t.dump=n||"{}"}function d5(t,e,r){var i,n,s,o,a,l;for(n=r?t.explicitTypes:t.implicitTypes,s=0,o=n.length;s tag resolver accepts not "'+l+'" style');t.dump=i}return!0}return!1}function ic(t,e,r,i,n,s){t.tag=null,t.dump=r,d5(t,r,!1)||d5(t,r,!0);var o=_z.call(t.dump);i&&(i=t.flowLevel<0||t.flowLevel>e);var a=o==="[object Object]"||o==="[object Array]",l,c;if(a&&(l=t.duplicates.indexOf(r),c=l!==-1),(t.tag!==null&&t.tag!=="?"||c||t.indent!==2&&e>0)&&(n=!1),c&&t.usedDuplicates[l])t.dump="*ref_"+l;else{if(a&&c&&!t.usedDuplicates[l]&&(t.usedDuplicates[l]=!0),o==="[object Object]")i&&Object.keys(t.dump).length!==0?(WDe(t,e,t.dump,n),c&&(t.dump="&ref_"+l+t.dump)):(JDe(t,e,t.dump),c&&(t.dump="&ref_"+l+" "+t.dump));else if(o==="[object Array]"){var u=t.noArrayIndent&&e>0?e-1:e;i&&t.dump.length!==0?(qDe(t,u,t.dump,n),c&&(t.dump="&ref_"+l+t.dump)):(YDe(t,u,t.dump),c&&(t.dump="&ref_"+l+" "+t.dump))}else if(o==="[object String]")t.tag!=="?"&&jDe(t,t.dump,e,s);else{if(t.skipInvalid)return!1;throw new Kp("unacceptable kind of an object to dump "+o)}t.tag!==null&&t.tag!=="?"&&(t.dump="!<"+t.tag+"> "+t.dump)}return!0}function zDe(t,e){var r=[],i=[],n,s;for(UP(t,r,i),n=0,s=i.length;n{"use strict";var ww=Vz(),E5=m5();function Bw(t){return function(){throw new Error("Function "+t+" is deprecated and cannot be used.")}}Qr.exports.Type=Xr();Qr.exports.Schema=ec();Qr.exports.FAILSAFE_SCHEMA=pw();Qr.exports.JSON_SCHEMA=DP();Qr.exports.CORE_SCHEMA=RP();Qr.exports.DEFAULT_SAFE_SCHEMA=og();Qr.exports.DEFAULT_FULL_SCHEMA=Tp();Qr.exports.load=ww.load;Qr.exports.loadAll=ww.loadAll;Qr.exports.safeLoad=ww.safeLoad;Qr.exports.safeLoadAll=ww.safeLoadAll;Qr.exports.dump=E5.dump;Qr.exports.safeDump=E5.safeDump;Qr.exports.YAMLException=ng();Qr.exports.MINIMAL_SCHEMA=pw();Qr.exports.SAFE_SCHEMA=og();Qr.exports.DEFAULT_SCHEMA=Tp();Qr.exports.scan=Bw("scan");Qr.exports.parse=Bw("parse");Qr.exports.compose=Bw("compose");Qr.exports.addConstructor=Bw("addConstructor")});var w5=E((wat,y5)=>{"use strict";var _De=I5();y5.exports=_De});var Q5=E((Bat,B5)=>{"use strict";function XDe(t,e){function r(){this.constructor=t}r.prototype=e.prototype,t.prototype=new r}function nc(t,e,r,i){this.message=t,this.expected=e,this.found=r,this.location=i,this.name="SyntaxError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,nc)}XDe(nc,Error);nc.buildMessage=function(t,e){var r={literal:function(c){return'"'+n(c.text)+'"'},class:function(c){var u="",g;for(g=0;g0){for(g=1,f=1;g({[xe]:le})))},H=function(x){return x},L=function(x){return x},K=Yo("correct indentation"),J=" ",ne=fr(" ",!1),q=function(x){return x.length===Zc*aE},A=function(x){return x.length===(Zc+1)*aE},V=function(){return Zc++,!0},W=function(){return Zc--,!0},X=function(){return Xm()},F=Yo("pseudostring"),D=/^[^\r\n\t ?:,\][{}#&*!|>'"%@`\-]/,he=Bs(["\r",` +`," "," ","?",":",",","]","[","{","}","#","&","*","!","|",">","'",'"',"%","@","`","-"],!0,!1),pe=/^[^\r\n\t ,\][{}:#"']/,Ne=Bs(["\r",` +`," "," ",",","]","[","{","}",":","#",'"',"'"],!0,!1),Pe=function(){return Xm().replace(/^ *| *$/g,"")},qe="--",re=fr("--",!1),se=/^[a-zA-Z\/0-9]/,be=Bs([["a","z"],["A","Z"],"/",["0","9"]],!1,!1),ae=/^[^\r\n\t :,]/,Ae=Bs(["\r",` +`," "," ",":",","],!0,!1),De="null",$=fr("null",!1),G=function(){return null},Ce="true",ee=fr("true",!1),Ue=function(){return!0},Oe="false",vt=fr("false",!1),dt=function(){return!1},ri=Yo("string"),ii='"',an=fr('"',!1),yr=function(){return""},Ki=function(x){return x},Qi=function(x){return x.join("")},Go=/^[^"\\\0-\x1F\x7F]/,wr=Bs(['"',"\\",["\0",""],"\x7F"],!0,!1),Ui='\\"',ws=fr('\\"',!1),Tf=function(){return'"'},Mf="\\\\",Rm=fr("\\\\",!1),Fm=function(){return"\\"},Nm="\\/",DQ=fr("\\/",!1),RQ=function(){return"/"},Of="\\b",FQ=fr("\\b",!1),NQ=function(){return"\b"},Lm="\\f",LQ=fr("\\f",!1),Va=function(){return"\f"},jo="\\n",Tm=fr("\\n",!1),Mm=function(){return` +`},te="\\r",Om=fr("\\r",!1),Km=function(){return"\r"},il="\\t",Um=fr("\\t",!1),Hm=function(){return" "},Kf="\\u",Gm=fr("\\u",!1),jm=function(x,U,le,xe){return String.fromCharCode(parseInt(`0x${x}${U}${le}${xe}`))},TQ=/^[0-9a-fA-F]/,MQ=Bs([["0","9"],["a","f"],["A","F"]],!1,!1),Ym=Yo("blank space"),qm=/^[ \t]/,Jm=Bs([" "," "],!1,!1),Wm=Yo("white space"),zm=/^[ \t\n\r]/,Vm=Bs([" "," ",` +`,"\r"],!1,!1),Uf=`\r +`,OQ=fr(`\r +`,!1),KQ=` +`,_m=fr(` +`,!1),UQ="\r",HQ=fr("\r",!1),O=0,ht=0,Vc=[{line:1,column:1}],xn=0,Hf=[],Ye=0,nl;if("startRule"in e){if(!(e.startRule in i))throw new Error(`Can't start parsing from rule "`+e.startRule+'".');n=i[e.startRule]}function Xm(){return t.substring(ht,O)}function MM(){return _a(ht,O)}function GQ(x,U){throw U=U!==void 0?U:_a(ht,O),eE([Yo(x)],t.substring(ht,O),U)}function OM(x,U){throw U=U!==void 0?U:_a(ht,O),YQ(x,U)}function fr(x,U){return{type:"literal",text:x,ignoreCase:U}}function Bs(x,U,le){return{type:"class",parts:x,inverted:U,ignoreCase:le}}function jQ(){return{type:"any"}}function Zm(){return{type:"end"}}function Yo(x){return{type:"other",description:x}}function $m(x){var U=Vc[x],le;if(U)return U;for(le=x-1;!Vc[le];)le--;for(U=Vc[le],U={line:U.line,column:U.column};lexn&&(xn=O,Hf=[]),Hf.push(x))}function YQ(x,U){return new nc(x,null,null,U)}function eE(x,U,le){return new nc(nc.buildMessage(x,U),x,U,le)}function tE(){var x;return x=ol(),x}function Xa(){var x,U,le;for(x=O,U=[],le=sl();le!==r;)U.push(le),le=sl();return U!==r&&(ht=x,U=s(U)),x=U,x}function sl(){var x,U,le,xe,Qe;return x=O,U=Al(),U!==r?(t.charCodeAt(O)===45?(le=o,O++):(le=r,Ye===0&&et(a)),le!==r?(xe=xr(),xe!==r?(Qe=qo(),Qe!==r?(ht=x,U=l(Qe),x=U):(O=x,x=r)):(O=x,x=r)):(O=x,x=r)):(O=x,x=r),x}function ol(){var x,U,le;for(x=O,U=[],le=al();le!==r;)U.push(le),le=al();return U!==r&&(ht=x,U=c(U)),x=U,x}function al(){var x,U,le,xe,Qe,Ge,ct,sr,Wo;if(x=O,U=xr(),U===r&&(U=null),U!==r){if(le=O,t.charCodeAt(O)===35?(xe=u,O++):(xe=r,Ye===0&&et(g)),xe!==r){if(Qe=[],Ge=O,ct=O,Ye++,sr=Zs(),Ye--,sr===r?ct=void 0:(O=ct,ct=r),ct!==r?(t.length>O?(sr=t.charAt(O),O++):(sr=r,Ye===0&&et(f)),sr!==r?(ct=[ct,sr],Ge=ct):(O=Ge,Ge=r)):(O=Ge,Ge=r),Ge!==r)for(;Ge!==r;)Qe.push(Ge),Ge=O,ct=O,Ye++,sr=Zs(),Ye--,sr===r?ct=void 0:(O=ct,ct=r),ct!==r?(t.length>O?(sr=t.charAt(O),O++):(sr=r,Ye===0&&et(f)),sr!==r?(ct=[ct,sr],Ge=ct):(O=Ge,Ge=r)):(O=Ge,Ge=r);else Qe=r;Qe!==r?(xe=[xe,Qe],le=xe):(O=le,le=r)}else O=le,le=r;if(le===r&&(le=null),le!==r){if(xe=[],Qe=Jo(),Qe!==r)for(;Qe!==r;)xe.push(Qe),Qe=Jo();else xe=r;xe!==r?(ht=x,U=h(),x=U):(O=x,x=r)}else O=x,x=r}else O=x,x=r;if(x===r&&(x=O,U=Al(),U!==r?(le=JQ(),le!==r?(xe=xr(),xe===r&&(xe=null),xe!==r?(t.charCodeAt(O)===58?(Qe=p,O++):(Qe=r,Ye===0&&et(d)),Qe!==r?(Ge=xr(),Ge===r&&(Ge=null),Ge!==r?(ct=qo(),ct!==r?(ht=x,U=m(le,ct),x=U):(O=x,x=r)):(O=x,x=r)):(O=x,x=r)):(O=x,x=r)):(O=x,x=r)):(O=x,x=r),x===r&&(x=O,U=Al(),U!==r?(le=ll(),le!==r?(xe=xr(),xe===r&&(xe=null),xe!==r?(t.charCodeAt(O)===58?(Qe=p,O++):(Qe=r,Ye===0&&et(d)),Qe!==r?(Ge=xr(),Ge===r&&(Ge=null),Ge!==r?(ct=qo(),ct!==r?(ht=x,U=m(le,ct),x=U):(O=x,x=r)):(O=x,x=r)):(O=x,x=r)):(O=x,x=r)):(O=x,x=r)):(O=x,x=r),x===r))){if(x=O,U=Al(),U!==r)if(le=ll(),le!==r)if(xe=xr(),xe!==r)if(Qe=nE(),Qe!==r){if(Ge=[],ct=Jo(),ct!==r)for(;ct!==r;)Ge.push(ct),ct=Jo();else Ge=r;Ge!==r?(ht=x,U=m(le,Qe),x=U):(O=x,x=r)}else O=x,x=r;else O=x,x=r;else O=x,x=r;else O=x,x=r;if(x===r)if(x=O,U=Al(),U!==r)if(le=ll(),le!==r){if(xe=[],Qe=O,Ge=xr(),Ge===r&&(Ge=null),Ge!==r?(t.charCodeAt(O)===44?(ct=I,O++):(ct=r,Ye===0&&et(B)),ct!==r?(sr=xr(),sr===r&&(sr=null),sr!==r?(Wo=ll(),Wo!==r?(ht=Qe,Ge=b(le,Wo),Qe=Ge):(O=Qe,Qe=r)):(O=Qe,Qe=r)):(O=Qe,Qe=r)):(O=Qe,Qe=r),Qe!==r)for(;Qe!==r;)xe.push(Qe),Qe=O,Ge=xr(),Ge===r&&(Ge=null),Ge!==r?(t.charCodeAt(O)===44?(ct=I,O++):(ct=r,Ye===0&&et(B)),ct!==r?(sr=xr(),sr===r&&(sr=null),sr!==r?(Wo=ll(),Wo!==r?(ht=Qe,Ge=b(le,Wo),Qe=Ge):(O=Qe,Qe=r)):(O=Qe,Qe=r)):(O=Qe,Qe=r)):(O=Qe,Qe=r);else xe=r;xe!==r?(Qe=xr(),Qe===r&&(Qe=null),Qe!==r?(t.charCodeAt(O)===58?(Ge=p,O++):(Ge=r,Ye===0&&et(d)),Ge!==r?(ct=xr(),ct===r&&(ct=null),ct!==r?(sr=qo(),sr!==r?(ht=x,U=R(le,xe,sr),x=U):(O=x,x=r)):(O=x,x=r)):(O=x,x=r)):(O=x,x=r)):(O=x,x=r)}else O=x,x=r;else O=x,x=r}return x}function qo(){var x,U,le,xe,Qe,Ge,ct;if(x=O,U=O,Ye++,le=O,xe=Zs(),xe!==r?(Qe=qQ(),Qe!==r?(t.charCodeAt(O)===45?(Ge=o,O++):(Ge=r,Ye===0&&et(a)),Ge!==r?(ct=xr(),ct!==r?(xe=[xe,Qe,Ge,ct],le=xe):(O=le,le=r)):(O=le,le=r)):(O=le,le=r)):(O=le,le=r),Ye--,le!==r?(O=U,U=void 0):U=r,U!==r?(le=Jo(),le!==r?(xe=rE(),xe!==r?(Qe=Xa(),Qe!==r?(Ge=iE(),Ge!==r?(ht=x,U=H(Qe),x=U):(O=x,x=r)):(O=x,x=r)):(O=x,x=r)):(O=x,x=r)):(O=x,x=r),x===r&&(x=O,U=Zs(),U!==r?(le=rE(),le!==r?(xe=ol(),xe!==r?(Qe=iE(),Qe!==r?(ht=x,U=H(xe),x=U):(O=x,x=r)):(O=x,x=r)):(O=x,x=r)):(O=x,x=r),x===r))if(x=O,U=WQ(),U!==r){if(le=[],xe=Jo(),xe!==r)for(;xe!==r;)le.push(xe),xe=Jo();else le=r;le!==r?(ht=x,U=L(U),x=U):(O=x,x=r)}else O=x,x=r;return x}function Al(){var x,U,le;for(Ye++,x=O,U=[],t.charCodeAt(O)===32?(le=J,O++):(le=r,Ye===0&&et(ne));le!==r;)U.push(le),t.charCodeAt(O)===32?(le=J,O++):(le=r,Ye===0&&et(ne));return U!==r?(ht=O,le=q(U),le?le=void 0:le=r,le!==r?(U=[U,le],x=U):(O=x,x=r)):(O=x,x=r),Ye--,x===r&&(U=r,Ye===0&&et(K)),x}function qQ(){var x,U,le;for(x=O,U=[],t.charCodeAt(O)===32?(le=J,O++):(le=r,Ye===0&&et(ne));le!==r;)U.push(le),t.charCodeAt(O)===32?(le=J,O++):(le=r,Ye===0&&et(ne));return U!==r?(ht=O,le=A(U),le?le=void 0:le=r,le!==r?(U=[U,le],x=U):(O=x,x=r)):(O=x,x=r),x}function rE(){var x;return ht=O,x=V(),x?x=void 0:x=r,x}function iE(){var x;return ht=O,x=W(),x?x=void 0:x=r,x}function JQ(){var x;return x=cl(),x===r&&(x=Gf()),x}function ll(){var x,U,le;if(x=cl(),x===r){if(x=O,U=[],le=_c(),le!==r)for(;le!==r;)U.push(le),le=_c();else U=r;U!==r&&(ht=x,U=X()),x=U}return x}function WQ(){var x;return x=jf(),x===r&&(x=sE(),x===r&&(x=cl(),x===r&&(x=Gf()))),x}function nE(){var x;return x=jf(),x===r&&(x=cl(),x===r&&(x=_c())),x}function Gf(){var x,U,le,xe,Qe,Ge;if(Ye++,x=O,D.test(t.charAt(O))?(U=t.charAt(O),O++):(U=r,Ye===0&&et(he)),U!==r){for(le=[],xe=O,Qe=xr(),Qe===r&&(Qe=null),Qe!==r?(pe.test(t.charAt(O))?(Ge=t.charAt(O),O++):(Ge=r,Ye===0&&et(Ne)),Ge!==r?(Qe=[Qe,Ge],xe=Qe):(O=xe,xe=r)):(O=xe,xe=r);xe!==r;)le.push(xe),xe=O,Qe=xr(),Qe===r&&(Qe=null),Qe!==r?(pe.test(t.charAt(O))?(Ge=t.charAt(O),O++):(Ge=r,Ye===0&&et(Ne)),Ge!==r?(Qe=[Qe,Ge],xe=Qe):(O=xe,xe=r)):(O=xe,xe=r);le!==r?(ht=x,U=Pe(),x=U):(O=x,x=r)}else O=x,x=r;return Ye--,x===r&&(U=r,Ye===0&&et(F)),x}function _c(){var x,U,le,xe,Qe;if(x=O,t.substr(O,2)===qe?(U=qe,O+=2):(U=r,Ye===0&&et(re)),U===r&&(U=null),U!==r)if(se.test(t.charAt(O))?(le=t.charAt(O),O++):(le=r,Ye===0&&et(be)),le!==r){for(xe=[],ae.test(t.charAt(O))?(Qe=t.charAt(O),O++):(Qe=r,Ye===0&&et(Ae));Qe!==r;)xe.push(Qe),ae.test(t.charAt(O))?(Qe=t.charAt(O),O++):(Qe=r,Ye===0&&et(Ae));xe!==r?(ht=x,U=Pe(),x=U):(O=x,x=r)}else O=x,x=r;else O=x,x=r;return x}function jf(){var x,U;return x=O,t.substr(O,4)===De?(U=De,O+=4):(U=r,Ye===0&&et($)),U!==r&&(ht=x,U=G()),x=U,x}function sE(){var x,U;return x=O,t.substr(O,4)===Ce?(U=Ce,O+=4):(U=r,Ye===0&&et(ee)),U!==r&&(ht=x,U=Ue()),x=U,x===r&&(x=O,t.substr(O,5)===Oe?(U=Oe,O+=5):(U=r,Ye===0&&et(vt)),U!==r&&(ht=x,U=dt()),x=U),x}function cl(){var x,U,le,xe;return Ye++,x=O,t.charCodeAt(O)===34?(U=ii,O++):(U=r,Ye===0&&et(an)),U!==r?(t.charCodeAt(O)===34?(le=ii,O++):(le=r,Ye===0&&et(an)),le!==r?(ht=x,U=yr(),x=U):(O=x,x=r)):(O=x,x=r),x===r&&(x=O,t.charCodeAt(O)===34?(U=ii,O++):(U=r,Ye===0&&et(an)),U!==r?(le=oE(),le!==r?(t.charCodeAt(O)===34?(xe=ii,O++):(xe=r,Ye===0&&et(an)),xe!==r?(ht=x,U=Ki(le),x=U):(O=x,x=r)):(O=x,x=r)):(O=x,x=r)),Ye--,x===r&&(U=r,Ye===0&&et(ri)),x}function oE(){var x,U,le;if(x=O,U=[],le=Yf(),le!==r)for(;le!==r;)U.push(le),le=Yf();else U=r;return U!==r&&(ht=x,U=Qi(U)),x=U,x}function Yf(){var x,U,le,xe,Qe,Ge;return Go.test(t.charAt(O))?(x=t.charAt(O),O++):(x=r,Ye===0&&et(wr)),x===r&&(x=O,t.substr(O,2)===Ui?(U=Ui,O+=2):(U=r,Ye===0&&et(ws)),U!==r&&(ht=x,U=Tf()),x=U,x===r&&(x=O,t.substr(O,2)===Mf?(U=Mf,O+=2):(U=r,Ye===0&&et(Rm)),U!==r&&(ht=x,U=Fm()),x=U,x===r&&(x=O,t.substr(O,2)===Nm?(U=Nm,O+=2):(U=r,Ye===0&&et(DQ)),U!==r&&(ht=x,U=RQ()),x=U,x===r&&(x=O,t.substr(O,2)===Of?(U=Of,O+=2):(U=r,Ye===0&&et(FQ)),U!==r&&(ht=x,U=NQ()),x=U,x===r&&(x=O,t.substr(O,2)===Lm?(U=Lm,O+=2):(U=r,Ye===0&&et(LQ)),U!==r&&(ht=x,U=Va()),x=U,x===r&&(x=O,t.substr(O,2)===jo?(U=jo,O+=2):(U=r,Ye===0&&et(Tm)),U!==r&&(ht=x,U=Mm()),x=U,x===r&&(x=O,t.substr(O,2)===te?(U=te,O+=2):(U=r,Ye===0&&et(Om)),U!==r&&(ht=x,U=Km()),x=U,x===r&&(x=O,t.substr(O,2)===il?(U=il,O+=2):(U=r,Ye===0&&et(Um)),U!==r&&(ht=x,U=Hm()),x=U,x===r&&(x=O,t.substr(O,2)===Kf?(U=Kf,O+=2):(U=r,Ye===0&&et(Gm)),U!==r?(le=Xc(),le!==r?(xe=Xc(),xe!==r?(Qe=Xc(),Qe!==r?(Ge=Xc(),Ge!==r?(ht=x,U=jm(le,xe,Qe,Ge),x=U):(O=x,x=r)):(O=x,x=r)):(O=x,x=r)):(O=x,x=r)):(O=x,x=r)))))))))),x}function Xc(){var x;return TQ.test(t.charAt(O))?(x=t.charAt(O),O++):(x=r,Ye===0&&et(MQ)),x}function xr(){var x,U;if(Ye++,x=[],qm.test(t.charAt(O))?(U=t.charAt(O),O++):(U=r,Ye===0&&et(Jm)),U!==r)for(;U!==r;)x.push(U),qm.test(t.charAt(O))?(U=t.charAt(O),O++):(U=r,Ye===0&&et(Jm));else x=r;return Ye--,x===r&&(U=r,Ye===0&&et(Ym)),x}function KM(){var x,U;if(Ye++,x=[],zm.test(t.charAt(O))?(U=t.charAt(O),O++):(U=r,Ye===0&&et(Vm)),U!==r)for(;U!==r;)x.push(U),zm.test(t.charAt(O))?(U=t.charAt(O),O++):(U=r,Ye===0&&et(Vm));else x=r;return Ye--,x===r&&(U=r,Ye===0&&et(Wm)),x}function Jo(){var x,U,le,xe,Qe,Ge;if(x=O,U=Zs(),U!==r){for(le=[],xe=O,Qe=xr(),Qe===r&&(Qe=null),Qe!==r?(Ge=Zs(),Ge!==r?(Qe=[Qe,Ge],xe=Qe):(O=xe,xe=r)):(O=xe,xe=r);xe!==r;)le.push(xe),xe=O,Qe=xr(),Qe===r&&(Qe=null),Qe!==r?(Ge=Zs(),Ge!==r?(Qe=[Qe,Ge],xe=Qe):(O=xe,xe=r)):(O=xe,xe=r);le!==r?(U=[U,le],x=U):(O=x,x=r)}else O=x,x=r;return x}function Zs(){var x;return t.substr(O,2)===Uf?(x=Uf,O+=2):(x=r,Ye===0&&et(OQ)),x===r&&(t.charCodeAt(O)===10?(x=KQ,O++):(x=r,Ye===0&&et(_m)),x===r&&(t.charCodeAt(O)===13?(x=UQ,O++):(x=r,Ye===0&&et(HQ)))),x}let aE=2,Zc=0;if(nl=n(),nl!==r&&O===t.length)return nl;throw nl!==r&&O{var fRe=typeof global=="object"&&global&&global.Object===Object&&global;V5.exports=fRe});var Ks=E((Zat,_5)=>{var hRe=WP(),pRe=typeof self=="object"&&self&&self.Object===Object&&self,dRe=hRe||pRe||Function("return this")();_5.exports=dRe});var ac=E(($at,X5)=>{var CRe=Ks(),mRe=CRe.Symbol;X5.exports=mRe});var $5=E((eAt,Z5)=>{function ERe(t,e){for(var r=-1,i=t==null?0:t.length,n=Array(i);++r{var IRe=Array.isArray;e6.exports=IRe});var n6=E((rAt,t6)=>{var r6=ac(),i6=Object.prototype,yRe=i6.hasOwnProperty,wRe=i6.toString,Jp=r6?r6.toStringTag:void 0;function BRe(t){var e=yRe.call(t,Jp),r=t[Jp];try{t[Jp]=void 0;var i=!0}catch(s){}var n=wRe.call(t);return i&&(e?t[Jp]=r:delete t[Jp]),n}t6.exports=BRe});var o6=E((iAt,s6)=>{var QRe=Object.prototype,bRe=QRe.toString;function vRe(t){return bRe.call(t)}s6.exports=vRe});var Ac=E((nAt,a6)=>{var A6=ac(),SRe=n6(),xRe=o6(),kRe="[object Null]",PRe="[object Undefined]",l6=A6?A6.toStringTag:void 0;function DRe(t){return t==null?t===void 0?PRe:kRe:l6&&l6 in Object(t)?SRe(t):xRe(t)}a6.exports=DRe});var Qo=E((sAt,c6)=>{function RRe(t){return t!=null&&typeof t=="object"}c6.exports=RRe});var Nw=E((oAt,u6)=>{var FRe=Ac(),NRe=Qo(),LRe="[object Symbol]";function TRe(t){return typeof t=="symbol"||NRe(t)&&FRe(t)==LRe}u6.exports=TRe});var C6=E((aAt,g6)=>{var f6=ac(),MRe=$5(),ORe=As(),KRe=Nw(),URe=1/0,h6=f6?f6.prototype:void 0,p6=h6?h6.toString:void 0;function d6(t){if(typeof t=="string")return t;if(ORe(t))return MRe(t,d6)+"";if(KRe(t))return p6?p6.call(t):"";var e=t+"";return e=="0"&&1/t==-URe?"-0":e}g6.exports=d6});var gg=E((AAt,m6)=>{var HRe=C6();function GRe(t){return t==null?"":HRe(t)}m6.exports=GRe});var zP=E((lAt,E6)=>{function jRe(t,e,r){var i=-1,n=t.length;e<0&&(e=-e>n?0:n+e),r=r>n?n:r,r<0&&(r+=n),n=e>r?0:r-e>>>0,e>>>=0;for(var s=Array(n);++i{var YRe=zP();function qRe(t,e,r){var i=t.length;return r=r===void 0?i:r,!e&&r>=i?t:YRe(t,e,r)}I6.exports=qRe});var VP=E((uAt,w6)=>{var JRe="\\ud800-\\udfff",WRe="\\u0300-\\u036f",zRe="\\ufe20-\\ufe2f",VRe="\\u20d0-\\u20ff",_Re=WRe+zRe+VRe,XRe="\\ufe0e\\ufe0f",ZRe="\\u200d",$Re=RegExp("["+ZRe+JRe+_Re+XRe+"]");function eFe(t){return $Re.test(t)}w6.exports=eFe});var Q6=E((gAt,B6)=>{function tFe(t){return t.split("")}B6.exports=tFe});var R6=E((fAt,b6)=>{var v6="\\ud800-\\udfff",rFe="\\u0300-\\u036f",iFe="\\ufe20-\\ufe2f",nFe="\\u20d0-\\u20ff",sFe=rFe+iFe+nFe,oFe="\\ufe0e\\ufe0f",aFe="["+v6+"]",_P="["+sFe+"]",XP="\\ud83c[\\udffb-\\udfff]",AFe="(?:"+_P+"|"+XP+")",S6="[^"+v6+"]",x6="(?:\\ud83c[\\udde6-\\uddff]){2}",k6="[\\ud800-\\udbff][\\udc00-\\udfff]",lFe="\\u200d",P6=AFe+"?",D6="["+oFe+"]?",cFe="(?:"+lFe+"(?:"+[S6,x6,k6].join("|")+")"+D6+P6+")*",uFe=D6+P6+cFe,gFe="(?:"+[S6+_P+"?",_P,x6,k6,aFe].join("|")+")",fFe=RegExp(XP+"(?="+XP+")|"+gFe+uFe,"g");function hFe(t){return t.match(fFe)||[]}b6.exports=hFe});var N6=E((hAt,F6)=>{var pFe=Q6(),dFe=VP(),CFe=R6();function mFe(t){return dFe(t)?CFe(t):pFe(t)}F6.exports=mFe});var T6=E((pAt,L6)=>{var EFe=y6(),IFe=VP(),yFe=N6(),wFe=gg();function BFe(t){return function(e){e=wFe(e);var r=IFe(e)?yFe(e):void 0,i=r?r[0]:e.charAt(0),n=r?EFe(r,1).join(""):e.slice(1);return i[t]()+n}}L6.exports=BFe});var O6=E((dAt,M6)=>{var QFe=T6(),bFe=QFe("toUpperCase");M6.exports=bFe});var ZP=E((CAt,K6)=>{var vFe=gg(),SFe=O6();function xFe(t){return SFe(vFe(t).toLowerCase())}K6.exports=xFe});var H6=E((mAt,U6)=>{"use strict";U6.exports=(t,...e)=>new Promise(r=>{r(t(...e))})});var Wp=E((EAt,$P)=>{"use strict";var kFe=H6(),G6=t=>{if(t<1)throw new TypeError("Expected `concurrency` to be a number from 1 and up");let e=[],r=0,i=()=>{r--,e.length>0&&e.shift()()},n=(a,l,...c)=>{r++;let u=kFe(a,...c);l(u),u.then(i,i)},s=(a,l,...c)=>{rnew Promise(c=>s(a,c,...l));return Object.defineProperties(o,{activeCount:{get:()=>r},pendingCount:{get:()=>e.length}}),o};$P.exports=G6;$P.exports.default=G6});var X6=E((FAt,Mw)=>{function PFe(){var t=0,e=1,r=2,i=3,n=4,s=5,o=6,a=7,l=8,c=9,u=10,g=11,f=12,h=13,p=14,d=15,m=16,I=17,B=0,b=1,R=2,H=3,L=4;function K(A,V){return 55296<=A.charCodeAt(V)&&A.charCodeAt(V)<=56319&&56320<=A.charCodeAt(V+1)&&A.charCodeAt(V+1)<=57343}function J(A,V){V===void 0&&(V=0);var W=A.charCodeAt(V);if(55296<=W&&W<=56319&&V=1){var X=A.charCodeAt(V-1),F=W;return 55296<=X&&X<=56319?(X-55296)*1024+(F-56320)+65536:F}return W}function ne(A,V,W){var X=[A].concat(V).concat([W]),F=X[X.length-2],D=W,he=X.lastIndexOf(p);if(he>1&&X.slice(1,he).every(function(Pe){return Pe==i})&&[i,h,I].indexOf(A)==-1)return R;var pe=X.lastIndexOf(n);if(pe>0&&X.slice(1,pe).every(function(Pe){return Pe==n})&&[f,n].indexOf(F)==-1)return X.filter(function(Pe){return Pe==n}).length%2==1?H:L;if(F==t&&D==e)return B;if(F==r||F==t||F==e)return D==p&&V.every(function(Pe){return Pe==i})?R:b;if(D==r||D==t||D==e)return b;if(F==o&&(D==o||D==a||D==c||D==u))return B;if((F==c||F==a)&&(D==a||D==l))return B;if((F==u||F==l)&&D==l)return B;if(D==i||D==d)return B;if(D==s)return B;if(F==f)return B;var Ne=X.indexOf(i)!=-1?X.lastIndexOf(i)-1:X.length-2;return[h,I].indexOf(X[Ne])!=-1&&X.slice(Ne+1,-1).every(function(Pe){return Pe==i})&&D==p||F==d&&[m,I].indexOf(D)!=-1?B:V.indexOf(n)!=-1?R:F==n&&D==n?B:b}this.nextBreak=function(A,V){if(V===void 0&&(V=0),V<0)return 0;if(V>=A.length-1)return A.length;for(var W=q(J(A,V)),X=[],F=V+1;F{var DFe=X6(),RFe=/^(.*?)(\x1b\[[^m]+m|\x1b\]8;;.*?(\x1b\\|\u0007))/,FFe=new DFe;Z6.exports=(t,e=0,r=t.length)=>{if(e<0||r<0)throw new RangeError("Negative indices aren't supported by this implementation");let i=r-e,n="",s=0,o=0;for(;t.length>0;){let a=t.match(RFe)||[t,t,void 0],l=FFe.splitGraphemes(a[1]),c=Math.min(e-s,l.length);l=l.slice(c);let u=Math.min(i-o,l.length);n+=l.slice(0,u).join(""),s+=c,o+=u,typeof a[2]!="undefined"&&(n+=a[2]),t=t.slice(a[0].length)}return n}});var fg=E((alt,f9)=>{"use strict";var h9=new Map([["C","cwd"],["f","file"],["z","gzip"],["P","preservePaths"],["U","unlink"],["strip-components","strip"],["stripComponents","strip"],["keep-newer","newer"],["keepNewer","newer"],["keep-newer-files","newer"],["keepNewerFiles","newer"],["k","keep"],["keep-existing","keep"],["keepExisting","keep"],["m","noMtime"],["no-mtime","noMtime"],["p","preserveOwner"],["L","follow"],["h","follow"]]),olt=f9.exports=t=>t?Object.keys(t).map(e=>[h9.has(e)?h9.get(e):e,t[e]]).reduce((e,r)=>(e[r[0]]=r[1],e),Object.create(null)):{}});var hg=E((Alt,p9)=>{"use strict";var JFe=require("events"),d9=require("stream"),_p=Rh(),C9=require("string_decoder").StringDecoder,va=Symbol("EOF"),Xp=Symbol("maybeEmitEnd"),xA=Symbol("emittedEnd"),Gw=Symbol("emittingEnd"),jw=Symbol("closed"),m9=Symbol("read"),iD=Symbol("flush"),E9=Symbol("flushChunk"),Bn=Symbol("encoding"),Sa=Symbol("decoder"),Yw=Symbol("flowing"),Zp=Symbol("paused"),$p=Symbol("resume"),rn=Symbol("bufferLength"),I9=Symbol("bufferPush"),nD=Symbol("bufferShift"),Ni=Symbol("objectMode"),Li=Symbol("destroyed"),y9=global._MP_NO_ITERATOR_SYMBOLS_!=="1",WFe=y9&&Symbol.asyncIterator||Symbol("asyncIterator not implemented"),zFe=y9&&Symbol.iterator||Symbol("iterator not implemented"),w9=t=>t==="end"||t==="finish"||t==="prefinish",VFe=t=>t instanceof ArrayBuffer||typeof t=="object"&&t.constructor&&t.constructor.name==="ArrayBuffer"&&t.byteLength>=0,_Fe=t=>!Buffer.isBuffer(t)&&ArrayBuffer.isView(t);p9.exports=class B9 extends d9{constructor(e){super();this[Yw]=!1,this[Zp]=!1,this.pipes=new _p,this.buffer=new _p,this[Ni]=e&&e.objectMode||!1,this[Ni]?this[Bn]=null:this[Bn]=e&&e.encoding||null,this[Bn]==="buffer"&&(this[Bn]=null),this[Sa]=this[Bn]?new C9(this[Bn]):null,this[va]=!1,this[xA]=!1,this[Gw]=!1,this[jw]=!1,this.writable=!0,this.readable=!0,this[rn]=0,this[Li]=!1}get bufferLength(){return this[rn]}get encoding(){return this[Bn]}set encoding(e){if(this[Ni])throw new Error("cannot set encoding in objectMode");if(this[Bn]&&e!==this[Bn]&&(this[Sa]&&this[Sa].lastNeed||this[rn]))throw new Error("cannot change encoding");this[Bn]!==e&&(this[Sa]=e?new C9(e):null,this.buffer.length&&(this.buffer=this.buffer.map(r=>this[Sa].write(r)))),this[Bn]=e}setEncoding(e){this.encoding=e}get objectMode(){return this[Ni]}set objectMode(e){this[Ni]=this[Ni]||!!e}write(e,r,i){if(this[va])throw new Error("write after end");return this[Li]?(this.emit("error",Object.assign(new Error("Cannot call write after a stream was destroyed"),{code:"ERR_STREAM_DESTROYED"})),!0):(typeof r=="function"&&(i=r,r="utf8"),r||(r="utf8"),!this[Ni]&&!Buffer.isBuffer(e)&&(_Fe(e)?e=Buffer.from(e.buffer,e.byteOffset,e.byteLength):VFe(e)?e=Buffer.from(e):typeof e!="string"&&(this.objectMode=!0)),!this.objectMode&&!e.length?(this[rn]!==0&&this.emit("readable"),i&&i(),this.flowing):(typeof e=="string"&&!this[Ni]&&!(r===this[Bn]&&!this[Sa].lastNeed)&&(e=Buffer.from(e,r)),Buffer.isBuffer(e)&&this[Bn]&&(e=this[Sa].write(e)),this.flowing?(this[rn]!==0&&this[iD](!0),this.emit("data",e)):this[I9](e),this[rn]!==0&&this.emit("readable"),i&&i(),this.flowing))}read(e){if(this[Li])return null;try{return this[rn]===0||e===0||e>this[rn]?null:(this[Ni]&&(e=null),this.buffer.length>1&&!this[Ni]&&(this.encoding?this.buffer=new _p([Array.from(this.buffer).join("")]):this.buffer=new _p([Buffer.concat(Array.from(this.buffer),this[rn])])),this[m9](e||null,this.buffer.head.value))}finally{this[Xp]()}}[m9](e,r){return e===r.length||e===null?this[nD]():(this.buffer.head.value=r.slice(e),r=r.slice(0,e),this[rn]-=e),this.emit("data",r),!this.buffer.length&&!this[va]&&this.emit("drain"),r}end(e,r,i){return typeof e=="function"&&(i=e,e=null),typeof r=="function"&&(i=r,r="utf8"),e&&this.write(e,r),i&&this.once("end",i),this[va]=!0,this.writable=!1,(this.flowing||!this[Zp])&&this[Xp](),this}[$p](){this[Li]||(this[Zp]=!1,this[Yw]=!0,this.emit("resume"),this.buffer.length?this[iD]():this[va]?this[Xp]():this.emit("drain"))}resume(){return this[$p]()}pause(){this[Yw]=!1,this[Zp]=!0}get destroyed(){return this[Li]}get flowing(){return this[Yw]}get paused(){return this[Zp]}[I9](e){return this[Ni]?this[rn]+=1:this[rn]+=e.length,this.buffer.push(e)}[nD](){return this.buffer.length&&(this[Ni]?this[rn]-=1:this[rn]-=this.buffer.head.value.length),this.buffer.shift()}[iD](e){do;while(this[E9](this[nD]()));!e&&!this.buffer.length&&!this[va]&&this.emit("drain")}[E9](e){return e?(this.emit("data",e),this.flowing):!1}pipe(e,r){if(this[Li])return;let i=this[xA];r=r||{},e===process.stdout||e===process.stderr?r.end=!1:r.end=r.end!==!1;let n={dest:e,opts:r,ondrain:s=>this[$p]()};return this.pipes.push(n),e.on("drain",n.ondrain),this[$p](),i&&n.opts.end&&n.dest.end(),e}addListener(e,r){return this.on(e,r)}on(e,r){try{return super.on(e,r)}finally{e==="data"&&!this.pipes.length&&!this.flowing?this[$p]():w9(e)&&this[xA]&&(super.emit(e),this.removeAllListeners(e))}}get emittedEnd(){return this[xA]}[Xp](){!this[Gw]&&!this[xA]&&!this[Li]&&this.buffer.length===0&&this[va]&&(this[Gw]=!0,this.emit("end"),this.emit("prefinish"),this.emit("finish"),this[jw]&&this.emit("close"),this[Gw]=!1)}emit(e,r){if(e!=="error"&&e!=="close"&&e!==Li&&this[Li])return;if(e==="data"){if(!r)return;this.pipes.length&&this.pipes.forEach(n=>n.dest.write(r)===!1&&this.pause())}else if(e==="end"){if(this[xA]===!0)return;this[xA]=!0,this.readable=!1,this[Sa]&&(r=this[Sa].end(),r&&(this.pipes.forEach(n=>n.dest.write(r)),super.emit("data",r))),this.pipes.forEach(n=>{n.dest.removeListener("drain",n.ondrain),n.opts.end&&n.dest.end()})}else if(e==="close"&&(this[jw]=!0,!this[xA]&&!this[Li]))return;let i=new Array(arguments.length);if(i[0]=e,i[1]=r,arguments.length>2)for(let n=2;n{e.push(i),this[Ni]||(e.dataLength+=i.length)}),r.then(()=>e)}concat(){return this[Ni]?Promise.reject(new Error("cannot concat in objectMode")):this.collect().then(e=>this[Ni]?Promise.reject(new Error("cannot concat in objectMode")):this[Bn]?e.join(""):Buffer.concat(e,e.dataLength))}promise(){return new Promise((e,r)=>{this.on(Li,()=>r(new Error("stream destroyed"))),this.on("end",()=>e()),this.on("error",i=>r(i))})}[WFe](){return{next:()=>{let r=this.read();if(r!==null)return Promise.resolve({done:!1,value:r});if(this[va])return Promise.resolve({done:!0});let i=null,n=null,s=c=>{this.removeListener("data",o),this.removeListener("end",a),n(c)},o=c=>{this.removeListener("error",s),this.removeListener("end",a),this.pause(),i({value:c,done:!!this[va]})},a=()=>{this.removeListener("error",s),this.removeListener("data",o),i({done:!0})},l=()=>s(new Error("stream destroyed"));return new Promise((c,u)=>{n=u,i=c,this.once(Li,l),this.once("error",s),this.once("end",a),this.once("data",o)})}}}[zFe](){return{next:()=>{let r=this.read();return{value:r,done:r===null}}}}destroy(e){return this[Li]?(e?this.emit("error",e):this.emit(Li),this):(this[Li]=!0,this.buffer=new _p,this[rn]=0,typeof this.close=="function"&&!this[jw]&&this.close(),e?this.emit("error",e):this.emit(Li),this)}static isStream(e){return!!e&&(e instanceof B9||e instanceof d9||e instanceof JFe&&(typeof e.pipe=="function"||typeof e.write=="function"&&typeof e.end=="function"))}}});var b9=E((llt,Q9)=>{var XFe=require("zlib").constants||{ZLIB_VERNUM:4736};Q9.exports=Object.freeze(Object.assign(Object.create(null),{Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_VERSION_ERROR:-6,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,DEFLATE:1,INFLATE:2,GZIP:3,GUNZIP:4,DEFLATERAW:5,INFLATERAW:6,UNZIP:7,BROTLI_DECODE:8,BROTLI_ENCODE:9,Z_MIN_WINDOWBITS:8,Z_MAX_WINDOWBITS:15,Z_DEFAULT_WINDOWBITS:15,Z_MIN_CHUNK:64,Z_MAX_CHUNK:Infinity,Z_DEFAULT_CHUNK:16384,Z_MIN_MEMLEVEL:1,Z_MAX_MEMLEVEL:9,Z_DEFAULT_MEMLEVEL:8,Z_MIN_LEVEL:-1,Z_MAX_LEVEL:9,Z_DEFAULT_LEVEL:-1,BROTLI_OPERATION_PROCESS:0,BROTLI_OPERATION_FLUSH:1,BROTLI_OPERATION_FINISH:2,BROTLI_OPERATION_EMIT_METADATA:3,BROTLI_MODE_GENERIC:0,BROTLI_MODE_TEXT:1,BROTLI_MODE_FONT:2,BROTLI_DEFAULT_MODE:0,BROTLI_MIN_QUALITY:0,BROTLI_MAX_QUALITY:11,BROTLI_DEFAULT_QUALITY:11,BROTLI_MIN_WINDOW_BITS:10,BROTLI_MAX_WINDOW_BITS:24,BROTLI_LARGE_MAX_WINDOW_BITS:30,BROTLI_DEFAULT_WINDOW:22,BROTLI_MIN_INPUT_BLOCK_BITS:16,BROTLI_MAX_INPUT_BLOCK_BITS:24,BROTLI_PARAM_MODE:0,BROTLI_PARAM_QUALITY:1,BROTLI_PARAM_LGWIN:2,BROTLI_PARAM_LGBLOCK:3,BROTLI_PARAM_DISABLE_LITERAL_CONTEXT_MODELING:4,BROTLI_PARAM_SIZE_HINT:5,BROTLI_PARAM_LARGE_WINDOW:6,BROTLI_PARAM_NPOSTFIX:7,BROTLI_PARAM_NDIRECT:8,BROTLI_DECODER_RESULT_ERROR:0,BROTLI_DECODER_RESULT_SUCCESS:1,BROTLI_DECODER_RESULT_NEEDS_MORE_INPUT:2,BROTLI_DECODER_RESULT_NEEDS_MORE_OUTPUT:3,BROTLI_DECODER_PARAM_DISABLE_RING_BUFFER_REALLOCATION:0,BROTLI_DECODER_PARAM_LARGE_WINDOW:1,BROTLI_DECODER_NO_ERROR:0,BROTLI_DECODER_SUCCESS:1,BROTLI_DECODER_NEEDS_MORE_INPUT:2,BROTLI_DECODER_NEEDS_MORE_OUTPUT:3,BROTLI_DECODER_ERROR_FORMAT_EXUBERANT_NIBBLE:-1,BROTLI_DECODER_ERROR_FORMAT_RESERVED:-2,BROTLI_DECODER_ERROR_FORMAT_EXUBERANT_META_NIBBLE:-3,BROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_ALPHABET:-4,BROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_SAME:-5,BROTLI_DECODER_ERROR_FORMAT_CL_SPACE:-6,BROTLI_DECODER_ERROR_FORMAT_HUFFMAN_SPACE:-7,BROTLI_DECODER_ERROR_FORMAT_CONTEXT_MAP_REPEAT:-8,BROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_1:-9,BROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_2:-10,BROTLI_DECODER_ERROR_FORMAT_TRANSFORM:-11,BROTLI_DECODER_ERROR_FORMAT_DICTIONARY:-12,BROTLI_DECODER_ERROR_FORMAT_WINDOW_BITS:-13,BROTLI_DECODER_ERROR_FORMAT_PADDING_1:-14,BROTLI_DECODER_ERROR_FORMAT_PADDING_2:-15,BROTLI_DECODER_ERROR_FORMAT_DISTANCE:-16,BROTLI_DECODER_ERROR_DICTIONARY_NOT_SET:-19,BROTLI_DECODER_ERROR_INVALID_ARGUMENTS:-20,BROTLI_DECODER_ERROR_ALLOC_CONTEXT_MODES:-21,BROTLI_DECODER_ERROR_ALLOC_TREE_GROUPS:-22,BROTLI_DECODER_ERROR_ALLOC_CONTEXT_MAP:-25,BROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_1:-26,BROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_2:-27,BROTLI_DECODER_ERROR_ALLOC_BLOCK_TYPE_TREES:-30,BROTLI_DECODER_ERROR_UNREACHABLE:-31},XFe))});var fD=E(Un=>{"use strict";var sD=require("assert"),kA=require("buffer").Buffer,v9=require("zlib"),uc=Un.constants=b9(),ZFe=hg(),S9=kA.concat,gc=Symbol("_superWrite"),ed=class extends Error{constructor(e){super("zlib: "+e.message);this.code=e.code,this.errno=e.errno,this.code||(this.code="ZLIB_ERROR"),this.message="zlib: "+e.message,Error.captureStackTrace(this,this.constructor)}get name(){return"ZlibError"}},$Fe=Symbol("opts"),td=Symbol("flushFlag"),x9=Symbol("finishFlushFlag"),oD=Symbol("fullFlushFlag"),tr=Symbol("handle"),qw=Symbol("onError"),pg=Symbol("sawError"),aD=Symbol("level"),AD=Symbol("strategy"),lD=Symbol("ended"),clt=Symbol("_defaultFullFlush"),cD=class extends ZFe{constructor(e,r){if(!e||typeof e!="object")throw new TypeError("invalid options for ZlibBase constructor");super(e);this[pg]=!1,this[lD]=!1,this[$Fe]=e,this[td]=e.flush,this[x9]=e.finishFlush;try{this[tr]=new v9[r](e)}catch(i){throw new ed(i)}this[qw]=i=>{this[pg]||(this[pg]=!0,this.close(),this.emit("error",i))},this[tr].on("error",i=>this[qw](new ed(i))),this.once("end",()=>this.close)}close(){this[tr]&&(this[tr].close(),this[tr]=null,this.emit("close"))}reset(){if(!this[pg])return sD(this[tr],"zlib binding closed"),this[tr].reset()}flush(e){this.ended||(typeof e!="number"&&(e=this[oD]),this.write(Object.assign(kA.alloc(0),{[td]:e})))}end(e,r,i){return e&&this.write(e,r),this.flush(this[x9]),this[lD]=!0,super.end(null,null,i)}get ended(){return this[lD]}write(e,r,i){if(typeof r=="function"&&(i=r,r="utf8"),typeof e=="string"&&(e=kA.from(e,r)),this[pg])return;sD(this[tr],"zlib binding closed");let n=this[tr]._handle,s=n.close;n.close=()=>{};let o=this[tr].close;this[tr].close=()=>{},kA.concat=c=>c;let a;try{let c=typeof e[td]=="number"?e[td]:this[td];a=this[tr]._processChunk(e,c),kA.concat=S9}catch(c){kA.concat=S9,this[qw](new ed(c))}finally{this[tr]&&(this[tr]._handle=n,n.close=s,this[tr].close=o,this[tr].removeAllListeners("error"))}this[tr]&&this[tr].on("error",c=>this[qw](new ed(c)));let l;if(a)if(Array.isArray(a)&&a.length>0){l=this[gc](kA.from(a[0]));for(let c=1;c{this.flush(n),s()};try{this[tr].params(e,r)}finally{this[tr].flush=i}this[tr]&&(this[aD]=e,this[AD]=r)}}}},k9=class extends PA{constructor(e){super(e,"Deflate")}},P9=class extends PA{constructor(e){super(e,"Inflate")}},uD=Symbol("_portable"),D9=class extends PA{constructor(e){super(e,"Gzip");this[uD]=e&&!!e.portable}[gc](e){return this[uD]?(this[uD]=!1,e[9]=255,super[gc](e)):super[gc](e)}},R9=class extends PA{constructor(e){super(e,"Gunzip")}},F9=class extends PA{constructor(e){super(e,"DeflateRaw")}},N9=class extends PA{constructor(e){super(e,"InflateRaw")}},L9=class extends PA{constructor(e){super(e,"Unzip")}},gD=class extends cD{constructor(e,r){e=e||{},e.flush=e.flush||uc.BROTLI_OPERATION_PROCESS,e.finishFlush=e.finishFlush||uc.BROTLI_OPERATION_FINISH,super(e,r),this[oD]=uc.BROTLI_OPERATION_FLUSH}},T9=class extends gD{constructor(e){super(e,"BrotliCompress")}},M9=class extends gD{constructor(e){super(e,"BrotliDecompress")}};Un.Deflate=k9;Un.Inflate=P9;Un.Gzip=D9;Un.Gunzip=R9;Un.DeflateRaw=F9;Un.InflateRaw=N9;Un.Unzip=L9;typeof v9.BrotliCompress=="function"?(Un.BrotliCompress=T9,Un.BrotliDecompress=M9):Un.BrotliCompress=Un.BrotliDecompress=class{constructor(){throw new Error("Brotli is not supported in this version of Node.js")}}});var rd=E(Jw=>{"use strict";Jw.name=new Map([["0","File"],["","OldFile"],["1","Link"],["2","SymbolicLink"],["3","CharacterDevice"],["4","BlockDevice"],["5","Directory"],["6","FIFO"],["7","ContiguousFile"],["g","GlobalExtendedHeader"],["x","ExtendedHeader"],["A","SolarisACL"],["D","GNUDumpDir"],["I","Inode"],["K","NextFileHasLongLinkpath"],["L","NextFileHasLongPath"],["M","ContinuationFile"],["N","OldGnuLongPath"],["S","SparseFile"],["V","TapeVolumeHeader"],["X","OldExtendedHeader"]]);Jw.code=new Map(Array.from(Jw.name).map(t=>[t[1],t[0]]))});var id=E((plt,O9)=>{"use strict";var flt=rd(),eNe=hg(),hD=Symbol("slurp");O9.exports=class extends eNe{constructor(e,r,i){super();switch(this.pause(),this.extended=r,this.globalExtended=i,this.header=e,this.startBlockSize=512*Math.ceil(e.size/512),this.blockRemain=this.startBlockSize,this.remain=e.size,this.type=e.type,this.meta=!1,this.ignore=!1,this.type){case"File":case"OldFile":case"Link":case"SymbolicLink":case"CharacterDevice":case"BlockDevice":case"Directory":case"FIFO":case"ContiguousFile":case"GNUDumpDir":break;case"NextFileHasLongLinkpath":case"NextFileHasLongPath":case"OldGnuLongPath":case"GlobalExtendedHeader":case"ExtendedHeader":case"OldExtendedHeader":this.meta=!0;break;default:this.ignore=!0}this.path=e.path,this.mode=e.mode,this.mode&&(this.mode=this.mode&4095),this.uid=e.uid,this.gid=e.gid,this.uname=e.uname,this.gname=e.gname,this.size=e.size,this.mtime=e.mtime,this.atime=e.atime,this.ctime=e.ctime,this.linkpath=e.linkpath,this.uname=e.uname,this.gname=e.gname,r&&this[hD](r),i&&this[hD](i,!0)}write(e){let r=e.length;if(r>this.blockRemain)throw new Error("writing more to entry than is appropriate");let i=this.remain,n=this.blockRemain;return this.remain=Math.max(0,i-r),this.blockRemain=Math.max(0,n-r),this.ignore?!0:i>=r?super.write(e):super.write(e.slice(0,i))}[hD](e,r){for(let i in e)e[i]!==null&&e[i]!==void 0&&!(r&&i==="path")&&(this[i]=e[i])}}});var H9=E(pD=>{"use strict";var dlt=pD.encode=(t,e)=>{if(Number.isSafeInteger(t))t<0?rNe(t,e):tNe(t,e);else throw Error("cannot encode number outside of javascript safe integer range");return e},tNe=(t,e)=>{e[0]=128;for(var r=e.length;r>1;r--)e[r-1]=t&255,t=Math.floor(t/256)},rNe=(t,e)=>{e[0]=255;var r=!1;t=t*-1;for(var i=e.length;i>1;i--){var n=t&255;t=Math.floor(t/256),r?e[i-1]=K9(n):n===0?e[i-1]=0:(r=!0,e[i-1]=U9(n))}},Clt=pD.parse=t=>{var e=t[t.length-1],r=t[0],i;if(r===128)i=nNe(t.slice(1,t.length));else if(r===255)i=iNe(t);else throw Error("invalid base256 encoding");if(!Number.isSafeInteger(i))throw Error("parsed number outside of javascript safe integer range");return i},iNe=t=>{for(var e=t.length,r=0,i=!1,n=e-1;n>-1;n--){var s=t[n],o;i?o=K9(s):s===0?o=s:(i=!0,o=U9(s)),o!==0&&(r-=o*Math.pow(256,e-n-1))}return r},nNe=t=>{for(var e=t.length,r=0,i=e-1;i>-1;i--){var n=t[i];n!==0&&(r+=n*Math.pow(256,e-i-1))}return r},K9=t=>(255^t)&255,U9=t=>(255^t)+1&255});var Cg=E((Elt,G9)=>{"use strict";var dD=rd(),dg=require("path").posix,j9=H9(),CD=Symbol("slurp"),Hn=Symbol("type"),Y9=class{constructor(e,r,i,n){this.cksumValid=!1,this.needPax=!1,this.nullBlock=!1,this.block=null,this.path=null,this.mode=null,this.uid=null,this.gid=null,this.size=null,this.mtime=null,this.cksum=null,this[Hn]="0",this.linkpath=null,this.uname=null,this.gname=null,this.devmaj=0,this.devmin=0,this.atime=null,this.ctime=null,Buffer.isBuffer(e)?this.decode(e,r||0,i,n):e&&this.set(e)}decode(e,r,i,n){if(r||(r=0),!e||!(e.length>=r+512))throw new Error("need 512 bytes for header");if(this.path=fc(e,r,100),this.mode=DA(e,r+100,8),this.uid=DA(e,r+108,8),this.gid=DA(e,r+116,8),this.size=DA(e,r+124,12),this.mtime=mD(e,r+136,12),this.cksum=DA(e,r+148,12),this[CD](i),this[CD](n,!0),this[Hn]=fc(e,r+156,1),this[Hn]===""&&(this[Hn]="0"),this[Hn]==="0"&&this.path.substr(-1)==="/"&&(this[Hn]="5"),this[Hn]==="5"&&(this.size=0),this.linkpath=fc(e,r+157,100),e.slice(r+257,r+265).toString()==="ustar\x0000")if(this.uname=fc(e,r+265,32),this.gname=fc(e,r+297,32),this.devmaj=DA(e,r+329,8),this.devmin=DA(e,r+337,8),e[r+475]!==0){let o=fc(e,r+345,155);this.path=o+"/"+this.path}else{let o=fc(e,r+345,130);o&&(this.path=o+"/"+this.path),this.atime=mD(e,r+476,12),this.ctime=mD(e,r+488,12)}let s=8*32;for(let o=r;o=r+512))throw new Error("need 512 bytes for header");let i=this.ctime||this.atime?130:155,n=sNe(this.path||"",i),s=n[0],o=n[1];this.needPax=n[2],this.needPax=hc(e,r,100,s)||this.needPax,this.needPax=RA(e,r+100,8,this.mode)||this.needPax,this.needPax=RA(e,r+108,8,this.uid)||this.needPax,this.needPax=RA(e,r+116,8,this.gid)||this.needPax,this.needPax=RA(e,r+124,12,this.size)||this.needPax,this.needPax=ED(e,r+136,12,this.mtime)||this.needPax,e[r+156]=this[Hn].charCodeAt(0),this.needPax=hc(e,r+157,100,this.linkpath)||this.needPax,e.write("ustar\x0000",r+257,8),this.needPax=hc(e,r+265,32,this.uname)||this.needPax,this.needPax=hc(e,r+297,32,this.gname)||this.needPax,this.needPax=RA(e,r+329,8,this.devmaj)||this.needPax,this.needPax=RA(e,r+337,8,this.devmin)||this.needPax,this.needPax=hc(e,r+345,i,o)||this.needPax,e[r+475]!==0?this.needPax=hc(e,r+345,155,o)||this.needPax:(this.needPax=hc(e,r+345,130,o)||this.needPax,this.needPax=ED(e,r+476,12,this.atime)||this.needPax,this.needPax=ED(e,r+488,12,this.ctime)||this.needPax);let a=8*32;for(let l=r;l{let r=100,i=t,n="",s,o=dg.parse(t).root||".";if(Buffer.byteLength(i)r&&Buffer.byteLength(n)<=e?s=[i.substr(0,r-1),n,!0]:(i=dg.join(dg.basename(n),i),n=dg.dirname(n));while(n!==o&&!s);s||(s=[t.substr(0,r-1),"",!0])}return s},fc=(t,e,r)=>t.slice(e,e+r).toString("utf8").replace(/\0.*/,""),mD=(t,e,r)=>oNe(DA(t,e,r)),oNe=t=>t===null?null:new Date(t*1e3),DA=(t,e,r)=>t[e]&128?j9.parse(t.slice(e,e+r)):aNe(t,e,r),ANe=t=>isNaN(t)?null:t,aNe=(t,e,r)=>ANe(parseInt(t.slice(e,e+r).toString("utf8").replace(/\0.*$/,"").trim(),8)),lNe={12:8589934591,8:2097151},RA=(t,e,r,i)=>i===null?!1:i>lNe[r]||i<0?(j9.encode(i,t.slice(e,e+r)),!0):(cNe(t,e,r,i),!1),cNe=(t,e,r,i)=>t.write(uNe(i,r),e,r,"ascii"),uNe=(t,e)=>gNe(Math.floor(t).toString(8),e),gNe=(t,e)=>(t.length===e-1?t:new Array(e-t.length-1).join("0")+t+" ")+"\0",ED=(t,e,r,i)=>i===null?!1:RA(t,e,r,i.getTime()/1e3),fNe=new Array(156).join("\0"),hc=(t,e,r,i)=>i===null?!1:(t.write(i+fNe,e,r,"utf8"),i.length!==Buffer.byteLength(i)||i.length>r);G9.exports=Y9});var zw=E((Ilt,q9)=>{"use strict";var hNe=Cg(),pNe=require("path"),Ww=class{constructor(e,r){this.atime=e.atime||null,this.charset=e.charset||null,this.comment=e.comment||null,this.ctime=e.ctime||null,this.gid=e.gid||null,this.gname=e.gname||null,this.linkpath=e.linkpath||null,this.mtime=e.mtime||null,this.path=e.path||null,this.size=e.size||null,this.uid=e.uid||null,this.uname=e.uname||null,this.dev=e.dev||null,this.ino=e.ino||null,this.nlink=e.nlink||null,this.global=r||!1}encode(){let e=this.encodeBody();if(e==="")return null;let r=Buffer.byteLength(e),i=512*Math.ceil(1+r/512),n=Buffer.allocUnsafe(i);for(let s=0;s<512;s++)n[s]=0;new hNe({path:("PaxHeader/"+pNe.basename(this.path)).slice(0,99),mode:this.mode||420,uid:this.uid||null,gid:this.gid||null,size:r,mtime:this.mtime||null,type:this.global?"GlobalExtendedHeader":"ExtendedHeader",linkpath:"",uname:this.uname||"",gname:this.gname||"",devmaj:0,devmin:0,atime:this.atime||null,ctime:this.ctime||null}).encode(n),n.write(e,512,r,"utf8");for(let s=r+512;s=Math.pow(10,s)&&(s+=1),s+n+i}};Ww.parse=(t,e,r)=>new Ww(dNe(CNe(t),e),r);var dNe=(t,e)=>e?Object.keys(t).reduce((r,i)=>(r[i]=t[i],r),e):t,CNe=t=>t.replace(/\n$/,"").split(` +`).reduce(mNe,Object.create(null)),mNe=(t,e)=>{let r=parseInt(e,10);if(r!==Buffer.byteLength(e)+1)return t;e=e.substr((r+" ").length);let i=e.split("="),n=i.shift().replace(/^SCHILY\.(dev|ino|nlink)/,"$1");if(!n)return t;let s=i.join("=");return t[n]=/^([A-Z]+\.)?([mac]|birth|creation)time$/.test(n)?new Date(s*1e3):/^[0-9]+$/.test(s)?+s:s,t};q9.exports=Ww});var Vw=E((ylt,J9)=>{"use strict";J9.exports=t=>class extends t{warn(e,r,i={}){this.file&&(i.file=this.file),this.cwd&&(i.cwd=this.cwd),i.code=r instanceof Error&&r.code||e,i.tarCode=e,!this.strict&&i.recoverable!==!1?(r instanceof Error&&(i=Object.assign(r,i),r=r.message),this.emit("warn",i.tarCode,r,i)):r instanceof Error?this.emit("error",Object.assign(r,i)):this.emit("error",Object.assign(new Error(`${e}: ${r}`),i))}}});var yD=E((wlt,W9)=>{"use strict";var _w=["|","<",">","?",":"],ID=_w.map(t=>String.fromCharCode(61440+t.charCodeAt(0))),ENe=new Map(_w.map((t,e)=>[t,ID[e]])),INe=new Map(ID.map((t,e)=>[t,_w[e]]));W9.exports={encode:t=>_w.reduce((e,r)=>e.split(r).join(ENe.get(r)),t),decode:t=>ID.reduce((e,r)=>e.split(r).join(INe.get(r)),t)}});var V9=E((Blt,z9)=>{"use strict";z9.exports=(t,e,r)=>(t&=4095,r&&(t=(t|384)&~18),e&&(t&256&&(t|=64),t&32&&(t|=8),t&4&&(t|=1)),t)});var xD=E((xlt,_9)=>{"use strict";var X9=hg(),Z9=zw(),$9=Cg(),Qlt=id(),bo=require("fs"),mg=require("path"),blt=rd(),yNe=16*1024*1024,eV=Symbol("process"),tV=Symbol("file"),rV=Symbol("directory"),wD=Symbol("symlink"),iV=Symbol("hardlink"),nd=Symbol("header"),Xw=Symbol("read"),BD=Symbol("lstat"),Zw=Symbol("onlstat"),QD=Symbol("onread"),bD=Symbol("onreadlink"),vD=Symbol("openfile"),SD=Symbol("onopenfile"),pc=Symbol("close"),$w=Symbol("mode"),nV=Vw(),wNe=yD(),sV=V9(),eB=nV(class extends X9{constructor(e,r){if(r=r||{},super(r),typeof e!="string")throw new TypeError("path is required");this.path=e,this.portable=!!r.portable,this.myuid=process.getuid&&process.getuid(),this.myuser=process.env.USER||"",this.maxReadSize=r.maxReadSize||yNe,this.linkCache=r.linkCache||new Map,this.statCache=r.statCache||new Map,this.preservePaths=!!r.preservePaths,this.cwd=r.cwd||process.cwd(),this.strict=!!r.strict,this.noPax=!!r.noPax,this.noMtime=!!r.noMtime,this.mtime=r.mtime||null,typeof r.onwarn=="function"&&this.on("warn",r.onwarn);let i=!1;if(!this.preservePaths&&mg.win32.isAbsolute(e)){let n=mg.win32.parse(e);this.path=e.substr(n.root.length),i=n.root}this.win32=!!r.win32||process.platform==="win32",this.win32&&(this.path=wNe.decode(this.path.replace(/\\/g,"/")),e=e.replace(/\\/g,"/")),this.absolute=r.absolute||mg.resolve(this.cwd,e),this.path===""&&(this.path="./"),i&&this.warn("TAR_ENTRY_INFO",`stripping ${i} from absolute path`,{entry:this,path:i+this.path}),this.statCache.has(this.absolute)?this[Zw](this.statCache.get(this.absolute)):this[BD]()}[BD](){bo.lstat(this.absolute,(e,r)=>{if(e)return this.emit("error",e);this[Zw](r)})}[Zw](e){this.statCache.set(this.absolute,e),this.stat=e,e.isFile()||(e.size=0),this.type=BNe(e),this.emit("stat",e),this[eV]()}[eV](){switch(this.type){case"File":return this[tV]();case"Directory":return this[rV]();case"SymbolicLink":return this[wD]();default:return this.end()}}[$w](e){return sV(e,this.type==="Directory",this.portable)}[nd](){this.type==="Directory"&&this.portable&&(this.noMtime=!0),this.header=new $9({path:this.path,linkpath:this.linkpath,mode:this[$w](this.stat.mode),uid:this.portable?null:this.stat.uid,gid:this.portable?null:this.stat.gid,size:this.stat.size,mtime:this.noMtime?null:this.mtime||this.stat.mtime,type:this.type,uname:this.portable?null:this.stat.uid===this.myuid?this.myuser:"",atime:this.portable?null:this.stat.atime,ctime:this.portable?null:this.stat.ctime}),this.header.encode()&&!this.noPax&&this.write(new Z9({atime:this.portable?null:this.header.atime,ctime:this.portable?null:this.header.ctime,gid:this.portable?null:this.header.gid,mtime:this.noMtime?null:this.mtime||this.header.mtime,path:this.path,linkpath:this.linkpath,size:this.header.size,uid:this.portable?null:this.header.uid,uname:this.portable?null:this.header.uname,dev:this.portable?null:this.stat.dev,ino:this.portable?null:this.stat.ino,nlink:this.portable?null:this.stat.nlink}).encode()),this.write(this.header.block)}[rV](){this.path.substr(-1)!=="/"&&(this.path+="/"),this.stat.size=0,this[nd](),this.end()}[wD](){bo.readlink(this.absolute,(e,r)=>{if(e)return this.emit("error",e);this[bD](r)})}[bD](e){this.linkpath=e.replace(/\\/g,"/"),this[nd](),this.end()}[iV](e){this.type="Link",this.linkpath=mg.relative(this.cwd,e).replace(/\\/g,"/"),this.stat.size=0,this[nd](),this.end()}[tV](){if(this.stat.nlink>1){let e=this.stat.dev+":"+this.stat.ino;if(this.linkCache.has(e)){let r=this.linkCache.get(e);if(r.indexOf(this.cwd)===0)return this[iV](r)}this.linkCache.set(e,this.absolute)}if(this[nd](),this.stat.size===0)return this.end();this[vD]()}[vD](){bo.open(this.absolute,"r",(e,r)=>{if(e)return this.emit("error",e);this[SD](r)})}[SD](e){let r=512*Math.ceil(this.stat.size/512),i=Math.min(r,this.maxReadSize),n=Buffer.allocUnsafe(i);this[Xw](e,n,0,n.length,0,this.stat.size,r)}[Xw](e,r,i,n,s,o,a){bo.read(e,r,i,n,s,(l,c)=>{if(l)return this[pc](e,()=>this.emit("error",l));this[QD](e,r,i,n,s,o,a,c)})}[pc](e,r){bo.close(e,r)}[QD](e,r,i,n,s,o,a,l){if(l<=0&&o>0){let u=new Error("encountered unexpected EOF");return u.path=this.absolute,u.syscall="read",u.code="EOF",this[pc](e,()=>this.emit("error",u))}if(l>o){let u=new Error("did not encounter expected EOF");return u.path=this.absolute,u.syscall="read",u.code="EOF",this[pc](e,()=>this.emit("error",u))}if(l===o)for(let u=l;uu?this.emit("error",u):this.end());i>=n&&(r=Buffer.allocUnsafe(n),i=0),n=r.length-i,this[Xw](e,r,i,n,s,o,a)}}),oV=class extends eB{constructor(e,r){super(e,r)}[BD](){this[Zw](bo.lstatSync(this.absolute))}[wD](){this[bD](bo.readlinkSync(this.absolute))}[vD](){this[SD](bo.openSync(this.absolute,"r"))}[Xw](e,r,i,n,s,o,a){let l=!0;try{let c=bo.readSync(e,r,i,n,s);this[QD](e,r,i,n,s,o,a,c),l=!1}finally{if(l)try{this[pc](e,()=>{})}catch(c){}}}[pc](e,r){bo.closeSync(e),r()}},QNe=nV(class extends X9{constructor(e,r){r=r||{},super(r),this.preservePaths=!!r.preservePaths,this.portable=!!r.portable,this.strict=!!r.strict,this.noPax=!!r.noPax,this.noMtime=!!r.noMtime,this.readEntry=e,this.type=e.type,this.type==="Directory"&&this.portable&&(this.noMtime=!0),this.path=e.path,this.mode=this[$w](e.mode),this.uid=this.portable?null:e.uid,this.gid=this.portable?null:e.gid,this.uname=this.portable?null:e.uname,this.gname=this.portable?null:e.gname,this.size=e.size,this.mtime=this.noMtime?null:r.mtime||e.mtime,this.atime=this.portable?null:e.atime,this.ctime=this.portable?null:e.ctime,this.linkpath=e.linkpath,typeof r.onwarn=="function"&&this.on("warn",r.onwarn);let i=!1;if(mg.isAbsolute(this.path)&&!this.preservePaths){let n=mg.parse(this.path);i=n.root,this.path=this.path.substr(n.root.length)}this.remain=e.size,this.blockRemain=e.startBlockSize,this.header=new $9({path:this.path,linkpath:this.linkpath,mode:this.mode,uid:this.portable?null:this.uid,gid:this.portable?null:this.gid,size:this.size,mtime:this.noMtime?null:this.mtime,type:this.type,uname:this.portable?null:this.uname,atime:this.portable?null:this.atime,ctime:this.portable?null:this.ctime}),i&&this.warn("TAR_ENTRY_INFO",`stripping ${i} from absolute path`,{entry:this,path:i+this.path}),this.header.encode()&&!this.noPax&&super.write(new Z9({atime:this.portable?null:this.atime,ctime:this.portable?null:this.ctime,gid:this.portable?null:this.gid,mtime:this.noMtime?null:this.mtime,path:this.path,linkpath:this.linkpath,size:this.size,uid:this.portable?null:this.uid,uname:this.portable?null:this.uname,dev:this.portable?null:this.readEntry.dev,ino:this.portable?null:this.readEntry.ino,nlink:this.portable?null:this.readEntry.nlink}).encode()),super.write(this.header.block),e.pipe(this)}[$w](e){return sV(e,this.type==="Directory",this.portable)}write(e){let r=e.length;if(r>this.blockRemain)throw new Error("writing more to entry than is appropriate");return this.blockRemain-=r,super.write(e)}end(){return this.blockRemain&&this.write(Buffer.alloc(this.blockRemain)),super.end()}});eB.Sync=oV;eB.Tar=QNe;var BNe=t=>t.isFile()?"File":t.isDirectory()?"Directory":t.isSymbolicLink()?"SymbolicLink":"Unsupported";_9.exports=eB});var AB=E((Plt,aV)=>{"use strict";var kD=class{constructor(e,r){this.path=e||"./",this.absolute=r,this.entry=null,this.stat=null,this.readdir=null,this.pending=!1,this.ignore=!1,this.piped=!1}},bNe=hg(),vNe=fD(),SNe=id(),PD=xD(),xNe=PD.Sync,kNe=PD.Tar,PNe=Rh(),AV=Buffer.alloc(1024),tB=Symbol("onStat"),rB=Symbol("ended"),vo=Symbol("queue"),Eg=Symbol("current"),dc=Symbol("process"),iB=Symbol("processing"),lV=Symbol("processJob"),So=Symbol("jobs"),DD=Symbol("jobDone"),nB=Symbol("addFSEntry"),cV=Symbol("addTarEntry"),RD=Symbol("stat"),FD=Symbol("readdir"),sB=Symbol("onreaddir"),oB=Symbol("pipe"),uV=Symbol("entry"),ND=Symbol("entryOpt"),LD=Symbol("writeEntryClass"),gV=Symbol("write"),TD=Symbol("ondrain"),aB=require("fs"),fV=require("path"),DNe=Vw(),MD=DNe(class extends bNe{constructor(e){super(e);e=e||Object.create(null),this.opt=e,this.file=e.file||"",this.cwd=e.cwd||process.cwd(),this.maxReadSize=e.maxReadSize,this.preservePaths=!!e.preservePaths,this.strict=!!e.strict,this.noPax=!!e.noPax,this.prefix=(e.prefix||"").replace(/(\\|\/)+$/,""),this.linkCache=e.linkCache||new Map,this.statCache=e.statCache||new Map,this.readdirCache=e.readdirCache||new Map,this[LD]=PD,typeof e.onwarn=="function"&&this.on("warn",e.onwarn),this.portable=!!e.portable,this.zip=null,e.gzip?(typeof e.gzip!="object"&&(e.gzip={}),this.portable&&(e.gzip.portable=!0),this.zip=new vNe.Gzip(e.gzip),this.zip.on("data",r=>super.write(r)),this.zip.on("end",r=>super.end()),this.zip.on("drain",r=>this[TD]()),this.on("resume",r=>this.zip.resume())):this.on("drain",this[TD]),this.noDirRecurse=!!e.noDirRecurse,this.follow=!!e.follow,this.noMtime=!!e.noMtime,this.mtime=e.mtime||null,this.filter=typeof e.filter=="function"?e.filter:r=>!0,this[vo]=new PNe,this[So]=0,this.jobs=+e.jobs||4,this[iB]=!1,this[rB]=!1}[gV](e){return super.write(e)}add(e){return this.write(e),this}end(e){return e&&this.write(e),this[rB]=!0,this[dc](),this}write(e){if(this[rB])throw new Error("write after end");return e instanceof SNe?this[cV](e):this[nB](e),this.flowing}[cV](e){let r=fV.resolve(this.cwd,e.path);if(this.prefix&&(e.path=this.prefix+"/"+e.path.replace(/^\.(\/+|$)/,"")),!this.filter(e.path,e))e.resume();else{let i=new kD(e.path,r,!1);i.entry=new kNe(e,this[ND](i)),i.entry.on("end",n=>this[DD](i)),this[So]+=1,this[vo].push(i)}this[dc]()}[nB](e){let r=fV.resolve(this.cwd,e);this.prefix&&(e=this.prefix+"/"+e.replace(/^\.(\/+|$)/,"")),this[vo].push(new kD(e,r)),this[dc]()}[RD](e){e.pending=!0,this[So]+=1;let r=this.follow?"stat":"lstat";aB[r](e.absolute,(i,n)=>{e.pending=!1,this[So]-=1,i?this.emit("error",i):this[tB](e,n)})}[tB](e,r){this.statCache.set(e.absolute,r),e.stat=r,this.filter(e.path,r)||(e.ignore=!0),this[dc]()}[FD](e){e.pending=!0,this[So]+=1,aB.readdir(e.absolute,(r,i)=>{if(e.pending=!1,this[So]-=1,r)return this.emit("error",r);this[sB](e,i)})}[sB](e,r){this.readdirCache.set(e.absolute,r),e.readdir=r,this[dc]()}[dc](){if(!this[iB]){this[iB]=!0;for(let e=this[vo].head;e!==null&&this[So]this.warn(r,i,n),noPax:this.noPax,cwd:this.cwd,absolute:e.absolute,preservePaths:this.preservePaths,maxReadSize:this.maxReadSize,strict:this.strict,portable:this.portable,linkCache:this.linkCache,statCache:this.statCache,noMtime:this.noMtime,mtime:this.mtime}}[uV](e){this[So]+=1;try{return new this[LD](e.path,this[ND](e)).on("end",()=>this[DD](e)).on("error",r=>this.emit("error",r))}catch(r){this.emit("error",r)}}[TD](){this[Eg]&&this[Eg].entry&&this[Eg].entry.resume()}[oB](e){e.piped=!0,e.readdir&&e.readdir.forEach(n=>{let s=this.prefix?e.path.slice(this.prefix.length+1)||"./":e.path,o=s==="./"?"":s.replace(/\/*$/,"/");this[nB](o+n)});let r=e.entry,i=this.zip;i?r.on("data",n=>{i.write(n)||r.pause()}):r.on("data",n=>{super.write(n)||r.pause()})}pause(){return this.zip&&this.zip.pause(),super.pause()}}),hV=class extends MD{constructor(e){super(e);this[LD]=xNe}pause(){}resume(){}[RD](e){let r=this.follow?"statSync":"lstatSync";this[tB](e,aB[r](e.absolute))}[FD](e,r){this[sB](e,aB.readdirSync(e.absolute))}[oB](e){let r=e.entry,i=this.zip;e.readdir&&e.readdir.forEach(n=>{let s=this.prefix?e.path.slice(this.prefix.length+1)||"./":e.path,o=s==="./"?"":s.replace(/\/*$/,"/");this[nB](o+n)}),i?r.on("data",n=>{i.write(n)}):r.on("data",n=>{super[gV](n)})}};MD.Sync=hV;aV.exports=MD});var bg=E(sd=>{"use strict";var RNe=hg(),FNe=require("events").EventEmitter,ls=require("fs"),lB=process.binding("fs"),Dlt=lB.writeBuffers,NNe=lB.FSReqWrap||lB.FSReqCallback,Ig=Symbol("_autoClose"),xo=Symbol("_close"),od=Symbol("_ended"),Jt=Symbol("_fd"),pV=Symbol("_finished"),Cc=Symbol("_flags"),OD=Symbol("_flush"),KD=Symbol("_handleChunk"),UD=Symbol("_makeBuf"),HD=Symbol("_mode"),cB=Symbol("_needDrain"),yg=Symbol("_onerror"),wg=Symbol("_onopen"),GD=Symbol("_onread"),mc=Symbol("_onwrite"),FA=Symbol("_open"),NA=Symbol("_path"),Ec=Symbol("_pos"),ko=Symbol("_queue"),Bg=Symbol("_read"),dV=Symbol("_readSize"),LA=Symbol("_reading"),uB=Symbol("_remain"),CV=Symbol("_size"),gB=Symbol("_write"),Qg=Symbol("_writing"),fB=Symbol("_defaultFlag"),jD=class extends RNe{constructor(e,r){if(r=r||{},super(r),this.writable=!1,typeof e!="string")throw new TypeError("path must be a string");this[Jt]=typeof r.fd=="number"?r.fd:null,this[NA]=e,this[dV]=r.readSize||16*1024*1024,this[LA]=!1,this[CV]=typeof r.size=="number"?r.size:Infinity,this[uB]=this[CV],this[Ig]=typeof r.autoClose=="boolean"?r.autoClose:!0,typeof this[Jt]=="number"?this[Bg]():this[FA]()}get fd(){return this[Jt]}get path(){return this[NA]}write(){throw new TypeError("this is a readable stream")}end(){throw new TypeError("this is a readable stream")}[FA](){ls.open(this[NA],"r",(e,r)=>this[wg](e,r))}[wg](e,r){e?this[yg](e):(this[Jt]=r,this.emit("open",r),this[Bg]())}[UD](){return Buffer.allocUnsafe(Math.min(this[dV],this[uB]))}[Bg](){if(!this[LA]){this[LA]=!0;let e=this[UD]();if(e.length===0)return process.nextTick(()=>this[GD](null,0,e));ls.read(this[Jt],e,0,e.length,null,(r,i,n)=>this[GD](r,i,n))}}[GD](e,r,i){this[LA]=!1,e?this[yg](e):this[KD](r,i)&&this[Bg]()}[xo](){this[Ig]&&typeof this[Jt]=="number"&&(ls.close(this[Jt],e=>this.emit("close")),this[Jt]=null)}[yg](e){this[LA]=!0,this[xo](),this.emit("error",e)}[KD](e,r){let i=!1;return this[uB]-=e,e>0&&(i=super.write(ethis[wg](e,r))}[wg](e,r){this[fB]&&this[Cc]==="r+"&&e&&e.code==="ENOENT"?(this[Cc]="w",this[FA]()):e?this[yg](e):(this[Jt]=r,this.emit("open",r),this[OD]())}end(e,r){e&&this.write(e,r),this[od]=!0,!this[Qg]&&!this[ko].length&&typeof this[Jt]=="number"&&this[mc](null,0)}write(e,r){return typeof e=="string"&&(e=new Buffer(e,r)),this[od]?(this.emit("error",new Error("write() after end()")),!1):this[Jt]===null||this[Qg]||this[ko].length?(this[ko].push(e),this[cB]=!0,!1):(this[Qg]=!0,this[gB](e),!0)}[gB](e){ls.write(this[Jt],e,0,e.length,this[Ec],(r,i)=>this[mc](r,i))}[mc](e,r){e?this[yg](e):(this[Ec]!==null&&(this[Ec]+=r),this[ko].length?this[OD]():(this[Qg]=!1,this[od]&&!this[pV]?(this[pV]=!0,this[xo](),this.emit("finish")):this[cB]&&(this[cB]=!1,this.emit("drain"))))}[OD](){if(this[ko].length===0)this[od]&&this[mc](null,0);else if(this[ko].length===1)this[gB](this[ko].pop());else{let e=this[ko];this[ko]=[],LNe(this[Jt],e,this[Ec],(r,i)=>this[mc](r,i))}}[xo](){this[Ig]&&typeof this[Jt]=="number"&&(ls.close(this[Jt],e=>this.emit("close")),this[Jt]=null)}},EV=class extends YD{[FA](){let e;try{e=ls.openSync(this[NA],this[Cc],this[HD])}catch(r){if(this[fB]&&this[Cc]==="r+"&&r&&r.code==="ENOENT")return this[Cc]="w",this[FA]();throw r}this[wg](null,e)}[xo](){if(this[Ig]&&typeof this[Jt]=="number"){try{ls.closeSync(this[Jt])}catch(e){}this[Jt]=null,this.emit("close")}}[gB](e){try{this[mc](null,ls.writeSync(this[Jt],e,0,e.length,this[Ec]))}catch(r){this[mc](r,0)}}},LNe=(t,e,r,i)=>{let n=(o,a)=>i(o,a,e),s=new NNe;s.oncomplete=n,lB.writeBuffers(t,e,r,s)};sd.ReadStream=jD;sd.ReadStreamSync=mV;sd.WriteStream=YD;sd.WriteStreamSync=EV});var ld=E((Llt,IV)=>{"use strict";var TNe=Vw(),Flt=require("path"),MNe=Cg(),ONe=require("events"),KNe=Rh(),UNe=1024*1024,HNe=id(),yV=zw(),GNe=fD(),qD=Buffer.from([31,139]),cs=Symbol("state"),Ic=Symbol("writeEntry"),xa=Symbol("readEntry"),JD=Symbol("nextEntry"),wV=Symbol("processEntry"),us=Symbol("extendedHeader"),ad=Symbol("globalExtendedHeader"),TA=Symbol("meta"),BV=Symbol("emitMeta"),Ar=Symbol("buffer"),ka=Symbol("queue"),yc=Symbol("ended"),QV=Symbol("emittedEnd"),wc=Symbol("emit"),Qn=Symbol("unzip"),hB=Symbol("consumeChunk"),pB=Symbol("consumeChunkSub"),WD=Symbol("consumeBody"),bV=Symbol("consumeMeta"),vV=Symbol("consumeHeader"),dB=Symbol("consuming"),zD=Symbol("bufferConcat"),VD=Symbol("maybeEnd"),Ad=Symbol("writing"),MA=Symbol("aborted"),CB=Symbol("onDone"),Bc=Symbol("sawValidEntry"),mB=Symbol("sawNullBlock"),EB=Symbol("sawEOF"),jNe=t=>!0;IV.exports=TNe(class extends ONe{constructor(e){e=e||{},super(e),this.file=e.file||"",this[Bc]=null,this.on(CB,r=>{(this[cs]==="begin"||this[Bc]===!1)&&this.warn("TAR_BAD_ARCHIVE","Unrecognized archive format")}),e.ondone?this.on(CB,e.ondone):this.on(CB,r=>{this.emit("prefinish"),this.emit("finish"),this.emit("end"),this.emit("close")}),this.strict=!!e.strict,this.maxMetaEntrySize=e.maxMetaEntrySize||UNe,this.filter=typeof e.filter=="function"?e.filter:jNe,this.writable=!0,this.readable=!1,this[ka]=new KNe,this[Ar]=null,this[xa]=null,this[Ic]=null,this[cs]="begin",this[TA]="",this[us]=null,this[ad]=null,this[yc]=!1,this[Qn]=null,this[MA]=!1,this[mB]=!1,this[EB]=!1,typeof e.onwarn=="function"&&this.on("warn",e.onwarn),typeof e.onentry=="function"&&this.on("entry",e.onentry)}[vV](e,r){this[Bc]===null&&(this[Bc]=!1);let i;try{i=new MNe(e,r,this[us],this[ad])}catch(n){return this.warn("TAR_ENTRY_INVALID",n)}if(i.nullBlock)this[mB]?(this[EB]=!0,this[cs]==="begin"&&(this[cs]="header"),this[wc]("eof")):(this[mB]=!0,this[wc]("nullBlock"));else if(this[mB]=!1,!i.cksumValid)this.warn("TAR_ENTRY_INVALID","checksum failure",{header:i});else if(!i.path)this.warn("TAR_ENTRY_INVALID","path is required",{header:i});else{let n=i.type;if(/^(Symbolic)?Link$/.test(n)&&!i.linkpath)this.warn("TAR_ENTRY_INVALID","linkpath required",{header:i});else if(!/^(Symbolic)?Link$/.test(n)&&i.linkpath)this.warn("TAR_ENTRY_INVALID","linkpath forbidden",{header:i});else{let s=this[Ic]=new HNe(i,this[us],this[ad]);if(!this[Bc])if(s.remain){let o=()=>{s.invalid||(this[Bc]=!0)};s.on("end",o)}else this[Bc]=!0;s.meta?s.size>this.maxMetaEntrySize?(s.ignore=!0,this[wc]("ignoredEntry",s),this[cs]="ignore",s.resume()):s.size>0&&(this[TA]="",s.on("data",o=>this[TA]+=o),this[cs]="meta"):(this[us]=null,s.ignore=s.ignore||!this.filter(s.path,s),s.ignore?(this[wc]("ignoredEntry",s),this[cs]=s.remain?"ignore":"header",s.resume()):(s.remain?this[cs]="body":(this[cs]="header",s.end()),this[xa]?this[ka].push(s):(this[ka].push(s),this[JD]())))}}}[wV](e){let r=!0;return e?Array.isArray(e)?this.emit.apply(this,e):(this[xa]=e,this.emit("entry",e),e.emittedEnd||(e.on("end",i=>this[JD]()),r=!1)):(this[xa]=null,r=!1),r}[JD](){do;while(this[wV](this[ka].shift()));if(!this[ka].length){let e=this[xa];!e||e.flowing||e.size===e.remain?this[Ad]||this.emit("drain"):e.once("drain",i=>this.emit("drain"))}}[WD](e,r){let i=this[Ic],n=i.blockRemain,s=n>=e.length&&r===0?e:e.slice(r,r+n);return i.write(s),i.blockRemain||(this[cs]="header",this[Ic]=null,i.end()),s.length}[bV](e,r){let i=this[Ic],n=this[WD](e,r);return this[Ic]||this[BV](i),n}[wc](e,r,i){!this[ka].length&&!this[xa]?this.emit(e,r,i):this[ka].push([e,r,i])}[BV](e){switch(this[wc]("meta",this[TA]),e.type){case"ExtendedHeader":case"OldExtendedHeader":this[us]=yV.parse(this[TA],this[us],!1);break;case"GlobalExtendedHeader":this[ad]=yV.parse(this[TA],this[ad],!0);break;case"NextFileHasLongPath":case"OldGnuLongPath":this[us]=this[us]||Object.create(null),this[us].path=this[TA].replace(/\0.*/,"");break;case"NextFileHasLongLinkpath":this[us]=this[us]||Object.create(null),this[us].linkpath=this[TA].replace(/\0.*/,"");break;default:throw new Error("unknown meta: "+e.type)}}abort(e){this[MA]=!0,this.emit("abort",e),this.warn("TAR_ABORT",e,{recoverable:!1})}write(e){if(this[MA])return;if(this[Qn]===null&&e){if(this[Ar]&&(e=Buffer.concat([this[Ar],e]),this[Ar]=null),e.lengththis[hB](s)),this[Qn].on("error",s=>this.abort(s)),this[Qn].on("end",s=>{this[yc]=!0,this[hB]()}),this[Ad]=!0;let n=this[Qn][i?"end":"write"](e);return this[Ad]=!1,n}}this[Ad]=!0,this[Qn]?this[Qn].write(e):this[hB](e),this[Ad]=!1;let r=this[ka].length?!1:this[xa]?this[xa].flowing:!0;return!r&&!this[ka].length&&this[xa].once("drain",i=>this.emit("drain")),r}[zD](e){e&&!this[MA]&&(this[Ar]=this[Ar]?Buffer.concat([this[Ar],e]):e)}[VD](){if(this[yc]&&!this[QV]&&!this[MA]&&!this[dB]){this[QV]=!0;let e=this[Ic];if(e&&e.blockRemain){let r=this[Ar]?this[Ar].length:0;this.warn("TAR_BAD_ARCHIVE",`Truncated input (needed ${e.blockRemain} more bytes, only ${r} available)`,{entry:e}),this[Ar]&&e.write(this[Ar]),e.end()}this[wc](CB)}}[hB](e){if(this[dB])this[zD](e);else if(!e&&!this[Ar])this[VD]();else{if(this[dB]=!0,this[Ar]){this[zD](e);let r=this[Ar];this[Ar]=null,this[pB](r)}else this[pB](e);for(;this[Ar]&&this[Ar].length>=512&&!this[MA]&&!this[EB];){let r=this[Ar];this[Ar]=null,this[pB](r)}this[dB]=!1}(!this[Ar]||this[yc])&&this[VD]()}[pB](e){let r=0,i=e.length;for(;r+512<=i&&!this[MA]&&!this[EB];)switch(this[cs]){case"begin":case"header":this[vV](e,r),r+=512;break;case"ignore":case"body":r+=this[WD](e,r);break;case"meta":r+=this[bV](e,r);break;default:throw new Error("invalid state: "+this[cs])}r{"use strict";var YNe=fg(),xV=ld(),vg=require("fs"),qNe=bg(),kV=require("path"),Tlt=SV.exports=(t,e,r)=>{typeof t=="function"?(r=t,e=null,t={}):Array.isArray(t)&&(e=t,t={}),typeof e=="function"&&(r=e,e=null),e?e=Array.from(e):e=[];let i=YNe(t);if(i.sync&&typeof r=="function")throw new TypeError("callback not supported for sync tar functions");if(!i.file&&typeof r=="function")throw new TypeError("callback only supported with file option");return e.length&&WNe(i,e),i.noResume||JNe(i),i.file&&i.sync?zNe(i):i.file?VNe(i,r):PV(i)},JNe=t=>{let e=t.onentry;t.onentry=e?r=>{e(r),r.resume()}:r=>r.resume()},WNe=(t,e)=>{let r=new Map(e.map(s=>[s.replace(/\/+$/,""),!0])),i=t.filter,n=(s,o)=>{let a=o||kV.parse(s).root||".",l=s===a?!1:r.has(s)?r.get(s):n(kV.dirname(s),a);return r.set(s,l),l};t.filter=i?(s,o)=>i(s,o)&&n(s.replace(/\/+$/,"")):s=>n(s.replace(/\/+$/,""))},zNe=t=>{let e=PV(t),r=t.file,i=!0,n;try{let s=vg.statSync(r),o=t.maxReadSize||16*1024*1024;if(s.size{let r=new xV(t),i=t.maxReadSize||16*1024*1024,n=t.file,s=new Promise((o,a)=>{r.on("error",a),r.on("end",o),vg.stat(n,(l,c)=>{if(l)a(l);else{let u=new qNe.ReadStream(n,{readSize:i,size:c.size});u.on("error",a),u.pipe(r)}})});return e?s.then(e,e):s},PV=t=>new xV(t)});var TV=E((Ult,DV)=>{"use strict";var _Ne=fg(),yB=AB(),Olt=require("fs"),RV=bg(),FV=IB(),NV=require("path"),Klt=DV.exports=(t,e,r)=>{if(typeof e=="function"&&(r=e),Array.isArray(t)&&(e=t,t={}),!e||!Array.isArray(e)||!e.length)throw new TypeError("no files or directories specified");e=Array.from(e);let i=_Ne(t);if(i.sync&&typeof r=="function")throw new TypeError("callback not supported for sync tar functions");if(!i.file&&typeof r=="function")throw new TypeError("callback only supported with file option");return i.file&&i.sync?XNe(i,e):i.file?ZNe(i,e,r):i.sync?$Ne(i,e):eLe(i,e)},XNe=(t,e)=>{let r=new yB.Sync(t),i=new RV.WriteStreamSync(t.file,{mode:t.mode||438});r.pipe(i),LV(r,e)},ZNe=(t,e,r)=>{let i=new yB(t),n=new RV.WriteStream(t.file,{mode:t.mode||438});i.pipe(n);let s=new Promise((o,a)=>{n.on("error",a),n.on("close",o),i.on("error",a)});return _D(i,e),r?s.then(r,r):s},LV=(t,e)=>{e.forEach(r=>{r.charAt(0)==="@"?FV({file:NV.resolve(t.cwd,r.substr(1)),sync:!0,noResume:!0,onentry:i=>t.add(i)}):t.add(r)}),t.end()},_D=(t,e)=>{for(;e.length;){let r=e.shift();if(r.charAt(0)==="@")return FV({file:NV.resolve(t.cwd,r.substr(1)),noResume:!0,onentry:i=>t.add(i)}).then(i=>_D(t,e));t.add(r)}t.end()},$Ne=(t,e)=>{let r=new yB.Sync(t);return LV(r,e),r},eLe=(t,e)=>{let r=new yB(t);return _D(r,e),r}});var XD=E((jlt,MV)=>{"use strict";var tLe=fg(),OV=AB(),Hlt=ld(),gs=require("fs"),KV=bg(),UV=IB(),HV=require("path"),GV=Cg(),Glt=MV.exports=(t,e,r)=>{let i=tLe(t);if(!i.file)throw new TypeError("file is required");if(i.gzip)throw new TypeError("cannot append to compressed archives");if(!e||!Array.isArray(e)||!e.length)throw new TypeError("no files or directories specified");return e=Array.from(e),i.sync?rLe(i,e):iLe(i,e,r)},rLe=(t,e)=>{let r=new OV.Sync(t),i=!0,n,s;try{try{n=gs.openSync(t.file,"r+")}catch(l){if(l.code==="ENOENT")n=gs.openSync(t.file,"w+");else throw l}let o=gs.fstatSync(n),a=Buffer.alloc(512);e:for(s=0;so.size)break;s+=c,t.mtimeCache&&t.mtimeCache.set(l.path,l.mtime)}i=!1,nLe(t,r,s,n,e)}finally{if(i)try{gs.closeSync(n)}catch(o){}}},nLe=(t,e,r,i,n)=>{let s=new KV.WriteStreamSync(t.file,{fd:i,start:r});e.pipe(s),sLe(e,n)},iLe=(t,e,r)=>{e=Array.from(e);let i=new OV(t),n=(o,a,l)=>{let c=(p,d)=>{p?gs.close(o,m=>l(p)):l(null,d)},u=0;if(a===0)return c(null,0);let g=0,f=Buffer.alloc(512),h=(p,d)=>{if(p)return c(p);if(g+=d,g<512&&d)return gs.read(o,f,g,f.length-g,u+g,h);if(u===0&&f[0]===31&&f[1]===139)return c(new Error("cannot append to compressed archives"));if(g<512)return c(null,u);let m=new GV(f);if(!m.cksumValid)return c(null,u);let I=512*Math.ceil(m.size/512);if(u+I+512>a||(u+=I+512,u>=a))return c(null,u);t.mtimeCache&&t.mtimeCache.set(m.path,m.mtime),g=0,gs.read(o,f,0,512,u,h)};gs.read(o,f,0,512,u,h)},s=new Promise((o,a)=>{i.on("error",a);let l="r+",c=(u,g)=>{if(u&&u.code==="ENOENT"&&l==="r+")return l="w+",gs.open(t.file,l,c);if(u)return a(u);gs.fstat(g,(f,h)=>{if(f)return a(f);n(g,h.size,(p,d)=>{if(p)return a(p);let m=new KV.WriteStream(t.file,{fd:g,start:d});i.pipe(m),m.on("error",a),m.on("close",o),jV(i,e)})})};gs.open(t.file,l,c)});return r?s.then(r,r):s},sLe=(t,e)=>{e.forEach(r=>{r.charAt(0)==="@"?UV({file:HV.resolve(t.cwd,r.substr(1)),sync:!0,noResume:!0,onentry:i=>t.add(i)}):t.add(r)}),t.end()},jV=(t,e)=>{for(;e.length;){let r=e.shift();if(r.charAt(0)==="@")return UV({file:HV.resolve(t.cwd,r.substr(1)),noResume:!0,onentry:i=>t.add(i)}).then(i=>jV(t,e));t.add(r)}t.end()}});var qV=E((qlt,YV)=>{"use strict";var oLe=fg(),aLe=XD(),Ylt=YV.exports=(t,e,r)=>{let i=oLe(t);if(!i.file)throw new TypeError("file is required");if(i.gzip)throw new TypeError("cannot append to compressed archives");if(!e||!Array.isArray(e)||!e.length)throw new TypeError("no files or directories specified");return e=Array.from(e),ALe(i),aLe(i,e,r)},ALe=t=>{let e=t.filter;t.mtimeCache||(t.mtimeCache=new Map),t.filter=e?(r,i)=>e(r,i)&&!(t.mtimeCache.get(r)>i.mtime):(r,i)=>!(t.mtimeCache.get(r)>i.mtime)}});var zV=E((Jlt,JV)=>{var{promisify:WV}=require("util"),OA=require("fs"),lLe=t=>{if(!t)t={mode:511,fs:OA};else if(typeof t=="object")t=P({mode:511,fs:OA},t);else if(typeof t=="number")t={mode:t,fs:OA};else if(typeof t=="string")t={mode:parseInt(t,8),fs:OA};else throw new TypeError("invalid options argument");return t.mkdir=t.mkdir||t.fs.mkdir||OA.mkdir,t.mkdirAsync=WV(t.mkdir),t.stat=t.stat||t.fs.stat||OA.stat,t.statAsync=WV(t.stat),t.statSync=t.statSync||t.fs.statSync||OA.statSync,t.mkdirSync=t.mkdirSync||t.fs.mkdirSync||OA.mkdirSync,t};JV.exports=lLe});var _V=E((Wlt,VV)=>{var cLe=process.env.__TESTING_MKDIRP_PLATFORM__||process.platform,{resolve:uLe,parse:gLe}=require("path"),fLe=t=>{if(/\0/.test(t))throw Object.assign(new TypeError("path must be a string without null bytes"),{path:t,code:"ERR_INVALID_ARG_VALUE"});if(t=uLe(t),cLe==="win32"){let e=/[*|"<>?:]/,{root:r}=gLe(t);if(e.test(t.substr(r.length)))throw Object.assign(new Error("Illegal characters in path."),{path:t,code:"EINVAL"})}return t};VV.exports=fLe});var t7=E((zlt,XV)=>{var{dirname:ZV}=require("path"),$V=(t,e,r=void 0)=>r===e?Promise.resolve():t.statAsync(e).then(i=>i.isDirectory()?r:void 0,i=>i.code==="ENOENT"?$V(t,ZV(e),e):void 0),e7=(t,e,r=void 0)=>{if(r!==e)try{return t.statSync(e).isDirectory()?r:void 0}catch(i){return i.code==="ENOENT"?e7(t,ZV(e),e):void 0}};XV.exports={findMade:$V,findMadeSync:e7}});var eR=E((Vlt,r7)=>{var{dirname:i7}=require("path"),ZD=(t,e,r)=>{e.recursive=!1;let i=i7(t);return i===t?e.mkdirAsync(t,e).catch(n=>{if(n.code!=="EISDIR")throw n}):e.mkdirAsync(t,e).then(()=>r||t,n=>{if(n.code==="ENOENT")return ZD(i,e).then(s=>ZD(t,e,s));if(n.code!=="EEXIST"&&n.code!=="EROFS")throw n;return e.statAsync(t).then(s=>{if(s.isDirectory())return r;throw n},()=>{throw n})})},$D=(t,e,r)=>{let i=i7(t);if(e.recursive=!1,i===t)try{return e.mkdirSync(t,e)}catch(n){if(n.code!=="EISDIR")throw n;return}try{return e.mkdirSync(t,e),r||t}catch(n){if(n.code==="ENOENT")return $D(t,e,$D(i,e,r));if(n.code!=="EEXIST"&&n.code!=="EROFS")throw n;try{if(!e.statSync(t).isDirectory())throw n}catch(s){throw n}}};r7.exports={mkdirpManual:ZD,mkdirpManualSync:$D}});var o7=E((_lt,n7)=>{var{dirname:s7}=require("path"),{findMade:hLe,findMadeSync:pLe}=t7(),{mkdirpManual:dLe,mkdirpManualSync:CLe}=eR(),mLe=(t,e)=>(e.recursive=!0,s7(t)===t?e.mkdirAsync(t,e):hLe(e,t).then(i=>e.mkdirAsync(t,e).then(()=>i).catch(n=>{if(n.code==="ENOENT")return dLe(t,e);throw n}))),ELe=(t,e)=>{if(e.recursive=!0,s7(t)===t)return e.mkdirSync(t,e);let i=pLe(e,t);try{return e.mkdirSync(t,e),i}catch(n){if(n.code==="ENOENT")return CLe(t,e);throw n}};n7.exports={mkdirpNative:mLe,mkdirpNativeSync:ELe}});var c7=E((Xlt,a7)=>{var A7=require("fs"),ILe=process.env.__TESTING_MKDIRP_NODE_VERSION__||process.version,tR=ILe.replace(/^v/,"").split("."),l7=+tR[0]>10||+tR[0]==10&&+tR[1]>=12,yLe=l7?t=>t.mkdir===A7.mkdir:()=>!1,wLe=l7?t=>t.mkdirSync===A7.mkdirSync:()=>!1;a7.exports={useNative:yLe,useNativeSync:wLe}});var d7=E((Zlt,u7)=>{var Sg=zV(),xg=_V(),{mkdirpNative:g7,mkdirpNativeSync:f7}=o7(),{mkdirpManual:h7,mkdirpManualSync:p7}=eR(),{useNative:BLe,useNativeSync:QLe}=c7(),kg=(t,e)=>(t=xg(t),e=Sg(e),BLe(e)?g7(t,e):h7(t,e)),bLe=(t,e)=>(t=xg(t),e=Sg(e),QLe(e)?f7(t,e):p7(t,e));kg.sync=bLe;kg.native=(t,e)=>g7(xg(t),Sg(e));kg.manual=(t,e)=>h7(xg(t),Sg(e));kg.nativeSync=(t,e)=>f7(xg(t),Sg(e));kg.manualSync=(t,e)=>p7(xg(t),Sg(e));u7.exports=kg});var B7=E(($lt,C7)=>{"use strict";var fs=require("fs"),Qc=require("path"),vLe=fs.lchown?"lchown":"chown",SLe=fs.lchownSync?"lchownSync":"chownSync",m7=fs.lchown&&!process.version.match(/v1[1-9]+\./)&&!process.version.match(/v10\.[6-9]/),E7=(t,e,r)=>{try{return fs[SLe](t,e,r)}catch(i){if(i.code!=="ENOENT")throw i}},xLe=(t,e,r)=>{try{return fs.chownSync(t,e,r)}catch(i){if(i.code!=="ENOENT")throw i}},kLe=m7?(t,e,r,i)=>n=>{!n||n.code!=="EISDIR"?i(n):fs.chown(t,e,r,i)}:(t,e,r,i)=>i,rR=m7?(t,e,r)=>{try{return E7(t,e,r)}catch(i){if(i.code!=="EISDIR")throw i;xLe(t,e,r)}}:(t,e,r)=>E7(t,e,r),PLe=process.version,I7=(t,e,r)=>fs.readdir(t,e,r),DLe=(t,e)=>fs.readdirSync(t,e);/^v4\./.test(PLe)&&(I7=(t,e,r)=>fs.readdir(t,r));var wB=(t,e,r,i)=>{fs[vLe](t,e,r,kLe(t,e,r,n=>{i(n&&n.code!=="ENOENT"?n:null)}))},y7=(t,e,r,i,n)=>{if(typeof e=="string")return fs.lstat(Qc.resolve(t,e),(s,o)=>{if(s)return n(s.code!=="ENOENT"?s:null);o.name=e,y7(t,o,r,i,n)});if(e.isDirectory())iR(Qc.resolve(t,e.name),r,i,s=>{if(s)return n(s);let o=Qc.resolve(t,e.name);wB(o,r,i,n)});else{let s=Qc.resolve(t,e.name);wB(s,r,i,n)}},iR=(t,e,r,i)=>{I7(t,{withFileTypes:!0},(n,s)=>{if(n){if(n.code==="ENOENT")return i();if(n.code!=="ENOTDIR"&&n.code!=="ENOTSUP")return i(n)}if(n||!s.length)return wB(t,e,r,i);let o=s.length,a=null,l=c=>{if(!a){if(c)return i(a=c);if(--o==0)return wB(t,e,r,i)}};s.forEach(c=>y7(t,c,e,r,l))})},RLe=(t,e,r,i)=>{if(typeof e=="string")try{let n=fs.lstatSync(Qc.resolve(t,e));n.name=e,e=n}catch(n){if(n.code==="ENOENT")return;throw n}e.isDirectory()&&w7(Qc.resolve(t,e.name),r,i),rR(Qc.resolve(t,e.name),r,i)},w7=(t,e,r)=>{let i;try{i=DLe(t,{withFileTypes:!0})}catch(n){if(n.code==="ENOENT")return;if(n.code==="ENOTDIR"||n.code==="ENOTSUP")return rR(t,e,r);throw n}return i&&i.length&&i.forEach(n=>RLe(t,n,e,r)),rR(t,e,r)};C7.exports=iR;iR.sync=w7});var S7=E((rct,nR)=>{"use strict";var Q7=d7(),hs=require("fs"),BB=require("path"),b7=B7(),sR=class extends Error{constructor(e,r){super("Cannot extract through symbolic link");this.path=r,this.symlink=e}get name(){return"SylinkError"}},cd=class extends Error{constructor(e,r){super(r+": Cannot cd into '"+e+"'");this.path=e,this.code=r}get name(){return"CwdError"}},ect=nR.exports=(t,e,r)=>{let i=e.umask,n=e.mode|448,s=(n&i)!=0,o=e.uid,a=e.gid,l=typeof o=="number"&&typeof a=="number"&&(o!==e.processUid||a!==e.processGid),c=e.preserve,u=e.unlink,g=e.cache,f=e.cwd,h=(m,I)=>{m?r(m):(g.set(t,!0),I&&l?b7(I,o,a,B=>h(B)):s?hs.chmod(t,n,r):r())};if(g&&g.get(t)===!0)return h();if(t===f)return hs.stat(t,(m,I)=>{(m||!I.isDirectory())&&(m=new cd(t,m&&m.code||"ENOTDIR")),h(m)});if(c)return Q7(t,{mode:n}).then(m=>h(null,m),h);let d=BB.relative(f,t).split(/\/|\\/);QB(f,d,n,g,u,f,null,h)},QB=(t,e,r,i,n,s,o,a)=>{if(!e.length)return a(null,o);let l=e.shift(),c=t+"/"+l;if(i.get(c))return QB(c,e,r,i,n,s,o,a);hs.mkdir(c,r,v7(c,e,r,i,n,s,o,a))},v7=(t,e,r,i,n,s,o,a)=>l=>{if(l){if(l.path&&BB.dirname(l.path)===s&&(l.code==="ENOTDIR"||l.code==="ENOENT"))return a(new cd(s,l.code));hs.lstat(t,(c,u)=>{if(c)a(c);else if(u.isDirectory())QB(t,e,r,i,n,s,o,a);else if(n)hs.unlink(t,g=>{if(g)return a(g);hs.mkdir(t,r,v7(t,e,r,i,n,s,o,a))});else{if(u.isSymbolicLink())return a(new sR(t,t+"/"+e.join("/")));a(l)}})}else o=o||t,QB(t,e,r,i,n,s,o,a)},tct=nR.exports.sync=(t,e)=>{let r=e.umask,i=e.mode|448,n=(i&r)!=0,s=e.uid,o=e.gid,a=typeof s=="number"&&typeof o=="number"&&(s!==e.processUid||o!==e.processGid),l=e.preserve,c=e.unlink,u=e.cache,g=e.cwd,f=m=>{u.set(t,!0),m&&a&&b7.sync(m,s,o),n&&hs.chmodSync(t,i)};if(u&&u.get(t)===!0)return f();if(t===g){let m=!1,I="ENOTDIR";try{m=hs.statSync(t).isDirectory()}catch(B){I=B.code}finally{if(!m)throw new cd(t,I)}f();return}if(l)return f(Q7.sync(t,i));let p=BB.relative(g,t).split(/\/|\\/),d=null;for(let m=p.shift(),I=g;m&&(I+="/"+m);m=p.shift())if(!u.get(I))try{hs.mkdirSync(I,i),d=d||I,u.set(I,!0)}catch(B){if(B.path&&BB.dirname(B.path)===g&&(B.code==="ENOTDIR"||B.code==="ENOENT"))return new cd(g,B.code);let b=hs.lstatSync(I);if(b.isDirectory()){u.set(I,!0);continue}else if(c){hs.unlinkSync(I),hs.mkdirSync(I,i),d=d||I,u.set(I,!0);continue}else if(b.isSymbolicLink())return new sR(I,I+"/"+p.join("/"))}return f(d)}});var P7=E((ict,x7)=>{var k7=require("assert");x7.exports=()=>{let t=new Map,e=new Map,{join:r}=require("path"),i=u=>r(u).split(/[\\\/]/).slice(0,-1).reduce((g,f)=>g.length?g.concat(r(g[g.length-1],f)):[f],[]),n=new Set,s=u=>{let g=e.get(u);if(!g)throw new Error("function does not have any path reservations");return{paths:g.paths.map(f=>t.get(f)),dirs:[...g.dirs].map(f=>t.get(f))}},o=u=>{let{paths:g,dirs:f}=s(u);return g.every(h=>h[0]===u)&&f.every(h=>h[0]instanceof Set&&h[0].has(u))},a=u=>n.has(u)||!o(u)?!1:(n.add(u),u(()=>l(u)),!0),l=u=>{if(!n.has(u))return!1;let{paths:g,dirs:f}=e.get(u),h=new Set;return g.forEach(p=>{let d=t.get(p);k7.equal(d[0],u),d.length===1?t.delete(p):(d.shift(),typeof d[0]=="function"?h.add(d[0]):d[0].forEach(m=>h.add(m)))}),f.forEach(p=>{let d=t.get(p);k7(d[0]instanceof Set),d[0].size===1&&d.length===1?t.delete(p):d[0].size===1?(d.shift(),h.add(d[0])):d[0].delete(u)}),n.delete(u),h.forEach(p=>a(p)),!0};return{check:o,reserve:(u,g)=>{let f=new Set(u.map(h=>i(h)).reduce((h,p)=>h.concat(p)));return e.set(g,{dirs:f,paths:u}),u.forEach(h=>{let p=t.get(h);p?p.push(g):t.set(h,[g])}),f.forEach(h=>{let p=t.get(h);p?p[p.length-1]instanceof Set?p[p.length-1].add(g):p.push(new Set([g])):t.set(h,[new Set([g])])}),a(g)}}}});var F7=E((nct,D7)=>{var FLe=process.env.__FAKE_PLATFORM__||process.platform,NLe=FLe==="win32",LLe=global.__FAKE_TESTING_FS__||require("fs"),{O_CREAT:TLe,O_TRUNC:MLe,O_WRONLY:OLe,UV_FS_O_FILEMAP:R7=0}=LLe.constants,KLe=NLe&&!!R7,ULe=512*1024,HLe=R7|MLe|TLe|OLe;D7.exports=KLe?t=>t"w"});var hR=E((Act,N7)=>{"use strict";var GLe=require("assert"),sct=require("events").EventEmitter,jLe=ld(),Ut=require("fs"),YLe=bg(),Pa=require("path"),oR=S7(),oct=oR.sync,L7=yD(),qLe=P7(),T7=Symbol("onEntry"),aR=Symbol("checkFs"),M7=Symbol("checkFs2"),AR=Symbol("isReusable"),Da=Symbol("makeFs"),lR=Symbol("file"),cR=Symbol("directory"),bB=Symbol("link"),O7=Symbol("symlink"),K7=Symbol("hardlink"),U7=Symbol("unsupported"),act=Symbol("unknown"),H7=Symbol("checkPath"),Pg=Symbol("mkdir"),nn=Symbol("onError"),vB=Symbol("pending"),G7=Symbol("pend"),Dg=Symbol("unpend"),uR=Symbol("ended"),gR=Symbol("maybeClose"),fR=Symbol("skip"),ud=Symbol("doChown"),gd=Symbol("uid"),fd=Symbol("gid"),j7=require("crypto"),Y7=F7(),SB=()=>{throw new Error("sync function called cb somehow?!?")},JLe=(t,e)=>{if(process.platform!=="win32")return Ut.unlink(t,e);let r=t+".DELETE."+j7.randomBytes(16).toString("hex");Ut.rename(t,r,i=>{if(i)return e(i);Ut.unlink(r,e)})},WLe=t=>{if(process.platform!=="win32")return Ut.unlinkSync(t);let e=t+".DELETE."+j7.randomBytes(16).toString("hex");Ut.renameSync(t,e),Ut.unlinkSync(e)},q7=(t,e,r)=>t===t>>>0?t:e===e>>>0?e:r,xB=class extends jLe{constructor(e){if(e||(e={}),e.ondone=r=>{this[uR]=!0,this[gR]()},super(e),this.reservations=qLe(),this.transform=typeof e.transform=="function"?e.transform:null,this.writable=!0,this.readable=!1,this[vB]=0,this[uR]=!1,this.dirCache=e.dirCache||new Map,typeof e.uid=="number"||typeof e.gid=="number"){if(typeof e.uid!="number"||typeof e.gid!="number")throw new TypeError("cannot set owner without number uid and gid");if(e.preserveOwner)throw new TypeError("cannot preserve owner in archive and also set owner explicitly");this.uid=e.uid,this.gid=e.gid,this.setOwner=!0}else this.uid=null,this.gid=null,this.setOwner=!1;e.preserveOwner===void 0&&typeof e.uid!="number"?this.preserveOwner=process.getuid&&process.getuid()===0:this.preserveOwner=!!e.preserveOwner,this.processUid=(this.preserveOwner||this.setOwner)&&process.getuid?process.getuid():null,this.processGid=(this.preserveOwner||this.setOwner)&&process.getgid?process.getgid():null,this.forceChown=e.forceChown===!0,this.win32=!!e.win32||process.platform==="win32",this.newer=!!e.newer,this.keep=!!e.keep,this.noMtime=!!e.noMtime,this.preservePaths=!!e.preservePaths,this.unlink=!!e.unlink,this.cwd=Pa.resolve(e.cwd||process.cwd()),this.strip=+e.strip||0,this.processUmask=process.umask(),this.umask=typeof e.umask=="number"?e.umask:this.processUmask,this.dmode=e.dmode||511&~this.umask,this.fmode=e.fmode||438&~this.umask,this.on("entry",r=>this[T7](r))}warn(e,r,i={}){return(e==="TAR_BAD_ARCHIVE"||e==="TAR_ABORT")&&(i.recoverable=!1),super.warn(e,r,i)}[gR](){this[uR]&&this[vB]===0&&(this.emit("prefinish"),this.emit("finish"),this.emit("end"),this.emit("close"))}[H7](e){if(this.strip){let r=e.path.split(/\/|\\/);if(r.length=this.strip&&(e.linkpath=i.slice(this.strip).join("/"))}}if(!this.preservePaths){let r=e.path;if(r.match(/(^|\/|\\)\.\.(\\|\/|$)/))return this.warn("TAR_ENTRY_ERROR","path contains '..'",{entry:e,path:r}),!1;if(Pa.win32.isAbsolute(r)){let i=Pa.win32.parse(r);e.path=r.substr(i.root.length);let n=i.root;this.warn("TAR_ENTRY_INFO",`stripping ${n} from absolute path`,{entry:e,path:r})}}if(this.win32){let r=Pa.win32.parse(e.path);e.path=r.root===""?L7.encode(e.path):r.root+L7.encode(e.path.substr(r.root.length))}return Pa.isAbsolute(e.path)?e.absolute=e.path:e.absolute=Pa.resolve(this.cwd,e.path),!0}[T7](e){if(!this[H7](e))return e.resume();switch(GLe.equal(typeof e.absolute,"string"),e.type){case"Directory":case"GNUDumpDir":e.mode&&(e.mode=e.mode|448);case"File":case"OldFile":case"ContiguousFile":case"Link":case"SymbolicLink":return this[aR](e);case"CharacterDevice":case"BlockDevice":case"FIFO":return this[U7](e)}}[nn](e,r){e.name==="CwdError"?this.emit("error",e):(this.warn("TAR_ENTRY_ERROR",e,{entry:r}),this[Dg](),r.resume())}[Pg](e,r,i){oR(e,{uid:this.uid,gid:this.gid,processUid:this.processUid,processGid:this.processGid,umask:this.processUmask,preserve:this.preservePaths,unlink:this.unlink,cache:this.dirCache,cwd:this.cwd,mode:r},i)}[ud](e){return this.forceChown||this.preserveOwner&&(typeof e.uid=="number"&&e.uid!==this.processUid||typeof e.gid=="number"&&e.gid!==this.processGid)||typeof this.uid=="number"&&this.uid!==this.processUid||typeof this.gid=="number"&&this.gid!==this.processGid}[gd](e){return q7(this.uid,e.uid,this.processUid)}[fd](e){return q7(this.gid,e.gid,this.processGid)}[lR](e,r){let i=e.mode&4095||this.fmode,n=new YLe.WriteStream(e.absolute,{flags:Y7(e.size),mode:i,autoClose:!1});n.on("error",l=>this[nn](l,e));let s=1,o=l=>{if(l)return this[nn](l,e);--s==0&&Ut.close(n.fd,c=>{r(),c?this[nn](c,e):this[Dg]()})};n.on("finish",l=>{let c=e.absolute,u=n.fd;if(e.mtime&&!this.noMtime){s++;let g=e.atime||new Date,f=e.mtime;Ut.futimes(u,g,f,h=>h?Ut.utimes(c,g,f,p=>o(p&&h)):o())}if(this[ud](e)){s++;let g=this[gd](e),f=this[fd](e);Ut.fchown(u,g,f,h=>h?Ut.chown(c,g,f,p=>o(p&&h)):o())}o()});let a=this.transform&&this.transform(e)||e;a!==e&&(a.on("error",l=>this[nn](l,e)),e.pipe(a)),a.pipe(n)}[cR](e,r){let i=e.mode&4095||this.dmode;this[Pg](e.absolute,i,n=>{if(n)return r(),this[nn](n,e);let s=1,o=a=>{--s==0&&(r(),this[Dg](),e.resume())};e.mtime&&!this.noMtime&&(s++,Ut.utimes(e.absolute,e.atime||new Date,e.mtime,o)),this[ud](e)&&(s++,Ut.chown(e.absolute,this[gd](e),this[fd](e),o)),o()})}[U7](e){e.unsupported=!0,this.warn("TAR_ENTRY_UNSUPPORTED",`unsupported entry type: ${e.type}`,{entry:e}),e.resume()}[O7](e,r){this[bB](e,e.linkpath,"symlink",r)}[K7](e,r){this[bB](e,Pa.resolve(this.cwd,e.linkpath),"link",r)}[G7](){this[vB]++}[Dg](){this[vB]--,this[gR]()}[fR](e){this[Dg](),e.resume()}[AR](e,r){return e.type==="File"&&!this.unlink&&r.isFile()&&r.nlink<=1&&process.platform!=="win32"}[aR](e){this[G7]();let r=[e.path];e.linkpath&&r.push(e.linkpath),this.reservations.reserve(r,i=>this[M7](e,i))}[M7](e,r){this[Pg](Pa.dirname(e.absolute),this.dmode,i=>{if(i)return r(),this[nn](i,e);Ut.lstat(e.absolute,(n,s)=>{s&&(this.keep||this.newer&&s.mtime>e.mtime)?(this[fR](e),r()):n||this[AR](e,s)?this[Da](null,e,r):s.isDirectory()?e.type==="Directory"?!e.mode||(s.mode&4095)===e.mode?this[Da](null,e,r):Ut.chmod(e.absolute,e.mode,o=>this[Da](o,e,r)):Ut.rmdir(e.absolute,o=>this[Da](o,e,r)):JLe(e.absolute,o=>this[Da](o,e,r))})})}[Da](e,r,i){if(e)return this[nn](e,r);switch(r.type){case"File":case"OldFile":case"ContiguousFile":return this[lR](r,i);case"Link":return this[K7](r,i);case"SymbolicLink":return this[O7](r,i);case"Directory":case"GNUDumpDir":return this[cR](r,i)}}[bB](e,r,i,n){Ut[i](r,e.absolute,s=>{if(s)return this[nn](s,e);n(),this[Dg](),e.resume()})}},J7=class extends xB{constructor(e){super(e)}[aR](e){let r=this[Pg](Pa.dirname(e.absolute),this.dmode,SB);if(r)return this[nn](r,e);try{let i=Ut.lstatSync(e.absolute);if(this.keep||this.newer&&i.mtime>e.mtime)return this[fR](e);if(this[AR](e,i))return this[Da](null,e,SB);try{return i.isDirectory()?e.type==="Directory"?e.mode&&(i.mode&4095)!==e.mode&&Ut.chmodSync(e.absolute,e.mode):Ut.rmdirSync(e.absolute):WLe(e.absolute),this[Da](null,e,SB)}catch(n){return this[nn](n,e)}}catch(i){return this[Da](null,e,SB)}}[lR](e,r){let i=e.mode&4095||this.fmode,n=l=>{let c;try{Ut.closeSync(o)}catch(u){c=u}(l||c)&&this[nn](l||c,e)},s,o;try{o=Ut.openSync(e.absolute,Y7(e.size),i)}catch(l){return n(l)}let a=this.transform&&this.transform(e)||e;a!==e&&(a.on("error",l=>this[nn](l,e)),e.pipe(a)),a.on("data",l=>{try{Ut.writeSync(o,l,0,l.length)}catch(c){n(c)}}),a.on("end",l=>{let c=null;if(e.mtime&&!this.noMtime){let u=e.atime||new Date,g=e.mtime;try{Ut.futimesSync(o,u,g)}catch(f){try{Ut.utimesSync(e.absolute,u,g)}catch(h){c=f}}}if(this[ud](e)){let u=this[gd](e),g=this[fd](e);try{Ut.fchownSync(o,u,g)}catch(f){try{Ut.chownSync(e.absolute,u,g)}catch(h){c=c||f}}}n(c)})}[cR](e,r){let i=e.mode&4095||this.dmode,n=this[Pg](e.absolute,i);if(n)return this[nn](n,e);if(e.mtime&&!this.noMtime)try{Ut.utimesSync(e.absolute,e.atime||new Date,e.mtime)}catch(s){}if(this[ud](e))try{Ut.chownSync(e.absolute,this[gd](e),this[fd](e))}catch(s){}e.resume()}[Pg](e,r){try{return oR.sync(e,{uid:this.uid,gid:this.gid,processUid:this.processUid,processGid:this.processGid,umask:this.processUmask,preserve:this.preservePaths,unlink:this.unlink,cache:this.dirCache,cwd:this.cwd,mode:r})}catch(i){return i}}[bB](e,r,i,n){try{Ut[i+"Sync"](r,e.absolute),e.resume()}catch(s){return this[nn](s,e)}}};xB.Sync=J7;N7.exports=xB});var X7=E((cct,W7)=>{"use strict";var zLe=fg(),kB=hR(),z7=require("fs"),V7=bg(),_7=require("path"),lct=W7.exports=(t,e,r)=>{typeof t=="function"?(r=t,e=null,t={}):Array.isArray(t)&&(e=t,t={}),typeof e=="function"&&(r=e,e=null),e?e=Array.from(e):e=[];let i=zLe(t);if(i.sync&&typeof r=="function")throw new TypeError("callback not supported for sync tar functions");if(!i.file&&typeof r=="function")throw new TypeError("callback only supported with file option");return e.length&&VLe(i,e),i.file&&i.sync?_Le(i):i.file?XLe(i,r):i.sync?ZLe(i):$Le(i)},VLe=(t,e)=>{let r=new Map(e.map(s=>[s.replace(/\/+$/,""),!0])),i=t.filter,n=(s,o)=>{let a=o||_7.parse(s).root||".",l=s===a?!1:r.has(s)?r.get(s):n(_7.dirname(s),a);return r.set(s,l),l};t.filter=i?(s,o)=>i(s,o)&&n(s.replace(/\/+$/,"")):s=>n(s.replace(/\/+$/,""))},_Le=t=>{let e=new kB.Sync(t),r=t.file,i=!0,n,s=z7.statSync(r),o=t.maxReadSize||16*1024*1024;new V7.ReadStreamSync(r,{readSize:o,size:s.size}).pipe(e)},XLe=(t,e)=>{let r=new kB(t),i=t.maxReadSize||16*1024*1024,n=t.file,s=new Promise((o,a)=>{r.on("error",a),r.on("close",o),z7.stat(n,(l,c)=>{if(l)a(l);else{let u=new V7.ReadStream(n,{readSize:i,size:c.size});u.on("error",a),u.pipe(r)}})});return e?s.then(e,e):s},ZLe=t=>new kB.Sync(t),$Le=t=>new kB(t)});var Z7=E($r=>{"use strict";$r.c=$r.create=TV();$r.r=$r.replace=XD();$r.t=$r.list=IB();$r.u=$r.update=qV();$r.x=$r.extract=X7();$r.Pack=AB();$r.Unpack=hR();$r.Parse=ld();$r.ReadEntry=id();$r.WriteEntry=xD();$r.Header=Cg();$r.Pax=zw();$r.types=rd()});var e_=E((gct,pR)=>{"use strict";var eTe=Object.prototype.hasOwnProperty,sn="~";function hd(){}Object.create&&(hd.prototype=Object.create(null),new hd().__proto__||(sn=!1));function tTe(t,e,r){this.fn=t,this.context=e,this.once=r||!1}function $7(t,e,r,i,n){if(typeof r!="function")throw new TypeError("The listener must be a function");var s=new tTe(r,i||t,n),o=sn?sn+e:e;return t._events[o]?t._events[o].fn?t._events[o]=[t._events[o],s]:t._events[o].push(s):(t._events[o]=s,t._eventsCount++),t}function PB(t,e){--t._eventsCount==0?t._events=new hd:delete t._events[e]}function Ti(){this._events=new hd,this._eventsCount=0}Ti.prototype.eventNames=function(){var e=[],r,i;if(this._eventsCount===0)return e;for(i in r=this._events)eTe.call(r,i)&&e.push(sn?i.slice(1):i);return Object.getOwnPropertySymbols?e.concat(Object.getOwnPropertySymbols(r)):e};Ti.prototype.listeners=function(e){var r=sn?sn+e:e,i=this._events[r];if(!i)return[];if(i.fn)return[i.fn];for(var n=0,s=i.length,o=new Array(s);n{"use strict";t_.exports=(t,e)=>(e=e||(()=>{}),t.then(r=>new Promise(i=>{i(e())}).then(()=>r),r=>new Promise(i=>{i(e())}).then(()=>{throw r})))});var n_=E((hct,DB)=>{"use strict";var rTe=r_(),dR=class extends Error{constructor(e){super(e);this.name="TimeoutError"}},i_=(t,e,r)=>new Promise((i,n)=>{if(typeof e!="number"||e<0)throw new TypeError("Expected `milliseconds` to be a positive number");if(e===Infinity){i(t);return}let s=setTimeout(()=>{if(typeof r=="function"){try{i(r())}catch(l){n(l)}return}let o=typeof r=="string"?r:`Promise timed out after ${e} milliseconds`,a=r instanceof Error?r:new dR(o);typeof t.cancel=="function"&&t.cancel(),n(a)},e);rTe(t.then(i,n),()=>{clearTimeout(s)})});DB.exports=i_;DB.exports.default=i_;DB.exports.TimeoutError=dR});var s_=E(CR=>{"use strict";Object.defineProperty(CR,"__esModule",{value:!0});function iTe(t,e,r){let i=0,n=t.length;for(;n>0;){let s=n/2|0,o=i+s;r(t[o],e)<=0?(i=++o,n-=s+1):n=s}return i}CR.default=iTe});var a_=E(mR=>{"use strict";Object.defineProperty(mR,"__esModule",{value:!0});var nTe=s_(),o_=class{constructor(){this._queue=[]}enqueue(e,r){r=Object.assign({priority:0},r);let i={priority:r.priority,run:e};if(this.size&&this._queue[this.size-1].priority>=r.priority){this._queue.push(i);return}let n=nTe.default(this._queue,i,(s,o)=>o.priority-s.priority);this._queue.splice(n,0,i)}dequeue(){let e=this._queue.shift();return e==null?void 0:e.run}filter(e){return this._queue.filter(r=>r.priority===e.priority).map(r=>r.run)}get size(){return this._queue.length}};mR.default=o_});var c_=E(ER=>{"use strict";Object.defineProperty(ER,"__esModule",{value:!0});var sTe=e_(),A_=n_(),oTe=a_(),RB=()=>{},aTe=new A_.TimeoutError,l_=class extends sTe{constructor(e){var r,i,n,s;super();if(this._intervalCount=0,this._intervalEnd=0,this._pendingCount=0,this._resolveEmpty=RB,this._resolveIdle=RB,e=Object.assign({carryoverConcurrencyCount:!1,intervalCap:Infinity,interval:0,concurrency:Infinity,autoStart:!0,queueClass:oTe.default},e),!(typeof e.intervalCap=="number"&&e.intervalCap>=1))throw new TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${(i=(r=e.intervalCap)===null||r===void 0?void 0:r.toString())!==null&&i!==void 0?i:""}\` (${typeof e.intervalCap})`);if(e.interval===void 0||!(Number.isFinite(e.interval)&&e.interval>=0))throw new TypeError(`Expected \`interval\` to be a finite number >= 0, got \`${(s=(n=e.interval)===null||n===void 0?void 0:n.toString())!==null&&s!==void 0?s:""}\` (${typeof e.interval})`);this._carryoverConcurrencyCount=e.carryoverConcurrencyCount,this._isIntervalIgnored=e.intervalCap===Infinity||e.interval===0,this._intervalCap=e.intervalCap,this._interval=e.interval,this._queue=new e.queueClass,this._queueClass=e.queueClass,this.concurrency=e.concurrency,this._timeout=e.timeout,this._throwOnTimeout=e.throwOnTimeout===!0,this._isPaused=e.autoStart===!1}get _doesIntervalAllowAnother(){return this._isIntervalIgnored||this._intervalCount{this._onResumeInterval()},r)),!0}return!1}_tryToStartAnother(){if(this._queue.size===0)return this._intervalId&&clearInterval(this._intervalId),this._intervalId=void 0,this._resolvePromises(),!1;if(!this._isPaused){let e=!this._isIntervalPaused();if(this._doesIntervalAllowAnother&&this._doesConcurrentAllowAnother){let r=this._queue.dequeue();return r?(this.emit("active"),r(),e&&this._initializeIntervalIfNeeded(),!0):!1}}return!1}_initializeIntervalIfNeeded(){this._isIntervalIgnored||this._intervalId!==void 0||(this._intervalId=setInterval(()=>{this._onInterval()},this._interval),this._intervalEnd=Date.now()+this._interval)}_onInterval(){this._intervalCount===0&&this._pendingCount===0&&this._intervalId&&(clearInterval(this._intervalId),this._intervalId=void 0),this._intervalCount=this._carryoverConcurrencyCount?this._pendingCount:0,this._processQueue()}_processQueue(){for(;this._tryToStartAnother(););}get concurrency(){return this._concurrency}set concurrency(e){if(!(typeof e=="number"&&e>=1))throw new TypeError(`Expected \`concurrency\` to be a number from 1 and up, got \`${e}\` (${typeof e})`);this._concurrency=e,this._processQueue()}async add(e,r={}){return new Promise((i,n)=>{let s=async()=>{this._pendingCount++,this._intervalCount++;try{let o=this._timeout===void 0&&r.timeout===void 0?e():A_.default(Promise.resolve(e()),r.timeout===void 0?this._timeout:r.timeout,()=>{(r.throwOnTimeout===void 0?this._throwOnTimeout:r.throwOnTimeout)&&n(aTe)});i(await o)}catch(o){n(o)}this._next()};this._queue.enqueue(s,r),this._tryToStartAnother(),this.emit("add")})}async addAll(e,r){return Promise.all(e.map(async i=>this.add(i,r)))}start(){return this._isPaused?(this._isPaused=!1,this._processQueue(),this):this}pause(){this._isPaused=!0}clear(){this._queue=new this._queueClass}async onEmpty(){if(this._queue.size!==0)return new Promise(e=>{let r=this._resolveEmpty;this._resolveEmpty=()=>{r(),e()}})}async onIdle(){if(!(this._pendingCount===0&&this._queue.size===0))return new Promise(e=>{let r=this._resolveIdle;this._resolveIdle=()=>{r(),e()}})}get size(){return this._queue.size}sizeBy(e){return this._queue.filter(e).length}get pending(){return this._pendingCount}get isPaused(){return this._isPaused}get timeout(){return this._timeout}set timeout(e){this._timeout=e}};ER.default=l_});var p_=E((Ect,h_)=>{var yR;h_.exports.getContent=()=>(typeof yR=="undefined"&&(yR=require("zlib").brotliDecompressSync(Buffer.from("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","base64")).toString()),yR)});var y_=E((wR,I_)=>{(function(t,e){typeof wR=="object"?I_.exports=e():typeof define=="function"&&define.amd?define(e):t.treeify=e()})(wR,function(){function t(n,s){var o=s?"\u2514":"\u251C";return n?o+="\u2500 ":o+="\u2500\u2500\u2510",o}function e(n,s){var o=[];for(var a in n)!n.hasOwnProperty(a)||s&&typeof n[a]=="function"||o.push(a);return o}function r(n,s,o,a,l,c,u){var g="",f=0,h,p,d=a.slice(0);if(d.push([s,o])&&a.length>0&&(a.forEach(function(I,B){B>0&&(g+=(I[1]?" ":"\u2502")+" "),!p&&I[0]===s&&(p=!0)}),g+=t(n,o)+n,l&&(typeof s!="object"||s instanceof Date)&&(g+=": "+s),p&&(g+=" (circular ref.)"),u(g)),!p&&typeof s=="object"){var m=e(s,c);m.forEach(function(I){h=++f===m.length,r(I,s[I],h,d,l,c,u)})}}var i={};return i.asLines=function(n,s,o,a){var l=typeof o!="function"?o:!1;r(".",n,!1,[],s,l,a||o)},i.asTree=function(n,s,o){var a="";return r(".",n,!1,[],s,o,function(l){a+=l+` +`}),a},i})});var x_=E((Uct,bR)=>{"use strict";var pTe=t=>{let e=!1,r=!1,i=!1;for(let n=0;n{if(!(typeof t=="string"||Array.isArray(t)))throw new TypeError("Expected the input to be `string | string[]`");e=Object.assign({pascalCase:!1},e);let r=n=>e.pascalCase?n.charAt(0).toUpperCase()+n.slice(1):n;return Array.isArray(t)?t=t.map(n=>n.trim()).filter(n=>n.length).join("-"):t=t.trim(),t.length===0?"":t.length===1?e.pascalCase?t.toUpperCase():t.toLowerCase():(t!==t.toLowerCase()&&(t=pTe(t)),t=t.replace(/^[_.\- ]+/,"").toLowerCase().replace(/[_.\- ]+(\w|$)/g,(n,s)=>s.toUpperCase()).replace(/\d+(\w|$)/g,n=>n.toUpperCase()),r(t))};bR.exports=S_;bR.exports.default=S_});var Na=E(TR=>{"use strict";Object.defineProperty(TR,"__esModule",{value:!0});TR.default=L_;function L_(){}L_.prototype={diff:function(e,r){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},n=i.callback;typeof i=="function"&&(n=i,i={}),this.options=i;var s=this;function o(d){return n?(setTimeout(function(){n(void 0,d)},0),!0):d}e=this.castInput(e),r=this.castInput(r),e=this.removeEmpty(this.tokenize(e)),r=this.removeEmpty(this.tokenize(r));var a=r.length,l=e.length,c=1,u=a+l,g=[{newPos:-1,components:[]}],f=this.extractCommon(g[0],r,e,0);if(g[0].newPos+1>=a&&f+1>=l)return o([{value:this.join(r),count:r.length}]);function h(){for(var d=-1*c;d<=c;d+=2){var m=void 0,I=g[d-1],B=g[d+1],b=(B?B.newPos:0)-d;I&&(g[d-1]=void 0);var R=I&&I.newPos+1=a&&b+1>=l)return o(yTe(s,m.components,r,e,s.useLongestToken));g[d]=m}c++}if(n)(function d(){setTimeout(function(){if(c>u)return n();h()||d()},0)})();else for(;c<=u;){var p=h();if(p)return p}},pushComponent:function(e,r,i){var n=e[e.length-1];n&&n.added===r&&n.removed===i?e[e.length-1]={count:n.count+1,added:r,removed:i}:e.push({count:1,added:r,removed:i})},extractCommon:function(e,r,i,n){for(var s=r.length,o=i.length,a=e.newPos,l=a-n,c=0;a+1h.length?d:h}),c.value=t.join(u)}else c.value=t.join(r.slice(a,a+c.count));a+=c.count,c.added||(l+=c.count)}}var f=e[o-1];return o>1&&typeof f.value=="string"&&(f.added||f.removed)&&t.equals("",f.value)&&(e[o-2].value+=f.value,e.pop()),e}function wTe(t){return{newPos:t.newPos,components:t.components.slice(0)}}});var M_=E(Cd=>{"use strict";Object.defineProperty(Cd,"__esModule",{value:!0});Cd.diffChars=BTe;Cd.characterDiff=void 0;var bTe=QTe(Na());function QTe(t){return t&&t.__esModule?t:{default:t}}var T_=new bTe.default;Cd.characterDiff=T_;function BTe(t,e,r){return T_.diff(t,e,r)}});var OR=E(MR=>{"use strict";Object.defineProperty(MR,"__esModule",{value:!0});MR.generateOptions=vTe;function vTe(t,e){if(typeof t=="function")e.callback=t;else if(t)for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r]);return e}});var U_=E(Ng=>{"use strict";Object.defineProperty(Ng,"__esModule",{value:!0});Ng.diffWords=STe;Ng.diffWordsWithSpace=xTe;Ng.wordDiff=void 0;var PTe=kTe(Na()),DTe=OR();function kTe(t){return t&&t.__esModule?t:{default:t}}var O_=/^[A-Za-z\xC0-\u02C6\u02C8-\u02D7\u02DE-\u02FF\u1E00-\u1EFF]+$/,K_=/\S/,md=new PTe.default;Ng.wordDiff=md;md.equals=function(t,e){return this.options.ignoreCase&&(t=t.toLowerCase(),e=e.toLowerCase()),t===e||this.options.ignoreWhitespace&&!K_.test(t)&&!K_.test(e)};md.tokenize=function(t){for(var e=t.split(/(\s+|[()[\]{}'"]|\b)/),r=0;r{"use strict";Object.defineProperty(Lg,"__esModule",{value:!0});Lg.diffLines=RTe;Lg.diffTrimmedLines=FTe;Lg.lineDiff=void 0;var LTe=NTe(Na()),TTe=OR();function NTe(t){return t&&t.__esModule?t:{default:t}}var OB=new LTe.default;Lg.lineDiff=OB;OB.tokenize=function(t){var e=[],r=t.split(/(\n|\r\n)/);r[r.length-1]||r.pop();for(var i=0;i{"use strict";Object.defineProperty(Ed,"__esModule",{value:!0});Ed.diffSentences=MTe;Ed.sentenceDiff=void 0;var KTe=OTe(Na());function OTe(t){return t&&t.__esModule?t:{default:t}}var KR=new KTe.default;Ed.sentenceDiff=KR;KR.tokenize=function(t){return t.split(/(\S.+?[.!?])(?=\s+|$)/)};function MTe(t,e,r){return KR.diff(t,e,r)}});var G_=E(Id=>{"use strict";Object.defineProperty(Id,"__esModule",{value:!0});Id.diffCss=UTe;Id.cssDiff=void 0;var GTe=HTe(Na());function HTe(t){return t&&t.__esModule?t:{default:t}}var UR=new GTe.default;Id.cssDiff=UR;UR.tokenize=function(t){return t.split(/([{}:;,]|\s+)/)};function UTe(t,e,r){return UR.diff(t,e,r)}});var Y_=E(Tg=>{"use strict";Object.defineProperty(Tg,"__esModule",{value:!0});Tg.diffJson=jTe;Tg.canonicalize=UB;Tg.jsonDiff=void 0;var j_=YTe(Na()),qTe=KB();function YTe(t){return t&&t.__esModule?t:{default:t}}function HB(t){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?HB=function(r){return typeof r}:HB=function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},HB(t)}var JTe=Object.prototype.toString,bc=new j_.default;Tg.jsonDiff=bc;bc.useLongestToken=!0;bc.tokenize=qTe.lineDiff.tokenize;bc.castInput=function(t){var e=this.options,r=e.undefinedReplacement,i=e.stringifyReplacer,n=i===void 0?function(s,o){return typeof o=="undefined"?r:o}:i;return typeof t=="string"?t:JSON.stringify(UB(t,null,null,n),n," ")};bc.equals=function(t,e){return j_.default.prototype.equals.call(bc,t.replace(/,([\r\n])/g,"$1"),e.replace(/,([\r\n])/g,"$1"))};function jTe(t,e,r){return bc.diff(t,e,r)}function UB(t,e,r,i,n){e=e||[],r=r||[],i&&(t=i(n,t));var s;for(s=0;s{"use strict";Object.defineProperty(yd,"__esModule",{value:!0});yd.diffArrays=WTe;yd.arrayDiff=void 0;var VTe=zTe(Na());function zTe(t){return t&&t.__esModule?t:{default:t}}var wd=new VTe.default;yd.arrayDiff=wd;wd.tokenize=function(t){return t.slice()};wd.join=wd.removeEmpty=function(t){return t};function WTe(t,e,r){return wd.diff(t,e,r)}});var GB=E(HR=>{"use strict";Object.defineProperty(HR,"__esModule",{value:!0});HR.parsePatch=_Te;function _Te(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=t.split(/\r\n|[\n\v\f\r\x85]/),i=t.match(/\r\n|[\n\v\f\r\x85]/g)||[],n=[],s=0;function o(){var c={};for(n.push(c);s{"use strict";Object.defineProperty(GR,"__esModule",{value:!0});GR.default=XTe;function XTe(t,e,r){var i=!0,n=!1,s=!1,o=1;return function a(){if(i&&!s){if(n?o++:i=!1,t+o<=r)return o;s=!0}if(!n)return s||(i=!0),e<=t-o?-o++:(n=!0,a())}}});var V_=E(jB=>{"use strict";Object.defineProperty(jB,"__esModule",{value:!0});jB.applyPatch=W_;jB.applyPatches=ZTe;var z_=GB(),eMe=$Te(J_());function $Te(t){return t&&t.__esModule?t:{default:t}}function W_(t,e){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};if(typeof e=="string"&&(e=(0,z_.parsePatch)(e)),Array.isArray(e)){if(e.length>1)throw new Error("applyPatch only works with a single input.");e=e[0]}var i=t.split(/\r\n|[\n\v\f\r\x85]/),n=t.match(/\r\n|[\n\v\f\r\x85]/g)||[],s=e.hunks,o=r.compareLine||function(F,D,he,pe){return D===pe},a=0,l=r.fuzzFactor||0,c=0,u=0,g,f;function h(F,D){for(var he=0;he0?pe[0]:" ",Pe=pe.length>0?pe.substr(1):pe;if(Ne===" "||Ne==="-"){if(!o(D+1,i[D],Ne,Pe)&&(a++,a>l))return!1;D++}}return!0}for(var p=0;p0?ne[0]:" ",A=ne.length>0?ne.substr(1):ne,V=L.linedelimiters[J];if(q===" ")K++;else if(q==="-")i.splice(K,1),n.splice(K,1);else if(q==="+")i.splice(K,0,A),n.splice(K,0,V),K++;else if(q==="\\"){var W=L.lines[J-1]?L.lines[J-1][0]:null;W==="+"?g=!0:W==="-"&&(f=!0)}}}if(g)for(;!i[i.length-1];)i.pop(),n.pop();else f&&(i.push(""),n.push(` +`));for(var X=0;X{"use strict";Object.defineProperty(Bd,"__esModule",{value:!0});Bd.structuredPatch=__;Bd.createTwoFilesPatch=X_;Bd.createPatch=tMe;var rMe=KB();function jR(t){return sMe(t)||nMe(t)||iMe()}function iMe(){throw new TypeError("Invalid attempt to spread non-iterable instance")}function nMe(t){if(Symbol.iterator in Object(t)||Object.prototype.toString.call(t)==="[object Arguments]")return Array.from(t)}function sMe(t){if(Array.isArray(t)){for(var e=0,r=new Array(t.length);e0?l(L.lines.slice(-o.context)):[],u-=f.length,g-=f.length)}(H=f).push.apply(H,jR(R.map(function(X){return(b.added?"+":"-")+X}))),b.added?p+=R.length:h+=R.length}else{if(u)if(R.length<=o.context*2&&B=a.length-2&&R.length<=o.context){var A=/\n$/.test(r),V=/\n$/.test(i),W=R.length==0&&f.length>q.oldLines;!A&&W&&f.splice(q.oldLines,0,"\\ No newline at end of file"),(!A&&!W||!V)&&f.push("\\ No newline at end of file")}c.push(q),u=0,g=0,f=[]}h+=R.length,p+=R.length}},m=0;m{"use strict";Object.defineProperty(YB,"__esModule",{value:!0});YB.arrayEqual=oMe;YB.arrayStartsWith=Z_;function oMe(t,e){return t.length!==e.length?!1:Z_(t,e)}function Z_(t,e){if(e.length>t.length)return!1;for(var r=0;r{"use strict";Object.defineProperty(qB,"__esModule",{value:!0});qB.calcLineCount=eX;qB.merge=aMe;var AMe=YR(),lMe=GB(),qR=$_();function Mg(t){return gMe(t)||uMe(t)||cMe()}function cMe(){throw new TypeError("Invalid attempt to spread non-iterable instance")}function uMe(t){if(Symbol.iterator in Object(t)||Object.prototype.toString.call(t)==="[object Arguments]")return Array.from(t)}function gMe(t){if(Array.isArray(t)){for(var e=0,r=new Array(t.length);e{"use strict";Object.defineProperty(zR,"__esModule",{value:!0});zR.convertChangesToDMP=dMe;function dMe(t){for(var e=[],r,i,n=0;n{"use strict";Object.defineProperty(VR,"__esModule",{value:!0});VR.convertChangesToXML=CMe;function CMe(t){for(var e=[],r=0;r"):i.removed&&e.push(""),e.push(mMe(i.value)),i.added?e.push(""):i.removed&&e.push("")}return e.join("")}function mMe(t){var e=t;return e=e.replace(/&/g,"&"),e=e.replace(//g,">"),e=e.replace(/"/g,"""),e}});var CX=E(br=>{"use strict";Object.defineProperty(br,"__esModule",{value:!0});Object.defineProperty(br,"Diff",{enumerable:!0,get:function(){return EMe.default}});Object.defineProperty(br,"diffChars",{enumerable:!0,get:function(){return IMe.diffChars}});Object.defineProperty(br,"diffWords",{enumerable:!0,get:function(){return fX.diffWords}});Object.defineProperty(br,"diffWordsWithSpace",{enumerable:!0,get:function(){return fX.diffWordsWithSpace}});Object.defineProperty(br,"diffLines",{enumerable:!0,get:function(){return hX.diffLines}});Object.defineProperty(br,"diffTrimmedLines",{enumerable:!0,get:function(){return hX.diffTrimmedLines}});Object.defineProperty(br,"diffSentences",{enumerable:!0,get:function(){return yMe.diffSentences}});Object.defineProperty(br,"diffCss",{enumerable:!0,get:function(){return wMe.diffCss}});Object.defineProperty(br,"diffJson",{enumerable:!0,get:function(){return pX.diffJson}});Object.defineProperty(br,"canonicalize",{enumerable:!0,get:function(){return pX.canonicalize}});Object.defineProperty(br,"diffArrays",{enumerable:!0,get:function(){return BMe.diffArrays}});Object.defineProperty(br,"applyPatch",{enumerable:!0,get:function(){return dX.applyPatch}});Object.defineProperty(br,"applyPatches",{enumerable:!0,get:function(){return dX.applyPatches}});Object.defineProperty(br,"parsePatch",{enumerable:!0,get:function(){return QMe.parsePatch}});Object.defineProperty(br,"merge",{enumerable:!0,get:function(){return bMe.merge}});Object.defineProperty(br,"structuredPatch",{enumerable:!0,get:function(){return _R.structuredPatch}});Object.defineProperty(br,"createTwoFilesPatch",{enumerable:!0,get:function(){return _R.createTwoFilesPatch}});Object.defineProperty(br,"createPatch",{enumerable:!0,get:function(){return _R.createPatch}});Object.defineProperty(br,"convertChangesToDMP",{enumerable:!0,get:function(){return vMe.convertChangesToDMP}});Object.defineProperty(br,"convertChangesToXML",{enumerable:!0,get:function(){return SMe.convertChangesToXML}});var EMe=xMe(Na()),IMe=M_(),fX=U_(),hX=KB(),yMe=H_(),wMe=G_(),pX=Y_(),BMe=q_(),dX=V_(),QMe=GB(),bMe=cX(),_R=YR(),vMe=uX(),SMe=gX();function xMe(t){return t&&t.__esModule?t:{default:t}}});var WB=E((agt,mX)=>{var kMe=As(),PMe=Nw(),DMe=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,RMe=/^\w*$/;function FMe(t,e){if(kMe(t))return!1;var r=typeof t;return r=="number"||r=="symbol"||r=="boolean"||t==null||PMe(t)?!0:RMe.test(t)||!DMe.test(t)||e!=null&&t in Object(e)}mX.exports=FMe});var Gs=E((Agt,EX)=>{function NMe(t){var e=typeof t;return t!=null&&(e=="object"||e=="function")}EX.exports=NMe});var zB=E((lgt,IX)=>{var LMe=Ac(),TMe=Gs(),MMe="[object AsyncFunction]",OMe="[object Function]",KMe="[object GeneratorFunction]",UMe="[object Proxy]";function HMe(t){if(!TMe(t))return!1;var e=LMe(t);return e==OMe||e==KMe||e==MMe||e==UMe}IX.exports=HMe});var wX=E((cgt,yX)=>{var GMe=Ks(),jMe=GMe["__core-js_shared__"];yX.exports=jMe});var bX=E((ugt,BX)=>{var XR=wX(),QX=function(){var t=/[^.]+$/.exec(XR&&XR.keys&&XR.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""}();function YMe(t){return!!QX&&QX in t}BX.exports=YMe});var ZR=E((ggt,vX)=>{var qMe=Function.prototype,JMe=qMe.toString;function WMe(t){if(t!=null){try{return JMe.call(t)}catch(e){}try{return t+""}catch(e){}}return""}vX.exports=WMe});var xX=E((fgt,SX)=>{var zMe=zB(),VMe=bX(),_Me=Gs(),XMe=ZR(),ZMe=/[\\^$.*+?()[\]{}|]/g,$Me=/^\[object .+?Constructor\]$/,eOe=Function.prototype,tOe=Object.prototype,rOe=eOe.toString,iOe=tOe.hasOwnProperty,nOe=RegExp("^"+rOe.call(iOe).replace(ZMe,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function sOe(t){if(!_Me(t)||VMe(t))return!1;var e=zMe(t)?nOe:$Me;return e.test(XMe(t))}SX.exports=sOe});var PX=E((hgt,kX)=>{function oOe(t,e){return t==null?void 0:t[e]}kX.exports=oOe});var UA=E((pgt,DX)=>{var aOe=xX(),AOe=PX();function lOe(t,e){var r=AOe(t,e);return aOe(r)?r:void 0}DX.exports=lOe});var Qd=E((dgt,RX)=>{var cOe=UA(),uOe=cOe(Object,"create");RX.exports=uOe});var LX=E((Cgt,FX)=>{var NX=Qd();function gOe(){this.__data__=NX?NX(null):{},this.size=0}FX.exports=gOe});var MX=E((mgt,TX)=>{function fOe(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e}TX.exports=fOe});var KX=E((Egt,OX)=>{var hOe=Qd(),pOe="__lodash_hash_undefined__",dOe=Object.prototype,COe=dOe.hasOwnProperty;function mOe(t){var e=this.__data__;if(hOe){var r=e[t];return r===pOe?void 0:r}return COe.call(e,t)?e[t]:void 0}OX.exports=mOe});var HX=E((Igt,UX)=>{var EOe=Qd(),IOe=Object.prototype,yOe=IOe.hasOwnProperty;function wOe(t){var e=this.__data__;return EOe?e[t]!==void 0:yOe.call(e,t)}UX.exports=wOe});var jX=E((ygt,GX)=>{var BOe=Qd(),QOe="__lodash_hash_undefined__";function bOe(t,e){var r=this.__data__;return this.size+=this.has(t)?0:1,r[t]=BOe&&e===void 0?QOe:e,this}GX.exports=bOe});var qX=E((wgt,YX)=>{var vOe=LX(),SOe=MX(),xOe=KX(),kOe=HX(),POe=jX();function Og(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e{function DOe(){this.__data__=[],this.size=0}JX.exports=DOe});var Kg=E((Qgt,zX)=>{function ROe(t,e){return t===e||t!==t&&e!==e}zX.exports=ROe});var bd=E((bgt,VX)=>{var FOe=Kg();function NOe(t,e){for(var r=t.length;r--;)if(FOe(t[r][0],e))return r;return-1}VX.exports=NOe});var XX=E((vgt,_X)=>{var LOe=bd(),TOe=Array.prototype,MOe=TOe.splice;function OOe(t){var e=this.__data__,r=LOe(e,t);if(r<0)return!1;var i=e.length-1;return r==i?e.pop():MOe.call(e,r,1),--this.size,!0}_X.exports=OOe});var $X=E((Sgt,ZX)=>{var KOe=bd();function UOe(t){var e=this.__data__,r=KOe(e,t);return r<0?void 0:e[r][1]}ZX.exports=UOe});var tZ=E((xgt,eZ)=>{var HOe=bd();function GOe(t){return HOe(this.__data__,t)>-1}eZ.exports=GOe});var iZ=E((kgt,rZ)=>{var jOe=bd();function YOe(t,e){var r=this.__data__,i=jOe(r,t);return i<0?(++this.size,r.push([t,e])):r[i][1]=e,this}rZ.exports=YOe});var vd=E((Pgt,nZ)=>{var qOe=WX(),JOe=XX(),WOe=$X(),zOe=tZ(),VOe=iZ();function Ug(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e{var _Oe=UA(),XOe=Ks(),ZOe=_Oe(XOe,"Map");sZ.exports=ZOe});var AZ=E((Rgt,oZ)=>{var aZ=qX(),$Oe=vd(),eKe=VB();function tKe(){this.size=0,this.__data__={hash:new aZ,map:new(eKe||$Oe),string:new aZ}}oZ.exports=tKe});var cZ=E((Fgt,lZ)=>{function rKe(t){var e=typeof t;return e=="string"||e=="number"||e=="symbol"||e=="boolean"?t!=="__proto__":t===null}lZ.exports=rKe});var Sd=E((Ngt,uZ)=>{var iKe=cZ();function nKe(t,e){var r=t.__data__;return iKe(e)?r[typeof e=="string"?"string":"hash"]:r.map}uZ.exports=nKe});var fZ=E((Lgt,gZ)=>{var sKe=Sd();function oKe(t){var e=sKe(this,t).delete(t);return this.size-=e?1:0,e}gZ.exports=oKe});var pZ=E((Tgt,hZ)=>{var aKe=Sd();function AKe(t){return aKe(this,t).get(t)}hZ.exports=AKe});var CZ=E((Mgt,dZ)=>{var lKe=Sd();function cKe(t){return lKe(this,t).has(t)}dZ.exports=cKe});var EZ=E((Ogt,mZ)=>{var uKe=Sd();function gKe(t,e){var r=uKe(this,t),i=r.size;return r.set(t,e),this.size+=r.size==i?0:1,this}mZ.exports=gKe});var _B=E((Kgt,IZ)=>{var fKe=AZ(),hKe=fZ(),pKe=pZ(),dKe=CZ(),CKe=EZ();function Hg(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e{var wZ=_B(),mKe="Expected a function";function $R(t,e){if(typeof t!="function"||e!=null&&typeof e!="function")throw new TypeError(mKe);var r=function(){var i=arguments,n=e?e.apply(this,i):i[0],s=r.cache;if(s.has(n))return s.get(n);var o=t.apply(this,i);return r.cache=s.set(n,o)||s,o};return r.cache=new($R.Cache||wZ),r}$R.Cache=wZ;yZ.exports=$R});var bZ=E((Hgt,QZ)=>{var EKe=BZ(),IKe=500;function yKe(t){var e=EKe(t,function(i){return r.size===IKe&&r.clear(),i}),r=e.cache;return e}QZ.exports=yKe});var SZ=E((Ggt,vZ)=>{var wKe=bZ(),BKe=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,QKe=/\\(\\)?/g,bKe=wKe(function(t){var e=[];return t.charCodeAt(0)===46&&e.push(""),t.replace(BKe,function(r,i,n,s){e.push(n?s.replace(QKe,"$1"):i||r)}),e});vZ.exports=bKe});var Gg=E((jgt,xZ)=>{var vKe=As(),SKe=WB(),xKe=SZ(),kKe=gg();function PKe(t,e){return vKe(t)?t:SKe(t,e)?[t]:xKe(kKe(t))}xZ.exports=PKe});var Sc=E((Ygt,kZ)=>{var DKe=Nw(),RKe=1/0;function FKe(t){if(typeof t=="string"||DKe(t))return t;var e=t+"";return e=="0"&&1/t==-RKe?"-0":e}kZ.exports=FKe});var xd=E((qgt,PZ)=>{var NKe=Gg(),LKe=Sc();function TKe(t,e){e=NKe(e,t);for(var r=0,i=e.length;t!=null&&r{var MKe=UA(),OKe=function(){try{var t=MKe(Object,"defineProperty");return t({},"",{}),t}catch(e){}}();DZ.exports=OKe});var jg=E((Wgt,RZ)=>{var FZ=eF();function KKe(t,e,r){e=="__proto__"&&FZ?FZ(t,e,{configurable:!0,enumerable:!0,value:r,writable:!0}):t[e]=r}RZ.exports=KKe});var XB=E((zgt,NZ)=>{var UKe=jg(),HKe=Kg(),GKe=Object.prototype,jKe=GKe.hasOwnProperty;function YKe(t,e,r){var i=t[e];(!(jKe.call(t,e)&&HKe(i,r))||r===void 0&&!(e in t))&&UKe(t,e,r)}NZ.exports=YKe});var kd=E((Vgt,LZ)=>{var qKe=9007199254740991,JKe=/^(?:0|[1-9]\d*)$/;function WKe(t,e){var r=typeof t;return e=e==null?qKe:e,!!e&&(r=="number"||r!="symbol"&&JKe.test(t))&&t>-1&&t%1==0&&t{var zKe=XB(),VKe=Gg(),_Ke=kd(),MZ=Gs(),XKe=Sc();function ZKe(t,e,r,i){if(!MZ(t))return t;e=VKe(e,t);for(var n=-1,s=e.length,o=s-1,a=t;a!=null&&++n{var $Ke=xd(),e1e=tF(),t1e=Gg();function r1e(t,e,r){for(var i=-1,n=e.length,s={};++i{function i1e(t,e){return t!=null&&e in Object(t)}UZ.exports=i1e});var jZ=E(($gt,GZ)=>{var n1e=Ac(),s1e=Qo(),o1e="[object Arguments]";function a1e(t){return s1e(t)&&n1e(t)==o1e}GZ.exports=a1e});var Pd=E((eft,YZ)=>{var qZ=jZ(),A1e=Qo(),JZ=Object.prototype,l1e=JZ.hasOwnProperty,c1e=JZ.propertyIsEnumerable,u1e=qZ(function(){return arguments}())?qZ:function(t){return A1e(t)&&l1e.call(t,"callee")&&!c1e.call(t,"callee")};YZ.exports=u1e});var ZB=E((tft,WZ)=>{var g1e=9007199254740991;function f1e(t){return typeof t=="number"&&t>-1&&t%1==0&&t<=g1e}WZ.exports=f1e});var rF=E((rft,zZ)=>{var h1e=Gg(),p1e=Pd(),d1e=As(),C1e=kd(),m1e=ZB(),E1e=Sc();function I1e(t,e,r){e=h1e(e,t);for(var i=-1,n=e.length,s=!1;++i{var y1e=HZ(),w1e=rF();function B1e(t,e){return t!=null&&w1e(t,e,y1e)}VZ.exports=B1e});var XZ=E((nft,_Z)=>{var Q1e=KZ(),b1e=iF();function v1e(t,e){return Q1e(t,e,function(r,i){return b1e(t,i)})}_Z.exports=v1e});var $B=E((sft,ZZ)=>{function S1e(t,e){for(var r=-1,i=e.length,n=t.length;++r{var e$=ac(),x1e=Pd(),k1e=As(),t$=e$?e$.isConcatSpreadable:void 0;function P1e(t){return k1e(t)||x1e(t)||!!(t$&&t&&t[t$])}$Z.exports=P1e});var s$=E((aft,i$)=>{var D1e=$B(),R1e=r$();function n$(t,e,r,i,n){var s=-1,o=t.length;for(r||(r=R1e),n||(n=[]);++s0&&r(a)?e>1?n$(a,e-1,r,i,n):D1e(n,a):i||(n[n.length]=a)}return n}i$.exports=n$});var a$=E((Aft,o$)=>{var F1e=s$();function N1e(t){var e=t==null?0:t.length;return e?F1e(t,1):[]}o$.exports=N1e});var l$=E((lft,A$)=>{function L1e(t,e,r){switch(r.length){case 0:return t.call(e);case 1:return t.call(e,r[0]);case 2:return t.call(e,r[0],r[1]);case 3:return t.call(e,r[0],r[1],r[2])}return t.apply(e,r)}A$.exports=L1e});var nF=E((cft,c$)=>{var T1e=l$(),u$=Math.max;function M1e(t,e,r){return e=u$(e===void 0?t.length-1:e,0),function(){for(var i=arguments,n=-1,s=u$(i.length-e,0),o=Array(s);++n{function O1e(t){return function(){return t}}g$.exports=O1e});var e0=E((gft,h$)=>{function K1e(t){return t}h$.exports=K1e});var C$=E((fft,p$)=>{var U1e=f$(),d$=eF(),H1e=e0(),G1e=d$?function(t,e){return d$(t,"toString",{configurable:!0,enumerable:!1,value:U1e(e),writable:!0})}:H1e;p$.exports=G1e});var E$=E((hft,m$)=>{var j1e=800,Y1e=16,q1e=Date.now;function J1e(t){var e=0,r=0;return function(){var i=q1e(),n=Y1e-(i-r);if(r=i,n>0){if(++e>=j1e)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}m$.exports=J1e});var sF=E((pft,I$)=>{var W1e=C$(),z1e=E$(),V1e=z1e(W1e);I$.exports=V1e});var w$=E((dft,y$)=>{var _1e=a$(),X1e=nF(),Z1e=sF();function $1e(t){return Z1e(X1e(t,void 0,_1e),t+"")}y$.exports=$1e});var Q$=E((Cft,B$)=>{var eUe=XZ(),tUe=w$(),rUe=tUe(function(t,e){return t==null?{}:eUe(t,e)});B$.exports=rUe});var M$=E((lpt,N$)=>{"use strict";var pF;try{pF=Map}catch(t){}var dF;try{dF=Set}catch(t){}function L$(t,e,r){if(!t||typeof t!="object"||typeof t=="function")return t;if(t.nodeType&&"cloneNode"in t)return t.cloneNode(!0);if(t instanceof Date)return new Date(t.getTime());if(t instanceof RegExp)return new RegExp(t);if(Array.isArray(t))return t.map(T$);if(pF&&t instanceof pF)return new Map(Array.from(t.entries()));if(dF&&t instanceof dF)return new Set(Array.from(t.values()));if(t instanceof Object){e.push(t);var i=Object.create(t);r.push(i);for(var n in t){var s=e.findIndex(function(o){return o===t[n]});i[n]=s>-1?r[s]:L$(t[n],e,r)}return i}return t}function T$(t){return L$(t,[],[])}N$.exports=T$});var Nd=E(CF=>{"use strict";Object.defineProperty(CF,"__esModule",{value:!0});CF.default=uUe;var gUe=Object.prototype.toString,fUe=Error.prototype.toString,hUe=RegExp.prototype.toString,pUe=typeof Symbol!="undefined"?Symbol.prototype.toString:()=>"",dUe=/^Symbol\((.*)\)(.*)$/;function CUe(t){return t!=+t?"NaN":t===0&&1/t<0?"-0":""+t}function O$(t,e=!1){if(t==null||t===!0||t===!1)return""+t;let r=typeof t;if(r==="number")return CUe(t);if(r==="string")return e?`"${t}"`:t;if(r==="function")return"[Function "+(t.name||"anonymous")+"]";if(r==="symbol")return pUe.call(t).replace(dUe,"Symbol($1)");let i=gUe.call(t).slice(8,-1);return i==="Date"?isNaN(t.getTime())?""+t:t.toISOString(t):i==="Error"||t instanceof Error?"["+fUe.call(t)+"]":i==="RegExp"?hUe.call(t):null}function uUe(t,e){let r=O$(t,e);return r!==null?r:JSON.stringify(t,function(i,n){let s=O$(this[i],e);return s!==null?s:n},2)}});var La=E(ci=>{"use strict";Object.defineProperty(ci,"__esModule",{value:!0});ci.default=ci.array=ci.object=ci.boolean=ci.date=ci.number=ci.string=ci.mixed=void 0;var K$=mUe(Nd());function mUe(t){return t&&t.__esModule?t:{default:t}}var U$={default:"${path} is invalid",required:"${path} is a required field",oneOf:"${path} must be one of the following values: ${values}",notOneOf:"${path} must not be one of the following values: ${values}",notType:({path:t,type:e,value:r,originalValue:i})=>{let n=i!=null&&i!==r,s=`${t} must be a \`${e}\` type, but the final value was: \`${(0,K$.default)(r,!0)}\``+(n?` (cast from the value \`${(0,K$.default)(i,!0)}\`).`:".");return r===null&&(s+='\n If "null" is intended as an empty value be sure to mark the schema as `.nullable()`'),s},defined:"${path} must be defined"};ci.mixed=U$;var H$={length:"${path} must be exactly ${length} characters",min:"${path} must be at least ${min} characters",max:"${path} must be at most ${max} characters",matches:'${path} must match the following: "${regex}"',email:"${path} must be a valid email",url:"${path} must be a valid URL",uuid:"${path} must be a valid UUID",trim:"${path} must be a trimmed string",lowercase:"${path} must be a lowercase string",uppercase:"${path} must be a upper case string"};ci.string=H$;var G$={min:"${path} must be greater than or equal to ${min}",max:"${path} must be less than or equal to ${max}",lessThan:"${path} must be less than ${less}",moreThan:"${path} must be greater than ${more}",positive:"${path} must be a positive number",negative:"${path} must be a negative number",integer:"${path} must be an integer"};ci.number=G$;var j$={min:"${path} field must be later than ${min}",max:"${path} field must be at earlier than ${max}"};ci.date=j$;var Y$={isValue:"${path} field must be ${value}"};ci.boolean=Y$;var q$={noUnknown:"${path} field has unspecified keys: ${unknown}"};ci.object=q$;var J$={min:"${path} field must have at least ${min} items",max:"${path} field must have less than or equal to ${max} items",length:"${path} must be have ${length} items"};ci.array=J$;var EUe=Object.assign(Object.create(null),{mixed:U$,string:H$,number:G$,date:j$,object:q$,array:J$,boolean:Y$});ci.default=EUe});var z$=E((gpt,W$)=>{var IUe=Object.prototype,yUe=IUe.hasOwnProperty;function wUe(t,e){return t!=null&&yUe.call(t,e)}W$.exports=wUe});var Ld=E((fpt,V$)=>{var BUe=z$(),QUe=rF();function bUe(t,e){return t!=null&&QUe(t,e,BUe)}V$.exports=bUe});var qg=E(n0=>{"use strict";Object.defineProperty(n0,"__esModule",{value:!0});n0.default=void 0;var vUe=t=>t&&t.__isYupSchema__;n0.default=vUe});var Z$=E(s0=>{"use strict";Object.defineProperty(s0,"__esModule",{value:!0});s0.default=void 0;var SUe=_$(Ld()),xUe=_$(qg());function _$(t){return t&&t.__esModule?t:{default:t}}var X$=class{constructor(e,r){if(this.refs=e,this.refs=e,typeof r=="function"){this.fn=r;return}if(!(0,SUe.default)(r,"is"))throw new TypeError("`is:` is required for `when()` conditions");if(!r.then&&!r.otherwise)throw new TypeError("either `then:` or `otherwise:` is required for `when()` conditions");let{is:i,then:n,otherwise:s}=r,o=typeof i=="function"?i:(...a)=>a.every(l=>l===i);this.fn=function(...a){let l=a.pop(),c=a.pop(),u=o(...a)?n:s;if(!!u)return typeof u=="function"?u(c):c.concat(u.resolve(l))}}resolve(e,r){let i=this.refs.map(s=>s.getValue(r==null?void 0:r.value,r==null?void 0:r.parent,r==null?void 0:r.context)),n=this.fn.apply(e,i.concat(e,r));if(n===void 0||n===e)return e;if(!(0,xUe.default)(n))throw new TypeError("conditions must return a schema object");return n.resolve(r)}},kUe=X$;s0.default=kUe});var EF=E(mF=>{"use strict";Object.defineProperty(mF,"__esModule",{value:!0});mF.default=PUe;function PUe(t){return t==null?[]:[].concat(t)}});var xc=E(o0=>{"use strict";Object.defineProperty(o0,"__esModule",{value:!0});o0.default=void 0;var DUe=$$(Nd()),RUe=$$(EF());function $$(t){return t&&t.__esModule?t:{default:t}}function IF(){return IF=Object.assign||function(t){for(var e=1;e(0,DUe.default)(r[s])):typeof e=="function"?e(r):e}static isError(e){return e&&e.name==="ValidationError"}constructor(e,r,i,n){super();this.name="ValidationError",this.value=r,this.path=i,this.type=n,this.errors=[],this.inner=[],(0,RUe.default)(e).forEach(s=>{Td.isError(s)?(this.errors.push(...s.errors),this.inner=this.inner.concat(s.inner.length?s.inner:s)):this.errors.push(s)}),this.message=this.errors.length>1?`${this.errors.length} errors occurred`:this.errors[0],Error.captureStackTrace&&Error.captureStackTrace(this,Td)}};o0.default=Td});var a0=E(yF=>{"use strict";Object.defineProperty(yF,"__esModule",{value:!0});yF.default=NUe;var wF=LUe(xc());function LUe(t){return t&&t.__esModule?t:{default:t}}var TUe=t=>{let e=!1;return(...r)=>{e||(e=!0,t(...r))}};function NUe(t,e){let{endEarly:r,tests:i,args:n,value:s,errors:o,sort:a,path:l}=t,c=TUe(e),u=i.length,g=[];if(o=o||[],!u)return o.length?c(new wF.default(o,s,l)):c(null,s);for(let f=0;f{function MUe(t){return function(e,r,i){for(var n=-1,s=Object(e),o=i(e),a=o.length;a--;){var l=o[t?a:++n];if(r(s[l],l,s)===!1)break}return e}}eee.exports=MUe});var BF=E((Ipt,ree)=>{var OUe=tee(),KUe=OUe();ree.exports=KUe});var nee=E((ypt,iee)=>{function UUe(t,e){for(var r=-1,i=Array(t);++r{function HUe(){return!1}see.exports=HUe});var Od=E((Md,Jg)=>{var GUe=Ks(),jUe=oee(),aee=typeof Md=="object"&&Md&&!Md.nodeType&&Md,Aee=aee&&typeof Jg=="object"&&Jg&&!Jg.nodeType&&Jg,YUe=Aee&&Aee.exports===aee,lee=YUe?GUe.Buffer:void 0,qUe=lee?lee.isBuffer:void 0,JUe=qUe||jUe;Jg.exports=JUe});var uee=E((Bpt,cee)=>{var WUe=Ac(),zUe=ZB(),VUe=Qo(),_Ue="[object Arguments]",XUe="[object Array]",ZUe="[object Boolean]",$Ue="[object Date]",e2e="[object Error]",t2e="[object Function]",r2e="[object Map]",i2e="[object Number]",n2e="[object Object]",s2e="[object RegExp]",o2e="[object Set]",a2e="[object String]",A2e="[object WeakMap]",l2e="[object ArrayBuffer]",c2e="[object DataView]",u2e="[object Float32Array]",g2e="[object Float64Array]",f2e="[object Int8Array]",h2e="[object Int16Array]",p2e="[object Int32Array]",d2e="[object Uint8Array]",C2e="[object Uint8ClampedArray]",m2e="[object Uint16Array]",E2e="[object Uint32Array]",lr={};lr[u2e]=lr[g2e]=lr[f2e]=lr[h2e]=lr[p2e]=lr[d2e]=lr[C2e]=lr[m2e]=lr[E2e]=!0;lr[_Ue]=lr[XUe]=lr[l2e]=lr[ZUe]=lr[c2e]=lr[$Ue]=lr[e2e]=lr[t2e]=lr[r2e]=lr[i2e]=lr[n2e]=lr[s2e]=lr[o2e]=lr[a2e]=lr[A2e]=!1;function I2e(t){return VUe(t)&&zUe(t.length)&&!!lr[WUe(t)]}cee.exports=I2e});var A0=E((Qpt,gee)=>{function y2e(t){return function(e){return t(e)}}gee.exports=y2e});var l0=E((Kd,Wg)=>{var w2e=WP(),fee=typeof Kd=="object"&&Kd&&!Kd.nodeType&&Kd,Ud=fee&&typeof Wg=="object"&&Wg&&!Wg.nodeType&&Wg,B2e=Ud&&Ud.exports===fee,QF=B2e&&w2e.process,Q2e=function(){try{var t=Ud&&Ud.require&&Ud.require("util").types;return t||QF&&QF.binding&&QF.binding("util")}catch(e){}}();Wg.exports=Q2e});var c0=E((bpt,hee)=>{var b2e=uee(),v2e=A0(),pee=l0(),dee=pee&&pee.isTypedArray,S2e=dee?v2e(dee):b2e;hee.exports=S2e});var bF=E((vpt,Cee)=>{var x2e=nee(),k2e=Pd(),P2e=As(),D2e=Od(),R2e=kd(),F2e=c0(),N2e=Object.prototype,L2e=N2e.hasOwnProperty;function T2e(t,e){var r=P2e(t),i=!r&&k2e(t),n=!r&&!i&&D2e(t),s=!r&&!i&&!n&&F2e(t),o=r||i||n||s,a=o?x2e(t.length,String):[],l=a.length;for(var c in t)(e||L2e.call(t,c))&&!(o&&(c=="length"||n&&(c=="offset"||c=="parent")||s&&(c=="buffer"||c=="byteLength"||c=="byteOffset")||R2e(c,l)))&&a.push(c);return a}Cee.exports=T2e});var u0=E((Spt,mee)=>{var M2e=Object.prototype;function O2e(t){var e=t&&t.constructor,r=typeof e=="function"&&e.prototype||M2e;return t===r}mee.exports=O2e});var vF=E((xpt,Eee)=>{function K2e(t,e){return function(r){return t(e(r))}}Eee.exports=K2e});var yee=E((kpt,Iee)=>{var U2e=vF(),H2e=U2e(Object.keys,Object);Iee.exports=H2e});var Bee=E((Ppt,wee)=>{var G2e=u0(),j2e=yee(),Y2e=Object.prototype,q2e=Y2e.hasOwnProperty;function J2e(t){if(!G2e(t))return j2e(t);var e=[];for(var r in Object(t))q2e.call(t,r)&&r!="constructor"&&e.push(r);return e}wee.exports=J2e});var Hd=E((Dpt,Qee)=>{var W2e=zB(),z2e=ZB();function V2e(t){return t!=null&&z2e(t.length)&&!W2e(t)}Qee.exports=V2e});var zg=E((Rpt,bee)=>{var _2e=bF(),X2e=Bee(),Z2e=Hd();function $2e(t){return Z2e(t)?_2e(t):X2e(t)}bee.exports=$2e});var SF=E((Fpt,vee)=>{var eHe=BF(),tHe=zg();function rHe(t,e){return t&&eHe(t,e,tHe)}vee.exports=rHe});var xee=E((Npt,See)=>{var iHe=vd();function nHe(){this.__data__=new iHe,this.size=0}See.exports=nHe});var Pee=E((Lpt,kee)=>{function sHe(t){var e=this.__data__,r=e.delete(t);return this.size=e.size,r}kee.exports=sHe});var Ree=E((Tpt,Dee)=>{function oHe(t){return this.__data__.get(t)}Dee.exports=oHe});var Nee=E((Mpt,Fee)=>{function aHe(t){return this.__data__.has(t)}Fee.exports=aHe});var Tee=E((Opt,Lee)=>{var AHe=vd(),lHe=VB(),cHe=_B(),uHe=200;function gHe(t,e){var r=this.__data__;if(r instanceof AHe){var i=r.__data__;if(!lHe||i.length{var fHe=vd(),hHe=xee(),pHe=Pee(),dHe=Ree(),CHe=Nee(),mHe=Tee();function Vg(t){var e=this.__data__=new fHe(t);this.size=e.size}Vg.prototype.clear=hHe;Vg.prototype.delete=pHe;Vg.prototype.get=dHe;Vg.prototype.has=CHe;Vg.prototype.set=mHe;Mee.exports=Vg});var Kee=E((Upt,Oee)=>{var EHe="__lodash_hash_undefined__";function IHe(t){return this.__data__.set(t,EHe),this}Oee.exports=IHe});var Hee=E((Hpt,Uee)=>{function yHe(t){return this.__data__.has(t)}Uee.exports=yHe});var jee=E((Gpt,Gee)=>{var wHe=_B(),BHe=Kee(),QHe=Hee();function g0(t){var e=-1,r=t==null?0:t.length;for(this.__data__=new wHe;++e{function bHe(t,e){for(var r=-1,i=t==null?0:t.length;++r{function vHe(t,e){return t.has(e)}Jee.exports=vHe});var xF=E((qpt,zee)=>{var SHe=jee(),xHe=qee(),kHe=Wee(),PHe=1,DHe=2;function RHe(t,e,r,i,n,s){var o=r&PHe,a=t.length,l=e.length;if(a!=l&&!(o&&l>a))return!1;var c=s.get(t),u=s.get(e);if(c&&u)return c==e&&u==t;var g=-1,f=!0,h=r&DHe?new SHe:void 0;for(s.set(t,e),s.set(e,t);++g{var FHe=Ks(),NHe=FHe.Uint8Array;Vee.exports=NHe});var Xee=E((Wpt,_ee)=>{function LHe(t){var e=-1,r=Array(t.size);return t.forEach(function(i,n){r[++e]=[n,i]}),r}_ee.exports=LHe});var $ee=E((zpt,Zee)=>{function THe(t){var e=-1,r=Array(t.size);return t.forEach(function(i){r[++e]=i}),r}Zee.exports=THe});var nte=E((Vpt,ete)=>{var tte=ac(),rte=kF(),MHe=Kg(),OHe=xF(),KHe=Xee(),UHe=$ee(),HHe=1,GHe=2,jHe="[object Boolean]",YHe="[object Date]",qHe="[object Error]",JHe="[object Map]",WHe="[object Number]",zHe="[object RegExp]",VHe="[object Set]",_He="[object String]",XHe="[object Symbol]",ZHe="[object ArrayBuffer]",$He="[object DataView]",ite=tte?tte.prototype:void 0,PF=ite?ite.valueOf:void 0;function eGe(t,e,r,i,n,s,o){switch(r){case $He:if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return!1;t=t.buffer,e=e.buffer;case ZHe:return!(t.byteLength!=e.byteLength||!s(new rte(t),new rte(e)));case jHe:case YHe:case WHe:return MHe(+t,+e);case qHe:return t.name==e.name&&t.message==e.message;case zHe:case _He:return t==e+"";case JHe:var a=KHe;case VHe:var l=i&HHe;if(a||(a=UHe),t.size!=e.size&&!l)return!1;var c=o.get(t);if(c)return c==e;i|=GHe,o.set(t,e);var u=OHe(a(t),a(e),i,n,s,o);return o.delete(t),u;case XHe:if(PF)return PF.call(t)==PF.call(e)}return!1}ete.exports=eGe});var DF=E((_pt,ste)=>{var tGe=$B(),rGe=As();function iGe(t,e,r){var i=e(t);return rGe(t)?i:tGe(i,r(t))}ste.exports=iGe});var ate=E((Xpt,ote)=>{function nGe(t,e){for(var r=-1,i=t==null?0:t.length,n=0,s=[];++r{function sGe(){return[]}Ate.exports=sGe});var f0=E(($pt,lte)=>{var oGe=ate(),aGe=RF(),AGe=Object.prototype,lGe=AGe.propertyIsEnumerable,cte=Object.getOwnPropertySymbols,cGe=cte?function(t){return t==null?[]:(t=Object(t),oGe(cte(t),function(e){return lGe.call(t,e)}))}:aGe;lte.exports=cGe});var FF=E((edt,ute)=>{var uGe=DF(),gGe=f0(),fGe=zg();function hGe(t){return uGe(t,fGe,gGe)}ute.exports=hGe});var hte=E((tdt,gte)=>{var fte=FF(),pGe=1,dGe=Object.prototype,CGe=dGe.hasOwnProperty;function mGe(t,e,r,i,n,s){var o=r&pGe,a=fte(t),l=a.length,c=fte(e),u=c.length;if(l!=u&&!o)return!1;for(var g=l;g--;){var f=a[g];if(!(o?f in e:CGe.call(e,f)))return!1}var h=s.get(t),p=s.get(e);if(h&&p)return h==e&&p==t;var d=!0;s.set(t,e),s.set(e,t);for(var m=o;++g{var EGe=UA(),IGe=Ks(),yGe=EGe(IGe,"DataView");pte.exports=yGe});var mte=E((idt,Cte)=>{var wGe=UA(),BGe=Ks(),QGe=wGe(BGe,"Promise");Cte.exports=QGe});var Ite=E((ndt,Ete)=>{var bGe=UA(),vGe=Ks(),SGe=bGe(vGe,"Set");Ete.exports=SGe});var wte=E((sdt,yte)=>{var xGe=UA(),kGe=Ks(),PGe=xGe(kGe,"WeakMap");yte.exports=PGe});var jd=E((odt,Bte)=>{var NF=dte(),LF=VB(),TF=mte(),MF=Ite(),OF=wte(),Qte=Ac(),_g=ZR(),bte="[object Map]",DGe="[object Object]",vte="[object Promise]",Ste="[object Set]",xte="[object WeakMap]",kte="[object DataView]",RGe=_g(NF),FGe=_g(LF),NGe=_g(TF),LGe=_g(MF),TGe=_g(OF),kc=Qte;(NF&&kc(new NF(new ArrayBuffer(1)))!=kte||LF&&kc(new LF)!=bte||TF&&kc(TF.resolve())!=vte||MF&&kc(new MF)!=Ste||OF&&kc(new OF)!=xte)&&(kc=function(t){var e=Qte(t),r=e==DGe?t.constructor:void 0,i=r?_g(r):"";if(i)switch(i){case RGe:return kte;case FGe:return bte;case NGe:return vte;case LGe:return Ste;case TGe:return xte}return e});Bte.exports=kc});var Mte=E((adt,Pte)=>{var KF=Gd(),MGe=xF(),OGe=nte(),KGe=hte(),Dte=jd(),Rte=As(),Fte=Od(),UGe=c0(),HGe=1,Nte="[object Arguments]",Lte="[object Array]",h0="[object Object]",GGe=Object.prototype,Tte=GGe.hasOwnProperty;function jGe(t,e,r,i,n,s){var o=Rte(t),a=Rte(e),l=o?Lte:Dte(t),c=a?Lte:Dte(e);l=l==Nte?h0:l,c=c==Nte?h0:c;var u=l==h0,g=c==h0,f=l==c;if(f&&Fte(t)){if(!Fte(e))return!1;o=!0,u=!1}if(f&&!u)return s||(s=new KF),o||UGe(t)?MGe(t,e,r,i,n,s):OGe(t,e,l,r,i,n,s);if(!(r&HGe)){var h=u&&Tte.call(t,"__wrapped__"),p=g&&Tte.call(e,"__wrapped__");if(h||p){var d=h?t.value():t,m=p?e.value():e;return s||(s=new KF),n(d,m,r,i,s)}}return f?(s||(s=new KF),KGe(t,e,r,i,n,s)):!1}Pte.exports=jGe});var UF=E((Adt,Ote)=>{var YGe=Mte(),Kte=Qo();function Ute(t,e,r,i,n){return t===e?!0:t==null||e==null||!Kte(t)&&!Kte(e)?t!==t&&e!==e:YGe(t,e,r,i,Ute,n)}Ote.exports=Ute});var Gte=E((ldt,Hte)=>{var qGe=Gd(),JGe=UF(),WGe=1,zGe=2;function VGe(t,e,r,i){var n=r.length,s=n,o=!i;if(t==null)return!s;for(t=Object(t);n--;){var a=r[n];if(o&&a[2]?a[1]!==t[a[0]]:!(a[0]in t))return!1}for(;++n{var _Ge=Gs();function XGe(t){return t===t&&!_Ge(t)}jte.exports=XGe});var qte=E((udt,Yte)=>{var ZGe=HF(),$Ge=zg();function eje(t){for(var e=$Ge(t),r=e.length;r--;){var i=e[r],n=t[i];e[r]=[i,n,ZGe(n)]}return e}Yte.exports=eje});var GF=E((gdt,Jte)=>{function tje(t,e){return function(r){return r==null?!1:r[t]===e&&(e!==void 0||t in Object(r))}}Jte.exports=tje});var zte=E((fdt,Wte)=>{var rje=Gte(),ije=qte(),nje=GF();function sje(t){var e=ije(t);return e.length==1&&e[0][2]?nje(e[0][0],e[0][1]):function(r){return r===t||rje(r,t,e)}}Wte.exports=sje});var p0=E((hdt,Vte)=>{var oje=xd();function aje(t,e,r){var i=t==null?void 0:oje(t,e);return i===void 0?r:i}Vte.exports=aje});var Xte=E((pdt,_te)=>{var Aje=UF(),lje=p0(),cje=iF(),uje=WB(),gje=HF(),fje=GF(),hje=Sc(),pje=1,dje=2;function Cje(t,e){return uje(t)&&gje(e)?fje(hje(t),e):function(r){var i=lje(r,t);return i===void 0&&i===e?cje(r,t):Aje(e,i,pje|dje)}}_te.exports=Cje});var $te=E((ddt,Zte)=>{function mje(t){return function(e){return e==null?void 0:e[t]}}Zte.exports=mje});var tre=E((Cdt,ere)=>{var Eje=xd();function Ije(t){return function(e){return Eje(e,t)}}ere.exports=Ije});var ire=E((mdt,rre)=>{var yje=$te(),wje=tre(),Bje=WB(),Qje=Sc();function bje(t){return Bje(t)?yje(Qje(t)):wje(t)}rre.exports=bje});var jF=E((Edt,nre)=>{var vje=zte(),Sje=Xte(),xje=e0(),kje=As(),Pje=ire();function Dje(t){return typeof t=="function"?t:t==null?xje:typeof t=="object"?kje(t)?Sje(t[0],t[1]):vje(t):Pje(t)}nre.exports=Dje});var YF=E((Idt,sre)=>{var Rje=jg(),Fje=SF(),Nje=jF();function Lje(t,e){var r={};return e=Nje(e,3),Fje(t,function(i,n,s){Rje(r,n,e(i,n,s))}),r}sre.exports=Lje});var Yd=E((ydt,ore)=>{"use strict";function Pc(t){this._maxSize=t,this.clear()}Pc.prototype.clear=function(){this._size=0,this._values=Object.create(null)};Pc.prototype.get=function(t){return this._values[t]};Pc.prototype.set=function(t,e){return this._size>=this._maxSize&&this.clear(),t in this._values||this._size++,this._values[t]=e};var Tje=/[^.^\]^[]+|(?=\[\]|\.\.)/g,are=/^\d+$/,Mje=/^\d/,Oje=/[~`!#$%\^&*+=\-\[\]\\';,/{}|\\":<>\?]/g,Kje=/^\s*(['"]?)(.*?)(\1)\s*$/,qF=512,Are=new Pc(qF),lre=new Pc(qF),cre=new Pc(qF);ore.exports={Cache:Pc,split:WF,normalizePath:JF,setter:function(t){var e=JF(t);return lre.get(t)||lre.set(t,function(i,n){for(var s=0,o=e.length,a=i;s{"use strict";Object.defineProperty(qd,"__esModule",{value:!0});qd.create=Yje;qd.default=void 0;var qje=Yd(),d0={context:"$",value:"."};function Yje(t,e){return new C0(t,e)}var C0=class{constructor(e,r={}){if(typeof e!="string")throw new TypeError("ref must be a string, got: "+e);if(this.key=e.trim(),e==="")throw new TypeError("ref must be a non-empty string");this.isContext=this.key[0]===d0.context,this.isValue=this.key[0]===d0.value,this.isSibling=!this.isContext&&!this.isValue;let i=this.isContext?d0.context:this.isValue?d0.value:"";this.path=this.key.slice(i.length),this.getter=this.path&&(0,qje.getter)(this.path,!0),this.map=r.map}getValue(e,r,i){let n=this.isContext?i:this.isValue?e:r;return this.getter&&(n=this.getter(n||{})),this.map&&(n=this.map(n)),n}cast(e,r){return this.getValue(e,r==null?void 0:r.parent,r==null?void 0:r.context)}resolve(){return this}describe(){return{type:"ref",key:this.key}}toString(){return`Ref(${this.key})`}static isRef(e){return e&&e.__isYupRef}};qd.default=C0;C0.prototype.__isYupRef=!0});var ure=E(VF=>{"use strict";Object.defineProperty(VF,"__esModule",{value:!0});VF.default=Jje;var Wje=_F(YF()),m0=_F(xc()),zje=_F(Dc());function _F(t){return t&&t.__esModule?t:{default:t}}function E0(){return E0=Object.assign||function(t){for(var e=1;e=0)&&(r[n]=t[n]);return r}function Jje(t){function e(r,i){let{value:n,path:s="",label:o,options:a,originalValue:l,sync:c}=r,u=Vje(r,["value","path","label","options","originalValue","sync"]),{name:g,test:f,params:h,message:p}=t,{parent:d,context:m}=a;function I(L){return zje.default.isRef(L)?L.getValue(n,d,m):L}function B(L={}){let K=(0,Wje.default)(E0({value:n,originalValue:l,label:o,path:L.path||s},h,L.params),I),J=new m0.default(m0.default.formatError(L.message||p,K),n,K.path,L.type||g);return J.params=K,J}let b=E0({path:s,parent:d,type:g,createError:B,resolve:I,options:a,originalValue:l},u);if(!c){try{Promise.resolve(f.call(b,n,b)).then(L=>{m0.default.isError(L)?i(L):L?i(null,L):i(B())})}catch(L){i(L)}return}let R;try{var H;if(R=f.call(b,n,b),typeof((H=R)==null?void 0:H.then)=="function")throw new Error(`Validation test of type: "${b.type}" returned a Promise during a synchronous validate. This test will finish after the validate call has returned`)}catch(L){i(L);return}m0.default.isError(R)?i(R):R?i(null,R):i(B())}return e.OPTIONS=t,e}});var XF=E(Jd=>{"use strict";Object.defineProperty(Jd,"__esModule",{value:!0});Jd.getIn=gre;Jd.default=void 0;var _je=Yd(),Xje=t=>t.substr(0,t.length-1).substr(1);function gre(t,e,r,i=r){let n,s,o;return e?((0,_je.forEach)(e,(a,l,c)=>{let u=l?Xje(a):a;if(t=t.resolve({context:i,parent:n,value:r}),t.innerType){let g=c?parseInt(u,10):0;if(r&&g>=r.length)throw new Error(`Yup.reach cannot resolve an array item at index: ${a}, in the path: ${e}. because there is no value at that index. `);n=r,r=r&&r[g],t=t.innerType}if(!c){if(!t.fields||!t.fields[u])throw new Error(`The schema does not contain the path: ${e}. (failed at: ${o} which is a type: "${t._type}")`);n=r,r=r&&r[u],t=t.fields[u]}s=u,o=l?"["+a+"]":"."+a}),{schema:t,parent:n,parentPath:s}):{parent:n,parentPath:e,schema:t}}var Zje=(t,e,r,i)=>gre(t,e,r,i).schema,$je=Zje;Jd.default=$je});var hre=E(I0=>{"use strict";Object.defineProperty(I0,"__esModule",{value:!0});I0.default=void 0;var fre=eYe(Dc());function eYe(t){return t&&t.__esModule?t:{default:t}}var y0=class{constructor(){this.list=new Set,this.refs=new Map}get size(){return this.list.size+this.refs.size}describe(){let e=[];for(let r of this.list)e.push(r);for(let[,r]of this.refs)e.push(r.describe());return e}toArray(){return Array.from(this.list).concat(Array.from(this.refs.values()))}add(e){fre.default.isRef(e)?this.refs.set(e.key,e):this.list.add(e)}delete(e){fre.default.isRef(e)?this.refs.delete(e.key):this.list.delete(e)}has(e,r){if(this.list.has(e))return!0;let i,n=this.refs.values();for(;i=n.next(),!i.done;)if(r(i.value)===e)return!0;return!1}clone(){let e=new y0;return e.list=new Set(this.list),e.refs=new Map(this.refs),e}merge(e,r){let i=this.clone();return e.list.forEach(n=>i.add(n)),e.refs.forEach(n=>i.add(n)),r.list.forEach(n=>i.delete(n)),r.refs.forEach(n=>i.delete(n)),i}};I0.default=y0});var Ma=E(w0=>{"use strict";Object.defineProperty(w0,"__esModule",{value:!0});w0.default=void 0;var pre=Ta(M$()),Xg=La(),tYe=Ta(Z$()),dre=Ta(a0()),B0=Ta(ure()),Cre=Ta(Nd()),rYe=Ta(Dc()),iYe=XF(),nYe=Ta(EF()),mre=Ta(xc()),Ere=Ta(hre());function Ta(t){return t&&t.__esModule?t:{default:t}}function ds(){return ds=Object.assign||function(t){for(var e=1;e{this.typeError(Xg.mixed.notType)}),this.type=(e==null?void 0:e.type)||"mixed",this.spec=ds({strip:!1,strict:!1,abortEarly:!0,recursive:!0,nullable:!1,presence:"optional"},e==null?void 0:e.spec)}get _type(){return this.type}_typeCheck(e){return!0}clone(e){if(this._mutate)return e&&Object.assign(this.spec,e),this;let r=Object.create(Object.getPrototypeOf(this));return r.type=this.type,r._typeError=this._typeError,r._whitelistError=this._whitelistError,r._blacklistError=this._blacklistError,r._whitelist=this._whitelist.clone(),r._blacklist=this._blacklist.clone(),r.exclusiveTests=ds({},this.exclusiveTests),r.deps=[...this.deps],r.conditions=[...this.conditions],r.tests=[...this.tests],r.transforms=[...this.transforms],r.spec=(0,pre.default)(ds({},this.spec,e)),r}label(e){var r=this.clone();return r.spec.label=e,r}meta(...e){if(e.length===0)return this.spec.meta;let r=this.clone();return r.spec.meta=Object.assign(r.spec.meta||{},e[0]),r}withMutation(e){let r=this._mutate;this._mutate=!0;let i=e(this);return this._mutate=r,i}concat(e){if(!e||e===this)return this;if(e.type!==this.type&&this.type!=="mixed")throw new TypeError(`You cannot \`concat()\` schema's of different types: ${this.type} and ${e.type}`);let r=this,i=e.clone(),n=ds({},r.spec,i.spec);return i.spec=n,i._typeError||(i._typeError=r._typeError),i._whitelistError||(i._whitelistError=r._whitelistError),i._blacklistError||(i._blacklistError=r._blacklistError),i._whitelist=r._whitelist.merge(e._whitelist,e._blacklist),i._blacklist=r._blacklist.merge(e._blacklist,e._whitelist),i.tests=r.tests,i.exclusiveTests=r.exclusiveTests,i.withMutation(s=>{e.tests.forEach(o=>{s.test(o.OPTIONS)})}),i}isType(e){return this.spec.nullable&&e===null?!0:this._typeCheck(e)}resolve(e){let r=this;if(r.conditions.length){let i=r.conditions;r=r.clone(),r.conditions=[],r=i.reduce((n,s)=>s.resolve(n,e),r),r=r.resolve(e)}return r}cast(e,r={}){let i=this.resolve(ds({value:e},r)),n=i._cast(e,r);if(e!==void 0&&r.assert!==!1&&i.isType(n)!==!0){let s=(0,Cre.default)(e),o=(0,Cre.default)(n);throw new TypeError(`The value of ${r.path||"field"} could not be cast to a value that satisfies the schema type: "${i._type}". + +attempted value: ${s} +`+(o!==s?`result of cast: ${o}`:""))}return n}_cast(e,r){let i=e===void 0?e:this.transforms.reduce((n,s)=>s.call(this,n,e,this),e);return i===void 0&&(i=this.getDefault()),i}_validate(e,r={},i){let{sync:n,path:s,from:o=[],originalValue:a=e,strict:l=this.spec.strict,abortEarly:c=this.spec.abortEarly}=r,u=e;l||(u=this._cast(u,ds({assert:!1},r)));let g={value:u,path:s,options:r,originalValue:a,schema:this,label:this.spec.label,sync:n,from:o},f=[];this._typeError&&f.push(this._typeError),this._whitelistError&&f.push(this._whitelistError),this._blacklistError&&f.push(this._blacklistError),(0,dre.default)({args:g,value:u,path:s,sync:n,tests:f,endEarly:c},h=>{if(h)return void i(h,u);(0,dre.default)({tests:this.tests,args:g,path:s,sync:n,value:u,endEarly:c},i)})}validate(e,r,i){let n=this.resolve(ds({},r,{value:e}));return typeof i=="function"?n._validate(e,r,i):new Promise((s,o)=>n._validate(e,r,(a,l)=>{a?o(a):s(l)}))}validateSync(e,r){let i=this.resolve(ds({},r,{value:e})),n;return i._validate(e,ds({},r,{sync:!0}),(s,o)=>{if(s)throw s;n=o}),n}isValid(e,r){return this.validate(e,r).then(()=>!0,i=>{if(mre.default.isError(i))return!1;throw i})}isValidSync(e,r){try{return this.validateSync(e,r),!0}catch(i){if(mre.default.isError(i))return!1;throw i}}_getDefault(){let e=this.spec.default;return e==null?e:typeof e=="function"?e.call(this):(0,pre.default)(e)}getDefault(e){return this.resolve(e||{})._getDefault()}default(e){return arguments.length===0?this._getDefault():this.clone({default:e})}strict(e=!0){var r=this.clone();return r.spec.strict=e,r}_isPresent(e){return e!=null}defined(e=Xg.mixed.defined){return this.test({message:e,name:"defined",exclusive:!0,test(r){return r!==void 0}})}required(e=Xg.mixed.required){return this.clone({presence:"required"}).withMutation(r=>r.test({message:e,name:"required",exclusive:!0,test(i){return this.schema._isPresent(i)}}))}notRequired(){var e=this.clone({presence:"optional"});return e.tests=e.tests.filter(r=>r.OPTIONS.name!=="required"),e}nullable(e=!0){var r=this.clone({nullable:e!==!1});return r}transform(e){var r=this.clone();return r.transforms.push(e),r}test(...e){let r;if(e.length===1?typeof e[0]=="function"?r={test:e[0]}:r=e[0]:e.length===2?r={name:e[0],test:e[1]}:r={name:e[0],message:e[1],test:e[2]},r.message===void 0&&(r.message=Xg.mixed.default),typeof r.test!="function")throw new TypeError("`test` is a required parameters");let i=this.clone(),n=(0,B0.default)(r),s=r.exclusive||r.name&&i.exclusiveTests[r.name]===!0;if(r.exclusive&&!r.name)throw new TypeError("Exclusive tests must provide a unique `name` identifying the test");return r.name&&(i.exclusiveTests[r.name]=!!r.exclusive),i.tests=i.tests.filter(o=>!(o.OPTIONS.name===r.name&&(s||o.OPTIONS.test===n.OPTIONS.test))),i.tests.push(n),i}when(e,r){!Array.isArray(e)&&typeof e!="string"&&(r=e,e=".");let i=this.clone(),n=(0,nYe.default)(e).map(s=>new rYe.default(s));return n.forEach(s=>{s.isSibling&&i.deps.push(s.key)}),i.conditions.push(new tYe.default(n,r)),i}typeError(e){var r=this.clone();return r._typeError=(0,B0.default)({message:e,name:"typeError",test(i){return i!==void 0&&!this.schema.isType(i)?this.createError({params:{type:this.schema._type}}):!0}}),r}oneOf(e,r=Xg.mixed.oneOf){var i=this.clone();return e.forEach(n=>{i._whitelist.add(n),i._blacklist.delete(n)}),i._whitelistError=(0,B0.default)({message:r,name:"oneOf",test(n){if(n===void 0)return!0;let s=this.schema._whitelist;return s.has(n,this.resolve)?!0:this.createError({params:{values:s.toArray().join(", ")}})}}),i}notOneOf(e,r=Xg.mixed.notOneOf){var i=this.clone();return e.forEach(n=>{i._blacklist.add(n),i._whitelist.delete(n)}),i._blacklistError=(0,B0.default)({message:r,name:"notOneOf",test(n){let s=this.schema._blacklist;return s.has(n,this.resolve)?this.createError({params:{values:s.toArray().join(", ")}}):!0}}),i}strip(e=!0){let r=this.clone();return r.spec.strip=e,r}describe(){let e=this.clone(),{label:r,meta:i}=e.spec;return{meta:i,label:r,type:e.type,oneOf:e._whitelist.describe(),notOneOf:e._blacklist.describe(),tests:e.tests.map(s=>({name:s.OPTIONS.name,params:s.OPTIONS.params})).filter((s,o,a)=>a.findIndex(l=>l.name===s.name)===o)}}};w0.default=Do;Do.prototype.__isYupSchema__=!0;for(let t of["validate","validateSync"])Do.prototype[`${t}At`]=function(e,r,i={}){let{parent:n,parentPath:s,schema:o}=(0,iYe.getIn)(this,e,r,i.context);return o[t](n&&n[s],ds({},i,{parent:n,path:e}))};for(let t of["equals","is"])Do.prototype[t]=Do.prototype.oneOf;for(let t of["not","nope"])Do.prototype[t]=Do.prototype.notOneOf;Do.prototype.optional=Do.prototype.notRequired});var yre=E(Wd=>{"use strict";Object.defineProperty(Wd,"__esModule",{value:!0});Wd.create=Ire;Wd.default=void 0;var oYe=sYe(Ma());function sYe(t){return t&&t.__esModule?t:{default:t}}var ZF=oYe.default,aYe=ZF;Wd.default=aYe;function Ire(){return new ZF}Ire.prototype=ZF.prototype});var Zg=E(Q0=>{"use strict";Object.defineProperty(Q0,"__esModule",{value:!0});Q0.default=void 0;var AYe=t=>t==null;Q0.default=AYe});var vre=E(zd=>{"use strict";Object.defineProperty(zd,"__esModule",{value:!0});zd.create=wre;zd.default=void 0;var lYe=Bre(Ma()),Qre=La(),bre=Bre(Zg());function Bre(t){return t&&t.__esModule?t:{default:t}}function wre(){return new b0}var b0=class extends lYe.default{constructor(){super({type:"boolean"});this.withMutation(()=>{this.transform(function(e){if(!this.isType(e)){if(/^(true|1)$/i.test(String(e)))return!0;if(/^(false|0)$/i.test(String(e)))return!1}return e})})}_typeCheck(e){return e instanceof Boolean&&(e=e.valueOf()),typeof e=="boolean"}isTrue(e=Qre.boolean.isValue){return this.test({message:e,name:"is-value",exclusive:!0,params:{value:"true"},test(r){return(0,bre.default)(r)||r===!0}})}isFalse(e=Qre.boolean.isValue){return this.test({message:e,name:"is-value",exclusive:!0,params:{value:"false"},test(r){return(0,bre.default)(r)||r===!1}})}};zd.default=b0;wre.prototype=b0.prototype});var kre=E(Vd=>{"use strict";Object.defineProperty(Vd,"__esModule",{value:!0});Vd.create=Sre;Vd.default=void 0;var Ro=La(),Oa=xre(Zg()),cYe=xre(Ma());function xre(t){return t&&t.__esModule?t:{default:t}}var uYe=/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))$/i,gYe=/^((https?|ftp):)?\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i,fYe=/^(?:[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,hYe=t=>(0,Oa.default)(t)||t===t.trim(),pYe={}.toString();function Sre(){return new v0}var v0=class extends cYe.default{constructor(){super({type:"string"});this.withMutation(()=>{this.transform(function(e){if(this.isType(e)||Array.isArray(e))return e;let r=e!=null&&e.toString?e.toString():e;return r===pYe?e:r})})}_typeCheck(e){return e instanceof String&&(e=e.valueOf()),typeof e=="string"}_isPresent(e){return super._isPresent(e)&&!!e.length}length(e,r=Ro.string.length){return this.test({message:r,name:"length",exclusive:!0,params:{length:e},test(i){return(0,Oa.default)(i)||i.length===this.resolve(e)}})}min(e,r=Ro.string.min){return this.test({message:r,name:"min",exclusive:!0,params:{min:e},test(i){return(0,Oa.default)(i)||i.length>=this.resolve(e)}})}max(e,r=Ro.string.max){return this.test({name:"max",exclusive:!0,message:r,params:{max:e},test(i){return(0,Oa.default)(i)||i.length<=this.resolve(e)}})}matches(e,r){let i=!1,n,s;return r&&(typeof r=="object"?{excludeEmptyString:i=!1,message:n,name:s}=r:n=r),this.test({name:s||"matches",message:n||Ro.string.matches,params:{regex:e},test:o=>(0,Oa.default)(o)||o===""&&i||o.search(e)!==-1})}email(e=Ro.string.email){return this.matches(uYe,{name:"email",message:e,excludeEmptyString:!0})}url(e=Ro.string.url){return this.matches(gYe,{name:"url",message:e,excludeEmptyString:!0})}uuid(e=Ro.string.uuid){return this.matches(fYe,{name:"uuid",message:e,excludeEmptyString:!1})}ensure(){return this.default("").transform(e=>e===null?"":e)}trim(e=Ro.string.trim){return this.transform(r=>r!=null?r.trim():r).test({message:e,name:"trim",test:hYe})}lowercase(e=Ro.string.lowercase){return this.transform(r=>(0,Oa.default)(r)?r:r.toLowerCase()).test({message:e,name:"string_case",exclusive:!0,test:r=>(0,Oa.default)(r)||r===r.toLowerCase()})}uppercase(e=Ro.string.uppercase){return this.transform(r=>(0,Oa.default)(r)?r:r.toUpperCase()).test({message:e,name:"string_case",exclusive:!0,test:r=>(0,Oa.default)(r)||r===r.toUpperCase()})}};Vd.default=v0;Sre.prototype=v0.prototype});var Rre=E(_d=>{"use strict";Object.defineProperty(_d,"__esModule",{value:!0});_d.create=Pre;_d.default=void 0;var Rc=La(),Fc=Dre(Zg()),dYe=Dre(Ma());function Dre(t){return t&&t.__esModule?t:{default:t}}var CYe=t=>t!=+t;function Pre(){return new S0}var S0=class extends dYe.default{constructor(){super({type:"number"});this.withMutation(()=>{this.transform(function(e){let r=e;if(typeof r=="string"){if(r=r.replace(/\s/g,""),r==="")return NaN;r=+r}return this.isType(r)?r:parseFloat(r)})})}_typeCheck(e){return e instanceof Number&&(e=e.valueOf()),typeof e=="number"&&!CYe(e)}min(e,r=Rc.number.min){return this.test({message:r,name:"min",exclusive:!0,params:{min:e},test(i){return(0,Fc.default)(i)||i>=this.resolve(e)}})}max(e,r=Rc.number.max){return this.test({message:r,name:"max",exclusive:!0,params:{max:e},test(i){return(0,Fc.default)(i)||i<=this.resolve(e)}})}lessThan(e,r=Rc.number.lessThan){return this.test({message:r,name:"max",exclusive:!0,params:{less:e},test(i){return(0,Fc.default)(i)||ithis.resolve(e)}})}positive(e=Rc.number.positive){return this.moreThan(0,e)}negative(e=Rc.number.negative){return this.lessThan(0,e)}integer(e=Rc.number.integer){return this.test({name:"integer",message:e,test:r=>(0,Fc.default)(r)||Number.isInteger(r)})}truncate(){return this.transform(e=>(0,Fc.default)(e)?e:e|0)}round(e){var r,i=["ceil","floor","round","trunc"];if(e=((r=e)==null?void 0:r.toLowerCase())||"round",e==="trunc")return this.truncate();if(i.indexOf(e.toLowerCase())===-1)throw new TypeError("Only valid options for round() are: "+i.join(", "));return this.transform(n=>(0,Fc.default)(n)?n:Math[e](n))}};_d.default=S0;Pre.prototype=S0.prototype});var Fre=E($F=>{"use strict";Object.defineProperty($F,"__esModule",{value:!0});$F.default=mYe;var EYe=/^(\d{4}|[+\-]\d{6})(?:-?(\d{2})(?:-?(\d{2}))?)?(?:[ T]?(\d{2}):?(\d{2})(?::?(\d{2})(?:[,\.](\d{1,}))?)?(?:(Z)|([+\-])(\d{2})(?::?(\d{2}))?)?)?$/;function mYe(t){var e=[1,4,5,6,7,10,11],r=0,i,n;if(n=EYe.exec(t)){for(var s=0,o;o=e[s];++s)n[o]=+n[o]||0;n[2]=(+n[2]||1)-1,n[3]=+n[3]||1,n[7]=n[7]?String(n[7]).substr(0,3):0,(n[8]===void 0||n[8]==="")&&(n[9]===void 0||n[9]==="")?i=+new Date(n[1],n[2],n[3],n[4],n[5],n[6],n[7]):(n[8]!=="Z"&&n[9]!==void 0&&(r=n[10]*60+n[11],n[9]==="+"&&(r=0-r)),i=Date.UTC(n[1],n[2],n[3],n[4],n[5]+r,n[6],n[7]))}else i=Date.parse?Date.parse(t):NaN;return i}});var Tre=E(Xd=>{"use strict";Object.defineProperty(Xd,"__esModule",{value:!0});Xd.create=eN;Xd.default=void 0;var IYe=x0(Fre()),Nre=La(),Lre=x0(Zg()),yYe=x0(Dc()),wYe=x0(Ma());function x0(t){return t&&t.__esModule?t:{default:t}}var tN=new Date(""),BYe=t=>Object.prototype.toString.call(t)==="[object Date]";function eN(){return new Zd}var Zd=class extends wYe.default{constructor(){super({type:"date"});this.withMutation(()=>{this.transform(function(e){return this.isType(e)?e:(e=(0,IYe.default)(e),isNaN(e)?tN:new Date(e))})})}_typeCheck(e){return BYe(e)&&!isNaN(e.getTime())}prepareParam(e,r){let i;if(yYe.default.isRef(e))i=e;else{let n=this.cast(e);if(!this._typeCheck(n))throw new TypeError(`\`${r}\` must be a Date or a value that can be \`cast()\` to a Date`);i=n}return i}min(e,r=Nre.date.min){let i=this.prepareParam(e,"min");return this.test({message:r,name:"min",exclusive:!0,params:{min:e},test(n){return(0,Lre.default)(n)||n>=this.resolve(i)}})}max(e,r=Nre.date.max){var i=this.prepareParam(e,"max");return this.test({message:r,name:"max",exclusive:!0,params:{max:e},test(n){return(0,Lre.default)(n)||n<=this.resolve(i)}})}};Xd.default=Zd;Zd.INVALID_DATE=tN;eN.prototype=Zd.prototype;eN.INVALID_DATE=tN});var Ore=E((Ndt,Mre)=>{function QYe(t,e,r,i){var n=-1,s=t==null?0:t.length;for(i&&s&&(r=t[++n]);++n{function bYe(t){return function(e){return t==null?void 0:t[e]}}Kre.exports=bYe});var Gre=E((Tdt,Hre)=>{var vYe=Ure(),SYe={\u00C0:"A",\u00C1:"A",\u00C2:"A",\u00C3:"A",\u00C4:"A",\u00C5:"A",\u00E0:"a",\u00E1:"a",\u00E2:"a",\u00E3:"a",\u00E4:"a",\u00E5:"a",\u00C7:"C",\u00E7:"c",\u00D0:"D",\u00F0:"d",\u00C8:"E",\u00C9:"E",\u00CA:"E",\u00CB:"E",\u00E8:"e",\u00E9:"e",\u00EA:"e",\u00EB:"e",\u00CC:"I",\u00CD:"I",\u00CE:"I",\u00CF:"I",\u00EC:"i",\u00ED:"i",\u00EE:"i",\u00EF:"i",\u00D1:"N",\u00F1:"n",\u00D2:"O",\u00D3:"O",\u00D4:"O",\u00D5:"O",\u00D6:"O",\u00D8:"O",\u00F2:"o",\u00F3:"o",\u00F4:"o",\u00F5:"o",\u00F6:"o",\u00F8:"o",\u00D9:"U",\u00DA:"U",\u00DB:"U",\u00DC:"U",\u00F9:"u",\u00FA:"u",\u00FB:"u",\u00FC:"u",\u00DD:"Y",\u00FD:"y",\u00FF:"y",\u00C6:"Ae",\u00E6:"ae",\u00DE:"Th",\u00FE:"th",\u00DF:"ss",\u0100:"A",\u0102:"A",\u0104:"A",\u0101:"a",\u0103:"a",\u0105:"a",\u0106:"C",\u0108:"C",\u010A:"C",\u010C:"C",\u0107:"c",\u0109:"c",\u010B:"c",\u010D:"c",\u010E:"D",\u0110:"D",\u010F:"d",\u0111:"d",\u0112:"E",\u0114:"E",\u0116:"E",\u0118:"E",\u011A:"E",\u0113:"e",\u0115:"e",\u0117:"e",\u0119:"e",\u011B:"e",\u011C:"G",\u011E:"G",\u0120:"G",\u0122:"G",\u011D:"g",\u011F:"g",\u0121:"g",\u0123:"g",\u0124:"H",\u0126:"H",\u0125:"h",\u0127:"h",\u0128:"I",\u012A:"I",\u012C:"I",\u012E:"I",\u0130:"I",\u0129:"i",\u012B:"i",\u012D:"i",\u012F:"i",\u0131:"i",\u0134:"J",\u0135:"j",\u0136:"K",\u0137:"k",\u0138:"k",\u0139:"L",\u013B:"L",\u013D:"L",\u013F:"L",\u0141:"L",\u013A:"l",\u013C:"l",\u013E:"l",\u0140:"l",\u0142:"l",\u0143:"N",\u0145:"N",\u0147:"N",\u014A:"N",\u0144:"n",\u0146:"n",\u0148:"n",\u014B:"n",\u014C:"O",\u014E:"O",\u0150:"O",\u014D:"o",\u014F:"o",\u0151:"o",\u0154:"R",\u0156:"R",\u0158:"R",\u0155:"r",\u0157:"r",\u0159:"r",\u015A:"S",\u015C:"S",\u015E:"S",\u0160:"S",\u015B:"s",\u015D:"s",\u015F:"s",\u0161:"s",\u0162:"T",\u0164:"T",\u0166:"T",\u0163:"t",\u0165:"t",\u0167:"t",\u0168:"U",\u016A:"U",\u016C:"U",\u016E:"U",\u0170:"U",\u0172:"U",\u0169:"u",\u016B:"u",\u016D:"u",\u016F:"u",\u0171:"u",\u0173:"u",\u0174:"W",\u0175:"w",\u0176:"Y",\u0177:"y",\u0178:"Y",\u0179:"Z",\u017B:"Z",\u017D:"Z",\u017A:"z",\u017C:"z",\u017E:"z",\u0132:"IJ",\u0133:"ij",\u0152:"Oe",\u0153:"oe",\u0149:"'n",\u017F:"s"},xYe=vYe(SYe);Hre.exports=xYe});var Yre=E((Mdt,jre)=>{var kYe=Gre(),PYe=gg(),DYe=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,RYe="\\u0300-\\u036f",FYe="\\ufe20-\\ufe2f",NYe="\\u20d0-\\u20ff",LYe=RYe+FYe+NYe,TYe="["+LYe+"]",MYe=RegExp(TYe,"g");function OYe(t){return t=PYe(t),t&&t.replace(DYe,kYe).replace(MYe,"")}jre.exports=OYe});var Jre=E((Odt,qre)=>{var KYe=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g;function UYe(t){return t.match(KYe)||[]}qre.exports=UYe});var zre=E((Kdt,Wre)=>{var HYe=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;function GYe(t){return HYe.test(t)}Wre.exports=GYe});var fie=E((Udt,Vre)=>{var _re="\\ud800-\\udfff",jYe="\\u0300-\\u036f",YYe="\\ufe20-\\ufe2f",qYe="\\u20d0-\\u20ff",JYe=jYe+YYe+qYe,Xre="\\u2700-\\u27bf",Zre="a-z\\xdf-\\xf6\\xf8-\\xff",WYe="\\xac\\xb1\\xd7\\xf7",zYe="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",VYe="\\u2000-\\u206f",_Ye=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",$re="A-Z\\xc0-\\xd6\\xd8-\\xde",XYe="\\ufe0e\\ufe0f",eie=WYe+zYe+VYe+_Ye,tie="['\u2019]",rie="["+eie+"]",ZYe="["+JYe+"]",iie="\\d+",$Ye="["+Xre+"]",nie="["+Zre+"]",sie="[^"+_re+eie+iie+Xre+Zre+$re+"]",eqe="\\ud83c[\\udffb-\\udfff]",tqe="(?:"+ZYe+"|"+eqe+")",rqe="[^"+_re+"]",oie="(?:\\ud83c[\\udde6-\\uddff]){2}",aie="[\\ud800-\\udbff][\\udc00-\\udfff]",$g="["+$re+"]",iqe="\\u200d",Aie="(?:"+nie+"|"+sie+")",nqe="(?:"+$g+"|"+sie+")",lie="(?:"+tie+"(?:d|ll|m|re|s|t|ve))?",cie="(?:"+tie+"(?:D|LL|M|RE|S|T|VE))?",uie=tqe+"?",gie="["+XYe+"]?",sqe="(?:"+iqe+"(?:"+[rqe,oie,aie].join("|")+")"+gie+uie+")*",oqe="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",aqe="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",Aqe=gie+uie+sqe,lqe="(?:"+[$Ye,oie,aie].join("|")+")"+Aqe,cqe=RegExp([$g+"?"+nie+"+"+lie+"(?="+[rie,$g,"$"].join("|")+")",nqe+"+"+cie+"(?="+[rie,$g+Aie,"$"].join("|")+")",$g+"?"+Aie+"+"+lie,$g+"+"+cie,aqe,oqe,iie,lqe].join("|"),"g");function uqe(t){return t.match(cqe)||[]}Vre.exports=uqe});var pie=E((Hdt,hie)=>{var gqe=Jre(),fqe=zre(),hqe=gg(),pqe=fie();function dqe(t,e,r){return t=hqe(t),e=r?void 0:e,e===void 0?fqe(t)?pqe(t):gqe(t):t.match(e)||[]}hie.exports=dqe});var rN=E((Gdt,die)=>{var Cqe=Ore(),mqe=Yre(),Eqe=pie(),Iqe="['\u2019]",yqe=RegExp(Iqe,"g");function wqe(t){return function(e){return Cqe(Eqe(mqe(e).replace(yqe,"")),t,"")}}die.exports=wqe});var mie=E((jdt,Cie)=>{var Bqe=rN(),Qqe=Bqe(function(t,e,r){return t+(r?"_":"")+e.toLowerCase()});Cie.exports=Qqe});var Iie=E((Ydt,Eie)=>{var bqe=ZP(),vqe=rN(),Sqe=vqe(function(t,e,r){return e=e.toLowerCase(),t+(r?bqe(e):e)});Eie.exports=Sqe});var wie=E((qdt,yie)=>{var xqe=jg(),kqe=SF(),Pqe=jF();function Dqe(t,e){var r={};return e=Pqe(e,3),kqe(t,function(i,n,s){xqe(r,e(i,n,s),i)}),r}yie.exports=Dqe});var Qie=E((Jdt,iN)=>{iN.exports=function(t){return Bie(Rqe(t),t)};iN.exports.array=Bie;function Bie(t,e){var r=t.length,i=new Array(r),n={},s=r,o=Fqe(e),a=Nqe(t);for(e.forEach(function(c){if(!a.has(c[0])||!a.has(c[1]))throw new Error("Unknown node. There is an unknown node in the supplied edges.")});s--;)n[s]||l(t[s],s,new Set);return i;function l(c,u,g){if(g.has(c)){var f;try{f=", node was:"+JSON.stringify(c)}catch(d){f=""}throw new Error("Cyclic dependency"+f)}if(!a.has(c))throw new Error("Found unknown node. Make sure to provided all involved nodes. Unknown node: "+JSON.stringify(c));if(!n[u]){n[u]=!0;var h=o.get(c)||new Set;if(h=Array.from(h),u=h.length){g.add(c);do{var p=h[--u];l(p,a.get(p),g)}while(u);g.delete(c)}i[--r]=c}}}function Rqe(t){for(var e=new Set,r=0,i=t.length;r{"use strict";Object.defineProperty(nN,"__esModule",{value:!0});nN.default=Lqe;var Tqe=k0(Ld()),Mqe=k0(Qie()),Oqe=Yd(),Kqe=k0(Dc()),Uqe=k0(qg());function k0(t){return t&&t.__esModule?t:{default:t}}function Lqe(t,e=[]){let r=[],i=[];function n(s,o){var a=(0,Oqe.split)(s)[0];~i.indexOf(a)||i.push(a),~e.indexOf(`${o}-${a}`)||r.push([o,a])}for(let s in t)if((0,Tqe.default)(t,s)){let o=t[s];~i.indexOf(s)||i.push(s),Kqe.default.isRef(o)&&o.isSibling?n(o.path,s):(0,Uqe.default)(o)&&"deps"in o&&o.deps.forEach(a=>n(a,s))}return Mqe.default.array(i,r).reverse()}});var Sie=E(sN=>{"use strict";Object.defineProperty(sN,"__esModule",{value:!0});sN.default=Hqe;function vie(t,e){let r=Infinity;return t.some((i,n)=>{var s;if(((s=e.path)==null?void 0:s.indexOf(i))!==-1)return r=n,!0}),r}function Hqe(t){return(e,r)=>vie(t,e)-vie(t,r)}});var Nie=E($d=>{"use strict";Object.defineProperty($d,"__esModule",{value:!0});$d.create=xie;$d.default=void 0;var kie=Fo(Ld()),Pie=Fo(mie()),Gqe=Fo(Iie()),jqe=Fo(wie()),Yqe=Fo(YF()),qqe=Yd(),Die=La(),Jqe=Fo(bie()),Rie=Fo(Sie()),Wqe=Fo(a0()),zqe=Fo(xc()),oN=Fo(Ma());function Fo(t){return t&&t.__esModule?t:{default:t}}function ef(){return ef=Object.assign||function(t){for(var e=1;eObject.prototype.toString.call(t)==="[object Object]";function Vqe(t,e){let r=Object.keys(t.fields);return Object.keys(e).filter(i=>r.indexOf(i)===-1)}var _qe=(0,Rie.default)([]),P0=class extends oN.default{constructor(e){super({type:"object"});this.fields=Object.create(null),this._sortErrors=_qe,this._nodes=[],this._excludedEdges=[],this.withMutation(()=>{this.transform(function(i){if(typeof i=="string")try{i=JSON.parse(i)}catch(n){i=null}return this.isType(i)?i:null}),e&&this.shape(e)})}_typeCheck(e){return Fie(e)||typeof e=="function"}_cast(e,r={}){var i;let n=super._cast(e,r);if(n===void 0)return this.getDefault();if(!this._typeCheck(n))return n;let s=this.fields,o=(i=r.stripUnknown)!=null?i:this.spec.noUnknown,a=this._nodes.concat(Object.keys(n).filter(g=>this._nodes.indexOf(g)===-1)),l={},c=ef({},r,{parent:l,__validating:r.__validating||!1}),u=!1;for(let g of a){let f=s[g],h=(0,kie.default)(n,g);if(f){let p,d=n[g];c.path=(r.path?`${r.path}.`:"")+g,f=f.resolve({value:d,context:r.context,parent:l});let m="spec"in f?f.spec:void 0,I=m==null?void 0:m.strict;if(m==null?void 0:m.strip){u=u||g in n;continue}p=!r.__validating||!I?f.cast(n[g],c):n[g],p!==void 0&&(l[g]=p)}else h&&!o&&(l[g]=n[g]);l[g]!==n[g]&&(u=!0)}return u?l:n}_validate(e,r={},i){let n=[],{sync:s,from:o=[],originalValue:a=e,abortEarly:l=this.spec.abortEarly,recursive:c=this.spec.recursive}=r;o=[{schema:this,value:a},...o],r.__validating=!0,r.originalValue=a,r.from=o,super._validate(e,r,(u,g)=>{if(u){if(!zqe.default.isError(u)||l)return void i(u,g);n.push(u)}if(!c||!Fie(g)){i(n[0]||null,g);return}a=a||g;let f=this._nodes.map(h=>(p,d)=>{let m=h.indexOf(".")===-1?(r.path?`${r.path}.`:"")+h:`${r.path||""}["${h}"]`,I=this.fields[h];if(I&&"validate"in I){I.validate(g[h],ef({},r,{path:m,from:o,strict:!0,parent:g,originalValue:a[h]}),d);return}d(null)});(0,Wqe.default)({sync:s,tests:f,value:g,errors:n,endEarly:l,sort:this._sortErrors,path:r.path},i)})}clone(e){let r=super.clone(e);return r.fields=ef({},this.fields),r._nodes=this._nodes,r._excludedEdges=this._excludedEdges,r._sortErrors=this._sortErrors,r}concat(e){let r=super.concat(e),i=r.fields;for(let[n,s]of Object.entries(this.fields)){let o=i[n];o===void 0?i[n]=s:o instanceof oN.default&&s instanceof oN.default&&(i[n]=s.concat(o))}return r.withMutation(()=>r.shape(i))}getDefaultFromShape(){let e={};return this._nodes.forEach(r=>{let i=this.fields[r];e[r]="default"in i?i.getDefault():void 0}),e}_getDefault(){if("default"in this.spec)return super._getDefault();if(!!this._nodes.length)return this.getDefaultFromShape()}shape(e,r=[]){let i=this.clone(),n=Object.assign(i.fields,e);if(i.fields=n,i._sortErrors=(0,Rie.default)(Object.keys(n)),r.length){Array.isArray(r[0])||(r=[r]);let s=r.map(([o,a])=>`${o}-${a}`);i._excludedEdges=i._excludedEdges.concat(s)}return i._nodes=(0,Jqe.default)(n,i._excludedEdges),i}pick(e){let r={};for(let i of e)this.fields[i]&&(r[i]=this.fields[i]);return this.clone().withMutation(i=>(i.fields={},i.shape(r)))}omit(e){let r=this.clone(),i=r.fields;r.fields={};for(let n of e)delete i[n];return r.withMutation(()=>r.shape(i))}from(e,r,i){let n=(0,qqe.getter)(e,!0);return this.transform(s=>{if(s==null)return s;let o=s;return(0,kie.default)(s,e)&&(o=ef({},s),i||delete o[e],o[r]=n(s)),o})}noUnknown(e=!0,r=Die.object.noUnknown){typeof e=="string"&&(r=e,e=!0);let i=this.test({name:"noUnknown",exclusive:!0,message:r,test(n){if(n==null)return!0;let s=Vqe(this.schema,n);return!e||s.length===0||this.createError({params:{unknown:s.join(", ")}})}});return i.spec.noUnknown=e,i}unknown(e=!0,r=Die.object.noUnknown){return this.noUnknown(!e,r)}transformKeys(e){return this.transform(r=>r&&(0,jqe.default)(r,(i,n)=>e(n)))}camelCase(){return this.transformKeys(Gqe.default)}snakeCase(){return this.transformKeys(Pie.default)}constantCase(){return this.transformKeys(e=>(0,Pie.default)(e).toUpperCase())}describe(){let e=super.describe();return e.fields=(0,Yqe.default)(this.fields,r=>r.describe()),e}};$d.default=P0;function xie(t){return new P0(t)}xie.prototype=P0.prototype});var Tie=E(eC=>{"use strict";Object.defineProperty(eC,"__esModule",{value:!0});eC.create=Lie;eC.default=void 0;var aN=tf(Zg()),Xqe=tf(qg()),Zqe=tf(Nd()),AN=La(),$qe=tf(a0()),eJe=tf(xc()),tJe=tf(Ma());function tf(t){return t&&t.__esModule?t:{default:t}}function D0(){return D0=Object.assign||function(t){for(var e=1;e{this.transform(function(r){if(typeof r=="string")try{r=JSON.parse(r)}catch(i){r=null}return this.isType(r)?r:null})})}_typeCheck(e){return Array.isArray(e)}get _subType(){return this.innerType}_cast(e,r){let i=super._cast(e,r);if(!this._typeCheck(i)||!this.innerType)return i;let n=!1,s=i.map((o,a)=>{let l=this.innerType.cast(o,D0({},r,{path:`${r.path||""}[${a}]`}));return l!==o&&(n=!0),l});return n?s:i}_validate(e,r={},i){var n,s;let o=[],a=r.sync,l=r.path,c=this.innerType,u=(n=r.abortEarly)!=null?n:this.spec.abortEarly,g=(s=r.recursive)!=null?s:this.spec.recursive,f=r.originalValue!=null?r.originalValue:e;super._validate(e,r,(h,p)=>{if(h){if(!eJe.default.isError(h)||u)return void i(h,p);o.push(h)}if(!g||!c||!this._typeCheck(p)){i(o[0]||null,p);return}f=f||p;let d=new Array(p.length);for(let m=0;mc.validate(I,b,H)}(0,$qe.default)({sync:a,path:l,value:p,errors:o,endEarly:u,tests:d},i)})}clone(e){let r=super.clone(e);return r.innerType=this.innerType,r}concat(e){let r=super.concat(e);return r.innerType=this.innerType,e.innerType&&(r.innerType=r.innerType?r.innerType.concat(e.innerType):e.innerType),r}of(e){let r=this.clone();if(!(0,Xqe.default)(e))throw new TypeError("`array.of()` sub-schema must be a valid yup schema not: "+(0,Zqe.default)(e));return r.innerType=e,r}length(e,r=AN.array.length){return this.test({message:r,name:"length",exclusive:!0,params:{length:e},test(i){return(0,aN.default)(i)||i.length===this.resolve(e)}})}min(e,r){return r=r||AN.array.min,this.test({message:r,name:"min",exclusive:!0,params:{min:e},test(i){return(0,aN.default)(i)||i.length>=this.resolve(e)}})}max(e,r){return r=r||AN.array.max,this.test({message:r,name:"max",exclusive:!0,params:{max:e},test(i){return(0,aN.default)(i)||i.length<=this.resolve(e)}})}ensure(){return this.default(()=>[]).transform((e,r)=>this._typeCheck(e)?e:r==null?[]:[].concat(r))}compact(e){let r=e?(i,n,s)=>!e(i,n,s):i=>!!i;return this.transform(i=>i!=null?i.filter(r):i)}describe(){let e=super.describe();return this.innerType&&(e.innerType=this.innerType.describe()),e}nullable(e=!0){return super.nullable(e)}defined(){return super.defined()}required(e){return super.required(e)}};eC.default=R0;Lie.prototype=R0.prototype});var Mie=E(tC=>{"use strict";Object.defineProperty(tC,"__esModule",{value:!0});tC.create=rJe;tC.default=void 0;var nJe=iJe(qg());function iJe(t){return t&&t.__esModule?t:{default:t}}function rJe(t){return new lN(t)}var lN=class{constructor(e){this.type="lazy",this.__isYupSchema__=!0,this._resolve=(r,i={})=>{let n=this.builder(r,i);if(!(0,nJe.default)(n))throw new TypeError("lazy() functions must return a valid schema");return n.resolve(i)},this.builder=e}resolve(e){return this._resolve(e.value,e)}cast(e,r){return this._resolve(e,r).cast(e,r)}validate(e,r,i){return this._resolve(e,r).validate(e,r,i)}validateSync(e,r){return this._resolve(e,r).validateSync(e,r)}validateAt(e,r,i){return this._resolve(r,i).validateAt(e,r,i)}validateSyncAt(e,r,i){return this._resolve(r,i).validateSyncAt(e,r,i)}describe(){return null}isValid(e,r){return this._resolve(e,r).isValid(e,r)}isValidSync(e,r){return this._resolve(e,r).isValidSync(e,r)}},sJe=lN;tC.default=sJe});var Oie=E(cN=>{"use strict";Object.defineProperty(cN,"__esModule",{value:!0});cN.default=oJe;var AJe=aJe(La());function aJe(t){return t&&t.__esModule?t:{default:t}}function oJe(t){Object.keys(t).forEach(e=>{Object.keys(t[e]).forEach(r=>{AJe.default[e][r]=t[e][r]})})}});var gN=E(cr=>{"use strict";Object.defineProperty(cr,"__esModule",{value:!0});cr.addMethod=lJe;Object.defineProperty(cr,"MixedSchema",{enumerable:!0,get:function(){return Kie.default}});Object.defineProperty(cr,"mixed",{enumerable:!0,get:function(){return Kie.create}});Object.defineProperty(cr,"BooleanSchema",{enumerable:!0,get:function(){return uN.default}});Object.defineProperty(cr,"bool",{enumerable:!0,get:function(){return uN.create}});Object.defineProperty(cr,"boolean",{enumerable:!0,get:function(){return uN.create}});Object.defineProperty(cr,"StringSchema",{enumerable:!0,get:function(){return Uie.default}});Object.defineProperty(cr,"string",{enumerable:!0,get:function(){return Uie.create}});Object.defineProperty(cr,"NumberSchema",{enumerable:!0,get:function(){return Hie.default}});Object.defineProperty(cr,"number",{enumerable:!0,get:function(){return Hie.create}});Object.defineProperty(cr,"DateSchema",{enumerable:!0,get:function(){return Gie.default}});Object.defineProperty(cr,"date",{enumerable:!0,get:function(){return Gie.create}});Object.defineProperty(cr,"ObjectSchema",{enumerable:!0,get:function(){return jie.default}});Object.defineProperty(cr,"object",{enumerable:!0,get:function(){return jie.create}});Object.defineProperty(cr,"ArraySchema",{enumerable:!0,get:function(){return Yie.default}});Object.defineProperty(cr,"array",{enumerable:!0,get:function(){return Yie.create}});Object.defineProperty(cr,"ref",{enumerable:!0,get:function(){return cJe.create}});Object.defineProperty(cr,"lazy",{enumerable:!0,get:function(){return uJe.create}});Object.defineProperty(cr,"ValidationError",{enumerable:!0,get:function(){return gJe.default}});Object.defineProperty(cr,"reach",{enumerable:!0,get:function(){return fJe.default}});Object.defineProperty(cr,"isSchema",{enumerable:!0,get:function(){return qie.default}});Object.defineProperty(cr,"setLocale",{enumerable:!0,get:function(){return hJe.default}});Object.defineProperty(cr,"BaseSchema",{enumerable:!0,get:function(){return pJe.default}});var Kie=Nc(yre()),uN=Nc(vre()),Uie=Nc(kre()),Hie=Nc(Rre()),Gie=Nc(Tre()),jie=Nc(Nie()),Yie=Nc(Tie()),cJe=Dc(),uJe=Mie(),gJe=rC(xc()),fJe=rC(XF()),qie=rC(qg()),hJe=rC(Oie()),pJe=rC(Ma());function rC(t){return t&&t.__esModule?t:{default:t}}function Jie(){if(typeof WeakMap!="function")return null;var t=new WeakMap;return Jie=function(){return t},t}function Nc(t){if(t&&t.__esModule)return t;if(t===null||typeof t!="object"&&typeof t!="function")return{default:t};var e=Jie();if(e&&e.has(t))return e.get(t);var r={},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var n in t)if(Object.prototype.hasOwnProperty.call(t,n)){var s=i?Object.getOwnPropertyDescriptor(t,n):null;s&&(s.get||s.set)?Object.defineProperty(r,n,s):r[n]=t[n]}return r.default=t,e&&e.set(t,r),r}function lJe(t,e,r){if(!t||!(0,qie.default)(t.prototype))throw new TypeError("You must provide a yup schema constructor function");if(typeof e!="string")throw new TypeError("A Method name must be provided");if(typeof r!="function")throw new TypeError("Method function must be provided");t.prototype[e]=r}});var Xie=E((gCt,nC)=>{"use strict";var mJe=process.env.TERM_PROGRAM==="Hyper",EJe=process.platform==="win32",zie=process.platform==="linux",fN={ballotDisabled:"\u2612",ballotOff:"\u2610",ballotOn:"\u2611",bullet:"\u2022",bulletWhite:"\u25E6",fullBlock:"\u2588",heart:"\u2764",identicalTo:"\u2261",line:"\u2500",mark:"\u203B",middot:"\xB7",minus:"\uFF0D",multiplication:"\xD7",obelus:"\xF7",pencilDownRight:"\u270E",pencilRight:"\u270F",pencilUpRight:"\u2710",percent:"%",pilcrow2:"\u2761",pilcrow:"\xB6",plusMinus:"\xB1",section:"\xA7",starsOff:"\u2606",starsOn:"\u2605",upDownArrow:"\u2195"},Vie=Object.assign({},fN,{check:"\u221A",cross:"\xD7",ellipsisLarge:"...",ellipsis:"...",info:"i",question:"?",questionSmall:"?",pointer:">",pointerSmall:"\xBB",radioOff:"( )",radioOn:"(*)",warning:"\u203C"}),_ie=Object.assign({},fN,{ballotCross:"\u2718",check:"\u2714",cross:"\u2716",ellipsisLarge:"\u22EF",ellipsis:"\u2026",info:"\u2139",question:"?",questionFull:"\uFF1F",questionSmall:"\uFE56",pointer:zie?"\u25B8":"\u276F",pointerSmall:zie?"\u2023":"\u203A",radioOff:"\u25EF",radioOn:"\u25C9",warning:"\u26A0"});nC.exports=EJe&&!mJe?Vie:_ie;Reflect.defineProperty(nC.exports,"common",{enumerable:!1,value:fN});Reflect.defineProperty(nC.exports,"windows",{enumerable:!1,value:Vie});Reflect.defineProperty(nC.exports,"other",{enumerable:!1,value:_ie})});var js=E((fCt,hN)=>{"use strict";var IJe=t=>t!==null&&typeof t=="object"&&!Array.isArray(t),yJe=/[\u001b\u009b][[\]#;?()]*(?:(?:(?:[^\W_]*;?[^\W_]*)\u0007)|(?:(?:[0-9]{1,4}(;[0-9]{0,4})*)?[~0-9=<>cf-nqrtyA-PRZ]))/g,Zie=()=>{let t={enabled:!0,visible:!0,styles:{},keys:{}};"FORCE_COLOR"in process.env&&(t.enabled=process.env.FORCE_COLOR!=="0");let e=s=>{let o=s.open=`[${s.codes[0]}m`,a=s.close=`[${s.codes[1]}m`,l=s.regex=new RegExp(`\\u001b\\[${s.codes[1]}m`,"g");return s.wrap=(c,u)=>{c.includes(a)&&(c=c.replace(l,a+o));let g=o+c+a;return u?g.replace(/\r*\n/g,`${a}$&${o}`):g},s},r=(s,o,a)=>typeof s=="function"?s(o):s.wrap(o,a),i=(s,o)=>{if(s===""||s==null)return"";if(t.enabled===!1)return s;if(t.visible===!1)return"";let a=""+s,l=a.includes(` +`),c=o.length;for(c>0&&o.includes("unstyle")&&(o=[...new Set(["unstyle",...o])].reverse());c-- >0;)a=r(t.styles[o[c]],a,l);return a},n=(s,o,a)=>{t.styles[s]=e({name:s,codes:o}),(t.keys[a]||(t.keys[a]=[])).push(s),Reflect.defineProperty(t,s,{configurable:!0,enumerable:!0,set(c){t.alias(s,c)},get(){let c=u=>i(u,c.stack);return Reflect.setPrototypeOf(c,t),c.stack=this.stack?this.stack.concat(s):[s],c}})};return n("reset",[0,0],"modifier"),n("bold",[1,22],"modifier"),n("dim",[2,22],"modifier"),n("italic",[3,23],"modifier"),n("underline",[4,24],"modifier"),n("inverse",[7,27],"modifier"),n("hidden",[8,28],"modifier"),n("strikethrough",[9,29],"modifier"),n("black",[30,39],"color"),n("red",[31,39],"color"),n("green",[32,39],"color"),n("yellow",[33,39],"color"),n("blue",[34,39],"color"),n("magenta",[35,39],"color"),n("cyan",[36,39],"color"),n("white",[37,39],"color"),n("gray",[90,39],"color"),n("grey",[90,39],"color"),n("bgBlack",[40,49],"bg"),n("bgRed",[41,49],"bg"),n("bgGreen",[42,49],"bg"),n("bgYellow",[43,49],"bg"),n("bgBlue",[44,49],"bg"),n("bgMagenta",[45,49],"bg"),n("bgCyan",[46,49],"bg"),n("bgWhite",[47,49],"bg"),n("blackBright",[90,39],"bright"),n("redBright",[91,39],"bright"),n("greenBright",[92,39],"bright"),n("yellowBright",[93,39],"bright"),n("blueBright",[94,39],"bright"),n("magentaBright",[95,39],"bright"),n("cyanBright",[96,39],"bright"),n("whiteBright",[97,39],"bright"),n("bgBlackBright",[100,49],"bgBright"),n("bgRedBright",[101,49],"bgBright"),n("bgGreenBright",[102,49],"bgBright"),n("bgYellowBright",[103,49],"bgBright"),n("bgBlueBright",[104,49],"bgBright"),n("bgMagentaBright",[105,49],"bgBright"),n("bgCyanBright",[106,49],"bgBright"),n("bgWhiteBright",[107,49],"bgBright"),t.ansiRegex=yJe,t.hasColor=t.hasAnsi=s=>(t.ansiRegex.lastIndex=0,typeof s=="string"&&s!==""&&t.ansiRegex.test(s)),t.alias=(s,o)=>{let a=typeof o=="string"?t[o]:o;if(typeof a!="function")throw new TypeError("Expected alias to be the name of an existing color (string) or a function");a.stack||(Reflect.defineProperty(a,"name",{value:s}),t.styles[s]=a,a.stack=[s]),Reflect.defineProperty(t,s,{configurable:!0,enumerable:!0,set(l){t.alias(s,l)},get(){let l=c=>i(c,l.stack);return Reflect.setPrototypeOf(l,t),l.stack=this.stack?this.stack.concat(a.stack):a.stack,l}})},t.theme=s=>{if(!IJe(s))throw new TypeError("Expected theme to be an object");for(let o of Object.keys(s))t.alias(o,s[o]);return t},t.alias("unstyle",s=>typeof s=="string"&&s!==""?(t.ansiRegex.lastIndex=0,s.replace(t.ansiRegex,"")):""),t.alias("noop",s=>s),t.none=t.clear=t.noop,t.stripColor=t.unstyle,t.symbols=Xie(),t.define=n,t};hN.exports=Zie();hN.exports.create=Zie});var Mi=E(bt=>{"use strict";var wJe=Object.prototype.toString,Cs=js(),$ie=!1,pN=[],ene={yellow:"blue",cyan:"red",green:"magenta",black:"white",blue:"yellow",red:"cyan",magenta:"green",white:"black"};bt.longest=(t,e)=>t.reduce((r,i)=>Math.max(r,e?i[e].length:i.length),0);bt.hasColor=t=>!!t&&Cs.hasColor(t);var N0=bt.isObject=t=>t!==null&&typeof t=="object"&&!Array.isArray(t);bt.nativeType=t=>wJe.call(t).slice(8,-1).toLowerCase().replace(/\s/g,"");bt.isAsyncFn=t=>bt.nativeType(t)==="asyncfunction";bt.isPrimitive=t=>t!=null&&typeof t!="object"&&typeof t!="function";bt.resolve=(t,e,...r)=>typeof e=="function"?e.call(t,...r):e;bt.scrollDown=(t=[])=>[...t.slice(1),t[0]];bt.scrollUp=(t=[])=>[t.pop(),...t];bt.reorder=(t=[])=>{let e=t.slice();return e.sort((r,i)=>r.index>i.index?1:r.index{let i=t.length,n=r===i?0:r<0?i-1:r,s=t[e];t[e]=t[n],t[n]=s};bt.width=(t,e=80)=>{let r=t&&t.columns?t.columns:e;return t&&typeof t.getWindowSize=="function"&&(r=t.getWindowSize()[0]),process.platform==="win32"?r-1:r};bt.height=(t,e=20)=>{let r=t&&t.rows?t.rows:e;return t&&typeof t.getWindowSize=="function"&&(r=t.getWindowSize()[1]),r};bt.wordWrap=(t,e={})=>{if(!t)return t;typeof e=="number"&&(e={width:e});let{indent:r="",newline:i=` +`+r,width:n=80}=e;n-=((i+r).match(/[^\S\n]/g)||[]).length;let o=`.{1,${n}}([\\s\\u200B]+|$)|[^\\s\\u200B]+?([\\s\\u200B]+|$)`,a=t.trim(),l=new RegExp(o,"g"),c=a.match(l)||[];return c=c.map(u=>u.replace(/\n$/,"")),e.padEnd&&(c=c.map(u=>u.padEnd(n," "))),e.padStart&&(c=c.map(u=>u.padStart(n," "))),r+c.join(i)};bt.unmute=t=>{let e=t.stack.find(i=>Cs.keys.color.includes(i));return e?Cs[e]:t.stack.find(i=>i.slice(2)==="bg")?Cs[e.slice(2)]:i=>i};bt.pascal=t=>t?t[0].toUpperCase()+t.slice(1):"";bt.inverse=t=>{if(!t||!t.stack)return t;let e=t.stack.find(i=>Cs.keys.color.includes(i));if(e){let i=Cs["bg"+bt.pascal(e)];return i?i.black:t}let r=t.stack.find(i=>i.slice(0,2)==="bg");return r?Cs[r.slice(2).toLowerCase()]||t:Cs.none};bt.complement=t=>{if(!t||!t.stack)return t;let e=t.stack.find(i=>Cs.keys.color.includes(i)),r=t.stack.find(i=>i.slice(0,2)==="bg");if(e&&!r)return Cs[ene[e]||e];if(r){let i=r.slice(2).toLowerCase(),n=ene[i];return n&&Cs["bg"+bt.pascal(n)]||t}return Cs.none};bt.meridiem=t=>{let e=t.getHours(),r=t.getMinutes(),i=e>=12?"pm":"am";e=e%12;let n=e===0?12:e,s=r<10?"0"+r:r;return n+":"+s+" "+i};bt.set=(t={},e="",r)=>e.split(".").reduce((i,n,s,o)=>{let a=o.length-1>s?i[n]||{}:r;return!bt.isObject(a)&&s{let i=t[e]==null?e.split(".").reduce((n,s)=>n&&n[s],t):t[e];return i==null?r:i};bt.mixin=(t,e)=>{if(!N0(t))return e;if(!N0(e))return t;for(let r of Object.keys(e)){let i=Object.getOwnPropertyDescriptor(e,r);if(i.hasOwnProperty("value"))if(t.hasOwnProperty(r)&&N0(i.value)){let n=Object.getOwnPropertyDescriptor(t,r);N0(n.value)?t[r]=bt.merge({},t[r],e[r]):Reflect.defineProperty(t,r,i)}else Reflect.defineProperty(t,r,i);else Reflect.defineProperty(t,r,i)}return t};bt.merge=(...t)=>{let e={};for(let r of t)bt.mixin(e,r);return e};bt.mixinEmitter=(t,e)=>{let r=e.constructor.prototype;for(let i of Object.keys(r)){let n=r[i];typeof n=="function"?bt.define(t,i,n.bind(e)):bt.define(t,i,n)}};bt.onExit=t=>{let e=(r,i)=>{$ie||($ie=!0,pN.forEach(n=>n()),r===!0&&process.exit(128+i))};pN.length===0&&(process.once("SIGTERM",e.bind(null,!0,15)),process.once("SIGINT",e.bind(null,!0,2)),process.once("exit",e)),pN.push(t)};bt.define=(t,e,r)=>{Reflect.defineProperty(t,e,{value:r})};bt.defineExport=(t,e,r)=>{let i;Reflect.defineProperty(t,e,{enumerable:!0,configurable:!0,set(n){i=n},get(){return i?i():r()}})}});var tne=E(nf=>{"use strict";nf.ctrl={a:"first",b:"backward",c:"cancel",d:"deleteForward",e:"last",f:"forward",g:"reset",i:"tab",k:"cutForward",l:"reset",n:"newItem",m:"cancel",j:"submit",p:"search",r:"remove",s:"save",u:"undo",w:"cutLeft",x:"toggleCursor",v:"paste"};nf.shift={up:"shiftUp",down:"shiftDown",left:"shiftLeft",right:"shiftRight",tab:"prev"};nf.fn={up:"pageUp",down:"pageDown",left:"pageLeft",right:"pageRight",delete:"deleteForward"};nf.option={b:"backward",f:"forward",d:"cutRight",left:"cutLeft",up:"altUp",down:"altDown"};nf.keys={pageup:"pageUp",pagedown:"pageDown",home:"home",end:"end",cancel:"cancel",delete:"deleteForward",backspace:"delete",down:"down",enter:"submit",escape:"cancel",left:"left",space:"space",number:"number",return:"submit",right:"right",tab:"next",up:"up"}});var nne=E((dCt,rne)=>{"use strict";var ine=require("readline"),BJe=tne(),QJe=/^(?:\x1b)([a-zA-Z0-9])$/,bJe=/^(?:\x1b+)(O|N|\[|\[\[)(?:(\d+)(?:;(\d+))?([~^$])|(?:1;)?(\d+)?([a-zA-Z]))/,vJe={OP:"f1",OQ:"f2",OR:"f3",OS:"f4","[11~":"f1","[12~":"f2","[13~":"f3","[14~":"f4","[[A":"f1","[[B":"f2","[[C":"f3","[[D":"f4","[[E":"f5","[15~":"f5","[17~":"f6","[18~":"f7","[19~":"f8","[20~":"f9","[21~":"f10","[23~":"f11","[24~":"f12","[A":"up","[B":"down","[C":"right","[D":"left","[E":"clear","[F":"end","[H":"home",OA:"up",OB:"down",OC:"right",OD:"left",OE:"clear",OF:"end",OH:"home","[1~":"home","[2~":"insert","[3~":"delete","[4~":"end","[5~":"pageup","[6~":"pagedown","[[5~":"pageup","[[6~":"pagedown","[7~":"home","[8~":"end","[a":"up","[b":"down","[c":"right","[d":"left","[e":"clear","[2$":"insert","[3$":"delete","[5$":"pageup","[6$":"pagedown","[7$":"home","[8$":"end",Oa:"up",Ob:"down",Oc:"right",Od:"left",Oe:"clear","[2^":"insert","[3^":"delete","[5^":"pageup","[6^":"pagedown","[7^":"home","[8^":"end","[Z":"tab"};function SJe(t){return["[a","[b","[c","[d","[e","[2$","[3$","[5$","[6$","[7$","[8$","[Z"].includes(t)}function xJe(t){return["Oa","Ob","Oc","Od","Oe","[2^","[3^","[5^","[6^","[7^","[8^"].includes(t)}var L0=(t="",e={})=>{let r,i=P({name:e.name,ctrl:!1,meta:!1,shift:!1,option:!1,sequence:t,raw:t},e);if(Buffer.isBuffer(t)?t[0]>127&&t[1]===void 0?(t[0]-=128,t=""+String(t)):t=String(t):t!==void 0&&typeof t!="string"?t=String(t):t||(t=i.sequence||""),i.sequence=i.sequence||t||i.name,t==="\r")i.raw=void 0,i.name="return";else if(t===` +`)i.name="enter";else if(t===" ")i.name="tab";else if(t==="\b"||t==="\x7F"||t==="\x7F"||t==="\b")i.name="backspace",i.meta=t.charAt(0)==="";else if(t===""||t==="")i.name="escape",i.meta=t.length===2;else if(t===" "||t===" ")i.name="space",i.meta=t.length===2;else if(t<="")i.name=String.fromCharCode(t.charCodeAt(0)+"a".charCodeAt(0)-1),i.ctrl=!0;else if(t.length===1&&t>="0"&&t<="9")i.name="number";else if(t.length===1&&t>="a"&&t<="z")i.name=t;else if(t.length===1&&t>="A"&&t<="Z")i.name=t.toLowerCase(),i.shift=!0;else if(r=QJe.exec(t))i.meta=!0,i.shift=/^[A-Z]$/.test(r[1]);else if(r=bJe.exec(t)){let n=[...t];n[0]===""&&n[1]===""&&(i.option=!0);let s=[r[1],r[2],r[4],r[6]].filter(Boolean).join(""),o=(r[3]||r[5]||1)-1;i.ctrl=!!(o&4),i.meta=!!(o&10),i.shift=!!(o&1),i.code=s,i.name=vJe[s],i.shift=SJe(s)||i.shift,i.ctrl=xJe(s)||i.ctrl}return i};L0.listen=(t={},e)=>{let{stdin:r}=t;if(!r||r!==process.stdin&&!r.isTTY)throw new Error("Invalid stream passed");let i=ine.createInterface({terminal:!0,input:r});ine.emitKeypressEvents(r,i);let n=(a,l)=>e(a,L0(a,l),i),s=r.isRaw;return r.isTTY&&r.setRawMode(!0),r.on("keypress",n),i.resume(),()=>{r.isTTY&&r.setRawMode(s),r.removeListener("keypress",n),i.pause(),i.close()}};L0.action=(t,e,r)=>{let i=P(P({},BJe),r);return e.ctrl?(e.action=i.ctrl[e.name],e):e.option&&i.option?(e.action=i.option[e.name],e):e.shift?(e.action=i.shift[e.name],e):(e.action=i.keys[e.name],e)};rne.exports=L0});var one=E((CCt,sne)=>{"use strict";sne.exports=t=>{t.timers=t.timers||{};let e=t.options.timers;if(!!e)for(let r of Object.keys(e)){let i=e[r];typeof i=="number"&&(i={interval:i}),kJe(t,r,i)}};function kJe(t,e,r={}){let i=t.timers[e]={name:e,start:Date.now(),ms:0,tick:0},n=r.interval||120;i.frames=r.frames||[],i.loading=!0;let s=setInterval(()=>{i.ms=Date.now()-i.start,i.tick++,t.render()},n);return i.stop=()=>{i.loading=!1,clearInterval(s)},Reflect.defineProperty(i,"interval",{value:s}),t.once("close",()=>i.stop()),i.stop}});var lne=E((mCt,ane)=>{"use strict";var{define:PJe,width:DJe}=Mi(),Ane=class{constructor(e){let r=e.options;PJe(this,"_prompt",e),this.type=e.type,this.name=e.name,this.message="",this.header="",this.footer="",this.error="",this.hint="",this.input="",this.cursor=0,this.index=0,this.lines=0,this.tick=0,this.prompt="",this.buffer="",this.width=DJe(r.stdout||process.stdout),Object.assign(this,r),this.name=this.name||this.message,this.message=this.message||this.name,this.symbols=e.symbols,this.styles=e.styles,this.required=new Set,this.cancelled=!1,this.submitted=!1}clone(){let e=P({},this);return e.status=this.status,e.buffer=Buffer.from(e.buffer),delete e.clone,e}set color(e){this._color=e}get color(){let e=this.prompt.styles;if(this.cancelled)return e.cancelled;if(this.submitted)return e.submitted;let r=this._color||e[this.status];return typeof r=="function"?r:e.pending}set loading(e){this._loading=e}get loading(){return typeof this._loading=="boolean"?this._loading:this.loadingChoices?"choices":!1}get status(){return this.cancelled?"cancelled":this.submitted?"submitted":"pending"}};ane.exports=Ane});var une=E((ECt,cne)=>{"use strict";var dN=Mi(),yi=js(),CN={default:yi.noop,noop:yi.noop,set inverse(t){this._inverse=t},get inverse(){return this._inverse||dN.inverse(this.primary)},set complement(t){this._complement=t},get complement(){return this._complement||dN.complement(this.primary)},primary:yi.cyan,success:yi.green,danger:yi.magenta,strong:yi.bold,warning:yi.yellow,muted:yi.dim,disabled:yi.gray,dark:yi.dim.gray,underline:yi.underline,set info(t){this._info=t},get info(){return this._info||this.primary},set em(t){this._em=t},get em(){return this._em||this.primary.underline},set heading(t){this._heading=t},get heading(){return this._heading||this.muted.underline},set pending(t){this._pending=t},get pending(){return this._pending||this.primary},set submitted(t){this._submitted=t},get submitted(){return this._submitted||this.success},set cancelled(t){this._cancelled=t},get cancelled(){return this._cancelled||this.danger},set typing(t){this._typing=t},get typing(){return this._typing||this.dim},set placeholder(t){this._placeholder=t},get placeholder(){return this._placeholder||this.primary.dim},set highlight(t){this._highlight=t},get highlight(){return this._highlight||this.inverse}};CN.merge=(t={})=>{t.styles&&typeof t.styles.enabled=="boolean"&&(yi.enabled=t.styles.enabled),t.styles&&typeof t.styles.visible=="boolean"&&(yi.visible=t.styles.visible);let e=dN.merge({},CN,t.styles);delete e.merge;for(let r of Object.keys(yi))e.hasOwnProperty(r)||Reflect.defineProperty(e,r,{get:()=>yi[r]});for(let r of Object.keys(yi.styles))e.hasOwnProperty(r)||Reflect.defineProperty(e,r,{get:()=>yi[r]});return e};cne.exports=CN});var fne=E((ICt,gne)=>{"use strict";var mN=process.platform==="win32",Ka=js(),RJe=Mi(),EN=_(P({},Ka.symbols),{upDownDoubleArrow:"\u21D5",upDownDoubleArrow2:"\u2B0D",upDownArrow:"\u2195",asterisk:"*",asterism:"\u2042",bulletWhite:"\u25E6",electricArrow:"\u2301",ellipsisLarge:"\u22EF",ellipsisSmall:"\u2026",fullBlock:"\u2588",identicalTo:"\u2261",indicator:Ka.symbols.check,leftAngle:"\u2039",mark:"\u203B",minus:"\u2212",multiplication:"\xD7",obelus:"\xF7",percent:"%",pilcrow:"\xB6",pilcrow2:"\u2761",pencilUpRight:"\u2710",pencilDownRight:"\u270E",pencilRight:"\u270F",plus:"+",plusMinus:"\xB1",pointRight:"\u261E",rightAngle:"\u203A",section:"\xA7",hexagon:{off:"\u2B21",on:"\u2B22",disabled:"\u2B22"},ballot:{on:"\u2611",off:"\u2610",disabled:"\u2612"},stars:{on:"\u2605",off:"\u2606",disabled:"\u2606"},folder:{on:"\u25BC",off:"\u25B6",disabled:"\u25B6"},prefix:{pending:Ka.symbols.question,submitted:Ka.symbols.check,cancelled:Ka.symbols.cross},separator:{pending:Ka.symbols.pointerSmall,submitted:Ka.symbols.middot,cancelled:Ka.symbols.middot},radio:{off:mN?"( )":"\u25EF",on:mN?"(*)":"\u25C9",disabled:mN?"(|)":"\u24BE"},numbers:["\u24EA","\u2460","\u2461","\u2462","\u2463","\u2464","\u2465","\u2466","\u2467","\u2468","\u2469","\u246A","\u246B","\u246C","\u246D","\u246E","\u246F","\u2470","\u2471","\u2472","\u2473","\u3251","\u3252","\u3253","\u3254","\u3255","\u3256","\u3257","\u3258","\u3259","\u325A","\u325B","\u325C","\u325D","\u325E","\u325F","\u32B1","\u32B2","\u32B3","\u32B4","\u32B5","\u32B6","\u32B7","\u32B8","\u32B9","\u32BA","\u32BB","\u32BC","\u32BD","\u32BE","\u32BF"]});EN.merge=t=>{let e=RJe.merge({},Ka.symbols,EN,t.symbols);return delete e.merge,e};gne.exports=EN});var pne=E((yCt,hne)=>{"use strict";var FJe=une(),NJe=fne(),LJe=Mi();hne.exports=t=>{t.options=LJe.merge({},t.options.theme,t.options),t.symbols=NJe.merge(t.options),t.styles=FJe.merge(t.options)}});var Ine=E((dne,Cne)=>{"use strict";var mne=process.env.TERM_PROGRAM==="Apple_Terminal",TJe=js(),IN=Mi(),Ys=Cne.exports=dne,Ir="[",Ene="\x07",yN=!1,HA=Ys.code={bell:Ene,beep:Ene,beginning:`${Ir}G`,down:`${Ir}J`,esc:Ir,getPosition:`${Ir}6n`,hide:`${Ir}?25l`,line:`${Ir}2K`,lineEnd:`${Ir}K`,lineStart:`${Ir}1K`,restorePosition:Ir+(mne?"8":"u"),savePosition:Ir+(mne?"7":"s"),screen:`${Ir}2J`,show:`${Ir}?25h`,up:`${Ir}1J`},Lc=Ys.cursor={get hidden(){return yN},hide(){return yN=!0,HA.hide},show(){return yN=!1,HA.show},forward:(t=1)=>`${Ir}${t}C`,backward:(t=1)=>`${Ir}${t}D`,nextLine:(t=1)=>`${Ir}E`.repeat(t),prevLine:(t=1)=>`${Ir}F`.repeat(t),up:(t=1)=>t?`${Ir}${t}A`:"",down:(t=1)=>t?`${Ir}${t}B`:"",right:(t=1)=>t?`${Ir}${t}C`:"",left:(t=1)=>t?`${Ir}${t}D`:"",to(t,e){return e?`${Ir}${e+1};${t+1}H`:`${Ir}${t+1}G`},move(t=0,e=0){let r="";return r+=t<0?Lc.left(-t):t>0?Lc.right(t):"",r+=e<0?Lc.up(-e):e>0?Lc.down(e):"",r},restore(t={}){let{after:e,cursor:r,initial:i,input:n,prompt:s,size:o,value:a}=t;if(i=IN.isPrimitive(i)?String(i):"",n=IN.isPrimitive(n)?String(n):"",a=IN.isPrimitive(a)?String(a):"",o){let l=Ys.cursor.up(o)+Ys.cursor.to(s.length),c=n.length-r;return c>0&&(l+=Ys.cursor.left(c)),l}if(a||e){let l=!n&&!!i?-i.length:-n.length+r;return e&&(l-=e.length),n===""&&i&&!s.includes(i)&&(l+=i.length),Ys.cursor.move(l)}}},wN=Ys.erase={screen:HA.screen,up:HA.up,down:HA.down,line:HA.line,lineEnd:HA.lineEnd,lineStart:HA.lineStart,lines(t){let e="";for(let r=0;r{if(!e)return wN.line+Lc.to(0);let r=s=>[...TJe.unstyle(s)].length,i=t.split(/\r?\n/),n=0;for(let s of i)n+=1+Math.floor(Math.max(r(s)-1,0)/e);return(wN.line+Lc.prevLine()).repeat(n-1)+wN.line+Lc.to(0)}});var sf=E((wCt,yne)=>{"use strict";var MJe=require("events"),wne=js(),BN=nne(),OJe=one(),KJe=lne(),UJe=pne(),bn=Mi(),Tc=Ine(),T0=class extends MJe{constructor(e={}){super();this.name=e.name,this.type=e.type,this.options=e,UJe(this),OJe(this),this.state=new KJe(this),this.initial=[e.initial,e.default].find(r=>r!=null),this.stdout=e.stdout||process.stdout,this.stdin=e.stdin||process.stdin,this.scale=e.scale||1,this.term=this.options.term||process.env.TERM_PROGRAM,this.margin=GJe(this.options.margin),this.setMaxListeners(0),HJe(this)}async keypress(e,r={}){this.keypressed=!0;let i=BN.action(e,BN(e,r),this.options.actions);this.state.keypress=i,this.emit("keypress",e,i),this.emit("state",this.state.clone());let n=this.options[i.action]||this[i.action]||this.dispatch;if(typeof n=="function")return await n.call(this,e,i);this.alert()}alert(){delete this.state.alert,this.options.show===!1?this.emit("alert"):this.stdout.write(Tc.code.beep)}cursorHide(){this.stdout.write(Tc.cursor.hide()),bn.onExit(()=>this.cursorShow())}cursorShow(){this.stdout.write(Tc.cursor.show())}write(e){!e||(this.stdout&&this.state.show!==!1&&this.stdout.write(e),this.state.buffer+=e)}clear(e=0){let r=this.state.buffer;this.state.buffer="",!(!r&&!e||this.options.show===!1)&&this.stdout.write(Tc.cursor.down(e)+Tc.clear(r,this.width))}restore(){if(this.state.closed||this.options.show===!1)return;let{prompt:e,after:r,rest:i}=this.sections(),{cursor:n,initial:s="",input:o="",value:a=""}=this,l=this.state.size=i.length,c={after:r,cursor:n,initial:s,input:o,prompt:e,size:l,value:a},u=Tc.cursor.restore(c);u&&this.stdout.write(u)}sections(){let{buffer:e,input:r,prompt:i}=this.state;i=wne.unstyle(i);let n=wne.unstyle(e),s=n.indexOf(i),o=n.slice(0,s),l=n.slice(s).split(` +`),c=l[0],u=l[l.length-1],f=(i+(r?" "+r:"")).length,h=fe.call(this,this.value),this.result=()=>i.call(this,this.value),typeof r.initial=="function"&&(this.initial=await r.initial.call(this,this)),typeof r.onRun=="function"&&await r.onRun.call(this,this),typeof r.onSubmit=="function"){let n=r.onSubmit.bind(this),s=this.submit.bind(this);delete this.options.onSubmit,this.submit=async()=>(await n(this.name,this.value,this),s())}await this.start(),await this.render()}render(){throw new Error("expected prompt to have a custom render method")}run(){return new Promise(async(e,r)=>{if(this.once("submit",e),this.once("cancel",r),await this.skip())return this.render=()=>{},this.submit();await this.initialize(),this.emit("run")})}async element(e,r,i){let{options:n,state:s,symbols:o,timers:a}=this,l=a&&a[e];s.timer=l;let c=n[e]||s[e]||o[e],u=r&&r[e]!=null?r[e]:await c;if(u==="")return u;let g=await this.resolve(u,s,r,i);return!g&&r&&r[e]?this.resolve(c,s,r,i):g}async prefix(){let e=await this.element("prefix")||this.symbols,r=this.timers&&this.timers.prefix,i=this.state;return i.timer=r,bn.isObject(e)&&(e=e[i.status]||e.pending),bn.hasColor(e)?e:(this.styles[i.status]||this.styles.pending)(e)}async message(){let e=await this.element("message");return bn.hasColor(e)?e:this.styles.strong(e)}async separator(){let e=await this.element("separator")||this.symbols,r=this.timers&&this.timers.separator,i=this.state;i.timer=r;let n=e[i.status]||e.pending||i.separator,s=await this.resolve(n,i);return bn.isObject(s)&&(s=s[i.status]||s.pending),bn.hasColor(s)?s:this.styles.muted(s)}async pointer(e,r){let i=await this.element("pointer",e,r);if(typeof i=="string"&&bn.hasColor(i))return i;if(i){let n=this.styles,s=this.index===r,o=s?n.primary:c=>c,a=await this.resolve(i[s?"on":"off"]||i,this.state),l=bn.hasColor(a)?a:o(a);return s?l:" ".repeat(a.length)}}async indicator(e,r){let i=await this.element("indicator",e,r);if(typeof i=="string"&&bn.hasColor(i))return i;if(i){let n=this.styles,s=e.enabled===!0,o=s?n.success:n.dark,a=i[s?"on":"off"]||i;return bn.hasColor(a)?a:o(a)}return""}body(){return null}footer(){if(this.state.status==="pending")return this.element("footer")}header(){if(this.state.status==="pending")return this.element("header")}async hint(){if(this.state.status==="pending"&&!this.isValue(this.state.input)){let e=await this.element("hint");return bn.hasColor(e)?e:this.styles.muted(e)}}error(e){return this.state.submitted?"":e||this.state.error}format(e){return e}result(e){return e}validate(e){return this.options.required===!0?this.isValue(e):!0}isValue(e){return e!=null&&e!==""}resolve(e,...r){return bn.resolve(this,e,...r)}get base(){return T0.prototype}get style(){return this.styles[this.state.status]}get height(){return this.options.rows||bn.height(this.stdout,25)}get width(){return this.options.columns||bn.width(this.stdout,80)}get size(){return{width:this.width,height:this.height}}set cursor(e){this.state.cursor=e}get cursor(){return this.state.cursor}set input(e){this.state.input=e}get input(){return this.state.input}set value(e){this.state.value=e}get value(){let{input:e,value:r}=this.state,i=[r,e].find(this.isValue.bind(this));return this.isValue(i)?i:this.initial}static get prompt(){return e=>new this(e).run()}};function HJe(t){let e=n=>t[n]===void 0||typeof t[n]=="function",r=["actions","choices","initial","margin","roles","styles","symbols","theme","timers","value"],i=["body","footer","error","header","hint","indicator","message","prefix","separator","skip"];for(let n of Object.keys(t.options)){if(r.includes(n)||/^on[A-Z]/.test(n))continue;let s=t.options[n];typeof s=="function"&&e(n)?i.includes(n)||(t[n]=s.bind(t)):typeof t[n]!="function"&&(t[n]=s)}}function GJe(t){typeof t=="number"&&(t=[t,t,t,t]);let e=[].concat(t||[]),r=n=>n%2==0?` +`:" ",i=[];for(let n=0;n<4;n++){let s=r(n);e[n]?i.push(s.repeat(e[n])):i.push("")}return i}yne.exports=T0});var bne=E((BCt,Bne)=>{"use strict";var jJe=Mi(),Qne={default(t,e){return e},checkbox(t,e){throw new Error("checkbox role is not implemented yet")},editable(t,e){throw new Error("editable role is not implemented yet")},expandable(t,e){throw new Error("expandable role is not implemented yet")},heading(t,e){return e.disabled="",e.indicator=[e.indicator," "].find(r=>r!=null),e.message=e.message||"",e},input(t,e){throw new Error("input role is not implemented yet")},option(t,e){return Qne.default(t,e)},radio(t,e){throw new Error("radio role is not implemented yet")},separator(t,e){return e.disabled="",e.indicator=[e.indicator," "].find(r=>r!=null),e.message=e.message||t.symbols.line.repeat(5),e},spacer(t,e){return e}};Bne.exports=(t,e={})=>{let r=jJe.merge({},Qne,e.roles);return r[t]||r.default}});var sC=E((QCt,vne)=>{"use strict";var YJe=js(),qJe=sf(),JJe=bne(),M0=Mi(),{reorder:QN,scrollUp:WJe,scrollDown:zJe,isObject:Sne,swap:VJe}=M0,xne=class extends qJe{constructor(e){super(e);this.cursorHide(),this.maxSelected=e.maxSelected||Infinity,this.multiple=e.multiple||!1,this.initial=e.initial||0,this.delay=e.delay||0,this.longest=0,this.num=""}async initialize(){typeof this.options.initial=="function"&&(this.initial=await this.options.initial.call(this)),await this.reset(!0),await super.initialize()}async reset(){let{choices:e,initial:r,autofocus:i,suggest:n}=this.options;if(this.state._choices=[],this.state.choices=[],this.choices=await Promise.all(await this.toChoices(e)),this.choices.forEach(s=>s.enabled=!1),typeof n!="function"&&this.selectable.length===0)throw new Error("At least one choice must be selectable");Sne(r)&&(r=Object.keys(r)),Array.isArray(r)?(i!=null&&(this.index=this.findIndex(i)),r.forEach(s=>this.enable(this.find(s))),await this.render()):(i!=null&&(r=i),typeof r=="string"&&(r=this.findIndex(r)),typeof r=="number"&&r>-1&&(this.index=Math.max(0,Math.min(r,this.choices.length)),this.enable(this.find(this.index)))),this.isDisabled(this.focused)&&await this.down()}async toChoices(e,r){this.state.loadingChoices=!0;let i=[],n=0,s=async(o,a)=>{typeof o=="function"&&(o=await o.call(this)),o instanceof Promise&&(o=await o);for(let l=0;l(this.state.loadingChoices=!1,o))}async toChoice(e,r,i){if(typeof e=="function"&&(e=await e.call(this,this)),e instanceof Promise&&(e=await e),typeof e=="string"&&(e={name:e}),e.normalized)return e;e.normalized=!0;let n=e.value;if(e=JJe(e.role,this.options)(this,e),typeof e.disabled=="string"&&!e.hint&&(e.hint=e.disabled,e.disabled=!0),e.disabled===!0&&e.hint==null&&(e.hint="(disabled)"),e.index!=null)return e;e.name=e.name||e.key||e.title||e.value||e.message,e.message=e.message||e.name||"",e.value=[e.value,e.name].find(this.isValue.bind(this)),e.input="",e.index=r,e.cursor=0,M0.define(e,"parent",i),e.level=i?i.level+1:1,e.indent==null&&(e.indent=i?i.indent+" ":e.indent||""),e.path=i?i.path+"."+e.name:e.name,e.enabled=!!(this.multiple&&!this.isDisabled(e)&&(e.enabled||this.isSelected(e))),this.isDisabled(e)||(this.longest=Math.max(this.longest,YJe.unstyle(e.message).length));let o=P({},e);return e.reset=(a=o.input,l=o.value)=>{for(let c of Object.keys(o))e[c]=o[c];e.input=a,e.value=l},n==null&&typeof e.initial=="function"&&(e.input=await e.initial.call(this,this.state,e,r)),e}async onChoice(e,r){this.emit("choice",e,r,this),typeof e.onChoice=="function"&&await e.onChoice.call(this,this.state,e,r)}async addChoice(e,r,i){let n=await this.toChoice(e,r,i);return this.choices.push(n),this.index=this.choices.length-1,this.limit=this.choices.length,n}async newItem(e,r,i){let n=P({name:"New choice name?",editable:!0,newChoice:!0},e),s=await this.addChoice(n,r,i);return s.updateChoice=()=>{delete s.newChoice,s.name=s.message=s.input,s.input="",s.cursor=0},this.render()}indent(e){return e.indent==null?e.level>1?" ".repeat(e.level-1):"":e.indent}dispatch(e,r){if(this.multiple&&this[r.name])return this[r.name]();this.alert()}focus(e,r){return typeof r!="boolean"&&(r=e.enabled),r&&!e.enabled&&this.selected.length>=this.maxSelected?this.alert():(this.index=e.index,e.enabled=r&&!this.isDisabled(e),e)}space(){return this.multiple?(this.toggle(this.focused),this.render()):this.alert()}a(){if(this.maxSelectedr.enabled);return this.choices.forEach(r=>r.enabled=!e),this.render()}i(){return this.choices.length-this.selected.length>this.maxSelected?this.alert():(this.choices.forEach(e=>e.enabled=!e.enabled),this.render())}g(e=this.focused){return this.choices.some(r=>!!r.parent)?(this.toggle(e.parent&&!e.choices?e.parent:e),this.render()):this.a()}toggle(e,r){if(!e.enabled&&this.selected.length>=this.maxSelected)return this.alert();typeof r!="boolean"&&(r=!e.enabled),e.enabled=r,e.choices&&e.choices.forEach(n=>this.toggle(n,r));let i=e.parent;for(;i;){let n=i.choices.filter(s=>this.isDisabled(s));i.enabled=n.every(s=>s.enabled===!0),i=i.parent}return kne(this,this.choices),this.emit("toggle",e,this),e}enable(e){return this.selected.length>=this.maxSelected?this.alert():(e.enabled=!this.isDisabled(e),e.choices&&e.choices.forEach(this.enable.bind(this)),e)}disable(e){return e.enabled=!1,e.choices&&e.choices.forEach(this.disable.bind(this)),e}number(e){this.num+=e;let r=i=>{let n=Number(i);if(n>this.choices.length-1)return this.alert();let s=this.focused,o=this.choices.find(a=>n===a.index);if(!o.enabled&&this.selected.length>=this.maxSelected)return this.alert();if(this.visible.indexOf(o)===-1){let a=QN(this.choices),l=a.indexOf(o);if(s.index>l){let c=a.slice(l,l+this.limit),u=a.filter(g=>!c.includes(g));this.choices=c.concat(u)}else{let c=l-this.limit+1;this.choices=a.slice(c).concat(a.slice(0,c))}}return this.index=this.choices.indexOf(o),this.toggle(this.focused),this.render()};return clearTimeout(this.numberTimeout),new Promise(i=>{let n=this.choices.length,s=this.num,o=(a=!1,l)=>{clearTimeout(this.numberTimeout),a&&(l=r(s)),this.num="",i(l)};if(s==="0"||s.length===1&&Number(s+"0")>n)return o(!0);if(Number(s)>n)return o(!1,this.alert());this.numberTimeout=setTimeout(()=>o(!0),this.delay)})}home(){return this.choices=QN(this.choices),this.index=0,this.render()}end(){let e=this.choices.length-this.limit,r=QN(this.choices);return this.choices=r.slice(e).concat(r.slice(0,e)),this.index=this.limit-1,this.render()}first(){return this.index=0,this.render()}last(){return this.index=this.visible.length-1,this.render()}prev(){return this.visible.length<=1?this.alert():this.up()}next(){return this.visible.length<=1?this.alert():this.down()}right(){return this.cursor>=this.input.length?this.alert():(this.cursor++,this.render())}left(){return this.cursor<=0?this.alert():(this.cursor--,this.render())}up(){let e=this.choices.length,r=this.visible.length,i=this.index;return this.options.scroll===!1&&i===0?this.alert():e>r&&i===0?this.scrollUp():(this.index=(i-1%e+e)%e,this.isDisabled()?this.up():this.render())}down(){let e=this.choices.length,r=this.visible.length,i=this.index;return this.options.scroll===!1&&i===r-1?this.alert():e>r&&i===r-1?this.scrollDown():(this.index=(i+1)%e,this.isDisabled()?this.down():this.render())}scrollUp(e=0){return this.choices=WJe(this.choices),this.index=e,this.isDisabled()?this.up():this.render()}scrollDown(e=this.visible.length-1){return this.choices=zJe(this.choices),this.index=e,this.isDisabled()?this.down():this.render()}async shiftUp(){if(this.options.sort===!0){this.sorting=!0,this.swap(this.index-1),await this.up(),this.sorting=!1;return}return this.scrollUp(this.index)}async shiftDown(){if(this.options.sort===!0){this.sorting=!0,this.swap(this.index+1),await this.down(),this.sorting=!1;return}return this.scrollDown(this.index)}pageUp(){return this.visible.length<=1?this.alert():(this.limit=Math.max(this.limit-1,0),this.index=Math.min(this.limit-1,this.index),this._limit=this.limit,this.isDisabled()?this.up():this.render())}pageDown(){return this.visible.length>=this.choices.length?this.alert():(this.index=Math.max(0,this.index),this.limit=Math.min(this.limit+1,this.choices.length),this._limit=this.limit,this.isDisabled()?this.down():this.render())}swap(e){VJe(this.choices,this.index,e)}isDisabled(e=this.focused){return e&&["disabled","collapsed","hidden","completing","readonly"].some(i=>e[i]===!0)?!0:e&&e.role==="heading"}isEnabled(e=this.focused){if(Array.isArray(e))return e.every(r=>this.isEnabled(r));if(e.choices){let r=e.choices.filter(i=>!this.isDisabled(i));return e.enabled&&r.every(i=>this.isEnabled(i))}return e.enabled&&!this.isDisabled(e)}isChoice(e,r){return e.name===r||e.index===Number(r)}isSelected(e){return Array.isArray(this.initial)?this.initial.some(r=>this.isChoice(e,r)):this.isChoice(e,this.initial)}map(e=[],r="value"){return[].concat(e||[]).reduce((i,n)=>(i[n]=this.find(n,r),i),{})}filter(e,r){let i=(a,l)=>[a.name,l].includes(e),n=typeof e=="function"?e:i,o=(this.options.multiple?this.state._choices:this.choices).filter(n);return r?o.map(a=>a[r]):o}find(e,r){if(Sne(e))return r?e[r]:e;let i=(o,a)=>[o.name,a].includes(e),n=typeof e=="function"?e:i,s=this.choices.find(n);if(s)return r?s[r]:s}findIndex(e){return this.choices.indexOf(this.find(e))}async submit(){let e=this.focused;if(!e)return this.alert();if(e.newChoice)return e.input?(e.updateChoice(),this.render()):this.alert();if(this.choices.some(o=>o.newChoice))return this.alert();let{reorder:r,sort:i}=this.options,n=this.multiple===!0,s=this.selected;return s===void 0?this.alert():(Array.isArray(s)&&r!==!1&&i!==!0&&(s=M0.reorder(s)),this.value=n?s.map(o=>o.name):s.name,super.submit())}set choices(e=[]){this.state._choices=this.state._choices||[],this.state.choices=e;for(let r of e)this.state._choices.some(i=>i.name===r.name)||this.state._choices.push(r);if(!this._initial&&this.options.initial){this._initial=!0;let r=this.initial;if(typeof r=="string"||typeof r=="number"){let i=this.find(r);i&&(this.initial=i.index,this.focus(i,!0))}}}get choices(){return kne(this,this.state.choices||[])}set visible(e){this.state.visible=e}get visible(){return(this.state.visible||this.choices).slice(0,this.limit)}set limit(e){this.state.limit=e}get limit(){let{state:e,options:r,choices:i}=this,n=e.limit||this._limit||r.limit||i.length;return Math.min(n,this.height)}set value(e){super.value=e}get value(){return typeof super.value!="string"&&super.value===this.initial?this.input:super.value}set index(e){this.state.index=e}get index(){return Math.max(0,this.state?this.state.index:0)}get enabled(){return this.filter(this.isEnabled.bind(this))}get focused(){let e=this.choices[this.index];return e&&this.state.submitted&&this.multiple!==!0&&(e.enabled=!0),e}get selectable(){return this.choices.filter(e=>!this.isDisabled(e))}get selected(){return this.multiple?this.enabled:this.focused}};function kne(t,e){if(e instanceof Promise)return e;if(typeof e=="function"){if(M0.isAsyncFn(e))return e;e=e.call(t,t)}for(let r of e){if(Array.isArray(r.choices)){let i=r.choices.filter(n=>!t.isDisabled(n));r.enabled=i.every(n=>n.enabled===!0)}t.isDisabled(r)===!0&&delete r.enabled}return e}vne.exports=xne});var GA=E((bCt,Pne)=>{"use strict";var _Je=sC(),bN=Mi(),Dne=class extends _Je{constructor(e){super(e);this.emptyError=this.options.emptyError||"No items were selected"}async dispatch(e,r){if(this.multiple)return this[r.name]?await this[r.name](e,r):await super.dispatch(e,r);this.alert()}separator(){if(this.options.separator)return super.separator();let e=this.styles.muted(this.symbols.ellipsis);return this.state.submitted?super.separator():e}pointer(e,r){return!this.multiple||this.options.pointer?super.pointer(e,r):""}indicator(e,r){return this.multiple?super.indicator(e,r):""}choiceMessage(e,r){let i=this.resolve(e.message,this.state,e,r);return e.role==="heading"&&!bN.hasColor(i)&&(i=this.styles.strong(i)),this.resolve(i,this.state,e,r)}choiceSeparator(){return":"}async renderChoice(e,r){await this.onChoice(e,r);let i=this.index===r,n=await this.pointer(e,r),s=await this.indicator(e,r)+(e.pad||""),o=await this.resolve(e.hint,this.state,e,r);o&&!bN.hasColor(o)&&(o=this.styles.muted(o));let a=this.indent(e),l=await this.choiceMessage(e,r),c=()=>[this.margin[3],a+n+s,l,this.margin[1],o].filter(Boolean).join(" ");return e.role==="heading"?c():e.disabled?(bN.hasColor(l)||(l=this.styles.disabled(l)),c()):(i&&(l=this.styles.em(l)),c())}async renderChoices(){if(this.state.loading==="choices")return this.styles.warning("Loading choices");if(this.state.submitted)return"";let e=this.visible.map(async(s,o)=>await this.renderChoice(s,o)),r=await Promise.all(e);r.length||r.push(this.styles.danger("No matching choices"));let i=this.margin[0]+r.join(` +`),n;return this.options.choicesHeader&&(n=await this.resolve(this.options.choicesHeader,this.state)),[n,i].filter(Boolean).join(` +`)}format(){return!this.state.submitted||this.state.cancelled?"":Array.isArray(this.selected)?this.selected.map(e=>this.styles.primary(e.name)).join(", "):this.styles.primary(this.selected.name)}async render(){let{submitted:e,size:r}=this.state,i="",n=await this.header(),s=await this.prefix(),o=await this.separator(),a=await this.message();this.options.promptLine!==!1&&(i=[s,a,o,""].join(" "),this.state.prompt=i);let l=await this.format(),c=await this.error()||await this.hint(),u=await this.renderChoices(),g=await this.footer();l&&(i+=l),c&&!i.includes(c)&&(i+=" "+c),e&&!l&&!u.trim()&&this.multiple&&this.emptyError!=null&&(i+=this.styles.danger(this.emptyError)),this.clear(r),this.write([n,i,u,g].filter(Boolean).join(` +`)),this.write(this.margin[2]),this.restore()}};Pne.exports=Dne});var Nne=E((vCt,Rne)=>{"use strict";var XJe=GA(),ZJe=(t,e)=>{let r=t.toLowerCase();return i=>{let s=i.toLowerCase().indexOf(r),o=e(i.slice(s,s+r.length));return s>=0?i.slice(0,s)+o+i.slice(s+r.length):i}},Fne=class extends XJe{constructor(e){super(e);this.cursorShow()}moveCursor(e){this.state.cursor+=e}dispatch(e){return this.append(e)}space(e){return this.options.multiple?super.space(e):this.append(e)}append(e){let{cursor:r,input:i}=this.state;return this.input=i.slice(0,r)+e+i.slice(r),this.moveCursor(1),this.complete()}delete(){let{cursor:e,input:r}=this.state;return r?(this.input=r.slice(0,e-1)+r.slice(e),this.moveCursor(-1),this.complete()):this.alert()}deleteForward(){let{cursor:e,input:r}=this.state;return r[e]===void 0?this.alert():(this.input=`${r}`.slice(0,e)+`${r}`.slice(e+1),this.complete())}number(e){return this.append(e)}async complete(){this.completing=!0,this.choices=await this.suggest(this.input,this.state._choices),this.state.limit=void 0,this.index=Math.min(Math.max(this.visible.length-1,0),this.index),await this.render(),this.completing=!1}suggest(e=this.input,r=this.state._choices){if(typeof this.options.suggest=="function")return this.options.suggest.call(this,e,r);let i=e.toLowerCase();return r.filter(n=>n.message.toLowerCase().includes(i))}pointer(){return""}format(){if(!this.focused)return this.input;if(this.options.multiple&&this.state.submitted)return this.selected.map(e=>this.styles.primary(e.message)).join(", ");if(this.state.submitted){let e=this.value=this.input=this.focused.value;return this.styles.primary(e)}return this.input}async render(){if(this.state.status!=="pending")return super.render();let e=this.options.highlight?this.options.highlight.bind(this):this.styles.placeholder,r=ZJe(this.input,e),i=this.choices;this.choices=i.map(n=>_(P({},n),{message:r(n.message)})),await super.render(),this.choices=i}submit(){return this.options.multiple&&(this.value=this.selected.map(e=>e.name)),super.submit()}};Rne.exports=Fne});var SN=E((SCt,Lne)=>{"use strict";var vN=Mi();Lne.exports=(t,e={})=>{t.cursorHide();let{input:r="",initial:i="",pos:n,showCursor:s=!0,color:o}=e,a=o||t.styles.placeholder,l=vN.inverse(t.styles.primary),c=d=>l(t.styles.black(d)),u=r,g=" ",f=c(g);if(t.blink&&t.blink.off===!0&&(c=d=>d,f=""),s&&n===0&&i===""&&r==="")return c(g);if(s&&n===0&&(r===i||r===""))return c(i[0])+a(i.slice(1));i=vN.isPrimitive(i)?`${i}`:"",r=vN.isPrimitive(r)?`${r}`:"";let h=i&&i.startsWith(r)&&i!==r,p=h?c(i[r.length]):f;if(n!==r.length&&s===!0&&(u=r.slice(0,n)+c(r[n])+r.slice(n+1),p=""),s===!1&&(p=""),h){let d=t.styles.unstyle(u+p);return u+p+a(i.slice(d.length))}return u+p}});var O0=E((xCt,Tne)=>{"use strict";var $Je=js(),e3e=GA(),t3e=SN(),Mne=class extends e3e{constructor(e){super(_(P({},e),{multiple:!0}));this.type="form",this.initial=this.options.initial,this.align=[this.options.align,"right"].find(r=>r!=null),this.emptyError="",this.values={}}async reset(e){return await super.reset(),e===!0&&(this._index=this.index),this.index=this._index,this.values={},this.choices.forEach(r=>r.reset&&r.reset()),this.render()}dispatch(e){return!!e&&this.append(e)}append(e){let r=this.focused;if(!r)return this.alert();let{cursor:i,input:n}=r;return r.value=r.input=n.slice(0,i)+e+n.slice(i),r.cursor++,this.render()}delete(){let e=this.focused;if(!e||e.cursor<=0)return this.alert();let{cursor:r,input:i}=e;return e.value=e.input=i.slice(0,r-1)+i.slice(r),e.cursor--,this.render()}deleteForward(){let e=this.focused;if(!e)return this.alert();let{cursor:r,input:i}=e;if(i[r]===void 0)return this.alert();let n=`${i}`.slice(0,r)+`${i}`.slice(r+1);return e.value=e.input=n,this.render()}right(){let e=this.focused;return e?e.cursor>=e.input.length?this.alert():(e.cursor++,this.render()):this.alert()}left(){let e=this.focused;return e?e.cursor<=0?this.alert():(e.cursor--,this.render()):this.alert()}space(e,r){return this.dispatch(e,r)}number(e,r){return this.dispatch(e,r)}next(){let e=this.focused;if(!e)return this.alert();let{initial:r,input:i}=e;return r&&r.startsWith(i)&&i!==r?(e.value=e.input=r,e.cursor=e.value.length,this.render()):super.next()}prev(){let e=this.focused;return e?e.cursor===0?super.prev():(e.value=e.input="",e.cursor=0,this.render()):this.alert()}separator(){return""}format(e){return this.state.submitted?"":super.format(e)}pointer(){return""}indicator(e){return e.input?"\u29BF":"\u2299"}async choiceSeparator(e,r){let i=await this.resolve(e.separator,this.state,e,r)||":";return i?" "+this.styles.disabled(i):""}async renderChoice(e,r){await this.onChoice(e,r);let{state:i,styles:n}=this,{cursor:s,initial:o="",name:a,hint:l,input:c=""}=e,{muted:u,submitted:g,primary:f,danger:h}=n,p=l,d=this.index===r,m=e.validate||(()=>!0),I=await this.choiceSeparator(e,r),B=e.message;this.align==="right"&&(B=B.padStart(this.longest+1," ")),this.align==="left"&&(B=B.padEnd(this.longest+1," "));let b=this.values[a]=c||o,R=c?"success":"dark";await m.call(e,b,this.state)!==!0&&(R="danger");let L=n[R](await this.indicator(e,r))+(e.pad||""),K=this.indent(e),J=()=>[K,L,B+I,c,p].filter(Boolean).join(" ");if(i.submitted)return B=$Je.unstyle(B),c=g(c),p="",J();if(e.format)c=await e.format.call(this,c,e,r);else{let ne=this.styles.muted;c=t3e(this,{input:c,initial:o,pos:s,showCursor:d,color:ne})}return this.isValue(c)||(c=this.styles.muted(this.symbols.ellipsis)),e.result&&(this.values[a]=await e.result.call(this,b,e,r)),d&&(B=f(B)),e.error?c+=(c?" ":"")+h(e.error.trim()):e.hint&&(c+=(c?" ":"")+u(e.hint.trim())),J()}async submit(){return this.value=this.values,super.base.submit.call(this)}};Tne.exports=Mne});var xN=E((kCt,One)=>{"use strict";var r3e=O0(),i3e=()=>{throw new Error("expected prompt to have a custom authenticate method")},Kne=(t=i3e)=>{class e extends r3e{constructor(i){super(i)}async submit(){this.value=await t.call(this,this.values,this.state),super.base.submit.call(this)}static create(i){return Kne(i)}}return e};One.exports=Kne()});var Gne=E((PCt,Une)=>{"use strict";var n3e=xN();function s3e(t,e){return t.username===this.options.username&&t.password===this.options.password}var Hne=(t=s3e)=>{let e=[{name:"username",message:"username"},{name:"password",message:"password",format(i){return this.options.showPassword?i:(this.state.submitted?this.styles.primary:this.styles.muted)(this.symbols.asterisk.repeat(i.length))}}];class r extends n3e.create(t){constructor(n){super(_(P({},n),{choices:e}))}static create(n){return Hne(n)}}return r};Une.exports=Hne()});var K0=E((DCt,jne)=>{"use strict";var o3e=sf(),{isPrimitive:a3e,hasColor:A3e}=Mi(),Yne=class extends o3e{constructor(e){super(e);this.cursorHide()}async initialize(){let e=await this.resolve(this.initial,this.state);this.input=await this.cast(e),await super.initialize()}dispatch(e){return this.isValue(e)?(this.input=e,this.submit()):this.alert()}format(e){let{styles:r,state:i}=this;return i.submitted?r.success(e):r.primary(e)}cast(e){return this.isTrue(e)}isTrue(e){return/^[ty1]/i.test(e)}isFalse(e){return/^[fn0]/i.test(e)}isValue(e){return a3e(e)&&(this.isTrue(e)||this.isFalse(e))}async hint(){if(this.state.status==="pending"){let e=await this.element("hint");return A3e(e)?e:this.styles.muted(e)}}async render(){let{input:e,size:r}=this.state,i=await this.prefix(),n=await this.separator(),s=await this.message(),o=this.styles.muted(this.default),a=[i,s,o,n].filter(Boolean).join(" ");this.state.prompt=a;let l=await this.header(),c=this.value=this.cast(e),u=await this.format(c),g=await this.error()||await this.hint(),f=await this.footer();g&&!a.includes(g)&&(u+=" "+g),a+=" "+u,this.clear(r),this.write([l,a,f].filter(Boolean).join(` +`)),this.restore()}set value(e){super.value=e}get value(){return this.cast(super.value)}};jne.exports=Yne});var Wne=E((RCt,qne)=>{"use strict";var l3e=K0(),Jne=class extends l3e{constructor(e){super(e);this.default=this.options.default||(this.initial?"(Y/n)":"(y/N)")}};qne.exports=Jne});var _ne=E((FCt,zne)=>{"use strict";var c3e=GA(),u3e=O0(),of=u3e.prototype,Vne=class extends c3e{constructor(e){super(_(P({},e),{multiple:!0}));this.align=[this.options.align,"left"].find(r=>r!=null),this.emptyError="",this.values={}}dispatch(e,r){let i=this.focused,n=i.parent||{};return!i.editable&&!n.editable&&(e==="a"||e==="i")?super[e]():of.dispatch.call(this,e,r)}append(e,r){return of.append.call(this,e,r)}delete(e,r){return of.delete.call(this,e,r)}space(e){return this.focused.editable?this.append(e):super.space()}number(e){return this.focused.editable?this.append(e):super.number(e)}next(){return this.focused.editable?of.next.call(this):super.next()}prev(){return this.focused.editable?of.prev.call(this):super.prev()}async indicator(e,r){let i=e.indicator||"",n=e.editable?i:super.indicator(e,r);return await this.resolve(n,this.state,e,r)||""}indent(e){return e.role==="heading"?"":e.editable?" ":" "}async renderChoice(e,r){return e.indent="",e.editable?of.renderChoice.call(this,e,r):super.renderChoice(e,r)}error(){return""}footer(){return this.state.error}async validate(){let e=!0;for(let r of this.choices){if(typeof r.validate!="function"||r.role==="heading")continue;let i=r.parent?this.value[r.parent.name]:this.value;if(r.editable?i=r.value===r.name?r.initial||"":r.value:this.isDisabled(r)||(i=r.enabled===!0),e=await r.validate(i,this.state),e!==!0)break}return e!==!0&&(this.state.error=typeof e=="string"?e:"Invalid Input"),e}submit(){if(this.focused.newChoice===!0)return super.submit();if(this.choices.some(e=>e.newChoice))return this.alert();this.value={};for(let e of this.choices){let r=e.parent?this.value[e.parent.name]:this.value;if(e.role==="heading"){this.value[e.name]={};continue}e.editable?r[e.name]=e.value===e.name?e.initial||"":e.value:this.isDisabled(e)||(r[e.name]=e.enabled===!0)}return this.base.submit.call(this)}};zne.exports=Vne});var Mc=E((NCt,Xne)=>{"use strict";var g3e=sf(),f3e=SN(),{isPrimitive:h3e}=Mi(),Zne=class extends g3e{constructor(e){super(e);this.initial=h3e(this.initial)?String(this.initial):"",this.initial&&this.cursorHide(),this.state.prevCursor=0,this.state.clipboard=[]}async keypress(e,r={}){let i=this.state.prevKeypress;return this.state.prevKeypress=r,this.options.multiline===!0&&r.name==="return"&&(!i||i.name!=="return")?this.append(` +`,r):super.keypress(e,r)}moveCursor(e){this.cursor+=e}reset(){return this.input=this.value="",this.cursor=0,this.render()}dispatch(e,r){if(!e||r.ctrl||r.code)return this.alert();this.append(e)}append(e){let{cursor:r,input:i}=this.state;this.input=`${i}`.slice(0,r)+e+`${i}`.slice(r),this.moveCursor(String(e).length),this.render()}insert(e){this.append(e)}delete(){let{cursor:e,input:r}=this.state;if(e<=0)return this.alert();this.input=`${r}`.slice(0,e-1)+`${r}`.slice(e),this.moveCursor(-1),this.render()}deleteForward(){let{cursor:e,input:r}=this.state;if(r[e]===void 0)return this.alert();this.input=`${r}`.slice(0,e)+`${r}`.slice(e+1),this.render()}cutForward(){let e=this.cursor;if(this.input.length<=e)return this.alert();this.state.clipboard.push(this.input.slice(e)),this.input=this.input.slice(0,e),this.render()}cutLeft(){let e=this.cursor;if(e===0)return this.alert();let r=this.input.slice(0,e),i=this.input.slice(e),n=r.split(" ");this.state.clipboard.push(n.pop()),this.input=n.join(" "),this.cursor=this.input.length,this.input+=i,this.render()}paste(){if(!this.state.clipboard.length)return this.alert();this.insert(this.state.clipboard.pop()),this.render()}toggleCursor(){this.state.prevCursor?(this.cursor=this.state.prevCursor,this.state.prevCursor=0):(this.state.prevCursor=this.cursor,this.cursor=0),this.render()}first(){this.cursor=0,this.render()}last(){this.cursor=this.input.length-1,this.render()}next(){let e=this.initial!=null?String(this.initial):"";if(!e||!e.startsWith(this.input))return this.alert();this.input=this.initial,this.cursor=this.initial.length,this.render()}prev(){if(!this.input)return this.alert();this.reset()}backward(){return this.left()}forward(){return this.right()}right(){return this.cursor>=this.input.length?this.alert():(this.moveCursor(1),this.render())}left(){return this.cursor<=0?this.alert():(this.moveCursor(-1),this.render())}isValue(e){return!!e}async format(e=this.value){let r=await this.resolve(this.initial,this.state);return this.state.submitted?this.styles.submitted(e||r):f3e(this,{input:e,initial:r,pos:this.cursor})}async render(){let e=this.state.size,r=await this.prefix(),i=await this.separator(),n=await this.message(),s=[r,n,i].filter(Boolean).join(" ");this.state.prompt=s;let o=await this.header(),a=await this.format(),l=await this.error()||await this.hint(),c=await this.footer();l&&!a.includes(l)&&(a+=" "+l),s+=" "+a,this.clear(e),this.write([o,s,c].filter(Boolean).join(` +`)),this.restore()}};Xne.exports=Zne});var ese=E((LCt,$ne)=>{"use strict";var p3e=t=>t.filter((e,r)=>t.lastIndexOf(e)===r),U0=t=>p3e(t).filter(Boolean);$ne.exports=(t,e={},r="")=>{let{past:i=[],present:n=""}=e,s,o;switch(t){case"prev":case"undo":return s=i.slice(0,i.length-1),o=i[i.length-1]||"",{past:U0([r,...s]),present:o};case"next":case"redo":return s=i.slice(1),o=i[0]||"",{past:U0([...s,r]),present:o};case"save":return{past:U0([...i,r]),present:""};case"remove":return o=U0(i.filter(a=>a!==r)),n="",o.length&&(n=o.pop()),{past:o,present:n};default:throw new Error(`Invalid action: "${t}"`)}}});var kN=E((TCt,tse)=>{"use strict";var d3e=Mc(),rse=ese(),ise=class extends d3e{constructor(e){super(e);let r=this.options.history;if(r&&r.store){let i=r.values||this.initial;this.autosave=!!r.autosave,this.store=r.store,this.data=this.store.get("values")||{past:[],present:i},this.initial=this.data.present||this.data.past[this.data.past.length-1]}}completion(e){return this.store?(this.data=rse(e,this.data,this.input),this.data.present?(this.input=this.data.present,this.cursor=this.input.length,this.render()):this.alert()):this.alert()}altUp(){return this.completion("prev")}altDown(){return this.completion("next")}prev(){return this.save(),super.prev()}save(){!this.store||(this.data=rse("save",this.data,this.input),this.store.set("values",this.data))}submit(){return this.store&&this.autosave===!0&&this.save(),super.submit()}};tse.exports=ise});var ose=E((MCt,nse)=>{"use strict";var C3e=Mc(),sse=class extends C3e{format(){return""}};nse.exports=sse});var lse=E((OCt,ase)=>{"use strict";var m3e=Mc(),Ase=class extends m3e{constructor(e={}){super(e);this.sep=this.options.separator||/, */,this.initial=e.initial||""}split(e=this.value){return e?String(e).split(this.sep):[]}format(){let e=this.state.submitted?this.styles.primary:r=>r;return this.list.map(e).join(", ")}async submit(e){let r=this.state.error||await this.validate(this.list,this.state);return r!==!0?(this.state.error=r,super.submit()):(this.value=this.list,super.submit())}get list(){return this.split()}};ase.exports=Ase});var gse=E((KCt,cse)=>{"use strict";var E3e=GA(),use=class extends E3e{constructor(e){super(_(P({},e),{multiple:!0}))}};cse.exports=use});var PN=E((UCt,fse)=>{"use strict";var I3e=Mc(),hse=class extends I3e{constructor(e={}){super(P({style:"number"},e));this.min=this.isValue(e.min)?this.toNumber(e.min):-Infinity,this.max=this.isValue(e.max)?this.toNumber(e.max):Infinity,this.delay=e.delay!=null?e.delay:1e3,this.float=e.float!==!1,this.round=e.round===!0||e.float===!1,this.major=e.major||10,this.minor=e.minor||1,this.initial=e.initial!=null?e.initial:"",this.input=String(this.initial),this.cursor=this.input.length,this.cursorShow()}append(e){return!/[-+.]/.test(e)||e==="."&&this.input.includes(".")?this.alert("invalid number"):super.append(e)}number(e){return super.append(e)}next(){return this.input&&this.input!==this.initial?this.alert():this.isValue(this.initial)?(this.input=this.initial,this.cursor=String(this.initial).length,this.render()):this.alert()}up(e){let r=e||this.minor,i=this.toNumber(this.input);return i>this.max+r?this.alert():(this.input=`${i+r}`,this.render())}down(e){let r=e||this.minor,i=this.toNumber(this.input);return ithis.isValue(r));return this.value=this.toNumber(e||0),super.submit()}};fse.exports=hse});var dse=E((HCt,pse)=>{pse.exports=PN()});var Ese=E((GCt,Cse)=>{"use strict";var y3e=Mc(),mse=class extends y3e{constructor(e){super(e);this.cursorShow()}format(e=this.input){return this.keypressed?(this.state.submitted?this.styles.primary:this.styles.muted)(this.symbols.asterisk.repeat(e.length)):""}};Cse.exports=mse});var Bse=E((jCt,Ise)=>{"use strict";var w3e=js(),B3e=sC(),yse=Mi(),wse=class extends B3e{constructor(e={}){super(e);this.widths=[].concat(e.messageWidth||50),this.align=[].concat(e.align||"left"),this.linebreak=e.linebreak||!1,this.edgeLength=e.edgeLength||3,this.newline=e.newline||` + `;let r=e.startNumber||1;typeof this.scale=="number"&&(this.scaleKey=!1,this.scale=Array(this.scale).fill(0).map((i,n)=>({name:n+r})))}async reset(){return this.tableized=!1,await super.reset(),this.render()}tableize(){if(this.tableized===!0)return;this.tableized=!0;let e=0;for(let r of this.choices){e=Math.max(e,r.message.length),r.scaleIndex=r.initial||2,r.scale=[];for(let i=0;i=this.scale.length-1?this.alert():(e.scaleIndex++,this.render())}left(){let e=this.focused;return e.scaleIndex<=0?this.alert():(e.scaleIndex--,this.render())}indent(){return""}format(){return this.state.submitted?this.choices.map(r=>this.styles.info(r.index)).join(", "):""}pointer(){return""}renderScaleKey(){if(this.scaleKey===!1||this.state.submitted)return"";let e=this.scale.map(i=>` ${i.name} - ${i.message}`);return["",...e].map(i=>this.styles.muted(i)).join(` +`)}renderScaleHeading(e){let r=this.scale.map(l=>l.name);typeof this.options.renderScaleHeading=="function"&&(r=this.options.renderScaleHeading.call(this,e));let i=this.scaleLength-r.join("").length,n=Math.round(i/(r.length-1)),o=r.map(l=>this.styles.strong(l)).join(" ".repeat(n)),a=" ".repeat(this.widths[0]);return this.margin[3]+a+this.margin[1]+o}scaleIndicator(e,r,i){if(typeof this.options.scaleIndicator=="function")return this.options.scaleIndicator.call(this,e,r,i);let n=e.scaleIndex===r.index;return r.disabled?this.styles.hint(this.symbols.radio.disabled):n?this.styles.success(this.symbols.radio.on):this.symbols.radio.off}renderScale(e,r){let i=e.scale.map(s=>this.scaleIndicator(e,s,r)),n=this.term==="Hyper"?"":" ";return i.join(n+this.symbols.line.repeat(this.edgeLength))}async renderChoice(e,r){await this.onChoice(e,r);let i=this.index===r,n=await this.pointer(e,r),s=await e.hint;s&&!yse.hasColor(s)&&(s=this.styles.muted(s));let o=p=>this.margin[3]+p.replace(/\s+$/,"").padEnd(this.widths[0]," "),a=this.newline,l=this.indent(e),c=await this.resolve(e.message,this.state,e,r),u=await this.renderScale(e,r),g=this.margin[1]+this.margin[3];this.scaleLength=w3e.unstyle(u).length,this.widths[0]=Math.min(this.widths[0],this.width-this.scaleLength-g.length);let h=yse.wordWrap(c,{width:this.widths[0],newline:a}).split(` +`).map(p=>o(p)+this.margin[1]);return i&&(u=this.styles.info(u),h=h.map(p=>this.styles.info(p))),h[0]+=u,this.linebreak&&h.push(""),[l+n,h.join(` +`)].filter(Boolean)}async renderChoices(){if(this.state.submitted)return"";this.tableize();let e=this.visible.map(async(n,s)=>await this.renderChoice(n,s)),r=await Promise.all(e),i=await this.renderScaleHeading();return this.margin[0]+[i,...r.map(n=>n.join(" "))].join(` +`)}async render(){let{submitted:e,size:r}=this.state,i=await this.prefix(),n=await this.separator(),s=await this.message(),o="";this.options.promptLine!==!1&&(o=[i,s,n,""].join(" "),this.state.prompt=o);let a=await this.header(),l=await this.format(),c=await this.renderScaleKey(),u=await this.error()||await this.hint(),g=await this.renderChoices(),f=await this.footer(),h=this.emptyError;l&&(o+=l),u&&!o.includes(u)&&(o+=" "+u),e&&!l&&!g.trim()&&this.multiple&&h!=null&&(o+=this.styles.danger(h)),this.clear(r),this.write([a,o,c,g,f].filter(Boolean).join(` +`)),this.state.submitted||this.write(this.margin[2]),this.restore()}submit(){this.value={};for(let e of this.choices)this.value[e.name]=e.scaleIndex;return this.base.submit.call(this)}};Ise.exports=wse});var Sse=E((YCt,Qse)=>{"use strict";var bse=js(),Q3e=(t="")=>typeof t=="string"?t.replace(/^['"]|['"]$/g,""):"",vse=class{constructor(e){this.name=e.key,this.field=e.field||{},this.value=Q3e(e.initial||this.field.initial||""),this.message=e.message||this.name,this.cursor=0,this.input="",this.lines=[]}},b3e=async(t={},e={},r=i=>i)=>{let i=new Set,n=t.fields||[],s=t.template,o=[],a=[],l=[],c=1;typeof s=="function"&&(s=await s());let u=-1,g=()=>s[++u],f=()=>s[u+1],h=p=>{p.line=c,o.push(p)};for(h({type:"bos",value:""});uR.name===I.key);I.field=n.find(R=>R.name===I.key),b||(b=new vse(I),a.push(b)),b.lines.push(I.line-1);continue}let d=o[o.length-1];d.type==="text"&&d.line===c?d.value+=p:h({type:"text",value:p})}return h({type:"eos",value:""}),{input:s,tabstops:o,unique:i,keys:l,items:a}};Qse.exports=async t=>{let e=t.options,r=new Set(e.required===!0?[]:e.required||[]),i=P(P({},e.values),e.initial),{tabstops:n,items:s,keys:o}=await b3e(e,i),a=DN("result",t,e),l=DN("format",t,e),c=DN("validate",t,e,!0),u=t.isValue.bind(t);return async(g={},f=!1)=>{let h=0;g.required=r,g.items=s,g.keys=o,g.output="";let p=async(B,b,R,H)=>{let L=await c(B,b,R,H);return L===!1?"Invalid field "+R.name:L};for(let B of n){let b=B.value,R=B.key;if(B.type!=="template"){b&&(g.output+=b);continue}if(B.type==="template"){let H=s.find(q=>q.name===R);e.required===!0&&g.required.add(H.name);let L=[H.input,g.values[H.value],H.value,b].find(u),J=(H.field||{}).message||B.inner;if(f){let q=await p(g.values[R],g,H,h);if(q&&typeof q=="string"||q===!1){g.invalid.set(R,q);continue}g.invalid.delete(R);let A=await a(g.values[R],g,H,h);g.output+=bse.unstyle(A);continue}H.placeholder=!1;let ne=b;b=await l(b,g,H,h),L!==b?(g.values[R]=L,b=t.styles.typing(L),g.missing.delete(J)):(g.values[R]=void 0,L=`<${J}>`,b=t.styles.primary(L),H.placeholder=!0,g.required.has(R)&&g.missing.add(J)),g.missing.has(J)&&g.validating&&(b=t.styles.warning(L)),g.invalid.has(R)&&g.validating&&(b=t.styles.danger(L)),h===g.index&&(ne!==b?b=t.styles.underline(b):b=t.styles.heading(bse.unstyle(b))),h++}b&&(g.output+=b)}let d=g.output.split(` +`).map(B=>" "+B),m=s.length,I=0;for(let B of s)g.invalid.has(B.name)&&B.lines.forEach(b=>{d[b][0]===" "&&(d[b]=g.styles.danger(g.symbols.bullet)+d[b].slice(1))}),t.isValue(g.values[B.name])&&I++;return g.completed=(I/m*100).toFixed(0),g.output=d.join(` +`),g.output}};function DN(t,e,r,i){return(n,s,o,a)=>typeof o.field[t]=="function"?o.field[t].call(e,n,s,o,a):[i,n].find(l=>e.isValue(l))}});var Pse=E((qCt,xse)=>{"use strict";var v3e=js(),S3e=Sse(),x3e=sf(),kse=class extends x3e{constructor(e){super(e);this.cursorHide(),this.reset(!0)}async initialize(){this.interpolate=await S3e(this),await super.initialize()}async reset(e){this.state.keys=[],this.state.invalid=new Map,this.state.missing=new Set,this.state.completed=0,this.state.values={},e!==!0&&(await this.initialize(),await this.render())}moveCursor(e){let r=this.getItem();this.cursor+=e,r.cursor+=e}dispatch(e,r){if(!r.code&&!r.ctrl&&e!=null&&this.getItem()){this.append(e,r);return}this.alert()}append(e,r){let i=this.getItem(),n=i.input.slice(0,this.cursor),s=i.input.slice(this.cursor);this.input=i.input=`${n}${e}${s}`,this.moveCursor(1),this.render()}delete(){let e=this.getItem();if(this.cursor<=0||!e.input)return this.alert();let r=e.input.slice(this.cursor),i=e.input.slice(0,this.cursor-1);this.input=e.input=`${i}${r}`,this.moveCursor(-1),this.render()}increment(e){return e>=this.state.keys.length-1?0:e+1}decrement(e){return e<=0?this.state.keys.length-1:e-1}first(){this.state.index=0,this.render()}last(){this.state.index=this.state.keys.length-1,this.render()}right(){if(this.cursor>=this.input.length)return this.alert();this.moveCursor(1),this.render()}left(){if(this.cursor<=0)return this.alert();this.moveCursor(-1),this.render()}prev(){this.state.index=this.decrement(this.state.index),this.getItem(),this.render()}next(){this.state.index=this.increment(this.state.index),this.getItem(),this.render()}up(){this.prev()}down(){this.next()}format(e){let r=this.state.completed<100?this.styles.warning:this.styles.success;return this.state.submitted===!0&&this.state.completed!==100&&(r=this.styles.danger),r(`${this.state.completed}% completed`)}async render(){let{index:e,keys:r=[],submitted:i,size:n}=this.state,s=[this.options.newline,` +`].find(B=>B!=null),o=await this.prefix(),a=await this.separator(),l=await this.message(),c=[o,l,a].filter(Boolean).join(" ");this.state.prompt=c;let u=await this.header(),g=await this.error()||"",f=await this.hint()||"",h=i?"":await this.interpolate(this.state),p=this.state.key=r[e]||"",d=await this.format(p),m=await this.footer();d&&(c+=" "+d),f&&!d&&this.state.completed===0&&(c+=" "+f),this.clear(n);let I=[u,c,h,m,g.trim()];this.write(I.filter(Boolean).join(s)),this.restore()}getItem(e){let{items:r,keys:i,index:n}=this.state,s=r.find(o=>o.name===i[n]);return s&&s.input!=null&&(this.input=s.input,this.cursor=s.cursor),s}async submit(){typeof this.interpolate!="function"&&await this.initialize(),await this.interpolate(this.state,!0);let{invalid:e,missing:r,output:i,values:n}=this.state;if(e.size){let a="";for(let[l,c]of e)a+=`Invalid ${l}: ${c} +`;return this.state.error=a,super.submit()}if(r.size)return this.state.error="Required: "+[...r.keys()].join(", "),super.submit();let o=v3e.unstyle(i).split(` +`).map(a=>a.slice(1)).join(` +`);return this.value={values:n,result:o},super.submit()}};xse.exports=kse});var Fse=E((JCt,Dse)=>{"use strict";var k3e="(Use + to sort)",P3e=GA(),Rse=class extends P3e{constructor(e){super(_(P({},e),{reorder:!1,sort:!0,multiple:!0}));this.state.hint=[this.options.hint,k3e].find(this.isValue.bind(this))}indicator(){return""}async renderChoice(e,r){let i=await super.renderChoice(e,r),n=this.symbols.identicalTo+" ",s=this.index===r&&this.sorting?this.styles.muted(n):" ";return this.options.drag===!1&&(s=""),this.options.numbered===!0?s+`${r+1} - `+i:s+i}get selected(){return this.choices}submit(){return this.value=this.choices.map(e=>e.value),super.submit()}};Dse.exports=Rse});var Tse=E((WCt,Nse)=>{"use strict";var D3e=sC(),Lse=class extends D3e{constructor(e={}){super(e);if(this.emptyError=e.emptyError||"No items were selected",this.term=process.env.TERM_PROGRAM,!this.options.header){let r=["","4 - Strongly Agree","3 - Agree","2 - Neutral","1 - Disagree","0 - Strongly Disagree",""];r=r.map(i=>this.styles.muted(i)),this.state.header=r.join(` + `)}}async toChoices(...e){if(this.createdScales)return!1;this.createdScales=!0;let r=await super.toChoices(...e);for(let i of r)i.scale=R3e(5,this.options),i.scaleIdx=2;return r}dispatch(){this.alert()}space(){let e=this.focused,r=e.scale[e.scaleIdx],i=r.selected;return e.scale.forEach(n=>n.selected=!1),r.selected=!i,this.render()}indicator(){return""}pointer(){return""}separator(){return this.styles.muted(this.symbols.ellipsis)}right(){let e=this.focused;return e.scaleIdx>=e.scale.length-1?this.alert():(e.scaleIdx++,this.render())}left(){let e=this.focused;return e.scaleIdx<=0?this.alert():(e.scaleIdx--,this.render())}indent(){return" "}async renderChoice(e,r){await this.onChoice(e,r);let i=this.index===r,n=this.term==="Hyper",s=n?9:8,o=n?"":" ",a=this.symbols.line.repeat(s),l=" ".repeat(s+(n?0:1)),c=b=>(b?this.styles.success("\u25C9"):"\u25EF")+o,u=r+1+".",g=i?this.styles.heading:this.styles.noop,f=await this.resolve(e.message,this.state,e,r),h=this.indent(e),p=h+e.scale.map((b,R)=>c(R===e.scaleIdx)).join(a),d=b=>b===e.scaleIdx?g(b):b,m=h+e.scale.map((b,R)=>d(R)).join(l),I=()=>[u,f].filter(Boolean).join(" "),B=()=>[I(),p,m," "].filter(Boolean).join(` +`);return i&&(p=this.styles.cyan(p),m=this.styles.cyan(m)),B()}async renderChoices(){if(this.state.submitted)return"";let e=this.visible.map(async(i,n)=>await this.renderChoice(i,n)),r=await Promise.all(e);return r.length||r.push(this.styles.danger("No matching choices")),r.join(` +`)}format(){return this.state.submitted?this.choices.map(r=>this.styles.info(r.scaleIdx)).join(", "):""}async render(){let{submitted:e,size:r}=this.state,i=await this.prefix(),n=await this.separator(),s=await this.message(),o=[i,s,n].filter(Boolean).join(" ");this.state.prompt=o;let a=await this.header(),l=await this.format(),c=await this.error()||await this.hint(),u=await this.renderChoices(),g=await this.footer();(l||!c)&&(o+=" "+l),c&&!o.includes(c)&&(o+=" "+c),e&&!l&&!u&&this.multiple&&this.type!=="form"&&(o+=this.styles.danger(this.emptyError)),this.clear(r),this.write([o,a,u,g].filter(Boolean).join(` +`)),this.restore()}submit(){this.value={};for(let e of this.choices)this.value[e.name]=e.scaleIdx;return this.base.submit.call(this)}};function R3e(t,e={}){if(Array.isArray(e.scale))return e.scale.map(i=>P({},i));let r=[];for(let i=1;i{Mse.exports=kN()});var Hse=E((VCt,Kse)=>{"use strict";var F3e=K0(),Use=class extends F3e{async initialize(){await super.initialize(),this.value=this.initial=!!this.options.initial,this.disabled=this.options.disabled||"no",this.enabled=this.options.enabled||"yes",await this.render()}reset(){this.value=this.initial,this.render()}delete(){this.alert()}toggle(){this.value=!this.value,this.render()}enable(){if(this.value===!0)return this.alert();this.value=!0,this.render()}disable(){if(this.value===!1)return this.alert();this.value=!1,this.render()}up(){this.toggle()}down(){this.toggle()}right(){this.toggle()}left(){this.toggle()}next(){this.toggle()}prev(){this.toggle()}dispatch(e="",r){switch(e.toLowerCase()){case" ":return this.toggle();case"1":case"y":case"t":return this.enable();case"0":case"n":case"f":return this.disable();default:return this.alert()}}format(){let e=i=>this.styles.primary.underline(i);return[this.value?this.disabled:e(this.disabled),this.value?e(this.enabled):this.enabled].join(this.styles.muted(" / "))}async render(){let{size:e}=this.state,r=await this.header(),i=await this.prefix(),n=await this.separator(),s=await this.message(),o=await this.format(),a=await this.error()||await this.hint(),l=await this.footer(),c=[i,s,n,o].join(" ");this.state.prompt=c,a&&!c.includes(a)&&(c+=" "+a),this.clear(e),this.write([r,c,l].filter(Boolean).join(` +`)),this.write(this.margin[2]),this.restore()}};Kse.exports=Use});var Yse=E((_Ct,Gse)=>{"use strict";var N3e=GA(),jse=class extends N3e{constructor(e){super(e);if(typeof this.options.correctChoice!="number"||this.options.correctChoice<0)throw new Error("Please specify the index of the correct answer from the list of choices")}async toChoices(e,r){let i=await super.toChoices(e,r);if(i.length<2)throw new Error("Please give at least two choices to the user");if(this.options.correctChoice>i.length)throw new Error("Please specify the index of the correct answer from the list of choices");return i}check(e){return e.index===this.options.correctChoice}async result(e){return{selectedAnswer:e,correctAnswer:this.options.choices[this.options.correctChoice].value,correct:await this.check(this.state)}}};Gse.exports=jse});var Jse=E(RN=>{"use strict";var qse=Mi(),ti=(t,e)=>{qse.defineExport(RN,t,e),qse.defineExport(RN,t.toLowerCase(),e)};ti("AutoComplete",()=>Nne());ti("BasicAuth",()=>Gne());ti("Confirm",()=>Wne());ti("Editable",()=>_ne());ti("Form",()=>O0());ti("Input",()=>kN());ti("Invisible",()=>ose());ti("List",()=>lse());ti("MultiSelect",()=>gse());ti("Numeral",()=>dse());ti("Password",()=>Ese());ti("Scale",()=>Bse());ti("Select",()=>GA());ti("Snippet",()=>Pse());ti("Sort",()=>Fse());ti("Survey",()=>Tse());ti("Text",()=>Ose());ti("Toggle",()=>Hse());ti("Quiz",()=>Yse())});var zse=E((ZCt,Wse)=>{Wse.exports={ArrayPrompt:sC(),AuthPrompt:xN(),BooleanPrompt:K0(),NumberPrompt:PN(),StringPrompt:Mc()}});var aC=E(($Ct,Vse)=>{"use strict";var _se=require("assert"),FN=require("events"),jA=Mi(),No=class extends FN{constructor(e,r){super();this.options=jA.merge({},e),this.answers=P({},r)}register(e,r){if(jA.isObject(e)){for(let n of Object.keys(e))this.register(n,e[n]);return this}_se.equal(typeof r,"function","expected a function");let i=e.toLowerCase();return r.prototype instanceof this.Prompt?this.prompts[i]=r:this.prompts[i]=r(this.Prompt,this),this}async prompt(e=[]){for(let r of[].concat(e))try{typeof r=="function"&&(r=await r.call(this)),await this.ask(jA.merge({},this.options,r))}catch(i){return Promise.reject(i)}return this.answers}async ask(e){typeof e=="function"&&(e=await e.call(this));let r=jA.merge({},this.options,e),{type:i,name:n}=e,{set:s,get:o}=jA;if(typeof i=="function"&&(i=await i.call(this,e,this.answers)),!i)return this.answers[n];_se(this.prompts[i],`Prompt "${i}" is not registered`);let a=new this.prompts[i](r),l=o(this.answers,n);a.state.answers=this.answers,a.enquirer=this,n&&a.on("submit",u=>{this.emit("answer",n,u,a),s(this.answers,n,u)});let c=a.emit.bind(a);return a.emit=(...u)=>(this.emit.call(this,...u),c(...u)),this.emit("prompt",a,this),r.autofill&&l!=null?(a.value=a.input=l,r.autofill==="show"&&await a.submit()):l=a.value=await a.run(),l}use(e){return e.call(this,this),this}set Prompt(e){this._Prompt=e}get Prompt(){return this._Prompt||this.constructor.Prompt}get prompts(){return this.constructor.prompts}static set Prompt(e){this._Prompt=e}static get Prompt(){return this._Prompt||sf()}static get prompts(){return Jse()}static get types(){return zse()}static get prompt(){let e=(r,...i)=>{let n=new this(...i),s=n.emit.bind(n);return n.emit=(...o)=>(e.emit(...o),s(...o)),n.prompt(r)};return jA.mixinEmitter(e,new FN),e}};jA.mixinEmitter(No,new FN);var NN=No.prompts;for(let t of Object.keys(NN)){let e=t.toLowerCase(),r=i=>new NN[t](i).run();No.prompt[e]=r,No[e]=r,No[t]||Reflect.defineProperty(No,t,{get:()=>NN[t]})}var oC=t=>{jA.defineExport(No,t,()=>No.types[t])};oC("ArrayPrompt");oC("AuthPrompt");oC("BooleanPrompt");oC("NumberPrompt");oC("StringPrompt");Vse.exports=No});var loe=E((Gmt,Aoe)=>{function K3e(t,e){for(var r=-1,i=t==null?0:t.length;++r{var U3e=XB(),H3e=jg();function G3e(t,e,r,i){var n=!r;r||(r={});for(var s=-1,o=e.length;++s{var j3e=Af(),Y3e=zg();function q3e(t,e){return t&&j3e(e,Y3e(e),t)}uoe.exports=q3e});var hoe=E((qmt,foe)=>{function J3e(t){var e=[];if(t!=null)for(var r in Object(t))e.push(r);return e}foe.exports=J3e});var doe=E((Jmt,poe)=>{var W3e=Gs(),z3e=u0(),V3e=hoe(),_3e=Object.prototype,X3e=_3e.hasOwnProperty;function Z3e(t){if(!W3e(t))return V3e(t);var e=z3e(t),r=[];for(var i in t)i=="constructor"&&(e||!X3e.call(t,i))||r.push(i);return r}poe.exports=Z3e});var lf=E((Wmt,Coe)=>{var $3e=bF(),eWe=doe(),tWe=Hd();function rWe(t){return tWe(t)?$3e(t,!0):eWe(t)}Coe.exports=rWe});var Eoe=E((zmt,moe)=>{var iWe=Af(),nWe=lf();function sWe(t,e){return t&&iWe(e,nWe(e),t)}moe.exports=sWe});var UN=E((hC,cf)=>{var oWe=Ks(),Ioe=typeof hC=="object"&&hC&&!hC.nodeType&&hC,yoe=Ioe&&typeof cf=="object"&&cf&&!cf.nodeType&&cf,aWe=yoe&&yoe.exports===Ioe,woe=aWe?oWe.Buffer:void 0,Boe=woe?woe.allocUnsafe:void 0;function AWe(t,e){if(e)return t.slice();var r=t.length,i=Boe?Boe(r):new t.constructor(r);return t.copy(i),i}cf.exports=AWe});var HN=E((Vmt,Qoe)=>{function lWe(t,e){var r=-1,i=t.length;for(e||(e=Array(i));++r{var cWe=Af(),uWe=f0();function gWe(t,e){return cWe(t,uWe(t),e)}boe.exports=gWe});var H0=E((Xmt,Soe)=>{var fWe=vF(),hWe=fWe(Object.getPrototypeOf,Object);Soe.exports=hWe});var GN=E((Zmt,xoe)=>{var pWe=$B(),dWe=H0(),CWe=f0(),mWe=RF(),EWe=Object.getOwnPropertySymbols,IWe=EWe?function(t){for(var e=[];t;)pWe(e,CWe(t)),t=dWe(t);return e}:mWe;xoe.exports=IWe});var Poe=E(($mt,koe)=>{var yWe=Af(),wWe=GN();function BWe(t,e){return yWe(t,wWe(t),e)}koe.exports=BWe});var Roe=E((eEt,Doe)=>{var QWe=DF(),bWe=GN(),vWe=lf();function SWe(t){return QWe(t,vWe,bWe)}Doe.exports=SWe});var Noe=E((tEt,Foe)=>{var xWe=Object.prototype,kWe=xWe.hasOwnProperty;function PWe(t){var e=t.length,r=new t.constructor(e);return e&&typeof t[0]=="string"&&kWe.call(t,"index")&&(r.index=t.index,r.input=t.input),r}Foe.exports=PWe});var G0=E((rEt,Loe)=>{var Toe=kF();function DWe(t){var e=new t.constructor(t.byteLength);return new Toe(e).set(new Toe(t)),e}Loe.exports=DWe});var Ooe=E((iEt,Moe)=>{var RWe=G0();function FWe(t,e){var r=e?RWe(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.byteLength)}Moe.exports=FWe});var Uoe=E((nEt,Koe)=>{var NWe=/\w*$/;function LWe(t){var e=new t.constructor(t.source,NWe.exec(t));return e.lastIndex=t.lastIndex,e}Koe.exports=LWe});var qoe=E((sEt,Hoe)=>{var Goe=ac(),joe=Goe?Goe.prototype:void 0,Yoe=joe?joe.valueOf:void 0;function TWe(t){return Yoe?Object(Yoe.call(t)):{}}Hoe.exports=TWe});var jN=E((oEt,Joe)=>{var MWe=G0();function OWe(t,e){var r=e?MWe(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.length)}Joe.exports=OWe});var zoe=E((aEt,Woe)=>{var KWe=G0(),UWe=Ooe(),HWe=Uoe(),GWe=qoe(),jWe=jN(),YWe="[object Boolean]",qWe="[object Date]",JWe="[object Map]",WWe="[object Number]",zWe="[object RegExp]",VWe="[object Set]",_We="[object String]",XWe="[object Symbol]",ZWe="[object ArrayBuffer]",$We="[object DataView]",e8e="[object Float32Array]",t8e="[object Float64Array]",r8e="[object Int8Array]",i8e="[object Int16Array]",n8e="[object Int32Array]",s8e="[object Uint8Array]",o8e="[object Uint8ClampedArray]",a8e="[object Uint16Array]",A8e="[object Uint32Array]";function l8e(t,e,r){var i=t.constructor;switch(e){case ZWe:return KWe(t);case YWe:case qWe:return new i(+t);case $We:return UWe(t,r);case e8e:case t8e:case r8e:case i8e:case n8e:case s8e:case o8e:case a8e:case A8e:return jWe(t,r);case JWe:return new i;case WWe:case _We:return new i(t);case zWe:return HWe(t);case VWe:return new i;case XWe:return GWe(t)}}Woe.exports=l8e});var Xoe=E((AEt,Voe)=>{var c8e=Gs(),_oe=Object.create,u8e=function(){function t(){}return function(e){if(!c8e(e))return{};if(_oe)return _oe(e);t.prototype=e;var r=new t;return t.prototype=void 0,r}}();Voe.exports=u8e});var YN=E((lEt,Zoe)=>{var g8e=Xoe(),f8e=H0(),h8e=u0();function p8e(t){return typeof t.constructor=="function"&&!h8e(t)?g8e(f8e(t)):{}}Zoe.exports=p8e});var eae=E((cEt,$oe)=>{var d8e=jd(),C8e=Qo(),m8e="[object Map]";function E8e(t){return C8e(t)&&d8e(t)==m8e}$oe.exports=E8e});var nae=E((uEt,tae)=>{var I8e=eae(),y8e=A0(),rae=l0(),iae=rae&&rae.isMap,w8e=iae?y8e(iae):I8e;tae.exports=w8e});var oae=E((gEt,sae)=>{var B8e=jd(),Q8e=Qo(),b8e="[object Set]";function v8e(t){return Q8e(t)&&B8e(t)==b8e}sae.exports=v8e});var cae=E((fEt,aae)=>{var S8e=oae(),x8e=A0(),Aae=l0(),lae=Aae&&Aae.isSet,k8e=lae?x8e(lae):S8e;aae.exports=k8e});var pae=E((hEt,uae)=>{var P8e=Gd(),D8e=loe(),R8e=XB(),F8e=goe(),N8e=Eoe(),L8e=UN(),T8e=HN(),M8e=voe(),O8e=Poe(),K8e=FF(),U8e=Roe(),H8e=jd(),G8e=Noe(),j8e=zoe(),Y8e=YN(),q8e=As(),J8e=Od(),W8e=nae(),z8e=Gs(),V8e=cae(),_8e=zg(),X8e=lf(),Z8e=1,$8e=2,e4e=4,gae="[object Arguments]",t4e="[object Array]",r4e="[object Boolean]",i4e="[object Date]",n4e="[object Error]",fae="[object Function]",s4e="[object GeneratorFunction]",o4e="[object Map]",a4e="[object Number]",hae="[object Object]",A4e="[object RegExp]",l4e="[object Set]",c4e="[object String]",u4e="[object Symbol]",g4e="[object WeakMap]",f4e="[object ArrayBuffer]",h4e="[object DataView]",p4e="[object Float32Array]",d4e="[object Float64Array]",C4e="[object Int8Array]",m4e="[object Int16Array]",E4e="[object Int32Array]",I4e="[object Uint8Array]",y4e="[object Uint8ClampedArray]",w4e="[object Uint16Array]",B4e="[object Uint32Array]",rr={};rr[gae]=rr[t4e]=rr[f4e]=rr[h4e]=rr[r4e]=rr[i4e]=rr[p4e]=rr[d4e]=rr[C4e]=rr[m4e]=rr[E4e]=rr[o4e]=rr[a4e]=rr[hae]=rr[A4e]=rr[l4e]=rr[c4e]=rr[u4e]=rr[I4e]=rr[y4e]=rr[w4e]=rr[B4e]=!0;rr[n4e]=rr[fae]=rr[g4e]=!1;function j0(t,e,r,i,n,s){var o,a=e&Z8e,l=e&$8e,c=e&e4e;if(r&&(o=n?r(t,i,n,s):r(t)),o!==void 0)return o;if(!z8e(t))return t;var u=q8e(t);if(u){if(o=G8e(t),!a)return T8e(t,o)}else{var g=H8e(t),f=g==fae||g==s4e;if(J8e(t))return L8e(t,a);if(g==hae||g==gae||f&&!n){if(o=l||f?{}:Y8e(t),!a)return l?O8e(t,N8e(o,t)):M8e(t,F8e(o,t))}else{if(!rr[g])return n?t:{};o=j8e(t,g,a)}}s||(s=new P8e);var h=s.get(t);if(h)return h;s.set(t,o),V8e(t)?t.forEach(function(m){o.add(j0(m,e,r,m,t,s))}):W8e(t)&&t.forEach(function(m,I){o.set(I,j0(m,e,r,I,t,s))});var p=c?l?U8e:K8e:l?X8e:_8e,d=u?void 0:p(t);return D8e(d||t,function(m,I){d&&(I=m,m=t[I]),R8e(o,I,j0(m,e,r,I,t,s))}),o}uae.exports=j0});var qN=E((pEt,dae)=>{var Q4e=pae(),b4e=1,v4e=4;function S4e(t){return Q4e(t,b4e|v4e)}dae.exports=S4e});var mae=E((dEt,Cae)=>{var x4e=tF();function k4e(t,e,r){return t==null?t:x4e(t,e,r)}Cae.exports=k4e});var Qae=E((wEt,Bae)=>{function P4e(t){var e=t==null?0:t.length;return e?t[e-1]:void 0}Bae.exports=P4e});var vae=E((BEt,bae)=>{var D4e=xd(),R4e=zP();function F4e(t,e){return e.length<2?t:D4e(t,R4e(e,0,-1))}bae.exports=F4e});var xae=E((QEt,Sae)=>{var N4e=Gg(),L4e=Qae(),T4e=vae(),M4e=Sc();function O4e(t,e){return e=N4e(e,t),t=T4e(t,e),t==null||delete t[M4e(L4e(e))]}Sae.exports=O4e});var Pae=E((bEt,kae)=>{var K4e=xae();function U4e(t,e){return t==null?!0:K4e(t,e)}kae.exports=U4e});var Kae=E((tIt,Oae)=>{Oae.exports={name:"@yarnpkg/cli",version:"3.1.1",license:"BSD-2-Clause",main:"./sources/index.ts",dependencies:{"@yarnpkg/core":"workspace:^","@yarnpkg/fslib":"workspace:^","@yarnpkg/libzip":"workspace:^","@yarnpkg/parsers":"workspace:^","@yarnpkg/plugin-compat":"workspace:^","@yarnpkg/plugin-dlx":"workspace:^","@yarnpkg/plugin-essentials":"workspace:^","@yarnpkg/plugin-file":"workspace:^","@yarnpkg/plugin-git":"workspace:^","@yarnpkg/plugin-github":"workspace:^","@yarnpkg/plugin-http":"workspace:^","@yarnpkg/plugin-init":"workspace:^","@yarnpkg/plugin-link":"workspace:^","@yarnpkg/plugin-nm":"workspace:^","@yarnpkg/plugin-npm":"workspace:^","@yarnpkg/plugin-npm-cli":"workspace:^","@yarnpkg/plugin-pack":"workspace:^","@yarnpkg/plugin-patch":"workspace:^","@yarnpkg/plugin-pnp":"workspace:^","@yarnpkg/plugin-pnpm":"workspace:^","@yarnpkg/shell":"workspace:^",chalk:"^3.0.0","ci-info":"^3.2.0",clipanion:"^3.0.1",semver:"^7.1.2",tslib:"^1.13.0",typanion:"^3.3.0",yup:"^0.32.9"},devDependencies:{"@types/semver":"^7.1.0","@types/yup":"^0","@yarnpkg/builder":"workspace:^","@yarnpkg/monorepo":"workspace:^","@yarnpkg/pnpify":"workspace:^",micromatch:"^4.0.2",typescript:"^4.5.2"},peerDependencies:{"@yarnpkg/core":"workspace:^"},scripts:{postpack:"rm -rf lib",prepack:'run build:compile "$(pwd)"',"build:cli+hook":"run build:pnp:hook && builder build bundle","build:cli":"builder build bundle","run:cli":"builder run","update-local":"run build:cli --no-git-hash && rsync -a --delete bundles/ bin/"},publishConfig:{main:"./lib/index.js",types:"./lib/index.d.ts",bin:null},files:["/lib/**/*","!/lib/pluginConfiguration.*","!/lib/cli.*"],"@yarnpkg/builder":{bundles:{standard:["@yarnpkg/plugin-essentials","@yarnpkg/plugin-compat","@yarnpkg/plugin-dlx","@yarnpkg/plugin-file","@yarnpkg/plugin-git","@yarnpkg/plugin-github","@yarnpkg/plugin-http","@yarnpkg/plugin-init","@yarnpkg/plugin-link","@yarnpkg/plugin-nm","@yarnpkg/plugin-npm","@yarnpkg/plugin-npm-cli","@yarnpkg/plugin-pack","@yarnpkg/plugin-patch","@yarnpkg/plugin-pnp","@yarnpkg/plugin-pnpm"]}},repository:{type:"git",url:"ssh://git@github.com/yarnpkg/berry.git",directory:"packages/yarnpkg-cli"},engines:{node:">=12 <14 || 14.2 - 14.9 || >14.10.0"}}});var iL=E((SBt,QAe)=>{"use strict";QAe.exports=function(e,r){r===!0&&(r=0);var i=e.indexOf("://"),n=e.substring(0,i).split("+").filter(Boolean);return typeof r=="number"?n[r]:n}});var nL=E((xBt,bAe)=>{"use strict";var sze=iL();function vAe(t){if(Array.isArray(t))return t.indexOf("ssh")!==-1||t.indexOf("rsync")!==-1;if(typeof t!="string")return!1;var e=sze(t);return t=t.substring(t.indexOf("://")+3),vAe(e)?!0:t.indexOf("@"){"use strict";var oze=iL(),aze=nL(),Aze=require("querystring");function lze(t){t=(t||"").trim();var e={protocols:oze(t),protocol:null,port:null,resource:"",user:"",pathname:"",hash:"",search:"",href:t,query:Object.create(null)},r=t.indexOf("://"),i=-1,n=null,s=null;t.startsWith(".")&&(t.startsWith("./")&&(t=t.substring(2)),e.pathname=t,e.protocol="file");var o=t.charAt(1);return e.protocol||(e.protocol=e.protocols[0],e.protocol||(aze(t)?e.protocol="ssh":((o==="/"||o==="~")&&(t=t.substring(2)),e.protocol="file"))),r!==-1&&(t=t.substring(r+3)),s=t.split("/"),e.protocol!=="file"?e.resource=s.shift():e.resource="",n=e.resource.split("@"),n.length===2&&(e.user=n[0],e.resource=n[1]),n=e.resource.split(":"),n.length===2&&(e.resource=n[0],n[1]?(e.port=Number(n[1]),isNaN(e.port)&&(e.port=null,s.unshift(n[1]))):e.port=null),s=s.filter(Boolean),e.protocol==="file"?e.pathname=e.href:e.pathname=e.pathname||(e.protocol!=="file"||e.href[0]==="/"?"/":"")+s.join("/"),n=e.pathname.split("#"),n.length===2&&(e.pathname=n[0],e.hash=n[1]),n=e.pathname.split("?"),n.length===2&&(e.pathname=n[0],e.search=n[1]),e.query=Aze.parse(e.search),e.href=e.href.replace(/\/$/,""),e.pathname=e.pathname.replace(/\/$/,""),e}SAe.exports=lze});var DAe=E((PBt,kAe)=>{"use strict";var cze=typeof URL=="undefined"?require("url").URL:URL,PAe=(t,e)=>e.some(r=>r instanceof RegExp?r.test(t):r===t);kAe.exports=(t,e)=>{e=Object.assign({defaultProtocol:"http:",normalizeProtocol:!0,forceHttp:!1,forceHttps:!1,stripHash:!0,stripWWW:!0,removeQueryParameters:[/^utm_\w+/i],removeTrailingSlash:!0,removeDirectoryIndex:!1,sortQueryParameters:!0},e),Reflect.has(e,"normalizeHttps")&&(e.forceHttp=e.normalizeHttps),Reflect.has(e,"normalizeHttp")&&(e.forceHttps=e.normalizeHttp),Reflect.has(e,"stripFragment")&&(e.stripHash=e.stripFragment),t=t.trim();let r=t.startsWith("//");!r&&/^\.*\//.test(t)||(t=t.replace(/^(?!(?:\w+:)?\/\/)|^\/\//,e.defaultProtocol));let n=new cze(t);if(e.forceHttp&&e.forceHttps)throw new Error("The `forceHttp` and `forceHttps` options cannot be used together");if(e.forceHttp&&n.protocol==="https:"&&(n.protocol="http:"),e.forceHttps&&n.protocol==="http:"&&(n.protocol="https:"),e.stripHash&&(n.hash=""),n.pathname&&(n.pathname=n.pathname.replace(/((?![https?:]).)\/{2,}/g,(s,o)=>/^(?!\/)/g.test(o)?`${o}/`:"/")),n.pathname&&(n.pathname=decodeURI(n.pathname)),e.removeDirectoryIndex===!0&&(e.removeDirectoryIndex=[/^index\.[a-z]+$/]),Array.isArray(e.removeDirectoryIndex)&&e.removeDirectoryIndex.length>0){let s=n.pathname.split("/"),o=s[s.length-1];PAe(o,e.removeDirectoryIndex)&&(s=s.slice(0,s.length-1),n.pathname=s.slice(1).join("/")+"/")}if(n.hostname&&(n.hostname=n.hostname.replace(/\.$/,""),e.stripWWW&&/^www\.([a-z\-\d]{2,63})\.([a-z\.]{2,5})$/.test(n.hostname)&&(n.hostname=n.hostname.replace(/^www\./,""))),Array.isArray(e.removeQueryParameters))for(let s of[...n.searchParams.keys()])PAe(s,e.removeQueryParameters)&&n.searchParams.delete(s);return e.sortQueryParameters&&n.searchParams.sort(),t=n.toString(),(e.removeTrailingSlash||n.pathname==="/")&&(t=t.replace(/\/$/,"")),r&&!e.normalizeProtocol&&(t=t.replace(/^http:\/\//,"//")),t}});var FAe=E((DBt,RAe)=>{"use strict";var uze=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},gze=xAe(),fze=DAe();function hze(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;if(typeof t!="string"||!t.trim())throw new Error("Invalid url.");e&&((typeof e=="undefined"?"undefined":uze(e))!=="object"&&(e={stripFragment:!1}),t=fze(t,e));var r=gze(t);return r}RAe.exports=hze});var TAe=E((RBt,NAe)=>{"use strict";var pze=FAe(),LAe=nL();function dze(t){var e=pze(t);e.token="";var r=e.user.split(":");return r.length===2&&(r[1]==="x-oauth-basic"?e.token=r[0]:r[0]==="x-token-auth"&&(e.token=r[1])),LAe(e.protocols)||LAe(t)?e.protocol="ssh":e.protocols.length?e.protocol=e.protocols[0]:e.protocol="file",e.href=e.href.replace(/\/$/,""),e}NAe.exports=dze});var OAe=E((FBt,MAe)=>{"use strict";var Cze=TAe();function sL(t){if(typeof t!="string")throw new Error("The url must be a string.");var e=Cze(t),r=e.resource.split("."),i=null;switch(e.toString=function(l){return sL.stringify(this,l)},e.source=r.length>2?r.slice(1-r.length).join("."):e.source=e.resource,e.git_suffix=/\.git$/.test(e.pathname),e.name=decodeURIComponent(e.pathname.replace(/^\//,"").replace(/\.git$/,"")),e.owner=decodeURIComponent(e.user),e.source){case"git.cloudforge.com":e.owner=e.user,e.organization=r[0],e.source="cloudforge.com";break;case"visualstudio.com":if(e.resource==="vs-ssh.visualstudio.com"){i=e.name.split("/"),i.length===4&&(e.organization=i[1],e.owner=i[2],e.name=i[3],e.full_name=i[2]+"/"+i[3]);break}else{i=e.name.split("/"),i.length===2?(e.owner=i[1],e.name=i[1],e.full_name="_git/"+e.name):i.length===3?(e.name=i[2],i[0]==="DefaultCollection"?(e.owner=i[2],e.organization=i[0],e.full_name=e.organization+"/_git/"+e.name):(e.owner=i[0],e.full_name=e.owner+"/_git/"+e.name)):i.length===4&&(e.organization=i[0],e.owner=i[1],e.name=i[3],e.full_name=e.organization+"/"+e.owner+"/_git/"+e.name);break}case"dev.azure.com":case"azure.com":if(e.resource==="ssh.dev.azure.com"){i=e.name.split("/"),i.length===4&&(e.organization=i[1],e.owner=i[2],e.name=i[3]);break}else{i=e.name.split("/"),i.length===5?(e.organization=i[0],e.owner=i[1],e.name=i[4],e.full_name="_git/"+e.name):i.length===3?(e.name=i[2],i[0]==="DefaultCollection"?(e.owner=i[2],e.organization=i[0],e.full_name=e.organization+"/_git/"+e.name):(e.owner=i[0],e.full_name=e.owner+"/_git/"+e.name)):i.length===4&&(e.organization=i[0],e.owner=i[1],e.name=i[3],e.full_name=e.organization+"/"+e.owner+"/_git/"+e.name);break}default:i=e.name.split("/");var n=i.length-1;if(i.length>=2){var s=i.indexOf("blob",2),o=i.indexOf("tree",2),a=i.indexOf("commit",2);n=s>0?s-1:o>0?o-1:a>0?a-1:n,e.owner=i.slice(0,n).join("/"),e.name=i[n],a&&(e.commit=i[n+2])}e.ref="",e.filepathtype="",e.filepath="",i.length>n+2&&["blob","tree"].indexOf(i[n+1])>=0&&(e.filepathtype=i[n+1],e.ref=i[n+2],i.length>n+3&&(e.filepath=i.slice(n+3).join("/"))),e.organization=e.owner;break}return e.full_name||(e.full_name=e.owner,e.name&&(e.full_name&&(e.full_name+="/"),e.full_name+=e.name)),e}sL.stringify=function(t,e){e=e||(t.protocols&&t.protocols.length?t.protocols.join("+"):t.protocol);var r=t.port?":"+t.port:"",i=t.user||"git",n=t.git_suffix?".git":"";switch(e){case"ssh":return r?"ssh://"+i+"@"+t.resource+r+"/"+t.full_name+n:i+"@"+t.resource+":"+t.full_name+n;case"git+ssh":case"ssh+git":case"ftp":case"ftps":return e+"://"+i+"@"+t.resource+r+"/"+t.full_name+n;case"http":case"https":var s=t.token?mze(t):t.user&&(t.protocols.includes("http")||t.protocols.includes("https"))?t.user+"@":"";return e+"://"+s+t.resource+r+"/"+t.full_name+n;default:return t.href}};function mze(t){switch(t.source){case"bitbucket.org":return"x-token-auth:"+t.token+"@";default:return t.token+"@"}}MAe.exports=sL});var NL=E((Obt,ole)=>{var Mze=jg(),Oze=Kg();function Kze(t,e,r){(r!==void 0&&!Oze(t[e],r)||r===void 0&&!(e in t))&&Mze(t,e,r)}ole.exports=Kze});var Ale=E((Kbt,ale)=>{var Uze=Hd(),Hze=Qo();function Gze(t){return Hze(t)&&Uze(t)}ale.exports=Gze});var ule=E((Ubt,lle)=>{var jze=Ac(),Yze=H0(),qze=Qo(),Jze="[object Object]",Wze=Function.prototype,zze=Object.prototype,cle=Wze.toString,Vze=zze.hasOwnProperty,_ze=cle.call(Object);function Xze(t){if(!qze(t)||jze(t)!=Jze)return!1;var e=Yze(t);if(e===null)return!0;var r=Vze.call(e,"constructor")&&e.constructor;return typeof r=="function"&&r instanceof r&&cle.call(r)==_ze}lle.exports=Xze});var LL=E((Hbt,gle)=>{function Zze(t,e){if(!(e==="constructor"&&typeof t[e]=="function")&&e!="__proto__")return t[e]}gle.exports=Zze});var hle=E((Gbt,fle)=>{var $ze=Af(),e5e=lf();function t5e(t){return $ze(t,e5e(t))}fle.exports=t5e});var Ile=E((jbt,ple)=>{var dle=NL(),r5e=UN(),i5e=jN(),n5e=HN(),s5e=YN(),Cle=Pd(),mle=As(),o5e=Ale(),a5e=Od(),A5e=zB(),l5e=Gs(),c5e=ule(),u5e=c0(),Ele=LL(),g5e=hle();function f5e(t,e,r,i,n,s,o){var a=Ele(t,r),l=Ele(e,r),c=o.get(l);if(c){dle(t,r,c);return}var u=s?s(a,l,r+"",t,e,o):void 0,g=u===void 0;if(g){var f=mle(l),h=!f&&a5e(l),p=!f&&!h&&u5e(l);u=l,f||h||p?mle(a)?u=a:o5e(a)?u=n5e(a):h?(g=!1,u=r5e(l,!0)):p?(g=!1,u=i5e(l,!0)):u=[]:c5e(l)||Cle(l)?(u=a,Cle(a)?u=g5e(a):(!l5e(a)||A5e(a))&&(u=s5e(l))):g=!1}g&&(o.set(l,u),n(u,l,i,s,o),o.delete(l)),dle(t,r,u)}ple.exports=f5e});var Ble=E((Ybt,yle)=>{var h5e=Gd(),p5e=NL(),d5e=BF(),C5e=Ile(),m5e=Gs(),E5e=lf(),I5e=LL();function wle(t,e,r,i,n){t!==e&&d5e(e,function(s,o){if(n||(n=new h5e),m5e(s))C5e(t,e,o,r,wle,i,n);else{var a=i?i(I5e(t,o),s,o+"",t,e,n):void 0;a===void 0&&(a=s),p5e(t,o,a)}},E5e)}yle.exports=wle});var ble=E((qbt,Qle)=>{var y5e=e0(),w5e=nF(),B5e=sF();function Q5e(t,e){return B5e(w5e(t,e,y5e),t+"")}Qle.exports=Q5e});var Sle=E((Jbt,vle)=>{var b5e=Kg(),v5e=Hd(),S5e=kd(),x5e=Gs();function k5e(t,e,r){if(!x5e(r))return!1;var i=typeof e;return(i=="number"?v5e(r)&&S5e(e,r.length):i=="string"&&e in r)?b5e(r[e],t):!1}vle.exports=k5e});var kle=E((Wbt,xle)=>{var P5e=ble(),D5e=Sle();function R5e(t){return P5e(function(e,r){var i=-1,n=r.length,s=n>1?r[n-1]:void 0,o=n>2?r[2]:void 0;for(s=t.length>3&&typeof s=="function"?(n--,s):void 0,o&&D5e(r[0],r[1],o)&&(s=n<3?void 0:s,n=1),e=Object(e);++i{var F5e=Ble(),N5e=kle(),L5e=N5e(function(t,e,r){F5e(t,e,r)});Ple.exports=L5e});var Wle=E(($vt,Jle)=>{var VL;Jle.exports=()=>(typeof VL=="undefined"&&(VL=require("zlib").brotliDecompressSync(Buffer.from("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","base64")).toString()),VL)});var $le=E(XL=>{function pf(t,e){if(typeof t=="string")return t;if(t){let r,i;if(Array.isArray(t)){for(r=0;r0)return(f=pf(n[g],u))?f.replace("*",c.substring(g.length-1)):Gc(i,c,1)}return Gc(i,c)}}function l6e(t,e={}){let r=0,i,n=e.browser,s=e.fields||["module","main"];for(n&&!s.includes("browser")&&s.unshift("browser");r{var eT;nce.exports=()=>(typeof eT=="undefined"&&(eT=require("zlib").brotliDecompressSync(Buffer.from("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","base64")).toString()),eT)});var gce=E((aT,AT)=>{(function(t){aT&&typeof aT=="object"&&typeof AT!="undefined"?AT.exports=t():typeof define=="function"&&define.amd?define([],t):typeof window!="undefined"?window.isWindows=t():typeof global!="undefined"?global.isWindows=t():typeof self!="undefined"?self.isWindows=t():this.isWindows=t()})(function(){"use strict";return function(){return process&&(process.platform==="win32"||/^(msys|cygwin)$/.test(process.env.OSTYPE))}})});var dce=E((Dxt,fce)=>{"use strict";lT.ifExists=E6e;var mf=require("util"),Es=require("path"),hce=gce(),I6e=/^#!\s*(?:\/usr\/bin\/env)?\s*([^ \t]+)(.*)$/,y6e={createPwshFile:!0,createCmdFile:hce(),fs:require("fs")},w6e=new Map([[".js","node"],[".cjs","node"],[".mjs","node"],[".cmd","cmd"],[".bat","cmd"],[".ps1","pwsh"],[".sh","sh"]]);function pce(t){let e=P(P({},y6e),t),r=e.fs;return e.fs_={chmod:r.chmod?mf.promisify(r.chmod):async()=>{},mkdir:mf.promisify(r.mkdir),readFile:mf.promisify(r.readFile),stat:mf.promisify(r.stat),unlink:mf.promisify(r.unlink),writeFile:mf.promisify(r.writeFile)},e}async function lT(t,e,r){let i=pce(r);await i.fs_.stat(t),await B6e(t,e,i)}function E6e(t,e,r){return lT(t,e,r).catch(()=>{})}function Q6e(t,e){return e.fs_.unlink(t).catch(()=>{})}async function B6e(t,e,r){let i=await S6e(t,r);return await b6e(e,r),v6e(t,e,i,r)}function b6e(t,e){return e.fs_.mkdir(Es.dirname(t),{recursive:!0})}function v6e(t,e,r,i){let n=pce(i),s=[{generator:P6e,extension:""}];return n.createCmdFile&&s.push({generator:k6e,extension:".cmd"}),n.createPwshFile&&s.push({generator:D6e,extension:".ps1"}),Promise.all(s.map(o=>x6e(t,e+o.extension,r,o.generator,n)))}function R6e(t,e){return Q6e(t,e)}function N6e(t,e){return F6e(t,e)}async function S6e(t,e){let n=(await e.fs_.readFile(t,"utf8")).trim().split(/\r*\n/)[0].match(I6e);if(!n){let s=Es.extname(t).toLowerCase();return{program:w6e.get(s)||null,additionalArgs:""}}return{program:n[1],additionalArgs:n[2]}}async function x6e(t,e,r,i,n){let s=n.preserveSymlinks?"--preserve-symlinks":"",o=[r.additionalArgs,s].filter(a=>a).join(" ");return n=Object.assign({},n,{prog:r.program,args:o}),await R6e(e,n),await n.fs_.writeFile(e,i(t,e,n),"utf8"),N6e(e,n)}function k6e(t,e,r){let n=Es.relative(Es.dirname(e),t).split("/").join("\\"),s=Es.isAbsolute(n)?`"${n}"`:`"%~dp0\\${n}"`,o,a=r.prog,l=r.args||"",c=cT(r.nodePath).win32;a?(o=`"%~dp0\\${a}.exe"`,n=s):(a=s,l="",n="");let u=r.progArgs?`${r.progArgs.join(" ")} `:"",g=c?`@SET NODE_PATH=${c}\r +`:"";return o?g+=`@IF EXIST ${o} (\r + ${o} ${l} ${n} ${u}%*\r +) ELSE (\r + @SETLOCAL\r + @SET PATHEXT=%PATHEXT:;.JS;=;%\r + ${a} ${l} ${n} ${u}%*\r +)\r +`:g+=`@${a} ${l} ${n} ${u}%*\r +`,g}function P6e(t,e,r){let i=Es.relative(Es.dirname(e),t),n=r.prog&&r.prog.split("\\").join("/"),s;i=i.split("\\").join("/");let o=Es.isAbsolute(i)?`"${i}"`:`"$basedir/${i}"`,a=r.args||"",l=cT(r.nodePath).posix;n?(s=`"$basedir/${r.prog}"`,i=o):(n=o,a="",i="");let c=r.progArgs?`${r.progArgs.join(" ")} `:"",u=`#!/bin/sh +basedir=$(dirname "$(echo "$0" | sed -e 's,\\\\,/,g')") + +case \`uname\` in + *CYGWIN*) basedir=\`cygpath -w "$basedir"\`;; +esac + +`,g=r.nodePath?`export NODE_PATH="${l}" +`:"";return s?u+=`${g}if [ -x ${s} ]; then + exec ${s} ${a} ${i} ${c}"$@" +else + exec ${n} ${a} ${i} ${c}"$@" +fi +`:u+=`${g}${n} ${a} ${i} ${c}"$@" +exit $? +`,u}function D6e(t,e,r){let i=Es.relative(Es.dirname(e),t),n=r.prog&&r.prog.split("\\").join("/"),s=n&&`"${n}$exe"`,o;i=i.split("\\").join("/");let a=Es.isAbsolute(i)?`"${i}"`:`"$basedir/${i}"`,l=r.args||"",c=cT(r.nodePath),u=c.win32,g=c.posix;s?(o=`"$basedir/${r.prog}$exe"`,i=a):(s=a,l="",i="");let f=r.progArgs?`${r.progArgs.join(" ")} `:"",h=`#!/usr/bin/env pwsh +$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent + +$exe="" +${r.nodePath?`$env_node_path=$env:NODE_PATH +$env:NODE_PATH="${u}" +`:""}if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) { + # Fix case when both the Windows and Linux builds of Node + # are installed in the same directory + $exe=".exe" +}`;return r.nodePath&&(h+=` else { + $env:NODE_PATH="${g}" +}`),o?h+=` +$ret=0 +if (Test-Path ${o}) { + # Support pipeline input + if ($MyInvocation.ExpectingInput) { + $input | & ${o} ${l} ${i} ${f}$args + } else { + & ${o} ${l} ${i} ${f}$args + } + $ret=$LASTEXITCODE +} else { + # Support pipeline input + if ($MyInvocation.ExpectingInput) { + $input | & ${s} ${l} ${i} ${f}$args + } else { + & ${s} ${l} ${i} ${f}$args + } + $ret=$LASTEXITCODE +} +${r.nodePath?`$env:NODE_PATH=$env_node_path +`:""}exit $ret +`:h+=` +# Support pipeline input +if ($MyInvocation.ExpectingInput) { + $input | & ${s} ${l} ${i} ${f}$args +} else { + & ${s} ${l} ${i} ${f}$args +} +${r.nodePath?`$env:NODE_PATH=$env_node_path +`:""}exit $LASTEXITCODE +`,h}function F6e(t,e){return e.fs_.chmod(t,493)}function cT(t){if(!t)return{win32:"",posix:""};let e=typeof t=="string"?t.split(Es.delimiter):Array.from(t),r={};for(let i=0;i`/mnt/${a.toLowerCase()}`):e[i];r.win32=r.win32?`${r.win32};${n}`:n,r.posix=r.posix?`${r.posix}:${s}`:s,r[i]={win32:n,posix:s}}return r}fce.exports=lT});var PT=E((fPt,Nce)=>{Nce.exports=require("stream")});var Oce=E((hPt,Lce)=>{"use strict";function Tce(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter(function(n){return Object.getOwnPropertyDescriptor(t,n).enumerable})),r.push.apply(r,i)}return r}function e9e(t){for(var e=1;e0?this.tail.next=i:this.head=i,this.tail=i,++this.length}},{key:"unshift",value:function(r){var i={data:r,next:this.head};this.length===0&&(this.tail=i),this.head=i,++this.length}},{key:"shift",value:function(){if(this.length!==0){var r=this.head.data;return this.length===1?this.head=this.tail=null:this.head=this.head.next,--this.length,r}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(r){if(this.length===0)return"";for(var i=this.head,n=""+i.data;i=i.next;)n+=r+i.data;return n}},{key:"concat",value:function(r){if(this.length===0)return iQ.alloc(0);for(var i=iQ.allocUnsafe(r>>>0),n=this.head,s=0;n;)o9e(n.data,i,s),s+=n.data.length,n=n.next;return i}},{key:"consume",value:function(r,i){var n;return ro.length?o.length:r;if(a===o.length?s+=o:s+=o.slice(0,r),r-=a,r===0){a===o.length?(++n,i.next?this.head=i.next:this.head=this.tail=null):(this.head=i,i.data=o.slice(a));break}++n}return this.length-=n,s}},{key:"_getBuffer",value:function(r){var i=iQ.allocUnsafe(r),n=this.head,s=1;for(n.data.copy(i),r-=n.data.length;n=n.next;){var o=n.data,a=r>o.length?o.length:r;if(o.copy(i,i.length-r,0,a),r-=a,r===0){a===o.length?(++s,n.next?this.head=n.next:this.head=this.tail=null):(this.head=n,n.data=o.slice(a));break}++s}return this.length-=s,i}},{key:s9e,value:function(r,i){return DT(this,e9e({},i,{depth:0,customInspect:!1}))}}]),t}()});var FT=E((pPt,Kce)=>{"use strict";function a9e(t,e){var r=this,i=this._readableState&&this._readableState.destroyed,n=this._writableState&&this._writableState.destroyed;return i||n?(e?e(t):t&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,process.nextTick(RT,this,t)):process.nextTick(RT,this,t)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(t||null,function(s){!e&&s?r._writableState?r._writableState.errorEmitted?process.nextTick(nQ,r):(r._writableState.errorEmitted=!0,process.nextTick(Uce,r,s)):process.nextTick(Uce,r,s):e?(process.nextTick(nQ,r),e(s)):process.nextTick(nQ,r)}),this)}function Uce(t,e){RT(t,e),nQ(t)}function nQ(t){t._writableState&&!t._writableState.emitClose||t._readableState&&!t._readableState.emitClose||t.emit("close")}function A9e(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)}function RT(t,e){t.emit("error",e)}function l9e(t,e){var r=t._readableState,i=t._writableState;r&&r.autoDestroy||i&&i.autoDestroy?t.destroy(e):t.emit("error",e)}Kce.exports={destroy:a9e,undestroy:A9e,errorOrDestroy:l9e}});var VA=E((dPt,Hce)=>{"use strict";var Gce={};function Is(t,e,r){r||(r=Error);function i(s,o,a){return typeof e=="string"?e:e(s,o,a)}class n extends r{constructor(o,a,l){super(i(o,a,l))}}n.prototype.name=r.name,n.prototype.code=t,Gce[t]=n}function jce(t,e){if(Array.isArray(t)){let r=t.length;return t=t.map(i=>String(i)),r>2?`one of ${e} ${t.slice(0,r-1).join(", ")}, or `+t[r-1]:r===2?`one of ${e} ${t[0]} or ${t[1]}`:`of ${e} ${t[0]}`}else return`of ${e} ${String(t)}`}function c9e(t,e,r){return t.substr(!r||r<0?0:+r,e.length)===e}function u9e(t,e,r){return(r===void 0||r>t.length)&&(r=t.length),t.substring(r-e.length,r)===e}function g9e(t,e,r){return typeof r!="number"&&(r=0),r+e.length>t.length?!1:t.indexOf(e,r)!==-1}Is("ERR_INVALID_OPT_VALUE",function(t,e){return'The value "'+e+'" is invalid for option "'+t+'"'},TypeError);Is("ERR_INVALID_ARG_TYPE",function(t,e,r){let i;typeof e=="string"&&c9e(e,"not ")?(i="must not be",e=e.replace(/^not /,"")):i="must be";let n;if(u9e(t," argument"))n=`The ${t} ${i} ${jce(e,"type")}`;else{let s=g9e(t,".")?"property":"argument";n=`The "${t}" ${s} ${i} ${jce(e,"type")}`}return n+=`. Received type ${typeof r}`,n},TypeError);Is("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF");Is("ERR_METHOD_NOT_IMPLEMENTED",function(t){return"The "+t+" method is not implemented"});Is("ERR_STREAM_PREMATURE_CLOSE","Premature close");Is("ERR_STREAM_DESTROYED",function(t){return"Cannot call "+t+" after a stream was destroyed"});Is("ERR_MULTIPLE_CALLBACK","Callback called multiple times");Is("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable");Is("ERR_STREAM_WRITE_AFTER_END","write after end");Is("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError);Is("ERR_UNKNOWN_ENCODING",function(t){return"Unknown encoding: "+t},TypeError);Is("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event");Hce.exports.codes=Gce});var NT=E((CPt,Yce)=>{"use strict";var f9e=VA().codes.ERR_INVALID_OPT_VALUE;function h9e(t,e,r){return t.highWaterMark!=null?t.highWaterMark:e?t[r]:null}function p9e(t,e,r,i){var n=h9e(e,i,r);if(n!=null){if(!(isFinite(n)&&Math.floor(n)===n)||n<0){var s=i?r:"highWaterMark";throw new f9e(s,n)}return Math.floor(n)}return t.objectMode?16:16*1024}Yce.exports={getHighWaterMark:p9e}});var qce=E((mPt,LT)=>{typeof Object.create=="function"?LT.exports=function(e,r){r&&(e.super_=r,e.prototype=Object.create(r.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:LT.exports=function(e,r){if(r){e.super_=r;var i=function(){};i.prototype=r.prototype,e.prototype=new i,e.prototype.constructor=e}}});var _A=E((EPt,TT)=>{try{if(MT=require("util"),typeof MT.inherits!="function")throw"";TT.exports=MT.inherits}catch(t){TT.exports=qce()}var MT});var Wce=E((IPt,Jce)=>{Jce.exports=require("util").deprecate});var UT=E((yPt,zce)=>{"use strict";zce.exports=Sr;function Vce(t){var e=this;this.next=null,this.entry=null,this.finish=function(){d9e(e,t)}}var If;Sr.WritableState=em;var C9e={deprecate:Wce()},_ce=PT(),sQ=require("buffer").Buffer,m9e=global.Uint8Array||function(){};function E9e(t){return sQ.from(t)}function I9e(t){return sQ.isBuffer(t)||t instanceof m9e}var OT=FT(),y9e=NT(),w9e=y9e.getHighWaterMark,XA=VA().codes,B9e=XA.ERR_INVALID_ARG_TYPE,Q9e=XA.ERR_METHOD_NOT_IMPLEMENTED,b9e=XA.ERR_MULTIPLE_CALLBACK,v9e=XA.ERR_STREAM_CANNOT_PIPE,S9e=XA.ERR_STREAM_DESTROYED,x9e=XA.ERR_STREAM_NULL_VALUES,k9e=XA.ERR_STREAM_WRITE_AFTER_END,P9e=XA.ERR_UNKNOWN_ENCODING,yf=OT.errorOrDestroy;_A()(Sr,_ce);function D9e(){}function em(t,e,r){If=If||Yc(),t=t||{},typeof r!="boolean"&&(r=e instanceof If),this.objectMode=!!t.objectMode,r&&(this.objectMode=this.objectMode||!!t.writableObjectMode),this.highWaterMark=w9e(this,t,"writableHighWaterMark",r),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var i=t.decodeStrings===!1;this.decodeStrings=!i,this.defaultEncoding=t.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(n){R9e(e,n)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=t.emitClose!==!1,this.autoDestroy=!!t.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new Vce(this)}em.prototype.getBuffer=function(){for(var e=this.bufferedRequest,r=[];e;)r.push(e),e=e.next;return r};(function(){try{Object.defineProperty(em.prototype,"buffer",{get:C9e.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch(t){}})();var oQ;typeof Symbol=="function"&&Symbol.hasInstance&&typeof Function.prototype[Symbol.hasInstance]=="function"?(oQ=Function.prototype[Symbol.hasInstance],Object.defineProperty(Sr,Symbol.hasInstance,{value:function(e){return oQ.call(this,e)?!0:this!==Sr?!1:e&&e._writableState instanceof em}})):oQ=function(e){return e instanceof this};function Sr(t){If=If||Yc();var e=this instanceof If;if(!e&&!oQ.call(Sr,this))return new Sr(t);this._writableState=new em(t,this,e),this.writable=!0,t&&(typeof t.write=="function"&&(this._write=t.write),typeof t.writev=="function"&&(this._writev=t.writev),typeof t.destroy=="function"&&(this._destroy=t.destroy),typeof t.final=="function"&&(this._final=t.final)),_ce.call(this)}Sr.prototype.pipe=function(){yf(this,new v9e)};function F9e(t,e){var r=new k9e;yf(t,r),process.nextTick(e,r)}function N9e(t,e,r,i){var n;return r===null?n=new x9e:typeof r!="string"&&!e.objectMode&&(n=new B9e("chunk",["string","Buffer"],r)),n?(yf(t,n),process.nextTick(i,n),!1):!0}Sr.prototype.write=function(t,e,r){var i=this._writableState,n=!1,s=!i.objectMode&&I9e(t);return s&&!sQ.isBuffer(t)&&(t=E9e(t)),typeof e=="function"&&(r=e,e=null),s?e="buffer":e||(e=i.defaultEncoding),typeof r!="function"&&(r=D9e),i.ending?F9e(this,r):(s||N9e(this,i,t,r))&&(i.pendingcb++,n=L9e(this,i,s,t,e,r)),n};Sr.prototype.cork=function(){this._writableState.corked++};Sr.prototype.uncork=function(){var t=this._writableState;t.corked&&(t.corked--,!t.writing&&!t.corked&&!t.bufferProcessing&&t.bufferedRequest&&Xce(this,t))};Sr.prototype.setDefaultEncoding=function(e){if(typeof e=="string"&&(e=e.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((e+"").toLowerCase())>-1))throw new P9e(e);return this._writableState.defaultEncoding=e,this};Object.defineProperty(Sr.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}});function T9e(t,e,r){return!t.objectMode&&t.decodeStrings!==!1&&typeof e=="string"&&(e=sQ.from(e,r)),e}Object.defineProperty(Sr.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}});function L9e(t,e,r,i,n,s){if(!r){var o=T9e(e,i,n);i!==o&&(r=!0,n="buffer",i=o)}var a=e.objectMode?1:i.length;e.length+=a;var l=e.length{"use strict";var j9e=Object.keys||function(t){var e=[];for(var r in t)e.push(r);return e};eue.exports=Mo;var tue=HT(),GT=UT();_A()(Mo,tue);for(jT=j9e(GT.prototype),aQ=0;aQ{var lQ=require("buffer"),qa=lQ.Buffer;function iue(t,e){for(var r in t)e[r]=t[r]}qa.from&&qa.alloc&&qa.allocUnsafe&&qa.allocUnsafeSlow?rue.exports=lQ:(iue(lQ,YT),YT.Buffer=wf);function wf(t,e,r){return qa(t,e,r)}iue(qa,wf);wf.from=function(t,e,r){if(typeof t=="number")throw new TypeError("Argument must not be a number");return qa(t,e,r)};wf.alloc=function(t,e,r){if(typeof t!="number")throw new TypeError("Argument must be a number");var i=qa(t);return e!==void 0?typeof r=="string"?i.fill(e,r):i.fill(e):i.fill(0),i};wf.allocUnsafe=function(t){if(typeof t!="number")throw new TypeError("Argument must be a number");return qa(t)};wf.allocUnsafeSlow=function(t){if(typeof t!="number")throw new TypeError("Argument must be a number");return lQ.SlowBuffer(t)}});var WT=E(sue=>{"use strict";var qT=nue().Buffer,oue=qT.isEncoding||function(t){switch(t=""+t,t&&t.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function J9e(t){if(!t)return"utf8";for(var e;;)switch(t){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return t;default:if(e)return;t=(""+t).toLowerCase(),e=!0}}function W9e(t){var e=J9e(t);if(typeof e!="string"&&(qT.isEncoding===oue||!oue(t)))throw new Error("Unknown encoding: "+t);return e||t}sue.StringDecoder=rm;function rm(t){this.encoding=W9e(t);var e;switch(this.encoding){case"utf16le":this.text=V9e,this.end=_9e,e=4;break;case"utf8":this.fillLast=z9e,e=4;break;case"base64":this.text=X9e,this.end=Z9e,e=3;break;default:this.write=$9e,this.end=eVe;return}this.lastNeed=0,this.lastTotal=0,this.lastChar=qT.allocUnsafe(e)}rm.prototype.write=function(t){if(t.length===0)return"";var e,r;if(this.lastNeed){if(e=this.fillLast(t),e===void 0)return"";r=this.lastNeed,this.lastNeed=0}else r=0;return r>5==6?2:t>>4==14?3:t>>3==30?4:t>>6==2?-1:-2}function iVe(t,e,r){var i=e.length-1;if(i=0?(n>0&&(t.lastNeed=n-1),n):--i=0?(n>0&&(t.lastNeed=n-2),n):--i=0?(n>0&&(n===2?n=0:t.lastNeed=n-3),n):0))}function nVe(t,e,r){if((e[0]&192)!=128)return t.lastNeed=0,"\uFFFD";if(t.lastNeed>1&&e.length>1){if((e[1]&192)!=128)return t.lastNeed=1,"\uFFFD";if(t.lastNeed>2&&e.length>2&&(e[2]&192)!=128)return t.lastNeed=2,"\uFFFD"}}function z9e(t){var e=this.lastTotal-this.lastNeed,r=nVe(this,t,e);if(r!==void 0)return r;if(this.lastNeed<=t.length)return t.copy(this.lastChar,e,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);t.copy(this.lastChar,e,0,t.length),this.lastNeed-=t.length}function rVe(t,e){var r=iVe(this,t,e);if(!this.lastNeed)return t.toString("utf8",e);this.lastTotal=r;var i=t.length-(r-this.lastNeed);return t.copy(this.lastChar,0,i),t.toString("utf8",e,i)}function tVe(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+"\uFFFD":e}function V9e(t,e){if((t.length-e)%2==0){var r=t.toString("utf16le",e);if(r){var i=r.charCodeAt(r.length-1);if(i>=55296&&i<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1],r.slice(0,-1)}return r}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=t[t.length-1],t.toString("utf16le",e,t.length-1)}function _9e(t){var e=t&&t.length?this.write(t):"";if(this.lastNeed){var r=this.lastTotal-this.lastNeed;return e+this.lastChar.toString("utf16le",0,r)}return e}function X9e(t,e){var r=(t.length-e)%3;return r===0?t.toString("base64",e):(this.lastNeed=3-r,this.lastTotal=3,r===1?this.lastChar[0]=t[t.length-1]:(this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1]),t.toString("base64",e,t.length-r))}function Z9e(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+this.lastChar.toString("base64",0,3-this.lastNeed):e}function $9e(t){return t.toString(this.encoding)}function eVe(t){return t&&t.length?this.write(t):""}});var cQ=E((QPt,aue)=>{"use strict";var Aue=VA().codes.ERR_STREAM_PREMATURE_CLOSE;function sVe(t){var e=!1;return function(){if(!e){e=!0;for(var r=arguments.length,i=new Array(r),n=0;n{"use strict";var uQ;function ZA(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var AVe=cQ(),$A=Symbol("lastResolve"),qc=Symbol("lastReject"),im=Symbol("error"),gQ=Symbol("ended"),Jc=Symbol("lastPromise"),zT=Symbol("handlePromise"),Wc=Symbol("stream");function el(t,e){return{value:t,done:e}}function lVe(t){var e=t[$A];if(e!==null){var r=t[Wc].read();r!==null&&(t[Jc]=null,t[$A]=null,t[qc]=null,e(el(r,!1)))}}function cVe(t){process.nextTick(lVe,t)}function uVe(t,e){return function(r,i){t.then(function(){if(e[gQ]){r(el(void 0,!0));return}e[zT](r,i)},i)}}var gVe=Object.getPrototypeOf(function(){}),fVe=Object.setPrototypeOf((uQ={get stream(){return this[Wc]},next:function(){var e=this,r=this[im];if(r!==null)return Promise.reject(r);if(this[gQ])return Promise.resolve(el(void 0,!0));if(this[Wc].destroyed)return new Promise(function(o,a){process.nextTick(function(){e[im]?a(e[im]):o(el(void 0,!0))})});var i=this[Jc],n;if(i)n=new Promise(uVe(i,this));else{var s=this[Wc].read();if(s!==null)return Promise.resolve(el(s,!1));n=new Promise(this[zT])}return this[Jc]=n,n}},ZA(uQ,Symbol.asyncIterator,function(){return this}),ZA(uQ,"return",function(){var e=this;return new Promise(function(r,i){e[Wc].destroy(null,function(n){if(n){i(n);return}r(el(void 0,!0))})})}),uQ),gVe),hVe=function(e){var r,i=Object.create(fVe,(r={},ZA(r,Wc,{value:e,writable:!0}),ZA(r,$A,{value:null,writable:!0}),ZA(r,qc,{value:null,writable:!0}),ZA(r,im,{value:null,writable:!0}),ZA(r,gQ,{value:e._readableState.endEmitted,writable:!0}),ZA(r,zT,{value:function(s,o){var a=i[Wc].read();a?(i[Jc]=null,i[$A]=null,i[qc]=null,s(el(a,!1))):(i[$A]=s,i[qc]=o)},writable:!0}),r));return i[Jc]=null,AVe(e,function(n){if(n&&n.code!=="ERR_STREAM_PREMATURE_CLOSE"){var s=i[qc];s!==null&&(i[Jc]=null,i[$A]=null,i[qc]=null,s(n)),i[im]=n;return}var o=i[$A];o!==null&&(i[Jc]=null,i[$A]=null,i[qc]=null,o(el(void 0,!0))),i[gQ]=!0}),e.on("readable",cVe.bind(null,i)),i};cue.exports=hVe});var pue=E((vPt,gue)=>{"use strict";function fue(t,e,r,i,n,s,o){try{var a=t[s](o),l=a.value}catch(c){r(c);return}a.done?e(l):Promise.resolve(l).then(i,n)}function pVe(t){return function(){var e=this,r=arguments;return new Promise(function(i,n){var s=t.apply(e,r);function o(l){fue(s,i,n,o,a,"next",l)}function a(l){fue(s,i,n,o,a,"throw",l)}o(void 0)})}}function hue(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter(function(n){return Object.getOwnPropertyDescriptor(t,n).enumerable})),r.push.apply(r,i)}return r}function CVe(t){for(var e=1;e{"use strict";due.exports=kt;var Bf;kt.ReadableState=Cue;var SPt=require("events").EventEmitter,mue=function(e,r){return e.listeners(r).length},nm=PT(),fQ=require("buffer").Buffer,IVe=global.Uint8Array||function(){};function yVe(t){return fQ.from(t)}function wVe(t){return fQ.isBuffer(t)||t instanceof IVe}var VT=require("util"),Et;VT&&VT.debuglog?Et=VT.debuglog("stream"):Et=function(){};var BVe=Oce(),_T=FT(),QVe=NT(),bVe=QVe.getHighWaterMark,hQ=VA().codes,vVe=hQ.ERR_INVALID_ARG_TYPE,SVe=hQ.ERR_STREAM_PUSH_AFTER_EOF,xVe=hQ.ERR_METHOD_NOT_IMPLEMENTED,kVe=hQ.ERR_STREAM_UNSHIFT_AFTER_END_EVENT,Qf,XT,ZT;_A()(kt,nm);var sm=_T.errorOrDestroy,$T=["error","close","destroy","pause","resume"];function PVe(t,e,r){if(typeof t.prependListener=="function")return t.prependListener(e,r);!t._events||!t._events[e]?t.on(e,r):Array.isArray(t._events[e])?t._events[e].unshift(r):t._events[e]=[r,t._events[e]]}function Cue(t,e,r){Bf=Bf||Yc(),t=t||{},typeof r!="boolean"&&(r=e instanceof Bf),this.objectMode=!!t.objectMode,r&&(this.objectMode=this.objectMode||!!t.readableObjectMode),this.highWaterMark=bVe(this,t,"readableHighWaterMark",r),this.buffer=new BVe,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.paused=!0,this.emitClose=t.emitClose!==!1,this.autoDestroy=!!t.autoDestroy,this.destroyed=!1,this.defaultEncoding=t.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,t.encoding&&(Qf||(Qf=WT().StringDecoder),this.decoder=new Qf(t.encoding),this.encoding=t.encoding)}function kt(t){if(Bf=Bf||Yc(),!(this instanceof kt))return new kt(t);var e=this instanceof Bf;this._readableState=new Cue(t,this,e),this.readable=!0,t&&(typeof t.read=="function"&&(this._read=t.read),typeof t.destroy=="function"&&(this._destroy=t.destroy)),nm.call(this)}Object.defineProperty(kt.prototype,"destroyed",{enumerable:!1,get:function(){return this._readableState===void 0?!1:this._readableState.destroyed},set:function(e){!this._readableState||(this._readableState.destroyed=e)}});kt.prototype.destroy=_T.destroy;kt.prototype._undestroy=_T.undestroy;kt.prototype._destroy=function(t,e){e(t)};kt.prototype.push=function(t,e){var r=this._readableState,i;return r.objectMode?i=!0:typeof t=="string"&&(e=e||r.defaultEncoding,e!==r.encoding&&(t=fQ.from(t,e),e=""),i=!0),Eue(this,t,e,!1,i)};kt.prototype.unshift=function(t){return Eue(this,t,null,!0,!1)};function Eue(t,e,r,i,n){Et("readableAddChunk",e);var s=t._readableState;if(e===null)s.reading=!1,RVe(t,s);else{var o;if(n||(o=DVe(s,e)),o)sm(t,o);else if(s.objectMode||e&&e.length>0)if(typeof e!="string"&&!s.objectMode&&Object.getPrototypeOf(e)!==fQ.prototype&&(e=yVe(e)),i)s.endEmitted?sm(t,new kVe):eM(t,s,e,!0);else if(s.ended)sm(t,new SVe);else{if(s.destroyed)return!1;s.reading=!1,s.decoder&&!r?(e=s.decoder.write(e),s.objectMode||e.length!==0?eM(t,s,e,!1):tM(t,s)):eM(t,s,e,!1)}else i||(s.reading=!1,tM(t,s))}return!s.ended&&(s.length=Iue?t=Iue:(t--,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,t|=t>>>16,t++),t}function yue(t,e){return t<=0||e.length===0&&e.ended?0:e.objectMode?1:t!==t?e.flowing&&e.length?e.buffer.head.data.length:e.length:(t>e.highWaterMark&&(e.highWaterMark=FVe(t)),t<=e.length?t:e.ended?e.length:(e.needReadable=!0,0))}kt.prototype.read=function(t){Et("read",t),t=parseInt(t,10);var e=this._readableState,r=t;if(t!==0&&(e.emittedReadable=!1),t===0&&e.needReadable&&((e.highWaterMark!==0?e.length>=e.highWaterMark:e.length>0)||e.ended))return Et("read: emitReadable",e.length,e.ended),e.length===0&&e.ended?rM(this):pQ(this),null;if(t=yue(t,e),t===0&&e.ended)return e.length===0&&rM(this),null;var i=e.needReadable;Et("need readable",i),(e.length===0||e.length-t0?n=wue(t,e):n=null,n===null?(e.needReadable=e.length<=e.highWaterMark,t=0):(e.length-=t,e.awaitDrain=0),e.length===0&&(e.ended||(e.needReadable=!0),r!==t&&e.ended&&rM(this)),n!==null&&this.emit("data",n),n};function RVe(t,e){if(Et("onEofChunk"),!e.ended){if(e.decoder){var r=e.decoder.end();r&&r.length&&(e.buffer.push(r),e.length+=e.objectMode?1:r.length)}e.ended=!0,e.sync?pQ(t):(e.needReadable=!1,e.emittedReadable||(e.emittedReadable=!0,Bue(t)))}}function pQ(t){var e=t._readableState;Et("emitReadable",e.needReadable,e.emittedReadable),e.needReadable=!1,e.emittedReadable||(Et("emitReadable",e.flowing),e.emittedReadable=!0,process.nextTick(Bue,t))}function Bue(t){var e=t._readableState;Et("emitReadable_",e.destroyed,e.length,e.ended),!e.destroyed&&(e.length||e.ended)&&(t.emit("readable"),e.emittedReadable=!1),e.needReadable=!e.flowing&&!e.ended&&e.length<=e.highWaterMark,iM(t)}function tM(t,e){e.readingMore||(e.readingMore=!0,process.nextTick(NVe,t,e))}function NVe(t,e){for(;!e.reading&&!e.ended&&(e.length1&&Que(i.pipes,t)!==-1)&&!c&&(Et("false write response, pause",i.awaitDrain),i.awaitDrain++),r.pause())}function f(m){Et("onerror",m),d(),t.removeListener("error",f),mue(t,"error")===0&&sm(t,m)}PVe(t,"error",f);function h(){t.removeListener("finish",p),d()}t.once("close",h);function p(){Et("onfinish"),t.removeListener("close",h),d()}t.once("finish",p);function d(){Et("unpipe"),r.unpipe(t)}return t.emit("pipe",r),i.flowing||(Et("pipe resume"),r.resume()),t};function LVe(t){return function(){var r=t._readableState;Et("pipeOnDrain",r.awaitDrain),r.awaitDrain&&r.awaitDrain--,r.awaitDrain===0&&mue(t,"data")&&(r.flowing=!0,iM(t))}}kt.prototype.unpipe=function(t){var e=this._readableState,r={hasUnpiped:!1};if(e.pipesCount===0)return this;if(e.pipesCount===1)return t&&t!==e.pipes?this:(t||(t=e.pipes),e.pipes=null,e.pipesCount=0,e.flowing=!1,t&&t.emit("unpipe",this,r),this);if(!t){var i=e.pipes,n=e.pipesCount;e.pipes=null,e.pipesCount=0,e.flowing=!1;for(var s=0;s0,i.flowing!==!1&&this.resume()):t==="readable"&&!i.endEmitted&&!i.readableListening&&(i.readableListening=i.needReadable=!0,i.flowing=!1,i.emittedReadable=!1,Et("on readable",i.length,i.reading),i.length?pQ(this):i.reading||process.nextTick(TVe,this)),r};kt.prototype.addListener=kt.prototype.on;kt.prototype.removeListener=function(t,e){var r=nm.prototype.removeListener.call(this,t,e);return t==="readable"&&process.nextTick(bue,this),r};kt.prototype.removeAllListeners=function(t){var e=nm.prototype.removeAllListeners.apply(this,arguments);return(t==="readable"||t===void 0)&&process.nextTick(bue,this),e};function bue(t){var e=t._readableState;e.readableListening=t.listenerCount("readable")>0,e.resumeScheduled&&!e.paused?e.flowing=!0:t.listenerCount("data")>0&&t.resume()}function TVe(t){Et("readable nexttick read 0"),t.read(0)}kt.prototype.resume=function(){var t=this._readableState;return t.flowing||(Et("resume"),t.flowing=!t.readableListening,MVe(this,t)),t.paused=!1,this};function MVe(t,e){e.resumeScheduled||(e.resumeScheduled=!0,process.nextTick(OVe,t,e))}function OVe(t,e){Et("resume",e.reading),e.reading||t.read(0),e.resumeScheduled=!1,t.emit("resume"),iM(t),e.flowing&&!e.reading&&t.read(0)}kt.prototype.pause=function(){return Et("call pause flowing=%j",this._readableState.flowing),this._readableState.flowing!==!1&&(Et("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this};function iM(t){var e=t._readableState;for(Et("flow",e.flowing);e.flowing&&t.read()!==null;);}kt.prototype.wrap=function(t){var e=this,r=this._readableState,i=!1;t.on("end",function(){if(Et("wrapped end"),r.decoder&&!r.ended){var o=r.decoder.end();o&&o.length&&e.push(o)}e.push(null)}),t.on("data",function(o){if(Et("wrapped data"),r.decoder&&(o=r.decoder.write(o)),!(r.objectMode&&o==null)&&!(!r.objectMode&&(!o||!o.length))){var a=e.push(o);a||(i=!0,t.pause())}});for(var n in t)this[n]===void 0&&typeof t[n]=="function"&&(this[n]=function(a){return function(){return t[a].apply(t,arguments)}}(n));for(var s=0;s<$T.length;s++)t.on($T[s],this.emit.bind(this,$T[s]));return this._read=function(o){Et("wrapped _read",o),i&&(i=!1,t.resume())},this};typeof Symbol=="function"&&(kt.prototype[Symbol.asyncIterator]=function(){return XT===void 0&&(XT=uue()),XT(this)});Object.defineProperty(kt.prototype,"readableHighWaterMark",{enumerable:!1,get:function(){return this._readableState.highWaterMark}});Object.defineProperty(kt.prototype,"readableBuffer",{enumerable:!1,get:function(){return this._readableState&&this._readableState.buffer}});Object.defineProperty(kt.prototype,"readableFlowing",{enumerable:!1,get:function(){return this._readableState.flowing},set:function(e){this._readableState&&(this._readableState.flowing=e)}});kt._fromList=wue;Object.defineProperty(kt.prototype,"readableLength",{enumerable:!1,get:function(){return this._readableState.length}});function wue(t,e){if(e.length===0)return null;var r;return e.objectMode?r=e.buffer.shift():!t||t>=e.length?(e.decoder?r=e.buffer.join(""):e.buffer.length===1?r=e.buffer.first():r=e.buffer.concat(e.length),e.buffer.clear()):r=e.buffer.consume(t,e.decoder),r}function rM(t){var e=t._readableState;Et("endReadable",e.endEmitted),e.endEmitted||(e.ended=!0,process.nextTick(KVe,e,t))}function KVe(t,e){if(Et("endReadableNT",t.endEmitted,t.length),!t.endEmitted&&t.length===0&&(t.endEmitted=!0,e.readable=!1,e.emit("end"),t.autoDestroy)){var r=e._writableState;(!r||r.autoDestroy&&r.finished)&&e.destroy()}}typeof Symbol=="function"&&(kt.from=function(t,e){return ZT===void 0&&(ZT=pue()),ZT(kt,t,e)});function Que(t,e){for(var r=0,i=t.length;r{"use strict";vue.exports=Ja;var dQ=VA().codes,UVe=dQ.ERR_METHOD_NOT_IMPLEMENTED,HVe=dQ.ERR_MULTIPLE_CALLBACK,GVe=dQ.ERR_TRANSFORM_ALREADY_TRANSFORMING,jVe=dQ.ERR_TRANSFORM_WITH_LENGTH_0,CQ=Yc();_A()(Ja,CQ);function YVe(t,e){var r=this._transformState;r.transforming=!1;var i=r.writecb;if(i===null)return this.emit("error",new HVe);r.writechunk=null,r.writecb=null,e!=null&&this.push(e),i(t);var n=this._readableState;n.reading=!1,(n.needReadable||n.length{"use strict";xue.exports=om;var kue=nM();_A()(om,kue);function om(t){if(!(this instanceof om))return new om(t);kue.call(this,t)}om.prototype._transform=function(t,e,r){r(null,t)}});var Lue=E((DPt,Due)=>{"use strict";var sM;function JVe(t){var e=!1;return function(){e||(e=!0,t.apply(void 0,arguments))}}var Rue=VA().codes,WVe=Rue.ERR_MISSING_ARGS,zVe=Rue.ERR_STREAM_DESTROYED;function Fue(t){if(t)throw t}function VVe(t){return t.setHeader&&typeof t.abort=="function"}function _Ve(t,e,r,i){i=JVe(i);var n=!1;t.on("close",function(){n=!0}),sM===void 0&&(sM=cQ()),sM(t,{readable:e,writable:r},function(o){if(o)return i(o);n=!0,i()});var s=!1;return function(o){if(!n&&!s){if(s=!0,VVe(t))return t.abort();if(typeof t.destroy=="function")return t.destroy();i(o||new zVe("pipe"))}}}function Nue(t){t()}function XVe(t,e){return t.pipe(e)}function ZVe(t){return!t.length||typeof t[t.length-1]!="function"?Fue:t.pop()}function $Ve(){for(var t=arguments.length,e=new Array(t),r=0;r0;return _Ve(o,l,c,function(u){n||(n=u),u&&s.forEach(Nue),!l&&(s.forEach(Nue),i(n))})});return e.reduce(XVe)}Due.exports=$Ve});var bf=E((ys,am)=>{var Am=require("stream");process.env.READABLE_STREAM==="disable"&&Am?(am.exports=Am.Readable,Object.assign(am.exports,Am),am.exports.Stream=Am):(ys=am.exports=HT(),ys.Stream=Am||ys,ys.Readable=ys,ys.Writable=UT(),ys.Duplex=Yc(),ys.Transform=nM(),ys.PassThrough=Pue(),ys.finished=cQ(),ys.pipeline=Lue())});var Oue=E((RPt,Tue)=>{"use strict";var{Buffer:_s}=require("buffer"),Mue=Symbol.for("BufferList");function nr(t){if(!(this instanceof nr))return new nr(t);nr._init.call(this,t)}nr._init=function(e){Object.defineProperty(this,Mue,{value:!0}),this._bufs=[],this.length=0,e&&this.append(e)};nr.prototype._new=function(e){return new nr(e)};nr.prototype._offset=function(e){if(e===0)return[0,0];let r=0;for(let i=0;ithis.length||e<0)return;let r=this._offset(e);return this._bufs[r[0]][r[1]]};nr.prototype.slice=function(e,r){return typeof e=="number"&&e<0&&(e+=this.length),typeof r=="number"&&r<0&&(r+=this.length),this.copy(null,0,e,r)};nr.prototype.copy=function(e,r,i,n){if((typeof i!="number"||i<0)&&(i=0),(typeof n!="number"||n>this.length)&&(n=this.length),i>=this.length||n<=0)return e||_s.alloc(0);let s=!!e,o=this._offset(i),a=n-i,l=a,c=s&&r||0,u=o[1];if(i===0&&n===this.length){if(!s)return this._bufs.length===1?this._bufs[0]:_s.concat(this._bufs,this.length);for(let g=0;gf)this._bufs[g].copy(e,c,u),c+=f;else{this._bufs[g].copy(e,c,u,u+l),c+=f;break}l-=f,u&&(u=0)}return e.length>c?e.slice(0,c):e};nr.prototype.shallowSlice=function(e,r){if(e=e||0,r=typeof r!="number"?this.length:r,e<0&&(e+=this.length),r<0&&(r+=this.length),e===r)return this._new();let i=this._offset(e),n=this._offset(r),s=this._bufs.slice(i[0],n[0]+1);return n[1]===0?s.pop():s[s.length-1]=s[s.length-1].slice(0,n[1]),i[1]!==0&&(s[0]=s[0].slice(i[1])),this._new(s)};nr.prototype.toString=function(e,r,i){return this.slice(r,i).toString(e)};nr.prototype.consume=function(e){if(e=Math.trunc(e),Number.isNaN(e)||e<=0)return this;for(;this._bufs.length;)if(e>=this._bufs[0].length)e-=this._bufs[0].length,this.length-=this._bufs[0].length,this._bufs.shift();else{this._bufs[0]=this._bufs[0].slice(e),this.length-=e;break}return this};nr.prototype.duplicate=function(){let e=this._new();for(let r=0;rthis.length?this.length:e;let i=this._offset(e),n=i[0],s=i[1];for(;n=t.length){let l=o.indexOf(t,s);if(l!==-1)return this._reverseOffset([n,l]);s=o.length-t.length+1}else{let l=this._reverseOffset([n,s]);if(this._match(l,t))return l;s++}s=0}return-1};nr.prototype._match=function(t,e){if(this.length-t{"use strict";var oM=bf().Duplex,e7e=_A(),lm=Oue();function Oi(t){if(!(this instanceof Oi))return new Oi(t);if(typeof t=="function"){this._callback=t;let e=function(i){this._callback&&(this._callback(i),this._callback=null)}.bind(this);this.on("pipe",function(i){i.on("error",e)}),this.on("unpipe",function(i){i.removeListener("error",e)}),t=null}lm._init.call(this,t),oM.call(this)}e7e(Oi,oM);Object.assign(Oi.prototype,lm.prototype);Oi.prototype._new=function(e){return new Oi(e)};Oi.prototype._write=function(e,r,i){this._appendBuffer(e),typeof i=="function"&&i()};Oi.prototype._read=function(e){if(!this.length)return this.push(null);e=Math.min(e,this.length),this.push(this.slice(0,e)),this.consume(e)};Oi.prototype.end=function(e){oM.prototype.end.call(this,e),this._callback&&(this._callback(null,this.slice()),this._callback=null)};Oi.prototype._destroy=function(e,r){this._bufs.length=0,this.length=0,r(e)};Oi.prototype._isBufferList=function(e){return e instanceof Oi||e instanceof lm||Oi.isBufferList(e)};Oi.isBufferList=lm.isBufferList;mQ.exports=Oi;mQ.exports.BufferListStream=Oi;mQ.exports.BufferList=lm});var lM=E(vf=>{var t7e=Buffer.alloc,r7e="0000000000000000000",i7e="7777777777777777777",Uue="0".charCodeAt(0),Hue=Buffer.from("ustar\0","binary"),n7e=Buffer.from("00","binary"),s7e=Buffer.from("ustar ","binary"),o7e=Buffer.from(" \0","binary"),a7e=parseInt("7777",8),cm=257,aM=263,A7e=function(t,e,r){return typeof t!="number"?r:(t=~~t,t>=e?e:t>=0||(t+=e,t>=0)?t:0)},l7e=function(t){switch(t){case 0:return"file";case 1:return"link";case 2:return"symlink";case 3:return"character-device";case 4:return"block-device";case 5:return"directory";case 6:return"fifo";case 7:return"contiguous-file";case 72:return"pax-header";case 55:return"pax-global-header";case 27:return"gnu-long-link-path";case 28:case 30:return"gnu-long-path"}return null},c7e=function(t){switch(t){case"file":return 0;case"link":return 1;case"symlink":return 2;case"character-device":return 3;case"block-device":return 4;case"directory":return 5;case"fifo":return 6;case"contiguous-file":return 7;case"pax-header":return 72}return 0},Gue=function(t,e,r,i){for(;re?i7e.slice(0,e)+" ":r7e.slice(0,e-t.length)+t+" "};function u7e(t){var e;if(t[0]===128)e=!0;else if(t[0]===255)e=!1;else return null;for(var r=[],i=t.length-1;i>0;i--){var n=t[i];e?r.push(n):r.push(255-n)}var s=0,o=r.length;for(i=0;i=Math.pow(10,r)&&r++,e+r+t};vf.decodeLongPath=function(t,e){return Sf(t,0,t.length,e)};vf.encodePax=function(t){var e="";t.name&&(e+=AM(" path="+t.name+` +`)),t.linkname&&(e+=AM(" linkpath="+t.linkname+` +`));var r=t.pax;if(r)for(var i in r)e+=AM(" "+i+"="+r[i]+` +`);return Buffer.from(e)};vf.decodePax=function(t){for(var e={};t.length;){for(var r=0;r100;){var n=r.indexOf("/");if(n===-1)return null;i+=i?"/"+r.slice(0,n):r.slice(0,n),r=r.slice(n+1)}return Buffer.byteLength(r)>100||Buffer.byteLength(i)>155||t.linkname&&Buffer.byteLength(t.linkname)>100?null:(e.write(r),e.write(tl(t.mode&a7e,6),100),e.write(tl(t.uid,6),108),e.write(tl(t.gid,6),116),e.write(tl(t.size,11),124),e.write(tl(t.mtime.getTime()/1e3|0,11),136),e[156]=Uue+c7e(t.type),t.linkname&&e.write(t.linkname,157),Hue.copy(e,cm),n7e.copy(e,aM),t.uname&&e.write(t.uname,265),t.gname&&e.write(t.gname,297),e.write(tl(t.devmajor||0,6),329),e.write(tl(t.devminor||0,6),337),i&&e.write(i,345),e.write(tl(jue(e),6),148),e)};vf.decode=function(t,e,r){var i=t[156]===0?0:t[156]-Uue,n=Sf(t,0,100,e),s=rl(t,100,8),o=rl(t,108,8),a=rl(t,116,8),l=rl(t,124,12),c=rl(t,136,12),u=l7e(i),g=t[157]===0?null:Sf(t,157,100,e),f=Sf(t,265,32),h=Sf(t,297,32),p=rl(t,329,8),d=rl(t,337,8),m=jue(t);if(m===8*32)return null;if(m!==rl(t,148,8))throw new Error("Invalid tar header. Maybe the tar is corrupted or it needs to be gunzipped?");if(Hue.compare(t,cm,cm+6)===0)t[345]&&(n=Sf(t,345,155,e)+"/"+n);else if(!(s7e.compare(t,cm,cm+6)===0&&o7e.compare(t,aM,aM+2)===0)){if(!r)throw new Error("Invalid tar header: unknown format.")}return i===0&&n&&n[n.length-1]==="/"&&(i=5),{name:n,mode:s,uid:o,gid:a,size:l,mtime:new Date(1e3*c),type:u,linkname:g,uname:f,gname:h,devmajor:p,devminor:d}}});var _ue=E((LPt,Yue)=>{var que=require("util"),g7e=Kue(),um=lM(),Jue=bf().Writable,Wue=bf().PassThrough,zue=function(){},Vue=function(t){return t&=511,t&&512-t},f7e=function(t,e){var r=new EQ(t,e);return r.end(),r},h7e=function(t,e){return e.path&&(t.name=e.path),e.linkpath&&(t.linkname=e.linkpath),e.size&&(t.size=parseInt(e.size,10)),t.pax=e,t},EQ=function(t,e){this._parent=t,this.offset=e,Wue.call(this,{autoDestroy:!1})};que.inherits(EQ,Wue);EQ.prototype.destroy=function(t){this._parent.destroy(t)};var Wa=function(t){if(!(this instanceof Wa))return new Wa(t);Jue.call(this,t),t=t||{},this._offset=0,this._buffer=g7e(),this._missing=0,this._partial=!1,this._onparse=zue,this._header=null,this._stream=null,this._overflow=null,this._cb=null,this._locked=!1,this._destroyed=!1,this._pax=null,this._paxGlobal=null,this._gnuLongPath=null,this._gnuLongLinkPath=null;var e=this,r=e._buffer,i=function(){e._continue()},n=function(f){if(e._locked=!1,f)return e.destroy(f);e._stream||i()},s=function(){e._stream=null;var f=Vue(e._header.size);f?e._parse(f,o):e._parse(512,g),e._locked||i()},o=function(){e._buffer.consume(Vue(e._header.size)),e._parse(512,g),i()},a=function(){var f=e._header.size;e._paxGlobal=um.decodePax(r.slice(0,f)),r.consume(f),s()},l=function(){var f=e._header.size;e._pax=um.decodePax(r.slice(0,f)),e._paxGlobal&&(e._pax=Object.assign({},e._paxGlobal,e._pax)),r.consume(f),s()},c=function(){var f=e._header.size;this._gnuLongPath=um.decodeLongPath(r.slice(0,f),t.filenameEncoding),r.consume(f),s()},u=function(){var f=e._header.size;this._gnuLongLinkPath=um.decodeLongPath(r.slice(0,f),t.filenameEncoding),r.consume(f),s()},g=function(){var f=e._offset,h;try{h=e._header=um.decode(r.slice(0,512),t.filenameEncoding,t.allowUnknownFormat)}catch(p){e.emit("error",p)}if(r.consume(512),!h){e._parse(512,g),i();return}if(h.type==="gnu-long-path"){e._parse(h.size,c),i();return}if(h.type==="gnu-long-link-path"){e._parse(h.size,u),i();return}if(h.type==="pax-global-header"){e._parse(h.size,a),i();return}if(h.type==="pax-header"){e._parse(h.size,l),i();return}if(e._gnuLongPath&&(h.name=e._gnuLongPath,e._gnuLongPath=null),e._gnuLongLinkPath&&(h.linkname=e._gnuLongLinkPath,e._gnuLongLinkPath=null),e._pax&&(e._header=h=h7e(h,e._pax),e._pax=null),e._locked=!0,!h.size||h.type==="directory"){e._parse(512,g),e.emit("entry",h,f7e(e,f),n);return}e._stream=new EQ(e,f),e.emit("entry",h,e._stream,n),e._parse(h.size,s),i()};this._onheader=g,this._parse(512,g)};que.inherits(Wa,Jue);Wa.prototype.destroy=function(t){this._destroyed||(this._destroyed=!0,t&&this.emit("error",t),this.emit("close"),this._stream&&this._stream.emit("close"))};Wa.prototype._parse=function(t,e){this._destroyed||(this._offset+=t,this._missing=t,e===this._onheader&&(this._partial=!1),this._onparse=e)};Wa.prototype._continue=function(){if(!this._destroyed){var t=this._cb;this._cb=zue,this._overflow?this._write(this._overflow,void 0,t):t()}};Wa.prototype._write=function(t,e,r){if(!this._destroyed){var i=this._stream,n=this._buffer,s=this._missing;if(t.length&&(this._partial=!0),t.lengths&&(o=t.slice(s),t=t.slice(0,s)),i?i.end(t):n.append(t),this._overflow=o,this._onparse()}};Wa.prototype._final=function(t){if(this._partial)return this.destroy(new Error("Unexpected end of data"));t()};Yue.exports=Wa});var Zue=E((TPt,Xue)=>{Xue.exports=require("fs").constants||require("constants")});var ige=E((MPt,$ue)=>{var xf=Zue(),ege=tk(),IQ=_A(),p7e=Buffer.alloc,tge=bf().Readable,kf=bf().Writable,d7e=require("string_decoder").StringDecoder,yQ=lM(),C7e=parseInt("755",8),m7e=parseInt("644",8),rge=p7e(1024),cM=function(){},uM=function(t,e){e&=511,e&&t.push(rge.slice(0,512-e))};function E7e(t){switch(t&xf.S_IFMT){case xf.S_IFBLK:return"block-device";case xf.S_IFCHR:return"character-device";case xf.S_IFDIR:return"directory";case xf.S_IFIFO:return"fifo";case xf.S_IFLNK:return"symlink"}return"file"}var wQ=function(t){kf.call(this),this.written=0,this._to=t,this._destroyed=!1};IQ(wQ,kf);wQ.prototype._write=function(t,e,r){if(this.written+=t.length,this._to.push(t))return r();this._to._drain=r};wQ.prototype.destroy=function(){this._destroyed||(this._destroyed=!0,this.emit("close"))};var BQ=function(){kf.call(this),this.linkname="",this._decoder=new d7e("utf-8"),this._destroyed=!1};IQ(BQ,kf);BQ.prototype._write=function(t,e,r){this.linkname+=this._decoder.write(t),r()};BQ.prototype.destroy=function(){this._destroyed||(this._destroyed=!0,this.emit("close"))};var gm=function(){kf.call(this),this._destroyed=!1};IQ(gm,kf);gm.prototype._write=function(t,e,r){r(new Error("No body allowed for this entry"))};gm.prototype.destroy=function(){this._destroyed||(this._destroyed=!0,this.emit("close"))};var Oo=function(t){if(!(this instanceof Oo))return new Oo(t);tge.call(this,t),this._drain=cM,this._finalized=!1,this._finalizing=!1,this._destroyed=!1,this._stream=null};IQ(Oo,tge);Oo.prototype.entry=function(t,e,r){if(this._stream)throw new Error("already piping an entry");if(!(this._finalized||this._destroyed)){typeof e=="function"&&(r=e,e=null),r||(r=cM);var i=this;if((!t.size||t.type==="symlink")&&(t.size=0),t.type||(t.type=E7e(t.mode)),t.mode||(t.mode=t.type==="directory"?C7e:m7e),t.uid||(t.uid=0),t.gid||(t.gid=0),t.mtime||(t.mtime=new Date),typeof e=="string"&&(e=Buffer.from(e)),Buffer.isBuffer(e)){t.size=e.length,this._encode(t);var n=this.push(e);return uM(i,t.size),n?process.nextTick(r):this._drain=r,new gm}if(t.type==="symlink"&&!t.linkname){var s=new BQ;return ege(s,function(a){if(a)return i.destroy(),r(a);t.linkname=s.linkname,i._encode(t),r()}),s}if(this._encode(t),t.type!=="file"&&t.type!=="contiguous-file")return process.nextTick(r),new gm;var o=new wQ(this);return this._stream=o,ege(o,function(a){if(i._stream=null,a)return i.destroy(),r(a);if(o.written!==t.size)return i.destroy(),r(new Error("size mismatch"));uM(i,t.size),i._finalizing&&i.finalize(),r()}),o}};Oo.prototype.finalize=function(){if(this._stream){this._finalizing=!0;return}this._finalized||(this._finalized=!0,this.push(rge),this.push(null))};Oo.prototype.destroy=function(t){this._destroyed||(this._destroyed=!0,t&&this.emit("error",t),this.emit("close"),this._stream&&this._stream.destroy&&this._stream.destroy())};Oo.prototype._encode=function(t){if(!t.pax){var e=yQ.encode(t);if(e){this.push(e);return}}this._encodePax(t)};Oo.prototype._encodePax=function(t){var e=yQ.encodePax({name:t.name,linkname:t.linkname,pax:t.pax}),r={name:"PaxHeader",mode:t.mode,uid:t.uid,gid:t.gid,size:e.length,mtime:t.mtime,type:"pax-header",linkname:t.linkname&&"PaxHeader",uname:t.uname,gname:t.gname,devmajor:t.devmajor,devminor:t.devminor};this.push(yQ.encode(r)),this.push(e),uM(this,e.length),r.size=t.size,r.type=t.type,this.push(yQ.encode(r))};Oo.prototype._read=function(t){var e=this._drain;this._drain=cM,e()};$ue.exports=Oo});var nge=E(gM=>{gM.extract=_ue();gM.pack=ige()});var Cge=E((oDt,fge)=>{"use strict";var Pf=class{constructor(e,r,i){this.__specs=e||{},Object.keys(this.__specs).forEach(n=>{if(typeof this.__specs[n]=="string"){let s=this.__specs[n],o=this.__specs[s];if(o){let a=o.aliases||[];a.push(n,s),o.aliases=[...new Set(a)],this.__specs[n]=o}else throw new Error(`Alias refers to invalid key: ${s} -> ${n}`)}}),this.__opts=r||{},this.__providers=pge(i.filter(n=>n!=null&&typeof n=="object")),this.__isFiggyPudding=!0}get(e){return mM(this,e,!0)}get[Symbol.toStringTag](){return"FiggyPudding"}forEach(e,r=this){for(let[i,n]of this.entries())e.call(r,n,i,this)}toJSON(){let e={};return this.forEach((r,i)=>{e[i]=r}),e}*entries(e){for(let i of Object.keys(this.__specs))yield[i,this.get(i)];let r=e||this.__opts.other;if(r){let i=new Set;for(let n of this.__providers){let s=n.entries?n.entries(r):R7e(n);for(let[o,a]of s)r(o)&&!i.has(o)&&(i.add(o),yield[o,a])}}}*[Symbol.iterator](){for(let[e,r]of this.entries())yield[e,r]}*keys(){for(let[e]of this.entries())yield e}*values(){for(let[,e]of this.entries())yield e}concat(...e){return new Proxy(new Pf(this.__specs,this.__opts,pge(this.__providers).concat(e)),hge)}};try{let t=require("util");Pf.prototype[t.inspect.custom]=function(e,r){return this[Symbol.toStringTag]+" "+t.inspect(this.toJSON(),r)}}catch(t){}function F7e(t){throw Object.assign(new Error(`invalid config key requested: ${t}`),{code:"EBADKEY"})}function mM(t,e,r){let i=t.__specs[e];if(r&&!i&&(!t.__opts.other||!t.__opts.other(e)))F7e(e);else{i||(i={});let n;for(let s of t.__providers){if(n=dge(e,s),n===void 0&&i.aliases&&i.aliases.length){for(let o of i.aliases)if(o!==e&&(n=dge(o,s),n!==void 0))break}if(n!==void 0)break}return n===void 0&&i.default!==void 0?typeof i.default=="function"?i.default(t):i.default:n}}function dge(t,e){let r;return e.__isFiggyPudding?r=mM(e,t,!1):typeof e.get=="function"?r=e.get(t):r=e[t],r}var hge={has(t,e){return e in t.__specs&&mM(t,e,!1)!==void 0},ownKeys(t){return Object.keys(t.__specs)},get(t,e){return typeof e=="symbol"||e.slice(0,2)==="__"||e in Pf.prototype?t[e]:t.get(e)},set(t,e,r){if(typeof e=="symbol"||e.slice(0,2)==="__")return t[e]=r,!0;throw new Error("figgyPudding options cannot be modified. Use .concat() instead.")},deleteProperty(){throw new Error("figgyPudding options cannot be deleted. Use .concat() and shadow them instead.")}};fge.exports=N7e;function N7e(t,e){function r(...i){return new Proxy(new Pf(t,e,i),hge)}return r}function pge(t){let e=[];return t.forEach(r=>e.unshift(r)),e}function R7e(t){return Object.keys(t).map(e=>[e,t[e]])}});var Ige=E((aDt,Ko)=>{"use strict";var hm=require("crypto"),L7e=Cge(),T7e=require("stream").Transform,mge=["sha256","sha384","sha512"],M7e=/^[a-z0-9+/]+(?:=?=?)$/i,O7e=/^([^-]+)-([^?]+)([?\S*]*)$/,K7e=/^([^-]+)-([A-Za-z0-9+/=]{44,88})(\?[\x21-\x7E]*)*$/,U7e=/^[\x21-\x7E]+$/,on=L7e({algorithms:{default:["sha512"]},error:{default:!1},integrity:{},options:{default:[]},pickAlgorithm:{default:()=>H7e},Promise:{default:()=>Promise},sep:{default:" "},single:{default:!1},size:{},strict:{default:!1}}),zc=class{get isHash(){return!0}constructor(e,r){r=on(r);let i=!!r.strict;this.source=e.trim();let n=this.source.match(i?K7e:O7e);if(!n||i&&!mge.some(o=>o===n[1]))return;this.algorithm=n[1],this.digest=n[2];let s=n[3];this.options=s?s.slice(1).split("?"):[]}hexDigest(){return this.digest&&Buffer.from(this.digest,"base64").toString("hex")}toJSON(){return this.toString()}toString(e){if(e=on(e),e.strict&&!(mge.some(i=>i===this.algorithm)&&this.digest.match(M7e)&&(this.options||[]).every(i=>i.match(U7e))))return"";let r=this.options&&this.options.length?`?${this.options.join("?")}`:"";return`${this.algorithm}-${this.digest}${r}`}},Df=class{get isIntegrity(){return!0}toJSON(){return this.toString()}toString(e){e=on(e);let r=e.sep||" ";return e.strict&&(r=r.replace(/\S+/g," ")),Object.keys(this).map(i=>this[i].map(n=>zc.prototype.toString.call(n,e)).filter(n=>n.length).join(r)).filter(i=>i.length).join(r)}concat(e,r){r=on(r);let i=typeof e=="string"?e:pm(e,r);return Uo(`${this.toString(r)} ${i}`,r)}hexDigest(){return Uo(this,{single:!0}).hexDigest()}match(e,r){r=on(r);let i=Uo(e,r),n=i.pickAlgorithm(r);return this[n]&&i[n]&&this[n].find(s=>i[n].find(o=>s.digest===o.digest))||!1}pickAlgorithm(e){e=on(e);let r=e.pickAlgorithm,i=Object.keys(this);if(!i.length)throw new Error(`No algorithms available for ${JSON.stringify(this.toString())}`);return i.reduce((n,s)=>r(n,s)||n)}};Ko.exports.parse=Uo;function Uo(t,e){if(e=on(e),typeof t=="string")return EM(t,e);if(t.algorithm&&t.digest){let r=new Df;return r[t.algorithm]=[t],EM(pm(r,e),e)}else return EM(pm(t,e),e)}function EM(t,e){return e.single?new zc(t,e):t.trim().split(/\s+/).reduce((r,i)=>{let n=new zc(i,e);if(n.algorithm&&n.digest){let s=n.algorithm;r[s]||(r[s]=[]),r[s].push(n)}return r},new Df)}Ko.exports.stringify=pm;function pm(t,e){return e=on(e),t.algorithm&&t.digest?zc.prototype.toString.call(t,e):typeof t=="string"?pm(Uo(t,e),e):Df.prototype.toString.call(t,e)}Ko.exports.fromHex=G7e;function G7e(t,e,r){r=on(r);let i=r.options&&r.options.length?`?${r.options.join("?")}`:"";return Uo(`${e}-${Buffer.from(t,"hex").toString("base64")}${i}`,r)}Ko.exports.fromData=j7e;function j7e(t,e){e=on(e);let r=e.algorithms,i=e.options&&e.options.length?`?${e.options.join("?")}`:"";return r.reduce((n,s)=>{let o=hm.createHash(s).update(t).digest("base64"),a=new zc(`${s}-${o}${i}`,e);if(a.algorithm&&a.digest){let l=a.algorithm;n[l]||(n[l]=[]),n[l].push(a)}return n},new Df)}Ko.exports.fromStream=Y7e;function Y7e(t,e){e=on(e);let r=e.Promise||Promise,i=IM(e);return new r((n,s)=>{t.pipe(i),t.on("error",s),i.on("error",s);let o;i.on("integrity",a=>{o=a}),i.on("end",()=>n(o)),i.on("data",()=>{})})}Ko.exports.checkData=q7e;function q7e(t,e,r){if(r=on(r),e=Uo(e,r),!Object.keys(e).length){if(r.error)throw Object.assign(new Error("No valid integrity hashes to check against"),{code:"EINTEGRITY"});return!1}let i=e.pickAlgorithm(r),n=hm.createHash(i).update(t).digest("base64"),s=Uo({algorithm:i,digest:n}),o=s.match(e,r);if(o||!r.error)return o;if(typeof r.size=="number"&&t.length!==r.size){let a=new Error(`data size mismatch when checking ${e}. + Wanted: ${r.size} + Found: ${t.length}`);throw a.code="EBADSIZE",a.found=t.length,a.expected=r.size,a.sri=e,a}else{let a=new Error(`Integrity checksum failed when using ${i}: Wanted ${e}, but got ${s}. (${t.length} bytes)`);throw a.code="EINTEGRITY",a.found=s,a.expected=e,a.algorithm=i,a.sri=e,a}}Ko.exports.checkStream=J7e;function J7e(t,e,r){r=on(r);let i=r.Promise||Promise,n=IM(r.concat({integrity:e}));return new i((s,o)=>{t.pipe(n),t.on("error",o),n.on("error",o);let a;n.on("verified",l=>{a=l}),n.on("end",()=>s(a)),n.on("data",()=>{})})}Ko.exports.integrityStream=IM;function IM(t){t=on(t);let e=t.integrity&&Uo(t.integrity,t),r=e&&Object.keys(e).length,i=r&&e.pickAlgorithm(t),n=r&&e[i],s=Array.from(new Set(t.algorithms.concat(i?[i]:[]))),o=s.map(hm.createHash),a=0,l=new T7e({transform(c,u,g){a+=c.length,o.forEach(f=>f.update(c,u)),g(null,c,u)}}).on("end",()=>{let c=t.options&&t.options.length?`?${t.options.join("?")}`:"",u=Uo(o.map((f,h)=>`${s[h]}-${f.digest("base64")}${c}`).join(" "),t),g=r&&u.match(e,t);if(typeof t.size=="number"&&a!==t.size){let f=new Error(`stream size mismatch when checking ${e}. + Wanted: ${t.size} + Found: ${a}`);f.code="EBADSIZE",f.found=a,f.expected=t.size,f.sri=e,l.emit("error",f)}else if(t.integrity&&!g){let f=new Error(`${e} integrity checksum failed when using ${i}: wanted ${n} but got ${u}. (${a} bytes)`);f.code="EINTEGRITY",f.found=u,f.expected=n,f.algorithm=i,f.sri=e,l.emit("error",f)}else l.emit("size",a),l.emit("integrity",u),g&&l.emit("verified",g)});return l}Ko.exports.create=W7e;function W7e(t){t=on(t);let e=t.algorithms,r=t.options.length?`?${t.options.join("?")}`:"",i=e.map(hm.createHash);return{update:function(n,s){return i.forEach(o=>o.update(n,s)),this},digest:function(n){return e.reduce((o,a)=>{let l=i.shift().digest("base64"),c=new zc(`${a}-${l}${r}`,t);if(c.algorithm&&c.digest){let u=c.algorithm;o[u]||(o[u]=[]),o[u].push(c)}return o},new Df)}}}var z7e=new Set(hm.getHashes()),Ege=["md5","whirlpool","sha1","sha224","sha256","sha384","sha512","sha3","sha3-256","sha3-384","sha3-512","sha3_256","sha3_384","sha3_512"].filter(t=>z7e.has(t));function H7e(t,e){return Ege.indexOf(t.toLowerCase())>=Ege.indexOf(e.toLowerCase())?t:e}});var Fd={};it(Fd,{BuildType:()=>Gn,Cache:()=>Qt,Configuration:()=>fe,DEFAULT_LOCK_FILENAME:()=>DR,DEFAULT_RC_FILENAME:()=>PR,FormatType:()=>ps,InstallMode:()=>li,LightReport:()=>Fa,LinkType:()=>gt,Manifest:()=>Ze,MessageName:()=>z,PackageExtensionStatus:()=>ki,PackageExtensionType:()=>oi,Project:()=>Ke,ProjectLookup:()=>KA,Report:()=>Xi,ReportError:()=>nt,SettingsType:()=>ge,StreamReport:()=>Fe,TAG_REGEXP:()=>Rg,TelemetryManager:()=>Rd,ThrowReport:()=>ei,VirtualFetcher:()=>dd,Workspace:()=>Dd,WorkspaceResolver:()=>Yr,YarnVersion:()=>Zr,execUtils:()=>hr,folderUtils:()=>Pb,formatUtils:()=>ue,hashUtils:()=>mn,httpUtils:()=>Zt,miscUtils:()=>de,scriptUtils:()=>Kt,semverUtils:()=>qt,structUtils:()=>S,tgzUtils:()=>Ai,treeUtils:()=>Hs});var hr={};it(hr,{EndStrategy:()=>Pn,execvp:()=>Nhe,pipevp:()=>to});var ch={};it(ch,{AliasFS:()=>Xo,CwdFS:()=>Ft,DEFAULT_COMPRESSION_LEVEL:()=>pl,FakeFS:()=>eA,Filename:()=>wt,JailFS:()=>Zo,LazyFS:()=>oh,LinkStrategy:()=>eh,NoFS:()=>bE,NodeFS:()=>Wt,PortablePath:()=>Se,PosixFS:()=>ah,ProxiedFS:()=>fi,VirtualFS:()=>Pr,ZipFS:()=>Jr,ZipOpenFS:()=>Jn,constants:()=>mr,extendFs:()=>SE,normalizeLineEndings:()=>ul,npath:()=>M,opendir:()=>wE,patchFs:()=>pb,ppath:()=>v,statUtils:()=>rb,toFilename:()=>kr,xfs:()=>T});var mr={};it(mr,{SAFE_TIME:()=>tb,S_IFDIR:()=>zo,S_IFLNK:()=>_o,S_IFMT:()=>kn,S_IFREG:()=>Vo});var kn=61440,zo=16384,Vo=32768,_o=40960,tb=456789e3;var rb={};it(rb,{BigIntStatsEntry:()=>Xf,DEFAULT_MODE:()=>_f,DirEntry:()=>uO,StatEntry:()=>Za,areStatsEqual:()=>nb,clearStats:()=>pE,convertToBigIntStats:()=>dE,makeDefaultStats:()=>Zf,makeEmptyStats:()=>Jfe});var ib=ie(require("util"));var _f=Vo|420,uO=class{constructor(){this.name="";this.mode=0}isBlockDevice(){return!1}isCharacterDevice(){return!1}isDirectory(){return(this.mode&kn)===zo}isFIFO(){return!1}isFile(){return(this.mode&kn)===Vo}isSocket(){return!1}isSymbolicLink(){return(this.mode&kn)===_o}},Za=class{constructor(){this.uid=0;this.gid=0;this.size=0;this.blksize=0;this.atimeMs=0;this.mtimeMs=0;this.ctimeMs=0;this.birthtimeMs=0;this.atime=new Date(0);this.mtime=new Date(0);this.ctime=new Date(0);this.birthtime=new Date(0);this.dev=0;this.ino=0;this.mode=_f;this.nlink=1;this.rdev=0;this.blocks=1}isBlockDevice(){return!1}isCharacterDevice(){return!1}isDirectory(){return(this.mode&kn)===zo}isFIFO(){return!1}isFile(){return(this.mode&kn)===Vo}isSocket(){return!1}isSymbolicLink(){return(this.mode&kn)===_o}},Xf=class{constructor(){this.uid=BigInt(0);this.gid=BigInt(0);this.size=BigInt(0);this.blksize=BigInt(0);this.atimeMs=BigInt(0);this.mtimeMs=BigInt(0);this.ctimeMs=BigInt(0);this.birthtimeMs=BigInt(0);this.atimeNs=BigInt(0);this.mtimeNs=BigInt(0);this.ctimeNs=BigInt(0);this.birthtimeNs=BigInt(0);this.atime=new Date(0);this.mtime=new Date(0);this.ctime=new Date(0);this.birthtime=new Date(0);this.dev=BigInt(0);this.ino=BigInt(0);this.mode=BigInt(_f);this.nlink=BigInt(1);this.rdev=BigInt(0);this.blocks=BigInt(1)}isBlockDevice(){return!1}isCharacterDevice(){return!1}isDirectory(){return(this.mode&BigInt(kn))===BigInt(zo)}isFIFO(){return!1}isFile(){return(this.mode&BigInt(kn))===BigInt(Vo)}isSocket(){return!1}isSymbolicLink(){return(this.mode&BigInt(kn))===BigInt(_o)}};function Zf(){return new Za}function Jfe(){return pE(Zf())}function pE(t){for(let e in t)if(Object.prototype.hasOwnProperty.call(t,e)){let r=t[e];typeof r=="number"?t[e]=0:typeof r=="bigint"?t[e]=BigInt(0):ib.types.isDate(r)&&(t[e]=new Date(0))}return t}function dE(t){let e=new Xf;for(let r in t)if(Object.prototype.hasOwnProperty.call(t,r)){let i=t[r];typeof i=="number"?e[r]=BigInt(i):ib.types.isDate(i)&&(e[r]=new Date(i))}return e.atimeNs=e.atimeMs*BigInt(1e6),e.mtimeNs=e.mtimeMs*BigInt(1e6),e.ctimeNs=e.ctimeMs*BigInt(1e6),e.birthtimeNs=e.birthtimeMs*BigInt(1e6),e}function nb(t,e){if(t.atimeMs!==e.atimeMs||t.birthtimeMs!==e.birthtimeMs||t.blksize!==e.blksize||t.blocks!==e.blocks||t.ctimeMs!==e.ctimeMs||t.dev!==e.dev||t.gid!==e.gid||t.ino!==e.ino||t.isBlockDevice()!==e.isBlockDevice()||t.isCharacterDevice()!==e.isCharacterDevice()||t.isDirectory()!==e.isDirectory()||t.isFIFO()!==e.isFIFO()||t.isFile()!==e.isFile()||t.isSocket()!==e.isSocket()||t.isSymbolicLink()!==e.isSymbolicLink()||t.mode!==e.mode||t.mtimeMs!==e.mtimeMs||t.nlink!==e.nlink||t.rdev!==e.rdev||t.size!==e.size||t.uid!==e.uid)return!1;let r=t,i=e;return!(r.atimeNs!==i.atimeNs||r.mtimeNs!==i.mtimeNs||r.ctimeNs!==i.ctimeNs||r.birthtimeNs!==i.birthtimeNs)}var mE=ie(require("fs"));var $f=ie(require("path")),gO;(function(i){i[i.File=0]="File",i[i.Portable=1]="Portable",i[i.Native=2]="Native"})(gO||(gO={}));var Se={root:"/",dot:"."},wt={nodeModules:"node_modules",manifest:"package.json",lockfile:"yarn.lock",virtual:"__virtual__",pnpJs:".pnp.js",pnpCjs:".pnp.cjs",rc:".yarnrc.yml"},M=Object.create($f.default),v=Object.create($f.default.posix);M.cwd=()=>process.cwd();v.cwd=()=>sb(process.cwd());v.resolve=(...t)=>t.length>0&&v.isAbsolute(t[0])?$f.default.posix.resolve(...t):$f.default.posix.resolve(v.cwd(),...t);var fO=function(t,e,r){return e=t.normalize(e),r=t.normalize(r),e===r?".":(e.endsWith(t.sep)||(e=e+t.sep),r.startsWith(e)?r.slice(e.length):null)};M.fromPortablePath=hO;M.toPortablePath=sb;M.contains=(t,e)=>fO(M,t,e);v.contains=(t,e)=>fO(v,t,e);var Wfe=/^([a-zA-Z]:.*)$/,zfe=/^\\\\(\.\\)?(.*)$/,Vfe=/^\/([a-zA-Z]:.*)$/,_fe=/^\/unc\/(\.dot\/)?(.*)$/;function hO(t){if(process.platform!=="win32")return t;let e,r;if(e=t.match(Vfe))t=e[1];else if(r=t.match(_fe))t=`\\\\${r[1]?".\\":""}${r[2]}`;else return t;return t.replace(/\//g,"\\")}function sb(t){if(process.platform!=="win32")return t;let e,r;return(e=t.match(Wfe))?t=`/${e[1]}`:(r=t.match(zfe))&&(t=`/unc/${r[1]?".dot/":""}${r[2]}`),t.replace(/\\/g,"/")}function CE(t,e){return t===M?hO(e):sb(e)}function kr(t){if(M.parse(t).dir!==""||v.parse(t).dir!=="")throw new Error(`Invalid filename: "${t}"`);return t}var EE=new Date(tb*1e3),eh;(function(r){r.Allow="allow",r.ReadOnly="readOnly"})(eh||(eh={}));async function pO(t,e,r,i,n){let s=t.pathUtils.normalize(e),o=r.pathUtils.normalize(i),a=[],l=[],c=n.stableTime?{mtime:EE,atime:EE}:await r.lstatPromise(o);await t.mkdirpPromise(t.pathUtils.dirname(e),{utimes:[c.atime,c.mtime]});let u=typeof t.lutimesPromise=="function"?t.lutimesPromise.bind(t):t.utimesPromise.bind(t);await ob(a,l,u,t,s,r,o,n);for(let g of a)await g();await Promise.all(l.map(g=>g()))}async function ob(t,e,r,i,n,s,o,a){var f,h;let l=await Xfe(i,n),c=await s.lstatPromise(o),u=a.stableTime?{mtime:EE,atime:EE}:c,g;switch(!0){case c.isDirectory():g=await Zfe(t,e,r,i,n,l,s,o,c,a);break;case c.isFile():g=await $fe(t,e,r,i,n,l,s,o,c,a);break;case c.isSymbolicLink():g=await ehe(t,e,r,i,n,l,s,o,c,a);break;default:throw new Error(`Unsupported file type (${c.mode})`)}return(g||((f=l==null?void 0:l.mtime)==null?void 0:f.getTime())!==u.mtime.getTime()||((h=l==null?void 0:l.atime)==null?void 0:h.getTime())!==u.atime.getTime())&&(e.push(()=>r(n,u.atime,u.mtime)),g=!0),(l===null||(l.mode&511)!=(c.mode&511))&&(e.push(()=>i.chmodPromise(n,c.mode&511)),g=!0),g}async function Xfe(t,e){try{return await t.lstatPromise(e)}catch(r){return null}}async function Zfe(t,e,r,i,n,s,o,a,l,c){if(s!==null&&!s.isDirectory())if(c.overwrite)t.push(async()=>i.removePromise(n)),s=null;else return!1;let u=!1;s===null&&(t.push(async()=>{try{await i.mkdirPromise(n,{mode:l.mode})}catch(f){if(f.code!=="EEXIST")throw f}}),u=!0);let g=await o.readdirPromise(a);if(c.stableSort)for(let f of g.sort())await ob(t,e,r,i,i.pathUtils.join(n,f),o,o.pathUtils.join(a,f),c)&&(u=!0);else(await Promise.all(g.map(async h=>{await ob(t,e,r,i,i.pathUtils.join(n,h),o,o.pathUtils.join(a,h),c)}))).some(h=>h)&&(u=!0);return u}var ab=new WeakMap;function Ab(t,e,r,i,n){return async()=>{await t.linkPromise(r,e),n===eh.ReadOnly&&(i.mode&=~146,await t.chmodPromise(e,i.mode))}}function the(t,e,r,i,n){let s=ab.get(t);return typeof s=="undefined"?async()=>{try{await t.copyFilePromise(r,e,mE.default.constants.COPYFILE_FICLONE_FORCE),ab.set(t,!0)}catch(o){if(o.code==="ENOSYS"||o.code==="ENOTSUP")ab.set(t,!1),await Ab(t,e,r,i,n)();else throw o}}:s?async()=>t.copyFilePromise(r,e,mE.default.constants.COPYFILE_FICLONE_FORCE):Ab(t,e,r,i,n)}async function $fe(t,e,r,i,n,s,o,a,l,c){var f;if(s!==null)if(c.overwrite)t.push(async()=>i.removePromise(n)),s=null;else return!1;let u=(f=c.linkStrategy)!=null?f:null,g=i===o?u!==null?the(i,n,a,l,u):async()=>i.copyFilePromise(a,n,mE.default.constants.COPYFILE_FICLONE):u!==null?Ab(i,n,a,l,u):async()=>i.writeFilePromise(n,await o.readFilePromise(a));return t.push(async()=>g()),!0}async function ehe(t,e,r,i,n,s,o,a,l,c){if(s!==null)if(c.overwrite)t.push(async()=>i.removePromise(n)),s=null;else return!1;return t.push(async()=>{await i.symlinkPromise(CE(i.pathUtils,await o.readlinkPromise(a)),n)}),!0}function qn(t,e){return Object.assign(new Error(`${t}: ${e}`),{code:t})}function IE(t){return qn("EBUSY",t)}function th(t,e){return qn("ENOSYS",`${t}, ${e}`)}function $a(t){return qn("EINVAL",`invalid argument, ${t}`)}function Hi(t){return qn("EBADF",`bad file descriptor, ${t}`)}function bs(t){return qn("ENOENT",`no such file or directory, ${t}`)}function eo(t){return qn("ENOTDIR",`not a directory, ${t}`)}function rh(t){return qn("EISDIR",`illegal operation on a directory, ${t}`)}function yE(t){return qn("EEXIST",`file already exists, ${t}`)}function ln(t){return qn("EROFS",`read-only filesystem, ${t}`)}function dO(t){return qn("ENOTEMPTY",`directory not empty, ${t}`)}function CO(t){return qn("EOPNOTSUPP",`operation not supported, ${t}`)}function mO(){return qn("ERR_DIR_CLOSED","Directory handle was closed")}var lb=class extends Error{constructor(e,r){super(e);this.name="Libzip Error",this.code=r}};var EO=class{constructor(e,r,i={}){this.path=e;this.nextDirent=r;this.opts=i;this.closed=!1}throwIfClosed(){if(this.closed)throw mO()}async*[Symbol.asyncIterator](){try{let e;for(;(e=await this.read())!==null;)yield e}finally{await this.close()}}read(e){let r=this.readSync();return typeof e!="undefined"?e(null,r):Promise.resolve(r)}readSync(){return this.throwIfClosed(),this.nextDirent()}close(e){return this.closeSync(),typeof e!="undefined"?e(null):Promise.resolve()}closeSync(){var e,r;this.throwIfClosed(),(r=(e=this.opts).onClose)==null||r.call(e),this.closed=!0}};function wE(t,e,r,i){let n=()=>{let s=r.shift();return typeof s=="undefined"?null:Object.assign(t.statSync(t.pathUtils.join(e,s)),{name:s})};return new EO(e,n,i)}var IO=ie(require("os"));var eA=class{constructor(e){this.pathUtils=e}async*genTraversePromise(e,{stableSort:r=!1}={}){let i=[e];for(;i.length>0;){let n=i.shift();if((await this.lstatPromise(n)).isDirectory()){let o=await this.readdirPromise(n);if(r)for(let a of o.sort())i.push(this.pathUtils.join(n,a));else throw new Error("Not supported")}else yield n}}async removePromise(e,{recursive:r=!0,maxRetries:i=5}={}){let n;try{n=await this.lstatPromise(e)}catch(s){if(s.code==="ENOENT")return;throw s}if(n.isDirectory()){if(r){let o=await this.readdirPromise(e);await Promise.all(o.map(a=>this.removePromise(this.pathUtils.resolve(e,a))))}let s=0;do try{await this.rmdirPromise(e);break}catch(o){if(o.code==="EBUSY"||o.code==="ENOTEMPTY"){if(i===0)break;await new Promise(a=>setTimeout(a,s*100));continue}else throw o}while(s++{let l;try{[l]=await this.readJsonPromise(i)}catch(c){return Date.now()-s<500}try{return process.kill(l,0),!0}catch(c){return!1}};for(;o===null;)try{o=await this.openPromise(i,"wx")}catch(l){if(l.code==="EEXIST"){if(!await a())try{await this.unlinkPromise(i);continue}catch(c){}if(Date.now()-s<60*1e3)await new Promise(c=>setTimeout(c,n));else throw new Error(`Couldn't acquire a lock in a reasonable time (via ${i})`)}else throw l}await this.writePromise(o,JSON.stringify([process.pid]));try{return await r()}finally{try{await this.closePromise(o),await this.unlinkPromise(i)}catch(l){}}}async readJsonPromise(e){let r=await this.readFilePromise(e,"utf8");try{return JSON.parse(r)}catch(i){throw i.message+=` (in ${e})`,i}}readJsonSync(e){let r=this.readFileSync(e,"utf8");try{return JSON.parse(r)}catch(i){throw i.message+=` (in ${e})`,i}}async writeJsonPromise(e,r){return await this.writeFilePromise(e,`${JSON.stringify(r,null,2)} +`)}writeJsonSync(e,r){return this.writeFileSync(e,`${JSON.stringify(r,null,2)} +`)}async preserveTimePromise(e,r){let i=await this.lstatPromise(e),n=await r();typeof n!="undefined"&&(e=n),this.lutimesPromise?await this.lutimesPromise(e,i.atime,i.mtime):i.isSymbolicLink()||await this.utimesPromise(e,i.atime,i.mtime)}async preserveTimeSync(e,r){let i=this.lstatSync(e),n=r();typeof n!="undefined"&&(e=n),this.lutimesSync?this.lutimesSync(e,i.atime,i.mtime):i.isSymbolicLink()||this.utimesSync(e,i.atime,i.mtime)}},gl=class extends eA{constructor(){super(v)}};function rhe(t){let e=t.match(/\r?\n/g);if(e===null)return IO.EOL;let r=e.filter(n=>n===`\r +`).length,i=e.length-r;return r>i?`\r +`:` +`}function ul(t,e){return e.replace(/\r?\n/g,rhe(t))}var $c=ie(require("fs")),cb=ie(require("stream")),QO=ie(require("util")),ub=ie(require("zlib"));var yO=ie(require("fs"));var Wt=class extends gl{constructor(e=yO.default){super();this.realFs=e,typeof this.realFs.lutimes!="undefined"&&(this.lutimesPromise=this.lutimesPromiseImpl,this.lutimesSync=this.lutimesSyncImpl)}getExtractHint(){return!1}getRealPath(){return Se.root}resolve(e){return v.resolve(e)}async openPromise(e,r,i){return await new Promise((n,s)=>{this.realFs.open(M.fromPortablePath(e),r,i,this.makeCallback(n,s))})}openSync(e,r,i){return this.realFs.openSync(M.fromPortablePath(e),r,i)}async opendirPromise(e,r){return await new Promise((i,n)=>{typeof r!="undefined"?this.realFs.opendir(M.fromPortablePath(e),r,this.makeCallback(i,n)):this.realFs.opendir(M.fromPortablePath(e),this.makeCallback(i,n))}).then(i=>Object.defineProperty(i,"path",{value:e,configurable:!0,writable:!0}))}opendirSync(e,r){let i=typeof r!="undefined"?this.realFs.opendirSync(M.fromPortablePath(e),r):this.realFs.opendirSync(M.fromPortablePath(e));return Object.defineProperty(i,"path",{value:e,configurable:!0,writable:!0})}async readPromise(e,r,i=0,n=0,s=-1){return await new Promise((o,a)=>{this.realFs.read(e,r,i,n,s,(l,c)=>{l?a(l):o(c)})})}readSync(e,r,i,n,s){return this.realFs.readSync(e,r,i,n,s)}async writePromise(e,r,i,n,s){return await new Promise((o,a)=>typeof r=="string"?this.realFs.write(e,r,i,this.makeCallback(o,a)):this.realFs.write(e,r,i,n,s,this.makeCallback(o,a)))}writeSync(e,r,i,n,s){return typeof r=="string"?this.realFs.writeSync(e,r,i):this.realFs.writeSync(e,r,i,n,s)}async closePromise(e){await new Promise((r,i)=>{this.realFs.close(e,this.makeCallback(r,i))})}closeSync(e){this.realFs.closeSync(e)}createReadStream(e,r){let i=e!==null?M.fromPortablePath(e):e;return this.realFs.createReadStream(i,r)}createWriteStream(e,r){let i=e!==null?M.fromPortablePath(e):e;return this.realFs.createWriteStream(i,r)}async realpathPromise(e){return await new Promise((r,i)=>{this.realFs.realpath(M.fromPortablePath(e),{},this.makeCallback(r,i))}).then(r=>M.toPortablePath(r))}realpathSync(e){return M.toPortablePath(this.realFs.realpathSync(M.fromPortablePath(e),{}))}async existsPromise(e){return await new Promise(r=>{this.realFs.exists(M.fromPortablePath(e),r)})}accessSync(e,r){return this.realFs.accessSync(M.fromPortablePath(e),r)}async accessPromise(e,r){return await new Promise((i,n)=>{this.realFs.access(M.fromPortablePath(e),r,this.makeCallback(i,n))})}existsSync(e){return this.realFs.existsSync(M.fromPortablePath(e))}async statPromise(e,r){return await new Promise((i,n)=>{r?this.realFs.stat(M.fromPortablePath(e),r,this.makeCallback(i,n)):this.realFs.stat(M.fromPortablePath(e),this.makeCallback(i,n))})}statSync(e,r){return r?this.realFs.statSync(M.fromPortablePath(e),r):this.realFs.statSync(M.fromPortablePath(e))}async fstatPromise(e,r){return await new Promise((i,n)=>{r?this.realFs.fstat(e,r,this.makeCallback(i,n)):this.realFs.fstat(e,this.makeCallback(i,n))})}fstatSync(e,r){return r?this.realFs.fstatSync(e,r):this.realFs.fstatSync(e)}async lstatPromise(e,r){return await new Promise((i,n)=>{r?this.realFs.lstat(M.fromPortablePath(e),r,this.makeCallback(i,n)):this.realFs.lstat(M.fromPortablePath(e),this.makeCallback(i,n))})}lstatSync(e,r){return r?this.realFs.lstatSync(M.fromPortablePath(e),r):this.realFs.lstatSync(M.fromPortablePath(e))}async chmodPromise(e,r){return await new Promise((i,n)=>{this.realFs.chmod(M.fromPortablePath(e),r,this.makeCallback(i,n))})}chmodSync(e,r){return this.realFs.chmodSync(M.fromPortablePath(e),r)}async chownPromise(e,r,i){return await new Promise((n,s)=>{this.realFs.chown(M.fromPortablePath(e),r,i,this.makeCallback(n,s))})}chownSync(e,r,i){return this.realFs.chownSync(M.fromPortablePath(e),r,i)}async renamePromise(e,r){return await new Promise((i,n)=>{this.realFs.rename(M.fromPortablePath(e),M.fromPortablePath(r),this.makeCallback(i,n))})}renameSync(e,r){return this.realFs.renameSync(M.fromPortablePath(e),M.fromPortablePath(r))}async copyFilePromise(e,r,i=0){return await new Promise((n,s)=>{this.realFs.copyFile(M.fromPortablePath(e),M.fromPortablePath(r),i,this.makeCallback(n,s))})}copyFileSync(e,r,i=0){return this.realFs.copyFileSync(M.fromPortablePath(e),M.fromPortablePath(r),i)}async appendFilePromise(e,r,i){return await new Promise((n,s)=>{let o=typeof e=="string"?M.fromPortablePath(e):e;i?this.realFs.appendFile(o,r,i,this.makeCallback(n,s)):this.realFs.appendFile(o,r,this.makeCallback(n,s))})}appendFileSync(e,r,i){let n=typeof e=="string"?M.fromPortablePath(e):e;i?this.realFs.appendFileSync(n,r,i):this.realFs.appendFileSync(n,r)}async writeFilePromise(e,r,i){return await new Promise((n,s)=>{let o=typeof e=="string"?M.fromPortablePath(e):e;i?this.realFs.writeFile(o,r,i,this.makeCallback(n,s)):this.realFs.writeFile(o,r,this.makeCallback(n,s))})}writeFileSync(e,r,i){let n=typeof e=="string"?M.fromPortablePath(e):e;i?this.realFs.writeFileSync(n,r,i):this.realFs.writeFileSync(n,r)}async unlinkPromise(e){return await new Promise((r,i)=>{this.realFs.unlink(M.fromPortablePath(e),this.makeCallback(r,i))})}unlinkSync(e){return this.realFs.unlinkSync(M.fromPortablePath(e))}async utimesPromise(e,r,i){return await new Promise((n,s)=>{this.realFs.utimes(M.fromPortablePath(e),r,i,this.makeCallback(n,s))})}utimesSync(e,r,i){this.realFs.utimesSync(M.fromPortablePath(e),r,i)}async lutimesPromiseImpl(e,r,i){let n=this.realFs.lutimes;if(typeof n=="undefined")throw th("unavailable Node binding",`lutimes '${e}'`);return await new Promise((s,o)=>{n.call(this.realFs,M.fromPortablePath(e),r,i,this.makeCallback(s,o))})}lutimesSyncImpl(e,r,i){let n=this.realFs.lutimesSync;if(typeof n=="undefined")throw th("unavailable Node binding",`lutimes '${e}'`);n.call(this.realFs,M.fromPortablePath(e),r,i)}async mkdirPromise(e,r){return await new Promise((i,n)=>{this.realFs.mkdir(M.fromPortablePath(e),r,this.makeCallback(i,n))})}mkdirSync(e,r){return this.realFs.mkdirSync(M.fromPortablePath(e),r)}async rmdirPromise(e,r){return await new Promise((i,n)=>{r?this.realFs.rmdir(M.fromPortablePath(e),r,this.makeCallback(i,n)):this.realFs.rmdir(M.fromPortablePath(e),this.makeCallback(i,n))})}rmdirSync(e,r){return this.realFs.rmdirSync(M.fromPortablePath(e),r)}async linkPromise(e,r){return await new Promise((i,n)=>{this.realFs.link(M.fromPortablePath(e),M.fromPortablePath(r),this.makeCallback(i,n))})}linkSync(e,r){return this.realFs.linkSync(M.fromPortablePath(e),M.fromPortablePath(r))}async symlinkPromise(e,r,i){return await new Promise((n,s)=>{this.realFs.symlink(M.fromPortablePath(e.replace(/\/+$/,"")),M.fromPortablePath(r),i,this.makeCallback(n,s))})}symlinkSync(e,r,i){return this.realFs.symlinkSync(M.fromPortablePath(e.replace(/\/+$/,"")),M.fromPortablePath(r),i)}async readFilePromise(e,r){return await new Promise((i,n)=>{let s=typeof e=="string"?M.fromPortablePath(e):e;this.realFs.readFile(s,r,this.makeCallback(i,n))})}readFileSync(e,r){let i=typeof e=="string"?M.fromPortablePath(e):e;return this.realFs.readFileSync(i,r)}async readdirPromise(e,r){return await new Promise((i,n)=>{(r==null?void 0:r.withFileTypes)?this.realFs.readdir(M.fromPortablePath(e),{withFileTypes:!0},this.makeCallback(i,n)):this.realFs.readdir(M.fromPortablePath(e),this.makeCallback(s=>i(s),n))})}readdirSync(e,r){return(r==null?void 0:r.withFileTypes)?this.realFs.readdirSync(M.fromPortablePath(e),{withFileTypes:!0}):this.realFs.readdirSync(M.fromPortablePath(e))}async readlinkPromise(e){return await new Promise((r,i)=>{this.realFs.readlink(M.fromPortablePath(e),this.makeCallback(r,i))}).then(r=>M.toPortablePath(r))}readlinkSync(e){return M.toPortablePath(this.realFs.readlinkSync(M.fromPortablePath(e)))}async truncatePromise(e,r){return await new Promise((i,n)=>{this.realFs.truncate(M.fromPortablePath(e),r,this.makeCallback(i,n))})}truncateSync(e,r){return this.realFs.truncateSync(M.fromPortablePath(e),r)}watch(e,r,i){return this.realFs.watch(M.fromPortablePath(e),r,i)}watchFile(e,r,i){return this.realFs.watchFile(M.fromPortablePath(e),r,i)}unwatchFile(e,r){return this.realFs.unwatchFile(M.fromPortablePath(e),r)}makeCallback(e,r){return(i,n)=>{i?r(i):e(n)}}};var wO=ie(require("events"));var fl;(function(r){r.Change="change",r.Stop="stop"})(fl||(fl={}));var hl;(function(i){i.Ready="ready",i.Running="running",i.Stopped="stopped"})(hl||(hl={}));function BO(t,e){if(t!==e)throw new Error(`Invalid StatWatcher status: expected '${e}', got '${t}'`)}var ih=class extends wO.EventEmitter{constructor(e,r,{bigint:i=!1}={}){super();this.status=hl.Ready;this.changeListeners=new Map;this.startTimeout=null;this.fakeFs=e,this.path=r,this.bigint=i,this.lastStats=this.stat()}static create(e,r,i){let n=new ih(e,r,i);return n.start(),n}start(){BO(this.status,hl.Ready),this.status=hl.Running,this.startTimeout=setTimeout(()=>{this.startTimeout=null,this.fakeFs.existsSync(this.path)||this.emit(fl.Change,this.lastStats,this.lastStats)},3)}stop(){BO(this.status,hl.Running),this.status=hl.Stopped,this.startTimeout!==null&&(clearTimeout(this.startTimeout),this.startTimeout=null),this.emit(fl.Stop)}stat(){try{return this.fakeFs.statSync(this.path,{bigint:this.bigint})}catch(e){let r=this.bigint?new Xf:new Za;return pE(r)}}makeInterval(e){let r=setInterval(()=>{let i=this.stat(),n=this.lastStats;nb(i,n)||(this.lastStats=i,this.emit(fl.Change,i,n))},e.interval);return e.persistent?r:r.unref()}registerChangeListener(e,r){this.addListener(fl.Change,e),this.changeListeners.set(e,this.makeInterval(r))}unregisterChangeListener(e){this.removeListener(fl.Change,e);let r=this.changeListeners.get(e);typeof r!="undefined"&&clearInterval(r),this.changeListeners.delete(e)}unregisterAllChangeListeners(){for(let e of this.changeListeners.keys())this.unregisterChangeListener(e)}hasChangeListeners(){return this.changeListeners.size>0}ref(){for(let e of this.changeListeners.values())e.ref();return this}unref(){for(let e of this.changeListeners.values())e.unref();return this}};var BE=new WeakMap;function QE(t,e,r,i){let n,s,o,a;switch(typeof r){case"function":n=!1,s=!0,o=5007,a=r;break;default:({bigint:n=!1,persistent:s=!0,interval:o=5007}=r),a=i;break}let l=BE.get(t);typeof l=="undefined"&&BE.set(t,l=new Map);let c=l.get(e);return typeof c=="undefined"&&(c=ih.create(t,e,{bigint:n}),l.set(e,c)),c.registerChangeListener(a,{persistent:s,interval:o}),c}function nh(t,e,r){let i=BE.get(t);if(typeof i=="undefined")return;let n=i.get(e);typeof n!="undefined"&&(typeof r=="undefined"?n.unregisterAllChangeListeners():n.unregisterChangeListener(r),n.hasChangeListeners()||(n.stop(),i.delete(e)))}function sh(t){let e=BE.get(t);if(typeof e!="undefined")for(let r of e.keys())nh(t,r)}var pl="mixed";function ihe(t){if(typeof t=="string"&&String(+t)===t)return+t;if(Number.isFinite(t))return t<0?Date.now()/1e3:t;if((0,QO.isDate)(t))return t.getTime()/1e3;throw new Error("Invalid time")}function bO(){return Buffer.from([80,75,5,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0])}var Jr=class extends gl{constructor(e,r){super();this.lzSource=null;this.listings=new Map;this.entries=new Map;this.fileSources=new Map;this.fds=new Map;this.nextFd=0;this.ready=!1;this.readOnly=!1;this.libzip=r.libzip;let i=r;if(this.level=typeof i.level!="undefined"?i.level:pl,e!=null||(e=bO()),typeof e=="string"){let{baseFs:o=new Wt}=i;this.baseFs=o,this.path=e}else this.path=null,this.baseFs=null;if(r.stats)this.stats=r.stats;else if(typeof e=="string")try{this.stats=this.baseFs.statSync(e)}catch(o){if(o.code==="ENOENT"&&i.create)this.stats=Zf();else throw o}else this.stats=Zf();let n=this.libzip.malloc(4);try{let o=0;if(typeof e=="string"&&i.create&&(o|=this.libzip.ZIP_CREATE|this.libzip.ZIP_TRUNCATE),r.readOnly&&(o|=this.libzip.ZIP_RDONLY,this.readOnly=!0),typeof e=="string")this.zip=this.libzip.open(M.fromPortablePath(e),o,n);else{let a=this.allocateUnattachedSource(e);try{this.zip=this.libzip.openFromSource(a,o,n),this.lzSource=a}catch(l){throw this.libzip.source.free(a),l}}if(this.zip===0){let a=this.libzip.struct.errorS();throw this.libzip.error.initWithCode(a,this.libzip.getValue(n,"i32")),this.makeLibzipError(a)}}finally{this.libzip.free(n)}this.listings.set(Se.root,new Set);let s=this.libzip.getNumEntries(this.zip,0);for(let o=0;oe)throw new Error("Overread");let n=this.libzip.HEAPU8.subarray(r,r+e);return Buffer.from(n)}finally{this.libzip.free(r)}}finally{this.libzip.source.close(this.lzSource),this.libzip.source.free(this.lzSource),this.ready=!1}}prepareClose(){if(!this.ready)throw IE("archive closed, close");sh(this)}saveAndClose(){if(!this.path||!this.baseFs)throw new Error("ZipFS cannot be saved and must be discarded when loaded from a buffer");if(this.prepareClose(),this.readOnly){this.discardAndClose();return}let e=this.baseFs.existsSync(this.path)||this.stats.mode===_f?void 0:this.stats.mode;if(this.entries.size===0)this.discardAndClose(),this.baseFs.writeFileSync(this.path,bO(),{mode:e});else{if(this.libzip.close(this.zip)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));typeof e!="undefined"&&this.baseFs.chmodSync(this.path,e)}this.ready=!1}discardAndClose(){this.prepareClose(),this.libzip.discard(this.zip),this.ready=!1}resolve(e){return v.resolve(Se.root,e)}async openPromise(e,r,i){return this.openSync(e,r,i)}openSync(e,r,i){let n=this.nextFd++;return this.fds.set(n,{cursor:0,p:e}),n}hasOpenFileHandles(){return!!this.fds.size}async opendirPromise(e,r){return this.opendirSync(e,r)}opendirSync(e,r={}){let i=this.resolveFilename(`opendir '${e}'`,e);if(!this.entries.has(i)&&!this.listings.has(i))throw bs(`opendir '${e}'`);let n=this.listings.get(i);if(!n)throw eo(`opendir '${e}'`);let s=[...n],o=this.openSync(i,"r");return wE(this,i,s,{onClose:()=>{this.closeSync(o)}})}async readPromise(e,r,i,n,s){return this.readSync(e,r,i,n,s)}readSync(e,r,i=0,n=r.byteLength,s=-1){let o=this.fds.get(e);if(typeof o=="undefined")throw Hi("read");let a;s===-1||s===null?a=o.cursor:a=s;let l=this.readFileSync(o.p);l.copy(r,i,a,a+n);let c=Math.max(0,Math.min(l.length-a,n));return(s===-1||s===null)&&(o.cursor+=c),c}async writePromise(e,r,i,n,s){return typeof r=="string"?this.writeSync(e,r,s):this.writeSync(e,r,i,n,s)}writeSync(e,r,i,n,s){throw typeof this.fds.get(e)=="undefined"?Hi("read"):new Error("Unimplemented")}async closePromise(e){return this.closeSync(e)}closeSync(e){if(typeof this.fds.get(e)=="undefined")throw Hi("read");this.fds.delete(e)}createReadStream(e,{encoding:r}={}){if(e===null)throw new Error("Unimplemented");let i=this.openSync(e,"r"),n=Object.assign(new cb.PassThrough({emitClose:!0,autoDestroy:!0,destroy:(o,a)=>{clearImmediate(s),this.closeSync(i),a(o)}}),{close(){n.destroy()},bytesRead:0,path:e}),s=setImmediate(async()=>{try{let o=await this.readFilePromise(e,r);n.bytesRead=o.length,n.end(o)}catch(o){n.destroy(o)}});return n}createWriteStream(e,{encoding:r}={}){if(this.readOnly)throw ln(`open '${e}'`);if(e===null)throw new Error("Unimplemented");let i=[],n=this.openSync(e,"w"),s=Object.assign(new cb.PassThrough({autoDestroy:!0,emitClose:!0,destroy:(o,a)=>{try{o?a(o):(this.writeFileSync(e,Buffer.concat(i),r),a(null))}catch(l){a(l)}finally{this.closeSync(n)}}}),{bytesWritten:0,path:e,close(){s.destroy()}});return s.on("data",o=>{let a=Buffer.from(o);s.bytesWritten+=a.length,i.push(a)}),s}async realpathPromise(e){return this.realpathSync(e)}realpathSync(e){let r=this.resolveFilename(`lstat '${e}'`,e);if(!this.entries.has(r)&&!this.listings.has(r))throw bs(`lstat '${e}'`);return r}async existsPromise(e){return this.existsSync(e)}existsSync(e){if(!this.ready)throw IE(`archive closed, existsSync '${e}'`);if(this.symlinkCount===0){let i=v.resolve(Se.root,e);return this.entries.has(i)||this.listings.has(i)}let r;try{r=this.resolveFilename(`stat '${e}'`,e)}catch(i){return!1}return this.entries.has(r)||this.listings.has(r)}async accessPromise(e,r){return this.accessSync(e,r)}accessSync(e,r=$c.constants.F_OK){let i=this.resolveFilename(`access '${e}'`,e);if(!this.entries.has(i)&&!this.listings.has(i))throw bs(`access '${e}'`);if(this.readOnly&&r&$c.constants.W_OK)throw ln(`access '${e}'`)}async statPromise(e,r){return this.statSync(e,r)}statSync(e,r){let i=this.resolveFilename(`stat '${e}'`,e);if(!this.entries.has(i)&&!this.listings.has(i))throw bs(`stat '${e}'`);if(e[e.length-1]==="/"&&!this.listings.has(i))throw eo(`stat '${e}'`);return this.statImpl(`stat '${e}'`,i,r)}async fstatPromise(e,r){return this.fstatSync(e,r)}fstatSync(e,r){let i=this.fds.get(e);if(typeof i=="undefined")throw Hi("fstatSync");let{p:n}=i,s=this.resolveFilename(`stat '${n}'`,n);if(!this.entries.has(s)&&!this.listings.has(s))throw bs(`stat '${n}'`);if(n[n.length-1]==="/"&&!this.listings.has(s))throw eo(`stat '${n}'`);return this.statImpl(`fstat '${n}'`,s,r)}async lstatPromise(e,r){return this.lstatSync(e,r)}lstatSync(e,r){let i=this.resolveFilename(`lstat '${e}'`,e,!1);if(!this.entries.has(i)&&!this.listings.has(i))throw bs(`lstat '${e}'`);if(e[e.length-1]==="/"&&!this.listings.has(i))throw eo(`lstat '${e}'`);return this.statImpl(`lstat '${e}'`,i,r)}statImpl(e,r,i={}){let n=this.entries.get(r);if(typeof n!="undefined"){let s=this.libzip.struct.statS();if(this.libzip.statIndex(this.zip,n,0,0,s)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));let a=this.stats.uid,l=this.stats.gid,c=this.libzip.struct.statSize(s)>>>0,u=512,g=Math.ceil(c/u),f=(this.libzip.struct.statMtime(s)>>>0)*1e3,h=f,p=f,d=f,m=new Date(h),I=new Date(p),B=new Date(d),b=new Date(f),R=this.listings.has(r)?zo:this.isSymbolicLink(n)?_o:Vo,H=R===zo?493:420,L=R|this.getUnixMode(n,H)&511,K=this.libzip.struct.statCrc(s),J=Object.assign(new Za,{uid:a,gid:l,size:c,blksize:u,blocks:g,atime:m,birthtime:I,ctime:B,mtime:b,atimeMs:h,birthtimeMs:p,ctimeMs:d,mtimeMs:f,mode:L,crc:K});return i.bigint===!0?dE(J):J}if(this.listings.has(r)){let s=this.stats.uid,o=this.stats.gid,a=0,l=512,c=0,u=this.stats.mtimeMs,g=this.stats.mtimeMs,f=this.stats.mtimeMs,h=this.stats.mtimeMs,p=new Date(u),d=new Date(g),m=new Date(f),I=new Date(h),B=zo|493,b=0,R=Object.assign(new Za,{uid:s,gid:o,size:a,blksize:l,blocks:c,atime:p,birthtime:d,ctime:m,mtime:I,atimeMs:u,birthtimeMs:g,ctimeMs:f,mtimeMs:h,mode:B,crc:b});return i.bigint===!0?dE(R):R}throw new Error("Unreachable")}getUnixMode(e,r){if(this.libzip.file.getExternalAttributes(this.zip,e,0,0,this.libzip.uint08S,this.libzip.uint32S)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));return this.libzip.getValue(this.libzip.uint08S,"i8")>>>0!==this.libzip.ZIP_OPSYS_UNIX?r:this.libzip.getValue(this.libzip.uint32S,"i32")>>>16}registerListing(e){let r=this.listings.get(e);if(r)return r;let i=this.registerListing(v.dirname(e));return r=new Set,i.add(v.basename(e)),this.listings.set(e,r),r}registerEntry(e,r){this.registerListing(v.dirname(e)).add(v.basename(e)),this.entries.set(e,r)}unregisterListing(e){this.listings.delete(e);let r=this.listings.get(v.dirname(e));r==null||r.delete(v.basename(e))}unregisterEntry(e){this.unregisterListing(e);let r=this.entries.get(e);this.entries.delete(e),typeof r!="undefined"&&(this.fileSources.delete(r),this.isSymbolicLink(r)&&this.symlinkCount--)}deleteEntry(e,r){if(this.unregisterEntry(e),this.libzip.delete(this.zip,r)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip))}resolveFilename(e,r,i=!0){if(!this.ready)throw IE(`archive closed, ${e}`);let n=v.resolve(Se.root,r);if(n==="/")return Se.root;let s=this.entries.get(n);if(i&&s!==void 0)if(this.symlinkCount!==0&&this.isSymbolicLink(s)){let o=this.getFileSource(s).toString();return this.resolveFilename(e,v.resolve(v.dirname(n),o),!0)}else return n;for(;;){let o=this.resolveFilename(e,v.dirname(n),!0),a=this.listings.has(o),l=this.entries.has(o);if(!a&&!l)throw bs(e);if(!a)throw eo(e);if(n=v.resolve(o,v.basename(n)),!i||this.symlinkCount===0)break;let c=this.libzip.name.locate(this.zip,n.slice(1));if(c===-1)break;if(this.isSymbolicLink(c)){let u=this.getFileSource(c).toString();n=v.resolve(v.dirname(n),u)}else break}return n}allocateBuffer(e){Buffer.isBuffer(e)||(e=Buffer.from(e));let r=this.libzip.malloc(e.byteLength);if(!r)throw new Error("Couldn't allocate enough memory");return new Uint8Array(this.libzip.HEAPU8.buffer,r,e.byteLength).set(e),{buffer:r,byteLength:e.byteLength}}allocateUnattachedSource(e){let r=this.libzip.struct.errorS(),{buffer:i,byteLength:n}=this.allocateBuffer(e),s=this.libzip.source.fromUnattachedBuffer(i,n,0,!0,r);if(s===0)throw this.libzip.free(r),this.makeLibzipError(r);return s}allocateSource(e){let{buffer:r,byteLength:i}=this.allocateBuffer(e),n=this.libzip.source.fromBuffer(this.zip,r,i,0,!0);if(n===0)throw this.libzip.free(r),this.makeLibzipError(this.libzip.getError(this.zip));return n}setFileSource(e,r){let i=Buffer.isBuffer(r)?r:Buffer.from(r),n=v.relative(Se.root,e),s=this.allocateSource(r);try{let o=this.libzip.file.add(this.zip,n,s,this.libzip.ZIP_FL_OVERWRITE);if(o===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));if(this.level!=="mixed"){let a;if(this.level===0?a=this.libzip.ZIP_CM_STORE:a=this.libzip.ZIP_CM_DEFLATE,this.libzip.file.setCompression(this.zip,o,0,a,this.level)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip))}return this.fileSources.set(o,i),o}catch(o){throw this.libzip.source.free(s),o}}isSymbolicLink(e){if(this.symlinkCount===0)return!1;if(this.libzip.file.getExternalAttributes(this.zip,e,0,0,this.libzip.uint08S,this.libzip.uint32S)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));return this.libzip.getValue(this.libzip.uint08S,"i8")>>>0!==this.libzip.ZIP_OPSYS_UNIX?!1:(this.libzip.getValue(this.libzip.uint32S,"i32")>>>16&kn)===_o}getFileSource(e,r={asyncDecompress:!1}){let i=this.fileSources.get(e);if(typeof i!="undefined")return i;let n=this.libzip.struct.statS();if(this.libzip.statIndex(this.zip,e,0,0,n)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));let o=this.libzip.struct.statCompSize(n),a=this.libzip.struct.statCompMethod(n),l=this.libzip.malloc(o);try{let c=this.libzip.fopenIndex(this.zip,e,0,this.libzip.ZIP_FL_COMPRESSED);if(c===0)throw this.makeLibzipError(this.libzip.getError(this.zip));try{let u=this.libzip.fread(c,l,o,0);if(u===-1)throw this.makeLibzipError(this.libzip.file.getError(c));if(uo)throw new Error("Overread");let g=this.libzip.HEAPU8.subarray(l,l+o),f=Buffer.from(g);if(a===0)return this.fileSources.set(e,f),f;if(r.asyncDecompress)return new Promise((h,p)=>{ub.default.inflateRaw(f,(d,m)=>{d?p(d):(this.fileSources.set(e,m),h(m))})});{let h=ub.default.inflateRawSync(f);return this.fileSources.set(e,h),h}}finally{this.libzip.fclose(c)}}finally{this.libzip.free(l)}}async chmodPromise(e,r){return this.chmodSync(e,r)}chmodSync(e,r){if(this.readOnly)throw ln(`chmod '${e}'`);r&=493;let i=this.resolveFilename(`chmod '${e}'`,e,!1),n=this.entries.get(i);if(typeof n=="undefined")throw new Error(`Assertion failed: The entry should have been registered (${i})`);let o=this.getUnixMode(n,Vo|0)&~511|r;if(this.libzip.file.setExternalAttributes(this.zip,n,0,0,this.libzip.ZIP_OPSYS_UNIX,o<<16)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip))}async chownPromise(e,r,i){return this.chownSync(e,r,i)}chownSync(e,r,i){throw new Error("Unimplemented")}async renamePromise(e,r){return this.renameSync(e,r)}renameSync(e,r){throw new Error("Unimplemented")}async copyFilePromise(e,r,i){let{indexSource:n,indexDest:s,resolvedDestP:o}=this.prepareCopyFile(e,r,i),a=await this.getFileSource(n,{asyncDecompress:!0}),l=this.setFileSource(o,a);l!==s&&this.registerEntry(o,l)}copyFileSync(e,r,i=0){let{indexSource:n,indexDest:s,resolvedDestP:o}=this.prepareCopyFile(e,r,i),a=this.getFileSource(n),l=this.setFileSource(o,a);l!==s&&this.registerEntry(o,l)}prepareCopyFile(e,r,i=0){if(this.readOnly)throw ln(`copyfile '${e} -> '${r}'`);if((i&$c.constants.COPYFILE_FICLONE_FORCE)!=0)throw th("unsupported clone operation",`copyfile '${e}' -> ${r}'`);let n=this.resolveFilename(`copyfile '${e} -> ${r}'`,e),s=this.entries.get(n);if(typeof s=="undefined")throw $a(`copyfile '${e}' -> '${r}'`);let o=this.resolveFilename(`copyfile '${e}' -> ${r}'`,r),a=this.entries.get(o);if((i&($c.constants.COPYFILE_EXCL|$c.constants.COPYFILE_FICLONE_FORCE))!=0&&typeof a!="undefined")throw yE(`copyfile '${e}' -> '${r}'`);return{indexSource:s,resolvedDestP:o,indexDest:a}}async appendFilePromise(e,r,i){if(this.readOnly)throw ln(`open '${e}'`);return typeof i=="undefined"?i={flag:"a"}:typeof i=="string"?i={flag:"a",encoding:i}:typeof i.flag=="undefined"&&(i=P({flag:"a"},i)),this.writeFilePromise(e,r,i)}appendFileSync(e,r,i={}){if(this.readOnly)throw ln(`open '${e}'`);return typeof i=="undefined"?i={flag:"a"}:typeof i=="string"?i={flag:"a",encoding:i}:typeof i.flag=="undefined"&&(i=P({flag:"a"},i)),this.writeFileSync(e,r,i)}fdToPath(e,r){var n;let i=(n=this.fds.get(e))==null?void 0:n.p;if(typeof i=="undefined")throw Hi(r);return i}async writeFilePromise(e,r,i){let{encoding:n,mode:s,index:o,resolvedP:a}=this.prepareWriteFile(e,i);o!==void 0&&typeof i=="object"&&i.flag&&i.flag.includes("a")&&(r=Buffer.concat([await this.getFileSource(o,{asyncDecompress:!0}),Buffer.from(r)])),n!==null&&(r=r.toString(n));let l=this.setFileSource(a,r);l!==o&&this.registerEntry(a,l),s!==null&&await this.chmodPromise(a,s)}writeFileSync(e,r,i){let{encoding:n,mode:s,index:o,resolvedP:a}=this.prepareWriteFile(e,i);o!==void 0&&typeof i=="object"&&i.flag&&i.flag.includes("a")&&(r=Buffer.concat([this.getFileSource(o),Buffer.from(r)])),n!==null&&(r=r.toString(n));let l=this.setFileSource(a,r);l!==o&&this.registerEntry(a,l),s!==null&&this.chmodSync(a,s)}prepareWriteFile(e,r){if(typeof e=="number"&&(e=this.fdToPath(e,"read")),this.readOnly)throw ln(`open '${e}'`);let i=this.resolveFilename(`open '${e}'`,e);if(this.listings.has(i))throw rh(`open '${e}'`);let n=null,s=null;typeof r=="string"?n=r:typeof r=="object"&&({encoding:n=null,mode:s=null}=r);let o=this.entries.get(i);return{encoding:n,mode:s,resolvedP:i,index:o}}async unlinkPromise(e){return this.unlinkSync(e)}unlinkSync(e){if(this.readOnly)throw ln(`unlink '${e}'`);let r=this.resolveFilename(`unlink '${e}'`,e);if(this.listings.has(r))throw rh(`unlink '${e}'`);let i=this.entries.get(r);if(typeof i=="undefined")throw $a(`unlink '${e}'`);this.deleteEntry(r,i)}async utimesPromise(e,r,i){return this.utimesSync(e,r,i)}utimesSync(e,r,i){if(this.readOnly)throw ln(`utimes '${e}'`);let n=this.resolveFilename(`utimes '${e}'`,e);this.utimesImpl(n,i)}async lutimesPromise(e,r,i){return this.lutimesSync(e,r,i)}lutimesSync(e,r,i){if(this.readOnly)throw ln(`lutimes '${e}'`);let n=this.resolveFilename(`utimes '${e}'`,e,!1);this.utimesImpl(n,i)}utimesImpl(e,r){this.listings.has(e)&&(this.entries.has(e)||this.hydrateDirectory(e));let i=this.entries.get(e);if(i===void 0)throw new Error("Unreachable");if(this.libzip.file.setMtime(this.zip,i,0,ihe(r),0)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip))}async mkdirPromise(e,r){return this.mkdirSync(e,r)}mkdirSync(e,{mode:r=493,recursive:i=!1}={}){if(i){this.mkdirpSync(e,{chmod:r});return}if(this.readOnly)throw ln(`mkdir '${e}'`);let n=this.resolveFilename(`mkdir '${e}'`,e);if(this.entries.has(n)||this.listings.has(n))throw yE(`mkdir '${e}'`);this.hydrateDirectory(n),this.chmodSync(n,r)}async rmdirPromise(e,r){return this.rmdirSync(e,r)}rmdirSync(e,{recursive:r=!1}={}){if(this.readOnly)throw ln(`rmdir '${e}'`);if(r){this.removeSync(e);return}let i=this.resolveFilename(`rmdir '${e}'`,e),n=this.listings.get(i);if(!n)throw eo(`rmdir '${e}'`);if(n.size>0)throw dO(`rmdir '${e}'`);let s=this.entries.get(i);if(typeof s=="undefined")throw $a(`rmdir '${e}'`);this.deleteEntry(e,s)}hydrateDirectory(e){let r=this.libzip.dir.add(this.zip,v.relative(Se.root,e));if(r===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));return this.registerListing(e),this.registerEntry(e,r),r}async linkPromise(e,r){return this.linkSync(e,r)}linkSync(e,r){throw CO(`link '${e}' -> '${r}'`)}async symlinkPromise(e,r){return this.symlinkSync(e,r)}symlinkSync(e,r){if(this.readOnly)throw ln(`symlink '${e}' -> '${r}'`);let i=this.resolveFilename(`symlink '${e}' -> '${r}'`,r);if(this.listings.has(i))throw rh(`symlink '${e}' -> '${r}'`);if(this.entries.has(i))throw yE(`symlink '${e}' -> '${r}'`);let n=this.setFileSource(i,e);if(this.registerEntry(i,n),this.libzip.file.setExternalAttributes(this.zip,n,0,0,this.libzip.ZIP_OPSYS_UNIX,(_o|511)<<16)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));this.symlinkCount+=1}async readFilePromise(e,r){typeof r=="object"&&(r=r?r.encoding:void 0);let i=await this.readFileBuffer(e,{asyncDecompress:!0});return r?i.toString(r):i}readFileSync(e,r){typeof r=="object"&&(r=r?r.encoding:void 0);let i=this.readFileBuffer(e);return r?i.toString(r):i}readFileBuffer(e,r={asyncDecompress:!1}){typeof e=="number"&&(e=this.fdToPath(e,"read"));let i=this.resolveFilename(`open '${e}'`,e);if(!this.entries.has(i)&&!this.listings.has(i))throw bs(`open '${e}'`);if(e[e.length-1]==="/"&&!this.listings.has(i))throw eo(`open '${e}'`);if(this.listings.has(i))throw rh("read");let n=this.entries.get(i);if(n===void 0)throw new Error("Unreachable");return this.getFileSource(n,r)}async readdirPromise(e,r){return this.readdirSync(e,r)}readdirSync(e,r){let i=this.resolveFilename(`scandir '${e}'`,e);if(!this.entries.has(i)&&!this.listings.has(i))throw bs(`scandir '${e}'`);let n=this.listings.get(i);if(!n)throw eo(`scandir '${e}'`);let s=[...n];return(r==null?void 0:r.withFileTypes)?s.map(o=>Object.assign(this.statImpl("lstat",v.join(e,o)),{name:o})):s}async readlinkPromise(e){let r=this.prepareReadlink(e);return(await this.getFileSource(r,{asyncDecompress:!0})).toString()}readlinkSync(e){let r=this.prepareReadlink(e);return this.getFileSource(r).toString()}prepareReadlink(e){let r=this.resolveFilename(`readlink '${e}'`,e,!1);if(!this.entries.has(r)&&!this.listings.has(r))throw bs(`readlink '${e}'`);if(e[e.length-1]==="/"&&!this.listings.has(r))throw eo(`open '${e}'`);if(this.listings.has(r))throw $a(`readlink '${e}'`);let i=this.entries.get(r);if(i===void 0)throw new Error("Unreachable");if(!this.isSymbolicLink(i))throw $a(`readlink '${e}'`);return i}async truncatePromise(e,r=0){let i=this.resolveFilename(`open '${e}'`,e),n=this.entries.get(i);if(typeof n=="undefined")throw $a(`open '${e}'`);let s=await this.getFileSource(n,{asyncDecompress:!0}),o=Buffer.alloc(r,0);return s.copy(o),await this.writeFilePromise(e,o)}truncateSync(e,r=0){let i=this.resolveFilename(`open '${e}'`,e),n=this.entries.get(i);if(typeof n=="undefined")throw $a(`open '${e}'`);let s=this.getFileSource(n),o=Buffer.alloc(r,0);return s.copy(o),this.writeFileSync(e,o)}watch(e,r,i){let n;switch(typeof r){case"function":case"string":case"undefined":n=!0;break;default:({persistent:n=!0}=r);break}if(!n)return{on:()=>{},close:()=>{}};let s=setInterval(()=>{},24*60*60*1e3);return{on:()=>{},close:()=>{clearInterval(s)}}}watchFile(e,r,i){let n=v.resolve(Se.root,e);return QE(this,n,r,i)}unwatchFile(e,r){let i=v.resolve(Se.root,e);return nh(this,i,r)}};var fi=class extends eA{getExtractHint(e){return this.baseFs.getExtractHint(e)}resolve(e){return this.mapFromBase(this.baseFs.resolve(this.mapToBase(e)))}getRealPath(){return this.mapFromBase(this.baseFs.getRealPath())}async openPromise(e,r,i){return this.baseFs.openPromise(this.mapToBase(e),r,i)}openSync(e,r,i){return this.baseFs.openSync(this.mapToBase(e),r,i)}async opendirPromise(e,r){return Object.assign(await this.baseFs.opendirPromise(this.mapToBase(e),r),{path:e})}opendirSync(e,r){return Object.assign(this.baseFs.opendirSync(this.mapToBase(e),r),{path:e})}async readPromise(e,r,i,n,s){return await this.baseFs.readPromise(e,r,i,n,s)}readSync(e,r,i,n,s){return this.baseFs.readSync(e,r,i,n,s)}async writePromise(e,r,i,n,s){return typeof r=="string"?await this.baseFs.writePromise(e,r,i):await this.baseFs.writePromise(e,r,i,n,s)}writeSync(e,r,i,n,s){return typeof r=="string"?this.baseFs.writeSync(e,r,i):this.baseFs.writeSync(e,r,i,n,s)}async closePromise(e){return this.baseFs.closePromise(e)}closeSync(e){this.baseFs.closeSync(e)}createReadStream(e,r){return this.baseFs.createReadStream(e!==null?this.mapToBase(e):e,r)}createWriteStream(e,r){return this.baseFs.createWriteStream(e!==null?this.mapToBase(e):e,r)}async realpathPromise(e){return this.mapFromBase(await this.baseFs.realpathPromise(this.mapToBase(e)))}realpathSync(e){return this.mapFromBase(this.baseFs.realpathSync(this.mapToBase(e)))}async existsPromise(e){return this.baseFs.existsPromise(this.mapToBase(e))}existsSync(e){return this.baseFs.existsSync(this.mapToBase(e))}accessSync(e,r){return this.baseFs.accessSync(this.mapToBase(e),r)}async accessPromise(e,r){return this.baseFs.accessPromise(this.mapToBase(e),r)}async statPromise(e,r){return this.baseFs.statPromise(this.mapToBase(e),r)}statSync(e,r){return this.baseFs.statSync(this.mapToBase(e),r)}async fstatPromise(e,r){return this.baseFs.fstatPromise(e,r)}fstatSync(e,r){return this.baseFs.fstatSync(e,r)}async lstatPromise(e,r){return this.baseFs.lstatPromise(this.mapToBase(e),r)}lstatSync(e,r){return this.baseFs.lstatSync(this.mapToBase(e),r)}async chmodPromise(e,r){return this.baseFs.chmodPromise(this.mapToBase(e),r)}chmodSync(e,r){return this.baseFs.chmodSync(this.mapToBase(e),r)}async chownPromise(e,r,i){return this.baseFs.chownPromise(this.mapToBase(e),r,i)}chownSync(e,r,i){return this.baseFs.chownSync(this.mapToBase(e),r,i)}async renamePromise(e,r){return this.baseFs.renamePromise(this.mapToBase(e),this.mapToBase(r))}renameSync(e,r){return this.baseFs.renameSync(this.mapToBase(e),this.mapToBase(r))}async copyFilePromise(e,r,i=0){return this.baseFs.copyFilePromise(this.mapToBase(e),this.mapToBase(r),i)}copyFileSync(e,r,i=0){return this.baseFs.copyFileSync(this.mapToBase(e),this.mapToBase(r),i)}async appendFilePromise(e,r,i){return this.baseFs.appendFilePromise(this.fsMapToBase(e),r,i)}appendFileSync(e,r,i){return this.baseFs.appendFileSync(this.fsMapToBase(e),r,i)}async writeFilePromise(e,r,i){return this.baseFs.writeFilePromise(this.fsMapToBase(e),r,i)}writeFileSync(e,r,i){return this.baseFs.writeFileSync(this.fsMapToBase(e),r,i)}async unlinkPromise(e){return this.baseFs.unlinkPromise(this.mapToBase(e))}unlinkSync(e){return this.baseFs.unlinkSync(this.mapToBase(e))}async utimesPromise(e,r,i){return this.baseFs.utimesPromise(this.mapToBase(e),r,i)}utimesSync(e,r,i){return this.baseFs.utimesSync(this.mapToBase(e),r,i)}async mkdirPromise(e,r){return this.baseFs.mkdirPromise(this.mapToBase(e),r)}mkdirSync(e,r){return this.baseFs.mkdirSync(this.mapToBase(e),r)}async rmdirPromise(e,r){return this.baseFs.rmdirPromise(this.mapToBase(e),r)}rmdirSync(e,r){return this.baseFs.rmdirSync(this.mapToBase(e),r)}async linkPromise(e,r){return this.baseFs.linkPromise(this.mapToBase(e),this.mapToBase(r))}linkSync(e,r){return this.baseFs.linkSync(this.mapToBase(e),this.mapToBase(r))}async symlinkPromise(e,r,i){let n=this.mapToBase(r);if(this.pathUtils.isAbsolute(e))return this.baseFs.symlinkPromise(this.mapToBase(e),n,i);let s=this.mapToBase(this.pathUtils.join(this.pathUtils.dirname(r),e)),o=this.baseFs.pathUtils.relative(this.baseFs.pathUtils.dirname(n),s);return this.baseFs.symlinkPromise(o,n,i)}symlinkSync(e,r,i){let n=this.mapToBase(r);if(this.pathUtils.isAbsolute(e))return this.baseFs.symlinkSync(this.mapToBase(e),n,i);let s=this.mapToBase(this.pathUtils.join(this.pathUtils.dirname(r),e)),o=this.baseFs.pathUtils.relative(this.baseFs.pathUtils.dirname(n),s);return this.baseFs.symlinkSync(o,n,i)}async readFilePromise(e,r){return r==="utf8"?this.baseFs.readFilePromise(this.fsMapToBase(e),r):this.baseFs.readFilePromise(this.fsMapToBase(e),r)}readFileSync(e,r){return r==="utf8"?this.baseFs.readFileSync(this.fsMapToBase(e),r):this.baseFs.readFileSync(this.fsMapToBase(e),r)}async readdirPromise(e,r){return this.baseFs.readdirPromise(this.mapToBase(e),r)}readdirSync(e,r){return this.baseFs.readdirSync(this.mapToBase(e),r)}async readlinkPromise(e){return this.mapFromBase(await this.baseFs.readlinkPromise(this.mapToBase(e)))}readlinkSync(e){return this.mapFromBase(this.baseFs.readlinkSync(this.mapToBase(e)))}async truncatePromise(e,r){return this.baseFs.truncatePromise(this.mapToBase(e),r)}truncateSync(e,r){return this.baseFs.truncateSync(this.mapToBase(e),r)}watch(e,r,i){return this.baseFs.watch(this.mapToBase(e),r,i)}watchFile(e,r,i){return this.baseFs.watchFile(this.mapToBase(e),r,i)}unwatchFile(e,r){return this.baseFs.unwatchFile(this.mapToBase(e),r)}fsMapToBase(e){return typeof e=="number"?e:this.mapToBase(e)}};var Xo=class extends fi{constructor(e,{baseFs:r,pathUtils:i}){super(i);this.target=e,this.baseFs=r}getRealPath(){return this.target}getBaseFs(){return this.baseFs}mapFromBase(e){return e}mapToBase(e){return e}};var Ft=class extends fi{constructor(e,{baseFs:r=new Wt}={}){super(v);this.target=this.pathUtils.normalize(e),this.baseFs=r}getRealPath(){return this.pathUtils.resolve(this.baseFs.getRealPath(),this.target)}resolve(e){return this.pathUtils.isAbsolute(e)?v.normalize(e):this.baseFs.resolve(v.join(this.target,e))}mapFromBase(e){return e}mapToBase(e){return this.pathUtils.isAbsolute(e)?e:this.pathUtils.join(this.target,e)}};var vO=Se.root,Zo=class extends fi{constructor(e,{baseFs:r=new Wt}={}){super(v);this.target=this.pathUtils.resolve(Se.root,e),this.baseFs=r}getRealPath(){return this.pathUtils.resolve(this.baseFs.getRealPath(),this.pathUtils.relative(Se.root,this.target))}getTarget(){return this.target}getBaseFs(){return this.baseFs}mapToBase(e){let r=this.pathUtils.normalize(e);if(this.pathUtils.isAbsolute(e))return this.pathUtils.resolve(this.target,this.pathUtils.relative(vO,e));if(r.match(/^\.\.\/?/))throw new Error(`Resolving this path (${e}) would escape the jail`);return this.pathUtils.resolve(this.target,e)}mapFromBase(e){return this.pathUtils.resolve(vO,this.pathUtils.relative(this.target,e))}};var oh=class extends fi{constructor(e,r){super(r);this.instance=null;this.factory=e}get baseFs(){return this.instance||(this.instance=this.factory()),this.instance}set baseFs(e){this.instance=e}mapFromBase(e){return e}mapToBase(e){return e}};var ze=()=>Object.assign(new Error("ENOSYS: unsupported filesystem access"),{code:"ENOSYS"}),gb=class extends eA{constructor(){super(v)}getExtractHint(){throw ze()}getRealPath(){throw ze()}resolve(){throw ze()}async openPromise(){throw ze()}openSync(){throw ze()}async opendirPromise(){throw ze()}opendirSync(){throw ze()}async readPromise(){throw ze()}readSync(){throw ze()}async writePromise(){throw ze()}writeSync(){throw ze()}async closePromise(){throw ze()}closeSync(){throw ze()}createWriteStream(){throw ze()}createReadStream(){throw ze()}async realpathPromise(){throw ze()}realpathSync(){throw ze()}async readdirPromise(){throw ze()}readdirSync(){throw ze()}async existsPromise(e){throw ze()}existsSync(e){throw ze()}async accessPromise(){throw ze()}accessSync(){throw ze()}async statPromise(){throw ze()}statSync(){throw ze()}async fstatPromise(e){throw ze()}fstatSync(e){throw ze()}async lstatPromise(e){throw ze()}lstatSync(e){throw ze()}async chmodPromise(){throw ze()}chmodSync(){throw ze()}async chownPromise(){throw ze()}chownSync(){throw ze()}async mkdirPromise(){throw ze()}mkdirSync(){throw ze()}async rmdirPromise(){throw ze()}rmdirSync(){throw ze()}async linkPromise(){throw ze()}linkSync(){throw ze()}async symlinkPromise(){throw ze()}symlinkSync(){throw ze()}async renamePromise(){throw ze()}renameSync(){throw ze()}async copyFilePromise(){throw ze()}copyFileSync(){throw ze()}async appendFilePromise(){throw ze()}appendFileSync(){throw ze()}async writeFilePromise(){throw ze()}writeFileSync(){throw ze()}async unlinkPromise(){throw ze()}unlinkSync(){throw ze()}async utimesPromise(){throw ze()}utimesSync(){throw ze()}async readFilePromise(){throw ze()}readFileSync(){throw ze()}async readlinkPromise(){throw ze()}readlinkSync(){throw ze()}async truncatePromise(){throw ze()}truncateSync(){throw ze()}watch(){throw ze()}watchFile(){throw ze()}unwatchFile(){throw ze()}},bE=gb;bE.instance=new gb;var ah=class extends fi{constructor(e){super(M);this.baseFs=e}mapFromBase(e){return M.fromPortablePath(e)}mapToBase(e){return M.toPortablePath(e)}};var nhe=/^[0-9]+$/,fb=/^(\/(?:[^/]+\/)*?(?:\$\$virtual|__virtual__))((?:\/((?:[^/]+-)?[a-f0-9]+)(?:\/([^/]+))?)?((?:\/.*)?))$/,she=/^([^/]+-)?[a-f0-9]+$/,Pr=class extends fi{static makeVirtualPath(e,r,i){if(v.basename(e)!=="__virtual__")throw new Error('Assertion failed: Virtual folders must be named "__virtual__"');if(!v.basename(r).match(she))throw new Error("Assertion failed: Virtual components must be ended by an hexadecimal hash");let s=v.relative(v.dirname(e),i).split("/"),o=0;for(;o{let r=t.indexOf(e);if(r<=0)return null;let i=r;for(;r>=0&&(i=r+e.length,t[i]!==v.sep);){if(t[r-1]===v.sep)return null;r=t.indexOf(e,i)}return t.length>i&&t[i]!==v.sep?null:t.slice(0,i)},Jn=class extends gl{constructor({libzip:e,baseFs:r=new Wt,filter:i=null,maxOpenFiles:n=Infinity,readOnlyArchives:s=!1,useCache:o=!0,maxAge:a=5e3,fileExtensions:l=null}){super();this.fdMap=new Map;this.nextFd=3;this.isZip=new Set;this.notZip=new Set;this.realPaths=new Map;this.limitOpenFilesTimeout=null;this.libzipFactory=typeof e!="function"?()=>e:e,this.baseFs=r,this.zipInstances=o?new Map:null,this.filter=i,this.maxOpenFiles=n,this.readOnlyArchives=s,this.maxAge=a,this.fileExtensions=l}static async openPromise(e,r){let i=new Jn(r);try{return await e(i)}finally{i.saveAndClose()}}get libzip(){return typeof this.libzipInstance=="undefined"&&(this.libzipInstance=this.libzipFactory()),this.libzipInstance}getExtractHint(e){return this.baseFs.getExtractHint(e)}getRealPath(){return this.baseFs.getRealPath()}saveAndClose(){if(sh(this),this.zipInstances)for(let[e,{zipFs:r}]of this.zipInstances.entries())r.saveAndClose(),this.zipInstances.delete(e)}discardAndClose(){if(sh(this),this.zipInstances)for(let[e,{zipFs:r}]of this.zipInstances.entries())r.discardAndClose(),this.zipInstances.delete(e)}resolve(e){return this.baseFs.resolve(e)}remapFd(e,r){let i=this.nextFd++|$o;return this.fdMap.set(i,[e,r]),i}async openPromise(e,r,i){return await this.makeCallPromise(e,async()=>await this.baseFs.openPromise(e,r,i),async(n,{subPath:s})=>this.remapFd(n,await n.openPromise(s,r,i)))}openSync(e,r,i){return this.makeCallSync(e,()=>this.baseFs.openSync(e,r,i),(n,{subPath:s})=>this.remapFd(n,n.openSync(s,r,i)))}async opendirPromise(e,r){return await this.makeCallPromise(e,async()=>await this.baseFs.opendirPromise(e,r),async(i,{subPath:n})=>await i.opendirPromise(n,r),{requireSubpath:!1})}opendirSync(e,r){return this.makeCallSync(e,()=>this.baseFs.opendirSync(e,r),(i,{subPath:n})=>i.opendirSync(n,r),{requireSubpath:!1})}async readPromise(e,r,i,n,s){if((e&$o)==0)return await this.baseFs.readPromise(e,r,i,n,s);let o=this.fdMap.get(e);if(typeof o=="undefined")throw Hi("read");let[a,l]=o;return await a.readPromise(l,r,i,n,s)}readSync(e,r,i,n,s){if((e&$o)==0)return this.baseFs.readSync(e,r,i,n,s);let o=this.fdMap.get(e);if(typeof o=="undefined")throw Hi("readSync");let[a,l]=o;return a.readSync(l,r,i,n,s)}async writePromise(e,r,i,n,s){if((e&$o)==0)return typeof r=="string"?await this.baseFs.writePromise(e,r,i):await this.baseFs.writePromise(e,r,i,n,s);let o=this.fdMap.get(e);if(typeof o=="undefined")throw Hi("write");let[a,l]=o;return typeof r=="string"?await a.writePromise(l,r,i):await a.writePromise(l,r,i,n,s)}writeSync(e,r,i,n,s){if((e&$o)==0)return typeof r=="string"?this.baseFs.writeSync(e,r,i):this.baseFs.writeSync(e,r,i,n,s);let o=this.fdMap.get(e);if(typeof o=="undefined")throw Hi("writeSync");let[a,l]=o;return typeof r=="string"?a.writeSync(l,r,i):a.writeSync(l,r,i,n,s)}async closePromise(e){if((e&$o)==0)return await this.baseFs.closePromise(e);let r=this.fdMap.get(e);if(typeof r=="undefined")throw Hi("close");this.fdMap.delete(e);let[i,n]=r;return await i.closePromise(n)}closeSync(e){if((e&$o)==0)return this.baseFs.closeSync(e);let r=this.fdMap.get(e);if(typeof r=="undefined")throw Hi("closeSync");this.fdMap.delete(e);let[i,n]=r;return i.closeSync(n)}createReadStream(e,r){return e===null?this.baseFs.createReadStream(e,r):this.makeCallSync(e,()=>this.baseFs.createReadStream(e,r),(i,{subPath:n})=>i.createReadStream(n,r))}createWriteStream(e,r){return e===null?this.baseFs.createWriteStream(e,r):this.makeCallSync(e,()=>this.baseFs.createWriteStream(e,r),(i,{subPath:n})=>i.createWriteStream(n,r))}async realpathPromise(e){return await this.makeCallPromise(e,async()=>await this.baseFs.realpathPromise(e),async(r,{archivePath:i,subPath:n})=>{let s=this.realPaths.get(i);return typeof s=="undefined"&&(s=await this.baseFs.realpathPromise(i),this.realPaths.set(i,s)),this.pathUtils.join(s,this.pathUtils.relative(Se.root,await r.realpathPromise(n)))})}realpathSync(e){return this.makeCallSync(e,()=>this.baseFs.realpathSync(e),(r,{archivePath:i,subPath:n})=>{let s=this.realPaths.get(i);return typeof s=="undefined"&&(s=this.baseFs.realpathSync(i),this.realPaths.set(i,s)),this.pathUtils.join(s,this.pathUtils.relative(Se.root,r.realpathSync(n)))})}async existsPromise(e){return await this.makeCallPromise(e,async()=>await this.baseFs.existsPromise(e),async(r,{subPath:i})=>await r.existsPromise(i))}existsSync(e){return this.makeCallSync(e,()=>this.baseFs.existsSync(e),(r,{subPath:i})=>r.existsSync(i))}async accessPromise(e,r){return await this.makeCallPromise(e,async()=>await this.baseFs.accessPromise(e,r),async(i,{subPath:n})=>await i.accessPromise(n,r))}accessSync(e,r){return this.makeCallSync(e,()=>this.baseFs.accessSync(e,r),(i,{subPath:n})=>i.accessSync(n,r))}async statPromise(e,r){return await this.makeCallPromise(e,async()=>await this.baseFs.statPromise(e,r),async(i,{subPath:n})=>await i.statPromise(n,r))}statSync(e,r){return this.makeCallSync(e,()=>this.baseFs.statSync(e,r),(i,{subPath:n})=>i.statSync(n,r))}async fstatPromise(e,r){if((e&$o)==0)return this.baseFs.fstatPromise(e,r);let i=this.fdMap.get(e);if(typeof i=="undefined")throw Hi("fstat");let[n,s]=i;return n.fstatPromise(s,r)}fstatSync(e,r){if((e&$o)==0)return this.baseFs.fstatSync(e,r);let i=this.fdMap.get(e);if(typeof i=="undefined")throw Hi("fstatSync");let[n,s]=i;return n.fstatSync(s,r)}async lstatPromise(e,r){return await this.makeCallPromise(e,async()=>await this.baseFs.lstatPromise(e,r),async(i,{subPath:n})=>await i.lstatPromise(n,r))}lstatSync(e,r){return this.makeCallSync(e,()=>this.baseFs.lstatSync(e,r),(i,{subPath:n})=>i.lstatSync(n,r))}async chmodPromise(e,r){return await this.makeCallPromise(e,async()=>await this.baseFs.chmodPromise(e,r),async(i,{subPath:n})=>await i.chmodPromise(n,r))}chmodSync(e,r){return this.makeCallSync(e,()=>this.baseFs.chmodSync(e,r),(i,{subPath:n})=>i.chmodSync(n,r))}async chownPromise(e,r,i){return await this.makeCallPromise(e,async()=>await this.baseFs.chownPromise(e,r,i),async(n,{subPath:s})=>await n.chownPromise(s,r,i))}chownSync(e,r,i){return this.makeCallSync(e,()=>this.baseFs.chownSync(e,r,i),(n,{subPath:s})=>n.chownSync(s,r,i))}async renamePromise(e,r){return await this.makeCallPromise(e,async()=>await this.makeCallPromise(r,async()=>await this.baseFs.renamePromise(e,r),async()=>{throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"})}),async(i,{subPath:n})=>await this.makeCallPromise(r,async()=>{throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"})},async(s,{subPath:o})=>{if(i!==s)throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"});return await i.renamePromise(n,o)}))}renameSync(e,r){return this.makeCallSync(e,()=>this.makeCallSync(r,()=>this.baseFs.renameSync(e,r),()=>{throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"})}),(i,{subPath:n})=>this.makeCallSync(r,()=>{throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"})},(s,{subPath:o})=>{if(i!==s)throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"});return i.renameSync(n,o)}))}async copyFilePromise(e,r,i=0){let n=async(s,o,a,l)=>{if((i&Ah.constants.COPYFILE_FICLONE_FORCE)!=0)throw Object.assign(new Error(`EXDEV: cross-device clone not permitted, copyfile '${o}' -> ${l}'`),{code:"EXDEV"});if(i&Ah.constants.COPYFILE_EXCL&&await this.existsPromise(o))throw Object.assign(new Error(`EEXIST: file already exists, copyfile '${o}' -> '${l}'`),{code:"EEXIST"});let c;try{c=await s.readFilePromise(o)}catch(u){throw Object.assign(new Error(`EINVAL: invalid argument, copyfile '${o}' -> '${l}'`),{code:"EINVAL"})}await a.writeFilePromise(l,c)};return await this.makeCallPromise(e,async()=>await this.makeCallPromise(r,async()=>await this.baseFs.copyFilePromise(e,r,i),async(s,{subPath:o})=>await n(this.baseFs,e,s,o)),async(s,{subPath:o})=>await this.makeCallPromise(r,async()=>await n(s,o,this.baseFs,r),async(a,{subPath:l})=>s!==a?await n(s,o,a,l):await s.copyFilePromise(o,l,i)))}copyFileSync(e,r,i=0){let n=(s,o,a,l)=>{if((i&Ah.constants.COPYFILE_FICLONE_FORCE)!=0)throw Object.assign(new Error(`EXDEV: cross-device clone not permitted, copyfile '${o}' -> ${l}'`),{code:"EXDEV"});if(i&Ah.constants.COPYFILE_EXCL&&this.existsSync(o))throw Object.assign(new Error(`EEXIST: file already exists, copyfile '${o}' -> '${l}'`),{code:"EEXIST"});let c;try{c=s.readFileSync(o)}catch(u){throw Object.assign(new Error(`EINVAL: invalid argument, copyfile '${o}' -> '${l}'`),{code:"EINVAL"})}a.writeFileSync(l,c)};return this.makeCallSync(e,()=>this.makeCallSync(r,()=>this.baseFs.copyFileSync(e,r,i),(s,{subPath:o})=>n(this.baseFs,e,s,o)),(s,{subPath:o})=>this.makeCallSync(r,()=>n(s,o,this.baseFs,r),(a,{subPath:l})=>s!==a?n(s,o,a,l):s.copyFileSync(o,l,i)))}async appendFilePromise(e,r,i){return await this.makeCallPromise(e,async()=>await this.baseFs.appendFilePromise(e,r,i),async(n,{subPath:s})=>await n.appendFilePromise(s,r,i))}appendFileSync(e,r,i){return this.makeCallSync(e,()=>this.baseFs.appendFileSync(e,r,i),(n,{subPath:s})=>n.appendFileSync(s,r,i))}async writeFilePromise(e,r,i){return await this.makeCallPromise(e,async()=>await this.baseFs.writeFilePromise(e,r,i),async(n,{subPath:s})=>await n.writeFilePromise(s,r,i))}writeFileSync(e,r,i){return this.makeCallSync(e,()=>this.baseFs.writeFileSync(e,r,i),(n,{subPath:s})=>n.writeFileSync(s,r,i))}async unlinkPromise(e){return await this.makeCallPromise(e,async()=>await this.baseFs.unlinkPromise(e),async(r,{subPath:i})=>await r.unlinkPromise(i))}unlinkSync(e){return this.makeCallSync(e,()=>this.baseFs.unlinkSync(e),(r,{subPath:i})=>r.unlinkSync(i))}async utimesPromise(e,r,i){return await this.makeCallPromise(e,async()=>await this.baseFs.utimesPromise(e,r,i),async(n,{subPath:s})=>await n.utimesPromise(s,r,i))}utimesSync(e,r,i){return this.makeCallSync(e,()=>this.baseFs.utimesSync(e,r,i),(n,{subPath:s})=>n.utimesSync(s,r,i))}async mkdirPromise(e,r){return await this.makeCallPromise(e,async()=>await this.baseFs.mkdirPromise(e,r),async(i,{subPath:n})=>await i.mkdirPromise(n,r))}mkdirSync(e,r){return this.makeCallSync(e,()=>this.baseFs.mkdirSync(e,r),(i,{subPath:n})=>i.mkdirSync(n,r))}async rmdirPromise(e,r){return await this.makeCallPromise(e,async()=>await this.baseFs.rmdirPromise(e,r),async(i,{subPath:n})=>await i.rmdirPromise(n,r))}rmdirSync(e,r){return this.makeCallSync(e,()=>this.baseFs.rmdirSync(e,r),(i,{subPath:n})=>i.rmdirSync(n,r))}async linkPromise(e,r){return await this.makeCallPromise(r,async()=>await this.baseFs.linkPromise(e,r),async(i,{subPath:n})=>await i.linkPromise(e,n))}linkSync(e,r){return this.makeCallSync(r,()=>this.baseFs.linkSync(e,r),(i,{subPath:n})=>i.linkSync(e,n))}async symlinkPromise(e,r,i){return await this.makeCallPromise(r,async()=>await this.baseFs.symlinkPromise(e,r,i),async(n,{subPath:s})=>await n.symlinkPromise(e,s))}symlinkSync(e,r,i){return this.makeCallSync(r,()=>this.baseFs.symlinkSync(e,r,i),(n,{subPath:s})=>n.symlinkSync(e,s))}async readFilePromise(e,r){return this.makeCallPromise(e,async()=>{switch(r){case"utf8":return await this.baseFs.readFilePromise(e,r);default:return await this.baseFs.readFilePromise(e,r)}},async(i,{subPath:n})=>await i.readFilePromise(n,r))}readFileSync(e,r){return this.makeCallSync(e,()=>{switch(r){case"utf8":return this.baseFs.readFileSync(e,r);default:return this.baseFs.readFileSync(e,r)}},(i,{subPath:n})=>i.readFileSync(n,r))}async readdirPromise(e,r){return await this.makeCallPromise(e,async()=>await this.baseFs.readdirPromise(e,r),async(i,{subPath:n})=>await i.readdirPromise(n,r),{requireSubpath:!1})}readdirSync(e,r){return this.makeCallSync(e,()=>this.baseFs.readdirSync(e,r),(i,{subPath:n})=>i.readdirSync(n,r),{requireSubpath:!1})}async readlinkPromise(e){return await this.makeCallPromise(e,async()=>await this.baseFs.readlinkPromise(e),async(r,{subPath:i})=>await r.readlinkPromise(i))}readlinkSync(e){return this.makeCallSync(e,()=>this.baseFs.readlinkSync(e),(r,{subPath:i})=>r.readlinkSync(i))}async truncatePromise(e,r){return await this.makeCallPromise(e,async()=>await this.baseFs.truncatePromise(e,r),async(i,{subPath:n})=>await i.truncatePromise(n,r))}truncateSync(e,r){return this.makeCallSync(e,()=>this.baseFs.truncateSync(e,r),(i,{subPath:n})=>i.truncateSync(n,r))}watch(e,r,i){return this.makeCallSync(e,()=>this.baseFs.watch(e,r,i),(n,{subPath:s})=>n.watch(s,r,i))}watchFile(e,r,i){return this.makeCallSync(e,()=>this.baseFs.watchFile(e,r,i),()=>QE(this,e,r,i))}unwatchFile(e,r){return this.makeCallSync(e,()=>this.baseFs.unwatchFile(e,r),()=>nh(this,e,r))}async makeCallPromise(e,r,i,{requireSubpath:n=!0}={}){if(typeof e!="string")return await r();let s=this.resolve(e),o=this.findZip(s);return o?n&&o.subPath==="/"?await r():await this.getZipPromise(o.archivePath,async a=>await i(a,o)):await r()}makeCallSync(e,r,i,{requireSubpath:n=!0}={}){if(typeof e!="string")return r();let s=this.resolve(e),o=this.findZip(s);return!o||n&&o.subPath==="/"?r():this.getZipSync(o.archivePath,a=>i(a,o))}findZip(e){if(this.filter&&!this.filter.test(e))return null;let r="";for(;;){let i=e.substr(r.length),n;if(!this.fileExtensions)n=SO(i,".zip");else for(let s of this.fileExtensions)if(n=SO(i,s),n)break;if(!n)return null;if(r=this.pathUtils.join(r,n),this.isZip.has(r)===!1){if(this.notZip.has(r))continue;try{if(!this.baseFs.lstatSync(r).isFile()){this.notZip.add(r);continue}}catch{return null}this.isZip.add(r)}return{archivePath:r,subPath:this.pathUtils.join(Se.root,e.substr(r.length))}}}limitOpenFiles(e){if(this.zipInstances===null)return;let r=Date.now(),i=r+this.maxAge,n=e===null?0:this.zipInstances.size-e;for(let[s,{zipFs:o,expiresAt:a,refCount:l}]of this.zipInstances.entries())if(!(l!==0||o.hasOpenFileHandles())){if(r>=a){o.saveAndClose(),this.zipInstances.delete(s),n-=1;continue}else if(e===null||n<=0){i=a;break}o.saveAndClose(),this.zipInstances.delete(s),n-=1}this.limitOpenFilesTimeout===null&&(e===null&&this.zipInstances.size>0||e!==null)&&(this.limitOpenFilesTimeout=setTimeout(()=>{this.limitOpenFilesTimeout=null,this.limitOpenFiles(null)},i-r).unref())}async getZipPromise(e,r){let i=async()=>({baseFs:this.baseFs,libzip:this.libzip,readOnly:this.readOnlyArchives,stats:await this.baseFs.statPromise(e)});if(this.zipInstances){let n=this.zipInstances.get(e);if(!n){let s=await i();n=this.zipInstances.get(e),n||(n={zipFs:new Jr(e,s),expiresAt:0,refCount:0})}this.zipInstances.delete(e),this.limitOpenFiles(this.maxOpenFiles-1),this.zipInstances.set(e,n),n.expiresAt=Date.now()+this.maxAge,n.refCount+=1;try{return await r(n.zipFs)}finally{n.refCount-=1}}else{let n=new Jr(e,await i());try{return await r(n)}finally{n.saveAndClose()}}}getZipSync(e,r){let i=()=>({baseFs:this.baseFs,libzip:this.libzip,readOnly:this.readOnlyArchives,stats:this.baseFs.statSync(e)});if(this.zipInstances){let n=this.zipInstances.get(e);return n||(n={zipFs:new Jr(e,i()),expiresAt:0,refCount:0}),this.zipInstances.delete(e),this.limitOpenFiles(this.maxOpenFiles-1),this.zipInstances.set(e,n),n.expiresAt=Date.now()+this.maxAge,r(n.zipFs)}else{let n=new Jr(e,i());try{return r(n)}finally{n.saveAndClose()}}}};var lh=ie(require("util"));var vE=ie(require("url"));var hb=class extends fi{constructor(e){super(M);this.baseFs=e}mapFromBase(e){return e}mapToBase(e){return e instanceof vE.URL?(0,vE.fileURLToPath)(e):e}};var ohe=new Set(["accessSync","appendFileSync","createReadStream","createWriteStream","chmodSync","chownSync","closeSync","copyFileSync","linkSync","lstatSync","fstatSync","lutimesSync","mkdirSync","openSync","opendirSync","readSync","readlinkSync","readFileSync","readdirSync","readlinkSync","realpathSync","renameSync","rmdirSync","statSync","symlinkSync","truncateSync","unlinkSync","unwatchFile","utimesSync","watch","watchFile","writeFileSync","writeSync"]),xO=new Set(["accessPromise","appendFilePromise","chmodPromise","chownPromise","closePromise","copyFilePromise","linkPromise","fstatPromise","lstatPromise","lutimesPromise","mkdirPromise","openPromise","opendirPromise","readdirPromise","realpathPromise","readFilePromise","readdirPromise","readlinkPromise","renamePromise","rmdirPromise","statPromise","symlinkPromise","truncatePromise","unlinkPromise","utimesPromise","writeFilePromise","writeSync"]),ahe=new Set(["appendFilePromise","chmodPromise","chownPromise","closePromise","readPromise","readFilePromise","statPromise","truncatePromise","utimesPromise","writePromise","writeFilePromise"]);function pb(t,e){e=new hb(e);let r=(i,n,s)=>{let o=i[n];i[n]=s,typeof(o==null?void 0:o[lh.promisify.custom])!="undefined"&&(s[lh.promisify.custom]=o[lh.promisify.custom])};{r(t,"exists",(i,...n)=>{let o=typeof n[n.length-1]=="function"?n.pop():()=>{};process.nextTick(()=>{e.existsPromise(i).then(a=>{o(a)},()=>{o(!1)})})}),r(t,"read",(i,n,...s)=>{let a=typeof s[s.length-1]=="function"?s.pop():()=>{};process.nextTick(()=>{e.readPromise(i,n,...s).then(l=>{a(null,l,n)},l=>{a(l,0,n)})})});for(let i of xO){let n=i.replace(/Promise$/,"");if(typeof t[n]=="undefined")continue;let s=e[i];if(typeof s=="undefined")continue;r(t,n,(...a)=>{let c=typeof a[a.length-1]=="function"?a.pop():()=>{};process.nextTick(()=>{s.apply(e,a).then(u=>{c(null,u)},u=>{c(u)})})})}t.realpath.native=t.realpath}{r(t,"existsSync",i=>{try{return e.existsSync(i)}catch(n){return!1}});for(let i of ohe){let n=i;if(typeof t[n]=="undefined")continue;let s=e[i];typeof s!="undefined"&&r(t,n,s.bind(e))}t.realpathSync.native=t.realpathSync}{let i=process.emitWarning;process.emitWarning=()=>{};let n;try{n=t.promises}finally{process.emitWarning=i}if(typeof n!="undefined"){for(let o of xO){let a=o.replace(/Promise$/,"");if(typeof n[a]=="undefined")continue;let l=e[o];typeof l!="undefined"&&o!=="open"&&r(n,a,l.bind(e))}class s{constructor(a){this.fd=a}}for(let o of ahe){let a=o.replace(/Promise$/,""),l=e[o];typeof l!="undefined"&&r(s.prototype,a,function(...c){return l.call(e,this.fd,...c)})}r(n,"open",async(...o)=>{let a=await e.openPromise(...o);return new s(a)})}}t.read[lh.promisify.custom]=async(i,n,...s)=>({bytesRead:await e.readPromise(i,n,...s),buffer:n})}function SE(t,e){let r=Object.create(t);return pb(r,e),r}var kO=ie(require("os"));function PO(t){let e=M.toPortablePath(kO.default.tmpdir()),r=Math.ceil(Math.random()*4294967296).toString(16).padStart(8,"0");return v.join(e,`${t}${r}`)}var vs=new Set,DO=!1;function RO(){DO||(DO=!0,process.once("exit",()=>{T.rmtempSync()}))}var T=Object.assign(new Wt,{detachTemp(t){vs.delete(t)},mktempSync(t){for(RO();;){let e=PO("xfs-");try{this.mkdirSync(e)}catch(i){if(i.code==="EEXIST")continue;throw i}let r=this.realpathSync(e);if(vs.add(r),typeof t!="undefined")try{return t(r)}finally{if(vs.has(r)){vs.delete(r);try{this.removeSync(r)}catch{}}}else return r}},async mktempPromise(t){for(RO();;){let e=PO("xfs-");try{await this.mkdirPromise(e)}catch(i){if(i.code==="EEXIST")continue;throw i}let r=await this.realpathPromise(e);if(vs.add(r),typeof t!="undefined")try{return await t(r)}finally{if(vs.has(r)){vs.delete(r);try{await this.removePromise(r)}catch{}}}else return r}},async rmtempPromise(){await Promise.all(Array.from(vs.values()).map(async t=>{try{await T.removePromise(t,{maxRetries:0}),vs.delete(t)}catch{}}))},rmtempSync(){for(let t of vs)try{T.removeSync(t),vs.delete(t)}catch{}}});var vb=ie(bb()),Pn;(function(i){i[i.Never=0]="Never",i[i.ErrorCode=1]="ErrorCode",i[i.Always=2]="Always"})(Pn||(Pn={}));function dl(t){return t!==null&&typeof t.fd=="number"}var Cl=new Set;function Sb(){}function xb(){for(let t of Cl)t.kill()}async function to(t,e,{cwd:r,env:i=process.env,strict:n=!1,stdin:s=null,stdout:o,stderr:a,end:l=2}){let c=["pipe","pipe","pipe"];s===null?c[0]="ignore":dl(s)&&(c[0]=s),dl(o)&&(c[1]=o),dl(a)&&(c[2]=a);let u=(0,vb.default)(t,e,{cwd:M.fromPortablePath(r),env:_(P({},i),{PWD:M.fromPortablePath(r)}),stdio:c});Cl.add(u),Cl.size===1&&(process.on("SIGINT",Sb),process.on("SIGTERM",xb)),!dl(s)&&s!==null&&s.pipe(u.stdin),dl(o)||u.stdout.pipe(o,{end:!1}),dl(a)||u.stderr.pipe(a,{end:!1});let g=()=>{for(let f of new Set([o,a]))dl(f)||f.end()};return new Promise((f,h)=>{u.on("error",p=>{Cl.delete(u),Cl.size===0&&(process.off("SIGINT",Sb),process.off("SIGTERM",xb)),(l===2||l===1)&&g(),h(p)}),u.on("close",(p,d)=>{Cl.delete(u),Cl.size===0&&(process.off("SIGINT",Sb),process.off("SIGTERM",xb)),(l===2||l===1&&p>0)&&g(),p===0||!n?f({code:kb(p,d)}):h(p!==null?new Error(`Child "${t}" exited with exit code ${p}`):new Error(`Child "${t}" exited with signal ${d}`))})})}async function Nhe(t,e,{cwd:r,env:i=process.env,encoding:n="utf8",strict:s=!1}){let o=["ignore","pipe","pipe"],a=[],l=[],c=M.fromPortablePath(r);typeof i.PWD!="undefined"&&(i=_(P({},i),{PWD:c}));let u=(0,vb.default)(t,e,{cwd:c,env:i,stdio:o});return u.stdout.on("data",g=>{a.push(g)}),u.stderr.on("data",g=>{l.push(g)}),await new Promise((g,f)=>{u.on("error",()=>{f()}),u.on("close",(h,p)=>{let d=n==="buffer"?Buffer.concat(a):Buffer.concat(a).toString(n),m=n==="buffer"?Buffer.concat(l):Buffer.concat(l).toString(n);h===0||!s?g({code:kb(h,p),stdout:d,stderr:m}):f(Object.assign(new Error(`Child "${t}" exited with exit code ${h} + +${m}`),{code:kb(h,p),stdout:d,stderr:m}))})})}var Lhe=new Map([["SIGINT",2],["SIGQUIT",3],["SIGKILL",9],["SIGTERM",15]]);function kb(t,e){let r=Lhe.get(e);return typeof r!="undefined"?128+r:t!=null?t:1}var Pb={};it(Pb,{getDefaultGlobalFolder:()=>Rb,getHomeFolder:()=>uh,isFolderInside:()=>Fb});var Db=ie(require("os"));function Rb(){if(process.platform==="win32"){let t=M.toPortablePath(process.env.LOCALAPPDATA||M.join((0,Db.homedir)(),"AppData","Local"));return v.resolve(t,"Yarn/Berry")}if(process.env.XDG_DATA_HOME){let t=M.toPortablePath(process.env.XDG_DATA_HOME);return v.resolve(t,"yarn/berry")}return v.resolve(uh(),".yarn/berry")}function uh(){return M.toPortablePath((0,Db.homedir)()||"/usr/local/share")}function Fb(t,e){let r=v.relative(e,t);return r&&!r.startsWith("..")&&!v.isAbsolute(r)}var ue={};it(ue,{LogLevel:()=>Ts,Style:()=>Gl,Type:()=>Le,addLogFilterSupport:()=>Cp,applyColor:()=>On,applyHyperlink:()=>Ku,applyStyle:()=>Py,json:()=>Uu,mark:()=>xx,pretty:()=>Ve,prettyField:()=>Yl,prettyList:()=>Kx,supportsColor:()=>xy,supportsHyperlinks:()=>Mx,tuple:()=>jl});var pp=ie(jb()),dp=ie(ml()),o3=ie(Nn()),a3=ie(gU());var z;(function(te){te[te.UNNAMED=0]="UNNAMED",te[te.EXCEPTION=1]="EXCEPTION",te[te.MISSING_PEER_DEPENDENCY=2]="MISSING_PEER_DEPENDENCY",te[te.CYCLIC_DEPENDENCIES=3]="CYCLIC_DEPENDENCIES",te[te.DISABLED_BUILD_SCRIPTS=4]="DISABLED_BUILD_SCRIPTS",te[te.BUILD_DISABLED=5]="BUILD_DISABLED",te[te.SOFT_LINK_BUILD=6]="SOFT_LINK_BUILD",te[te.MUST_BUILD=7]="MUST_BUILD",te[te.MUST_REBUILD=8]="MUST_REBUILD",te[te.BUILD_FAILED=9]="BUILD_FAILED",te[te.RESOLVER_NOT_FOUND=10]="RESOLVER_NOT_FOUND",te[te.FETCHER_NOT_FOUND=11]="FETCHER_NOT_FOUND",te[te.LINKER_NOT_FOUND=12]="LINKER_NOT_FOUND",te[te.FETCH_NOT_CACHED=13]="FETCH_NOT_CACHED",te[te.YARN_IMPORT_FAILED=14]="YARN_IMPORT_FAILED",te[te.REMOTE_INVALID=15]="REMOTE_INVALID",te[te.REMOTE_NOT_FOUND=16]="REMOTE_NOT_FOUND",te[te.RESOLUTION_PACK=17]="RESOLUTION_PACK",te[te.CACHE_CHECKSUM_MISMATCH=18]="CACHE_CHECKSUM_MISMATCH",te[te.UNUSED_CACHE_ENTRY=19]="UNUSED_CACHE_ENTRY",te[te.MISSING_LOCKFILE_ENTRY=20]="MISSING_LOCKFILE_ENTRY",te[te.WORKSPACE_NOT_FOUND=21]="WORKSPACE_NOT_FOUND",te[te.TOO_MANY_MATCHING_WORKSPACES=22]="TOO_MANY_MATCHING_WORKSPACES",te[te.CONSTRAINTS_MISSING_DEPENDENCY=23]="CONSTRAINTS_MISSING_DEPENDENCY",te[te.CONSTRAINTS_INCOMPATIBLE_DEPENDENCY=24]="CONSTRAINTS_INCOMPATIBLE_DEPENDENCY",te[te.CONSTRAINTS_EXTRANEOUS_DEPENDENCY=25]="CONSTRAINTS_EXTRANEOUS_DEPENDENCY",te[te.CONSTRAINTS_INVALID_DEPENDENCY=26]="CONSTRAINTS_INVALID_DEPENDENCY",te[te.CANT_SUGGEST_RESOLUTIONS=27]="CANT_SUGGEST_RESOLUTIONS",te[te.FROZEN_LOCKFILE_EXCEPTION=28]="FROZEN_LOCKFILE_EXCEPTION",te[te.CROSS_DRIVE_VIRTUAL_LOCAL=29]="CROSS_DRIVE_VIRTUAL_LOCAL",te[te.FETCH_FAILED=30]="FETCH_FAILED",te[te.DANGEROUS_NODE_MODULES=31]="DANGEROUS_NODE_MODULES",te[te.NODE_GYP_INJECTED=32]="NODE_GYP_INJECTED",te[te.AUTHENTICATION_NOT_FOUND=33]="AUTHENTICATION_NOT_FOUND",te[te.INVALID_CONFIGURATION_KEY=34]="INVALID_CONFIGURATION_KEY",te[te.NETWORK_ERROR=35]="NETWORK_ERROR",te[te.LIFECYCLE_SCRIPT=36]="LIFECYCLE_SCRIPT",te[te.CONSTRAINTS_MISSING_FIELD=37]="CONSTRAINTS_MISSING_FIELD",te[te.CONSTRAINTS_INCOMPATIBLE_FIELD=38]="CONSTRAINTS_INCOMPATIBLE_FIELD",te[te.CONSTRAINTS_EXTRANEOUS_FIELD=39]="CONSTRAINTS_EXTRANEOUS_FIELD",te[te.CONSTRAINTS_INVALID_FIELD=40]="CONSTRAINTS_INVALID_FIELD",te[te.AUTHENTICATION_INVALID=41]="AUTHENTICATION_INVALID",te[te.PROLOG_UNKNOWN_ERROR=42]="PROLOG_UNKNOWN_ERROR",te[te.PROLOG_SYNTAX_ERROR=43]="PROLOG_SYNTAX_ERROR",te[te.PROLOG_EXISTENCE_ERROR=44]="PROLOG_EXISTENCE_ERROR",te[te.STACK_OVERFLOW_RESOLUTION=45]="STACK_OVERFLOW_RESOLUTION",te[te.AUTOMERGE_FAILED_TO_PARSE=46]="AUTOMERGE_FAILED_TO_PARSE",te[te.AUTOMERGE_IMMUTABLE=47]="AUTOMERGE_IMMUTABLE",te[te.AUTOMERGE_SUCCESS=48]="AUTOMERGE_SUCCESS",te[te.AUTOMERGE_REQUIRED=49]="AUTOMERGE_REQUIRED",te[te.DEPRECATED_CLI_SETTINGS=50]="DEPRECATED_CLI_SETTINGS",te[te.PLUGIN_NAME_NOT_FOUND=51]="PLUGIN_NAME_NOT_FOUND",te[te.INVALID_PLUGIN_REFERENCE=52]="INVALID_PLUGIN_REFERENCE",te[te.CONSTRAINTS_AMBIGUITY=53]="CONSTRAINTS_AMBIGUITY",te[te.CACHE_OUTSIDE_PROJECT=54]="CACHE_OUTSIDE_PROJECT",te[te.IMMUTABLE_INSTALL=55]="IMMUTABLE_INSTALL",te[te.IMMUTABLE_CACHE=56]="IMMUTABLE_CACHE",te[te.INVALID_MANIFEST=57]="INVALID_MANIFEST",te[te.PACKAGE_PREPARATION_FAILED=58]="PACKAGE_PREPARATION_FAILED",te[te.INVALID_RANGE_PEER_DEPENDENCY=59]="INVALID_RANGE_PEER_DEPENDENCY",te[te.INCOMPATIBLE_PEER_DEPENDENCY=60]="INCOMPATIBLE_PEER_DEPENDENCY",te[te.DEPRECATED_PACKAGE=61]="DEPRECATED_PACKAGE",te[te.INCOMPATIBLE_OS=62]="INCOMPATIBLE_OS",te[te.INCOMPATIBLE_CPU=63]="INCOMPATIBLE_CPU",te[te.FROZEN_ARTIFACT_EXCEPTION=64]="FROZEN_ARTIFACT_EXCEPTION",te[te.TELEMETRY_NOTICE=65]="TELEMETRY_NOTICE",te[te.PATCH_HUNK_FAILED=66]="PATCH_HUNK_FAILED",te[te.INVALID_CONFIGURATION_VALUE=67]="INVALID_CONFIGURATION_VALUE",te[te.UNUSED_PACKAGE_EXTENSION=68]="UNUSED_PACKAGE_EXTENSION",te[te.REDUNDANT_PACKAGE_EXTENSION=69]="REDUNDANT_PACKAGE_EXTENSION",te[te.AUTO_NM_SUCCESS=70]="AUTO_NM_SUCCESS",te[te.NM_CANT_INSTALL_EXTERNAL_SOFT_LINK=71]="NM_CANT_INSTALL_EXTERNAL_SOFT_LINK",te[te.NM_PRESERVE_SYMLINKS_REQUIRED=72]="NM_PRESERVE_SYMLINKS_REQUIRED",te[te.UPDATE_LOCKFILE_ONLY_SKIP_LINK=73]="UPDATE_LOCKFILE_ONLY_SKIP_LINK",te[te.NM_HARDLINKS_MODE_DOWNGRADED=74]="NM_HARDLINKS_MODE_DOWNGRADED",te[te.PROLOG_INSTANTIATION_ERROR=75]="PROLOG_INSTANTIATION_ERROR",te[te.INCOMPATIBLE_ARCHITECTURE=76]="INCOMPATIBLE_ARCHITECTURE",te[te.GHOST_ARCHITECTURE=77]="GHOST_ARCHITECTURE"})(z||(z={}));function KE(t){return`YN${t.toString(10).padStart(4,"0")}`}var de={};it(de,{BufferStream:()=>OH,CachingStrategy:()=>Dl,DefaultStream:()=>KH,assertNever:()=>Lv,bufferStream:()=>Cu,buildIgnorePattern:()=>DEe,convertMapsToIndexableObjects:()=>aI,dynamicRequire:()=>mu,escapeRegExp:()=>SEe,getArrayWithDefault:()=>hu,getFactoryWithDefault:()=>na,getMapWithDefault:()=>pu,getSetWithDefault:()=>Pl,isIndexableObject:()=>Tv,isPathLike:()=>REe,isTaggedYarnVersion:()=>vEe,mapAndFilter:()=>kl,mapAndFind:()=>MH,overrideType:()=>Nv,parseBoolean:()=>Hh,parseOptionalBoolean:()=>jH,prettifyAsyncErrors:()=>du,prettifySyncErrors:()=>Mv,releaseAfterUseAsync:()=>kEe,replaceEnvVariables:()=>Ov,sortMap:()=>gn,tryParseOptionalBoolean:()=>Kv,validateEnum:()=>xEe});var vh={};it(vh,{Builtins:()=>Iv,Cli:()=>oo,Command:()=>ye,Option:()=>Y,UsageError:()=>me});var yl=0,Eh=1,Gi=2,sv="",hi="\0",Au=-1,ov=/^(-h|--help)(?:=([0-9]+))?$/,UE=/^(--[a-z]+(?:-[a-z]+)*|-[a-zA-Z]+)$/,fU=/^-[a-zA-Z]{2,}$/,av=/^([^=]+)=([\s\S]*)$/,Av=process.env.DEBUG_CLI==="1";var me=class extends Error{constructor(e){super(e);this.clipanion={type:"usage"},this.name="UsageError"}},Ih=class extends Error{constructor(e,r){super();if(this.input=e,this.candidates=r,this.clipanion={type:"none"},this.name="UnknownSyntaxError",this.candidates.length===0)this.message="Command not found, but we're not sure what's the alternative.";else if(this.candidates.every(i=>i.reason!==null&&i.reason===r[0].reason)){let[{reason:i}]=this.candidates;this.message=`${i} + +${this.candidates.map(({usage:n})=>`$ ${n}`).join(` +`)}`}else if(this.candidates.length===1){let[{usage:i}]=this.candidates;this.message=`Command not found; did you mean: + +$ ${i} +${lv(e)}`}else this.message=`Command not found; did you mean one of: + +${this.candidates.map(({usage:i},n)=>`${`${n}.`.padStart(4)} ${i}`).join(` +`)} + +${lv(e)}`}},cv=class extends Error{constructor(e,r){super();this.input=e,this.usages=r,this.clipanion={type:"none"},this.name="AmbiguousSyntaxError",this.message=`Cannot find which to pick amongst the following alternatives: + +${this.usages.map((i,n)=>`${`${n}.`.padStart(4)} ${i}`).join(` +`)} + +${lv(e)}`}},lv=t=>`While running ${t.filter(e=>e!==hi).map(e=>{let r=JSON.stringify(e);return e.match(/\s/)||e.length===0||r!==`"${e}"`?r:e}).join(" ")}`;var yh=Symbol("clipanion/isOption");function ji(t){return _(P({},t),{[yh]:!0})}function so(t,e){return typeof t=="undefined"?[t,e]:typeof t=="object"&&t!==null&&!Array.isArray(t)?[void 0,t]:[t,e]}function HE(t,e=!1){let r=t.replace(/^\.: /,"");return e&&(r=r[0].toLowerCase()+r.slice(1)),r}function wh(t,e){return e.length===1?new me(`${t}: ${HE(e[0],!0)}`):new me(`${t}: +${e.map(r=>` +- ${HE(r)}`).join("")}`)}function Bh(t,e,r){if(typeof r=="undefined")return e;let i=[],n=[],s=a=>{let l=e;return e=a,s.bind(null,l)};if(!r(e,{errors:i,coercions:n,coercion:s}))throw wh(`Invalid value for ${t}`,i);for(let[,a]of n)a();return e}var ye=class{constructor(){this.help=!1}static Usage(e){return e}async catch(e){throw e}async validateAndExecute(){let r=this.constructor.schema;if(typeof r!="undefined"){let{isDict:n,isUnknown:s,applyCascade:o}=await Promise.resolve().then(()=>(Ss(),lu)),a=o(n(s()),r),l=[],c=[];if(!a(this,{errors:l,coercions:c}))throw wh("Invalid option schema",l);for(let[,g]of c)g()}let i=await this.execute();return typeof i!="undefined"?i:0}};ye.isOption=yh;ye.Default=[];function un(t){Av&&console.log(t)}var BU={candidateUsage:null,requiredOptions:[],errorMessage:null,ignoreOptions:!1,path:[],positionals:[],options:[],remainder:null,selectedIndex:Au};function QU(){return{nodes:[qi(),qi(),qi()]}}function nCe(t){let e=QU(),r=[],i=e.nodes.length;for(let n of t){r.push(i);for(let s=0;s{if(e.has(i))return;e.add(i);let n=t.nodes[i];for(let o of Object.values(n.statics))for(let{to:a}of o)r(a);for(let[,{to:o}]of n.dynamics)r(o);for(let{to:o}of n.shortcuts)r(o);let s=new Set(n.shortcuts.map(({to:o})=>o));for(;n.shortcuts.length>0;){let{to:o}=n.shortcuts.shift(),a=t.nodes[o];for(let[l,c]of Object.entries(a.statics)){let u=Object.prototype.hasOwnProperty.call(n.statics,l)?n.statics[l]:n.statics[l]=[];for(let g of c)u.some(({to:f})=>g.to===f)||u.push(g)}for(let[l,c]of a.dynamics)n.dynamics.some(([u,{to:g}])=>l===u&&c.to===g)||n.dynamics.push([l,c]);for(let l of a.shortcuts)s.has(l.to)||(n.shortcuts.push(l),s.add(l.to))}};r(yl)}function oCe(t,{prefix:e=""}={}){if(Av){un(`${e}Nodes are:`);for(let r=0;rl!==Gi).map(({state:l})=>({usage:l.candidateUsage,reason:null})));if(a.every(({node:l})=>l===Gi))throw new Ih(e,a.map(({state:l})=>({usage:l.candidateUsage,reason:l.errorMessage})));i=aCe(a)}if(i.length>0){un(" Results:");for(let s of i)un(` - ${s.node} -> ${JSON.stringify(s.state)}`)}else un(" No results");return i}function ACe(t,e){if(e.selectedIndex!==null)return!0;if(Object.prototype.hasOwnProperty.call(t.statics,hi)){for(let{to:r}of t.statics[hi])if(r===Eh)return!0}return!1}function cCe(t,e,r){let i=r&&e.length>0?[""]:[],n=vU(t,e,r),s=[],o=new Set,a=(l,c,u=!0)=>{let g=[c];for(;g.length>0;){let h=g;g=[];for(let p of h){let d=t.nodes[p],m=Object.keys(d.statics);for(let I of Object.keys(d.statics)){let B=m[0];for(let{to:b,reducer:R}of d.statics[B])R==="pushPath"&&(u||l.push(B),g.push(b))}}u=!1}let f=JSON.stringify(l);o.has(f)||(s.push(l),o.add(f))};for(let{node:l,state:c}of n){if(c.remainder!==null){a([c.remainder],l);continue}let u=t.nodes[l],g=ACe(u,c);for(let[f,h]of Object.entries(u.statics))(g&&f!==hi||!f.startsWith("-")&&h.some(({reducer:p})=>p==="pushPath"))&&a([...i,f],l);if(!!g)for(let[f,{to:h}]of u.dynamics){if(h===Gi)continue;let p=lCe(f,c);if(p!==null)for(let d of p)a([...i,d],l)}}return[...s].sort()}function gCe(t,e){let r=vU(t,[...e,hi]);return uCe(e,r.map(({state:i})=>i))}function aCe(t){let e=0;for(let{state:r}of t)r.path.length>e&&(e=r.path.length);return t.filter(({state:r})=>r.path.length===e)}function uCe(t,e){let r=e.filter(g=>g.selectedIndex!==null);if(r.length===0)throw new Error;let i=r.filter(g=>g.requiredOptions.every(f=>f.some(h=>g.options.find(p=>p.name===h))));if(i.length===0)throw new Ih(t,r.map(g=>({usage:g.candidateUsage,reason:null})));let n=0;for(let g of i)g.path.length>n&&(n=g.path.length);let s=i.filter(g=>g.path.length===n),o=g=>g.positionals.filter(({extra:f})=>!f).length+g.options.length,a=s.map(g=>({state:g,positionalCount:o(g)})),l=0;for(let{positionalCount:g}of a)g>l&&(l=g);let c=a.filter(({positionalCount:g})=>g===l).map(({state:g})=>g),u=fCe(c);if(u.length>1)throw new cv(t,u.map(g=>g.candidateUsage));return u[0]}function fCe(t){let e=[],r=[];for(let i of t)i.selectedIndex===Au?r.push(i):e.push(i);return r.length>0&&e.push(_(P({},BU),{path:SU(...r.map(i=>i.path)),options:r.reduce((i,n)=>i.concat(n.options),[])})),e}function SU(t,e,...r){return e===void 0?Array.from(t):SU(t.filter((i,n)=>i===e[n]),...r)}function qi(){return{dynamics:[],shortcuts:[],statics:{}}}function bU(t){return t===Eh||t===Gi}function Cv(t,e=0){return{to:bU(t.to)?t.to:t.to>2?t.to+e-2:t.to+e,reducer:t.reducer}}function iCe(t,e=0){let r=qi();for(let[i,n]of t.dynamics)r.dynamics.push([i,Cv(n,e)]);for(let i of t.shortcuts)r.shortcuts.push(Cv(i,e));for(let[i,n]of Object.entries(t.statics))r.statics[i]=n.map(s=>Cv(s,e));return r}function pi(t,e,r,i,n){t.nodes[e].dynamics.push([r,{to:i,reducer:n}])}function cu(t,e,r,i){t.nodes[e].shortcuts.push({to:r,reducer:i})}function ta(t,e,r,i,n){(Object.prototype.hasOwnProperty.call(t.nodes[e].statics,r)?t.nodes[e].statics[r]:t.nodes[e].statics[r]=[]).push({to:i,reducer:n})}function jE(t,e,r,i){if(Array.isArray(e)){let[n,...s]=e;return t[n](r,i,...s)}else return t[e](r,i)}function lCe(t,e){let r=Array.isArray(t)?YE[t[0]]:YE[t];if(typeof r.suggest=="undefined")return null;let i=Array.isArray(t)?t.slice(1):[];return r.suggest(e,...i)}var YE={always:()=>!0,isOptionLike:(t,e)=>!t.ignoreOptions&&e!=="-"&&e.startsWith("-"),isNotOptionLike:(t,e)=>t.ignoreOptions||e==="-"||!e.startsWith("-"),isOption:(t,e,r,i)=>!t.ignoreOptions&&e===r,isBatchOption:(t,e,r)=>!t.ignoreOptions&&fU.test(e)&&[...e.slice(1)].every(i=>r.includes(`-${i}`)),isBoundOption:(t,e,r,i)=>{let n=e.match(av);return!t.ignoreOptions&&!!n&&UE.test(n[1])&&r.includes(n[1])&&i.filter(s=>s.names.includes(n[1])).every(s=>s.allowBinding)},isNegatedOption:(t,e,r)=>!t.ignoreOptions&&e===`--no-${r.slice(2)}`,isHelp:(t,e)=>!t.ignoreOptions&&ov.test(e),isUnsupportedOption:(t,e,r)=>!t.ignoreOptions&&e.startsWith("-")&&UE.test(e)&&!r.includes(e),isInvalidOption:(t,e)=>!t.ignoreOptions&&e.startsWith("-")&&!UE.test(e)};YE.isOption.suggest=(t,e,r=!0)=>r?null:[e];var dv={setCandidateState:(t,e,r)=>P(P({},t),r),setSelectedIndex:(t,e,r)=>_(P({},t),{selectedIndex:r}),pushBatch:(t,e)=>_(P({},t),{options:t.options.concat([...e.slice(1)].map(r=>({name:`-${r}`,value:!0})))}),pushBound:(t,e)=>{let[,r,i]=e.match(av);return _(P({},t),{options:t.options.concat({name:r,value:i})})},pushPath:(t,e)=>_(P({},t),{path:t.path.concat(e)}),pushPositional:(t,e)=>_(P({},t),{positionals:t.positionals.concat({value:e,extra:!1})}),pushExtra:(t,e)=>_(P({},t),{positionals:t.positionals.concat({value:e,extra:!0})}),pushExtraNoLimits:(t,e)=>_(P({},t),{positionals:t.positionals.concat({value:e,extra:Ln})}),pushTrue:(t,e,r=e)=>_(P({},t),{options:t.options.concat({name:e,value:!0})}),pushFalse:(t,e,r=e)=>_(P({},t),{options:t.options.concat({name:r,value:!1})}),pushUndefined:(t,e)=>_(P({},t),{options:t.options.concat({name:e,value:void 0})}),pushStringValue:(t,e)=>{var r;let i=_(P({},t),{options:[...t.options]}),n=t.options[t.options.length-1];return n.value=((r=n.value)!==null&&r!==void 0?r:[]).concat([e]),i},setStringValue:(t,e)=>{let r=_(P({},t),{options:[...t.options]}),i=t.options[t.options.length-1];return i.value=e,r},inhibateOptions:t=>_(P({},t),{ignoreOptions:!0}),useHelp:(t,e,r)=>{let[,,i]=e.match(ov);return typeof i!="undefined"?_(P({},t),{options:[{name:"-c",value:String(r)},{name:"-i",value:i}]}):_(P({},t),{options:[{name:"-c",value:String(r)}]})},setError:(t,e,r)=>e===hi?_(P({},t),{errorMessage:`${r}.`}):_(P({},t),{errorMessage:`${r} ("${e}").`}),setOptionArityError:(t,e)=>{let r=t.options[t.options.length-1];return _(P({},t),{errorMessage:`Not enough arguments to option ${r.name}.`})}},Ln=Symbol(),xU=class{constructor(e,r){this.allOptionNames=[],this.arity={leading:[],trailing:[],extra:[],proxy:!1},this.options=[],this.paths=[],this.cliIndex=e,this.cliOpts=r}addPath(e){this.paths.push(e)}setArity({leading:e=this.arity.leading,trailing:r=this.arity.trailing,extra:i=this.arity.extra,proxy:n=this.arity.proxy}){Object.assign(this.arity,{leading:e,trailing:r,extra:i,proxy:n})}addPositional({name:e="arg",required:r=!0}={}){if(!r&&this.arity.extra===Ln)throw new Error("Optional parameters cannot be declared when using .rest() or .proxy()");if(!r&&this.arity.trailing.length>0)throw new Error("Optional parameters cannot be declared after the required trailing positional arguments");!r&&this.arity.extra!==Ln?this.arity.extra.push(e):this.arity.extra!==Ln&&this.arity.extra.length===0?this.arity.leading.push(e):this.arity.trailing.push(e)}addRest({name:e="arg",required:r=0}={}){if(this.arity.extra===Ln)throw new Error("Infinite lists cannot be declared multiple times in the same command");if(this.arity.trailing.length>0)throw new Error("Infinite lists cannot be declared after the required trailing positional arguments");for(let i=0;i1)throw new Error("The arity cannot be higher than 1 when the option only supports the --arg=value syntax");if(!Number.isInteger(i))throw new Error(`The arity must be an integer, got ${i}`);if(i<0)throw new Error(`The arity must be positive, got ${i}`);this.allOptionNames.push(...e),this.options.push({names:e,description:r,arity:i,hidden:n,required:s,allowBinding:o})}setContext(e){this.context=e}usage({detailed:e=!0,inlineOptions:r=!0}={}){let i=[this.cliOpts.binaryName],n=[];if(this.paths.length>0&&i.push(...this.paths[0]),e){for(let{names:o,arity:a,hidden:l,description:c,required:u}of this.options){if(l)continue;let g=[];for(let h=0;h`:`[${f}]`)}i.push(...this.arity.leading.map(o=>`<${o}>`)),this.arity.extra===Ln?i.push("..."):i.push(...this.arity.extra.map(o=>`[${o}]`)),i.push(...this.arity.trailing.map(o=>`<${o}>`))}return{usage:i.join(" "),options:n}}compile(){if(typeof this.context=="undefined")throw new Error("Assertion failed: No context attached");let e=QU(),r=yl,i=this.usage().usage,n=this.options.filter(a=>a.required).map(a=>a.names);r=xs(e,qi()),ta(e,yl,sv,r,["setCandidateState",{candidateUsage:i,requiredOptions:n}]);let s=this.arity.proxy?"always":"isNotOptionLike",o=this.paths.length>0?this.paths:[[]];for(let a of o){let l=r;if(a.length>0){let f=xs(e,qi());cu(e,l,f),this.registerOptions(e,f),l=f}for(let f=0;f0||!this.arity.proxy){let f=xs(e,qi());pi(e,l,"isHelp",f,["useHelp",this.cliIndex]),ta(e,f,hi,Eh,["setSelectedIndex",Au]),this.registerOptions(e,l)}this.arity.leading.length>0&&ta(e,l,hi,Gi,["setError","Not enough positional arguments"]);let c=l;for(let f=0;f0||f+1!==this.arity.leading.length)&&ta(e,h,hi,Gi,["setError","Not enough positional arguments"]),pi(e,c,"isNotOptionLike",h,"pushPositional"),c=h}let u=c;if(this.arity.extra===Ln||this.arity.extra.length>0){let f=xs(e,qi());if(cu(e,c,f),this.arity.extra===Ln){let h=xs(e,qi());this.arity.proxy||this.registerOptions(e,h),pi(e,c,s,h,"pushExtraNoLimits"),pi(e,h,s,h,"pushExtraNoLimits"),cu(e,h,f)}else for(let h=0;h0&&ta(e,u,hi,Gi,["setError","Not enough positional arguments"]);let g=u;for(let f=0;fo.length>s.length?o:s,"");if(i.arity===0)for(let s of i.names)pi(e,r,["isOption",s,i.hidden||s!==n],r,"pushTrue"),s.startsWith("--")&&!s.startsWith("--no-")&&pi(e,r,["isNegatedOption",s],r,["pushFalse",s]);else{let s=xs(e,qi());for(let o of i.names)pi(e,r,["isOption",o,i.hidden||o!==n],s,"pushUndefined");for(let o=0;o=0&&egCe(i,n),suggest:(n,s)=>cCe(i,n,s)}}};var kU=80,mv=Array(kU).fill("\u2501");for(let t=0;t<=24;++t)mv[mv.length-t]=`[38;5;${232+t}m\u2501`;var Ev={header:t=>`\u2501\u2501\u2501 ${t}${t.length`${t}`,error:t=>`${t}`,code:t=>`${t}`},PU={header:t=>t,bold:t=>t,error:t=>t,code:t=>t};function hCe(t){let e=t.split(` +`),r=e.filter(n=>n.match(/\S/)),i=r.length>0?r.reduce((n,s)=>Math.min(n,s.length-s.trimStart().length),Number.MAX_VALUE):0;return e.map(n=>n.slice(i).trimRight()).join(` +`)}function Vn(t,{format:e,paragraphs:r}){return t=t.replace(/\r\n?/g,` +`),t=hCe(t),t=t.replace(/^\n+|\n+$/g,""),t=t.replace(/^(\s*)-([^\n]*?)\n+/gm,`$1-$2 + +`),t=t.replace(/\n(\n)?\n*/g,"$1"),r&&(t=t.split(/\n/).map(i=>{let n=i.match(/^\s*[*-][\t ]+(.*)/);if(!n)return i.match(/(.{1,80})(?: |$)/g).join(` +`);let s=i.length-i.trimStart().length;return n[1].match(new RegExp(`(.{1,${78-s}})(?: |$)`,"g")).map((o,a)=>" ".repeat(s)+(a===0?"- ":" ")+o).join(` +`)}).join(` + +`)),t=t.replace(/(`+)((?:.|[\n])*?)\1/g,(i,n,s)=>e.code(n+s+n)),t=t.replace(/(\*\*)((?:.|[\n])*?)\1/g,(i,n,s)=>e.bold(n+s+n)),t?`${t} +`:""}var bh=class extends ye{constructor(e){super();this.contexts=e,this.commands=[]}static from(e,r){let i=new bh(r);i.path=e.path;for(let n of e.options)switch(n.name){case"-c":i.commands.push(Number(n.value));break;case"-i":i.index=Number(n.value);break}return i}async execute(){let e=this.commands;if(typeof this.index!="undefined"&&this.index>=0&&this.index1){this.context.stdout.write(`Multiple commands match your selection: +`),this.context.stdout.write(` +`);let r=0;for(let i of this.commands)this.context.stdout.write(this.cli.usage(this.contexts[i].commandClass,{prefix:`${r++}. `.padStart(5)}));this.context.stdout.write(` +`),this.context.stdout.write(`Run again with -h= to see the longer details of any of those commands. +`)}}};var DU=Symbol("clipanion/errorCommand");function pCe(){return process.env.FORCE_COLOR==="0"?!1:!!(process.env.FORCE_COLOR==="1"||typeof process.stdout!="undefined"&&process.stdout.isTTY)}var oo=class{constructor({binaryLabel:e,binaryName:r="...",binaryVersion:i,enableColors:n=pCe()}={}){this.registrations=new Map,this.builder=new Qh({binaryName:r}),this.binaryLabel=e,this.binaryName=r,this.binaryVersion=i,this.enableColors=n}static from(e,r={}){let i=new oo(r);for(let n of e)i.register(n);return i}register(e){var r;let i=new Map,n=new e;for(let l in n){let c=n[l];typeof c=="object"&&c!==null&&c[ye.isOption]&&i.set(l,c)}let s=this.builder.command(),o=s.cliIndex,a=(r=e.paths)!==null&&r!==void 0?r:n.paths;if(typeof a!="undefined")for(let l of a)s.addPath(l);this.registrations.set(e,{specs:i,builder:s,index:o});for(let[l,{definition:c}]of i.entries())c(s,l);s.setContext({commandClass:e})}process(e){let{contexts:r,process:i}=this.builder.compile(),n=i(e);switch(n.selectedIndex){case Au:return bh.from(n,r);default:{let{commandClass:s}=r[n.selectedIndex],o=this.registrations.get(s);if(typeof o=="undefined")throw new Error("Assertion failed: Expected the command class to have been registered.");let a=new s;a.path=n.path;try{for(let[l,{transformer:c}]of o.specs.entries())a[l]=c(o.builder,l,n);return a}catch(l){throw l[DU]=a,l}}break}}async run(e,r){let i;if(!Array.isArray(e))i=e;else try{i=this.process(e)}catch(s){return r.stdout.write(this.error(s)),1}if(i.help)return r.stdout.write(this.usage(i,{detailed:!0})),0;i.context=r,i.cli={binaryLabel:this.binaryLabel,binaryName:this.binaryName,binaryVersion:this.binaryVersion,enableColors:this.enableColors,definitions:()=>this.definitions(),error:(s,o)=>this.error(s,o),process:s=>this.process(s),run:(s,o)=>this.run(s,P(P({},r),o)),usage:(s,o)=>this.usage(s,o)};let n;try{n=await i.validateAndExecute().catch(s=>i.catch(s).then(()=>0))}catch(s){return r.stdout.write(this.error(s,{command:i})),1}return n}async runExit(e,r){process.exitCode=await this.run(e,r)}suggest(e,r){let{suggest:i}=this.builder.compile();return i(e,r)}definitions({colored:e=!1}={}){let r=[];for(let[i,{index:n}]of this.registrations){if(typeof i.usage=="undefined")continue;let{usage:s}=this.getUsageByIndex(n,{detailed:!1}),{usage:o,options:a}=this.getUsageByIndex(n,{detailed:!0,inlineOptions:!1}),l=typeof i.usage.category!="undefined"?Vn(i.usage.category,{format:this.format(e),paragraphs:!1}):void 0,c=typeof i.usage.description!="undefined"?Vn(i.usage.description,{format:this.format(e),paragraphs:!1}):void 0,u=typeof i.usage.details!="undefined"?Vn(i.usage.details,{format:this.format(e),paragraphs:!0}):void 0,g=typeof i.usage.examples!="undefined"?i.usage.examples.map(([f,h])=>[Vn(f,{format:this.format(e),paragraphs:!1}),h.replace(/\$0/g,this.binaryName)]):void 0;r.push({path:s,usage:o,category:l,description:c,details:u,examples:g,options:a})}return r}usage(e=null,{colored:r,detailed:i=!1,prefix:n="$ "}={}){var s;if(e===null){for(let l of this.registrations.keys()){let c=l.paths,u=typeof l.usage!="undefined";if(!c||c.length===0||c.length===1&&c[0].length===0||((s=c==null?void 0:c.some(h=>h.length===0))!==null&&s!==void 0?s:!1))if(e){e=null;break}else e=l;else if(u){e=null;continue}}e&&(i=!0)}let o=e!==null&&e instanceof ye?e.constructor:e,a="";if(o)if(i){let{description:l="",details:c="",examples:u=[]}=o.usage||{};l!==""&&(a+=Vn(l,{format:this.format(r),paragraphs:!1}).replace(/^./,h=>h.toUpperCase()),a+=` +`),(c!==""||u.length>0)&&(a+=`${this.format(r).header("Usage")} +`,a+=` +`);let{usage:g,options:f}=this.getUsageByRegistration(o,{inlineOptions:!1});if(a+=`${this.format(r).bold(n)}${g} +`,f.length>0){a+=` +`,a+=`${Ev.header("Options")} +`;let h=f.reduce((p,d)=>Math.max(p,d.definition.length),0);a+=` +`;for(let{definition:p,description:d}of f)a+=` ${this.format(r).bold(p.padEnd(h))} ${Vn(d,{format:this.format(r),paragraphs:!1})}`}if(c!==""&&(a+=` +`,a+=`${this.format(r).header("Details")} +`,a+=` +`,a+=Vn(c,{format:this.format(r),paragraphs:!0})),u.length>0){a+=` +`,a+=`${this.format(r).header("Examples")} +`;for(let[h,p]of u)a+=` +`,a+=Vn(h,{format:this.format(r),paragraphs:!1}),a+=`${p.replace(/^/m,` ${this.format(r).bold(n)}`).replace(/\$0/g,this.binaryName)} +`}}else{let{usage:l}=this.getUsageByRegistration(o);a+=`${this.format(r).bold(n)}${l} +`}else{let l=new Map;for(let[f,{index:h}]of this.registrations.entries()){if(typeof f.usage=="undefined")continue;let p=typeof f.usage.category!="undefined"?Vn(f.usage.category,{format:this.format(r),paragraphs:!1}):null,d=l.get(p);typeof d=="undefined"&&l.set(p,d=[]);let{usage:m}=this.getUsageByIndex(h);d.push({commandClass:f,usage:m})}let c=Array.from(l.keys()).sort((f,h)=>f===null?-1:h===null?1:f.localeCompare(h,"en",{usage:"sort",caseFirst:"upper"})),u=typeof this.binaryLabel!="undefined",g=typeof this.binaryVersion!="undefined";u||g?(u&&g?a+=`${this.format(r).header(`${this.binaryLabel} - ${this.binaryVersion}`)} + +`:u?a+=`${this.format(r).header(`${this.binaryLabel}`)} +`:a+=`${this.format(r).header(`${this.binaryVersion}`)} +`,a+=` ${this.format(r).bold(n)}${this.binaryName} +`):a+=`${this.format(r).bold(n)}${this.binaryName} +`;for(let f of c){let h=l.get(f).slice().sort((d,m)=>d.usage.localeCompare(m.usage,"en",{usage:"sort",caseFirst:"upper"})),p=f!==null?f.trim():"General commands";a+=` +`,a+=`${this.format(r).header(`${p}`)} +`;for(let{commandClass:d,usage:m}of h){let I=d.usage.description||"undocumented";a+=` +`,a+=` ${this.format(r).bold(m)} +`,a+=` ${Vn(I,{format:this.format(r),paragraphs:!1})}`}}a+=` +`,a+=Vn("You can also print more details about any of these commands by calling them with the `-h,--help` flag right after the command name.",{format:this.format(r),paragraphs:!0})}return a}error(e,r){var i,{colored:n,command:s=(i=e[DU])!==null&&i!==void 0?i:null}=r===void 0?{}:r;e instanceof Error||(e=new Error(`Execution failed with a non-error rejection (rejected value: ${JSON.stringify(e)})`));let o="",a=e.name.replace(/([a-z])([A-Z])/g,"$1 $2");a==="Error"&&(a="Internal Error"),o+=`${this.format(n).error(a)}: ${e.message} +`;let l=e.clipanion;return typeof l!="undefined"?l.type==="usage"&&(o+=` +`,o+=this.usage(s)):e.stack&&(o+=`${e.stack.replace(/^.*\n/,"")} +`),o}getUsageByRegistration(e,r){let i=this.registrations.get(e);if(typeof i=="undefined")throw new Error("Assertion failed: Unregistered command");return this.getUsageByIndex(i.index,r)}getUsageByIndex(e,r){return this.builder.getBuilderByIndex(e).usage(r)}format(e=this.enableColors){return e?Ev:PU}};oo.defaultContext={stdin:process.stdin,stdout:process.stdout,stderr:process.stderr};var Iv={};it(Iv,{DefinitionsCommand:()=>qE,HelpCommand:()=>JE,VersionCommand:()=>WE});var qE=class extends ye{async execute(){this.context.stdout.write(`${JSON.stringify(this.cli.definitions(),null,2)} +`)}};qE.paths=[["--clipanion=definitions"]];var JE=class extends ye{async execute(){this.context.stdout.write(this.cli.usage())}};JE.paths=[["-h"],["--help"]];var WE=class extends ye{async execute(){var e;this.context.stdout.write(`${(e=this.cli.binaryVersion)!==null&&e!==void 0?e:""} +`)}};WE.paths=[["-v"],["--version"]];var Y={};it(Y,{Array:()=>RU,Boolean:()=>FU,Counter:()=>NU,Proxy:()=>LU,Rest:()=>TU,String:()=>MU,applyValidator:()=>Bh,cleanValidationError:()=>HE,formatError:()=>wh,isOptionSymbol:()=>yh,makeCommandOption:()=>ji,rerouteArguments:()=>so});function RU(t,e,r){let[i,n]=so(e,r!=null?r:{}),{arity:s=1}=n,o=t.split(","),a=new Set(o);return ji({definition(l){l.addOption({names:o,arity:s,hidden:n==null?void 0:n.hidden,description:n==null?void 0:n.description,required:n.required})},transformer(l,c,u){let g=typeof i!="undefined"?[...i]:void 0;for(let{name:f,value:h}of u.options)!a.has(f)||(g=g!=null?g:[],g.push(h));return g}})}function FU(t,e,r){let[i,n]=so(e,r!=null?r:{}),s=t.split(","),o=new Set(s);return ji({definition(a){a.addOption({names:s,allowBinding:!1,arity:0,hidden:n.hidden,description:n.description,required:n.required})},transformer(a,l,c){let u=i;for(let{name:g,value:f}of c.options)!o.has(g)||(u=f);return u}})}function NU(t,e,r){let[i,n]=so(e,r!=null?r:{}),s=t.split(","),o=new Set(s);return ji({definition(a){a.addOption({names:s,allowBinding:!1,arity:0,hidden:n.hidden,description:n.description,required:n.required})},transformer(a,l,c){let u=i;for(let{name:g,value:f}of c.options)!o.has(g)||(u!=null||(u=0),f?u+=1:u=0);return u}})}function LU(t={}){return ji({definition(e,r){var i;e.addProxy({name:(i=t.name)!==null&&i!==void 0?i:r,required:t.required})},transformer(e,r,i){return i.positionals.map(({value:n})=>n)}})}function TU(t={}){return ji({definition(e,r){var i;e.addRest({name:(i=t.name)!==null&&i!==void 0?i:r,required:t.required})},transformer(e,r,i){let n=o=>{let a=i.positionals[o];return a.extra===Ln||a.extra===!1&&oo)}})}function dCe(t,e,r){let[i,n]=so(e,r!=null?r:{}),{arity:s=1}=n,o=t.split(","),a=new Set(o);return ji({definition(l){l.addOption({names:o,arity:n.tolerateBoolean?0:s,hidden:n.hidden,description:n.description,required:n.required})},transformer(l,c,u){let g,f=i;for(let{name:h,value:p}of u.options)!a.has(h)||(g=h,f=p);return typeof f=="string"?Bh(g!=null?g:c,f,n.validator):f}})}function CCe(t={}){let{required:e=!0}=t;return ji({definition(r,i){var n;r.addPositional({name:(n=t.name)!==null&&n!==void 0?n:i,required:t.required})},transformer(r,i,n){var s;for(let o=0;oJSON.stringify(i)).join(", ")})`);return e}function kl(t,e){let r=[];for(let i of t){let n=e(i);n!==LH&&r.push(n)}return r}var LH=Symbol();kl.skip=LH;function MH(t,e){for(let r of t){let i=e(r);if(i!==TH)return i}}var TH=Symbol();MH.skip=TH;function Tv(t){return typeof t=="object"&&t!==null}function aI(t){if(t instanceof Map&&(t=Object.fromEntries(t)),Tv(t))for(let e of Object.keys(t)){let r=t[e];Tv(r)&&(t[e]=aI(r))}return t}function na(t,e,r){let i=t.get(e);return typeof i=="undefined"&&t.set(e,i=r()),i}function hu(t,e){let r=t.get(e);return typeof r=="undefined"&&t.set(e,r=[]),r}function Pl(t,e){let r=t.get(e);return typeof r=="undefined"&&t.set(e,r=new Set),r}function pu(t,e){let r=t.get(e);return typeof r=="undefined"&&t.set(e,r=new Map),r}async function kEe(t,e){if(e==null)return await t();try{return await t()}finally{await e()}}async function du(t,e){try{return await t()}catch(r){throw r.message=e(r.message),r}}function Mv(t,e){try{return t()}catch(r){throw r.message=e(r.message),r}}async function Cu(t){return await new Promise((e,r)=>{let i=[];t.on("error",n=>{r(n)}),t.on("data",n=>{i.push(n)}),t.on("end",()=>{e(Buffer.concat(i))})})}var OH=class extends Fv.Transform{constructor(){super(...arguments);this.chunks=[]}_transform(e,r,i){if(r!=="buffer"||!Buffer.isBuffer(e))throw new Error("Assertion failed: BufferStream only accept buffers");this.chunks.push(e),i(null,null)}_flush(e){e(null,Buffer.concat(this.chunks))}},KH=class extends Fv.Transform{constructor(e=Buffer.alloc(0)){super();this.active=!0;this.ifEmpty=e}_transform(e,r,i){if(r!=="buffer"||!Buffer.isBuffer(e))throw new Error("Assertion failed: DefaultStream only accept buffers");this.active=!1,i(null,e)}_flush(e){this.active&&this.ifEmpty.length>0?e(null,this.ifEmpty):e(null)}},Uh=eval("require");function UH(t){return Uh(M.fromPortablePath(t))}function HH(path){let physicalPath=M.fromPortablePath(path),currentCacheEntry=Uh.cache[physicalPath];delete Uh.cache[physicalPath];let result;try{result=UH(physicalPath);let freshCacheEntry=Uh.cache[physicalPath],dynamicModule=eval("module"),freshCacheIndex=dynamicModule.children.indexOf(freshCacheEntry);freshCacheIndex!==-1&&dynamicModule.children.splice(freshCacheIndex,1)}finally{Uh.cache[physicalPath]=currentCacheEntry}return result}var GH=new Map;function PEe(t){let e=GH.get(t),r=T.statSync(t);if((e==null?void 0:e.mtime)===r.mtimeMs)return e.instance;let i=HH(t);return GH.set(t,{mtime:r.mtimeMs,instance:i}),i}var Dl;(function(i){i[i.NoCache=0]="NoCache",i[i.FsTime=1]="FsTime",i[i.Node=2]="Node"})(Dl||(Dl={}));function mu(t,{cachingStrategy:e=2}={}){switch(e){case 0:return HH(t);case 1:return PEe(t);case 2:return UH(t);default:throw new Error("Unsupported caching strategy")}}function gn(t,e){let r=Array.from(t);Array.isArray(e)||(e=[e]);let i=[];for(let s of e)i.push(r.map(o=>s(o)));let n=r.map((s,o)=>o);return n.sort((s,o)=>{for(let a of i){let l=a[s]a[o]?1:0;if(l!==0)return l}return 0}),n.map(s=>r[s])}function DEe(t){return t.length===0?null:t.map(e=>`(${FH.default.makeRe(e,{windows:!1,dot:!0}).source})`).join("|")}function Ov(t,{env:e}){let r=/\${(?[\d\w_]+)(?:)?(?:-(?[^}]*))?}/g;return t.replace(r,(...i)=>{let{variableName:n,colon:s,fallback:o}=i[i.length-1],a=Object.prototype.hasOwnProperty.call(e,n),l=e[n];if(l||a&&!s)return l;if(o!=null)return o;throw new me(`Environment variable not found (${n})`)})}function Hh(t){switch(t){case"true":case"1":case 1:case!0:return!0;case"false":case"0":case 0:case!1:return!1;default:throw new Error(`Couldn't parse "${t}" as a boolean`)}}function jH(t){return typeof t=="undefined"?t:Hh(t)}function Kv(t){try{return jH(t)}catch{return null}}function REe(t){return!!(M.isAbsolute(t)||t.match(/^(\.{1,2}|~)\//))}var S={};it(S,{areDescriptorsEqual:()=>i3,areIdentsEqual:()=>cp,areLocatorsEqual:()=>up,areVirtualPackagesEquivalent:()=>XQe,bindDescriptor:()=>VQe,bindLocator:()=>_Qe,convertDescriptorToLocator:()=>By,convertLocatorToDescriptor:()=>WQe,convertPackageToLocator:()=>zQe,convertToIdent:()=>JQe,convertToManifestRange:()=>ebe,copyPackage:()=>ap,devirtualizeDescriptor:()=>Ap,devirtualizeLocator:()=>lp,getIdentVendorPath:()=>Lx,isPackageCompatible:()=>Sy,isVirtualDescriptor:()=>hA,isVirtualLocator:()=>Io,makeDescriptor:()=>Yt,makeIdent:()=>Eo,makeLocator:()=>Vi,makeRange:()=>by,parseDescriptor:()=>pA,parseFileStyleRange:()=>ZQe,parseIdent:()=>En,parseLocator:()=>Hl,parseRange:()=>Tu,prettyDependent:()=>Nx,prettyDescriptor:()=>Xt,prettyIdent:()=>Vr,prettyLocator:()=>lt,prettyLocatorNoColors:()=>Rx,prettyRange:()=>yy,prettyReference:()=>fp,prettyResolution:()=>Fx,prettyWorkspace:()=>hp,renamePackage:()=>op,slugifyIdent:()=>Dx,slugifyLocator:()=>Mu,sortDescriptors:()=>Ou,stringifyDescriptor:()=>In,stringifyIdent:()=>St,stringifyLocator:()=>is,tryParseDescriptor:()=>gp,tryParseIdent:()=>n3,tryParseLocator:()=>Qy,virtualizeDescriptor:()=>kx,virtualizePackage:()=>Px});var Lu=ie(require("querystring")),e3=ie(Or()),t3=ie(wY());var mn={};it(mn,{checksumFile:()=>Ey,checksumPattern:()=>Iy,makeHash:()=>zi});var my=ie(require("crypto")),Sx=ie(vx());function zi(...t){let e=(0,my.createHash)("sha512"),r="";for(let i of t)typeof i=="string"?r+=i:i&&(r&&(e.update(r),r=""),e.update(i));return r&&e.update(r),e.digest("hex")}async function Ey(t,{baseFs:e,algorithm:r}={baseFs:T,algorithm:"sha512"}){let i=await e.openPromise(t,"r");try{let n=65536,s=Buffer.allocUnsafeSlow(n),o=(0,my.createHash)(r),a=0;for(;(a=await e.readPromise(i,s,0,n))!==0;)o.update(a===n?s:s.slice(0,a));return o.digest("hex")}finally{await e.closePromise(i)}}async function Iy(t,{cwd:e}){let i=(await(0,Sx.default)(t,{cwd:M.fromPortablePath(e),expandDirectories:!1,onlyDirectories:!0,unique:!0})).map(a=>`${a}/**/*`),n=await(0,Sx.default)([t,...i],{cwd:M.fromPortablePath(e),expandDirectories:!1,onlyFiles:!1,unique:!0});n.sort();let s=await Promise.all(n.map(async a=>{let l=[Buffer.from(a)],c=M.toPortablePath(a),u=await T.lstatPromise(c);return u.isSymbolicLink()?l.push(Buffer.from(await T.readlinkPromise(c))):u.isFile()&&l.push(await T.readFilePromise(c)),l.join("\0")})),o=(0,my.createHash)("sha512");for(let a of s)o.update(a);return o.digest("hex")}var wy="virtual:",YQe=5,r3=/(os|cpu)=([a-z0-9_-]+)/,qQe=(0,t3.makeParser)(r3);function Eo(t,e){if(t==null?void 0:t.startsWith("@"))throw new Error("Invalid scope: don't prefix it with '@'");return{identHash:zi(t,e),scope:t,name:e}}function Yt(t,e){return{identHash:t.identHash,scope:t.scope,name:t.name,descriptorHash:zi(t.identHash,e),range:e}}function Vi(t,e){return{identHash:t.identHash,scope:t.scope,name:t.name,locatorHash:zi(t.identHash,e),reference:e}}function JQe(t){return{identHash:t.identHash,scope:t.scope,name:t.name}}function By(t){return{identHash:t.identHash,scope:t.scope,name:t.name,locatorHash:t.descriptorHash,reference:t.range}}function WQe(t){return{identHash:t.identHash,scope:t.scope,name:t.name,descriptorHash:t.locatorHash,range:t.reference}}function zQe(t){return{identHash:t.identHash,scope:t.scope,name:t.name,locatorHash:t.locatorHash,reference:t.reference}}function op(t,e){return{identHash:e.identHash,scope:e.scope,name:e.name,locatorHash:e.locatorHash,reference:e.reference,version:t.version,languageName:t.languageName,linkType:t.linkType,conditions:t.conditions,dependencies:new Map(t.dependencies),peerDependencies:new Map(t.peerDependencies),dependenciesMeta:new Map(t.dependenciesMeta),peerDependenciesMeta:new Map(t.peerDependenciesMeta),bin:new Map(t.bin)}}function ap(t){return op(t,t)}function kx(t,e){if(e.includes("#"))throw new Error("Invalid entropy");return Yt(t,`virtual:${e}#${t.range}`)}function Px(t,e){if(e.includes("#"))throw new Error("Invalid entropy");return op(t,Vi(t,`virtual:${e}#${t.reference}`))}function hA(t){return t.range.startsWith(wy)}function Io(t){return t.reference.startsWith(wy)}function Ap(t){if(!hA(t))throw new Error("Not a virtual descriptor");return Yt(t,t.range.replace(/^[^#]*#/,""))}function lp(t){if(!Io(t))throw new Error("Not a virtual descriptor");return Vi(t,t.reference.replace(/^[^#]*#/,""))}function VQe(t,e){return t.range.includes("::")?t:Yt(t,`${t.range}::${Lu.default.stringify(e)}`)}function _Qe(t,e){return t.reference.includes("::")?t:Vi(t,`${t.reference}::${Lu.default.stringify(e)}`)}function cp(t,e){return t.identHash===e.identHash}function i3(t,e){return t.descriptorHash===e.descriptorHash}function up(t,e){return t.locatorHash===e.locatorHash}function XQe(t,e){if(!Io(t))throw new Error("Invalid package type");if(!Io(e))throw new Error("Invalid package type");if(!cp(t,e)||t.dependencies.size!==e.dependencies.size)return!1;for(let r of t.dependencies.values()){let i=e.dependencies.get(r.identHash);if(!i||!i3(r,i))return!1}return!0}function En(t){let e=n3(t);if(!e)throw new Error(`Invalid ident (${t})`);return e}function n3(t){let e=t.match(/^(?:@([^/]+?)\/)?([^/]+)$/);if(!e)return null;let[,r,i]=e,n=typeof r!="undefined"?r:null;return Eo(n,i)}function pA(t,e=!1){let r=gp(t,e);if(!r)throw new Error(`Invalid descriptor (${t})`);return r}function gp(t,e=!1){let r=e?t.match(/^(?:@([^/]+?)\/)?([^/]+?)(?:@(.+))$/):t.match(/^(?:@([^/]+?)\/)?([^/]+?)(?:@(.+))?$/);if(!r)return null;let[,i,n,s]=r;if(s==="unknown")throw new Error(`Invalid range (${t})`);let o=typeof i!="undefined"?i:null,a=typeof s!="undefined"?s:"unknown";return Yt(Eo(o,n),a)}function Hl(t,e=!1){let r=Qy(t,e);if(!r)throw new Error(`Invalid locator (${t})`);return r}function Qy(t,e=!1){let r=e?t.match(/^(?:@([^/]+?)\/)?([^/]+?)(?:@(.+))$/):t.match(/^(?:@([^/]+?)\/)?([^/]+?)(?:@(.+))?$/);if(!r)return null;let[,i,n,s]=r;if(s==="unknown")throw new Error(`Invalid reference (${t})`);let o=typeof i!="undefined"?i:null,a=typeof s!="undefined"?s:"unknown";return Vi(Eo(o,n),a)}function Tu(t,e){let r=t.match(/^([^#:]*:)?((?:(?!::)[^#])*)(?:#((?:(?!::).)*))?(?:::(.*))?$/);if(r===null)throw new Error(`Invalid range (${t})`);let i=typeof r[1]!="undefined"?r[1]:null;if(typeof(e==null?void 0:e.requireProtocol)=="string"&&i!==e.requireProtocol)throw new Error(`Invalid protocol (${i})`);if((e==null?void 0:e.requireProtocol)&&i===null)throw new Error(`Missing protocol (${i})`);let n=typeof r[3]!="undefined"?decodeURIComponent(r[2]):null;if((e==null?void 0:e.requireSource)&&n===null)throw new Error(`Missing source (${t})`);let s=typeof r[3]!="undefined"?decodeURIComponent(r[3]):decodeURIComponent(r[2]),o=(e==null?void 0:e.parseSelector)?Lu.default.parse(s):s,a=typeof r[4]!="undefined"?Lu.default.parse(r[4]):null;return{protocol:i,source:n,selector:o,params:a}}function ZQe(t,{protocol:e}){let{selector:r,params:i}=Tu(t,{requireProtocol:e,requireBindings:!0});if(typeof i.locator!="string")throw new Error(`Assertion failed: Invalid bindings for ${t}`);return{parentLocator:Hl(i.locator,!0),path:r}}function s3(t){return t=t.replace(/%/g,"%25"),t=t.replace(/:/g,"%3A"),t=t.replace(/#/g,"%23"),t}function $Qe(t){return t===null?!1:Object.entries(t).length>0}function by({protocol:t,source:e,selector:r,params:i}){let n="";return t!==null&&(n+=`${t}`),e!==null&&(n+=`${s3(e)}#`),n+=s3(r),$Qe(i)&&(n+=`::${Lu.default.stringify(i)}`),n}function ebe(t){let{params:e,protocol:r,source:i,selector:n}=Tu(t);for(let s in e)s.startsWith("__")&&delete e[s];return by({protocol:r,source:i,params:e,selector:n})}function St(t){return t.scope?`@${t.scope}/${t.name}`:`${t.name}`}function In(t){return t.scope?`@${t.scope}/${t.name}@${t.range}`:`${t.name}@${t.range}`}function is(t){return t.scope?`@${t.scope}/${t.name}@${t.reference}`:`${t.name}@${t.reference}`}function Dx(t){return t.scope!==null?`@${t.scope}-${t.name}`:t.name}function Mu(t){let{protocol:e,selector:r}=Tu(t.reference),i=e!==null?e.replace(/:$/,""):"exotic",n=e3.default.valid(r),s=n!==null?`${i}-${n}`:`${i}`,o=10,a=t.scope?`${Dx(t)}-${s}-${t.locatorHash.slice(0,o)}`:`${Dx(t)}-${s}-${t.locatorHash.slice(0,o)}`;return kr(a)}function Vr(t,e){return e.scope?`${Ve(t,`@${e.scope}/`,Le.SCOPE)}${Ve(t,e.name,Le.NAME)}`:`${Ve(t,e.name,Le.NAME)}`}function vy(t){if(t.startsWith(wy)){let e=vy(t.substr(t.indexOf("#")+1)),r=t.substr(wy.length,YQe);return`${e} [${r}]`}else return t.replace(/\?.*/,"?[...]")}function yy(t,e){return`${Ve(t,vy(e),Le.RANGE)}`}function Xt(t,e){return`${Vr(t,e)}${Ve(t,"@",Le.RANGE)}${yy(t,e.range)}`}function fp(t,e){return`${Ve(t,vy(e),Le.REFERENCE)}`}function lt(t,e){return`${Vr(t,e)}${Ve(t,"@",Le.REFERENCE)}${fp(t,e.reference)}`}function Rx(t){return`${St(t)}@${vy(t.reference)}`}function Ou(t){return gn(t,[e=>St(e),e=>e.range])}function hp(t,e){return Vr(t,e.locator)}function Fx(t,e,r){let i=hA(e)?Ap(e):e;return r===null?`${Xt(t,i)} \u2192 ${xx(t).Cross}`:i.identHash===r.identHash?`${Xt(t,i)} \u2192 ${fp(t,r.reference)}`:`${Xt(t,i)} \u2192 ${lt(t,r)}`}function Nx(t,e,r){return r===null?`${lt(t,e)}`:`${lt(t,e)} (via ${yy(t,r.range)})`}function Lx(t){return`node_modules/${St(t)}`}function Sy(t,e){return t.conditions?qQe(t.conditions,r=>{let[,i,n]=r.match(r3),s=e[i];return s?s.includes(n):!0}):!0}var gt;(function(r){r.HARD="HARD",r.SOFT="SOFT"})(gt||(gt={}));var oi;(function(i){i.Dependency="Dependency",i.PeerDependency="PeerDependency",i.PeerDependencyMeta="PeerDependencyMeta"})(oi||(oi={}));var ki;(function(i){i.Inactive="inactive",i.Redundant="redundant",i.Active="active"})(ki||(ki={}));var Le={NO_HINT:"NO_HINT",NULL:"NULL",SCOPE:"SCOPE",NAME:"NAME",RANGE:"RANGE",REFERENCE:"REFERENCE",NUMBER:"NUMBER",PATH:"PATH",URL:"URL",ADDED:"ADDED",REMOVED:"REMOVED",CODE:"CODE",DURATION:"DURATION",SIZE:"SIZE",IDENT:"IDENT",DESCRIPTOR:"DESCRIPTOR",LOCATOR:"LOCATOR",RESOLUTION:"RESOLUTION",DEPENDENT:"DEPENDENT",PACKAGE_EXTENSION:"PACKAGE_EXTENSION",SETTING:"SETTING"},Gl;(function(e){e[e.BOLD=2]="BOLD"})(Gl||(Gl={}));var Tx=dp.default.GITHUB_ACTIONS?{level:2}:pp.default.supportsColor?{level:pp.default.supportsColor.level}:{level:0},xy=Tx.level!==0,Mx=xy&&!dp.default.GITHUB_ACTIONS&&!dp.default.CIRCLE&&!dp.default.GITLAB,Ox=new pp.default.Instance(Tx),tbe=new Map([[Le.NO_HINT,null],[Le.NULL,["#a853b5",129]],[Le.SCOPE,["#d75f00",166]],[Le.NAME,["#d7875f",173]],[Le.RANGE,["#00afaf",37]],[Le.REFERENCE,["#87afff",111]],[Le.NUMBER,["#ffd700",220]],[Le.PATH,["#d75fd7",170]],[Le.URL,["#d75fd7",170]],[Le.ADDED,["#5faf00",70]],[Le.REMOVED,["#d70000",160]],[Le.CODE,["#87afff",111]],[Le.SIZE,["#ffd700",220]]]),Ls=t=>t,ky={[Le.NUMBER]:Ls({pretty:(t,e)=>`${e}`,json:t=>t}),[Le.IDENT]:Ls({pretty:(t,e)=>Vr(t,e),json:t=>St(t)}),[Le.LOCATOR]:Ls({pretty:(t,e)=>lt(t,e),json:t=>is(t)}),[Le.DESCRIPTOR]:Ls({pretty:(t,e)=>Xt(t,e),json:t=>In(t)}),[Le.RESOLUTION]:Ls({pretty:(t,{descriptor:e,locator:r})=>Fx(t,e,r),json:({descriptor:t,locator:e})=>({descriptor:In(t),locator:e!==null?is(e):null})}),[Le.DEPENDENT]:Ls({pretty:(t,{locator:e,descriptor:r})=>Nx(t,e,r),json:({locator:t,descriptor:e})=>({locator:is(t),descriptor:In(e)})}),[Le.PACKAGE_EXTENSION]:Ls({pretty:(t,e)=>{switch(e.type){case oi.Dependency:return`${Vr(t,e.parentDescriptor)} \u27A4 ${On(t,"dependencies",Le.CODE)} \u27A4 ${Vr(t,e.descriptor)}`;case oi.PeerDependency:return`${Vr(t,e.parentDescriptor)} \u27A4 ${On(t,"peerDependencies",Le.CODE)} \u27A4 ${Vr(t,e.descriptor)}`;case oi.PeerDependencyMeta:return`${Vr(t,e.parentDescriptor)} \u27A4 ${On(t,"peerDependenciesMeta",Le.CODE)} \u27A4 ${Vr(t,En(e.selector))} \u27A4 ${On(t,e.key,Le.CODE)}`;default:throw new Error(`Assertion failed: Unsupported package extension type: ${e.type}`)}},json:t=>{switch(t.type){case oi.Dependency:return`${St(t.parentDescriptor)} > ${St(t.descriptor)}`;case oi.PeerDependency:return`${St(t.parentDescriptor)} >> ${St(t.descriptor)}`;case oi.PeerDependencyMeta:return`${St(t.parentDescriptor)} >> ${t.selector} / ${t.key}`;default:throw new Error(`Assertion failed: Unsupported package extension type: ${t.type}`)}}}),[Le.SETTING]:Ls({pretty:(t,e)=>(t.get(e),Ku(t,On(t,e,Le.CODE),`https://yarnpkg.com/configuration/yarnrc#${e}`)),json:t=>t}),[Le.DURATION]:Ls({pretty:(t,e)=>{if(e>1e3*60){let r=Math.floor(e/1e3/60),i=Math.ceil((e-r*60*1e3)/1e3);return i===0?`${r}m`:`${r}m ${i}s`}else{let r=Math.floor(e/1e3),i=e-r*1e3;return i===0?`${r}s`:`${r}s ${i}ms`}},json:t=>t}),[Le.SIZE]:Ls({pretty:(t,e)=>{let r=["KB","MB","GB","TB"],i=r.length;for(;i>1&&e<1024**i;)i-=1;let n=1024**i,s=Math.floor(e*100/n)/100;return On(t,`${s} ${r[i-1]}`,Le.NUMBER)},json:t=>t}),[Le.PATH]:Ls({pretty:(t,e)=>On(t,M.fromPortablePath(e),Le.PATH),json:t=>M.fromPortablePath(t)})};function jl(t,e){return[e,t]}function Py(t,e,r){return t.get("enableColors")&&r&2&&(e=pp.default.bold(e)),e}function On(t,e,r){if(!t.get("enableColors"))return e;let i=tbe.get(r);if(i===null)return e;let n=typeof i=="undefined"?r:Tx.level>=3?i[0]:i[1],s=typeof n=="number"?Ox.ansi256(n):n.startsWith("#")?Ox.hex(n):Ox[n];if(typeof s!="function")throw new Error(`Invalid format type ${n}`);return s(e)}var rbe=!!process.env.KONSOLE_VERSION;function Ku(t,e,r){return t.get("enableHyperlinks")?rbe?`]8;;${r}\\${e}]8;;\\`:`]8;;${r}\x07${e}]8;;\x07`:e}function Ve(t,e,r){if(e===null)return On(t,"null",Le.NULL);if(Object.prototype.hasOwnProperty.call(ky,r))return ky[r].pretty(t,e);if(typeof e!="string")throw new Error(`Assertion failed: Expected the value to be a string, got ${typeof e}`);return On(t,e,r)}function Kx(t,e,r,{separator:i=", "}={}){return[...e].map(n=>Ve(t,n,r)).join(i)}function Uu(t,e){if(t===null)return null;if(Object.prototype.hasOwnProperty.call(ky,e))return Nv(e),ky[e].json(t);if(typeof t!="string")throw new Error(`Assertion failed: Expected the value to be a string, got ${typeof t}`);return t}function xx(t){return{Check:On(t,"\u2713","green"),Cross:On(t,"\u2718","red"),Question:On(t,"?","cyan")}}function Yl(t,{label:e,value:[r,i]}){return`${Ve(t,e,Le.CODE)}: ${Ve(t,r,i)}`}var Ts;(function(n){n.Error="error",n.Warning="warning",n.Info="info",n.Discard="discard"})(Ts||(Ts={}));function Cp(t,{configuration:e}){let r=e.get("logFilters"),i=new Map,n=new Map,s=[];for(let g of r){let f=g.get("level");if(typeof f=="undefined")continue;let h=g.get("code");typeof h!="undefined"&&i.set(h,f);let p=g.get("text");typeof p!="undefined"&&n.set(p,f);let d=g.get("pattern");typeof d!="undefined"&&s.push([o3.default.matcher(d,{contains:!0}),f])}s.reverse();let o=(g,f,h)=>{if(g===null||g===z.UNNAMED)return h;let p=n.size>0||s.length>0?(0,a3.default)(f):f;if(n.size>0){let d=n.get(p);if(typeof d!="undefined")return d!=null?d:h}if(s.length>0){for(let[d,m]of s)if(d(p))return m!=null?m:h}if(i.size>0){let d=i.get(KE(g));if(typeof d!="undefined")return d!=null?d:h}return h},a=t.reportInfo,l=t.reportWarning,c=t.reportError,u=function(g,f,h,p){switch(o(f,h,p)){case Ts.Info:a.call(g,f,h);break;case Ts.Warning:l.call(g,f!=null?f:z.UNNAMED,h);break;case Ts.Error:c.call(g,f!=null?f:z.UNNAMED,h);break}};t.reportInfo=function(...g){return u(this,...g,Ts.Info)},t.reportWarning=function(...g){return u(this,...g,Ts.Warning)},t.reportError=function(...g){return u(this,...g,Ts.Error)}}var Zt={};it(Zt,{Method:()=>Jl,RequestError:()=>z8.RequestError,del:()=>pxe,get:()=>fxe,getNetworkSettings:()=>Z8,post:()=>iP,put:()=>hxe,request:()=>xp});var q8=ie(zy()),J8=ie(require("https")),W8=ie(require("http")),tP=ie(Nn()),rP=ie(G8()),Vy=ie(require("url"));var j8=ie(require("stream")),Y8=ie(require("string_decoder"));var nt=class extends Error{constructor(e,r,i){super(r);this.reportExtra=i;this.reportCode=e}};function Axe(t){return typeof t.reportCode!="undefined"}var Xi=class{constructor(){this.reportedInfos=new Set;this.reportedWarnings=new Set;this.reportedErrors=new Set}static progressViaCounter(e){let r=0,i,n=new Promise(l=>{i=l}),s=l=>{let c=i;n=new Promise(u=>{i=u}),r=l,c()},o=(l=0)=>{s(r+1)},a=async function*(){for(;r{let o=i.write(s),a;do if(a=o.indexOf(` +`),a!==-1){let l=n+o.substr(0,a);o=o.substr(a+1),n="",e!==null?this.reportInfo(null,`${e} ${l}`):this.reportInfo(null,l)}while(a!==-1);n+=o}),r.on("end",()=>{let s=i.end();s!==""&&(e!==null?this.reportInfo(null,`${e} ${s}`):this.reportInfo(null,s))}),r}};var z8=ie(zy()),V8=new Map,_8=new Map,lxe=new W8.Agent({keepAlive:!0}),cxe=new J8.Agent({keepAlive:!0});function X8(t){let e=new Vy.URL(t),r={host:e.hostname,headers:{}};return e.port&&(r.port=Number(e.port)),{proxy:r}}async function uxe(t){return na(_8,t,()=>T.readFilePromise(t).then(e=>(_8.set(t,e),e)))}function gxe({statusCode:t,statusMessage:e},r){let i=Ve(r,t,Le.NUMBER),n=`https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/${t}`;return Ku(r,`${i}${e?` (${e})`:""}`,n)}async function _y(t,{configuration:e,customErrorMessage:r}){var i,n;try{return await t}catch(s){if(s.name!=="HTTPError")throw s;let o=(n=r==null?void 0:r(s))!=null?n:(i=s.response.body)==null?void 0:i.error;o==null&&(s.message.startsWith("Response code")?o="The remote server failed to provide the requested resource":o=s.message),s instanceof q8.TimeoutError&&s.event==="socket"&&(o+=`(can be increased via ${Ve(e,"httpTimeout",Le.SETTING)})`);let a=new nt(z.NETWORK_ERROR,o,l=>{s.response&&l.reportError(z.NETWORK_ERROR,` ${Yl(e,{label:"Response Code",value:jl(Le.NO_HINT,gxe(s.response,e))})}`),s.request&&(l.reportError(z.NETWORK_ERROR,` ${Yl(e,{label:"Request Method",value:jl(Le.NO_HINT,s.request.options.method)})}`),l.reportError(z.NETWORK_ERROR,` ${Yl(e,{label:"Request URL",value:jl(Le.URL,s.request.requestUrl)})}`)),s.request.redirects.length>0&&l.reportError(z.NETWORK_ERROR,` ${Yl(e,{label:"Request Redirects",value:jl(Le.NO_HINT,Kx(e,s.request.redirects,Le.URL))})}`),s.request.retryCount===s.request.options.retry.limit&&l.reportError(z.NETWORK_ERROR,` ${Yl(e,{label:"Request Retry Count",value:jl(Le.NO_HINT,`${Ve(e,s.request.retryCount,Le.NUMBER)} (can be increased via ${Ve(e,"httpRetry",Le.SETTING)})`)})}`)});throw a.originalError=s,a}}function Z8(t,e){let r=[...e.configuration.get("networkSettings")].sort(([o],[a])=>a.length-o.length),i={enableNetwork:void 0,caFilePath:void 0,httpProxy:void 0,httpsProxy:void 0},n=Object.keys(i),s=typeof t=="string"?new Vy.URL(t):t;for(let[o,a]of r)if(tP.default.isMatch(s.hostname,o))for(let l of n){let c=a.get(l);c!==null&&typeof i[l]=="undefined"&&(i[l]=c)}for(let o of n)typeof i[o]=="undefined"&&(i[o]=e.configuration.get(o));return i}var Jl;(function(n){n.GET="GET",n.PUT="PUT",n.POST="POST",n.DELETE="DELETE"})(Jl||(Jl={}));async function xp(t,e,{configuration:r,headers:i,jsonRequest:n,jsonResponse:s,method:o=Jl.GET}){let a=typeof t=="string"?new Vy.URL(t):t,l=Z8(a,{configuration:r});if(l.enableNetwork===!1)throw new Error(`Request to '${a.href}' has been blocked because of your configuration settings`);if(a.protocol==="http:"&&!tP.default.isMatch(a.hostname,r.get("unsafeHttpWhitelist")))throw new Error(`Unsafe http requests must be explicitly whitelisted in your configuration (${a.hostname})`);let u={agent:{http:l.httpProxy?rP.default.httpOverHttp(X8(l.httpProxy)):lxe,https:l.httpsProxy?rP.default.httpsOverHttp(X8(l.httpsProxy)):cxe},headers:i,method:o};u.responseType=s?"json":"buffer",e!==null&&(Buffer.isBuffer(e)||!n&&typeof e=="string"?u.body=e:u.json=e);let g=r.get("httpTimeout"),f=r.get("httpRetry"),h=r.get("enableStrictSsl"),p=l.caFilePath,{default:d}=await Promise.resolve().then(()=>ie(zy())),m=p?await uxe(p):void 0,I=d.extend(P({timeout:{socket:g},retry:f,https:{rejectUnauthorized:h,certificateAuthority:m}},u));return r.getLimit("networkConcurrency")(()=>I(a))}async function fxe(t,n){var s=n,{configuration:e,jsonResponse:r}=s,i=qr(s,["configuration","jsonResponse"]);let o=na(V8,t,()=>_y(xp(t,null,P({configuration:e},i)),{configuration:e}).then(a=>(V8.set(t,a.body),a.body)));return Buffer.isBuffer(o)===!1&&(o=await o),r?JSON.parse(o.toString()):o}async function hxe(t,e,n){var s=n,{customErrorMessage:r}=s,i=qr(s,["customErrorMessage"]);return(await _y(xp(t,e,_(P({},i),{method:Jl.PUT})),i)).body}async function iP(t,e,n){var s=n,{customErrorMessage:r}=s,i=qr(s,["customErrorMessage"]);return(await _y(xp(t,e,_(P({},i),{method:Jl.POST})),i)).body}async function pxe(t,i){var n=i,{customErrorMessage:e}=n,r=qr(n,["customErrorMessage"]);return(await _y(xp(t,null,_(P({},r),{method:Jl.DELETE})),r)).body}var Kt={};it(Kt,{PackageManager:()=>tn,detectPackageManager:()=>a9,executePackageAccessibleBinary:()=>g9,executePackageScript:()=>Uw,executePackageShellcode:()=>rD,executeWorkspaceAccessibleBinary:()=>qFe,executeWorkspaceLifecycleScript:()=>u9,executeWorkspaceScript:()=>c9,getPackageAccessibleBinaries:()=>Hw,getWorkspaceAccessibleBinaries:()=>l9,hasPackageScript:()=>GFe,hasWorkspaceScript:()=>tD,makeScriptEnv:()=>Vp,maybeExecuteWorkspaceLifecycleScript:()=>YFe,prepareExternalProject:()=>HFe});var Fp={};it(Fp,{getLibzipPromise:()=>$i,getLibzipSync:()=>v4});var yA=["number","number"],nP;(function(D){D[D.ZIP_ER_OK=0]="ZIP_ER_OK",D[D.ZIP_ER_MULTIDISK=1]="ZIP_ER_MULTIDISK",D[D.ZIP_ER_RENAME=2]="ZIP_ER_RENAME",D[D.ZIP_ER_CLOSE=3]="ZIP_ER_CLOSE",D[D.ZIP_ER_SEEK=4]="ZIP_ER_SEEK",D[D.ZIP_ER_READ=5]="ZIP_ER_READ",D[D.ZIP_ER_WRITE=6]="ZIP_ER_WRITE",D[D.ZIP_ER_CRC=7]="ZIP_ER_CRC",D[D.ZIP_ER_ZIPCLOSED=8]="ZIP_ER_ZIPCLOSED",D[D.ZIP_ER_NOENT=9]="ZIP_ER_NOENT",D[D.ZIP_ER_EXISTS=10]="ZIP_ER_EXISTS",D[D.ZIP_ER_OPEN=11]="ZIP_ER_OPEN",D[D.ZIP_ER_TMPOPEN=12]="ZIP_ER_TMPOPEN",D[D.ZIP_ER_ZLIB=13]="ZIP_ER_ZLIB",D[D.ZIP_ER_MEMORY=14]="ZIP_ER_MEMORY",D[D.ZIP_ER_CHANGED=15]="ZIP_ER_CHANGED",D[D.ZIP_ER_COMPNOTSUPP=16]="ZIP_ER_COMPNOTSUPP",D[D.ZIP_ER_EOF=17]="ZIP_ER_EOF",D[D.ZIP_ER_INVAL=18]="ZIP_ER_INVAL",D[D.ZIP_ER_NOZIP=19]="ZIP_ER_NOZIP",D[D.ZIP_ER_INTERNAL=20]="ZIP_ER_INTERNAL",D[D.ZIP_ER_INCONS=21]="ZIP_ER_INCONS",D[D.ZIP_ER_REMOVE=22]="ZIP_ER_REMOVE",D[D.ZIP_ER_DELETED=23]="ZIP_ER_DELETED",D[D.ZIP_ER_ENCRNOTSUPP=24]="ZIP_ER_ENCRNOTSUPP",D[D.ZIP_ER_RDONLY=25]="ZIP_ER_RDONLY",D[D.ZIP_ER_NOPASSWD=26]="ZIP_ER_NOPASSWD",D[D.ZIP_ER_WRONGPASSWD=27]="ZIP_ER_WRONGPASSWD",D[D.ZIP_ER_OPNOTSUPP=28]="ZIP_ER_OPNOTSUPP",D[D.ZIP_ER_INUSE=29]="ZIP_ER_INUSE",D[D.ZIP_ER_TELL=30]="ZIP_ER_TELL",D[D.ZIP_ER_COMPRESSED_DATA=31]="ZIP_ER_COMPRESSED_DATA"})(nP||(nP={}));var $8=t=>({get HEAP8(){return t.HEAP8},get HEAPU8(){return t.HEAPU8},errors:nP,SEEK_SET:0,SEEK_CUR:1,SEEK_END:2,ZIP_CHECKCONS:4,ZIP_CREATE:1,ZIP_EXCL:2,ZIP_TRUNCATE:8,ZIP_RDONLY:16,ZIP_FL_OVERWRITE:8192,ZIP_FL_COMPRESSED:4,ZIP_OPSYS_DOS:0,ZIP_OPSYS_AMIGA:1,ZIP_OPSYS_OPENVMS:2,ZIP_OPSYS_UNIX:3,ZIP_OPSYS_VM_CMS:4,ZIP_OPSYS_ATARI_ST:5,ZIP_OPSYS_OS_2:6,ZIP_OPSYS_MACINTOSH:7,ZIP_OPSYS_Z_SYSTEM:8,ZIP_OPSYS_CPM:9,ZIP_OPSYS_WINDOWS_NTFS:10,ZIP_OPSYS_MVS:11,ZIP_OPSYS_VSE:12,ZIP_OPSYS_ACORN_RISC:13,ZIP_OPSYS_VFAT:14,ZIP_OPSYS_ALTERNATE_MVS:15,ZIP_OPSYS_BEOS:16,ZIP_OPSYS_TANDEM:17,ZIP_OPSYS_OS_400:18,ZIP_OPSYS_OS_X:19,ZIP_CM_DEFAULT:-1,ZIP_CM_STORE:0,ZIP_CM_DEFLATE:8,uint08S:t._malloc(1),uint16S:t._malloc(2),uint32S:t._malloc(4),uint64S:t._malloc(8),malloc:t._malloc,free:t._free,getValue:t.getValue,open:t.cwrap("zip_open","number",["string","number","number"]),openFromSource:t.cwrap("zip_open_from_source","number",["number","number","number"]),close:t.cwrap("zip_close","number",["number"]),discard:t.cwrap("zip_discard",null,["number"]),getError:t.cwrap("zip_get_error","number",["number"]),getName:t.cwrap("zip_get_name","string",["number","number","number"]),getNumEntries:t.cwrap("zip_get_num_entries","number",["number","number"]),delete:t.cwrap("zip_delete","number",["number","number"]),stat:t.cwrap("zip_stat","number",["number","string","number","number"]),statIndex:t.cwrap("zip_stat_index","number",["number",...yA,"number","number"]),fopen:t.cwrap("zip_fopen","number",["number","string","number"]),fopenIndex:t.cwrap("zip_fopen_index","number",["number",...yA,"number"]),fread:t.cwrap("zip_fread","number",["number","number","number","number"]),fclose:t.cwrap("zip_fclose","number",["number"]),dir:{add:t.cwrap("zip_dir_add","number",["number","string"])},file:{add:t.cwrap("zip_file_add","number",["number","string","number","number"]),getError:t.cwrap("zip_file_get_error","number",["number"]),getExternalAttributes:t.cwrap("zip_file_get_external_attributes","number",["number",...yA,"number","number","number"]),setExternalAttributes:t.cwrap("zip_file_set_external_attributes","number",["number",...yA,"number","number","number"]),setMtime:t.cwrap("zip_file_set_mtime","number",["number",...yA,"number","number"]),setCompression:t.cwrap("zip_set_file_compression","number",["number",...yA,"number","number"])},ext:{countSymlinks:t.cwrap("zip_ext_count_symlinks","number",["number"])},error:{initWithCode:t.cwrap("zip_error_init_with_code",null,["number","number"]),strerror:t.cwrap("zip_error_strerror","string",["number"])},name:{locate:t.cwrap("zip_name_locate","number",["number","string","number"])},source:{fromUnattachedBuffer:t.cwrap("zip_source_buffer_create","number",["number","number","number","number"]),fromBuffer:t.cwrap("zip_source_buffer","number",["number","number",...yA,"number"]),free:t.cwrap("zip_source_free",null,["number"]),keep:t.cwrap("zip_source_keep",null,["number"]),open:t.cwrap("zip_source_open","number",["number"]),close:t.cwrap("zip_source_close","number",["number"]),seek:t.cwrap("zip_source_seek","number",["number",...yA,"number"]),tell:t.cwrap("zip_source_tell","number",["number"]),read:t.cwrap("zip_source_read","number",["number","number","number"]),error:t.cwrap("zip_source_error","number",["number"]),setMtime:t.cwrap("zip_source_set_mtime","number",["number","number"])},struct:{stat:t.cwrap("zipstruct_stat","number",[]),statS:t.cwrap("zipstruct_statS","number",[]),statName:t.cwrap("zipstruct_stat_name","string",["number"]),statIndex:t.cwrap("zipstruct_stat_index","number",["number"]),statSize:t.cwrap("zipstruct_stat_size","number",["number"]),statCompSize:t.cwrap("zipstruct_stat_comp_size","number",["number"]),statCompMethod:t.cwrap("zipstruct_stat_comp_method","number",["number"]),statMtime:t.cwrap("zipstruct_stat_mtime","number",["number"]),statCrc:t.cwrap("zipstruct_stat_crc","number",["number"]),error:t.cwrap("zipstruct_error","number",[]),errorS:t.cwrap("zipstruct_errorS","number",[]),errorCodeZip:t.cwrap("zipstruct_error_code_zip","number",["number"])}});var BP=null;function v4(){return BP===null&&(BP=$8(b4())),BP}async function $i(){return v4()}var jp={};it(jp,{ShellError:()=>as,execute:()=>Fw,globUtils:()=>bw});var Hp={};it(Hp,{parseResolution:()=>gw,parseShell:()=>Aw,parseSyml:()=>Ii,stringifyArgument:()=>SP,stringifyArgumentSegment:()=>xP,stringifyArithmeticExpression:()=>uw,stringifyCommand:()=>vP,stringifyCommandChain:()=>rg,stringifyCommandChainThen:()=>bP,stringifyCommandLine:()=>lw,stringifyCommandLineThen:()=>QP,stringifyEnvSegment:()=>cw,stringifyRedirectArgument:()=>Np,stringifyResolution:()=>fw,stringifyShell:()=>tg,stringifyShellLine:()=>tg,stringifySyml:()=>Qa,stringifyValueArgument:()=>ig});var k4=ie(x4());function Aw(t,e={isGlobPattern:()=>!1}){try{return(0,k4.parse)(t,e)}catch(r){throw r.location&&(r.message=r.message.replace(/(\.)?$/,` (line ${r.location.start.line}, column ${r.location.start.column})$1`)),r}}function tg(t,{endSemicolon:e=!1}={}){return t.map(({command:r,type:i},n)=>`${lw(r)}${i===";"?n!==t.length-1||e?";":"":" &"}`).join(" ")}function lw(t){return`${rg(t.chain)}${t.then?` ${QP(t.then)}`:""}`}function QP(t){return`${t.type} ${lw(t.line)}`}function rg(t){return`${vP(t)}${t.then?` ${bP(t.then)}`:""}`}function bP(t){return`${t.type} ${rg(t.chain)}`}function vP(t){switch(t.type){case"command":return`${t.envs.length>0?`${t.envs.map(e=>cw(e)).join(" ")} `:""}${t.args.map(e=>SP(e)).join(" ")}`;case"subshell":return`(${tg(t.subshell)})${t.args.length>0?` ${t.args.map(e=>Np(e)).join(" ")}`:""}`;case"group":return`{ ${tg(t.group,{endSemicolon:!0})} }${t.args.length>0?` ${t.args.map(e=>Np(e)).join(" ")}`:""}`;case"envs":return t.envs.map(e=>cw(e)).join(" ");default:throw new Error(`Unsupported command type: "${t.type}"`)}}function cw(t){return`${t.name}=${t.args[0]?ig(t.args[0]):""}`}function SP(t){switch(t.type){case"redirection":return Np(t);case"argument":return ig(t);default:throw new Error(`Unsupported argument type: "${t.type}"`)}}function Np(t){return`${t.subtype} ${t.args.map(e=>ig(e)).join(" ")}`}function ig(t){return t.segments.map(e=>xP(e)).join("")}function xP(t){let e=(i,n)=>n?`"${i}"`:i,r=i=>i===""?'""':i.match(/[(){}<>$|&; \t"']/)?`$'${i.replace(/\\/g,"\\\\").replace(/'/g,"\\'").replace(/\f/g,"\\f").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/\t/g,"\\t").replace(/\v/g,"\\v").replace(/\0/g,"\\0")}'`:i;switch(t.type){case"text":return r(t.text);case"glob":return t.pattern;case"shell":return e(`\${${tg(t.shell)}}`,t.quoted);case"variable":return e(typeof t.defaultValue=="undefined"?`\${${t.name}}`:t.defaultValue.length===0?`\${${t.name}:-}`:`\${${t.name}:-${t.defaultValue.map(i=>ig(i)).join(" ")}}`,t.quoted);case"arithmetic":return`$(( ${uw(t.arithmetic)} ))`;default:throw new Error(`Unsupported argument segment type: "${t.type}"`)}}function uw(t){let e=n=>{switch(n){case"addition":return"+";case"subtraction":return"-";case"multiplication":return"*";case"division":return"/";default:throw new Error(`Can't extract operator from arithmetic expression of type "${n}"`)}},r=(n,s)=>s?`( ${n} )`:n,i=n=>r(uw(n),!["number","variable"].includes(n.type));switch(t.type){case"number":return String(t.value);case"variable":return t.name;default:return`${i(t.left)} ${e(t.type)} ${i(t.right)}`}}var R4=ie(D4());function gw(t){let e=t.match(/^\*{1,2}\/(.*)/);if(e)throw new Error(`The override for '${t}' includes a glob pattern. Glob patterns have been removed since their behaviours don't match what you'd expect. Set the override to '${e[1]}' instead.`);try{return(0,R4.parse)(t)}catch(r){throw r.location&&(r.message=r.message.replace(/(\.)?$/,` (line ${r.location.start.line}, column ${r.location.start.column})$1`)),r}}function fw(t){let e="";return t.from&&(e+=t.from.fullName,t.from.description&&(e+=`@${t.from.description}`),e+="/"),e+=t.descriptor.fullName,t.descriptor.description&&(e+=`@${t.descriptor.description}`),e}var Qw=ie(w5()),b5=ie(Q5()),$De=/^(?![-?:,\][{}#&*!|>'"%@` \t\r\n]).([ \t]*(?![,\][{}:# \t\r\n]).)*$/,v5=["__metadata","version","resolution","dependencies","peerDependencies","dependenciesMeta","peerDependenciesMeta","binaries"],HP=class{constructor(e){this.data=e}};function S5(t){return t.match($De)?t:JSON.stringify(t)}function x5(t){return typeof t=="undefined"?!0:typeof t=="object"&&t!==null?Object.keys(t).every(e=>x5(t[e])):!1}function GP(t,e,r){if(t===null)return`null +`;if(typeof t=="number"||typeof t=="boolean")return`${t.toString()} +`;if(typeof t=="string")return`${S5(t)} +`;if(Array.isArray(t)){if(t.length===0)return`[] +`;let i=" ".repeat(e);return` +${t.map(s=>`${i}- ${GP(s,e+1,!1)}`).join("")}`}if(typeof t=="object"&&t){let i,n;t instanceof HP?(i=t.data,n=!1):(i=t,n=!0);let s=" ".repeat(e),o=Object.keys(i);n&&o.sort((l,c)=>{let u=v5.indexOf(l),g=v5.indexOf(c);return u===-1&&g===-1?lc?1:0:u!==-1&&g===-1?-1:u===-1&&g!==-1?1:u-g});let a=o.filter(l=>!x5(i[l])).map((l,c)=>{let u=i[l],g=S5(l),f=GP(u,e+1,!0),h=c>0||r?s:"";return f.startsWith(` +`)?`${h}${g}:${f}`:`${h}${g}: ${f}`}).join(e===0?` +`:"")||` +`;return r?` +${a}`:`${a}`}throw new Error(`Unsupported value type (${t})`)}function Qa(t){try{let e=GP(t,0,!1);return e!==` +`?e:""}catch(e){throw e.location&&(e.message=e.message.replace(/(\.)?$/,` (line ${e.location.start.line}, column ${e.location.start.column})$1`)),e}}Qa.PreserveOrdering=HP;function eRe(t){return t.endsWith(` +`)||(t+=` +`),(0,b5.parse)(t)}var tRe=/^(#.*(\r?\n))*?#\s+yarn\s+lockfile\s+v1\r?\n/i;function rRe(t){if(tRe.test(t))return eRe(t);let e=(0,Qw.safeLoad)(t,{schema:Qw.FAILSAFE_SCHEMA,json:!0});if(e==null)return{};if(typeof e!="object")throw new Error(`Expected an indexed object, got a ${typeof e} instead. Does your file follow Yaml's rules?`);if(Array.isArray(e))throw new Error("Expected an indexed object, got an array instead. Does your file follow Yaml's rules?");return e}function Ii(t){return rRe(t)}var U5=ie(jb()),H5=ie(require("os")),Kn=ie(require("stream")),G5=ie(require("util"));var as=class extends Error{constructor(e){super(e);this.name="ShellError"}};var bw={};it(bw,{fastGlobOptions:()=>D5,isBraceExpansion:()=>R5,isGlobPattern:()=>iRe,match:()=>nRe,micromatchOptions:()=>Sw});var k5=ie(gy()),P5=ie(require("fs")),vw=ie(Nn()),Sw={strictBrackets:!0},D5={onlyDirectories:!1,onlyFiles:!1};function iRe(t){if(!vw.default.scan(t,Sw).isGlob)return!1;try{vw.default.parse(t,Sw)}catch{return!1}return!0}function nRe(t,{cwd:e,baseFs:r}){return(0,k5.default)(t,_(P({},D5),{cwd:M.fromPortablePath(e),fs:SE(P5.default,new ah(r))}))}function R5(t){return vw.default.scan(t,Sw).isBrace}var F5=ie(bb()),Bo=ie(require("stream")),N5=ie(require("string_decoder")),wn;(function(i){i[i.STDIN=0]="STDIN",i[i.STDOUT=1]="STDOUT",i[i.STDERR=2]="STDERR"})(wn||(wn={}));var sc=new Set;function jP(){}function YP(){for(let t of sc)t.kill()}function L5(t,e,r,i){return n=>{let s=n[0]instanceof Bo.Transform?"pipe":n[0],o=n[1]instanceof Bo.Transform?"pipe":n[1],a=n[2]instanceof Bo.Transform?"pipe":n[2],l=(0,F5.default)(t,e,_(P({},i),{stdio:[s,o,a]}));return sc.add(l),sc.size===1&&(process.on("SIGINT",jP),process.on("SIGTERM",YP)),n[0]instanceof Bo.Transform&&n[0].pipe(l.stdin),n[1]instanceof Bo.Transform&&l.stdout.pipe(n[1],{end:!1}),n[2]instanceof Bo.Transform&&l.stderr.pipe(n[2],{end:!1}),{stdin:l.stdin,promise:new Promise(c=>{l.on("error",u=>{switch(sc.delete(l),sc.size===0&&(process.off("SIGINT",jP),process.off("SIGTERM",YP)),u.code){case"ENOENT":n[2].write(`command not found: ${t} +`),c(127);break;case"EACCES":n[2].write(`permission denied: ${t} +`),c(128);break;default:n[2].write(`uncaught error: ${u.message} +`),c(1);break}}),l.on("exit",u=>{sc.delete(l),sc.size===0&&(process.off("SIGINT",jP),process.off("SIGTERM",YP)),c(u!==null?u:129)})})}}}function T5(t){return e=>{let r=e[0]==="pipe"?new Bo.PassThrough:e[0];return{stdin:r,promise:Promise.resolve().then(()=>t({stdin:r,stdout:e[1],stderr:e[2]}))}}}var Os=class{constructor(e){this.stream=e}close(){}get(){return this.stream}},M5=class{constructor(){this.stream=null}close(){if(this.stream===null)throw new Error("Assertion failed: No stream attached");this.stream.end()}attach(e){this.stream=e}get(){if(this.stream===null)throw new Error("Assertion failed: No stream attached");return this.stream}},Gp=class{constructor(e,r){this.stdin=null;this.stdout=null;this.stderr=null;this.pipe=null;this.ancestor=e,this.implementation=r}static start(e,{stdin:r,stdout:i,stderr:n}){let s=new Gp(null,e);return s.stdin=r,s.stdout=i,s.stderr=n,s}pipeTo(e,r=1){let i=new Gp(this,e),n=new M5;return i.pipe=n,i.stdout=this.stdout,i.stderr=this.stderr,(r&1)==1?this.stdout=n:this.ancestor!==null&&(this.stderr=this.ancestor.stdout),(r&2)==2?this.stderr=n:this.ancestor!==null&&(this.stderr=this.ancestor.stderr),i}async exec(){let e=["ignore","ignore","ignore"];if(this.pipe)e[0]="pipe";else{if(this.stdin===null)throw new Error("Assertion failed: No input stream registered");e[0]=this.stdin.get()}let r;if(this.stdout===null)throw new Error("Assertion failed: No output stream registered");r=this.stdout,e[1]=r.get();let i;if(this.stderr===null)throw new Error("Assertion failed: No error stream registered");i=this.stderr,e[2]=i.get();let n=this.implementation(e);return this.pipe&&this.pipe.attach(n.stdin),await n.promise.then(s=>(r.close(),i.close(),s))}async run(){let e=[];for(let i=this;i;i=i.ancestor)e.push(i.exec());return(await Promise.all(e))[0]}};function xw(t,e){return Gp.start(t,e)}function O5(t,e=null){let r=new Bo.PassThrough,i=new N5.StringDecoder,n="";return r.on("data",s=>{let o=i.write(s),a;do if(a=o.indexOf(` +`),a!==-1){let l=n+o.substr(0,a);o=o.substr(a+1),n="",t(e!==null?`${e} ${l}`:l)}while(a!==-1);n+=o}),r.on("end",()=>{let s=i.end();s!==""&&t(e!==null?`${e} ${s}`:s)}),r}function K5(t,{prefix:e}){return{stdout:O5(r=>t.stdout.write(`${r} +`),t.stdout.isTTY?e:null),stderr:O5(r=>t.stderr.write(`${r} +`),t.stderr.isTTY?e:null)}}var sRe=(0,G5.promisify)(setTimeout);var Fi;(function(r){r[r.Readable=1]="Readable",r[r.Writable=2]="Writable"})(Fi||(Fi={}));function j5(t,e,r){let i=new Kn.PassThrough({autoDestroy:!0});switch(t){case wn.STDIN:(e&1)==1&&r.stdin.pipe(i,{end:!1}),(e&2)==2&&r.stdin instanceof Kn.Writable&&i.pipe(r.stdin,{end:!1});break;case wn.STDOUT:(e&1)==1&&r.stdout.pipe(i,{end:!1}),(e&2)==2&&i.pipe(r.stdout,{end:!1});break;case wn.STDERR:(e&1)==1&&r.stderr.pipe(i,{end:!1}),(e&2)==2&&i.pipe(r.stderr,{end:!1});break;default:throw new as(`Bad file descriptor: "${t}"`)}return i}function kw(t,e={}){let r=P(P({},t),e);return r.environment=P(P({},t.environment),e.environment),r.variables=P(P({},t.variables),e.variables),r}var oRe=new Map([["cd",async([t=(0,H5.homedir)(),...e],r,i)=>{let n=v.resolve(i.cwd,M.toPortablePath(t));if(!(await r.baseFs.statPromise(n).catch(o=>{throw o.code==="ENOENT"?new as(`cd: no such file or directory: ${t}`):o})).isDirectory())throw new as(`cd: not a directory: ${t}`);return i.cwd=n,0}],["pwd",async(t,e,r)=>(r.stdout.write(`${M.fromPortablePath(r.cwd)} +`),0)],[":",async(t,e,r)=>0],["true",async(t,e,r)=>0],["false",async(t,e,r)=>1],["exit",async([t,...e],r,i)=>i.exitCode=parseInt(t!=null?t:i.variables["?"],10)],["echo",async(t,e,r)=>(r.stdout.write(`${t.join(" ")} +`),0)],["sleep",async([t],e,r)=>{if(typeof t=="undefined")throw new as("sleep: missing operand");let i=Number(t);if(Number.isNaN(i))throw new as(`sleep: invalid time interval '${t}'`);return await sRe(1e3*i,0)}],["__ysh_run_procedure",async(t,e,r)=>{let i=r.procedures[t[0]];return await xw(i,{stdin:new Os(r.stdin),stdout:new Os(r.stdout),stderr:new Os(r.stderr)}).run()}],["__ysh_set_redirects",async(t,e,r)=>{let i=r.stdin,n=r.stdout,s=r.stderr,o=[],a=[],l=[],c=0;for(;t[c]!=="--";){let g=t[c++],{type:f,fd:h}=JSON.parse(g),p=B=>{switch(h){case null:case 0:o.push(B);break;default:throw new Error(`Unsupported file descriptor: "${h}"`)}},d=B=>{switch(h){case null:case 1:a.push(B);break;case 2:l.push(B);break;default:throw new Error(`Unsupported file descriptor: "${h}"`)}},m=Number(t[c++]),I=c+m;for(let B=c;Be.baseFs.createReadStream(v.resolve(r.cwd,M.toPortablePath(t[B]))));break;case"<<<":p(()=>{let b=new Kn.PassThrough;return process.nextTick(()=>{b.write(`${t[B]} +`),b.end()}),b});break;case"<&":p(()=>j5(Number(t[B]),1,r));break;case">":case">>":{let b=v.resolve(r.cwd,M.toPortablePath(t[B]));d(b==="/dev/null"?new Kn.Writable({autoDestroy:!0,emitClose:!0,write(R,H,L){setImmediate(L)}}):e.baseFs.createWriteStream(b,f===">>"?{flags:"a"}:void 0))}break;case">&":d(j5(Number(t[B]),2,r));break;default:throw new Error(`Assertion failed: Unsupported redirection type: "${f}"`)}}if(o.length>0){let g=new Kn.PassThrough;i=g;let f=h=>{if(h===o.length)g.end();else{let p=o[h]();p.pipe(g,{end:!1}),p.on("end",()=>{f(h+1)})}};f(0)}if(a.length>0){let g=new Kn.PassThrough;n=g;for(let f of a)g.pipe(f)}if(l.length>0){let g=new Kn.PassThrough;s=g;for(let f of l)g.pipe(f)}let u=await xw(Yp(t.slice(c+1),e,r),{stdin:new Os(i),stdout:new Os(n),stderr:new Os(s)}).run();return await Promise.all(a.map(g=>new Promise((f,h)=>{g.on("error",p=>{h(p)}),g.on("close",()=>{f()}),g.end()}))),await Promise.all(l.map(g=>new Promise((f,h)=>{g.on("error",p=>{h(p)}),g.on("close",()=>{f()}),g.end()}))),u}]]);async function aRe(t,e,r){let i=[],n=new Kn.PassThrough;return n.on("data",s=>i.push(s)),await Pw(t,e,kw(r,{stdout:n})),Buffer.concat(i).toString().replace(/[\r\n]+$/,"")}async function Y5(t,e,r){let i=t.map(async s=>{let o=await oc(s.args,e,r);return{name:s.name,value:o.join(" ")}});return(await Promise.all(i)).reduce((s,o)=>(s[o.name]=o.value,s),{})}function Dw(t){return t.match(/[^ \r\n\t]+/g)||[]}async function q5(t,e,r,i,n=i){switch(t.name){case"$":i(String(process.pid));break;case"#":i(String(e.args.length));break;case"@":if(t.quoted)for(let s of e.args)n(s);else for(let s of e.args){let o=Dw(s);for(let a=0;a=0&&st+e,subtraction:(t,e)=>t-e,multiplication:(t,e)=>t*e,division:(t,e)=>Math.trunc(t/e)};async function qp(t,e,r){if(t.type==="number"){if(Number.isInteger(t.value))return t.value;throw new Error(`Invalid number: "${t.value}", only integers are allowed`)}else if(t.type==="variable"){let i=[];await q5(_(P({},t),{quoted:!0}),e,r,s=>i.push(s));let n=Number(i.join(" "));return Number.isNaN(n)?qp({type:"variable",name:i.join(" ")},e,r):qp({type:"number",value:n},e,r)}else return ARe[t.type](await qp(t.left,e,r),await qp(t.right,e,r))}async function oc(t,e,r){let i=new Map,n=[],s=[],o=u=>{s.push(u)},a=()=>{s.length>0&&n.push(s.join("")),s=[]},l=u=>{o(u),a()},c=(u,g,f)=>{let h=JSON.stringify({type:u,fd:g}),p=i.get(h);typeof p=="undefined"&&i.set(h,p=[]),p.push(f)};for(let u of t){let g=!1;switch(u.type){case"redirection":{let f=await oc(u.args,e,r);for(let h of f)c(u.subtype,u.fd,h)}break;case"argument":for(let f of u.segments)switch(f.type){case"text":o(f.text);break;case"glob":o(f.pattern),g=!0;break;case"shell":{let h=await aRe(f.shell,e,r);if(f.quoted)o(h);else{let p=Dw(h);for(let d=0;d0){let u=[];for(let[g,f]of i.entries())u.splice(u.length,0,g,String(f.length),...f);n.splice(0,0,"__ysh_set_redirects",...u,"--")}return n}function Yp(t,e,r){e.builtins.has(t[0])||(t=["command",...t]);let i=M.fromPortablePath(r.cwd),n=r.environment;typeof n.PWD!="undefined"&&(n=_(P({},n),{PWD:i}));let[s,...o]=t;if(s==="command")return L5(o[0],o.slice(1),e,{cwd:i,env:n});let a=e.builtins.get(s);if(typeof a=="undefined")throw new Error(`Assertion failed: A builtin should exist for "${s}"`);return T5(async({stdin:l,stdout:c,stderr:u})=>{let{stdin:g,stdout:f,stderr:h}=r;r.stdin=l,r.stdout=c,r.stderr=u;try{return await a(o,e,r)}finally{r.stdin=g,r.stdout=f,r.stderr=h}})}function lRe(t,e,r){return i=>{let n=new Kn.PassThrough,s=Pw(t,e,kw(r,{stdin:n}));return{stdin:n,promise:s}}}function cRe(t,e,r){return i=>{let n=new Kn.PassThrough,s=Pw(t,e,r);return{stdin:n,promise:s}}}function J5(t,e,r,i){if(e.length===0)return t;{let n;do n=String(Math.random());while(Object.prototype.hasOwnProperty.call(i.procedures,n));return i.procedures=P({},i.procedures),i.procedures[n]=t,Yp([...e,"__ysh_run_procedure",n],r,i)}}async function W5(t,e,r){let i=t,n=null,s=null;for(;i;){let o=i.then?P({},r):r,a;switch(i.type){case"command":{let l=await oc(i.args,e,r),c=await Y5(i.envs,e,r);a=i.envs.length?Yp(l,e,kw(o,{environment:c})):Yp(l,e,o)}break;case"subshell":{let l=await oc(i.args,e,r),c=lRe(i.subshell,e,o);a=J5(c,l,e,o)}break;case"group":{let l=await oc(i.args,e,r),c=cRe(i.group,e,o);a=J5(c,l,e,o)}break;case"envs":{let l=await Y5(i.envs,e,r);o.environment=P(P({},o.environment),l),a=Yp(["true"],e,o)}break}if(typeof a=="undefined")throw new Error("Assertion failed: An action should have been generated");if(n===null)s=xw(a,{stdin:new Os(o.stdin),stdout:new Os(o.stdout),stderr:new Os(o.stderr)});else{if(s===null)throw new Error("Assertion failed: The execution pipeline should have been setup");switch(n){case"|":s=s.pipeTo(a,wn.STDOUT);break;case"|&":s=s.pipeTo(a,wn.STDOUT|wn.STDERR);break}}i.then?(n=i.then.type,i=i.then.chain):i=null}if(s===null)throw new Error("Assertion failed: The execution pipeline should have been setup");return await s.run()}async function uRe(t,e,r,{background:i=!1}={}){function n(s){let o=["#2E86AB","#A23B72","#F18F01","#C73E1D","#CCE2A3"],a=o[s%o.length];return U5.default.hex(a)}if(i){let s=r.nextBackgroundJobIndex++,o=n(s),a=`[${s}]`,l=o(a),{stdout:c,stderr:u}=K5(r,{prefix:l});return r.backgroundJobs.push(W5(t,e,kw(r,{stdout:c,stderr:u})).catch(g=>u.write(`${g.message} +`)).finally(()=>{r.stdout.isTTY&&r.stdout.write(`Job ${l}, '${o(rg(t))}' has ended +`)})),0}return await W5(t,e,r)}async function gRe(t,e,r,{background:i=!1}={}){let n,s=a=>{n=a,r.variables["?"]=String(a)},o=async a=>{try{return await uRe(a.chain,e,r,{background:i&&typeof a.then=="undefined"})}catch(l){if(!(l instanceof as))throw l;return r.stderr.write(`${l.message} +`),1}};for(s(await o(t));t.then;){if(r.exitCode!==null)return r.exitCode;switch(t.then.type){case"&&":n===0&&s(await o(t.then.line));break;case"||":n!==0&&s(await o(t.then.line));break;default:throw new Error(`Assertion failed: Unsupported command type: "${t.then.type}"`)}t=t.then.line}return n}async function Pw(t,e,r){let i=r.backgroundJobs;r.backgroundJobs=[];let n=0;for(let{command:s,type:o}of t){if(n=await gRe(s,e,r,{background:o==="&"}),r.exitCode!==null)return r.exitCode;r.variables["?"]=String(n)}return await Promise.all(r.backgroundJobs),r.backgroundJobs=i,n}function z5(t){switch(t.type){case"variable":return t.name==="@"||t.name==="#"||t.name==="*"||Number.isFinite(parseInt(t.name,10))||"defaultValue"in t&&!!t.defaultValue&&t.defaultValue.some(e=>Rw(e));case"arithmetic":return qP(t.arithmetic);case"shell":return JP(t.shell);default:return!1}}function Rw(t){switch(t.type){case"redirection":return t.args.some(e=>Rw(e));case"argument":return t.segments.some(e=>z5(e));default:throw new Error(`Assertion failed: Unsupported argument type: "${t.type}"`)}}function qP(t){switch(t.type){case"variable":return z5(t);case"number":return!1;default:return qP(t.left)||qP(t.right)}}function JP(t){return t.some(({command:e})=>{for(;e;){let r=e.chain;for(;r;){let i;switch(r.type){case"subshell":i=JP(r.subshell);break;case"command":i=r.envs.some(n=>n.args.some(s=>Rw(s)))||r.args.some(n=>Rw(n));break}if(i)return!0;if(!r.then)break;r=r.then.chain}if(!e.then)break;e=e.then.line}return!1})}async function Fw(t,e=[],{baseFs:r=new Wt,builtins:i={},cwd:n=M.toPortablePath(process.cwd()),env:s=process.env,stdin:o=process.stdin,stdout:a=process.stdout,stderr:l=process.stderr,variables:c={},glob:u=bw}={}){let g={};for(let[p,d]of Object.entries(s))typeof d!="undefined"&&(g[p]=d);let f=new Map(oRe);for(let[p,d]of Object.entries(i))f.set(p,d);o===null&&(o=new Kn.PassThrough,o.end());let h=Aw(t,u);if(!JP(h)&&h.length>0&&e.length>0){let{command:p}=h[h.length-1];for(;p.then;)p=p.then.line;let d=p.chain;for(;d.then;)d=d.then.chain;d.type==="command"&&(d.args=d.args.concat(e.map(m=>({type:"argument",segments:[{type:"text",text:m}]}))))}return await Pw(h,{args:e,baseFs:r,builtins:f,initialStdin:o,initialStdout:a,initialStderr:l,glob:u},{cwd:n,environment:g,exitCode:null,procedures:{},stdin:o,stdout:a,stderr:l,variables:Object.assign({},c,{["?"]:0}),nextBackgroundJobIndex:1,backgroundJobs:[]})}var s9=ie(ZP()),o9=ie(Wp()),cc=ie(require("stream"));var J6=ie(Or());var zp=class{supportsDescriptor(e,r){return!!(e.range.startsWith(zp.protocol)||r.project.tryWorkspaceByDescriptor(e)!==null)}supportsLocator(e,r){return!!e.reference.startsWith(zp.protocol)}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,i){return e}getResolutionDependencies(e,r){return[]}async getCandidates(e,r,i){return[i.project.getWorkspaceByDescriptor(e).anchoredLocator]}async getSatisfying(e,r,i){return null}async resolve(e,r){let i=r.project.getWorkspaceByCwd(e.reference.slice(zp.protocol.length));return _(P({},e),{version:i.manifest.version||"0.0.0",languageName:"unknown",linkType:gt.SOFT,conditions:null,dependencies:new Map([...i.manifest.dependencies,...i.manifest.devDependencies]),peerDependencies:new Map([...i.manifest.peerDependencies]),dependenciesMeta:i.manifest.dependenciesMeta,peerDependenciesMeta:i.manifest.peerDependenciesMeta,bin:i.manifest.bin})}},Yr=zp;Yr.protocol="workspace:";var qt={};it(qt,{SemVer:()=>j6.SemVer,satisfiesWithPrereleases:()=>lc,validRange:()=>Us});var Lw=ie(Or()),j6=ie(Or()),Y6=new Map;function lc(t,e,r=!1){if(!t)return!1;let i=`${e}${r}`,n=Y6.get(i);if(typeof n=="undefined")try{n=new Lw.default.Range(e,{includePrerelease:!0,loose:r})}catch{return!1}finally{Y6.set(i,n||null)}else if(n===null)return!1;let s;try{s=new Lw.default.SemVer(t,n)}catch(o){return!1}return n.test(s)?!0:(s.prerelease&&(s.prerelease=[]),n.set.some(o=>{for(let a of o)a.semver.prerelease&&(a.semver.prerelease=[]);return o.every(a=>a.test(s))}))}var q6=new Map;function Us(t){if(t.indexOf(":")!==-1)return null;let e=q6.get(t);if(typeof e!="undefined")return e;try{e=new Lw.default.Range(t)}catch{e=null}return q6.set(t,e),e}var vA=class{constructor(){this.indent=" ";this.name=null;this.version=null;this.os=null;this.cpu=null;this.type=null;this.packageManager=null;this.private=!1;this.license=null;this.main=null;this.module=null;this.browser=null;this.languageName=null;this.bin=new Map;this.scripts=new Map;this.dependencies=new Map;this.devDependencies=new Map;this.peerDependencies=new Map;this.workspaceDefinitions=[];this.dependenciesMeta=new Map;this.peerDependenciesMeta=new Map;this.resolutions=[];this.files=null;this.publishConfig=null;this.installConfig=null;this.preferUnplugged=null;this.raw={};this.errors=[]}static async tryFind(e,{baseFs:r=new Wt}={}){let i=v.join(e,"package.json");return await r.existsPromise(i)?await vA.fromFile(i,{baseFs:r}):null}static async find(e,{baseFs:r}={}){let i=await vA.tryFind(e,{baseFs:r});if(i===null)throw new Error("Manifest not found");return i}static async fromFile(e,{baseFs:r=new Wt}={}){let i=new vA;return await i.loadFile(e,{baseFs:r}),i}static fromText(e){let r=new vA;return r.loadFromText(e),r}static isManifestFieldCompatible(e,r){if(e===null)return!0;let i=!0,n=!1;for(let s of e)if(s[0]==="!"){if(n=!0,r===s.slice(1))return!1}else if(i=!1,s===r)return!0;return n&&i}loadFromText(e){let r;try{r=JSON.parse(z6(e)||"{}")}catch(i){throw i.message+=` (when parsing ${e})`,i}this.load(r),this.indent=W6(e)}async loadFile(e,{baseFs:r=new Wt}){let i=await r.readFilePromise(e,"utf8"),n;try{n=JSON.parse(z6(i)||"{}")}catch(s){throw s.message+=` (when parsing ${e})`,s}this.load(n),this.indent=W6(i)}load(e,{yamlCompatibilityMode:r=!1}={}){if(typeof e!="object"||e===null)throw new Error(`Utterly invalid manifest data (${e})`);this.raw=e;let i=[];if(this.name=null,typeof e.name=="string")try{this.name=En(e.name)}catch(s){i.push(new Error("Parsing failed for the 'name' field"))}if(typeof e.version=="string"?this.version=e.version:this.version=null,Array.isArray(e.os)){let s=[];this.os=s;for(let o of e.os)typeof o!="string"?i.push(new Error("Parsing failed for the 'os' field")):s.push(o)}else this.os=null;if(Array.isArray(e.cpu)){let s=[];this.cpu=s;for(let o of e.cpu)typeof o!="string"?i.push(new Error("Parsing failed for the 'cpu' field")):s.push(o)}else this.cpu=null;if(typeof e.type=="string"?this.type=e.type:this.type=null,typeof e.packageManager=="string"?this.packageManager=e.packageManager:this.packageManager=null,typeof e.private=="boolean"?this.private=e.private:this.private=!1,typeof e.license=="string"?this.license=e.license:this.license=null,typeof e.languageName=="string"?this.languageName=e.languageName:this.languageName=null,typeof e.main=="string"?this.main=en(e.main):this.main=null,typeof e.module=="string"?this.module=en(e.module):this.module=null,e.browser!=null)if(typeof e.browser=="string")this.browser=en(e.browser);else{this.browser=new Map;for(let[s,o]of Object.entries(e.browser))this.browser.set(en(s),typeof o=="string"?en(o):o)}else this.browser=null;if(this.bin=new Map,typeof e.bin=="string")this.name!==null?this.bin.set(this.name.name,en(e.bin)):i.push(new Error("String bin field, but no attached package name"));else if(typeof e.bin=="object"&&e.bin!==null)for(let[s,o]of Object.entries(e.bin)){if(typeof o!="string"){i.push(new Error(`Invalid bin definition for '${s}'`));continue}this.bin.set(s,en(o))}if(this.scripts=new Map,typeof e.scripts=="object"&&e.scripts!==null)for(let[s,o]of Object.entries(e.scripts)){if(typeof o!="string"){i.push(new Error(`Invalid script definition for '${s}'`));continue}this.scripts.set(s,o)}if(this.dependencies=new Map,typeof e.dependencies=="object"&&e.dependencies!==null)for(let[s,o]of Object.entries(e.dependencies)){if(typeof o!="string"){i.push(new Error(`Invalid dependency range for '${s}'`));continue}let a;try{a=En(s)}catch(c){i.push(new Error(`Parsing failed for the dependency name '${s}'`));continue}let l=Yt(a,o);this.dependencies.set(l.identHash,l)}if(this.devDependencies=new Map,typeof e.devDependencies=="object"&&e.devDependencies!==null)for(let[s,o]of Object.entries(e.devDependencies)){if(typeof o!="string"){i.push(new Error(`Invalid dependency range for '${s}'`));continue}let a;try{a=En(s)}catch(c){i.push(new Error(`Parsing failed for the dependency name '${s}'`));continue}let l=Yt(a,o);this.devDependencies.set(l.identHash,l)}if(this.peerDependencies=new Map,typeof e.peerDependencies=="object"&&e.peerDependencies!==null)for(let[s,o]of Object.entries(e.peerDependencies)){let a;try{a=En(s)}catch(c){i.push(new Error(`Parsing failed for the dependency name '${s}'`));continue}(typeof o!="string"||!o.startsWith(Yr.protocol)&&!Us(o))&&(i.push(new Error(`Invalid dependency range for '${s}'`)),o="*");let l=Yt(a,o);this.peerDependencies.set(l.identHash,l)}typeof e.workspaces=="object"&&e.workspaces.nohoist&&i.push(new Error("'nohoist' is deprecated, please use 'installConfig.hoistingLimits' instead"));let n=Array.isArray(e.workspaces)?e.workspaces:typeof e.workspaces=="object"&&e.workspaces!==null&&Array.isArray(e.workspaces.packages)?e.workspaces.packages:[];this.workspaceDefinitions=[];for(let s of n){if(typeof s!="string"){i.push(new Error(`Invalid workspace definition for '${s}'`));continue}this.workspaceDefinitions.push({pattern:s})}if(this.dependenciesMeta=new Map,typeof e.dependenciesMeta=="object"&&e.dependenciesMeta!==null)for(let[s,o]of Object.entries(e.dependenciesMeta)){if(typeof o!="object"||o===null){i.push(new Error(`Invalid meta field for '${s}`));continue}let a=pA(s),l=this.ensureDependencyMeta(a),c=Tw(o.built,{yamlCompatibilityMode:r});if(c===null){i.push(new Error(`Invalid built meta field for '${s}'`));continue}let u=Tw(o.optional,{yamlCompatibilityMode:r});if(u===null){i.push(new Error(`Invalid optional meta field for '${s}'`));continue}let g=Tw(o.unplugged,{yamlCompatibilityMode:r});if(g===null){i.push(new Error(`Invalid unplugged meta field for '${s}'`));continue}Object.assign(l,{built:c,optional:u,unplugged:g})}if(this.peerDependenciesMeta=new Map,typeof e.peerDependenciesMeta=="object"&&e.peerDependenciesMeta!==null)for(let[s,o]of Object.entries(e.peerDependenciesMeta)){if(typeof o!="object"||o===null){i.push(new Error(`Invalid meta field for '${s}'`));continue}let a=pA(s),l=this.ensurePeerDependencyMeta(a),c=Tw(o.optional,{yamlCompatibilityMode:r});if(c===null){i.push(new Error(`Invalid optional meta field for '${s}'`));continue}Object.assign(l,{optional:c})}if(this.resolutions=[],typeof e.resolutions=="object"&&e.resolutions!==null)for(let[s,o]of Object.entries(e.resolutions)){if(typeof o!="string"){i.push(new Error(`Invalid resolution entry for '${s}'`));continue}try{this.resolutions.push({pattern:gw(s),reference:o})}catch(a){i.push(a);continue}}if(Array.isArray(e.files)){this.files=new Set;for(let s of e.files){if(typeof s!="string"){i.push(new Error(`Invalid files entry for '${s}'`));continue}this.files.add(s)}}else this.files=null;if(typeof e.publishConfig=="object"&&e.publishConfig!==null){if(this.publishConfig={},typeof e.publishConfig.access=="string"&&(this.publishConfig.access=e.publishConfig.access),typeof e.publishConfig.main=="string"&&(this.publishConfig.main=en(e.publishConfig.main)),typeof e.publishConfig.module=="string"&&(this.publishConfig.module=en(e.publishConfig.module)),e.publishConfig.browser!=null)if(typeof e.publishConfig.browser=="string")this.publishConfig.browser=en(e.publishConfig.browser);else{this.publishConfig.browser=new Map;for(let[s,o]of Object.entries(e.publishConfig.browser))this.publishConfig.browser.set(en(s),typeof o=="string"?en(o):o)}if(typeof e.publishConfig.registry=="string"&&(this.publishConfig.registry=e.publishConfig.registry),typeof e.publishConfig.bin=="string")this.name!==null?this.publishConfig.bin=new Map([[this.name.name,en(e.publishConfig.bin)]]):i.push(new Error("String bin field, but no attached package name"));else if(typeof e.publishConfig.bin=="object"&&e.publishConfig.bin!==null){this.publishConfig.bin=new Map;for(let[s,o]of Object.entries(e.publishConfig.bin)){if(typeof o!="string"){i.push(new Error(`Invalid bin definition for '${s}'`));continue}this.publishConfig.bin.set(s,en(o))}}if(Array.isArray(e.publishConfig.executableFiles)){this.publishConfig.executableFiles=new Set;for(let s of e.publishConfig.executableFiles){if(typeof s!="string"){i.push(new Error("Invalid executable file definition"));continue}this.publishConfig.executableFiles.add(en(s))}}}else this.publishConfig=null;if(typeof e.installConfig=="object"&&e.installConfig!==null){this.installConfig={};for(let s of Object.keys(e.installConfig))s==="hoistingLimits"?typeof e.installConfig.hoistingLimits=="string"?this.installConfig.hoistingLimits=e.installConfig.hoistingLimits:i.push(new Error("Invalid hoisting limits definition")):s=="selfReferences"?typeof e.installConfig.selfReferences=="boolean"?this.installConfig.selfReferences=e.installConfig.selfReferences:i.push(new Error("Invalid selfReferences definition, must be a boolean value")):i.push(new Error(`Unrecognized installConfig key: ${s}`))}else this.installConfig=null;if(typeof e.optionalDependencies=="object"&&e.optionalDependencies!==null)for(let[s,o]of Object.entries(e.optionalDependencies)){if(typeof o!="string"){i.push(new Error(`Invalid dependency range for '${s}'`));continue}let a;try{a=En(s)}catch(g){i.push(new Error(`Parsing failed for the dependency name '${s}'`));continue}let l=Yt(a,o);this.dependencies.set(l.identHash,l);let c=Yt(a,"unknown"),u=this.ensureDependencyMeta(c);Object.assign(u,{optional:!0})}typeof e.preferUnplugged=="boolean"?this.preferUnplugged=e.preferUnplugged:this.preferUnplugged=null,this.errors=i}getForScope(e){switch(e){case"dependencies":return this.dependencies;case"devDependencies":return this.devDependencies;case"peerDependencies":return this.peerDependencies;default:throw new Error(`Unsupported value ("${e}")`)}}hasConsumerDependency(e){return!!(this.dependencies.has(e.identHash)||this.peerDependencies.has(e.identHash))}hasHardDependency(e){return!!(this.dependencies.has(e.identHash)||this.devDependencies.has(e.identHash))}hasSoftDependency(e){return!!this.peerDependencies.has(e.identHash)}hasDependency(e){return!!(this.hasHardDependency(e)||this.hasSoftDependency(e))}getConditions(){let e=[];return this.os&&this.os.length>0&&e.push(V6("os",this.os)),this.cpu&&this.cpu.length>0&&e.push(V6("cpu",this.cpu)),e.length>0?e.join(" & "):null}isCompatibleWithOS(e){return vA.isManifestFieldCompatible(this.os,e)}isCompatibleWithCPU(e){return vA.isManifestFieldCompatible(this.cpu,e)}ensureDependencyMeta(e){if(e.range!=="unknown"&&!J6.default.valid(e.range))throw new Error(`Invalid meta field range for '${In(e)}'`);let r=St(e),i=e.range!=="unknown"?e.range:null,n=this.dependenciesMeta.get(r);n||this.dependenciesMeta.set(r,n=new Map);let s=n.get(i);return s||n.set(i,s={}),s}ensurePeerDependencyMeta(e){if(e.range!=="unknown")throw new Error(`Invalid meta field range for '${In(e)}'`);let r=St(e),i=this.peerDependenciesMeta.get(r);return i||this.peerDependenciesMeta.set(r,i={}),i}setRawField(e,r,{after:i=[]}={}){let n=new Set(i.filter(s=>Object.prototype.hasOwnProperty.call(this.raw,s)));if(n.size===0||Object.prototype.hasOwnProperty.call(this.raw,e))this.raw[e]=r;else{let s=this.raw,o=this.raw={},a=!1;for(let l of Object.keys(s))o[l]=s[l],a||(n.delete(l),n.size===0&&(o[e]=r,a=!0))}}exportTo(e,{compatibilityMode:r=!0}={}){var s;if(Object.assign(e,this.raw),this.name!==null?e.name=St(this.name):delete e.name,this.version!==null?e.version=this.version:delete e.version,this.os!==null?e.os=this.os:delete e.os,this.cpu!==null?e.cpu=this.cpu:delete e.cpu,this.type!==null?e.type=this.type:delete e.type,this.packageManager!==null?e.packageManager=this.packageManager:delete e.packageManager,this.private?e.private=!0:delete e.private,this.license!==null?e.license=this.license:delete e.license,this.languageName!==null?e.languageName=this.languageName:delete e.languageName,this.main!==null?e.main=this.main:delete e.main,this.module!==null?e.module=this.module:delete e.module,this.browser!==null){let o=this.browser;typeof o=="string"?e.browser=o:o instanceof Map&&(e.browser=Object.assign({},...Array.from(o.keys()).sort().map(a=>({[a]:o.get(a)}))))}else delete e.browser;this.bin.size===1&&this.name!==null&&this.bin.has(this.name.name)?e.bin=this.bin.get(this.name.name):this.bin.size>0?e.bin=Object.assign({},...Array.from(this.bin.keys()).sort().map(o=>({[o]:this.bin.get(o)}))):delete e.bin,this.workspaceDefinitions.length>0?this.raw.workspaces&&!Array.isArray(this.raw.workspaces)?e.workspaces=_(P({},this.raw.workspaces),{packages:this.workspaceDefinitions.map(({pattern:o})=>o)}):e.workspaces=this.workspaceDefinitions.map(({pattern:o})=>o):this.raw.workspaces&&!Array.isArray(this.raw.workspaces)&&Object.keys(this.raw.workspaces).length>0?e.workspaces=this.raw.workspaces:delete e.workspaces;let i=[],n=[];for(let o of this.dependencies.values()){let a=this.dependenciesMeta.get(St(o)),l=!1;if(r&&a){let c=a.get(null);c&&c.optional&&(l=!0)}l?n.push(o):i.push(o)}i.length>0?e.dependencies=Object.assign({},...Ou(i).map(o=>({[St(o)]:o.range}))):delete e.dependencies,n.length>0?e.optionalDependencies=Object.assign({},...Ou(n).map(o=>({[St(o)]:o.range}))):delete e.optionalDependencies,this.devDependencies.size>0?e.devDependencies=Object.assign({},...Ou(this.devDependencies.values()).map(o=>({[St(o)]:o.range}))):delete e.devDependencies,this.peerDependencies.size>0?e.peerDependencies=Object.assign({},...Ou(this.peerDependencies.values()).map(o=>({[St(o)]:o.range}))):delete e.peerDependencies,e.dependenciesMeta={};for(let[o,a]of gn(this.dependenciesMeta.entries(),([l,c])=>l))for(let[l,c]of gn(a.entries(),([u,g])=>u!==null?`0${u}`:"1")){let u=l!==null?In(Yt(En(o),l)):o,g=P({},c);r&&l===null&&delete g.optional,Object.keys(g).length!==0&&(e.dependenciesMeta[u]=g)}if(Object.keys(e.dependenciesMeta).length===0&&delete e.dependenciesMeta,this.peerDependenciesMeta.size>0?e.peerDependenciesMeta=Object.assign({},...gn(this.peerDependenciesMeta.entries(),([o,a])=>o).map(([o,a])=>({[o]:a}))):delete e.peerDependenciesMeta,this.resolutions.length>0?e.resolutions=Object.assign({},...this.resolutions.map(({pattern:o,reference:a})=>({[fw(o)]:a}))):delete e.resolutions,this.files!==null?e.files=Array.from(this.files):delete e.files,this.preferUnplugged!==null?e.preferUnplugged=this.preferUnplugged:delete e.preferUnplugged,this.scripts!==null&&this.scripts.size>0){(s=e.scripts)!=null||(e.scripts={});for(let o of Object.keys(e.scripts))this.scripts.has(o)||delete e.scripts[o];for(let[o,a]of this.scripts.entries())e.scripts[o]=a}else delete e.scripts;return e}},Ze=vA;Ze.fileName="package.json",Ze.allDependencies=["dependencies","devDependencies","peerDependencies"],Ze.hardDependencies=["dependencies","devDependencies"];function W6(t){let e=t.match(/^[ \t]+/m);return e?e[0]:" "}function z6(t){return t.charCodeAt(0)===65279?t.slice(1):t}function en(t){return t.replace(/\\/g,"/")}function Tw(t,{yamlCompatibilityMode:e}){return e?Kv(t):typeof t=="undefined"||typeof t=="boolean"?t:null}function _6(t,e){let r=e.search(/[^!]/);if(r===-1)return"invalid";let i=r%2==0?"":"!",n=e.slice(r);return`${i}${t}=${n}`}function V6(t,e){return e.length===1?_6(t,e[0]):`(${e.map(r=>_6(t,r)).join(" | ")})`}var e9=ie($6()),Ow=ie(ml());var t9=["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"],r9=80,NFe=new Set([z.FETCH_NOT_CACHED,z.UNUSED_CACHE_ENTRY]),LFe=5,SA=Ow.default.GITHUB_ACTIONS?{start:t=>`::group::${t} +`,end:t=>`::endgroup:: +`}:Ow.default.TRAVIS?{start:t=>`travis_fold:start:${t} +`,end:t=>`travis_fold:end:${t} +`}:Ow.default.GITLAB?{start:t=>`section_start:${Math.floor(Date.now()/1e3)}:${t.toLowerCase().replace(/\W+/g,"_")}[collapsed=true]\r${t} +`,end:t=>`section_end:${Math.floor(Date.now()/1e3)}:${t.toLowerCase().replace(/\W+/g,"_")}\r`}:null,i9=new Date,TFe=["iTerm.app","Apple_Terminal"].includes(process.env.TERM_PROGRAM)||!!process.env.WT_SESSION,MFe=t=>t,Kw=MFe({patrick:{date:[17,3],chars:["\u{1F340}","\u{1F331}"],size:40},simba:{date:[19,7],chars:["\u{1F981}","\u{1F334}"],size:40},jack:{date:[31,10],chars:["\u{1F383}","\u{1F987}"],size:40},hogsfather:{date:[31,12],chars:["\u{1F389}","\u{1F384}"],size:40},default:{chars:["=","-"],size:80}}),OFe=TFe&&Object.keys(Kw).find(t=>{let e=Kw[t];return!(e.date&&(e.date[0]!==i9.getDate()||e.date[1]!==i9.getMonth()+1))})||"default";function n9(t,{configuration:e,json:r}){if(!e.get("enableMessageNames"))return"";let n=KE(t===null?0:t);return!r&&t===null?Ve(e,n,"grey"):n}function eD(t,{configuration:e,json:r}){let i=n9(t,{configuration:e,json:r});if(!i||t===null||t===z.UNNAMED)return i;let n=z[t],s=`https://yarnpkg.com/advanced/error-codes#${i}---${n}`.toLowerCase();return Ku(e,i,s)}var Fe=class extends Xi{constructor({configuration:e,stdout:r,json:i=!1,includeFooter:n=!0,includeLogs:s=!i,includeInfos:o=s,includeWarnings:a=s,forgettableBufferSize:l=LFe,forgettableNames:c=new Set}){super();this.uncommitted=new Set;this.cacheHitCount=0;this.cacheMissCount=0;this.lastCacheMiss=null;this.warningCount=0;this.errorCount=0;this.startTime=Date.now();this.indent=0;this.progress=new Map;this.progressTime=0;this.progressFrame=0;this.progressTimeout=null;this.forgettableLines=[];Cp(this,{configuration:e}),this.configuration=e,this.forgettableBufferSize=l,this.forgettableNames=new Set([...c,...NFe]),this.includeFooter=n,this.includeInfos=o,this.includeWarnings=a,this.json=i,this.stdout=r;let u=this.configuration.get("progressBarStyle")||OFe;if(!Object.prototype.hasOwnProperty.call(Kw,u))throw new Error("Assertion failed: Invalid progress bar style");this.progressStyle=Kw[u];let g="\u27A4 YN0000: \u250C ".length,f=Math.max(0,Math.min(process.stdout.columns-g,80));this.progressMaxScaledSize=Math.floor(this.progressStyle.size*f/80)}static async start(e,r){let i=new this(e),n=process.emitWarning;process.emitWarning=(s,o)=>{if(typeof s!="string"){let l=s;s=l.message,o=o!=null?o:l.name}let a=typeof o!="undefined"?`${o}: ${s}`:s;i.reportWarning(z.UNNAMED,a)};try{await r(i)}catch(s){i.reportExceptionOnce(s)}finally{await i.finalize(),process.emitWarning=n}return i}hasErrors(){return this.errorCount>0}exitCode(){return this.hasErrors()?1:0}reportCacheHit(e){this.cacheHitCount+=1}reportCacheMiss(e,r){this.lastCacheMiss=e,this.cacheMissCount+=1,typeof r!="undefined"&&!this.configuration.get("preferAggregateCacheInfo")&&this.reportInfo(z.FETCH_NOT_CACHED,r)}startTimerSync(e,r,i){let n=typeof r=="function"?{}:r,s=typeof r=="function"?r:i,o={committed:!1,action:()=>{this.reportInfo(null,`\u250C ${e}`),this.indent+=1,SA!==null&&!this.json&&this.includeInfos&&this.stdout.write(SA.start(e))}};n.skipIfEmpty?this.uncommitted.add(o):(o.action(),o.committed=!0);let a=Date.now();try{return s()}catch(l){throw this.reportExceptionOnce(l),l}finally{let l=Date.now();this.uncommitted.delete(o),o.committed&&(this.indent-=1,SA!==null&&!this.json&&this.includeInfos&&this.stdout.write(SA.end(e)),this.configuration.get("enableTimers")&&l-a>200?this.reportInfo(null,`\u2514 Completed in ${Ve(this.configuration,l-a,Le.DURATION)}`):this.reportInfo(null,"\u2514 Completed"))}}async startTimerPromise(e,r,i){let n=typeof r=="function"?{}:r,s=typeof r=="function"?r:i,o={committed:!1,action:()=>{this.reportInfo(null,`\u250C ${e}`),this.indent+=1,SA!==null&&!this.json&&this.includeInfos&&this.stdout.write(SA.start(e))}};n.skipIfEmpty?this.uncommitted.add(o):(o.action(),o.committed=!0);let a=Date.now();try{return await s()}catch(l){throw this.reportExceptionOnce(l),l}finally{let l=Date.now();this.uncommitted.delete(o),o.committed&&(this.indent-=1,SA!==null&&!this.json&&this.includeInfos&&this.stdout.write(SA.end(e)),this.configuration.get("enableTimers")&&l-a>200?this.reportInfo(null,`\u2514 Completed in ${Ve(this.configuration,l-a,Le.DURATION)}`):this.reportInfo(null,"\u2514 Completed"))}}async startCacheReport(e){let r=this.configuration.get("preferAggregateCacheInfo")?{cacheHitCount:this.cacheHitCount,cacheMissCount:this.cacheMissCount}:null;try{return await e()}catch(i){throw this.reportExceptionOnce(i),i}finally{r!==null&&this.reportCacheChanges(r)}}reportSeparator(){this.indent===0?this.writeLineWithForgettableReset(""):this.reportInfo(null,"")}reportInfo(e,r){if(!this.includeInfos)return;this.commit();let i=this.formatNameWithHyperlink(e),n=i?`${i}: `:"",s=`${Ve(this.configuration,"\u27A4","blueBright")} ${n}${this.formatIndent()}${r}`;if(this.json)this.reportJson({type:"info",name:e,displayName:this.formatName(e),indent:this.formatIndent(),data:r});else if(this.forgettableNames.has(e))if(this.forgettableLines.push(s),this.forgettableLines.length>this.forgettableBufferSize){for(;this.forgettableLines.length>this.forgettableBufferSize;)this.forgettableLines.shift();this.writeLines(this.forgettableLines,{truncate:!0})}else this.writeLine(s,{truncate:!0});else this.writeLineWithForgettableReset(s)}reportWarning(e,r){if(this.warningCount+=1,!this.includeWarnings)return;this.commit();let i=this.formatNameWithHyperlink(e),n=i?`${i}: `:"";this.json?this.reportJson({type:"warning",name:e,displayName:this.formatName(e),indent:this.formatIndent(),data:r}):this.writeLineWithForgettableReset(`${Ve(this.configuration,"\u27A4","yellowBright")} ${n}${this.formatIndent()}${r}`)}reportError(e,r){this.errorCount+=1,this.commit();let i=this.formatNameWithHyperlink(e),n=i?`${i}: `:"";this.json?this.reportJson({type:"error",name:e,displayName:this.formatName(e),indent:this.formatIndent(),data:r}):this.writeLineWithForgettableReset(`${Ve(this.configuration,"\u27A4","redBright")} ${n}${this.formatIndent()}${r}`,{truncate:!1})}reportProgress(e){let r=!1,i=Promise.resolve().then(async()=>{let s={progress:0,title:void 0};this.progress.set(e,{definition:s,lastScaledSize:-1}),this.refreshProgress(-1);for await(let{progress:o,title:a}of e)r||s.progress===o&&s.title===a||(s.progress=o,s.title=a,this.refreshProgress());n()}),n=()=>{r||(r=!0,this.progress.delete(e),this.refreshProgress(1))};return _(P({},i),{stop:n})}reportJson(e){this.json&&this.writeLineWithForgettableReset(`${JSON.stringify(e)}`)}async finalize(){if(!this.includeFooter)return;let e="";this.errorCount>0?e="Failed with errors":this.warningCount>0?e="Done with warnings":e="Done";let r=Ve(this.configuration,Date.now()-this.startTime,Le.DURATION),i=this.configuration.get("enableTimers")?`${e} in ${r}`:e;this.errorCount>0?this.reportError(z.UNNAMED,i):this.warningCount>0?this.reportWarning(z.UNNAMED,i):this.reportInfo(z.UNNAMED,i)}writeLine(e,{truncate:r}={}){this.clearProgress({clear:!0}),this.stdout.write(`${this.truncate(e,{truncate:r})} +`),this.writeProgress()}writeLineWithForgettableReset(e,{truncate:r}={}){this.forgettableLines=[],this.writeLine(e,{truncate:r})}writeLines(e,{truncate:r}={}){this.clearProgress({delta:e.length});for(let i of e)this.stdout.write(`${this.truncate(i,{truncate:r})} +`);this.writeProgress()}reportCacheChanges({cacheHitCount:e,cacheMissCount:r}){let i=this.cacheHitCount-e,n=this.cacheMissCount-r;if(i===0&&n===0)return;let s="";this.cacheHitCount>1?s+=`${this.cacheHitCount} packages were already cached`:this.cacheHitCount===1?s+=" - one package was already cached":s+="No packages were cached",this.cacheHitCount>0?this.cacheMissCount>1?s+=`, ${this.cacheMissCount} had to be fetched`:this.cacheMissCount===1&&(s+=`, one had to be fetched (${lt(this.configuration,this.lastCacheMiss)})`):this.cacheMissCount>1?s+=` - ${this.cacheMissCount} packages had to be fetched`:this.cacheMissCount===1&&(s+=` - one package had to be fetched (${lt(this.configuration,this.lastCacheMiss)})`),this.reportInfo(z.FETCH_NOT_CACHED,s)}commit(){let e=this.uncommitted;this.uncommitted=new Set;for(let r of e)r.committed=!0,r.action()}clearProgress({delta:e=0,clear:r=!1}){!this.configuration.get("enableProgressBars")||this.json||this.progress.size+e>0&&(this.stdout.write(`[${this.progress.size+e}A`),(e>0||r)&&this.stdout.write(""))}writeProgress(){if(!this.configuration.get("enableProgressBars")||this.json||(this.progressTimeout!==null&&clearTimeout(this.progressTimeout),this.progressTimeout=null,this.progress.size===0))return;let e=Date.now();e-this.progressTime>r9&&(this.progressFrame=(this.progressFrame+1)%t9.length,this.progressTime=e);let r=t9[this.progressFrame];for(let i of this.progress.values()){let n=this.progressStyle.chars[0].repeat(i.lastScaledSize),s=this.progressStyle.chars[1].repeat(this.progressMaxScaledSize-i.lastScaledSize),o=this.formatName(null),a=o?`${o}: `:"";this.stdout.write(`${Ve(this.configuration,"\u27A4","blueBright")} ${a}${r} ${n}${s} +`)}this.progressTimeout=setTimeout(()=>{this.refreshProgress()},r9)}refreshProgress(e=0){let r=!1;if(this.progress.size===0)r=!0;else for(let i of this.progress.values()){let n=Math.trunc(this.progressMaxScaledSize*i.definition.progress),s=i.lastScaledSize;if(i.lastScaledSize=n,n!==s){r=!0;break}}r&&(this.clearProgress({delta:e}),this.writeProgress())}truncate(e,{truncate:r}={}){return this.configuration.get("enableProgressBars")||(r=!1),typeof r=="undefined"&&(r=this.configuration.get("preferTruncatedLines")),r&&(e=(0,e9.default)(e,0,process.stdout.columns-1)),e}formatName(e){return n9(e,{configuration:this.configuration,json:this.json})}formatNameWithHyperlink(e){return eD(e,{configuration:this.configuration,json:this.json})}formatIndent(){return"\u2502 ".repeat(this.indent)}};var Zr="3.1.1";var tn;(function(n){n.Yarn1="Yarn Classic",n.Yarn2="Yarn",n.Npm="npm",n.Pnpm="pnpm"})(tn||(tn={}));async function ba(t,e,r,i=[]){if(process.platform==="win32"){let n=`@goto #_undefined_# 2>NUL || @title %COMSPEC% & @setlocal & @"${r}" ${i.map(s=>`"${s.replace('"','""')}"`).join(" ")} %*`;await T.writeFilePromise(v.format({dir:t,name:e,ext:".cmd"}),n)}await T.writeFilePromise(v.join(t,e),`#!/bin/sh +exec "${r}" ${i.map(n=>`'${n.replace(/'/g,`'"'"'`)}'`).join(" ")} "$@" +`,{mode:493})}async function a9(t){let e=await Ze.tryFind(t);if(e==null?void 0:e.packageManager){let i=Qy(e.packageManager);if(i==null?void 0:i.name){let n=`found ${JSON.stringify({packageManager:e.packageManager})} in manifest`,[s]=i.reference.split(".");switch(i.name){case"yarn":return{packageManager:Number(s)===1?tn.Yarn1:tn.Yarn2,reason:n};case"npm":return{packageManager:tn.Npm,reason:n};case"pnpm":return{packageManager:tn.Pnpm,reason:n}}}}let r;try{r=await T.readFilePromise(v.join(t,wt.lockfile),"utf8")}catch{}return r!==void 0?r.match(/^__metadata:$/m)?{packageManager:tn.Yarn2,reason:'"__metadata" key found in yarn.lock'}:{packageManager:tn.Yarn1,reason:'"__metadata" key not found in yarn.lock, must be a Yarn classic lockfile'}:T.existsSync(v.join(t,"package-lock.json"))?{packageManager:tn.Npm,reason:`found npm's "package-lock.json" lockfile`}:T.existsSync(v.join(t,"pnpm-lock.yaml"))?{packageManager:tn.Pnpm,reason:`found pnpm's "pnpm-lock.yaml" lockfile`}:null}async function Vp({project:t,locator:e,binFolder:r,lifecycleScript:i}){var l,c;let n={};for(let[u,g]of Object.entries(process.env))typeof g!="undefined"&&(n[u.toLowerCase()!=="path"?u:"PATH"]=g);let s=M.fromPortablePath(r);n.BERRY_BIN_FOLDER=M.fromPortablePath(s);let o=process.env.COREPACK_ROOT?M.join(process.env.COREPACK_ROOT,"dist/yarn.js"):process.argv[1];if(await Promise.all([ba(r,"node",process.execPath),...Zr!==null?[ba(r,"run",process.execPath,[o,"run"]),ba(r,"yarn",process.execPath,[o]),ba(r,"yarnpkg",process.execPath,[o]),ba(r,"node-gyp",process.execPath,[o,"run","--top-level","node-gyp"])]:[]]),t&&(n.INIT_CWD=M.fromPortablePath(t.configuration.startingCwd),n.PROJECT_CWD=M.fromPortablePath(t.cwd)),n.PATH=n.PATH?`${s}${M.delimiter}${n.PATH}`:`${s}`,n.npm_execpath=`${s}${M.sep}yarn`,n.npm_node_execpath=`${s}${M.sep}node`,e){if(!t)throw new Error("Assertion failed: Missing project");let u=t.tryWorkspaceByLocator(e),g=u?(l=u.manifest.version)!=null?l:"":(c=t.storedPackages.get(e.locatorHash).version)!=null?c:"";n.npm_package_name=St(e),n.npm_package_version=g}let a=Zr!==null?`yarn/${Zr}`:`yarn/${mu("@yarnpkg/core").version}-core`;return n.npm_config_user_agent=`${a} npm/? node/${process.versions.node} ${process.platform} ${process.arch}`,i&&(n.npm_lifecycle_event=i),t&&await t.configuration.triggerHook(u=>u.setupScriptEnvironment,t,n,async(u,g,f)=>await ba(r,kr(u),g,f)),n}var KFe=2,UFe=(0,o9.default)(KFe);async function HFe(t,e,{configuration:r,report:i,workspace:n=null,locator:s=null}){await UFe(async()=>{await T.mktempPromise(async o=>{let a=v.join(o,"pack.log"),l=null,{stdout:c,stderr:u}=r.getSubprocessStreams(a,{prefix:M.fromPortablePath(t),report:i}),g=s&&Io(s)?lp(s):s,f=g?is(g):"an external project";c.write(`Packing ${f} from sources +`);let h=await a9(t),p;h!==null?(c.write(`Using ${h.packageManager} for bootstrap. Reason: ${h.reason} + +`),p=h.packageManager):(c.write(`No package manager configuration detected; defaulting to Yarn + +`),p=tn.Yarn2),await T.mktempPromise(async d=>{let m=await Vp({binFolder:d}),B=new Map([[tn.Yarn1,async()=>{let R=n!==null?["workspace",n]:[],H=await to("yarn",["set","version","classic","--only-if-needed"],{cwd:t,env:m,stdin:l,stdout:c,stderr:u,end:Pn.ErrorCode});if(H.code!==0)return H.code;await T.appendFilePromise(v.join(t,".npmignore"),`/.yarn +`),c.write(` +`);let L=await to("yarn",["install"],{cwd:t,env:m,stdin:l,stdout:c,stderr:u,end:Pn.ErrorCode});if(L.code!==0)return L.code;c.write(` +`);let K=await to("yarn",[...R,"pack","--filename",M.fromPortablePath(e)],{cwd:t,env:m,stdin:l,stdout:c,stderr:u});return K.code!==0?K.code:0}],[tn.Yarn2,async()=>{let R=n!==null?["workspace",n]:[];m.YARN_ENABLE_INLINE_BUILDS="1";let H=v.join(t,wt.lockfile);await T.existsPromise(H)||await T.writeFilePromise(H,"");let L=await to("yarn",[...R,"pack","--install-if-needed","--filename",M.fromPortablePath(e)],{cwd:t,env:m,stdin:l,stdout:c,stderr:u});return L.code!==0?L.code:0}],[tn.Npm,async()=>{if(n!==null){let A=new cc.PassThrough,V=Cu(A);A.pipe(c,{end:!1});let W=await to("npm",["--version"],{cwd:t,env:m,stdin:l,stdout:A,stderr:u,end:Pn.Never});if(A.end(),W.code!==0)return c.end(),u.end(),W.code;let X=(await V).toString().trim();if(!lc(X,">=7.x")){let F=Eo(null,"npm"),D=Yt(F,X),he=Yt(F,">=7.x");throw new Error(`Workspaces aren't supported by ${Xt(r,D)}; please upgrade to ${Xt(r,he)} (npm has been detected as the primary package manager for ${Ve(r,t,Le.PATH)})`)}}let R=n!==null?["--workspace",n]:[];delete m.npm_config_user_agent;let H=await to("npm",["install"],{cwd:t,env:m,stdin:l,stdout:c,stderr:u,end:Pn.ErrorCode});if(H.code!==0)return H.code;let L=new cc.PassThrough,K=Cu(L);L.pipe(c);let J=await to("npm",["pack","--silent",...R],{cwd:t,env:m,stdin:l,stdout:L,stderr:u});if(J.code!==0)return J.code;let ne=(await K).toString().trim().replace(/^.*\n/s,""),q=v.resolve(t,M.toPortablePath(ne));return await T.renamePromise(q,e),0}]]).get(p);if(typeof B=="undefined")throw new Error("Assertion failed: Unsupported workflow");let b=await B();if(!(b===0||typeof b=="undefined"))throw T.detachTemp(o),new nt(z.PACKAGE_PREPARATION_FAILED,`Packing the package failed (exit code ${b}, logs can be found here: ${Ve(r,a,Le.PATH)})`)})})})}async function GFe(t,e,{project:r}){let i=r.tryWorkspaceByLocator(t);if(i!==null)return tD(i,e);let n=r.storedPackages.get(t.locatorHash);if(!n)throw new Error(`Package for ${lt(r.configuration,t)} not found in the project`);return await Jn.openPromise(async s=>{let o=r.configuration,a=r.configuration.getLinkers(),l={project:r,report:new Fe({stdout:new cc.PassThrough,configuration:o})},c=a.find(h=>h.supportsPackage(n,l));if(!c)throw new Error(`The package ${lt(r.configuration,n)} isn't supported by any of the available linkers`);let u=await c.findPackageLocation(n,l),g=new Ft(u,{baseFs:s});return(await Ze.find(Se.dot,{baseFs:g})).scripts.has(e)},{libzip:await $i()})}async function Uw(t,e,r,{cwd:i,project:n,stdin:s,stdout:o,stderr:a}){return await T.mktempPromise(async l=>{let{manifest:c,env:u,cwd:g}=await A9(t,{project:n,binFolder:l,cwd:i,lifecycleScript:e}),f=c.scripts.get(e);if(typeof f=="undefined")return 1;let h=async()=>await Fw(f,r,{cwd:g,env:u,stdin:s,stdout:o,stderr:a});return await(await n.configuration.reduceHook(d=>d.wrapScriptExecution,h,n,t,e,{script:f,args:r,cwd:g,env:u,stdin:s,stdout:o,stderr:a}))()})}async function rD(t,e,r,{cwd:i,project:n,stdin:s,stdout:o,stderr:a}){return await T.mktempPromise(async l=>{let{env:c,cwd:u}=await A9(t,{project:n,binFolder:l,cwd:i});return await Fw(e,r,{cwd:u,env:c,stdin:s,stdout:o,stderr:a})})}async function jFe(t,{binFolder:e,cwd:r,lifecycleScript:i}){let n=await Vp({project:t.project,locator:t.anchoredLocator,binFolder:e,lifecycleScript:i});return await Promise.all(Array.from(await l9(t),([s,[,o]])=>ba(e,kr(s),process.execPath,[o]))),typeof r=="undefined"&&(r=v.dirname(await T.realpathPromise(v.join(t.cwd,"package.json")))),{manifest:t.manifest,binFolder:e,env:n,cwd:r}}async function A9(t,{project:e,binFolder:r,cwd:i,lifecycleScript:n}){let s=e.tryWorkspaceByLocator(t);if(s!==null)return jFe(s,{binFolder:r,cwd:i,lifecycleScript:n});let o=e.storedPackages.get(t.locatorHash);if(!o)throw new Error(`Package for ${lt(e.configuration,t)} not found in the project`);return await Jn.openPromise(async a=>{let l=e.configuration,c=e.configuration.getLinkers(),u={project:e,report:new Fe({stdout:new cc.PassThrough,configuration:l})},g=c.find(m=>m.supportsPackage(o,u));if(!g)throw new Error(`The package ${lt(e.configuration,o)} isn't supported by any of the available linkers`);let f=await Vp({project:e,locator:t,binFolder:r,lifecycleScript:n});await Promise.all(Array.from(await Hw(t,{project:e}),([m,[,I]])=>ba(r,kr(m),process.execPath,[I])));let h=await g.findPackageLocation(o,u),p=new Ft(h,{baseFs:a}),d=await Ze.find(Se.dot,{baseFs:p});return typeof i=="undefined"&&(i=h),{manifest:d,binFolder:r,env:f,cwd:i}},{libzip:await $i()})}async function c9(t,e,r,{cwd:i,stdin:n,stdout:s,stderr:o}){return await Uw(t.anchoredLocator,e,r,{cwd:i,project:t.project,stdin:n,stdout:s,stderr:o})}function tD(t,e){return t.manifest.scripts.has(e)}async function u9(t,e,{cwd:r,report:i}){let{configuration:n}=t.project,s=null;await T.mktempPromise(async o=>{let a=v.join(o,`${e}.log`),l=`# This file contains the result of Yarn calling the "${e}" lifecycle script inside a workspace ("${M.fromPortablePath(t.cwd)}") +`,{stdout:c,stderr:u}=n.getSubprocessStreams(a,{report:i,prefix:lt(n,t.anchoredLocator),header:l});i.reportInfo(z.LIFECYCLE_SCRIPT,`Calling the "${e}" lifecycle script`);let g=await c9(t,e,[],{cwd:r,stdin:s,stdout:c,stderr:u});if(c.end(),u.end(),g!==0)throw T.detachTemp(o),new nt(z.LIFECYCLE_SCRIPT,`${(0,s9.default)(e)} script failed (exit code ${Ve(n,g,Le.NUMBER)}, logs can be found here: ${Ve(n,a,Le.PATH)}); run ${Ve(n,`yarn ${e}`,Le.CODE)} to investigate`)})}async function YFe(t,e,r){tD(t,e)&&await u9(t,e,r)}async function Hw(t,{project:e}){let r=e.configuration,i=new Map,n=e.storedPackages.get(t.locatorHash);if(!n)throw new Error(`Package for ${lt(r,t)} not found in the project`);let s=new cc.Writable,o=r.getLinkers(),a={project:e,report:new Fe({configuration:r,stdout:s})},l=new Set([t.locatorHash]);for(let u of n.dependencies.values()){let g=e.storedResolutions.get(u.descriptorHash);if(!g)throw new Error(`Assertion failed: The resolution (${Xt(r,u)}) should have been registered`);l.add(g)}let c=await Promise.all(Array.from(l,async u=>{let g=e.storedPackages.get(u);if(!g)throw new Error(`Assertion failed: The package (${u}) should have been registered`);if(g.bin.size===0)return kl.skip;let f=o.find(p=>p.supportsPackage(g,a));if(!f)return kl.skip;let h=null;try{h=await f.findPackageLocation(g,a)}catch(p){if(p.code==="LOCATOR_NOT_INSTALLED")return kl.skip;throw p}return{dependency:g,packageLocation:h}}));for(let u of c){if(u===kl.skip)continue;let{dependency:g,packageLocation:f}=u;for(let[h,p]of g.bin)i.set(h,[g,M.fromPortablePath(v.resolve(f,p))])}return i}async function l9(t){return await Hw(t.anchoredLocator,{project:t.project})}async function g9(t,e,r,{cwd:i,project:n,stdin:s,stdout:o,stderr:a,nodeArgs:l=[],packageAccessibleBinaries:c}){c!=null||(c=await Hw(t,{project:n}));let u=c.get(e);if(!u)throw new Error(`Binary not found (${e}) for ${lt(n.configuration,t)}`);return await T.mktempPromise(async g=>{let[,f]=u,h=await Vp({project:n,locator:t,binFolder:g});await Promise.all(Array.from(c,([d,[,m]])=>ba(h.BERRY_BIN_FOLDER,kr(d),process.execPath,[m])));let p;try{p=await to(process.execPath,[...l,f,...r],{cwd:i,env:h,stdin:s,stdout:o,stderr:a})}finally{await T.removePromise(h.BERRY_BIN_FOLDER)}return p.code})}async function qFe(t,e,r,{cwd:i,stdin:n,stdout:s,stderr:o,packageAccessibleBinaries:a}){return await g9(t.anchoredLocator,e,r,{project:t.project,cwd:i,stdin:n,stdout:s,stderr:o,packageAccessibleBinaries:a})}var Ai={};it(Ai,{convertToZip:()=>lTe,extractArchiveTo:()=>uTe,makeArchiveFromDirectory:()=>ATe});var d_=ie(require("stream")),C_=ie(Z7());var u_=ie(require("os")),g_=ie(c_()),f_=ie(require("worker_threads")),IR=class{constructor(e){this.source=e;this.pool=[];this.queue=new g_.default({concurrency:Math.max(1,(0,u_.cpus)().length)});let r=setTimeout(()=>{if(!(this.queue.size!==0||this.queue.pending!==0)){for(let i of this.pool)i.terminate();this.pool=[]}},1e3).unref();this.queue.on("idle",()=>{r.refresh()})}run(e){return this.queue.add(()=>{var i;let r=(i=this.pool.pop())!=null?i:new f_.Worker(this.source,{eval:!0,execArgv:[...process.execArgv,"--unhandled-rejections=strict"]});return r.ref(),new Promise((n,s)=>{let o=a=>{a!==0&&s(new Error(`Worker exited with code ${a}`))};r.once("message",a=>{this.pool.push(r),r.unref(),r.off("error",s),r.off("exit",o),n(a)}),r.once("error",s),r.once("exit",o),r.postMessage(e)})})}};var m_=ie(p_());async function ATe(t,{baseFs:e=new Wt,prefixPath:r=Se.root,compressionLevel:i,inMemory:n=!1}={}){let s=await $i(),o;if(n)o=new Jr(null,{libzip:s,level:i});else{let l=await T.mktempPromise(),c=v.join(l,"archive.zip");o=new Jr(c,{create:!0,libzip:s,level:i})}let a=v.resolve(Se.root,r);return await o.copyPromise(a,t,{baseFs:e,stableTime:!0,stableSort:!0}),o}var E_;async function lTe(t,e){let r=await T.mktempPromise(),i=v.join(r,"archive.zip");return E_||(E_=new IR((0,m_.getContent)())),await E_.run({tmpFile:i,tgz:t,opts:e}),new Jr(i,{libzip:await $i(),level:e.compressionLevel})}async function*cTe(t){let e=new C_.default.Parse,r=new d_.PassThrough({objectMode:!0,autoDestroy:!0,emitClose:!0});e.on("entry",i=>{r.write(i)}),e.on("error",i=>{r.destroy(i)}),e.on("close",()=>{r.destroyed||r.end()}),e.end(t);for await(let i of r){let n=i;yield n,n.resume()}}async function uTe(t,e,{stripComponents:r=0,prefixPath:i=Se.dot}={}){var s,o;function n(a){if(a.path[0]==="/")return!0;let l=a.path.split(/\//g);return!!(l.some(c=>c==="..")||l.length<=r)}for await(let a of cTe(t)){if(n(a))continue;let l=v.normalize(M.toPortablePath(a.path)).replace(/\/$/,"").split(/\//g);if(l.length<=r)continue;let c=l.slice(r).join("/"),u=v.join(i,c),g=420;switch((a.type==="Directory"||(((s=a.mode)!=null?s:0)&73)!=0)&&(g|=73),a.type){case"Directory":e.mkdirpSync(v.dirname(u),{chmod:493,utimes:[mr.SAFE_TIME,mr.SAFE_TIME]}),e.mkdirSync(u,{mode:g}),e.utimesSync(u,mr.SAFE_TIME,mr.SAFE_TIME);break;case"OldFile":case"File":e.mkdirpSync(v.dirname(u),{chmod:493,utimes:[mr.SAFE_TIME,mr.SAFE_TIME]}),e.writeFileSync(u,await Cu(a),{mode:g}),e.utimesSync(u,mr.SAFE_TIME,mr.SAFE_TIME);break;case"SymbolicLink":e.mkdirpSync(v.dirname(u),{chmod:493,utimes:[mr.SAFE_TIME,mr.SAFE_TIME]}),e.symlinkSync(a.linkpath,u),(o=e.lutimesSync)==null||o.call(e,u,mr.SAFE_TIME,mr.SAFE_TIME);break}}return e}var Hs={};it(Hs,{emitList:()=>gTe,emitTree:()=>b_,treeNodeToJson:()=>Q_,treeNodeToTreeify:()=>B_});var w_=ie(y_());function B_(t,{configuration:e}){let r={},i=(n,s)=>{let o=Array.isArray(n)?n.entries():Object.entries(n);for(let[a,{label:l,value:c,children:u}]of o){let g=[];typeof l!="undefined"&&g.push(Py(e,l,Gl.BOLD)),typeof c!="undefined"&&g.push(Ve(e,c[0],c[1])),g.length===0&&g.push(Py(e,`${a}`,Gl.BOLD));let f=g.join(": "),h=s[f]={};typeof u!="undefined"&&i(u,h)}};if(typeof t.children=="undefined")throw new Error("The root node must only contain children");return i(t.children,r),r}function Q_(t){let e=r=>{var s;if(typeof r.children=="undefined"){if(typeof r.value=="undefined")throw new Error("Assertion failed: Expected a value to be set if the children are missing");return Uu(r.value[0],r.value[1])}let i=Array.isArray(r.children)?r.children.entries():Object.entries((s=r.children)!=null?s:{}),n=Array.isArray(r.children)?[]:{};for(let[o,a]of i)n[o]=e(a);return typeof r.value=="undefined"?n:{value:Uu(r.value[0],r.value[1]),children:n}};return e(t)}function gTe(t,{configuration:e,stdout:r,json:i}){let n=t.map(s=>({value:s}));b_({children:n},{configuration:e,stdout:r,json:i})}function b_(t,{configuration:e,stdout:r,json:i,separators:n=0}){var o;if(i){let a=Array.isArray(t.children)?t.children.values():Object.values((o=t.children)!=null?o:{});for(let l of a)r.write(`${JSON.stringify(Q_(l))} +`);return}let s=(0,w_.asTree)(B_(t,{configuration:e}),!1,!1);if(n>=1&&(s=s.replace(/^([├└]─)/gm,`\u2502 +$1`).replace(/^│\n/,"")),n>=2)for(let a=0;a<2;++a)s=s.replace(/^([│ ].{2}[├│ ].{2}[^\n]+\n)(([│ ]).{2}[├└].{2}[^\n]*\n[│ ].{2}[│ ].{2}[├└]─)/gm,`$1$3 \u2502 +$2`).replace(/^│\n/,"");if(n>=3)throw new Error("Only the first two levels are accepted by treeUtils.emitTree");r.write(s)}var v_=ie(require("crypto")),BR=ie(require("fs"));var fTe=8,Qt=class{constructor(e,{configuration:r,immutable:i=r.get("enableImmutableCache"),check:n=!1}){this.markedFiles=new Set;this.mutexes=new Map;this.cacheId=`-${(0,v_.randomBytes)(8).toString("hex")}.tmp`;this.configuration=r,this.cwd=e,this.immutable=i,this.check=n;let s=r.get("cacheKeyOverride");if(s!==null)this.cacheKey=`${s}`;else{let o=r.get("compressionLevel"),a=o!==pl?`c${o}`:"";this.cacheKey=[fTe,a].join("")}}static async find(e,{immutable:r,check:i}={}){let n=new Qt(e.get("cacheFolder"),{configuration:e,immutable:r,check:i});return await n.setup(),n}get mirrorCwd(){if(!this.configuration.get("enableMirror"))return null;let e=`${this.configuration.get("globalFolder")}/cache`;return e!==this.cwd?e:null}getVersionFilename(e){return`${Mu(e)}-${this.cacheKey}.zip`}getChecksumFilename(e,r){let n=hTe(r).slice(0,10);return`${Mu(e)}-${n}.zip`}getLocatorPath(e,r,i={}){var s;return this.mirrorCwd===null||((s=i.unstablePackages)==null?void 0:s.has(e.locatorHash))?v.resolve(this.cwd,this.getVersionFilename(e)):r===null||QR(r)!==this.cacheKey?null:v.resolve(this.cwd,this.getChecksumFilename(e,r))}getLocatorMirrorPath(e){let r=this.mirrorCwd;return r!==null?v.resolve(r,this.getVersionFilename(e)):null}async setup(){if(!this.configuration.get("enableGlobalCache"))if(this.immutable){if(!await T.existsPromise(this.cwd))throw new nt(z.IMMUTABLE_CACHE,"Cache path does not exist.")}else{await T.mkdirPromise(this.cwd,{recursive:!0});let e=v.resolve(this.cwd,".gitignore");await T.changeFilePromise(e,`/.gitignore +*.flock +*.tmp +`)}(this.mirrorCwd||!this.immutable)&&await T.mkdirPromise(this.mirrorCwd||this.cwd,{recursive:!0})}async fetchPackageFromCache(e,r,a){var l=a,{onHit:i,onMiss:n,loader:s}=l,o=qr(l,["onHit","onMiss","loader"]);var A;let c=this.getLocatorMirrorPath(e),u=new Wt,g=()=>{let V=new Jr(null,{libzip:H}),W=v.join(Se.root,Lx(e));return V.mkdirSync(W,{recursive:!0}),V.writeJsonSync(v.join(W,wt.manifest),{name:St(e),mocked:!0}),V},f=async(V,W=null)=>{let X=!o.skipIntegrityCheck||!r?`${this.cacheKey}/${await Ey(V)}`:r;if(W!==null){let F=!o.skipIntegrityCheck||!r?`${this.cacheKey}/${await Ey(W)}`:r;if(X!==F)throw new nt(z.CACHE_CHECKSUM_MISMATCH,"The remote archive doesn't match the local checksum - has the local cache been corrupted?")}if(r!==null&&X!==r){let F;switch(this.check?F="throw":QR(r)!==QR(X)?F="update":F=this.configuration.get("checksumBehavior"),F){case"ignore":return r;case"update":return X;default:case"throw":throw new nt(z.CACHE_CHECKSUM_MISMATCH,"The remote archive doesn't match the expected checksum")}}return X},h=async V=>{if(!s)throw new Error(`Cache check required but no loader configured for ${lt(this.configuration,e)}`);let W=await s(),X=W.getRealPath();return W.saveAndClose(),await T.chmodPromise(X,420),await f(V,X)},p=async()=>{if(c===null||!await T.existsPromise(c)){let V=await s(),W=V.getRealPath();return V.saveAndClose(),{source:"loader",path:W}}return{source:"mirror",path:c}},d=async()=>{if(!s)throw new Error(`Cache entry required but missing for ${lt(this.configuration,e)}`);if(this.immutable)throw new nt(z.IMMUTABLE_CACHE,`Cache entry required but missing for ${lt(this.configuration,e)}`);let{path:V,source:W}=await p(),X=await f(V),F=this.getLocatorPath(e,X,o);if(!F)throw new Error("Assertion failed: Expected the cache path to be available");let D=[];W!=="mirror"&&c!==null&&D.push(async()=>{let pe=`${c}${this.cacheId}`;await T.copyFilePromise(V,pe,BR.default.constants.COPYFILE_FICLONE),await T.chmodPromise(pe,420),await T.renamePromise(pe,c)}),(!o.mirrorWriteOnly||c===null)&&D.push(async()=>{let pe=`${F}${this.cacheId}`;await T.copyFilePromise(V,pe,BR.default.constants.COPYFILE_FICLONE),await T.chmodPromise(pe,420),await T.renamePromise(pe,F)});let he=o.mirrorWriteOnly&&c!=null?c:F;return await Promise.all(D.map(pe=>pe())),[!1,he,X]},m=async()=>{let W=(async()=>{var Ne;let X=this.getLocatorPath(e,r,o),F=X!==null?await u.existsPromise(X):!1,D=!!((Ne=o.mockedPackages)==null?void 0:Ne.has(e.locatorHash))&&(!this.check||!F),he=D||F,pe=he?i:n;if(pe&&pe(),he){let Pe=null,qe=X;return D||(Pe=this.check?await h(qe):await f(qe)),[D,qe,Pe]}else return d()})();this.mutexes.set(e.locatorHash,W);try{return await W}finally{this.mutexes.delete(e.locatorHash)}};for(let V;V=this.mutexes.get(e.locatorHash);)await V;let[I,B,b]=await m();this.markedFiles.add(B);let R,H=await $i(),L=I?()=>g():()=>new Jr(B,{baseFs:u,libzip:H,readOnly:!0}),K=new oh(()=>Mv(()=>R=L(),V=>`Failed to open the cache entry for ${lt(this.configuration,e)}: ${V}`),v),J=new Xo(B,{baseFs:K,pathUtils:v}),ne=()=>{R==null||R.discardAndClose()},q=((A=o.unstablePackages)==null?void 0:A.has(e.locatorHash))?null:b;return[J,ne,q]}};function QR(t){let e=t.indexOf("/");return e!==-1?t.slice(0,e):null}function hTe(t){let e=t.indexOf("/");return e!==-1?t.slice(e+1):t}var F_=ie(x_()),NB=ie(ml());var N_=ie(Wp()),kR=ie(require("stream"));var k_={hooks:{reduceDependency:(t,e,r,i,{resolver:n,resolveOptions:s})=>{for(let{pattern:o,reference:a}of e.topLevelWorkspace.manifest.resolutions){if(o.from&&o.from.fullName!==St(r)||o.from&&o.from.description&&o.from.description!==r.reference||o.descriptor.fullName!==St(t)||o.descriptor.description&&o.descriptor.description!==t.range)continue;return n.bindDescriptor(Yt(t,a),e.topLevelWorkspace.anchoredLocator,s)}return t},validateProject:async(t,e)=>{for(let r of t.workspaces){let i=hp(t.configuration,r);await t.configuration.triggerHook(n=>n.validateWorkspace,r,{reportWarning:(n,s)=>e.reportWarning(n,`${i}: ${s}`),reportError:(n,s)=>e.reportError(n,`${i}: ${s}`)})}},validateWorkspace:async(t,e)=>{let{manifest:r}=t;r.resolutions.length&&t.cwd!==t.project.cwd&&r.errors.push(new Error("Resolutions field will be ignored"));for(let i of r.errors)e.reportWarning(z.INVALID_MANIFEST,i.message)}}};var vR=class{constructor(e){this.fetchers=e}supports(e,r){return!!this.tryFetcher(e,r)}getLocalPath(e,r){return this.getFetcher(e,r).getLocalPath(e,r)}async fetch(e,r){return await this.getFetcher(e,r).fetch(e,r)}tryFetcher(e,r){let i=this.fetchers.find(n=>n.supports(e,r));return i||null}getFetcher(e,r){let i=this.fetchers.find(n=>n.supports(e,r));if(!i)throw new nt(z.FETCHER_NOT_FOUND,`${lt(r.project.configuration,e)} isn't supported by any available fetcher`);return i}};var pd=class{constructor(e){this.resolvers=e.filter(r=>r)}supportsDescriptor(e,r){return!!this.tryResolverByDescriptor(e,r)}supportsLocator(e,r){return!!this.tryResolverByLocator(e,r)}shouldPersistResolution(e,r){return this.getResolverByLocator(e,r).shouldPersistResolution(e,r)}bindDescriptor(e,r,i){return this.getResolverByDescriptor(e,i).bindDescriptor(e,r,i)}getResolutionDependencies(e,r){return this.getResolverByDescriptor(e,r).getResolutionDependencies(e,r)}async getCandidates(e,r,i){return await this.getResolverByDescriptor(e,i).getCandidates(e,r,i)}async getSatisfying(e,r,i){return this.getResolverByDescriptor(e,i).getSatisfying(e,r,i)}async resolve(e,r){return await this.getResolverByLocator(e,r).resolve(e,r)}tryResolverByDescriptor(e,r){let i=this.resolvers.find(n=>n.supportsDescriptor(e,r));return i||null}getResolverByDescriptor(e,r){let i=this.resolvers.find(n=>n.supportsDescriptor(e,r));if(!i)throw new Error(`${Xt(r.project.configuration,e)} isn't supported by any available resolver`);return i}tryResolverByLocator(e,r){let i=this.resolvers.find(n=>n.supportsLocator(e,r));return i||null}getResolverByLocator(e,r){let i=this.resolvers.find(n=>n.supportsLocator(e,r));if(!i)throw new Error(`${lt(r.project.configuration,e)} isn't supported by any available resolver`);return i}};var P_=ie(Or());var Rg=/^(?!v)[a-z0-9._-]+$/i,SR=class{supportsDescriptor(e,r){return!!(Us(e.range)||Rg.test(e.range))}supportsLocator(e,r){return!!(P_.default.valid(e.reference)||Rg.test(e.reference))}shouldPersistResolution(e,r){return r.resolver.shouldPersistResolution(this.forwardLocator(e,r),r)}bindDescriptor(e,r,i){return i.resolver.bindDescriptor(this.forwardDescriptor(e,i),r,i)}getResolutionDependencies(e,r){return r.resolver.getResolutionDependencies(this.forwardDescriptor(e,r),r)}async getCandidates(e,r,i){return await i.resolver.getCandidates(this.forwardDescriptor(e,i),r,i)}async getSatisfying(e,r,i){return await i.resolver.getSatisfying(this.forwardDescriptor(e,i),r,i)}async resolve(e,r){let i=await r.resolver.resolve(this.forwardLocator(e,r),r);return op(i,e)}forwardDescriptor(e,r){return Yt(e,`${r.project.configuration.get("defaultProtocol")}${e.range}`)}forwardLocator(e,r){return Vi(e,`${r.project.configuration.get("defaultProtocol")}${e.reference}`)}};var dd=class{supports(e){return!!e.reference.startsWith("virtual:")}getLocalPath(e,r){let i=e.reference.indexOf("#");if(i===-1)throw new Error("Invalid virtual package reference");let n=e.reference.slice(i+1),s=Vi(e,n);return r.fetcher.getLocalPath(s,r)}async fetch(e,r){let i=e.reference.indexOf("#");if(i===-1)throw new Error("Invalid virtual package reference");let n=e.reference.slice(i+1),s=Vi(e,n),o=await r.fetcher.fetch(s,r);return await this.ensureVirtualLink(e,o,r)}getLocatorFilename(e){return Mu(e)}async ensureVirtualLink(e,r,i){let n=r.packageFs.getRealPath(),s=i.project.configuration.get("virtualFolder"),o=this.getLocatorFilename(e),a=Pr.makeVirtualPath(s,o,n),l=new Xo(a,{baseFs:r.packageFs,pathUtils:v});return _(P({},r),{packageFs:l})}};var Fg=class{static isVirtualDescriptor(e){return!!e.range.startsWith(Fg.protocol)}static isVirtualLocator(e){return!!e.reference.startsWith(Fg.protocol)}supportsDescriptor(e,r){return Fg.isVirtualDescriptor(e)}supportsLocator(e,r){return Fg.isVirtualLocator(e)}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,i){throw new Error('Assertion failed: calling "bindDescriptor" on a virtual descriptor is unsupported')}getResolutionDependencies(e,r){throw new Error('Assertion failed: calling "getResolutionDependencies" on a virtual descriptor is unsupported')}async getCandidates(e,r,i){throw new Error('Assertion failed: calling "getCandidates" on a virtual descriptor is unsupported')}async getSatisfying(e,r,i){throw new Error('Assertion failed: calling "getSatisfying" on a virtual descriptor is unsupported')}async resolve(e,r){throw new Error('Assertion failed: calling "resolve" on a virtual locator is unsupported')}},FB=Fg;FB.protocol="virtual:";var xR=class{supports(e){return!!e.reference.startsWith(Yr.protocol)}getLocalPath(e,r){return this.getWorkspace(e,r).cwd}async fetch(e,r){let i=this.getWorkspace(e,r).cwd;return{packageFs:new Ft(i),prefixPath:Se.dot,localPath:i}}getWorkspace(e,r){return r.project.getWorkspaceByCwd(e.reference.slice(Yr.protocol.length))}};var D_=ie(require("module"));function R_(){return new Set(D_.default.builtinModules||Object.keys(process.binding("natives")))}var dTe=new Set(["binFolder","version","flags","profile","gpg","ignoreNode","wrapOutput","home","confDir"]),LB="yarn_",PR=".yarnrc.yml",DR="yarn.lock",CTe="********",ge;(function(u){u.ANY="ANY",u.BOOLEAN="BOOLEAN",u.ABSOLUTE_PATH="ABSOLUTE_PATH",u.LOCATOR="LOCATOR",u.LOCATOR_LOOSE="LOCATOR_LOOSE",u.NUMBER="NUMBER",u.STRING="STRING",u.SECRET="SECRET",u.SHAPE="SHAPE",u.MAP="MAP"})(ge||(ge={}));var ps=Le,RR={lastUpdateCheck:{description:"Last timestamp we checked whether new Yarn versions were available",type:ge.STRING,default:null},yarnPath:{description:"Path to the local executable that must be used over the global one",type:ge.ABSOLUTE_PATH,default:null},ignorePath:{description:"If true, the local executable will be ignored when using the global one",type:ge.BOOLEAN,default:!1},ignoreCwd:{description:"If true, the `--cwd` flag will be ignored",type:ge.BOOLEAN,default:!1},cacheKeyOverride:{description:"A global cache key override; used only for test purposes",type:ge.STRING,default:null},globalFolder:{description:"Folder where are stored the system-wide settings",type:ge.ABSOLUTE_PATH,default:Rb()},cacheFolder:{description:"Folder where the cache files must be written",type:ge.ABSOLUTE_PATH,default:"./.yarn/cache"},compressionLevel:{description:"Zip files compression level, from 0 to 9 or mixed (a variant of 9, which stores some files uncompressed, when compression doesn't yield good results)",type:ge.NUMBER,values:["mixed",0,1,2,3,4,5,6,7,8,9],default:pl},virtualFolder:{description:"Folder where the virtual packages (cf doc) will be mapped on the disk (must be named __virtual__)",type:ge.ABSOLUTE_PATH,default:"./.yarn/__virtual__"},lockfileFilename:{description:"Name of the files where the Yarn dependency tree entries must be stored",type:ge.STRING,default:DR},installStatePath:{description:"Path of the file where the install state will be persisted",type:ge.ABSOLUTE_PATH,default:"./.yarn/install-state.gz"},immutablePatterns:{description:"Array of glob patterns; files matching them won't be allowed to change during immutable installs",type:ge.STRING,default:[],isArray:!0},rcFilename:{description:"Name of the files where the configuration can be found",type:ge.STRING,default:TB()},enableGlobalCache:{description:"If true, the system-wide cache folder will be used regardless of `cache-folder`",type:ge.BOOLEAN,default:!1},enableColors:{description:"If true, the CLI is allowed to use colors in its output",type:ge.BOOLEAN,default:xy,defaultText:""},enableHyperlinks:{description:"If true, the CLI is allowed to use hyperlinks in its output",type:ge.BOOLEAN,default:Mx,defaultText:""},enableInlineBuilds:{description:"If true, the CLI will print the build output on the command line",type:ge.BOOLEAN,default:NB.isCI,defaultText:""},enableMessageNames:{description:"If true, the CLI will prefix most messages with codes suitable for search engines",type:ge.BOOLEAN,default:!0},enableProgressBars:{description:"If true, the CLI is allowed to show a progress bar for long-running events",type:ge.BOOLEAN,default:!NB.isCI&&process.stdout.isTTY&&process.stdout.columns>22,defaultText:""},enableTimers:{description:"If true, the CLI is allowed to print the time spent executing commands",type:ge.BOOLEAN,default:!0},preferAggregateCacheInfo:{description:"If true, the CLI will only print a one-line report of any cache changes",type:ge.BOOLEAN,default:NB.isCI},preferInteractive:{description:"If true, the CLI will automatically use the interactive mode when called from a TTY",type:ge.BOOLEAN,default:!1},preferTruncatedLines:{description:"If true, the CLI will truncate lines that would go beyond the size of the terminal",type:ge.BOOLEAN,default:!1},progressBarStyle:{description:"Which style of progress bar should be used (only when progress bars are enabled)",type:ge.STRING,default:void 0,defaultText:""},defaultLanguageName:{description:"Default language mode that should be used when a package doesn't offer any insight",type:ge.STRING,default:"node"},defaultProtocol:{description:"Default resolution protocol used when resolving pure semver and tag ranges",type:ge.STRING,default:"npm:"},enableTransparentWorkspaces:{description:"If false, Yarn won't automatically resolve workspace dependencies unless they use the `workspace:` protocol",type:ge.BOOLEAN,default:!0},supportedArchitectures:{description:"Architectures that Yarn will fetch and inject into the resolver",type:ge.SHAPE,properties:{os:{description:"Array of supported process.platform strings, or null to target them all",type:ge.STRING,isArray:!0,isNullable:!0,default:["current"]},cpu:{description:"Array of supported process.arch strings, or null to target them all",type:ge.STRING,isArray:!0,isNullable:!0,default:["current"]}}},enableMirror:{description:"If true, the downloaded packages will be retrieved and stored in both the local and global folders",type:ge.BOOLEAN,default:!0},enableNetwork:{description:"If false, the package manager will refuse to use the network if required to",type:ge.BOOLEAN,default:!0},httpProxy:{description:"URL of the http proxy that must be used for outgoing http requests",type:ge.STRING,default:null},httpsProxy:{description:"URL of the http proxy that must be used for outgoing https requests",type:ge.STRING,default:null},unsafeHttpWhitelist:{description:"List of the hostnames for which http queries are allowed (glob patterns are supported)",type:ge.STRING,default:[],isArray:!0},httpTimeout:{description:"Timeout of each http request in milliseconds",type:ge.NUMBER,default:6e4},httpRetry:{description:"Retry times on http failure",type:ge.NUMBER,default:3},networkConcurrency:{description:"Maximal number of concurrent requests",type:ge.NUMBER,default:50},networkSettings:{description:"Network settings per hostname (glob patterns are supported)",type:ge.MAP,valueDefinition:{description:"",type:ge.SHAPE,properties:{caFilePath:{description:"Path to file containing one or multiple Certificate Authority signing certificates",type:ge.ABSOLUTE_PATH,default:null},enableNetwork:{description:"If false, the package manager will refuse to use the network if required to",type:ge.BOOLEAN,default:null},httpProxy:{description:"URL of the http proxy that must be used for outgoing http requests",type:ge.STRING,default:null},httpsProxy:{description:"URL of the http proxy that must be used for outgoing https requests",type:ge.STRING,default:null}}}},caFilePath:{description:"A path to a file containing one or multiple Certificate Authority signing certificates",type:ge.ABSOLUTE_PATH,default:null},enableStrictSsl:{description:"If false, SSL certificate errors will be ignored",type:ge.BOOLEAN,default:!0},logFilters:{description:"Overrides for log levels",type:ge.SHAPE,isArray:!0,concatenateValues:!0,properties:{code:{description:"Code of the messages covered by this override",type:ge.STRING,default:void 0},text:{description:"Code of the texts covered by this override",type:ge.STRING,default:void 0},pattern:{description:"Code of the patterns covered by this override",type:ge.STRING,default:void 0},level:{description:"Log level override, set to null to remove override",type:ge.STRING,values:Object.values(Ts),isNullable:!0,default:void 0}}},enableTelemetry:{description:"If true, telemetry will be periodically sent, following the rules in https://yarnpkg.com/advanced/telemetry",type:ge.BOOLEAN,default:!0},telemetryInterval:{description:"Minimal amount of time between two telemetry uploads, in days",type:ge.NUMBER,default:7},telemetryUserId:{description:"If you desire to tell us which project you are, you can set this field. Completely optional and opt-in.",type:ge.STRING,default:null},enableScripts:{description:"If true, packages are allowed to have install scripts by default",type:ge.BOOLEAN,default:!0},enableStrictSettings:{description:"If true, unknown settings will cause Yarn to abort",type:ge.BOOLEAN,default:!0},enableImmutableCache:{description:"If true, the cache is reputed immutable and actions that would modify it will throw",type:ge.BOOLEAN,default:!1},checksumBehavior:{description:"Enumeration defining what to do when a checksum doesn't match expectations",type:ge.STRING,default:"throw"},packageExtensions:{description:"Map of package corrections to apply on the dependency tree",type:ge.MAP,valueDefinition:{description:"The extension that will be applied to any package whose version matches the specified range",type:ge.SHAPE,properties:{dependencies:{description:"The set of dependencies that must be made available to the current package in order for it to work properly",type:ge.MAP,valueDefinition:{description:"A range",type:ge.STRING}},peerDependencies:{description:"Inherited dependencies - the consumer of the package will be tasked to provide them",type:ge.MAP,valueDefinition:{description:"A semver range",type:ge.STRING}},peerDependenciesMeta:{description:"Extra information related to the dependencies listed in the peerDependencies field",type:ge.MAP,valueDefinition:{description:"The peerDependency meta",type:ge.SHAPE,properties:{optional:{description:"If true, the selected peer dependency will be marked as optional by the package manager and the consumer omitting it won't be reported as an error",type:ge.BOOLEAN,default:!1}}}}}}}};function NR(t,e,r,i,n){if(i.isArray||i.type===ge.ANY&&Array.isArray(r))return Array.isArray(r)?r.map((s,o)=>FR(t,`${e}[${o}]`,s,i,n)):String(r).split(/,/).map(s=>FR(t,e,s,i,n));if(Array.isArray(r))throw new Error(`Non-array configuration settings "${e}" cannot be an array`);return FR(t,e,r,i,n)}function FR(t,e,r,i,n){var a;switch(i.type){case ge.ANY:return r;case ge.SHAPE:return mTe(t,e,r,i,n);case ge.MAP:return ETe(t,e,r,i,n)}if(r===null&&!i.isNullable&&i.default!==null)throw new Error(`Non-nullable configuration settings "${e}" cannot be set to null`);if((a=i.values)==null?void 0:a.includes(r))return r;let o=(()=>{if(i.type===ge.BOOLEAN&&typeof r!="string")return Hh(r);if(typeof r!="string")throw new Error(`Expected value (${r}) to be a string`);let l=Ov(r,{env:process.env});switch(i.type){case ge.ABSOLUTE_PATH:return v.resolve(n,M.toPortablePath(l));case ge.LOCATOR_LOOSE:return Hl(l,!1);case ge.NUMBER:return parseInt(l);case ge.LOCATOR:return Hl(l);case ge.BOOLEAN:return Hh(l);default:return l}})();if(i.values&&!i.values.includes(o))throw new Error(`Invalid value, expected one of ${i.values.join(", ")}`);return o}function mTe(t,e,r,i,n){if(typeof r!="object"||Array.isArray(r))throw new me(`Object configuration settings "${e}" must be an object`);let s=LR(t,i,{ignoreArrays:!0});if(r===null)return s;for(let[o,a]of Object.entries(r)){let l=`${e}.${o}`;if(!i.properties[o])throw new me(`Unrecognized configuration settings found: ${e}.${o} - run "yarn config -v" to see the list of settings supported in Yarn`);s.set(o,NR(t,l,a,i.properties[o],n))}return s}function ETe(t,e,r,i,n){let s=new Map;if(typeof r!="object"||Array.isArray(r))throw new me(`Map configuration settings "${e}" must be an object`);if(r===null)return s;for(let[o,a]of Object.entries(r)){let l=i.normalizeKeys?i.normalizeKeys(o):o,c=`${e}['${l}']`,u=i.valueDefinition;s.set(l,NR(t,c,a,u,n))}return s}function LR(t,e,{ignoreArrays:r=!1}={}){switch(e.type){case ge.SHAPE:{if(e.isArray&&!r)return[];let i=new Map;for(let[n,s]of Object.entries(e.properties))i.set(n,LR(t,s));return i}break;case ge.MAP:return e.isArray&&!r?[]:new Map;case ge.ABSOLUTE_PATH:return e.default===null?null:t.projectCwd===null?v.isAbsolute(e.default)?v.normalize(e.default):e.isNullable?null:void 0:Array.isArray(e.default)?e.default.map(i=>v.resolve(t.projectCwd,i)):v.resolve(t.projectCwd,e.default);default:return e.default}}function MB(t,e,r){if(e.type===ge.SECRET&&typeof t=="string"&&r.hideSecrets)return CTe;if(e.type===ge.ABSOLUTE_PATH&&typeof t=="string"&&r.getNativePaths)return M.fromPortablePath(t);if(e.isArray&&Array.isArray(t)){let i=[];for(let n of t)i.push(MB(n,e,r));return i}if(e.type===ge.MAP&&t instanceof Map){let i=new Map;for(let[n,s]of t.entries())i.set(n,MB(s,e.valueDefinition,r));return i}if(e.type===ge.SHAPE&&t instanceof Map){let i=new Map;for(let[n,s]of t.entries()){let o=e.properties[n];i.set(n,MB(s,o,r))}return i}return t}function ITe(){let t={};for(let[e,r]of Object.entries(process.env))e=e.toLowerCase(),!!e.startsWith(LB)&&(e=(0,F_.default)(e.slice(LB.length)),t[e]=r);return t}function TB(){let t=`${LB}rc_filename`;for(let[e,r]of Object.entries(process.env))if(e.toLowerCase()===t&&typeof r=="string")return r;return PR}var KA;(function(i){i[i.LOCKFILE=0]="LOCKFILE",i[i.MANIFEST=1]="MANIFEST",i[i.NONE=2]="NONE"})(KA||(KA={}));var Ra=class{constructor(e){this.projectCwd=null;this.plugins=new Map;this.settings=new Map;this.values=new Map;this.sources=new Map;this.invalid=new Map;this.packageExtensions=new Map;this.limits=new Map;this.startingCwd=e}static create(e,r,i){let n=new Ra(e);typeof r!="undefined"&&!(r instanceof Map)&&(n.projectCwd=r),n.importSettings(RR);let s=typeof i!="undefined"?i:r instanceof Map?r:new Map;for(let[o,a]of s)n.activatePlugin(o,a);return n}static async find(e,r,{lookup:i=0,strict:n=!0,usePath:s=!1,useRc:o=!0}={}){let a=ITe();delete a.rcFilename;let l=await Ra.findRcFiles(e),c=await Ra.findHomeRcFile();if(c){let I=l.find(B=>B.path===c.path);I?I.strict=!1:l.push(_(P({},c),{strict:!1}))}let u=({ignoreCwd:I,yarnPath:B,ignorePath:b,lockfileFilename:R})=>({ignoreCwd:I,yarnPath:B,ignorePath:b,lockfileFilename:R}),g=L=>{var K=L,{ignoreCwd:I,yarnPath:B,ignorePath:b,lockfileFilename:R}=K,H=qr(K,["ignoreCwd","yarnPath","ignorePath","lockfileFilename"]);return H},f=new Ra(e);f.importSettings(u(RR)),f.useWithSource("",u(a),e,{strict:!1});for(let{path:I,cwd:B,data:b}of l)f.useWithSource(I,u(b),B,{strict:!1});if(s){let I=f.get("yarnPath"),B=f.get("ignorePath");if(I!==null&&!B)return f}let h=f.get("lockfileFilename"),p;switch(i){case 0:p=await Ra.findProjectCwd(e,h);break;case 1:p=await Ra.findProjectCwd(e,null);break;case 2:T.existsSync(v.join(e,"package.json"))?p=v.resolve(e):p=null;break}f.startingCwd=e,f.projectCwd=p,f.importSettings(g(RR));let d=new Map([["@@core",k_]]),m=I=>"default"in I?I.default:I;if(r!==null){for(let R of r.plugins.keys())d.set(R,m(r.modules.get(R)));let I=new Map;for(let R of R_())I.set(R,()=>mu(R));for(let[R,H]of r.modules)I.set(R,()=>H);let B=new Set,b=async(R,H)=>{let{factory:L,name:K}=mu(R);if(B.has(K))return;let J=new Map(I),ne=A=>{if(J.has(A))return J.get(A)();throw new me(`This plugin cannot access the package referenced via ${A} which is neither a builtin, nor an exposed entry`)},q=await du(async()=>m(await L(ne)),A=>`${A} (when initializing ${K}, defined in ${H})`);I.set(K,()=>q),B.add(K),d.set(K,q)};if(a.plugins)for(let R of a.plugins.split(";")){let H=v.resolve(e,M.toPortablePath(R));await b(H,"")}for(let{path:R,cwd:H,data:L}of l)if(!!o&&!!Array.isArray(L.plugins))for(let K of L.plugins){let J=typeof K!="string"?K.path:K,ne=v.resolve(H,M.toPortablePath(J));await b(ne,R)}}for(let[I,B]of d)f.activatePlugin(I,B);f.useWithSource("",g(a),e,{strict:n});for(let{path:I,cwd:B,data:b,strict:R}of l)f.useWithSource(I,g(b),B,{strict:R!=null?R:n});return f.get("enableGlobalCache")&&(f.values.set("cacheFolder",`${f.get("globalFolder")}/cache`),f.sources.set("cacheFolder","")),await f.refreshPackageExtensions(),f}static async findRcFiles(e){let r=TB(),i=[],n=e,s=null;for(;n!==s;){s=n;let o=v.join(s,r);if(T.existsSync(o)){let a=await T.readFilePromise(o,"utf8"),l;try{l=Ii(a)}catch(c){let u="";throw a.match(/^\s+(?!-)[^:]+\s+\S+/m)&&(u=" (in particular, make sure you list the colons after each key name)"),new me(`Parse error when loading ${o}; please check it's proper Yaml${u}`)}i.push({path:o,cwd:s,data:l})}n=v.dirname(s)}return i}static async findHomeRcFile(){let e=TB(),r=uh(),i=v.join(r,e);if(T.existsSync(i)){let n=await T.readFilePromise(i,"utf8"),s=Ii(n);return{path:i,cwd:r,data:s}}return null}static async findProjectCwd(e,r){let i=null,n=e,s=null;for(;n!==s;){if(s=n,T.existsSync(v.join(s,"package.json"))&&(i=s),r!==null){if(T.existsSync(v.join(s,r))){i=s;break}}else if(i!==null)break;n=v.dirname(s)}return i}static async updateConfiguration(e,r){let i=TB(),n=v.join(e,i),s=T.existsSync(n)?Ii(await T.readFilePromise(n,"utf8")):{},o=!1,a;if(typeof r=="function"){try{a=r(s)}catch{a=r({})}if(a===s)return}else{a=s;for(let l of Object.keys(r)){let c=s[l],u=r[l],g;if(typeof u=="function")try{g=u(c)}catch{g=u(void 0)}else g=u;c!==g&&(a[l]=g,o=!0)}if(!o)return}await T.changeFilePromise(n,Qa(a),{automaticNewlines:!0})}static async updateHomeConfiguration(e){let r=uh();return await Ra.updateConfiguration(r,e)}activatePlugin(e,r){this.plugins.set(e,r),typeof r.configuration!="undefined"&&this.importSettings(r.configuration)}importSettings(e){for(let[r,i]of Object.entries(e))if(i!=null){if(this.settings.has(r))throw new Error(`Cannot redefine settings "${r}"`);this.settings.set(r,i),this.values.set(r,LR(this,i))}}useWithSource(e,r,i,n){try{this.use(e,r,i,n)}catch(s){throw s.message+=` (in ${Ve(this,e,Le.PATH)})`,s}}use(e,r,i,{strict:n=!0,overwrite:s=!1}={}){n=n&&this.get("enableStrictSettings");for(let o of["enableStrictSettings",...Object.keys(r)]){if(typeof r[o]=="undefined"||o==="plugins"||e===""&&dTe.has(o))continue;if(o==="rcFilename")throw new me(`The rcFilename settings can only be set via ${`${LB}RC_FILENAME`.toUpperCase()}, not via a rc file`);let l=this.settings.get(o);if(!l){if(n)throw new me(`Unrecognized or legacy configuration settings found: ${o} - run "yarn config -v" to see the list of settings supported in Yarn`);this.invalid.set(o,e);continue}if(this.sources.has(o)&&!(s||l.type===ge.MAP||l.isArray&&l.concatenateValues))continue;let c;try{c=NR(this,o,r[o],l,i)}catch(u){throw u.message+=` in ${Ve(this,e,Le.PATH)}`,u}if(o==="enableStrictSettings"&&e!==""){n=c;continue}if(l.type===ge.MAP){let u=this.values.get(o);this.values.set(o,new Map(s?[...u,...c]:[...c,...u])),this.sources.set(o,`${this.sources.get(o)}, ${e}`)}else if(l.isArray&&l.concatenateValues){let u=this.values.get(o);this.values.set(o,s?[...u,...c]:[...c,...u]),this.sources.set(o,`${this.sources.get(o)}, ${e}`)}else this.values.set(o,c),this.sources.set(o,e)}}get(e){if(!this.values.has(e))throw new Error(`Invalid configuration key "${e}"`);return this.values.get(e)}getSpecial(e,{hideSecrets:r=!1,getNativePaths:i=!1}){let n=this.get(e),s=this.settings.get(e);if(typeof s=="undefined")throw new me(`Couldn't find a configuration settings named "${e}"`);return MB(n,s,{hideSecrets:r,getNativePaths:i})}getSubprocessStreams(e,{header:r,prefix:i,report:n}){let s,o,a=T.createWriteStream(e);if(this.get("enableInlineBuilds")){let l=n.createStreamReporter(`${i} ${Ve(this,"STDOUT","green")}`),c=n.createStreamReporter(`${i} ${Ve(this,"STDERR","red")}`);s=new kR.PassThrough,s.pipe(l),s.pipe(a),o=new kR.PassThrough,o.pipe(c),o.pipe(a)}else s=a,o=a,typeof r!="undefined"&&s.write(`${r} +`);return{stdout:s,stderr:o}}makeResolver(){let e=[];for(let r of this.plugins.values())for(let i of r.resolvers||[])e.push(new i);return new pd([new FB,new Yr,new SR,...e])}makeFetcher(){let e=[];for(let r of this.plugins.values())for(let i of r.fetchers||[])e.push(new i);return new vR([new dd,new xR,...e])}getLinkers(){let e=[];for(let r of this.plugins.values())for(let i of r.linkers||[])e.push(new i);return e}getSupportedArchitectures(){let e=this.get("supportedArchitectures"),r=e.get("os");r!==null&&(r=r.map(n=>n==="current"?process.platform:n));let i=e.get("cpu");return i!==null&&(i=i.map(n=>n==="current"?process.arch:n)),{os:r,cpu:i}}async refreshPackageExtensions(){this.packageExtensions=new Map;let e=this.packageExtensions,r=(i,n,{userProvided:s=!1}={})=>{if(!Us(i.range))throw new Error("Only semver ranges are allowed as keys for the packageExtensions setting");let o=new Ze;o.load(n,{yamlCompatibilityMode:!0});let a=hu(e,i.identHash),l=[];a.push([i.range,l]);let c={status:ki.Inactive,userProvided:s,parentDescriptor:i};for(let u of o.dependencies.values())l.push(_(P({},c),{type:oi.Dependency,descriptor:u}));for(let u of o.peerDependencies.values())l.push(_(P({},c),{type:oi.PeerDependency,descriptor:u}));for(let[u,g]of o.peerDependenciesMeta)for(let[f,h]of Object.entries(g))l.push(_(P({},c),{type:oi.PeerDependencyMeta,selector:u,key:f,value:h}))};await this.triggerHook(i=>i.registerPackageExtensions,this,r);for(let[i,n]of this.get("packageExtensions"))r(pA(i,!0),aI(n),{userProvided:!0})}normalizePackage(e){let r=ap(e);if(this.packageExtensions==null)throw new Error("refreshPackageExtensions has to be called before normalizing packages");let i=this.packageExtensions.get(e.identHash);if(typeof i!="undefined"){let s=e.version;if(s!==null){for(let[o,a]of i)if(!!lc(s,o))for(let l of a)switch(l.status===ki.Inactive&&(l.status=ki.Redundant),l.type){case oi.Dependency:typeof r.dependencies.get(l.descriptor.identHash)=="undefined"&&(l.status=ki.Active,r.dependencies.set(l.descriptor.identHash,l.descriptor));break;case oi.PeerDependency:typeof r.peerDependencies.get(l.descriptor.identHash)=="undefined"&&(l.status=ki.Active,r.peerDependencies.set(l.descriptor.identHash,l.descriptor));break;case oi.PeerDependencyMeta:{let c=r.peerDependenciesMeta.get(l.selector);(typeof c=="undefined"||!Object.prototype.hasOwnProperty.call(c,l.key)||c[l.key]!==l.value)&&(l.status=ki.Active,na(r.peerDependenciesMeta,l.selector,()=>({}))[l.key]=l.value)}break;default:Lv(l);break}}}let n=s=>s.scope?`${s.scope}__${s.name}`:`${s.name}`;for(let s of r.peerDependenciesMeta.keys()){let o=En(s);r.peerDependencies.has(o.identHash)||r.peerDependencies.set(o.identHash,Yt(o,"*"))}for(let s of r.peerDependencies.values()){if(s.scope==="types")continue;let o=n(s),a=Eo("types",o),l=St(a);r.peerDependencies.has(a.identHash)||r.peerDependenciesMeta.has(l)||(r.peerDependencies.set(a.identHash,Yt(a,"*")),r.peerDependenciesMeta.set(l,{optional:!0}))}return r.dependencies=new Map(gn(r.dependencies,([,s])=>In(s))),r.peerDependencies=new Map(gn(r.peerDependencies,([,s])=>In(s))),r}getLimit(e){return na(this.limits,e,()=>(0,N_.default)(this.get(e)))}async triggerHook(e,...r){for(let i of this.plugins.values()){let n=i.hooks;if(!n)continue;let s=e(n);!s||await s(...r)}}async triggerMultipleHooks(e,r){for(let i of r)await this.triggerHook(e,...i)}async reduceHook(e,r,...i){let n=r;for(let s of this.plugins.values()){let o=s.hooks;if(!o)continue;let a=e(o);!a||(n=await a(n,...i))}return n}async firstHook(e,...r){for(let i of this.plugins.values()){let n=i.hooks;if(!n)continue;let s=e(n);if(!s)continue;let o=await s(...r);if(typeof o!="undefined")return o}return null}},fe=Ra;fe.telemetry=null;var Gn;(function(r){r[r.SCRIPT=0]="SCRIPT",r[r.SHELLCODE=1]="SHELLCODE"})(Gn||(Gn={}));var Fa=class extends Xi{constructor({configuration:e,stdout:r,suggestInstall:i=!0}){super();this.errorCount=0;Cp(this,{configuration:e}),this.configuration=e,this.stdout=r,this.suggestInstall=i}static async start(e,r){let i=new this(e);try{await r(i)}catch(n){i.reportExceptionOnce(n)}finally{await i.finalize()}return i}hasErrors(){return this.errorCount>0}exitCode(){return this.hasErrors()?1:0}reportCacheHit(e){}reportCacheMiss(e){}startTimerSync(e,r,i){return(typeof r=="function"?r:i)()}async startTimerPromise(e,r,i){return await(typeof r=="function"?r:i)()}async startCacheReport(e){return await e()}reportSeparator(){}reportInfo(e,r){}reportWarning(e,r){}reportError(e,r){this.errorCount+=1,this.stdout.write(`${Ve(this.configuration,"\u27A4","redBright")} ${this.formatNameWithHyperlink(e)}: ${r} +`)}reportProgress(e){let r=Promise.resolve().then(async()=>{for await(let{}of e);}),i=()=>{};return _(P({},r),{stop:i})}reportJson(e){}async finalize(){this.errorCount>0&&(this.stdout.write(` +`),this.stdout.write(`${Ve(this.configuration,"\u27A4","redBright")} Errors happened when preparing the environment required to run this command. +`),this.suggestInstall&&this.stdout.write(`${Ve(this.configuration,"\u27A4","redBright")} This might be caused by packages being missing from the lockfile, in which case running "yarn install" might help. +`))}formatNameWithHyperlink(e){return eD(e,{configuration:this.configuration,json:!1})}};var t0=ie(require("crypto")),v$=ie(CX()),r0=ie(Q$()),S$=ie(Wp()),x$=ie(Or()),lF=ie(require("util")),cF=ie(require("v8")),uF=ie(require("zlib"));var iUe=[[/^(git(?:\+(?:https|ssh))?:\/\/.*(?:\.git)?)#(.*)$/,(t,e,r,i)=>`${r}#commit=${i}`],[/^https:\/\/((?:[^/]+?)@)?codeload\.github\.com\/([^/]+\/[^/]+)\/tar\.gz\/([0-9a-f]+)$/,(t,e,r="",i,n)=>`https://${r}github.com/${i}.git#commit=${n}`],[/^https:\/\/((?:[^/]+?)@)?github\.com\/([^/]+\/[^/]+?)(?:\.git)?#([0-9a-f]+)$/,(t,e,r="",i,n)=>`https://${r}github.com/${i}.git#commit=${n}`],[/^https?:\/\/[^/]+\/(?:[^/]+\/)*(?:@.+(?:\/|(?:%2f)))?([^/]+)\/(?:-|download)\/\1-[^/]+\.tgz(?:#|$)/,t=>`npm:${t}`],[/^https:\/\/npm\.pkg\.github\.com\/download\/(?:@[^/]+)\/(?:[^/]+)\/(?:[^/]+)\/(?:[0-9a-f]+)(?:#|$)/,t=>`npm:${t}`],[/^https:\/\/npm\.fontawesome\.com\/(?:@[^/]+)\/([^/]+)\/-\/([^/]+)\/\1-\2.tgz(?:#|$)/,t=>`npm:${t}`],[/^https?:\/\/(?:[^\\.]+)\.jfrog\.io\/.*\/(@[^/]+)\/([^/]+)\/-\/\1\/\2-(?:[.\d\w-]+)\.tgz(?:#|$)/,(t,e)=>by({protocol:"npm:",source:null,selector:t,params:{__archiveUrl:e}})],[/^[^/]+\.tgz#[0-9a-f]+$/,t=>`npm:${t}`]],oF=class{constructor(){this.resolutions=null}async setup(e,{report:r}){let i=v.join(e.cwd,e.configuration.get("lockfileFilename"));if(!T.existsSync(i))return;let n=await T.readFilePromise(i,"utf8"),s=Ii(n);if(Object.prototype.hasOwnProperty.call(s,"__metadata"))return;let o=this.resolutions=new Map;for(let a of Object.keys(s)){let l=gp(a);if(!l){r.reportWarning(z.YARN_IMPORT_FAILED,`Failed to parse the string "${a}" into a proper descriptor`);continue}Us(l.range)&&(l=Yt(l,`npm:${l.range}`));let{version:c,resolved:u}=s[a];if(!u)continue;let g;for(let[h,p]of iUe){let d=u.match(h);if(d){g=p(c,...d);break}}if(!g){r.reportWarning(z.YARN_IMPORT_FAILED,`${Xt(e.configuration,l)}: Only some patterns can be imported from legacy lockfiles (not "${u}")`);continue}let f=l;try{let h=Tu(l.range),p=gp(h.selector,!0);p&&(f=p)}catch{}o.set(l.descriptorHash,Vi(f,g))}}supportsDescriptor(e,r){return this.resolutions?this.resolutions.has(e.descriptorHash):!1}supportsLocator(e,r){return!1}shouldPersistResolution(e,r){throw new Error("Assertion failed: This resolver doesn't support resolving locators to packages")}bindDescriptor(e,r,i){return e}getResolutionDependencies(e,r){return[]}async getCandidates(e,r,i){if(!this.resolutions)throw new Error("Assertion failed: The resolution store should have been setup");let n=this.resolutions.get(e.descriptorHash);if(!n)throw new Error("Assertion failed: The resolution should have been registered");return[n]}async getSatisfying(e,r,i){return null}async resolve(e,r){throw new Error("Assertion failed: This resolver doesn't support resolving locators to packages")}};var aF=class{constructor(e){this.resolver=e}supportsDescriptor(e,r){return!!(r.project.storedResolutions.get(e.descriptorHash)||r.project.originalPackages.has(By(e).locatorHash))}supportsLocator(e,r){return!!(r.project.originalPackages.has(e.locatorHash)&&!r.project.lockfileNeedsRefresh)}shouldPersistResolution(e,r){throw new Error("The shouldPersistResolution method shouldn't be called on the lockfile resolver, which would always answer yes")}bindDescriptor(e,r,i){return e}getResolutionDependencies(e,r){return this.resolver.getResolutionDependencies(e,r)}async getCandidates(e,r,i){let n=i.project.originalPackages.get(By(e).locatorHash);if(n)return[n];let s=i.project.storedResolutions.get(e.descriptorHash);if(!s)throw new Error("Expected the resolution to have been successful - resolution not found");if(n=i.project.originalPackages.get(s),!n)throw new Error("Expected the resolution to have been successful - package not found");return[n]}async getSatisfying(e,r,i){return null}async resolve(e,r){let i=r.project.originalPackages.get(e.locatorHash);if(!i)throw new Error("The lockfile resolver isn't meant to resolve packages - they should already have been stored into a cache");return i}};var AF=class{constructor(e){this.resolver=e}supportsDescriptor(e,r){return this.resolver.supportsDescriptor(e,r)}supportsLocator(e,r){return this.resolver.supportsLocator(e,r)}shouldPersistResolution(e,r){return this.resolver.shouldPersistResolution(e,r)}bindDescriptor(e,r,i){return this.resolver.bindDescriptor(e,r,i)}getResolutionDependencies(e,r){return this.resolver.getResolutionDependencies(e,r)}async getCandidates(e,r,i){throw new nt(z.MISSING_LOCKFILE_ENTRY,`This package doesn't seem to be present in your lockfile; run "yarn install" to update the lockfile`)}async getSatisfying(e,r,i){throw new nt(z.MISSING_LOCKFILE_ENTRY,`This package doesn't seem to be present in your lockfile; run "yarn install" to update the lockfile`)}async resolve(e,r){throw new nt(z.MISSING_LOCKFILE_ENTRY,`This package doesn't seem to be present in your lockfile; run "yarn install" to update the lockfile`)}};var ei=class extends Xi{reportCacheHit(e){}reportCacheMiss(e){}startTimerSync(e,r,i){return(typeof r=="function"?r:i)()}async startTimerPromise(e,r,i){return await(typeof r=="function"?r:i)()}async startCacheReport(e){return await e()}reportSeparator(){}reportInfo(e,r){}reportWarning(e,r){}reportError(e,r){}reportProgress(e){let r=Promise.resolve().then(async()=>{for await(let{}of e);}),i=()=>{};return _(P({},r),{stop:i})}reportJson(e){}async finalize(){}};var b$=ie(vx());var Dd=class{constructor(e,{project:r}){this.workspacesCwds=new Set;this.dependencies=new Map;this.project=r,this.cwd=e}async setup(){this.manifest=T.existsSync(v.join(this.cwd,Ze.fileName))?await Ze.find(this.cwd):new Ze,this.relativeCwd=v.relative(this.project.cwd,this.cwd)||Se.dot;let e=this.manifest.name?this.manifest.name:Eo(null,`${this.computeCandidateName()}-${zi(this.relativeCwd).substr(0,6)}`),r=this.manifest.version?this.manifest.version:"0.0.0";this.locator=Vi(e,r),this.anchoredDescriptor=Yt(this.locator,`${Yr.protocol}${this.relativeCwd}`),this.anchoredLocator=Vi(this.locator,`${Yr.protocol}${this.relativeCwd}`);let i=this.manifest.workspaceDefinitions.map(({pattern:s})=>s),n=await(0,b$.default)(i,{cwd:M.fromPortablePath(this.cwd),expandDirectories:!1,onlyDirectories:!0,onlyFiles:!1,ignore:["**/node_modules","**/.git","**/.yarn"]});n.sort();for(let s of n){let o=v.resolve(this.cwd,M.toPortablePath(s));T.existsSync(v.join(o,"package.json"))&&this.workspacesCwds.add(o)}}accepts(e){var o;let r=e.indexOf(":"),i=r!==-1?e.slice(0,r+1):null,n=r!==-1?e.slice(r+1):e;if(i===Yr.protocol&&v.normalize(n)===this.relativeCwd||i===Yr.protocol&&(n==="*"||n==="^"||n==="~"))return!0;let s=Us(n);return s?i===Yr.protocol?s.test((o=this.manifest.version)!=null?o:"0.0.0"):this.project.configuration.get("enableTransparentWorkspaces")&&this.manifest.version!==null?s.test(this.manifest.version):!1:!1}computeCandidateName(){return this.cwd===this.project.cwd?"root-workspace":`${v.basename(this.cwd)}`||"unnamed-workspace"}getRecursiveWorkspaceDependencies({dependencies:e=Ze.hardDependencies}={}){let r=new Set,i=n=>{for(let s of e)for(let o of n.manifest[s].values()){let a=this.project.tryWorkspaceByDescriptor(o);a===null||r.has(a)||(r.add(a),i(a))}};return i(this),r}getRecursiveWorkspaceDependents({dependencies:e=Ze.hardDependencies}={}){let r=new Set,i=n=>{for(let s of this.project.workspaces)e.some(a=>[...s.manifest[a].values()].some(l=>{let c=this.project.tryWorkspaceByDescriptor(l);return c!==null&&up(c.anchoredLocator,n.anchoredLocator)}))&&!r.has(s)&&(r.add(s),i(s))};return i(this),r}getRecursiveWorkspaceChildren(){let e=[];for(let r of this.workspacesCwds){let i=this.project.workspacesByCwd.get(r);i&&e.push(i,...i.getRecursiveWorkspaceChildren())}return e}async persistManifest(){let e={};this.manifest.exportTo(e);let r=v.join(this.cwd,Ze.fileName),i=`${JSON.stringify(e,null,this.manifest.indent)} +`;await T.changeFilePromise(r,i,{automaticNewlines:!0}),this.manifest.raw=e}};var k$=5,nUe=1,sUe=/ *, */g,P$=/\/$/,oUe=32,aUe=(0,lF.promisify)(uF.default.gzip),AUe=(0,lF.promisify)(uF.default.gunzip),li;(function(r){r.UpdateLockfile="update-lockfile",r.SkipBuild="skip-build"})(li||(li={}));var gF={restoreInstallersCustomData:["installersCustomData"],restoreResolutions:["accessibleLocators","conditionalLocators","disabledLocators","optionalBuilds","storedDescriptors","storedResolutions","storedPackages","lockFileChecksum"],restoreBuildState:["storedBuildState"]},D$=t=>zi(`${nUe}`,t),Ke=class{constructor(e,{configuration:r}){this.resolutionAliases=new Map;this.workspaces=[];this.workspacesByCwd=new Map;this.workspacesByIdent=new Map;this.storedResolutions=new Map;this.storedDescriptors=new Map;this.storedPackages=new Map;this.storedChecksums=new Map;this.storedBuildState=new Map;this.accessibleLocators=new Set;this.conditionalLocators=new Set;this.disabledLocators=new Set;this.originalPackages=new Map;this.optionalBuilds=new Set;this.lockfileNeedsRefresh=!1;this.peerRequirements=new Map;this.installersCustomData=new Map;this.lockFileChecksum=null;this.installStateChecksum=null;this.configuration=r,this.cwd=e}static async find(e,r){var c,u,g;if(!e.projectCwd)throw new me(`No project found in ${r}`);let i=e.projectCwd,n=r,s=null;for(;s!==e.projectCwd;){if(s=n,T.existsSync(v.join(s,wt.manifest))){i=s;break}n=v.dirname(s)}let o=new Ke(e.projectCwd,{configuration:e});(c=fe.telemetry)==null||c.reportProject(o.cwd),await o.setupResolutions(),await o.setupWorkspaces(),(u=fe.telemetry)==null||u.reportWorkspaceCount(o.workspaces.length),(g=fe.telemetry)==null||g.reportDependencyCount(o.workspaces.reduce((f,h)=>f+h.manifest.dependencies.size+h.manifest.devDependencies.size,0));let a=o.tryWorkspaceByCwd(i);if(a)return{project:o,workspace:a,locator:a.anchoredLocator};let l=await o.findLocatorForLocation(`${i}/`,{strict:!0});if(l)return{project:o,locator:l,workspace:null};throw new me(`The nearest package directory (${Ve(e,i,Le.PATH)}) doesn't seem to be part of the project declared in ${Ve(e,o.cwd,Le.PATH)}. + +- If the project directory is right, it might be that you forgot to list ${Ve(e,v.relative(o.cwd,i),Le.PATH)} as a workspace. +- If it isn't, it's likely because you have a yarn.lock or package.json file there, confusing the project root detection.`)}async setupResolutions(){var i;this.storedResolutions=new Map,this.storedDescriptors=new Map,this.storedPackages=new Map,this.lockFileChecksum=null;let e=v.join(this.cwd,this.configuration.get("lockfileFilename")),r=this.configuration.get("defaultLanguageName");if(T.existsSync(e)){let n=await T.readFilePromise(e,"utf8");this.lockFileChecksum=D$(n);let s=Ii(n);if(s.__metadata){let o=s.__metadata.version,a=s.__metadata.cacheKey;this.lockfileNeedsRefresh=o0;){let r=e;e=[];for(let i of r){if(this.workspacesByCwd.has(i))continue;let n=await this.addWorkspace(i),s=this.storedPackages.get(n.anchoredLocator.locatorHash);s&&(n.dependencies=s.dependencies);for(let o of n.workspacesCwds)e.push(o)}}}async addWorkspace(e){let r=new Dd(e,{project:this});await r.setup();let i=this.workspacesByIdent.get(r.locator.identHash);if(typeof i!="undefined")throw new Error(`Duplicate workspace name ${Vr(this.configuration,r.locator)}: ${M.fromPortablePath(e)} conflicts with ${M.fromPortablePath(i.cwd)}`);return this.workspaces.push(r),this.workspacesByCwd.set(e,r),this.workspacesByIdent.set(r.locator.identHash,r),r}get topLevelWorkspace(){return this.getWorkspaceByCwd(this.cwd)}tryWorkspaceByCwd(e){v.isAbsolute(e)||(e=v.resolve(this.cwd,e)),e=v.normalize(e).replace(/\/+$/,"");let r=this.workspacesByCwd.get(e);return r||null}getWorkspaceByCwd(e){let r=this.tryWorkspaceByCwd(e);if(!r)throw new Error(`Workspace not found (${e})`);return r}tryWorkspaceByFilePath(e){let r=null;for(let i of this.workspaces)v.relative(i.cwd,e).startsWith("../")||r&&r.cwd.length>=i.cwd.length||(r=i);return r||null}getWorkspaceByFilePath(e){let r=this.tryWorkspaceByFilePath(e);if(!r)throw new Error(`Workspace not found (${e})`);return r}tryWorkspaceByIdent(e){let r=this.workspacesByIdent.get(e.identHash);return typeof r=="undefined"?null:r}getWorkspaceByIdent(e){let r=this.tryWorkspaceByIdent(e);if(!r)throw new Error(`Workspace not found (${Vr(this.configuration,e)})`);return r}tryWorkspaceByDescriptor(e){let r=this.tryWorkspaceByIdent(e);return r===null||(hA(e)&&(e=Ap(e)),!r.accepts(e.range))?null:r}getWorkspaceByDescriptor(e){let r=this.tryWorkspaceByDescriptor(e);if(r===null)throw new Error(`Workspace not found (${Xt(this.configuration,e)})`);return r}tryWorkspaceByLocator(e){let r=this.tryWorkspaceByIdent(e);return r===null||(Io(e)&&(e=lp(e)),r.locator.locatorHash!==e.locatorHash&&r.anchoredLocator.locatorHash!==e.locatorHash)?null:r}getWorkspaceByLocator(e){let r=this.tryWorkspaceByLocator(e);if(!r)throw new Error(`Workspace not found (${lt(this.configuration,e)})`);return r}refreshWorkspaceDependencies(){for(let e of this.workspaces){let r=this.storedPackages.get(e.anchoredLocator.locatorHash);if(!r)throw new Error(`Assertion failed: Expected workspace ${hp(this.configuration,e)} (${Ve(this.configuration,v.join(e.cwd,wt.manifest),Le.PATH)}) to have been resolved. Run "yarn install" to update the lockfile`);e.dependencies=new Map(r.dependencies)}}forgetResolution(e){let r=n=>{this.storedResolutions.delete(n),this.storedDescriptors.delete(n)},i=n=>{this.originalPackages.delete(n),this.storedPackages.delete(n),this.accessibleLocators.delete(n)};if("descriptorHash"in e){let n=this.storedResolutions.get(e.descriptorHash);r(e.descriptorHash);let s=new Set(this.storedResolutions.values());typeof n!="undefined"&&!s.has(n)&&i(n)}if("locatorHash"in e){i(e.locatorHash);for(let[n,s]of this.storedResolutions)s===e.locatorHash&&r(n)}}forgetTransientResolutions(){let e=this.configuration.makeResolver();for(let r of this.originalPackages.values()){let i;try{i=e.shouldPersistResolution(r,{project:this,resolver:e})}catch{i=!1}i||this.forgetResolution(r)}}forgetVirtualResolutions(){for(let e of this.storedPackages.values())for(let[r,i]of e.dependencies)hA(i)&&e.dependencies.set(r,Ap(i))}getDependencyMeta(e,r){let i={},s=this.topLevelWorkspace.manifest.dependenciesMeta.get(St(e));if(!s)return i;let o=s.get(null);if(o&&Object.assign(i,o),r===null||!x$.default.valid(r))return i;for(let[a,l]of s)a!==null&&a===r&&Object.assign(i,l);return i}async findLocatorForLocation(e,{strict:r=!1}={}){let i=new ei,n=this.configuration.getLinkers(),s={project:this,report:i};for(let o of n){let a=await o.findPackageLocator(e,s);if(a){if(r&&(await o.findPackageLocation(a,s)).replace(P$,"")!==e.replace(P$,""))continue;return a}}return null}async resolveEverything(e){if(!this.workspacesByCwd||!this.workspacesByIdent)throw new Error("Workspaces must have been setup before calling this function");this.forgetVirtualResolutions(),e.lockfileOnly||this.forgetTransientResolutions();let r=e.resolver||this.configuration.makeResolver(),i=new oF;await i.setup(this,{report:e.report});let n=e.lockfileOnly?[new AF(r)]:[i,r],s=new pd([new aF(r),...n]),o=this.configuration.makeFetcher(),a=e.lockfileOnly?{project:this,report:e.report,resolver:s}:{project:this,report:e.report,resolver:s,fetchOptions:{project:this,cache:e.cache,checksums:this.storedChecksums,report:e.report,fetcher:o,cacheOptions:{mirrorWriteOnly:!0}}},l=new Map,c=new Map,u=new Map,g=new Map,f=new Map,h=new Map,p=this.topLevelWorkspace.anchoredLocator,d=new Set,m=[],I=async W=>{let X=await du(async()=>await s.resolve(W,a),D=>`${lt(this.configuration,W)}: ${D}`);if(!up(W,X))throw new Error(`Assertion failed: The locator cannot be changed by the resolver (went from ${lt(this.configuration,W)} to ${lt(this.configuration,X)})`);g.set(X.locatorHash,X);let F=this.configuration.normalizePackage(X);for(let[D,he]of F.dependencies){let pe=await this.configuration.reduceHook(Pe=>Pe.reduceDependency,he,this,F,he,{resolver:s,resolveOptions:a});if(!cp(he,pe))throw new Error("Assertion failed: The descriptor ident cannot be changed through aliases");let Ne=s.bindDescriptor(pe,W,a);F.dependencies.set(D,Ne)}return m.push(Promise.all([...F.dependencies.values()].map(D=>H(D)))),c.set(F.locatorHash,F),F},B=async W=>{let X=f.get(W.locatorHash);if(typeof X!="undefined")return X;let F=Promise.resolve().then(()=>I(W));return f.set(W.locatorHash,F),F},b=async(W,X)=>{let F=await H(X);return l.set(W.descriptorHash,W),u.set(W.descriptorHash,F.locatorHash),F},R=async W=>{let X=this.resolutionAliases.get(W.descriptorHash);if(typeof X!="undefined")return b(W,this.storedDescriptors.get(X));let F=s.getResolutionDependencies(W,a),D=new Map(await Promise.all(F.map(async Ne=>{let Pe=s.bindDescriptor(Ne,p,a),qe=await H(Pe);return d.add(qe.locatorHash),[Ne.descriptorHash,qe]}))),pe=(await du(async()=>await s.getCandidates(W,D,a),Ne=>`${Xt(this.configuration,W)}: ${Ne}`))[0];if(typeof pe=="undefined")throw new Error(`${Xt(this.configuration,W)}: No candidates found`);return l.set(W.descriptorHash,W),u.set(W.descriptorHash,pe.locatorHash),B(pe)},H=W=>{let X=h.get(W.descriptorHash);if(typeof X!="undefined")return X;l.set(W.descriptorHash,W);let F=Promise.resolve().then(()=>R(W));return h.set(W.descriptorHash,F),F};for(let W of this.workspaces){let X=W.anchoredDescriptor;m.push(H(X))}for(;m.length>0;){let W=[...m];m.length=0,await Promise.all(W)}let L=new Set(this.resolutionAliases.values()),K=new Set(c.keys()),J=new Set,ne=new Map;lUe({project:this,report:e.report,accessibleLocators:J,volatileDescriptors:L,optionalBuilds:K,peerRequirements:ne,allDescriptors:l,allResolutions:u,allPackages:c});for(let W of d)K.delete(W);for(let W of L)l.delete(W),u.delete(W);let q=this.configuration.getSupportedArchitectures(),A=new Set,V=new Set;for(let W of c.values())W.conditions!=null&&(!K.has(W.locatorHash)||(Sy(W,q)||(Sy(W,{os:[process.platform],cpu:[process.arch]})&&e.report.reportWarningOnce(z.GHOST_ARCHITECTURE,`${lt(this.configuration,W)}: Your current architecture (${process.platform}-${process.arch}) is supported by this package, but is missing from the ${Ve(this.configuration,"supportedArchitectures",ps.SETTING)} setting`),V.add(W.locatorHash)),A.add(W.locatorHash)));this.storedResolutions=u,this.storedDescriptors=l,this.storedPackages=c,this.accessibleLocators=J,this.conditionalLocators=A,this.disabledLocators=V,this.originalPackages=g,this.optionalBuilds=K,this.peerRequirements=ne,this.refreshWorkspaceDependencies()}async fetchEverything({cache:e,report:r,fetcher:i,mode:n}){let s={mockedPackages:this.disabledLocators,unstablePackages:this.conditionalLocators},o=i||this.configuration.makeFetcher(),a={checksums:this.storedChecksums,project:this,cache:e,fetcher:o,report:r,cacheOptions:s},l=Array.from(new Set(gn(this.storedResolutions.values(),[f=>{let h=this.storedPackages.get(f);if(!h)throw new Error("Assertion failed: The locator should have been registered");return is(h)}])));n===li.UpdateLockfile&&(l=l.filter(f=>!this.storedChecksums.has(f)));let c=!1,u=Xi.progressViaCounter(l.length);r.reportProgress(u);let g=(0,S$.default)(oUe);if(await r.startCacheReport(async()=>{await Promise.all(l.map(f=>g(async()=>{let h=this.storedPackages.get(f);if(!h)throw new Error("Assertion failed: The locator should have been registered");if(Io(h))return;let p;try{p=await o.fetch(h,a)}catch(d){d.message=`${lt(this.configuration,h)}: ${d.message}`,r.reportExceptionOnce(d),c=d;return}p.checksum!=null?this.storedChecksums.set(h.locatorHash,p.checksum):this.storedChecksums.delete(h.locatorHash),p.releaseFs&&p.releaseFs()}).finally(()=>{u.tick()})))}),c)throw c}async linkEverything({cache:e,report:r,fetcher:i,mode:n}){var A,V,W;let s={mockedPackages:this.disabledLocators,unstablePackages:this.conditionalLocators,skipIntegrityCheck:!0},o=i||this.configuration.makeFetcher(),a={checksums:this.storedChecksums,project:this,cache:e,fetcher:o,report:r,skipIntegrityCheck:!0,cacheOptions:s},l=this.configuration.getLinkers(),c={project:this,report:r},u=new Map(l.map(X=>{let F=X.makeInstaller(c),D=F.getCustomDataKey(),he=this.installersCustomData.get(D);return typeof he!="undefined"&&F.attachCustomData(he),[X,F]})),g=new Map,f=new Map,h=new Map,p=new Map(await Promise.all([...this.accessibleLocators].map(async X=>{let F=this.storedPackages.get(X);if(!F)throw new Error("Assertion failed: The locator should have been registered");return[X,await o.fetch(F,a)]}))),d=[];for(let X of this.accessibleLocators){let F=this.storedPackages.get(X);if(typeof F=="undefined")throw new Error("Assertion failed: The locator should have been registered");let D=p.get(F.locatorHash);if(typeof D=="undefined")throw new Error("Assertion failed: The fetch result should have been registered");let he=[],pe=Pe=>{he.push(Pe)},Ne=this.tryWorkspaceByLocator(F);if(Ne!==null){let Pe=[],{scripts:qe}=Ne.manifest;for(let se of["preinstall","install","postinstall"])qe.has(se)&&Pe.push([Gn.SCRIPT,se]);try{for(let[se,be]of u)if(se.supportsPackage(F,c)&&(await be.installPackage(F,D,{holdFetchResult:pe})).buildDirective!==null)throw new Error("Assertion failed: Linkers can't return build directives for workspaces; this responsibility befalls to the Yarn core")}finally{he.length===0?(A=D.releaseFs)==null||A.call(D):d.push(Promise.all(he).catch(()=>{}).then(()=>{var se;(se=D.releaseFs)==null||se.call(D)}))}let re=v.join(D.packageFs.getRealPath(),D.prefixPath);f.set(F.locatorHash,re),!Io(F)&&Pe.length>0&&h.set(F.locatorHash,{directives:Pe,buildLocations:[re]})}else{let Pe=l.find(se=>se.supportsPackage(F,c));if(!Pe)throw new nt(z.LINKER_NOT_FOUND,`${lt(this.configuration,F)} isn't supported by any available linker`);let qe=u.get(Pe);if(!qe)throw new Error("Assertion failed: The installer should have been registered");let re;try{re=await qe.installPackage(F,D,{holdFetchResult:pe})}finally{he.length===0?(V=D.releaseFs)==null||V.call(D):d.push(Promise.all(he).then(()=>{}).then(()=>{var se;(se=D.releaseFs)==null||se.call(D)}))}g.set(F.locatorHash,Pe),f.set(F.locatorHash,re.packageLocation),re.buildDirective&&re.buildDirective.length>0&&re.packageLocation&&h.set(F.locatorHash,{directives:re.buildDirective,buildLocations:[re.packageLocation]})}}let m=new Map;for(let X of this.accessibleLocators){let F=this.storedPackages.get(X);if(!F)throw new Error("Assertion failed: The locator should have been registered");let D=this.tryWorkspaceByLocator(F)!==null,he=async(pe,Ne)=>{let Pe=f.get(F.locatorHash);if(typeof Pe=="undefined")throw new Error(`Assertion failed: The package (${lt(this.configuration,F)}) should have been registered`);let qe=[];for(let re of F.dependencies.values()){let se=this.storedResolutions.get(re.descriptorHash);if(typeof se=="undefined")throw new Error(`Assertion failed: The resolution (${Xt(this.configuration,re)}, from ${lt(this.configuration,F)})should have been registered`);let be=this.storedPackages.get(se);if(typeof be=="undefined")throw new Error(`Assertion failed: The package (${se}, resolved from ${Xt(this.configuration,re)}) should have been registered`);let ae=this.tryWorkspaceByLocator(be)===null?g.get(se):null;if(typeof ae=="undefined")throw new Error(`Assertion failed: The package (${se}, resolved from ${Xt(this.configuration,re)}) should have been registered`);ae===pe||ae===null?f.get(be.locatorHash)!==null&&qe.push([re,be]):!D&&Pe!==null&&hu(m,se).push(Pe)}Pe!==null&&await Ne.attachInternalDependencies(F,qe)};if(D)for(let[pe,Ne]of u)pe.supportsPackage(F,c)&&await he(pe,Ne);else{let pe=g.get(F.locatorHash);if(!pe)throw new Error("Assertion failed: The linker should have been found");let Ne=u.get(pe);if(!Ne)throw new Error("Assertion failed: The installer should have been registered");await he(pe,Ne)}}for(let[X,F]of m){let D=this.storedPackages.get(X);if(!D)throw new Error("Assertion failed: The package should have been registered");let he=g.get(D.locatorHash);if(!he)throw new Error("Assertion failed: The linker should have been found");let pe=u.get(he);if(!pe)throw new Error("Assertion failed: The installer should have been registered");await pe.attachExternalDependents(D,F)}let I=new Map;for(let X of u.values()){let F=await X.finalizeInstall();for(let D of(W=F==null?void 0:F.records)!=null?W:[])h.set(D.locatorHash,{directives:D.buildDirective,buildLocations:D.buildLocations});typeof(F==null?void 0:F.customData)!="undefined"&&I.set(X.getCustomDataKey(),F.customData)}if(this.installersCustomData=I,await Promise.all(d),n===li.SkipBuild)return;let B=new Set(this.storedPackages.keys()),b=new Set(h.keys());for(let X of b)B.delete(X);let R=(0,t0.createHash)("sha512");R.update(process.versions.node),await this.configuration.triggerHook(X=>X.globalHashGeneration,this,X=>{R.update("\0"),R.update(X)});let H=R.digest("hex"),L=new Map,K=X=>{let F=L.get(X.locatorHash);if(typeof F!="undefined")return F;let D=this.storedPackages.get(X.locatorHash);if(typeof D=="undefined")throw new Error("Assertion failed: The package should have been registered");let he=(0,t0.createHash)("sha512");he.update(X.locatorHash),L.set(X.locatorHash,"");for(let pe of D.dependencies.values()){let Ne=this.storedResolutions.get(pe.descriptorHash);if(typeof Ne=="undefined")throw new Error(`Assertion failed: The resolution (${Xt(this.configuration,pe)}) should have been registered`);let Pe=this.storedPackages.get(Ne);if(typeof Pe=="undefined")throw new Error("Assertion failed: The package should have been registered");he.update(K(Pe))}return F=he.digest("hex"),L.set(X.locatorHash,F),F},J=(X,F)=>{let D=(0,t0.createHash)("sha512");D.update(H),D.update(K(X));for(let he of F)D.update(he);return D.digest("hex")},ne=new Map,q=!1;for(;b.size>0;){let X=b.size,F=[];for(let D of b){let he=this.storedPackages.get(D);if(!he)throw new Error("Assertion failed: The package should have been registered");let pe=!0;for(let qe of he.dependencies.values()){let re=this.storedResolutions.get(qe.descriptorHash);if(!re)throw new Error(`Assertion failed: The resolution (${Xt(this.configuration,qe)}) should have been registered`);if(b.has(re)){pe=!1;break}}if(!pe)continue;b.delete(D);let Ne=h.get(he.locatorHash);if(!Ne)throw new Error("Assertion failed: The build directive should have been registered");let Pe=J(he,Ne.buildLocations);if(this.storedBuildState.get(he.locatorHash)===Pe){ne.set(he.locatorHash,Pe);continue}q||(await this.persistInstallStateFile(),q=!0),this.storedBuildState.has(he.locatorHash)?r.reportInfo(z.MUST_REBUILD,`${lt(this.configuration,he)} must be rebuilt because its dependency tree changed`):r.reportInfo(z.MUST_BUILD,`${lt(this.configuration,he)} must be built because it never has been before or the last one failed`);for(let qe of Ne.buildLocations){if(!v.isAbsolute(qe))throw new Error(`Assertion failed: Expected the build location to be absolute (not ${qe})`);F.push((async()=>{for(let[re,se]of Ne.directives){let be=`# This file contains the result of Yarn building a package (${is(he)}) +`;switch(re){case Gn.SCRIPT:be+=`# Script name: ${se} +`;break;case Gn.SHELLCODE:be+=`# Script code: ${se} +`;break}let ae=null;if(!await T.mktempPromise(async De=>{let $=v.join(De,"build.log"),{stdout:G,stderr:Ce}=this.configuration.getSubprocessStreams($,{header:be,prefix:lt(this.configuration,he),report:r}),ee;try{switch(re){case Gn.SCRIPT:ee=await Uw(he,se,[],{cwd:qe,project:this,stdin:ae,stdout:G,stderr:Ce});break;case Gn.SHELLCODE:ee=await rD(he,se,[],{cwd:qe,project:this,stdin:ae,stdout:G,stderr:Ce});break}}catch(Oe){Ce.write(Oe.stack),ee=1}if(G.end(),Ce.end(),ee===0)return ne.set(he.locatorHash,Pe),!0;T.detachTemp(De);let Ue=`${lt(this.configuration,he)} couldn't be built successfully (exit code ${Ve(this.configuration,ee,Le.NUMBER)}, logs can be found here: ${Ve(this.configuration,$,Le.PATH)})`;return this.optionalBuilds.has(he.locatorHash)?(r.reportInfo(z.BUILD_FAILED,Ue),ne.set(he.locatorHash,Pe),!0):(r.reportError(z.BUILD_FAILED,Ue),!1)}))return}})())}}if(await Promise.all(F),X===b.size){let D=Array.from(b).map(he=>{let pe=this.storedPackages.get(he);if(!pe)throw new Error("Assertion failed: The package should have been registered");return lt(this.configuration,pe)}).join(", ");r.reportError(z.CYCLIC_DEPENDENCIES,`Some packages have circular dependencies that make their build order unsatisfiable - as a result they won't be built (affected packages are: ${D})`);break}}this.storedBuildState=ne}async install(e){var a,l;let r=this.configuration.get("nodeLinker");(a=fe.telemetry)==null||a.reportInstall(r),await e.report.startTimerPromise("Project validation",{skipIfEmpty:!0},async()=>{await this.configuration.triggerHook(c=>c.validateProject,this,{reportWarning:e.report.reportWarning.bind(e.report),reportError:e.report.reportError.bind(e.report)})});for(let c of this.configuration.packageExtensions.values())for(let[,u]of c)for(let g of u)g.status=ki.Inactive;let i=v.join(this.cwd,this.configuration.get("lockfileFilename")),n=null;if(e.immutable)try{n=await T.readFilePromise(i,"utf8")}catch(c){throw c.code==="ENOENT"?new nt(z.FROZEN_LOCKFILE_EXCEPTION,"The lockfile would have been created by this install, which is explicitly forbidden."):c}await e.report.startTimerPromise("Resolution step",async()=>{await this.resolveEverything(e)}),await e.report.startTimerPromise("Post-resolution validation",{skipIfEmpty:!0},async()=>{for(let[,c]of this.configuration.packageExtensions)for(let[,u]of c)for(let g of u)if(g.userProvided){let f=Ve(this.configuration,g,Le.PACKAGE_EXTENSION);switch(g.status){case ki.Inactive:e.report.reportWarning(z.UNUSED_PACKAGE_EXTENSION,`${f}: No matching package in the dependency tree; you may not need this rule anymore.`);break;case ki.Redundant:e.report.reportWarning(z.REDUNDANT_PACKAGE_EXTENSION,`${f}: This rule seems redundant when applied on the original package; the extension may have been applied upstream.`);break}}if(n!==null){let c=ul(n,this.generateLockfile());if(c!==n){let u=(0,v$.structuredPatch)(i,i,n,c);e.report.reportSeparator();for(let g of u.hunks){e.report.reportInfo(null,`@@ -${g.oldStart},${g.oldLines} +${g.newStart},${g.newLines} @@`);for(let f of g.lines)f.startsWith("+")?e.report.reportError(z.FROZEN_LOCKFILE_EXCEPTION,Ve(this.configuration,f,Le.ADDED)):f.startsWith("-")?e.report.reportError(z.FROZEN_LOCKFILE_EXCEPTION,Ve(this.configuration,f,Le.REMOVED)):e.report.reportInfo(null,Ve(this.configuration,f,"grey"))}throw e.report.reportSeparator(),new nt(z.FROZEN_LOCKFILE_EXCEPTION,"The lockfile would have been modified by this install, which is explicitly forbidden.")}}});for(let c of this.configuration.packageExtensions.values())for(let[,u]of c)for(let g of u)g.userProvided&&g.status===ki.Active&&((l=fe.telemetry)==null||l.reportPackageExtension(Uu(g,Le.PACKAGE_EXTENSION)));await e.report.startTimerPromise("Fetch step",async()=>{await this.fetchEverything(e),(typeof e.persistProject=="undefined"||e.persistProject)&&e.mode!==li.UpdateLockfile&&await this.cacheCleanup(e)});let s=e.immutable?[...new Set(this.configuration.get("immutablePatterns"))].sort():[],o=await Promise.all(s.map(async c=>Iy(c,{cwd:this.cwd})));(typeof e.persistProject=="undefined"||e.persistProject)&&await this.persist(),await e.report.startTimerPromise("Link step",async()=>{if(e.mode===li.UpdateLockfile){e.report.reportWarning(z.UPDATE_LOCKFILE_ONLY_SKIP_LINK,`Skipped due to ${Ve(this.configuration,"mode=update-lockfile",Le.CODE)}`);return}await this.linkEverything(e);let c=await Promise.all(s.map(async u=>Iy(u,{cwd:this.cwd})));for(let u=0;uc.afterAllInstalled,this,e)}generateLockfile(){let e=new Map;for(let[n,s]of this.storedResolutions.entries()){let o=e.get(s);o||e.set(s,o=new Set),o.add(n)}let r={};r.__metadata={version:k$,cacheKey:void 0};for(let[n,s]of e.entries()){let o=this.originalPackages.get(n);if(!o)continue;let a=[];for(let f of s){let h=this.storedDescriptors.get(f);if(!h)throw new Error("Assertion failed: The descriptor should have been registered");a.push(h)}let l=a.map(f=>In(f)).sort().join(", "),c=new Ze;c.version=o.linkType===gt.HARD?o.version:"0.0.0-use.local",c.languageName=o.languageName,c.dependencies=new Map(o.dependencies),c.peerDependencies=new Map(o.peerDependencies),c.dependenciesMeta=new Map(o.dependenciesMeta),c.peerDependenciesMeta=new Map(o.peerDependenciesMeta),c.bin=new Map(o.bin);let u,g=this.storedChecksums.get(o.locatorHash);if(typeof g!="undefined"){let f=g.indexOf("/");if(f===-1)throw new Error("Assertion failed: Expected the checksum to reference its cache key");let h=g.slice(0,f),p=g.slice(f+1);typeof r.__metadata.cacheKey=="undefined"&&(r.__metadata.cacheKey=h),h===r.__metadata.cacheKey?u=p:u=g}r[l]=_(P({},c.exportTo({},{compatibilityMode:!1})),{linkType:o.linkType.toLowerCase(),resolution:is(o),checksum:u,conditions:o.conditions||void 0})}return`${[`# This file is generated by running "yarn install" inside your project. +`,`# Manual changes might be lost - proceed with caution! +`].join("")} +`+Qa(r)}async persistLockfile(){let e=v.join(this.cwd,this.configuration.get("lockfileFilename")),r="";try{r=await T.readFilePromise(e,"utf8")}catch(s){}let i=this.generateLockfile(),n=ul(r,i);n!==r&&(await T.writeFilePromise(e,n),this.lockFileChecksum=D$(n),this.lockfileNeedsRefresh=!1)}async persistInstallStateFile(){let e=[];for(let o of Object.values(gF))e.push(...o);let r=(0,r0.default)(this,e),i=cF.default.serialize(r),n=zi(i);if(this.installStateChecksum===n)return;let s=this.configuration.get("installStatePath");await T.mkdirPromise(v.dirname(s),{recursive:!0}),await T.writeFilePromise(s,await aUe(i)),this.installStateChecksum=n}async restoreInstallState({restoreInstallersCustomData:e=!0,restoreResolutions:r=!0,restoreBuildState:i=!0}={}){let n=this.configuration.get("installStatePath");if(!T.existsSync(n)){r&&await this.applyLightResolution();return}let s=await AUe(await T.readFilePromise(n));this.installStateChecksum=zi(s);let o=cF.default.deserialize(s);e&&typeof o.installersCustomData!="undefined"&&(this.installersCustomData=o.installersCustomData),i&&Object.assign(this,(0,r0.default)(o,gF.restoreBuildState)),r&&(o.lockFileChecksum===this.lockFileChecksum?(Object.assign(this,(0,r0.default)(o,gF.restoreResolutions)),this.refreshWorkspaceDependencies()):await this.applyLightResolution())}async applyLightResolution(){await this.resolveEverything({lockfileOnly:!0,report:new ei}),await this.persistInstallStateFile()}async persist(){await this.persistLockfile();for(let e of this.workspacesByCwd.values())await e.persistManifest()}async cacheCleanup({cache:e,report:r}){let i=new Set([".gitignore"]);if(!Fb(e.cwd,this.cwd)||!await T.existsPromise(e.cwd))return;let n=this.configuration.get("preferAggregateCacheInfo"),s=0,o=null;for(let a of await T.readdirPromise(e.cwd)){if(i.has(a))continue;let l=v.resolve(e.cwd,a);e.markedFiles.has(l)||(o=a,e.immutable?r.reportError(z.IMMUTABLE_CACHE,`${Ve(this.configuration,v.basename(l),"magenta")} appears to be unused and would be marked for deletion, but the cache is immutable`):(n?s+=1:r.reportInfo(z.UNUSED_CACHE_ENTRY,`${Ve(this.configuration,v.basename(l),"magenta")} appears to be unused - removing`),await T.removePromise(l)))}n&&s!==0&&r.reportInfo(z.UNUSED_CACHE_ENTRY,s>1?`${s} packages appeared to be unused and were removed`:`${o} appeared to be unused and was removed`),e.markedFiles.clear()}};function lUe({project:t,allDescriptors:e,allResolutions:r,allPackages:i,accessibleLocators:n=new Set,optionalBuilds:s=new Set,volatileDescriptors:o=new Set,peerRequirements:a=new Map,report:l,tolerateMissingPackages:c=!1}){var ne;let u=new Map,g=[],f=new Map,h=new Map,p=new Map,d=new Map,m=new Map,I=new Map(t.workspaces.map(q=>{let A=q.anchoredLocator.locatorHash,V=i.get(A);if(typeof V=="undefined"){if(c)return[A,null];throw new Error("Assertion failed: The workspace should have an associated package")}return[A,ap(V)]})),B=()=>{let q=T.mktempSync(),A=v.join(q,"stacktrace.log"),V=String(g.length+1).length,W=g.map((X,F)=>`${`${F+1}.`.padStart(V," ")} ${is(X)} +`).join("");throw T.writeFileSync(A,W),T.detachTemp(q),new nt(z.STACK_OVERFLOW_RESOLUTION,`Encountered a stack overflow when resolving peer dependencies; cf ${M.fromPortablePath(A)}`)},b=q=>{let A=r.get(q.descriptorHash);if(typeof A=="undefined")throw new Error("Assertion failed: The resolution should have been registered");let V=i.get(A);if(!V)throw new Error("Assertion failed: The package could not be found");return V},R=(q,A,V,{top:W,optional:X})=>{g.length>1e3&&B(),g.push(A);let F=H(q,A,V,{top:W,optional:X});return g.pop(),F},H=(q,A,V,{top:W,optional:X})=>{if(n.has(A.locatorHash))return;n.add(A.locatorHash),X||s.delete(A.locatorHash);let F=i.get(A.locatorHash);if(!F){if(c)return;throw new Error(`Assertion failed: The package (${lt(t.configuration,A)}) should have been registered`)}let D=[],he=[],pe=[],Ne=[],Pe=[];for(let re of Array.from(F.dependencies.values())){if(F.peerDependencies.has(re.identHash)&&F.locatorHash!==W)continue;if(hA(re))throw new Error("Assertion failed: Virtual packages shouldn't be encountered when virtualizing a branch");o.delete(re.descriptorHash);let se=X;if(!se){let ee=F.dependenciesMeta.get(St(re));if(typeof ee!="undefined"){let Ue=ee.get(null);typeof Ue!="undefined"&&Ue.optional&&(se=!0)}}let be=r.get(re.descriptorHash);if(!be){if(c)continue;throw new Error(`Assertion failed: The resolution (${Xt(t.configuration,re)}) should have been registered`)}let ae=I.get(be)||i.get(be);if(!ae)throw new Error(`Assertion failed: The package (${be}, resolved from ${Xt(t.configuration,re)}) should have been registered`);if(ae.peerDependencies.size===0){R(re,ae,new Map,{top:W,optional:se});continue}let Ae=u.get(ae.locatorHash);typeof Ae=="number"&&Ae>=2&&B();let De,$,G=new Set,Ce;he.push(()=>{De=kx(re,A.locatorHash),$=Px(ae,A.locatorHash),F.dependencies.delete(re.identHash),F.dependencies.set(De.identHash,De),r.set(De.descriptorHash,$.locatorHash),e.set(De.descriptorHash,De),i.set($.locatorHash,$),D.push([ae,De,$])}),pe.push(()=>{var ee;Ce=new Map;for(let Ue of $.peerDependencies.values()){let Oe=F.dependencies.get(Ue.identHash);if(!Oe&&cp(A,Ue)&&(Oe=q),(!Oe||Oe.range==="missing:")&&$.dependencies.has(Ue.identHash)){$.peerDependencies.delete(Ue.identHash);continue}Oe||(Oe=Yt(Ue,"missing:")),$.dependencies.set(Oe.identHash,Oe),hA(Oe)&&Pl(p,Oe.descriptorHash).add($.locatorHash),f.set(Oe.identHash,Oe),Oe.range==="missing:"&&G.add(Oe.identHash),Ce.set(Ue.identHash,(ee=V.get(Ue.identHash))!=null?ee:$.locatorHash)}$.dependencies=new Map(gn($.dependencies,([Ue,Oe])=>St(Oe)))}),Ne.push(()=>{if(!i.has($.locatorHash))return;let ee=u.get(ae.locatorHash),Ue=typeof ee!="undefined"?ee+1:1;u.set(ae.locatorHash,Ue),R(De,$,Ce,{top:W,optional:se}),u.set(ae.locatorHash,Ue-1)}),Pe.push(()=>{let ee=F.dependencies.get(re.identHash);if(typeof ee=="undefined")throw new Error("Assertion failed: Expected the peer dependency to have been turned into a dependency");let Ue=r.get(ee.descriptorHash);if(typeof Ue=="undefined")throw new Error("Assertion failed: Expected the descriptor to be registered");if(Pl(m,Ue).add(A.locatorHash),!!i.has($.locatorHash)){for(let Oe of $.peerDependencies.values()){let vt=Ce.get(Oe.identHash);if(typeof vt=="undefined")throw new Error("Assertion failed: Expected the peer dependency ident to be registered");hu(pu(d,vt),St(Oe)).push($.locatorHash)}for(let Oe of G)$.dependencies.delete(Oe)}})}for(let re of[...he,...pe])re();let qe;do{qe=!0;for(let[re,se,be]of D){if(!i.has(be.locatorHash))continue;let ae=pu(h,re.locatorHash),Ae=zi(...[...be.dependencies.values()].map(Ce=>{let ee=Ce.range!=="missing:"?r.get(Ce.descriptorHash):"missing:";if(typeof ee=="undefined")throw new Error(`Assertion failed: Expected the resolution for ${Xt(t.configuration,Ce)} to have been registered`);return ee===W?`${ee} (top)`:ee}),se.identHash),De=ae.get(Ae);if(typeof De=="undefined"){ae.set(Ae,se);continue}if(De===se)continue;qe=!1,i.delete(be.locatorHash),e.delete(se.descriptorHash),r.delete(se.descriptorHash),n.delete(be.locatorHash);let $=p.get(se.descriptorHash)||[],G=[F.locatorHash,...$];p.delete(se.descriptorHash);for(let Ce of G){let ee=i.get(Ce);typeof ee!="undefined"&&ee.dependencies.set(se.identHash,De)}}}while(!qe);for(let re of[...Ne,...Pe])re()};for(let q of t.workspaces){let A=q.anchoredLocator;o.delete(q.anchoredDescriptor.descriptorHash),R(q.anchoredDescriptor,A,new Map,{top:A.locatorHash,optional:!1})}var L;(function(V){V[V.NotProvided=0]="NotProvided",V[V.NotCompatible=1]="NotCompatible"})(L||(L={}));let K=[];for(let[q,A]of m){let V=i.get(q);if(typeof V=="undefined")throw new Error("Assertion failed: Expected the root to be registered");let W=d.get(q);if(typeof W!="undefined")for(let X of A){let F=i.get(X);if(typeof F!="undefined")for(let[D,he]of W){let pe=En(D);if(F.peerDependencies.has(pe.identHash))continue;let Ne=`p${zi(X,D,q).slice(0,5)}`;a.set(Ne,{subject:X,requested:pe,rootRequester:q,allRequesters:he});let Pe=V.dependencies.get(pe.identHash);if(typeof Pe!="undefined"){let qe=b(Pe),re=(ne=qe.version)!=null?ne:"0.0.0",se=new Set;for(let ae of he){let Ae=i.get(ae);if(typeof Ae=="undefined")throw new Error("Assertion failed: Expected the link to be registered");let De=Ae.peerDependencies.get(pe.identHash);if(typeof De=="undefined")throw new Error("Assertion failed: Expected the ident to be registered");se.add(De.range)}[...se].every(ae=>{if(ae.startsWith(Yr.protocol)){if(!t.tryWorkspaceByLocator(qe))return!1;ae=ae.slice(Yr.protocol.length),(ae==="^"||ae==="~")&&(ae="*")}return lc(re,ae)})||K.push({type:1,subject:F,requested:pe,requester:V,version:re,hash:Ne,requirementCount:he.length})}else{let qe=V.peerDependenciesMeta.get(D);(qe==null?void 0:qe.optional)||K.push({type:0,subject:F,requested:pe,requester:V,hash:Ne})}}}}let J=[q=>Rx(q.subject),q=>St(q.requested),q=>`${q.type}`];for(let q of gn(K,J))switch(q.type){case 0:l==null||l.reportWarning(z.MISSING_PEER_DEPENDENCY,`${lt(t.configuration,q.subject)} doesn't provide ${Vr(t.configuration,q.requested)} (${Ve(t.configuration,q.hash,Le.CODE)}), requested by ${Vr(t.configuration,q.requester)}`);break;case 1:{let A=q.requirementCount>1?"and some of its descendants request":"requests";l==null||l.reportWarning(z.INCOMPATIBLE_PEER_DEPENDENCY,`${lt(t.configuration,q.subject)} provides ${Vr(t.configuration,q.requested)} (${Ve(t.configuration,q.hash,Le.CODE)}) with version ${fp(t.configuration,q.version)}, which doesn't satisfy what ${Vr(t.configuration,q.requester)} ${A}`)}break}K.length>0&&(l==null||l.reportWarning(z.UNNAMED,`Some peer dependencies are incorrectly met; run ${Ve(t.configuration,"yarn explain peer-requirements ",Le.CODE)} for details, where ${Ve(t.configuration,"",Le.CODE)} is the six-letter p-prefixed code`))}var Po;(function(l){l.VERSION="version",l.COMMAND_NAME="commandName",l.PLUGIN_NAME="pluginName",l.INSTALL_COUNT="installCount",l.PROJECT_COUNT="projectCount",l.WORKSPACE_COUNT="workspaceCount",l.DEPENDENCY_COUNT="dependencyCount",l.EXTENSION="packageExtension"})(Po||(Po={}));var Rd=class{constructor(e,r){this.values=new Map;this.hits=new Map;this.enumerators=new Map;this.configuration=e;let i=this.getRegistryPath();this.isNew=!T.existsSync(i),this.sendReport(r),this.startBuffer()}reportVersion(e){this.reportValue(Po.VERSION,e.replace(/-git\..*/,"-git"))}reportCommandName(e){this.reportValue(Po.COMMAND_NAME,e||"")}reportPluginName(e){this.reportValue(Po.PLUGIN_NAME,e)}reportProject(e){this.reportEnumerator(Po.PROJECT_COUNT,e)}reportInstall(e){this.reportHit(Po.INSTALL_COUNT,e)}reportPackageExtension(e){this.reportValue(Po.EXTENSION,e)}reportWorkspaceCount(e){this.reportValue(Po.WORKSPACE_COUNT,String(e))}reportDependencyCount(e){this.reportValue(Po.DEPENDENCY_COUNT,String(e))}reportValue(e,r){Pl(this.values,e).add(r)}reportEnumerator(e,r){Pl(this.enumerators,e).add(zi(r))}reportHit(e,r="*"){let i=pu(this.hits,e),n=na(i,r,()=>0);i.set(r,n+1)}getRegistryPath(){let e=this.configuration.get("globalFolder");return v.join(e,"telemetry.json")}sendReport(e){var u,g,f;let r=this.getRegistryPath(),i;try{i=T.readJsonSync(r)}catch{i={}}let n=Date.now(),s=this.configuration.get("telemetryInterval")*24*60*60*1e3,a=((u=i.lastUpdate)!=null?u:n+s+Math.floor(s*Math.random()))+s;if(a>n&&i.lastUpdate!=null)return;try{T.mkdirSync(v.dirname(r),{recursive:!0}),T.writeJsonSync(r,{lastUpdate:n})}catch{return}if(a>n||!i.blocks)return;let l=`https://browser-http-intake.logs.datadoghq.eu/v1/input/${e}?ddsource=yarn`,c=h=>iP(l,h,{configuration:this.configuration}).catch(()=>{});for(let[h,p]of Object.entries((g=i.blocks)!=null?g:{})){if(Object.keys(p).length===0)continue;let d=p;d.userId=h,d.reportType="primary";for(let B of Object.keys((f=d.enumerators)!=null?f:{}))d.enumerators[B]=d.enumerators[B].length;c(d);let m=new Map,I=20;for(let[B,b]of Object.entries(d.values))b.length>0&&m.set(B,b.slice(0,I));for(;m.size>0;){let B={};B.userId=h,B.reportType="secondary",B.metrics={};for(let[b,R]of m)B.metrics[b]=R.shift(),R.length===0&&m.delete(b);c(B)}}}applyChanges(){var o,a,l,c,u,g,f,h,p;let e=this.getRegistryPath(),r;try{r=T.readJsonSync(e)}catch{r={}}let i=(o=this.configuration.get("telemetryUserId"))!=null?o:"*",n=r.blocks=(a=r.blocks)!=null?a:{},s=n[i]=(l=n[i])!=null?l:{};for(let d of this.hits.keys()){let m=s.hits=(c=s.hits)!=null?c:{},I=m[d]=(u=m[d])!=null?u:{};for(let[B,b]of this.hits.get(d))I[B]=((g=I[B])!=null?g:0)+b}for(let d of["values","enumerators"])for(let m of this[d].keys()){let I=s[d]=(f=s[d])!=null?f:{};I[m]=[...new Set([...(h=I[m])!=null?h:[],...(p=this[d].get(m))!=null?p:[]])]}T.mkdirSync(v.dirname(e),{recursive:!0}),T.writeJsonSync(e,r)}startBuffer(){process.on("exit",()=>{try{this.applyChanges()}catch{}})}};var fF=ie(require("child_process")),R$=ie(ml());var hF=ie(require("fs"));var Yg=new Map([["constraints",[["constraints","query"],["constraints","source"],["constraints"]]],["exec",[]],["interactive-tools",[["search"],["upgrade-interactive"]]],["stage",[["stage"]]],["typescript",[]],["version",[["version","apply"],["version","check"],["version"]]],["workspace-tools",[["workspaces","focus"],["workspaces","foreach"]]]]);function cUe(t){let e=M.fromPortablePath(t);process.on("SIGINT",()=>{}),e?(0,fF.execFileSync)(process.execPath,[e,...process.argv.slice(2)],{stdio:"inherit",env:_(P({},process.env),{YARN_IGNORE_PATH:"1",YARN_IGNORE_CWD:"1"})}):(0,fF.execFileSync)(e,process.argv.slice(2),{stdio:"inherit",env:_(P({},process.env),{YARN_IGNORE_PATH:"1",YARN_IGNORE_CWD:"1"})})}async function i0({binaryVersion:t,pluginConfiguration:e}){async function r(){let n=new oo({binaryLabel:"Yarn Package Manager",binaryName:"yarn",binaryVersion:t});try{await i(n)}catch(s){process.stdout.write(n.error(s)),process.exitCode=1}}async function i(n){var p,d,m,I,B;let s=process.versions.node,o=">=12 <14 || 14.2 - 14.9 || >14.10.0";if(process.env.YARN_IGNORE_NODE!=="1"&&!qt.satisfiesWithPrereleases(s,o))throw new me(`This tool requires a Node version compatible with ${o} (got ${s}). Upgrade Node, or set \`YARN_IGNORE_NODE=1\` in your environment.`);let a=await fe.find(M.toPortablePath(process.cwd()),e,{usePath:!0,strict:!1}),l=a.get("yarnPath"),c=a.get("ignorePath"),u=a.get("ignoreCwd"),g=M.toPortablePath(M.resolve(process.argv[1])),f=b=>T.readFilePromise(b).catch(()=>Buffer.of());if(!c&&!u&&await(async()=>l===g||Buffer.compare(...await Promise.all([f(l),f(g)]))===0)()){process.env.YARN_IGNORE_PATH="1",process.env.YARN_IGNORE_CWD="1",await i(n);return}else if(l!==null&&!c)if(!T.existsSync(l))process.stdout.write(n.error(new Error(`The "yarn-path" option has been set (in ${a.sources.get("yarnPath")}), but the specified location doesn't exist (${l}).`))),process.exitCode=1;else try{cUe(l)}catch(b){process.exitCode=b.code||1}else{c&&delete process.env.YARN_IGNORE_PATH,a.get("enableTelemetry")&&!R$.isCI&&process.stdout.isTTY&&(fe.telemetry=new Rd(a,"puba9cdc10ec5790a2cf4969dd413a47270")),(p=fe.telemetry)==null||p.reportVersion(t);for(let[L,K]of a.plugins.entries()){Yg.has((m=(d=L.match(/^@yarnpkg\/plugin-(.*)$/))==null?void 0:d[1])!=null?m:"")&&((I=fe.telemetry)==null||I.reportPluginName(L));for(let J of K.commands||[])n.register(J)}let R=n.process(process.argv.slice(2));R.help||(B=fe.telemetry)==null||B.reportCommandName(R.path.join(" "));let H=R.cwd;if(typeof H!="undefined"&&!u){let L=(0,hF.realpathSync)(process.cwd()),K=(0,hF.realpathSync)(H);if(L!==K){process.chdir(H),await r();return}}await n.runExit(R,{cwd:M.toPortablePath(process.cwd()),plugins:e,quiet:!1,stdin:process.stdin,stdout:process.stdout,stderr:process.stderr})}}return r().catch(n=>{process.stdout.write(n.stack||n.message),process.exitCode=1}).finally(()=>T.rmtempPromise())}function F$(t){t.Command.Path=(...e)=>r=>{r.paths=r.paths||[],r.paths.push(e)};for(let e of["Array","Boolean","String","Proxy","Rest","Counter"])t.Command[e]=(...r)=>(i,n)=>{let s=t.Option[e](...r);Object.defineProperty(i,`__${n}`,{configurable:!1,enumerable:!0,get(){return s},set(o){this[n]=o}})};return t}var iC={};it(iC,{BaseCommand:()=>Be,WorkspaceRequiredError:()=>rt,getDynamicLibs:()=>Wie,getPluginConfiguration:()=>F0,main:()=>i0,openWorkspace:()=>rf,pluginCommands:()=>Yg});var Be=class extends ye{constructor(){super(...arguments);this.cwd=Y.String("--cwd",{hidden:!0})}};var rt=class extends me{constructor(e,r){let i=v.relative(e,r),n=v.join(e,Ze.fileName);super(`This command can only be run from within a workspace of your project (${i} isn't a workspace of ${n}).`)}};var dJe=ie(Or());Ss();var CJe=ie(gN()),Wie=()=>new Map([["@yarnpkg/cli",iC],["@yarnpkg/core",Fd],["@yarnpkg/fslib",ch],["@yarnpkg/libzip",Fp],["@yarnpkg/parsers",Hp],["@yarnpkg/shell",jp],["clipanion",vh],["semver",dJe],["typanion",lu],["yup",CJe]]);async function rf(t,e){let{project:r,workspace:i}=await Ke.find(t,e);if(!i)throw new rt(r.cwd,e);return i}var x_e=ie(Or());Ss();var k_e=ie(gN());var hL={};it(hL,{dedupeUtils:()=>zN,default:()=>Qze,suggestUtils:()=>LN});var WAe=ie(ml());var roe=ie(aC());Ss();var LN={};it(LN,{Modifier:()=>Lo,Strategy:()=>Fr,Target:()=>vr,WorkspaceModifier:()=>af,applyModifier:()=>Zse,extractDescriptorFromPath:()=>ON,extractRangeModifier:()=>Xse,fetchDescriptorFrom:()=>MN,findProjectDescriptors:()=>toe,getModifier:()=>AC,getSuggestedDescriptors:()=>lC,makeWorkspaceDescriptor:()=>eoe,toWorkspaceModifier:()=>$se});var TN=ie(Or()),L3e="workspace:",vr;(function(i){i.REGULAR="dependencies",i.DEVELOPMENT="devDependencies",i.PEER="peerDependencies"})(vr||(vr={}));var Lo;(function(i){i.CARET="^",i.TILDE="~",i.EXACT=""})(Lo||(Lo={}));var af;(function(i){i.CARET="^",i.TILDE="~",i.EXACT="*"})(af||(af={}));var Fr;(function(s){s.KEEP="keep",s.REUSE="reuse",s.PROJECT="project",s.LATEST="latest",s.CACHE="cache"})(Fr||(Fr={}));function AC(t,e){return t.exact?Lo.EXACT:t.caret?Lo.CARET:t.tilde?Lo.TILDE:e.configuration.get("defaultSemverRangePrefix")}var T3e=/^([\^~]?)[0-9]+(?:\.[0-9]+){0,2}(?:-\S+)?$/;function Xse(t,{project:e}){let r=t.match(T3e);return r?r[1]:e.configuration.get("defaultSemverRangePrefix")}function Zse(t,e){let{protocol:r,source:i,params:n,selector:s}=S.parseRange(t.range);return TN.default.valid(s)&&(s=`${e}${t.range}`),S.makeDescriptor(t,S.makeRange({protocol:r,source:i,params:n,selector:s}))}function $se(t){switch(t){case Lo.CARET:return af.CARET;case Lo.TILDE:return af.TILDE;case Lo.EXACT:return af.EXACT;default:throw new Error(`Assertion failed: Unknown modifier: "${t}"`)}}function eoe(t,e){return S.makeDescriptor(t.anchoredDescriptor,`${L3e}${$se(e)}`)}async function toe(t,{project:e,target:r}){let i=new Map,n=s=>{let o=i.get(s.descriptorHash);return o||i.set(s.descriptorHash,o={descriptor:s,locators:[]}),o};for(let s of e.workspaces)if(r===vr.PEER){let o=s.manifest.peerDependencies.get(t.identHash);o!==void 0&&n(o).locators.push(s.locator)}else{let o=s.manifest.dependencies.get(t.identHash),a=s.manifest.devDependencies.get(t.identHash);r===vr.DEVELOPMENT?a!==void 0?n(a).locators.push(s.locator):o!==void 0&&n(o).locators.push(s.locator):o!==void 0?n(o).locators.push(s.locator):a!==void 0&&n(a).locators.push(s.locator)}return i}async function ON(t,{cwd:e,workspace:r}){return await M3e(async i=>{v.isAbsolute(t)||(t=v.relative(r.cwd,v.resolve(e,t)),t.match(/^\.{0,2}\//)||(t=`./${t}`));let{project:n}=r,s=await MN(S.makeIdent(null,"archive"),t,{project:r.project,cache:i,workspace:r});if(!s)throw new Error("Assertion failed: The descriptor should have been found");let o=new ei,a=n.configuration.makeResolver(),l=n.configuration.makeFetcher(),c={checksums:n.storedChecksums,project:n,cache:i,fetcher:l,report:o,resolver:a},u=a.bindDescriptor(s,r.anchoredLocator,c),g=S.convertDescriptorToLocator(u),f=await l.fetch(g,c),h=await Ze.find(f.prefixPath,{baseFs:f.packageFs});if(!h.name)throw new Error("Target path doesn't have a name");return S.makeDescriptor(h.name,t)})}async function lC(t,{project:e,workspace:r,cache:i,target:n,modifier:s,strategies:o,maxResults:a=Infinity}){if(!(a>=0))throw new Error(`Invalid maxResults (${a})`);if(t.range!=="unknown")return{suggestions:[{descriptor:t,name:`Use ${S.prettyDescriptor(e.configuration,t)}`,reason:"(unambiguous explicit request)"}],rejections:[]};let l=typeof r!="undefined"&&r!==null&&r.manifest[n].get(t.identHash)||null,c=[],u=[],g=async f=>{try{await f()}catch(h){u.push(h)}};for(let f of o){if(c.length>=a)break;switch(f){case Fr.KEEP:await g(async()=>{l&&c.push({descriptor:l,name:`Keep ${S.prettyDescriptor(e.configuration,l)}`,reason:"(no changes)"})});break;case Fr.REUSE:await g(async()=>{for(let{descriptor:h,locators:p}of(await toe(t,{project:e,target:n})).values()){if(p.length===1&&p[0].locatorHash===r.anchoredLocator.locatorHash&&o.includes(Fr.KEEP))continue;let d=`(originally used by ${S.prettyLocator(e.configuration,p[0])}`;d+=p.length>1?` and ${p.length-1} other${p.length>2?"s":""})`:")",c.push({descriptor:h,name:`Reuse ${S.prettyDescriptor(e.configuration,h)}`,reason:d})}});break;case Fr.CACHE:await g(async()=>{for(let h of e.storedDescriptors.values())h.identHash===t.identHash&&c.push({descriptor:h,name:`Reuse ${S.prettyDescriptor(e.configuration,h)}`,reason:"(already used somewhere in the lockfile)"})});break;case Fr.PROJECT:await g(async()=>{if(r.manifest.name!==null&&t.identHash===r.manifest.name.identHash)return;let h=e.tryWorkspaceByIdent(t);if(h===null)return;let p=eoe(h,s);c.push({descriptor:p,name:`Attach ${S.prettyDescriptor(e.configuration,p)}`,reason:`(local workspace at ${ue.pretty(e.configuration,h.relativeCwd,ue.Type.PATH)})`})});break;case Fr.LATEST:await g(async()=>{if(t.range!=="unknown")c.push({descriptor:t,name:`Use ${S.prettyRange(e.configuration,t.range)}`,reason:"(explicit range requested)"});else if(n===vr.PEER)c.push({descriptor:S.makeDescriptor(t,"*"),name:"Use *",reason:"(catch-all peer dependency pattern)"});else if(!e.configuration.get("enableNetwork"))c.push({descriptor:null,name:"Resolve from latest",reason:ue.pretty(e.configuration,"(unavailable because enableNetwork is toggled off)","grey")});else{let h=await MN(t,"latest",{project:e,cache:i,workspace:r,preserveModifier:!1});h&&(h=Zse(h,s),c.push({descriptor:h,name:`Use ${S.prettyDescriptor(e.configuration,h)}`,reason:"(resolved from latest)"}))}});break}}return{suggestions:c.slice(0,a),rejections:u.slice(0,a)}}async function MN(t,e,{project:r,cache:i,workspace:n,preserveModifier:s=!0}){let o=S.makeDescriptor(t,e),a=new ei,l=r.configuration.makeFetcher(),c=r.configuration.makeResolver(),u={project:r,fetcher:l,cache:i,checksums:r.storedChecksums,report:a,cacheOptions:{skipIntegrityCheck:!0},skipIntegrityCheck:!0},g=_(P({},u),{resolver:c,fetchOptions:u}),f=c.bindDescriptor(o,n.anchoredLocator,g),h=await c.getCandidates(f,new Map,g);if(h.length===0)return null;let p=h[0],{protocol:d,source:m,params:I,selector:B}=S.parseRange(S.convertToManifestRange(p.reference));if(d===r.configuration.get("defaultProtocol")&&(d=null),TN.default.valid(B)&&s!==!1){let b=typeof s=="string"?s:o.range;B=Xse(b,{project:r})+B}return S.makeDescriptor(p,S.makeRange({protocol:d,source:m,params:I,selector:B}))}async function M3e(t){return await T.mktempPromise(async e=>{let r=fe.create(e);return r.useWithSource(e,{enableMirror:!1,compressionLevel:0},e,{overwrite:!0}),await t(new Qt(e,{configuration:r,check:!1,immutable:!1}))})}var cC=class extends Be{constructor(){super(...arguments);this.json=Y.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.exact=Y.Boolean("-E,--exact",!1,{description:"Don't use any semver modifier on the resolved range"});this.tilde=Y.Boolean("-T,--tilde",!1,{description:"Use the `~` semver modifier on the resolved range"});this.caret=Y.Boolean("-C,--caret",!1,{description:"Use the `^` semver modifier on the resolved range"});this.dev=Y.Boolean("-D,--dev",!1,{description:"Add a package as a dev dependency"});this.peer=Y.Boolean("-P,--peer",!1,{description:"Add a package as a peer dependency"});this.optional=Y.Boolean("-O,--optional",!1,{description:"Add / upgrade a package to an optional regular / peer dependency"});this.preferDev=Y.Boolean("--prefer-dev",!1,{description:"Add / upgrade a package to a dev dependency"});this.interactive=Y.Boolean("-i,--interactive",{description:"Reuse the specified package from other workspaces in the project"});this.cached=Y.Boolean("--cached",!1,{description:"Reuse the highest version already used somewhere within the project"});this.mode=Y.String("--mode",{description:"Change what artifacts installs generate",validator:Yi(li)});this.silent=Y.Boolean("--silent",{hidden:!0});this.packages=Y.Rest()}async execute(){var d;let e=await fe.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Ke.find(e,this.context.cwd),n=await Qt.find(e);if(!i)throw new rt(r.cwd,this.context.cwd);await r.restoreInstallState({restoreResolutions:!1});let s=(d=this.interactive)!=null?d:e.get("preferInteractive"),o=AC(this,r),a=[...s?[Fr.REUSE]:[],Fr.PROJECT,...this.cached?[Fr.CACHE]:[],Fr.LATEST],l=s?Infinity:1,c=await Promise.all(this.packages.map(async m=>{let I=m.match(/^\.{0,2}\//)?await ON(m,{cwd:this.context.cwd,workspace:i}):S.parseDescriptor(m),B=O3e(i,I,{dev:this.dev,peer:this.peer,preferDev:this.preferDev,optional:this.optional}),b=await lC(I,{project:r,workspace:i,cache:n,target:B,modifier:o,strategies:a,maxResults:l});return[I,b,B]})),u=await Fa.start({configuration:e,stdout:this.context.stdout,suggestInstall:!1},async m=>{for(let[I,{suggestions:B,rejections:b}]of c)if(B.filter(H=>H.descriptor!==null).length===0){let[H]=b;if(typeof H=="undefined")throw new Error("Assertion failed: Expected an error to have been set");r.configuration.get("enableNetwork")?m.reportError(z.CANT_SUGGEST_RESOLUTIONS,`${S.prettyDescriptor(e,I)} can't be resolved to a satisfying range`):m.reportError(z.CANT_SUGGEST_RESOLUTIONS,`${S.prettyDescriptor(e,I)} can't be resolved to a satisfying range (note: network resolution has been disabled)`),m.reportSeparator(),m.reportExceptionOnce(H)}});if(u.hasErrors())return u.exitCode();let g=!1,f=[],h=[];for(let[,{suggestions:m},I]of c){let B,b=m.filter(K=>K.descriptor!==null),R=b[0].descriptor,H=b.every(K=>S.areDescriptorsEqual(K.descriptor,R));b.length===1||H?B=R:(g=!0,{answer:B}=await(0,roe.prompt)({type:"select",name:"answer",message:"Which range do you want to use?",choices:m.map(({descriptor:K,name:J,reason:ne})=>K?{name:J,hint:ne,descriptor:K}:{name:J,hint:ne,disabled:!0}),onCancel:()=>process.exit(130),result(K){return this.find(K,"descriptor")},stdin:this.context.stdin,stdout:this.context.stdout}));let L=i.manifest[I].get(B.identHash);(typeof L=="undefined"||L.descriptorHash!==B.descriptorHash)&&(i.manifest[I].set(B.identHash,B),this.optional&&(I==="dependencies"?i.manifest.ensureDependencyMeta(_(P({},B),{range:"unknown"})).optional=!0:I==="peerDependencies"&&(i.manifest.ensurePeerDependencyMeta(_(P({},B),{range:"unknown"})).optional=!0)),typeof L=="undefined"?f.push([i,I,B,a]):h.push([i,I,L,B]))}return await e.triggerMultipleHooks(m=>m.afterWorkspaceDependencyAddition,f),await e.triggerMultipleHooks(m=>m.afterWorkspaceDependencyReplacement,h),g&&this.context.stdout.write(` +`),(await Fe.start({configuration:e,json:this.json,stdout:this.context.stdout,includeLogs:!this.context.quiet},async m=>{await r.install({cache:n,report:m,mode:this.mode})})).exitCode()}};cC.paths=[["add"]],cC.usage=ye.Usage({description:"add dependencies to the project",details:"\n This command adds a package to the package.json for the nearest workspace.\n\n - If it didn't exist before, the package will by default be added to the regular `dependencies` field, but this behavior can be overriden thanks to the `-D,--dev` flag (which will cause the dependency to be added to the `devDependencies` field instead) and the `-P,--peer` flag (which will do the same but for `peerDependencies`).\n\n - If the package was already listed in your dependencies, it will by default be upgraded whether it's part of your `dependencies` or `devDependencies` (it won't ever update `peerDependencies`, though).\n\n - If set, the `--prefer-dev` flag will operate as a more flexible `-D,--dev` in that it will add the package to your `devDependencies` if it isn't already listed in either `dependencies` or `devDependencies`, but it will also happily upgrade your `dependencies` if that's what you already use (whereas `-D,--dev` would throw an exception).\n\n - If set, the `-O,--optional` flag will add the package to the `optionalDependencies` field and, in combination with the `-P,--peer` flag, it will add the package as an optional peer dependency. If the package was already listed in your `dependencies`, it will be upgraded to `optionalDependencies`. If the package was already listed in your `peerDependencies`, in combination with the `-P,--peer` flag, it will be upgraded to an optional peer dependency: `\"peerDependenciesMeta\": { \"\": { \"optional\": true } }`\n\n - If the added package doesn't specify a range at all its `latest` tag will be resolved and the returned version will be used to generate a new semver range (using the `^` modifier by default unless otherwise configured via the `defaultSemverRangePrefix` configuration, or the `~` modifier if `-T,--tilde` is specified, or no modifier at all if `-E,--exact` is specified). Two exceptions to this rule: the first one is that if the package is a workspace then its local version will be used, and the second one is that if you use `-P,--peer` the default range will be `*` and won't be resolved at all.\n\n - If the added package specifies a range (such as `^1.0.0`, `latest`, or `rc`), Yarn will add this range as-is in the resulting package.json entry (in particular, tags such as `rc` will be encoded as-is rather than being converted into a semver range).\n\n If the `--cached` option is used, Yarn will preferably reuse the highest version already used somewhere within the project, even if through a transitive dependency.\n\n If the `-i,--interactive` option is used (or if the `preferInteractive` settings is toggled on) the command will first try to check whether other workspaces in the project use the specified package and, if so, will offer to reuse them.\n\n If the `--mode=` option is set, Yarn will change which artifacts are generated. The modes currently supported are:\n\n - `skip-build` will not run the build scripts at all. Note that this is different from setting `enableScripts` to false because the later will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run.\n\n - `update-lockfile` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost.\n\n For a compilation of all the supported protocols, please consult the dedicated page from our website: https://yarnpkg.com/features/protocols.\n ",examples:[["Add a regular package to the current workspace","$0 add lodash"],["Add a specific version for a package to the current workspace","$0 add lodash@1.2.3"],["Add a package from a GitHub repository (the master branch) to the current workspace using a URL","$0 add lodash@https://github.com/lodash/lodash"],["Add a package from a GitHub repository (the master branch) to the current workspace using the GitHub protocol","$0 add lodash@github:lodash/lodash"],["Add a package from a GitHub repository (the master branch) to the current workspace using the GitHub protocol (shorthand)","$0 add lodash@lodash/lodash"],["Add a package from a specific branch of a GitHub repository to the current workspace using the GitHub protocol (shorthand)","$0 add lodash-es@lodash/lodash#es"]]});var ioe=cC;function O3e(t,e,{dev:r,peer:i,preferDev:n,optional:s}){let o=t.manifest[vr.REGULAR].has(e.identHash),a=t.manifest[vr.DEVELOPMENT].has(e.identHash),l=t.manifest[vr.PEER].has(e.identHash);if((r||i)&&o)throw new me(`Package "${S.prettyIdent(t.project.configuration,e)}" is already listed as a regular dependency - remove the -D,-P flags or remove it from your dependencies first`);if(!r&&!i&&l)throw new me(`Package "${S.prettyIdent(t.project.configuration,e)}" is already listed as a peer dependency - use either of -D or -P, or remove it from your peer dependencies first`);if(s&&a)throw new me(`Package "${S.prettyIdent(t.project.configuration,e)}" is already listed as a dev dependency - remove the -O flag or remove it from your dev dependencies first`);if(s&&!i&&l)throw new me(`Package "${S.prettyIdent(t.project.configuration,e)}" is already listed as a peer dependency - remove the -O flag or add the -P flag or remove it from your peer dependencies first`);if((r||n)&&s)throw new me(`Package "${S.prettyIdent(t.project.configuration,e)}" cannot simultaneously be a dev dependency and an optional dependency`);return i?vr.PEER:r||n?vr.DEVELOPMENT:o?vr.REGULAR:a?vr.DEVELOPMENT:vr.REGULAR}var uC=class extends Be{constructor(){super(...arguments);this.verbose=Y.Boolean("-v,--verbose",!1,{description:"Print both the binary name and the locator of the package that provides the binary"});this.json=Y.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.name=Y.String({required:!1})}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins),{project:r,locator:i}=await Ke.find(e,this.context.cwd);if(await r.restoreInstallState(),this.name){let o=(await Kt.getPackageAccessibleBinaries(i,{project:r})).get(this.name);if(!o)throw new me(`Couldn't find a binary named "${this.name}" for package "${S.prettyLocator(e,i)}"`);let[,a]=o;return this.context.stdout.write(`${a} +`),0}return(await Fe.start({configuration:e,json:this.json,stdout:this.context.stdout},async s=>{let o=await Kt.getPackageAccessibleBinaries(i,{project:r}),l=Array.from(o.keys()).reduce((c,u)=>Math.max(c,u.length),0);for(let[c,[u,g]]of o)s.reportJson({name:c,source:S.stringifyIdent(u),path:g});if(this.verbose)for(let[c,[u]]of o)s.reportInfo(null,`${c.padEnd(l," ")} ${S.prettyLocator(e,u)}`);else for(let c of o.keys())s.reportInfo(null,c)})).exitCode()}};uC.paths=[["bin"]],uC.usage=ye.Usage({description:"get the path to a binary script",details:` + When used without arguments, this command will print the list of all the binaries available in the current workspace. Adding the \`-v,--verbose\` flag will cause the output to contain both the binary name and the locator of the package that provides the binary. + + When an argument is specified, this command will just print the path to the binary on the standard output and exit. Note that the reported path may be stored within a zip archive. + `,examples:[["List all the available binaries","$0 bin"],["Print the path to a specific binary","$0 bin eslint"]]});var noe=uC;var gC=class extends Be{constructor(){super(...arguments);this.mirror=Y.Boolean("--mirror",!1,{description:"Remove the global cache files instead of the local cache files"});this.all=Y.Boolean("--all",!1,{description:"Remove both the global cache files and the local cache files of the current project"})}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins),r=await Qt.find(e);return(await Fe.start({configuration:e,stdout:this.context.stdout},async()=>{let n=(this.all||this.mirror)&&r.mirrorCwd!==null,s=!this.mirror;n&&(await T.removePromise(r.mirrorCwd),await e.triggerHook(o=>o.cleanGlobalArtifacts,e)),s&&await T.removePromise(r.cwd)})).exitCode()}};gC.paths=[["cache","clean"],["cache","clear"]],gC.usage=ye.Usage({description:"remove the shared cache files",details:` + This command will remove all the files from the cache. + `,examples:[["Remove all the local archives","$0 cache clean"],["Remove all the archives stored in the ~/.yarn directory","$0 cache clean --mirror"]]});var soe=gC;var ooe=ie(p0()),KN=ie(require("util")),fC=class extends Be{constructor(){super(...arguments);this.json=Y.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.unsafe=Y.Boolean("--no-redacted",!1,{description:"Don't redact secrets (such as tokens) from the output"});this.name=Y.String()}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins),r=this.name.replace(/[.[].*$/,""),i=this.name.replace(/^[^.[]*/,"");if(typeof e.settings.get(r)=="undefined")throw new me(`Couldn't find a configuration settings named "${r}"`);let s=e.getSpecial(r,{hideSecrets:!this.unsafe,getNativePaths:!0}),o=de.convertMapsToIndexableObjects(s),a=i?(0,ooe.default)(o,i):o,l=await Fe.start({configuration:e,includeFooter:!1,json:this.json,stdout:this.context.stdout},async c=>{c.reportJson(a)});if(!this.json){if(typeof a=="string")return this.context.stdout.write(`${a} +`),l.exitCode();KN.inspect.styles.name="cyan",this.context.stdout.write(`${(0,KN.inspect)(a,{depth:Infinity,colors:e.get("enableColors"),compact:!1})} +`)}return l.exitCode()}};fC.paths=[["config","get"]],fC.usage=ye.Usage({description:"read a configuration settings",details:` + This command will print a configuration setting. + + Secrets (such as tokens) will be redacted from the output by default. If this behavior isn't desired, set the \`--no-redacted\` to get the untransformed value. + `,examples:[["Print a simple configuration setting","yarn config get yarnPath"],["Print a complex configuration setting","yarn config get packageExtensions"],["Print a nested field from the configuration",`yarn config get 'npmScopes["my-company"].npmRegistryServer'`],["Print a token from the configuration","yarn config get npmAuthToken --no-redacted"],["Print a configuration setting as JSON","yarn config get packageExtensions --json"]]});var aoe=fC;var Eae=ie(qN()),Iae=ie(p0()),yae=ie(mae()),JN=ie(require("util")),pC=class extends Be{constructor(){super(...arguments);this.json=Y.Boolean("--json",!1,{description:"Set complex configuration settings to JSON values"});this.home=Y.Boolean("-H,--home",!1,{description:"Update the home configuration instead of the project configuration"});this.name=Y.String();this.value=Y.String()}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins),r=()=>{if(!e.projectCwd)throw new me("This command must be run from within a project folder");return e.projectCwd},i=this.name.replace(/[.[].*$/,""),n=this.name.replace(/^[^.[]*\.?/,"");if(typeof e.settings.get(i)=="undefined")throw new me(`Couldn't find a configuration settings named "${i}"`);if(i==="enableStrictSettings")throw new me("This setting only affects the file it's in, and thus cannot be set from the CLI");let o=this.json?JSON.parse(this.value):this.value;await(this.home?h=>fe.updateHomeConfiguration(h):h=>fe.updateConfiguration(r(),h))(h=>{if(n){let p=(0,Eae.default)(h);return(0,yae.default)(p,this.name,o),p}else return _(P({},h),{[i]:o})});let c=(await fe.find(this.context.cwd,this.context.plugins)).getSpecial(i,{hideSecrets:!0,getNativePaths:!0}),u=de.convertMapsToIndexableObjects(c),g=n?(0,Iae.default)(u,n):u;return(await Fe.start({configuration:e,includeFooter:!1,stdout:this.context.stdout},async h=>{JN.inspect.styles.name="cyan",h.reportInfo(z.UNNAMED,`Successfully set ${this.name} to ${(0,JN.inspect)(g,{depth:Infinity,colors:e.get("enableColors"),compact:!1})}`)})).exitCode()}};pC.paths=[["config","set"]],pC.usage=ye.Usage({description:"change a configuration settings",details:` + This command will set a configuration setting. + + When used without the \`--json\` flag, it can only set a simple configuration setting (a string, a number, or a boolean). + + When used with the \`--json\` flag, it can set both simple and complex configuration settings, including Arrays and Objects. + `,examples:[["Set a simple configuration setting (a string, a number, or a boolean)","yarn config set initScope myScope"],["Set a simple configuration setting (a string, a number, or a boolean) using the `--json` flag",'yarn config set initScope --json \\"myScope\\"'],["Set a complex configuration setting (an Array) using the `--json` flag",`yarn config set unsafeHttpWhitelist --json '["*.example.com", "example.com"]'`],["Set a complex configuration setting (an Object) using the `--json` flag",`yarn config set packageExtensions --json '{ "@babel/parser@*": { "dependencies": { "@babel/types": "*" } } }'`],["Set a nested configuration setting",'yarn config set npmScopes.company.npmRegistryServer "https://npm.example.com"'],["Set a nested configuration setting using indexed access for non-simple keys",`yarn config set 'npmRegistries["//npm.example.com"].npmAuthToken' "ffffffff-ffff-ffff-ffff-ffffffffffff"`]]});var wae=pC;var Dae=ie(qN()),Rae=ie(Ld()),Fae=ie(Pae()),dC=class extends Be{constructor(){super(...arguments);this.home=Y.Boolean("-H,--home",!1,{description:"Update the home configuration instead of the project configuration"});this.name=Y.String()}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins),r=()=>{if(!e.projectCwd)throw new me("This command must be run from within a project folder");return e.projectCwd},i=this.name.replace(/[.[].*$/,""),n=this.name.replace(/^[^.[]*\.?/,"");if(typeof e.settings.get(i)=="undefined")throw new me(`Couldn't find a configuration settings named "${i}"`);let o=this.home?l=>fe.updateHomeConfiguration(l):l=>fe.updateConfiguration(r(),l);return(await Fe.start({configuration:e,includeFooter:!1,stdout:this.context.stdout},async l=>{let c=!1;await o(u=>{if(!(0,Rae.default)(u,this.name))return l.reportWarning(z.UNNAMED,`Configuration doesn't contain setting ${this.name}; there is nothing to unset`),c=!0,u;let g=n?(0,Dae.default)(u):P({},u);return(0,Fae.default)(g,this.name),g}),c||l.reportInfo(z.UNNAMED,`Successfully unset ${this.name}`)})).exitCode()}};dC.paths=[["config","unset"]],dC.usage=ye.Usage({description:"unset a configuration setting",details:` + This command will unset a configuration setting. + `,examples:[["Unset a simple configuration setting","yarn config unset initScope"],["Unset a complex configuration setting","yarn config unset packageExtensions"],["Unset a nested configuration setting","yarn config unset npmScopes.company.npmRegistryServer"]]});var Nae=dC;var WN=ie(require("util")),CC=class extends Be{constructor(){super(...arguments);this.verbose=Y.Boolean("-v,--verbose",!1,{description:"Print the setting description on top of the regular key/value information"});this.why=Y.Boolean("--why",!1,{description:"Print the reason why a setting is set a particular way"});this.json=Y.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins,{strict:!1});return(await Fe.start({configuration:e,json:this.json,stdout:this.context.stdout},async i=>{if(e.invalid.size>0&&!this.json){for(let[n,s]of e.invalid)i.reportError(z.INVALID_CONFIGURATION_KEY,`Invalid configuration key "${n}" in ${s}`);i.reportSeparator()}if(this.json){let n=de.sortMap(e.settings.keys(),s=>s);for(let s of n){let o=e.settings.get(s),a=e.getSpecial(s,{hideSecrets:!0,getNativePaths:!0}),l=e.sources.get(s);this.verbose?i.reportJson({key:s,effective:a,source:l}):i.reportJson(P({key:s,effective:a,source:l},o))}}else{let n=de.sortMap(e.settings.keys(),a=>a),s=n.reduce((a,l)=>Math.max(a,l.length),0),o={breakLength:Infinity,colors:e.get("enableColors"),maxArrayLength:2};if(this.why||this.verbose){let a=n.map(c=>{let u=e.settings.get(c);if(!u)throw new Error(`Assertion failed: This settings ("${c}") should have been registered`);let g=this.why?e.sources.get(c)||"":u.description;return[c,g]}),l=a.reduce((c,[,u])=>Math.max(c,u.length),0);for(let[c,u]of a)i.reportInfo(null,`${c.padEnd(s," ")} ${u.padEnd(l," ")} ${(0,WN.inspect)(e.getSpecial(c,{hideSecrets:!0,getNativePaths:!0}),o)}`)}else for(let a of n)i.reportInfo(null,`${a.padEnd(s," ")} ${(0,WN.inspect)(e.getSpecial(a,{hideSecrets:!0,getNativePaths:!0}),o)}`)}})).exitCode()}};CC.paths=[["config"]],CC.usage=ye.Usage({description:"display the current configuration",details:` + This command prints the current active configuration settings. + `,examples:[["Print the active configuration settings","$0 config"]]});var Lae=CC;Ss();var zN={};it(zN,{Strategy:()=>Oc,acceptedStrategies:()=>H4e,dedupe:()=>VN});var Tae=ie(Nn()),Oc;(function(e){e.HIGHEST="highest"})(Oc||(Oc={}));var H4e=new Set(Object.values(Oc)),G4e={highest:async(t,e,{resolver:r,fetcher:i,resolveOptions:n,fetchOptions:s})=>{let o=new Map;for(let[a,l]of t.storedResolutions){let c=t.storedDescriptors.get(a);if(typeof c=="undefined")throw new Error(`Assertion failed: The descriptor (${a}) should have been registered`);de.getSetWithDefault(o,c.identHash).add(l)}return Array.from(t.storedDescriptors.values(),async a=>{if(e.length&&!Tae.default.isMatch(S.stringifyIdent(a),e))return null;let l=t.storedResolutions.get(a.descriptorHash);if(typeof l=="undefined")throw new Error(`Assertion failed: The resolution (${a.descriptorHash}) should have been registered`);let c=t.originalPackages.get(l);if(typeof c=="undefined"||!r.shouldPersistResolution(c,n))return null;let u=o.get(a.identHash);if(typeof u=="undefined")throw new Error(`Assertion failed: The resolutions (${a.identHash}) should have been registered`);if(u.size===1)return null;let g=[...u].map(m=>{let I=t.originalPackages.get(m);if(typeof I=="undefined")throw new Error(`Assertion failed: The package (${m}) should have been registered`);return I.reference}),f=await r.getSatisfying(a,g,n),h=f==null?void 0:f[0];if(typeof h=="undefined")return null;let p=h.locatorHash,d=t.originalPackages.get(p);if(typeof d=="undefined")throw new Error(`Assertion failed: The package (${p}) should have been registered`);return p===l?null:{descriptor:a,currentPackage:c,updatedPackage:d}})}};async function VN(t,{strategy:e,patterns:r,cache:i,report:n}){let{configuration:s}=t,o=new ei,a=s.makeResolver(),l=s.makeFetcher(),c={cache:i,checksums:t.storedChecksums,fetcher:l,project:t,report:o,skipIntegrityCheck:!0,cacheOptions:{skipIntegrityCheck:!0}},u={project:t,resolver:a,report:o,fetchOptions:c};return await n.startTimerPromise("Deduplication step",async()=>{let f=await G4e[e](t,r,{resolver:a,resolveOptions:u,fetcher:l,fetchOptions:c}),h=Xi.progressViaCounter(f.length);n.reportProgress(h);let p=0;await Promise.all(f.map(I=>I.then(B=>{if(B===null)return;p++;let{descriptor:b,currentPackage:R,updatedPackage:H}=B;n.reportInfo(z.UNNAMED,`${S.prettyDescriptor(s,b)} can be deduped from ${S.prettyLocator(s,R)} to ${S.prettyLocator(s,H)}`),n.reportJson({descriptor:S.stringifyDescriptor(b),currentResolution:S.stringifyLocator(R),updatedResolution:S.stringifyLocator(H)}),t.storedResolutions.set(b.descriptorHash,H.locatorHash)}).finally(()=>h.tick())));let d;switch(p){case 0:d="No packages";break;case 1:d="One package";break;default:d=`${p} packages`}let m=ue.pretty(s,e,ue.Type.CODE);return n.reportInfo(z.UNNAMED,`${d} can be deduped using the ${m} strategy`),p})}var mC=class extends Be{constructor(){super(...arguments);this.strategy=Y.String("-s,--strategy",Oc.HIGHEST,{description:"The strategy to use when deduping dependencies",validator:Yi(Oc)});this.check=Y.Boolean("-c,--check",!1,{description:"Exit with exit code 1 when duplicates are found, without persisting the dependency tree"});this.json=Y.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.mode=Y.String("--mode",{description:"Change what artifacts installs generate",validator:Yi(li)});this.patterns=Y.Rest()}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins),{project:r}=await Ke.find(e,this.context.cwd),i=await Qt.find(e);await r.restoreInstallState({restoreResolutions:!1});let n=0,s=await Fe.start({configuration:e,includeFooter:!1,stdout:this.context.stdout,json:this.json},async o=>{n=await VN(r,{strategy:this.strategy,patterns:this.patterns,cache:i,report:o})});return s.hasErrors()?s.exitCode():this.check?n?1:0:(await Fe.start({configuration:e,stdout:this.context.stdout,json:this.json},async a=>{await r.install({cache:i,report:a,mode:this.mode})})).exitCode()}};mC.paths=[["dedupe"]],mC.usage=ye.Usage({description:"deduplicate dependencies with overlapping ranges",details:"\n Duplicates are defined as descriptors with overlapping ranges being resolved and locked to different locators. They are a natural consequence of Yarn's deterministic installs, but they can sometimes pile up and unnecessarily increase the size of your project.\n\n This command dedupes dependencies in the current project using different strategies (only one is implemented at the moment):\n\n - `highest`: Reuses (where possible) the locators with the highest versions. This means that dependencies can only be upgraded, never downgraded. It's also guaranteed that it never takes more than a single pass to dedupe the entire dependency tree.\n\n **Note:** Even though it never produces a wrong dependency tree, this command should be used with caution, as it modifies the dependency tree, which can sometimes cause problems when packages don't strictly follow semver recommendations. Because of this, it is recommended to also review the changes manually.\n\n If set, the `-c,--check` flag will only report the found duplicates, without persisting the modified dependency tree. If changes are found, the command will exit with a non-zero exit code, making it suitable for CI purposes.\n\n If the `--mode=` option is set, Yarn will change which artifacts are generated. The modes currently supported are:\n\n - `skip-build` will not run the build scripts at all. Note that this is different from setting `enableScripts` to false because the later will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run.\n\n - `update-lockfile` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost.\n\n This command accepts glob patterns as arguments (if valid Idents and supported by [micromatch](https://github.com/micromatch/micromatch)). Make sure to escape the patterns, to prevent your own shell from trying to expand them.\n\n ### In-depth explanation:\n\n Yarn doesn't deduplicate dependencies by default, otherwise installs wouldn't be deterministic and the lockfile would be useless. What it actually does is that it tries to not duplicate dependencies in the first place.\n\n **Example:** If `foo@^2.3.4` (a dependency of a dependency) has already been resolved to `foo@2.3.4`, running `yarn add foo@*`will cause Yarn to reuse `foo@2.3.4`, even if the latest `foo` is actually `foo@2.10.14`, thus preventing unnecessary duplication.\n\n Duplication happens when Yarn can't unlock dependencies that have already been locked inside the lockfile.\n\n **Example:** If `foo@^2.3.4` (a dependency of a dependency) has already been resolved to `foo@2.3.4`, running `yarn add foo@2.10.14` will cause Yarn to install `foo@2.10.14` because the existing resolution doesn't satisfy the range `2.10.14`. This behavior can lead to (sometimes) unwanted duplication, since now the lockfile contains 2 separate resolutions for the 2 `foo` descriptors, even though they have overlapping ranges, which means that the lockfile can be simplified so that both descriptors resolve to `foo@2.10.14`.\n ",examples:[["Dedupe all packages","$0 dedupe"],["Dedupe all packages using a specific strategy","$0 dedupe --strategy highest"],["Dedupe a specific package","$0 dedupe lodash"],["Dedupe all packages with the `@babel/*` scope","$0 dedupe '@babel/*'"],["Check for duplicates (can be used as a CI step)","$0 dedupe --check"]]});var Mae=mC;var Y0=class extends Be{async execute(){let{plugins:e}=await fe.find(this.context.cwd,this.context.plugins),r=[];for(let o of e){let{commands:a}=o[1];if(a){let c=oo.from(a).definitions();r.push([o[0],c])}}let i=this.cli.definitions(),n=(o,a)=>o.split(" ").slice(1).join()===a.split(" ").slice(1).join(),s=Kae()["@yarnpkg/builder"].bundles.standard;for(let o of r){let a=o[1];for(let l of a)i.find(c=>n(c.path,l.path)).plugin={name:o[0],isDefault:s.includes(o[0])}}this.context.stdout.write(`${JSON.stringify(i,null,2)} +`)}};Y0.paths=[["--clipanion=definitions"]];var Uae=Y0;var q0=class extends Be{async execute(){this.context.stdout.write(this.cli.usage(null))}};q0.paths=[["help"],["--help"],["-h"]];var Hae=q0;var _N=class extends Be{constructor(){super(...arguments);this.leadingArgument=Y.String();this.args=Y.Proxy()}async execute(){if(this.leadingArgument.match(/[\\/]/)&&!S.tryParseIdent(this.leadingArgument)){let e=v.resolve(this.context.cwd,M.toPortablePath(this.leadingArgument));return await this.cli.run(this.args,{cwd:e})}else return await this.cli.run(["run",this.leadingArgument,...this.args])}},Gae=_N;var J0=class extends Be{async execute(){this.context.stdout.write(`${Zr||""} +`)}};J0.paths=[["-v"],["--version"]];var jae=J0;var EC=class extends Be{constructor(){super(...arguments);this.commandName=Y.String();this.args=Y.Proxy()}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins),{project:r,locator:i}=await Ke.find(e,this.context.cwd);return await r.restoreInstallState(),await Kt.executePackageShellcode(i,this.commandName,this.args,{cwd:this.context.cwd,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr,project:r})}};EC.paths=[["exec"]],EC.usage=ye.Usage({description:"execute a shell script",details:` + This command simply executes a shell script within the context of the root directory of the active workspace using the portable shell. + + It also makes sure to call it in a way that's compatible with the current project (for example, on PnP projects the environment will be setup in such a way that PnP will be correctly injected into the environment). + `,examples:[["Execute a single shell command","$0 exec echo Hello World"],["Execute a shell script",'$0 exec "tsc & babel src --out-dir lib"']]});var Yae=EC;Ss();var IC=class extends Be{constructor(){super(...arguments);this.hash=Y.String({required:!1,validator:fv(gv(),[hv(/^p[0-9a-f]{5}$/)])})}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins),{project:r}=await Ke.find(e,this.context.cwd);return await r.restoreInstallState({restoreResolutions:!1}),await r.applyLightResolution(),typeof this.hash!="undefined"?await j4e(this.hash,r,{stdout:this.context.stdout}):(await Fe.start({configuration:e,stdout:this.context.stdout,includeFooter:!1},async n=>{var o;let s=[([,a])=>S.stringifyLocator(r.storedPackages.get(a.subject)),([,a])=>S.stringifyIdent(a.requested)];for(let[a,l]of de.sortMap(r.peerRequirements,s)){let c=r.storedPackages.get(l.subject);if(typeof c=="undefined")throw new Error("Assertion failed: Expected the subject package to have been registered");let u=r.storedPackages.get(l.rootRequester);if(typeof u=="undefined")throw new Error("Assertion failed: Expected the root package to have been registered");let g=(o=c.dependencies.get(l.requested.identHash))!=null?o:null,f=ue.pretty(e,a,ue.Type.CODE),h=S.prettyLocator(e,c),p=S.prettyIdent(e,l.requested),d=S.prettyIdent(e,u),m=l.allRequesters.length-1,I=`descendant${m===1?"":"s"}`,B=m>0?` and ${m} ${I}`:"",b=g!==null?"provides":"doesn't provide";n.reportInfo(null,`${f} \u2192 ${h} ${b} ${p} to ${d}${B}`)}})).exitCode()}};IC.paths=[["explain","peer-requirements"]],IC.usage=ye.Usage({description:"explain a set of peer requirements",details:` + A set of peer requirements represents all peer requirements that a dependent must satisfy when providing a given peer request to a requester and its descendants. + + When the hash argument is specified, this command prints a detailed explanation of all requirements of the set corresponding to the hash and whether they're satisfied or not. + + When used without arguments, this command lists all sets of peer requirements and the corresponding hash that can be used to get detailed information about a given set. + + **Note:** A hash is a six-letter p-prefixed code that can be obtained from peer dependency warnings or from the list of all peer requirements (\`yarn explain peer-requirements\`). + `,examples:[["Explain the corresponding set of peer requirements for a hash","$0 explain peer-requirements p1a4ed"],["List all sets of peer requirements","$0 explain peer-requirements"]]});var qae=IC;async function j4e(t,e,r){let{configuration:i}=e,n=e.peerRequirements.get(t);if(typeof n=="undefined")throw new Error(`No peerDependency requirements found for hash: "${t}"`);return(await Fe.start({configuration:i,stdout:r.stdout,includeFooter:!1},async o=>{var I,B;let a=e.storedPackages.get(n.subject);if(typeof a=="undefined")throw new Error("Assertion failed: Expected the subject package to have been registered");let l=e.storedPackages.get(n.rootRequester);if(typeof l=="undefined")throw new Error("Assertion failed: Expected the root package to have been registered");let c=(I=a.dependencies.get(n.requested.identHash))!=null?I:null,u=c!==null?e.storedResolutions.get(c.descriptorHash):null;if(typeof u=="undefined")throw new Error("Assertion failed: Expected the resolution to have been registered");let g=u!==null?e.storedPackages.get(u):null;if(typeof g=="undefined")throw new Error("Assertion failed: Expected the provided package to have been registered");let f=[...n.allRequesters.values()].map(b=>{let R=e.storedPackages.get(b);if(typeof R=="undefined")throw new Error("Assertion failed: Expected the package to be registered");let H=S.devirtualizeLocator(R),L=e.storedPackages.get(H.locatorHash);if(typeof L=="undefined")throw new Error("Assertion failed: Expected the package to be registered");let K=L.peerDependencies.get(n.requested.identHash);if(typeof K=="undefined")throw new Error("Assertion failed: Expected the peer dependency to be registered");return{pkg:R,peerDependency:K}});if(g!==null){let b=f.every(({peerDependency:R})=>qt.satisfiesWithPrereleases(g.version,R.range));o.reportInfo(z.UNNAMED,`${S.prettyLocator(i,a)} provides ${S.prettyLocator(i,g)} with version ${S.prettyReference(i,(B=g.version)!=null?B:"")}, which ${b?"satisfies":"doesn't satisfy"} the following requirements:`)}else o.reportInfo(z.UNNAMED,`${S.prettyLocator(i,a)} doesn't provide ${S.prettyIdent(i,n.requested)}, breaking the following requirements:`);o.reportSeparator();let h=ue.mark(i),p=[];for(let{pkg:b,peerDependency:R}of de.sortMap(f,H=>S.stringifyLocator(H.pkg))){let L=(g!==null?qt.satisfiesWithPrereleases(g.version,R.range):!1)?h.Check:h.Cross;p.push({stringifiedLocator:S.stringifyLocator(b),prettyLocator:S.prettyLocator(i,b),prettyRange:S.prettyRange(i,R.range),mark:L})}let d=Math.max(...p.map(({stringifiedLocator:b})=>b.length)),m=Math.max(...p.map(({prettyRange:b})=>b.length));for(let{stringifiedLocator:b,prettyLocator:R,prettyRange:H,mark:L}of de.sortMap(p,({stringifiedLocator:K})=>K))o.reportInfo(null,`${R.padEnd(d+(R.length-b.length)," ")} \u2192 ${H.padEnd(m," ")} ${L}`);p.length>1&&(o.reportSeparator(),o.reportInfo(z.UNNAMED,`Note: these requirements start with ${S.prettyLocator(e.configuration,l)}`))})).exitCode()}var Jae=ie(Nn()),yC=class extends Be{constructor(){super(...arguments);this.all=Y.Boolean("-A,--all",!1,{description:"Print versions of a package from the whole project"});this.recursive=Y.Boolean("-R,--recursive",!1,{description:"Print information for all packages, including transitive dependencies"});this.extra=Y.Array("-X,--extra",[],{description:"An array of requests of extra data provided by plugins"});this.cache=Y.Boolean("--cache",!1,{description:"Print information about the cache entry of a package (path, size, checksum)"});this.dependents=Y.Boolean("--dependents",!1,{description:"Print all dependents for each matching package"});this.manifest=Y.Boolean("--manifest",!1,{description:"Print data obtained by looking at the package archive (license, homepage, ...)"});this.nameOnly=Y.Boolean("--name-only",!1,{description:"Only print the name for the matching packages"});this.virtuals=Y.Boolean("--virtuals",!1,{description:"Print each instance of the virtual packages"});this.json=Y.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.patterns=Y.Rest()}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Ke.find(e,this.context.cwd),n=await Qt.find(e);if(!i&&!this.all)throw new rt(r.cwd,this.context.cwd);await r.restoreInstallState();let s=new Set(this.extra);this.cache&&s.add("cache"),this.dependents&&s.add("dependents"),this.manifest&&s.add("manifest");let o=(b,{recursive:R})=>{let H=b.anchoredLocator.locatorHash,L=new Map,K=[H];for(;K.length>0;){let J=K.shift();if(L.has(J))continue;let ne=r.storedPackages.get(J);if(typeof ne=="undefined")throw new Error("Assertion failed: Expected the package to be registered");if(L.set(J,ne),S.isVirtualLocator(ne)&&K.push(S.devirtualizeLocator(ne).locatorHash),!(!R&&J!==H))for(let q of ne.dependencies.values()){let A=r.storedResolutions.get(q.descriptorHash);if(typeof A=="undefined")throw new Error("Assertion failed: Expected the resolution to be registered");K.push(A)}}return L.values()},a=({recursive:b})=>{let R=new Map;for(let H of r.workspaces)for(let L of o(H,{recursive:b}))R.set(L.locatorHash,L);return R.values()},l=({all:b,recursive:R})=>b&&R?r.storedPackages.values():b?a({recursive:R}):o(i,{recursive:R}),c=({all:b,recursive:R})=>{let H=l({all:b,recursive:R}),L=this.patterns.map(ne=>{let q=S.parseLocator(ne),A=Jae.default.makeRe(S.stringifyIdent(q)),V=S.isVirtualLocator(q),W=V?S.devirtualizeLocator(q):q;return X=>{let F=S.stringifyIdent(X);if(!A.test(F))return!1;if(q.reference==="unknown")return!0;let D=S.isVirtualLocator(X),he=D?S.devirtualizeLocator(X):X;return!(V&&D&&q.reference!==X.reference||W.reference!==he.reference)}}),K=de.sortMap([...H],ne=>S.stringifyLocator(ne));return{selection:K.filter(ne=>L.length===0||L.some(q=>q(ne))),sortedLookup:K}},{selection:u,sortedLookup:g}=c({all:this.all,recursive:this.recursive});if(u.length===0)throw new me("No package matched your request");let f=new Map;if(this.dependents)for(let b of g)for(let R of b.dependencies.values()){let H=r.storedResolutions.get(R.descriptorHash);if(typeof H=="undefined")throw new Error("Assertion failed: Expected the resolution to be registered");de.getArrayWithDefault(f,H).push(b)}let h=new Map;for(let b of g){if(!S.isVirtualLocator(b))continue;let R=S.devirtualizeLocator(b);de.getArrayWithDefault(h,R.locatorHash).push(b)}let p={},d={children:p},m=e.makeFetcher(),I={project:r,fetcher:m,cache:n,checksums:r.storedChecksums,report:new ei,cacheOptions:{skipIntegrityCheck:!0},skipIntegrityCheck:!0},B=[async(b,R,H)=>{var J,ne;if(!R.has("manifest"))return;let L=await m.fetch(b,I),K;try{K=await Ze.find(L.prefixPath,{baseFs:L.packageFs})}finally{(J=L.releaseFs)==null||J.call(L)}H("Manifest",{License:ue.tuple(ue.Type.NO_HINT,K.license),Homepage:ue.tuple(ue.Type.URL,(ne=K.raw.homepage)!=null?ne:null)})},async(b,R,H)=>{var A;if(!R.has("cache"))return;let L={mockedPackages:r.disabledLocators,unstablePackages:r.conditionalLocators},K=(A=r.storedChecksums.get(b.locatorHash))!=null?A:null,J=n.getLocatorPath(b,K,L),ne;if(J!==null)try{ne=T.statSync(J)}catch{}let q=typeof ne!="undefined"?[ne.size,ue.Type.SIZE]:void 0;H("Cache",{Checksum:ue.tuple(ue.Type.NO_HINT,K),Path:ue.tuple(ue.Type.PATH,J),Size:q})}];for(let b of u){let R=S.isVirtualLocator(b);if(!this.virtuals&&R)continue;let H={},L={value:[b,ue.Type.LOCATOR],children:H};if(p[S.stringifyLocator(b)]=L,this.nameOnly){delete L.children;continue}let K=h.get(b.locatorHash);typeof K!="undefined"&&(H.Instances={label:"Instances",value:ue.tuple(ue.Type.NUMBER,K.length)}),H.Version={label:"Version",value:ue.tuple(ue.Type.NO_HINT,b.version)};let J=(q,A)=>{let V={};if(H[q]=V,Array.isArray(A))V.children=A.map(W=>({value:W}));else{let W={};V.children=W;for(let[X,F]of Object.entries(A))typeof F!="undefined"&&(W[X]={label:X,value:F})}};if(!R){for(let q of B)await q(b,s,J);await e.triggerHook(q=>q.fetchPackageInfo,b,s,J)}b.bin.size>0&&!R&&J("Exported Binaries",[...b.bin.keys()].map(q=>ue.tuple(ue.Type.PATH,q)));let ne=f.get(b.locatorHash);typeof ne!="undefined"&&ne.length>0&&J("Dependents",ne.map(q=>ue.tuple(ue.Type.LOCATOR,q))),b.dependencies.size>0&&!R&&J("Dependencies",[...b.dependencies.values()].map(q=>{var W;let A=r.storedResolutions.get(q.descriptorHash),V=typeof A!="undefined"&&(W=r.storedPackages.get(A))!=null?W:null;return ue.tuple(ue.Type.RESOLUTION,{descriptor:q,locator:V})})),b.peerDependencies.size>0&&R&&J("Peer dependencies",[...b.peerDependencies.values()].map(q=>{var X,F;let A=b.dependencies.get(q.identHash),V=typeof A!="undefined"&&(X=r.storedResolutions.get(A.descriptorHash))!=null?X:null,W=V!==null&&(F=r.storedPackages.get(V))!=null?F:null;return ue.tuple(ue.Type.RESOLUTION,{descriptor:q,locator:W})}))}Hs.emitTree(d,{configuration:e,json:this.json,stdout:this.context.stdout,separators:this.nameOnly?0:2})}};yC.paths=[["info"]],yC.usage=ye.Usage({description:"see information related to packages",details:"\n This command prints various information related to the specified packages, accepting glob patterns.\n\n By default, if the locator reference is missing, Yarn will default to print the information about all the matching direct dependencies of the package for the active workspace. To instead print all versions of the package that are direct dependencies of any of your workspaces, use the `-A,--all` flag. Adding the `-R,--recursive` flag will also report transitive dependencies.\n\n Some fields will be hidden by default in order to keep the output readable, but can be selectively displayed by using additional options (`--dependents`, `--manifest`, `--virtuals`, ...) described in the option descriptions.\n\n Note that this command will only print the information directly related to the selected packages - if you wish to know why the package is there in the first place, use `yarn why` which will do just that (it also provides a `-R,--recursive` flag that may be of some help).\n ",examples:[["Show information about Lodash","$0 info lodash"]]});var Wae=yC;var W0=ie(ml());Ss();var wC=class extends Be{constructor(){super(...arguments);this.json=Y.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.immutable=Y.Boolean("--immutable",{description:"Abort with an error exit code if the lockfile was to be modified"});this.immutableCache=Y.Boolean("--immutable-cache",{description:"Abort with an error exit code if the cache folder was to be modified"});this.checkCache=Y.Boolean("--check-cache",!1,{description:"Always refetch the packages and ensure that their checksums are consistent"});this.inlineBuilds=Y.Boolean("--inline-builds",{description:"Verbosely print the output of the build steps of dependencies"});this.mode=Y.String("--mode",{description:"Change what artifacts installs generate",validator:Yi(li)});this.cacheFolder=Y.String("--cache-folder",{hidden:!0});this.frozenLockfile=Y.Boolean("--frozen-lockfile",{hidden:!0});this.ignoreEngines=Y.Boolean("--ignore-engines",{hidden:!0});this.nonInteractive=Y.Boolean("--non-interactive",{hidden:!0});this.preferOffline=Y.Boolean("--prefer-offline",{hidden:!0});this.production=Y.Boolean("--production",{hidden:!0});this.registry=Y.String("--registry",{hidden:!0});this.silent=Y.Boolean("--silent",{hidden:!0});this.networkTimeout=Y.String("--network-timeout",{hidden:!0})}async execute(){var c;let e=await fe.find(this.context.cwd,this.context.plugins);typeof this.inlineBuilds!="undefined"&&e.useWithSource("",{enableInlineBuilds:this.inlineBuilds},e.startingCwd,{overwrite:!0});let r=!!process.env.FUNCTION_TARGET||!!process.env.GOOGLE_RUNTIME,i=async(u,{error:g})=>{let f=await Fe.start({configuration:e,stdout:this.context.stdout,includeFooter:!1},async h=>{g?h.reportError(z.DEPRECATED_CLI_SETTINGS,u):h.reportWarning(z.DEPRECATED_CLI_SETTINGS,u)});return f.hasErrors()?f.exitCode():null};if(typeof this.ignoreEngines!="undefined"){let u=await i("The --ignore-engines option is deprecated; engine checking isn't a core feature anymore",{error:!W0.default.VERCEL});if(u!==null)return u}if(typeof this.registry!="undefined"){let u=await i("The --registry option is deprecated; prefer setting npmRegistryServer in your .yarnrc.yml file",{error:!1});if(u!==null)return u}if(typeof this.preferOffline!="undefined"){let u=await i("The --prefer-offline flag is deprecated; use the --cached flag with 'yarn add' instead",{error:!W0.default.VERCEL});if(u!==null)return u}if(typeof this.production!="undefined"){let u=await i("The --production option is deprecated on 'install'; use 'yarn workspaces focus' instead",{error:!0});if(u!==null)return u}if(typeof this.nonInteractive!="undefined"){let u=await i("The --non-interactive option is deprecated",{error:!r});if(u!==null)return u}if(typeof this.frozenLockfile!="undefined"&&(await i("The --frozen-lockfile option is deprecated; use --immutable and/or --immutable-cache instead",{error:!1}),this.immutable=this.frozenLockfile),typeof this.cacheFolder!="undefined"){let u=await i("The cache-folder option has been deprecated; use rc settings instead",{error:!W0.default.NETLIFY});if(u!==null)return u}let n=(c=this.immutable)!=null?c:e.get("enableImmutableInstalls");if(e.projectCwd!==null){let u=await Fe.start({configuration:e,json:this.json,stdout:this.context.stdout,includeFooter:!1},async g=>{await Y4e(e,n)&&(g.reportInfo(z.AUTOMERGE_SUCCESS,"Automatically fixed merge conflicts \u{1F44D}"),g.reportSeparator())});if(u.hasErrors())return u.exitCode()}if(e.projectCwd!==null&&typeof e.sources.get("nodeLinker")=="undefined"){let u=e.projectCwd,g;try{g=await T.readFilePromise(v.join(u,wt.lockfile),"utf8")}catch{}if(g==null?void 0:g.includes("yarn lockfile v1")){let f=await Fe.start({configuration:e,json:this.json,stdout:this.context.stdout,includeFooter:!1},async h=>{h.reportInfo(z.AUTO_NM_SUCCESS,"Migrating from Yarn 1; automatically enabling the compatibility node-modules linker \u{1F44D}"),h.reportSeparator(),e.use("",{nodeLinker:"node-modules"},u,{overwrite:!0}),await fe.updateConfiguration(u,{nodeLinker:"node-modules"})});if(f.hasErrors())return f.exitCode()}}if(e.projectCwd!==null){let u=await Fe.start({configuration:e,json:this.json,stdout:this.context.stdout,includeFooter:!1},async g=>{var f;((f=fe.telemetry)==null?void 0:f.isNew)&&(g.reportInfo(z.TELEMETRY_NOTICE,"Yarn will periodically gather anonymous telemetry: https://yarnpkg.com/advanced/telemetry"),g.reportInfo(z.TELEMETRY_NOTICE,`Run ${ue.pretty(e,"yarn config set --home enableTelemetry 0",ue.Type.CODE)} to disable`),g.reportSeparator())});if(u.hasErrors())return u.exitCode()}let{project:s,workspace:o}=await Ke.find(e,this.context.cwd),a=await Qt.find(e,{immutable:this.immutableCache,check:this.checkCache});if(!o)throw new rt(s.cwd,this.context.cwd);return await s.restoreInstallState({restoreResolutions:!1}),(await Fe.start({configuration:e,json:this.json,stdout:this.context.stdout,includeLogs:!0},async u=>{await s.install({cache:a,report:u,immutable:n,mode:this.mode})})).exitCode()}};wC.paths=[["install"],ye.Default],wC.usage=ye.Usage({description:"install the project dependencies",details:` + This command sets up your project if needed. The installation is split into four different steps that each have their own characteristics: + + - **Resolution:** First the package manager will resolve your dependencies. The exact way a dependency version is privileged over another isn't standardized outside of the regular semver guarantees. If a package doesn't resolve to what you would expect, check that all dependencies are correctly declared (also check our website for more information: ). + + - **Fetch:** Then we download all the dependencies if needed, and make sure that they're all stored within our cache (check the value of \`cacheFolder\` in \`yarn config\` to see where the cache files are stored). + + - **Link:** Then we send the dependency tree information to internal plugins tasked with writing them on the disk in some form (for example by generating the .pnp.cjs file you might know). + + - **Build:** Once the dependency tree has been written on the disk, the package manager will now be free to run the build scripts for all packages that might need it, in a topological order compatible with the way they depend on one another. See https://yarnpkg.com/advanced/lifecycle-scripts for detail. + + Note that running this command is not part of the recommended workflow. Yarn supports zero-installs, which means that as long as you store your cache and your .pnp.cjs file inside your repository, everything will work without requiring any install right after cloning your repository or switching branches. + + If the \`--immutable\` option is set (defaults to true on CI), Yarn will abort with an error exit code if the lockfile was to be modified (other paths can be added using the \`immutablePatterns\` configuration setting). For backward compatibility we offer an alias under the name of \`--frozen-lockfile\`, but it will be removed in a later release. + + If the \`--immutable-cache\` option is set, Yarn will abort with an error exit code if the cache folder was to be modified (either because files would be added, or because they'd be removed). + + If the \`--check-cache\` option is set, Yarn will always refetch the packages and will ensure that their checksum matches what's 1/ described in the lockfile 2/ inside the existing cache files (if present). This is recommended as part of your CI workflow if you're both following the Zero-Installs model and accepting PRs from third-parties, as they'd otherwise have the ability to alter the checked-in packages before submitting them. + + If the \`--inline-builds\` option is set, Yarn will verbosely print the output of the build steps of your dependencies (instead of writing them into individual files). This is likely useful mostly for debug purposes only when using Docker-like environments. + + If the \`--mode=\` option is set, Yarn will change which artifacts are generated. The modes currently supported are: + + - \`skip-build\` will not run the build scripts at all. Note that this is different from setting \`enableScripts\` to false because the later will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run. + + - \`update-lockfile\` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost. + `,examples:[["Install the project","$0 install"],["Validate a project when using Zero-Installs","$0 install --immutable --immutable-cache"],["Validate a project when using Zero-Installs (slightly safer if you accept external PRs)","$0 install --immutable --immutable-cache --check-cache"]]});var zae=wC,q4e="|||||||",J4e=">>>>>>>",W4e="=======",Vae="<<<<<<<";async function Y4e(t,e){if(!t.projectCwd)return!1;let r=v.join(t.projectCwd,t.get("lockfileFilename"));if(!await T.existsPromise(r))return!1;let i=await T.readFilePromise(r,"utf8");if(!i.includes(Vae))return!1;if(e)throw new nt(z.AUTOMERGE_IMMUTABLE,"Cannot autofix a lockfile when running an immutable install");let[n,s]=z4e(i),o,a;try{o=Ii(n),a=Ii(s)}catch(c){throw new nt(z.AUTOMERGE_FAILED_TO_PARSE,"The individual variants of the lockfile failed to parse")}let l=P(P({},o),a);for(let[c,u]of Object.entries(l))typeof u=="string"&&delete l[c];return await T.changeFilePromise(r,Qa(l),{automaticNewlines:!0}),!0}function z4e(t){let e=[[],[]],r=t.split(/\r?\n/g),i=!1;for(;r.length>0;){let n=r.shift();if(typeof n=="undefined")throw new Error("Assertion failed: Some lines should remain");if(n.startsWith(Vae)){for(;r.length>0;){let s=r.shift();if(typeof s=="undefined")throw new Error("Assertion failed: Some lines should remain");if(s===W4e){i=!1;break}else if(i||s.startsWith(q4e)){i=!0;continue}else e[0].push(s)}for(;r.length>0;){let s=r.shift();if(typeof s=="undefined")throw new Error("Assertion failed: Some lines should remain");if(s.startsWith(J4e))break;e[1].push(s)}}else e[0].push(n),e[1].push(n)}return[e[0].join(` +`),e[1].join(` +`)]}var BC=class extends Be{constructor(){super(...arguments);this.all=Y.Boolean("-A,--all",!1,{description:"Link all workspaces belonging to the target project to the current one"});this.private=Y.Boolean("-p,--private",!1,{description:"Also link private workspaces belonging to the target project to the current one"});this.relative=Y.Boolean("-r,--relative",!1,{description:"Link workspaces using relative paths instead of absolute paths"});this.destination=Y.String()}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Ke.find(e,this.context.cwd),n=await Qt.find(e);if(!i)throw new rt(r.cwd,this.context.cwd);await r.restoreInstallState({restoreResolutions:!1});let s=v.resolve(this.context.cwd,M.toPortablePath(this.destination)),o=await fe.find(s,this.context.plugins,{useRc:!1,strict:!1}),{project:a,workspace:l}=await Ke.find(o,s);if(r.cwd===a.cwd)throw new me("Invalid destination; Can't link the project to itself");if(!l)throw new rt(a.cwd,s);let c=r.topLevelWorkspace,u=[];if(this.all){for(let f of a.workspaces)f.manifest.name&&(!f.manifest.private||this.private)&&u.push(f);if(u.length===0)throw new me("No workspace found to be linked in the target project")}else{if(!l.manifest.name)throw new me("The target workspace doesn't have a name and thus cannot be linked");if(l.manifest.private&&!this.private)throw new me("The target workspace is marked private - use the --private flag to link it anyway");u.push(l)}for(let f of u){let h=S.stringifyIdent(f.locator),p=this.relative?v.relative(r.cwd,f.cwd):f.cwd;c.manifest.resolutions.push({pattern:{descriptor:{fullName:h}},reference:`portal:${p}`})}return(await Fe.start({configuration:e,stdout:this.context.stdout},async f=>{await r.install({cache:n,report:f})})).exitCode()}};BC.paths=[["link"]],BC.usage=ye.Usage({description:"connect the local project to another one",details:"\n This command will set a new `resolutions` field in the project-level manifest and point it to the workspace at the specified location (even if part of another project).\n ",examples:[["Register a remote workspace for use in the current project","$0 link ~/ts-loader"],["Register all workspaces from a remote project for use in the current project","$0 link ~/jest --all"]]});var _ae=BC;var QC=class extends Be{constructor(){super(...arguments);this.args=Y.Proxy()}async execute(){return this.cli.run(["exec","node",...this.args])}};QC.paths=[["node"]],QC.usage=ye.Usage({description:"run node with the hook already setup",details:` + This command simply runs Node. It also makes sure to call it in a way that's compatible with the current project (for example, on PnP projects the environment will be setup in such a way that PnP will be correctly injected into the environment). + + The Node process will use the exact same version of Node as the one used to run Yarn itself, which might be a good way to ensure that your commands always use a consistent Node version. + `,examples:[["Run a Node script","$0 node ./my-script.js"]]});var Xae=QC;var lAe=ie(require("os"));var rAe=ie(require("os"));var V4e="https://raw.githubusercontent.com/yarnpkg/berry/master/plugins.yml";async function Kc(t){let e=await Zt.get(V4e,{configuration:t});return Ii(e.toString())}var bC=class extends Be{constructor(){super(...arguments);this.json=Y.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins);return(await Fe.start({configuration:e,json:this.json,stdout:this.context.stdout},async i=>{let n=await Kc(e);for(let s of Object.entries(n)){let[l,o]=s,a=o,{experimental:c}=a,u=qr(a,["experimental"]);let g=l;c&&(g+=" [experimental]"),i.reportJson(P({name:l,experimental:c},u)),i.reportInfo(null,g)}})).exitCode()}};bC.paths=[["plugin","list"]],bC.usage=ye.Usage({category:"Plugin-related commands",description:"list the available official plugins",details:"\n This command prints the plugins available directly from the Yarn repository. Only those plugins can be referenced by name in `yarn plugin import`.\n ",examples:[["List the official plugins","$0 plugin list"]]});var Zae=bC;var $ae=ie(Or()),vC=class extends Be{constructor(){super(...arguments);this.onlyIfNeeded=Y.Boolean("--only-if-needed",!1,{description:"Only lock the Yarn version if it isn't already locked"});this.version=Y.String()}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins);if(e.get("yarnPath")&&this.onlyIfNeeded)return 0;let r=()=>{if(typeof Zr=="undefined")throw new me("The --install flag can only be used without explicit version specifier from the Yarn CLI");return`file://${process.argv[1]}`},i;if(this.version==="self")i=r();else if(this.version==="latest"||this.version==="berry"||this.version==="stable")i=`https://repo.yarnpkg.com/${await eAe(e,"stable")}/packages/yarnpkg-cli/bin/yarn.js`;else if(this.version==="canary")i=`https://repo.yarnpkg.com/${await eAe(e,"canary")}/packages/yarnpkg-cli/bin/yarn.js`;else if(this.version==="classic")i="https://nightly.yarnpkg.com/latest.js";else if(this.version.match(/^\.{0,2}[\\/]/)||M.isAbsolute(this.version))i=`file://${M.resolve(this.version)}`;else if(qt.satisfiesWithPrereleases(this.version,">=2.0.0"))i=`https://repo.yarnpkg.com/${this.version}/packages/yarnpkg-cli/bin/yarn.js`;else if(qt.satisfiesWithPrereleases(this.version,"^0.x || ^1.x"))i=`https://github.com/yarnpkg/yarn/releases/download/v${this.version}/yarn-${this.version}.js`;else if(qt.validRange(this.version))i=`https://repo.yarnpkg.com/${await _4e(e,this.version)}/packages/yarnpkg-cli/bin/yarn.js`;else throw new me(`Invalid version descriptor "${this.version}"`);return(await Fe.start({configuration:e,stdout:this.context.stdout,includeLogs:!this.context.quiet},async s=>{let o="file://",a;i.startsWith(o)?(s.reportInfo(z.UNNAMED,`Downloading ${ue.pretty(e,i,ps.URL)}`),a=await T.readFilePromise(M.toPortablePath(i.slice(o.length)))):(s.reportInfo(z.UNNAMED,`Retrieving ${ue.pretty(e,i,ps.PATH)}`),a=await Zt.get(i,{configuration:e})),await XN(e,null,a,{report:s})})).exitCode()}};vC.paths=[["set","version"]],vC.usage=ye.Usage({description:"lock the Yarn version used by the project",details:"\n This command will download a specific release of Yarn directly from the Yarn GitHub repository, will store it inside your project, and will change the `yarnPath` settings from your project `.yarnrc.yml` file to point to the new file.\n\n A very good use case for this command is to enforce the version of Yarn used by the any single member of your team inside a same project - by doing this you ensure that you have control on Yarn upgrades and downgrades (including on your deployment servers), and get rid of most of the headaches related to someone using a slightly different version and getting a different behavior than you.\n\n The version specifier can be:\n\n - a tag:\n - `latest` / `berry` / `stable` -> the most recent stable berry (`>=2.0.0`) release\n - `canary` -> the most recent canary (release candidate) berry (`>=2.0.0`) release\n - `classic` -> the most recent classic (`^0.x || ^1.x`) release\n\n - a semver range (e.g. `2.x`) -> the most recent version satisfying the range (limited to berry releases)\n\n - a semver version (e.g. `2.4.1`, `1.22.1`)\n\n - a local file referenced through either a relative or absolute path\n\n - `self` -> the version used to invoke the command\n ",examples:[["Download the latest release from the Yarn repository","$0 set version latest"],["Download the latest canary release from the Yarn repository","$0 set version canary"],["Download the latest classic release from the Yarn repository","$0 set version classic"],["Download the most recent Yarn 3 build","$0 set version 3.x"],["Download a specific Yarn 2 build","$0 set version 2.0.0-rc.30"],["Switch back to a specific Yarn 1 release","$0 set version 1.22.1"],["Use a release from the local filesystem","$0 set version ./yarn.cjs"],["Download the version used to invoke the command","$0 set version self"]]});var tAe=vC;async function _4e(t,e){let i=(await Zt.get("https://repo.yarnpkg.com/tags",{configuration:t,jsonResponse:!0})).tags.filter(n=>qt.satisfiesWithPrereleases(n,e));if(i.length===0)throw new me(`No matching release found for range ${ue.pretty(t,e,ue.Type.RANGE)}.`);return i[0]}async function eAe(t,e){let r=await Zt.get("https://repo.yarnpkg.com/tags",{configuration:t,jsonResponse:!0});if(!r.latest[e])throw new me(`Tag ${ue.pretty(t,e,ue.Type.RANGE)} not found`);return r.latest[e]}async function XN(t,e,r,{report:i}){var g;e===null&&await T.mktempPromise(async f=>{let h=v.join(f,"yarn.cjs");await T.writeFilePromise(h,r);let{stdout:p}=await hr.execvp(process.execPath,[M.fromPortablePath(h),"--version"],{cwd:f,env:_(P({},process.env),{YARN_IGNORE_PATH:"1"})});if(e=p.trim(),!$ae.default.valid(e))throw new Error(`Invalid semver version. ${ue.pretty(t,"yarn --version",ue.Type.CODE)} returned: +${e}`)});let n=(g=t.projectCwd)!=null?g:t.startingCwd,s=v.resolve(n,".yarn/releases"),o=v.resolve(s,`yarn-${e}.cjs`),a=v.relative(t.startingCwd,o),l=v.relative(n,o),c=t.get("yarnPath"),u=c===null||c.startsWith(`${s}/`);if(i.reportInfo(z.UNNAMED,`Saving the new release in ${ue.pretty(t,a,"magenta")}`),await T.removePromise(v.dirname(o)),await T.mkdirPromise(v.dirname(o),{recursive:!0}),await T.writeFilePromise(o,r,{mode:493}),u){await fe.updateConfiguration(n,{yarnPath:l});let f=await Ze.tryFind(n)||new Ze;e&&de.isTaggedYarnVersion(e)&&(f.packageManager=`yarn@${e}`);let h={};f.exportTo(h);let p=v.join(n,Ze.fileName),d=`${JSON.stringify(h,null,f.indent)} +`;await T.changeFilePromise(p,d,{automaticNewlines:!0})}}var X4e=/^[0-9]+$/;function iAe(t){return X4e.test(t)?`pull/${t}/head`:t}var Z4e=({repository:t,branch:e},r)=>[["git","init",M.fromPortablePath(r)],["git","remote","add","origin",t],["git","fetch","origin",iAe(e)],["git","reset","--hard","FETCH_HEAD"]],$4e=({branch:t})=>[["git","fetch","origin",iAe(t),"--force"],["git","reset","--hard","FETCH_HEAD"],["git","clean","-dfx"]],eze=({plugins:t,noMinify:e},r)=>[["yarn","build:cli",...new Array().concat(...t.map(i=>["--plugin",v.resolve(r,i)])),...e?["--no-minify"]:[],"|"]],SC=class extends Be{constructor(){super(...arguments);this.installPath=Y.String("--path",{description:"The path where the repository should be cloned to"});this.repository=Y.String("--repository","https://github.com/yarnpkg/berry.git",{description:"The repository that should be cloned"});this.branch=Y.String("--branch","master",{description:"The branch of the repository that should be cloned"});this.plugins=Y.Array("--plugin",[],{description:"An array of additional plugins that should be included in the bundle"});this.noMinify=Y.Boolean("--no-minify",!1,{description:"Build a bundle for development (debugging) - non-minified and non-mangled"});this.force=Y.Boolean("-f,--force",!1,{description:"Always clone the repository instead of trying to fetch the latest commits"});this.skipPlugins=Y.Boolean("--skip-plugins",!1,{description:"Skip updating the contrib plugins"})}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins),{project:r}=await Ke.find(e,this.context.cwd),i=typeof this.installPath!="undefined"?v.resolve(this.context.cwd,M.toPortablePath(this.installPath)):v.resolve(M.toPortablePath((0,rAe.tmpdir)()),"yarnpkg-sources",mn.makeHash(this.repository).slice(0,6));return(await Fe.start({configuration:e,stdout:this.context.stdout},async s=>{await $N(this,{configuration:e,report:s,target:i}),s.reportSeparator(),s.reportInfo(z.UNNAMED,"Building a fresh bundle"),s.reportSeparator(),await xC(eze(this,i),{configuration:e,context:this.context,target:i}),s.reportSeparator();let o=v.resolve(i,"packages/yarnpkg-cli/bundles/yarn.js"),a=await T.readFilePromise(o);await XN(e,"sources",a,{report:s}),this.skipPlugins||await tze(this,{project:r,report:s,target:i})})).exitCode()}};SC.paths=[["set","version","from","sources"]],SC.usage=ye.Usage({description:"build Yarn from master",details:` + This command will clone the Yarn repository into a temporary folder, then build it. The resulting bundle will then be copied into the local project. + + By default, it also updates all contrib plugins to the same commit the bundle is built from. This behavior can be disabled by using the \`--skip-plugins\` flag. + `,examples:[["Build Yarn from master","$0 set version from sources"]]});var nAe=SC;async function xC(t,{configuration:e,context:r,target:i}){for(let[n,...s]of t){let o=s[s.length-1]==="|";if(o&&s.pop(),o)await hr.pipevp(n,s,{cwd:i,stdin:r.stdin,stdout:r.stdout,stderr:r.stderr,strict:!0});else{r.stdout.write(`${ue.pretty(e,` $ ${[n,...s].join(" ")}`,"grey")} +`);try{await hr.execvp(n,s,{cwd:i,strict:!0})}catch(a){throw r.stdout.write(a.stdout||a.stack),a}}}}async function $N(t,{configuration:e,report:r,target:i}){let n=!1;if(!t.force&&T.existsSync(v.join(i,".git"))){r.reportInfo(z.UNNAMED,"Fetching the latest commits"),r.reportSeparator();try{await xC($4e(t),{configuration:e,context:t.context,target:i}),n=!0}catch(s){r.reportSeparator(),r.reportWarning(z.UNNAMED,"Repository update failed; we'll try to regenerate it")}}n||(r.reportInfo(z.UNNAMED,"Cloning the remote repository"),r.reportSeparator(),await T.removePromise(i),await T.mkdirPromise(i,{recursive:!0}),await xC(Z4e(t,i),{configuration:e,context:t.context,target:i}))}async function tze(t,{project:e,report:r,target:i}){let n=await Kc(e.configuration),s=new Set(Object.keys(n));for(let o of e.configuration.plugins.keys())!s.has(o)||await ZN(o,t,{project:e,report:r,target:i})}var sAe=ie(Or()),oAe=ie(require("url")),aAe=ie(require("vm"));var kC=class extends Be{constructor(){super(...arguments);this.name=Y.String()}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins);return(await Fe.start({configuration:e,stdout:this.context.stdout},async i=>{let{project:n}=await Ke.find(e,this.context.cwd),s,o;if(this.name.match(/^\.{0,2}[\\/]/)||M.isAbsolute(this.name)){let a=v.resolve(this.context.cwd,M.toPortablePath(this.name));i.reportInfo(z.UNNAMED,`Reading ${ue.pretty(e,a,ue.Type.PATH)}`),s=v.relative(n.cwd,a),o=await T.readFilePromise(a)}else{let a;if(this.name.match(/^https?:/)){try{new oAe.URL(this.name)}catch{throw new nt(z.INVALID_PLUGIN_REFERENCE,`Plugin specifier "${this.name}" is neither a plugin name nor a valid url`)}s=this.name,a=this.name}else{let l=S.parseLocator(this.name.replace(/^((@yarnpkg\/)?plugin-)?/,"@yarnpkg/plugin-"));if(l.reference!=="unknown"&&!sAe.default.valid(l.reference))throw new nt(z.UNNAMED,"Official plugins only accept strict version references. Use an explicit URL if you wish to download them from another location.");let c=S.stringifyIdent(l),u=await Kc(e);if(!Object.prototype.hasOwnProperty.call(u,c))throw new nt(z.PLUGIN_NAME_NOT_FOUND,`Couldn't find a plugin named "${c}" on the remote registry. Note that only the plugins referenced on our website (https://github.com/yarnpkg/berry/blob/master/plugins.yml) can be referenced by their name; any other plugin will have to be referenced through its public url (for example https://github.com/yarnpkg/berry/raw/master/packages/plugin-typescript/bin/%40yarnpkg/plugin-typescript.js).`);s=c,a=u[c].url,l.reference!=="unknown"?a=a.replace(/\/master\//,`/${c}/${l.reference}/`):Zr!==null&&(a=a.replace(/\/master\//,`/@yarnpkg/cli/${Zr}/`))}i.reportInfo(z.UNNAMED,`Downloading ${ue.pretty(e,a,"green")}`),o=await Zt.get(a,{configuration:e})}await eL(s,o,{project:n,report:i})})).exitCode()}};kC.paths=[["plugin","import"]],kC.usage=ye.Usage({category:"Plugin-related commands",description:"download a plugin",details:` + This command downloads the specified plugin from its remote location and updates the configuration to reference it in further CLI invocations. + + Three types of plugin references are accepted: + + - If the plugin is stored within the Yarn repository, it can be referenced by name. + - Third-party plugins can be referenced directly through their public urls. + - Local plugins can be referenced by their path on the disk. + + Plugins cannot be downloaded from the npm registry, and aren't allowed to have dependencies (they need to be bundled into a single file, possibly thanks to the \`@yarnpkg/builder\` package). + `,examples:[['Download and activate the "@yarnpkg/plugin-exec" plugin',"$0 plugin import @yarnpkg/plugin-exec"],['Download and activate the "@yarnpkg/plugin-exec" plugin (shorthand)',"$0 plugin import exec"],["Download and activate a community plugin","$0 plugin import https://example.org/path/to/plugin.js"],["Activate a local plugin","$0 plugin import ./path/to/plugin.js"]]});var AAe=kC;async function eL(t,e,{project:r,report:i}){let{configuration:n}=r,s={},o={exports:s};(0,aAe.runInNewContext)(e.toString(),{module:o,exports:s});let a=o.exports.name,l=`.yarn/plugins/${a}.cjs`,c=v.resolve(r.cwd,l);i.reportInfo(z.UNNAMED,`Saving the new plugin in ${ue.pretty(n,l,"magenta")}`),await T.mkdirPromise(v.dirname(c),{recursive:!0}),await T.writeFilePromise(c,e);let u={path:l,spec:t};await fe.updateConfiguration(r.cwd,g=>{let f=[],h=!1;for(let p of g.plugins||[]){let d=typeof p!="string"?p.path:p,m=v.resolve(r.cwd,M.toPortablePath(d)),{name:I}=de.dynamicRequire(m);I!==a?f.push(p):(f.push(u),h=!0)}return h||f.push(u),_(P({},g),{plugins:f})})}var rze=({pluginName:t,noMinify:e},r)=>[["yarn",`build:${t}`,...e?["--no-minify"]:[],"|"]],PC=class extends Be{constructor(){super(...arguments);this.installPath=Y.String("--path",{description:"The path where the repository should be cloned to"});this.repository=Y.String("--repository","https://github.com/yarnpkg/berry.git",{description:"The repository that should be cloned"});this.branch=Y.String("--branch","master",{description:"The branch of the repository that should be cloned"});this.noMinify=Y.Boolean("--no-minify",!1,{description:"Build a plugin for development (debugging) - non-minified and non-mangled"});this.force=Y.Boolean("-f,--force",!1,{description:"Always clone the repository instead of trying to fetch the latest commits"});this.name=Y.String()}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins),r=typeof this.installPath!="undefined"?v.resolve(this.context.cwd,M.toPortablePath(this.installPath)):v.resolve(M.toPortablePath((0,lAe.tmpdir)()),"yarnpkg-sources",mn.makeHash(this.repository).slice(0,6));return(await Fe.start({configuration:e,stdout:this.context.stdout},async n=>{let{project:s}=await Ke.find(e,this.context.cwd),o=S.parseIdent(this.name.replace(/^((@yarnpkg\/)?plugin-)?/,"@yarnpkg/plugin-")),a=S.stringifyIdent(o),l=await Kc(e);if(!Object.prototype.hasOwnProperty.call(l,a))throw new nt(z.PLUGIN_NAME_NOT_FOUND,`Couldn't find a plugin named "${a}" on the remote registry. Note that only the plugins referenced on our website (https://github.com/yarnpkg/berry/blob/master/plugins.yml) can be built and imported from sources.`);let c=a;await $N(this,{configuration:e,report:n,target:r}),await ZN(c,this,{project:s,report:n,target:r})})).exitCode()}};PC.paths=[["plugin","import","from","sources"]],PC.usage=ye.Usage({category:"Plugin-related commands",description:"build a plugin from sources",details:` + This command clones the Yarn repository into a temporary folder, builds the specified contrib plugin and updates the configuration to reference it in further CLI invocations. + + The plugins can be referenced by their short name if sourced from the official Yarn repository. + `,examples:[['Build and activate the "@yarnpkg/plugin-exec" plugin',"$0 plugin import from sources @yarnpkg/plugin-exec"],['Build and activate the "@yarnpkg/plugin-exec" plugin (shorthand)',"$0 plugin import from sources exec"]]});var cAe=PC;async function ZN(t,{context:e,noMinify:r},{project:i,report:n,target:s}){let o=t.replace(/@yarnpkg\//,""),{configuration:a}=i;n.reportSeparator(),n.reportInfo(z.UNNAMED,`Building a fresh ${o}`),n.reportSeparator(),await xC(rze({pluginName:o,noMinify:r},s),{configuration:a,context:e,target:s}),n.reportSeparator();let l=v.resolve(s,`packages/${o}/bundles/${t}.js`),c=await T.readFilePromise(l);await eL(t,c,{project:i,report:n})}var DC=class extends Be{constructor(){super(...arguments);this.name=Y.String()}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins),{project:r}=await Ke.find(e,this.context.cwd);return(await Fe.start({configuration:e,stdout:this.context.stdout},async n=>{let s=this.name,o=S.parseIdent(s);if(!e.plugins.has(s))throw new me(`${S.prettyIdent(e,o)} isn't referenced by the current configuration`);let a=`.yarn/plugins/${s}.cjs`,l=v.resolve(r.cwd,a);T.existsSync(l)&&(n.reportInfo(z.UNNAMED,`Removing ${ue.pretty(e,a,ue.Type.PATH)}...`),await T.removePromise(l)),n.reportInfo(z.UNNAMED,"Updating the configuration..."),await fe.updateConfiguration(r.cwd,c=>{if(!Array.isArray(c.plugins))return c;let u=c.plugins.filter(g=>g.path!==a);return c.plugins.length===u.length?c:_(P({},c),{plugins:u})})})).exitCode()}};DC.paths=[["plugin","remove"]],DC.usage=ye.Usage({category:"Plugin-related commands",description:"remove a plugin",details:` + This command deletes the specified plugin from the .yarn/plugins folder and removes it from the configuration. + + **Note:** The plugins have to be referenced by their name property, which can be obtained using the \`yarn plugin runtime\` command. Shorthands are not allowed. + `,examples:[["Remove a plugin imported from the Yarn repository","$0 plugin remove @yarnpkg/plugin-typescript"],["Remove a plugin imported from a local file","$0 plugin remove my-local-plugin"]]});var uAe=DC;var RC=class extends Be{constructor(){super(...arguments);this.json=Y.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins);return(await Fe.start({configuration:e,json:this.json,stdout:this.context.stdout},async i=>{for(let n of e.plugins.keys()){let s=this.context.plugins.plugins.has(n),o=n;s&&(o+=" [builtin]"),i.reportJson({name:n,builtin:s}),i.reportInfo(null,`${o}`)}})).exitCode()}};RC.paths=[["plugin","runtime"]],RC.usage=ye.Usage({category:"Plugin-related commands",description:"list the active plugins",details:` + This command prints the currently active plugins. Will be displayed both builtin plugins and external plugins. + `,examples:[["List the currently active plugins","$0 plugin runtime"]]});var gAe=RC;var FC=class extends Be{constructor(){super(...arguments);this.idents=Y.Rest()}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Ke.find(e,this.context.cwd),n=await Qt.find(e);if(!i)throw new rt(r.cwd,this.context.cwd);let s=new Set;for(let a of this.idents)s.add(S.parseIdent(a).identHash);if(await r.restoreInstallState({restoreResolutions:!1}),await r.resolveEverything({cache:n,report:new ei}),s.size>0)for(let a of r.storedPackages.values())s.has(a.identHash)&&r.storedBuildState.delete(a.locatorHash);else r.storedBuildState.clear();return(await Fe.start({configuration:e,stdout:this.context.stdout,includeLogs:!this.context.quiet},async a=>{await r.install({cache:n,report:a})})).exitCode()}};FC.paths=[["rebuild"]],FC.usage=ye.Usage({description:"rebuild the project's native packages",details:` + This command will automatically cause Yarn to forget about previous compilations of the given packages and to run them again. + + Note that while Yarn forgets the compilation, the previous artifacts aren't erased from the filesystem and may affect the next builds (in good or bad). To avoid this, you may remove the .yarn/unplugged folder, or any other relevant location where packages might have been stored (Yarn may offer a way to do that automatically in the future). + + By default all packages will be rebuilt, but you can filter the list by specifying the names of the packages you want to clear from memory. + `,examples:[["Rebuild all packages","$0 rebuild"],["Rebuild fsevents only","$0 rebuild fsevents"]]});var fAe=FC;var tL=ie(Nn());Ss();var NC=class extends Be{constructor(){super(...arguments);this.all=Y.Boolean("-A,--all",!1,{description:"Apply the operation to all workspaces from the current project"});this.mode=Y.String("--mode",{description:"Change what artifacts installs generate",validator:Yi(li)});this.patterns=Y.Rest()}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Ke.find(e,this.context.cwd),n=await Qt.find(e);if(!i)throw new rt(r.cwd,this.context.cwd);await r.restoreInstallState({restoreResolutions:!1});let s=this.all?r.workspaces:[i],o=[vr.REGULAR,vr.DEVELOPMENT,vr.PEER],a=[],l=!1,c=[];for(let h of this.patterns){let p=!1,d=S.parseIdent(h);for(let m of s){let I=[...m.manifest.peerDependenciesMeta.keys()];for(let B of(0,tL.default)(I,h))m.manifest.peerDependenciesMeta.delete(B),l=!0,p=!0;for(let B of o){let b=m.manifest.getForScope(B),R=[...b.values()].map(H=>S.stringifyIdent(H));for(let H of(0,tL.default)(R,S.stringifyIdent(d))){let{identHash:L}=S.parseIdent(H),K=b.get(L);if(typeof K=="undefined")throw new Error("Assertion failed: Expected the descriptor to be registered");m.manifest[B].delete(L),c.push([m,B,K]),l=!0,p=!0}}}p||a.push(h)}let u=a.length>1?"Patterns":"Pattern",g=a.length>1?"don't":"doesn't",f=this.all?"any":"this";if(a.length>0)throw new me(`${u} ${ue.prettyList(e,a,ps.CODE)} ${g} match any packages referenced by ${f} workspace`);return l?(await e.triggerMultipleHooks(p=>p.afterWorkspaceDependencyRemoval,c),(await Fe.start({configuration:e,stdout:this.context.stdout},async p=>{await r.install({cache:n,report:p,mode:this.mode})})).exitCode()):0}};NC.paths=[["remove"]],NC.usage=ye.Usage({description:"remove dependencies from the project",details:` + This command will remove the packages matching the specified patterns from the current workspace. + + If the \`--mode=\` option is set, Yarn will change which artifacts are generated. The modes currently supported are: + + - \`skip-build\` will not run the build scripts at all. Note that this is different from setting \`enableScripts\` to false because the later will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run. + + - \`update-lockfile\` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost. + + This command accepts glob patterns as arguments (if valid Idents and supported by [micromatch](https://github.com/micromatch/micromatch)). Make sure to escape the patterns, to prevent your own shell from trying to expand them. + `,examples:[["Remove a dependency from the current project","$0 remove lodash"],["Remove a dependency from all workspaces at once","$0 remove lodash --all"],["Remove all dependencies starting with `eslint-`","$0 remove 'eslint-*'"],["Remove all dependencies with the `@babel` scope","$0 remove '@babel/*'"],["Remove all dependencies matching `react-dom` or `react-helmet`","$0 remove 'react-{dom,helmet}'"]]});var hAe=NC;var pAe=ie(require("util")),z0=class extends Be{async execute(){let e=await fe.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Ke.find(e,this.context.cwd);if(!i)throw new rt(r.cwd,this.context.cwd);return(await Fe.start({configuration:e,stdout:this.context.stdout},async s=>{let o=i.manifest.scripts,a=de.sortMap(o.keys(),u=>u),l={breakLength:Infinity,colors:e.get("enableColors"),maxArrayLength:2},c=a.reduce((u,g)=>Math.max(u,g.length),0);for(let[u,g]of o.entries())s.reportInfo(null,`${u.padEnd(c," ")} ${(0,pAe.inspect)(g,l)}`)})).exitCode()}};z0.paths=[["run"]];var dAe=z0;var LC=class extends Be{constructor(){super(...arguments);this.inspect=Y.String("--inspect",!1,{tolerateBoolean:!0,description:"Forwarded to the underlying Node process when executing a binary"});this.inspectBrk=Y.String("--inspect-brk",!1,{tolerateBoolean:!0,description:"Forwarded to the underlying Node process when executing a binary"});this.topLevel=Y.Boolean("-T,--top-level",!1,{description:"Check the root workspace for scripts and/or binaries instead of the current one"});this.binariesOnly=Y.Boolean("-B,--binaries-only",!1,{description:"Ignore any user defined scripts and only check for binaries"});this.silent=Y.Boolean("--silent",{hidden:!0});this.scriptName=Y.String();this.args=Y.Proxy()}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins),{project:r,workspace:i,locator:n}=await Ke.find(e,this.context.cwd);await r.restoreInstallState();let s=this.topLevel?r.topLevelWorkspace.anchoredLocator:n;if(!this.binariesOnly&&await Kt.hasPackageScript(s,this.scriptName,{project:r}))return await Kt.executePackageScript(s,this.scriptName,this.args,{project:r,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr});let o=await Kt.getPackageAccessibleBinaries(s,{project:r});if(o.get(this.scriptName)){let l=[];return this.inspect&&(typeof this.inspect=="string"?l.push(`--inspect=${this.inspect}`):l.push("--inspect")),this.inspectBrk&&(typeof this.inspectBrk=="string"?l.push(`--inspect-brk=${this.inspectBrk}`):l.push("--inspect-brk")),await Kt.executePackageAccessibleBinary(s,this.scriptName,this.args,{cwd:this.context.cwd,project:r,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr,nodeArgs:l,packageAccessibleBinaries:o})}if(!this.topLevel&&!this.binariesOnly&&i&&this.scriptName.includes(":")){let c=(await Promise.all(r.workspaces.map(async u=>u.manifest.scripts.has(this.scriptName)?u:null))).filter(u=>u!==null);if(c.length===1)return await Kt.executeWorkspaceScript(c[0],this.scriptName,this.args,{stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr})}if(this.topLevel)throw this.scriptName==="node-gyp"?new me(`Couldn't find a script name "${this.scriptName}" in the top-level (used by ${S.prettyLocator(e,n)}). This typically happens because some package depends on "node-gyp" to build itself, but didn't list it in their dependencies. To fix that, please run "yarn add node-gyp" into your top-level workspace. You also can open an issue on the repository of the specified package to suggest them to use an optional peer dependency.`):new me(`Couldn't find a script name "${this.scriptName}" in the top-level (used by ${S.prettyLocator(e,n)}).`);{if(this.scriptName==="global")throw new me("The 'yarn global' commands have been removed in 2.x - consider using 'yarn dlx' or a third-party plugin instead");let l=[this.scriptName].concat(this.args);for(let[c,u]of Yg)for(let g of u)if(l.length>=g.length&&JSON.stringify(l.slice(0,g.length))===JSON.stringify(g))throw new me(`Couldn't find a script named "${this.scriptName}", but a matching command can be found in the ${c} plugin. You can install it with "yarn plugin import ${c}".`);throw new me(`Couldn't find a script named "${this.scriptName}".`)}}};LC.paths=[["run"]],LC.usage=ye.Usage({description:"run a script defined in the package.json",details:` + This command will run a tool. The exact tool that will be executed will depend on the current state of your workspace: + + - If the \`scripts\` field from your local package.json contains a matching script name, its definition will get executed. + + - Otherwise, if one of the local workspace's dependencies exposes a binary with a matching name, this binary will get executed. + + - Otherwise, if the specified name contains a colon character and if one of the workspaces in the project contains exactly one script with a matching name, then this script will get executed. + + Whatever happens, the cwd of the spawned process will be the workspace that declares the script (which makes it possible to call commands cross-workspaces using the third syntax). + `,examples:[["Run the tests from the local workspace","$0 run test"],['Same thing, but without the "run" keyword',"$0 test"],["Inspect Webpack while running","$0 run --inspect-brk webpack"]]});var CAe=LC;var TC=class extends Be{constructor(){super(...arguments);this.save=Y.Boolean("-s,--save",!1,{description:"Persist the resolution inside the top-level manifest"});this.descriptor=Y.String();this.resolution=Y.String()}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Ke.find(e,this.context.cwd),n=await Qt.find(e);if(await r.restoreInstallState({restoreResolutions:!1}),!i)throw new rt(r.cwd,this.context.cwd);let s=S.parseDescriptor(this.descriptor,!0),o=S.makeDescriptor(s,this.resolution);return r.storedDescriptors.set(s.descriptorHash,s),r.storedDescriptors.set(o.descriptorHash,o),r.resolutionAliases.set(s.descriptorHash,o.descriptorHash),(await Fe.start({configuration:e,stdout:this.context.stdout},async l=>{await r.install({cache:n,report:l})})).exitCode()}};TC.paths=[["set","resolution"]],TC.usage=ye.Usage({description:"enforce a package resolution",details:'\n This command updates the resolution table so that `descriptor` is resolved by `resolution`.\n\n Note that by default this command only affect the current resolution table - meaning that this "manual override" will disappear if you remove the lockfile, or if the package disappear from the table. If you wish to make the enforced resolution persist whatever happens, add the `-s,--save` flag which will also edit the `resolutions` field from your top-level manifest.\n\n Note that no attempt is made at validating that `resolution` is a valid resolution entry for `descriptor`.\n ',examples:[["Force all instances of lodash@npm:^1.2.3 to resolve to 1.5.0","$0 set resolution lodash@npm:^1.2.3 1.5.0"]]});var mAe=TC;var EAe=ie(Nn()),MC=class extends Be{constructor(){super(...arguments);this.all=Y.Boolean("-A,--all",!1,{description:"Unlink all workspaces belonging to the target project from the current one"});this.leadingArguments=Y.Rest()}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Ke.find(e,this.context.cwd),n=await Qt.find(e);if(!i)throw new rt(r.cwd,this.context.cwd);let s=r.topLevelWorkspace,o=new Set;if(this.leadingArguments.length===0&&this.all)for(let{pattern:l,reference:c}of s.manifest.resolutions)c.startsWith("portal:")&&o.add(l.descriptor.fullName);if(this.leadingArguments.length>0)for(let l of this.leadingArguments){let c=v.resolve(this.context.cwd,M.toPortablePath(l));if(de.isPathLike(l)){let u=await fe.find(c,this.context.plugins,{useRc:!1,strict:!1}),{project:g,workspace:f}=await Ke.find(u,c);if(!f)throw new rt(g.cwd,c);if(this.all){for(let h of g.workspaces)h.manifest.name&&o.add(S.stringifyIdent(h.locator));if(o.size===0)throw new me("No workspace found to be unlinked in the target project")}else{if(!f.manifest.name)throw new me("The target workspace doesn't have a name and thus cannot be unlinked");o.add(S.stringifyIdent(f.locator))}}else{let u=[...s.manifest.resolutions.map(({pattern:g})=>g.descriptor.fullName)];for(let g of(0,EAe.default)(u,l))o.add(g)}}return s.manifest.resolutions=s.manifest.resolutions.filter(({pattern:l})=>!o.has(l.descriptor.fullName)),(await Fe.start({configuration:e,stdout:this.context.stdout},async l=>{await r.install({cache:n,report:l})})).exitCode()}};MC.paths=[["unlink"]],MC.usage=ye.Usage({description:"disconnect the local project from another one",details:` + This command will remove any resolutions in the project-level manifest that would have been added via a yarn link with similar arguments. + `,examples:[["Unregister a remote workspace in the current project","$0 unlink ~/ts-loader"],["Unregister all workspaces from a remote project in the current project","$0 unlink ~/jest --all"],["Unregister all previously linked workspaces","$0 unlink --all"],["Unregister all workspaces matching a glob","$0 unlink '@babel/*' 'pkg-{a,b}'"]]});var IAe=MC;var yAe=ie(aC()),rL=ie(Nn());Ss();var uf=class extends Be{constructor(){super(...arguments);this.interactive=Y.Boolean("-i,--interactive",{description:"Offer various choices, depending on the detected upgrade paths"});this.exact=Y.Boolean("-E,--exact",!1,{description:"Don't use any semver modifier on the resolved range"});this.tilde=Y.Boolean("-T,--tilde",!1,{description:"Use the `~` semver modifier on the resolved range"});this.caret=Y.Boolean("-C,--caret",!1,{description:"Use the `^` semver modifier on the resolved range"});this.recursive=Y.Boolean("-R,--recursive",!1,{description:"Resolve again ALL resolutions for those packages"});this.mode=Y.String("--mode",{description:"Change what artifacts installs generate",validator:Yi(li)});this.patterns=Y.Rest()}async execute(){return this.recursive?await this.executeUpRecursive():await this.executeUpClassic()}async executeUpRecursive(){let e=await fe.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Ke.find(e,this.context.cwd),n=await Qt.find(e);if(!i)throw new rt(r.cwd,this.context.cwd);await r.restoreInstallState({restoreResolutions:!1});let s=[...r.storedDescriptors.values()],o=s.map(u=>S.stringifyIdent(u)),a=new Set;for(let u of this.patterns){if(S.parseDescriptor(u).range!=="unknown")throw new me("Ranges aren't allowed when using --recursive");for(let g of(0,rL.default)(o,u)){let f=S.parseIdent(g);a.add(f.identHash)}}let l=s.filter(u=>a.has(u.identHash));for(let u of l)r.storedDescriptors.delete(u.descriptorHash),r.storedResolutions.delete(u.descriptorHash);return(await Fe.start({configuration:e,stdout:this.context.stdout},async u=>{await r.install({cache:n,report:u})})).exitCode()}async executeUpClassic(){var d;let e=await fe.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Ke.find(e,this.context.cwd),n=await Qt.find(e);if(!i)throw new rt(r.cwd,this.context.cwd);await r.restoreInstallState({restoreResolutions:!1});let s=(d=this.interactive)!=null?d:e.get("preferInteractive"),o=AC(this,r),a=s?[Fr.KEEP,Fr.REUSE,Fr.PROJECT,Fr.LATEST]:[Fr.PROJECT,Fr.LATEST],l=[],c=[];for(let m of this.patterns){let I=!1,B=S.parseDescriptor(m);for(let b of r.workspaces)for(let R of[vr.REGULAR,vr.DEVELOPMENT]){let L=[...b.manifest.getForScope(R).values()].map(K=>S.stringifyIdent(K));for(let K of(0,rL.default)(L,S.stringifyIdent(B))){let J=S.parseIdent(K),ne=b.manifest[R].get(J.identHash);if(typeof ne=="undefined")throw new Error("Assertion failed: Expected the descriptor to be registered");let q=S.makeDescriptor(J,B.range);l.push(Promise.resolve().then(async()=>[b,R,ne,await lC(q,{project:r,workspace:b,cache:n,target:R,modifier:o,strategies:a})])),I=!0}}I||c.push(m)}if(c.length>1)throw new me(`Patterns ${ue.prettyList(e,c,ps.CODE)} don't match any packages referenced by any workspace`);if(c.length>0)throw new me(`Pattern ${ue.prettyList(e,c,ps.CODE)} doesn't match any packages referenced by any workspace`);let u=await Promise.all(l),g=await Fa.start({configuration:e,stdout:this.context.stdout,suggestInstall:!1},async m=>{for(let[,,I,{suggestions:B,rejections:b}]of u){let R=B.filter(H=>H.descriptor!==null);if(R.length===0){let[H]=b;if(typeof H=="undefined")throw new Error("Assertion failed: Expected an error to have been set");let L=this.cli.error(H);r.configuration.get("enableNetwork")?m.reportError(z.CANT_SUGGEST_RESOLUTIONS,`${S.prettyDescriptor(e,I)} can't be resolved to a satisfying range + +${L}`):m.reportError(z.CANT_SUGGEST_RESOLUTIONS,`${S.prettyDescriptor(e,I)} can't be resolved to a satisfying range (note: network resolution has been disabled) + +${L}`)}else R.length>1&&!s&&m.reportError(z.CANT_SUGGEST_RESOLUTIONS,`${S.prettyDescriptor(e,I)} has multiple possible upgrade strategies; use -i to disambiguate manually`)}});if(g.hasErrors())return g.exitCode();let f=!1,h=[];for(let[m,I,,{suggestions:B}]of u){let b,R=B.filter(J=>J.descriptor!==null),H=R[0].descriptor,L=R.every(J=>S.areDescriptorsEqual(J.descriptor,H));R.length===1||L?b=H:(f=!0,{answer:b}=await(0,yAe.prompt)({type:"select",name:"answer",message:`Which range to you want to use in ${S.prettyWorkspace(e,m)} \u276F ${I}?`,choices:B.map(({descriptor:J,name:ne,reason:q})=>J?{name:ne,hint:q,descriptor:J}:{name:ne,hint:q,disabled:!0}),onCancel:()=>process.exit(130),result(J){return this.find(J,"descriptor")},stdin:this.context.stdin,stdout:this.context.stdout}));let K=m.manifest[I].get(b.identHash);if(typeof K=="undefined")throw new Error("Assertion failed: This descriptor should have a matching entry");if(K.descriptorHash!==b.descriptorHash)m.manifest[I].set(b.identHash,b),h.push([m,I,K,b]);else{let J=e.makeResolver(),ne={project:r,resolver:J},q=J.bindDescriptor(K,m.anchoredLocator,ne);r.forgetResolution(q)}}return await e.triggerMultipleHooks(m=>m.afterWorkspaceDependencyReplacement,h),f&&this.context.stdout.write(` +`),(await Fe.start({configuration:e,stdout:this.context.stdout},async m=>{await r.install({cache:n,report:m,mode:this.mode})})).exitCode()}};uf.paths=[["up"]],uf.usage=ye.Usage({description:"upgrade dependencies across the project",details:"\n This command upgrades the packages matching the list of specified patterns to their latest available version across the whole project (regardless of whether they're part of `dependencies` or `devDependencies` - `peerDependencies` won't be affected). This is a project-wide command: all workspaces will be upgraded in the process.\n\n If `-R,--recursive` is set the command will change behavior and no other switch will be allowed. When operating under this mode `yarn up` will force all ranges matching the selected packages to be resolved again (often to the highest available versions) before being stored in the lockfile. It however won't touch your manifests anymore, so depending on your needs you might want to run both `yarn up` and `yarn up -R` to cover all bases.\n\n If `-i,--interactive` is set (or if the `preferInteractive` settings is toggled on) the command will offer various choices, depending on the detected upgrade paths. Some upgrades require this flag in order to resolve ambiguities.\n\n The, `-C,--caret`, `-E,--exact` and `-T,--tilde` options have the same meaning as in the `add` command (they change the modifier used when the range is missing or a tag, and are ignored when the range is explicitly set).\n\n If the `--mode=` option is set, Yarn will change which artifacts are generated. The modes currently supported are:\n\n - `skip-build` will not run the build scripts at all. Note that this is different from setting `enableScripts` to false because the later will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run.\n\n - `update-lockfile` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost.\n\n Generally you can see `yarn up` as a counterpart to what was `yarn upgrade --latest` in Yarn 1 (ie it ignores the ranges previously listed in your manifests), but unlike `yarn upgrade` which only upgraded dependencies in the current workspace, `yarn up` will upgrade all workspaces at the same time.\n\n This command accepts glob patterns as arguments (if valid Descriptors and supported by [micromatch](https://github.com/micromatch/micromatch)). Make sure to escape the patterns, to prevent your own shell from trying to expand them.\n\n **Note:** The ranges have to be static, only the package scopes and names can contain glob patterns.\n ",examples:[["Upgrade all instances of lodash to the latest release","$0 up lodash"],["Upgrade all instances of lodash to the latest release, but ask confirmation for each","$0 up lodash -i"],["Upgrade all instances of lodash to 1.2.3","$0 up lodash@1.2.3"],["Upgrade all instances of packages with the `@babel` scope to the latest release","$0 up '@babel/*'"],["Upgrade all instances of packages containing the word `jest` to the latest release","$0 up '*jest*'"],["Upgrade all instances of packages with the `@babel` scope to 7.0.0","$0 up '@babel/*@7.0.0'"]]}),uf.schema=[pv("recursive",Bl.Forbids,["interactive","exact","tilde","caret"],{ignore:[void 0,!1]})];var wAe=uf;var OC=class extends Be{constructor(){super(...arguments);this.recursive=Y.Boolean("-R,--recursive",!1,{description:"List, for each workspace, what are all the paths that lead to the dependency"});this.json=Y.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.peers=Y.Boolean("--peers",!1,{description:"Also print the peer dependencies that match the specified name"});this.package=Y.String()}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Ke.find(e,this.context.cwd);if(!i)throw new rt(r.cwd,this.context.cwd);await r.restoreInstallState();let n=S.parseIdent(this.package).identHash,s=this.recursive?nze(r,n,{configuration:e,peers:this.peers}):ize(r,n,{configuration:e,peers:this.peers});Hs.emitTree(s,{configuration:e,stdout:this.context.stdout,json:this.json,separators:1})}};OC.paths=[["why"]],OC.usage=ye.Usage({description:"display the reason why a package is needed",details:` + This command prints the exact reasons why a package appears in the dependency tree. + + If \`-R,--recursive\` is set, the listing will go in depth and will list, for each workspaces, what are all the paths that lead to the dependency. Note that the display is somewhat optimized in that it will not print the package listing twice for a single package, so if you see a leaf named "Foo" when looking for "Bar", it means that "Foo" already got printed higher in the tree. + `,examples:[["Explain why lodash is used in your project","$0 why lodash"]]});var BAe=OC;function ize(t,e,{configuration:r,peers:i}){let n=de.sortMap(t.storedPackages.values(),a=>S.stringifyLocator(a)),s={},o={children:s};for(let a of n){let l={},c=null;for(let u of a.dependencies.values()){if(!i&&a.peerDependencies.has(u.identHash))continue;let g=t.storedResolutions.get(u.descriptorHash);if(!g)throw new Error("Assertion failed: The resolution should have been registered");let f=t.storedPackages.get(g);if(!f)throw new Error("Assertion failed: The package should have been registered");if(f.identHash!==e)continue;if(c===null){let p=S.stringifyLocator(a);s[p]={value:[a,ue.Type.LOCATOR],children:l}}let h=S.stringifyLocator(f);l[h]={value:[{descriptor:u,locator:f},ue.Type.DEPENDENT]}}}return o}function nze(t,e,{configuration:r,peers:i}){let n=de.sortMap(t.workspaces,f=>S.stringifyLocator(f.anchoredLocator)),s=new Set,o=new Set,a=f=>{if(s.has(f.locatorHash))return o.has(f.locatorHash);if(s.add(f.locatorHash),f.identHash===e)return o.add(f.locatorHash),!0;let h=!1;f.identHash===e&&(h=!0);for(let p of f.dependencies.values()){if(!i&&f.peerDependencies.has(p.identHash))continue;let d=t.storedResolutions.get(p.descriptorHash);if(!d)throw new Error("Assertion failed: The resolution should have been registered");let m=t.storedPackages.get(d);if(!m)throw new Error("Assertion failed: The package should have been registered");a(m)&&(h=!0)}return h&&o.add(f.locatorHash),h};for(let f of n){let h=t.storedPackages.get(f.anchoredLocator.locatorHash);if(!h)throw new Error("Assertion failed: The package should have been registered");a(h)}let l=new Set,c={},u={children:c},g=(f,h,p)=>{if(!o.has(f.locatorHash))return;let d=p!==null?ue.tuple(ue.Type.DEPENDENT,{locator:f,descriptor:p}):ue.tuple(ue.Type.LOCATOR,f),m={},I={value:d,children:m},B=S.stringifyLocator(f);if(h[B]=I,!l.has(f.locatorHash)&&(l.add(f.locatorHash),!(p!==null&&t.tryWorkspaceByLocator(f))))for(let b of f.dependencies.values()){if(!i&&f.peerDependencies.has(b.identHash))continue;let R=t.storedResolutions.get(b.descriptorHash);if(!R)throw new Error("Assertion failed: The resolution should have been registered");let H=t.storedPackages.get(R);if(!H)throw new Error("Assertion failed: The package should have been registered");g(H,m,b)}};for(let f of n){let h=t.storedPackages.get(f.anchoredLocator.locatorHash);if(!h)throw new Error("Assertion failed: The package should have been registered");g(h,c,null)}return u}var fL={};it(fL,{default:()=>wze,gitUtils:()=>Uc});var Uc={};it(Uc,{TreeishProtocols:()=>vn,clone:()=>cL,fetchBase:()=>jAe,fetchChangedFiles:()=>YAe,fetchChangedWorkspaces:()=>Ize,fetchRoot:()=>GAe,isGitUrl:()=>ff,lsRemote:()=>HAe,normalizeLocator:()=>AL,normalizeRepoUrl:()=>KC,resolveUrl:()=>lL,splitRepoUrl:()=>UC});var oL=ie(OAe()),gf=ie(require("querystring")),aL=ie(Or()),KAe=ie(require("url"));function UAe(){return _(P({},process.env),{GIT_SSH_COMMAND:"ssh -o BatchMode=yes"})}var Eze=[/^ssh:/,/^git(?:\+[^:]+)?:/,/^(?:git\+)?https?:[^#]+\/[^#]+(?:\.git)(?:#.*)?$/,/^git@[^#]+\/[^#]+\.git(?:#.*)?$/,/^(?:github:|https:\/\/github\.com\/)?(?!\.{1,2}\/)([a-zA-Z._0-9-]+)\/(?!\.{1,2}(?:#|$))([a-zA-Z._0-9-]+?)(?:\.git)?(?:#.*)?$/,/^https:\/\/github\.com\/(?!\.{1,2}\/)([a-zA-Z0-9._-]+)\/(?!\.{1,2}(?:#|$))([a-zA-Z0-9._-]+?)\/tarball\/(.+)?$/],vn;(function(n){n.Commit="commit",n.Head="head",n.Tag="tag",n.Semver="semver"})(vn||(vn={}));function ff(t){return t?Eze.some(e=>!!t.match(e)):!1}function UC(t){t=KC(t);let e=t.indexOf("#");if(e===-1)return{repo:t,treeish:{protocol:vn.Head,request:"HEAD"},extra:{}};let r=t.slice(0,e),i=t.slice(e+1);if(i.match(/^[a-z]+=/)){let n=gf.default.parse(i);for(let[l,c]of Object.entries(n))if(typeof c!="string")throw new Error(`Assertion failed: The ${l} parameter must be a literal string`);let s=Object.values(vn).find(l=>Object.prototype.hasOwnProperty.call(n,l)),o,a;typeof s!="undefined"?(o=s,a=n[s]):(o=vn.Head,a="HEAD");for(let l of Object.values(vn))delete n[l];return{repo:r,treeish:{protocol:o,request:a},extra:n}}else{let n=i.indexOf(":"),s,o;return n===-1?(s=null,o=i):(s=i.slice(0,n),o=i.slice(n+1)),{repo:r,treeish:{protocol:s,request:o},extra:{}}}}function KC(t,{git:e=!1}={}){var r;if(t=t.replace(/^git\+https:/,"https:"),t=t.replace(/^(?:github:|https:\/\/github\.com\/)?(?!\.{1,2}\/)([a-zA-Z0-9._-]+)\/(?!\.{1,2}(?:#|$))([a-zA-Z0-9._-]+?)(?:\.git)?(#.*)?$/,"https://github.com/$1/$2.git$3"),t=t.replace(/^https:\/\/github\.com\/(?!\.{1,2}\/)([a-zA-Z0-9._-]+)\/(?!\.{1,2}(?:#|$))([a-zA-Z0-9._-]+?)\/tarball\/(.+)?$/,"https://github.com/$1/$2.git#$3"),e){t=t.replace(/^git\+([^:]+):/,"$1:");let i;try{i=KAe.default.parse(t)}catch{i=null}i&&i.protocol==="ssh:"&&((r=i.path)==null?void 0:r.startsWith("/:"))&&(t=t.replace(/^ssh:\/\//,""))}return t}function AL(t){return S.makeLocator(t,KC(t.reference))}async function HAe(t,e){let r=KC(t,{git:!0});if(!Zt.getNetworkSettings(`https://${(0,oL.default)(r).resource}`,{configuration:e}).enableNetwork)throw new Error(`Request to '${r}' has been blocked because of your configuration settings`);let n;try{n=await hr.execvp("git",["ls-remote",r],{cwd:e.startingCwd,env:UAe(),strict:!0})}catch(l){throw l.message=`Listing the refs for ${t} failed`,l}let s=new Map,o=/^([a-f0-9]{40})\t([^\n]+)/gm,a;for(;(a=o.exec(n.stdout))!==null;)s.set(a[2],a[1]);return s}async function lL(t,e){let{repo:r,treeish:{protocol:i,request:n},extra:s}=UC(t),o=await HAe(r,e),a=(c,u)=>{switch(c){case vn.Commit:{if(!u.match(/^[a-f0-9]{40}$/))throw new Error("Invalid commit hash");return gf.default.stringify(_(P({},s),{commit:u}))}case vn.Head:{let g=o.get(u==="HEAD"?u:`refs/heads/${u}`);if(typeof g=="undefined")throw new Error(`Unknown head ("${u}")`);return gf.default.stringify(_(P({},s),{commit:g}))}case vn.Tag:{let g=o.get(`refs/tags/${u}`);if(typeof g=="undefined")throw new Error(`Unknown tag ("${u}")`);return gf.default.stringify(_(P({},s),{commit:g}))}case vn.Semver:{let g=qt.validRange(u);if(!g)throw new Error(`Invalid range ("${u}")`);let f=new Map([...o.entries()].filter(([p])=>p.startsWith("refs/tags/")).map(([p,d])=>[aL.default.parse(p.slice(10)),d]).filter(p=>p[0]!==null)),h=aL.default.maxSatisfying([...f.keys()],g);if(h===null)throw new Error(`No matching range ("${u}")`);return gf.default.stringify(_(P({},s),{commit:f.get(h)}))}case null:{let g;if((g=l(vn.Commit,u))!==null||(g=l(vn.Tag,u))!==null||(g=l(vn.Head,u))!==null)return g;throw u.match(/^[a-f0-9]+$/)?new Error(`Couldn't resolve "${u}" as either a commit, a tag, or a head - if a commit, use the 40-characters commit hash`):new Error(`Couldn't resolve "${u}" as either a commit, a tag, or a head`)}default:throw new Error(`Invalid Git resolution protocol ("${c}")`)}},l=(c,u)=>{try{return a(c,u)}catch(g){return null}};return`${r}#${a(i,n)}`}async function cL(t,e){return await e.getLimit("cloneConcurrency")(async()=>{let{repo:r,treeish:{protocol:i,request:n}}=UC(t);if(i!=="commit")throw new Error("Invalid treeish protocol when cloning");let s=KC(r,{git:!0});if(Zt.getNetworkSettings(`https://${(0,oL.default)(s).resource}`,{configuration:e}).enableNetwork===!1)throw new Error(`Request to '${s}' has been blocked because of your configuration settings`);let o=await T.mktempPromise(),a={cwd:o,env:UAe(),strict:!0};try{await hr.execvp("git",["clone","-c core.autocrlf=false",s,M.fromPortablePath(o)],a),await hr.execvp("git",["checkout",`${n}`],a)}catch(l){throw l.message=`Repository clone failed: ${l.message}`,l}return o})}async function GAe(t){let e=null,r,i=t;do r=i,await T.existsPromise(v.join(r,".git"))&&(e=r),i=v.dirname(r);while(e===null&&i!==r);return e}async function jAe(t,{baseRefs:e}){if(e.length===0)throw new me("Can't run this command with zero base refs specified.");let r=[];for(let a of e){let{code:l}=await hr.execvp("git",["merge-base",a,"HEAD"],{cwd:t});l===0&&r.push(a)}if(r.length===0)throw new me(`No ancestor could be found between any of HEAD and ${e.join(", ")}`);let{stdout:i}=await hr.execvp("git",["merge-base","HEAD",...r],{cwd:t,strict:!0}),n=i.trim(),{stdout:s}=await hr.execvp("git",["show","--quiet","--pretty=format:%s",n],{cwd:t,strict:!0}),o=s.trim();return{hash:n,title:o}}async function YAe(t,{base:e,project:r}){let i=de.buildIgnorePattern(r.configuration.get("changesetIgnorePatterns")),{stdout:n}=await hr.execvp("git",["diff","--name-only",`${e}`],{cwd:t,strict:!0}),s=n.split(/\r\n|\r|\n/).filter(c=>c.length>0).map(c=>v.resolve(t,M.toPortablePath(c))),{stdout:o}=await hr.execvp("git",["ls-files","--others","--exclude-standard"],{cwd:t,strict:!0}),a=o.split(/\r\n|\r|\n/).filter(c=>c.length>0).map(c=>v.resolve(t,M.toPortablePath(c))),l=[...new Set([...s,...a].sort())];return i?l.filter(c=>!v.relative(r.cwd,c).match(i)):l}async function Ize({ref:t,project:e}){if(e.configuration.projectCwd===null)throw new me("This command can only be run from within a Yarn project");let r=[v.resolve(e.cwd,e.configuration.get("cacheFolder")),v.resolve(e.cwd,e.configuration.get("installStatePath")),v.resolve(e.cwd,e.configuration.get("lockfileFilename")),v.resolve(e.cwd,e.configuration.get("virtualFolder"))];await e.configuration.triggerHook(o=>o.populateYarnPaths,e,o=>{o!=null&&r.push(o)});let i=await GAe(e.configuration.projectCwd);if(i==null)throw new me("This command can only be run on Git repositories");let n=await jAe(i,{baseRefs:typeof t=="string"?[t]:e.configuration.get("changesetBaseRefs")}),s=await YAe(i,{base:n.hash,project:e});return new Set(de.mapAndFilter(s,o=>{let a=e.tryWorkspaceByFilePath(o);return a===null?de.mapAndFilter.skip:r.some(l=>o.startsWith(l))?de.mapAndFilter.skip:a}))}var uL=class{supports(e,r){return ff(e.reference)}getLocalPath(e,r){return null}async fetch(e,r){let i=r.checksums.get(e.locatorHash)||null,n=AL(e),s=new Map(r.checksums);s.set(n.locatorHash,i);let o=_(P({},r),{checksums:s}),a=await this.downloadHosted(n,o);if(a!==null)return a;let[l,c,u]=await r.cache.fetchPackageFromCache(e,i,P({onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${S.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the remote repository`),loader:()=>this.cloneFromRemote(n,o),skipIntegrityCheck:r.skipIntegrityCheck},r.cacheOptions));return{packageFs:l,releaseFs:c,prefixPath:S.getIdentVendorPath(e),checksum:u}}async downloadHosted(e,r){return r.project.configuration.reduceHook(i=>i.fetchHostedRepository,null,e,r)}async cloneFromRemote(e,r){let i=await cL(e.reference,r.project.configuration),n=UC(e.reference),s=v.join(i,"package.tgz");await Kt.prepareExternalProject(i,s,{configuration:r.project.configuration,report:r.report,workspace:n.extra.workspace,locator:e});let o=await T.readFilePromise(s);return await de.releaseAfterUseAsync(async()=>await Ai.convertToZip(o,{compressionLevel:r.project.configuration.get("compressionLevel"),prefixPath:S.getIdentVendorPath(e),stripComponents:1}))}};var gL=class{supportsDescriptor(e,r){return ff(e.range)}supportsLocator(e,r){return ff(e.reference)}shouldPersistResolution(e,r){return!0}bindDescriptor(e,r,i){return e}getResolutionDependencies(e,r){return[]}async getCandidates(e,r,i){let n=await lL(e.range,i.project.configuration);return[S.makeLocator(e,n)]}async getSatisfying(e,r,i){return null}async resolve(e,r){if(!r.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let i=await r.fetchOptions.fetcher.fetch(e,r.fetchOptions),n=await de.releaseAfterUseAsync(async()=>await Ze.find(i.prefixPath,{baseFs:i.packageFs}),i.releaseFs);return _(P({},e),{version:n.version||"0.0.0",languageName:n.languageName||r.project.configuration.get("defaultLanguageName"),linkType:gt.HARD,conditions:n.getConditions(),dependencies:n.dependencies,peerDependencies:n.peerDependencies,dependenciesMeta:n.dependenciesMeta,peerDependenciesMeta:n.peerDependenciesMeta,bin:n.bin})}};var yze={configuration:{changesetBaseRefs:{description:"The base git refs that the current HEAD is compared against when detecting changes. Supports git branches, tags, and commits.",type:ge.STRING,isArray:!0,isNullable:!1,default:["master","origin/master","upstream/master","main","origin/main","upstream/main"]},changesetIgnorePatterns:{description:"Array of glob patterns; files matching them will be ignored when fetching the changed files",type:ge.STRING,default:[],isArray:!0},cloneConcurrency:{description:"Maximal number of concurrent clones",type:ge.NUMBER,default:2}},fetchers:[uL],resolvers:[gL]};var wze=yze;var HC=class extends Be{constructor(){super(...arguments);this.since=Y.String("--since",{description:"Only include workspaces that have been changed since the specified ref.",tolerateBoolean:!0});this.recursive=Y.Boolean("-R,--recursive",!1,{description:"Find packages via dependencies/devDependencies instead of using the workspaces field"});this.verbose=Y.Boolean("-v,--verbose",!1,{description:"Also return the cross-dependencies between workspaces"});this.json=Y.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins),{project:r}=await Ke.find(e,this.context.cwd);return(await Fe.start({configuration:e,json:this.json,stdout:this.context.stdout},async n=>{let s=this.since?await Uc.fetchChangedWorkspaces({ref:this.since,project:r}):r.workspaces,o=new Set(s);if(this.recursive)for(let a of[...s].map(l=>l.getRecursiveWorkspaceDependents()))for(let l of a)o.add(l);for(let a of o){let{manifest:l}=a,c;if(this.verbose){let u=new Set,g=new Set;for(let f of Ze.hardDependencies)for(let[h,p]of l.getForScope(f)){let d=r.tryWorkspaceByDescriptor(p);d===null?r.workspacesByIdent.has(h)&&g.add(p):u.add(d)}c={workspaceDependencies:Array.from(u).map(f=>f.relativeCwd),mismatchedWorkspaceDependencies:Array.from(g).map(f=>S.stringifyDescriptor(f))}}n.reportInfo(null,`${a.relativeCwd}`),n.reportJson(P({location:a.relativeCwd,name:l.name?S.stringifyIdent(l.name):null},c))}})).exitCode()}};HC.paths=[["workspaces","list"]],HC.usage=ye.Usage({category:"Workspace-related commands",description:"list all available workspaces",details:"\n This command will print the list of all workspaces in the project.\n\n - If `--since` is set, Yarn will only list workspaces that have been modified since the specified ref. By default Yarn will use the refs specified by the `changesetBaseRefs` configuration option.\n\n - If `-R,--recursive` is set, Yarn will find workspaces to run the command on by recursively evaluating `dependencies` and `devDependencies` fields, instead of looking at the `workspaces` fields.\n\n - If both the `-v,--verbose` and `--json` options are set, Yarn will also return the cross-dependencies between each workspaces (useful when you wish to automatically generate Buck / Bazel rules).\n "});var qAe=HC;var GC=class extends Be{constructor(){super(...arguments);this.workspaceName=Y.String();this.commandName=Y.String();this.args=Y.Proxy()}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Ke.find(e,this.context.cwd);if(!i)throw new rt(r.cwd,this.context.cwd);let n=r.workspaces,s=new Map(n.map(a=>{let l=S.convertToIdent(a.locator);return[S.stringifyIdent(l),a]})),o=s.get(this.workspaceName);if(o===void 0){let a=Array.from(s.keys()).sort();throw new me(`Workspace '${this.workspaceName}' not found. Did you mean any of the following: + - ${a.join(` + - `)}?`)}return this.cli.run([this.commandName,...this.args],{cwd:o.cwd})}};GC.paths=[["workspace"]],GC.usage=ye.Usage({category:"Workspace-related commands",description:"run a command within the specified workspace",details:` + This command will run a given sub-command on a single workspace. + `,examples:[["Add a package to a single workspace","yarn workspace components add -D react"],["Run build script on a single workspace","yarn workspace components run build"]]});var JAe=GC;var Bze={configuration:{enableImmutableInstalls:{description:"If true (the default on CI), prevents the install command from modifying the lockfile",type:ge.BOOLEAN,default:WAe.isCI},defaultSemverRangePrefix:{description:"The default save prefix: '^', '~' or ''",type:ge.STRING,values:["^","~",""],default:Lo.CARET}},commands:[soe,aoe,wae,Nae,mAe,nAe,tAe,qAe,Uae,Hae,Gae,jae,ioe,noe,Lae,Mae,Yae,qae,Wae,zae,_ae,IAe,Xae,cAe,AAe,uAe,Zae,gAe,fAe,hAe,dAe,CAe,wAe,BAe,JAe]},Qze=Bze;var mL={};it(mL,{default:()=>vze});var Me={optional:!0},zAe=[["@tailwindcss/aspect-ratio@<0.2.1",{peerDependencies:{tailwindcss:"^2.0.2"}}],["@tailwindcss/line-clamp@<0.2.1",{peerDependencies:{tailwindcss:"^2.0.2"}}],["@fullhuman/postcss-purgecss@3.1.3 || 3.1.3-alpha.0",{peerDependencies:{postcss:"^8.0.0"}}],["@samverschueren/stream-to-observable@<0.3.1",{peerDependenciesMeta:{rxjs:Me,zenObservable:Me}}],["any-observable@<0.5.1",{peerDependenciesMeta:{rxjs:Me,zenObservable:Me}}],["@pm2/agent@<1.0.4",{dependencies:{debug:"*"}}],["debug@<4.2.0",{peerDependenciesMeta:{["supports-color"]:Me}}],["got@<11",{dependencies:{["@types/responselike"]:"^1.0.0",["@types/keyv"]:"^3.1.1"}}],["cacheable-lookup@<4.1.2",{dependencies:{["@types/keyv"]:"^3.1.1"}}],["http-link-dataloader@*",{peerDependencies:{graphql:"^0.13.1 || ^14.0.0"}}],["typescript-language-server@*",{dependencies:{["vscode-jsonrpc"]:"^5.0.1",["vscode-languageserver-protocol"]:"^3.15.0"}}],["postcss-syntax@*",{peerDependenciesMeta:{["postcss-html"]:Me,["postcss-jsx"]:Me,["postcss-less"]:Me,["postcss-markdown"]:Me,["postcss-scss"]:Me}}],["jss-plugin-rule-value-function@<=10.1.1",{dependencies:{["tiny-warning"]:"^1.0.2"}}],["ink-select-input@<4.1.0",{peerDependencies:{react:"^16.8.2"}}],["license-webpack-plugin@<2.3.18",{peerDependenciesMeta:{webpack:Me}}],["snowpack@>=3.3.0",{dependencies:{["node-gyp"]:"^7.1.0"}}],["promise-inflight@*",{peerDependenciesMeta:{bluebird:Me}}],["reactcss@*",{peerDependencies:{react:"*"}}],["react-color@<=2.19.0",{peerDependencies:{react:"*"}}],["gatsby-plugin-i18n@*",{dependencies:{ramda:"^0.24.1"}}],["useragent@^2.0.0",{dependencies:{request:"^2.88.0",yamlparser:"0.0.x",semver:"5.5.x"}}],["@apollographql/apollo-tools@*",{peerDependencies:{graphql:"^14.2.1 || ^15.0.0"}}],["material-table@^2.0.0",{dependencies:{"@babel/runtime":"^7.11.2"}}],["@babel/parser@*",{dependencies:{"@babel/types":"^7.8.3"}}],["fork-ts-checker-webpack-plugin@<=6.3.4",{peerDependencies:{eslint:">= 6",typescript:">= 2.7",webpack:">= 4","vue-template-compiler":"*"},peerDependenciesMeta:{eslint:Me,"vue-template-compiler":Me}}],["rc-animate@<=3.1.1",{peerDependencies:{react:">=16.9.0","react-dom":">=16.9.0"}}],["react-bootstrap-table2-paginator@*",{dependencies:{classnames:"^2.2.6"}}],["react-draggable@<=4.4.3",{peerDependencies:{react:">= 16.3.0","react-dom":">= 16.3.0"}}],["apollo-upload-client@<14",{peerDependencies:{graphql:"14 - 15"}}],["react-instantsearch-core@<=6.7.0",{peerDependencies:{algoliasearch:">= 3.1 < 5"}}],["react-instantsearch-dom@<=6.7.0",{dependencies:{"react-fast-compare":"^3.0.0"}}],["ws@<7.2.1",{peerDependencies:{bufferutil:"^4.0.1","utf-8-validate":"^5.0.2"},peerDependenciesMeta:{bufferutil:Me,"utf-8-validate":Me}}],["react-portal@*",{peerDependencies:{"react-dom":"^15.0.0-0 || ^16.0.0-0 || ^17.0.0-0"}}],["react-scripts@<=4.0.1",{peerDependencies:{react:"*"}}],["testcafe@<=1.10.1",{dependencies:{"@babel/plugin-transform-for-of":"^7.12.1","@babel/runtime":"^7.12.5"}}],["testcafe-legacy-api@<=4.2.0",{dependencies:{"testcafe-hammerhead":"^17.0.1","read-file-relative":"^1.2.0"}}],["@google-cloud/firestore@<=4.9.3",{dependencies:{protobufjs:"^6.8.6"}}],["gatsby-source-apiserver@*",{dependencies:{["babel-polyfill"]:"^6.26.0"}}],["@webpack-cli/package-utils@<=1.0.1-alpha.4",{dependencies:{["cross-spawn"]:"^7.0.3"}}],["gatsby-remark-prismjs@<3.3.28",{dependencies:{lodash:"^4"}}],["gatsby-plugin-favicon@*",{peerDependencies:{webpack:"*"}}],["gatsby-plugin-sharp@*",{dependencies:{debug:"^4.3.1"}}],["gatsby-react-router-scroll@*",{dependencies:{["prop-types"]:"^15.7.2"}}],["@rebass/forms@*",{dependencies:{["@styled-system/should-forward-prop"]:"^5.0.0"},peerDependencies:{react:"^16.8.6"}}],["rebass@*",{peerDependencies:{react:"^16.8.6"}}],["@ant-design/react-slick@<=0.28.3",{peerDependencies:{react:">=16.0.0"}}],["mqtt@<4.2.7",{dependencies:{duplexify:"^4.1.1"}}],["vue-cli-plugin-vuetify@<=2.0.3",{dependencies:{semver:"^6.3.0"},peerDependenciesMeta:{"sass-loader":Me,"vuetify-loader":Me}}],["vue-cli-plugin-vuetify@<=2.0.4",{dependencies:{"null-loader":"^3.0.0"}}],["@vuetify/cli-plugin-utils@<=0.0.4",{dependencies:{semver:"^6.3.0"},peerDependenciesMeta:{"sass-loader":Me}}],["@vue/cli-plugin-typescript@<=5.0.0-alpha.0",{dependencies:{"babel-loader":"^8.1.0"}}],["@vue/cli-plugin-typescript@<=5.0.0-beta.0",{dependencies:{"@babel/core":"^7.12.16"},peerDependencies:{"vue-template-compiler":"^2.0.0"},peerDependenciesMeta:{"vue-template-compiler":Me}}],["cordova-ios@<=6.3.0",{dependencies:{underscore:"^1.9.2"}}],["cordova-lib@<=10.0.1",{dependencies:{underscore:"^1.9.2"}}],["git-node-fs@*",{peerDependencies:{"js-git":"^0.7.8"},peerDependenciesMeta:{"js-git":Me}}],["consolidate@*",{peerDependencies:{velocityjs:"^2.0.1",tinyliquid:"^0.2.34","liquid-node":"^3.0.1",jade:"^1.11.0","then-jade":"*",dust:"^0.3.0","dustjs-helpers":"^1.7.4","dustjs-linkedin":"^2.7.5",swig:"^1.4.2","swig-templates":"^2.0.3","razor-tmpl":"^1.3.1",atpl:">=0.7.6",liquor:"^0.0.5",twig:"^1.15.2",ejs:"^3.1.5",eco:"^1.1.0-rc-3",jazz:"^0.0.18",jqtpl:"~1.1.0",hamljs:"^0.6.2",hamlet:"^0.3.3",whiskers:"^0.4.0","haml-coffee":"^1.14.1","hogan.js":"^3.0.2",templayed:">=0.2.3",handlebars:"^4.7.6",underscore:"^1.11.0",lodash:"^4.17.20",pug:"^3.0.0","then-pug":"*",qejs:"^3.0.5",walrus:"^0.10.1",mustache:"^4.0.1",just:"^0.1.8",ect:"^0.5.9",mote:"^0.2.0",toffee:"^0.3.6",dot:"^1.1.3","bracket-template":"^1.1.5",ractive:"^1.3.12",nunjucks:"^3.2.2",htmling:"^0.0.8","babel-core":"^6.26.3",plates:"~0.4.11","react-dom":"^16.13.1",react:"^16.13.1","arc-templates":"^0.5.3",vash:"^0.13.0",slm:"^2.0.0",marko:"^3.14.4",teacup:"^2.0.0","coffee-script":"^1.12.7",squirrelly:"^5.1.0",twing:"^5.0.2"},peerDependenciesMeta:{velocityjs:Me,tinyliquid:Me,"liquid-node":Me,jade:Me,"then-jade":Me,dust:Me,"dustjs-helpers":Me,"dustjs-linkedin":Me,swig:Me,"swig-templates":Me,"razor-tmpl":Me,atpl:Me,liquor:Me,twig:Me,ejs:Me,eco:Me,jazz:Me,jqtpl:Me,hamljs:Me,hamlet:Me,whiskers:Me,"haml-coffee":Me,"hogan.js":Me,templayed:Me,handlebars:Me,underscore:Me,lodash:Me,pug:Me,"then-pug":Me,qejs:Me,walrus:Me,mustache:Me,just:Me,ect:Me,mote:Me,toffee:Me,dot:Me,"bracket-template":Me,ractive:Me,nunjucks:Me,htmling:Me,"babel-core":Me,plates:Me,"react-dom":Me,react:Me,"arc-templates":Me,vash:Me,slm:Me,marko:Me,teacup:Me,"coffee-script":Me,squirrelly:Me,twing:Me}}],["vue-loader@<=16.3.1",{peerDependencies:{"@vue/compiler-sfc":"^3.0.8",webpack:"^4.1.0 || ^5.0.0-0"}}],["scss-parser@*",{dependencies:{lodash:"^4.17.21"}}],["query-ast@*",{dependencies:{lodash:"^4.17.21"}}],["redux-thunk@<=2.3.0",{peerDependencies:{redux:"^4.0.0"}}],["skypack@<=0.3.2",{dependencies:{tar:"^6.1.0"}}],["@npmcli/metavuln-calculator@*",{dependencies:{"json-parse-even-better-errors":"^2.3.1"}}],["bin-links@*",{dependencies:{"mkdirp-infer-owner":"^1.0.2"}}],["rollup-plugin-polyfill-node@*",{peerDependencies:{rollup:"^1.20.0 || ^2.0.0"}}],["snowpack@*",{dependencies:{"magic-string":"^0.25.7"}}],["elm-webpack-loader@*",{dependencies:{temp:"^0.9.4"}}],["winston-transport@<=4.4.0",{dependencies:{logform:"^2.2.0"}}],["jest-vue-preprocessor@*",{dependencies:{"@babel/core":"7.8.7","@babel/template":"7.8.6"},peerDependencies:{pug:"^2.0.4"},peerDependenciesMeta:{pug:Me}}],["redux-persist@*",{peerDependencies:{react:">=16"},peerDependenciesMeta:{react:Me}}],["sodium@>=3",{dependencies:{"node-gyp":"^3.8.0"}}],["babel-plugin-graphql-tag@<=3.1.0",{peerDependencies:{graphql:"^14.0.0 || ^15.0.0"}}],["@playwright/test@<=1.14.1",{dependencies:{"jest-matcher-utils":"^26.4.2"}}],...["babel-plugin-remove-graphql-queries@<3.14.0-next.1","babel-preset-gatsby-package@<1.14.0-next.1","create-gatsby@<1.14.0-next.1","gatsby-admin@<0.24.0-next.1","gatsby-cli@<3.14.0-next.1","gatsby-core-utils@<2.14.0-next.1","gatsby-design-tokens@<3.14.0-next.1","gatsby-legacy-polyfills@<1.14.0-next.1","gatsby-plugin-benchmark-reporting@<1.14.0-next.1","gatsby-plugin-graphql-config@<0.23.0-next.1","gatsby-plugin-image@<1.14.0-next.1","gatsby-plugin-mdx@<2.14.0-next.1","gatsby-plugin-netlify-cms@<5.14.0-next.1","gatsby-plugin-no-sourcemaps@<3.14.0-next.1","gatsby-plugin-page-creator@<3.14.0-next.1","gatsby-plugin-preact@<5.14.0-next.1","gatsby-plugin-preload-fonts@<2.14.0-next.1","gatsby-plugin-schema-snapshot@<2.14.0-next.1","gatsby-plugin-styletron@<6.14.0-next.1","gatsby-plugin-subfont@<3.14.0-next.1","gatsby-plugin-utils@<1.14.0-next.1","gatsby-recipes@<0.25.0-next.1","gatsby-source-shopify@<5.6.0-next.1","gatsby-source-wikipedia@<3.14.0-next.1","gatsby-transformer-screenshot@<3.14.0-next.1","gatsby-worker@<0.5.0-next.1"].map(t=>[t,{dependencies:{"@babel/runtime":"^7.14.8"}}]),["gatsby-core-utils@<2.14.0-next.1",{dependencies:{got:"8.3.2"}}],["gatsby-plugin-gatsby-cloud@<=3.1.0-next.0",{dependencies:{"gatsby-core-utils":"^2.13.0-next.0"}}],["gatsby-plugin-gatsby-cloud@<=3.2.0-next.1",{peerDependencies:{webpack:"*"}}],["babel-plugin-remove-graphql-queries@<=3.14.0-next.1",{dependencies:{"gatsby-core-utils":"^2.8.0-next.1"}}],["gatsby-plugin-netlify@3.13.0-next.1",{dependencies:{"gatsby-core-utils":"^2.13.0-next.0"}}],["clipanion-v3-codemod@<=0.2.0",{peerDependencies:{jscodeshift:"^0.11.0"}}],["react-live@*",{peerDependencies:{"react-dom":"*",react:"*"}}],["webpack@<4.44.1",{peerDependenciesMeta:{"webpack-cli":Me,"webpack-command":Me}}],["webpack@<5.0.0-beta.23",{peerDependenciesMeta:{"webpack-cli":Me}}],["webpack-dev-server@<3.10.2",{peerDependenciesMeta:{"webpack-cli":Me}}]];var pL;function VAe(){return typeof pL=="undefined"&&(pL=require("zlib").brotliDecompressSync(Buffer.from("G7weAByFTVk3Vs7UfHhq4yykgEM7pbW7TI43SG2S5tvGrwHBAzdz+s/npQ6tgEvobvxisrPIadkXeUAJotBn5bDZ5kAhcRqsIHe3F75Walet5hNalwgFDtxb0BiDUjiUQkjG0yW2hto9HPgiCkm316d6bC0kST72YN7D7rfkhCE9x4J0XwB0yavalxpUu2t9xszHrmtwalOxT7VslsxWcB1qpqZwERUra4psWhTV8BgwWeizurec82Caf1ABL11YMfbf8FJ9JBceZOkgmvrQPbC9DUldX/yMbmX06UQluCEjSwUoyO+EZPIjofr+/oAZUck2enraRD+oWLlnlYnj8xB+gwSo9lmmks4fXv574qSqcWA6z21uYkzMu3EWj+K23RxeQlLqiE35/rC8GcS4CGkKHKKq+zAIQwD9iRDNfiAqueLLpicFFrNsAI4zeTD/eO9MHcnRa5m8UT+M2+V+AkFST4BlKneiAQRSdST8KEAIyFlULt6wa9EBd0Ds28VmpaxquJdVt+nwdEs5xUskI13OVtFyY0UrQIRAlCuvvWivvlSKQfTO+2Q8OyUR1W5RvetaPz4jD27hdtwHFFA1Ptx6Ee/t2cY2rg2G46M1pNDRf2pWhvpy8pqMnuI3++4OF3+7OFIWXGjh+o7Nr2jNvbiYcQdQS1h903/jVFgOpA0yJ78z+x759bFA0rq+6aY5qPB4FzS3oYoLupDUhD9nDz6F6H7hpnlMf18KNKDu4IKjTWwrAnY6MFQw1W6ymOALHlFyCZmQhldg1MQHaMVVQTVgDC60TfaBqG++Y8PEoFhN/PBTZT175KNP/BlHDYGOOBmnBdzqJKplZ/ljiVG0ZBzfqeBRrrUkn6rA54462SgiliKoYVnbeptMdXNfAuaupIEi0bApF10TlgHfmEJAPUVidRVFyDupSem5po5vErPqWKhKbUIp0LozpYsIKK57dM/HKr+nguF+7924IIWMICkQ8JUigs9D+W+c4LnNoRtPPKNRUiCYmP+Jfo2lfKCKw8qpraEeWU3uiNRO6zcyKQoXPR5htmzzLznke7b4YbXW3I1lIRzmgG02Udb58U+7TpwyN7XymCgH+wuPDthZVQvRZuEP+SnLtMicz9m5zASWOBiAcLmkuFlTKuHspSIhCBD0yUPKcxu81A+4YD78rA2vtwsUEday9WNyrShyrl60rWmA+SmbYZkQOwFJWArxRYYc5jGhA5ikxYw1rx3ei4NmeX/lKiwpZ9Ln1tV2Ae7sArvxuVLbJjqJRjW1vFXAyHpvLG+8MJ6T2Ubx5M2KDa2SN6vuIGxJ9WQM9Mk3Q7aCNiZONXllhqq24DmoLbQfW2rYWsOgHWjtOmIQMyMKdiHZDjoyIq5+U700nZ6odJAoYXPQBvFNiQ78d5jaXliBqLTJEqUCwi+LiH2mx92EmNKDsJL74Z613+3lf20pxkV1+erOrjj8pW00vsPaahKUM+05ssd5uwM7K482KWEf3TCwlg/o3e5ngto7qSMz7YteIgCsF1UOcsLk7F7MxWbvrPMY473ew0G+noVL8EPbkmEMftMSeL6HFub/zy+2JQ==","base64")).toString()),pL}var dL;function _Ae(){return typeof dL=="undefined"&&(dL=require("zlib").brotliDecompressSync(Buffer.from("G8MSIIzURnVBnObTcvb3XE6v2S9Qgc2K801Oa5otNKEtK8BINZNcaQHy+9/vf/WXBimwutXC33P2DPc64pps5rz7NGGWaOKNSPL4Y2KRE8twut2lFOIN+OXPtRmPMRhMTILib2bEQx43az2I5d3YS8Roa5UZpF/ujHb3Djd3GDvYUfvFYSUQ39vb2cmifp/rgB4J/65JK3wRBTvMBoNBmn3mbXC63/gbBkW/2IRPri0O8bcsRBsmarF328pAln04nyJFkwUAvNu934supAqLtyerZZpJ8I8suJHhf/ocMV+scKwa8NOiDKIPXw6Ex/EEZD6TEGaW8N5zvNHYF10l6Lfooj7D5W2k3dgvQSbp2Wv8TGOayS978gxlOLVjTGXs66ozewbrjwElLtyrYNnWTfzzdEutgROUFPVMhnMoy8EjJLLlWwIEoySxliim9kYW30JUHiPVyjt0iAw/ZpPmCbUCltYPnq6ZNblIKhTNhqS/oqC9iya5sGKZTOVsTEg34n92uZTf2iPpcZih8rPW8CzA+adIGmyCPcKdLMsBLShd+zuEbTrqpwuh+DLmracZcjPC5Sdf5odDAhKpFuOsQS67RT+1VgWWygSv3YwxDnylc04/PYuaMeIzhBkLrvs7e/OUzRTF56MmfY6rI63QtEjEQzq637zQqJ39nNhu3NmoRRhW/086bHGBUtx0PE0j3aEGvkdh9WJC8y8j8mqqke9/dQ5la+Q3ba4RlhvTbnfQhPDDab3tUifkjKuOsp13mXEmO00Mu88F/M67R7LXfoFDFLNtgCSWjWX+3Jn1371pJTK9xPBiMJafvDjtFyAzu8rxeQ0TKMQXNPs5xxiBOd+BRJP8KP88XPtJIbZKh/cdW8KvBUkpqKpGoiIaA32c3/JnQr4efXt85mXvidOvn/eU3Pase1typLYBalJ14mCso9h79nuMOuCa/kZAOkJHmTjP5RM2WNoPasZUAnT1TAE/NH25hUxcQv6hQWR/m1PKk4ooXMcM4SR1iYU3fUohvqk4RY2hbmTVVIXv6TvqO+0doOjgeVFAcom+RlwJQmOVH7pr1Q9LoJT6n1DeQEB+NHygsATbIwTcOKZlJsY8G4+suX1uQLjUWwLjjs0mvSvZcLTpIGAekeR7GCgl8eo3ndAqEe2XCav4huliHjdbIPBsGJuPX7lrO9HX1UbXRH5opOe1x6JsOSgHZR+EaxuXVhpLLxm6jk1LJtZfHSc6BKPun3CpYYVMJGwEUyk8MTGG0XL5MfEwaXpnc9TKnBmlGn6nHiGREc3ysn47XIBDzA+YvFdjZzVIEDcKGpS6PbUJehFRjEne8D0lVU1XuRtlgszq6pTNlQ/3MzNOEgCWPyTct22V2mEi2krizn5VDo9B19/X2DB3hCGRMM7ONbtnAcIx/OWB1u5uPbW1gsH8irXxT/IzG0PoXWYjhbMsH3KTuoOl5o17PulcgvsfTSnKFM354GWI8luqZnrswWjiXy3G+Vbyo1KMopFmmvBwNELgaS8z8dNZchx/Cl/xjddxhMcyqtzFyONb2Zdu90NkI8pAeufe7YlXrp53v8Dj/l8vWeVspRKBGXScBBPI/HinSTGmLDOGGOCIyH0JFdOZx0gWsacNlQLJMIrBhqRxXxHF/5pseWwejlAAvZ3klZSDSYY8mkToaWejXhgNomeGtx1DTLEUFMRkgF5yFB22WYdJnaWN14r1YJj81hGi45+jrADS5nYRhCiSlCJJ1nL8pYX+HDSMhdTEWyRcgHVp/IsUIZYMfT+YYncUQPgcxNGCHfZ88vDdrcUuaGIl6zhAsiaq7R5dfqrqXH/JcBhfjT8D0azayIyEz75Nxp6YkcyDxlJq3EXnJUpqDohJJOysL1t1uNiHESlvsxPb5cpbW0+ICZqJmUZus1BMW0F5IVBODLIo2zHHjA0=","base64")).toString()),dL}var CL;function XAe(){return typeof CL=="undefined"&&(CL=require("zlib").brotliDecompressSync(Buffer.from("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","base64")).toString()),CL}var ZAe=new Map([[S.makeIdent(null,"fsevents").identHash,VAe],[S.makeIdent(null,"resolve").identHash,_Ae],[S.makeIdent(null,"typescript").identHash,XAe]]),bze={hooks:{registerPackageExtensions:async(t,e)=>{for(let[r,i]of zAe)e(S.parseDescriptor(r,!0),i)},getBuiltinPatch:async(t,e)=>{var s;let r="compat/";if(!e.startsWith(r))return;let i=S.parseIdent(e.slice(r.length)),n=(s=ZAe.get(i.identHash))==null?void 0:s();return typeof n!="undefined"?n:null},reduceDependency:async(t,e,r,i)=>typeof ZAe.get(t.identHash)=="undefined"?t:S.makeDescriptor(t,S.makeRange({protocol:"patch:",source:S.stringifyDescriptor(t),selector:`~builtin`,params:null}))}},vze=bze;var EL={};it(EL,{default:()=>xze});var V0=class extends Be{constructor(){super(...arguments);this.pkg=Y.String("-p,--package",{description:"The package to run the provided command from"});this.quiet=Y.Boolean("-q,--quiet",!1,{description:"Only report critical errors instead of printing the full install logs"});this.command=Y.String();this.args=Y.Proxy()}async execute(){let e=[];this.pkg&&e.push("--package",this.pkg),this.quiet&&e.push("--quiet");let r=S.parseIdent(this.command),i=S.makeIdent(r.scope,`create-${r.name}`);return this.cli.run(["dlx",...e,S.stringifyIdent(i),...this.args])}};V0.paths=[["create"]];var $Ae=V0;var jC=class extends Be{constructor(){super(...arguments);this.packages=Y.Array("-p,--package",{description:"The package(s) to install before running the command"});this.quiet=Y.Boolean("-q,--quiet",!1,{description:"Only report critical errors instead of printing the full install logs"});this.command=Y.String();this.args=Y.Proxy()}async execute(){return fe.telemetry=null,await T.mktempPromise(async e=>{var p;let r=v.join(e,`dlx-${process.pid}`);await T.mkdirPromise(r),await T.writeFilePromise(v.join(r,"package.json"),`{} +`),await T.writeFilePromise(v.join(r,"yarn.lock"),"");let i=v.join(r,".yarnrc.yml"),n=await fe.findProjectCwd(this.context.cwd,wt.lockfile),s=!(await fe.find(this.context.cwd,null,{strict:!1})).get("enableGlobalCache"),o=n!==null?v.join(n,".yarnrc.yml"):null;o!==null&&T.existsSync(o)?(await T.copyFilePromise(o,i),await fe.updateConfiguration(r,d=>{let m=_(P({},d),{enableGlobalCache:s,enableTelemetry:!1});return Array.isArray(d.plugins)&&(m.plugins=d.plugins.map(I=>{let B=typeof I=="string"?I:I.path,b=M.isAbsolute(B)?B:M.resolve(M.fromPortablePath(n),B);return typeof I=="string"?b:{path:b,spec:I.spec}})),m})):await T.writeFilePromise(i,`enableGlobalCache: ${s} +enableTelemetry: false +`);let a=(p=this.packages)!=null?p:[this.command],l=S.parseDescriptor(this.command).name,c=await this.cli.run(["add","--",...a],{cwd:r,quiet:this.quiet});if(c!==0)return c;this.quiet||this.context.stdout.write(` +`);let u=await fe.find(r,this.context.plugins),{project:g,workspace:f}=await Ke.find(u,r);if(f===null)throw new rt(g.cwd,r);await g.restoreInstallState();let h=await Kt.getWorkspaceAccessibleBinaries(f);return h.has(l)===!1&&h.size===1&&typeof this.packages=="undefined"&&(l=Array.from(h)[0][0]),await Kt.executeWorkspaceAccessibleBinary(f,l,this.args,{packageAccessibleBinaries:h,cwd:this.context.cwd,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr})})}};jC.paths=[["dlx"]],jC.usage=ye.Usage({description:"run a package in a temporary environment",details:"\n This command will install a package within a temporary environment, and run its binary script if it contains any. The binary will run within the current cwd.\n\n By default Yarn will download the package named `command`, but this can be changed through the use of the `-p,--package` flag which will instruct Yarn to still run the same command but from a different package.\n\n Using `yarn dlx` as a replacement of `yarn add` isn't recommended, as it makes your project non-deterministic (Yarn doesn't keep track of the packages installed through `dlx` - neither their name, nor their version).\n ",examples:[["Use create-react-app to create a new React app","yarn dlx create-react-app ./my-app"],["Install multiple packages for a single command",`yarn dlx -p typescript -p ts-node ts-node --transpile-only -e "console.log('hello!')"`]]});var ele=jC;var Sze={commands:[$Ae,ele]},xze=Sze;var xL={};it(xL,{default:()=>Dze,fileUtils:()=>IL});var hf=/^(?:[a-zA-Z]:[\\/]|\.{0,2}\/)/,YC=/^[^?]*\.(?:tar\.gz|tgz)(?:::.*)?$/,Nr="file:";var IL={};it(IL,{makeArchiveFromLocator:()=>_0,makeBufferFromLocator:()=>BL,makeLocator:()=>wL,makeSpec:()=>tle,parseSpec:()=>yL});function yL(t){let{params:e,selector:r}=S.parseRange(t),i=M.toPortablePath(r);return{parentLocator:e&&typeof e.locator=="string"?S.parseLocator(e.locator):null,path:i}}function tle({parentLocator:t,path:e,folderHash:r,protocol:i}){let n=t!==null?{locator:S.stringifyLocator(t)}:{},s=typeof r!="undefined"?{hash:r}:{};return S.makeRange({protocol:i,source:e,selector:e,params:P(P({},s),n)})}function wL(t,{parentLocator:e,path:r,folderHash:i,protocol:n}){return S.makeLocator(t,tle({parentLocator:e,path:r,folderHash:i,protocol:n}))}async function _0(t,{protocol:e,fetchOptions:r,inMemory:i=!1}){let{parentLocator:n,path:s}=S.parseFileStyleRange(t.reference,{protocol:e}),o=v.isAbsolute(s)?{packageFs:new Ft(Se.root),prefixPath:Se.dot,localPath:Se.root}:await r.fetcher.fetch(n,r),a=o.localPath?{packageFs:new Ft(Se.root),prefixPath:v.relative(Se.root,o.localPath)}:o;o!==a&&o.releaseFs&&o.releaseFs();let l=a.packageFs,c=v.join(a.prefixPath,s);return await de.releaseAfterUseAsync(async()=>await Ai.makeArchiveFromDirectory(c,{baseFs:l,prefixPath:S.getIdentVendorPath(t),compressionLevel:r.project.configuration.get("compressionLevel"),inMemory:i}),a.releaseFs)}async function BL(t,{protocol:e,fetchOptions:r}){return(await _0(t,{protocol:e,fetchOptions:r,inMemory:!0})).getBufferAndClose()}var QL=class{supports(e,r){return!!e.reference.startsWith(Nr)}getLocalPath(e,r){let{parentLocator:i,path:n}=S.parseFileStyleRange(e.reference,{protocol:Nr});if(v.isAbsolute(n))return n;let s=r.fetcher.getLocalPath(i,r);return s===null?null:v.resolve(s,n)}async fetch(e,r){let i=r.checksums.get(e.locatorHash)||null,[n,s,o]=await r.cache.fetchPackageFromCache(e,i,P({onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${S.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the disk`),loader:()=>this.fetchFromDisk(e,r),skipIntegrityCheck:r.skipIntegrityCheck},r.cacheOptions));return{packageFs:n,releaseFs:s,prefixPath:S.getIdentVendorPath(e),localPath:this.getLocalPath(e,r),checksum:o}}async fetchFromDisk(e,r){return _0(e,{protocol:Nr,fetchOptions:r})}};var kze=2,bL=class{supportsDescriptor(e,r){return e.range.match(hf)?!0:!!e.range.startsWith(Nr)}supportsLocator(e,r){return!!e.reference.startsWith(Nr)}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,i){return hf.test(e.range)&&(e=S.makeDescriptor(e,`${Nr}${e.range}`)),S.bindDescriptor(e,{locator:S.stringifyLocator(r)})}getResolutionDependencies(e,r){return[]}async getCandidates(e,r,i){if(!i.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let{path:n,parentLocator:s}=yL(e.range);if(s===null)throw new Error("Assertion failed: The descriptor should have been bound");let o=await BL(S.makeLocator(e,S.makeRange({protocol:Nr,source:n,selector:n,params:{locator:S.stringifyLocator(s)}})),{protocol:Nr,fetchOptions:i.fetchOptions}),a=mn.makeHash(`${kze}`,o).slice(0,6);return[wL(e,{parentLocator:s,path:n,folderHash:a,protocol:Nr})]}async getSatisfying(e,r,i){return null}async resolve(e,r){if(!r.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let i=await r.fetchOptions.fetcher.fetch(e,r.fetchOptions),n=await de.releaseAfterUseAsync(async()=>await Ze.find(i.prefixPath,{baseFs:i.packageFs}),i.releaseFs);return _(P({},e),{version:n.version||"0.0.0",languageName:n.languageName||r.project.configuration.get("defaultLanguageName"),linkType:gt.HARD,conditions:n.getConditions(),dependencies:n.dependencies,peerDependencies:n.peerDependencies,dependenciesMeta:n.dependenciesMeta,peerDependenciesMeta:n.peerDependenciesMeta,bin:n.bin})}};var vL=class{supports(e,r){return YC.test(e.reference)?!!e.reference.startsWith(Nr):!1}getLocalPath(e,r){return null}async fetch(e,r){let i=r.checksums.get(e.locatorHash)||null,[n,s,o]=await r.cache.fetchPackageFromCache(e,i,P({onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${S.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the disk`),loader:()=>this.fetchFromDisk(e,r),skipIntegrityCheck:r.skipIntegrityCheck},r.cacheOptions));return{packageFs:n,releaseFs:s,prefixPath:S.getIdentVendorPath(e),checksum:o}}async fetchFromDisk(e,r){let{parentLocator:i,path:n}=S.parseFileStyleRange(e.reference,{protocol:Nr}),s=v.isAbsolute(n)?{packageFs:new Ft(Se.root),prefixPath:Se.dot,localPath:Se.root}:await r.fetcher.fetch(i,r),o=s.localPath?{packageFs:new Ft(Se.root),prefixPath:v.relative(Se.root,s.localPath)}:s;s!==o&&s.releaseFs&&s.releaseFs();let a=o.packageFs,l=v.join(o.prefixPath,n),c=await a.readFilePromise(l);return await de.releaseAfterUseAsync(async()=>await Ai.convertToZip(c,{compressionLevel:r.project.configuration.get("compressionLevel"),prefixPath:S.getIdentVendorPath(e),stripComponents:1}),o.releaseFs)}};var SL=class{supportsDescriptor(e,r){return YC.test(e.range)?!!(e.range.startsWith(Nr)||hf.test(e.range)):!1}supportsLocator(e,r){return YC.test(e.reference)?!!e.reference.startsWith(Nr):!1}shouldPersistResolution(e,r){return!0}bindDescriptor(e,r,i){return hf.test(e.range)&&(e=S.makeDescriptor(e,`${Nr}${e.range}`)),S.bindDescriptor(e,{locator:S.stringifyLocator(r)})}getResolutionDependencies(e,r){return[]}async getCandidates(e,r,i){let n=e.range;return n.startsWith(Nr)&&(n=n.slice(Nr.length)),[S.makeLocator(e,`${Nr}${M.toPortablePath(n)}`)]}async getSatisfying(e,r,i){return null}async resolve(e,r){if(!r.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let i=await r.fetchOptions.fetcher.fetch(e,r.fetchOptions),n=await de.releaseAfterUseAsync(async()=>await Ze.find(i.prefixPath,{baseFs:i.packageFs}),i.releaseFs);return _(P({},e),{version:n.version||"0.0.0",languageName:n.languageName||r.project.configuration.get("defaultLanguageName"),linkType:gt.HARD,conditions:n.getConditions(),dependencies:n.dependencies,peerDependencies:n.peerDependencies,dependenciesMeta:n.dependenciesMeta,peerDependenciesMeta:n.peerDependenciesMeta,bin:n.bin})}};var Pze={fetchers:[vL,QL],resolvers:[SL,bL]},Dze=Pze;var PL={};it(PL,{default:()=>Nze});var rle=ie(require("querystring")),ile=[/^https?:\/\/(?:([^/]+?)@)?github.com\/([^/#]+)\/([^/#]+)\/tarball\/([^/#]+)(?:#(.*))?$/,/^https?:\/\/(?:([^/]+?)@)?github.com\/([^/#]+)\/([^/#]+?)(?:\.git)?(?:#(.*))?$/];function nle(t){return t?ile.some(e=>!!t.match(e)):!1}function sle(t){let e;for(let a of ile)if(e=t.match(a),e)break;if(!e)throw new Error(Rze(t));let[,r,i,n,s="master"]=e,{commit:o}=rle.default.parse(s);return s=o||s.replace(/[^:]*:/,""),{auth:r,username:i,reponame:n,treeish:s}}function Rze(t){return`Input cannot be parsed as a valid GitHub URL ('${t}').`}var kL=class{supports(e,r){return!!nle(e.reference)}getLocalPath(e,r){return null}async fetch(e,r){let i=r.checksums.get(e.locatorHash)||null,[n,s,o]=await r.cache.fetchPackageFromCache(e,i,P({onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${S.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from GitHub`),loader:()=>this.fetchFromNetwork(e,r),skipIntegrityCheck:r.skipIntegrityCheck},r.cacheOptions));return{packageFs:n,releaseFs:s,prefixPath:S.getIdentVendorPath(e),checksum:o}}async fetchFromNetwork(e,r){let i=await Zt.get(this.getLocatorUrl(e,r),{configuration:r.project.configuration});return await T.mktempPromise(async n=>{let s=new Ft(n);await Ai.extractArchiveTo(i,s,{stripComponents:1});let o=Uc.splitRepoUrl(e.reference),a=v.join(n,"package.tgz");await Kt.prepareExternalProject(n,a,{configuration:r.project.configuration,report:r.report,workspace:o.extra.workspace,locator:e});let l=await T.readFilePromise(a);return await Ai.convertToZip(l,{compressionLevel:r.project.configuration.get("compressionLevel"),prefixPath:S.getIdentVendorPath(e),stripComponents:1})})}getLocatorUrl(e,r){let{auth:i,username:n,reponame:s,treeish:o}=sle(e.reference);return`https://${i?`${i}@`:""}github.com/${n}/${s}/archive/${o}.tar.gz`}};var Fze={hooks:{async fetchHostedRepository(t,e,r){if(t!==null)return t;let i=new kL;if(!i.supports(e,r))return null;try{return await i.fetch(e,r)}catch(n){return null}}}},Nze=Fze;var FL={};it(FL,{default:()=>Tze});var qC=/^[^?]*\.(?:tar\.gz|tgz)(?:\?.*)?$/,JC=/^https?:/;var DL=class{supports(e,r){return qC.test(e.reference)?!!JC.test(e.reference):!1}getLocalPath(e,r){return null}async fetch(e,r){let i=r.checksums.get(e.locatorHash)||null,[n,s,o]=await r.cache.fetchPackageFromCache(e,i,P({onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${S.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the remote server`),loader:()=>this.fetchFromNetwork(e,r),skipIntegrityCheck:r.skipIntegrityCheck},r.cacheOptions));return{packageFs:n,releaseFs:s,prefixPath:S.getIdentVendorPath(e),checksum:o}}async fetchFromNetwork(e,r){let i=await Zt.get(e.reference,{configuration:r.project.configuration});return await Ai.convertToZip(i,{compressionLevel:r.project.configuration.get("compressionLevel"),prefixPath:S.getIdentVendorPath(e),stripComponents:1})}};var RL=class{supportsDescriptor(e,r){return qC.test(e.range)?!!JC.test(e.range):!1}supportsLocator(e,r){return qC.test(e.reference)?!!JC.test(e.reference):!1}shouldPersistResolution(e,r){return!0}bindDescriptor(e,r,i){return e}getResolutionDependencies(e,r){return[]}async getCandidates(e,r,i){return[S.convertDescriptorToLocator(e)]}async getSatisfying(e,r,i){return null}async resolve(e,r){if(!r.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let i=await r.fetchOptions.fetcher.fetch(e,r.fetchOptions),n=await de.releaseAfterUseAsync(async()=>await Ze.find(i.prefixPath,{baseFs:i.packageFs}),i.releaseFs);return _(P({},e),{version:n.version||"0.0.0",languageName:n.languageName||r.project.configuration.get("defaultLanguageName"),linkType:gt.HARD,conditions:n.getConditions(),dependencies:n.dependencies,peerDependencies:n.peerDependencies,dependenciesMeta:n.dependenciesMeta,peerDependenciesMeta:n.peerDependenciesMeta,bin:n.bin})}};var Lze={fetchers:[DL],resolvers:[RL]},Tze=Lze;var ML={};it(ML,{default:()=>M5e});var Rle=ie(Dle()),TL=ie(require("util")),WC=class extends Be{constructor(){super(...arguments);this.private=Y.Boolean("-p,--private",!1,{description:"Initialize a private package"});this.workspace=Y.Boolean("-w,--workspace",!1,{description:"Initialize a workspace root with a `packages/` directory"});this.install=Y.String("-i,--install",!1,{tolerateBoolean:!0,description:"Initialize a package with a specific bundle that will be locked in the project"});this.usev2=Y.Boolean("-2",!1,{hidden:!0});this.yes=Y.Boolean("-y,--yes",{hidden:!0});this.assumeFreshProject=Y.Boolean("--assume-fresh-project",!1,{hidden:!0})}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins),r=typeof this.install=="string"?this.install:this.usev2||this.install===!0?"latest":null;return r!==null?await this.executeProxy(e,r):await this.executeRegular(e)}async executeProxy(e,r){if(e.projectCwd!==null&&e.projectCwd!==this.context.cwd)throw new me("Cannot use the --install flag from within a project subdirectory");T.existsSync(this.context.cwd)||await T.mkdirPromise(this.context.cwd,{recursive:!0});let i=v.join(this.context.cwd,e.get("lockfileFilename"));T.existsSync(i)||await T.writeFilePromise(i,"");let n=await this.cli.run(["set","version",r],{quiet:!0});if(n!==0)return n;let s=[];return this.private&&s.push("-p"),this.workspace&&s.push("-w"),this.yes&&s.push("-y"),await T.mktempPromise(async o=>{let{code:a}=await hr.pipevp("yarn",["init",...s],{cwd:this.context.cwd,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr,env:await Kt.makeScriptEnv({binFolder:o})});return a})}async executeRegular(e){var l;let r=null;try{r=(await Ke.find(e,this.context.cwd)).project}catch{r=null}T.existsSync(this.context.cwd)||await T.mkdirPromise(this.context.cwd,{recursive:!0});let i=await Ze.tryFind(this.context.cwd)||new Ze,n=Object.fromEntries(e.get("initFields").entries());i.load(n),i.name=(l=i.name)!=null?l:S.makeIdent(e.get("initScope"),v.basename(this.context.cwd)),i.packageManager=Zr&&de.isTaggedYarnVersion(Zr)?`yarn@${Zr}`:null,typeof i.raw.private=="undefined"&&(this.private||this.workspace&&i.workspaceDefinitions.length===0)&&(i.private=!0),this.workspace&&i.workspaceDefinitions.length===0&&(await T.mkdirPromise(v.join(this.context.cwd,"packages"),{recursive:!0}),i.workspaceDefinitions=[{pattern:"packages/*"}]);let s={};i.exportTo(s),TL.inspect.styles.name="cyan",this.context.stdout.write(`${(0,TL.inspect)(s,{depth:Infinity,colors:!0,compact:!1})} +`);let o=v.join(this.context.cwd,Ze.fileName);await T.changeFilePromise(o,`${JSON.stringify(s,null,2)} +`,{automaticNewlines:!0});let a=v.join(this.context.cwd,"README.md");if(T.existsSync(a)||await T.writeFilePromise(a,`# ${S.stringifyIdent(i.name)} +`),!r||r.cwd===this.context.cwd){let c=v.join(this.context.cwd,wt.lockfile);T.existsSync(c)||await T.writeFilePromise(c,"");let g=["/.yarn/*","!/.yarn/patches","!/.yarn/plugins","!/.yarn/releases","!/.yarn/sdks","","# Swap the comments on the following lines if you don't wish to use zero-installs","# Documentation here: https://yarnpkg.com/features/zero-installs","!/.yarn/cache","#/.pnp.*"].map(m=>`${m} +`).join(""),f=v.join(this.context.cwd,".gitignore");T.existsSync(f)||await T.writeFilePromise(f,g);let h={["*"]:{endOfLine:"lf",insertFinalNewline:!0},["*.{js,json,yml}"]:{charset:"utf-8",indentStyle:"space",indentSize:2}};(0,Rle.default)(h,e.get("initEditorConfig"));let p=`root = true +`;for(let[m,I]of Object.entries(h)){p+=` +[${m}] +`;for(let[B,b]of Object.entries(I))p+=`${B.replace(/[A-Z]/g,H=>`_${H.toLowerCase()}`)} = ${b} +`}let d=v.join(this.context.cwd,".editorconfig");T.existsSync(d)||await T.writeFilePromise(d,p),T.existsSync(v.join(this.context.cwd,".git"))||await hr.execvp("git",["init"],{cwd:this.context.cwd})}}};WC.paths=[["init"]],WC.usage=ye.Usage({description:"create a new package",details:"\n This command will setup a new package in your local directory.\n\n If the `-p,--private` or `-w,--workspace` options are set, the package will be private by default.\n\n If the `-w,--workspace` option is set, the package will be configured to accept a set of workspaces in the `packages/` directory.\n\n If the `-i,--install` option is given a value, Yarn will first download it using `yarn set version` and only then forward the init call to the newly downloaded bundle. Without arguments, the downloaded bundle will be `latest`.\n\n The initial settings of the manifest can be changed by using the `initScope` and `initFields` configuration values. Additionally, Yarn will generate an EditorConfig file whose rules can be altered via `initEditorConfig`, and will initialize a Git repository in the current directory.\n ",examples:[["Create a new package in the local directory","yarn init"],["Create a new private package in the local directory","yarn init -p"],["Create a new package and store the Yarn release inside","yarn init -i=latest"],["Create a new private package and defines it as a workspace root","yarn init -w"]]});var Fle=WC;var T5e={configuration:{initScope:{description:"Scope used when creating packages via the init command",type:ge.STRING,default:null},initFields:{description:"Additional fields to set when creating packages via the init command",type:ge.MAP,valueDefinition:{description:"",type:ge.ANY}},initEditorConfig:{description:"Extra rules to define in the generator editorconfig",type:ge.MAP,valueDefinition:{description:"",type:ge.ANY}}},commands:[Fle]},M5e=T5e;var GL={};it(GL,{default:()=>K5e});var Ua="portal:",Ha="link:";var OL=class{supports(e,r){return!!e.reference.startsWith(Ua)}getLocalPath(e,r){let{parentLocator:i,path:n}=S.parseFileStyleRange(e.reference,{protocol:Ua});if(v.isAbsolute(n))return n;let s=r.fetcher.getLocalPath(i,r);return s===null?null:v.resolve(s,n)}async fetch(e,r){var c;let{parentLocator:i,path:n}=S.parseFileStyleRange(e.reference,{protocol:Ua}),s=v.isAbsolute(n)?{packageFs:new Ft(Se.root),prefixPath:Se.dot,localPath:Se.root}:await r.fetcher.fetch(i,r),o=s.localPath?{packageFs:new Ft(Se.root),prefixPath:v.relative(Se.root,s.localPath),localPath:Se.root}:s;s!==o&&s.releaseFs&&s.releaseFs();let a=o.packageFs,l=v.resolve((c=o.localPath)!=null?c:o.packageFs.getRealPath(),o.prefixPath,n);return s.localPath?{packageFs:new Ft(l,{baseFs:a}),releaseFs:o.releaseFs,prefixPath:Se.dot,localPath:l}:{packageFs:new Zo(l,{baseFs:a}),releaseFs:o.releaseFs,prefixPath:Se.dot}}};var KL=class{supportsDescriptor(e,r){return!!e.range.startsWith(Ua)}supportsLocator(e,r){return!!e.reference.startsWith(Ua)}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,i){return S.bindDescriptor(e,{locator:S.stringifyLocator(r)})}getResolutionDependencies(e,r){return[]}async getCandidates(e,r,i){let n=e.range.slice(Ua.length);return[S.makeLocator(e,`${Ua}${M.toPortablePath(n)}`)]}async getSatisfying(e,r,i){return null}async resolve(e,r){if(!r.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let i=await r.fetchOptions.fetcher.fetch(e,r.fetchOptions),n=await de.releaseAfterUseAsync(async()=>await Ze.find(i.prefixPath,{baseFs:i.packageFs}),i.releaseFs);return _(P({},e),{version:n.version||"0.0.0",languageName:n.languageName||r.project.configuration.get("defaultLanguageName"),linkType:gt.SOFT,conditions:n.getConditions(),dependencies:new Map([...n.dependencies]),peerDependencies:n.peerDependencies,dependenciesMeta:n.dependenciesMeta,peerDependenciesMeta:n.peerDependenciesMeta,bin:n.bin})}};var UL=class{supports(e,r){return!!e.reference.startsWith(Ha)}getLocalPath(e,r){let{parentLocator:i,path:n}=S.parseFileStyleRange(e.reference,{protocol:Ha});if(v.isAbsolute(n))return n;let s=r.fetcher.getLocalPath(i,r);return s===null?null:v.resolve(s,n)}async fetch(e,r){var c;let{parentLocator:i,path:n}=S.parseFileStyleRange(e.reference,{protocol:Ha}),s=v.isAbsolute(n)?{packageFs:new Ft(Se.root),prefixPath:Se.dot,localPath:Se.root}:await r.fetcher.fetch(i,r),o=s.localPath?{packageFs:new Ft(Se.root),prefixPath:v.relative(Se.root,s.localPath),localPath:Se.root}:s;s!==o&&s.releaseFs&&s.releaseFs();let a=o.packageFs,l=v.resolve((c=o.localPath)!=null?c:o.packageFs.getRealPath(),o.prefixPath,n);return s.localPath?{packageFs:new Ft(l,{baseFs:a}),releaseFs:o.releaseFs,prefixPath:Se.dot,discardFromLookup:!0,localPath:l}:{packageFs:new Zo(l,{baseFs:a}),releaseFs:o.releaseFs,prefixPath:Se.dot,discardFromLookup:!0}}};var HL=class{supportsDescriptor(e,r){return!!e.range.startsWith(Ha)}supportsLocator(e,r){return!!e.reference.startsWith(Ha)}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,i){return S.bindDescriptor(e,{locator:S.stringifyLocator(r)})}getResolutionDependencies(e,r){return[]}async getCandidates(e,r,i){let n=e.range.slice(Ha.length);return[S.makeLocator(e,`${Ha}${M.toPortablePath(n)}`)]}async getSatisfying(e,r,i){return null}async resolve(e,r){return _(P({},e),{version:"0.0.0",languageName:r.project.configuration.get("defaultLanguageName"),linkType:gt.SOFT,conditions:null,dependencies:new Map,peerDependencies:new Map,dependenciesMeta:new Map,peerDependenciesMeta:new Map,bin:new Map})}};var O5e={fetchers:[UL,OL],resolvers:[HL,KL]},K5e=O5e;var mT={};it(mT,{default:()=>Y6e});var Ga;(function(i){i[i.YES=0]="YES",i[i.NO=1]="NO",i[i.DEPENDS=2]="DEPENDS"})(Ga||(Ga={}));var jL=(t,e)=>`${t}@${e}`,Nle=(t,e)=>{let r=e.indexOf("#"),i=r>=0?e.substring(r+1):e;return jL(t,i)},qs;(function(s){s[s.NONE=-1]="NONE",s[s.PERF=0]="PERF",s[s.CHECK=1]="CHECK",s[s.REASONS=2]="REASONS",s[s.INTENSIVE_CHECK=9]="INTENSIVE_CHECK"})(qs||(qs={}));var Tle=(t,e={})=>{let r=e.debugLevel||Number(process.env.NM_DEBUG_LEVEL||-1),i=e.check||r>=9,n=e.hoistingLimits||new Map,s={check:i,debugLevel:r,hoistingLimits:n,fastLookupPossible:!0},o;s.debugLevel>=0&&(o=Date.now());let a=U5e(t,s),l=!1,c=0;do l=YL(a,[a],new Set([a.locator]),new Map,s).anotherRoundNeeded,s.fastLookupPossible=!1,c++;while(l);if(s.debugLevel>=0&&console.log(`hoist time: ${Date.now()-o}ms, rounds: ${c}`),s.debugLevel>=1){let u=zC(a);if(YL(a,[a],new Set([a.locator]),new Map,s).isGraphChanged)throw new Error(`The hoisting result is not terminal, prev tree: +${u}, next tree: +${zC(a)}`);let f=Lle(a);if(f)throw new Error(`${f}, after hoisting finished: +${zC(a)}`)}return s.debugLevel>=2&&console.log(zC(a)),H5e(a)},G5e=t=>{let e=t[t.length-1],r=new Map,i=new Set,n=s=>{if(!i.has(s)){i.add(s);for(let o of s.hoistedDependencies.values())r.set(o.name,o);for(let o of s.dependencies.values())s.peerNames.has(o.name)||n(o)}};return n(e),r},j5e=t=>{let e=t[t.length-1],r=new Map,i=new Set,n=new Set,s=(o,a)=>{if(i.has(o))return;i.add(o);for(let c of o.hoistedDependencies.values())if(!a.has(c.name)){let u;for(let g of t)u=g.dependencies.get(c.name),u&&r.set(u.name,u)}let l=new Set;for(let c of o.dependencies.values())l.add(c.name);for(let c of o.dependencies.values())o.peerNames.has(c.name)||s(c,l)};return s(e,n),r},Mle=(t,e)=>{if(e.decoupled)return e;let{name:r,references:i,ident:n,locator:s,dependencies:o,originalDependencies:a,hoistedDependencies:l,peerNames:c,reasons:u,isHoistBorder:g,hoistPriority:f,isWorkspace:h,hoistedFrom:p,hoistedTo:d}=e,m={name:r,references:new Set(i),ident:n,locator:s,dependencies:new Map(o),originalDependencies:new Map(a),hoistedDependencies:new Map(l),peerNames:new Set(c),reasons:new Map(u),decoupled:!0,isHoistBorder:g,hoistPriority:f,isWorkspace:h,hoistedFrom:new Map(p),hoistedTo:new Map(d)},I=m.dependencies.get(r);return I&&I.ident==m.ident&&m.dependencies.set(r,m),t.dependencies.set(m.name,m),m},Y5e=(t,e)=>{let r=new Map([[t.name,[t.ident]]]);for(let n of t.dependencies.values())t.peerNames.has(n.name)||r.set(n.name,[n.ident]);let i=Array.from(e.keys());i.sort((n,s)=>{let o=e.get(n),a=e.get(s);return a.hoistPriority!==o.hoistPriority?a.hoistPriority-o.hoistPriority:a.peerDependents.size!==o.peerDependents.size?a.peerDependents.size-o.peerDependents.size:a.dependents.size-o.dependents.size});for(let n of i){let s=n.substring(0,n.indexOf("@",1)),o=n.substring(s.length+1);if(!t.peerNames.has(s)){let a=r.get(s);a||(a=[],r.set(s,a)),a.indexOf(o)<0&&a.push(o)}}return r},qL=t=>{let e=new Set,r=(i,n=new Set)=>{if(!n.has(i)){n.add(i);for(let s of i.peerNames)if(!t.peerNames.has(s)){let o=t.dependencies.get(s);o&&!e.has(o)&&r(o,n)}e.add(i)}};for(let i of t.dependencies.values())t.peerNames.has(i.name)||r(i);return e},YL=(t,e,r,i,n,s=new Set)=>{let o=e[e.length-1];if(s.has(o))return{anotherRoundNeeded:!1,isGraphChanged:!1};s.add(o);let a=J5e(o),l=Y5e(o,a),c=t==o?new Map:n.fastLookupPossible?G5e(e):j5e(e),u,g=!1,f=!1,h=new Map(Array.from(l.entries()).map(([d,m])=>[d,m[0]])),p=new Map;do{let d=q5e(t,e,r,c,h,l,i,p,n);d.isGraphChanged&&(f=!0),d.anotherRoundNeeded&&(g=!0),u=!1;for(let[m,I]of l)I.length>1&&!o.dependencies.has(m)&&(h.delete(m),I.shift(),h.set(m,I[0]),u=!0)}while(u);for(let d of o.dependencies.values())if(!o.peerNames.has(d.name)&&!r.has(d.locator)){r.add(d.locator);let m=YL(t,[...e,d],r,p,n);m.isGraphChanged&&(f=!0),m.anotherRoundNeeded&&(g=!0),r.delete(d.locator)}return{anotherRoundNeeded:g,isGraphChanged:f}},W5e=(t,e,r,i,n,s,o,a,{outputReason:l,fastLookupPossible:c})=>{let u,g=null,f=new Set;l&&(u=`${Array.from(e).map(m=>wi(m)).join("\u2192")}`);let h=r[r.length-1],d=!(i.ident===h.ident);if(l&&!d&&(g="- self-reference"),d&&(d=!i.isWorkspace,l&&!d&&(g="- workspace")),d&&(d=!h.isWorkspace||h.hoistedFrom.has(i.name)||e.size===1,l&&!d&&(g=h.reasons.get(i.name))),d&&(d=!t.peerNames.has(i.name),l&&!d&&(g=`- cannot shadow peer: ${wi(t.originalDependencies.get(i.name).locator)} at ${u}`)),d){let m=!1,I=n.get(i.name);if(m=!I||I.ident===i.ident,l&&!m&&(g=`- filled by: ${wi(I.locator)} at ${u}`),m)for(let B=r.length-1;B>=1;B--){let R=r[B].dependencies.get(i.name);if(R&&R.ident!==i.ident){m=!1;let H=a.get(h);H||(H=new Set,a.set(h,H)),H.add(i.name),l&&(g=`- filled by ${wi(R.locator)} at ${r.slice(0,B).map(L=>wi(L.locator)).join("\u2192")}`);break}}d=m}if(d&&(d=s.get(i.name)===i.ident,l&&!d&&(g=`- filled by: ${wi(o.get(i.name)[0])} at ${u}`)),d){let m=!0,I=new Set(i.peerNames);for(let B=r.length-1;B>=1;B--){let b=r[B];for(let R of I){if(b.peerNames.has(R)&&b.originalDependencies.has(R))continue;let H=b.dependencies.get(R);H&&t.dependencies.get(R)!==H&&(B===r.length-1?f.add(H):(f=null,m=!1,l&&(g=`- peer dependency ${wi(H.locator)} from parent ${wi(b.locator)} was not hoisted to ${u}`))),I.delete(R)}if(!m)break}d=m}if(d&&!c)for(let m of i.hoistedDependencies.values()){let I=n.get(m.name);if(!I||m.ident!==I.ident){d=!1,l&&(g=`- previously hoisted dependency mismatch, needed: ${wi(m.locator)}, available: ${wi(I==null?void 0:I.locator)}`);break}}return f!==null&&f.size>0?{isHoistable:2,dependsOn:f,reason:g}:{isHoistable:d?0:1,reason:g}},q5e=(t,e,r,i,n,s,o,a,l)=>{let c=e[e.length-1],u=new Set,g=!1,f=!1,h=(m,I,B,b)=>{if(u.has(B))return;let R=[...I,B.locator],H=new Map,L=new Map;for(let q of qL(B)){let A=W5e(c,r,[c,...m,B],q,i,n,s,a,{outputReason:l.debugLevel>=2,fastLookupPossible:l.fastLookupPossible});if(L.set(q,A),A.isHoistable===2)for(let V of A.dependsOn){let W=H.get(V.name)||new Set;W.add(q.name),H.set(V.name,W)}}let K=new Set,J=(q,A,V)=>{if(!K.has(q)){K.add(q),L.set(q,{isHoistable:1,reason:V});for(let W of H.get(q.name)||[])J(B.dependencies.get(W),A,l.debugLevel>=2?`- peer dependency ${wi(q.locator)} from parent ${wi(B.locator)} was not hoisted`:"")}};for(let[q,A]of L)A.isHoistable===1&&J(q,A,A.reason);for(let q of L.keys())if(!K.has(q)){f=!0;let A=o.get(B);A&&A.has(q.name)&&(g=!0),B.dependencies.delete(q.name),B.hoistedDependencies.set(q.name,q),B.reasons.delete(q.name);let V=c.dependencies.get(q.name);if(l.debugLevel>=2){let W=Array.from(I).concat([B.locator]).map(F=>wi(F)).join("\u2192"),X=c.hoistedFrom.get(q.name);X||(X=[],c.hoistedFrom.set(q.name,X)),X.push(W),B.hoistedTo.set(q.name,Array.from(e).map(F=>wi(F.locator)).join("\u2192"))}if(!V)c.ident!==q.ident&&(c.dependencies.set(q.name,q),b.add(q));else for(let W of q.references)V.references.add(W)}if(l.check){let q=Lle(t);if(q)throw new Error(`${q}, after hoisting dependencies of ${[c,...m,B].map(A=>wi(A.locator)).join("\u2192")}: +${zC(t)}`)}let ne=qL(B);for(let q of ne)if(K.has(q)){let A=L.get(q);if((n.get(q.name)===q.ident||!B.reasons.has(q.name))&&A.isHoistable!==0&&B.reasons.set(q.name,A.reason),!q.isHoistBorder&&R.indexOf(q.locator)<0){u.add(B);let W=Mle(B,q);h([...m,B],[...I,B.locator],W,d),u.delete(B)}}},p,d=new Set(qL(c));do{p=d,d=new Set;for(let m of p){if(m.locator===c.locator||m.isHoistBorder)continue;let I=Mle(c,m);h([],Array.from(r),I,d)}}while(d.size>0);return{anotherRoundNeeded:g,isGraphChanged:f}},Lle=t=>{let e=[],r=new Set,i=new Set,n=(s,o,a)=>{if(r.has(s)||(r.add(s),i.has(s)))return;let l=new Map(o);for(let c of s.dependencies.values())s.peerNames.has(c.name)||l.set(c.name,c);for(let c of s.originalDependencies.values()){let u=l.get(c.name),g=()=>`${Array.from(i).concat([s]).map(f=>wi(f.locator)).join("\u2192")}`;if(s.peerNames.has(c.name)){let f=o.get(c.name);(f!==u||!f||f.ident!==c.ident)&&e.push(`${g()} - broken peer promise: expected ${c.ident} but found ${f&&f.ident}`)}else{let f=a.hoistedFrom.get(s.name),h=s.hoistedTo.get(c.name),p=`${f?` hoisted from ${f.join(", ")}`:""}`,d=`${h?` hoisted to ${h}`:""}`,m=`${g()}${p}`;u?u.ident!==c.ident&&e.push(`${m} - broken require promise for ${c.name}${d}: expected ${c.ident}, but found: ${u.ident}`):e.push(`${m} - broken require promise: no required dependency ${c.name}${d} found`)}}i.add(s);for(let c of s.dependencies.values())s.peerNames.has(c.name)||n(c,l,s);i.delete(s)};return n(t,t.dependencies,t),e.join(` +`)},U5e=(t,e)=>{let{identName:r,name:i,reference:n,peerNames:s}=t,o={name:i,references:new Set([n]),locator:jL(r,n),ident:Nle(r,n),dependencies:new Map,originalDependencies:new Map,hoistedDependencies:new Map,peerNames:new Set(s),reasons:new Map,decoupled:!0,isHoistBorder:!0,hoistPriority:0,isWorkspace:!0,hoistedFrom:new Map,hoistedTo:new Map},a=new Map([[t,o]]),l=(c,u)=>{let g=a.get(c),f=!!g;if(!g){let{name:h,identName:p,reference:d,peerNames:m,hoistPriority:I,isWorkspace:B}=c,b=e.hoistingLimits.get(u.locator);g={name:h,references:new Set([d]),locator:jL(p,d),ident:Nle(p,d),dependencies:new Map,originalDependencies:new Map,hoistedDependencies:new Map,peerNames:new Set(m),reasons:new Map,decoupled:!0,isHoistBorder:b?b.has(h):!1,hoistPriority:I||0,isWorkspace:B||!1,hoistedFrom:new Map,hoistedTo:new Map},a.set(c,g)}if(u.dependencies.set(c.name,g),u.originalDependencies.set(c.name,g),f){let h=new Set,p=d=>{if(!h.has(d)){h.add(d),d.decoupled=!1;for(let m of d.dependencies.values())d.peerNames.has(m.name)||p(m)}};p(g)}else for(let h of c.dependencies)l(h,g)};for(let c of t.dependencies)l(c,o);return o},JL=t=>t.substring(0,t.indexOf("@",1)),H5e=t=>{let e={name:t.name,identName:JL(t.locator),references:new Set(t.references),dependencies:new Set},r=new Set([t]),i=(n,s,o)=>{let a=r.has(n),l;if(s===n)l=o;else{let{name:c,references:u,locator:g}=n;l={name:c,identName:JL(g),references:u,dependencies:new Set}}if(o.dependencies.add(l),!a){r.add(n);for(let c of n.dependencies.values())n.peerNames.has(c.name)||i(c,n,l);r.delete(n)}};for(let n of t.dependencies.values())i(n,t,e);return e},J5e=t=>{let e=new Map,r=new Set([t]),i=o=>`${o.name}@${o.ident}`,n=o=>{let a=i(o),l=e.get(a);return l||(l={dependents:new Set,peerDependents:new Set,hoistPriority:0},e.set(a,l)),l},s=(o,a)=>{let l=!!r.has(a);if(n(a).dependents.add(o.ident),!l){r.add(a);for(let u of a.dependencies.values()){let g=n(u);g.hoistPriority=Math.max(g.hoistPriority,u.hoistPriority),a.peerNames.has(u.name)?g.peerDependents.add(a.ident):s(a,u)}}};for(let o of t.dependencies.values())t.peerNames.has(o.name)||s(t,o);return e},wi=t=>{if(!t)return"none";let e=t.indexOf("@",1),r=t.substring(0,e);r.endsWith("$wsroot$")&&(r=`wh:${r.replace("$wsroot$","")}`);let i=t.substring(e+1);if(i==="workspace:.")return".";if(i){let n=(i.indexOf("#")>0?i.split("#")[1]:i).replace("npm:","");return i.startsWith("virtual")&&(r=`v:${r}`),n.startsWith("workspace")&&(r=`w:${r}`,n=""),`${r}${n?`@${n}`:""}`}else return`${r}`},Ole=5e4,zC=t=>{let e=0,r=(n,s,o="")=>{if(e>Ole||s.has(n))return"";e++;let a=Array.from(n.dependencies.values()).sort((c,u)=>c.name.localeCompare(u.name)),l="";s.add(n);for(let c=0;c":"")+(f!==u.name?`a:${u.name}:`:"")+wi(u.locator)+(g?` ${g}`:"")+(u!==n&&h.length>0?`, hoisted from: ${h.join(", ")}`:"")} +`,l+=r(u,s,`${o}${cOle?` +Tree is too large, part of the tree has been dunped +`:"")};var Js;(function(r){r.HARD="HARD",r.SOFT="SOFT"})(Js||(Js={}));var Sn;(function(i){i.WORKSPACES="workspaces",i.DEPENDENCIES="dependencies",i.NONE="none"})(Sn||(Sn={}));var Kle="node_modules",Hc="$wsroot$";var VC=(t,e)=>{let{packageTree:r,hoistingLimits:i,errors:n,preserveSymlinksRequired:s}=z5e(t,e),o=null;if(n.length===0){let a=Tle(r,{hoistingLimits:i});o=V5e(t,a,e)}return{tree:o,errors:n,preserveSymlinksRequired:s}},ms=t=>`${t.name}@${t.reference}`,WL=t=>{let e=new Map;for(let[r,i]of t.entries())if(!i.dirList){let n=e.get(i.locator);n||(n={target:i.target,linkType:i.linkType,locations:[],aliases:i.aliases},e.set(i.locator,n)),n.locations.push(r)}for(let r of e.values())r.locations=r.locations.sort((i,n)=>{let s=i.split(v.delimiter).length,o=n.split(v.delimiter).length;return s!==o?o-s:n.localeCompare(i)});return e},Ule=(t,e)=>{let r=S.isVirtualLocator(t)?S.devirtualizeLocator(t):t,i=S.isVirtualLocator(e)?S.devirtualizeLocator(e):e;return S.areLocatorsEqual(r,i)},zL=(t,e,r,i)=>{if(t.linkType!==Js.SOFT)return!1;let n=M.toPortablePath(r.resolveVirtual&&e.reference&&e.reference.startsWith("virtual:")?r.resolveVirtual(t.packageLocation):t.packageLocation);return v.contains(i,n)===null},_5e=t=>{let e=t.getPackageInformation(t.topLevel);if(e===null)throw new Error("Assertion failed: Expected the top-level package to have been registered");if(t.findPackageLocator(e.packageLocation)===null)throw new Error("Assertion failed: Expected the top-level package to have a physical locator");let i=M.toPortablePath(e.packageLocation.slice(0,-1)),n=new Map,s={children:new Map},o=t.getDependencyTreeRoots(),a=new Map,l=new Set,c=(f,h)=>{let p=ms(f);if(l.has(p))return;l.add(p);let d=t.getPackageInformation(f);if(d){let m=h?ms(h):"";if(ms(f)!==m&&d.linkType===Js.SOFT&&!zL(d,f,t,i)){let I=Hle(d,f,t);(!a.get(I)||f.reference.startsWith("workspace:"))&&a.set(I,f)}for(let[I,B]of d.packageDependencies)B!==null&&(d.packagePeers.has(I)||c(t.getLocator(I,B),f))}};for(let f of o)c(f,null);let u=i.split(v.sep);for(let f of a.values()){let h=t.getPackageInformation(f),d=M.toPortablePath(h.packageLocation.slice(0,-1)).split(v.sep).slice(u.length),m=s;for(let I of d){let B=m.children.get(I);B||(B={children:new Map},m.children.set(I,B)),m=B}m.workspaceLocator=f}let g=(f,h)=>{if(f.workspaceLocator){let p=ms(h),d=n.get(p);d||(d=new Set,n.set(p,d)),d.add(f.workspaceLocator)}for(let p of f.children.values())g(p,f.workspaceLocator||h)};for(let f of s.children.values())g(f,s.workspaceLocator);return n},z5e=(t,e)=>{let r=[],i=!1,n=new Map,s=_5e(t),o=t.getPackageInformation(t.topLevel);if(o===null)throw new Error("Assertion failed: Expected the top-level package to have been registered");let a=t.findPackageLocator(o.packageLocation);if(a===null)throw new Error("Assertion failed: Expected the top-level package to have a physical locator");let l=M.toPortablePath(o.packageLocation.slice(0,-1)),c={name:a.name,identName:a.name,reference:a.reference,peerNames:o.packagePeers,dependencies:new Set,isWorkspace:!0},u=new Map,g=(h,p)=>`${ms(p)}:${h}`,f=(h,p,d,m,I,B,b,R)=>{var X,F;let H=g(h,d),L=u.get(H),K=!!L;!K&&d.name===a.name&&d.reference===a.reference&&(L=c,u.set(H,c));let J=zL(p,d,t,l);if(!L){let D=p.linkType===Js.SOFT&&d.name.endsWith(Hc);L={name:h,identName:d.name,reference:d.reference,dependencies:new Set,peerNames:D?new Set:p.packagePeers,isWorkspace:D},u.set(H,L)}let ne;if(J?ne=2:I.linkType===Js.SOFT?ne=1:ne=0,L.hoistPriority=Math.max(L.hoistPriority||0,ne),R&&!J){let D=ms({name:m.identName,reference:m.reference}),he=n.get(D)||new Set;n.set(D,he),he.add(L.name)}let q=new Map(p.packageDependencies);if(e.project){let D=e.project.workspacesByCwd.get(M.toPortablePath(p.packageLocation.slice(0,-1)));if(D){let he=new Set([...Array.from(D.manifest.peerDependencies.values(),pe=>S.stringifyIdent(pe)),...Array.from(D.manifest.peerDependenciesMeta.keys())]);for(let pe of he)q.has(pe)||(q.set(pe,B.get(pe)||null),L.peerNames.add(pe))}}let A=ms({name:d.name.replace(Hc,""),reference:d.reference}),V=s.get(A);if(V)for(let D of V)q.set(`${D.name}${Hc}`,D.reference);(p!==I||p.linkType!==Js.SOFT||!e.selfReferencesByCwd||e.selfReferencesByCwd.get(b))&&m.dependencies.add(L);let W=d!==a&&p.linkType===Js.SOFT&&!d.name.endsWith(Hc)&&!J;if(!K&&!W){let D=new Map;for(let[he,pe]of q)if(pe!==null){let Ne=t.getLocator(he,pe),Pe=t.getLocator(he.replace(Hc,""),pe),qe=t.getPackageInformation(Pe);if(qe===null)throw new Error("Assertion failed: Expected the package to have been registered");let re=zL(qe,Ne,t,l);if(e.validateExternalSoftLinks&&e.project&&re){qe.packageDependencies.size>0&&(i=!0);for(let[De,$]of qe.packageDependencies)if($!==null){let G=S.parseLocator(Array.isArray($)?`${$[0]}@${$[1]}`:`${De}@${$}`);if(ms(G)!==ms(Ne)){let Ce=q.get(De);if(Ce){let ee=S.parseLocator(Array.isArray(Ce)?`${Ce[0]}@${Ce[1]}`:`${De}@${Ce}`);Ule(ee,G)||r.push({messageName:z.NM_CANT_INSTALL_EXTERNAL_SOFT_LINK,text:`Cannot link ${S.prettyIdent(e.project.configuration,S.parseIdent(Ne.name))} into ${S.prettyLocator(e.project.configuration,S.parseLocator(`${d.name}@${d.reference}`))} dependency ${S.prettyLocator(e.project.configuration,G)} conflicts with parent dependency ${S.prettyLocator(e.project.configuration,ee)}`})}else{let ee=D.get(De);if(ee){let Ue=ee.target,Oe=S.parseLocator(Array.isArray(Ue)?`${Ue[0]}@${Ue[1]}`:`${De}@${Ue}`);Ule(Oe,G)||r.push({messageName:z.NM_CANT_INSTALL_EXTERNAL_SOFT_LINK,text:`Cannot link ${S.prettyIdent(e.project.configuration,S.parseIdent(Ne.name))} into ${S.prettyLocator(e.project.configuration,S.parseLocator(`${d.name}@${d.reference}`))} dependency ${S.prettyLocator(e.project.configuration,G)} conflicts with dependency ${S.prettyLocator(e.project.configuration,Oe)} from sibling portal ${S.prettyIdent(e.project.configuration,S.parseIdent(ee.portal.name))}`})}else D.set(De,{target:G.reference,portal:Ne})}}}}let se=(X=e.hoistingLimitsByCwd)==null?void 0:X.get(b),be=re?b:v.relative(l,M.toPortablePath(qe.packageLocation))||Se.dot,ae=(F=e.hoistingLimitsByCwd)==null?void 0:F.get(be),Ae=se===Sn.DEPENDENCIES||ae===Sn.DEPENDENCIES||ae===Sn.WORKSPACES;f(ms(Ne)===ms(d)?h:he,qe,Ne,L,p,q,be,Ae)}}};return f(a.name,o,a,c,o,o.packageDependencies,Se.dot,!1),{packageTree:c,hoistingLimits:n,errors:r,preserveSymlinksRequired:i}};function Hle(t,e,r){let i=r.resolveVirtual&&e.reference&&e.reference.startsWith("virtual:")?r.resolveVirtual(t.packageLocation):t.packageLocation;return M.toPortablePath(i||t.packageLocation)}function X5e(t,e,r){let i=e.getLocator(t.name.replace(Hc,""),t.reference),n=e.getPackageInformation(i);if(n===null)throw new Error("Assertion failed: Expected the package to be registered");let s,o;return r.pnpifyFs?(o=M.toPortablePath(n.packageLocation),s=Js.SOFT):(o=Hle(n,t,e),s=n.linkType),{linkType:s,target:o}}var V5e=(t,e,r)=>{let i=new Map,n=(u,g,f)=>{let{linkType:h,target:p}=X5e(u,t,r);return{locator:ms(u),nodePath:g,target:p,linkType:h,aliases:f}},s=u=>{let[g,f]=u.split("/");return f?{scope:kr(g),name:kr(f)}:{scope:null,name:kr(g)}},o=new Set,a=(u,g,f)=>{if(!o.has(u)){o.add(u);for(let h of u.dependencies){if(h===u)continue;let p=Array.from(h.references).sort(),d={name:h.identName,reference:p[0]},{name:m,scope:I}=s(h.name),B=I?[I,m]:[m],b=v.join(g,Kle),R=v.join(b,...B),H=`${f}/${d.name}`,L=n(d,f,p.slice(1)),K=!1;if(L.linkType===Js.SOFT&&r.project){let J=r.project.workspacesByCwd.get(L.target.slice(0,-1));K=!!(J&&!J.manifest.name)}if(!h.name.endsWith(Hc)&&!K){let J=i.get(R);if(J){if(J.dirList)throw new Error(`Assertion failed: ${R} cannot merge dir node with leaf node`);{let V=S.parseLocator(J.locator),W=S.parseLocator(L.locator);if(J.linkType!==L.linkType)throw new Error(`Assertion failed: ${R} cannot merge nodes with different link types ${J.nodePath}/${S.stringifyLocator(V)} and ${f}/${S.stringifyLocator(W)}`);if(V.identHash!==W.identHash)throw new Error(`Assertion failed: ${R} cannot merge nodes with different idents ${J.nodePath}/${S.stringifyLocator(V)} and ${f}/s${S.stringifyLocator(W)}`);L.aliases=[...L.aliases,...J.aliases,S.parseLocator(J.locator).reference]}}i.set(R,L);let ne=R.split("/"),q=ne.indexOf(Kle),A=ne.length-1;for(;q>=0&&A>q;){let V=M.toPortablePath(ne.slice(0,A).join(v.sep)),W=kr(ne[A]),X=i.get(V);if(!X)i.set(V,{dirList:new Set([W])});else if(X.dirList){if(X.dirList.has(W))break;X.dirList.add(W)}A--}}a(h,L.linkType===Js.SOFT?L.target:R,H)}}},l=n({name:e.name,reference:Array.from(e.references)[0]},"",[]),c=l.target;return i.set(c,l),a(e,c,""),i};var oT={};it(oT,{PnpInstaller:()=>Cf,PnpLinker:()=>jc,default:()=>m6e,getPnpPath:()=>qA,jsInstallUtils:()=>Ws,pnpUtils:()=>nT,quotePathIfNeeded:()=>uce});var lce=ie(Or()),cce=ie(require("url"));var Gle;(function(r){r.HARD="HARD",r.SOFT="SOFT"})(Gle||(Gle={}));var Ht;(function(f){f.DEFAULT="DEFAULT",f.TOP_LEVEL="TOP_LEVEL",f.FALLBACK_EXCLUSION_LIST="FALLBACK_EXCLUSION_LIST",f.FALLBACK_EXCLUSION_ENTRIES="FALLBACK_EXCLUSION_ENTRIES",f.FALLBACK_EXCLUSION_DATA="FALLBACK_EXCLUSION_DATA",f.PACKAGE_REGISTRY_DATA="PACKAGE_REGISTRY_DATA",f.PACKAGE_REGISTRY_ENTRIES="PACKAGE_REGISTRY_ENTRIES",f.PACKAGE_STORE_DATA="PACKAGE_STORE_DATA",f.PACKAGE_STORE_ENTRIES="PACKAGE_STORE_ENTRIES",f.PACKAGE_INFORMATION_DATA="PACKAGE_INFORMATION_DATA",f.PACKAGE_DEPENDENCIES="PACKAGE_DEPENDENCIES",f.PACKAGE_DEPENDENCY="PACKAGE_DEPENDENCY"})(Ht||(Ht={}));var jle={[Ht.DEFAULT]:{collapsed:!1,next:{["*"]:Ht.DEFAULT}},[Ht.TOP_LEVEL]:{collapsed:!1,next:{fallbackExclusionList:Ht.FALLBACK_EXCLUSION_LIST,packageRegistryData:Ht.PACKAGE_REGISTRY_DATA,["*"]:Ht.DEFAULT}},[Ht.FALLBACK_EXCLUSION_LIST]:{collapsed:!1,next:{["*"]:Ht.FALLBACK_EXCLUSION_ENTRIES}},[Ht.FALLBACK_EXCLUSION_ENTRIES]:{collapsed:!0,next:{["*"]:Ht.FALLBACK_EXCLUSION_DATA}},[Ht.FALLBACK_EXCLUSION_DATA]:{collapsed:!0,next:{["*"]:Ht.DEFAULT}},[Ht.PACKAGE_REGISTRY_DATA]:{collapsed:!1,next:{["*"]:Ht.PACKAGE_REGISTRY_ENTRIES}},[Ht.PACKAGE_REGISTRY_ENTRIES]:{collapsed:!0,next:{["*"]:Ht.PACKAGE_STORE_DATA}},[Ht.PACKAGE_STORE_DATA]:{collapsed:!1,next:{["*"]:Ht.PACKAGE_STORE_ENTRIES}},[Ht.PACKAGE_STORE_ENTRIES]:{collapsed:!0,next:{["*"]:Ht.PACKAGE_INFORMATION_DATA}},[Ht.PACKAGE_INFORMATION_DATA]:{collapsed:!1,next:{packageDependencies:Ht.PACKAGE_DEPENDENCIES,["*"]:Ht.DEFAULT}},[Ht.PACKAGE_DEPENDENCIES]:{collapsed:!1,next:{["*"]:Ht.PACKAGE_DEPENDENCY}},[Ht.PACKAGE_DEPENDENCY]:{collapsed:!0,next:{["*"]:Ht.DEFAULT}}};function Z5e(t,e,r){let i="";i+="[";for(let n=0,s=t.length;ns(o)));let n=r.map((s,o)=>o);return n.sort((s,o)=>{for(let a of i){let l=a[s]a[o]?1:0;if(l!==0)return l}return 0}),n.map(s=>r[s])}function r6e(t){let e=new Map,r=_C(t.fallbackExclusionList||[],[({name:i,reference:n})=>i,({name:i,reference:n})=>n]);for(let{name:i,reference:n}of r){let s=e.get(i);typeof s=="undefined"&&e.set(i,s=new Set),s.add(n)}return Array.from(e).map(([i,n])=>[i,Array.from(n)])}function i6e(t){return _C(t.fallbackPool||[],([e])=>e)}function n6e(t){let e=[];for(let[r,i]of _C(t.packageRegistry,([n])=>n===null?"0":`1${n}`)){let n=[];e.push([r,n]);for(let[s,{packageLocation:o,packageDependencies:a,packagePeers:l,linkType:c,discardFromLookup:u}]of _C(i,([g])=>g===null?"0":`1${g}`)){let g=[];r!==null&&s!==null&&!a.has(r)&&g.push([r,s]);for(let[p,d]of _C(a.entries(),([m])=>m))g.push([p,d]);let f=l&&l.size>0?Array.from(l):void 0,h=u||void 0;n.push([s,{packageLocation:o,packageDependencies:g,packagePeers:f,linkType:c,discardFromLookup:h}])}}return e}function XC(t){return{__info:["This file is automatically generated. Do not touch it, or risk","your modifications being lost. We also recommend you not to read","it either without using the @yarnpkg/pnp package, as the data layout","is entirely unspecified and WILL change from a version to another."],dependencyTreeRoots:t.dependencyTreeRoots,enableTopLevelFallback:t.enableTopLevelFallback||!1,ignorePatternData:t.ignorePattern||null,fallbackExclusionList:r6e(t),fallbackPool:i6e(t),packageRegistryData:n6e(t)}}var zle=ie(Wle());function Vle(t,e){return[t?`${t} +`:"",`/* eslint-disable */ + +`,`try { +`,` Object.freeze({}).detectStrictMode = true; +`,`} catch (error) { +`," throw new Error(`The whole PnP file got strict-mode-ified, which is known to break (Emscripten libraries aren't strict mode). This usually happens when the file goes through Babel.`);\n",`} +`,` +`,`var __non_webpack_module__ = module; +`,` +`,`function $$SETUP_STATE(hydrateRuntimeState, basePath) { +`,e.replace(/^/gm," "),`} +`,` +`,(0,zle.default)()].join("")}function s6e(t){return JSON.stringify(t,null,2)}function o6e(t){return[`return hydrateRuntimeState(${qle(t)}, {basePath: basePath || __dirname}); +`].join("")}function a6e(t){return[`var path = require('path'); +`,`var dataLocation = path.resolve(__dirname, ${JSON.stringify(t)}); +`,`return hydrateRuntimeState(require(dataLocation), {basePath: basePath || path.dirname(dataLocation)}); +`].join("")}function _le(t){let e=XC(t),r=o6e(e);return Vle(t.shebang,r)}function Xle(t){let e=XC(t),r=a6e(t.dataLocation),i=Vle(t.shebang,r);return{dataFile:s6e(e),loaderFile:i}}var tce=ie(require("fs")),u6e=ie(require("path")),rce=ie(require("util"));function _L(t,{basePath:e}){let r=M.toPortablePath(e),i=v.resolve(r),n=t.ignorePatternData!==null?new RegExp(t.ignorePatternData):null,s=new Map,o=new Map(t.packageRegistryData.map(([g,f])=>[g,new Map(f.map(([h,p])=>{var b;if(g===null!=(h===null))throw new Error("Assertion failed: The name and reference should be null, or neither should");let d=(b=p.discardFromLookup)!=null?b:!1,m={name:g,reference:h},I=s.get(p.packageLocation);I?(I.discardFromLookup=I.discardFromLookup&&d,d||(I.locator=m)):s.set(p.packageLocation,{locator:m,discardFromLookup:d});let B=null;return[h,{packageDependencies:new Map(p.packageDependencies),packagePeers:new Set(p.packagePeers),linkType:p.linkType,discardFromLookup:d,get packageLocation(){return B||(B=v.join(i,p.packageLocation))}}]}))])),a=new Map(t.fallbackExclusionList.map(([g,f])=>[g,new Set(f)])),l=new Map(t.fallbackPool),c=t.dependencyTreeRoots,u=t.enableTopLevelFallback;return{basePath:r,dependencyTreeRoots:c,enableTopLevelFallback:u,fallbackExclusionList:a,fallbackPool:l,ignorePattern:n,packageLocatorsByLocations:s,packageRegistry:o}}var df=ie(require("module")),ece=ie($le()),ZL=ie(require("util"));var ur;(function(l){l.API_ERROR="API_ERROR",l.BUILTIN_NODE_RESOLUTION_FAILED="BUILTIN_NODE_RESOLUTION_FAILED",l.MISSING_DEPENDENCY="MISSING_DEPENDENCY",l.MISSING_PEER_DEPENDENCY="MISSING_PEER_DEPENDENCY",l.QUALIFIED_PATH_RESOLUTION_FAILED="QUALIFIED_PATH_RESOLUTION_FAILED",l.INTERNAL="INTERNAL",l.UNDECLARED_DEPENDENCY="UNDECLARED_DEPENDENCY",l.UNSUPPORTED="UNSUPPORTED"})(ur||(ur={}));var c6e=new Set([ur.BUILTIN_NODE_RESOLUTION_FAILED,ur.MISSING_DEPENDENCY,ur.MISSING_PEER_DEPENDENCY,ur.QUALIFIED_PATH_RESOLUTION_FAILED,ur.UNDECLARED_DEPENDENCY]);function ui(t,e,r={}){let i=c6e.has(t)?"MODULE_NOT_FOUND":t,n={configurable:!0,writable:!0,enumerable:!1};return Object.defineProperties(new Error(e),{code:_(P({},n),{value:i}),pnpCode:_(P({},n),{value:t}),data:_(P({},n),{value:r})})}function YA(t){return M.normalize(M.fromPortablePath(t))}function $L(t,e){let r=Number(process.env.PNP_ALWAYS_WARN_ON_FALLBACK)>0,i=Number(process.env.PNP_DEBUG_LEVEL),n=new Set(df.Module.builtinModules||Object.keys(process.binding("natives"))),s=re=>n.has(re)||re.startsWith("node:"),o=/^(?![a-zA-Z]:[\\/]|\\\\|\.{0,2}(?:\/|$))((?:node:)?(?:@[^/]+\/)?[^/]+)\/*(.*|)$/,a=/^(\/|\.{1,2}(\/|$))/,l=/\/$/,c=/^\.{0,2}\//,u={name:null,reference:null},g=[],f=new Set;if(t.enableTopLevelFallback===!0&&g.push(u),e.compatibilityMode!==!1)for(let re of["react-scripts","gatsby"]){let se=t.packageRegistry.get(re);if(se)for(let be of se.keys()){if(be===null)throw new Error("Assertion failed: This reference shouldn't be null");g.push({name:re,reference:be})}}let{ignorePattern:h,packageRegistry:p,packageLocatorsByLocations:d}=t;function m(re,se){return{fn:re,args:se,error:null,result:null}}function I(re){var De,$,G,Ce,ee,Ue;let se=(G=($=(De=process.stderr)==null?void 0:De.hasColors)==null?void 0:$.call(De))!=null?G:process.stdout.isTTY,be=(Oe,vt)=>`[${Oe}m${vt}`,ae=re.error;console.error(ae?be("31;1",`\u2716 ${(Ce=re.error)==null?void 0:Ce.message.replace(/\n.*/s,"")}`):be("33;1","\u203C Resolution")),re.args.length>0&&console.error();for(let Oe of re.args)console.error(` ${be("37;1","In \u2190")} ${(0,ZL.inspect)(Oe,{colors:se,compact:!0})}`);re.result&&(console.error(),console.error(` ${be("37;1","Out \u2192")} ${(0,ZL.inspect)(re.result,{colors:se,compact:!0})}`));let Ae=(Ue=(ee=new Error().stack.match(/(?<=^ +)at.*/gm))==null?void 0:ee.slice(2))!=null?Ue:[];if(Ae.length>0){console.error();for(let Oe of Ae)console.error(` ${be("38;5;244",Oe)}`)}console.error()}function B(re,se){if(e.allowDebug===!1)return se;if(Number.isFinite(i)){if(i>=2)return(...be)=>{let ae=m(re,be);try{return ae.result=se(...be)}catch(Ae){throw ae.error=Ae}finally{I(ae)}};if(i>=1)return(...be)=>{try{return se(...be)}catch(ae){let Ae=m(re,be);throw Ae.error=ae,I(Ae),ae}}}return se}function b(re){let se=W(re);if(!se)throw ui(ur.INTERNAL,"Couldn't find a matching entry in the dependency tree for the specified parent (this is probably an internal error)");return se}function R(re){if(re.name===null)return!0;for(let se of t.dependencyTreeRoots)if(se.name===re.name&&se.reference===re.reference)return!0;return!1}let H=new Set(["default","node","require"]);function L(re,se=H){let be=D(v.join(re,"internal.js"),{resolveIgnored:!0,includeDiscardFromLookup:!0});if(be===null)throw ui(ur.INTERNAL,`The locator that owns the "${re}" path can't be found inside the dependency tree (this is probably an internal error)`);let{packageLocation:ae}=b(be),Ae=v.join(ae,wt.manifest);if(!e.fakeFs.existsSync(Ae))return null;let De=JSON.parse(e.fakeFs.readFileSync(Ae,"utf8")),$=v.contains(ae,re);if($===null)throw ui(ur.INTERNAL,"unqualifiedPath doesn't contain the packageLocation (this is probably an internal error)");c.test($)||($=`./${$}`);let G=(0,ece.resolve)(De,v.normalize($),{conditions:se,unsafe:!0});return typeof G=="string"?v.join(ae,G):null}function K(re,se,{extensions:be}){let ae;try{se.push(re),ae=e.fakeFs.statSync(re)}catch(Ae){}if(ae&&!ae.isDirectory())return e.fakeFs.realpathSync(re);if(ae&&ae.isDirectory()){let Ae;try{Ae=JSON.parse(e.fakeFs.readFileSync(v.join(re,wt.manifest),"utf8"))}catch($){}let De;if(Ae&&Ae.main&&(De=v.resolve(re,Ae.main)),De&&De!==re){let $=K(De,se,{extensions:be});if($!==null)return $}}for(let Ae=0,De=be.length;Ae{let G=JSON.stringify($.name);if(ae.has(G))return;ae.add(G);let Ce=X($);for(let ee of Ce)if(b(ee).packagePeers.has(re))Ae(ee);else{let Oe=be.get(ee.name);typeof Oe=="undefined"&&be.set(ee.name,Oe=new Set),Oe.add(ee.reference)}};Ae(se);let De=[];for(let $ of[...be.keys()].sort())for(let G of[...be.get($)].sort())De.push({name:$,reference:G});return De}function D(re,{resolveIgnored:se=!1,includeDiscardFromLookup:be=!1}={}){if(q(re)&&!se)return null;let ae=v.relative(t.basePath,re);ae.match(a)||(ae=`./${ae}`),ae.endsWith("/")||(ae=`${ae}/`);do{let Ae=d.get(ae);if(typeof Ae=="undefined"||Ae.discardFromLookup&&!be){ae=ae.substring(0,ae.lastIndexOf("/",ae.length-2)+1);continue}return Ae.locator}while(ae!=="");return null}function he(re,se,{considerBuiltins:be=!0}={}){if(re==="pnpapi")return M.toPortablePath(e.pnpapiResolution);if(be&&s(re))return null;let ae=YA(re),Ae=se&&YA(se);if(se&&q(se)&&(!v.isAbsolute(re)||D(re)===null)){let G=ne(re,se);if(G===!1)throw ui(ur.BUILTIN_NODE_RESOLUTION_FAILED,`The builtin node resolution algorithm was unable to resolve the requested module (it didn't go through the pnp resolver because the issuer was explicitely ignored by the regexp) + +Require request: "${ae}" +Required by: ${Ae} +`,{request:ae,issuer:Ae});return M.toPortablePath(G)}let De,$=re.match(o);if($){if(!se)throw ui(ur.API_ERROR,"The resolveToUnqualified function must be called with a valid issuer when the path isn't a builtin nor absolute",{request:ae,issuer:Ae});let[,G,Ce]=$,ee=D(se);if(!ee){let yr=ne(re,se);if(yr===!1)throw ui(ur.BUILTIN_NODE_RESOLUTION_FAILED,`The builtin node resolution algorithm was unable to resolve the requested module (it didn't go through the pnp resolver because the issuer doesn't seem to be part of the Yarn-managed dependency tree). + +Require path: "${ae}" +Required by: ${Ae} +`,{request:ae,issuer:Ae});return M.toPortablePath(yr)}let Oe=b(ee).packageDependencies.get(G),vt=null;if(Oe==null&&ee.name!==null){let yr=t.fallbackExclusionList.get(ee.name);if(!yr||!yr.has(ee.reference)){for(let Qi=0,Go=g.length;QiR(Ki))?dt=ui(ur.MISSING_PEER_DEPENDENCY,`${ee.name} tried to access ${G} (a peer dependency) but it isn't provided by your application; this makes the require call ambiguous and unsound. + +Required package: ${G}${G!==ae?` (via "${ae}")`:""} +Required by: ${ee.name}@${ee.reference} (via ${Ae}) +${yr.map(Ki=>`Ancestor breaking the chain: ${Ki.name}@${Ki.reference} +`).join("")} +`,{request:ae,issuer:Ae,issuerLocator:Object.assign({},ee),dependencyName:G,brokenAncestors:yr}):dt=ui(ur.MISSING_PEER_DEPENDENCY,`${ee.name} tried to access ${G} (a peer dependency) but it isn't provided by its ancestors; this makes the require call ambiguous and unsound. + +Required package: ${G}${G!==ae?` (via "${ae}")`:""} +Required by: ${ee.name}@${ee.reference} (via ${Ae}) + +${yr.map(Ki=>`Ancestor breaking the chain: ${Ki.name}@${Ki.reference} +`).join("")} +`,{request:ae,issuer:Ae,issuerLocator:Object.assign({},ee),dependencyName:G,brokenAncestors:yr})}else Oe===void 0&&(!be&&s(re)?R(ee)?dt=ui(ur.UNDECLARED_DEPENDENCY,`Your application tried to access ${G}. While this module is usually interpreted as a Node builtin, your resolver is running inside a non-Node resolution context where such builtins are ignored. Since ${G} isn't otherwise declared in your dependencies, this makes the require call ambiguous and unsound. + +Required package: ${G}${G!==ae?` (via "${ae}")`:""} +Required by: ${Ae} +`,{request:ae,issuer:Ae,dependencyName:G}):dt=ui(ur.UNDECLARED_DEPENDENCY,`${ee.name} tried to access ${G}. While this module is usually interpreted as a Node builtin, your resolver is running inside a non-Node resolution context where such builtins are ignored. Since ${G} isn't otherwise declared in ${ee.name}'s dependencies, this makes the require call ambiguous and unsound. + +Required package: ${G}${G!==ae?` (via "${ae}")`:""} +Required by: ${Ae} +`,{request:ae,issuer:Ae,issuerLocator:Object.assign({},ee),dependencyName:G}):R(ee)?dt=ui(ur.UNDECLARED_DEPENDENCY,`Your application tried to access ${G}, but it isn't declared in your dependencies; this makes the require call ambiguous and unsound. + +Required package: ${G}${G!==ae?` (via "${ae}")`:""} +Required by: ${Ae} +`,{request:ae,issuer:Ae,dependencyName:G}):dt=ui(ur.UNDECLARED_DEPENDENCY,`${ee.name} tried to access ${G}, but it isn't declared in its dependencies; this makes the require call ambiguous and unsound. + +Required package: ${G}${G!==ae?` (via "${ae}")`:""} +Required by: ${ee.name}@${ee.reference} (via ${Ae}) +`,{request:ae,issuer:Ae,issuerLocator:Object.assign({},ee),dependencyName:G}));if(Oe==null){if(vt===null||dt===null)throw dt||new Error("Assertion failed: Expected an error to have been set");Oe=vt;let yr=dt.message.replace(/\n.*/g,"");dt.message=yr,!f.has(yr)&&i!==0&&(f.add(yr),process.emitWarning(dt))}let ri=Array.isArray(Oe)?{name:Oe[0],reference:Oe[1]}:{name:G,reference:Oe},ii=b(ri);if(!ii.packageLocation)throw ui(ur.MISSING_DEPENDENCY,`A dependency seems valid but didn't get installed for some reason. This might be caused by a partial install, such as dev vs prod. + +Required package: ${ri.name}@${ri.reference}${ri.name!==ae?` (via "${ae}")`:""} +Required by: ${ee.name}@${ee.reference} (via ${Ae}) +`,{request:ae,issuer:Ae,dependencyLocator:Object.assign({},ri)});let an=ii.packageLocation;Ce?De=v.join(an,Ce):De=an}else if(v.isAbsolute(re))De=v.normalize(re);else{if(!se)throw ui(ur.API_ERROR,"The resolveToUnqualified function must be called with a valid issuer when the path isn't a builtin nor absolute",{request:ae,issuer:Ae});let G=v.resolve(se);se.match(l)?De=v.normalize(v.join(G,re)):De=v.normalize(v.join(v.dirname(G),re))}return v.normalize(De)}function pe(re,se,be=H){if(a.test(re))return se;let ae=L(se,be);return ae?v.normalize(ae):se}function Ne(re,{extensions:se=Object.keys(df.Module._extensions)}={}){let be=[],ae=K(re,be,{extensions:se});if(ae)return v.normalize(ae);{let Ae=YA(re),De=D(re);if(De){let{packageLocation:$}=b(De);if(!e.fakeFs.existsSync($)){let G=$.includes("/unplugged/")?"Required unplugged package missing from disk. This may happen when switching branches without running installs (unplugged packages must be fully materialized on disk to work).":"Required package missing from disk. If you keep your packages inside your repository then restarting the Node process may be enough. Otherwise, try to run an install first.";throw ui(ur.QUALIFIED_PATH_RESOLUTION_FAILED,`${G} + +Missing package: ${De.name}@${De.reference} +Expected package location: ${YA($)} +`,{unqualifiedPath:Ae})}}throw ui(ur.QUALIFIED_PATH_RESOLUTION_FAILED,`Qualified path resolution failed - none of those files can be found on the disk. + +Source path: ${Ae} +${be.map($=>`Not found: ${YA($)} +`).join("")}`,{unqualifiedPath:Ae})}}function Pe(re,se,{considerBuiltins:be,extensions:ae,conditions:Ae}={}){let De=he(re,se,{considerBuiltins:be});if(re==="pnpapi")return De;if(De===null)return null;let $=()=>se!==null?q(se):!1,G=(!be||!s(re))&&!$()?pe(re,De,Ae):De;try{return Ne(G,{extensions:ae})}catch(Ce){throw Ce.pnpCode==="QUALIFIED_PATH_RESOLUTION_FAILED"&&Object.assign(Ce.data,{request:YA(re),issuer:se&&YA(se)}),Ce}}function qe(re){let se=v.normalize(re),be=Pr.resolveVirtual(se);return be!==se?be:null}return{VERSIONS:A,topLevel:V,getLocator:(re,se)=>Array.isArray(se)?{name:se[0],reference:se[1]}:{name:re,reference:se},getDependencyTreeRoots:()=>[...t.dependencyTreeRoots],getAllLocators(){let re=[];for(let[se,be]of p)for(let ae of be.keys())se!==null&&ae!==null&&re.push({name:se,reference:ae});return re},getPackageInformation:re=>{let se=W(re);if(se===null)return null;let be=M.fromPortablePath(se.packageLocation);return _(P({},se),{packageLocation:be})},findPackageLocator:re=>D(M.toPortablePath(re)),resolveToUnqualified:B("resolveToUnqualified",(re,se,be)=>{let ae=se!==null?M.toPortablePath(se):null,Ae=he(M.toPortablePath(re),ae,be);return Ae===null?null:M.fromPortablePath(Ae)}),resolveUnqualified:B("resolveUnqualified",(re,se)=>M.fromPortablePath(Ne(M.toPortablePath(re),se))),resolveRequest:B("resolveRequest",(re,se,be)=>{let ae=se!==null?M.toPortablePath(se):null,Ae=Pe(M.toPortablePath(re),ae,be);return Ae===null?null:M.fromPortablePath(Ae)}),resolveVirtual:B("resolveVirtual",re=>{let se=qe(M.toPortablePath(re));return se!==null?M.fromPortablePath(se):null})}}var ISt=(0,rce.promisify)(tce.readFile);var ice=(t,e,r)=>{let i=XC(t),n=_L(i,{basePath:e}),s=M.join(e,wt.pnpCjs);return $L(n,{fakeFs:r,pnpapiResolution:s})};var tT=ie(sce());var Ws={};it(Ws,{checkAndReportManifestCompatibility:()=>oce,extractBuildScripts:()=>Z0,getExtractHint:()=>rT,hasBindingGyp:()=>iT});function oce(t,e,{configuration:r,report:i}){return S.isPackageCompatible(t,{os:[process.platform],cpu:[process.arch]})?!0:(i==null||i.reportWarningOnce(z.INCOMPATIBLE_ARCHITECTURE,`${S.prettyLocator(r,t)} The ${process.platform}-${process.arch} architecture is incompatible with this module, ${e} skipped.`),!1)}function Z0(t,e,r,{configuration:i,report:n}){let s=[];for(let a of["preinstall","install","postinstall"])e.manifest.scripts.has(a)&&s.push([Gn.SCRIPT,a]);return!e.manifest.scripts.has("install")&&e.misc.hasBindingGyp&&s.push([Gn.SHELLCODE,"node-gyp rebuild"]),s.length===0?[]:t.linkType!==gt.HARD?(n==null||n.reportWarningOnce(z.SOFT_LINK_BUILD,`${S.prettyLocator(i,t)} lists build scripts, but is referenced through a soft link. Soft links don't support build scripts, so they'll be ignored.`),[]):r&&r.built===!1?(n==null||n.reportInfoOnce(z.BUILD_DISABLED,`${S.prettyLocator(i,t)} lists build scripts, but its build has been explicitly disabled through configuration.`),[]):!i.get("enableScripts")&&!r.built?(n==null||n.reportWarningOnce(z.DISABLED_BUILD_SCRIPTS,`${S.prettyLocator(i,t)} lists build scripts, but all build scripts have been disabled.`),[]):oce(t,"build",{configuration:i,report:n})?s:[]}var g6e=new Set([".exe",".h",".hh",".hpp",".c",".cc",".cpp",".java",".jar",".node"]);function rT(t){return t.packageFs.getExtractHint({relevantExtensions:g6e})}function iT(t){let e=v.join(t.prefixPath,"binding.gyp");return t.packageFs.existsSync(e)}var nT={};it(nT,{getUnpluggedPath:()=>ZC});function ZC(t,{configuration:e}){return v.resolve(e.get("pnpUnpluggedFolder"),S.slugifyLocator(t))}var f6e=new Set([S.makeIdent(null,"nan").identHash,S.makeIdent(null,"node-gyp").identHash,S.makeIdent(null,"node-pre-gyp").identHash,S.makeIdent(null,"node-addon-api").identHash,S.makeIdent(null,"fsevents").identHash]),jc=class{constructor(){this.mode="strict";this.pnpCache=new Map}supportsPackage(e,r){return!(r.project.configuration.get("nodeLinker")!=="pnp"||r.project.configuration.get("pnpMode")!==this.mode)}async findPackageLocation(e,r){let i=qA(r.project).cjs;if(!T.existsSync(i))throw new me(`The project in ${ue.pretty(r.project.configuration,`${r.project.cwd}/package.json`,ue.Type.PATH)} doesn't seem to have been installed - running an install there might help`);let n=de.getFactoryWithDefault(this.pnpCache,i,()=>de.dynamicRequire(i,{cachingStrategy:de.CachingStrategy.FsTime})),s={name:S.stringifyIdent(e),reference:e.reference},o=n.getPackageInformation(s);if(!o)throw new me(`Couldn't find ${S.prettyLocator(r.project.configuration,e)} in the currently installed PnP map - running an install might help`);return M.toPortablePath(o.packageLocation)}async findPackageLocator(e,r){let i=qA(r.project).cjs;if(!T.existsSync(i))return null;let s=de.getFactoryWithDefault(this.pnpCache,i,()=>de.dynamicRequire(i,{cachingStrategy:de.CachingStrategy.FsTime})).findPackageLocator(M.fromPortablePath(e));return s?S.makeLocator(S.parseIdent(s.name),s.reference):null}makeInstaller(e){return new Cf(e)}},Cf=class{constructor(e){this.opts=e;this.mode="strict";this.packageRegistry=new Map;this.virtualTemplates=new Map;this.isESMLoaderRequired=!1;this.customData={store:new Map};this.unpluggedPaths=new Set;this.opts=e}getCustomDataKey(){return JSON.stringify({name:"PnpInstaller",version:2})}attachCustomData(e){this.customData=e}async installPackage(e,r){let i=S.stringifyIdent(e),n=e.reference,s=!!this.opts.project.tryWorkspaceByLocator(e),o=S.isVirtualLocator(e),a=e.peerDependencies.size>0&&!o,l=!a&&!s,c=!a&&e.linkType!==gt.SOFT,u,g;if(l||c){let B=o?S.devirtualizeLocator(e):e;u=this.customData.store.get(B.locatorHash),typeof u=="undefined"&&(u=await h6e(r),e.linkType===gt.HARD&&this.customData.store.set(B.locatorHash,u)),u.manifest.type==="module"&&(this.isESMLoaderRequired=!0),g=this.opts.project.getDependencyMeta(B,e.version)}let f=l?Z0(e,u,g,{configuration:this.opts.project.configuration,report:this.opts.report}):[],h=c?await this.unplugPackageIfNeeded(e,u,r,g):r.packageFs;if(v.isAbsolute(r.prefixPath))throw new Error(`Assertion failed: Expected the prefix path (${r.prefixPath}) to be relative to the parent`);let p=v.resolve(h.getRealPath(),r.prefixPath),d=sT(this.opts.project.cwd,p),m=new Map,I=new Set;if(o){for(let B of e.peerDependencies.values())m.set(S.stringifyIdent(B),null),I.add(S.stringifyIdent(B));if(!s){let B=S.devirtualizeLocator(e);this.virtualTemplates.set(B.locatorHash,{location:sT(this.opts.project.cwd,Pr.resolveVirtual(p)),locator:B})}}return de.getMapWithDefault(this.packageRegistry,i).set(n,{packageLocation:d,packageDependencies:m,packagePeers:I,linkType:e.linkType,discardFromLookup:r.discardFromLookup||!1}),{packageLocation:p,buildDirective:f.length>0?f:null}}async attachInternalDependencies(e,r){let i=this.getPackageInformation(e);for(let[n,s]of r){let o=S.areIdentsEqual(n,s)?s.reference:[S.stringifyIdent(s),s.reference];i.packageDependencies.set(S.stringifyIdent(n),o)}}async attachExternalDependents(e,r){for(let i of r)this.getDiskInformation(i).packageDependencies.set(S.stringifyIdent(e),e.reference)}async finalizeInstall(){if(this.opts.project.configuration.get("pnpMode")!==this.mode)return;let e=qA(this.opts.project);if(T.existsSync(e.cjsLegacy)&&(this.opts.report.reportWarning(z.UNNAMED,`Removing the old ${ue.pretty(this.opts.project.configuration,wt.pnpJs,ue.Type.PATH)} file. You might need to manually update existing references to reference the new ${ue.pretty(this.opts.project.configuration,wt.pnpCjs,ue.Type.PATH)} file. If you use Editor SDKs, you'll have to rerun ${ue.pretty(this.opts.project.configuration,"yarn sdks",ue.Type.CODE)}.`),await T.removePromise(e.cjsLegacy)),this.isEsmEnabled()||await T.removePromise(e.esmLoader),this.opts.project.configuration.get("nodeLinker")!=="pnp"){await T.removePromise(e.cjs),await T.removePromise(this.opts.project.configuration.get("pnpDataPath")),await T.removePromise(e.esmLoader);return}for(let{locator:u,location:g}of this.virtualTemplates.values())de.getMapWithDefault(this.packageRegistry,S.stringifyIdent(u)).set(u.reference,{packageLocation:g,packageDependencies:new Map,packagePeers:new Set,linkType:gt.SOFT,discardFromLookup:!1});this.packageRegistry.set(null,new Map([[null,this.getPackageInformation(this.opts.project.topLevelWorkspace.anchoredLocator)]]));let r=this.opts.project.configuration.get("pnpFallbackMode"),i=this.opts.project.workspaces.map(({anchoredLocator:u})=>({name:S.stringifyIdent(u),reference:u.reference})),n=r!=="none",s=[],o=new Map,a=de.buildIgnorePattern([".yarn/sdks/**",...this.opts.project.configuration.get("pnpIgnorePatterns")]),l=this.packageRegistry,c=this.opts.project.configuration.get("pnpShebang");if(r==="dependencies-only")for(let u of this.opts.project.storedPackages.values())this.opts.project.tryWorkspaceByLocator(u)&&s.push({name:S.stringifyIdent(u),reference:u.reference});return await this.finalizeInstallWithPnp({dependencyTreeRoots:i,enableTopLevelFallback:n,fallbackExclusionList:s,fallbackPool:o,ignorePattern:a,packageRegistry:l,shebang:c}),{customData:this.customData}}async transformPnpSettings(e){}isEsmEnabled(){if(this.opts.project.configuration.sources.has("pnpEnableEsmLoader"))return this.opts.project.configuration.get("pnpEnableEsmLoader");if(this.isESMLoaderRequired)return!0;for(let e of this.opts.project.workspaces)if(e.manifest.type==="module")return!0;return!1}async finalizeInstallWithPnp(e){let r=qA(this.opts.project),i=this.opts.project.configuration.get("pnpDataPath"),n=await this.locateNodeModules(e.ignorePattern);if(n.length>0){this.opts.report.reportWarning(z.DANGEROUS_NODE_MODULES,"One or more node_modules have been detected and will be removed. This operation may take some time.");for(let o of n)await T.removePromise(o)}if(await this.transformPnpSettings(e),this.opts.project.configuration.get("pnpEnableInlining")){let o=_le(e);await T.changeFilePromise(r.cjs,o,{automaticNewlines:!0,mode:493}),await T.removePromise(i)}else{let o=v.relative(v.dirname(r.cjs),i),{dataFile:a,loaderFile:l}=Xle(_(P({},e),{dataLocation:o}));await T.changeFilePromise(r.cjs,l,{automaticNewlines:!0,mode:493}),await T.changeFilePromise(i,a,{automaticNewlines:!0,mode:420})}this.isEsmEnabled()&&(this.opts.report.reportWarning(z.UNNAMED,"ESM support for PnP uses the experimental loader API and is therefore experimental"),await T.changeFilePromise(r.esmLoader,(0,tT.default)(),{automaticNewlines:!0,mode:420}));let s=this.opts.project.configuration.get("pnpUnpluggedFolder");if(this.unpluggedPaths.size===0)await T.removePromise(s);else for(let o of await T.readdirPromise(s)){let a=v.resolve(s,o);this.unpluggedPaths.has(a)||await T.removePromise(a)}}async locateNodeModules(e){let r=[],i=e?new RegExp(e):null;for(let n of this.opts.project.workspaces){let s=v.join(n.cwd,"node_modules");if(i&&i.test(v.relative(this.opts.project.cwd,n.cwd))||!T.existsSync(s))continue;let o=await T.readdirPromise(s,{withFileTypes:!0}),a=o.filter(l=>!l.isDirectory()||l.name===".bin"||!l.name.startsWith("."));if(a.length===o.length)r.push(s);else for(let l of a)r.push(v.join(s,l.name))}return r}async unplugPackageIfNeeded(e,r,i,n){return this.shouldBeUnplugged(e,r,n)?this.unplugPackage(e,i):i.packageFs}shouldBeUnplugged(e,r,i){return typeof i.unplugged!="undefined"?i.unplugged:f6e.has(e.identHash)||e.conditions!=null?!0:r.manifest.preferUnplugged!==null?r.manifest.preferUnplugged:!!(Z0(e,r,i,{configuration:this.opts.project.configuration}).length>0||r.misc.extractHint)}async unplugPackage(e,r){let i=ZC(e,{configuration:this.opts.project.configuration});if(this.opts.project.disabledLocators.has(e.locatorHash))return new Xo(i,{baseFs:r.packageFs,pathUtils:v});this.unpluggedPaths.add(i);let n=v.join(i,r.prefixPath,".ready");return await T.existsPromise(n)?new Ft(i):(this.opts.project.storedBuildState.delete(e.locatorHash),await T.mkdirPromise(i,{recursive:!0}),await T.copyPromise(i,Se.dot,{baseFs:r.packageFs,overwrite:!1}),await T.writeFilePromise(n,""),new Ft(i))}getPackageInformation(e){let r=S.stringifyIdent(e),i=e.reference,n=this.packageRegistry.get(r);if(!n)throw new Error(`Assertion failed: The package information store should have been available (for ${S.prettyIdent(this.opts.project.configuration,e)})`);let s=n.get(i);if(!s)throw new Error(`Assertion failed: The package information should have been available (for ${S.prettyLocator(this.opts.project.configuration,e)})`);return s}getDiskInformation(e){let r=de.getMapWithDefault(this.packageRegistry,"@@disk"),i=sT(this.opts.project.cwd,e);return de.getFactoryWithDefault(r,i,()=>({packageLocation:i,packageDependencies:new Map,packagePeers:new Set,linkType:gt.SOFT,discardFromLookup:!1}))}};function sT(t,e){let r=v.relative(t,e);return r.match(/^\.{0,2}\//)||(r=`./${r}`),r.replace(/\/?$/,"/")}async function h6e(t){var i;let e=(i=await Ze.tryFind(t.prefixPath,{baseFs:t.packageFs}))!=null?i:new Ze,r=new Set(["preinstall","install","postinstall"]);for(let n of e.scripts.keys())r.has(n)||e.scripts.delete(n);return{manifest:{scripts:e.scripts,preferUnplugged:e.preferUnplugged,type:e.type},misc:{extractHint:rT(t),hasBindingGyp:iT(t)}}}var ace=ie(Nn());var $C=class extends Be{constructor(){super(...arguments);this.all=Y.Boolean("-A,--all",!1,{description:"Unplug direct dependencies from the entire project"});this.recursive=Y.Boolean("-R,--recursive",!1,{description:"Unplug both direct and transitive dependencies"});this.json=Y.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.patterns=Y.Rest()}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Ke.find(e,this.context.cwd),n=await Qt.find(e);if(!i)throw new rt(r.cwd,this.context.cwd);if(e.get("nodeLinker")!=="pnp")throw new me("This command can only be used if the `nodeLinker` option is set to `pnp`");await r.restoreInstallState();let s=new Set(this.patterns),o=this.patterns.map(f=>{let h=S.parseDescriptor(f),p=h.range!=="unknown"?h:S.makeDescriptor(h,"*");if(!qt.validRange(p.range))throw new me(`The range of the descriptor patterns must be a valid semver range (${S.prettyDescriptor(e,p)})`);return d=>{let m=S.stringifyIdent(d);return!ace.default.isMatch(m,S.stringifyIdent(p))||d.version&&!qt.satisfiesWithPrereleases(d.version,p.range)?!1:(s.delete(f),!0)}}),a=()=>{let f=[];for(let h of r.storedPackages.values())!r.tryWorkspaceByLocator(h)&&!S.isVirtualLocator(h)&&o.some(p=>p(h))&&f.push(h);return f},l=f=>{let h=new Set,p=[],d=(m,I)=>{if(!h.has(m.locatorHash)&&(h.add(m.locatorHash),!r.tryWorkspaceByLocator(m)&&o.some(B=>B(m))&&p.push(m),!(I>0&&!this.recursive)))for(let B of m.dependencies.values()){let b=r.storedResolutions.get(B.descriptorHash);if(!b)throw new Error("Assertion failed: The resolution should have been registered");let R=r.storedPackages.get(b);if(!R)throw new Error("Assertion failed: The package should have been registered");d(R,I+1)}};for(let m of f){let I=r.storedPackages.get(m.anchoredLocator.locatorHash);if(!I)throw new Error("Assertion failed: The package should have been registered");d(I,0)}return p},c,u;if(this.all&&this.recursive?(c=a(),u="the project"):this.all?(c=l(r.workspaces),u="any workspace"):(c=l([i]),u="this workspace"),s.size>1)throw new me(`Patterns ${ue.prettyList(e,s,ue.Type.CODE)} don't match any packages referenced by ${u}`);if(s.size>0)throw new me(`Pattern ${ue.prettyList(e,s,ue.Type.CODE)} doesn't match any packages referenced by ${u}`);return c=de.sortMap(c,f=>S.stringifyLocator(f)),(await Fe.start({configuration:e,stdout:this.context.stdout,json:this.json},async f=>{var h;for(let p of c){let d=(h=p.version)!=null?h:"unknown",m=r.topLevelWorkspace.manifest.ensureDependencyMeta(S.makeDescriptor(p,d));m.unplugged=!0,f.reportInfo(z.UNNAMED,`Will unpack ${S.prettyLocator(e,p)} to ${ue.pretty(e,ZC(p,{configuration:e}),ue.Type.PATH)}`),f.reportJson({locator:S.stringifyLocator(p),version:d})}await r.topLevelWorkspace.persistManifest(),f.reportSeparator(),await r.install({cache:n,report:f})})).exitCode()}};$C.paths=[["unplug"]],$C.usage=ye.Usage({description:"force the unpacking of a list of packages",details:"\n This command will add the selectors matching the specified patterns to the list of packages that must be unplugged when installed.\n\n A package being unplugged means that instead of being referenced directly through its archive, it will be unpacked at install time in the directory configured via `pnpUnpluggedFolder`. Note that unpacking packages this way is generally not recommended because it'll make it harder to store your packages within the repository. However, it's a good approach to quickly and safely debug some packages, and can even sometimes be required depending on the context (for example when the package contains shellscripts).\n\n Running the command will set a persistent flag inside your top-level `package.json`, in the `dependenciesMeta` field. As such, to undo its effects, you'll need to revert the changes made to the manifest and run `yarn install` to apply the modification.\n\n By default, only direct dependencies from the current workspace are affected. If `-A,--all` is set, direct dependencies from the entire project are affected. Using the `-R,--recursive` flag will affect transitive dependencies as well as direct ones.\n\n This command accepts glob patterns inside the scope and name components (not the range). Make sure to escape the patterns to prevent your own shell from trying to expand them.\n ",examples:[["Unplug the lodash dependency from the active workspace","yarn unplug lodash"],["Unplug all instances of lodash referenced by any workspace","yarn unplug lodash -A"],["Unplug all instances of lodash referenced by the active workspace and its dependencies","yarn unplug lodash -R"],["Unplug all instances of lodash, anywhere","yarn unplug lodash -AR"],["Unplug one specific version of lodash","yarn unplug lodash@1.2.3"],["Unplug all packages with the `@babel` scope","yarn unplug '@babel/*'"],["Unplug all packages (only for testing, not recommended)","yarn unplug -R '*'"]]});var Ace=$C;var qA=t=>({cjs:v.join(t.cwd,wt.pnpCjs),cjsLegacy:v.join(t.cwd,wt.pnpJs),esmLoader:v.join(t.cwd,".pnp.loader.mjs")}),uce=t=>/\s/.test(t)?JSON.stringify(t):t;async function p6e(t,e,r){let i=qA(t),n=`--require ${uce(M.fromPortablePath(i.cjs))}`;if(T.existsSync(i.esmLoader)&&(n=`${n} --experimental-loader ${(0,cce.pathToFileURL)(M.fromPortablePath(i.esmLoader)).href}`),i.cjs.includes(" ")&&lce.default.lt(process.versions.node,"12.0.0"))throw new Error(`Expected the build location to not include spaces when using Node < 12.0.0 (${process.versions.node})`);if(T.existsSync(i.cjs)){let s=e.NODE_OPTIONS||"",o=/\s*--require\s+\S*\.pnp\.c?js\s*/g,a=/\s*--experimental-loader\s+\S*\.pnp\.loader\.mjs\s*/;s=s.replace(o," ").replace(a," ").trim(),s=s?`${n} ${s}`:n,e.NODE_OPTIONS=s}}async function d6e(t,e){let r=qA(t);e(r.cjs),e(r.esmLoader),e(t.configuration.get("pnpDataPath")),e(t.configuration.get("pnpUnpluggedFolder"))}var C6e={hooks:{populateYarnPaths:d6e,setupScriptEnvironment:p6e},configuration:{nodeLinker:{description:'The linker used for installing Node packages, one of: "pnp", "node-modules"',type:ge.STRING,default:"pnp"},pnpMode:{description:"If 'strict', generates standard PnP maps. If 'loose', merges them with the n_m resolution.",type:ge.STRING,default:"strict"},pnpShebang:{description:"String to prepend to the generated PnP script",type:ge.STRING,default:"#!/usr/bin/env node"},pnpIgnorePatterns:{description:"Array of glob patterns; files matching them will use the classic resolution",type:ge.STRING,default:[],isArray:!0},pnpEnableEsmLoader:{description:"If true, Yarn will generate an ESM loader (`.pnp.loader.mjs`). If this is not explicitly set Yarn tries to automatically detect whether ESM support is required.",type:ge.BOOLEAN,default:!1},pnpEnableInlining:{description:"If true, the PnP data will be inlined along with the generated loader",type:ge.BOOLEAN,default:!0},pnpFallbackMode:{description:"If true, the generated PnP loader will follow the top-level fallback rule",type:ge.STRING,default:"dependencies-only"},pnpUnpluggedFolder:{description:"Folder where the unplugged packages must be stored",type:ge.ABSOLUTE_PATH,default:"./.yarn/unplugged"},pnpDataPath:{description:"Path of the file where the PnP data (used by the loader) must be written",type:ge.ABSOLUTE_PATH,default:"./.pnp.data.json"}},linkers:[jc],commands:[Ace]},m6e=C6e;var Cce=ie(dce());var uT=ie(require("crypto")),mce=ie(require("fs")),Ece=1,gi="node_modules",gT=".bin",Ice=".yarn-state.yml",Bi;(function(i){i.CLASSIC="classic",i.HARDLINKS_LOCAL="hardlinks-local",i.HARDLINKS_GLOBAL="hardlinks-global"})(Bi||(Bi={}));var fT=class{constructor(){this.installStateCache=new Map}supportsPackage(e,r){return r.project.configuration.get("nodeLinker")==="node-modules"}async findPackageLocation(e,r){let i=r.project.tryWorkspaceByLocator(e);if(i)return i.cwd;let n=await de.getFactoryWithDefault(this.installStateCache,r.project.cwd,async()=>await hT(r.project,{unrollAliases:!0}));if(n===null)throw new me("Couldn't find the node_modules state file - running an install might help (findPackageLocation)");let s=n.locatorMap.get(S.stringifyLocator(e));if(!s){let a=new me(`Couldn't find ${S.prettyLocator(r.project.configuration,e)} in the currently installed node_modules map - running an install might help`);throw a.code="LOCATOR_NOT_INSTALLED",a}let o=r.project.configuration.startingCwd;return s.locations.find(a=>v.contains(o,a))||s.locations[0]}async findPackageLocator(e,r){let i=await de.getFactoryWithDefault(this.installStateCache,r.project.cwd,async()=>await hT(r.project,{unrollAliases:!0}));if(i===null)return null;let{locationRoot:n,segments:s}=$0(v.resolve(e),{skipPrefix:r.project.cwd}),o=i.locationTree.get(n);if(!o)return null;let a=o.locator;for(let l of s){if(o=o.children.get(l),!o)break;a=o.locator||a}return S.parseLocator(a)}makeInstaller(e){return new yce(e)}},yce=class{constructor(e){this.opts=e;this.localStore=new Map;this.realLocatorChecksums=new Map;this.customData={store:new Map}}getCustomDataKey(){return JSON.stringify({name:"NodeModulesInstaller",version:1})}attachCustomData(e){this.customData=e}async installPackage(e,r){var u;let i=v.resolve(r.packageFs.getRealPath(),r.prefixPath),n=this.customData.store.get(e.locatorHash);if(typeof n=="undefined"&&(n=await L6e(e,r),e.linkType===gt.HARD&&this.customData.store.set(e.locatorHash,n)),!Ws.checkAndReportManifestCompatibility(e,"link",{configuration:this.opts.project.configuration,report:this.opts.report}))return{packageLocation:null,buildDirective:null};let s=new Map,o=new Set;s.has(S.stringifyIdent(e))||s.set(S.stringifyIdent(e),e.reference);let a=e;if(S.isVirtualLocator(e)){a=S.devirtualizeLocator(e);for(let g of e.peerDependencies.values())s.set(S.stringifyIdent(g),null),o.add(S.stringifyIdent(g))}let l={packageLocation:`${M.fromPortablePath(i)}/`,packageDependencies:s,packagePeers:o,linkType:e.linkType,discardFromLookup:(u=r.discardFromLookup)!=null?u:!1};this.localStore.set(e.locatorHash,{pkg:e,customPackageData:n,dependencyMeta:this.opts.project.getDependencyMeta(e,e.version),pnpNode:l});let c=r.checksum?r.checksum.substring(r.checksum.indexOf("/")+1):null;return this.realLocatorChecksums.set(a.locatorHash,c),{packageLocation:i,buildDirective:null}}async attachInternalDependencies(e,r){let i=this.localStore.get(e.locatorHash);if(typeof i=="undefined")throw new Error("Assertion failed: Expected information object to have been registered");for(let[n,s]of r){let o=S.areIdentsEqual(n,s)?s.reference:[S.stringifyIdent(s),s.reference];i.pnpNode.packageDependencies.set(S.stringifyIdent(n),o)}}async attachExternalDependents(e,r){throw new Error("External dependencies haven't been implemented for the node-modules linker")}async finalizeInstall(){if(this.opts.project.configuration.get("nodeLinker")!=="node-modules")return;let e=new Pr({baseFs:new Jn({libzip:await $i(),maxOpenFiles:80,readOnlyArchives:!0})}),r=await hT(this.opts.project),i=this.opts.project.configuration.get("nmMode");(r===null||i!==r.nmMode)&&(this.opts.project.storedBuildState.clear(),r={locatorMap:new Map,binSymlinks:new Map,locationTree:new Map,nmMode:i});let n=new Map(this.opts.project.workspaces.map(f=>{var p,d;let h=this.opts.project.configuration.get("nmHoistingLimits");try{h=de.validateEnum(Sn,(d=(p=f.manifest.installConfig)==null?void 0:p.hoistingLimits)!=null?d:h)}catch(m){let I=S.prettyWorkspace(this.opts.project.configuration,f);this.opts.report.reportWarning(z.INVALID_MANIFEST,`${I}: Invalid 'installConfig.hoistingLimits' value. Expected one of ${Object.values(Sn).join(", ")}, using default: "${h}"`)}return[f.relativeCwd,h]})),s=new Map(this.opts.project.workspaces.map(f=>{var p,d;let h=this.opts.project.configuration.get("nmSelfReferences");return h=(d=(p=f.manifest.installConfig)==null?void 0:p.selfReferences)!=null?d:h,[f.relativeCwd,h]})),o={VERSIONS:{std:1},topLevel:{name:null,reference:null},getLocator:(f,h)=>Array.isArray(h)?{name:h[0],reference:h[1]}:{name:f,reference:h},getDependencyTreeRoots:()=>this.opts.project.workspaces.map(f=>{let h=f.anchoredLocator;return{name:S.stringifyIdent(f.locator),reference:h.reference}}),getPackageInformation:f=>{let h=f.reference===null?this.opts.project.topLevelWorkspace.anchoredLocator:S.makeLocator(S.parseIdent(f.name),f.reference),p=this.localStore.get(h.locatorHash);if(typeof p=="undefined")throw new Error("Assertion failed: Expected the package reference to have been registered");return p.pnpNode},findPackageLocator:f=>{let h=this.opts.project.tryWorkspaceByCwd(M.toPortablePath(f));if(h!==null){let p=h.anchoredLocator;return{name:S.stringifyIdent(p),reference:p.reference}}throw new Error("Assertion failed: Unimplemented")},resolveToUnqualified:()=>{throw new Error("Assertion failed: Unimplemented")},resolveUnqualified:()=>{throw new Error("Assertion failed: Unimplemented")},resolveRequest:()=>{throw new Error("Assertion failed: Unimplemented")},resolveVirtual:f=>M.fromPortablePath(Pr.resolveVirtual(M.toPortablePath(f)))},{tree:a,errors:l,preserveSymlinksRequired:c}=VC(o,{pnpifyFs:!1,validateExternalSoftLinks:!0,hoistingLimitsByCwd:n,project:this.opts.project,selfReferencesByCwd:s});if(!a){for(let{messageName:f,text:h}of l)this.opts.report.reportError(f,h);return}let u=WL(a);await T6e(r,u,{baseFs:e,project:this.opts.project,report:this.opts.report,realLocatorChecksums:this.realLocatorChecksums,loadManifest:async f=>{let h=S.parseLocator(f),p=this.localStore.get(h.locatorHash);if(typeof p=="undefined")throw new Error("Assertion failed: Expected the slot to exist");return p.customPackageData.manifest}});let g=[];for(let[f,h]of u.entries()){if(wce(f))continue;let p=S.parseLocator(f),d=this.localStore.get(p.locatorHash);if(typeof d=="undefined")throw new Error("Assertion failed: Expected the slot to exist");if(this.opts.project.tryWorkspaceByLocator(d.pkg))continue;let m=Ws.extractBuildScripts(d.pkg,d.customPackageData,d.dependencyMeta,{configuration:this.opts.project.configuration,report:this.opts.report});m.length!==0&&g.push({buildLocations:h.locations,locatorHash:p.locatorHash,buildDirective:m})}return c&&this.opts.report.reportWarning(z.NM_PRESERVE_SYMLINKS_REQUIRED,`The application uses portals and that's why ${ue.pretty(this.opts.project.configuration,"--preserve-symlinks",ue.Type.CODE)} Node option is required for launching it`),{customData:this.customData,records:g}}};async function L6e(t,e){var n;let r=(n=await Ze.tryFind(e.prefixPath,{baseFs:e.packageFs}))!=null?n:new Ze,i=new Set(["preinstall","install","postinstall"]);for(let s of r.scripts.keys())i.has(s)||r.scripts.delete(s);return{manifest:{bin:r.bin,scripts:r.scripts},misc:{extractHint:Ws.getExtractHint(e),hasBindingGyp:Ws.hasBindingGyp(e)}}}async function M6e(t,e,r,i){let n="";n+=`# Warning: This file is automatically generated. Removing it is fine, but will +`,n+=`# cause your node_modules installation to become invalidated. +`,n+=` +`,n+=`__metadata: +`,n+=` version: ${Ece} +`,n+=` nmMode: ${i.value} +`;let s=Array.from(e.keys()).sort(),o=S.stringifyLocator(t.topLevelWorkspace.anchoredLocator);for(let c of s){let u=e.get(c);n+=` +`,n+=`${JSON.stringify(c)}: +`,n+=` locations: +`;for(let g of u.locations){let f=v.contains(t.cwd,g);if(f===null)throw new Error(`Assertion failed: Expected the path to be within the project (${g})`);n+=` - ${JSON.stringify(f)} +`}if(u.aliases.length>0){n+=` aliases: +`;for(let g of u.aliases)n+=` - ${JSON.stringify(g)} +`}if(c===o&&r.size>0){n+=` bin: +`;for(let[g,f]of r){let h=v.contains(t.cwd,g);if(h===null)throw new Error(`Assertion failed: Expected the path to be within the project (${g})`);n+=` ${JSON.stringify(h)}: +`;for(let[p,d]of f){let m=v.relative(v.join(g,gi),d);n+=` ${JSON.stringify(p)}: ${JSON.stringify(m)} +`}}}}let a=t.cwd,l=v.join(a,gi,Ice);await T.changeFilePromise(l,n,{automaticNewlines:!0})}async function hT(t,{unrollAliases:e=!1}={}){let r=t.cwd,i=v.join(r,gi,Ice);if(!T.existsSync(i))return null;let n=Ii(await T.readFilePromise(i,"utf8"));if(n.__metadata.version>Ece)return null;let s=n.__metadata.nmMode||Bi.CLASSIC,o=new Map,a=new Map;delete n.__metadata;for(let[l,c]of Object.entries(n)){let u=c.locations.map(f=>v.join(r,f)),g=c.bin;if(g)for(let[f,h]of Object.entries(g)){let p=v.join(r,M.toPortablePath(f)),d=de.getMapWithDefault(a,p);for(let[m,I]of Object.entries(h))d.set(kr(m),M.toPortablePath([p,gi,I].join(v.delimiter)))}if(o.set(l,{target:Se.dot,linkType:gt.HARD,locations:u,aliases:c.aliases||[]}),e&&c.aliases)for(let f of c.aliases){let{scope:h,name:p}=S.parseLocator(l),d=S.makeLocator(S.makeIdent(h,p),f),m=S.stringifyLocator(d);o.set(m,{target:Se.dot,linkType:gt.HARD,locations:u,aliases:[]})}}return{locatorMap:o,binSymlinks:a,locationTree:Bce(o,{skipPrefix:t.cwd}),nmMode:s}}var Ef=async(t,e)=>{if(t.split(v.sep).indexOf(gi)<0)throw new Error(`Assertion failed: trying to remove dir that doesn't contain node_modules: ${t}`);try{if(!e.innerLoop&&(await T.lstatPromise(t)).isSymbolicLink()){await T.unlinkPromise(t);return}let r=await T.readdirPromise(t,{withFileTypes:!0});for(let i of r){let n=v.join(t,kr(i.name));i.isDirectory()?(i.name!==gi||e&&e.innerLoop)&&await Ef(n,{innerLoop:!0,contentsOnly:!1}):await T.unlinkPromise(n)}e.contentsOnly||await T.rmdirPromise(t)}catch(r){if(r.code!=="ENOENT"&&r.code!=="ENOTEMPTY")throw r}},Qce=4,$0=(t,{skipPrefix:e})=>{let r=v.contains(e,t);if(r===null)throw new Error(`Assertion failed: Writing attempt prevented to ${t} which is outside project root: ${e}`);let i=r.split(v.sep).filter(l=>l!==""),n=i.indexOf(gi),s=i.slice(0,n).join(v.sep),o=v.join(e,s),a=i.slice(n);return{locationRoot:o,segments:a}},Bce=(t,{skipPrefix:e})=>{let r=new Map;if(t===null)return r;let i=()=>({children:new Map,linkType:gt.HARD});for(let[n,s]of t.entries()){if(s.linkType===gt.SOFT&&v.contains(e,s.target)!==null){let a=de.getFactoryWithDefault(r,s.target,i);a.locator=n,a.linkType=s.linkType}for(let o of s.locations){let{locationRoot:a,segments:l}=$0(o,{skipPrefix:e}),c=de.getFactoryWithDefault(r,a,i);for(let u=0;u{let r;try{process.platform==="win32"&&(r=await T.lstatPromise(t))}catch(i){}process.platform=="win32"&&(!r||r.isDirectory())?await T.symlinkPromise(t,e,"junction"):await T.symlinkPromise(v.relative(v.dirname(e),t),e)};async function bce(t,e,r){let i=v.join(t,kr(`${uT.default.randomBytes(16).toString("hex")}.tmp`));try{await T.writeFilePromise(i,r);try{await T.linkPromise(i,e)}catch(n){}}finally{await T.unlinkPromise(i)}}async function O6e({srcPath:t,dstPath:e,srcMode:r,globalHardlinksStore:i,baseFs:n,nmMode:s,digest:o}){if(s.value===Bi.HARDLINKS_GLOBAL&&i&&o){let l=v.join(i,o.substring(0,2),`${o.substring(2)}.dat`),c;try{if(await mn.checksumFile(l,{baseFs:T,algorithm:"sha1"})!==o){let g=v.join(i,kr(`${uT.default.randomBytes(16).toString("hex")}.tmp`));await T.renamePromise(l,g);let f=await n.readFilePromise(t);await T.writeFilePromise(g,f);try{await T.linkPromise(g,l),await T.unlinkPromise(g)}catch(h){}}await T.linkPromise(l,e),c=!0}catch(u){c=!1}if(!c){let u=await n.readFilePromise(t);await bce(i,l,u);try{await T.linkPromise(l,e)}catch(g){g&&g.code&&g.code=="EXDEV"&&(s.value=Bi.HARDLINKS_LOCAL,await n.copyFilePromise(t,e))}}}else await n.copyFilePromise(t,e);let a=r&511;a!==420&&await T.chmodPromise(e,a)}var JA;(function(i){i.FILE="file",i.DIRECTORY="directory",i.SYMLINK="symlink"})(JA||(JA={}));var K6e=async(t,e,{baseFs:r,globalHardlinksStore:i,nmMode:n,packageChecksum:s})=>{await T.mkdirPromise(t,{recursive:!0});let o=async(l=Se.dot)=>{let c=v.join(e,l),u=await r.readdirPromise(c,{withFileTypes:!0}),g=new Map;for(let f of u){let h=v.join(l,f.name),p,d=v.join(c,f.name);if(f.isFile()){if(p={kind:JA.FILE,mode:(await r.lstatPromise(d)).mode},n.value===Bi.HARDLINKS_GLOBAL){let m=await mn.checksumFile(d,{baseFs:r,algorithm:"sha1"});p.digest=m}}else if(f.isDirectory())p={kind:JA.DIRECTORY};else if(f.isSymbolicLink())p={kind:JA.SYMLINK,symlinkTo:await r.readlinkPromise(d)};else throw new Error(`Unsupported file type (file: ${d}, mode: 0o${await r.statSync(d).mode.toString(8).padStart(6,"0")})`);if(g.set(h,p),f.isDirectory()&&h!==gi){let m=await o(h);for(let[I,B]of m)g.set(I,B)}}return g},a;if(n.value===Bi.HARDLINKS_GLOBAL&&i&&s){let l=v.join(i,s.substring(0,2),`${s.substring(2)}.json`);try{a=new Map(Object.entries(JSON.parse(await T.readFilePromise(l,"utf8"))))}catch(c){a=await o(),await bce(i,l,Buffer.from(JSON.stringify(Object.fromEntries(a))))}}else a=await o();for(let[l,c]of a){let u=v.join(e,l),g=v.join(t,l);c.kind===JA.DIRECTORY?await T.mkdirPromise(g,{recursive:!0}):c.kind===JA.FILE?await O6e({srcPath:u,dstPath:g,srcMode:c.mode,digest:c.digest,nmMode:n,baseFs:r,globalHardlinksStore:i}):c.kind===JA.SYMLINK&&await pT(v.resolve(v.dirname(g),c.symlinkTo),g)}};function U6e(t,e){let r=new Map([...t]),i=new Map([...e]);for(let[n,s]of t){let o=v.join(n,gi);if(!T.existsSync(o)){s.children.delete(gi);for(let a of i.keys())v.contains(o,a)!==null&&i.delete(a)}}return{locationTree:r,binSymlinks:i}}function wce(t){let e=S.parseDescriptor(t);return S.isVirtualDescriptor(e)&&(e=S.devirtualizeDescriptor(e)),e.range.startsWith("link:")}async function H6e(t,e,r,{loadManifest:i}){let n=new Map;for(let[a,{locations:l}]of t){let c=wce(a)?null:await i(a,l[0]),u=new Map;if(c)for(let[g,f]of c.bin){let h=v.join(l[0],f);f!==""&&T.existsSync(h)&&u.set(g,f)}n.set(a,u)}let s=new Map,o=(a,l,c)=>{let u=new Map,g=v.contains(r,a);if(c.locator&&g!==null){let f=n.get(c.locator);for(let[h,p]of f){let d=v.join(a,M.toPortablePath(p));u.set(kr(h),d)}for(let[h,p]of c.children){let d=v.join(a,h),m=o(d,d,p);m.size>0&&s.set(a,new Map([...s.get(a)||new Map,...m]))}}else for(let[f,h]of c.children){let p=o(v.join(a,f),l,h);for(let[d,m]of p)u.set(d,m)}return u};for(let[a,l]of e){let c=o(a,a,l);c.size>0&&s.set(a,new Map([...s.get(a)||new Map,...c]))}return s}var vce=(t,e)=>{if(!t||!e)return t===e;let r=S.parseLocator(t);S.isVirtualLocator(r)&&(r=S.devirtualizeLocator(r));let i=S.parseLocator(e);return S.isVirtualLocator(i)&&(i=S.devirtualizeLocator(i)),S.areLocatorsEqual(r,i)};function dT(t){return v.join(t.get("globalFolder"),"store")}async function T6e(t,e,{baseFs:r,project:i,report:n,loadManifest:s,realLocatorChecksums:o}){let a=v.join(i.cwd,gi),{locationTree:l,binSymlinks:c}=U6e(t.locationTree,t.binSymlinks),u=Bce(e,{skipPrefix:i.cwd}),g=[],f=async({srcDir:L,dstDir:K,linkType:J,globalHardlinksStore:ne,nmMode:q,packageChecksum:A})=>{let V=(async()=>{try{J===gt.SOFT?(await T.mkdirPromise(v.dirname(K),{recursive:!0}),await pT(v.resolve(L),K)):await K6e(K,L,{baseFs:r,globalHardlinksStore:ne,nmMode:q,packageChecksum:A})}catch(W){throw W.message=`While persisting ${L} -> ${K} ${W.message}`,W}finally{B.tick()}})().then(()=>g.splice(g.indexOf(V),1));g.push(V),g.length>Qce&&await Promise.race(g)},h=async(L,K,J)=>{let ne=(async()=>{let q=async(A,V,W)=>{try{W.innerLoop||await T.mkdirPromise(V,{recursive:!0});let X=await T.readdirPromise(A,{withFileTypes:!0});for(let F of X){if(!W.innerLoop&&F.name===gT)continue;let D=v.join(A,F.name),he=v.join(V,F.name);F.isDirectory()?(F.name!==gi||W&&W.innerLoop)&&(await T.mkdirPromise(he,{recursive:!0}),await q(D,he,_(P({},W),{innerLoop:!0}))):H.value===Bi.HARDLINKS_LOCAL||H.value===Bi.HARDLINKS_GLOBAL?await T.linkPromise(D,he):await T.copyFilePromise(D,he,mce.default.constants.COPYFILE_FICLONE)}}catch(X){throw W.innerLoop||(X.message=`While cloning ${A} -> ${V} ${X.message}`),X}finally{W.innerLoop||B.tick()}};await q(L,K,J)})().then(()=>g.splice(g.indexOf(ne),1));g.push(ne),g.length>Qce&&await Promise.race(g)},p=async(L,K,J)=>{if(!J)K.children.has(gi)&&await Ef(v.join(L,gi),{contentsOnly:!1}),await Ef(L,{contentsOnly:L===a});else for(let[ne,q]of K.children){let A=J.children.get(ne);await p(v.join(L,ne),q,A)}};for(let[L,K]of l){let J=u.get(L);for(let[ne,q]of K.children){if(ne===".")continue;let A=J&&J.children.get(ne);await p(v.join(L,ne),q,A)}}let d=async(L,K,J)=>{if(!J)K.children.has(gi)&&await Ef(v.join(L,gi),{contentsOnly:!0}),await Ef(L,{contentsOnly:K.linkType===gt.HARD});else{vce(K.locator,J.locator)||await Ef(L,{contentsOnly:K.linkType===gt.HARD});for(let[ne,q]of K.children){let A=J.children.get(ne);await d(v.join(L,ne),q,A)}}};for(let[L,K]of u){let J=l.get(L);for(let[ne,q]of K.children){if(ne===".")continue;let A=J&&J.children.get(ne);await d(v.join(L,ne),q,A)}}let m=new Map,I=[];for(let[L,{locations:K}]of t.locatorMap.entries())for(let J of K){let{locationRoot:ne,segments:q}=$0(J,{skipPrefix:i.cwd}),A=u.get(ne),V=ne;if(A){for(let W of q)if(V=v.join(V,W),A=A.children.get(W),!A)break;if(A){let W=vce(A.locator,L),X=e.get(A.locator),F=X.target,D=V,he=X.linkType;if(W)m.has(F)||m.set(F,D);else if(F!==D){let pe=S.parseLocator(A.locator);S.isVirtualLocator(pe)&&(pe=S.devirtualizeLocator(pe)),I.push({srcDir:F,dstDir:D,linkType:he,realLocatorHash:pe.locatorHash})}}}}for(let[L,{locations:K}]of e.entries())for(let J of K){let{locationRoot:ne,segments:q}=$0(J,{skipPrefix:i.cwd}),A=l.get(ne),V=u.get(ne),W=ne,X=e.get(L),F=S.parseLocator(L);S.isVirtualLocator(F)&&(F=S.devirtualizeLocator(F));let D=F.locatorHash,he=X.target,pe=J;if(he===pe)continue;let Ne=X.linkType;for(let Pe of q)V=V.children.get(Pe);if(!A)I.push({srcDir:he,dstDir:pe,linkType:Ne,realLocatorHash:D});else for(let Pe of q)if(W=v.join(W,Pe),A=A.children.get(Pe),!A){I.push({srcDir:he,dstDir:pe,linkType:Ne,realLocatorHash:D});break}}let B=Xi.progressViaCounter(I.length),b=n.reportProgress(B),R=i.configuration.get("nmMode"),H={value:R};try{let L=H.value===Bi.HARDLINKS_GLOBAL?`${dT(i.configuration)}/v1`:null;if(L&&!await T.existsPromise(L)){await T.mkdirpPromise(L);for(let J=0;J<256;J++)await T.mkdirPromise(v.join(L,J.toString(16).padStart(2,"0")))}for(let J of I)(J.linkType===gt.SOFT||!m.has(J.srcDir))&&(m.set(J.srcDir,J.dstDir),await f(_(P({},J),{globalHardlinksStore:L,nmMode:H,packageChecksum:o.get(J.realLocatorHash)||null})));await Promise.all(g),g.length=0;for(let J of I){let ne=m.get(J.srcDir);J.linkType!==gt.SOFT&&J.dstDir!==ne&&await h(ne,J.dstDir,{nmMode:H})}await Promise.all(g),await T.mkdirPromise(a,{recursive:!0});let K=await H6e(e,u,i.cwd,{loadManifest:s});await G6e(c,K,i.cwd),await M6e(i,e,K,H),R==Bi.HARDLINKS_GLOBAL&&H.value==Bi.HARDLINKS_LOCAL&&n.reportWarningOnce(z.NM_HARDLINKS_MODE_DOWNGRADED,"'nmMode' has been downgraded to 'hardlinks-local' due to global cache and install folder being on different devices")}finally{b.stop()}}async function G6e(t,e,r){for(let i of t.keys()){if(v.contains(r,i)===null)throw new Error(`Assertion failed. Excepted bin symlink location to be inside project dir, instead it was at ${i}`);if(!e.has(i)){let n=v.join(i,gi,gT);await T.removePromise(n)}}for(let[i,n]of e){if(v.contains(r,i)===null)throw new Error(`Assertion failed. Excepted bin symlink location to be inside project dir, instead it was at ${i}`);let s=v.join(i,gi,gT),o=t.get(i)||new Map;await T.mkdirPromise(s,{recursive:!0});for(let a of o.keys())n.has(a)||(await T.removePromise(v.join(s,a)),process.platform==="win32"&&await T.removePromise(v.join(s,kr(`${a}.cmd`))));for(let[a,l]of n){let c=o.get(a),u=v.join(s,a);c!==l&&(process.platform==="win32"?await(0,Cce.default)(M.fromPortablePath(l),M.fromPortablePath(u),{createPwshFile:!1}):(await T.removePromise(u),await pT(l,u),v.contains(r,await T.realpathPromise(l))!==null&&await T.chmodPromise(l,493)))}}}var CT=class extends jc{constructor(){super(...arguments);this.mode="loose"}makeInstaller(e){return new Sce(e)}},Sce=class extends Cf{constructor(){super(...arguments);this.mode="loose"}async transformPnpSettings(e){let r=new Pr({baseFs:new Jn({libzip:await $i(),maxOpenFiles:80,readOnlyArchives:!0})}),i=ice(e,this.opts.project.cwd,r),{tree:n,errors:s}=VC(i,{pnpifyFs:!1,project:this.opts.project});if(!n){for(let{messageName:u,text:g}of s)this.opts.report.reportError(u,g);return}let o=new Map;e.fallbackPool=o;let a=(u,g)=>{let f=S.parseLocator(g.locator),h=S.stringifyIdent(f);h===u?o.set(u,f.reference):o.set(u,[h,f.reference])},l=v.join(this.opts.project.cwd,wt.nodeModules),c=n.get(l);if(typeof c!="undefined"){if("target"in c)throw new Error("Assertion failed: Expected the root junction point to be a directory");for(let u of c.dirList){let g=v.join(l,u),f=n.get(g);if(typeof f=="undefined")throw new Error("Assertion failed: Expected the child to have been registered");if("target"in f)a(u,f);else for(let h of f.dirList){let p=v.join(g,h),d=n.get(p);if(typeof d=="undefined")throw new Error("Assertion failed: Expected the subchild to have been registered");if("target"in d)a(`${u}/${h}`,d);else throw new Error("Assertion failed: Expected the leaf junction to be a package")}}}}};var j6e={hooks:{cleanGlobalArtifacts:async t=>{let e=dT(t);await T.removePromise(e)}},configuration:{nmHoistingLimits:{description:"Prevent packages to be hoisted past specific levels",type:ge.STRING,values:[Sn.WORKSPACES,Sn.DEPENDENCIES,Sn.NONE],default:Sn.NONE},nmMode:{description:'If set to "hardlinks-local" Yarn will utilize hardlinks to reduce disk space consumption inside "node_modules" directories. With "hardlinks-global" Yarn will use global content addressable storage to reduce "node_modules" size across all the projects using this option.',type:ge.STRING,values:[Bi.CLASSIC,Bi.HARDLINKS_LOCAL,Bi.HARDLINKS_GLOBAL],default:Bi.CLASSIC},nmSelfReferences:{description:"If set to 'false' the workspace will not be allowed to require itself and corresponding self-referencing symlink will not be created",type:ge.BOOLEAN,default:!0}},linkers:[fT,CT]},Y6e=j6e;var yM={};it(yM,{default:()=>Z7e,npmConfigUtils:()=>gr,npmHttpUtils:()=>Lt,npmPublishUtils:()=>Rf});var Rce=ie(Or());var ir="npm:";var Lt={};it(Lt,{AuthType:()=>jn,customPackageError:()=>W6e,del:()=>_6e,get:()=>zs,getIdentUrl:()=>zA,handleInvalidAuthenticationError:()=>WA,post:()=>z6e,put:()=>V6e});var Pce=ie(aC()),Dce=ie(require("url"));var gr={};it(gr,{RegistryType:()=>ja,getAuditRegistry:()=>q6e,getAuthConfiguration:()=>IT,getDefaultRegistry:()=>eQ,getPublishRegistry:()=>xce,getRegistryConfiguration:()=>kce,getScopeConfiguration:()=>ET,getScopeRegistry:()=>Ya,normalizeRegistry:()=>To});var ja;(function(i){i.AUDIT_REGISTRY="npmAuditRegistry",i.FETCH_REGISTRY="npmRegistryServer",i.PUBLISH_REGISTRY="npmPublishRegistry"})(ja||(ja={}));function To(t){return t.replace(/\/$/,"")}function q6e(t,{configuration:e}){let r=e.get(ja.AUDIT_REGISTRY);return r!==null?To(r):xce(t,{configuration:e})}function xce(t,{configuration:e}){var r;return((r=t.publishConfig)==null?void 0:r.registry)?To(t.publishConfig.registry):t.name?Ya(t.name.scope,{configuration:e,type:ja.PUBLISH_REGISTRY}):eQ({configuration:e,type:ja.PUBLISH_REGISTRY})}function Ya(t,{configuration:e,type:r=ja.FETCH_REGISTRY}){let i=ET(t,{configuration:e});if(i===null)return eQ({configuration:e,type:r});let n=i.get(r);return n===null?eQ({configuration:e,type:r}):To(n)}function eQ({configuration:t,type:e=ja.FETCH_REGISTRY}){let r=t.get(e);return To(r!==null?r:t.get(ja.FETCH_REGISTRY))}function kce(t,{configuration:e}){let r=e.get("npmRegistries"),i=To(t),n=r.get(i);if(typeof n!="undefined")return n;let s=r.get(i.replace(/^[a-z]+:/,""));return typeof s!="undefined"?s:null}function ET(t,{configuration:e}){if(t===null)return null;let i=e.get("npmScopes").get(t);return i||null}function IT(t,{configuration:e,ident:r}){let i=r&&ET(r.scope,{configuration:e});return(i==null?void 0:i.get("npmAuthIdent"))||(i==null?void 0:i.get("npmAuthToken"))?i:kce(t,{configuration:e})||e}var jn;(function(n){n[n.NO_AUTH=0]="NO_AUTH",n[n.BEST_EFFORT=1]="BEST_EFFORT",n[n.CONFIGURATION=2]="CONFIGURATION",n[n.ALWAYS_AUTH=3]="ALWAYS_AUTH"})(jn||(jn={}));async function WA(t,{attemptedAs:e,registry:r,headers:i,configuration:n}){var s,o;if(((s=t.originalError)==null?void 0:s.name)==="HTTPError"&&((o=t.originalError)==null?void 0:o.response.statusCode)===401)throw new nt(z.AUTHENTICATION_INVALID,`Invalid authentication (${typeof e!="string"?`as ${await J6e(r,i,{configuration:n})}`:`attempted as ${e}`})`)}function W6e(t){var e;return((e=t.response)==null?void 0:e.statusCode)===404?"Package not found":null}function zA(t){return t.scope?`/@${t.scope}%2f${t.name}`:`/${t.name}`}async function zs(t,a){var l=a,{configuration:e,headers:r,ident:i,authType:n,registry:s}=l,o=qr(l,["configuration","headers","ident","authType","registry"]);if(i&&typeof s=="undefined"&&(s=Ya(i.scope,{configuration:e})),i&&i.scope&&typeof n=="undefined"&&(n=1),typeof s!="string")throw new Error("Assertion failed: The registry should be a string");let c=await tQ(s,{authType:n,configuration:e,ident:i});c&&(r=_(P({},r),{authorization:c}));try{return await Zt.get(t.charAt(0)==="/"?`${s}${t}`:t,P({configuration:e,headers:r},o))}catch(u){throw await WA(u,{registry:s,configuration:e,headers:r}),u}}async function z6e(t,e,c){var u=c,{attemptedAs:r,configuration:i,headers:n,ident:s,authType:o=3,registry:a}=u,l=qr(u,["attemptedAs","configuration","headers","ident","authType","registry"]);if(s&&typeof a=="undefined"&&(a=Ya(s.scope,{configuration:i})),typeof a!="string")throw new Error("Assertion failed: The registry should be a string");let g=await tQ(a,{authType:o,configuration:i,ident:s});g&&(n=_(P({},n),{authorization:g}));try{return await Zt.post(a+t,e,P({configuration:i,headers:n},l))}catch(f){if(!wT(f))throw await WA(f,{attemptedAs:r,registry:a,configuration:i,headers:n}),f;let h=await yT(),p=P(P({},n),BT(h));try{return await Zt.post(`${a}${t}`,e,P({configuration:i,headers:p},l))}catch(d){throw await WA(d,{attemptedAs:r,registry:a,configuration:i,headers:n}),d}}}async function V6e(t,e,c){var u=c,{attemptedAs:r,configuration:i,headers:n,ident:s,authType:o=3,registry:a}=u,l=qr(u,["attemptedAs","configuration","headers","ident","authType","registry"]);if(s&&typeof a=="undefined"&&(a=Ya(s.scope,{configuration:i})),typeof a!="string")throw new Error("Assertion failed: The registry should be a string");let g=await tQ(a,{authType:o,configuration:i,ident:s});g&&(n=_(P({},n),{authorization:g}));try{return await Zt.put(a+t,e,P({configuration:i,headers:n},l))}catch(f){if(!wT(f))throw await WA(f,{attemptedAs:r,registry:a,configuration:i,headers:n}),f;let h=await yT(),p=P(P({},n),BT(h));try{return await Zt.put(`${a}${t}`,e,P({configuration:i,headers:p},l))}catch(d){throw await WA(d,{attemptedAs:r,registry:a,configuration:i,headers:n}),d}}}async function _6e(t,l){var c=l,{attemptedAs:e,configuration:r,headers:i,ident:n,authType:s=3,registry:o}=c,a=qr(c,["attemptedAs","configuration","headers","ident","authType","registry"]);if(n&&typeof o=="undefined"&&(o=Ya(n.scope,{configuration:r})),typeof o!="string")throw new Error("Assertion failed: The registry should be a string");let u=await tQ(o,{authType:s,configuration:r,ident:n});u&&(i=_(P({},i),{authorization:u}));try{return await Zt.del(o+t,P({configuration:r,headers:i},a))}catch(g){if(!wT(g))throw await WA(g,{attemptedAs:e,registry:o,configuration:r,headers:i}),g;let f=await yT(),h=P(P({},i),BT(f));try{return await Zt.del(`${o}${t}`,P({configuration:r,headers:h},a))}catch(p){throw await WA(p,{attemptedAs:e,registry:o,configuration:r,headers:i}),p}}}async function tQ(t,{authType:e=2,configuration:r,ident:i}){let n=IT(t,{configuration:r,ident:i}),s=X6e(n,e);if(!s)return null;let o=await r.reduceHook(a=>a.getNpmAuthenticationHeader,void 0,t,{configuration:r,ident:i});if(o)return o;if(n.get("npmAuthToken"))return`Bearer ${n.get("npmAuthToken")}`;if(n.get("npmAuthIdent")){let a=n.get("npmAuthIdent");return a.includes(":")?`Basic ${Buffer.from(a).toString("base64")}`:`Basic ${a}`}if(s&&e!==1)throw new nt(z.AUTHENTICATION_NOT_FOUND,"No authentication configured for request");return null}function X6e(t,e){switch(e){case 2:return t.get("npmAlwaysAuth");case 1:case 3:return!0;case 0:return!1;default:throw new Error("Unreachable")}}async function J6e(t,e,{configuration:r}){var i;if(typeof e=="undefined"||typeof e.authorization=="undefined")return"an anonymous user";try{return(i=(await Zt.get(new Dce.URL(`${t}/-/whoami`).href,{configuration:r,headers:e,jsonResponse:!0})).username)!=null?i:"an unknown user"}catch{return"an unknown user"}}async function yT(){if(process.env.TEST_ENV)return process.env.TEST_NPM_2FA_TOKEN||"";let{otp:t}=await(0,Pce.prompt)({type:"password",name:"otp",message:"One-time password:",required:!0,onCancel:()=>process.exit(130)});return t}function wT(t){var e,r;if(((e=t.originalError)==null?void 0:e.name)!=="HTTPError")return!1;try{return((r=t.originalError)==null?void 0:r.response.headers["www-authenticate"].split(/,\s*/).map(n=>n.toLowerCase())).includes("otp")}catch(i){return!1}}function BT(t){return{["npm-otp"]:t}}var QT=class{supports(e,r){if(!e.reference.startsWith(ir))return!1;let{selector:i,params:n}=S.parseRange(e.reference);return!(!Rce.default.valid(i)||n===null||typeof n.__archiveUrl!="string")}getLocalPath(e,r){return null}async fetch(e,r){let i=r.checksums.get(e.locatorHash)||null,[n,s,o]=await r.cache.fetchPackageFromCache(e,i,P({onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${S.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the remote server`),loader:()=>this.fetchFromNetwork(e,r),skipIntegrityCheck:r.skipIntegrityCheck},r.cacheOptions));return{packageFs:n,releaseFs:s,prefixPath:S.getIdentVendorPath(e),checksum:o}}async fetchFromNetwork(e,r){let{params:i}=S.parseRange(e.reference);if(i===null||typeof i.__archiveUrl!="string")throw new Error("Assertion failed: The archiveUrl querystring parameter should have been available");let n=await zs(i.__archiveUrl,{configuration:r.project.configuration,ident:e});return await Ai.convertToZip(n,{compressionLevel:r.project.configuration.get("compressionLevel"),prefixPath:S.getIdentVendorPath(e),stripComponents:1})}};var bT=class{supportsDescriptor(e,r){return!(!e.range.startsWith(ir)||!S.tryParseDescriptor(e.range.slice(ir.length),!0))}supportsLocator(e,r){return!1}shouldPersistResolution(e,r){throw new Error("Unreachable")}bindDescriptor(e,r,i){return e}getResolutionDependencies(e,r){let i=S.parseDescriptor(e.range.slice(ir.length),!0);return r.resolver.getResolutionDependencies(i,r)}async getCandidates(e,r,i){let n=S.parseDescriptor(e.range.slice(ir.length),!0);return await i.resolver.getCandidates(n,r,i)}async getSatisfying(e,r,i){let n=S.parseDescriptor(e.range.slice(ir.length),!0);return i.resolver.getSatisfying(n,r,i)}resolve(e,r){throw new Error("Unreachable")}};var vT=ie(Or()),Fce=ie(require("url"));var Vs=class{supports(e,r){if(!e.reference.startsWith(ir))return!1;let i=new Fce.URL(e.reference);return!(!vT.default.valid(i.pathname)||i.searchParams.has("__archiveUrl"))}getLocalPath(e,r){return null}async fetch(e,r){let i=r.checksums.get(e.locatorHash)||null,[n,s,o]=await r.cache.fetchPackageFromCache(e,i,P({onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${S.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the remote registry`),loader:()=>this.fetchFromNetwork(e,r),skipIntegrityCheck:r.skipIntegrityCheck},r.cacheOptions));return{packageFs:n,releaseFs:s,prefixPath:S.getIdentVendorPath(e),checksum:o}}async fetchFromNetwork(e,r){let i;try{i=await zs(Vs.getLocatorUrl(e),{configuration:r.project.configuration,ident:e})}catch(n){i=await zs(Vs.getLocatorUrl(e).replace(/%2f/g,"/"),{configuration:r.project.configuration,ident:e})}return await Ai.convertToZip(i,{compressionLevel:r.project.configuration.get("compressionLevel"),prefixPath:S.getIdentVendorPath(e),stripComponents:1})}static isConventionalTarballUrl(e,r,{configuration:i}){let n=Ya(e.scope,{configuration:i}),s=Vs.getLocatorUrl(e);return r=r.replace(/^https?:(\/\/(?:[^/]+\.)?npmjs.org(?:$|\/))/,"https:$1"),n=n.replace(/^https:\/\/registry\.npmjs\.org($|\/)/,"https://registry.yarnpkg.com$1"),r=r.replace(/^https:\/\/registry\.npmjs\.org($|\/)/,"https://registry.yarnpkg.com$1"),r===n+s||r===n+s.replace(/%2f/g,"/")}static getLocatorUrl(e){let r=vT.default.clean(e.reference.slice(ir.length));if(r===null)throw new nt(z.RESOLVER_NOT_FOUND,"The npm semver resolver got selected, but the version isn't semver");return`${zA(e)}/-/${e.name}-${r}.tgz`}};var ST=ie(Or());var rQ=S.makeIdent(null,"node-gyp"),Z6e=/\b(node-gyp|prebuild-install)\b/,xT=class{supportsDescriptor(e,r){return e.range.startsWith(ir)?!!qt.validRange(e.range.slice(ir.length)):!1}supportsLocator(e,r){if(!e.reference.startsWith(ir))return!1;let{selector:i}=S.parseRange(e.reference);return!!ST.default.valid(i)}shouldPersistResolution(e,r){return!0}bindDescriptor(e,r,i){return e}getResolutionDependencies(e,r){return[]}async getCandidates(e,r,i){let n=qt.validRange(e.range.slice(ir.length));if(n===null)throw new Error(`Expected a valid range, got ${e.range.slice(ir.length)}`);let s=await zs(zA(e),{configuration:i.project.configuration,ident:e,jsonResponse:!0}),o=de.mapAndFilter(Object.keys(s.versions),c=>{try{let u=new qt.SemVer(c);if(n.test(u))return u}catch{}return de.mapAndFilter.skip}),a=o.filter(c=>!s.versions[c.raw].deprecated),l=a.length>0?a:o;return l.sort((c,u)=>-c.compare(u)),l.map(c=>{let u=S.makeLocator(e,`${ir}${c.raw}`),g=s.versions[c.raw].dist.tarball;return Vs.isConventionalTarballUrl(u,g,{configuration:i.project.configuration})?u:S.bindLocator(u,{__archiveUrl:g})})}async getSatisfying(e,r,i){let n=qt.validRange(e.range.slice(ir.length));if(n===null)throw new Error(`Expected a valid range, got ${e.range.slice(ir.length)}`);return de.mapAndFilter(r,s=>{try{let{selector:o}=S.parseRange(s,{requireProtocol:ir}),a=new qt.SemVer(o);if(n.test(a))return{reference:s,version:a}}catch{}return de.mapAndFilter.skip}).sort((s,o)=>-s.version.compare(o.version)).map(({reference:s})=>S.makeLocator(e,s))}async resolve(e,r){let{selector:i}=S.parseRange(e.reference),n=ST.default.clean(i);if(n===null)throw new nt(z.RESOLVER_NOT_FOUND,"The npm semver resolver got selected, but the version isn't semver");let s=await zs(zA(e),{configuration:r.project.configuration,ident:e,jsonResponse:!0});if(!Object.prototype.hasOwnProperty.call(s,"versions"))throw new nt(z.REMOTE_INVALID,'Registry returned invalid data for - missing "versions" field');if(!Object.prototype.hasOwnProperty.call(s.versions,n))throw new nt(z.REMOTE_NOT_FOUND,`Registry failed to return reference "${n}"`);let o=new Ze;if(o.load(s.versions[n]),!o.dependencies.has(rQ.identHash)&&!o.peerDependencies.has(rQ.identHash)){for(let a of o.scripts.values())if(a.match(Z6e)){o.dependencies.set(rQ.identHash,S.makeDescriptor(rQ,"latest")),r.report.reportWarningOnce(z.NODE_GYP_INJECTED,`${S.prettyLocator(r.project.configuration,e)}: Implicit dependencies on node-gyp are discouraged`);break}}return typeof o.raw.deprecated=="string"&&r.report.reportWarningOnce(z.DEPRECATED_PACKAGE,`${S.prettyLocator(r.project.configuration,e)} is deprecated: ${o.raw.deprecated}`),_(P({},e),{version:n,languageName:"node",linkType:gt.HARD,conditions:o.getConditions(),dependencies:o.dependencies,peerDependencies:o.peerDependencies,dependenciesMeta:o.dependenciesMeta,peerDependenciesMeta:o.peerDependenciesMeta,bin:o.bin})}};var kT=class{supportsDescriptor(e,r){return!(!e.range.startsWith(ir)||!Rg.test(e.range.slice(ir.length)))}supportsLocator(e,r){return!1}shouldPersistResolution(e,r){throw new Error("Unreachable")}bindDescriptor(e,r,i){return e}getResolutionDependencies(e,r){return[]}async getCandidates(e,r,i){let n=e.range.slice(ir.length),s=await zs(zA(e),{configuration:i.project.configuration,ident:e,jsonResponse:!0});if(!Object.prototype.hasOwnProperty.call(s,"dist-tags"))throw new nt(z.REMOTE_INVALID,'Registry returned invalid data - missing "dist-tags" field');let o=s["dist-tags"];if(!Object.prototype.hasOwnProperty.call(o,n))throw new nt(z.REMOTE_NOT_FOUND,`Registry failed to return tag "${n}"`);let a=o[n],l=S.makeLocator(e,`${ir}${a}`),c=s.versions[a].dist.tarball;return Vs.isConventionalTarballUrl(l,c,{configuration:i.project.configuration})?[l]:[S.bindLocator(l,{__archiveUrl:c})]}async getSatisfying(e,r,i){return null}async resolve(e,r){throw new Error("Unreachable")}};var Rf={};it(Rf,{getGitHead:()=>_7e,makePublishBody:()=>V7e});var CM={};it(CM,{default:()=>D7e,packUtils:()=>za});var za={};it(za,{genPackList:()=>QQ,genPackStream:()=>dM,genPackageManifest:()=>age,hasPackScripts:()=>hM,prepareForPack:()=>pM});var fM=ie(Nn()),sge=ie(nge()),oge=ie(require("zlib")),I7e=["/package.json","/readme","/readme.*","/license","/license.*","/licence","/licence.*","/changelog","/changelog.*"],y7e=["/package.tgz",".github",".git",".hg","node_modules",".npmignore",".gitignore",".#*",".DS_Store"];async function hM(t){return!!(Kt.hasWorkspaceScript(t,"prepack")||Kt.hasWorkspaceScript(t,"postpack"))}async function pM(t,{report:e},r){await Kt.maybeExecuteWorkspaceLifecycleScript(t,"prepack",{report:e});try{let i=v.join(t.cwd,Ze.fileName);await T.existsPromise(i)&&await t.manifest.loadFile(i,{baseFs:T}),await r()}finally{await Kt.maybeExecuteWorkspaceLifecycleScript(t,"postpack",{report:e})}}async function dM(t,e){var s,o;typeof e=="undefined"&&(e=await QQ(t));let r=new Set;for(let a of(o=(s=t.manifest.publishConfig)==null?void 0:s.executableFiles)!=null?o:new Set)r.add(v.normalize(a));for(let a of t.manifest.bin.values())r.add(v.normalize(a));let i=sge.default.pack();process.nextTick(async()=>{for(let a of e){let l=v.normalize(a),c=v.resolve(t.cwd,l),u=v.join("package",l),g=await T.lstatPromise(c),f={name:u,mtime:new Date(mr.SAFE_TIME*1e3)},h=r.has(l)?493:420,p,d,m=new Promise((B,b)=>{p=B,d=b}),I=B=>{B?d(B):p()};if(g.isFile()){let B;l==="package.json"?B=Buffer.from(JSON.stringify(await age(t),null,2)):B=await T.readFilePromise(c),i.entry(_(P({},f),{mode:h,type:"file"}),B,I)}else g.isSymbolicLink()?i.entry(_(P({},f),{mode:h,type:"symlink",linkname:await T.readlinkPromise(c)}),I):I(new Error(`Unsupported file type ${g.mode} for ${M.fromPortablePath(l)}`));await m}i.finalize()});let n=(0,oge.createGzip)();return i.pipe(n),n}async function age(t){let e=JSON.parse(JSON.stringify(t.manifest.raw));return await t.project.configuration.triggerHook(r=>r.beforeWorkspacePacking,t,e),e}async function QQ(t){var g,f,h,p,d,m,I,B;let e=t.project,r=e.configuration,i={accept:[],reject:[]};for(let b of y7e)i.reject.push(b);for(let b of I7e)i.accept.push(b);i.reject.push(r.get("rcFilename"));let n=b=>{if(b===null||!b.startsWith(`${t.cwd}/`))return;let R=v.relative(t.cwd,b),H=v.resolve(Se.root,R);i.reject.push(H)};n(v.resolve(e.cwd,r.get("lockfileFilename"))),n(r.get("cacheFolder")),n(r.get("globalFolder")),n(r.get("installStatePath")),n(r.get("virtualFolder")),n(r.get("yarnPath")),await r.triggerHook(b=>b.populateYarnPaths,e,b=>{n(b)});for(let b of e.workspaces){let R=v.relative(t.cwd,b.cwd);R!==""&&!R.match(/^(\.\.)?\//)&&i.reject.push(`/${R}`)}let s={accept:[],reject:[]},o=(f=(g=t.manifest.publishConfig)==null?void 0:g.main)!=null?f:t.manifest.main,a=(p=(h=t.manifest.publishConfig)==null?void 0:h.module)!=null?p:t.manifest.module,l=(m=(d=t.manifest.publishConfig)==null?void 0:d.browser)!=null?m:t.manifest.browser,c=(B=(I=t.manifest.publishConfig)==null?void 0:I.bin)!=null?B:t.manifest.bin;o!=null&&s.accept.push(v.resolve(Se.root,o)),a!=null&&s.accept.push(v.resolve(Se.root,a)),typeof l=="string"&&s.accept.push(v.resolve(Se.root,l));for(let b of c.values())s.accept.push(v.resolve(Se.root,b));if(l instanceof Map)for(let[b,R]of l.entries())s.accept.push(v.resolve(Se.root,b)),typeof R=="string"&&s.accept.push(v.resolve(Se.root,R));let u=t.manifest.files!==null;if(u){s.reject.push("/*");for(let b of t.manifest.files)Age(s.accept,b,{cwd:Se.root})}return await w7e(t.cwd,{hasExplicitFileList:u,globalList:i,ignoreList:s})}async function w7e(t,{hasExplicitFileList:e,globalList:r,ignoreList:i}){let n=[],s=new Zo(t),o=[[Se.root,[i]]];for(;o.length>0;){let[a,l]=o.pop(),c=await s.lstatPromise(a);if(!cge(a,{globalList:r,ignoreLists:c.isDirectory()?null:l}))if(c.isDirectory()){let u=await s.readdirPromise(a),g=!1,f=!1;if(!e||a!==Se.root)for(let d of u)g=g||d===".gitignore",f=f||d===".npmignore";let h=f?await lge(s,a,".npmignore"):g?await lge(s,a,".gitignore"):null,p=h!==null?[h].concat(l):l;cge(a,{globalList:r,ignoreLists:l})&&(p=[...l,{accept:[],reject:["**/*"]}]);for(let d of u)o.push([v.resolve(a,d),p])}else(c.isFile()||c.isSymbolicLink())&&n.push(v.relative(Se.root,a))}return n.sort()}async function lge(t,e,r){let i={accept:[],reject:[]},n=await t.readFilePromise(v.join(e,r),"utf8");for(let s of n.split(/\n/g))Age(i.reject,s,{cwd:e});return i}function B7e(t,{cwd:e}){let r=t[0]==="!";return r&&(t=t.slice(1)),t.match(/\.{0,1}\//)&&(t=v.resolve(e,t)),r&&(t=`!${t}`),t}function Age(t,e,{cwd:r}){let i=e.trim();i===""||i[0]==="#"||t.push(B7e(i,{cwd:r}))}function cge(t,{globalList:e,ignoreLists:r}){if(bQ(t,e.accept))return!1;if(bQ(t,e.reject))return!0;if(r!==null)for(let i of r){if(bQ(t,i.accept))return!1;if(bQ(t,i.reject))return!0}return!1}function bQ(t,e){let r=e,i=[];for(let n=0;n{await pM(i,{report:l},async()=>{l.reportJson({base:M.fromPortablePath(i.cwd)});let c=await QQ(i);for(let u of c)l.reportInfo(null,M.fromPortablePath(u)),l.reportJson({location:M.fromPortablePath(u)});if(!this.dryRun){let u=await dM(i,c),g=T.createWriteStream(s);u.pipe(g),await new Promise(f=>{g.on("finish",f)})}}),this.dryRun||(l.reportInfo(z.UNNAMED,`Package archive generated in ${ue.pretty(e,s,ue.Type.PATH)}`),l.reportJson({output:M.fromPortablePath(s)}))})).exitCode()}};fm.paths=[["pack"]],fm.usage=ye.Usage({description:"generate a tarball from the active workspace",details:"\n This command will turn the active workspace into a compressed archive suitable for publishing. The archive will by default be stored at the root of the workspace (`package.tgz`).\n\n If the `-o,---out` is set the archive will be created at the specified path. The `%s` and `%v` variables can be used within the path and will be respectively replaced by the package name and version.\n ",examples:[["Create an archive from the active workspace","yarn pack"],["List the files that would be made part of the workspace's archive","yarn pack --dry-run"],["Name and output the archive in a dedicated folder","yarn pack --out /artifacts/%s-%v.tgz"]]});var gge=fm;function Q7e(t,{workspace:e}){let r=t.replace("%s",b7e(e)).replace("%v",v7e(e));return M.toPortablePath(r)}function b7e(t){return t.manifest.name!==null?S.slugifyIdent(t.manifest.name):"package"}function v7e(t){return t.manifest.version!==null?t.manifest.version:"unknown"}var S7e=["dependencies","devDependencies","peerDependencies"],x7e="workspace:",k7e=(t,e)=>{var i,n;e.publishConfig&&(e.publishConfig.main&&(e.main=e.publishConfig.main),e.publishConfig.browser&&(e.browser=e.publishConfig.browser),e.publishConfig.module&&(e.module=e.publishConfig.module),e.publishConfig.browser&&(e.browser=e.publishConfig.browser),e.publishConfig.exports&&(e.exports=e.publishConfig.exports),e.publishConfig.bin&&(e.bin=e.publishConfig.bin));let r=t.project;for(let s of S7e)for(let o of t.manifest.getForScope(s).values()){let a=r.tryWorkspaceByDescriptor(o),l=S.parseRange(o.range);if(l.protocol===x7e)if(a===null){if(r.tryWorkspaceByIdent(o)===null)throw new nt(z.WORKSPACE_NOT_FOUND,`${S.prettyDescriptor(r.configuration,o)}: No local workspace found for this range`)}else{let c;S.areDescriptorsEqual(o,a.anchoredDescriptor)||l.selector==="*"?c=(i=a.manifest.version)!=null?i:"0.0.0":l.selector==="~"||l.selector==="^"?c=`${l.selector}${(n=a.manifest.version)!=null?n:"0.0.0"}`:c=l.selector,e[s][S.stringifyIdent(o)]=c}}},P7e={hooks:{beforeWorkspacePacking:k7e},commands:[gge]},D7e=P7e;var yge=ie(require("crypto")),wge=ie(Ige()),Bge=ie(require("url"));async function V7e(t,e,{access:r,tag:i,registry:n,gitHead:s}){let o=t.project.configuration,a=t.manifest.name,l=t.manifest.version,c=S.stringifyIdent(a),u=(0,yge.createHash)("sha1").update(e).digest("hex"),g=wge.default.fromData(e).toString();typeof r=="undefined"&&(t.manifest.publishConfig&&typeof t.manifest.publishConfig.access=="string"?r=t.manifest.publishConfig.access:o.get("npmPublishAccess")!==null?r=o.get("npmPublishAccess"):a.scope?r="restricted":r="public");let f=await za.genPackageManifest(t),h=`${c}-${l}.tgz`,p=new Bge.URL(`${To(n)}/${c}/-/${h}`);return{_id:c,_attachments:{[h]:{content_type:"application/octet-stream",data:e.toString("base64"),length:e.length}},name:c,access:r,["dist-tags"]:{[i]:l},versions:{[l]:_(P({},f),{_id:`${c}@${l}`,name:c,version:l,gitHead:s,dist:{shasum:u,integrity:g,tarball:p.toString()}})}}}async function _7e(t){try{let{stdout:e}=await hr.execvp("git",["rev-parse","--revs-only","HEAD"],{cwd:t});return e.trim()===""?void 0:e.trim()}catch{return}}var wM={npmAlwaysAuth:{description:"URL of the selected npm registry (note: npm enterprise isn't supported)",type:ge.BOOLEAN,default:!1},npmAuthIdent:{description:"Authentication identity for the npm registry (_auth in npm and yarn v1)",type:ge.SECRET,default:null},npmAuthToken:{description:"Authentication token for the npm registry (_authToken in npm and yarn v1)",type:ge.SECRET,default:null}},Qge={npmAuditRegistry:{description:"Registry to query for audit reports",type:ge.STRING,default:null},npmPublishRegistry:{description:"Registry to push packages to",type:ge.STRING,default:null},npmRegistryServer:{description:"URL of the selected npm registry (note: npm enterprise isn't supported)",type:ge.STRING,default:"https://registry.yarnpkg.com"}},X7e={configuration:_(P(P({},wM),Qge),{npmScopes:{description:"Settings per package scope",type:ge.MAP,valueDefinition:{description:"",type:ge.SHAPE,properties:P(P({},wM),Qge)}},npmRegistries:{description:"Settings per registry",type:ge.MAP,normalizeKeys:To,valueDefinition:{description:"",type:ge.SHAPE,properties:P({},wM)}}}),fetchers:[QT,Vs],resolvers:[bT,xT,kT]},Z7e=X7e;var vM={};it(vM,{default:()=>a_e});Ss();var Ho;(function(i){i.All="all",i.Production="production",i.Development="development"})(Ho||(Ho={}));var Xs;(function(s){s.Info="info",s.Low="low",s.Moderate="moderate",s.High="high",s.Critical="critical"})(Xs||(Xs={}));var vQ=[Xs.Info,Xs.Low,Xs.Moderate,Xs.High,Xs.Critical];function bge(t,e){let r=[],i=new Set,n=o=>{i.has(o)||(i.add(o),r.push(o))};for(let o of e)n(o);let s=new Set;for(;r.length>0;){let o=r.shift(),a=t.storedResolutions.get(o);if(typeof a=="undefined")throw new Error("Assertion failed: Expected the resolution to have been registered");let l=t.storedPackages.get(a);if(!!l){s.add(o);for(let c of l.dependencies.values())n(c.descriptorHash)}}return s}function $7e(t,e){return new Set([...t].filter(r=>!e.has(r)))}function e_e(t,e,{all:r}){let i=r?t.workspaces:[e],n=i.map(f=>f.manifest),s=new Set(n.map(f=>[...f.dependencies].map(([h,p])=>h)).flat()),o=new Set(n.map(f=>[...f.devDependencies].map(([h,p])=>h)).flat()),a=i.map(f=>[...f.dependencies.values()]).flat(),l=a.filter(f=>s.has(f.identHash)).map(f=>f.descriptorHash),c=a.filter(f=>o.has(f.identHash)).map(f=>f.descriptorHash),u=bge(t,l),g=bge(t,c);return $7e(g,u)}function vge(t){let e={};for(let r of t)e[S.stringifyIdent(r)]=S.parseRange(r.range).selector;return e}function Sge(t){if(typeof t=="undefined")return new Set;let e=vQ.indexOf(t),r=vQ.slice(e);return new Set(r)}function t_e(t,e){let r=Sge(e),i={};for(let n of r)i[n]=t[n];return i}function xge(t,e){var i;let r=t_e(t,e);for(let n of Object.keys(r))if((i=r[n])!=null?i:0>0)return!0;return!1}function kge(t,e){var s;let r={},i={children:r},n=Object.values(t.advisories);if(e!=null){let o=Sge(e);n=n.filter(a=>o.has(a.severity))}for(let o of de.sortMap(n,a=>a.module_name))r[o.module_name]={label:o.module_name,value:ue.tuple(ue.Type.RANGE,o.findings.map(a=>a.version).join(", ")),children:{Issue:{label:"Issue",value:ue.tuple(ue.Type.NO_HINT,o.title)},URL:{label:"URL",value:ue.tuple(ue.Type.URL,o.url)},Severity:{label:"Severity",value:ue.tuple(ue.Type.NO_HINT,o.severity)},["Vulnerable Versions"]:{label:"Vulnerable Versions",value:ue.tuple(ue.Type.RANGE,o.vulnerable_versions)},["Patched Versions"]:{label:"Patched Versions",value:ue.tuple(ue.Type.RANGE,o.patched_versions)},Via:{label:"Via",value:ue.tuple(ue.Type.NO_HINT,Array.from(new Set(o.findings.map(a=>a.paths).flat().map(a=>a.split(">")[0]))).join(", "))},Recommendation:{label:"Recommendation",value:ue.tuple(ue.Type.NO_HINT,(s=o.recommendation)==null?void 0:s.replace(/\n/g," "))}}};return i}function Pge(t,e,{all:r,environment:i}){let n=r?t.workspaces:[e],s=[Ho.All,Ho.Production].includes(i),o=[];if(s)for(let c of n)for(let u of c.manifest.dependencies.values())o.push(u);let a=[Ho.All,Ho.Development].includes(i),l=[];if(a)for(let c of n)for(let u of c.manifest.devDependencies.values())l.push(u);return vge([...o,...l].filter(c=>S.parseRange(c.range).protocol===null))}function Dge(t,e,{all:r}){var s;let i=e_e(t,e,{all:r}),n={};for(let o of t.storedPackages.values())n[S.stringifyIdent(o)]={version:(s=o.version)!=null?s:"0.0.0",integrity:o.identHash,requires:vge(o.dependencies.values()),dev:i.has(S.convertLocatorToDescriptor(o).descriptorHash)};return n}var dm=class extends Be{constructor(){super(...arguments);this.all=Y.Boolean("-A,--all",!1,{description:"Audit dependencies from all workspaces"});this.recursive=Y.Boolean("-R,--recursive",!1,{description:"Audit transitive dependencies as well"});this.environment=Y.String("--environment",Ho.All,{description:"Which environments to cover",validator:Yi(Ho)});this.json=Y.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.severity=Y.String("--severity",Xs.Info,{description:"Minimal severity requested for packages to be displayed",validator:Yi(Xs)})}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Ke.find(e,this.context.cwd);if(!i)throw new rt(r.cwd,this.context.cwd);await r.restoreInstallState();let n=Pge(r,i,{all:this.all,environment:this.environment}),s=Dge(r,i,{all:this.all});if(!this.recursive)for(let f of Object.keys(s))Object.prototype.hasOwnProperty.call(n,f)?s[f].requires={}:delete s[f];let o={requires:n,dependencies:s},a=gr.getAuditRegistry(i.manifest,{configuration:e}),l,c=await Fa.start({configuration:e,stdout:this.context.stdout},async()=>{l=await Lt.post("/-/npm/v1/security/audits/quick",o,{authType:Lt.AuthType.BEST_EFFORT,configuration:e,jsonResponse:!0,registry:a})});if(c.hasErrors())return c.exitCode();let u=xge(l.metadata.vulnerabilities,this.severity);return!this.json&&u?(Hs.emitTree(kge(l,this.severity),{configuration:e,json:this.json,stdout:this.context.stdout,separators:2}),1):(await Fe.start({configuration:e,includeFooter:!1,json:this.json,stdout:this.context.stdout},async f=>{f.reportJson(l),u||f.reportInfo(z.EXCEPTION,"No audit suggestions")})).exitCode()}};dm.paths=[["npm","audit"]],dm.usage=ye.Usage({description:"perform a vulnerability audit against the installed packages",details:` + This command checks for known security reports on the packages you use. The reports are by default extracted from the npm registry, and may or may not be relevant to your actual program (not all vulnerabilities affect all code paths). + + For consistency with our other commands the default is to only check the direct dependencies for the active workspace. To extend this search to all workspaces, use \`-A,--all\`. To extend this search to both direct and transitive dependencies, use \`-R,--recursive\`. + + Applying the \`--severity\` flag will limit the audit table to vulnerabilities of the corresponding severity and above. Valid values are ${vQ.map(e=>`\`${e}\``).join(", ")}. + + If the \`--json\` flag is set, Yarn will print the output exactly as received from the registry. Regardless of this flag, the process will exit with a non-zero exit code if a report is found for the selected packages. + + To understand the dependency tree requiring vulnerable packages, check the raw report with the \`--json\` flag or use \`yarn why \` to get more information as to who depends on them. + `,examples:[["Checks for known security issues with the installed packages. The output is a list of known issues.","yarn npm audit"],["Audit dependencies in all workspaces","yarn npm audit --all"],["Limit auditing to `dependencies` (excludes `devDependencies`)","yarn npm audit --environment production"],["Show audit report as valid JSON","yarn npm audit --json"],["Audit all direct and transitive dependencies","yarn npm audit --recursive"],["Output moderate (or more severe) vulnerabilities","yarn npm audit --severity moderate"]]});var Rge=dm;var BM=ie(Or()),QM=ie(require("util")),Cm=class extends Be{constructor(){super(...arguments);this.fields=Y.String("-f,--fields",{description:"A comma-separated list of manifest fields that should be displayed"});this.json=Y.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.packages=Y.Rest()}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins),{project:r}=await Ke.find(e,this.context.cwd),i=typeof this.fields!="undefined"?new Set(["name",...this.fields.split(/\s*,\s*/)]):null,n=[],s=!1,o=await Fe.start({configuration:e,includeFooter:!1,json:this.json,stdout:this.context.stdout},async a=>{for(let l of this.packages){let c;if(l==="."){let b=r.topLevelWorkspace;if(!b.manifest.name)throw new me(`Missing 'name' field in ${M.fromPortablePath(v.join(b.cwd,wt.manifest))}`);c=S.makeDescriptor(b.manifest.name,"unknown")}else c=S.parseDescriptor(l);let u=Lt.getIdentUrl(c),g=bM(await Lt.get(u,{configuration:e,ident:c,jsonResponse:!0,customErrorMessage:Lt.customPackageError})),f=Object.keys(g.versions).sort(BM.default.compareLoose),p=g["dist-tags"].latest||f[f.length-1],d=qt.validRange(c.range);if(d){let b=BM.default.maxSatisfying(f,d);b!==null?p=b:(a.reportWarning(z.UNNAMED,`Unmet range ${S.prettyRange(e,c.range)}; falling back to the latest version`),s=!0)}else c.range!=="unknown"&&(a.reportWarning(z.UNNAMED,`Invalid range ${S.prettyRange(e,c.range)}; falling back to the latest version`),s=!0);let m=g.versions[p],I=_(P(P({},g),m),{version:p,versions:f}),B;if(i!==null){B={};for(let b of i){let R=I[b];if(typeof R!="undefined")B[b]=R;else{a.reportWarning(z.EXCEPTION,`The '${b}' field doesn't exist inside ${S.prettyIdent(e,c)}'s informations`),s=!0;continue}}}else this.json||(delete I.dist,delete I.readme,delete I.users),B=I;a.reportJson(B),this.json||n.push(B)}});QM.inspect.styles.name="cyan";for(let a of n)(a!==n[0]||s)&&this.context.stdout.write(` +`),this.context.stdout.write(`${(0,QM.inspect)(a,{depth:Infinity,colors:!0,compact:!1})} +`);return o.exitCode()}};Cm.paths=[["npm","info"]],Cm.usage=ye.Usage({category:"Npm-related commands",description:"show information about a package",details:"\n This command will fetch information about a package from the npm registry, and prints it in a tree format.\n\n The package does not have to be installed locally, but needs to have been published (in particular, local changes will be ignored even for workspaces).\n\n Append `@` to the package argument to provide information specific to the latest version that satisfies the range. If the range is invalid or if there is no version satisfying the range, the command will print a warning and fall back to the latest version.\n\n If the `-f,--fields` option is set, it's a comma-separated list of fields which will be used to only display part of the package informations.\n\n By default, this command won't return the `dist`, `readme`, and `users` fields, since they are often very long. To explicitly request those fields, explicitly list them with the `--fields` flag or request the output in JSON mode.\n ",examples:[["Show all available information about react (except the `dist`, `readme`, and `users` fields)","yarn npm info react"],["Show all available information about react as valid JSON (including the `dist`, `readme`, and `users` fields)","yarn npm info react --json"],["Show all available information about react 16.12.0","yarn npm info react@16.12.0"],["Show the description of react","yarn npm info react --fields description"],["Show all available versions of react","yarn npm info react --fields versions"],["Show the readme of react","yarn npm info react --fields readme"],["Show a few fields of react","yarn npm info react --fields homepage,repository"]]});var Fge=Cm;function bM(t){if(Array.isArray(t)){let e=[];for(let r of t)r=bM(r),r&&e.push(r);return e}else if(typeof t=="object"&&t!==null){let e={};for(let r of Object.keys(t)){if(r.startsWith("_"))continue;let i=bM(t[r]);i&&(e[r]=i)}return e}else return t||null}var Nge=ie(aC()),mm=class extends Be{constructor(){super(...arguments);this.scope=Y.String("-s,--scope",{description:"Login to the registry configured for a given scope"});this.publish=Y.Boolean("--publish",!1,{description:"Login to the publish registry"})}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins),r=await SQ({configuration:e,cwd:this.context.cwd,publish:this.publish,scope:this.scope});return(await Fe.start({configuration:e,stdout:this.context.stdout},async n=>{let s=await i_e({registry:r,report:n,stdin:this.context.stdin,stdout:this.context.stdout}),o=`/-/user/org.couchdb.user:${encodeURIComponent(s.name)}`,a=await Lt.put(o,s,{attemptedAs:s.name,configuration:e,registry:r,jsonResponse:!0,authType:Lt.AuthType.NO_AUTH});return await r_e(r,a.token,{configuration:e,scope:this.scope}),n.reportInfo(z.UNNAMED,"Successfully logged in")})).exitCode()}};mm.paths=[["npm","login"]],mm.usage=ye.Usage({category:"Npm-related commands",description:"store new login info to access the npm registry",details:"\n This command will ask you for your username, password, and 2FA One-Time-Password (when it applies). It will then modify your local configuration (in your home folder, never in the project itself) to reference the new tokens thus generated.\n\n Adding the `-s,--scope` flag will cause the authentication to be done against whatever registry is configured for the associated scope (see also `npmScopes`).\n\n Adding the `--publish` flag will cause the authentication to be done against the registry used when publishing the package (see also `publishConfig.registry` and `npmPublishRegistry`).\n ",examples:[["Login to the default registry","yarn npm login"],["Login to the registry linked to the @my-scope registry","yarn npm login --scope my-scope"],["Login to the publish registry for the current package","yarn npm login --publish"]]});var Lge=mm;async function SQ({scope:t,publish:e,configuration:r,cwd:i}){return t&&e?gr.getScopeRegistry(t,{configuration:r,type:gr.RegistryType.PUBLISH_REGISTRY}):t?gr.getScopeRegistry(t,{configuration:r}):e?gr.getPublishRegistry((await rf(r,i)).manifest,{configuration:r}):gr.getDefaultRegistry({configuration:r})}async function r_e(t,e,{configuration:r,scope:i}){let n=o=>a=>{let l=de.isIndexableObject(a)?a:{},c=l[o],u=de.isIndexableObject(c)?c:{};return _(P({},l),{[o]:_(P({},u),{npmAuthToken:e})})},s=i?{npmScopes:n(i)}:{npmRegistries:n(t)};return await fe.updateHomeConfiguration(s)}async function i_e({registry:t,report:e,stdin:r,stdout:i}){if(process.env.TEST_ENV)return{name:process.env.TEST_NPM_USER||"",password:process.env.TEST_NPM_PASSWORD||""};e.reportInfo(z.UNNAMED,`Logging in to ${t}`);let n=!1;t.match(/^https:\/\/npm\.pkg\.github\.com(\/|$)/)&&(e.reportInfo(z.UNNAMED,"You seem to be using the GitHub Package Registry. Tokens must be generated with the 'repo', 'write:packages', and 'read:packages' permissions."),n=!0),e.reportSeparator();let{username:s,password:o}=await(0,Nge.prompt)([{type:"input",name:"username",message:"Username:",required:!0,onCancel:()=>process.exit(130),stdin:r,stdout:i},{type:"password",name:"password",message:n?"Token:":"Password:",required:!0,onCancel:()=>process.exit(130),stdin:r,stdout:i}]);return e.reportSeparator(),{name:s,password:o}}var Ff=new Set(["npmAuthIdent","npmAuthToken"]),Em=class extends Be{constructor(){super(...arguments);this.scope=Y.String("-s,--scope",{description:"Logout of the registry configured for a given scope"});this.publish=Y.Boolean("--publish",!1,{description:"Logout of the publish registry"});this.all=Y.Boolean("-A,--all",!1,{description:"Logout of all registries"})}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins),r=async()=>{var l;let n=await SQ({configuration:e,cwd:this.context.cwd,publish:this.publish,scope:this.scope}),s=await fe.find(this.context.cwd,this.context.plugins),o=S.makeIdent((l=this.scope)!=null?l:null,"pkg");return!gr.getAuthConfiguration(n,{configuration:s,ident:o}).get("npmAuthToken")};return(await Fe.start({configuration:e,stdout:this.context.stdout},async n=>{if(this.all&&(await n_e(),n.reportInfo(z.UNNAMED,"Successfully logged out from everything")),this.scope){await Tge("npmScopes",this.scope),await r()?n.reportInfo(z.UNNAMED,`Successfully logged out from ${this.scope}`):n.reportWarning(z.UNNAMED,"Scope authentication settings removed, but some other ones settings still apply to it");return}let s=await SQ({configuration:e,cwd:this.context.cwd,publish:this.publish});await Tge("npmRegistries",s),await r()?n.reportInfo(z.UNNAMED,`Successfully logged out from ${s}`):n.reportWarning(z.UNNAMED,"Registry authentication settings removed, but some other ones settings still apply to it")})).exitCode()}};Em.paths=[["npm","logout"]],Em.usage=ye.Usage({category:"Npm-related commands",description:"logout of the npm registry",details:"\n This command will log you out by modifying your local configuration (in your home folder, never in the project itself) to delete all credentials linked to a registry.\n\n Adding the `-s,--scope` flag will cause the deletion to be done against whatever registry is configured for the associated scope (see also `npmScopes`).\n\n Adding the `--publish` flag will cause the deletion to be done against the registry used when publishing the package (see also `publishConfig.registry` and `npmPublishRegistry`).\n\n Adding the `-A,--all` flag will cause the deletion to be done against all registries and scopes.\n ",examples:[["Logout of the default registry","yarn npm logout"],["Logout of the @my-scope scope","yarn npm logout --scope my-scope"],["Logout of the publish registry for the current package","yarn npm logout --publish"],["Logout of all registries","yarn npm logout --all"]]});var Mge=Em;function s_e(t,e){let r=t[e];if(!de.isIndexableObject(r))return!1;let i=new Set(Object.keys(r));if([...Ff].every(s=>!i.has(s)))return!1;for(let s of Ff)i.delete(s);if(i.size===0)return t[e]=void 0,!0;let n=P({},r);for(let s of Ff)delete n[s];return t[e]=n,!0}async function n_e(){let t=e=>{let r=!1,i=de.isIndexableObject(e)?P({},e):{};i.npmAuthToken&&(delete i.npmAuthToken,r=!0);for(let n of Object.keys(i))s_e(i,n)&&(r=!0);if(Object.keys(i).length!==0)return r?i:e};return await fe.updateHomeConfiguration({npmRegistries:t,npmScopes:t})}async function Tge(t,e){return await fe.updateHomeConfiguration({[t]:r=>{let i=de.isIndexableObject(r)?r:{};if(!Object.prototype.hasOwnProperty.call(i,e))return r;let n=i[e],s=de.isIndexableObject(n)?n:{},o=new Set(Object.keys(s));if([...Ff].every(l=>!o.has(l)))return r;for(let l of Ff)o.delete(l);if(o.size===0)return Object.keys(i).length===1?void 0:_(P({},i),{[e]:void 0});let a={};for(let l of Ff)a[l]=void 0;return _(P({},i),{[e]:P(P({},s),a)})}})}var Im=class extends Be{constructor(){super(...arguments);this.access=Y.String("--access",{description:"The access for the published package (public or restricted)"});this.tag=Y.String("--tag","latest",{description:"The tag on the registry that the package should be attached to"});this.tolerateRepublish=Y.Boolean("--tolerate-republish",!1,{description:"Warn and exit when republishing an already existing version of a package"})}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Ke.find(e,this.context.cwd);if(!i)throw new rt(r.cwd,this.context.cwd);if(i.manifest.private)throw new me("Private workspaces cannot be published");if(i.manifest.name===null||i.manifest.version===null)throw new me("Workspaces must have valid names and versions to be published on an external registry");await r.restoreInstallState();let n=i.manifest.name,s=i.manifest.version,o=gr.getPublishRegistry(i.manifest,{configuration:e});return(await Fe.start({configuration:e,stdout:this.context.stdout},async l=>{var c,u;if(this.tolerateRepublish)try{let g=await Lt.get(Lt.getIdentUrl(n),{configuration:e,registry:o,ident:n,jsonResponse:!0});if(!Object.prototype.hasOwnProperty.call(g,"versions"))throw new nt(z.REMOTE_INVALID,'Registry returned invalid data for - missing "versions" field');if(Object.prototype.hasOwnProperty.call(g.versions,s)){l.reportWarning(z.UNNAMED,`Registry already knows about version ${s}; skipping.`);return}}catch(g){if(((u=(c=g.originalError)==null?void 0:c.response)==null?void 0:u.statusCode)!==404)throw g}await Kt.maybeExecuteWorkspaceLifecycleScript(i,"prepublish",{report:l}),await za.prepareForPack(i,{report:l},async()=>{let g=await za.genPackList(i);for(let m of g)l.reportInfo(null,m);let f=await za.genPackStream(i,g),h=await de.bufferStream(f),p=await Rf.getGitHead(i.cwd),d=await Rf.makePublishBody(i,h,{access:this.access,tag:this.tag,registry:o,gitHead:p});await Lt.put(Lt.getIdentUrl(n),d,{configuration:e,registry:o,ident:n,jsonResponse:!0})}),l.reportInfo(z.UNNAMED,"Package archive published")})).exitCode()}};Im.paths=[["npm","publish"]],Im.usage=ye.Usage({category:"Npm-related commands",description:"publish the active workspace to the npm registry",details:'\n This command will pack the active workspace into a fresh archive and upload it to the npm registry.\n\n The package will by default be attached to the `latest` tag on the registry, but this behavior can be overriden by using the `--tag` option.\n\n Note that for legacy reasons scoped packages are by default published with an access set to `restricted` (aka "private packages"). This requires you to register for a paid npm plan. In case you simply wish to publish a public scoped package to the registry (for free), just add the `--access public` flag. This behavior can be enabled by default through the `npmPublishAccess` settings.\n ',examples:[["Publish the active workspace","yarn npm publish"]]});var Oge=Im;var Uge=ie(Or());var ym=class extends Be{constructor(){super(...arguments);this.json=Y.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.package=Y.String({required:!1})}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Ke.find(e,this.context.cwd),n;if(typeof this.package!="undefined")n=S.parseIdent(this.package);else{if(!i)throw new rt(r.cwd,this.context.cwd);if(!i.manifest.name)throw new me(`Missing 'name' field in ${M.fromPortablePath(v.join(i.cwd,wt.manifest))}`);n=i.manifest.name}let s=await wm(n,e),a={children:de.sortMap(Object.entries(s),([l])=>l).map(([l,c])=>({value:ue.tuple(ue.Type.RESOLUTION,{descriptor:S.makeDescriptor(n,l),locator:S.makeLocator(n,c)})}))};return Hs.emitTree(a,{configuration:e,json:this.json,stdout:this.context.stdout})}};ym.paths=[["npm","tag","list"]],ym.usage=ye.Usage({category:"Npm-related commands",description:"list all dist-tags of a package",details:` + This command will list all tags of a package from the npm registry. + + If the package is not specified, Yarn will default to the current workspace. + `,examples:[["List all tags of package `my-pkg`","yarn npm tag list my-pkg"]]});var Kge=ym;async function wm(t,e){let r=`/-/package${Lt.getIdentUrl(t)}/dist-tags`;return Lt.get(r,{configuration:e,ident:t,jsonResponse:!0,customErrorMessage:Lt.customPackageError})}var Bm=class extends Be{constructor(){super(...arguments);this.package=Y.String();this.tag=Y.String()}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Ke.find(e,this.context.cwd);if(!i)throw new rt(r.cwd,this.context.cwd);let n=S.parseDescriptor(this.package,!0),s=n.range;if(!Uge.default.valid(s))throw new me(`The range ${ue.pretty(e,n.range,ue.Type.RANGE)} must be a valid semver version`);let o=gr.getPublishRegistry(i.manifest,{configuration:e}),a=ue.pretty(e,n,ue.Type.IDENT),l=ue.pretty(e,s,ue.Type.RANGE),c=ue.pretty(e,this.tag,ue.Type.CODE);return(await Fe.start({configuration:e,stdout:this.context.stdout},async g=>{let f=await wm(n,e);Object.prototype.hasOwnProperty.call(f,this.tag)&&f[this.tag]===s&&g.reportWarning(z.UNNAMED,`Tag ${c} is already set to version ${l}`);let h=`/-/package${Lt.getIdentUrl(n)}/dist-tags/${encodeURIComponent(this.tag)}`;await Lt.put(h,s,{configuration:e,registry:o,ident:n,jsonRequest:!0,jsonResponse:!0}),g.reportInfo(z.UNNAMED,`Tag ${c} added to version ${l} of package ${a}`)})).exitCode()}};Bm.paths=[["npm","tag","add"]],Bm.usage=ye.Usage({category:"Npm-related commands",description:"add a tag for a specific version of a package",details:` + This command will add a tag to the npm registry for a specific version of a package. If the tag already exists, it will be overwritten. + `,examples:[["Add a `beta` tag for version `2.3.4-beta.4` of package `my-pkg`","yarn npm tag add my-pkg@2.3.4-beta.4 beta"]]});var Hge=Bm;var Qm=class extends Be{constructor(){super(...arguments);this.package=Y.String();this.tag=Y.String()}async execute(){if(this.tag==="latest")throw new me("The 'latest' tag cannot be removed.");let e=await fe.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Ke.find(e,this.context.cwd);if(!i)throw new rt(r.cwd,this.context.cwd);let n=S.parseIdent(this.package),s=gr.getPublishRegistry(i.manifest,{configuration:e}),o=ue.pretty(e,this.tag,ue.Type.CODE),a=ue.pretty(e,n,ue.Type.IDENT),l=await wm(n,e);if(!Object.prototype.hasOwnProperty.call(l,this.tag))throw new me(`${o} is not a tag of package ${a}`);return(await Fe.start({configuration:e,stdout:this.context.stdout},async u=>{let g=`/-/package${Lt.getIdentUrl(n)}/dist-tags/${encodeURIComponent(this.tag)}`;await Lt.del(g,{configuration:e,registry:s,ident:n,jsonResponse:!0}),u.reportInfo(z.UNNAMED,`Tag ${o} removed from package ${a}`)})).exitCode()}};Qm.paths=[["npm","tag","remove"]],Qm.usage=ye.Usage({category:"Npm-related commands",description:"remove a tag from a package",details:` + This command will remove a tag from a package from the npm registry. + `,examples:[["Remove the `beta` tag from package `my-pkg`","yarn npm tag remove my-pkg beta"]]});var Gge=Qm;var bm=class extends Be{constructor(){super(...arguments);this.scope=Y.String("-s,--scope",{description:"Print username for the registry configured for a given scope"});this.publish=Y.Boolean("--publish",!1,{description:"Print username for the publish registry"})}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins),r;return this.scope&&this.publish?r=gr.getScopeRegistry(this.scope,{configuration:e,type:gr.RegistryType.PUBLISH_REGISTRY}):this.scope?r=gr.getScopeRegistry(this.scope,{configuration:e}):this.publish?r=gr.getPublishRegistry((await rf(e,this.context.cwd)).manifest,{configuration:e}):r=gr.getDefaultRegistry({configuration:e}),(await Fe.start({configuration:e,stdout:this.context.stdout},async n=>{var o,a;let s;try{s=await Lt.get("/-/whoami",{configuration:e,registry:r,authType:Lt.AuthType.ALWAYS_AUTH,jsonResponse:!0,ident:this.scope?S.makeIdent(this.scope,""):void 0})}catch(l){if(((o=l.response)==null?void 0:o.statusCode)===401||((a=l.response)==null?void 0:a.statusCode)===403){n.reportError(z.AUTHENTICATION_INVALID,"Authentication failed - your credentials may have expired");return}else throw l}n.reportInfo(z.UNNAMED,s.username)})).exitCode()}};bm.paths=[["npm","whoami"]],bm.usage=ye.Usage({category:"Npm-related commands",description:"display the name of the authenticated user",details:"\n Print the username associated with the current authentication settings to the standard output.\n\n When using `-s,--scope`, the username printed will be the one that matches the authentication settings of the registry associated with the given scope (those settings can be overriden using the `npmRegistries` map, and the registry associated with the scope is configured via the `npmScopes` map).\n\n When using `--publish`, the registry we'll select will by default be the one used when publishing packages (`publishConfig.registry` or `npmPublishRegistry` if available, otherwise we'll fallback to the regular `npmRegistryServer`).\n ",examples:[["Print username for the default registry","yarn npm whoami"],["Print username for the registry on a given scope","yarn npm whoami --scope company"]]});var jge=bm;var o_e={configuration:{npmPublishAccess:{description:"Default access of the published packages",type:ge.STRING,default:null}},commands:[Rge,Fge,Lge,Mge,Oge,Hge,Kge,Gge,jge]},a_e=o_e;var NM={};it(NM,{default:()=>B_e,patchUtils:()=>SM});var SM={};it(SM,{applyPatchFile:()=>PQ,diffFolders:()=>DM,extractPackageToDisk:()=>PM,extractPatchFlags:()=>Xge,isParentRequired:()=>kM,loadPatchFiles:()=>km,makeDescriptor:()=>I_e,makeLocator:()=>xM,parseDescriptor:()=>Sm,parseLocator:()=>xm,parsePatchFile:()=>kQ});var vm=class extends Error{constructor(e,r){super(`Cannot apply hunk #${e+1}`);this.hunk=r}};var A_e=/^@@ -(\d+)(,(\d+))? \+(\d+)(,(\d+))? @@.*/;function Nf(t){return v.relative(Se.root,v.resolve(Se.root,M.toPortablePath(t)))}function l_e(t){let e=t.trim().match(A_e);if(!e)throw new Error(`Bad header line: '${t}'`);return{original:{start:Math.max(Number(e[1]),1),length:Number(e[3]||1)},patched:{start:Math.max(Number(e[4]),1),length:Number(e[6]||1)}}}var c_e=420,u_e=493,Lr;(function(i){i.Context="context",i.Insertion="insertion",i.Deletion="deletion"})(Lr||(Lr={}));var Yge=()=>({semverExclusivity:null,diffLineFromPath:null,diffLineToPath:null,oldMode:null,newMode:null,deletedFileMode:null,newFileMode:null,renameFrom:null,renameTo:null,beforeHash:null,afterHash:null,fromPath:null,toPath:null,hunks:null}),g_e=t=>({header:l_e(t),parts:[]}),f_e={["@"]:"header",["-"]:Lr.Deletion,["+"]:Lr.Insertion,[" "]:Lr.Context,["\\"]:"pragma",undefined:Lr.Context};function p_e(t){let e=[],r=Yge(),i="parsing header",n=null,s=null;function o(){n&&(s&&(n.parts.push(s),s=null),r.hunks.push(n),n=null)}function a(){o(),e.push(r),r=Yge()}for(let l=0;l0?"patch":"mode change",B=null;switch(I){case"rename":{if(!u||!g)throw new Error("Bad parser state: rename from & to not given");e.push({type:"rename",semverExclusivity:i,fromPath:Nf(u),toPath:Nf(g)}),B=g}break;case"file deletion":{let b=n||p;if(!b)throw new Error("Bad parse state: no path given for file deletion");e.push({type:"file deletion",semverExclusivity:i,hunk:m&&m[0]||null,path:Nf(b),mode:xQ(l),hash:f})}break;case"file creation":{let b=s||d;if(!b)throw new Error("Bad parse state: no path given for file creation");e.push({type:"file creation",semverExclusivity:i,hunk:m&&m[0]||null,path:Nf(b),mode:xQ(c),hash:h})}break;case"patch":case"mode change":B=d||s;break;default:de.assertNever(I);break}B&&o&&a&&o!==a&&e.push({type:"mode change",semverExclusivity:i,path:Nf(B),oldMode:xQ(o),newMode:xQ(a)}),B&&m&&m.length&&e.push({type:"patch",semverExclusivity:i,path:Nf(B),hunks:m,beforeHash:f,afterHash:h})}if(e.length===0)throw new Error("Unable to parse patch file: No changes found. Make sure the patch is a valid UTF8 encoded string");return e}function xQ(t){let e=parseInt(t,8)&511;if(e!==c_e&&e!==u_e)throw new Error(`Unexpected file mode string: ${t}`);return e}function kQ(t){let e=t.split(/\n/g);return e[e.length-1]===""&&e.pop(),d_e(p_e(e))}function h_e(t){let e=0,r=0;for(let{type:i,lines:n}of t.parts)switch(i){case Lr.Context:r+=n.length,e+=n.length;break;case Lr.Deletion:e+=n.length;break;case Lr.Insertion:r+=n.length;break;default:de.assertNever(i);break}if(e!==t.header.original.length||r!==t.header.patched.length){let i=n=>n<0?n:`+${n}`;throw new Error(`hunk header integrity check failed (expected @@ ${i(t.header.original.length)} ${i(t.header.patched.length)} @@, got @@ ${i(e)} ${i(r)} @@)`)}}async function Lf(t,e,r){let i=await t.lstatPromise(e),n=await r();if(typeof n!="undefined"&&(e=n),t.lutimesPromise)await t.lutimesPromise(e,i.atime,i.mtime);else if(!i.isSymbolicLink())await t.utimesPromise(e,i.atime,i.mtime);else throw new Error("Cannot preserve the time values of a symlink")}async function PQ(t,{baseFs:e=new Wt,dryRun:r=!1,version:i=null}={}){for(let n of t)if(!(n.semverExclusivity!==null&&i!==null&&!qt.satisfiesWithPrereleases(i,n.semverExclusivity)))switch(n.type){case"file deletion":if(r){if(!e.existsSync(n.path))throw new Error(`Trying to delete a file that doesn't exist: ${n.path}`)}else await Lf(e,v.dirname(n.path),async()=>{await e.unlinkPromise(n.path)});break;case"rename":if(r){if(!e.existsSync(n.fromPath))throw new Error(`Trying to move a file that doesn't exist: ${n.fromPath}`)}else await Lf(e,v.dirname(n.fromPath),async()=>{await Lf(e,v.dirname(n.toPath),async()=>{await Lf(e,n.fromPath,async()=>(await e.movePromise(n.fromPath,n.toPath),n.toPath))})});break;case"file creation":if(r){if(e.existsSync(n.path))throw new Error(`Trying to create a file that already exists: ${n.path}`)}else{let s=n.hunk?n.hunk.parts[0].lines.join(` +`)+(n.hunk.parts[0].noNewlineAtEndOfFile?"":` +`):"";await e.mkdirpPromise(v.dirname(n.path),{chmod:493,utimes:[mr.SAFE_TIME,mr.SAFE_TIME]}),await e.writeFilePromise(n.path,s,{mode:n.mode}),await e.utimesPromise(n.path,mr.SAFE_TIME,mr.SAFE_TIME)}break;case"patch":await Lf(e,n.path,async()=>{await C_e(n,{baseFs:e,dryRun:r})});break;case"mode change":{let o=(await e.statPromise(n.path)).mode;if(qge(n.newMode)!==qge(o))continue;await Lf(e,n.path,async()=>{await e.chmodPromise(n.path,n.newMode)})}break;default:de.assertNever(n);break}}function qge(t){return(t&64)>0}function Jge(t){return t.replace(/\s+$/,"")}function m_e(t,e){return Jge(t)===Jge(e)}async function C_e({hunks:t,path:e},{baseFs:r,dryRun:i=!1}){let n=await r.statSync(e).mode,o=(await r.readFileSync(e,"utf8")).split(/\n/),a=[],l=0,c=0;for(let g of t){let f=Math.max(c,g.header.patched.start+l),h=Math.max(0,f-c),p=Math.max(0,o.length-f-g.header.original.length),d=Math.max(h,p),m=0,I=0,B=null;for(;m<=d;){if(m<=h&&(I=f-m,B=Wge(g,o,I),B!==null)){m=-m;break}if(m<=p&&(I=f+m,B=Wge(g,o,I),B!==null))break;m+=1}if(B===null)throw new vm(t.indexOf(g),g);a.push(B),l+=m,c=I+g.header.original.length}if(i)return;let u=0;for(let g of a)for(let f of g)switch(f.type){case"splice":{let h=f.index+u;o.splice(h,f.numToDelete,...f.linesToInsert),u+=f.linesToInsert.length-f.numToDelete}break;case"pop":o.pop();break;case"push":o.push(f.line);break;default:de.assertNever(f);break}await r.writeFilePromise(e,o.join(` +`),{mode:n})}function Wge(t,e,r){let i=[];for(let n of t.parts)switch(n.type){case Lr.Context:case Lr.Deletion:{for(let s of n.lines){let o=e[r];if(o==null||!m_e(o,s))return null;r+=1}n.type===Lr.Deletion&&(i.push({type:"splice",index:r-n.lines.length,numToDelete:n.lines.length,linesToInsert:[]}),n.noNewlineAtEndOfFile&&i.push({type:"push",line:""}))}break;case Lr.Insertion:i.push({type:"splice",index:r,numToDelete:0,linesToInsert:n.lines}),n.noNewlineAtEndOfFile&&i.push({type:"pop"});break;default:de.assertNever(n.type);break}return i}var E_e=/^builtin<([^>]+)>$/;function zge(t,e){let{source:r,selector:i,params:n}=S.parseRange(t);if(r===null)throw new Error("Patch locators must explicitly define their source");let s=i?i.split(/&/).map(c=>M.toPortablePath(c)):[],o=n&&typeof n.locator=="string"?S.parseLocator(n.locator):null,a=n&&typeof n.version=="string"?n.version:null,l=e(r);return{parentLocator:o,sourceItem:l,patchPaths:s,sourceVersion:a}}function Sm(t){let i=zge(t.range,S.parseDescriptor),{sourceItem:e}=i,r=qr(i,["sourceItem"]);return _(P({},r),{sourceDescriptor:e})}function xm(t){let i=zge(t.reference,S.parseLocator),{sourceItem:e}=i,r=qr(i,["sourceItem"]);return _(P({},r),{sourceLocator:e})}function Vge({parentLocator:t,sourceItem:e,patchPaths:r,sourceVersion:i,patchHash:n},s){let o=t!==null?{locator:S.stringifyLocator(t)}:{},a=typeof i!="undefined"?{version:i}:{},l=typeof n!="undefined"?{hash:n}:{};return S.makeRange({protocol:"patch:",source:s(e),selector:r.join("&"),params:P(P(P({},a),l),o)})}function I_e(t,{parentLocator:e,sourceDescriptor:r,patchPaths:i}){return S.makeLocator(t,Vge({parentLocator:e,sourceItem:r,patchPaths:i},S.stringifyDescriptor))}function xM(t,{parentLocator:e,sourcePackage:r,patchPaths:i,patchHash:n}){return S.makeLocator(t,Vge({parentLocator:e,sourceItem:r,sourceVersion:r.version,patchPaths:i,patchHash:n},S.stringifyLocator))}function _ge({onAbsolute:t,onRelative:e,onBuiltin:r},i){i.startsWith("~")&&(i=i.slice(1));let s=i.match(E_e);return s!==null?r(s[1]):v.isAbsolute(i)?t(i):e(i)}function Xge(t){let e=t.startsWith("~");return e&&(t=t.slice(1)),{optional:e}}function kM(t){return _ge({onAbsolute:()=>!1,onRelative:()=>!0,onBuiltin:()=>!1},t)}async function km(t,e,r){let i=t!==null?await r.fetcher.fetch(t,r):null,n=i&&i.localPath?{packageFs:new Ft(Se.root),prefixPath:v.relative(Se.root,i.localPath)}:i;i&&i!==n&&i.releaseFs&&i.releaseFs();let s=await de.releaseAfterUseAsync(async()=>await Promise.all(e.map(async o=>{let a=Xge(o),l=await _ge({onAbsolute:async()=>await T.readFilePromise(o,"utf8"),onRelative:async()=>{if(n===null)throw new Error("Assertion failed: The parent locator should have been fetched");return await n.packageFs.readFilePromise(v.join(n.prefixPath,o),"utf8")},onBuiltin:async c=>await r.project.configuration.firstHook(u=>u.getBuiltinPatch,r.project,c)},o);return _(P({},a),{source:l})})));for(let o of s)typeof o.source=="string"&&(o.source=o.source.replace(/\r\n?/g,` +`));return s}async function PM(t,{cache:e,project:r}){let i=r.storedPackages.get(t.locatorHash);if(typeof i=="undefined")throw new Error("Assertion failed: Expected the package to be registered");let n=r.storedChecksums,s=new ei,o=r.configuration.makeFetcher(),a=await o.fetch(t,{cache:e,project:r,fetcher:o,checksums:n,report:s}),l=await T.mktempPromise(),c=v.join(l,"source"),u=v.join(l,"user"),g=v.join(l,".yarn-patch.json");return await Promise.all([T.copyPromise(c,a.prefixPath,{baseFs:a.packageFs}),T.copyPromise(u,a.prefixPath,{baseFs:a.packageFs}),T.writeJsonPromise(g,{locator:S.stringifyLocator(t),version:i.version})]),T.detachTemp(l),u}async function DM(t,e){let r=M.fromPortablePath(t).replace(/\\/g,"/"),i=M.fromPortablePath(e).replace(/\\/g,"/"),{stdout:n,stderr:s}=await hr.execvp("git",["-c","core.safecrlf=false","diff","--src-prefix=a/","--dst-prefix=b/","--ignore-cr-at-eol","--full-index","--no-index","--text",r,i],{cwd:M.toPortablePath(process.cwd()),env:_(P({},process.env),{GIT_CONFIG_NOSYSTEM:"1",HOME:"",XDG_CONFIG_HOME:"",USERPROFILE:""})});if(s.length>0)throw new Error(`Unable to diff directories. Make sure you have a recent version of 'git' available in PATH. +The following error was reported by 'git': +${s}`);let o=r.startsWith("/")?a=>a.slice(1):a=>a;return n.replace(new RegExp(`(a|b)(${de.escapeRegExp(`/${o(r)}/`)})`,"g"),"$1/").replace(new RegExp(`(a|b)${de.escapeRegExp(`/${o(i)}/`)}`,"g"),"$1/").replace(new RegExp(de.escapeRegExp(`${r}/`),"g"),"").replace(new RegExp(de.escapeRegExp(`${i}/`),"g"),"")}function Zge(t,{configuration:e,report:r}){for(let i of t.parts)for(let n of i.lines)switch(i.type){case Lr.Context:r.reportInfo(null,` ${ue.pretty(e,n,"grey")}`);break;case Lr.Deletion:r.reportError(z.FROZEN_LOCKFILE_EXCEPTION,`- ${ue.pretty(e,n,ue.Type.REMOVED)}`);break;case Lr.Insertion:r.reportError(z.FROZEN_LOCKFILE_EXCEPTION,`+ ${ue.pretty(e,n,ue.Type.ADDED)}`);break;default:de.assertNever(i.type)}}var RM=class{supports(e,r){return!!e.reference.startsWith("patch:")}getLocalPath(e,r){return null}async fetch(e,r){let i=r.checksums.get(e.locatorHash)||null,[n,s,o]=await r.cache.fetchPackageFromCache(e,i,P({onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${S.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the disk`),loader:()=>this.patchPackage(e,r),skipIntegrityCheck:r.skipIntegrityCheck},r.cacheOptions));return{packageFs:n,releaseFs:s,prefixPath:S.getIdentVendorPath(e),localPath:this.getLocalPath(e,r),checksum:o}}async patchPackage(e,r){let{parentLocator:i,sourceLocator:n,sourceVersion:s,patchPaths:o}=xm(e),a=await km(i,o,r),l=await T.mktempPromise(),c=v.join(l,"current.zip"),u=await r.fetcher.fetch(n,r),g=S.getIdentVendorPath(e),f=await $i(),h=new Jr(c,{libzip:f,create:!0,level:r.project.configuration.get("compressionLevel")});await de.releaseAfterUseAsync(async()=>{await h.copyPromise(g,u.prefixPath,{baseFs:u.packageFs,stableSort:!0})},u.releaseFs),h.saveAndClose();for(let{source:p,optional:d}of a){if(p===null)continue;let m=new Jr(c,{libzip:f,level:r.project.configuration.get("compressionLevel")}),I=new Ft(v.resolve(Se.root,g),{baseFs:m});try{await PQ(kQ(p),{baseFs:I,version:s})}catch(B){if(!(B instanceof vm))throw B;let b=r.project.configuration.get("enableInlineHunks"),R=!b&&!d?" (set enableInlineHunks for details)":"",H=`${S.prettyLocator(r.project.configuration,e)}: ${B.message}${R}`,L=K=>{!b||Zge(B.hunk,{configuration:r.project.configuration,report:K})};if(m.discardAndClose(),d){r.report.reportWarningOnce(z.PATCH_HUNK_FAILED,H,{reportExtra:L});continue}else throw new nt(z.PATCH_HUNK_FAILED,H,L)}m.saveAndClose()}return new Jr(c,{libzip:f,level:r.project.configuration.get("compressionLevel")})}};var y_e=3,FM=class{supportsDescriptor(e,r){return!!e.range.startsWith("patch:")}supportsLocator(e,r){return!!e.reference.startsWith("patch:")}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,i){let{patchPaths:n}=Sm(e);return n.every(s=>!kM(s))?e:S.bindDescriptor(e,{locator:S.stringifyLocator(r)})}getResolutionDependencies(e,r){let{sourceDescriptor:i}=Sm(e);return[i]}async getCandidates(e,r,i){if(!i.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let{parentLocator:n,sourceDescriptor:s,patchPaths:o}=Sm(e),a=await km(n,o,i.fetchOptions),l=r.get(s.descriptorHash);if(typeof l=="undefined")throw new Error("Assertion failed: The dependency should have been resolved");let c=mn.makeHash(`${y_e}`,...a.map(u=>JSON.stringify(u))).slice(0,6);return[xM(e,{parentLocator:n,sourcePackage:l,patchPaths:o,patchHash:c})]}async getSatisfying(e,r,i){return null}async resolve(e,r){let{sourceLocator:i}=xm(e),n=await r.resolver.resolve(i,r);return P(P({},n),e)}};var Pm=class extends Be{constructor(){super(...arguments);this.save=Y.Boolean("-s,--save",!1,{description:"Add the patch to your resolution entries"});this.patchFolder=Y.String()}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Ke.find(e,this.context.cwd);if(!i)throw new rt(r.cwd,this.context.cwd);await r.restoreInstallState();let n=v.resolve(this.context.cwd,M.toPortablePath(this.patchFolder)),s=v.join(n,"../source"),o=v.join(n,"../.yarn-patch.json");if(!T.existsSync(s))throw new me("The argument folder didn't get created by 'yarn patch'");let a=await DM(s,n),l=await T.readJsonPromise(o),c=S.parseLocator(l.locator,!0);if(!r.storedPackages.has(c.locatorHash))throw new me("No package found in the project for the given locator");if(!this.save){this.context.stdout.write(a);return}let u=e.get("patchFolder"),g=v.join(u,S.slugifyLocator(c));await T.mkdirPromise(u,{recursive:!0}),await T.writeFilePromise(g,a);let f=v.relative(r.cwd,g);r.topLevelWorkspace.manifest.resolutions.push({pattern:{descriptor:{fullName:S.stringifyIdent(c),description:l.version}},reference:`patch:${S.stringifyLocator(c)}#${f}`}),await r.persist()}};Pm.paths=[["patch-commit"]],Pm.usage=ye.Usage({description:"generate a patch out of a directory",details:"\n This will print a patchfile on stdout based on the diff between the folder passed in and the original version of the package. Such file is suitable for consumption with the `patch:` protocol.\n\n Only folders generated by `yarn patch` are accepted as valid input for `yarn patch-commit`.\n "});var $ge=Pm;var Dm=class extends Be{constructor(){super(...arguments);this.json=Y.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.package=Y.String()}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Ke.find(e,this.context.cwd),n=await Qt.find(e);if(!i)throw new rt(r.cwd,this.context.cwd);await r.restoreInstallState();let s=S.parseLocator(this.package);if(s.reference==="unknown"){let o=de.mapAndFilter([...r.storedPackages.values()],a=>a.identHash!==s.identHash?de.mapAndFilter.skip:S.isVirtualLocator(a)?de.mapAndFilter.skip:a);if(o.length===0)throw new me("No package found in the project for the given locator");if(o.length>1)throw new me(`Multiple candidate packages found; explicitly choose one of them (use \`yarn why \` to get more information as to who depends on them): +${o.map(a=>` +- ${S.prettyLocator(e,a)}`).join("")}`);s=o[0]}if(!r.storedPackages.has(s.locatorHash))throw new me("No package found in the project for the given locator");await Fe.start({configuration:e,json:this.json,stdout:this.context.stdout},async o=>{let a=await PM(s,{cache:n,project:r});o.reportJson({locator:S.stringifyLocator(s),path:M.fromPortablePath(a)}),o.reportInfo(z.UNNAMED,`Package ${S.prettyLocator(e,s)} got extracted with success!`),o.reportInfo(z.UNNAMED,`You can now edit the following folder: ${ue.pretty(e,M.fromPortablePath(a),"magenta")}`),o.reportInfo(z.UNNAMED,`Once you are done run ${ue.pretty(e,`yarn patch-commit ${process.platform==="win32"?'"':""}${M.fromPortablePath(a)}${process.platform==="win32"?'"':""}`,"cyan")} and Yarn will store a patchfile based on your changes.`)})}};Dm.paths=[["patch"]],Dm.usage=ye.Usage({description:"prepare a package for patching",details:'\n This command will cause a package to be extracted in a temporary directory (under a folder named "patch-workdir"). This folder will be editable at will; running `yarn patch` inside it will then cause Yarn to generate a patchfile and register it into your top-level manifest (cf the `patch:` protocol).\n '});var efe=Dm;var w_e={configuration:{enableInlineHunks:{description:"If true, the installs will print unmatched patch hunks",type:ge.BOOLEAN,default:!1},patchFolder:{description:"Folder where the patch files must be written",type:ge.ABSOLUTE_PATH,default:"./.yarn/patches"}},commands:[$ge,efe],fetchers:[RM],resolvers:[FM]},B_e=w_e;var TM={};it(TM,{default:()=>S_e});var tfe=ie(Wp()),LM=class{supportsPackage(e,r){return r.project.configuration.get("nodeLinker")==="pnpm"}async findPackageLocation(e,r){return nfe(e,{project:r.project})}async findPackageLocator(e,r){let i=ife(),n=r.project.installersCustomData.get(i);if(!n)throw new me(`The project in ${ue.pretty(r.project.configuration,`${r.project.cwd}/package.json`,ue.Type.PATH)} doesn't seem to have been installed - running an install there might help`);let s=e.match(/(^.*\/node_modules\/(@[^/]*\/)?[^/]+)(\/.*$)/);if(s){let l=n.locatorByPath.get(s[1]);if(l)return l}let o=e,a=e;do{a=o,o=v.dirname(a);let l=n.locatorByPath.get(a);if(l)return l}while(o!==a);return null}makeInstaller(e){return new rfe(e)}},rfe=class{constructor(e){this.opts=e;this.asyncActions=new afe;this.packageLocations=new Map;this.customData={locatorByPath:new Map}}getCustomDataKey(){return ife()}attachCustomData(e){this.customData=e}async installPackage(e,r,i){switch(e.linkType){case gt.SOFT:return this.installPackageSoft(e,r,i);case gt.HARD:return this.installPackageHard(e,r,i)}throw new Error("Assertion failed: Unsupported package link type")}async installPackageSoft(e,r,i){let n=v.resolve(r.packageFs.getRealPath(),r.prefixPath);return this.packageLocations.set(e.locatorHash,n),{packageLocation:n,buildDirective:null}}async installPackageHard(e,r,i){var u;let n=nfe(e,{project:this.opts.project});this.customData.locatorByPath.set(n,S.stringifyLocator(e)),this.packageLocations.set(e.locatorHash,n),i.holdFetchResult(this.asyncActions.set(e.locatorHash,async()=>{await T.mkdirPromise(n,{recursive:!0}),await T.copyPromise(n,r.prefixPath,{baseFs:r.packageFs,overwrite:!1})}));let o=S.isVirtualLocator(e)?S.devirtualizeLocator(e):e,a={manifest:(u=await Ze.tryFind(r.prefixPath,{baseFs:r.packageFs}))!=null?u:new Ze,misc:{hasBindingGyp:Ws.hasBindingGyp(r)}},l=this.opts.project.getDependencyMeta(o,e.version),c=Ws.extractBuildScripts(e,a,l,{configuration:this.opts.project.configuration,report:this.opts.report});return{packageLocation:n,buildDirective:c}}async attachInternalDependencies(e,r){this.opts.project.configuration.get("nodeLinker")==="pnpm"&&(!ofe(e,{project:this.opts.project})||this.asyncActions.reduce(e.locatorHash,async i=>{await i;let n=this.packageLocations.get(e.locatorHash);if(typeof n=="undefined")throw new Error(`Assertion failed: Expected the package to have been registered (${S.stringifyLocator(e)})`);let s=v.join(n,wt.nodeModules);r.length>0&&await T.mkdirpPromise(s);let o=await Q_e(s),a=[];for(let[l,c]of r){let u=c;ofe(c,{project:this.opts.project})||(this.opts.report.reportWarning(z.UNNAMED,"The pnpm linker doesn't support providing different versions to workspaces' peer dependencies"),u=S.devirtualizeLocator(c));let g=this.packageLocations.get(u.locatorHash);if(typeof g=="undefined")throw new Error(`Assertion failed: Expected the package to have been registered (${S.stringifyLocator(c)})`);let f=S.stringifyIdent(l),h=v.join(s,f),p=v.relative(v.dirname(h),g),d=o.get(f);o.delete(f),a.push(Promise.resolve().then(async()=>{if(d){if(d.isSymbolicLink()&&await T.readlinkPromise(h)===p)return;await T.removePromise(h)}await T.mkdirpPromise(v.dirname(h)),process.platform=="win32"?await T.symlinkPromise(g,h,"junction"):await T.symlinkPromise(p,h)}))}for(let l of o.keys())a.push(T.removePromise(v.join(s,l)));await Promise.all(a)}))}async attachExternalDependents(e,r){throw new Error("External dependencies haven't been implemented for the pnpm linker")}async finalizeInstall(){let e=sfe(this.opts.project),r=new Set;for(let s of this.packageLocations.values())r.add(v.basename(s));let i;try{i=await T.readdirPromise(e)}catch{i=[]}let n=[];for(let s of i)r.has(s)||n.push(T.removePromise(v.join(e,s)));await Promise.all(n),await this.asyncActions.wait()}};function ife(){return JSON.stringify({name:"PnpmInstaller",version:1})}function sfe(t){return v.join(t.cwd,wt.nodeModules,".store")}function nfe(t,{project:e}){let r=S.slugifyLocator(t);return v.join(sfe(e),r)}function ofe(t,{project:e}){return!S.isVirtualLocator(t)||!e.tryWorkspaceByLocator(t)}async function Q_e(t){let e=new Map,r=[];try{r=await T.readdirPromise(t,{withFileTypes:!0})}catch(i){if(i.code!=="ENOENT")throw i}try{for(let i of r)if(!i.name.startsWith("."))if(i.name.startsWith("@"))for(let n of await T.readdirPromise(v.join(t,i.name),{withFileTypes:!0}))e.set(`${i.name}/${n.name}`,n);else e.set(i.name,i)}catch(i){if(i.code!=="ENOENT")throw i}return e}function b_e(){let t,e;return{promise:new Promise((i,n)=>{t=i,e=n}),resolve:t,reject:e}}var afe=class{constructor(){this.deferred=new Map;this.promises=new Map;this.limit=(0,tfe.default)(10)}set(e,r){let i=this.deferred.get(e);typeof i=="undefined"&&this.deferred.set(e,i=b_e());let n=this.limit(()=>r());return this.promises.set(e,n),n.then(()=>{this.promises.get(e)===n&&i.resolve()},s=>{this.promises.get(e)===n&&i.reject(s)}),i.promise}reduce(e,r){var n;let i=(n=this.promises.get(e))!=null?n:Promise.resolve();this.set(e,()=>r(i))}async wait(){await Promise.all(this.promises.values())}};var v_e={linkers:[LM]},S_e=v_e;var F0=()=>({modules:new Map([["@yarnpkg/cli",iC],["@yarnpkg/core",Fd],["@yarnpkg/fslib",ch],["@yarnpkg/libzip",Fp],["@yarnpkg/parsers",Hp],["@yarnpkg/shell",jp],["clipanion",F$(vh)],["semver",x_e],["typanion",lu],["yup",k_e],["@yarnpkg/plugin-essentials",hL],["@yarnpkg/plugin-compat",mL],["@yarnpkg/plugin-dlx",EL],["@yarnpkg/plugin-file",xL],["@yarnpkg/plugin-git",fL],["@yarnpkg/plugin-github",PL],["@yarnpkg/plugin-http",FL],["@yarnpkg/plugin-init",ML],["@yarnpkg/plugin-link",GL],["@yarnpkg/plugin-nm",mT],["@yarnpkg/plugin-npm",yM],["@yarnpkg/plugin-npm-cli",vM],["@yarnpkg/plugin-pack",CM],["@yarnpkg/plugin-patch",NM],["@yarnpkg/plugin-pnp",oT],["@yarnpkg/plugin-pnpm",TM]]),plugins:new Set(["@yarnpkg/plugin-essentials","@yarnpkg/plugin-compat","@yarnpkg/plugin-dlx","@yarnpkg/plugin-file","@yarnpkg/plugin-git","@yarnpkg/plugin-github","@yarnpkg/plugin-http","@yarnpkg/plugin-init","@yarnpkg/plugin-link","@yarnpkg/plugin-nm","@yarnpkg/plugin-npm","@yarnpkg/plugin-npm-cli","@yarnpkg/plugin-pack","@yarnpkg/plugin-patch","@yarnpkg/plugin-pnp","@yarnpkg/plugin-pnpm"])});i0({binaryVersion:Zr||"",pluginConfiguration:F0()});})(); +/*! + * buildToken + * Builds OAuth token prefix (helper function) + * + * @name buildToken + * @function + * @param {GitUrl} obj The parsed Git url object. + * @return {String} token prefix + */ +/*! + * fill-range + * + * Copyright (c) 2014-present, Jon Schlinkert. + * Licensed under the MIT License. + */ +/*! + * is-extglob + * + * Copyright (c) 2014-2016, Jon Schlinkert. + * Licensed under the MIT License. + */ +/*! + * is-glob + * + * Copyright (c) 2014-2017, Jon Schlinkert. + * Released under the MIT License. + */ +/*! + * is-number + * + * Copyright (c) 2014-present, Jon Schlinkert. + * Released under the MIT License. + */ +/*! + * is-windows + * + * Copyright © 2015-2018, Jon Schlinkert. + * Released under the MIT License. + */ +/*! + * to-regex-range + * + * Copyright (c) 2015-present, Jon Schlinkert. + * Released under the MIT License. + */ diff --git a/spec/fixtures/repos/yarn2-modules-zero-install/.yarnrc.yml b/spec/fixtures/repos/yarn2-modules-zero-install/.yarnrc.yml new file mode 100644 index 000000000..3c8f7baf6 --- /dev/null +++ b/spec/fixtures/repos/yarn2-modules-zero-install/.yarnrc.yml @@ -0,0 +1,2 @@ +yarnPath: .yarn/releases/yarn-3.1.1.cjs +nodeLinker: node-modules diff --git a/spec/fixtures/repos/yarn2-modules-zero-install/index.js b/spec/fixtures/repos/yarn2-modules-zero-install/index.js new file mode 100644 index 000000000..a61ffa4e2 --- /dev/null +++ b/spec/fixtures/repos/yarn2-modules-zero-install/index.js @@ -0,0 +1,11 @@ +const express = require("express"); +const app = express(); +const port = process.env["PORT"] || 3000; + +app.get("/", (_req,res) => { + res.send("Hello from yarn2-modules-zero-install"); +}); + +app.listen(port, () => { + console.log(`yarn2-modules-zero-install listening on ${port}`); +}); diff --git a/spec/fixtures/repos/yarn2-modules-zero-install/package.json b/spec/fixtures/repos/yarn2-modules-zero-install/package.json new file mode 100644 index 000000000..39704305d --- /dev/null +++ b/spec/fixtures/repos/yarn2-modules-zero-install/package.json @@ -0,0 +1,13 @@ +{ + "name": "yarn2-modules-zero-install", + "version": "1.0.0", + "main": "index.js", + "license": "MIT", + "scripts": { + "start": "yarn node index.js" + }, + "dependencies": { + "express": "^4.17.2" + }, + "packageManager": "yarn@3.1.1" +} diff --git a/spec/fixtures/repos/yarn2-modules-zero-install/yarn.lock b/spec/fixtures/repos/yarn2-modules-zero-install/yarn.lock new file mode 100644 index 000000000..7a38143d2 --- /dev/null +++ b/spec/fixtures/repos/yarn2-modules-zero-install/yarn.lock @@ -0,0 +1,465 @@ +# This file is generated by running "yarn install" inside your project. +# Manual changes might be lost - proceed with caution! + +__metadata: + version: 5 + cacheKey: 8 + +"accepts@npm:~1.3.7": + version: 1.3.8 + resolution: "accepts@npm:1.3.8" + dependencies: + mime-types: ~2.1.34 + negotiator: 0.6.3 + checksum: 50c43d32e7b50285ebe84b613ee4a3aa426715a7d131b65b786e2ead0fd76b6b60091b9916d3478a75f11f162628a2139991b6c03ab3f1d9ab7c86075dc8eab4 + languageName: node + linkType: hard + +"array-flatten@npm:1.1.1": + version: 1.1.1 + resolution: "array-flatten@npm:1.1.1" + checksum: a9925bf3512d9dce202112965de90c222cd59a4fbfce68a0951d25d965cf44642931f40aac72309c41f12df19afa010ecadceb07cfff9ccc1621e99d89ab5f3b + languageName: node + linkType: hard + +"body-parser@npm:1.19.1": + version: 1.19.1 + resolution: "body-parser@npm:1.19.1" + dependencies: + bytes: 3.1.1 + content-type: ~1.0.4 + debug: 2.6.9 + depd: ~1.1.2 + http-errors: 1.8.1 + iconv-lite: 0.4.24 + on-finished: ~2.3.0 + qs: 6.9.6 + raw-body: 2.4.2 + type-is: ~1.6.18 + checksum: 9197a300a6580b8723c7b6b1e22cebd5ba47cd4a6fd45c153350efcde79293869ddee8d17d95fb52724812d649d89d62775faab072608d3243a0cbb00582234e + languageName: node + linkType: hard + +"bytes@npm:3.1.1": + version: 3.1.1 + resolution: "bytes@npm:3.1.1" + checksum: 949ab99a385d6acf4d2c69f1afc618615dc905936e0b0b9aa94a9e94d722baaba44d6a0851536585a0892ae4d462b5a270ccb1b04c774640742cbde5538ca328 + languageName: node + linkType: hard + +"content-disposition@npm:0.5.4": + version: 0.5.4 + resolution: "content-disposition@npm:0.5.4" + dependencies: + safe-buffer: 5.2.1 + checksum: afb9d545e296a5171d7574fcad634b2fdf698875f4006a9dd04a3e1333880c5c0c98d47b560d01216fb6505a54a2ba6a843ee3a02ec86d7e911e8315255f56c3 + languageName: node + linkType: hard + +"content-type@npm:~1.0.4": + version: 1.0.4 + resolution: "content-type@npm:1.0.4" + checksum: 3d93585fda985d1554eca5ebd251994327608d2e200978fdbfba21c0c679914d5faf266d17027de44b34a72c7b0745b18584ecccaa7e1fdfb6a68ac7114f12e0 + languageName: node + linkType: hard + +"cookie-signature@npm:1.0.6": + version: 1.0.6 + resolution: "cookie-signature@npm:1.0.6" + checksum: f4e1b0a98a27a0e6e66fd7ea4e4e9d8e038f624058371bf4499cfcd8f3980be9a121486995202ba3fca74fbed93a407d6d54d43a43f96fd28d0bd7a06761591a + languageName: node + linkType: hard + +"cookie@npm:0.4.1": + version: 0.4.1 + resolution: "cookie@npm:0.4.1" + checksum: bd7c47f5d94ab70ccdfe8210cde7d725880d2fcda06d8e375afbdd82de0c8d3b73541996e9ce57d35f67f672c4ee6d60208adec06b3c5fc94cebb85196084cf8 + languageName: node + linkType: hard + +"debug@npm:2.6.9": + version: 2.6.9 + resolution: "debug@npm:2.6.9" + dependencies: + ms: 2.0.0 + checksum: d2f51589ca66df60bf36e1fa6e4386b318c3f1e06772280eea5b1ae9fd3d05e9c2b7fd8a7d862457d00853c75b00451aa2d7459b924629ee385287a650f58fe6 + languageName: node + linkType: hard + +"depd@npm:~1.1.2": + version: 1.1.2 + resolution: "depd@npm:1.1.2" + checksum: 6b406620d269619852885ce15965272b829df6f409724415e0002c8632ab6a8c0a08ec1f0bd2add05dc7bd7507606f7e2cc034fa24224ab829580040b835ecd9 + languageName: node + linkType: hard + +"destroy@npm:~1.0.4": + version: 1.0.4 + resolution: "destroy@npm:1.0.4" + checksum: da9ab4961dc61677c709da0c25ef01733042614453924d65636a7db37308fef8a24cd1e07172e61173d471ca175371295fbc984b0af5b2b4ff47cd57bd784c03 + languageName: node + linkType: hard + +"ee-first@npm:1.1.1": + version: 1.1.1 + resolution: "ee-first@npm:1.1.1" + checksum: 1b4cac778d64ce3b582a7e26b218afe07e207a0f9bfe13cc7395a6d307849cfe361e65033c3251e00c27dd060cab43014c2d6b2647676135e18b77d2d05b3f4f + languageName: node + linkType: hard + +"encodeurl@npm:~1.0.2": + version: 1.0.2 + resolution: "encodeurl@npm:1.0.2" + checksum: e50e3d508cdd9c4565ba72d2012e65038e5d71bdc9198cb125beb6237b5b1ade6c0d343998da9e170fb2eae52c1bed37d4d6d98a46ea423a0cddbed5ac3f780c + languageName: node + linkType: hard + +"escape-html@npm:~1.0.3": + version: 1.0.3 + resolution: "escape-html@npm:1.0.3" + checksum: 6213ca9ae00d0ab8bccb6d8d4e0a98e76237b2410302cf7df70aaa6591d509a2a37ce8998008cbecae8fc8ffaadf3fb0229535e6a145f3ce0b211d060decbb24 + languageName: node + linkType: hard + +"etag@npm:~1.8.1": + version: 1.8.1 + resolution: "etag@npm:1.8.1" + checksum: 571aeb3dbe0f2bbd4e4fadbdb44f325fc75335cd5f6f6b6a091e6a06a9f25ed5392f0863c5442acb0646787446e816f13cbfc6edce5b07658541dff573cab1ff + languageName: node + linkType: hard + +"express@npm:^4.17.2": + version: 4.17.2 + resolution: "express@npm:4.17.2" + dependencies: + accepts: ~1.3.7 + array-flatten: 1.1.1 + body-parser: 1.19.1 + content-disposition: 0.5.4 + content-type: ~1.0.4 + cookie: 0.4.1 + cookie-signature: 1.0.6 + debug: 2.6.9 + depd: ~1.1.2 + encodeurl: ~1.0.2 + escape-html: ~1.0.3 + etag: ~1.8.1 + finalhandler: ~1.1.2 + fresh: 0.5.2 + merge-descriptors: 1.0.1 + methods: ~1.1.2 + on-finished: ~2.3.0 + parseurl: ~1.3.3 + path-to-regexp: 0.1.7 + proxy-addr: ~2.0.7 + qs: 6.9.6 + range-parser: ~1.2.1 + safe-buffer: 5.2.1 + send: 0.17.2 + serve-static: 1.14.2 + setprototypeof: 1.2.0 + statuses: ~1.5.0 + type-is: ~1.6.18 + utils-merge: 1.0.1 + vary: ~1.1.2 + checksum: 1535d56d20e65a1a39b5f056c025dd635290a744478ac69cc47633aeb4b2ce51458f8eb4080cfb7ba47c853ba5cfd794d404cff822a25127f1556b726ec3914a + languageName: node + linkType: hard + +"finalhandler@npm:~1.1.2": + version: 1.1.2 + resolution: "finalhandler@npm:1.1.2" + dependencies: + debug: 2.6.9 + encodeurl: ~1.0.2 + escape-html: ~1.0.3 + on-finished: ~2.3.0 + parseurl: ~1.3.3 + statuses: ~1.5.0 + unpipe: ~1.0.0 + checksum: 617880460c5138dd7ccfd555cb5dde4d8f170f4b31b8bd51e4b646bb2946c30f7db716428a1f2882d730d2b72afb47d1f67cc487b874cb15426f95753a88965e + languageName: node + linkType: hard + +"forwarded@npm:0.2.0": + version: 0.2.0 + resolution: "forwarded@npm:0.2.0" + checksum: fd27e2394d8887ebd16a66ffc889dc983fbbd797d5d3f01087c020283c0f019a7d05ee85669383d8e0d216b116d720fc0cef2f6e9b7eb9f4c90c6e0bc7fd28e6 + languageName: node + linkType: hard + +"fresh@npm:0.5.2": + version: 0.5.2 + resolution: "fresh@npm:0.5.2" + checksum: 13ea8b08f91e669a64e3ba3a20eb79d7ca5379a81f1ff7f4310d54e2320645503cc0c78daedc93dfb6191287295f6479544a649c64d8e41a1c0fb0c221552346 + languageName: node + linkType: hard + +"http-errors@npm:1.8.1": + version: 1.8.1 + resolution: "http-errors@npm:1.8.1" + dependencies: + depd: ~1.1.2 + inherits: 2.0.4 + setprototypeof: 1.2.0 + statuses: ">= 1.5.0 < 2" + toidentifier: 1.0.1 + checksum: d3c7e7e776fd51c0a812baff570bdf06fe49a5dc448b700ab6171b1250e4cf7db8b8f4c0b133e4bfe2451022a5790c1ca6c2cae4094dedd6ac8304a1267f91d2 + languageName: node + linkType: hard + +"iconv-lite@npm:0.4.24": + version: 0.4.24 + resolution: "iconv-lite@npm:0.4.24" + dependencies: + safer-buffer: ">= 2.1.2 < 3" + checksum: bd9f120f5a5b306f0bc0b9ae1edeb1577161503f5f8252a20f1a9e56ef8775c9959fd01c55f2d3a39d9a8abaf3e30c1abeb1895f367dcbbe0a8fd1c9ca01c4f6 + languageName: node + linkType: hard + +"inherits@npm:2.0.4": + version: 2.0.4 + resolution: "inherits@npm:2.0.4" + checksum: 4a48a733847879d6cf6691860a6b1e3f0f4754176e4d71494c41f3475553768b10f84b5ce1d40fbd0e34e6bfbb864ee35858ad4dd2cf31e02fc4a154b724d7f1 + languageName: node + linkType: hard + +"ipaddr.js@npm:1.9.1": + version: 1.9.1 + resolution: "ipaddr.js@npm:1.9.1" + checksum: f88d3825981486f5a1942414c8d77dd6674dd71c065adcfa46f578d677edcb99fda25af42675cb59db492fdf427b34a5abfcde3982da11a8fd83a500b41cfe77 + languageName: node + linkType: hard + +"media-typer@npm:0.3.0": + version: 0.3.0 + resolution: "media-typer@npm:0.3.0" + checksum: af1b38516c28ec95d6b0826f6c8f276c58aec391f76be42aa07646b4e39d317723e869700933ca6995b056db4b09a78c92d5440dc23657e6764be5d28874bba1 + languageName: node + linkType: hard + +"merge-descriptors@npm:1.0.1": + version: 1.0.1 + resolution: "merge-descriptors@npm:1.0.1" + checksum: 5abc259d2ae25bb06d19ce2b94a21632583c74e2a9109ee1ba7fd147aa7362b380d971e0251069f8b3eb7d48c21ac839e21fa177b335e82c76ec172e30c31a26 + languageName: node + linkType: hard + +"methods@npm:~1.1.2": + version: 1.1.2 + resolution: "methods@npm:1.1.2" + checksum: 0917ff4041fa8e2f2fda5425a955fe16ca411591fbd123c0d722fcf02b73971ed6f764d85f0a6f547ce49ee0221ce2c19a5fa692157931cecb422984f1dcd13a + languageName: node + linkType: hard + +"mime-db@npm:1.51.0": + version: 1.51.0 + resolution: "mime-db@npm:1.51.0" + checksum: 613b1ac9d6e725cc24444600b124a7f1ce6c60b1baa654f39a3e260d0995a6dffc5693190217e271af7e2a5612dae19f2a73f3e316707d797a7391165f7ef423 + languageName: node + linkType: hard + +"mime-types@npm:~2.1.24, mime-types@npm:~2.1.34": + version: 2.1.34 + resolution: "mime-types@npm:2.1.34" + dependencies: + mime-db: 1.51.0 + checksum: 67013de9e9d6799bde6d669d18785b7e18bcd212e710d3e04a4727f92f67a8ad4e74aee24be28b685adb794944814bde649119b58ee3282ffdbee58f9278d9f3 + languageName: node + linkType: hard + +"mime@npm:1.6.0": + version: 1.6.0 + resolution: "mime@npm:1.6.0" + bin: + mime: cli.js + checksum: fef25e39263e6d207580bdc629f8872a3f9772c923c7f8c7e793175cee22777bbe8bba95e5d509a40aaa292d8974514ce634ae35769faa45f22d17edda5e8557 + languageName: node + linkType: hard + +"ms@npm:2.0.0": + version: 2.0.0 + resolution: "ms@npm:2.0.0" + checksum: 0e6a22b8b746d2e0b65a430519934fefd41b6db0682e3477c10f60c76e947c4c0ad06f63ffdf1d78d335f83edee8c0aa928aa66a36c7cd95b69b26f468d527f4 + languageName: node + linkType: hard + +"ms@npm:2.1.3": + version: 2.1.3 + resolution: "ms@npm:2.1.3" + checksum: aa92de608021b242401676e35cfa5aa42dd70cbdc082b916da7fb925c542173e36bce97ea3e804923fe92c0ad991434e4a38327e15a1b5b5f945d66df615ae6d + languageName: node + linkType: hard + +"negotiator@npm:0.6.3": + version: 0.6.3 + resolution: "negotiator@npm:0.6.3" + checksum: b8ffeb1e262eff7968fc90a2b6767b04cfd9842582a9d0ece0af7049537266e7b2506dfb1d107a32f06dd849ab2aea834d5830f7f4d0e5cb7d36e1ae55d021d9 + languageName: node + linkType: hard + +"on-finished@npm:~2.3.0": + version: 2.3.0 + resolution: "on-finished@npm:2.3.0" + dependencies: + ee-first: 1.1.1 + checksum: 1db595bd963b0124d6fa261d18320422407b8f01dc65863840f3ddaaf7bcad5b28ff6847286703ca53f4ec19595bd67a2f1253db79fc4094911ec6aa8df1671b + languageName: node + linkType: hard + +"parseurl@npm:~1.3.3": + version: 1.3.3 + resolution: "parseurl@npm:1.3.3" + checksum: 407cee8e0a3a4c5cd472559bca8b6a45b82c124e9a4703302326e9ab60fc1081442ada4e02628efef1eb16197ddc7f8822f5a91fd7d7c86b51f530aedb17dfa2 + languageName: node + linkType: hard + +"path-to-regexp@npm:0.1.7": + version: 0.1.7 + resolution: "path-to-regexp@npm:0.1.7" + checksum: 69a14ea24db543e8b0f4353305c5eac6907917031340e5a8b37df688e52accd09e3cebfe1660b70d76b6bd89152f52183f28c74813dbf454ba1a01c82a38abce + languageName: node + linkType: hard + +"proxy-addr@npm:~2.0.7": + version: 2.0.7 + resolution: "proxy-addr@npm:2.0.7" + dependencies: + forwarded: 0.2.0 + ipaddr.js: 1.9.1 + checksum: 29c6990ce9364648255454842f06f8c46fcd124d3e6d7c5066df44662de63cdc0bad032e9bf5a3d653ff72141cc7b6019873d685708ac8210c30458ad99f2b74 + languageName: node + linkType: hard + +"qs@npm:6.9.6": + version: 6.9.6 + resolution: "qs@npm:6.9.6" + checksum: cb6df402bb8a3dbefa4bd46eba0dfca427079baca923e6b8d28a03e6bfb16a5c1dcdb96e69388f9c5813ac8ff17bb8bbca22f2ecd31fe1e344a55cb531b5fabf + languageName: node + linkType: hard + +"range-parser@npm:~1.2.1": + version: 1.2.1 + resolution: "range-parser@npm:1.2.1" + checksum: 0a268d4fea508661cf5743dfe3d5f47ce214fd6b7dec1de0da4d669dd4ef3d2144468ebe4179049eff253d9d27e719c88dae55be64f954e80135a0cada804ec9 + languageName: node + linkType: hard + +"raw-body@npm:2.4.2": + version: 2.4.2 + resolution: "raw-body@npm:2.4.2" + dependencies: + bytes: 3.1.1 + http-errors: 1.8.1 + iconv-lite: 0.4.24 + unpipe: 1.0.0 + checksum: c6f8d6a75c65c0a047f888cb29efc97f60fb36e950ba2cb31fefce694f98186e844a03367920faa7dc5bffaf33df08aee0b9dd935280e366439fa6492a5b163e + languageName: node + linkType: hard + +"safe-buffer@npm:5.2.1": + version: 5.2.1 + resolution: "safe-buffer@npm:5.2.1" + checksum: b99c4b41fdd67a6aaf280fcd05e9ffb0813654894223afb78a31f14a19ad220bba8aba1cb14eddce1fcfb037155fe6de4e861784eb434f7d11ed58d1e70dd491 + languageName: node + linkType: hard + +"safer-buffer@npm:>= 2.1.2 < 3": + version: 2.1.2 + resolution: "safer-buffer@npm:2.1.2" + checksum: cab8f25ae6f1434abee8d80023d7e72b598cf1327164ddab31003c51215526801e40b66c5e65d658a0af1e9d6478cadcb4c745f4bd6751f97d8644786c0978b0 + languageName: node + linkType: hard + +"send@npm:0.17.2": + version: 0.17.2 + resolution: "send@npm:0.17.2" + dependencies: + debug: 2.6.9 + depd: ~1.1.2 + destroy: ~1.0.4 + encodeurl: ~1.0.2 + escape-html: ~1.0.3 + etag: ~1.8.1 + fresh: 0.5.2 + http-errors: 1.8.1 + mime: 1.6.0 + ms: 2.1.3 + on-finished: ~2.3.0 + range-parser: ~1.2.1 + statuses: ~1.5.0 + checksum: c28f36deb4ccba9b8d6e6a1e472b8e7c40a1f51575bdf8f67303568cc9e71131faa3adc36fdb72611616ccad1584358bbe4c3ebf419e663ecc5de868ad3d3f03 + languageName: node + linkType: hard + +"serve-static@npm:1.14.2": + version: 1.14.2 + resolution: "serve-static@npm:1.14.2" + dependencies: + encodeurl: ~1.0.2 + escape-html: ~1.0.3 + parseurl: ~1.3.3 + send: 0.17.2 + checksum: d97f3183b1dfcd8ce9c0e37e18e87fd31147ed6c8ee0b2c3a089d795e44ee851ca5061db01574f806d54f4e4b70bc694d9ca64578653514e04a28cbc97a1de05 + languageName: node + linkType: hard + +"setprototypeof@npm:1.2.0": + version: 1.2.0 + resolution: "setprototypeof@npm:1.2.0" + checksum: be18cbbf70e7d8097c97f713a2e76edf84e87299b40d085c6bf8b65314e994cc15e2e317727342fa6996e38e1f52c59720b53fe621e2eb593a6847bf0356db89 + languageName: node + linkType: hard + +"statuses@npm:>= 1.5.0 < 2, statuses@npm:~1.5.0": + version: 1.5.0 + resolution: "statuses@npm:1.5.0" + checksum: c469b9519de16a4bb19600205cffb39ee471a5f17b82589757ca7bd40a8d92ebb6ed9f98b5a540c5d302ccbc78f15dc03cc0280dd6e00df1335568a5d5758a5c + languageName: node + linkType: hard + +"toidentifier@npm:1.0.1": + version: 1.0.1 + resolution: "toidentifier@npm:1.0.1" + checksum: 952c29e2a85d7123239b5cfdd889a0dde47ab0497f0913d70588f19c53f7e0b5327c95f4651e413c74b785147f9637b17410ac8c846d5d4a20a5a33eb6dc3a45 + languageName: node + linkType: hard + +"type-is@npm:~1.6.18": + version: 1.6.18 + resolution: "type-is@npm:1.6.18" + dependencies: + media-typer: 0.3.0 + mime-types: ~2.1.24 + checksum: 2c8e47675d55f8b4e404bcf529abdf5036c537a04c2b20177bcf78c9e3c1da69da3942b1346e6edb09e823228c0ee656ef0e033765ec39a70d496ef601a0c657 + languageName: node + linkType: hard + +"unpipe@npm:1.0.0, unpipe@npm:~1.0.0": + version: 1.0.0 + resolution: "unpipe@npm:1.0.0" + checksum: 4fa18d8d8d977c55cb09715385c203197105e10a6d220087ec819f50cb68870f02942244f1017565484237f1f8c5d3cd413631b1ae104d3096f24fdfde1b4aa2 + languageName: node + linkType: hard + +"utils-merge@npm:1.0.1": + version: 1.0.1 + resolution: "utils-merge@npm:1.0.1" + checksum: c81095493225ecfc28add49c106ca4f09cdf56bc66731aa8dabc2edbbccb1e1bfe2de6a115e5c6a380d3ea166d1636410b62ef216bb07b3feb1cfde1d95d5080 + languageName: node + linkType: hard + +"vary@npm:~1.1.2": + version: 1.1.2 + resolution: "vary@npm:1.1.2" + checksum: ae0123222c6df65b437669d63dfa8c36cee20a504101b2fcd97b8bf76f91259c17f9f2b4d70a1e3c6bbcee7f51b28392833adb6b2770b23b01abec84e369660b + languageName: node + linkType: hard + +"yarn2-modules-zero-install@workspace:.": + version: 0.0.0-use.local + resolution: "yarn2-modules-zero-install@workspace:." + dependencies: + express: ^4.17.2 + languageName: unknown + linkType: soft diff --git a/spec/fixtures/repos/yarn2-pnp-nonzero-install/.gitignore b/spec/fixtures/repos/yarn2-pnp-nonzero-install/.gitignore new file mode 100644 index 000000000..836120c1e --- /dev/null +++ b/spec/fixtures/repos/yarn2-pnp-nonzero-install/.gitignore @@ -0,0 +1,7 @@ +.pnp.* +.yarn/* +!.yarn/patches +!.yarn/plugins +!.yarn/releases +!.yarn/sdks +!.yarn/versions diff --git a/spec/fixtures/repos/yarn2-pnp-nonzero-install/.yarn/releases/yarn-3.1.1.cjs b/spec/fixtures/repos/yarn2-pnp-nonzero-install/.yarn/releases/yarn-3.1.1.cjs new file mode 100755 index 000000000..f5f2adca8 --- /dev/null +++ b/spec/fixtures/repos/yarn2-pnp-nonzero-install/.yarn/releases/yarn-3.1.1.cjs @@ -0,0 +1,768 @@ +#!/usr/bin/env node +/* eslint-disable */ +//prettier-ignore +(()=>{var Mfe=Object.create,Vf=Object.defineProperty,Ofe=Object.defineProperties,Kfe=Object.getOwnPropertyDescriptor,Ufe=Object.getOwnPropertyDescriptors,Hfe=Object.getOwnPropertyNames,hE=Object.getOwnPropertySymbols,Gfe=Object.getPrototypeOf,eb=Object.prototype.hasOwnProperty,lO=Object.prototype.propertyIsEnumerable;var cO=(t,e,r)=>e in t?Vf(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,P=(t,e)=>{for(var r in e||(e={}))eb.call(e,r)&&cO(t,r,e[r]);if(hE)for(var r of hE(e))lO.call(e,r)&&cO(t,r,e[r]);return t},_=(t,e)=>Ofe(t,Ufe(e)),jfe=t=>Vf(t,"__esModule",{value:!0});var qr=(t,e)=>{var r={};for(var i in t)eb.call(t,i)&&e.indexOf(i)<0&&(r[i]=t[i]);if(t!=null&&hE)for(var i of hE(t))e.indexOf(i)<0&&lO.call(t,i)&&(r[i]=t[i]);return r},Yfe=(t,e)=>()=>(t&&(e=t(t=0)),e),E=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),it=(t,e)=>{for(var r in e)Vf(t,r,{get:e[r],enumerable:!0})},qfe=(t,e,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of Hfe(e))!eb.call(t,i)&&i!=="default"&&Vf(t,i,{get:()=>e[i],enumerable:!(r=Kfe(e,i))||r.enumerable});return t},ie=t=>qfe(jfe(Vf(t!=null?Mfe(Gfe(t)):{},"default",t&&t.__esModule&&"default"in t?{get:()=>t.default,enumerable:!0}:{value:t,enumerable:!0})),t);var MO=E((i$e,FO)=>{FO.exports=NO;NO.sync=Ahe;var LO=require("fs");function lhe(t,e){var r=e.pathExt!==void 0?e.pathExt:process.env.PATHEXT;if(!r||(r=r.split(";"),r.indexOf("")!==-1))return!0;for(var i=0;i{OO.exports=KO;KO.sync=che;var UO=require("fs");function KO(t,e,r){UO.stat(t,function(i,n){r(i,i?!1:HO(n,e))})}function che(t,e){return HO(UO.statSync(t),e)}function HO(t,e){return t.isFile()&&uhe(t,e)}function uhe(t,e){var r=t.mode,i=t.uid,n=t.gid,s=e.uid!==void 0?e.uid:process.getuid&&process.getuid(),o=e.gid!==void 0?e.gid:process.getgid&&process.getgid(),a=parseInt("100",8),l=parseInt("010",8),c=parseInt("001",8),u=a|l,g=r&c||r&l&&n===o||r&a&&i===s||r&u&&s===0;return g}});var YO=E((o$e,jO)=>{var s$e=require("fs"),xE;process.platform==="win32"||global.TESTING_WINDOWS?xE=MO():xE=GO();jO.exports=db;db.sync=ghe;function db(t,e,r){if(typeof e=="function"&&(r=e,e={}),!r){if(typeof Promise!="function")throw new TypeError("callback not provided");return new Promise(function(i,n){db(t,e||{},function(s,o){s?n(s):i(o)})})}xE(t,e||{},function(i,n){i&&(i.code==="EACCES"||e&&e.ignoreErrors)&&(i=null,n=!1),r(i,n)})}function ghe(t,e){try{return xE.sync(t,e||{})}catch(r){if(e&&e.ignoreErrors||r.code==="EACCES")return!1;throw r}}});var XO=E((a$e,qO)=>{var eu=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys",JO=require("path"),fhe=eu?";":":",WO=YO(),zO=t=>Object.assign(new Error(`not found: ${t}`),{code:"ENOENT"}),VO=(t,e)=>{let r=e.colon||fhe,i=t.match(/\//)||eu&&t.match(/\\/)?[""]:[...eu?[process.cwd()]:[],...(e.path||process.env.PATH||"").split(r)],n=eu?e.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",s=eu?n.split(r):[""];return eu&&t.indexOf(".")!==-1&&s[0]!==""&&s.unshift(""),{pathEnv:i,pathExt:s,pathExtExe:n}},_O=(t,e,r)=>{typeof e=="function"&&(r=e,e={}),e||(e={});let{pathEnv:i,pathExt:n,pathExtExe:s}=VO(t,e),o=[],a=c=>new Promise((u,g)=>{if(c===i.length)return e.all&&o.length?u(o):g(zO(t));let f=i[c],h=/^".*"$/.test(f)?f.slice(1,-1):f,p=JO.join(h,t),d=!h&&/^\.[\\\/]/.test(t)?t.slice(0,2)+p:p;u(l(d,c,0))}),l=(c,u,g)=>new Promise((f,h)=>{if(g===n.length)return f(a(u+1));let p=n[g];WO(c+p,{pathExt:s},(d,m)=>{if(!d&&m)if(e.all)o.push(c+p);else return f(c+p);return f(l(c,u,g+1))})});return r?a(0).then(c=>r(null,c),r):a(0)},hhe=(t,e)=>{e=e||{};let{pathEnv:r,pathExt:i,pathExtExe:n}=VO(t,e),s=[];for(let o=0;o{"use strict";var ZO=(t={})=>{let e=t.env||process.env;return(t.platform||process.platform)!=="win32"?"PATH":Object.keys(e).reverse().find(i=>i.toUpperCase()==="PATH")||"Path"};Cb.exports=ZO;Cb.exports.default=ZO});var iK=E((l$e,eK)=>{"use strict";var tK=require("path"),phe=XO(),dhe=$O();function rK(t,e){let r=t.options.env||process.env,i=process.cwd(),n=t.options.cwd!=null,s=n&&process.chdir!==void 0&&!process.chdir.disabled;if(s)try{process.chdir(t.options.cwd)}catch(a){}let o;try{o=phe.sync(t.command,{path:r[dhe({env:r})],pathExt:e?tK.delimiter:void 0})}catch(a){}finally{s&&process.chdir(i)}return o&&(o=tK.resolve(n?t.options.cwd:"",o)),o}function Che(t){return rK(t)||rK(t,!0)}eK.exports=Che});var nK=E((c$e,mb)=>{"use strict";var Eb=/([()\][%!^"`<>&|;, *?])/g;function mhe(t){return t=t.replace(Eb,"^$1"),t}function Ehe(t,e){return t=`${t}`,t=t.replace(/(\\*)"/g,'$1$1\\"'),t=t.replace(/(\\*)$/,"$1$1"),t=`"${t}"`,t=t.replace(Eb,"^$1"),e&&(t=t.replace(Eb,"^$1")),t}mb.exports.command=mhe;mb.exports.argument=Ehe});var oK=E((u$e,sK)=>{"use strict";sK.exports=/^#!(.*)/});var AK=E((g$e,aK)=>{"use strict";var Ihe=oK();aK.exports=(t="")=>{let e=t.match(Ihe);if(!e)return null;let[r,i]=e[0].replace(/#! ?/,"").split(" "),n=r.split("/").pop();return n==="env"?i:i?`${n} ${i}`:n}});var cK=E((f$e,lK)=>{"use strict";var Ib=require("fs"),yhe=AK();function whe(t){let e=150,r=Buffer.alloc(e),i;try{i=Ib.openSync(t,"r"),Ib.readSync(i,r,0,e,0),Ib.closeSync(i)}catch(n){}return yhe(r.toString())}lK.exports=whe});var hK=E((h$e,uK)=>{"use strict";var Bhe=require("path"),gK=iK(),fK=nK(),Qhe=cK(),bhe=process.platform==="win32",vhe=/\.(?:com|exe)$/i,She=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function xhe(t){t.file=gK(t);let e=t.file&&Qhe(t.file);return e?(t.args.unshift(t.file),t.command=e,gK(t)):t.file}function khe(t){if(!bhe)return t;let e=xhe(t),r=!vhe.test(e);if(t.options.forceShell||r){let i=She.test(e);t.command=Bhe.normalize(t.command),t.command=fK.command(t.command),t.args=t.args.map(s=>fK.argument(s,i));let n=[t.command].concat(t.args).join(" ");t.args=["/d","/s","/c",`"${n}"`],t.command=process.env.comspec||"cmd.exe",t.options.windowsVerbatimArguments=!0}return t}function Phe(t,e,r){e&&!Array.isArray(e)&&(r=e,e=null),e=e?e.slice(0):[],r=Object.assign({},r);let i={command:t,args:e,options:r,file:void 0,original:{command:t,args:e}};return r.shell?i:khe(i)}uK.exports=Phe});var CK=E((p$e,pK)=>{"use strict";var yb=process.platform==="win32";function wb(t,e){return Object.assign(new Error(`${e} ${t.command} ENOENT`),{code:"ENOENT",errno:"ENOENT",syscall:`${e} ${t.command}`,path:t.command,spawnargs:t.args})}function Dhe(t,e){if(!yb)return;let r=t.emit;t.emit=function(i,n){if(i==="exit"){let s=dK(n,e,"spawn");if(s)return r.call(t,"error",s)}return r.apply(t,arguments)}}function dK(t,e){return yb&&t===1&&!e.file?wb(e.original,"spawn"):null}function Rhe(t,e){return yb&&t===1&&!e.file?wb(e.original,"spawnSync"):null}pK.exports={hookChildProcess:Dhe,verifyENOENT:dK,verifyENOENTSync:Rhe,notFoundError:wb}});var bb=E((d$e,tu)=>{"use strict";var mK=require("child_process"),Bb=hK(),Qb=CK();function EK(t,e,r){let i=Bb(t,e,r),n=mK.spawn(i.command,i.args,i.options);return Qb.hookChildProcess(n,i),n}function Fhe(t,e,r){let i=Bb(t,e,r),n=mK.spawnSync(i.command,i.args,i.options);return n.error=n.error||Qb.verifyENOENTSync(n.status,i),n}tu.exports=EK;tu.exports.spawn=EK;tu.exports.sync=Fhe;tu.exports._parse=Bb;tu.exports._enoent=Qb});var yK=E((y$e,IK)=>{"use strict";IK.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}});var Nb=E((w$e,wK)=>{var gh=yK(),BK={};for(let t of Object.keys(gh))BK[gh[t]]=t;var Xe={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};wK.exports=Xe;for(let t of Object.keys(Xe)){if(!("channels"in Xe[t]))throw new Error("missing channels property: "+t);if(!("labels"in Xe[t]))throw new Error("missing channel labels property: "+t);if(Xe[t].labels.length!==Xe[t].channels)throw new Error("channel and label counts mismatch: "+t);let{channels:e,labels:r}=Xe[t];delete Xe[t].channels,delete Xe[t].labels,Object.defineProperty(Xe[t],"channels",{value:e}),Object.defineProperty(Xe[t],"labels",{value:r})}Xe.rgb.hsl=function(t){let e=t[0]/255,r=t[1]/255,i=t[2]/255,n=Math.min(e,r,i),s=Math.max(e,r,i),o=s-n,a,l;s===n?a=0:e===s?a=(r-i)/o:r===s?a=2+(i-e)/o:i===s&&(a=4+(e-r)/o),a=Math.min(a*60,360),a<0&&(a+=360);let c=(n+s)/2;return s===n?l=0:c<=.5?l=o/(s+n):l=o/(2-s-n),[a,l*100,c*100]};Xe.rgb.hsv=function(t){let e,r,i,n,s,o=t[0]/255,a=t[1]/255,l=t[2]/255,c=Math.max(o,a,l),u=c-Math.min(o,a,l),g=function(f){return(c-f)/6/u+1/2};return u===0?(n=0,s=0):(s=u/c,e=g(o),r=g(a),i=g(l),o===c?n=i-r:a===c?n=1/3+e-i:l===c&&(n=2/3+r-e),n<0?n+=1:n>1&&(n-=1)),[n*360,s*100,c*100]};Xe.rgb.hwb=function(t){let e=t[0],r=t[1],i=t[2],n=Xe.rgb.hsl(t)[0],s=1/255*Math.min(e,Math.min(r,i));return i=1-1/255*Math.max(e,Math.max(r,i)),[n,s*100,i*100]};Xe.rgb.cmyk=function(t){let e=t[0]/255,r=t[1]/255,i=t[2]/255,n=Math.min(1-e,1-r,1-i),s=(1-e-n)/(1-n)||0,o=(1-r-n)/(1-n)||0,a=(1-i-n)/(1-n)||0;return[s*100,o*100,a*100,n*100]};function The(t,e){return(t[0]-e[0])**2+(t[1]-e[1])**2+(t[2]-e[2])**2}Xe.rgb.keyword=function(t){let e=BK[t];if(e)return e;let r=Infinity,i;for(let n of Object.keys(gh)){let s=gh[n],o=The(t,s);o.04045?((e+.055)/1.055)**2.4:e/12.92,r=r>.04045?((r+.055)/1.055)**2.4:r/12.92,i=i>.04045?((i+.055)/1.055)**2.4:i/12.92;let n=e*.4124+r*.3576+i*.1805,s=e*.2126+r*.7152+i*.0722,o=e*.0193+r*.1192+i*.9505;return[n*100,s*100,o*100]};Xe.rgb.lab=function(t){let e=Xe.rgb.xyz(t),r=e[0],i=e[1],n=e[2];r/=95.047,i/=100,n/=108.883,r=r>.008856?r**(1/3):7.787*r+16/116,i=i>.008856?i**(1/3):7.787*i+16/116,n=n>.008856?n**(1/3):7.787*n+16/116;let s=116*i-16,o=500*(r-i),a=200*(i-n);return[s,o,a]};Xe.hsl.rgb=function(t){let e=t[0]/360,r=t[1]/100,i=t[2]/100,n,s,o;if(r===0)return o=i*255,[o,o,o];i<.5?n=i*(1+r):n=i+r-i*r;let a=2*i-n,l=[0,0,0];for(let c=0;c<3;c++)s=e+1/3*-(c-1),s<0&&s++,s>1&&s--,6*s<1?o=a+(n-a)*6*s:2*s<1?o=n:3*s<2?o=a+(n-a)*(2/3-s)*6:o=a,l[c]=o*255;return l};Xe.hsl.hsv=function(t){let e=t[0],r=t[1]/100,i=t[2]/100,n=r,s=Math.max(i,.01);i*=2,r*=i<=1?i:2-i,n*=s<=1?s:2-s;let o=(i+r)/2,a=i===0?2*n/(s+n):2*r/(i+r);return[e,a*100,o*100]};Xe.hsv.rgb=function(t){let e=t[0]/60,r=t[1]/100,i=t[2]/100,n=Math.floor(e)%6,s=e-Math.floor(e),o=255*i*(1-r),a=255*i*(1-r*s),l=255*i*(1-r*(1-s));switch(i*=255,n){case 0:return[i,l,o];case 1:return[a,i,o];case 2:return[o,i,l];case 3:return[o,a,i];case 4:return[l,o,i];case 5:return[i,o,a]}};Xe.hsv.hsl=function(t){let e=t[0],r=t[1]/100,i=t[2]/100,n=Math.max(i,.01),s,o;o=(2-r)*i;let a=(2-r)*n;return s=r*n,s/=a<=1?a:2-a,s=s||0,o/=2,[e,s*100,o*100]};Xe.hwb.rgb=function(t){let e=t[0]/360,r=t[1]/100,i=t[2]/100,n=r+i,s;n>1&&(r/=n,i/=n);let o=Math.floor(6*e),a=1-i;s=6*e-o,(o&1)!=0&&(s=1-s);let l=r+s*(a-r),c,u,g;switch(o){default:case 6:case 0:c=a,u=l,g=r;break;case 1:c=l,u=a,g=r;break;case 2:c=r,u=a,g=l;break;case 3:c=r,u=l,g=a;break;case 4:c=l,u=r,g=a;break;case 5:c=a,u=r,g=l;break}return[c*255,u*255,g*255]};Xe.cmyk.rgb=function(t){let e=t[0]/100,r=t[1]/100,i=t[2]/100,n=t[3]/100,s=1-Math.min(1,e*(1-n)+n),o=1-Math.min(1,r*(1-n)+n),a=1-Math.min(1,i*(1-n)+n);return[s*255,o*255,a*255]};Xe.xyz.rgb=function(t){let e=t[0]/100,r=t[1]/100,i=t[2]/100,n,s,o;return n=e*3.2406+r*-1.5372+i*-.4986,s=e*-.9689+r*1.8758+i*.0415,o=e*.0557+r*-.204+i*1.057,n=n>.0031308?1.055*n**(1/2.4)-.055:n*12.92,s=s>.0031308?1.055*s**(1/2.4)-.055:s*12.92,o=o>.0031308?1.055*o**(1/2.4)-.055:o*12.92,n=Math.min(Math.max(0,n),1),s=Math.min(Math.max(0,s),1),o=Math.min(Math.max(0,o),1),[n*255,s*255,o*255]};Xe.xyz.lab=function(t){let e=t[0],r=t[1],i=t[2];e/=95.047,r/=100,i/=108.883,e=e>.008856?e**(1/3):7.787*e+16/116,r=r>.008856?r**(1/3):7.787*r+16/116,i=i>.008856?i**(1/3):7.787*i+16/116;let n=116*r-16,s=500*(e-r),o=200*(r-i);return[n,s,o]};Xe.lab.xyz=function(t){let e=t[0],r=t[1],i=t[2],n,s,o;s=(e+16)/116,n=r/500+s,o=s-i/200;let a=s**3,l=n**3,c=o**3;return s=a>.008856?a:(s-16/116)/7.787,n=l>.008856?l:(n-16/116)/7.787,o=c>.008856?c:(o-16/116)/7.787,n*=95.047,s*=100,o*=108.883,[n,s,o]};Xe.lab.lch=function(t){let e=t[0],r=t[1],i=t[2],n;n=Math.atan2(i,r)*360/2/Math.PI,n<0&&(n+=360);let o=Math.sqrt(r*r+i*i);return[e,o,n]};Xe.lch.lab=function(t){let e=t[0],r=t[1],n=t[2]/360*2*Math.PI,s=r*Math.cos(n),o=r*Math.sin(n);return[e,s,o]};Xe.rgb.ansi16=function(t,e=null){let[r,i,n]=t,s=e===null?Xe.rgb.hsv(t)[2]:e;if(s=Math.round(s/50),s===0)return 30;let o=30+(Math.round(n/255)<<2|Math.round(i/255)<<1|Math.round(r/255));return s===2&&(o+=60),o};Xe.hsv.ansi16=function(t){return Xe.rgb.ansi16(Xe.hsv.rgb(t),t[2])};Xe.rgb.ansi256=function(t){let e=t[0],r=t[1],i=t[2];return e===r&&r===i?e<8?16:e>248?231:Math.round((e-8)/247*24)+232:16+36*Math.round(e/255*5)+6*Math.round(r/255*5)+Math.round(i/255*5)};Xe.ansi16.rgb=function(t){let e=t%10;if(e===0||e===7)return t>50&&(e+=3.5),e=e/10.5*255,[e,e,e];let r=(~~(t>50)+1)*.5,i=(e&1)*r*255,n=(e>>1&1)*r*255,s=(e>>2&1)*r*255;return[i,n,s]};Xe.ansi256.rgb=function(t){if(t>=232){let s=(t-232)*10+8;return[s,s,s]}t-=16;let e,r=Math.floor(t/36)/5*255,i=Math.floor((e=t%36)/6)/5*255,n=e%6/5*255;return[r,i,n]};Xe.rgb.hex=function(t){let r=(((Math.round(t[0])&255)<<16)+((Math.round(t[1])&255)<<8)+(Math.round(t[2])&255)).toString(16).toUpperCase();return"000000".substring(r.length)+r};Xe.hex.rgb=function(t){let e=t.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!e)return[0,0,0];let r=e[0];e[0].length===3&&(r=r.split("").map(a=>a+a).join(""));let i=parseInt(r,16),n=i>>16&255,s=i>>8&255,o=i&255;return[n,s,o]};Xe.rgb.hcg=function(t){let e=t[0]/255,r=t[1]/255,i=t[2]/255,n=Math.max(Math.max(e,r),i),s=Math.min(Math.min(e,r),i),o=n-s,a,l;return o<1?a=s/(1-o):a=0,o<=0?l=0:n===e?l=(r-i)/o%6:n===r?l=2+(i-e)/o:l=4+(e-r)/o,l/=6,l%=1,[l*360,o*100,a*100]};Xe.hsl.hcg=function(t){let e=t[1]/100,r=t[2]/100,i=r<.5?2*e*r:2*e*(1-r),n=0;return i<1&&(n=(r-.5*i)/(1-i)),[t[0],i*100,n*100]};Xe.hsv.hcg=function(t){let e=t[1]/100,r=t[2]/100,i=e*r,n=0;return i<1&&(n=(r-i)/(1-i)),[t[0],i*100,n*100]};Xe.hcg.rgb=function(t){let e=t[0]/360,r=t[1]/100,i=t[2]/100;if(r===0)return[i*255,i*255,i*255];let n=[0,0,0],s=e%1*6,o=s%1,a=1-o,l=0;switch(Math.floor(s)){case 0:n[0]=1,n[1]=o,n[2]=0;break;case 1:n[0]=a,n[1]=1,n[2]=0;break;case 2:n[0]=0,n[1]=1,n[2]=o;break;case 3:n[0]=0,n[1]=a,n[2]=1;break;case 4:n[0]=o,n[1]=0,n[2]=1;break;default:n[0]=1,n[1]=0,n[2]=a}return l=(1-r)*i,[(r*n[0]+l)*255,(r*n[1]+l)*255,(r*n[2]+l)*255]};Xe.hcg.hsv=function(t){let e=t[1]/100,r=t[2]/100,i=e+r*(1-e),n=0;return i>0&&(n=e/i),[t[0],n*100,i*100]};Xe.hcg.hsl=function(t){let e=t[1]/100,i=t[2]/100*(1-e)+.5*e,n=0;return i>0&&i<.5?n=e/(2*i):i>=.5&&i<1&&(n=e/(2*(1-i))),[t[0],n*100,i*100]};Xe.hcg.hwb=function(t){let e=t[1]/100,r=t[2]/100,i=e+r*(1-e);return[t[0],(i-e)*100,(1-i)*100]};Xe.hwb.hcg=function(t){let e=t[1]/100,r=t[2]/100,i=1-r,n=i-e,s=0;return n<1&&(s=(i-n)/(1-n)),[t[0],n*100,s*100]};Xe.apple.rgb=function(t){return[t[0]/65535*255,t[1]/65535*255,t[2]/65535*255]};Xe.rgb.apple=function(t){return[t[0]/255*65535,t[1]/255*65535,t[2]/255*65535]};Xe.gray.rgb=function(t){return[t[0]/100*255,t[0]/100*255,t[0]/100*255]};Xe.gray.hsl=function(t){return[0,0,t[0]]};Xe.gray.hsv=Xe.gray.hsl;Xe.gray.hwb=function(t){return[0,100,t[0]]};Xe.gray.cmyk=function(t){return[0,0,0,t[0]]};Xe.gray.lab=function(t){return[t[0],0,0]};Xe.gray.hex=function(t){let e=Math.round(t[0]/100*255)&255,i=((e<<16)+(e<<8)+e).toString(16).toUpperCase();return"000000".substring(i.length)+i};Xe.rgb.gray=function(t){return[(t[0]+t[1]+t[2])/3/255*100]}});var bK=E((B$e,QK)=>{var kE=Nb();function Mhe(){let t={},e=Object.keys(kE);for(let r=e.length,i=0;i{var Lb=Nb(),Hhe=bK(),ru={},Ghe=Object.keys(Lb);function jhe(t){let e=function(...r){let i=r[0];return i==null?i:(i.length>1&&(r=i),t(r))};return"conversion"in t&&(e.conversion=t.conversion),e}function Yhe(t){let e=function(...r){let i=r[0];if(i==null)return i;i.length>1&&(r=i);let n=t(r);if(typeof n=="object")for(let s=n.length,o=0;o{ru[t]={},Object.defineProperty(ru[t],"channels",{value:Lb[t].channels}),Object.defineProperty(ru[t],"labels",{value:Lb[t].labels});let e=Hhe(t);Object.keys(e).forEach(i=>{let n=e[i];ru[t][i]=Yhe(n),ru[t][i].raw=jhe(n)})});vK.exports=ru});var FK=E((b$e,xK)=>{"use strict";var kK=(t,e)=>(...r)=>`[${t(...r)+e}m`,PK=(t,e)=>(...r)=>{let i=t(...r);return`[${38+e};5;${i}m`},DK=(t,e)=>(...r)=>{let i=t(...r);return`[${38+e};2;${i[0]};${i[1]};${i[2]}m`},PE=t=>t,RK=(t,e,r)=>[t,e,r],iu=(t,e,r)=>{Object.defineProperty(t,e,{get:()=>{let i=r();return Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0}),i},enumerable:!0,configurable:!0})},Tb,nu=(t,e,r,i)=>{Tb===void 0&&(Tb=SK());let n=i?10:0,s={};for(let[o,a]of Object.entries(Tb)){let l=o==="ansi16"?"ansi":o;o===e?s[l]=t(r,n):typeof a=="object"&&(s[l]=t(a[e],n))}return s};function qhe(){let t=new Map,e={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};e.color.gray=e.color.blackBright,e.bgColor.bgGray=e.bgColor.bgBlackBright,e.color.grey=e.color.blackBright,e.bgColor.bgGrey=e.bgColor.bgBlackBright;for(let[r,i]of Object.entries(e)){for(let[n,s]of Object.entries(i))e[n]={open:`[${s[0]}m`,close:`[${s[1]}m`},i[n]=e[n],t.set(s[0],s[1]);Object.defineProperty(e,r,{value:i,enumerable:!1})}return Object.defineProperty(e,"codes",{value:t,enumerable:!1}),e.color.close="",e.bgColor.close="",iu(e.color,"ansi",()=>nu(kK,"ansi16",PE,!1)),iu(e.color,"ansi256",()=>nu(PK,"ansi256",PE,!1)),iu(e.color,"ansi16m",()=>nu(DK,"rgb",RK,!1)),iu(e.bgColor,"ansi",()=>nu(kK,"ansi16",PE,!0)),iu(e.bgColor,"ansi256",()=>nu(PK,"ansi256",PE,!0)),iu(e.bgColor,"ansi16m",()=>nu(DK,"rgb",RK,!0)),e}Object.defineProperty(xK,"exports",{enumerable:!0,get:qhe})});var LK=E((v$e,NK)=>{"use strict";NK.exports=(t,e=process.argv)=>{let r=t.startsWith("-")?"":t.length===1?"-":"--",i=e.indexOf(r+t),n=e.indexOf("--");return i!==-1&&(n===-1||i{"use strict";var Jhe=require("os"),MK=require("tty"),Wn=LK(),{env:Wr}=process,tA;Wn("no-color")||Wn("no-colors")||Wn("color=false")||Wn("color=never")?tA=0:(Wn("color")||Wn("colors")||Wn("color=true")||Wn("color=always"))&&(tA=1);"FORCE_COLOR"in Wr&&(Wr.FORCE_COLOR==="true"?tA=1:Wr.FORCE_COLOR==="false"?tA=0:tA=Wr.FORCE_COLOR.length===0?1:Math.min(parseInt(Wr.FORCE_COLOR,10),3));function Mb(t){return t===0?!1:{level:t,hasBasic:!0,has256:t>=2,has16m:t>=3}}function Ob(t,e){if(tA===0)return 0;if(Wn("color=16m")||Wn("color=full")||Wn("color=truecolor"))return 3;if(Wn("color=256"))return 2;if(t&&!e&&tA===void 0)return 0;let r=tA||0;if(Wr.TERM==="dumb")return r;if(process.platform==="win32"){let i=Jhe.release().split(".");return Number(i[0])>=10&&Number(i[2])>=10586?Number(i[2])>=14931?3:2:1}if("CI"in Wr)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI"].some(i=>i in Wr)||Wr.CI_NAME==="codeship"?1:r;if("TEAMCITY_VERSION"in Wr)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(Wr.TEAMCITY_VERSION)?1:0;if("GITHUB_ACTIONS"in Wr)return 1;if(Wr.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in Wr){let i=parseInt((Wr.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(Wr.TERM_PROGRAM){case"iTerm.app":return i>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(Wr.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(Wr.TERM)||"COLORTERM"in Wr?1:r}function Whe(t){let e=Ob(t,t&&t.isTTY);return Mb(e)}TK.exports={supportsColor:Whe,stdout:Mb(Ob(!0,MK.isatty(1))),stderr:Mb(Ob(!0,MK.isatty(2)))}});var UK=E((x$e,KK)=>{"use strict";var zhe=(t,e,r)=>{let i=t.indexOf(e);if(i===-1)return t;let n=e.length,s=0,o="";do o+=t.substr(s,i-s)+e+r,s=i+n,i=t.indexOf(e,s);while(i!==-1);return o+=t.substr(s),o},Vhe=(t,e,r,i)=>{let n=0,s="";do{let o=t[i-1]==="\r";s+=t.substr(n,(o?i-1:i)-n)+e+(o?`\r +`:` +`)+r,n=i+1,i=t.indexOf(` +`,n)}while(i!==-1);return s+=t.substr(n),s};KK.exports={stringReplaceAll:zhe,stringEncaseCRLFWithFirstIndex:Vhe}});var qK=E((k$e,HK)=>{"use strict";var _he=/(?:\\(u(?:[a-f\d]{4}|\{[a-f\d]{1,6}\})|x[a-f\d]{2}|.))|(?:\{(~)?(\w+(?:\([^)]*\))?(?:\.\w+(?:\([^)]*\))?)*)(?:[ \t]|(?=\r?\n)))|(\})|((?:.|[\r\n\f])+?)/gi,GK=/(?:^|\.)(\w+)(?:\(([^)]*)\))?/g,Xhe=/^(['"])((?:\\.|(?!\1)[^\\])*)\1$/,Zhe=/\\(u(?:[a-f\d]{4}|\{[a-f\d]{1,6}\})|x[a-f\d]{2}|.)|([^\\])/gi,$he=new Map([["n",` +`],["r","\r"],["t"," "],["b","\b"],["f","\f"],["v","\v"],["0","\0"],["\\","\\"],["e",""],["a","\x07"]]);function jK(t){let e=t[0]==="u",r=t[1]==="{";return e&&!r&&t.length===5||t[0]==="x"&&t.length===3?String.fromCharCode(parseInt(t.slice(1),16)):e&&r?String.fromCodePoint(parseInt(t.slice(2,-1),16)):$he.get(t)||t}function epe(t,e){let r=[],i=e.trim().split(/\s*,\s*/g),n;for(let s of i){let o=Number(s);if(!Number.isNaN(o))r.push(o);else if(n=s.match(Xhe))r.push(n[2].replace(Zhe,(a,l,c)=>l?jK(l):c));else throw new Error(`Invalid Chalk template style argument: ${s} (in style '${t}')`)}return r}function tpe(t){GK.lastIndex=0;let e=[],r;for(;(r=GK.exec(t))!==null;){let i=r[1];if(r[2]){let n=epe(i,r[2]);e.push([i].concat(n))}else e.push([i])}return e}function YK(t,e){let r={};for(let n of e)for(let s of n.styles)r[s[0]]=n.inverse?null:s.slice(1);let i=t;for(let[n,s]of Object.entries(r))if(!!Array.isArray(s)){if(!(n in i))throw new Error(`Unknown Chalk style: ${n}`);i=s.length>0?i[n](...s):i[n]}return i}HK.exports=(t,e)=>{let r=[],i=[],n=[];if(e.replace(_he,(s,o,a,l,c,u)=>{if(o)n.push(jK(o));else if(l){let g=n.join("");n=[],i.push(r.length===0?g:YK(t,r)(g)),r.push({inverse:a,styles:tpe(l)})}else if(c){if(r.length===0)throw new Error("Found extraneous } in Chalk template literal");i.push(YK(t,r)(n.join(""))),n=[],r.pop()}else n.push(u)}),i.push(n.join("")),r.length>0){let s=`Chalk template literal is missing ${r.length} closing bracket${r.length===1?"":"s"} (\`}\`)`;throw new Error(s)}return i.join("")}});var jb=E((P$e,JK)=>{"use strict";var fh=FK(),{stdout:Kb,stderr:Ub}=OK(),{stringReplaceAll:rpe,stringEncaseCRLFWithFirstIndex:ipe}=UK(),WK=["ansi","ansi","ansi256","ansi16m"],su=Object.create(null),npe=(t,e={})=>{if(e.level>3||e.level<0)throw new Error("The `level` option should be an integer from 0 to 3");let r=Kb?Kb.level:0;t.level=e.level===void 0?r:e.level},zK=class{constructor(e){return VK(e)}},VK=t=>{let e={};return npe(e,t),e.template=(...r)=>spe(e.template,...r),Object.setPrototypeOf(e,DE.prototype),Object.setPrototypeOf(e.template,e),e.template.constructor=()=>{throw new Error("`chalk.constructor()` is deprecated. Use `new chalk.Instance()` instead.")},e.template.Instance=zK,e.template};function DE(t){return VK(t)}for(let[t,e]of Object.entries(fh))su[t]={get(){let r=RE(this,Hb(e.open,e.close,this._styler),this._isEmpty);return Object.defineProperty(this,t,{value:r}),r}};su.visible={get(){let t=RE(this,this._styler,!0);return Object.defineProperty(this,"visible",{value:t}),t}};var _K=["rgb","hex","keyword","hsl","hsv","hwb","ansi","ansi256"];for(let t of _K)su[t]={get(){let{level:e}=this;return function(...r){let i=Hb(fh.color[WK[e]][t](...r),fh.color.close,this._styler);return RE(this,i,this._isEmpty)}}};for(let t of _K){let e="bg"+t[0].toUpperCase()+t.slice(1);su[e]={get(){let{level:r}=this;return function(...i){let n=Hb(fh.bgColor[WK[r]][t](...i),fh.bgColor.close,this._styler);return RE(this,n,this._isEmpty)}}}}var ope=Object.defineProperties(()=>{},_(P({},su),{level:{enumerable:!0,get(){return this._generator.level},set(t){this._generator.level=t}}})),Hb=(t,e,r)=>{let i,n;return r===void 0?(i=t,n=e):(i=r.openAll+t,n=e+r.closeAll),{open:t,close:e,openAll:i,closeAll:n,parent:r}},RE=(t,e,r)=>{let i=(...n)=>ape(i,n.length===1?""+n[0]:n.join(" "));return i.__proto__=ope,i._generator=t,i._styler=e,i._isEmpty=r,i},ape=(t,e)=>{if(t.level<=0||!e)return t._isEmpty?"":e;let r=t._styler;if(r===void 0)return e;let{openAll:i,closeAll:n}=r;if(e.indexOf("")!==-1)for(;r!==void 0;)e=rpe(e,r.close,r.open),r=r.parent;let s=e.indexOf(` +`);return s!==-1&&(e=ipe(e,n,i,s)),i+e+n},Gb,spe=(t,...e)=>{let[r]=e;if(!Array.isArray(r))return e.join(" ");let i=e.slice(1),n=[r.raw[0]];for(let s=1;s{XK.exports=[{name:"AppVeyor",constant:"APPVEYOR",env:"APPVEYOR",pr:"APPVEYOR_PULL_REQUEST_NUMBER"},{name:"Azure Pipelines",constant:"AZURE_PIPELINES",env:"SYSTEM_TEAMFOUNDATIONCOLLECTIONURI",pr:"SYSTEM_PULLREQUEST_PULLREQUESTID"},{name:"Appcircle",constant:"APPCIRCLE",env:"AC_APPCIRCLE"},{name:"Bamboo",constant:"BAMBOO",env:"bamboo_planKey"},{name:"Bitbucket Pipelines",constant:"BITBUCKET",env:"BITBUCKET_COMMIT",pr:"BITBUCKET_PR_ID"},{name:"Bitrise",constant:"BITRISE",env:"BITRISE_IO",pr:"BITRISE_PULL_REQUEST"},{name:"Buddy",constant:"BUDDY",env:"BUDDY_WORKSPACE_ID",pr:"BUDDY_EXECUTION_PULL_REQUEST_ID"},{name:"Buildkite",constant:"BUILDKITE",env:"BUILDKITE",pr:{env:"BUILDKITE_PULL_REQUEST",ne:"false"}},{name:"CircleCI",constant:"CIRCLE",env:"CIRCLECI",pr:"CIRCLE_PULL_REQUEST"},{name:"Cirrus CI",constant:"CIRRUS",env:"CIRRUS_CI",pr:"CIRRUS_PR"},{name:"AWS CodeBuild",constant:"CODEBUILD",env:"CODEBUILD_BUILD_ARN"},{name:"Codefresh",constant:"CODEFRESH",env:"CF_BUILD_ID",pr:{any:["CF_PULL_REQUEST_NUMBER","CF_PULL_REQUEST_ID"]}},{name:"Codeship",constant:"CODESHIP",env:{CI_NAME:"codeship"}},{name:"Drone",constant:"DRONE",env:"DRONE",pr:{DRONE_BUILD_EVENT:"pull_request"}},{name:"dsari",constant:"DSARI",env:"DSARI"},{name:"GitHub Actions",constant:"GITHUB_ACTIONS",env:"GITHUB_ACTIONS",pr:{GITHUB_EVENT_NAME:"pull_request"}},{name:"GitLab CI",constant:"GITLAB",env:"GITLAB_CI",pr:"CI_MERGE_REQUEST_ID"},{name:"GoCD",constant:"GOCD",env:"GO_PIPELINE_LABEL"},{name:"LayerCI",constant:"LAYERCI",env:"LAYERCI",pr:"LAYERCI_PULL_REQUEST"},{name:"Hudson",constant:"HUDSON",env:"HUDSON_URL"},{name:"Jenkins",constant:"JENKINS",env:["JENKINS_URL","BUILD_ID"],pr:{any:["ghprbPullId","CHANGE_ID"]}},{name:"Magnum CI",constant:"MAGNUM",env:"MAGNUM"},{name:"Netlify CI",constant:"NETLIFY",env:"NETLIFY",pr:{env:"PULL_REQUEST",ne:"false"}},{name:"Nevercode",constant:"NEVERCODE",env:"NEVERCODE",pr:{env:"NEVERCODE_PULL_REQUEST",ne:"false"}},{name:"Render",constant:"RENDER",env:"RENDER",pr:{IS_PULL_REQUEST:"true"}},{name:"Sail CI",constant:"SAIL",env:"SAILCI",pr:"SAIL_PULL_REQUEST_NUMBER"},{name:"Semaphore",constant:"SEMAPHORE",env:"SEMAPHORE",pr:"PULL_REQUEST_NUMBER"},{name:"Screwdriver",constant:"SCREWDRIVER",env:"SCREWDRIVER",pr:{env:"SD_PULL_REQUEST",ne:"false"}},{name:"Shippable",constant:"SHIPPABLE",env:"SHIPPABLE",pr:{IS_PULL_REQUEST:"true"}},{name:"Solano CI",constant:"SOLANO",env:"TDDIUM",pr:"TDDIUM_PR_ID"},{name:"Strider CD",constant:"STRIDER",env:"STRIDER"},{name:"TaskCluster",constant:"TASKCLUSTER",env:["TASK_ID","RUN_ID"]},{name:"TeamCity",constant:"TEAMCITY",env:"TEAMCITY_VERSION"},{name:"Travis CI",constant:"TRAVIS",env:"TRAVIS",pr:{env:"TRAVIS_PULL_REQUEST",ne:"false"}},{name:"Vercel",constant:"VERCEL",env:"NOW_BUILDER"},{name:"Visual Studio App Center",constant:"APPCENTER",env:"APPCENTER_BUILD_ID"}]});var ml=E(Dn=>{"use strict";var $K=ZK(),ro=process.env;Object.defineProperty(Dn,"_vendors",{value:$K.map(function(t){return t.constant})});Dn.name=null;Dn.isPR=null;$K.forEach(function(t){let r=(Array.isArray(t.env)?t.env:[t.env]).every(function(i){return e1(i)});if(Dn[t.constant]=r,r)switch(Dn.name=t.name,typeof t.pr){case"string":Dn.isPR=!!ro[t.pr];break;case"object":"env"in t.pr?Dn.isPR=t.pr.env in ro&&ro[t.pr.env]!==t.pr.ne:"any"in t.pr?Dn.isPR=t.pr.any.some(function(i){return!!ro[i]}):Dn.isPR=e1(t.pr);break;default:Dn.isPR=null}});Dn.isCI=!!(ro.CI||ro.CONTINUOUS_INTEGRATION||ro.BUILD_NUMBER||ro.RUN_ID||Dn.name);function e1(t){return typeof t=="string"?!!ro[t]:Object.keys(t).every(function(e){return ro[e]===t[e]})}});var FE=E(zn=>{"use strict";zn.isInteger=t=>typeof t=="number"?Number.isInteger(t):typeof t=="string"&&t.trim()!==""?Number.isInteger(Number(t)):!1;zn.find=(t,e)=>t.nodes.find(r=>r.type===e);zn.exceedsLimit=(t,e,r=1,i)=>i===!1||!zn.isInteger(t)||!zn.isInteger(e)?!1:(Number(e)-Number(t))/Number(r)>=i;zn.escapeNode=(t,e=0,r)=>{let i=t.nodes[e];!i||(r&&i.type===r||i.type==="open"||i.type==="close")&&i.escaped!==!0&&(i.value="\\"+i.value,i.escaped=!0)};zn.encloseBrace=t=>t.type!=="brace"?!1:t.commas>>0+t.ranges>>0==0?(t.invalid=!0,!0):!1;zn.isInvalidBrace=t=>t.type!=="brace"?!1:t.invalid===!0||t.dollar?!0:t.commas>>0+t.ranges>>0==0||t.open!==!0||t.close!==!0?(t.invalid=!0,!0):!1;zn.isOpenOrClose=t=>t.type==="open"||t.type==="close"?!0:t.open===!0||t.close===!0;zn.reduce=t=>t.reduce((e,r)=>(r.type==="text"&&e.push(r.value),r.type==="range"&&(r.type="text"),e),[]);zn.flatten=(...t)=>{let e=[],r=i=>{for(let n=0;n{"use strict";var r1=FE();t1.exports=(t,e={})=>{let r=(i,n={})=>{let s=e.escapeInvalid&&r1.isInvalidBrace(n),o=i.invalid===!0&&e.escapeInvalid===!0,a="";if(i.value)return(s||o)&&r1.isOpenOrClose(i)?"\\"+i.value:i.value;if(i.value)return i.value;if(i.nodes)for(let l of i.nodes)a+=r(l);return a};return r(t)}});var n1=E((L$e,i1)=>{"use strict";i1.exports=function(t){return typeof t=="number"?t-t==0:typeof t=="string"&&t.trim()!==""?Number.isFinite?Number.isFinite(+t):isFinite(+t):!1}});var f1=E((T$e,s1)=>{"use strict";var o1=n1(),El=(t,e,r)=>{if(o1(t)===!1)throw new TypeError("toRegexRange: expected the first argument to be a number");if(e===void 0||t===e)return String(t);if(o1(e)===!1)throw new TypeError("toRegexRange: expected the second argument to be a number.");let i=P({relaxZeros:!0},r);typeof i.strictZeros=="boolean"&&(i.relaxZeros=i.strictZeros===!1);let n=String(i.relaxZeros),s=String(i.shorthand),o=String(i.capture),a=String(i.wrap),l=t+":"+e+"="+n+s+o+a;if(El.cache.hasOwnProperty(l))return El.cache[l].result;let c=Math.min(t,e),u=Math.max(t,e);if(Math.abs(c-u)===1){let d=t+"|"+e;return i.capture?`(${d})`:i.wrap===!1?d:`(?:${d})`}let g=A1(t)||A1(e),f={min:t,max:e,a:c,b:u},h=[],p=[];if(g&&(f.isPadded=g,f.maxLen=String(f.max).length),c<0){let d=u<0?Math.abs(u):1;p=a1(d,Math.abs(c),f,i),c=f.a=0}return u>=0&&(h=a1(c,u,f,i)),f.negatives=p,f.positives=h,f.result=Ape(p,h,i),i.capture===!0?f.result=`(${f.result})`:i.wrap!==!1&&h.length+p.length>1&&(f.result=`(?:${f.result})`),El.cache[l]=f,f.result};function Ape(t,e,r){let i=Yb(t,e,"-",!1,r)||[],n=Yb(e,t,"",!1,r)||[],s=Yb(t,e,"-?",!0,r)||[];return i.concat(s).concat(n).join("|")}function cpe(t,e){let r=1,i=1,n=l1(t,r),s=new Set([e]);for(;t<=n&&n<=e;)s.add(n),r+=1,n=l1(t,r);for(n=c1(e+1,i)-1;t1&&a.count.pop(),a.count.push(u.count[0]),a.string=a.pattern+u1(a.count),o=c+1;continue}r.isPadded&&(g=hpe(c,r,i)),u.string=g+u.pattern+u1(u.count),s.push(u),o=c+1,a=u}return s}function Yb(t,e,r,i,n){let s=[];for(let o of t){let{string:a}=o;!i&&!g1(e,"string",a)&&s.push(r+a),i&&g1(e,"string",a)&&s.push(r+a)}return s}function upe(t,e){let r=[];for(let i=0;ie?1:e>t?-1:0}function g1(t,e,r){return t.some(i=>i[e]===r)}function l1(t,e){return Number(String(t).slice(0,-e)+"9".repeat(e))}function c1(t,e){return t-t%Math.pow(10,e)}function u1(t){let[e=0,r=""]=t;return r||e>1?`{${e+(r?","+r:"")}}`:""}function gpe(t,e,r){return`[${t}${e-t==1?"":"-"}${e}]`}function A1(t){return/^-?(0+)\d/.test(t)}function hpe(t,e,r){if(!e.isPadded)return t;let i=Math.abs(e.maxLen-String(t).length),n=r.relaxZeros!==!1;switch(i){case 0:return"";case 1:return n?"0?":"0";case 2:return n?"0{0,2}":"00";default:return n?`0{0,${i}}`:`0{${i}}`}}El.cache={};El.clearCache=()=>El.cache={};s1.exports=El});var Wb=E((M$e,h1)=>{"use strict";var ppe=require("util"),p1=f1(),d1=t=>t!==null&&typeof t=="object"&&!Array.isArray(t),dpe=t=>e=>t===!0?Number(e):String(e),qb=t=>typeof t=="number"||typeof t=="string"&&t!=="",ph=t=>Number.isInteger(+t),Jb=t=>{let e=`${t}`,r=-1;if(e[0]==="-"&&(e=e.slice(1)),e==="0")return!1;for(;e[++r]==="0";);return r>0},Cpe=(t,e,r)=>typeof t=="string"||typeof e=="string"?!0:r.stringify===!0,mpe=(t,e,r)=>{if(e>0){let i=t[0]==="-"?"-":"";i&&(t=t.slice(1)),t=i+t.padStart(i?e-1:e,"0")}return r===!1?String(t):t},C1=(t,e)=>{let r=t[0]==="-"?"-":"";for(r&&(t=t.slice(1),e--);t.length{t.negatives.sort((o,a)=>oa?1:0),t.positives.sort((o,a)=>oa?1:0);let r=e.capture?"":"?:",i="",n="",s;return t.positives.length&&(i=t.positives.join("|")),t.negatives.length&&(n=`-(${r}${t.negatives.join("|")})`),i&&n?s=`${i}|${n}`:s=i||n,e.wrap?`(${r}${s})`:s},m1=(t,e,r,i)=>{if(r)return p1(t,e,P({wrap:!1},i));let n=String.fromCharCode(t);if(t===e)return n;let s=String.fromCharCode(e);return`[${n}-${s}]`},E1=(t,e,r)=>{if(Array.isArray(t)){let i=r.wrap===!0,n=r.capture?"":"?:";return i?`(${n}${t.join("|")})`:t.join("|")}return p1(t,e,r)},I1=(...t)=>new RangeError("Invalid range arguments: "+ppe.inspect(...t)),y1=(t,e,r)=>{if(r.strictRanges===!0)throw I1([t,e]);return[]},Ipe=(t,e)=>{if(e.strictRanges===!0)throw new TypeError(`Expected step "${t}" to be a number`);return[]},ype=(t,e,r=1,i={})=>{let n=Number(t),s=Number(e);if(!Number.isInteger(n)||!Number.isInteger(s)){if(i.strictRanges===!0)throw I1([t,e]);return[]}n===0&&(n=0),s===0&&(s=0);let o=n>s,a=String(t),l=String(e),c=String(r);r=Math.max(Math.abs(r),1);let u=Jb(a)||Jb(l)||Jb(c),g=u?Math.max(a.length,l.length,c.length):0,f=u===!1&&Cpe(t,e,i)===!1,h=i.transform||dpe(f);if(i.toRegex&&r===1)return m1(C1(t,g),C1(e,g),!0,i);let p={negatives:[],positives:[]},d=B=>p[B<0?"negatives":"positives"].push(Math.abs(B)),m=[],I=0;for(;o?n>=s:n<=s;)i.toRegex===!0&&r>1?d(n):m.push(mpe(h(n,I),g,f)),n=o?n-r:n+r,I++;return i.toRegex===!0?r>1?Epe(p,i):E1(m,null,P({wrap:!1},i)):m},wpe=(t,e,r=1,i={})=>{if(!ph(t)&&t.length>1||!ph(e)&&e.length>1)return y1(t,e,i);let n=i.transform||(f=>String.fromCharCode(f)),s=`${t}`.charCodeAt(0),o=`${e}`.charCodeAt(0),a=s>o,l=Math.min(s,o),c=Math.max(s,o);if(i.toRegex&&r===1)return m1(l,c,!1,i);let u=[],g=0;for(;a?s>=o:s<=o;)u.push(n(s,g)),s=a?s-r:s+r,g++;return i.toRegex===!0?E1(u,null,{wrap:!1,options:i}):u},LE=(t,e,r,i={})=>{if(e==null&&qb(t))return[t];if(!qb(t)||!qb(e))return y1(t,e,i);if(typeof r=="function")return LE(t,e,1,{transform:r});if(d1(r))return LE(t,e,0,r);let n=P({},i);return n.capture===!0&&(n.wrap=!0),r=r||n.step||1,ph(r)?ph(t)&&ph(e)?ype(t,e,r,n):wpe(t,e,Math.max(Math.abs(r),1),n):r!=null&&!d1(r)?Ipe(r,n):LE(t,e,1,r)};h1.exports=LE});var Q1=E((O$e,w1)=>{"use strict";var Bpe=Wb(),B1=FE(),Qpe=(t,e={})=>{let r=(i,n={})=>{let s=B1.isInvalidBrace(n),o=i.invalid===!0&&e.escapeInvalid===!0,a=s===!0||o===!0,l=e.escapeInvalid===!0?"\\":"",c="";if(i.isOpen===!0||i.isClose===!0)return l+i.value;if(i.type==="open")return a?l+i.value:"(";if(i.type==="close")return a?l+i.value:")";if(i.type==="comma")return i.prev.type==="comma"?"":a?i.value:"|";if(i.value)return i.value;if(i.nodes&&i.ranges>0){let u=B1.reduce(i.nodes),g=Bpe(...u,_(P({},e),{wrap:!1,toRegex:!0}));if(g.length!==0)return u.length>1&&g.length>1?`(${g})`:g}if(i.nodes)for(let u of i.nodes)c+=r(u,i);return c};return r(t)};w1.exports=Qpe});var S1=E((K$e,b1)=>{"use strict";var bpe=Wb(),v1=NE(),ou=FE(),Il=(t="",e="",r=!1)=>{let i=[];if(t=[].concat(t),e=[].concat(e),!e.length)return t;if(!t.length)return r?ou.flatten(e).map(n=>`{${n}}`):e;for(let n of t)if(Array.isArray(n))for(let s of n)i.push(Il(s,e,r));else for(let s of e)r===!0&&typeof s=="string"&&(s=`{${s}}`),i.push(Array.isArray(s)?Il(n,s,r):n+s);return ou.flatten(i)},vpe=(t,e={})=>{let r=e.rangeLimit===void 0?1e3:e.rangeLimit,i=(n,s={})=>{n.queue=[];let o=s,a=s.queue;for(;o.type!=="brace"&&o.type!=="root"&&o.parent;)o=o.parent,a=o.queue;if(n.invalid||n.dollar){a.push(Il(a.pop(),v1(n,e)));return}if(n.type==="brace"&&n.invalid!==!0&&n.nodes.length===2){a.push(Il(a.pop(),["{}"]));return}if(n.nodes&&n.ranges>0){let g=ou.reduce(n.nodes);if(ou.exceedsLimit(...g,e.step,r))throw new RangeError("expanded array length exceeds range limit. Use options.rangeLimit to increase or disable the limit.");let f=bpe(...g,e);f.length===0&&(f=v1(n,e)),a.push(Il(a.pop(),f)),n.nodes=[];return}let l=ou.encloseBrace(n),c=n.queue,u=n;for(;u.type!=="brace"&&u.type!=="root"&&u.parent;)u=u.parent,c=u.queue;for(let g=0;g{"use strict";x1.exports={MAX_LENGTH:1024*64,CHAR_0:"0",CHAR_9:"9",CHAR_UPPERCASE_A:"A",CHAR_LOWERCASE_A:"a",CHAR_UPPERCASE_Z:"Z",CHAR_LOWERCASE_Z:"z",CHAR_LEFT_PARENTHESES:"(",CHAR_RIGHT_PARENTHESES:")",CHAR_ASTERISK:"*",CHAR_AMPERSAND:"&",CHAR_AT:"@",CHAR_BACKSLASH:"\\",CHAR_BACKTICK:"`",CHAR_CARRIAGE_RETURN:"\r",CHAR_CIRCUMFLEX_ACCENT:"^",CHAR_COLON:":",CHAR_COMMA:",",CHAR_DOLLAR:"$",CHAR_DOT:".",CHAR_DOUBLE_QUOTE:'"',CHAR_EQUAL:"=",CHAR_EXCLAMATION_MARK:"!",CHAR_FORM_FEED:"\f",CHAR_FORWARD_SLASH:"/",CHAR_HASH:"#",CHAR_HYPHEN_MINUS:"-",CHAR_LEFT_ANGLE_BRACKET:"<",CHAR_LEFT_CURLY_BRACE:"{",CHAR_LEFT_SQUARE_BRACKET:"[",CHAR_LINE_FEED:` +`,CHAR_NO_BREAK_SPACE:"\xA0",CHAR_PERCENT:"%",CHAR_PLUS:"+",CHAR_QUESTION_MARK:"?",CHAR_RIGHT_ANGLE_BRACKET:">",CHAR_RIGHT_CURLY_BRACE:"}",CHAR_RIGHT_SQUARE_BRACKET:"]",CHAR_SEMICOLON:";",CHAR_SINGLE_QUOTE:"'",CHAR_SPACE:" ",CHAR_TAB:" ",CHAR_UNDERSCORE:"_",CHAR_VERTICAL_LINE:"|",CHAR_ZERO_WIDTH_NOBREAK_SPACE:"\uFEFF"}});var N1=E((H$e,P1)=>{"use strict";var Spe=NE(),{MAX_LENGTH:D1,CHAR_BACKSLASH:zb,CHAR_BACKTICK:xpe,CHAR_COMMA:kpe,CHAR_DOT:Ppe,CHAR_LEFT_PARENTHESES:Dpe,CHAR_RIGHT_PARENTHESES:Rpe,CHAR_LEFT_CURLY_BRACE:Fpe,CHAR_RIGHT_CURLY_BRACE:Npe,CHAR_LEFT_SQUARE_BRACKET:R1,CHAR_RIGHT_SQUARE_BRACKET:F1,CHAR_DOUBLE_QUOTE:Lpe,CHAR_SINGLE_QUOTE:Tpe,CHAR_NO_BREAK_SPACE:Mpe,CHAR_ZERO_WIDTH_NOBREAK_SPACE:Ope}=k1(),Kpe=(t,e={})=>{if(typeof t!="string")throw new TypeError("Expected a string");let r=e||{},i=typeof r.maxLength=="number"?Math.min(D1,r.maxLength):D1;if(t.length>i)throw new SyntaxError(`Input length (${t.length}), exceeds max characters (${i})`);let n={type:"root",input:t,nodes:[]},s=[n],o=n,a=n,l=0,c=t.length,u=0,g=0,f,h={},p=()=>t[u++],d=m=>{if(m.type==="text"&&a.type==="dot"&&(a.type="text"),a&&a.type==="text"&&m.type==="text"){a.value+=m.value;return}return o.nodes.push(m),m.parent=o,m.prev=a,a=m,m};for(d({type:"bos"});u0){if(o.ranges>0){o.ranges=0;let m=o.nodes.shift();o.nodes=[m,{type:"text",value:Spe(o)}]}d({type:"comma",value:f}),o.commas++;continue}if(f===Ppe&&g>0&&o.commas===0){let m=o.nodes;if(g===0||m.length===0){d({type:"text",value:f});continue}if(a.type==="dot"){if(o.range=[],a.value+=f,a.type="range",o.nodes.length!==3&&o.nodes.length!==5){o.invalid=!0,o.ranges=0,a.type="text";continue}o.ranges++,o.args=[];continue}if(a.type==="range"){m.pop();let I=m[m.length-1];I.value+=a.value+f,a=I,o.ranges--;continue}d({type:"dot",value:f});continue}d({type:"text",value:f})}do if(o=s.pop(),o.type!=="root"){o.nodes.forEach(B=>{B.nodes||(B.type==="open"&&(B.isOpen=!0),B.type==="close"&&(B.isClose=!0),B.nodes||(B.type="text"),B.invalid=!0)});let m=s[s.length-1],I=m.nodes.indexOf(o);m.nodes.splice(I,1,...o.nodes)}while(s.length>0);return d({type:"eos"}),n};P1.exports=Kpe});var M1=E((G$e,L1)=>{"use strict";var T1=NE(),Upe=Q1(),Hpe=S1(),Gpe=N1(),Rn=(t,e={})=>{let r=[];if(Array.isArray(t))for(let i of t){let n=Rn.create(i,e);Array.isArray(n)?r.push(...n):r.push(n)}else r=[].concat(Rn.create(t,e));return e&&e.expand===!0&&e.nodupes===!0&&(r=[...new Set(r)]),r};Rn.parse=(t,e={})=>Gpe(t,e);Rn.stringify=(t,e={})=>typeof t=="string"?T1(Rn.parse(t,e),e):T1(t,e);Rn.compile=(t,e={})=>(typeof t=="string"&&(t=Rn.parse(t,e)),Upe(t,e));Rn.expand=(t,e={})=>{typeof t=="string"&&(t=Rn.parse(t,e));let r=Hpe(t,e);return e.noempty===!0&&(r=r.filter(Boolean)),e.nodupes===!0&&(r=[...new Set(r)]),r};Rn.create=(t,e={})=>t===""||t.length<3?[t]:e.expand!==!0?Rn.compile(t,e):Rn.expand(t,e);L1.exports=Rn});var dh=E((j$e,O1)=>{"use strict";var jpe=require("path"),io="\\\\/",K1=`[^${io}]`,ea="\\.",Ype="\\+",qpe="\\?",TE="\\/",Jpe="(?=.)",U1="[^/]",Vb=`(?:${TE}|$)`,H1=`(?:^|${TE})`,_b=`${ea}{1,2}${Vb}`,Wpe=`(?!${ea})`,zpe=`(?!${H1}${_b})`,Vpe=`(?!${ea}{0,1}${Vb})`,_pe=`(?!${_b})`,Xpe=`[^.${TE}]`,Zpe=`${U1}*?`,G1={DOT_LITERAL:ea,PLUS_LITERAL:Ype,QMARK_LITERAL:qpe,SLASH_LITERAL:TE,ONE_CHAR:Jpe,QMARK:U1,END_ANCHOR:Vb,DOTS_SLASH:_b,NO_DOT:Wpe,NO_DOTS:zpe,NO_DOT_SLASH:Vpe,NO_DOTS_SLASH:_pe,QMARK_NO_DOT:Xpe,STAR:Zpe,START_ANCHOR:H1},$pe=_(P({},G1),{SLASH_LITERAL:`[${io}]`,QMARK:K1,STAR:`${K1}*?`,DOTS_SLASH:`${ea}{1,2}(?:[${io}]|$)`,NO_DOT:`(?!${ea})`,NO_DOTS:`(?!(?:^|[${io}])${ea}{1,2}(?:[${io}]|$))`,NO_DOT_SLASH:`(?!${ea}{0,1}(?:[${io}]|$))`,NO_DOTS_SLASH:`(?!${ea}{1,2}(?:[${io}]|$))`,QMARK_NO_DOT:`[^.${io}]`,START_ANCHOR:`(?:^|[${io}])`,END_ANCHOR:`(?:[${io}]|$)`}),ede={alnum:"a-zA-Z0-9",alpha:"a-zA-Z",ascii:"\\x00-\\x7F",blank:" \\t",cntrl:"\\x00-\\x1F\\x7F",digit:"0-9",graph:"\\x21-\\x7E",lower:"a-z",print:"\\x20-\\x7E ",punct:"\\-!\"#$%&'()\\*+,./:;<=>?@[\\]^_`{|}~",space:" \\t\\r\\n\\v\\f",upper:"A-Z",word:"A-Za-z0-9_",xdigit:"A-Fa-f0-9"};O1.exports={MAX_LENGTH:1024*64,POSIX_REGEX_SOURCE:ede,REGEX_BACKSLASH:/\\(?![*+?^${}(|)[\]])/g,REGEX_NON_SPECIAL_CHARS:/^[^@![\].,$*+?^{}()|\\/]+/,REGEX_SPECIAL_CHARS:/[-*+?.^${}(|)[\]]/,REGEX_SPECIAL_CHARS_BACKREF:/(\\?)((\W)(\3*))/g,REGEX_SPECIAL_CHARS_GLOBAL:/([-*+?.^${}(|)[\]])/g,REGEX_REMOVE_BACKSLASH:/(?:\[.*?[^\\]\]|\\(?=.))/g,REPLACEMENTS:{"***":"*","**/**":"**","**/**/**":"**"},CHAR_0:48,CHAR_9:57,CHAR_UPPERCASE_A:65,CHAR_LOWERCASE_A:97,CHAR_UPPERCASE_Z:90,CHAR_LOWERCASE_Z:122,CHAR_LEFT_PARENTHESES:40,CHAR_RIGHT_PARENTHESES:41,CHAR_ASTERISK:42,CHAR_AMPERSAND:38,CHAR_AT:64,CHAR_BACKWARD_SLASH:92,CHAR_CARRIAGE_RETURN:13,CHAR_CIRCUMFLEX_ACCENT:94,CHAR_COLON:58,CHAR_COMMA:44,CHAR_DOT:46,CHAR_DOUBLE_QUOTE:34,CHAR_EQUAL:61,CHAR_EXCLAMATION_MARK:33,CHAR_FORM_FEED:12,CHAR_FORWARD_SLASH:47,CHAR_GRAVE_ACCENT:96,CHAR_HASH:35,CHAR_HYPHEN_MINUS:45,CHAR_LEFT_ANGLE_BRACKET:60,CHAR_LEFT_CURLY_BRACE:123,CHAR_LEFT_SQUARE_BRACKET:91,CHAR_LINE_FEED:10,CHAR_NO_BREAK_SPACE:160,CHAR_PERCENT:37,CHAR_PLUS:43,CHAR_QUESTION_MARK:63,CHAR_RIGHT_ANGLE_BRACKET:62,CHAR_RIGHT_CURLY_BRACE:125,CHAR_RIGHT_SQUARE_BRACKET:93,CHAR_SEMICOLON:59,CHAR_SINGLE_QUOTE:39,CHAR_SPACE:32,CHAR_TAB:9,CHAR_UNDERSCORE:95,CHAR_VERTICAL_LINE:124,CHAR_ZERO_WIDTH_NOBREAK_SPACE:65279,SEP:jpe.sep,extglobChars(t){return{"!":{type:"negate",open:"(?:(?!(?:",close:`))${t.STAR})`},"?":{type:"qmark",open:"(?:",close:")?"},"+":{type:"plus",open:"(?:",close:")+"},"*":{type:"star",open:"(?:",close:")*"},"@":{type:"at",open:"(?:",close:")"}}},globChars(t){return t===!0?$pe:G1}}});var Ch=E(cn=>{"use strict";var tde=require("path"),rde=process.platform==="win32",{REGEX_BACKSLASH:ide,REGEX_REMOVE_BACKSLASH:nde,REGEX_SPECIAL_CHARS:sde,REGEX_SPECIAL_CHARS_GLOBAL:ode}=dh();cn.isObject=t=>t!==null&&typeof t=="object"&&!Array.isArray(t);cn.hasRegexChars=t=>sde.test(t);cn.isRegexChar=t=>t.length===1&&cn.hasRegexChars(t);cn.escapeRegex=t=>t.replace(ode,"\\$1");cn.toPosixSlashes=t=>t.replace(ide,"/");cn.removeBackslashes=t=>t.replace(nde,e=>e==="\\"?"":e);cn.supportsLookbehinds=()=>{let t=process.version.slice(1).split(".").map(Number);return t.length===3&&t[0]>=9||t[0]===8&&t[1]>=10};cn.isWindows=t=>t&&typeof t.windows=="boolean"?t.windows:rde===!0||tde.sep==="\\";cn.escapeLast=(t,e,r)=>{let i=t.lastIndexOf(e,r);return i===-1?t:t[i-1]==="\\"?cn.escapeLast(t,e,i-1):`${t.slice(0,i)}\\${t.slice(i)}`};cn.removePrefix=(t,e={})=>{let r=t;return r.startsWith("./")&&(r=r.slice(2),e.prefix="./"),r};cn.wrapOutput=(t,e={},r={})=>{let i=r.contains?"":"^",n=r.contains?"":"$",s=`${i}(?:${t})${n}`;return e.negated===!0&&(s=`(?:^(?!${s}).*$)`),s}});var X1=E((q$e,j1)=>{"use strict";var Y1=Ch(),{CHAR_ASTERISK:Xb,CHAR_AT:ade,CHAR_BACKWARD_SLASH:mh,CHAR_COMMA:Ade,CHAR_DOT:Zb,CHAR_EXCLAMATION_MARK:q1,CHAR_FORWARD_SLASH:J1,CHAR_LEFT_CURLY_BRACE:$b,CHAR_LEFT_PARENTHESES:ev,CHAR_LEFT_SQUARE_BRACKET:lde,CHAR_PLUS:cde,CHAR_QUESTION_MARK:W1,CHAR_RIGHT_CURLY_BRACE:ude,CHAR_RIGHT_PARENTHESES:z1,CHAR_RIGHT_SQUARE_BRACKET:gde}=dh(),V1=t=>t===J1||t===mh,_1=t=>{t.isPrefix!==!0&&(t.depth=t.isGlobstar?Infinity:1)},fde=(t,e)=>{let r=e||{},i=t.length-1,n=r.parts===!0||r.scanToEnd===!0,s=[],o=[],a=[],l=t,c=-1,u=0,g=0,f=!1,h=!1,p=!1,d=!1,m=!1,I=!1,B=!1,b=!1,R=!1,H=0,L,K,J={value:"",depth:0,isGlob:!1},ne=()=>c>=i,q=()=>l.charCodeAt(c+1),A=()=>(L=K,l.charCodeAt(++c));for(;c0&&(W=l.slice(0,u),l=l.slice(u),g-=u),V&&p===!0&&g>0?(V=l.slice(0,g),X=l.slice(g)):p===!0?(V="",X=l):V=l,V&&V!==""&&V!=="/"&&V!==l&&V1(V.charCodeAt(V.length-1))&&(V=V.slice(0,-1)),r.unescape===!0&&(X&&(X=Y1.removeBackslashes(X)),V&&B===!0&&(V=Y1.removeBackslashes(V)));let F={prefix:W,input:t,start:u,base:V,glob:X,isBrace:f,isBracket:h,isGlob:p,isExtglob:d,isGlobstar:m,negated:b};if(r.tokens===!0&&(F.maxDepth=0,V1(K)||o.push(J),F.tokens=o),r.parts===!0||r.tokens===!0){let D;for(let he=0;he{"use strict";var ME=dh(),Fn=Ch(),{MAX_LENGTH:OE,POSIX_REGEX_SOURCE:hde,REGEX_NON_SPECIAL_CHARS:pde,REGEX_SPECIAL_CHARS_BACKREF:dde,REPLACEMENTS:$1}=ME,Cde=(t,e)=>{if(typeof e.expandRange=="function")return e.expandRange(...t,e);t.sort();let r=`[${t.join("-")}]`;try{new RegExp(r)}catch(i){return t.map(n=>Fn.escapeRegex(n)).join("..")}return r},au=(t,e)=>`Missing ${t}: "${e}" - use "\\\\${e}" to match literal characters`,eU=(t,e)=>{if(typeof t!="string")throw new TypeError("Expected a string");t=$1[t]||t;let r=P({},e),i=typeof r.maxLength=="number"?Math.min(OE,r.maxLength):OE,n=t.length;if(n>i)throw new SyntaxError(`Input length: ${n}, exceeds maximum allowed length: ${i}`);let s={type:"bos",value:"",output:r.prepend||""},o=[s],a=r.capture?"":"?:",l=Fn.isWindows(e),c=ME.globChars(l),u=ME.extglobChars(c),{DOT_LITERAL:g,PLUS_LITERAL:f,SLASH_LITERAL:h,ONE_CHAR:p,DOTS_SLASH:d,NO_DOT:m,NO_DOT_SLASH:I,NO_DOTS_SLASH:B,QMARK:b,QMARK_NO_DOT:R,STAR:H,START_ANCHOR:L}=c,K=G=>`(${a}(?:(?!${L}${G.dot?d:g}).)*?)`,J=r.dot?"":m,ne=r.dot?b:R,q=r.bash===!0?K(r):H;r.capture&&(q=`(${q})`),typeof r.noext=="boolean"&&(r.noextglob=r.noext);let A={input:t,index:-1,start:0,dot:r.dot===!0,consumed:"",output:"",prefix:"",backtrack:!1,negated:!1,brackets:0,braces:0,parens:0,quotes:0,globstar:!1,tokens:o};t=Fn.removePrefix(t,A),n=t.length;let V=[],W=[],X=[],F=s,D,he=()=>A.index===n-1,pe=A.peek=(G=1)=>t[A.index+G],Ne=A.advance=()=>t[++A.index],Pe=()=>t.slice(A.index+1),qe=(G="",Ce=0)=>{A.consumed+=G,A.index+=Ce},re=G=>{A.output+=G.output!=null?G.output:G.value,qe(G.value)},se=()=>{let G=1;for(;pe()==="!"&&(pe(2)!=="("||pe(3)==="?");)Ne(),A.start++,G++;return G%2==0?!1:(A.negated=!0,A.start++,!0)},be=G=>{A[G]++,X.push(G)},ae=G=>{A[G]--,X.pop()},Ae=G=>{if(F.type==="globstar"){let Ce=A.braces>0&&(G.type==="comma"||G.type==="brace"),ee=G.extglob===!0||V.length&&(G.type==="pipe"||G.type==="paren");G.type!=="slash"&&G.type!=="paren"&&!Ce&&!ee&&(A.output=A.output.slice(0,-F.output.length),F.type="star",F.value="*",F.output=q,A.output+=F.output)}if(V.length&&G.type!=="paren"&&!u[G.value]&&(V[V.length-1].inner+=G.value),(G.value||G.output)&&re(G),F&&F.type==="text"&&G.type==="text"){F.value+=G.value,F.output=(F.output||"")+G.value;return}G.prev=F,o.push(G),F=G},De=(G,Ce)=>{let ee=_(P({},u[Ce]),{conditions:1,inner:""});ee.prev=F,ee.parens=A.parens,ee.output=A.output;let Ue=(r.capture?"(":"")+ee.open;be("parens"),Ae({type:G,value:Ce,output:A.output?"":p}),Ae({type:"paren",extglob:!0,value:Ne(),output:Ue}),V.push(ee)},$=G=>{let Ce=G.close+(r.capture?")":"");if(G.type==="negate"){let ee=q;G.inner&&G.inner.length>1&&G.inner.includes("/")&&(ee=K(r)),(ee!==q||he()||/^\)+$/.test(Pe()))&&(Ce=G.close=`)$))${ee}`),G.prev.type==="bos"&&(A.negatedExtglob=!0)}Ae({type:"paren",extglob:!0,value:D,output:Ce}),ae("parens")};if(r.fastpaths!==!1&&!/(^[*!]|[/()[\]{}"])/.test(t)){let G=!1,Ce=t.replace(dde,(ee,Ue,Oe,vt,dt,ri)=>vt==="\\"?(G=!0,ee):vt==="?"?Ue?Ue+vt+(dt?b.repeat(dt.length):""):ri===0?ne+(dt?b.repeat(dt.length):""):b.repeat(Oe.length):vt==="."?g.repeat(Oe.length):vt==="*"?Ue?Ue+vt+(dt?q:""):q:Ue?ee:`\\${ee}`);return G===!0&&(r.unescape===!0?Ce=Ce.replace(/\\/g,""):Ce=Ce.replace(/\\+/g,ee=>ee.length%2==0?"\\\\":ee?"\\":"")),Ce===t&&r.contains===!0?(A.output=t,A):(A.output=Fn.wrapOutput(Ce,A,e),A)}for(;!he();){if(D=Ne(),D==="\0")continue;if(D==="\\"){let ee=pe();if(ee==="/"&&r.bash!==!0||ee==="."||ee===";")continue;if(!ee){D+="\\",Ae({type:"text",value:D});continue}let Ue=/^\\+/.exec(Pe()),Oe=0;if(Ue&&Ue[0].length>2&&(Oe=Ue[0].length,A.index+=Oe,Oe%2!=0&&(D+="\\")),r.unescape===!0?D=Ne()||"":D+=Ne()||"",A.brackets===0){Ae({type:"text",value:D});continue}}if(A.brackets>0&&(D!=="]"||F.value==="["||F.value==="[^")){if(r.posix!==!1&&D===":"){let ee=F.value.slice(1);if(ee.includes("[")&&(F.posix=!0,ee.includes(":"))){let Ue=F.value.lastIndexOf("["),Oe=F.value.slice(0,Ue),vt=F.value.slice(Ue+2),dt=hde[vt];if(dt){F.value=Oe+dt,A.backtrack=!0,Ne(),!s.output&&o.indexOf(F)===1&&(s.output=p);continue}}}(D==="["&&pe()!==":"||D==="-"&&pe()==="]")&&(D=`\\${D}`),D==="]"&&(F.value==="["||F.value==="[^")&&(D=`\\${D}`),r.posix===!0&&D==="!"&&F.value==="["&&(D="^"),F.value+=D,re({value:D});continue}if(A.quotes===1&&D!=='"'){D=Fn.escapeRegex(D),F.value+=D,re({value:D});continue}if(D==='"'){A.quotes=A.quotes===1?0:1,r.keepQuotes===!0&&Ae({type:"text",value:D});continue}if(D==="("){be("parens"),Ae({type:"paren",value:D});continue}if(D===")"){if(A.parens===0&&r.strictBrackets===!0)throw new SyntaxError(au("opening","("));let ee=V[V.length-1];if(ee&&A.parens===ee.parens+1){$(V.pop());continue}Ae({type:"paren",value:D,output:A.parens?")":"\\)"}),ae("parens");continue}if(D==="["){if(r.nobracket===!0||!Pe().includes("]")){if(r.nobracket!==!0&&r.strictBrackets===!0)throw new SyntaxError(au("closing","]"));D=`\\${D}`}else be("brackets");Ae({type:"bracket",value:D});continue}if(D==="]"){if(r.nobracket===!0||F&&F.type==="bracket"&&F.value.length===1){Ae({type:"text",value:D,output:`\\${D}`});continue}if(A.brackets===0){if(r.strictBrackets===!0)throw new SyntaxError(au("opening","["));Ae({type:"text",value:D,output:`\\${D}`});continue}ae("brackets");let ee=F.value.slice(1);if(F.posix!==!0&&ee[0]==="^"&&!ee.includes("/")&&(D=`/${D}`),F.value+=D,re({value:D}),r.literalBrackets===!1||Fn.hasRegexChars(ee))continue;let Ue=Fn.escapeRegex(F.value);if(A.output=A.output.slice(0,-F.value.length),r.literalBrackets===!0){A.output+=Ue,F.value=Ue;continue}F.value=`(${a}${Ue}|${F.value})`,A.output+=F.value;continue}if(D==="{"&&r.nobrace!==!0){be("braces");let ee={type:"brace",value:D,output:"(",outputIndex:A.output.length,tokensIndex:A.tokens.length};W.push(ee),Ae(ee);continue}if(D==="}"){let ee=W[W.length-1];if(r.nobrace===!0||!ee){Ae({type:"text",value:D,output:D});continue}let Ue=")";if(ee.dots===!0){let Oe=o.slice(),vt=[];for(let dt=Oe.length-1;dt>=0&&(o.pop(),Oe[dt].type!=="brace");dt--)Oe[dt].type!=="dots"&&vt.unshift(Oe[dt].value);Ue=Cde(vt,r),A.backtrack=!0}if(ee.comma!==!0&&ee.dots!==!0){let Oe=A.output.slice(0,ee.outputIndex),vt=A.tokens.slice(ee.tokensIndex);ee.value=ee.output="\\{",D=Ue="\\}",A.output=Oe;for(let dt of vt)A.output+=dt.output||dt.value}Ae({type:"brace",value:D,output:Ue}),ae("braces"),W.pop();continue}if(D==="|"){V.length>0&&V[V.length-1].conditions++,Ae({type:"text",value:D});continue}if(D===","){let ee=D,Ue=W[W.length-1];Ue&&X[X.length-1]==="braces"&&(Ue.comma=!0,ee="|"),Ae({type:"comma",value:D,output:ee});continue}if(D==="/"){if(F.type==="dot"&&A.index===A.start+1){A.start=A.index+1,A.consumed="",A.output="",o.pop(),F=s;continue}Ae({type:"slash",value:D,output:h});continue}if(D==="."){if(A.braces>0&&F.type==="dot"){F.value==="."&&(F.output=g);let ee=W[W.length-1];F.type="dots",F.output+=D,F.value+=D,ee.dots=!0;continue}if(A.braces+A.parens===0&&F.type!=="bos"&&F.type!=="slash"){Ae({type:"text",value:D,output:g});continue}Ae({type:"dot",value:D,output:g});continue}if(D==="?"){if(!(F&&F.value==="(")&&r.noextglob!==!0&&pe()==="("&&pe(2)!=="?"){De("qmark",D);continue}if(F&&F.type==="paren"){let Ue=pe(),Oe=D;if(Ue==="<"&&!Fn.supportsLookbehinds())throw new Error("Node.js v10 or higher is required for regex lookbehinds");(F.value==="("&&!/[!=<:]/.test(Ue)||Ue==="<"&&!/<([!=]|\w+>)/.test(Pe()))&&(Oe=`\\${D}`),Ae({type:"text",value:D,output:Oe});continue}if(r.dot!==!0&&(F.type==="slash"||F.type==="bos")){Ae({type:"qmark",value:D,output:R});continue}Ae({type:"qmark",value:D,output:b});continue}if(D==="!"){if(r.noextglob!==!0&&pe()==="("&&(pe(2)!=="?"||!/[!=<:]/.test(pe(3)))){De("negate",D);continue}if(r.nonegate!==!0&&A.index===0){se();continue}}if(D==="+"){if(r.noextglob!==!0&&pe()==="("&&pe(2)!=="?"){De("plus",D);continue}if(F&&F.value==="("||r.regex===!1){Ae({type:"plus",value:D,output:f});continue}if(F&&(F.type==="bracket"||F.type==="paren"||F.type==="brace")||A.parens>0){Ae({type:"plus",value:D});continue}Ae({type:"plus",value:f});continue}if(D==="@"){if(r.noextglob!==!0&&pe()==="("&&pe(2)!=="?"){Ae({type:"at",extglob:!0,value:D,output:""});continue}Ae({type:"text",value:D});continue}if(D!=="*"){(D==="$"||D==="^")&&(D=`\\${D}`);let ee=pde.exec(Pe());ee&&(D+=ee[0],A.index+=ee[0].length),Ae({type:"text",value:D});continue}if(F&&(F.type==="globstar"||F.star===!0)){F.type="star",F.star=!0,F.value+=D,F.output=q,A.backtrack=!0,A.globstar=!0,qe(D);continue}let G=Pe();if(r.noextglob!==!0&&/^\([^?]/.test(G)){De("star",D);continue}if(F.type==="star"){if(r.noglobstar===!0){qe(D);continue}let ee=F.prev,Ue=ee.prev,Oe=ee.type==="slash"||ee.type==="bos",vt=Ue&&(Ue.type==="star"||Ue.type==="globstar");if(r.bash===!0&&(!Oe||G[0]&&G[0]!=="/")){Ae({type:"star",value:D,output:""});continue}let dt=A.braces>0&&(ee.type==="comma"||ee.type==="brace"),ri=V.length&&(ee.type==="pipe"||ee.type==="paren");if(!Oe&&ee.type!=="paren"&&!dt&&!ri){Ae({type:"star",value:D,output:""});continue}for(;G.slice(0,3)==="/**";){let ii=t[A.index+4];if(ii&&ii!=="/")break;G=G.slice(3),qe("/**",3)}if(ee.type==="bos"&&he()){F.type="globstar",F.value+=D,F.output=K(r),A.output=F.output,A.globstar=!0,qe(D);continue}if(ee.type==="slash"&&ee.prev.type!=="bos"&&!vt&&he()){A.output=A.output.slice(0,-(ee.output+F.output).length),ee.output=`(?:${ee.output}`,F.type="globstar",F.output=K(r)+(r.strictSlashes?")":"|$)"),F.value+=D,A.globstar=!0,A.output+=ee.output+F.output,qe(D);continue}if(ee.type==="slash"&&ee.prev.type!=="bos"&&G[0]==="/"){let ii=G[1]!==void 0?"|$":"";A.output=A.output.slice(0,-(ee.output+F.output).length),ee.output=`(?:${ee.output}`,F.type="globstar",F.output=`${K(r)}${h}|${h}${ii})`,F.value+=D,A.output+=ee.output+F.output,A.globstar=!0,qe(D+Ne()),Ae({type:"slash",value:"/",output:""});continue}if(ee.type==="bos"&&G[0]==="/"){F.type="globstar",F.value+=D,F.output=`(?:^|${h}|${K(r)}${h})`,A.output=F.output,A.globstar=!0,qe(D+Ne()),Ae({type:"slash",value:"/",output:""});continue}A.output=A.output.slice(0,-F.output.length),F.type="globstar",F.output=K(r),F.value+=D,A.output+=F.output,A.globstar=!0,qe(D);continue}let Ce={type:"star",value:D,output:q};if(r.bash===!0){Ce.output=".*?",(F.type==="bos"||F.type==="slash")&&(Ce.output=J+Ce.output),Ae(Ce);continue}if(F&&(F.type==="bracket"||F.type==="paren")&&r.regex===!0){Ce.output=D,Ae(Ce);continue}(A.index===A.start||F.type==="slash"||F.type==="dot")&&(F.type==="dot"?(A.output+=I,F.output+=I):r.dot===!0?(A.output+=B,F.output+=B):(A.output+=J,F.output+=J),pe()!=="*"&&(A.output+=p,F.output+=p)),Ae(Ce)}for(;A.brackets>0;){if(r.strictBrackets===!0)throw new SyntaxError(au("closing","]"));A.output=Fn.escapeLast(A.output,"["),ae("brackets")}for(;A.parens>0;){if(r.strictBrackets===!0)throw new SyntaxError(au("closing",")"));A.output=Fn.escapeLast(A.output,"("),ae("parens")}for(;A.braces>0;){if(r.strictBrackets===!0)throw new SyntaxError(au("closing","}"));A.output=Fn.escapeLast(A.output,"{"),ae("braces")}if(r.strictSlashes!==!0&&(F.type==="star"||F.type==="bracket")&&Ae({type:"maybe_slash",value:"",output:`${h}?`}),A.backtrack===!0){A.output="";for(let G of A.tokens)A.output+=G.output!=null?G.output:G.value,G.suffix&&(A.output+=G.suffix)}return A};eU.fastpaths=(t,e)=>{let r=P({},e),i=typeof r.maxLength=="number"?Math.min(OE,r.maxLength):OE,n=t.length;if(n>i)throw new SyntaxError(`Input length: ${n}, exceeds maximum allowed length: ${i}`);t=$1[t]||t;let s=Fn.isWindows(e),{DOT_LITERAL:o,SLASH_LITERAL:a,ONE_CHAR:l,DOTS_SLASH:c,NO_DOT:u,NO_DOTS:g,NO_DOTS_SLASH:f,STAR:h,START_ANCHOR:p}=ME.globChars(s),d=r.dot?g:u,m=r.dot?f:u,I=r.capture?"":"?:",B={negated:!1,prefix:""},b=r.bash===!0?".*?":h;r.capture&&(b=`(${b})`);let R=J=>J.noglobstar===!0?b:`(${I}(?:(?!${p}${J.dot?c:o}).)*?)`,H=J=>{switch(J){case"*":return`${d}${l}${b}`;case".*":return`${o}${l}${b}`;case"*.*":return`${d}${b}${o}${l}${b}`;case"*/*":return`${d}${b}${a}${l}${m}${b}`;case"**":return d+R(r);case"**/*":return`(?:${d}${R(r)}${a})?${m}${l}${b}`;case"**/*.*":return`(?:${d}${R(r)}${a})?${m}${b}${o}${l}${b}`;case"**/.*":return`(?:${d}${R(r)}${a})?${o}${l}${b}`;default:{let ne=/^(.*?)\.(\w+)$/.exec(J);if(!ne)return;let q=H(ne[1]);return q?q+o+ne[2]:void 0}}},L=Fn.removePrefix(t,B),K=H(L);return K&&r.strictSlashes!==!0&&(K+=`${a}?`),K};Z1.exports=eU});var iU=E((W$e,rU)=>{"use strict";var mde=require("path"),Ede=X1(),tv=tU(),rv=Ch(),Ide=dh(),yde=t=>t&&typeof t=="object"&&!Array.isArray(t),Dr=(t,e,r=!1)=>{if(Array.isArray(t)){let u=t.map(f=>Dr(f,e,r));return f=>{for(let h of u){let p=h(f);if(p)return p}return!1}}let i=yde(t)&&t.tokens&&t.input;if(t===""||typeof t!="string"&&!i)throw new TypeError("Expected pattern to be a non-empty string");let n=e||{},s=rv.isWindows(e),o=i?Dr.compileRe(t,e):Dr.makeRe(t,e,!1,!0),a=o.state;delete o.state;let l=()=>!1;if(n.ignore){let u=_(P({},e),{ignore:null,onMatch:null,onResult:null});l=Dr(n.ignore,u,r)}let c=(u,g=!1)=>{let{isMatch:f,match:h,output:p}=Dr.test(u,o,e,{glob:t,posix:s}),d={glob:t,state:a,regex:o,posix:s,input:u,output:p,match:h,isMatch:f};return typeof n.onResult=="function"&&n.onResult(d),f===!1?(d.isMatch=!1,g?d:!1):l(u)?(typeof n.onIgnore=="function"&&n.onIgnore(d),d.isMatch=!1,g?d:!1):(typeof n.onMatch=="function"&&n.onMatch(d),g?d:!0)};return r&&(c.state=a),c};Dr.test=(t,e,r,{glob:i,posix:n}={})=>{if(typeof t!="string")throw new TypeError("Expected input to be a string");if(t==="")return{isMatch:!1,output:""};let s=r||{},o=s.format||(n?rv.toPosixSlashes:null),a=t===i,l=a&&o?o(t):t;return a===!1&&(l=o?o(t):t,a=l===i),(a===!1||s.capture===!0)&&(s.matchBase===!0||s.basename===!0?a=Dr.matchBase(t,e,r,n):a=e.exec(l)),{isMatch:Boolean(a),match:a,output:l}};Dr.matchBase=(t,e,r,i=rv.isWindows(r))=>(e instanceof RegExp?e:Dr.makeRe(e,r)).test(mde.basename(t));Dr.isMatch=(t,e,r)=>Dr(e,r)(t);Dr.parse=(t,e)=>Array.isArray(t)?t.map(r=>Dr.parse(r,e)):tv(t,_(P({},e),{fastpaths:!1}));Dr.scan=(t,e)=>Ede(t,e);Dr.compileRe=(t,e,r=!1,i=!1)=>{if(r===!0)return t.output;let n=e||{},s=n.contains?"":"^",o=n.contains?"":"$",a=`${s}(?:${t.output})${o}`;t&&t.negated===!0&&(a=`^(?!${a}).*$`);let l=Dr.toRegex(a,e);return i===!0&&(l.state=t),l};Dr.makeRe=(t,e,r=!1,i=!1)=>{if(!t||typeof t!="string")throw new TypeError("Expected a non-empty string");let n=e||{},s={negated:!1,fastpaths:!0},o="",a;return t.startsWith("./")&&(t=t.slice(2),o=s.prefix="./"),n.fastpaths!==!1&&(t[0]==="."||t[0]==="*")&&(a=tv.fastpaths(t,e)),a===void 0?(s=tv(t,e),s.prefix=o+(s.prefix||"")):s.output=a,Dr.compileRe(s,e,r,i)};Dr.toRegex=(t,e)=>{try{let r=e||{};return new RegExp(t,r.flags||(r.nocase?"i":""))}catch(r){if(e&&e.debug===!0)throw r;return/$^/}};Dr.constants=Ide;rU.exports=Dr});var iv=E((z$e,nU)=>{"use strict";nU.exports=iU()});var Nn=E((V$e,sU)=>{"use strict";var oU=require("util"),aU=M1(),no=iv(),nv=Ch(),AU=t=>typeof t=="string"&&(t===""||t==="./"),pr=(t,e,r)=>{e=[].concat(e),t=[].concat(t);let i=new Set,n=new Set,s=new Set,o=0,a=u=>{s.add(u.output),r&&r.onResult&&r.onResult(u)};for(let u=0;u!i.has(u));if(r&&c.length===0){if(r.failglob===!0)throw new Error(`No matches found for "${e.join(", ")}"`);if(r.nonull===!0||r.nullglob===!0)return r.unescape?e.map(u=>u.replace(/\\/g,"")):e}return c};pr.match=pr;pr.matcher=(t,e)=>no(t,e);pr.isMatch=(t,e,r)=>no(e,r)(t);pr.any=pr.isMatch;pr.not=(t,e,r={})=>{e=[].concat(e).map(String);let i=new Set,n=[],s=a=>{r.onResult&&r.onResult(a),n.push(a.output)},o=pr(t,e,_(P({},r),{onResult:s}));for(let a of n)o.includes(a)||i.add(a);return[...i]};pr.contains=(t,e,r)=>{if(typeof t!="string")throw new TypeError(`Expected a string: "${oU.inspect(t)}"`);if(Array.isArray(e))return e.some(i=>pr.contains(t,i,r));if(typeof e=="string"){if(AU(t)||AU(e))return!1;if(t.includes(e)||t.startsWith("./")&&t.slice(2).includes(e))return!0}return pr.isMatch(t,e,_(P({},r),{contains:!0}))};pr.matchKeys=(t,e,r)=>{if(!nv.isObject(t))throw new TypeError("Expected the first argument to be an object");let i=pr(Object.keys(t),e,r),n={};for(let s of i)n[s]=t[s];return n};pr.some=(t,e,r)=>{let i=[].concat(t);for(let n of[].concat(e)){let s=no(String(n),r);if(i.some(o=>s(o)))return!0}return!1};pr.every=(t,e,r)=>{let i=[].concat(t);for(let n of[].concat(e)){let s=no(String(n),r);if(!i.every(o=>s(o)))return!1}return!0};pr.all=(t,e,r)=>{if(typeof t!="string")throw new TypeError(`Expected a string: "${oU.inspect(t)}"`);return[].concat(e).every(i=>no(i,r)(t))};pr.capture=(t,e,r)=>{let i=nv.isWindows(r),s=no.makeRe(String(t),_(P({},r),{capture:!0})).exec(i?nv.toPosixSlashes(e):e);if(s)return s.slice(1).map(o=>o===void 0?"":o)};pr.makeRe=(...t)=>no.makeRe(...t);pr.scan=(...t)=>no.scan(...t);pr.parse=(t,e)=>{let r=[];for(let i of[].concat(t||[]))for(let n of aU(String(i),e))r.push(no.parse(n,e));return r};pr.braces=(t,e)=>{if(typeof t!="string")throw new TypeError("Expected a string");return e&&e.nobrace===!0||!/\{.*\}/.test(t)?[t]:aU(t,e)};pr.braceExpand=(t,e)=>{if(typeof t!="string")throw new TypeError("Expected a string");return pr.braces(t,_(P({},e),{expand:!0}))};sU.exports=pr});var cU=E((_$e,lU)=>{"use strict";lU.exports=({onlyFirst:t=!1}={})=>{let e=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:[a-zA-Z\\d]*(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(e,t?void 0:"g")}});var gU=E((X$e,uU)=>{"use strict";var wde=cU();uU.exports=t=>typeof t=="string"?t.replace(wde(),""):t});var lu={};it(lu,{KeyRelationship:()=>Bl,applyCascade:()=>fv,base64RegExp:()=>CU,colorStringAlphaRegExp:()=>dU,colorStringRegExp:()=>pU,computeKey:()=>rA,getPrintable:()=>Mr,hasExactLength:()=>wU,hasForbiddenKeys:()=>eCe,hasKeyRelationship:()=>pv,hasMaxLength:()=>Mde,hasMinLength:()=>Tde,hasMutuallyExclusiveKeys:()=>tCe,hasRequiredKeys:()=>$de,hasUniqueItems:()=>Ode,isArray:()=>xde,isAtLeast:()=>Hde,isAtMost:()=>Gde,isBase64:()=>Xde,isBoolean:()=>bde,isDate:()=>Sde,isDict:()=>Pde,isEnum:()=>Yi,isHexColor:()=>_de,isISO8601:()=>Vde,isInExclusiveRange:()=>Yde,isInInclusiveRange:()=>jde,isInstanceOf:()=>Rde,isInteger:()=>qde,isJSON:()=>Zde,isLiteral:()=>Bde,isLowerCase:()=>Jde,isNegative:()=>Kde,isNullable:()=>Lde,isNumber:()=>vde,isObject:()=>Dde,isOneOf:()=>Fde,isOptional:()=>Nde,isPositive:()=>Ude,isString:()=>gv,isTuple:()=>kde,isUUID4:()=>zde,isUnknown:()=>yU,isUpperCase:()=>Wde,iso8601RegExp:()=>uv,makeCoercionFn:()=>wl,makeSetter:()=>IU,makeTrait:()=>EU,makeValidator:()=>Ct,matchesRegExp:()=>hv,plural:()=>GE,pushError:()=>at,simpleKeyRegExp:()=>hU,uuid4RegExp:()=>mU});function Ct({test:t}){return EU(t)()}function Mr(t){return t===null?"null":t===void 0?"undefined":t===""?"an empty string":JSON.stringify(t)}function rA(t,e){var r,i,n;return typeof e=="number"?`${(r=t==null?void 0:t.p)!==null&&r!==void 0?r:"."}[${e}]`:hU.test(e)?`${(i=t==null?void 0:t.p)!==null&&i!==void 0?i:""}.${e}`:`${(n=t==null?void 0:t.p)!==null&&n!==void 0?n:"."}[${JSON.stringify(e)}]`}function wl(t,e){return r=>{let i=t[e];return t[e]=r,wl(t,e).bind(null,i)}}function IU(t,e){return r=>{t[e]=r}}function GE(t,e,r){return t===1?e:r}function at({errors:t,p:e}={},r){return t==null||t.push(`${e!=null?e:"."}: ${r}`),!1}function Bde(t){return Ct({test:(e,r)=>e!==t?at(r,`Expected a literal (got ${Mr(t)})`):!0})}function Yi(t){let e=Array.isArray(t)?t:Object.values(t),r=new Set(e);return Ct({test:(i,n)=>r.has(i)?!0:at(n,`Expected a valid enumeration value (got ${Mr(i)})`)})}var hU,pU,dU,CU,mU,uv,EU,yU,gv,Qde,bde,vde,Sde,xde,kde,Pde,Dde,Rde,Fde,fv,Nde,Lde,Tde,Mde,wU,Ode,Kde,Ude,Hde,Gde,jde,Yde,qde,hv,Jde,Wde,zde,Vde,_de,Xde,Zde,$de,eCe,tCe,Bl,rCe,pv,Ss=Yfe(()=>{hU=/^[a-zA-Z_][a-zA-Z0-9_]*$/,pU=/^#[0-9a-f]{6}$/i,dU=/^#[0-9a-f]{6}([0-9a-f]{2})?$/i,CU=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/,mU=/^[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89aAbB][a-f0-9]{3}-[a-f0-9]{12}$/i,uv=/^(?:[1-9]\d{3}(-?)(?:(?:0[1-9]|1[0-2])\1(?:0[1-9]|1\d|2[0-8])|(?:0[13-9]|1[0-2])\1(?:29|30)|(?:0[13578]|1[02])(?:\1)31|00[1-9]|0[1-9]\d|[12]\d{2}|3(?:[0-5]\d|6[0-5]))|(?:[1-9]\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)(?:(-?)02(?:\2)29|-?366))T(?:[01]\d|2[0-3])(:?)[0-5]\d(?:\3[0-5]\d)?(?:Z|[+-][01]\d(?:\3[0-5]\d)?)$/,EU=t=>()=>t;yU=()=>Ct({test:(t,e)=>!0});gv=()=>Ct({test:(t,e)=>typeof t!="string"?at(e,`Expected a string (got ${Mr(t)})`):!0});Qde=new Map([["true",!0],["True",!0],["1",!0],[1,!0],["false",!1],["False",!1],["0",!1],[0,!1]]),bde=()=>Ct({test:(t,e)=>{var r;if(typeof t!="boolean"){if(typeof(e==null?void 0:e.coercions)!="undefined"){if(typeof(e==null?void 0:e.coercion)=="undefined")return at(e,"Unbound coercion result");let i=Qde.get(t);if(typeof i!="undefined")return e.coercions.push([(r=e.p)!==null&&r!==void 0?r:".",e.coercion.bind(null,i)]),!0}return at(e,`Expected a boolean (got ${Mr(t)})`)}return!0}}),vde=()=>Ct({test:(t,e)=>{var r;if(typeof t!="number"){if(typeof(e==null?void 0:e.coercions)!="undefined"){if(typeof(e==null?void 0:e.coercion)=="undefined")return at(e,"Unbound coercion result");let i;if(typeof t=="string"){let n;try{n=JSON.parse(t)}catch(s){}if(typeof n=="number")if(JSON.stringify(n)===t)i=n;else return at(e,`Received a number that can't be safely represented by the runtime (${t})`)}if(typeof i!="undefined")return e.coercions.push([(r=e.p)!==null&&r!==void 0?r:".",e.coercion.bind(null,i)]),!0}return at(e,`Expected a number (got ${Mr(t)})`)}return!0}}),Sde=()=>Ct({test:(t,e)=>{var r;if(!(t instanceof Date)){if(typeof(e==null?void 0:e.coercions)!="undefined"){if(typeof(e==null?void 0:e.coercion)=="undefined")return at(e,"Unbound coercion result");let i;if(typeof t=="string"&&uv.test(t))i=new Date(t);else{let n;if(typeof t=="string"){let s;try{s=JSON.parse(t)}catch(o){}typeof s=="number"&&(n=s)}else typeof t=="number"&&(n=t);if(typeof n!="undefined")if(Number.isSafeInteger(n)||!Number.isSafeInteger(n*1e3))i=new Date(n*1e3);else return at(e,`Received a timestamp that can't be safely represented by the runtime (${t})`)}if(typeof i!="undefined")return e.coercions.push([(r=e.p)!==null&&r!==void 0?r:".",e.coercion.bind(null,i)]),!0}return at(e,`Expected a date (got ${Mr(t)})`)}return!0}}),xde=(t,{delimiter:e}={})=>Ct({test:(r,i)=>{var n;if(typeof r=="string"&&typeof e!="undefined"&&typeof(i==null?void 0:i.coercions)!="undefined"){if(typeof(i==null?void 0:i.coercion)=="undefined")return at(i,"Unbound coercion result");r=r.split(e),i.coercions.push([(n=i.p)!==null&&n!==void 0?n:".",i.coercion.bind(null,r)])}if(!Array.isArray(r))return at(i,`Expected an array (got ${Mr(r)})`);let s=!0;for(let o=0,a=r.length;o{let r=wU(t.length);return Ct({test:(i,n)=>{var s;if(typeof i=="string"&&typeof e!="undefined"&&typeof(n==null?void 0:n.coercions)!="undefined"){if(typeof(n==null?void 0:n.coercion)=="undefined")return at(n,"Unbound coercion result");i=i.split(e),n.coercions.push([(s=n.p)!==null&&s!==void 0?s:".",n.coercion.bind(null,i)])}if(!Array.isArray(i))return at(n,`Expected a tuple (got ${Mr(i)})`);let o=r(i,Object.assign({},n));for(let a=0,l=i.length;aCt({test:(r,i)=>{if(typeof r!="object"||r===null)return at(i,`Expected an object (got ${Mr(r)})`);let n=Object.keys(r),s=!0;for(let o=0,a=n.length;o{let r=Object.keys(t);return Ct({test:(i,n)=>{if(typeof i!="object"||i===null)return at(n,`Expected an object (got ${Mr(i)})`);let s=new Set([...r,...Object.keys(i)]),o={},a=!0;for(let l of s){if(l==="constructor"||l==="__proto__")a=at(Object.assign(Object.assign({},n),{p:rA(n,l)}),"Unsafe property name");else{let c=Object.prototype.hasOwnProperty.call(t,l)?t[l]:void 0,u=Object.prototype.hasOwnProperty.call(i,l)?i[l]:void 0;typeof c!="undefined"?a=c(u,Object.assign(Object.assign({},n),{p:rA(n,l),coercion:wl(i,l)}))&&a:e===null?a=at(Object.assign(Object.assign({},n),{p:rA(n,l)}),`Extraneous property (got ${Mr(u)})`):Object.defineProperty(o,l,{enumerable:!0,get:()=>u,set:IU(i,l)})}if(!a&&(n==null?void 0:n.errors)==null)break}return e!==null&&(a||(n==null?void 0:n.errors)!=null)&&(a=e(o,n)&&a),a}})},Rde=t=>Ct({test:(e,r)=>e instanceof t?!0:at(r,`Expected an instance of ${t.name} (got ${Mr(e)})`)}),Fde=(t,{exclusive:e=!1}={})=>Ct({test:(r,i)=>{var n,s,o;let a=[],l=typeof(i==null?void 0:i.errors)!="undefined"?[]:void 0;for(let c=0,u=t.length;c1?at(i,`Expected to match exactly a single predicate (matched ${a.join(", ")})`):(o=i==null?void 0:i.errors)===null||o===void 0||o.push(...l),!1}}),fv=(t,e)=>Ct({test:(r,i)=>{var n,s;let o={value:r},a=typeof(i==null?void 0:i.coercions)!="undefined"?wl(o,"value"):void 0,l=typeof(i==null?void 0:i.coercions)!="undefined"?[]:void 0;if(!t(r,Object.assign(Object.assign({},i),{coercion:a,coercions:l})))return!1;let c=[];if(typeof l!="undefined")for(let[,u]of l)c.push(u());try{if(typeof(i==null?void 0:i.coercions)!="undefined"){if(o.value!==r){if(typeof(i==null?void 0:i.coercion)=="undefined")return at(i,"Unbound coercion result");i.coercions.push([(n=i.p)!==null&&n!==void 0?n:".",i.coercion.bind(null,o.value)])}(s=i==null?void 0:i.coercions)===null||s===void 0||s.push(...l)}return e.every(u=>u(o.value,i))}finally{for(let u of c)u()}}}),Nde=t=>Ct({test:(e,r)=>typeof e=="undefined"?!0:t(e,r)}),Lde=t=>Ct({test:(e,r)=>e===null?!0:t(e,r)}),Tde=t=>Ct({test:(e,r)=>e.length>=t?!0:at(r,`Expected to have a length of at least ${t} elements (got ${e.length})`)}),Mde=t=>Ct({test:(e,r)=>e.length<=t?!0:at(r,`Expected to have a length of at most ${t} elements (got ${e.length})`)}),wU=t=>Ct({test:(e,r)=>e.length!==t?at(r,`Expected to have a length of exactly ${t} elements (got ${e.length})`):!0}),Ode=({map:t}={})=>Ct({test:(e,r)=>{let i=new Set,n=new Set;for(let s=0,o=e.length;sCt({test:(t,e)=>t<=0?!0:at(e,`Expected to be negative (got ${t})`)}),Ude=()=>Ct({test:(t,e)=>t>=0?!0:at(e,`Expected to be positive (got ${t})`)}),Hde=t=>Ct({test:(e,r)=>e>=t?!0:at(r,`Expected to be at least ${t} (got ${e})`)}),Gde=t=>Ct({test:(e,r)=>e<=t?!0:at(r,`Expected to be at most ${t} (got ${e})`)}),jde=(t,e)=>Ct({test:(r,i)=>r>=t&&r<=e?!0:at(i,`Expected to be in the [${t}; ${e}] range (got ${r})`)}),Yde=(t,e)=>Ct({test:(r,i)=>r>=t&&rCt({test:(e,r)=>e!==Math.round(e)?at(r,`Expected to be an integer (got ${e})`):Number.isSafeInteger(e)?!0:at(r,`Expected to be a safe integer (got ${e})`)}),hv=t=>Ct({test:(e,r)=>t.test(e)?!0:at(r,`Expected to match the pattern ${t.toString()} (got ${Mr(e)})`)}),Jde=()=>Ct({test:(t,e)=>t!==t.toLowerCase()?at(e,`Expected to be all-lowercase (got ${t})`):!0}),Wde=()=>Ct({test:(t,e)=>t!==t.toUpperCase()?at(e,`Expected to be all-uppercase (got ${t})`):!0}),zde=()=>Ct({test:(t,e)=>mU.test(t)?!0:at(e,`Expected to be a valid UUID v4 (got ${Mr(t)})`)}),Vde=()=>Ct({test:(t,e)=>uv.test(t)?!1:at(e,`Expected to be a valid ISO 8601 date string (got ${Mr(t)})`)}),_de=({alpha:t=!1})=>Ct({test:(e,r)=>(t?pU.test(e):dU.test(e))?!0:at(r,`Expected to be a valid hexadecimal color string (got ${Mr(e)})`)}),Xde=()=>Ct({test:(t,e)=>CU.test(t)?!0:at(e,`Expected to be a valid base 64 string (got ${Mr(t)})`)}),Zde=(t=yU())=>Ct({test:(e,r)=>{let i;try{i=JSON.parse(e)}catch(n){return at(r,`Expected to be a valid JSON string (got ${Mr(e)})`)}return t(i,r)}}),$de=t=>{let e=new Set(t);return Ct({test:(r,i)=>{let n=new Set(Object.keys(r)),s=[];for(let o of e)n.has(o)||s.push(o);return s.length>0?at(i,`Missing required ${GE(s.length,"property","properties")} ${s.map(o=>`"${o}"`).join(", ")}`):!0}})},eCe=t=>{let e=new Set(t);return Ct({test:(r,i)=>{let n=new Set(Object.keys(r)),s=[];for(let o of e)n.has(o)&&s.push(o);return s.length>0?at(i,`Forbidden ${GE(s.length,"property","properties")} ${s.map(o=>`"${o}"`).join(", ")}`):!0}})},tCe=t=>{let e=new Set(t);return Ct({test:(r,i)=>{let n=new Set(Object.keys(r)),s=[];for(let o of e)n.has(o)&&s.push(o);return s.length>1?at(i,`Mutually exclusive properties ${s.map(o=>`"${o}"`).join(", ")}`):!0}})};(function(t){t.Forbids="Forbids",t.Requires="Requires"})(Bl||(Bl={}));rCe={[Bl.Forbids]:{expect:!1,message:"forbids using"},[Bl.Requires]:{expect:!0,message:"requires using"}},pv=(t,e,r,{ignore:i=[]}={})=>{let n=new Set(i),s=new Set(r),o=rCe[e];return Ct({test:(a,l)=>{let c=new Set(Object.keys(a));if(!c.has(t)||n.has(a[t]))return!0;let u=[];for(let g of s)(c.has(g)&&!n.has(a[g]))!==o.expect&&u.push(g);return u.length>=1?at(l,`Property "${t}" ${o.message} ${GE(u.length,"property","properties")} ${u.map(g=>`"${g}"`).join(", ")}`):!0}})}});var Sh=E(($et,OU)=>{var mCe="2.0.0",ECe=256,ICe=Number.MAX_SAFE_INTEGER||9007199254740991,yCe=16;OU.exports={SEMVER_SPEC_VERSION:mCe,MAX_LENGTH:ECe,MAX_SAFE_INTEGER:ICe,MAX_SAFE_COMPONENT_LENGTH:yCe}});var xh=E((ett,KU)=>{var wCe=typeof process=="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...t)=>console.error("SEMVER",...t):()=>{};KU.exports=wCe});var Ql=E((iA,UU)=>{var{MAX_SAFE_COMPONENT_LENGTH:yv}=Sh(),BCe=xh();iA=UU.exports={};var QCe=iA.re=[],Je=iA.src=[],We=iA.t={},bCe=0,mt=(t,e,r)=>{let i=bCe++;BCe(i,e),We[t]=i,Je[i]=e,QCe[i]=new RegExp(e,r?"g":void 0)};mt("NUMERICIDENTIFIER","0|[1-9]\\d*");mt("NUMERICIDENTIFIERLOOSE","[0-9]+");mt("NONNUMERICIDENTIFIER","\\d*[a-zA-Z-][a-zA-Z0-9-]*");mt("MAINVERSION",`(${Je[We.NUMERICIDENTIFIER]})\\.(${Je[We.NUMERICIDENTIFIER]})\\.(${Je[We.NUMERICIDENTIFIER]})`);mt("MAINVERSIONLOOSE",`(${Je[We.NUMERICIDENTIFIERLOOSE]})\\.(${Je[We.NUMERICIDENTIFIERLOOSE]})\\.(${Je[We.NUMERICIDENTIFIERLOOSE]})`);mt("PRERELEASEIDENTIFIER",`(?:${Je[We.NUMERICIDENTIFIER]}|${Je[We.NONNUMERICIDENTIFIER]})`);mt("PRERELEASEIDENTIFIERLOOSE",`(?:${Je[We.NUMERICIDENTIFIERLOOSE]}|${Je[We.NONNUMERICIDENTIFIER]})`);mt("PRERELEASE",`(?:-(${Je[We.PRERELEASEIDENTIFIER]}(?:\\.${Je[We.PRERELEASEIDENTIFIER]})*))`);mt("PRERELEASELOOSE",`(?:-?(${Je[We.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${Je[We.PRERELEASEIDENTIFIERLOOSE]})*))`);mt("BUILDIDENTIFIER","[0-9A-Za-z-]+");mt("BUILD",`(?:\\+(${Je[We.BUILDIDENTIFIER]}(?:\\.${Je[We.BUILDIDENTIFIER]})*))`);mt("FULLPLAIN",`v?${Je[We.MAINVERSION]}${Je[We.PRERELEASE]}?${Je[We.BUILD]}?`);mt("FULL",`^${Je[We.FULLPLAIN]}$`);mt("LOOSEPLAIN",`[v=\\s]*${Je[We.MAINVERSIONLOOSE]}${Je[We.PRERELEASELOOSE]}?${Je[We.BUILD]}?`);mt("LOOSE",`^${Je[We.LOOSEPLAIN]}$`);mt("GTLT","((?:<|>)?=?)");mt("XRANGEIDENTIFIERLOOSE",`${Je[We.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`);mt("XRANGEIDENTIFIER",`${Je[We.NUMERICIDENTIFIER]}|x|X|\\*`);mt("XRANGEPLAIN",`[v=\\s]*(${Je[We.XRANGEIDENTIFIER]})(?:\\.(${Je[We.XRANGEIDENTIFIER]})(?:\\.(${Je[We.XRANGEIDENTIFIER]})(?:${Je[We.PRERELEASE]})?${Je[We.BUILD]}?)?)?`);mt("XRANGEPLAINLOOSE",`[v=\\s]*(${Je[We.XRANGEIDENTIFIERLOOSE]})(?:\\.(${Je[We.XRANGEIDENTIFIERLOOSE]})(?:\\.(${Je[We.XRANGEIDENTIFIERLOOSE]})(?:${Je[We.PRERELEASELOOSE]})?${Je[We.BUILD]}?)?)?`);mt("XRANGE",`^${Je[We.GTLT]}\\s*${Je[We.XRANGEPLAIN]}$`);mt("XRANGELOOSE",`^${Je[We.GTLT]}\\s*${Je[We.XRANGEPLAINLOOSE]}$`);mt("COERCE",`(^|[^\\d])(\\d{1,${yv}})(?:\\.(\\d{1,${yv}}))?(?:\\.(\\d{1,${yv}}))?(?:$|[^\\d])`);mt("COERCERTL",Je[We.COERCE],!0);mt("LONETILDE","(?:~>?)");mt("TILDETRIM",`(\\s*)${Je[We.LONETILDE]}\\s+`,!0);iA.tildeTrimReplace="$1~";mt("TILDE",`^${Je[We.LONETILDE]}${Je[We.XRANGEPLAIN]}$`);mt("TILDELOOSE",`^${Je[We.LONETILDE]}${Je[We.XRANGEPLAINLOOSE]}$`);mt("LONECARET","(?:\\^)");mt("CARETTRIM",`(\\s*)${Je[We.LONECARET]}\\s+`,!0);iA.caretTrimReplace="$1^";mt("CARET",`^${Je[We.LONECARET]}${Je[We.XRANGEPLAIN]}$`);mt("CARETLOOSE",`^${Je[We.LONECARET]}${Je[We.XRANGEPLAINLOOSE]}$`);mt("COMPARATORLOOSE",`^${Je[We.GTLT]}\\s*(${Je[We.LOOSEPLAIN]})$|^$`);mt("COMPARATOR",`^${Je[We.GTLT]}\\s*(${Je[We.FULLPLAIN]})$|^$`);mt("COMPARATORTRIM",`(\\s*)${Je[We.GTLT]}\\s*(${Je[We.LOOSEPLAIN]}|${Je[We.XRANGEPLAIN]})`,!0);iA.comparatorTrimReplace="$1$2$3";mt("HYPHENRANGE",`^\\s*(${Je[We.XRANGEPLAIN]})\\s+-\\s+(${Je[We.XRANGEPLAIN]})\\s*$`);mt("HYPHENRANGELOOSE",`^\\s*(${Je[We.XRANGEPLAINLOOSE]})\\s+-\\s+(${Je[We.XRANGEPLAINLOOSE]})\\s*$`);mt("STAR","(<|>)?=?\\s*\\*");mt("GTE0","^\\s*>=\\s*0.0.0\\s*$");mt("GTE0PRE","^\\s*>=\\s*0.0.0-0\\s*$")});var kh=E((ttt,HU)=>{var vCe=["includePrerelease","loose","rtl"],SCe=t=>t?typeof t!="object"?{loose:!0}:vCe.filter(e=>t[e]).reduce((e,r)=>(e[r]=!0,e),{}):{};HU.exports=SCe});var zE=E((rtt,GU)=>{var jU=/^[0-9]+$/,YU=(t,e)=>{let r=jU.test(t),i=jU.test(e);return r&&i&&(t=+t,e=+e),t===e?0:r&&!i?-1:i&&!r?1:tYU(e,t);GU.exports={compareIdentifiers:YU,rcompareIdentifiers:xCe}});var bi=E((itt,qU)=>{var VE=xh(),{MAX_LENGTH:JU,MAX_SAFE_INTEGER:_E}=Sh(),{re:WU,t:zU}=Ql(),kCe=kh(),{compareIdentifiers:Ph}=zE(),_n=class{constructor(e,r){if(r=kCe(r),e instanceof _n){if(e.loose===!!r.loose&&e.includePrerelease===!!r.includePrerelease)return e;e=e.version}else if(typeof e!="string")throw new TypeError(`Invalid Version: ${e}`);if(e.length>JU)throw new TypeError(`version is longer than ${JU} characters`);VE("SemVer",e,r),this.options=r,this.loose=!!r.loose,this.includePrerelease=!!r.includePrerelease;let i=e.trim().match(r.loose?WU[zU.LOOSE]:WU[zU.FULL]);if(!i)throw new TypeError(`Invalid Version: ${e}`);if(this.raw=e,this.major=+i[1],this.minor=+i[2],this.patch=+i[3],this.major>_E||this.major<0)throw new TypeError("Invalid major version");if(this.minor>_E||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>_E||this.patch<0)throw new TypeError("Invalid patch version");i[4]?this.prerelease=i[4].split(".").map(n=>{if(/^[0-9]+$/.test(n)){let s=+n;if(s>=0&&s<_E)return s}return n}):this.prerelease=[],this.build=i[5]?i[5].split("."):[],this.format()}format(){return this.version=`${this.major}.${this.minor}.${this.patch}`,this.prerelease.length&&(this.version+=`-${this.prerelease.join(".")}`),this.version}toString(){return this.version}compare(e){if(VE("SemVer.compare",this.version,this.options,e),!(e instanceof _n)){if(typeof e=="string"&&e===this.version)return 0;e=new _n(e,this.options)}return e.version===this.version?0:this.compareMain(e)||this.comparePre(e)}compareMain(e){return e instanceof _n||(e=new _n(e,this.options)),Ph(this.major,e.major)||Ph(this.minor,e.minor)||Ph(this.patch,e.patch)}comparePre(e){if(e instanceof _n||(e=new _n(e,this.options)),this.prerelease.length&&!e.prerelease.length)return-1;if(!this.prerelease.length&&e.prerelease.length)return 1;if(!this.prerelease.length&&!e.prerelease.length)return 0;let r=0;do{let i=this.prerelease[r],n=e.prerelease[r];if(VE("prerelease compare",r,i,n),i===void 0&&n===void 0)return 0;if(n===void 0)return 1;if(i===void 0)return-1;if(i===n)continue;return Ph(i,n)}while(++r)}compareBuild(e){e instanceof _n||(e=new _n(e,this.options));let r=0;do{let i=this.build[r],n=e.build[r];if(VE("prerelease compare",r,i,n),i===void 0&&n===void 0)return 0;if(n===void 0)return 1;if(i===void 0)return-1;if(i===n)continue;return Ph(i,n)}while(++r)}inc(e,r){switch(e){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",r);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",r);break;case"prepatch":this.prerelease.length=0,this.inc("patch",r),this.inc("pre",r);break;case"prerelease":this.prerelease.length===0&&this.inc("patch",r),this.inc("pre",r);break;case"major":(this.minor!==0||this.patch!==0||this.prerelease.length===0)&&this.major++,this.minor=0,this.patch=0,this.prerelease=[];break;case"minor":(this.patch!==0||this.prerelease.length===0)&&this.minor++,this.patch=0,this.prerelease=[];break;case"patch":this.prerelease.length===0&&this.patch++,this.prerelease=[];break;case"pre":if(this.prerelease.length===0)this.prerelease=[0];else{let i=this.prerelease.length;for(;--i>=0;)typeof this.prerelease[i]=="number"&&(this.prerelease[i]++,i=-2);i===-1&&this.prerelease.push(0)}r&&(this.prerelease[0]===r?isNaN(this.prerelease[1])&&(this.prerelease=[r,0]):this.prerelease=[r,0]);break;default:throw new Error(`invalid increment argument: ${e}`)}return this.format(),this.raw=this.version,this}};qU.exports=_n});var bl=E((ntt,VU)=>{var{MAX_LENGTH:PCe}=Sh(),{re:_U,t:XU}=Ql(),ZU=bi(),DCe=kh(),RCe=(t,e)=>{if(e=DCe(e),t instanceof ZU)return t;if(typeof t!="string"||t.length>PCe||!(e.loose?_U[XU.LOOSE]:_U[XU.FULL]).test(t))return null;try{return new ZU(t,e)}catch(i){return null}};VU.exports=RCe});var e2=E((stt,$U)=>{var FCe=bl(),NCe=(t,e)=>{let r=FCe(t,e);return r?r.version:null};$U.exports=NCe});var r2=E((ott,t2)=>{var LCe=bl(),TCe=(t,e)=>{let r=LCe(t.trim().replace(/^[=v]+/,""),e);return r?r.version:null};t2.exports=TCe});var n2=E((att,i2)=>{var MCe=bi(),OCe=(t,e,r,i)=>{typeof r=="string"&&(i=r,r=void 0);try{return new MCe(t,r).inc(e,i).version}catch(n){return null}};i2.exports=OCe});var Xn=E((Att,s2)=>{var o2=bi(),KCe=(t,e,r)=>new o2(t,r).compare(new o2(e,r));s2.exports=KCe});var XE=E((ltt,a2)=>{var UCe=Xn(),HCe=(t,e,r)=>UCe(t,e,r)===0;a2.exports=HCe});var c2=E((ctt,A2)=>{var l2=bl(),GCe=XE(),jCe=(t,e)=>{if(GCe(t,e))return null;{let r=l2(t),i=l2(e),n=r.prerelease.length||i.prerelease.length,s=n?"pre":"",o=n?"prerelease":"";for(let a in r)if((a==="major"||a==="minor"||a==="patch")&&r[a]!==i[a])return s+a;return o}};A2.exports=jCe});var g2=E((utt,u2)=>{var YCe=bi(),qCe=(t,e)=>new YCe(t,e).major;u2.exports=qCe});var h2=E((gtt,f2)=>{var JCe=bi(),WCe=(t,e)=>new JCe(t,e).minor;f2.exports=WCe});var d2=E((ftt,p2)=>{var zCe=bi(),VCe=(t,e)=>new zCe(t,e).patch;p2.exports=VCe});var m2=E((htt,C2)=>{var _Ce=bl(),XCe=(t,e)=>{let r=_Ce(t,e);return r&&r.prerelease.length?r.prerelease:null};C2.exports=XCe});var I2=E((ptt,E2)=>{var ZCe=Xn(),$Ce=(t,e,r)=>ZCe(e,t,r);E2.exports=$Ce});var w2=E((dtt,y2)=>{var eme=Xn(),tme=(t,e)=>eme(t,e,!0);y2.exports=tme});var ZE=E((Ctt,B2)=>{var Q2=bi(),rme=(t,e,r)=>{let i=new Q2(t,r),n=new Q2(e,r);return i.compare(n)||i.compareBuild(n)};B2.exports=rme});var v2=E((mtt,b2)=>{var ime=ZE(),nme=(t,e)=>t.sort((r,i)=>ime(r,i,e));b2.exports=nme});var x2=E((Ett,S2)=>{var sme=ZE(),ome=(t,e)=>t.sort((r,i)=>sme(i,r,e));S2.exports=ome});var Dh=E((Itt,k2)=>{var ame=Xn(),Ame=(t,e,r)=>ame(t,e,r)>0;k2.exports=Ame});var $E=E((ytt,P2)=>{var lme=Xn(),cme=(t,e,r)=>lme(t,e,r)<0;P2.exports=cme});var wv=E((wtt,D2)=>{var ume=Xn(),gme=(t,e,r)=>ume(t,e,r)!==0;D2.exports=gme});var eI=E((Btt,R2)=>{var fme=Xn(),hme=(t,e,r)=>fme(t,e,r)>=0;R2.exports=hme});var tI=E((Qtt,F2)=>{var pme=Xn(),dme=(t,e,r)=>pme(t,e,r)<=0;F2.exports=dme});var Bv=E((btt,N2)=>{var Cme=XE(),mme=wv(),Eme=Dh(),Ime=eI(),yme=$E(),wme=tI(),Bme=(t,e,r,i)=>{switch(e){case"===":return typeof t=="object"&&(t=t.version),typeof r=="object"&&(r=r.version),t===r;case"!==":return typeof t=="object"&&(t=t.version),typeof r=="object"&&(r=r.version),t!==r;case"":case"=":case"==":return Cme(t,r,i);case"!=":return mme(t,r,i);case">":return Eme(t,r,i);case">=":return Ime(t,r,i);case"<":return yme(t,r,i);case"<=":return wme(t,r,i);default:throw new TypeError(`Invalid operator: ${e}`)}};N2.exports=Bme});var T2=E((vtt,L2)=>{var Qme=bi(),bme=bl(),{re:rI,t:iI}=Ql(),vme=(t,e)=>{if(t instanceof Qme)return t;if(typeof t=="number"&&(t=String(t)),typeof t!="string")return null;e=e||{};let r=null;if(!e.rtl)r=t.match(rI[iI.COERCE]);else{let i;for(;(i=rI[iI.COERCERTL].exec(t))&&(!r||r.index+r[0].length!==t.length);)(!r||i.index+i[0].length!==r.index+r[0].length)&&(r=i),rI[iI.COERCERTL].lastIndex=i.index+i[1].length+i[2].length;rI[iI.COERCERTL].lastIndex=-1}return r===null?null:bme(`${r[2]}.${r[3]||"0"}.${r[4]||"0"}`,e)};L2.exports=vme});var O2=E((Stt,M2)=>{"use strict";M2.exports=function(t){t.prototype[Symbol.iterator]=function*(){for(let e=this.head;e;e=e.next)yield e.value}}});var Rh=E((xtt,K2)=>{"use strict";K2.exports=Pt;Pt.Node=vl;Pt.create=Pt;function Pt(t){var e=this;if(e instanceof Pt||(e=new Pt),e.tail=null,e.head=null,e.length=0,t&&typeof t.forEach=="function")t.forEach(function(n){e.push(n)});else if(arguments.length>0)for(var r=0,i=arguments.length;r1)r=e;else if(this.head)i=this.head.next,r=this.head.value;else throw new TypeError("Reduce of empty list with no initial value");for(var n=0;i!==null;n++)r=t(r,i.value,n),i=i.next;return r};Pt.prototype.reduceReverse=function(t,e){var r,i=this.tail;if(arguments.length>1)r=e;else if(this.tail)i=this.tail.prev,r=this.tail.value;else throw new TypeError("Reduce of empty list with no initial value");for(var n=this.length-1;i!==null;n--)r=t(r,i.value,n),i=i.prev;return r};Pt.prototype.toArray=function(){for(var t=new Array(this.length),e=0,r=this.head;r!==null;e++)t[e]=r.value,r=r.next;return t};Pt.prototype.toArrayReverse=function(){for(var t=new Array(this.length),e=0,r=this.tail;r!==null;e++)t[e]=r.value,r=r.prev;return t};Pt.prototype.slice=function(t,e){e=e||this.length,e<0&&(e+=this.length),t=t||0,t<0&&(t+=this.length);var r=new Pt;if(ethis.length&&(e=this.length);for(var i=0,n=this.head;n!==null&&ithis.length&&(e=this.length);for(var i=this.length,n=this.tail;n!==null&&i>e;i--)n=n.prev;for(;n!==null&&i>t;i--,n=n.prev)r.push(n.value);return r};Pt.prototype.splice=function(t,e,...r){t>this.length&&(t=this.length-1),t<0&&(t=this.length+t);for(var i=0,n=this.head;n!==null&&i{"use strict";var Pme=Rh(),Sl=Symbol("max"),ra=Symbol("length"),uu=Symbol("lengthCalculator"),Fh=Symbol("allowStale"),xl=Symbol("maxAge"),ia=Symbol("dispose"),H2=Symbol("noDisposeOnSet"),si=Symbol("lruList"),ks=Symbol("cache"),G2=Symbol("updateAgeOnGet"),Qv=()=>1,j2=class{constructor(e){if(typeof e=="number"&&(e={max:e}),e||(e={}),e.max&&(typeof e.max!="number"||e.max<0))throw new TypeError("max must be a non-negative number");let r=this[Sl]=e.max||Infinity,i=e.length||Qv;if(this[uu]=typeof i!="function"?Qv:i,this[Fh]=e.stale||!1,e.maxAge&&typeof e.maxAge!="number")throw new TypeError("maxAge must be a number");this[xl]=e.maxAge||0,this[ia]=e.dispose,this[H2]=e.noDisposeOnSet||!1,this[G2]=e.updateAgeOnGet||!1,this.reset()}set max(e){if(typeof e!="number"||e<0)throw new TypeError("max must be a non-negative number");this[Sl]=e||Infinity,Nh(this)}get max(){return this[Sl]}set allowStale(e){this[Fh]=!!e}get allowStale(){return this[Fh]}set maxAge(e){if(typeof e!="number")throw new TypeError("maxAge must be a non-negative number");this[xl]=e,Nh(this)}get maxAge(){return this[xl]}set lengthCalculator(e){typeof e!="function"&&(e=Qv),e!==this[uu]&&(this[uu]=e,this[ra]=0,this[si].forEach(r=>{r.length=this[uu](r.value,r.key),this[ra]+=r.length})),Nh(this)}get lengthCalculator(){return this[uu]}get length(){return this[ra]}get itemCount(){return this[si].length}rforEach(e,r){r=r||this;for(let i=this[si].tail;i!==null;){let n=i.prev;q2(this,e,i,r),i=n}}forEach(e,r){r=r||this;for(let i=this[si].head;i!==null;){let n=i.next;q2(this,e,i,r),i=n}}keys(){return this[si].toArray().map(e=>e.key)}values(){return this[si].toArray().map(e=>e.value)}reset(){this[ia]&&this[si]&&this[si].length&&this[si].forEach(e=>this[ia](e.key,e.value)),this[ks]=new Map,this[si]=new Pme,this[ra]=0}dump(){return this[si].map(e=>nI(this,e)?!1:{k:e.key,v:e.value,e:e.now+(e.maxAge||0)}).toArray().filter(e=>e)}dumpLru(){return this[si]}set(e,r,i){if(i=i||this[xl],i&&typeof i!="number")throw new TypeError("maxAge must be a number");let n=i?Date.now():0,s=this[uu](r,e);if(this[ks].has(e)){if(s>this[Sl])return gu(this,this[ks].get(e)),!1;let l=this[ks].get(e).value;return this[ia]&&(this[H2]||this[ia](e,l.value)),l.now=n,l.maxAge=i,l.value=r,this[ra]+=s-l.length,l.length=s,this.get(e),Nh(this),!0}let o=new Y2(e,r,s,n,i);return o.length>this[Sl]?(this[ia]&&this[ia](e,r),!1):(this[ra]+=o.length,this[si].unshift(o),this[ks].set(e,this[si].head),Nh(this),!0)}has(e){if(!this[ks].has(e))return!1;let r=this[ks].get(e).value;return!nI(this,r)}get(e){return bv(this,e,!0)}peek(e){return bv(this,e,!1)}pop(){let e=this[si].tail;return e?(gu(this,e),e.value):null}del(e){gu(this,this[ks].get(e))}load(e){this.reset();let r=Date.now();for(let i=e.length-1;i>=0;i--){let n=e[i],s=n.e||0;if(s===0)this.set(n.k,n.v);else{let o=s-r;o>0&&this.set(n.k,n.v,o)}}}prune(){this[ks].forEach((e,r)=>bv(this,r,!1))}},bv=(t,e,r)=>{let i=t[ks].get(e);if(i){let n=i.value;if(nI(t,n)){if(gu(t,i),!t[Fh])return}else r&&(t[G2]&&(i.value.now=Date.now()),t[si].unshiftNode(i));return n.value}},nI=(t,e)=>{if(!e||!e.maxAge&&!t[xl])return!1;let r=Date.now()-e.now;return e.maxAge?r>e.maxAge:t[xl]&&r>t[xl]},Nh=t=>{if(t[ra]>t[Sl])for(let e=t[si].tail;t[ra]>t[Sl]&&e!==null;){let r=e.prev;gu(t,e),e=r}},gu=(t,e)=>{if(e){let r=e.value;t[ia]&&t[ia](r.key,r.value),t[ra]-=r.length,t[ks].delete(r.key),t[si].removeNode(e)}},Y2=class{constructor(e,r,i,n,s){this.key=e,this.value=r,this.length=i,this.now=n,this.maxAge=s||0}},q2=(t,e,r,i)=>{let n=r.value;nI(t,n)&&(gu(t,r),t[Fh]||(n=void 0)),n&&e.call(i,n.value,n.key,t)};U2.exports=j2});var Zn=E((Ptt,W2)=>{var fu=class{constructor(e,r){if(r=Dme(r),e instanceof fu)return e.loose===!!r.loose&&e.includePrerelease===!!r.includePrerelease?e:new fu(e.raw,r);if(e instanceof vv)return this.raw=e.value,this.set=[[e]],this.format(),this;if(this.options=r,this.loose=!!r.loose,this.includePrerelease=!!r.includePrerelease,this.raw=e,this.set=e.split(/\s*\|\|\s*/).map(i=>this.parseRange(i.trim())).filter(i=>i.length),!this.set.length)throw new TypeError(`Invalid SemVer Range: ${e}`);if(this.set.length>1){let i=this.set[0];if(this.set=this.set.filter(n=>!V2(n[0])),this.set.length===0)this.set=[i];else if(this.set.length>1){for(let n of this.set)if(n.length===1&&Tme(n[0])){this.set=[n];break}}}this.format()}format(){return this.range=this.set.map(e=>e.join(" ").trim()).join("||").trim(),this.range}toString(){return this.range}parseRange(e){e=e.trim();let i=`parseRange:${Object.keys(this.options).join(",")}:${e}`,n=z2.get(i);if(n)return n;let s=this.options.loose,o=s?vi[di.HYPHENRANGELOOSE]:vi[di.HYPHENRANGE];e=e.replace(o,Kme(this.options.includePrerelease)),Rr("hyphen replace",e),e=e.replace(vi[di.COMPARATORTRIM],Fme),Rr("comparator trim",e,vi[di.COMPARATORTRIM]),e=e.replace(vi[di.TILDETRIM],Nme),e=e.replace(vi[di.CARETTRIM],Lme),e=e.split(/\s+/).join(" ");let a=s?vi[di.COMPARATORLOOSE]:vi[di.COMPARATOR],l=e.split(" ").map(f=>Mme(f,this.options)).join(" ").split(/\s+/).map(f=>Ome(f,this.options)).filter(this.options.loose?f=>!!f.match(a):()=>!0).map(f=>new vv(f,this.options)),c=l.length,u=new Map;for(let f of l){if(V2(f))return[f];u.set(f.value,f)}u.size>1&&u.has("")&&u.delete("");let g=[...u.values()];return z2.set(i,g),g}intersects(e,r){if(!(e instanceof fu))throw new TypeError("a Range is required");return this.set.some(i=>_2(i,r)&&e.set.some(n=>_2(n,r)&&i.every(s=>n.every(o=>s.intersects(o,r)))))}test(e){if(!e)return!1;if(typeof e=="string")try{e=new Rme(e,this.options)}catch(r){return!1}for(let r=0;rt.value==="<0.0.0-0",Tme=t=>t.value==="",_2=(t,e)=>{let r=!0,i=t.slice(),n=i.pop();for(;r&&i.length;)r=i.every(s=>n.intersects(s,e)),n=i.pop();return r},Mme=(t,e)=>(Rr("comp",t,e),t=jme(t,e),Rr("caret",t),t=Gme(t,e),Rr("tildes",t),t=Yme(t,e),Rr("xrange",t),t=qme(t,e),Rr("stars",t),t),Ji=t=>!t||t.toLowerCase()==="x"||t==="*",Gme=(t,e)=>t.trim().split(/\s+/).map(r=>Jme(r,e)).join(" "),Jme=(t,e)=>{let r=e.loose?vi[di.TILDELOOSE]:vi[di.TILDE];return t.replace(r,(i,n,s,o,a)=>{Rr("tilde",t,i,n,s,o,a);let l;return Ji(n)?l="":Ji(s)?l=`>=${n}.0.0 <${+n+1}.0.0-0`:Ji(o)?l=`>=${n}.${s}.0 <${n}.${+s+1}.0-0`:a?(Rr("replaceTilde pr",a),l=`>=${n}.${s}.${o}-${a} <${n}.${+s+1}.0-0`):l=`>=${n}.${s}.${o} <${n}.${+s+1}.0-0`,Rr("tilde return",l),l})},jme=(t,e)=>t.trim().split(/\s+/).map(r=>Wme(r,e)).join(" "),Wme=(t,e)=>{Rr("caret",t,e);let r=e.loose?vi[di.CARETLOOSE]:vi[di.CARET],i=e.includePrerelease?"-0":"";return t.replace(r,(n,s,o,a,l)=>{Rr("caret",t,n,s,o,a,l);let c;return Ji(s)?c="":Ji(o)?c=`>=${s}.0.0${i} <${+s+1}.0.0-0`:Ji(a)?s==="0"?c=`>=${s}.${o}.0${i} <${s}.${+o+1}.0-0`:c=`>=${s}.${o}.0${i} <${+s+1}.0.0-0`:l?(Rr("replaceCaret pr",l),s==="0"?o==="0"?c=`>=${s}.${o}.${a}-${l} <${s}.${o}.${+a+1}-0`:c=`>=${s}.${o}.${a}-${l} <${s}.${+o+1}.0-0`:c=`>=${s}.${o}.${a}-${l} <${+s+1}.0.0-0`):(Rr("no pr"),s==="0"?o==="0"?c=`>=${s}.${o}.${a}${i} <${s}.${o}.${+a+1}-0`:c=`>=${s}.${o}.${a}${i} <${s}.${+o+1}.0-0`:c=`>=${s}.${o}.${a} <${+s+1}.0.0-0`),Rr("caret return",c),c})},Yme=(t,e)=>(Rr("replaceXRanges",t,e),t.split(/\s+/).map(r=>zme(r,e)).join(" ")),zme=(t,e)=>{t=t.trim();let r=e.loose?vi[di.XRANGELOOSE]:vi[di.XRANGE];return t.replace(r,(i,n,s,o,a,l)=>{Rr("xRange",t,i,n,s,o,a,l);let c=Ji(s),u=c||Ji(o),g=u||Ji(a),f=g;return n==="="&&f&&(n=""),l=e.includePrerelease?"-0":"",c?n===">"||n==="<"?i="<0.0.0-0":i="*":n&&f?(u&&(o=0),a=0,n===">"?(n=">=",u?(s=+s+1,o=0,a=0):(o=+o+1,a=0)):n==="<="&&(n="<",u?s=+s+1:o=+o+1),n==="<"&&(l="-0"),i=`${n+s}.${o}.${a}${l}`):u?i=`>=${s}.0.0${l} <${+s+1}.0.0-0`:g&&(i=`>=${s}.${o}.0${l} <${s}.${+o+1}.0-0`),Rr("xRange return",i),i})},qme=(t,e)=>(Rr("replaceStars",t,e),t.trim().replace(vi[di.STAR],"")),Ome=(t,e)=>(Rr("replaceGTE0",t,e),t.trim().replace(vi[e.includePrerelease?di.GTE0PRE:di.GTE0],"")),Kme=t=>(e,r,i,n,s,o,a,l,c,u,g,f,h)=>(Ji(i)?r="":Ji(n)?r=`>=${i}.0.0${t?"-0":""}`:Ji(s)?r=`>=${i}.${n}.0${t?"-0":""}`:o?r=`>=${r}`:r=`>=${r}${t?"-0":""}`,Ji(c)?l="":Ji(u)?l=`<${+c+1}.0.0-0`:Ji(g)?l=`<${c}.${+u+1}.0-0`:f?l=`<=${c}.${u}.${g}-${f}`:t?l=`<${c}.${u}.${+g+1}-0`:l=`<=${l}`,`${r} ${l}`.trim()),Ume=(t,e,r)=>{for(let i=0;i0){let n=t[i].semver;if(n.major===e.major&&n.minor===e.minor&&n.patch===e.patch)return!0}return!1}return!0}});var Lh=E((Dtt,X2)=>{var Th=Symbol("SemVer ANY"),Mh=class{static get ANY(){return Th}constructor(e,r){if(r=Vme(r),e instanceof Mh){if(e.loose===!!r.loose)return e;e=e.value}xv("comparator",e,r),this.options=r,this.loose=!!r.loose,this.parse(e),this.semver===Th?this.value="":this.value=this.operator+this.semver.version,xv("comp",this)}parse(e){let r=this.options.loose?Z2[$2.COMPARATORLOOSE]:Z2[$2.COMPARATOR],i=e.match(r);if(!i)throw new TypeError(`Invalid comparator: ${e}`);this.operator=i[1]!==void 0?i[1]:"",this.operator==="="&&(this.operator=""),i[2]?this.semver=new eH(i[2],this.options.loose):this.semver=Th}toString(){return this.value}test(e){if(xv("Comparator.test",e,this.options.loose),this.semver===Th||e===Th)return!0;if(typeof e=="string")try{e=new eH(e,this.options)}catch(r){return!1}return Sv(e,this.operator,this.semver,this.options)}intersects(e,r){if(!(e instanceof Mh))throw new TypeError("a Comparator is required");if((!r||typeof r!="object")&&(r={loose:!!r,includePrerelease:!1}),this.operator==="")return this.value===""?!0:new tH(e.value,r).test(this.value);if(e.operator==="")return e.value===""?!0:new tH(this.value,r).test(e.semver);let i=(this.operator===">="||this.operator===">")&&(e.operator===">="||e.operator===">"),n=(this.operator==="<="||this.operator==="<")&&(e.operator==="<="||e.operator==="<"),s=this.semver.version===e.semver.version,o=(this.operator===">="||this.operator==="<=")&&(e.operator===">="||e.operator==="<="),a=Sv(this.semver,"<",e.semver,r)&&(this.operator===">="||this.operator===">")&&(e.operator==="<="||e.operator==="<"),l=Sv(this.semver,">",e.semver,r)&&(this.operator==="<="||this.operator==="<")&&(e.operator===">="||e.operator===">");return i||n||s&&o||a||l}};X2.exports=Mh;var Vme=kh(),{re:Z2,t:$2}=Ql(),Sv=Bv(),xv=xh(),eH=bi(),tH=Zn()});var Oh=E((Rtt,rH)=>{var _me=Zn(),Xme=(t,e,r)=>{try{e=new _me(e,r)}catch(i){return!1}return e.test(t)};rH.exports=Xme});var nH=E((Ftt,iH)=>{var Zme=Zn(),$me=(t,e)=>new Zme(t,e).set.map(r=>r.map(i=>i.value).join(" ").trim().split(" "));iH.exports=$me});var oH=E((Ntt,sH)=>{var eEe=bi(),tEe=Zn(),rEe=(t,e,r)=>{let i=null,n=null,s=null;try{s=new tEe(e,r)}catch(o){return null}return t.forEach(o=>{s.test(o)&&(!i||n.compare(o)===-1)&&(i=o,n=new eEe(i,r))}),i};sH.exports=rEe});var AH=E((Ltt,aH)=>{var iEe=bi(),nEe=Zn(),sEe=(t,e,r)=>{let i=null,n=null,s=null;try{s=new nEe(e,r)}catch(o){return null}return t.forEach(o=>{s.test(o)&&(!i||n.compare(o)===1)&&(i=o,n=new iEe(i,r))}),i};aH.exports=sEe});var uH=E((Ttt,lH)=>{var kv=bi(),oEe=Zn(),cH=Dh(),aEe=(t,e)=>{t=new oEe(t,e);let r=new kv("0.0.0");if(t.test(r)||(r=new kv("0.0.0-0"),t.test(r)))return r;r=null;for(let i=0;i{let a=new kv(o.semver.version);switch(o.operator){case">":a.prerelease.length===0?a.patch++:a.prerelease.push(0),a.raw=a.format();case"":case">=":(!s||cH(a,s))&&(s=a);break;case"<":case"<=":break;default:throw new Error(`Unexpected operation: ${o.operator}`)}}),s&&(!r||cH(r,s))&&(r=s)}return r&&t.test(r)?r:null};lH.exports=aEe});var fH=E((Mtt,gH)=>{var AEe=Zn(),lEe=(t,e)=>{try{return new AEe(t,e).range||"*"}catch(r){return null}};gH.exports=lEe});var sI=E((Ott,hH)=>{var cEe=bi(),pH=Lh(),{ANY:uEe}=pH,gEe=Zn(),fEe=Oh(),dH=Dh(),CH=$E(),hEe=tI(),pEe=eI(),dEe=(t,e,r,i)=>{t=new cEe(t,i),e=new gEe(e,i);let n,s,o,a,l;switch(r){case">":n=dH,s=hEe,o=CH,a=">",l=">=";break;case"<":n=CH,s=pEe,o=dH,a="<",l="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(fEe(t,e,i))return!1;for(let c=0;c{h.semver===uEe&&(h=new pH(">=0.0.0")),g=g||h,f=f||h,n(h.semver,g.semver,i)?g=h:o(h.semver,f.semver,i)&&(f=h)}),g.operator===a||g.operator===l||(!f.operator||f.operator===a)&&s(t,f.semver))return!1;if(f.operator===l&&o(t,f.semver))return!1}return!0};hH.exports=dEe});var EH=E((Ktt,mH)=>{var CEe=sI(),mEe=(t,e,r)=>CEe(t,e,">",r);mH.exports=mEe});var yH=E((Utt,IH)=>{var EEe=sI(),IEe=(t,e,r)=>EEe(t,e,"<",r);IH.exports=IEe});var QH=E((Htt,wH)=>{var BH=Zn(),yEe=(t,e,r)=>(t=new BH(t,r),e=new BH(e,r),t.intersects(e));wH.exports=yEe});var vH=E((Gtt,bH)=>{var wEe=Oh(),BEe=Xn();bH.exports=(t,e,r)=>{let i=[],n=null,s=null,o=t.sort((u,g)=>BEe(u,g,r));for(let u of o)wEe(u,e,r)?(s=u,n||(n=u)):(s&&i.push([n,s]),s=null,n=null);n&&i.push([n,null]);let a=[];for(let[u,g]of i)u===g?a.push(u):!g&&u===o[0]?a.push("*"):g?u===o[0]?a.push(`<=${g}`):a.push(`${u} - ${g}`):a.push(`>=${u}`);let l=a.join(" || "),c=typeof e.raw=="string"?e.raw:String(e);return l.length{var xH=Zn(),oI=Lh(),{ANY:Pv}=oI,Kh=Oh(),Dv=Xn(),bEe=(t,e,r={})=>{if(t===e)return!0;t=new xH(t,r),e=new xH(e,r);let i=!1;e:for(let n of t.set){for(let s of e.set){let o=QEe(n,s,r);if(i=i||o!==null,o)continue e}if(i)return!1}return!0},QEe=(t,e,r)=>{if(t===e)return!0;if(t.length===1&&t[0].semver===Pv){if(e.length===1&&e[0].semver===Pv)return!0;r.includePrerelease?t=[new oI(">=0.0.0-0")]:t=[new oI(">=0.0.0")]}if(e.length===1&&e[0].semver===Pv){if(r.includePrerelease)return!0;e=[new oI(">=0.0.0")]}let i=new Set,n,s;for(let h of t)h.operator===">"||h.operator===">="?n=kH(n,h,r):h.operator==="<"||h.operator==="<="?s=PH(s,h,r):i.add(h.semver);if(i.size>1)return null;let o;if(n&&s){if(o=Dv(n.semver,s.semver,r),o>0)return null;if(o===0&&(n.operator!==">="||s.operator!=="<="))return null}for(let h of i){if(n&&!Kh(h,String(n),r)||s&&!Kh(h,String(s),r))return null;for(let p of e)if(!Kh(h,String(p),r))return!1;return!0}let a,l,c,u,g=s&&!r.includePrerelease&&s.semver.prerelease.length?s.semver:!1,f=n&&!r.includePrerelease&&n.semver.prerelease.length?n.semver:!1;g&&g.prerelease.length===1&&s.operator==="<"&&g.prerelease[0]===0&&(g=!1);for(let h of e){if(u=u||h.operator===">"||h.operator===">=",c=c||h.operator==="<"||h.operator==="<=",n){if(f&&h.semver.prerelease&&h.semver.prerelease.length&&h.semver.major===f.major&&h.semver.minor===f.minor&&h.semver.patch===f.patch&&(f=!1),h.operator===">"||h.operator===">="){if(a=kH(n,h,r),a===h&&a!==n)return!1}else if(n.operator===">="&&!Kh(n.semver,String(h),r))return!1}if(s){if(g&&h.semver.prerelease&&h.semver.prerelease.length&&h.semver.major===g.major&&h.semver.minor===g.minor&&h.semver.patch===g.patch&&(g=!1),h.operator==="<"||h.operator==="<="){if(l=PH(s,h,r),l===h&&l!==s)return!1}else if(s.operator==="<="&&!Kh(s.semver,String(h),r))return!1}if(!h.operator&&(s||n)&&o!==0)return!1}return!(n&&c&&!s&&o!==0||s&&u&&!n&&o!==0||f||g)},kH=(t,e,r)=>{if(!t)return e;let i=Dv(t.semver,e.semver,r);return i>0?t:i<0||e.operator===">"&&t.operator===">="?e:t},PH=(t,e,r)=>{if(!t)return e;let i=Dv(t.semver,e.semver,r);return i<0?t:i>0||e.operator==="<"&&t.operator==="<="?e:t};SH.exports=bEe});var Or=E((Ytt,RH)=>{var Rv=Ql();RH.exports={re:Rv.re,src:Rv.src,tokens:Rv.t,SEMVER_SPEC_VERSION:Sh().SEMVER_SPEC_VERSION,SemVer:bi(),compareIdentifiers:zE().compareIdentifiers,rcompareIdentifiers:zE().rcompareIdentifiers,parse:bl(),valid:e2(),clean:r2(),inc:n2(),diff:c2(),major:g2(),minor:h2(),patch:d2(),prerelease:m2(),compare:Xn(),rcompare:I2(),compareLoose:w2(),compareBuild:ZE(),sort:v2(),rsort:x2(),gt:Dh(),lt:$E(),eq:XE(),neq:wv(),gte:eI(),lte:tI(),cmp:Bv(),coerce:T2(),Comparator:Lh(),Range:Zn(),satisfies:Oh(),toComparators:nH(),maxSatisfying:oH(),minSatisfying:AH(),minVersion:uH(),validRange:fH(),outside:sI(),gtr:EH(),ltr:yH(),intersects:QH(),simplifyRange:vH(),subset:DH()}});var Uv=E(AI=>{"use strict";Object.defineProperty(AI,"__esModule",{value:!0});AI.VERSION=void 0;AI.VERSION="9.1.0"});var Dt=E((exports,module)=>{"use strict";var __spreadArray=exports&&exports.__spreadArray||function(t,e,r){if(r||arguments.length===2)for(var i=0,n=e.length,s;i{(function(t,e){typeof define=="function"&&define.amd?define([],e):typeof lI=="object"&&lI.exports?lI.exports=e():t.regexpToAst=e()})(typeof self!="undefined"?self:YH,function(){function t(){}t.prototype.saveState=function(){return{idx:this.idx,input:this.input,groupIdx:this.groupIdx}},t.prototype.restoreState=function(p){this.idx=p.idx,this.input=p.input,this.groupIdx=p.groupIdx},t.prototype.pattern=function(p){this.idx=0,this.input=p,this.groupIdx=0,this.consumeChar("/");var d=this.disjunction();this.consumeChar("/");for(var m={type:"Flags",loc:{begin:this.idx,end:p.length},global:!1,ignoreCase:!1,multiLine:!1,unicode:!1,sticky:!1};this.isRegExpFlag();)switch(this.popChar()){case"g":o(m,"global");break;case"i":o(m,"ignoreCase");break;case"m":o(m,"multiLine");break;case"u":o(m,"unicode");break;case"y":o(m,"sticky");break}if(this.idx!==this.input.length)throw Error("Redundant input: "+this.input.substring(this.idx));return{type:"Pattern",flags:m,value:d,loc:this.loc(0)}},t.prototype.disjunction=function(){var p=[],d=this.idx;for(p.push(this.alternative());this.peekChar()==="|";)this.consumeChar("|"),p.push(this.alternative());return{type:"Disjunction",value:p,loc:this.loc(d)}},t.prototype.alternative=function(){for(var p=[],d=this.idx;this.isTerm();)p.push(this.term());return{type:"Alternative",value:p,loc:this.loc(d)}},t.prototype.term=function(){return this.isAssertion()?this.assertion():this.atom()},t.prototype.assertion=function(){var p=this.idx;switch(this.popChar()){case"^":return{type:"StartAnchor",loc:this.loc(p)};case"$":return{type:"EndAnchor",loc:this.loc(p)};case"\\":switch(this.popChar()){case"b":return{type:"WordBoundary",loc:this.loc(p)};case"B":return{type:"NonWordBoundary",loc:this.loc(p)}}throw Error("Invalid Assertion Escape");case"(":this.consumeChar("?");var d;switch(this.popChar()){case"=":d="Lookahead";break;case"!":d="NegativeLookahead";break}a(d);var m=this.disjunction();return this.consumeChar(")"),{type:d,value:m,loc:this.loc(p)}}l()},t.prototype.quantifier=function(p){var d,m=this.idx;switch(this.popChar()){case"*":d={atLeast:0,atMost:Infinity};break;case"+":d={atLeast:1,atMost:Infinity};break;case"?":d={atLeast:0,atMost:1};break;case"{":var I=this.integerIncludingZero();switch(this.popChar()){case"}":d={atLeast:I,atMost:I};break;case",":var B;this.isDigit()?(B=this.integerIncludingZero(),d={atLeast:I,atMost:B}):d={atLeast:I,atMost:Infinity},this.consumeChar("}");break}if(p===!0&&d===void 0)return;a(d);break}if(!(p===!0&&d===void 0))return a(d),this.peekChar(0)==="?"?(this.consumeChar("?"),d.greedy=!1):d.greedy=!0,d.type="Quantifier",d.loc=this.loc(m),d},t.prototype.atom=function(){var p,d=this.idx;switch(this.peekChar()){case".":p=this.dotAll();break;case"\\":p=this.atomEscape();break;case"[":p=this.characterClass();break;case"(":p=this.group();break}return p===void 0&&this.isPatternCharacter()&&(p=this.patternCharacter()),a(p),p.loc=this.loc(d),this.isQuantifier()&&(p.quantifier=this.quantifier()),p},t.prototype.dotAll=function(){return this.consumeChar("."),{type:"Set",complement:!0,value:[n(` +`),n("\r"),n("\u2028"),n("\u2029")]}},t.prototype.atomEscape=function(){switch(this.consumeChar("\\"),this.peekChar()){case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":return this.decimalEscapeAtom();case"d":case"D":case"s":case"S":case"w":case"W":return this.characterClassEscape();case"f":case"n":case"r":case"t":case"v":return this.controlEscapeAtom();case"c":return this.controlLetterEscapeAtom();case"0":return this.nulCharacterAtom();case"x":return this.hexEscapeSequenceAtom();case"u":return this.regExpUnicodeEscapeSequenceAtom();default:return this.identityEscapeAtom()}},t.prototype.decimalEscapeAtom=function(){var p=this.positiveInteger();return{type:"GroupBackReference",value:p}},t.prototype.characterClassEscape=function(){var p,d=!1;switch(this.popChar()){case"d":p=u;break;case"D":p=u,d=!0;break;case"s":p=f;break;case"S":p=f,d=!0;break;case"w":p=g;break;case"W":p=g,d=!0;break}return a(p),{type:"Set",value:p,complement:d}},t.prototype.controlEscapeAtom=function(){var p;switch(this.popChar()){case"f":p=n("\f");break;case"n":p=n(` +`);break;case"r":p=n("\r");break;case"t":p=n(" ");break;case"v":p=n("\v");break}return a(p),{type:"Character",value:p}},t.prototype.controlLetterEscapeAtom=function(){this.consumeChar("c");var p=this.popChar();if(/[a-zA-Z]/.test(p)===!1)throw Error("Invalid ");var d=p.toUpperCase().charCodeAt(0)-64;return{type:"Character",value:d}},t.prototype.nulCharacterAtom=function(){return this.consumeChar("0"),{type:"Character",value:n("\0")}},t.prototype.hexEscapeSequenceAtom=function(){return this.consumeChar("x"),this.parseHexDigits(2)},t.prototype.regExpUnicodeEscapeSequenceAtom=function(){return this.consumeChar("u"),this.parseHexDigits(4)},t.prototype.identityEscapeAtom=function(){var p=this.popChar();return{type:"Character",value:n(p)}},t.prototype.classPatternCharacterAtom=function(){switch(this.peekChar()){case` +`:case"\r":case"\u2028":case"\u2029":case"\\":case"]":throw Error("TBD");default:var p=this.popChar();return{type:"Character",value:n(p)}}},t.prototype.characterClass=function(){var p=[],d=!1;for(this.consumeChar("["),this.peekChar(0)==="^"&&(this.consumeChar("^"),d=!0);this.isClassAtom();){var m=this.classAtom(),I=m.type==="Character";if(I&&this.isRangeDash()){this.consumeChar("-");var B=this.classAtom(),b=B.type==="Character";if(b){if(B.value=this.input.length)throw Error("Unexpected end of input");this.idx++},t.prototype.loc=function(p){return{begin:p,end:this.idx}};var e=/[0-9a-fA-F]/,r=/[0-9]/,i=/[1-9]/;function n(p){return p.charCodeAt(0)}function s(p,d){p.length!==void 0?p.forEach(function(m){d.push(m)}):d.push(p)}function o(p,d){if(p[d]===!0)throw"duplicate flag "+d;p[d]=!0}function a(p){if(p===void 0)throw Error("Internal Error - Should never get here!")}function l(){throw Error("Internal Error - Should never get here!")}var c,u=[];for(c=n("0");c<=n("9");c++)u.push(c);var g=[n("_")].concat(u);for(c=n("a");c<=n("z");c++)g.push(c);for(c=n("A");c<=n("Z");c++)g.push(c);var f=[n(" "),n("\f"),n(` +`),n("\r"),n(" "),n("\v"),n(" "),n("\xA0"),n("\u1680"),n("\u2000"),n("\u2001"),n("\u2002"),n("\u2003"),n("\u2004"),n("\u2005"),n("\u2006"),n("\u2007"),n("\u2008"),n("\u2009"),n("\u200A"),n("\u2028"),n("\u2029"),n("\u202F"),n("\u205F"),n("\u3000"),n("\uFEFF")];function h(){}return h.prototype.visitChildren=function(p){for(var d in p){var m=p[d];p.hasOwnProperty(d)&&(m.type!==void 0?this.visit(m):Array.isArray(m)&&m.forEach(function(I){this.visit(I)},this))}},h.prototype.visit=function(p){switch(p.type){case"Pattern":this.visitPattern(p);break;case"Flags":this.visitFlags(p);break;case"Disjunction":this.visitDisjunction(p);break;case"Alternative":this.visitAlternative(p);break;case"StartAnchor":this.visitStartAnchor(p);break;case"EndAnchor":this.visitEndAnchor(p);break;case"WordBoundary":this.visitWordBoundary(p);break;case"NonWordBoundary":this.visitNonWordBoundary(p);break;case"Lookahead":this.visitLookahead(p);break;case"NegativeLookahead":this.visitNegativeLookahead(p);break;case"Character":this.visitCharacter(p);break;case"Set":this.visitSet(p);break;case"Group":this.visitGroup(p);break;case"GroupBackReference":this.visitGroupBackReference(p);break;case"Quantifier":this.visitQuantifier(p);break}this.visitChildren(p)},h.prototype.visitPattern=function(p){},h.prototype.visitFlags=function(p){},h.prototype.visitDisjunction=function(p){},h.prototype.visitAlternative=function(p){},h.prototype.visitStartAnchor=function(p){},h.prototype.visitEndAnchor=function(p){},h.prototype.visitWordBoundary=function(p){},h.prototype.visitNonWordBoundary=function(p){},h.prototype.visitLookahead=function(p){},h.prototype.visitNegativeLookahead=function(p){},h.prototype.visitCharacter=function(p){},h.prototype.visitSet=function(p){},h.prototype.visitGroup=function(p){},h.prototype.visitGroupBackReference=function(p){},h.prototype.visitQuantifier=function(p){},{RegExpParser:t,BaseRegExpVisitor:h,VERSION:"0.5.0"}})});var gI=E(Eu=>{"use strict";Object.defineProperty(Eu,"__esModule",{value:!0});Eu.clearRegExpParserCache=Eu.getRegExpAst=void 0;var FEe=cI(),uI={},NEe=new FEe.RegExpParser;function LEe(t){var e=t.toString();if(uI.hasOwnProperty(e))return uI[e];var r=NEe.pattern(e);return uI[e]=r,r}Eu.getRegExpAst=LEe;function TEe(){uI={}}Eu.clearRegExpParserCache=TEe});var VH=E(fn=>{"use strict";var MEe=fn&&fn.__extends||function(){var t=function(e,r){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},t(e,r)};return function(e,r){if(typeof r!="function"&&r!==null)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");t(e,r);function i(){this.constructor=e}e.prototype=r===null?Object.create(r):(i.prototype=r.prototype,new i)}}();Object.defineProperty(fn,"__esModule",{value:!0});fn.canMatchCharCode=fn.firstCharOptimizedIndices=fn.getOptimizedStartCodesIndices=fn.failedOptimizationPrefixMsg=void 0;var qH=cI(),$n=Dt(),JH=gI(),sa=Hv(),WH="Complement Sets are not supported for first char optimization";fn.failedOptimizationPrefixMsg=`Unable to use "first char" lexer optimizations: +`;function OEe(t,e){e===void 0&&(e=!1);try{var r=(0,JH.getRegExpAst)(t),i=fI(r.value,{},r.flags.ignoreCase);return i}catch(s){if(s.message===WH)e&&(0,$n.PRINT_WARNING)(""+fn.failedOptimizationPrefixMsg+(" Unable to optimize: < "+t.toString()+` > +`)+` Complement Sets cannot be automatically optimized. + This will disable the lexer's first char optimizations. + See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#COMPLEMENT for details.`);else{var n="";e&&(n=` + This will disable the lexer's first char optimizations. + See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#REGEXP_PARSING for details.`),(0,$n.PRINT_ERROR)(fn.failedOptimizationPrefixMsg+` +`+(" Failed parsing: < "+t.toString()+` > +`)+(" Using the regexp-to-ast library version: "+qH.VERSION+` +`)+" Please open an issue at: https://github.com/bd82/regexp-to-ast/issues"+n)}}return[]}fn.getOptimizedStartCodesIndices=OEe;function fI(t,e,r){switch(t.type){case"Disjunction":for(var i=0;i=sa.minOptimizationVal)for(var f=u.from>=sa.minOptimizationVal?u.from:sa.minOptimizationVal,h=u.to,p=(0,sa.charCodeToOptimizedIndex)(f),d=(0,sa.charCodeToOptimizedIndex)(h),m=p;m<=d;m++)e[m]=m}}});break;case"Group":fI(o.value,e,r);break;default:throw Error("Non Exhaustive Match")}var a=o.quantifier!==void 0&&o.quantifier.atLeast===0;if(o.type==="Group"&&Gv(o)===!1||o.type!=="Group"&&a===!1)break}break;default:throw Error("non exhaustive match!")}return(0,$n.values)(e)}fn.firstCharOptimizedIndices=fI;function hI(t,e,r){var i=(0,sa.charCodeToOptimizedIndex)(t);e[i]=i,r===!0&&KEe(t,e)}function KEe(t,e){var r=String.fromCharCode(t),i=r.toUpperCase();if(i!==r){var n=(0,sa.charCodeToOptimizedIndex)(i.charCodeAt(0));e[n]=n}else{var s=r.toLowerCase();if(s!==r){var n=(0,sa.charCodeToOptimizedIndex)(s.charCodeAt(0));e[n]=n}}}function zH(t,e){return(0,$n.find)(t.value,function(r){if(typeof r=="number")return(0,$n.contains)(e,r);var i=r;return(0,$n.find)(e,function(n){return i.from<=n&&n<=i.to})!==void 0})}function Gv(t){return t.quantifier&&t.quantifier.atLeast===0?!0:t.value?(0,$n.isArray)(t.value)?(0,$n.every)(t.value,Gv):Gv(t.value):!1}var UEe=function(t){MEe(e,t);function e(r){var i=t.call(this)||this;return i.targetCharCodes=r,i.found=!1,i}return e.prototype.visitChildren=function(r){if(this.found!==!0){switch(r.type){case"Lookahead":this.visitLookahead(r);return;case"NegativeLookahead":this.visitNegativeLookahead(r);return}t.prototype.visitChildren.call(this,r)}},e.prototype.visitCharacter=function(r){(0,$n.contains)(this.targetCharCodes,r.value)&&(this.found=!0)},e.prototype.visitSet=function(r){r.complement?zH(r,this.targetCharCodes)===void 0&&(this.found=!0):zH(r,this.targetCharCodes)!==void 0&&(this.found=!0)},e}(qH.BaseRegExpVisitor);function HEe(t,e){if(e instanceof RegExp){var r=(0,JH.getRegExpAst)(e),i=new UEe(t);return i.visit(r),i.found}else return(0,$n.find)(e,function(n){return(0,$n.contains)(t,n.charCodeAt(0))})!==void 0}fn.canMatchCharCode=HEe});var Hv=E(je=>{"use strict";var _H=je&&je.__extends||function(){var t=function(e,r){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},t(e,r)};return function(e,r){if(typeof r!="function"&&r!==null)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");t(e,r);function i(){this.constructor=e}e.prototype=r===null?Object.create(r):(i.prototype=r.prototype,new i)}}();Object.defineProperty(je,"__esModule",{value:!0});je.charCodeToOptimizedIndex=je.minOptimizationVal=je.buildLineBreakIssueMessage=je.LineTerminatorOptimizedTester=je.isShortPattern=je.isCustomPattern=je.cloneEmptyGroups=je.performWarningRuntimeChecks=je.performRuntimeChecks=je.addStickyFlag=je.addStartOfInput=je.findUnreachablePatterns=je.findModesThatDoNotExist=je.findInvalidGroupType=je.findDuplicatePatterns=je.findUnsupportedFlags=je.findStartOfInputAnchor=je.findEmptyMatchRegExps=je.findEndOfInputAnchor=je.findInvalidPatterns=je.findMissingPatterns=je.validatePatterns=je.analyzeTokenTypes=je.enableSticky=je.disableSticky=je.SUPPORT_STICKY=je.MODES=je.DEFAULT_MODE=void 0;var XH=cI(),zt=Gh(),Ie=Dt(),Iu=VH(),ZH=gI(),ao="PATTERN";je.DEFAULT_MODE="defaultMode";je.MODES="modes";je.SUPPORT_STICKY=typeof new RegExp("(?:)").sticky=="boolean";function GEe(){je.SUPPORT_STICKY=!1}je.disableSticky=GEe;function jEe(){je.SUPPORT_STICKY=!0}je.enableSticky=jEe;function qEe(t,e){e=(0,Ie.defaults)(e,{useSticky:je.SUPPORT_STICKY,debug:!1,safeMode:!1,positionTracking:"full",lineTerminatorCharacters:["\r",` +`],tracer:function(B,b){return b()}});var r=e.tracer;r("initCharCodeToOptimizedIndexMap",function(){YEe()});var i;r("Reject Lexer.NA",function(){i=(0,Ie.reject)(t,function(B){return B[ao]===zt.Lexer.NA})});var n=!1,s;r("Transform Patterns",function(){n=!1,s=(0,Ie.map)(i,function(B){var b=B[ao];if((0,Ie.isRegExp)(b)){var R=b.source;return R.length===1&&R!=="^"&&R!=="$"&&R!=="."&&!b.ignoreCase?R:R.length===2&&R[0]==="\\"&&!(0,Ie.contains)(["d","D","s","S","t","r","n","t","0","c","b","B","f","v","w","W"],R[1])?R[1]:e.useSticky?Yv(b):jv(b)}else{if((0,Ie.isFunction)(b))return n=!0,{exec:b};if((0,Ie.has)(b,"exec"))return n=!0,b;if(typeof b=="string"){if(b.length===1)return b;var H=b.replace(/[\\^$.*+?()[\]{}|]/g,"\\$&"),L=new RegExp(H);return e.useSticky?Yv(L):jv(L)}else throw Error("non exhaustive match")}})});var o,a,l,c,u;r("misc mapping",function(){o=(0,Ie.map)(i,function(B){return B.tokenTypeIdx}),a=(0,Ie.map)(i,function(B){var b=B.GROUP;if(b!==zt.Lexer.SKIPPED){if((0,Ie.isString)(b))return b;if((0,Ie.isUndefined)(b))return!1;throw Error("non exhaustive match")}}),l=(0,Ie.map)(i,function(B){var b=B.LONGER_ALT;if(b){var R=(0,Ie.isArray)(b)?(0,Ie.map)(b,function(H){return(0,Ie.indexOf)(i,H)}):[(0,Ie.indexOf)(i,b)];return R}}),c=(0,Ie.map)(i,function(B){return B.PUSH_MODE}),u=(0,Ie.map)(i,function(B){return(0,Ie.has)(B,"POP_MODE")})});var g;r("Line Terminator Handling",function(){var B=tG(e.lineTerminatorCharacters);g=(0,Ie.map)(i,function(b){return!1}),e.positionTracking!=="onlyOffset"&&(g=(0,Ie.map)(i,function(b){if((0,Ie.has)(b,"LINE_BREAKS"))return b.LINE_BREAKS;if(eG(b,B)===!1)return(0,Iu.canMatchCharCode)(B,b.PATTERN)}))});var f,h,p,d;r("Misc Mapping #2",function(){f=(0,Ie.map)(i,qv),h=(0,Ie.map)(s,$H),p=(0,Ie.reduce)(i,function(B,b){var R=b.GROUP;return(0,Ie.isString)(R)&&R!==zt.Lexer.SKIPPED&&(B[R]=[]),B},{}),d=(0,Ie.map)(s,function(B,b){return{pattern:s[b],longerAlt:l[b],canLineTerminator:g[b],isCustom:f[b],short:h[b],group:a[b],push:c[b],pop:u[b],tokenTypeIdx:o[b],tokenType:i[b]}})});var m=!0,I=[];return e.safeMode||r("First Char Optimization",function(){I=(0,Ie.reduce)(i,function(B,b,R){if(typeof b.PATTERN=="string"){var H=b.PATTERN.charCodeAt(0),L=Wv(H);Jv(B,L,d[R])}else if((0,Ie.isArray)(b.START_CHARS_HINT)){var K;(0,Ie.forEach)(b.START_CHARS_HINT,function(ne){var q=typeof ne=="string"?ne.charCodeAt(0):ne,A=Wv(q);K!==A&&(K=A,Jv(B,A,d[R]))})}else if((0,Ie.isRegExp)(b.PATTERN))if(b.PATTERN.unicode)m=!1,e.ensureOptimizations&&(0,Ie.PRINT_ERROR)(""+Iu.failedOptimizationPrefixMsg+(" Unable to analyze < "+b.PATTERN.toString()+` > pattern. +`)+` The regexp unicode flag is not currently supported by the regexp-to-ast library. + This will disable the lexer's first char optimizations. + For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNICODE_OPTIMIZE`);else{var J=(0,Iu.getOptimizedStartCodesIndices)(b.PATTERN,e.ensureOptimizations);(0,Ie.isEmpty)(J)&&(m=!1),(0,Ie.forEach)(J,function(ne){Jv(B,ne,d[R])})}else e.ensureOptimizations&&(0,Ie.PRINT_ERROR)(""+Iu.failedOptimizationPrefixMsg+(" TokenType: <"+b.name+`> is using a custom token pattern without providing parameter. +`)+` This will disable the lexer's first char optimizations. + For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_OPTIMIZE`),m=!1;return B},[])}),r("ArrayPacking",function(){I=(0,Ie.packArray)(I)}),{emptyGroups:p,patternIdxToConfig:d,charCodeToPatternIdxToConfig:I,hasCustom:n,canBeOptimized:m}}je.analyzeTokenTypes=qEe;function WEe(t,e){var r=[],i=rG(t);r=r.concat(i.errors);var n=iG(i.valid),s=n.valid;return r=r.concat(n.errors),r=r.concat(JEe(s)),r=r.concat(nG(s)),r=r.concat(sG(s,e)),r=r.concat(oG(s)),r}je.validatePatterns=WEe;function JEe(t){var e=[],r=(0,Ie.filter)(t,function(i){return(0,Ie.isRegExp)(i[ao])});return e=e.concat(aG(r)),e=e.concat(lG(r)),e=e.concat(cG(r)),e=e.concat(uG(r)),e=e.concat(AG(r)),e}function rG(t){var e=(0,Ie.filter)(t,function(n){return!(0,Ie.has)(n,ao)}),r=(0,Ie.map)(e,function(n){return{message:"Token Type: ->"+n.name+"<- missing static 'PATTERN' property",type:zt.LexerDefinitionErrorType.MISSING_PATTERN,tokenTypes:[n]}}),i=(0,Ie.difference)(t,e);return{errors:r,valid:i}}je.findMissingPatterns=rG;function iG(t){var e=(0,Ie.filter)(t,function(n){var s=n[ao];return!(0,Ie.isRegExp)(s)&&!(0,Ie.isFunction)(s)&&!(0,Ie.has)(s,"exec")&&!(0,Ie.isString)(s)}),r=(0,Ie.map)(e,function(n){return{message:"Token Type: ->"+n.name+"<- static 'PATTERN' can only be a RegExp, a Function matching the {CustomPatternMatcherFunc} type or an Object matching the {ICustomPattern} interface.",type:zt.LexerDefinitionErrorType.INVALID_PATTERN,tokenTypes:[n]}}),i=(0,Ie.difference)(t,e);return{errors:r,valid:i}}je.findInvalidPatterns=iG;var zEe=/[^\\][\$]/;function aG(t){var e=function(n){_H(s,n);function s(){var o=n!==null&&n.apply(this,arguments)||this;return o.found=!1,o}return s.prototype.visitEndAnchor=function(o){this.found=!0},s}(XH.BaseRegExpVisitor),r=(0,Ie.filter)(t,function(n){var s=n[ao];try{var o=(0,ZH.getRegExpAst)(s),a=new e;return a.visit(o),a.found}catch(l){return zEe.test(s.source)}}),i=(0,Ie.map)(r,function(n){return{message:`Unexpected RegExp Anchor Error: + Token Type: ->`+n.name+`<- static 'PATTERN' cannot contain end of input anchor '$' + See chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:zt.LexerDefinitionErrorType.EOI_ANCHOR_FOUND,tokenTypes:[n]}});return i}je.findEndOfInputAnchor=aG;function AG(t){var e=(0,Ie.filter)(t,function(i){var n=i[ao];return n.test("")}),r=(0,Ie.map)(e,function(i){return{message:"Token Type: ->"+i.name+"<- static 'PATTERN' must not match an empty string",type:zt.LexerDefinitionErrorType.EMPTY_MATCH_PATTERN,tokenTypes:[i]}});return r}je.findEmptyMatchRegExps=AG;var VEe=/[^\\[][\^]|^\^/;function lG(t){var e=function(n){_H(s,n);function s(){var o=n!==null&&n.apply(this,arguments)||this;return o.found=!1,o}return s.prototype.visitStartAnchor=function(o){this.found=!0},s}(XH.BaseRegExpVisitor),r=(0,Ie.filter)(t,function(n){var s=n[ao];try{var o=(0,ZH.getRegExpAst)(s),a=new e;return a.visit(o),a.found}catch(l){return VEe.test(s.source)}}),i=(0,Ie.map)(r,function(n){return{message:`Unexpected RegExp Anchor Error: + Token Type: ->`+n.name+`<- static 'PATTERN' cannot contain start of input anchor '^' + See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:zt.LexerDefinitionErrorType.SOI_ANCHOR_FOUND,tokenTypes:[n]}});return i}je.findStartOfInputAnchor=lG;function cG(t){var e=(0,Ie.filter)(t,function(i){var n=i[ao];return n instanceof RegExp&&(n.multiline||n.global)}),r=(0,Ie.map)(e,function(i){return{message:"Token Type: ->"+i.name+"<- static 'PATTERN' may NOT contain global('g') or multiline('m')",type:zt.LexerDefinitionErrorType.UNSUPPORTED_FLAGS_FOUND,tokenTypes:[i]}});return r}je.findUnsupportedFlags=cG;function uG(t){var e=[],r=(0,Ie.map)(t,function(s){return(0,Ie.reduce)(t,function(o,a){return s.PATTERN.source===a.PATTERN.source&&!(0,Ie.contains)(e,a)&&a.PATTERN!==zt.Lexer.NA&&(e.push(a),o.push(a)),o},[])});r=(0,Ie.compact)(r);var i=(0,Ie.filter)(r,function(s){return s.length>1}),n=(0,Ie.map)(i,function(s){var o=(0,Ie.map)(s,function(l){return l.name}),a=(0,Ie.first)(s).PATTERN;return{message:"The same RegExp pattern ->"+a+"<-"+("has been used in all of the following Token Types: "+o.join(", ")+" <-"),type:zt.LexerDefinitionErrorType.DUPLICATE_PATTERNS_FOUND,tokenTypes:s}});return n}je.findDuplicatePatterns=uG;function nG(t){var e=(0,Ie.filter)(t,function(i){if(!(0,Ie.has)(i,"GROUP"))return!1;var n=i.GROUP;return n!==zt.Lexer.SKIPPED&&n!==zt.Lexer.NA&&!(0,Ie.isString)(n)}),r=(0,Ie.map)(e,function(i){return{message:"Token Type: ->"+i.name+"<- static 'GROUP' can only be Lexer.SKIPPED/Lexer.NA/A String",type:zt.LexerDefinitionErrorType.INVALID_GROUP_TYPE_FOUND,tokenTypes:[i]}});return r}je.findInvalidGroupType=nG;function sG(t,e){var r=(0,Ie.filter)(t,function(n){return n.PUSH_MODE!==void 0&&!(0,Ie.contains)(e,n.PUSH_MODE)}),i=(0,Ie.map)(r,function(n){var s="Token Type: ->"+n.name+"<- static 'PUSH_MODE' value cannot refer to a Lexer Mode ->"+n.PUSH_MODE+"<-which does not exist";return{message:s,type:zt.LexerDefinitionErrorType.PUSH_MODE_DOES_NOT_EXIST,tokenTypes:[n]}});return i}je.findModesThatDoNotExist=sG;function oG(t){var e=[],r=(0,Ie.reduce)(t,function(i,n,s){var o=n.PATTERN;return o===zt.Lexer.NA||((0,Ie.isString)(o)?i.push({str:o,idx:s,tokenType:n}):(0,Ie.isRegExp)(o)&&XEe(o)&&i.push({str:o.source,idx:s,tokenType:n})),i},[]);return(0,Ie.forEach)(t,function(i,n){(0,Ie.forEach)(r,function(s){var o=s.str,a=s.idx,l=s.tokenType;if(n"+i.name+"<-")+`in the lexer's definition. +See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNREACHABLE`;e.push({message:c,type:zt.LexerDefinitionErrorType.UNREACHABLE_PATTERN,tokenTypes:[i,l]})}})}),e}je.findUnreachablePatterns=oG;function _Ee(t,e){if((0,Ie.isRegExp)(e)){var r=e.exec(t);return r!==null&&r.index===0}else{if((0,Ie.isFunction)(e))return e(t,0,[],{});if((0,Ie.has)(e,"exec"))return e.exec(t,0,[],{});if(typeof e=="string")return e===t;throw Error("non exhaustive match")}}function XEe(t){var e=[".","\\","[","]","|","^","$","(",")","?","*","+","{"];return(0,Ie.find)(e,function(r){return t.source.indexOf(r)!==-1})===void 0}function jv(t){var e=t.ignoreCase?"i":"";return new RegExp("^(?:"+t.source+")",e)}je.addStartOfInput=jv;function Yv(t){var e=t.ignoreCase?"iy":"y";return new RegExp(""+t.source,e)}je.addStickyFlag=Yv;function ZEe(t,e,r){var i=[];return(0,Ie.has)(t,je.DEFAULT_MODE)||i.push({message:"A MultiMode Lexer cannot be initialized without a <"+je.DEFAULT_MODE+`> property in its definition +`,type:zt.LexerDefinitionErrorType.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE}),(0,Ie.has)(t,je.MODES)||i.push({message:"A MultiMode Lexer cannot be initialized without a <"+je.MODES+`> property in its definition +`,type:zt.LexerDefinitionErrorType.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY}),(0,Ie.has)(t,je.MODES)&&(0,Ie.has)(t,je.DEFAULT_MODE)&&!(0,Ie.has)(t.modes,t.defaultMode)&&i.push({message:"A MultiMode Lexer cannot be initialized with a "+je.DEFAULT_MODE+": <"+t.defaultMode+`>which does not exist +`,type:zt.LexerDefinitionErrorType.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST}),(0,Ie.has)(t,je.MODES)&&(0,Ie.forEach)(t.modes,function(n,s){(0,Ie.forEach)(n,function(o,a){(0,Ie.isUndefined)(o)&&i.push({message:"A Lexer cannot be initialized using an undefined Token Type. Mode:"+("<"+s+"> at index: <"+a+`> +`),type:zt.LexerDefinitionErrorType.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED})})}),i}je.performRuntimeChecks=ZEe;function $Ee(t,e,r){var i=[],n=!1,s=(0,Ie.compact)((0,Ie.flatten)((0,Ie.mapValues)(t.modes,function(l){return l}))),o=(0,Ie.reject)(s,function(l){return l[ao]===zt.Lexer.NA}),a=tG(r);return e&&(0,Ie.forEach)(o,function(l){var c=eG(l,a);if(c!==!1){var u=gG(l,c),g={message:u,type:c.issue,tokenType:l};i.push(g)}else(0,Ie.has)(l,"LINE_BREAKS")?l.LINE_BREAKS===!0&&(n=!0):(0,Iu.canMatchCharCode)(a,l.PATTERN)&&(n=!0)}),e&&!n&&i.push({message:`Warning: No LINE_BREAKS Found. + This Lexer has been defined to track line and column information, + But none of the Token Types can be identified as matching a line terminator. + See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#LINE_BREAKS + for details.`,type:zt.LexerDefinitionErrorType.NO_LINE_BREAKS_FLAGS}),i}je.performWarningRuntimeChecks=$Ee;function eIe(t){var e={},r=(0,Ie.keys)(t);return(0,Ie.forEach)(r,function(i){var n=t[i];if((0,Ie.isArray)(n))e[i]=[];else throw Error("non exhaustive match")}),e}je.cloneEmptyGroups=eIe;function qv(t){var e=t.PATTERN;if((0,Ie.isRegExp)(e))return!1;if((0,Ie.isFunction)(e))return!0;if((0,Ie.has)(e,"exec"))return!0;if((0,Ie.isString)(e))return!1;throw Error("non exhaustive match")}je.isCustomPattern=qv;function $H(t){return(0,Ie.isString)(t)&&t.length===1?t.charCodeAt(0):!1}je.isShortPattern=$H;je.LineTerminatorOptimizedTester={test:function(t){for(var e=t.length,r=this.lastIndex;r Token Type +`)+(" Root cause: "+e.errMsg+`. +`)+" For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#IDENTIFY_TERMINATOR";if(e.issue===zt.LexerDefinitionErrorType.CUSTOM_LINE_BREAK)return`Warning: A Custom Token Pattern should specify the option. +`+(" The problem is in the <"+t.name+`> Token Type +`)+" For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_LINE_BREAK";throw Error("non exhaustive match")}je.buildLineBreakIssueMessage=gG;function tG(t){var e=(0,Ie.map)(t,function(r){return(0,Ie.isString)(r)&&r.length>0?r.charCodeAt(0):r});return e}function Jv(t,e,r){t[e]===void 0?t[e]=[r]:t[e].push(r)}je.minOptimizationVal=256;var pI=[];function Wv(t){return t255?255+~~(t/255):t}}});var yu=E(Bt=>{"use strict";Object.defineProperty(Bt,"__esModule",{value:!0});Bt.isTokenType=Bt.hasExtendingTokensTypesMapProperty=Bt.hasExtendingTokensTypesProperty=Bt.hasCategoriesProperty=Bt.hasShortKeyProperty=Bt.singleAssignCategoriesToksMap=Bt.assignCategoriesMapProp=Bt.assignCategoriesTokensProp=Bt.assignTokenDefaultProps=Bt.expandCategories=Bt.augmentTokenTypes=Bt.tokenIdxToClass=Bt.tokenShortNameIdx=Bt.tokenStructuredMatcherNoCategories=Bt.tokenStructuredMatcher=void 0;var Kr=Dt();function tIe(t,e){var r=t.tokenTypeIdx;return r===e.tokenTypeIdx?!0:e.isParent===!0&&e.categoryMatchesMap[r]===!0}Bt.tokenStructuredMatcher=tIe;function rIe(t,e){return t.tokenTypeIdx===e.tokenTypeIdx}Bt.tokenStructuredMatcherNoCategories=rIe;Bt.tokenShortNameIdx=1;Bt.tokenIdxToClass={};function iIe(t){var e=fG(t);hG(e),dG(e),pG(e),(0,Kr.forEach)(e,function(r){r.isParent=r.categoryMatches.length>0})}Bt.augmentTokenTypes=iIe;function fG(t){for(var e=(0,Kr.cloneArr)(t),r=t,i=!0;i;){r=(0,Kr.compact)((0,Kr.flatten)((0,Kr.map)(r,function(s){return s.CATEGORIES})));var n=(0,Kr.difference)(r,e);e=e.concat(n),(0,Kr.isEmpty)(n)?i=!1:r=n}return e}Bt.expandCategories=fG;function hG(t){(0,Kr.forEach)(t,function(e){CG(e)||(Bt.tokenIdxToClass[Bt.tokenShortNameIdx]=e,e.tokenTypeIdx=Bt.tokenShortNameIdx++),zv(e)&&!(0,Kr.isArray)(e.CATEGORIES)&&(e.CATEGORIES=[e.CATEGORIES]),zv(e)||(e.CATEGORIES=[]),mG(e)||(e.categoryMatches=[]),EG(e)||(e.categoryMatchesMap={})})}Bt.assignTokenDefaultProps=hG;function pG(t){(0,Kr.forEach)(t,function(e){e.categoryMatches=[],(0,Kr.forEach)(e.categoryMatchesMap,function(r,i){e.categoryMatches.push(Bt.tokenIdxToClass[i].tokenTypeIdx)})})}Bt.assignCategoriesTokensProp=pG;function dG(t){(0,Kr.forEach)(t,function(e){Vv([],e)})}Bt.assignCategoriesMapProp=dG;function Vv(t,e){(0,Kr.forEach)(t,function(r){e.categoryMatchesMap[r.tokenTypeIdx]=!0}),(0,Kr.forEach)(e.CATEGORIES,function(r){var i=t.concat(e);(0,Kr.contains)(i,r)||Vv(i,r)})}Bt.singleAssignCategoriesToksMap=Vv;function CG(t){return(0,Kr.has)(t,"tokenTypeIdx")}Bt.hasShortKeyProperty=CG;function zv(t){return(0,Kr.has)(t,"CATEGORIES")}Bt.hasCategoriesProperty=zv;function mG(t){return(0,Kr.has)(t,"categoryMatches")}Bt.hasExtendingTokensTypesProperty=mG;function EG(t){return(0,Kr.has)(t,"categoryMatchesMap")}Bt.hasExtendingTokensTypesMapProperty=EG;function nIe(t){return(0,Kr.has)(t,"tokenTypeIdx")}Bt.isTokenType=nIe});var _v=E(dI=>{"use strict";Object.defineProperty(dI,"__esModule",{value:!0});dI.defaultLexerErrorProvider=void 0;dI.defaultLexerErrorProvider={buildUnableToPopLexerModeMessage:function(t){return"Unable to pop Lexer Mode after encountering Token ->"+t.image+"<- The Mode Stack is empty"},buildUnexpectedCharactersMessage:function(t,e,r,i,n){return"unexpected character: ->"+t.charAt(e)+"<- at offset: "+e+","+(" skipped "+r+" characters.")}}});var Gh=E(Rl=>{"use strict";Object.defineProperty(Rl,"__esModule",{value:!0});Rl.Lexer=Rl.LexerDefinitionErrorType=void 0;var Ps=Hv(),Vt=Dt(),sIe=yu(),oIe=_v(),aIe=gI(),AIe;(function(t){t[t.MISSING_PATTERN=0]="MISSING_PATTERN",t[t.INVALID_PATTERN=1]="INVALID_PATTERN",t[t.EOI_ANCHOR_FOUND=2]="EOI_ANCHOR_FOUND",t[t.UNSUPPORTED_FLAGS_FOUND=3]="UNSUPPORTED_FLAGS_FOUND",t[t.DUPLICATE_PATTERNS_FOUND=4]="DUPLICATE_PATTERNS_FOUND",t[t.INVALID_GROUP_TYPE_FOUND=5]="INVALID_GROUP_TYPE_FOUND",t[t.PUSH_MODE_DOES_NOT_EXIST=6]="PUSH_MODE_DOES_NOT_EXIST",t[t.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE=7]="MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE",t[t.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY=8]="MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY",t[t.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST=9]="MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST",t[t.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED=10]="LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED",t[t.SOI_ANCHOR_FOUND=11]="SOI_ANCHOR_FOUND",t[t.EMPTY_MATCH_PATTERN=12]="EMPTY_MATCH_PATTERN",t[t.NO_LINE_BREAKS_FLAGS=13]="NO_LINE_BREAKS_FLAGS",t[t.UNREACHABLE_PATTERN=14]="UNREACHABLE_PATTERN",t[t.IDENTIFY_TERMINATOR=15]="IDENTIFY_TERMINATOR",t[t.CUSTOM_LINE_BREAK=16]="CUSTOM_LINE_BREAK"})(AIe=Rl.LexerDefinitionErrorType||(Rl.LexerDefinitionErrorType={}));var jh={deferDefinitionErrorsHandling:!1,positionTracking:"full",lineTerminatorsPattern:/\n|\r\n?/g,lineTerminatorCharacters:[` +`,"\r"],ensureOptimizations:!1,safeMode:!1,errorMessageProvider:oIe.defaultLexerErrorProvider,traceInitPerf:!1,skipValidations:!1};Object.freeze(jh);var lIe=function(){function t(e,r){var i=this;if(r===void 0&&(r=jh),this.lexerDefinition=e,this.lexerDefinitionErrors=[],this.lexerDefinitionWarning=[],this.patternIdxToConfig={},this.charCodeToPatternIdxToConfig={},this.modes=[],this.emptyGroups={},this.config=void 0,this.trackStartLines=!0,this.trackEndLines=!0,this.hasCustom=!1,this.canModeBeOptimized={},typeof r=="boolean")throw Error(`The second argument to the Lexer constructor is now an ILexerConfig Object. +a boolean 2nd argument is no longer supported`);this.config=(0,Vt.merge)(jh,r);var n=this.config.traceInitPerf;n===!0?(this.traceInitMaxIdent=Infinity,this.traceInitPerf=!0):typeof n=="number"&&(this.traceInitMaxIdent=n,this.traceInitPerf=!0),this.traceInitIndent=-1,this.TRACE_INIT("Lexer Constructor",function(){var s,o=!0;i.TRACE_INIT("Lexer Config handling",function(){if(i.config.lineTerminatorsPattern===jh.lineTerminatorsPattern)i.config.lineTerminatorsPattern=Ps.LineTerminatorOptimizedTester;else if(i.config.lineTerminatorCharacters===jh.lineTerminatorCharacters)throw Error(`Error: Missing property on the Lexer config. + For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#MISSING_LINE_TERM_CHARS`);if(r.safeMode&&r.ensureOptimizations)throw Error('"safeMode" and "ensureOptimizations" flags are mutually exclusive.');i.trackStartLines=/full|onlyStart/i.test(i.config.positionTracking),i.trackEndLines=/full/i.test(i.config.positionTracking),(0,Vt.isArray)(e)?(s={modes:{}},s.modes[Ps.DEFAULT_MODE]=(0,Vt.cloneArr)(e),s[Ps.DEFAULT_MODE]=Ps.DEFAULT_MODE):(o=!1,s=(0,Vt.cloneObj)(e))}),i.config.skipValidations===!1&&(i.TRACE_INIT("performRuntimeChecks",function(){i.lexerDefinitionErrors=i.lexerDefinitionErrors.concat((0,Ps.performRuntimeChecks)(s,i.trackStartLines,i.config.lineTerminatorCharacters))}),i.TRACE_INIT("performWarningRuntimeChecks",function(){i.lexerDefinitionWarning=i.lexerDefinitionWarning.concat((0,Ps.performWarningRuntimeChecks)(s,i.trackStartLines,i.config.lineTerminatorCharacters))})),s.modes=s.modes?s.modes:{},(0,Vt.forEach)(s.modes,function(u,g){s.modes[g]=(0,Vt.reject)(u,function(f){return(0,Vt.isUndefined)(f)})});var a=(0,Vt.keys)(s.modes);if((0,Vt.forEach)(s.modes,function(u,g){i.TRACE_INIT("Mode: <"+g+"> processing",function(){if(i.modes.push(g),i.config.skipValidations===!1&&i.TRACE_INIT("validatePatterns",function(){i.lexerDefinitionErrors=i.lexerDefinitionErrors.concat((0,Ps.validatePatterns)(u,a))}),(0,Vt.isEmpty)(i.lexerDefinitionErrors)){(0,sIe.augmentTokenTypes)(u);var f;i.TRACE_INIT("analyzeTokenTypes",function(){f=(0,Ps.analyzeTokenTypes)(u,{lineTerminatorCharacters:i.config.lineTerminatorCharacters,positionTracking:r.positionTracking,ensureOptimizations:r.ensureOptimizations,safeMode:r.safeMode,tracer:i.TRACE_INIT.bind(i)})}),i.patternIdxToConfig[g]=f.patternIdxToConfig,i.charCodeToPatternIdxToConfig[g]=f.charCodeToPatternIdxToConfig,i.emptyGroups=(0,Vt.merge)(i.emptyGroups,f.emptyGroups),i.hasCustom=f.hasCustom||i.hasCustom,i.canModeBeOptimized[g]=f.canBeOptimized}})}),i.defaultMode=s.defaultMode,!(0,Vt.isEmpty)(i.lexerDefinitionErrors)&&!i.config.deferDefinitionErrorsHandling){var l=(0,Vt.map)(i.lexerDefinitionErrors,function(u){return u.message}),c=l.join(`----------------------- +`);throw new Error(`Errors detected in definition of Lexer: +`+c)}(0,Vt.forEach)(i.lexerDefinitionWarning,function(u){(0,Vt.PRINT_WARNING)(u.message)}),i.TRACE_INIT("Choosing sub-methods implementations",function(){if(Ps.SUPPORT_STICKY?(i.chopInput=Vt.IDENTITY,i.match=i.matchWithTest):(i.updateLastIndex=Vt.NOOP,i.match=i.matchWithExec),o&&(i.handleModes=Vt.NOOP),i.trackStartLines===!1&&(i.computeNewColumn=Vt.IDENTITY),i.trackEndLines===!1&&(i.updateTokenEndLineColumnLocation=Vt.NOOP),/full/i.test(i.config.positionTracking))i.createTokenInstance=i.createFullToken;else if(/onlyStart/i.test(i.config.positionTracking))i.createTokenInstance=i.createStartOnlyToken;else if(/onlyOffset/i.test(i.config.positionTracking))i.createTokenInstance=i.createOffsetOnlyToken;else throw Error('Invalid config option: "'+i.config.positionTracking+'"');i.hasCustom?(i.addToken=i.addTokenUsingPush,i.handlePayload=i.handlePayloadWithCustom):(i.addToken=i.addTokenUsingMemberAccess,i.handlePayload=i.handlePayloadNoCustom)}),i.TRACE_INIT("Failed Optimization Warnings",function(){var u=(0,Vt.reduce)(i.canModeBeOptimized,function(g,f,h){return f===!1&&g.push(h),g},[]);if(r.ensureOptimizations&&!(0,Vt.isEmpty)(u))throw Error("Lexer Modes: < "+u.join(", ")+` > cannot be optimized. + Disable the "ensureOptimizations" lexer config flag to silently ignore this and run the lexer in an un-optimized mode. + Or inspect the console log for details on how to resolve these issues.`)}),i.TRACE_INIT("clearRegExpParserCache",function(){(0,aIe.clearRegExpParserCache)()}),i.TRACE_INIT("toFastProperties",function(){(0,Vt.toFastProperties)(i)})})}return t.prototype.tokenize=function(e,r){if(r===void 0&&(r=this.defaultMode),!(0,Vt.isEmpty)(this.lexerDefinitionErrors)){var i=(0,Vt.map)(this.lexerDefinitionErrors,function(o){return o.message}),n=i.join(`----------------------- +`);throw new Error(`Unable to Tokenize because Errors detected in definition of Lexer: +`+n)}var s=this.tokenizeInternal(e,r);return s},t.prototype.tokenizeInternal=function(e,r){var i=this,n,s,o,a,l,c,u,g,f,h,p,d,m,I,B,b,R=e,H=R.length,L=0,K=0,J=this.hasCustom?0:Math.floor(e.length/10),ne=new Array(J),q=[],A=this.trackStartLines?1:void 0,V=this.trackStartLines?1:void 0,W=(0,Ps.cloneEmptyGroups)(this.emptyGroups),X=this.trackStartLines,F=this.config.lineTerminatorsPattern,D=0,he=[],pe=[],Ne=[],Pe=[];Object.freeze(Pe);var qe=void 0;function re(){return he}function se(wr){var Ui=(0,Ps.charCodeToOptimizedIndex)(wr),ws=pe[Ui];return ws===void 0?Pe:ws}var be=function(wr){if(Ne.length===1&&wr.tokenType.PUSH_MODE===void 0){var Ui=i.config.errorMessageProvider.buildUnableToPopLexerModeMessage(wr);q.push({offset:wr.startOffset,line:wr.startLine!==void 0?wr.startLine:void 0,column:wr.startColumn!==void 0?wr.startColumn:void 0,length:wr.image.length,message:Ui})}else{Ne.pop();var ws=(0,Vt.last)(Ne);he=i.patternIdxToConfig[ws],pe=i.charCodeToPatternIdxToConfig[ws],D=he.length;var Tf=i.canModeBeOptimized[ws]&&i.config.safeMode===!1;pe&&Tf?qe=se:qe=re}};function ae(wr){Ne.push(wr),pe=this.charCodeToPatternIdxToConfig[wr],he=this.patternIdxToConfig[wr],D=he.length,D=he.length;var Ui=this.canModeBeOptimized[wr]&&this.config.safeMode===!1;pe&&Ui?qe=se:qe=re}ae.call(this,r);for(var Ae;Lc.length){c=a,u=g,Ae=Oe;break}}}break}}if(c!==null){if(f=c.length,h=Ae.group,h!==void 0&&(p=Ae.tokenTypeIdx,d=this.createTokenInstance(c,L,p,Ae.tokenType,A,V,f),this.handlePayload(d,u),h===!1?K=this.addToken(ne,K,d):W[h].push(d)),e=this.chopInput(e,f),L=L+f,V=this.computeNewColumn(V,f),X===!0&&Ae.canLineTerminator===!0){var dt=0,ri=void 0,ii=void 0;F.lastIndex=0;do ri=F.test(c),ri===!0&&(ii=F.lastIndex-1,dt++);while(ri===!0);dt!==0&&(A=A+dt,V=f-ii,this.updateTokenEndLineColumnLocation(d,h,ii,dt,A,V,f))}this.handleModes(Ae,be,ae,d)}else{for(var an=L,yr=A,Ki=V,Qi=!1;!Qi&&L <"+e+">");var n=(0,Vt.timer)(r),s=n.time,o=n.value,a=s>10?console.warn:console.log;return this.traceInitIndent time: "+s+"ms"),this.traceInitIndent--,o}else return r()},t.SKIPPED="This marks a skipped Token pattern, this means each token identified by it willbe consumed and then thrown into oblivion, this can be used to for example to completely ignore whitespace.",t.NA=/NOT_APPLICABLE/,t}();Rl.Lexer=lIe});var nA=E(Ci=>{"use strict";Object.defineProperty(Ci,"__esModule",{value:!0});Ci.tokenMatcher=Ci.createTokenInstance=Ci.EOF=Ci.createToken=Ci.hasTokenLabel=Ci.tokenName=Ci.tokenLabel=void 0;var Ds=Dt(),cIe=Gh(),Xv=yu();function uIe(t){return IG(t)?t.LABEL:t.name}Ci.tokenLabel=uIe;function gIe(t){return t.name}Ci.tokenName=gIe;function IG(t){return(0,Ds.isString)(t.LABEL)&&t.LABEL!==""}Ci.hasTokenLabel=IG;var fIe="parent",yG="categories",wG="label",BG="group",QG="push_mode",bG="pop_mode",vG="longer_alt",SG="line_breaks",xG="start_chars_hint";function kG(t){return hIe(t)}Ci.createToken=kG;function hIe(t){var e=t.pattern,r={};if(r.name=t.name,(0,Ds.isUndefined)(e)||(r.PATTERN=e),(0,Ds.has)(t,fIe))throw`The parent property is no longer supported. +See: https://github.com/chevrotain/chevrotain/issues/564#issuecomment-349062346 for details.`;return(0,Ds.has)(t,yG)&&(r.CATEGORIES=t[yG]),(0,Xv.augmentTokenTypes)([r]),(0,Ds.has)(t,wG)&&(r.LABEL=t[wG]),(0,Ds.has)(t,BG)&&(r.GROUP=t[BG]),(0,Ds.has)(t,bG)&&(r.POP_MODE=t[bG]),(0,Ds.has)(t,QG)&&(r.PUSH_MODE=t[QG]),(0,Ds.has)(t,vG)&&(r.LONGER_ALT=t[vG]),(0,Ds.has)(t,SG)&&(r.LINE_BREAKS=t[SG]),(0,Ds.has)(t,xG)&&(r.START_CHARS_HINT=t[xG]),r}Ci.EOF=kG({name:"EOF",pattern:cIe.Lexer.NA});(0,Xv.augmentTokenTypes)([Ci.EOF]);function pIe(t,e,r,i,n,s,o,a){return{image:e,startOffset:r,endOffset:i,startLine:n,endLine:s,startColumn:o,endColumn:a,tokenTypeIdx:t.tokenTypeIdx,tokenType:t}}Ci.createTokenInstance=pIe;function dIe(t,e){return(0,Xv.tokenStructuredMatcher)(t,e)}Ci.tokenMatcher=dIe});var hn=E(Tt=>{"use strict";var oa=Tt&&Tt.__extends||function(){var t=function(e,r){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},t(e,r)};return function(e,r){if(typeof r!="function"&&r!==null)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");t(e,r);function i(){this.constructor=e}e.prototype=r===null?Object.create(r):(i.prototype=r.prototype,new i)}}();Object.defineProperty(Tt,"__esModule",{value:!0});Tt.serializeProduction=Tt.serializeGrammar=Tt.Terminal=Tt.Alternation=Tt.RepetitionWithSeparator=Tt.Repetition=Tt.RepetitionMandatoryWithSeparator=Tt.RepetitionMandatory=Tt.Option=Tt.Alternative=Tt.Rule=Tt.NonTerminal=Tt.AbstractProduction=void 0;var $t=Dt(),CIe=nA(),Ao=function(){function t(e){this._definition=e}return Object.defineProperty(t.prototype,"definition",{get:function(){return this._definition},set:function(e){this._definition=e},enumerable:!1,configurable:!0}),t.prototype.accept=function(e){e.visit(this),(0,$t.forEach)(this.definition,function(r){r.accept(e)})},t}();Tt.AbstractProduction=Ao;var PG=function(t){oa(e,t);function e(r){var i=t.call(this,[])||this;return i.idx=1,(0,$t.assign)(i,(0,$t.pick)(r,function(n){return n!==void 0})),i}return Object.defineProperty(e.prototype,"definition",{get:function(){return this.referencedRule!==void 0?this.referencedRule.definition:[]},set:function(r){},enumerable:!1,configurable:!0}),e.prototype.accept=function(r){r.visit(this)},e}(Ao);Tt.NonTerminal=PG;var DG=function(t){oa(e,t);function e(r){var i=t.call(this,r.definition)||this;return i.orgText="",(0,$t.assign)(i,(0,$t.pick)(r,function(n){return n!==void 0})),i}return e}(Ao);Tt.Rule=DG;var RG=function(t){oa(e,t);function e(r){var i=t.call(this,r.definition)||this;return i.ignoreAmbiguities=!1,(0,$t.assign)(i,(0,$t.pick)(r,function(n){return n!==void 0})),i}return e}(Ao);Tt.Alternative=RG;var FG=function(t){oa(e,t);function e(r){var i=t.call(this,r.definition)||this;return i.idx=1,(0,$t.assign)(i,(0,$t.pick)(r,function(n){return n!==void 0})),i}return e}(Ao);Tt.Option=FG;var NG=function(t){oa(e,t);function e(r){var i=t.call(this,r.definition)||this;return i.idx=1,(0,$t.assign)(i,(0,$t.pick)(r,function(n){return n!==void 0})),i}return e}(Ao);Tt.RepetitionMandatory=NG;var LG=function(t){oa(e,t);function e(r){var i=t.call(this,r.definition)||this;return i.idx=1,(0,$t.assign)(i,(0,$t.pick)(r,function(n){return n!==void 0})),i}return e}(Ao);Tt.RepetitionMandatoryWithSeparator=LG;var TG=function(t){oa(e,t);function e(r){var i=t.call(this,r.definition)||this;return i.idx=1,(0,$t.assign)(i,(0,$t.pick)(r,function(n){return n!==void 0})),i}return e}(Ao);Tt.Repetition=TG;var MG=function(t){oa(e,t);function e(r){var i=t.call(this,r.definition)||this;return i.idx=1,(0,$t.assign)(i,(0,$t.pick)(r,function(n){return n!==void 0})),i}return e}(Ao);Tt.RepetitionWithSeparator=MG;var OG=function(t){oa(e,t);function e(r){var i=t.call(this,r.definition)||this;return i.idx=1,i.ignoreAmbiguities=!1,i.hasPredicates=!1,(0,$t.assign)(i,(0,$t.pick)(r,function(n){return n!==void 0})),i}return Object.defineProperty(e.prototype,"definition",{get:function(){return this._definition},set:function(r){this._definition=r},enumerable:!1,configurable:!0}),e}(Ao);Tt.Alternation=OG;var CI=function(){function t(e){this.idx=1,(0,$t.assign)(this,(0,$t.pick)(e,function(r){return r!==void 0}))}return t.prototype.accept=function(e){e.visit(this)},t}();Tt.Terminal=CI;function mIe(t){return(0,$t.map)(t,Yh)}Tt.serializeGrammar=mIe;function Yh(t){function e(s){return(0,$t.map)(s,Yh)}if(t instanceof PG){var r={type:"NonTerminal",name:t.nonTerminalName,idx:t.idx};return(0,$t.isString)(t.label)&&(r.label=t.label),r}else{if(t instanceof RG)return{type:"Alternative",definition:e(t.definition)};if(t instanceof FG)return{type:"Option",idx:t.idx,definition:e(t.definition)};if(t instanceof NG)return{type:"RepetitionMandatory",idx:t.idx,definition:e(t.definition)};if(t instanceof LG)return{type:"RepetitionMandatoryWithSeparator",idx:t.idx,separator:Yh(new CI({terminalType:t.separator})),definition:e(t.definition)};if(t instanceof MG)return{type:"RepetitionWithSeparator",idx:t.idx,separator:Yh(new CI({terminalType:t.separator})),definition:e(t.definition)};if(t instanceof TG)return{type:"Repetition",idx:t.idx,definition:e(t.definition)};if(t instanceof OG)return{type:"Alternation",idx:t.idx,definition:e(t.definition)};if(t instanceof CI){var i={type:"Terminal",name:t.terminalType.name,label:(0,CIe.tokenLabel)(t.terminalType),idx:t.idx};(0,$t.isString)(t.label)&&(i.terminalLabel=t.label);var n=t.terminalType.PATTERN;return t.terminalType.PATTERN&&(i.pattern=(0,$t.isRegExp)(n)?n.source:n),i}else{if(t instanceof DG)return{type:"Rule",name:t.name,orgText:t.orgText,definition:e(t.definition)};throw Error("non exhaustive match")}}}Tt.serializeProduction=Yh});var EI=E(mI=>{"use strict";Object.defineProperty(mI,"__esModule",{value:!0});mI.RestWalker=void 0;var Zv=Dt(),pn=hn(),EIe=function(){function t(){}return t.prototype.walk=function(e,r){var i=this;r===void 0&&(r=[]),(0,Zv.forEach)(e.definition,function(n,s){var o=(0,Zv.drop)(e.definition,s+1);if(n instanceof pn.NonTerminal)i.walkProdRef(n,o,r);else if(n instanceof pn.Terminal)i.walkTerminal(n,o,r);else if(n instanceof pn.Alternative)i.walkFlat(n,o,r);else if(n instanceof pn.Option)i.walkOption(n,o,r);else if(n instanceof pn.RepetitionMandatory)i.walkAtLeastOne(n,o,r);else if(n instanceof pn.RepetitionMandatoryWithSeparator)i.walkAtLeastOneSep(n,o,r);else if(n instanceof pn.RepetitionWithSeparator)i.walkManySep(n,o,r);else if(n instanceof pn.Repetition)i.walkMany(n,o,r);else if(n instanceof pn.Alternation)i.walkOr(n,o,r);else throw Error("non exhaustive match")})},t.prototype.walkTerminal=function(e,r,i){},t.prototype.walkProdRef=function(e,r,i){},t.prototype.walkFlat=function(e,r,i){var n=r.concat(i);this.walk(e,n)},t.prototype.walkOption=function(e,r,i){var n=r.concat(i);this.walk(e,n)},t.prototype.walkAtLeastOne=function(e,r,i){var n=[new pn.Option({definition:e.definition})].concat(r,i);this.walk(e,n)},t.prototype.walkAtLeastOneSep=function(e,r,i){var n=KG(e,r,i);this.walk(e,n)},t.prototype.walkMany=function(e,r,i){var n=[new pn.Option({definition:e.definition})].concat(r,i);this.walk(e,n)},t.prototype.walkManySep=function(e,r,i){var n=KG(e,r,i);this.walk(e,n)},t.prototype.walkOr=function(e,r,i){var n=this,s=r.concat(i);(0,Zv.forEach)(e.definition,function(o){var a=new pn.Alternative({definition:[o]});n.walk(a,s)})},t}();mI.RestWalker=EIe;function KG(t,e,r){var i=[new pn.Option({definition:[new pn.Terminal({terminalType:t.separator})].concat(t.definition)})],n=i.concat(e,r);return n}});var wu=E(II=>{"use strict";Object.defineProperty(II,"__esModule",{value:!0});II.GAstVisitor=void 0;var lo=hn(),IIe=function(){function t(){}return t.prototype.visit=function(e){var r=e;switch(r.constructor){case lo.NonTerminal:return this.visitNonTerminal(r);case lo.Alternative:return this.visitAlternative(r);case lo.Option:return this.visitOption(r);case lo.RepetitionMandatory:return this.visitRepetitionMandatory(r);case lo.RepetitionMandatoryWithSeparator:return this.visitRepetitionMandatoryWithSeparator(r);case lo.RepetitionWithSeparator:return this.visitRepetitionWithSeparator(r);case lo.Repetition:return this.visitRepetition(r);case lo.Alternation:return this.visitAlternation(r);case lo.Terminal:return this.visitTerminal(r);case lo.Rule:return this.visitRule(r);default:throw Error("non exhaustive match")}},t.prototype.visitNonTerminal=function(e){},t.prototype.visitAlternative=function(e){},t.prototype.visitOption=function(e){},t.prototype.visitRepetition=function(e){},t.prototype.visitRepetitionMandatory=function(e){},t.prototype.visitRepetitionMandatoryWithSeparator=function(e){},t.prototype.visitRepetitionWithSeparator=function(e){},t.prototype.visitAlternation=function(e){},t.prototype.visitTerminal=function(e){},t.prototype.visitRule=function(e){},t}();II.GAstVisitor=IIe});var Jh=E(Si=>{"use strict";var yIe=Si&&Si.__extends||function(){var t=function(e,r){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},t(e,r)};return function(e,r){if(typeof r!="function"&&r!==null)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");t(e,r);function i(){this.constructor=e}e.prototype=r===null?Object.create(r):(i.prototype=r.prototype,new i)}}();Object.defineProperty(Si,"__esModule",{value:!0});Si.collectMethods=Si.DslMethodsCollectorVisitor=Si.getProductionDslName=Si.isBranchingProd=Si.isOptionalProd=Si.isSequenceProd=void 0;var qh=Dt(),dr=hn(),wIe=wu();function BIe(t){return t instanceof dr.Alternative||t instanceof dr.Option||t instanceof dr.Repetition||t instanceof dr.RepetitionMandatory||t instanceof dr.RepetitionMandatoryWithSeparator||t instanceof dr.RepetitionWithSeparator||t instanceof dr.Terminal||t instanceof dr.Rule}Si.isSequenceProd=BIe;function $v(t,e){e===void 0&&(e=[]);var r=t instanceof dr.Option||t instanceof dr.Repetition||t instanceof dr.RepetitionWithSeparator;return r?!0:t instanceof dr.Alternation?(0,qh.some)(t.definition,function(i){return $v(i,e)}):t instanceof dr.NonTerminal&&(0,qh.contains)(e,t)?!1:t instanceof dr.AbstractProduction?(t instanceof dr.NonTerminal&&e.push(t),(0,qh.every)(t.definition,function(i){return $v(i,e)})):!1}Si.isOptionalProd=$v;function QIe(t){return t instanceof dr.Alternation}Si.isBranchingProd=QIe;function bIe(t){if(t instanceof dr.NonTerminal)return"SUBRULE";if(t instanceof dr.Option)return"OPTION";if(t instanceof dr.Alternation)return"OR";if(t instanceof dr.RepetitionMandatory)return"AT_LEAST_ONE";if(t instanceof dr.RepetitionMandatoryWithSeparator)return"AT_LEAST_ONE_SEP";if(t instanceof dr.RepetitionWithSeparator)return"MANY_SEP";if(t instanceof dr.Repetition)return"MANY";if(t instanceof dr.Terminal)return"CONSUME";throw Error("non exhaustive match")}Si.getProductionDslName=bIe;var UG=function(t){yIe(e,t);function e(){var r=t!==null&&t.apply(this,arguments)||this;return r.separator="-",r.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]},r}return e.prototype.reset=function(){this.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]}},e.prototype.visitTerminal=function(r){var i=r.terminalType.name+this.separator+"Terminal";(0,qh.has)(this.dslMethods,i)||(this.dslMethods[i]=[]),this.dslMethods[i].push(r)},e.prototype.visitNonTerminal=function(r){var i=r.nonTerminalName+this.separator+"Terminal";(0,qh.has)(this.dslMethods,i)||(this.dslMethods[i]=[]),this.dslMethods[i].push(r)},e.prototype.visitOption=function(r){this.dslMethods.option.push(r)},e.prototype.visitRepetitionWithSeparator=function(r){this.dslMethods.repetitionWithSeparator.push(r)},e.prototype.visitRepetitionMandatory=function(r){this.dslMethods.repetitionMandatory.push(r)},e.prototype.visitRepetitionMandatoryWithSeparator=function(r){this.dslMethods.repetitionMandatoryWithSeparator.push(r)},e.prototype.visitRepetition=function(r){this.dslMethods.repetition.push(r)},e.prototype.visitAlternation=function(r){this.dslMethods.alternation.push(r)},e}(wIe.GAstVisitor);Si.DslMethodsCollectorVisitor=UG;var yI=new UG;function vIe(t){yI.reset(),t.accept(yI);var e=yI.dslMethods;return yI.reset(),e}Si.collectMethods=vIe});var tS=E(co=>{"use strict";Object.defineProperty(co,"__esModule",{value:!0});co.firstForTerminal=co.firstForBranching=co.firstForSequence=co.first=void 0;var wI=Dt(),HG=hn(),eS=Jh();function BI(t){if(t instanceof HG.NonTerminal)return BI(t.referencedRule);if(t instanceof HG.Terminal)return YG(t);if((0,eS.isSequenceProd)(t))return GG(t);if((0,eS.isBranchingProd)(t))return jG(t);throw Error("non exhaustive match")}co.first=BI;function GG(t){for(var e=[],r=t.definition,i=0,n=r.length>i,s,o=!0;n&&o;)s=r[i],o=(0,eS.isOptionalProd)(s),e=e.concat(BI(s)),i=i+1,n=r.length>i;return(0,wI.uniq)(e)}co.firstForSequence=GG;function jG(t){var e=(0,wI.map)(t.definition,function(r){return BI(r)});return(0,wI.uniq)((0,wI.flatten)(e))}co.firstForBranching=jG;function YG(t){return[t.terminalType]}co.firstForTerminal=YG});var rS=E(QI=>{"use strict";Object.defineProperty(QI,"__esModule",{value:!0});QI.IN=void 0;QI.IN="_~IN~_"});var VG=E(es=>{"use strict";var SIe=es&&es.__extends||function(){var t=function(e,r){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},t(e,r)};return function(e,r){if(typeof r!="function"&&r!==null)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");t(e,r);function i(){this.constructor=e}e.prototype=r===null?Object.create(r):(i.prototype=r.prototype,new i)}}();Object.defineProperty(es,"__esModule",{value:!0});es.buildInProdFollowPrefix=es.buildBetweenProdsFollowPrefix=es.computeAllProdsFollows=es.ResyncFollowsWalker=void 0;var xIe=EI(),kIe=tS(),qG=Dt(),JG=rS(),PIe=hn(),zG=function(t){SIe(e,t);function e(r){var i=t.call(this)||this;return i.topProd=r,i.follows={},i}return e.prototype.startWalking=function(){return this.walk(this.topProd),this.follows},e.prototype.walkTerminal=function(r,i,n){},e.prototype.walkProdRef=function(r,i,n){var s=WG(r.referencedRule,r.idx)+this.topProd.name,o=i.concat(n),a=new PIe.Alternative({definition:o}),l=(0,kIe.first)(a);this.follows[s]=l},e}(xIe.RestWalker);es.ResyncFollowsWalker=zG;function DIe(t){var e={};return(0,qG.forEach)(t,function(r){var i=new zG(r).startWalking();(0,qG.assign)(e,i)}),e}es.computeAllProdsFollows=DIe;function WG(t,e){return t.name+e+JG.IN}es.buildBetweenProdsFollowPrefix=WG;function RIe(t){var e=t.terminalType.name;return e+t.idx+JG.IN}es.buildInProdFollowPrefix=RIe});var Wh=E(aa=>{"use strict";Object.defineProperty(aa,"__esModule",{value:!0});aa.defaultGrammarValidatorErrorProvider=aa.defaultGrammarResolverErrorProvider=aa.defaultParserErrorProvider=void 0;var Bu=nA(),FIe=Dt(),Rs=Dt(),iS=hn(),_G=Jh();aa.defaultParserErrorProvider={buildMismatchTokenMessage:function(t){var e=t.expected,r=t.actual,i=t.previous,n=t.ruleName,s=(0,Bu.hasTokenLabel)(e),o=s?"--> "+(0,Bu.tokenLabel)(e)+" <--":"token of type --> "+e.name+" <--",a="Expecting "+o+" but found --> '"+r.image+"' <--";return a},buildNotAllInputParsedMessage:function(t){var e=t.firstRedundant,r=t.ruleName;return"Redundant input, expecting EOF but found: "+e.image},buildNoViableAltMessage:function(t){var e=t.expectedPathsPerAlt,r=t.actual,i=t.previous,n=t.customUserDescription,s=t.ruleName,o="Expecting: ",a=(0,Rs.first)(r).image,l=` +but found: '`+a+"'";if(n)return o+n+l;var c=(0,Rs.reduce)(e,function(h,p){return h.concat(p)},[]),u=(0,Rs.map)(c,function(h){return"["+(0,Rs.map)(h,function(p){return(0,Bu.tokenLabel)(p)}).join(", ")+"]"}),g=(0,Rs.map)(u,function(h,p){return" "+(p+1)+". "+h}),f=`one of these possible Token sequences: +`+g.join(` +`);return o+f+l},buildEarlyExitMessage:function(t){var e=t.expectedIterationPaths,r=t.actual,i=t.customUserDescription,n=t.ruleName,s="Expecting: ",o=(0,Rs.first)(r).image,a=` +but found: '`+o+"'";if(i)return s+i+a;var l=(0,Rs.map)(e,function(u){return"["+(0,Rs.map)(u,function(g){return(0,Bu.tokenLabel)(g)}).join(",")+"]"}),c=`expecting at least one iteration which starts with one of these possible Token sequences:: + `+("<"+l.join(" ,")+">");return s+c+a}};Object.freeze(aa.defaultParserErrorProvider);aa.defaultGrammarResolverErrorProvider={buildRuleNotFoundError:function(t,e){var r="Invalid grammar, reference to a rule which is not defined: ->"+e.nonTerminalName+`<- +inside top level rule: ->`+t.name+"<-";return r}};aa.defaultGrammarValidatorErrorProvider={buildDuplicateFoundError:function(t,e){function r(u){return u instanceof iS.Terminal?u.terminalType.name:u instanceof iS.NonTerminal?u.nonTerminalName:""}var i=t.name,n=(0,Rs.first)(e),s=n.idx,o=(0,_G.getProductionDslName)(n),a=r(n),l=s>0,c="->"+o+(l?s:"")+"<- "+(a?"with argument: ->"+a+"<-":"")+` + appears more than once (`+e.length+" times) in the top level rule: ->"+i+`<-. + For further details see: https://chevrotain.io/docs/FAQ.html#NUMERICAL_SUFFIXES + `;return c=c.replace(/[ \t]+/g," "),c=c.replace(/\s\s+/g,` +`),c},buildNamespaceConflictError:function(t){var e=`Namespace conflict found in grammar. +`+("The grammar has both a Terminal(Token) and a Non-Terminal(Rule) named: <"+t.name+`>. +`)+`To resolve this make sure each Terminal and Non-Terminal names are unique +This is easy to accomplish by using the convention that Terminal names start with an uppercase letter +and Non-Terminal names start with a lower case letter.`;return e},buildAlternationPrefixAmbiguityError:function(t){var e=(0,Rs.map)(t.prefixPath,function(n){return(0,Bu.tokenLabel)(n)}).join(", "),r=t.alternation.idx===0?"":t.alternation.idx,i="Ambiguous alternatives: <"+t.ambiguityIndices.join(" ,")+`> due to common lookahead prefix +`+("in inside <"+t.topLevelRule.name+`> Rule, +`)+("<"+e+`> may appears as a prefix path in all these alternatives. +`)+`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#COMMON_PREFIX +For Further details.`;return i},buildAlternationAmbiguityError:function(t){var e=(0,Rs.map)(t.prefixPath,function(n){return(0,Bu.tokenLabel)(n)}).join(", "),r=t.alternation.idx===0?"":t.alternation.idx,i="Ambiguous Alternatives Detected: <"+t.ambiguityIndices.join(" ,")+"> in "+(" inside <"+t.topLevelRule.name+`> Rule, +`)+("<"+e+`> may appears as a prefix path in all these alternatives. +`);return i=i+`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES +For Further details.`,i},buildEmptyRepetitionError:function(t){var e=(0,_G.getProductionDslName)(t.repetition);t.repetition.idx!==0&&(e+=t.repetition.idx);var r="The repetition <"+e+"> within Rule <"+t.topLevelRule.name+`> can never consume any tokens. +This could lead to an infinite loop.`;return r},buildTokenNameError:function(t){return"deprecated"},buildEmptyAlternationError:function(t){var e="Ambiguous empty alternative: <"+(t.emptyChoiceIdx+1)+">"+(" in inside <"+t.topLevelRule.name+`> Rule. +`)+"Only the last alternative may be an empty alternative.";return e},buildTooManyAlternativesError:function(t){var e=`An Alternation cannot have more than 256 alternatives: +`+(" inside <"+t.topLevelRule.name+`> Rule. + has `+(t.alternation.definition.length+1)+" alternatives.");return e},buildLeftRecursionError:function(t){var e=t.topLevelRule.name,r=FIe.map(t.leftRecursionPath,function(s){return s.name}),i=e+" --> "+r.concat([e]).join(" --> "),n=`Left Recursion found in grammar. +`+("rule: <"+e+`> can be invoked from itself (directly or indirectly) +`)+(`without consuming any Tokens. The grammar path that causes this is: + `+i+` +`)+` To fix this refactor your grammar to remove the left recursion. +see: https://en.wikipedia.org/wiki/LL_parser#Left_Factoring.`;return n},buildInvalidRuleNameError:function(t){return"deprecated"},buildDuplicateRuleNameError:function(t){var e;t.topLevelRule instanceof iS.Rule?e=t.topLevelRule.name:e=t.topLevelRule;var r="Duplicate definition, rule: ->"+e+"<- is already defined in the grammar: ->"+t.grammarName+"<-";return r}}});var $G=E(sA=>{"use strict";var NIe=sA&&sA.__extends||function(){var t=function(e,r){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},t(e,r)};return function(e,r){if(typeof r!="function"&&r!==null)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");t(e,r);function i(){this.constructor=e}e.prototype=r===null?Object.create(r):(i.prototype=r.prototype,new i)}}();Object.defineProperty(sA,"__esModule",{value:!0});sA.GastRefResolverVisitor=sA.resolveGrammar=void 0;var LIe=Tn(),XG=Dt(),TIe=wu();function MIe(t,e){var r=new ZG(t,e);return r.resolveRefs(),r.errors}sA.resolveGrammar=MIe;var ZG=function(t){NIe(e,t);function e(r,i){var n=t.call(this)||this;return n.nameToTopRule=r,n.errMsgProvider=i,n.errors=[],n}return e.prototype.resolveRefs=function(){var r=this;(0,XG.forEach)((0,XG.values)(this.nameToTopRule),function(i){r.currTopLevel=i,i.accept(r)})},e.prototype.visitNonTerminal=function(r){var i=this.nameToTopRule[r.nonTerminalName];if(i)r.referencedRule=i;else{var n=this.errMsgProvider.buildRuleNotFoundError(this.currTopLevel,r);this.errors.push({message:n,type:LIe.ParserDefinitionErrorType.UNRESOLVED_SUBRULE_REF,ruleName:this.currTopLevel.name,unresolvedRefName:r.nonTerminalName})}},e}(TIe.GAstVisitor);sA.GastRefResolverVisitor=ZG});var Vh=E(Br=>{"use strict";var Fl=Br&&Br.__extends||function(){var t=function(e,r){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},t(e,r)};return function(e,r){if(typeof r!="function"&&r!==null)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");t(e,r);function i(){this.constructor=e}e.prototype=r===null?Object.create(r):(i.prototype=r.prototype,new i)}}();Object.defineProperty(Br,"__esModule",{value:!0});Br.nextPossibleTokensAfter=Br.possiblePathsFrom=Br.NextTerminalAfterAtLeastOneSepWalker=Br.NextTerminalAfterAtLeastOneWalker=Br.NextTerminalAfterManySepWalker=Br.NextTerminalAfterManyWalker=Br.AbstractNextTerminalAfterProductionWalker=Br.NextAfterTokenWalker=Br.AbstractNextPossibleTokensWalker=void 0;var ej=EI(),xt=Dt(),OIe=tS(),It=hn(),tj=function(t){Fl(e,t);function e(r,i){var n=t.call(this)||this;return n.topProd=r,n.path=i,n.possibleTokTypes=[],n.nextProductionName="",n.nextProductionOccurrence=0,n.found=!1,n.isAtEndOfPath=!1,n}return e.prototype.startWalking=function(){if(this.found=!1,this.path.ruleStack[0]!==this.topProd.name)throw Error("The path does not start with the walker's top Rule!");return this.ruleStack=(0,xt.cloneArr)(this.path.ruleStack).reverse(),this.occurrenceStack=(0,xt.cloneArr)(this.path.occurrenceStack).reverse(),this.ruleStack.pop(),this.occurrenceStack.pop(),this.updateExpectedNext(),this.walk(this.topProd),this.possibleTokTypes},e.prototype.walk=function(r,i){i===void 0&&(i=[]),this.found||t.prototype.walk.call(this,r,i)},e.prototype.walkProdRef=function(r,i,n){if(r.referencedRule.name===this.nextProductionName&&r.idx===this.nextProductionOccurrence){var s=i.concat(n);this.updateExpectedNext(),this.walk(r.referencedRule,s)}},e.prototype.updateExpectedNext=function(){(0,xt.isEmpty)(this.ruleStack)?(this.nextProductionName="",this.nextProductionOccurrence=0,this.isAtEndOfPath=!0):(this.nextProductionName=this.ruleStack.pop(),this.nextProductionOccurrence=this.occurrenceStack.pop())},e}(ej.RestWalker);Br.AbstractNextPossibleTokensWalker=tj;var KIe=function(t){Fl(e,t);function e(r,i){var n=t.call(this,r,i)||this;return n.path=i,n.nextTerminalName="",n.nextTerminalOccurrence=0,n.nextTerminalName=n.path.lastTok.name,n.nextTerminalOccurrence=n.path.lastTokOccurrence,n}return e.prototype.walkTerminal=function(r,i,n){if(this.isAtEndOfPath&&r.terminalType.name===this.nextTerminalName&&r.idx===this.nextTerminalOccurrence&&!this.found){var s=i.concat(n),o=new It.Alternative({definition:s});this.possibleTokTypes=(0,OIe.first)(o),this.found=!0}},e}(tj);Br.NextAfterTokenWalker=KIe;var zh=function(t){Fl(e,t);function e(r,i){var n=t.call(this)||this;return n.topRule=r,n.occurrence=i,n.result={token:void 0,occurrence:void 0,isEndOfRule:void 0},n}return e.prototype.startWalking=function(){return this.walk(this.topRule),this.result},e}(ej.RestWalker);Br.AbstractNextTerminalAfterProductionWalker=zh;var UIe=function(t){Fl(e,t);function e(){return t!==null&&t.apply(this,arguments)||this}return e.prototype.walkMany=function(r,i,n){if(r.idx===this.occurrence){var s=(0,xt.first)(i.concat(n));this.result.isEndOfRule=s===void 0,s instanceof It.Terminal&&(this.result.token=s.terminalType,this.result.occurrence=s.idx)}else t.prototype.walkMany.call(this,r,i,n)},e}(zh);Br.NextTerminalAfterManyWalker=UIe;var HIe=function(t){Fl(e,t);function e(){return t!==null&&t.apply(this,arguments)||this}return e.prototype.walkManySep=function(r,i,n){if(r.idx===this.occurrence){var s=(0,xt.first)(i.concat(n));this.result.isEndOfRule=s===void 0,s instanceof It.Terminal&&(this.result.token=s.terminalType,this.result.occurrence=s.idx)}else t.prototype.walkManySep.call(this,r,i,n)},e}(zh);Br.NextTerminalAfterManySepWalker=HIe;var GIe=function(t){Fl(e,t);function e(){return t!==null&&t.apply(this,arguments)||this}return e.prototype.walkAtLeastOne=function(r,i,n){if(r.idx===this.occurrence){var s=(0,xt.first)(i.concat(n));this.result.isEndOfRule=s===void 0,s instanceof It.Terminal&&(this.result.token=s.terminalType,this.result.occurrence=s.idx)}else t.prototype.walkAtLeastOne.call(this,r,i,n)},e}(zh);Br.NextTerminalAfterAtLeastOneWalker=GIe;var jIe=function(t){Fl(e,t);function e(){return t!==null&&t.apply(this,arguments)||this}return e.prototype.walkAtLeastOneSep=function(r,i,n){if(r.idx===this.occurrence){var s=(0,xt.first)(i.concat(n));this.result.isEndOfRule=s===void 0,s instanceof It.Terminal&&(this.result.token=s.terminalType,this.result.occurrence=s.idx)}else t.prototype.walkAtLeastOneSep.call(this,r,i,n)},e}(zh);Br.NextTerminalAfterAtLeastOneSepWalker=jIe;function rj(t,e,r){r===void 0&&(r=[]),r=(0,xt.cloneArr)(r);var i=[],n=0;function s(c){return c.concat((0,xt.drop)(t,n+1))}function o(c){var u=rj(s(c),e,r);return i.concat(u)}for(;r.length=0;W--){var X=I.definition[W],F={idx:p,def:X.definition.concat((0,xt.drop)(h)),ruleStack:d,occurrenceStack:m};g.push(F),g.push(o)}else if(I instanceof It.Alternative)g.push({idx:p,def:I.definition.concat((0,xt.drop)(h)),ruleStack:d,occurrenceStack:m});else if(I instanceof It.Rule)g.push(YIe(I,p,d,m));else throw Error("non exhaustive match")}}return u}Br.nextPossibleTokensAfter=qIe;function YIe(t,e,r,i){var n=(0,xt.cloneArr)(r);n.push(t.name);var s=(0,xt.cloneArr)(i);return s.push(1),{idx:e,def:t.definition,ruleStack:n,occurrenceStack:s}}});var _h=E(Gt=>{"use strict";var ij=Gt&&Gt.__extends||function(){var t=function(e,r){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},t(e,r)};return function(e,r){if(typeof r!="function"&&r!==null)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");t(e,r);function i(){this.constructor=e}e.prototype=r===null?Object.create(r):(i.prototype=r.prototype,new i)}}();Object.defineProperty(Gt,"__esModule",{value:!0});Gt.areTokenCategoriesNotUsed=Gt.isStrictPrefixOfPath=Gt.containsPath=Gt.getLookaheadPathsForOptionalProd=Gt.getLookaheadPathsForOr=Gt.lookAheadSequenceFromAlternatives=Gt.buildSingleAlternativeLookaheadFunction=Gt.buildAlternativesLookAheadFunc=Gt.buildLookaheadFuncForOptionalProd=Gt.buildLookaheadFuncForOr=Gt.getProdType=Gt.PROD_TYPE=void 0;var _t=Dt(),nj=Vh(),JIe=EI(),bI=yu(),oA=hn(),WIe=wu(),zr;(function(t){t[t.OPTION=0]="OPTION",t[t.REPETITION=1]="REPETITION",t[t.REPETITION_MANDATORY=2]="REPETITION_MANDATORY",t[t.REPETITION_MANDATORY_WITH_SEPARATOR=3]="REPETITION_MANDATORY_WITH_SEPARATOR",t[t.REPETITION_WITH_SEPARATOR=4]="REPETITION_WITH_SEPARATOR",t[t.ALTERNATION=5]="ALTERNATION"})(zr=Gt.PROD_TYPE||(Gt.PROD_TYPE={}));function zIe(t){if(t instanceof oA.Option)return zr.OPTION;if(t instanceof oA.Repetition)return zr.REPETITION;if(t instanceof oA.RepetitionMandatory)return zr.REPETITION_MANDATORY;if(t instanceof oA.RepetitionMandatoryWithSeparator)return zr.REPETITION_MANDATORY_WITH_SEPARATOR;if(t instanceof oA.RepetitionWithSeparator)return zr.REPETITION_WITH_SEPARATOR;if(t instanceof oA.Alternation)return zr.ALTERNATION;throw Error("non exhaustive match")}Gt.getProdType=zIe;function VIe(t,e,r,i,n,s){var o=sj(t,e,r),a=nS(o)?bI.tokenStructuredMatcherNoCategories:bI.tokenStructuredMatcher;return s(o,i,a,n)}Gt.buildLookaheadFuncForOr=VIe;function _Ie(t,e,r,i,n,s){var o=oj(t,e,n,r),a=nS(o)?bI.tokenStructuredMatcherNoCategories:bI.tokenStructuredMatcher;return s(o[0],a,i)}Gt.buildLookaheadFuncForOptionalProd=_Ie;function XIe(t,e,r,i){var n=t.length,s=(0,_t.every)(t,function(l){return(0,_t.every)(l,function(c){return c.length===1})});if(e)return function(l){for(var c=(0,_t.map)(l,function(b){return b.GATE}),u=0;u{"use strict";var aS=Mt&&Mt.__extends||function(){var t=function(e,r){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},t(e,r)};return function(e,r){if(typeof r!="function"&&r!==null)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");t(e,r);function i(){this.constructor=e}e.prototype=r===null?Object.create(r):(i.prototype=r.prototype,new i)}}();Object.defineProperty(Mt,"__esModule",{value:!0});Mt.checkPrefixAlternativesAmbiguities=Mt.validateSomeNonEmptyLookaheadPath=Mt.validateTooManyAlts=Mt.RepetionCollector=Mt.validateAmbiguousAlternationAlternatives=Mt.validateEmptyOrAlternative=Mt.getFirstNoneTerminal=Mt.validateNoLeftRecursion=Mt.validateRuleIsOverridden=Mt.validateRuleDoesNotAlreadyExist=Mt.OccurrenceValidationCollector=Mt.identifyProductionForDuplicates=Mt.validateGrammar=void 0;var jt=Dt(),Cr=Dt(),uo=Tn(),AS=Jh(),Qu=_h(),rye=Vh(),Fs=hn(),lS=wu();function sye(t,e,r,i,n){var s=jt.map(t,function(h){return iye(h,i)}),o=jt.map(t,function(h){return cS(h,h,i)}),a=[],l=[],c=[];(0,Cr.every)(o,Cr.isEmpty)&&(a=(0,Cr.map)(t,function(h){return uj(h,i)}),l=(0,Cr.map)(t,function(h){return gj(h,e,i)}),c=hj(t,e,i));var u=nye(t,r,i),g=(0,Cr.map)(t,function(h){return fj(h,i)}),f=(0,Cr.map)(t,function(h){return cj(h,t,n,i)});return jt.flatten(s.concat(c,o,a,l,u,g,f))}Mt.validateGrammar=sye;function iye(t,e){var r=new Cj;t.accept(r);var i=r.allProductions,n=jt.groupBy(i,pj),s=jt.pick(n,function(a){return a.length>1}),o=jt.map(jt.values(s),function(a){var l=jt.first(a),c=e.buildDuplicateFoundError(t,a),u=(0,AS.getProductionDslName)(l),g={message:c,type:uo.ParserDefinitionErrorType.DUPLICATE_PRODUCTIONS,ruleName:t.name,dslName:u,occurrence:l.idx},f=dj(l);return f&&(g.parameter=f),g});return o}function pj(t){return(0,AS.getProductionDslName)(t)+"_#_"+t.idx+"_#_"+dj(t)}Mt.identifyProductionForDuplicates=pj;function dj(t){return t instanceof Fs.Terminal?t.terminalType.name:t instanceof Fs.NonTerminal?t.nonTerminalName:""}var Cj=function(t){aS(e,t);function e(){var r=t!==null&&t.apply(this,arguments)||this;return r.allProductions=[],r}return e.prototype.visitNonTerminal=function(r){this.allProductions.push(r)},e.prototype.visitOption=function(r){this.allProductions.push(r)},e.prototype.visitRepetitionWithSeparator=function(r){this.allProductions.push(r)},e.prototype.visitRepetitionMandatory=function(r){this.allProductions.push(r)},e.prototype.visitRepetitionMandatoryWithSeparator=function(r){this.allProductions.push(r)},e.prototype.visitRepetition=function(r){this.allProductions.push(r)},e.prototype.visitAlternation=function(r){this.allProductions.push(r)},e.prototype.visitTerminal=function(r){this.allProductions.push(r)},e}(lS.GAstVisitor);Mt.OccurrenceValidationCollector=Cj;function cj(t,e,r,i){var n=[],s=(0,Cr.reduce)(e,function(a,l){return l.name===t.name?a+1:a},0);if(s>1){var o=i.buildDuplicateRuleNameError({topLevelRule:t,grammarName:r});n.push({message:o,type:uo.ParserDefinitionErrorType.DUPLICATE_RULE_NAME,ruleName:t.name})}return n}Mt.validateRuleDoesNotAlreadyExist=cj;function oye(t,e,r){var i=[],n;return jt.contains(e,t)||(n="Invalid rule override, rule: ->"+t+"<- cannot be overridden in the grammar: ->"+r+"<-as it is not defined in any of the super grammars ",i.push({message:n,type:uo.ParserDefinitionErrorType.INVALID_RULE_OVERRIDE,ruleName:t})),i}Mt.validateRuleIsOverridden=oye;function cS(t,e,r,i){i===void 0&&(i=[]);var n=[],s=Xh(e.definition);if(jt.isEmpty(s))return[];var o=t.name,a=jt.contains(s,t);a&&n.push({message:r.buildLeftRecursionError({topLevelRule:t,leftRecursionPath:i}),type:uo.ParserDefinitionErrorType.LEFT_RECURSION,ruleName:o});var l=jt.difference(s,i.concat([t])),c=jt.map(l,function(u){var g=jt.cloneArr(i);return g.push(u),cS(t,u,r,g)});return n.concat(jt.flatten(c))}Mt.validateNoLeftRecursion=cS;function Xh(t){var e=[];if(jt.isEmpty(t))return e;var r=jt.first(t);if(r instanceof Fs.NonTerminal)e.push(r.referencedRule);else if(r instanceof Fs.Alternative||r instanceof Fs.Option||r instanceof Fs.RepetitionMandatory||r instanceof Fs.RepetitionMandatoryWithSeparator||r instanceof Fs.RepetitionWithSeparator||r instanceof Fs.Repetition)e=e.concat(Xh(r.definition));else if(r instanceof Fs.Alternation)e=jt.flatten(jt.map(r.definition,function(o){return Xh(o.definition)}));else if(!(r instanceof Fs.Terminal))throw Error("non exhaustive match");var i=(0,AS.isOptionalProd)(r),n=t.length>1;if(i&&n){var s=jt.drop(t);return e.concat(Xh(s))}else return e}Mt.getFirstNoneTerminal=Xh;var uS=function(t){aS(e,t);function e(){var r=t!==null&&t.apply(this,arguments)||this;return r.alternations=[],r}return e.prototype.visitAlternation=function(r){this.alternations.push(r)},e}(lS.GAstVisitor);function uj(t,e){var r=new uS;t.accept(r);var i=r.alternations,n=jt.reduce(i,function(s,o){var a=jt.dropRight(o.definition),l=jt.map(a,function(c,u){var g=(0,rye.nextPossibleTokensAfter)([c],[],null,1);return jt.isEmpty(g)?{message:e.buildEmptyAlternationError({topLevelRule:t,alternation:o,emptyChoiceIdx:u}),type:uo.ParserDefinitionErrorType.NONE_LAST_EMPTY_ALT,ruleName:t.name,occurrence:o.idx,alternative:u+1}:null});return s.concat(jt.compact(l))},[]);return n}Mt.validateEmptyOrAlternative=uj;function gj(t,e,r){var i=new uS;t.accept(i);var n=i.alternations;n=(0,Cr.reject)(n,function(o){return o.ignoreAmbiguities===!0});var s=jt.reduce(n,function(o,a){var l=a.idx,c=a.maxLookahead||e,u=(0,Qu.getLookaheadPathsForOr)(l,t,c,a),g=aye(u,a,t,r),f=mj(u,a,t,r);return o.concat(g,f)},[]);return s}Mt.validateAmbiguousAlternationAlternatives=gj;var Ej=function(t){aS(e,t);function e(){var r=t!==null&&t.apply(this,arguments)||this;return r.allProductions=[],r}return e.prototype.visitRepetitionWithSeparator=function(r){this.allProductions.push(r)},e.prototype.visitRepetitionMandatory=function(r){this.allProductions.push(r)},e.prototype.visitRepetitionMandatoryWithSeparator=function(r){this.allProductions.push(r)},e.prototype.visitRepetition=function(r){this.allProductions.push(r)},e}(lS.GAstVisitor);Mt.RepetionCollector=Ej;function fj(t,e){var r=new uS;t.accept(r);var i=r.alternations,n=jt.reduce(i,function(s,o){return o.definition.length>255&&s.push({message:e.buildTooManyAlternativesError({topLevelRule:t,alternation:o}),type:uo.ParserDefinitionErrorType.TOO_MANY_ALTS,ruleName:t.name,occurrence:o.idx}),s},[]);return n}Mt.validateTooManyAlts=fj;function hj(t,e,r){var i=[];return(0,Cr.forEach)(t,function(n){var s=new Ej;n.accept(s);var o=s.allProductions;(0,Cr.forEach)(o,function(a){var l=(0,Qu.getProdType)(a),c=a.maxLookahead||e,u=a.idx,g=(0,Qu.getLookaheadPathsForOptionalProd)(u,n,l,c),f=g[0];if((0,Cr.isEmpty)((0,Cr.flatten)(f))){var h=r.buildEmptyRepetitionError({topLevelRule:n,repetition:a});i.push({message:h,type:uo.ParserDefinitionErrorType.NO_NON_EMPTY_LOOKAHEAD,ruleName:n.name})}})}),i}Mt.validateSomeNonEmptyLookaheadPath=hj;function aye(t,e,r,i){var n=[],s=(0,Cr.reduce)(t,function(a,l,c){return e.definition[c].ignoreAmbiguities===!0||(0,Cr.forEach)(l,function(u){var g=[c];(0,Cr.forEach)(t,function(f,h){c!==h&&(0,Qu.containsPath)(f,u)&&e.definition[h].ignoreAmbiguities!==!0&&g.push(h)}),g.length>1&&!(0,Qu.containsPath)(n,u)&&(n.push(u),a.push({alts:g,path:u}))}),a},[]),o=jt.map(s,function(a){var l=(0,Cr.map)(a.alts,function(u){return u+1}),c=i.buildAlternationAmbiguityError({topLevelRule:r,alternation:e,ambiguityIndices:l,prefixPath:a.path});return{message:c,type:uo.ParserDefinitionErrorType.AMBIGUOUS_ALTS,ruleName:r.name,occurrence:e.idx,alternatives:[a.alts]}});return o}function mj(t,e,r,i){var n=[],s=(0,Cr.reduce)(t,function(o,a,l){var c=(0,Cr.map)(a,function(u){return{idx:l,path:u}});return o.concat(c)},[]);return(0,Cr.forEach)(s,function(o){var a=e.definition[o.idx];if(a.ignoreAmbiguities!==!0){var l=o.idx,c=o.path,u=(0,Cr.findAll)(s,function(f){return e.definition[f.idx].ignoreAmbiguities!==!0&&f.idx{"use strict";Object.defineProperty(bu,"__esModule",{value:!0});bu.validateGrammar=bu.resolveGrammar=void 0;var fS=Dt(),Aye=$G(),lye=gS(),Ij=Wh();function cye(t){t=(0,fS.defaults)(t,{errMsgProvider:Ij.defaultGrammarResolverErrorProvider});var e={};return(0,fS.forEach)(t.rules,function(r){e[r.name]=r}),(0,Aye.resolveGrammar)(e,t.errMsgProvider)}bu.resolveGrammar=cye;function uye(t){return t=(0,fS.defaults)(t,{errMsgProvider:Ij.defaultGrammarValidatorErrorProvider}),(0,lye.validateGrammar)(t.rules,t.maxLookahead,t.tokenTypes,t.errMsgProvider,t.grammarName)}bu.validateGrammar=uye});var vu=E(dn=>{"use strict";var Zh=dn&&dn.__extends||function(){var t=function(e,r){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},t(e,r)};return function(e,r){if(typeof r!="function"&&r!==null)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");t(e,r);function i(){this.constructor=e}e.prototype=r===null?Object.create(r):(i.prototype=r.prototype,new i)}}();Object.defineProperty(dn,"__esModule",{value:!0});dn.EarlyExitException=dn.NotAllInputParsedException=dn.NoViableAltException=dn.MismatchedTokenException=dn.isRecognitionException=void 0;var gye=Dt(),wj="MismatchedTokenException",Bj="NoViableAltException",Qj="EarlyExitException",bj="NotAllInputParsedException",vj=[wj,Bj,Qj,bj];Object.freeze(vj);function fye(t){return(0,gye.contains)(vj,t.name)}dn.isRecognitionException=fye;var vI=function(t){Zh(e,t);function e(r,i){var n=this.constructor,s=t.call(this,r)||this;return s.token=i,s.resyncedTokens=[],Object.setPrototypeOf(s,n.prototype),Error.captureStackTrace&&Error.captureStackTrace(s,s.constructor),s}return e}(Error),hye=function(t){Zh(e,t);function e(r,i,n){var s=t.call(this,r,i)||this;return s.previousToken=n,s.name=wj,s}return e}(vI);dn.MismatchedTokenException=hye;var pye=function(t){Zh(e,t);function e(r,i,n){var s=t.call(this,r,i)||this;return s.previousToken=n,s.name=Bj,s}return e}(vI);dn.NoViableAltException=pye;var dye=function(t){Zh(e,t);function e(r,i){var n=t.call(this,r,i)||this;return n.name=bj,n}return e}(vI);dn.NotAllInputParsedException=dye;var Cye=function(t){Zh(e,t);function e(r,i,n){var s=t.call(this,r,i)||this;return s.previousToken=n,s.name=Qj,s}return e}(vI);dn.EarlyExitException=Cye});var pS=E(xi=>{"use strict";Object.defineProperty(xi,"__esModule",{value:!0});xi.attemptInRepetitionRecovery=xi.Recoverable=xi.InRuleRecoveryException=xi.IN_RULE_RECOVERY_EXCEPTION=xi.EOF_FOLLOW_KEY=void 0;var SI=nA(),ts=Dt(),mye=vu(),Eye=rS(),Iye=Tn();xi.EOF_FOLLOW_KEY={};xi.IN_RULE_RECOVERY_EXCEPTION="InRuleRecoveryException";function hS(t){this.name=xi.IN_RULE_RECOVERY_EXCEPTION,this.message=t}xi.InRuleRecoveryException=hS;hS.prototype=Error.prototype;var yye=function(){function t(){}return t.prototype.initRecoverable=function(e){this.firstAfterRepMap={},this.resyncFollows={},this.recoveryEnabled=(0,ts.has)(e,"recoveryEnabled")?e.recoveryEnabled:Iye.DEFAULT_PARSER_CONFIG.recoveryEnabled,this.recoveryEnabled&&(this.attemptInRepetitionRecovery=Sj)},t.prototype.getTokenToInsert=function(e){var r=(0,SI.createTokenInstance)(e,"",NaN,NaN,NaN,NaN,NaN,NaN);return r.isInsertedInRecovery=!0,r},t.prototype.canTokenTypeBeInsertedInRecovery=function(e){return!0},t.prototype.tryInRepetitionRecovery=function(e,r,i,n){for(var s=this,o=this.findReSyncTokenType(),a=this.exportLexerState(),l=[],c=!1,u=this.LA(1),g=this.LA(1),f=function(){var h=s.LA(0),p=s.errorMessageProvider.buildMismatchTokenMessage({expected:n,actual:u,previous:h,ruleName:s.getCurrRuleFullName()}),d=new mye.MismatchedTokenException(p,u,s.LA(0));d.resyncedTokens=(0,ts.dropRight)(l),s.SAVE_ERROR(d)};!c;)if(this.tokenMatcher(g,n)){f();return}else if(i.call(this)){f(),e.apply(this,r);return}else this.tokenMatcher(g,o)?c=!0:(g=this.SKIP_TOKEN(),this.addToResyncTokens(g,l));this.importLexerState(a)},t.prototype.shouldInRepetitionRecoveryBeTried=function(e,r,i){return!(i===!1||e===void 0||r===void 0||this.tokenMatcher(this.LA(1),e)||this.isBackTracking()||this.canPerformInRuleRecovery(e,this.getFollowsForInRuleRecovery(e,r)))},t.prototype.getFollowsForInRuleRecovery=function(e,r){var i=this.getCurrentGrammarPath(e,r),n=this.getNextPossibleTokenTypes(i);return n},t.prototype.tryInRuleRecovery=function(e,r){if(this.canRecoverWithSingleTokenInsertion(e,r)){var i=this.getTokenToInsert(e);return i}if(this.canRecoverWithSingleTokenDeletion(e)){var n=this.SKIP_TOKEN();return this.consumeToken(),n}throw new hS("sad sad panda")},t.prototype.canPerformInRuleRecovery=function(e,r){return this.canRecoverWithSingleTokenInsertion(e,r)||this.canRecoverWithSingleTokenDeletion(e)},t.prototype.canRecoverWithSingleTokenInsertion=function(e,r){var i=this;if(!this.canTokenTypeBeInsertedInRecovery(e)||(0,ts.isEmpty)(r))return!1;var n=this.LA(1),s=(0,ts.find)(r,function(o){return i.tokenMatcher(n,o)})!==void 0;return s},t.prototype.canRecoverWithSingleTokenDeletion=function(e){var r=this.tokenMatcher(this.LA(2),e);return r},t.prototype.isInCurrentRuleReSyncSet=function(e){var r=this.getCurrFollowKey(),i=this.getFollowSetFromFollowKey(r);return(0,ts.contains)(i,e)},t.prototype.findReSyncTokenType=function(){for(var e=this.flattenFollowSet(),r=this.LA(1),i=2;;){var n=r.tokenType;if((0,ts.contains)(e,n))return n;r=this.LA(i),i++}},t.prototype.getCurrFollowKey=function(){if(this.RULE_STACK.length===1)return xi.EOF_FOLLOW_KEY;var e=this.getLastExplicitRuleShortName(),r=this.getLastExplicitRuleOccurrenceIndex(),i=this.getPreviousExplicitRuleShortName();return{ruleName:this.shortRuleNameToFullName(e),idxInCallingRule:r,inRule:this.shortRuleNameToFullName(i)}},t.prototype.buildFullFollowKeyStack=function(){var e=this,r=this.RULE_STACK,i=this.RULE_OCCURRENCE_STACK;return(0,ts.map)(r,function(n,s){return s===0?xi.EOF_FOLLOW_KEY:{ruleName:e.shortRuleNameToFullName(n),idxInCallingRule:i[s],inRule:e.shortRuleNameToFullName(r[s-1])}})},t.prototype.flattenFollowSet=function(){var e=this,r=(0,ts.map)(this.buildFullFollowKeyStack(),function(i){return e.getFollowSetFromFollowKey(i)});return(0,ts.flatten)(r)},t.prototype.getFollowSetFromFollowKey=function(e){if(e===xi.EOF_FOLLOW_KEY)return[SI.EOF];var r=e.ruleName+e.idxInCallingRule+Eye.IN+e.inRule;return this.resyncFollows[r]},t.prototype.addToResyncTokens=function(e,r){return this.tokenMatcher(e,SI.EOF)||r.push(e),r},t.prototype.reSyncTo=function(e){for(var r=[],i=this.LA(1);this.tokenMatcher(i,e)===!1;)i=this.SKIP_TOKEN(),this.addToResyncTokens(i,r);return(0,ts.dropRight)(r)},t.prototype.attemptInRepetitionRecovery=function(e,r,i,n,s,o,a){},t.prototype.getCurrentGrammarPath=function(e,r){var i=this.getHumanReadableRuleStack(),n=(0,ts.cloneArr)(this.RULE_OCCURRENCE_STACK),s={ruleStack:i,occurrenceStack:n,lastTok:e,lastTokOccurrence:r};return s},t.prototype.getHumanReadableRuleStack=function(){var e=this;return(0,ts.map)(this.RULE_STACK,function(r){return e.shortRuleNameToFullName(r)})},t}();xi.Recoverable=yye;function Sj(t,e,r,i,n,s,o){var a=this.getKeyForAutomaticLookahead(i,n),l=this.firstAfterRepMap[a];if(l===void 0){var c=this.getCurrRuleFullName(),u=this.getGAstProductions()[c],g=new s(u,n);l=g.startWalking(),this.firstAfterRepMap[a]=l}var f=l.token,h=l.occurrence,p=l.isEndOfRule;this.RULE_STACK.length===1&&p&&f===void 0&&(f=SI.EOF,h=1),this.shouldInRepetitionRecoveryBeTried(f,h,o)&&this.tryInRepetitionRecovery(t,e,r,f)}xi.attemptInRepetitionRecovery=Sj});var xI=E(Nt=>{"use strict";Object.defineProperty(Nt,"__esModule",{value:!0});Nt.getKeyForAutomaticLookahead=Nt.AT_LEAST_ONE_SEP_IDX=Nt.MANY_SEP_IDX=Nt.AT_LEAST_ONE_IDX=Nt.MANY_IDX=Nt.OPTION_IDX=Nt.OR_IDX=Nt.BITS_FOR_ALT_IDX=Nt.BITS_FOR_RULE_IDX=Nt.BITS_FOR_OCCURRENCE_IDX=Nt.BITS_FOR_METHOD_TYPE=void 0;Nt.BITS_FOR_METHOD_TYPE=4;Nt.BITS_FOR_OCCURRENCE_IDX=8;Nt.BITS_FOR_RULE_IDX=12;Nt.BITS_FOR_ALT_IDX=8;Nt.OR_IDX=1<{"use strict";Object.defineProperty(kI,"__esModule",{value:!0});kI.LooksAhead=void 0;var Aa=_h(),Ns=Dt(),xj=Tn(),la=xI(),Nl=Jh(),Bye=function(){function t(){}return t.prototype.initLooksAhead=function(e){this.dynamicTokensEnabled=(0,Ns.has)(e,"dynamicTokensEnabled")?e.dynamicTokensEnabled:xj.DEFAULT_PARSER_CONFIG.dynamicTokensEnabled,this.maxLookahead=(0,Ns.has)(e,"maxLookahead")?e.maxLookahead:xj.DEFAULT_PARSER_CONFIG.maxLookahead,this.lookAheadFuncsCache=(0,Ns.isES2015MapSupported)()?new Map:[],(0,Ns.isES2015MapSupported)()?(this.getLaFuncFromCache=this.getLaFuncFromMap,this.setLaFuncCache=this.setLaFuncCacheUsingMap):(this.getLaFuncFromCache=this.getLaFuncFromObj,this.setLaFuncCache=this.setLaFuncUsingObj)},t.prototype.preComputeLookaheadFunctions=function(e){var r=this;(0,Ns.forEach)(e,function(i){r.TRACE_INIT(i.name+" Rule Lookahead",function(){var n=(0,Nl.collectMethods)(i),s=n.alternation,o=n.repetition,a=n.option,l=n.repetitionMandatory,c=n.repetitionMandatoryWithSeparator,u=n.repetitionWithSeparator;(0,Ns.forEach)(s,function(g){var f=g.idx===0?"":g.idx;r.TRACE_INIT(""+(0,Nl.getProductionDslName)(g)+f,function(){var h=(0,Aa.buildLookaheadFuncForOr)(g.idx,i,g.maxLookahead||r.maxLookahead,g.hasPredicates,r.dynamicTokensEnabled,r.lookAheadBuilderForAlternatives),p=(0,la.getKeyForAutomaticLookahead)(r.fullRuleNameToShort[i.name],la.OR_IDX,g.idx);r.setLaFuncCache(p,h)})}),(0,Ns.forEach)(o,function(g){r.computeLookaheadFunc(i,g.idx,la.MANY_IDX,Aa.PROD_TYPE.REPETITION,g.maxLookahead,(0,Nl.getProductionDslName)(g))}),(0,Ns.forEach)(a,function(g){r.computeLookaheadFunc(i,g.idx,la.OPTION_IDX,Aa.PROD_TYPE.OPTION,g.maxLookahead,(0,Nl.getProductionDslName)(g))}),(0,Ns.forEach)(l,function(g){r.computeLookaheadFunc(i,g.idx,la.AT_LEAST_ONE_IDX,Aa.PROD_TYPE.REPETITION_MANDATORY,g.maxLookahead,(0,Nl.getProductionDslName)(g))}),(0,Ns.forEach)(c,function(g){r.computeLookaheadFunc(i,g.idx,la.AT_LEAST_ONE_SEP_IDX,Aa.PROD_TYPE.REPETITION_MANDATORY_WITH_SEPARATOR,g.maxLookahead,(0,Nl.getProductionDslName)(g))}),(0,Ns.forEach)(u,function(g){r.computeLookaheadFunc(i,g.idx,la.MANY_SEP_IDX,Aa.PROD_TYPE.REPETITION_WITH_SEPARATOR,g.maxLookahead,(0,Nl.getProductionDslName)(g))})})})},t.prototype.computeLookaheadFunc=function(e,r,i,n,s,o){var a=this;this.TRACE_INIT(""+o+(r===0?"":r),function(){var l=(0,Aa.buildLookaheadFuncForOptionalProd)(r,e,s||a.maxLookahead,a.dynamicTokensEnabled,n,a.lookAheadBuilderForOptional),c=(0,la.getKeyForAutomaticLookahead)(a.fullRuleNameToShort[e.name],i,r);a.setLaFuncCache(c,l)})},t.prototype.lookAheadBuilderForOptional=function(e,r,i){return(0,Aa.buildSingleAlternativeLookaheadFunction)(e,r,i)},t.prototype.lookAheadBuilderForAlternatives=function(e,r,i,n){return(0,Aa.buildAlternativesLookAheadFunc)(e,r,i,n)},t.prototype.getKeyForAutomaticLookahead=function(e,r){var i=this.getLastExplicitRuleShortName();return(0,la.getKeyForAutomaticLookahead)(i,e,r)},t.prototype.getLaFuncFromCache=function(e){},t.prototype.getLaFuncFromMap=function(e){return this.lookAheadFuncsCache.get(e)},t.prototype.getLaFuncFromObj=function(e){return this.lookAheadFuncsCache[e]},t.prototype.setLaFuncCache=function(e,r){},t.prototype.setLaFuncCacheUsingMap=function(e,r){this.lookAheadFuncsCache.set(e,r)},t.prototype.setLaFuncUsingObj=function(e,r){this.lookAheadFuncsCache[e]=r},t}();kI.LooksAhead=Bye});var Pj=E(go=>{"use strict";Object.defineProperty(go,"__esModule",{value:!0});go.addNoneTerminalToCst=go.addTerminalToCst=go.setNodeLocationFull=go.setNodeLocationOnlyOffset=void 0;function Qye(t,e){isNaN(t.startOffset)===!0?(t.startOffset=e.startOffset,t.endOffset=e.endOffset):t.endOffset{"use strict";Object.defineProperty(aA,"__esModule",{value:!0});aA.defineNameProp=aA.functionName=aA.classNameFromInstance=void 0;var xye=Dt();function kye(t){return Dj(t.constructor)}aA.classNameFromInstance=kye;var Rj="name";function Dj(t){var e=t.name;return e||"anonymous"}aA.functionName=Dj;function Pye(t,e){var r=Object.getOwnPropertyDescriptor(t,Rj);return(0,xye.isUndefined)(r)||r.configurable?(Object.defineProperty(t,Rj,{enumerable:!1,configurable:!0,writable:!1,value:e}),!0):!1}aA.defineNameProp=Pye});var Mj=E(mi=>{"use strict";Object.defineProperty(mi,"__esModule",{value:!0});mi.validateRedundantMethods=mi.validateMissingCstMethods=mi.validateVisitor=mi.CstVisitorDefinitionError=mi.createBaseVisitorConstructorWithDefaults=mi.createBaseSemanticVisitorConstructor=mi.defaultVisit=void 0;var rs=Dt(),$h=dS();function Fj(t,e){for(var r=(0,rs.keys)(t),i=r.length,n=0;n: + `+(""+s.join(` + +`).replace(/\n/g,` + `)))}}};return r.prototype=i,r.prototype.constructor=r,r._RULE_NAMES=e,r}mi.createBaseSemanticVisitorConstructor=Dye;function Rye(t,e,r){var i=function(){};(0,$h.defineNameProp)(i,t+"BaseSemanticsWithDefaults");var n=Object.create(r.prototype);return(0,rs.forEach)(e,function(s){n[s]=Fj}),i.prototype=n,i.prototype.constructor=i,i}mi.createBaseVisitorConstructorWithDefaults=Rye;var CS;(function(t){t[t.REDUNDANT_METHOD=0]="REDUNDANT_METHOD",t[t.MISSING_METHOD=1]="MISSING_METHOD"})(CS=mi.CstVisitorDefinitionError||(mi.CstVisitorDefinitionError={}));function Nj(t,e){var r=Lj(t,e),i=Tj(t,e);return r.concat(i)}mi.validateVisitor=Nj;function Lj(t,e){var r=(0,rs.map)(e,function(i){if(!(0,rs.isFunction)(t[i]))return{msg:"Missing visitor method: <"+i+"> on "+(0,$h.functionName)(t.constructor)+" CST Visitor.",type:CS.MISSING_METHOD,methodName:i}});return(0,rs.compact)(r)}mi.validateMissingCstMethods=Lj;var Fye=["constructor","visit","validateVisitor"];function Tj(t,e){var r=[];for(var i in t)(0,rs.isFunction)(t[i])&&!(0,rs.contains)(Fye,i)&&!(0,rs.contains)(e,i)&&r.push({msg:"Redundant visitor method: <"+i+"> on "+(0,$h.functionName)(t.constructor)+` CST Visitor +There is no Grammar Rule corresponding to this method's name. +`,type:CS.REDUNDANT_METHOD,methodName:i});return r}mi.validateRedundantMethods=Tj});var Kj=E(PI=>{"use strict";Object.defineProperty(PI,"__esModule",{value:!0});PI.TreeBuilder=void 0;var Su=Pj(),Ur=Dt(),Oj=Mj(),Nye=Tn(),Lye=function(){function t(){}return t.prototype.initTreeBuilder=function(e){if(this.CST_STACK=[],this.outputCst=e.outputCst,this.nodeLocationTracking=(0,Ur.has)(e,"nodeLocationTracking")?e.nodeLocationTracking:Nye.DEFAULT_PARSER_CONFIG.nodeLocationTracking,!this.outputCst)this.cstInvocationStateUpdate=Ur.NOOP,this.cstFinallyStateUpdate=Ur.NOOP,this.cstPostTerminal=Ur.NOOP,this.cstPostNonTerminal=Ur.NOOP,this.cstPostRule=Ur.NOOP;else if(/full/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=Su.setNodeLocationFull,this.setNodeLocationFromNode=Su.setNodeLocationFull,this.cstPostRule=Ur.NOOP,this.setInitialNodeLocation=this.setInitialNodeLocationFullRecovery):(this.setNodeLocationFromToken=Ur.NOOP,this.setNodeLocationFromNode=Ur.NOOP,this.cstPostRule=this.cstPostRuleFull,this.setInitialNodeLocation=this.setInitialNodeLocationFullRegular);else if(/onlyOffset/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=Su.setNodeLocationOnlyOffset,this.setNodeLocationFromNode=Su.setNodeLocationOnlyOffset,this.cstPostRule=Ur.NOOP,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRecovery):(this.setNodeLocationFromToken=Ur.NOOP,this.setNodeLocationFromNode=Ur.NOOP,this.cstPostRule=this.cstPostRuleOnlyOffset,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRegular);else if(/none/i.test(this.nodeLocationTracking))this.setNodeLocationFromToken=Ur.NOOP,this.setNodeLocationFromNode=Ur.NOOP,this.cstPostRule=Ur.NOOP,this.setInitialNodeLocation=Ur.NOOP;else throw Error('Invalid config option: "'+e.nodeLocationTracking+'"')},t.prototype.setInitialNodeLocationOnlyOffsetRecovery=function(e){e.location={startOffset:NaN,endOffset:NaN}},t.prototype.setInitialNodeLocationOnlyOffsetRegular=function(e){e.location={startOffset:this.LA(1).startOffset,endOffset:NaN}},t.prototype.setInitialNodeLocationFullRecovery=function(e){e.location={startOffset:NaN,startLine:NaN,startColumn:NaN,endOffset:NaN,endLine:NaN,endColumn:NaN}},t.prototype.setInitialNodeLocationFullRegular=function(e){var r=this.LA(1);e.location={startOffset:r.startOffset,startLine:r.startLine,startColumn:r.startColumn,endOffset:NaN,endLine:NaN,endColumn:NaN}},t.prototype.cstInvocationStateUpdate=function(e,r){var i={name:e,children:{}};this.setInitialNodeLocation(i),this.CST_STACK.push(i)},t.prototype.cstFinallyStateUpdate=function(){this.CST_STACK.pop()},t.prototype.cstPostRuleFull=function(e){var r=this.LA(0),i=e.location;i.startOffset<=r.startOffset?(i.endOffset=r.endOffset,i.endLine=r.endLine,i.endColumn=r.endColumn):(i.startOffset=NaN,i.startLine=NaN,i.startColumn=NaN)},t.prototype.cstPostRuleOnlyOffset=function(e){var r=this.LA(0),i=e.location;i.startOffset<=r.startOffset?i.endOffset=r.endOffset:i.startOffset=NaN},t.prototype.cstPostTerminal=function(e,r){var i=this.CST_STACK[this.CST_STACK.length-1];(0,Su.addTerminalToCst)(i,r,e),this.setNodeLocationFromToken(i.location,r)},t.prototype.cstPostNonTerminal=function(e,r){var i=this.CST_STACK[this.CST_STACK.length-1];(0,Su.addNoneTerminalToCst)(i,r,e),this.setNodeLocationFromNode(i.location,e.location)},t.prototype.getBaseCstVisitorConstructor=function(){if((0,Ur.isUndefined)(this.baseCstVisitorConstructor)){var e=(0,Oj.createBaseSemanticVisitorConstructor)(this.className,(0,Ur.keys)(this.gastProductionsCache));return this.baseCstVisitorConstructor=e,e}return this.baseCstVisitorConstructor},t.prototype.getBaseCstVisitorConstructorWithDefaults=function(){if((0,Ur.isUndefined)(this.baseCstVisitorWithDefaultsConstructor)){var e=(0,Oj.createBaseVisitorConstructorWithDefaults)(this.className,(0,Ur.keys)(this.gastProductionsCache),this.getBaseCstVisitorConstructor());return this.baseCstVisitorWithDefaultsConstructor=e,e}return this.baseCstVisitorWithDefaultsConstructor},t.prototype.getLastExplicitRuleShortName=function(){var e=this.RULE_STACK;return e[e.length-1]},t.prototype.getPreviousExplicitRuleShortName=function(){var e=this.RULE_STACK;return e[e.length-2]},t.prototype.getLastExplicitRuleOccurrenceIndex=function(){var e=this.RULE_OCCURRENCE_STACK;return e[e.length-1]},t}();PI.TreeBuilder=Lye});var Hj=E(DI=>{"use strict";Object.defineProperty(DI,"__esModule",{value:!0});DI.LexerAdapter=void 0;var Uj=Tn(),Tye=function(){function t(){}return t.prototype.initLexerAdapter=function(){this.tokVector=[],this.tokVectorLength=0,this.currIdx=-1},Object.defineProperty(t.prototype,"input",{get:function(){return this.tokVector},set:function(e){if(this.selfAnalysisDone!==!0)throw Error("Missing invocation at the end of the Parser's constructor.");this.reset(),this.tokVector=e,this.tokVectorLength=e.length},enumerable:!1,configurable:!0}),t.prototype.SKIP_TOKEN=function(){return this.currIdx<=this.tokVector.length-2?(this.consumeToken(),this.LA(1)):Uj.END_OF_FILE},t.prototype.LA=function(e){var r=this.currIdx+e;return r<0||this.tokVectorLength<=r?Uj.END_OF_FILE:this.tokVector[r]},t.prototype.consumeToken=function(){this.currIdx++},t.prototype.exportLexerState=function(){return this.currIdx},t.prototype.importLexerState=function(e){this.currIdx=e},t.prototype.resetLexerState=function(){this.currIdx=-1},t.prototype.moveToTerminatedState=function(){this.currIdx=this.tokVector.length-1},t.prototype.getLexerPosition=function(){return this.exportLexerState()},t}();DI.LexerAdapter=Tye});var jj=E(RI=>{"use strict";Object.defineProperty(RI,"__esModule",{value:!0});RI.RecognizerApi=void 0;var Gj=Dt(),Mye=vu(),mS=Tn(),Oye=Wh(),Kye=gS(),Uye=hn(),Hye=function(){function t(){}return t.prototype.ACTION=function(e){return e.call(this)},t.prototype.consume=function(e,r,i){return this.consumeInternal(r,e,i)},t.prototype.subrule=function(e,r,i){return this.subruleInternal(r,e,i)},t.prototype.option=function(e,r){return this.optionInternal(r,e)},t.prototype.or=function(e,r){return this.orInternal(r,e)},t.prototype.many=function(e,r){return this.manyInternal(e,r)},t.prototype.atLeastOne=function(e,r){return this.atLeastOneInternal(e,r)},t.prototype.CONSUME=function(e,r){return this.consumeInternal(e,0,r)},t.prototype.CONSUME1=function(e,r){return this.consumeInternal(e,1,r)},t.prototype.CONSUME2=function(e,r){return this.consumeInternal(e,2,r)},t.prototype.CONSUME3=function(e,r){return this.consumeInternal(e,3,r)},t.prototype.CONSUME4=function(e,r){return this.consumeInternal(e,4,r)},t.prototype.CONSUME5=function(e,r){return this.consumeInternal(e,5,r)},t.prototype.CONSUME6=function(e,r){return this.consumeInternal(e,6,r)},t.prototype.CONSUME7=function(e,r){return this.consumeInternal(e,7,r)},t.prototype.CONSUME8=function(e,r){return this.consumeInternal(e,8,r)},t.prototype.CONSUME9=function(e,r){return this.consumeInternal(e,9,r)},t.prototype.SUBRULE=function(e,r){return this.subruleInternal(e,0,r)},t.prototype.SUBRULE1=function(e,r){return this.subruleInternal(e,1,r)},t.prototype.SUBRULE2=function(e,r){return this.subruleInternal(e,2,r)},t.prototype.SUBRULE3=function(e,r){return this.subruleInternal(e,3,r)},t.prototype.SUBRULE4=function(e,r){return this.subruleInternal(e,4,r)},t.prototype.SUBRULE5=function(e,r){return this.subruleInternal(e,5,r)},t.prototype.SUBRULE6=function(e,r){return this.subruleInternal(e,6,r)},t.prototype.SUBRULE7=function(e,r){return this.subruleInternal(e,7,r)},t.prototype.SUBRULE8=function(e,r){return this.subruleInternal(e,8,r)},t.prototype.SUBRULE9=function(e,r){return this.subruleInternal(e,9,r)},t.prototype.OPTION=function(e){return this.optionInternal(e,0)},t.prototype.OPTION1=function(e){return this.optionInternal(e,1)},t.prototype.OPTION2=function(e){return this.optionInternal(e,2)},t.prototype.OPTION3=function(e){return this.optionInternal(e,3)},t.prototype.OPTION4=function(e){return this.optionInternal(e,4)},t.prototype.OPTION5=function(e){return this.optionInternal(e,5)},t.prototype.OPTION6=function(e){return this.optionInternal(e,6)},t.prototype.OPTION7=function(e){return this.optionInternal(e,7)},t.prototype.OPTION8=function(e){return this.optionInternal(e,8)},t.prototype.OPTION9=function(e){return this.optionInternal(e,9)},t.prototype.OR=function(e){return this.orInternal(e,0)},t.prototype.OR1=function(e){return this.orInternal(e,1)},t.prototype.OR2=function(e){return this.orInternal(e,2)},t.prototype.OR3=function(e){return this.orInternal(e,3)},t.prototype.OR4=function(e){return this.orInternal(e,4)},t.prototype.OR5=function(e){return this.orInternal(e,5)},t.prototype.OR6=function(e){return this.orInternal(e,6)},t.prototype.OR7=function(e){return this.orInternal(e,7)},t.prototype.OR8=function(e){return this.orInternal(e,8)},t.prototype.OR9=function(e){return this.orInternal(e,9)},t.prototype.MANY=function(e){this.manyInternal(0,e)},t.prototype.MANY1=function(e){this.manyInternal(1,e)},t.prototype.MANY2=function(e){this.manyInternal(2,e)},t.prototype.MANY3=function(e){this.manyInternal(3,e)},t.prototype.MANY4=function(e){this.manyInternal(4,e)},t.prototype.MANY5=function(e){this.manyInternal(5,e)},t.prototype.MANY6=function(e){this.manyInternal(6,e)},t.prototype.MANY7=function(e){this.manyInternal(7,e)},t.prototype.MANY8=function(e){this.manyInternal(8,e)},t.prototype.MANY9=function(e){this.manyInternal(9,e)},t.prototype.MANY_SEP=function(e){this.manySepFirstInternal(0,e)},t.prototype.MANY_SEP1=function(e){this.manySepFirstInternal(1,e)},t.prototype.MANY_SEP2=function(e){this.manySepFirstInternal(2,e)},t.prototype.MANY_SEP3=function(e){this.manySepFirstInternal(3,e)},t.prototype.MANY_SEP4=function(e){this.manySepFirstInternal(4,e)},t.prototype.MANY_SEP5=function(e){this.manySepFirstInternal(5,e)},t.prototype.MANY_SEP6=function(e){this.manySepFirstInternal(6,e)},t.prototype.MANY_SEP7=function(e){this.manySepFirstInternal(7,e)},t.prototype.MANY_SEP8=function(e){this.manySepFirstInternal(8,e)},t.prototype.MANY_SEP9=function(e){this.manySepFirstInternal(9,e)},t.prototype.AT_LEAST_ONE=function(e){this.atLeastOneInternal(0,e)},t.prototype.AT_LEAST_ONE1=function(e){return this.atLeastOneInternal(1,e)},t.prototype.AT_LEAST_ONE2=function(e){this.atLeastOneInternal(2,e)},t.prototype.AT_LEAST_ONE3=function(e){this.atLeastOneInternal(3,e)},t.prototype.AT_LEAST_ONE4=function(e){this.atLeastOneInternal(4,e)},t.prototype.AT_LEAST_ONE5=function(e){this.atLeastOneInternal(5,e)},t.prototype.AT_LEAST_ONE6=function(e){this.atLeastOneInternal(6,e)},t.prototype.AT_LEAST_ONE7=function(e){this.atLeastOneInternal(7,e)},t.prototype.AT_LEAST_ONE8=function(e){this.atLeastOneInternal(8,e)},t.prototype.AT_LEAST_ONE9=function(e){this.atLeastOneInternal(9,e)},t.prototype.AT_LEAST_ONE_SEP=function(e){this.atLeastOneSepFirstInternal(0,e)},t.prototype.AT_LEAST_ONE_SEP1=function(e){this.atLeastOneSepFirstInternal(1,e)},t.prototype.AT_LEAST_ONE_SEP2=function(e){this.atLeastOneSepFirstInternal(2,e)},t.prototype.AT_LEAST_ONE_SEP3=function(e){this.atLeastOneSepFirstInternal(3,e)},t.prototype.AT_LEAST_ONE_SEP4=function(e){this.atLeastOneSepFirstInternal(4,e)},t.prototype.AT_LEAST_ONE_SEP5=function(e){this.atLeastOneSepFirstInternal(5,e)},t.prototype.AT_LEAST_ONE_SEP6=function(e){this.atLeastOneSepFirstInternal(6,e)},t.prototype.AT_LEAST_ONE_SEP7=function(e){this.atLeastOneSepFirstInternal(7,e)},t.prototype.AT_LEAST_ONE_SEP8=function(e){this.atLeastOneSepFirstInternal(8,e)},t.prototype.AT_LEAST_ONE_SEP9=function(e){this.atLeastOneSepFirstInternal(9,e)},t.prototype.RULE=function(e,r,i){if(i===void 0&&(i=mS.DEFAULT_RULE_CONFIG),(0,Gj.contains)(this.definedRulesNames,e)){var n=Oye.defaultGrammarValidatorErrorProvider.buildDuplicateRuleNameError({topLevelRule:e,grammarName:this.className}),s={message:n,type:mS.ParserDefinitionErrorType.DUPLICATE_RULE_NAME,ruleName:e};this.definitionErrors.push(s)}this.definedRulesNames.push(e);var o=this.defineRule(e,r,i);return this[e]=o,o},t.prototype.OVERRIDE_RULE=function(e,r,i){i===void 0&&(i=mS.DEFAULT_RULE_CONFIG);var n=[];n=n.concat((0,Kye.validateRuleIsOverridden)(e,this.definedRulesNames,this.className)),this.definitionErrors=this.definitionErrors.concat(n);var s=this.defineRule(e,r,i);return this[e]=s,s},t.prototype.BACKTRACK=function(e,r){return function(){this.isBackTrackingStack.push(1);var i=this.saveRecogState();try{return e.apply(this,r),!0}catch(n){if((0,Mye.isRecognitionException)(n))return!1;throw n}finally{this.reloadRecogState(i),this.isBackTrackingStack.pop()}}},t.prototype.getGAstProductions=function(){return this.gastProductionsCache},t.prototype.getSerializedGastProductions=function(){return(0,Uye.serializeGrammar)((0,Gj.values)(this.gastProductionsCache))},t}();RI.RecognizerApi=Hye});var Wj=E(FI=>{"use strict";Object.defineProperty(FI,"__esModule",{value:!0});FI.RecognizerEngine=void 0;var Er=Dt(),Mn=xI(),NI=vu(),Yj=_h(),xu=Vh(),qj=Tn(),Gye=pS(),Jj=nA(),ep=yu(),jye=dS(),Yye=function(){function t(){}return t.prototype.initRecognizerEngine=function(e,r){if(this.className=(0,jye.classNameFromInstance)(this),this.shortRuleNameToFull={},this.fullRuleNameToShort={},this.ruleShortNameIdx=256,this.tokenMatcher=ep.tokenStructuredMatcherNoCategories,this.definedRulesNames=[],this.tokensMap={},this.isBackTrackingStack=[],this.RULE_STACK=[],this.RULE_OCCURRENCE_STACK=[],this.gastProductionsCache={},(0,Er.has)(r,"serializedGrammar"))throw Error(`The Parser's configuration can no longer contain a property. + See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_6-0-0 + For Further details.`);if((0,Er.isArray)(e)){if((0,Er.isEmpty)(e))throw Error(`A Token Vocabulary cannot be empty. + Note that the first argument for the parser constructor + is no longer a Token vector (since v4.0).`);if(typeof e[0].startOffset=="number")throw Error(`The Parser constructor no longer accepts a token vector as the first argument. + See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_4-0-0 + For Further details.`)}if((0,Er.isArray)(e))this.tokensMap=(0,Er.reduce)(e,function(o,a){return o[a.name]=a,o},{});else if((0,Er.has)(e,"modes")&&(0,Er.every)((0,Er.flatten)((0,Er.values)(e.modes)),ep.isTokenType)){var i=(0,Er.flatten)((0,Er.values)(e.modes)),n=(0,Er.uniq)(i);this.tokensMap=(0,Er.reduce)(n,function(o,a){return o[a.name]=a,o},{})}else if((0,Er.isObject)(e))this.tokensMap=(0,Er.cloneObj)(e);else throw new Error(" argument must be An Array of Token constructors, A dictionary of Token constructors or an IMultiModeLexerDefinition");this.tokensMap.EOF=Jj.EOF;var s=(0,Er.every)((0,Er.values)(e),function(o){return(0,Er.isEmpty)(o.categoryMatches)});this.tokenMatcher=s?ep.tokenStructuredMatcherNoCategories:ep.tokenStructuredMatcher,(0,ep.augmentTokenTypes)((0,Er.values)(this.tokensMap))},t.prototype.defineRule=function(e,r,i){if(this.selfAnalysisDone)throw Error("Grammar rule <"+e+`> may not be defined after the 'performSelfAnalysis' method has been called' +Make sure that all grammar rule definitions are done before 'performSelfAnalysis' is called.`);var n=(0,Er.has)(i,"resyncEnabled")?i.resyncEnabled:qj.DEFAULT_RULE_CONFIG.resyncEnabled,s=(0,Er.has)(i,"recoveryValueFunc")?i.recoveryValueFunc:qj.DEFAULT_RULE_CONFIG.recoveryValueFunc,o=this.ruleShortNameIdx<r},t.prototype.orInternal=function(e,r){var i=this.getKeyForAutomaticLookahead(Mn.OR_IDX,r),n=(0,Er.isArray)(e)?e:e.DEF,s=this.getLaFuncFromCache(i),o=s.call(this,n);if(o!==void 0){var a=n[o];return a.ALT.call(this)}this.raiseNoAltException(r,e.ERR_MSG)},t.prototype.ruleFinallyStateUpdate=function(){if(this.RULE_STACK.pop(),this.RULE_OCCURRENCE_STACK.pop(),this.cstFinallyStateUpdate(),this.RULE_STACK.length===0&&this.isAtEndOfInput()===!1){var e=this.LA(1),r=this.errorMessageProvider.buildNotAllInputParsedMessage({firstRedundant:e,ruleName:this.getCurrRuleFullName()});this.SAVE_ERROR(new NI.NotAllInputParsedException(r,e))}},t.prototype.subruleInternal=function(e,r,i){var n;try{var s=i!==void 0?i.ARGS:void 0;return n=e.call(this,r,s),this.cstPostNonTerminal(n,i!==void 0&&i.LABEL!==void 0?i.LABEL:e.ruleName),n}catch(o){this.subruleInternalError(o,i,e.ruleName)}},t.prototype.subruleInternalError=function(e,r,i){throw(0,NI.isRecognitionException)(e)&&e.partialCstResult!==void 0&&(this.cstPostNonTerminal(e.partialCstResult,r!==void 0&&r.LABEL!==void 0?r.LABEL:i),delete e.partialCstResult),e},t.prototype.consumeInternal=function(e,r,i){var n;try{var s=this.LA(1);this.tokenMatcher(s,e)===!0?(this.consumeToken(),n=s):this.consumeInternalError(e,s,i)}catch(o){n=this.consumeInternalRecovery(e,r,o)}return this.cstPostTerminal(i!==void 0&&i.LABEL!==void 0?i.LABEL:e.name,n),n},t.prototype.consumeInternalError=function(e,r,i){var n,s=this.LA(0);throw i!==void 0&&i.ERR_MSG?n=i.ERR_MSG:n=this.errorMessageProvider.buildMismatchTokenMessage({expected:e,actual:r,previous:s,ruleName:this.getCurrRuleFullName()}),this.SAVE_ERROR(new NI.MismatchedTokenException(n,r,s))},t.prototype.consumeInternalRecovery=function(e,r,i){if(this.recoveryEnabled&&i.name==="MismatchedTokenException"&&!this.isBackTracking()){var n=this.getFollowsForInRuleRecovery(e,r);try{return this.tryInRuleRecovery(e,n)}catch(s){throw s.name===Gye.IN_RULE_RECOVERY_EXCEPTION?i:s}}else throw i},t.prototype.saveRecogState=function(){var e=this.errors,r=(0,Er.cloneArr)(this.RULE_STACK);return{errors:e,lexerState:this.exportLexerState(),RULE_STACK:r,CST_STACK:this.CST_STACK}},t.prototype.reloadRecogState=function(e){this.errors=e.errors,this.importLexerState(e.lexerState),this.RULE_STACK=e.RULE_STACK},t.prototype.ruleInvocationStateUpdate=function(e,r,i){this.RULE_OCCURRENCE_STACK.push(i),this.RULE_STACK.push(e),this.cstInvocationStateUpdate(r,e)},t.prototype.isBackTracking=function(){return this.isBackTrackingStack.length!==0},t.prototype.getCurrRuleFullName=function(){var e=this.getLastExplicitRuleShortName();return this.shortRuleNameToFull[e]},t.prototype.shortRuleNameToFullName=function(e){return this.shortRuleNameToFull[e]},t.prototype.isAtEndOfInput=function(){return this.tokenMatcher(this.LA(1),Jj.EOF)},t.prototype.reset=function(){this.resetLexerState(),this.isBackTrackingStack=[],this.errors=[],this.RULE_STACK=[],this.CST_STACK=[],this.RULE_OCCURRENCE_STACK=[]},t}();FI.RecognizerEngine=Yye});var Vj=E(LI=>{"use strict";Object.defineProperty(LI,"__esModule",{value:!0});LI.ErrorHandler=void 0;var ES=vu(),IS=Dt(),zj=_h(),qye=Tn(),Jye=function(){function t(){}return t.prototype.initErrorHandler=function(e){this._errors=[],this.errorMessageProvider=(0,IS.has)(e,"errorMessageProvider")?e.errorMessageProvider:qye.DEFAULT_PARSER_CONFIG.errorMessageProvider},t.prototype.SAVE_ERROR=function(e){if((0,ES.isRecognitionException)(e))return e.context={ruleStack:this.getHumanReadableRuleStack(),ruleOccurrenceStack:(0,IS.cloneArr)(this.RULE_OCCURRENCE_STACK)},this._errors.push(e),e;throw Error("Trying to save an Error which is not a RecognitionException")},Object.defineProperty(t.prototype,"errors",{get:function(){return(0,IS.cloneArr)(this._errors)},set:function(e){this._errors=e},enumerable:!1,configurable:!0}),t.prototype.raiseEarlyExitException=function(e,r,i){for(var n=this.getCurrRuleFullName(),s=this.getGAstProductions()[n],o=(0,zj.getLookaheadPathsForOptionalProd)(e,s,r,this.maxLookahead),a=o[0],l=[],c=1;c<=this.maxLookahead;c++)l.push(this.LA(c));var u=this.errorMessageProvider.buildEarlyExitMessage({expectedIterationPaths:a,actual:l,previous:this.LA(0),customUserDescription:i,ruleName:n});throw this.SAVE_ERROR(new ES.EarlyExitException(u,this.LA(1),this.LA(0)))},t.prototype.raiseNoAltException=function(e,r){for(var i=this.getCurrRuleFullName(),n=this.getGAstProductions()[i],s=(0,zj.getLookaheadPathsForOr)(e,n,this.maxLookahead),o=[],a=1;a<=this.maxLookahead;a++)o.push(this.LA(a));var l=this.LA(0),c=this.errorMessageProvider.buildNoViableAltMessage({expectedPathsPerAlt:s,actual:o,previous:l,customUserDescription:r,ruleName:this.getCurrRuleFullName()});throw this.SAVE_ERROR(new ES.NoViableAltException(c,this.LA(1),l))},t}();LI.ErrorHandler=Jye});var Zj=E(TI=>{"use strict";Object.defineProperty(TI,"__esModule",{value:!0});TI.ContentAssist=void 0;var _j=Vh(),Xj=Dt(),Wye=function(){function t(){}return t.prototype.initContentAssist=function(){},t.prototype.computeContentAssist=function(e,r){var i=this.gastProductionsCache[e];if((0,Xj.isUndefined)(i))throw Error("Rule ->"+e+"<- does not exist in this grammar.");return(0,_j.nextPossibleTokensAfter)([i],r,this.tokenMatcher,this.maxLookahead)},t.prototype.getNextPossibleTokenTypes=function(e){var r=(0,Xj.first)(e.ruleStack),i=this.getGAstProductions(),n=i[r],s=new _j.NextAfterTokenWalker(n,e).startWalking();return s},t}();TI.ContentAssist=Wye});var oY=E(MI=>{"use strict";Object.defineProperty(MI,"__esModule",{value:!0});MI.GastRecorder=void 0;var Cn=Dt(),fo=hn(),zye=Gh(),$j=yu(),eY=nA(),Vye=Tn(),_ye=xI(),OI={description:"This Object indicates the Parser is during Recording Phase"};Object.freeze(OI);var tY=!0,rY=Math.pow(2,_ye.BITS_FOR_OCCURRENCE_IDX)-1,iY=(0,eY.createToken)({name:"RECORDING_PHASE_TOKEN",pattern:zye.Lexer.NA});(0,$j.augmentTokenTypes)([iY]);var nY=(0,eY.createTokenInstance)(iY,`This IToken indicates the Parser is in Recording Phase + See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,-1,-1,-1,-1,-1,-1);Object.freeze(nY);var Xye={name:`This CSTNode indicates the Parser is in Recording Phase + See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,children:{}},$ye=function(){function t(){}return t.prototype.initGastRecorder=function(e){this.recordingProdStack=[],this.RECORDING_PHASE=!1},t.prototype.enableRecording=function(){var e=this;this.RECORDING_PHASE=!0,this.TRACE_INIT("Enable Recording",function(){for(var r=function(n){var s=n>0?n:"";e["CONSUME"+s]=function(o,a){return this.consumeInternalRecord(o,n,a)},e["SUBRULE"+s]=function(o,a){return this.subruleInternalRecord(o,n,a)},e["OPTION"+s]=function(o){return this.optionInternalRecord(o,n)},e["OR"+s]=function(o){return this.orInternalRecord(o,n)},e["MANY"+s]=function(o){this.manyInternalRecord(n,o)},e["MANY_SEP"+s]=function(o){this.manySepFirstInternalRecord(n,o)},e["AT_LEAST_ONE"+s]=function(o){this.atLeastOneInternalRecord(n,o)},e["AT_LEAST_ONE_SEP"+s]=function(o){this.atLeastOneSepFirstInternalRecord(n,o)}},i=0;i<10;i++)r(i);e.consume=function(n,s,o){return this.consumeInternalRecord(s,n,o)},e.subrule=function(n,s,o){return this.subruleInternalRecord(s,n,o)},e.option=function(n,s){return this.optionInternalRecord(s,n)},e.or=function(n,s){return this.orInternalRecord(s,n)},e.many=function(n,s){this.manyInternalRecord(n,s)},e.atLeastOne=function(n,s){this.atLeastOneInternalRecord(n,s)},e.ACTION=e.ACTION_RECORD,e.BACKTRACK=e.BACKTRACK_RECORD,e.LA=e.LA_RECORD})},t.prototype.disableRecording=function(){var e=this;this.RECORDING_PHASE=!1,this.TRACE_INIT("Deleting Recording methods",function(){for(var r=0;r<10;r++){var i=r>0?r:"";delete e["CONSUME"+i],delete e["SUBRULE"+i],delete e["OPTION"+i],delete e["OR"+i],delete e["MANY"+i],delete e["MANY_SEP"+i],delete e["AT_LEAST_ONE"+i],delete e["AT_LEAST_ONE_SEP"+i]}delete e.consume,delete e.subrule,delete e.option,delete e.or,delete e.many,delete e.atLeastOne,delete e.ACTION,delete e.BACKTRACK,delete e.LA})},t.prototype.ACTION_RECORD=function(e){},t.prototype.BACKTRACK_RECORD=function(e,r){return function(){return!0}},t.prototype.LA_RECORD=function(e){return Vye.END_OF_FILE},t.prototype.topLevelRuleRecord=function(e,r){try{var i=new fo.Rule({definition:[],name:e});return i.name=e,this.recordingProdStack.push(i),r.call(this),this.recordingProdStack.pop(),i}catch(n){if(n.KNOWN_RECORDER_ERROR!==!0)try{n.message=n.message+` + This error was thrown during the "grammar recording phase" For more info see: + https://chevrotain.io/docs/guide/internals.html#grammar-recording`}catch(s){throw n}throw n}},t.prototype.optionInternalRecord=function(e,r){return tp.call(this,fo.Option,e,r)},t.prototype.atLeastOneInternalRecord=function(e,r){tp.call(this,fo.RepetitionMandatory,r,e)},t.prototype.atLeastOneSepFirstInternalRecord=function(e,r){tp.call(this,fo.RepetitionMandatoryWithSeparator,r,e,tY)},t.prototype.manyInternalRecord=function(e,r){tp.call(this,fo.Repetition,r,e)},t.prototype.manySepFirstInternalRecord=function(e,r){tp.call(this,fo.RepetitionWithSeparator,r,e,tY)},t.prototype.orInternalRecord=function(e,r){return Zye.call(this,e,r)},t.prototype.subruleInternalRecord=function(e,r,i){if(KI(r),!e||(0,Cn.has)(e,"ruleName")===!1){var n=new Error(" argument is invalid"+(" expecting a Parser method reference but got: <"+JSON.stringify(e)+">")+(` + inside top level rule: <`+this.recordingProdStack[0].name+">"));throw n.KNOWN_RECORDER_ERROR=!0,n}var s=(0,Cn.peek)(this.recordingProdStack),o=e.ruleName,a=new fo.NonTerminal({idx:r,nonTerminalName:o,label:i==null?void 0:i.LABEL,referencedRule:void 0});return s.definition.push(a),this.outputCst?Xye:OI},t.prototype.consumeInternalRecord=function(e,r,i){if(KI(r),!(0,$j.hasShortKeyProperty)(e)){var n=new Error(" argument is invalid"+(" expecting a TokenType reference but got: <"+JSON.stringify(e)+">")+(` + inside top level rule: <`+this.recordingProdStack[0].name+">"));throw n.KNOWN_RECORDER_ERROR=!0,n}var s=(0,Cn.peek)(this.recordingProdStack),o=new fo.Terminal({idx:r,terminalType:e,label:i==null?void 0:i.LABEL});return s.definition.push(o),nY},t}();MI.GastRecorder=$ye;function tp(t,e,r,i){i===void 0&&(i=!1),KI(r);var n=(0,Cn.peek)(this.recordingProdStack),s=(0,Cn.isFunction)(e)?e:e.DEF,o=new t({definition:[],idx:r});return i&&(o.separator=e.SEP),(0,Cn.has)(e,"MAX_LOOKAHEAD")&&(o.maxLookahead=e.MAX_LOOKAHEAD),this.recordingProdStack.push(o),s.call(this),n.definition.push(o),this.recordingProdStack.pop(),OI}function Zye(t,e){var r=this;KI(e);var i=(0,Cn.peek)(this.recordingProdStack),n=(0,Cn.isArray)(t)===!1,s=n===!1?t:t.DEF,o=new fo.Alternation({definition:[],idx:e,ignoreAmbiguities:n&&t.IGNORE_AMBIGUITIES===!0});(0,Cn.has)(t,"MAX_LOOKAHEAD")&&(o.maxLookahead=t.MAX_LOOKAHEAD);var a=(0,Cn.some)(s,function(l){return(0,Cn.isFunction)(l.GATE)});return o.hasPredicates=a,i.definition.push(o),(0,Cn.forEach)(s,function(l){var c=new fo.Alternative({definition:[]});o.definition.push(c),(0,Cn.has)(l,"IGNORE_AMBIGUITIES")?c.ignoreAmbiguities=l.IGNORE_AMBIGUITIES:(0,Cn.has)(l,"GATE")&&(c.ignoreAmbiguities=!0),r.recordingProdStack.push(c),l.ALT.call(r),r.recordingProdStack.pop()}),OI}function sY(t){return t===0?"":""+t}function KI(t){if(t<0||t>rY){var e=new Error("Invalid DSL Method idx value: <"+t+`> + `+("Idx value must be a none negative value smaller than "+(rY+1)));throw e.KNOWN_RECORDER_ERROR=!0,e}}});var AY=E(UI=>{"use strict";Object.defineProperty(UI,"__esModule",{value:!0});UI.PerformanceTracer=void 0;var aY=Dt(),ewe=Tn(),twe=function(){function t(){}return t.prototype.initPerformanceTracer=function(e){if((0,aY.has)(e,"traceInitPerf")){var r=e.traceInitPerf,i=typeof r=="number";this.traceInitMaxIdent=i?r:Infinity,this.traceInitPerf=i?r>0:r}else this.traceInitMaxIdent=0,this.traceInitPerf=ewe.DEFAULT_PARSER_CONFIG.traceInitPerf;this.traceInitIndent=-1},t.prototype.TRACE_INIT=function(e,r){if(this.traceInitPerf===!0){this.traceInitIndent++;var i=new Array(this.traceInitIndent+1).join(" ");this.traceInitIndent <"+e+">");var n=(0,aY.timer)(r),s=n.time,o=n.value,a=s>10?console.warn:console.log;return this.traceInitIndent time: "+s+"ms"),this.traceInitIndent--,o}else return r()},t}();UI.PerformanceTracer=twe});var lY=E(HI=>{"use strict";Object.defineProperty(HI,"__esModule",{value:!0});HI.applyMixins=void 0;function rwe(t,e){e.forEach(function(r){var i=r.prototype;Object.getOwnPropertyNames(i).forEach(function(n){if(n!=="constructor"){var s=Object.getOwnPropertyDescriptor(i,n);s&&(s.get||s.set)?Object.defineProperty(t.prototype,n,s):t.prototype[n]=r.prototype[n]}})})}HI.applyMixins=rwe});var Tn=E(or=>{"use strict";var cY=or&&or.__extends||function(){var t=function(e,r){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},t(e,r)};return function(e,r){if(typeof r!="function"&&r!==null)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");t(e,r);function i(){this.constructor=e}e.prototype=r===null?Object.create(r):(i.prototype=r.prototype,new i)}}();Object.defineProperty(or,"__esModule",{value:!0});or.EmbeddedActionsParser=or.CstParser=or.Parser=or.EMPTY_ALT=or.ParserDefinitionErrorType=or.DEFAULT_RULE_CONFIG=or.DEFAULT_PARSER_CONFIG=or.END_OF_FILE=void 0;var Wi=Dt(),iwe=VG(),uY=nA(),gY=Wh(),fY=yj(),nwe=pS(),swe=kj(),owe=Kj(),awe=Hj(),Awe=jj(),lwe=Wj(),cwe=Vj(),uwe=Zj(),gwe=oY(),fwe=AY(),hwe=lY();or.END_OF_FILE=(0,uY.createTokenInstance)(uY.EOF,"",NaN,NaN,NaN,NaN,NaN,NaN);Object.freeze(or.END_OF_FILE);or.DEFAULT_PARSER_CONFIG=Object.freeze({recoveryEnabled:!1,maxLookahead:3,dynamicTokensEnabled:!1,outputCst:!0,errorMessageProvider:gY.defaultParserErrorProvider,nodeLocationTracking:"none",traceInitPerf:!1,skipValidations:!1});or.DEFAULT_RULE_CONFIG=Object.freeze({recoveryValueFunc:function(){},resyncEnabled:!0});var pwe;(function(t){t[t.INVALID_RULE_NAME=0]="INVALID_RULE_NAME",t[t.DUPLICATE_RULE_NAME=1]="DUPLICATE_RULE_NAME",t[t.INVALID_RULE_OVERRIDE=2]="INVALID_RULE_OVERRIDE",t[t.DUPLICATE_PRODUCTIONS=3]="DUPLICATE_PRODUCTIONS",t[t.UNRESOLVED_SUBRULE_REF=4]="UNRESOLVED_SUBRULE_REF",t[t.LEFT_RECURSION=5]="LEFT_RECURSION",t[t.NONE_LAST_EMPTY_ALT=6]="NONE_LAST_EMPTY_ALT",t[t.AMBIGUOUS_ALTS=7]="AMBIGUOUS_ALTS",t[t.CONFLICT_TOKENS_RULES_NAMESPACE=8]="CONFLICT_TOKENS_RULES_NAMESPACE",t[t.INVALID_TOKEN_NAME=9]="INVALID_TOKEN_NAME",t[t.NO_NON_EMPTY_LOOKAHEAD=10]="NO_NON_EMPTY_LOOKAHEAD",t[t.AMBIGUOUS_PREFIX_ALTS=11]="AMBIGUOUS_PREFIX_ALTS",t[t.TOO_MANY_ALTS=12]="TOO_MANY_ALTS"})(pwe=or.ParserDefinitionErrorType||(or.ParserDefinitionErrorType={}));function dwe(t){return t===void 0&&(t=void 0),function(){return t}}or.EMPTY_ALT=dwe;var GI=function(){function t(e,r){this.definitionErrors=[],this.selfAnalysisDone=!1;var i=this;if(i.initErrorHandler(r),i.initLexerAdapter(),i.initLooksAhead(r),i.initRecognizerEngine(e,r),i.initRecoverable(r),i.initTreeBuilder(r),i.initContentAssist(),i.initGastRecorder(r),i.initPerformanceTracer(r),(0,Wi.has)(r,"ignoredIssues"))throw new Error(`The IParserConfig property has been deprecated. + Please use the flag on the relevant DSL method instead. + See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#IGNORING_AMBIGUITIES + For further details.`);this.skipValidations=(0,Wi.has)(r,"skipValidations")?r.skipValidations:or.DEFAULT_PARSER_CONFIG.skipValidations}return t.performSelfAnalysis=function(e){throw Error("The **static** `performSelfAnalysis` method has been deprecated. \nUse the **instance** method with the same name instead.")},t.prototype.performSelfAnalysis=function(){var e=this;this.TRACE_INIT("performSelfAnalysis",function(){var r;e.selfAnalysisDone=!0;var i=e.className;e.TRACE_INIT("toFastProps",function(){(0,Wi.toFastProperties)(e)}),e.TRACE_INIT("Grammar Recording",function(){try{e.enableRecording(),(0,Wi.forEach)(e.definedRulesNames,function(s){var o=e[s],a=o.originalGrammarAction,l=void 0;e.TRACE_INIT(s+" Rule",function(){l=e.topLevelRuleRecord(s,a)}),e.gastProductionsCache[s]=l})}finally{e.disableRecording()}});var n=[];if(e.TRACE_INIT("Grammar Resolving",function(){n=(0,fY.resolveGrammar)({rules:(0,Wi.values)(e.gastProductionsCache)}),e.definitionErrors=e.definitionErrors.concat(n)}),e.TRACE_INIT("Grammar Validations",function(){if((0,Wi.isEmpty)(n)&&e.skipValidations===!1){var s=(0,fY.validateGrammar)({rules:(0,Wi.values)(e.gastProductionsCache),maxLookahead:e.maxLookahead,tokenTypes:(0,Wi.values)(e.tokensMap),errMsgProvider:gY.defaultGrammarValidatorErrorProvider,grammarName:i});e.definitionErrors=e.definitionErrors.concat(s)}}),(0,Wi.isEmpty)(e.definitionErrors)&&(e.recoveryEnabled&&e.TRACE_INIT("computeAllProdsFollows",function(){var s=(0,iwe.computeAllProdsFollows)((0,Wi.values)(e.gastProductionsCache));e.resyncFollows=s}),e.TRACE_INIT("ComputeLookaheadFunctions",function(){e.preComputeLookaheadFunctions((0,Wi.values)(e.gastProductionsCache))})),!t.DEFER_DEFINITION_ERRORS_HANDLING&&!(0,Wi.isEmpty)(e.definitionErrors))throw r=(0,Wi.map)(e.definitionErrors,function(s){return s.message}),new Error(`Parser Definition Errors detected: + `+r.join(` +------------------------------- +`))})},t.DEFER_DEFINITION_ERRORS_HANDLING=!1,t}();or.Parser=GI;(0,hwe.applyMixins)(GI,[nwe.Recoverable,swe.LooksAhead,owe.TreeBuilder,awe.LexerAdapter,lwe.RecognizerEngine,Awe.RecognizerApi,cwe.ErrorHandler,uwe.ContentAssist,gwe.GastRecorder,fwe.PerformanceTracer]);var Cwe=function(t){cY(e,t);function e(r,i){i===void 0&&(i=or.DEFAULT_PARSER_CONFIG);var n=this,s=(0,Wi.cloneObj)(i);return s.outputCst=!0,n=t.call(this,r,s)||this,n}return e}(GI);or.CstParser=Cwe;var mwe=function(t){cY(e,t);function e(r,i){i===void 0&&(i=or.DEFAULT_PARSER_CONFIG);var n=this,s=(0,Wi.cloneObj)(i);return s.outputCst=!1,n=t.call(this,r,s)||this,n}return e}(GI);or.EmbeddedActionsParser=mwe});var pY=E(jI=>{"use strict";Object.defineProperty(jI,"__esModule",{value:!0});jI.createSyntaxDiagramsCode=void 0;var hY=Uv();function Ewe(t,e){var r=e===void 0?{}:e,i=r.resourceBase,n=i===void 0?"https://unpkg.com/chevrotain@"+hY.VERSION+"/diagrams/":i,s=r.css,o=s===void 0?"https://unpkg.com/chevrotain@"+hY.VERSION+"/diagrams/diagrams.css":s,a=` + + + + + +`,l=` + +`,c=` + + + + +`,u=` +
+`,g=` + +`,f=` + +`;return a+l+c+u+g+f}jI.createSyntaxDiagramsCode=Ewe});var mY=E(He=>{"use strict";Object.defineProperty(He,"__esModule",{value:!0});He.Parser=He.createSyntaxDiagramsCode=He.clearCache=He.GAstVisitor=He.serializeProduction=He.serializeGrammar=He.Terminal=He.Rule=He.RepetitionWithSeparator=He.RepetitionMandatoryWithSeparator=He.RepetitionMandatory=He.Repetition=He.Option=He.NonTerminal=He.Alternative=He.Alternation=He.defaultLexerErrorProvider=He.NoViableAltException=He.NotAllInputParsedException=He.MismatchedTokenException=He.isRecognitionException=He.EarlyExitException=He.defaultParserErrorProvider=He.tokenName=He.tokenMatcher=He.tokenLabel=He.EOF=He.createTokenInstance=He.createToken=He.LexerDefinitionErrorType=He.Lexer=He.EMPTY_ALT=He.ParserDefinitionErrorType=He.EmbeddedActionsParser=He.CstParser=He.VERSION=void 0;var Iwe=Uv();Object.defineProperty(He,"VERSION",{enumerable:!0,get:function(){return Iwe.VERSION}});var YI=Tn();Object.defineProperty(He,"CstParser",{enumerable:!0,get:function(){return YI.CstParser}});Object.defineProperty(He,"EmbeddedActionsParser",{enumerable:!0,get:function(){return YI.EmbeddedActionsParser}});Object.defineProperty(He,"ParserDefinitionErrorType",{enumerable:!0,get:function(){return YI.ParserDefinitionErrorType}});Object.defineProperty(He,"EMPTY_ALT",{enumerable:!0,get:function(){return YI.EMPTY_ALT}});var dY=Gh();Object.defineProperty(He,"Lexer",{enumerable:!0,get:function(){return dY.Lexer}});Object.defineProperty(He,"LexerDefinitionErrorType",{enumerable:!0,get:function(){return dY.LexerDefinitionErrorType}});var ku=nA();Object.defineProperty(He,"createToken",{enumerable:!0,get:function(){return ku.createToken}});Object.defineProperty(He,"createTokenInstance",{enumerable:!0,get:function(){return ku.createTokenInstance}});Object.defineProperty(He,"EOF",{enumerable:!0,get:function(){return ku.EOF}});Object.defineProperty(He,"tokenLabel",{enumerable:!0,get:function(){return ku.tokenLabel}});Object.defineProperty(He,"tokenMatcher",{enumerable:!0,get:function(){return ku.tokenMatcher}});Object.defineProperty(He,"tokenName",{enumerable:!0,get:function(){return ku.tokenName}});var ywe=Wh();Object.defineProperty(He,"defaultParserErrorProvider",{enumerable:!0,get:function(){return ywe.defaultParserErrorProvider}});var rp=vu();Object.defineProperty(He,"EarlyExitException",{enumerable:!0,get:function(){return rp.EarlyExitException}});Object.defineProperty(He,"isRecognitionException",{enumerable:!0,get:function(){return rp.isRecognitionException}});Object.defineProperty(He,"MismatchedTokenException",{enumerable:!0,get:function(){return rp.MismatchedTokenException}});Object.defineProperty(He,"NotAllInputParsedException",{enumerable:!0,get:function(){return rp.NotAllInputParsedException}});Object.defineProperty(He,"NoViableAltException",{enumerable:!0,get:function(){return rp.NoViableAltException}});var wwe=_v();Object.defineProperty(He,"defaultLexerErrorProvider",{enumerable:!0,get:function(){return wwe.defaultLexerErrorProvider}});var ho=hn();Object.defineProperty(He,"Alternation",{enumerable:!0,get:function(){return ho.Alternation}});Object.defineProperty(He,"Alternative",{enumerable:!0,get:function(){return ho.Alternative}});Object.defineProperty(He,"NonTerminal",{enumerable:!0,get:function(){return ho.NonTerminal}});Object.defineProperty(He,"Option",{enumerable:!0,get:function(){return ho.Option}});Object.defineProperty(He,"Repetition",{enumerable:!0,get:function(){return ho.Repetition}});Object.defineProperty(He,"RepetitionMandatory",{enumerable:!0,get:function(){return ho.RepetitionMandatory}});Object.defineProperty(He,"RepetitionMandatoryWithSeparator",{enumerable:!0,get:function(){return ho.RepetitionMandatoryWithSeparator}});Object.defineProperty(He,"RepetitionWithSeparator",{enumerable:!0,get:function(){return ho.RepetitionWithSeparator}});Object.defineProperty(He,"Rule",{enumerable:!0,get:function(){return ho.Rule}});Object.defineProperty(He,"Terminal",{enumerable:!0,get:function(){return ho.Terminal}});var CY=hn();Object.defineProperty(He,"serializeGrammar",{enumerable:!0,get:function(){return CY.serializeGrammar}});Object.defineProperty(He,"serializeProduction",{enumerable:!0,get:function(){return CY.serializeProduction}});var Bwe=wu();Object.defineProperty(He,"GAstVisitor",{enumerable:!0,get:function(){return Bwe.GAstVisitor}});function Qwe(){console.warn(`The clearCache function was 'soft' removed from the Chevrotain API. + It performs no action other than printing this message. + Please avoid using it as it will be completely removed in the future`)}He.clearCache=Qwe;var bwe=pY();Object.defineProperty(He,"createSyntaxDiagramsCode",{enumerable:!0,get:function(){return bwe.createSyntaxDiagramsCode}});var vwe=function(){function t(){throw new Error(`The Parser class has been deprecated, use CstParser or EmbeddedActionsParser instead. +See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_7-0-0`)}return t}();He.Parser=vwe});var yY=E((Trt,EY)=>{var qI=mY(),ca=qI.createToken,IY=qI.tokenMatcher,yS=qI.Lexer,Swe=qI.EmbeddedActionsParser;EY.exports=t=>{let e=ca({name:"LogicalOperator",pattern:yS.NA}),r=ca({name:"Or",pattern:/\|/,categories:e}),i=ca({name:"Xor",pattern:/\^/,categories:e}),n=ca({name:"And",pattern:/&/,categories:e}),s=ca({name:"Not",pattern:/!/}),o=ca({name:"LParen",pattern:/\(/}),a=ca({name:"RParen",pattern:/\)/}),l=ca({name:"Query",pattern:t}),u=[ca({name:"WhiteSpace",pattern:/\s+/,group:yS.SKIPPED}),r,i,n,o,a,s,e,l],g=new yS(u);class f extends Swe{constructor(p){super(u);this.RULE("expression",()=>this.SUBRULE(this.logicalExpression)),this.RULE("logicalExpression",()=>{let m=this.SUBRULE(this.atomicExpression);return this.MANY(()=>{let I=m,B=this.CONSUME(e),b=this.SUBRULE2(this.atomicExpression);IY(B,r)?m=R=>I(R)||b(R):IY(B,i)?m=R=>!!(I(R)^b(R)):m=R=>I(R)&&b(R)}),m}),this.RULE("atomicExpression",()=>this.OR([{ALT:()=>this.SUBRULE(this.parenthesisExpression)},{ALT:()=>{let{image:d}=this.CONSUME(l);return m=>m(d)}},{ALT:()=>{this.CONSUME(s);let d=this.SUBRULE(this.atomicExpression);return m=>!d(m)}}])),this.RULE("parenthesisExpression",()=>{let d;return this.CONSUME(o),d=this.SUBRULE(this.expression),this.CONSUME(a),d}),this.performSelfAnalysis()}}return{TinylogicLexer:g,TinylogicParser:f}}});var wY=E(JI=>{var xwe=yY();JI.makeParser=(t=/[a-z]+/)=>{let{TinylogicLexer:e,TinylogicParser:r}=xwe(t),i=new r;return(n,s)=>{let o=e.tokenize(n);return i.input=o.tokens,i.expression()(s)}};JI.parse=JI.makeParser()});var QY=E((Ort,BY)=>{"use strict";BY.exports=(...t)=>[...new Set([].concat(...t))]});var wS=E((Krt,bY)=>{"use strict";var kwe=require("stream"),vY=kwe.PassThrough,Pwe=Array.prototype.slice;bY.exports=Dwe;function Dwe(){let t=[],e=!1,r=Pwe.call(arguments),i=r[r.length-1];i&&!Array.isArray(i)&&i.pipe==null?r.pop():i={};let n=i.end!==!1;i.objectMode==null&&(i.objectMode=!0),i.highWaterMark==null&&(i.highWaterMark=64*1024);let s=vY(i);function o(){for(let c=0,u=arguments.length;c0||(e=!1,a())}function f(h){function p(){h.removeListener("merge2UnpipeEnd",p),h.removeListener("end",p),g()}if(h._readableState.endEmitted)return g();h.on("merge2UnpipeEnd",p),h.on("end",p),h.pipe(s,{end:!1}),h.resume()}for(let h=0;h{"use strict";Object.defineProperty(WI,"__esModule",{value:!0});function Rwe(t){return t.reduce((e,r)=>[].concat(e,r),[])}WI.flatten=Rwe;function Fwe(t,e){let r=[[]],i=0;for(let n of t)e(n)?(i++,r[i]=[]):r[i].push(n);return r}WI.splitWhen=Fwe});var kY=E(BS=>{"use strict";Object.defineProperty(BS,"__esModule",{value:!0});function Nwe(t){return t.code==="ENOENT"}BS.isEnoentCodeError=Nwe});var DY=E(QS=>{"use strict";Object.defineProperty(QS,"__esModule",{value:!0});var PY=class{constructor(e,r){this.name=e,this.isBlockDevice=r.isBlockDevice.bind(r),this.isCharacterDevice=r.isCharacterDevice.bind(r),this.isDirectory=r.isDirectory.bind(r),this.isFIFO=r.isFIFO.bind(r),this.isFile=r.isFile.bind(r),this.isSocket=r.isSocket.bind(r),this.isSymbolicLink=r.isSymbolicLink.bind(r)}};function Lwe(t,e){return new PY(t,e)}QS.createDirentFromStats=Lwe});var RY=E(Pu=>{"use strict";Object.defineProperty(Pu,"__esModule",{value:!0});var Twe=require("path"),Mwe=2,Owe=/(\\?)([()*?[\]{|}]|^!|[!+@](?=\())/g;function Kwe(t){return t.replace(/\\/g,"/")}Pu.unixify=Kwe;function Uwe(t,e){return Twe.resolve(t,e)}Pu.makeAbsolute=Uwe;function Hwe(t){return t.replace(Owe,"\\$2")}Pu.escape=Hwe;function Gwe(t){if(t.charAt(0)==="."){let e=t.charAt(1);if(e==="/"||e==="\\")return t.slice(Mwe)}return t}Pu.removeLeadingDotSegment=Gwe});var NY=E((Yrt,FY)=>{FY.exports=function(e){if(typeof e!="string"||e==="")return!1;for(var r;r=/(\\).|([@?!+*]\(.*\))/g.exec(e);){if(r[2])return!0;e=e.slice(r.index+r[0].length)}return!1}});var TY=E((qrt,LY)=>{var jwe=NY(),Ywe={"{":"}","(":")","[":"]"},qwe=/\\(.)|(^!|\*|[\].+)]\?|\[[^\\\]]+\]|\{[^\\}]+\}|\(\?[:!=][^\\)]+\)|\([^|]+\|[^\\)]+\))/,Jwe=/\\(.)|(^!|[*?{}()[\]]|\(\?)/;LY.exports=function(e,r){if(typeof e!="string"||e==="")return!1;if(jwe(e))return!0;var i=qwe,n;for(r&&r.strict===!1&&(i=Jwe);n=i.exec(e);){if(n[2])return!0;var s=n.index+n[0].length,o=n[1],a=o?Ywe[o]:null;if(o&&a){var l=e.indexOf(a,s);l!==-1&&(s=l+1)}e=e.slice(s)}return!1}});var OY=E((Jrt,MY)=>{"use strict";var Wwe=TY(),zwe=require("path").posix.dirname,Vwe=require("os").platform()==="win32",bS="/",_we=/\\/g,Xwe=/[\{\[].*[\}\]]$/,Zwe=/(^|[^\\])([\{\[]|\([^\)]+$)/,$we=/\\([\!\*\?\|\[\]\(\)\{\}])/g;MY.exports=function(e,r){var i=Object.assign({flipBackslashes:!0},r);i.flipBackslashes&&Vwe&&e.indexOf(bS)<0&&(e=e.replace(_we,bS)),Xwe.test(e)&&(e+=bS),e+="a";do e=zwe(e);while(Wwe(e)||Zwe.test(e));return e.replace($we,"$1")}});var WY=E(Hr=>{"use strict";Object.defineProperty(Hr,"__esModule",{value:!0});var eBe=require("path"),tBe=OY(),KY=Nn(),rBe=iv(),UY="**",iBe="\\",nBe=/[*?]|^!/,sBe=/\[.*]/,oBe=/(?:^|[^!*+?@])\(.*\|.*\)/,aBe=/[!*+?@]\(.*\)/,ABe=/{.*(?:,|\.\.).*}/;function GY(t,e={}){return!HY(t,e)}Hr.isStaticPattern=GY;function HY(t,e={}){return!!(e.caseSensitiveMatch===!1||t.includes(iBe)||nBe.test(t)||sBe.test(t)||oBe.test(t)||e.extglob!==!1&&aBe.test(t)||e.braceExpansion!==!1&&ABe.test(t))}Hr.isDynamicPattern=HY;function lBe(t){return zI(t)?t.slice(1):t}Hr.convertToPositivePattern=lBe;function cBe(t){return"!"+t}Hr.convertToNegativePattern=cBe;function zI(t){return t.startsWith("!")&&t[1]!=="("}Hr.isNegativePattern=zI;function jY(t){return!zI(t)}Hr.isPositivePattern=jY;function uBe(t){return t.filter(zI)}Hr.getNegativePatterns=uBe;function gBe(t){return t.filter(jY)}Hr.getPositivePatterns=gBe;function fBe(t){return tBe(t,{flipBackslashes:!1})}Hr.getBaseDirectory=fBe;function hBe(t){return t.includes(UY)}Hr.hasGlobStar=hBe;function YY(t){return t.endsWith("/"+UY)}Hr.endsWithSlashGlobStar=YY;function pBe(t){let e=eBe.basename(t);return YY(t)||GY(e)}Hr.isAffectDepthOfReadingPattern=pBe;function dBe(t){return t.reduce((e,r)=>e.concat(qY(r)),[])}Hr.expandPatternsWithBraceExpansion=dBe;function qY(t){return KY.braces(t,{expand:!0,nodupes:!0})}Hr.expandBraceExpansion=qY;function CBe(t,e){let r=rBe.scan(t,Object.assign(Object.assign({},e),{parts:!0}));return r.parts.length===0?[t]:r.parts}Hr.getPatternParts=CBe;function JY(t,e){return KY.makeRe(t,e)}Hr.makeRe=JY;function mBe(t,e){return t.map(r=>JY(r,e))}Hr.convertPatternsToRe=mBe;function EBe(t,e){return e.some(r=>r.test(t))}Hr.matchAny=EBe});var VY=E(vS=>{"use strict";Object.defineProperty(vS,"__esModule",{value:!0});var IBe=wS();function yBe(t){let e=IBe(t);return t.forEach(r=>{r.once("error",i=>e.emit("error",i))}),e.once("close",()=>zY(t)),e.once("end",()=>zY(t)),e}vS.merge=yBe;function zY(t){t.forEach(e=>e.emit("close"))}});var _Y=E(VI=>{"use strict";Object.defineProperty(VI,"__esModule",{value:!0});function wBe(t){return typeof t=="string"}VI.isString=wBe;function BBe(t){return t===""}VI.isEmpty=BBe});var ga=E(ua=>{"use strict";Object.defineProperty(ua,"__esModule",{value:!0});var QBe=xY();ua.array=QBe;var bBe=kY();ua.errno=bBe;var vBe=DY();ua.fs=vBe;var SBe=RY();ua.path=SBe;var xBe=WY();ua.pattern=xBe;var kBe=VY();ua.stream=kBe;var PBe=_Y();ua.string=PBe});var tq=E(fa=>{"use strict";Object.defineProperty(fa,"__esModule",{value:!0});var Ll=ga();function DBe(t,e){let r=XY(t),i=ZY(t,e.ignore),n=r.filter(l=>Ll.pattern.isStaticPattern(l,e)),s=r.filter(l=>Ll.pattern.isDynamicPattern(l,e)),o=SS(n,i,!1),a=SS(s,i,!0);return o.concat(a)}fa.generate=DBe;function SS(t,e,r){let i=$Y(t);return"."in i?[xS(".",t,e,r)]:eq(i,e,r)}fa.convertPatternsToTasks=SS;function XY(t){return Ll.pattern.getPositivePatterns(t)}fa.getPositivePatterns=XY;function ZY(t,e){return Ll.pattern.getNegativePatterns(t).concat(e).map(Ll.pattern.convertToPositivePattern)}fa.getNegativePatternsAsPositive=ZY;function $Y(t){let e={};return t.reduce((r,i)=>{let n=Ll.pattern.getBaseDirectory(i);return n in r?r[n].push(i):r[n]=[i],r},e)}fa.groupPatternsByBaseDirectory=$Y;function eq(t,e,r){return Object.keys(t).map(i=>xS(i,t[i],e,r))}fa.convertPatternGroupsToTasks=eq;function xS(t,e,r,i){return{dynamic:i,positive:e,negative:r,base:t,patterns:[].concat(e,r.map(Ll.pattern.convertToNegativePattern))}}fa.convertPatternGroupToTask=xS});var iq=E(_I=>{"use strict";Object.defineProperty(_I,"__esModule",{value:!0});_I.read=void 0;function RBe(t,e,r){e.fs.lstat(t,(i,n)=>{if(i!==null){rq(r,i);return}if(!n.isSymbolicLink()||!e.followSymbolicLink){kS(r,n);return}e.fs.stat(t,(s,o)=>{if(s!==null){if(e.throwErrorOnBrokenSymbolicLink){rq(r,s);return}kS(r,n);return}e.markSymbolicLink&&(o.isSymbolicLink=()=>!0),kS(r,o)})})}_I.read=RBe;function rq(t,e){t(e)}function kS(t,e){t(null,e)}});var nq=E(XI=>{"use strict";Object.defineProperty(XI,"__esModule",{value:!0});XI.read=void 0;function FBe(t,e){let r=e.fs.lstatSync(t);if(!r.isSymbolicLink()||!e.followSymbolicLink)return r;try{let i=e.fs.statSync(t);return e.markSymbolicLink&&(i.isSymbolicLink=()=>!0),i}catch(i){if(!e.throwErrorOnBrokenSymbolicLink)return r;throw i}}XI.read=FBe});var sq=E(AA=>{"use strict";Object.defineProperty(AA,"__esModule",{value:!0});AA.createFileSystemAdapter=AA.FILE_SYSTEM_ADAPTER=void 0;var ZI=require("fs");AA.FILE_SYSTEM_ADAPTER={lstat:ZI.lstat,stat:ZI.stat,lstatSync:ZI.lstatSync,statSync:ZI.statSync};function NBe(t){return t===void 0?AA.FILE_SYSTEM_ADAPTER:Object.assign(Object.assign({},AA.FILE_SYSTEM_ADAPTER),t)}AA.createFileSystemAdapter=NBe});var aq=E(PS=>{"use strict";Object.defineProperty(PS,"__esModule",{value:!0});var LBe=sq(),oq=class{constructor(e={}){this._options=e,this.followSymbolicLink=this._getValue(this._options.followSymbolicLink,!0),this.fs=LBe.createFileSystemAdapter(this._options.fs),this.markSymbolicLink=this._getValue(this._options.markSymbolicLink,!1),this.throwErrorOnBrokenSymbolicLink=this._getValue(this._options.throwErrorOnBrokenSymbolicLink,!0)}_getValue(e,r){return e!=null?e:r}};PS.default=oq});var Tl=E(lA=>{"use strict";Object.defineProperty(lA,"__esModule",{value:!0});lA.statSync=lA.stat=lA.Settings=void 0;var Aq=iq(),TBe=nq(),DS=aq();lA.Settings=DS.default;function MBe(t,e,r){if(typeof e=="function"){Aq.read(t,RS(),e);return}Aq.read(t,RS(e),r)}lA.stat=MBe;function OBe(t,e){let r=RS(e);return TBe.read(t,r)}lA.statSync=OBe;function RS(t={}){return t instanceof DS.default?t:new DS.default(t)}});var cq=E((iit,lq)=>{lq.exports=KBe;function KBe(t,e){var r,i,n,s=!0;Array.isArray(t)?(r=[],i=t.length):(n=Object.keys(t),r={},i=n.length);function o(l){function c(){e&&e(l,r),e=null}s?process.nextTick(c):c()}function a(l,c,u){r[l]=u,(--i==0||c)&&o(c)}i?n?n.forEach(function(l){t[l](function(c,u){a(l,c,u)})}):t.forEach(function(l,c){l(function(u,g){a(c,u,g)})}):o(null),s=!1}});var FS=E($I=>{"use strict";Object.defineProperty($I,"__esModule",{value:!0});$I.IS_SUPPORT_READDIR_WITH_FILE_TYPES=void 0;var ey=process.versions.node.split(".");if(ey[0]===void 0||ey[1]===void 0)throw new Error(`Unexpected behavior. The 'process.versions.node' variable has invalid value: ${process.versions.node}`);var uq=Number.parseInt(ey[0],10),UBe=Number.parseInt(ey[1],10),gq=10,HBe=10,GBe=uq>gq,jBe=uq===gq&&UBe>=HBe;$I.IS_SUPPORT_READDIR_WITH_FILE_TYPES=GBe||jBe});var hq=E(ty=>{"use strict";Object.defineProperty(ty,"__esModule",{value:!0});ty.createDirentFromStats=void 0;var fq=class{constructor(e,r){this.name=e,this.isBlockDevice=r.isBlockDevice.bind(r),this.isCharacterDevice=r.isCharacterDevice.bind(r),this.isDirectory=r.isDirectory.bind(r),this.isFIFO=r.isFIFO.bind(r),this.isFile=r.isFile.bind(r),this.isSocket=r.isSocket.bind(r),this.isSymbolicLink=r.isSymbolicLink.bind(r)}};function YBe(t,e){return new fq(t,e)}ty.createDirentFromStats=YBe});var NS=E(ry=>{"use strict";Object.defineProperty(ry,"__esModule",{value:!0});ry.fs=void 0;var qBe=hq();ry.fs=qBe});var LS=E(iy=>{"use strict";Object.defineProperty(iy,"__esModule",{value:!0});iy.joinPathSegments=void 0;function JBe(t,e,r){return t.endsWith(r)?t+e:t+r+e}iy.joinPathSegments=JBe});var Iq=E(cA=>{"use strict";Object.defineProperty(cA,"__esModule",{value:!0});cA.readdir=cA.readdirWithFileTypes=cA.read=void 0;var WBe=Tl(),pq=cq(),zBe=FS(),dq=NS(),Cq=LS();function VBe(t,e,r){if(!e.stats&&zBe.IS_SUPPORT_READDIR_WITH_FILE_TYPES){mq(t,e,r);return}Eq(t,e,r)}cA.read=VBe;function mq(t,e,r){e.fs.readdir(t,{withFileTypes:!0},(i,n)=>{if(i!==null){ny(r,i);return}let s=n.map(a=>({dirent:a,name:a.name,path:Cq.joinPathSegments(t,a.name,e.pathSegmentSeparator)}));if(!e.followSymbolicLinks){TS(r,s);return}let o=s.map(a=>_Be(a,e));pq(o,(a,l)=>{if(a!==null){ny(r,a);return}TS(r,l)})})}cA.readdirWithFileTypes=mq;function _Be(t,e){return r=>{if(!t.dirent.isSymbolicLink()){r(null,t);return}e.fs.stat(t.path,(i,n)=>{if(i!==null){if(e.throwErrorOnBrokenSymbolicLink){r(i);return}r(null,t);return}t.dirent=dq.fs.createDirentFromStats(t.name,n),r(null,t)})}}function Eq(t,e,r){e.fs.readdir(t,(i,n)=>{if(i!==null){ny(r,i);return}let s=n.map(o=>{let a=Cq.joinPathSegments(t,o,e.pathSegmentSeparator);return l=>{WBe.stat(a,e.fsStatSettings,(c,u)=>{if(c!==null){l(c);return}let g={name:o,path:a,dirent:dq.fs.createDirentFromStats(o,u)};e.stats&&(g.stats=u),l(null,g)})}});pq(s,(o,a)=>{if(o!==null){ny(r,o);return}TS(r,a)})})}cA.readdir=Eq;function ny(t,e){t(e)}function TS(t,e){t(null,e)}});var bq=E(uA=>{"use strict";Object.defineProperty(uA,"__esModule",{value:!0});uA.readdir=uA.readdirWithFileTypes=uA.read=void 0;var XBe=Tl(),ZBe=FS(),yq=NS(),wq=LS();function $Be(t,e){return!e.stats&&ZBe.IS_SUPPORT_READDIR_WITH_FILE_TYPES?Bq(t,e):Qq(t,e)}uA.read=$Be;function Bq(t,e){return e.fs.readdirSync(t,{withFileTypes:!0}).map(i=>{let n={dirent:i,name:i.name,path:wq.joinPathSegments(t,i.name,e.pathSegmentSeparator)};if(n.dirent.isSymbolicLink()&&e.followSymbolicLinks)try{let s=e.fs.statSync(n.path);n.dirent=yq.fs.createDirentFromStats(n.name,s)}catch(s){if(e.throwErrorOnBrokenSymbolicLink)throw s}return n})}uA.readdirWithFileTypes=Bq;function Qq(t,e){return e.fs.readdirSync(t).map(i=>{let n=wq.joinPathSegments(t,i,e.pathSegmentSeparator),s=XBe.statSync(n,e.fsStatSettings),o={name:i,path:n,dirent:yq.fs.createDirentFromStats(i,s)};return e.stats&&(o.stats=s),o})}uA.readdir=Qq});var vq=E(gA=>{"use strict";Object.defineProperty(gA,"__esModule",{value:!0});gA.createFileSystemAdapter=gA.FILE_SYSTEM_ADAPTER=void 0;var Du=require("fs");gA.FILE_SYSTEM_ADAPTER={lstat:Du.lstat,stat:Du.stat,lstatSync:Du.lstatSync,statSync:Du.statSync,readdir:Du.readdir,readdirSync:Du.readdirSync};function e0e(t){return t===void 0?gA.FILE_SYSTEM_ADAPTER:Object.assign(Object.assign({},gA.FILE_SYSTEM_ADAPTER),t)}gA.createFileSystemAdapter=e0e});var xq=E(MS=>{"use strict";Object.defineProperty(MS,"__esModule",{value:!0});var t0e=require("path"),r0e=Tl(),i0e=vq(),Sq=class{constructor(e={}){this._options=e,this.followSymbolicLinks=this._getValue(this._options.followSymbolicLinks,!1),this.fs=i0e.createFileSystemAdapter(this._options.fs),this.pathSegmentSeparator=this._getValue(this._options.pathSegmentSeparator,t0e.sep),this.stats=this._getValue(this._options.stats,!1),this.throwErrorOnBrokenSymbolicLink=this._getValue(this._options.throwErrorOnBrokenSymbolicLink,!0),this.fsStatSettings=new r0e.Settings({followSymbolicLink:this.followSymbolicLinks,fs:this.fs,throwErrorOnBrokenSymbolicLink:this.throwErrorOnBrokenSymbolicLink})}_getValue(e,r){return e!=null?e:r}};MS.default=Sq});var sy=E(fA=>{"use strict";Object.defineProperty(fA,"__esModule",{value:!0});fA.Settings=fA.scandirSync=fA.scandir=void 0;var kq=Iq(),n0e=bq(),OS=xq();fA.Settings=OS.default;function s0e(t,e,r){if(typeof e=="function"){kq.read(t,KS(),e);return}kq.read(t,KS(e),r)}fA.scandir=s0e;function o0e(t,e){let r=KS(e);return n0e.read(t,r)}fA.scandirSync=o0e;function KS(t={}){return t instanceof OS.default?t:new OS.default(t)}});var Dq=E((fit,Pq)=>{"use strict";function a0e(t){var e=new t,r=e;function i(){var s=e;return s.next?e=s.next:(e=new t,r=e),s.next=null,s}function n(s){r.next=s,r=s}return{get:i,release:n}}Pq.exports=a0e});var Fq=E((hit,US)=>{"use strict";var A0e=Dq();function Rq(t,e,r){if(typeof t=="function"&&(r=e,e=t,t=null),r<1)throw new Error("fastqueue concurrency must be greater than 1");var i=A0e(l0e),n=null,s=null,o=0,a=null,l={push:d,drain:po,saturated:po,pause:u,paused:!1,concurrency:r,running:c,resume:h,idle:p,length:g,getQueue:f,unshift:m,empty:po,kill:B,killAndDrain:b,error:R};return l;function c(){return o}function u(){l.paused=!0}function g(){for(var H=n,L=0;H;)H=H.next,L++;return L}function f(){for(var H=n,L=[];H;)L.push(H.value),H=H.next;return L}function h(){if(!!l.paused){l.paused=!1;for(var H=0;H{"use strict";Object.defineProperty(Co,"__esModule",{value:!0});Co.joinPathSegments=Co.replacePathSegmentSeparator=Co.isAppliedFilter=Co.isFatalError=void 0;function u0e(t,e){return t.errorFilter===null?!0:!t.errorFilter(e)}Co.isFatalError=u0e;function g0e(t,e){return t===null||t(e)}Co.isAppliedFilter=g0e;function f0e(t,e){return t.split(/[/\\]/).join(e)}Co.replacePathSegmentSeparator=f0e;function h0e(t,e,r){return t===""?e:t.endsWith(r)?t+e:t+r+e}Co.joinPathSegments=h0e});var GS=E(HS=>{"use strict";Object.defineProperty(HS,"__esModule",{value:!0});var p0e=oy(),Nq=class{constructor(e,r){this._root=e,this._settings=r,this._root=p0e.replacePathSegmentSeparator(e,r.pathSegmentSeparator)}};HS.default=Nq});var YS=E(jS=>{"use strict";Object.defineProperty(jS,"__esModule",{value:!0});var d0e=require("events"),C0e=sy(),m0e=Fq(),ay=oy(),E0e=GS(),Lq=class extends E0e.default{constructor(e,r){super(e,r);this._settings=r,this._scandir=C0e.scandir,this._emitter=new d0e.EventEmitter,this._queue=m0e(this._worker.bind(this),this._settings.concurrency),this._isFatalError=!1,this._isDestroyed=!1,this._queue.drain=()=>{this._isFatalError||this._emitter.emit("end")}}read(){return this._isFatalError=!1,this._isDestroyed=!1,setImmediate(()=>{this._pushToQueue(this._root,this._settings.basePath)}),this._emitter}get isDestroyed(){return this._isDestroyed}destroy(){if(this._isDestroyed)throw new Error("The reader is already destroyed");this._isDestroyed=!0,this._queue.killAndDrain()}onEntry(e){this._emitter.on("entry",e)}onError(e){this._emitter.once("error",e)}onEnd(e){this._emitter.once("end",e)}_pushToQueue(e,r){let i={directory:e,base:r};this._queue.push(i,n=>{n!==null&&this._handleError(n)})}_worker(e,r){this._scandir(e.directory,this._settings.fsScandirSettings,(i,n)=>{if(i!==null){r(i,void 0);return}for(let s of n)this._handleEntry(s,e.base);r(null,void 0)})}_handleError(e){this._isDestroyed||!ay.isFatalError(this._settings,e)||(this._isFatalError=!0,this._isDestroyed=!0,this._emitter.emit("error",e))}_handleEntry(e,r){if(this._isDestroyed||this._isFatalError)return;let i=e.path;r!==void 0&&(e.path=ay.joinPathSegments(r,e.name,this._settings.pathSegmentSeparator)),ay.isAppliedFilter(this._settings.entryFilter,e)&&this._emitEntry(e),e.dirent.isDirectory()&&ay.isAppliedFilter(this._settings.deepFilter,e)&&this._pushToQueue(i,e.path)}_emitEntry(e){this._emitter.emit("entry",e)}};jS.default=Lq});var Mq=E(qS=>{"use strict";Object.defineProperty(qS,"__esModule",{value:!0});var I0e=YS(),Tq=class{constructor(e,r){this._root=e,this._settings=r,this._reader=new I0e.default(this._root,this._settings),this._storage=new Set}read(e){this._reader.onError(r=>{y0e(e,r)}),this._reader.onEntry(r=>{this._storage.add(r)}),this._reader.onEnd(()=>{w0e(e,[...this._storage])}),this._reader.read()}};qS.default=Tq;function y0e(t,e){t(e)}function w0e(t,e){t(null,e)}});var Kq=E(JS=>{"use strict";Object.defineProperty(JS,"__esModule",{value:!0});var B0e=require("stream"),Q0e=YS(),Oq=class{constructor(e,r){this._root=e,this._settings=r,this._reader=new Q0e.default(this._root,this._settings),this._stream=new B0e.Readable({objectMode:!0,read:()=>{},destroy:()=>{this._reader.isDestroyed||this._reader.destroy()}})}read(){return this._reader.onError(e=>{this._stream.emit("error",e)}),this._reader.onEntry(e=>{this._stream.push(e)}),this._reader.onEnd(()=>{this._stream.push(null)}),this._reader.read(),this._stream}};JS.default=Oq});var Hq=E(WS=>{"use strict";Object.defineProperty(WS,"__esModule",{value:!0});var b0e=sy(),Ay=oy(),v0e=GS(),Uq=class extends v0e.default{constructor(){super(...arguments);this._scandir=b0e.scandirSync,this._storage=new Set,this._queue=new Set}read(){return this._pushToQueue(this._root,this._settings.basePath),this._handleQueue(),[...this._storage]}_pushToQueue(e,r){this._queue.add({directory:e,base:r})}_handleQueue(){for(let e of this._queue.values())this._handleDirectory(e.directory,e.base)}_handleDirectory(e,r){try{let i=this._scandir(e,this._settings.fsScandirSettings);for(let n of i)this._handleEntry(n,r)}catch(i){this._handleError(i)}}_handleError(e){if(!!Ay.isFatalError(this._settings,e))throw e}_handleEntry(e,r){let i=e.path;r!==void 0&&(e.path=Ay.joinPathSegments(r,e.name,this._settings.pathSegmentSeparator)),Ay.isAppliedFilter(this._settings.entryFilter,e)&&this._pushToStorage(e),e.dirent.isDirectory()&&Ay.isAppliedFilter(this._settings.deepFilter,e)&&this._pushToQueue(i,e.path)}_pushToStorage(e){this._storage.add(e)}};WS.default=Uq});var jq=E(zS=>{"use strict";Object.defineProperty(zS,"__esModule",{value:!0});var S0e=Hq(),Gq=class{constructor(e,r){this._root=e,this._settings=r,this._reader=new S0e.default(this._root,this._settings)}read(){return this._reader.read()}};zS.default=Gq});var qq=E(VS=>{"use strict";Object.defineProperty(VS,"__esModule",{value:!0});var x0e=require("path"),k0e=sy(),Yq=class{constructor(e={}){this._options=e,this.basePath=this._getValue(this._options.basePath,void 0),this.concurrency=this._getValue(this._options.concurrency,Number.POSITIVE_INFINITY),this.deepFilter=this._getValue(this._options.deepFilter,null),this.entryFilter=this._getValue(this._options.entryFilter,null),this.errorFilter=this._getValue(this._options.errorFilter,null),this.pathSegmentSeparator=this._getValue(this._options.pathSegmentSeparator,x0e.sep),this.fsScandirSettings=new k0e.Settings({followSymbolicLinks:this._options.followSymbolicLinks,fs:this._options.fs,pathSegmentSeparator:this._options.pathSegmentSeparator,stats:this._options.stats,throwErrorOnBrokenSymbolicLink:this._options.throwErrorOnBrokenSymbolicLink})}_getValue(e,r){return e!=null?e:r}};VS.default=Yq});var XS=E(mo=>{"use strict";Object.defineProperty(mo,"__esModule",{value:!0});mo.Settings=mo.walkStream=mo.walkSync=mo.walk=void 0;var Jq=Mq(),P0e=Kq(),D0e=jq(),_S=qq();mo.Settings=_S.default;function R0e(t,e,r){if(typeof e=="function"){new Jq.default(t,ly()).read(e);return}new Jq.default(t,ly(e)).read(r)}mo.walk=R0e;function F0e(t,e){let r=ly(e);return new D0e.default(t,r).read()}mo.walkSync=F0e;function N0e(t,e){let r=ly(e);return new P0e.default(t,r).read()}mo.walkStream=N0e;function ly(t={}){return t instanceof _S.default?t:new _S.default(t)}});var $S=E(ZS=>{"use strict";Object.defineProperty(ZS,"__esModule",{value:!0});var L0e=require("path"),T0e=Tl(),Wq=ga(),zq=class{constructor(e){this._settings=e,this._fsStatSettings=new T0e.Settings({followSymbolicLink:this._settings.followSymbolicLinks,fs:this._settings.fs,throwErrorOnBrokenSymbolicLink:this._settings.followSymbolicLinks})}_getFullEntryPath(e){return L0e.resolve(this._settings.cwd,e)}_makeEntry(e,r){let i={name:r,path:r,dirent:Wq.fs.createDirentFromStats(r,e)};return this._settings.stats&&(i.stats=e),i}_isFatalError(e){return!Wq.errno.isEnoentCodeError(e)&&!this._settings.suppressErrors}};ZS.default=zq});var tx=E(ex=>{"use strict";Object.defineProperty(ex,"__esModule",{value:!0});var M0e=require("stream"),O0e=Tl(),K0e=XS(),U0e=$S(),Vq=class extends U0e.default{constructor(){super(...arguments);this._walkStream=K0e.walkStream,this._stat=O0e.stat}dynamic(e,r){return this._walkStream(e,r)}static(e,r){let i=e.map(this._getFullEntryPath,this),n=new M0e.PassThrough({objectMode:!0});n._write=(s,o,a)=>this._getEntry(i[s],e[s],r).then(l=>{l!==null&&r.entryFilter(l)&&n.push(l),s===i.length-1&&n.end(),a()}).catch(a);for(let s=0;sthis._makeEntry(n,r)).catch(n=>{if(i.errorFilter(n))return null;throw n})}_getStat(e){return new Promise((r,i)=>{this._stat(e,this._fsStatSettings,(n,s)=>n===null?r(s):i(n))})}};ex.default=Vq});var Xq=E(rx=>{"use strict";Object.defineProperty(rx,"__esModule",{value:!0});var Ru=ga(),_q=class{constructor(e,r,i){this._patterns=e,this._settings=r,this._micromatchOptions=i,this._storage=[],this._fillStorage()}_fillStorage(){let e=Ru.pattern.expandPatternsWithBraceExpansion(this._patterns);for(let r of e){let i=this._getPatternSegments(r),n=this._splitSegmentsIntoSections(i);this._storage.push({complete:n.length<=1,pattern:r,segments:i,sections:n})}}_getPatternSegments(e){return Ru.pattern.getPatternParts(e,this._micromatchOptions).map(i=>Ru.pattern.isDynamicPattern(i,this._settings)?{dynamic:!0,pattern:i,patternRe:Ru.pattern.makeRe(i,this._micromatchOptions)}:{dynamic:!1,pattern:i})}_splitSegmentsIntoSections(e){return Ru.array.splitWhen(e,r=>r.dynamic&&Ru.pattern.hasGlobStar(r.pattern))}};rx.default=_q});var $q=E(ix=>{"use strict";Object.defineProperty(ix,"__esModule",{value:!0});var H0e=Xq(),Zq=class extends H0e.default{match(e){let r=e.split("/"),i=r.length,n=this._storage.filter(s=>!s.complete||s.segments.length>i);for(let s of n){let o=s.sections[0];if(!s.complete&&i>o.length||r.every((l,c)=>{let u=s.segments[c];return!!(u.dynamic&&u.patternRe.test(l)||!u.dynamic&&u.pattern===l)}))return!0}return!1}};ix.default=Zq});var tJ=E(nx=>{"use strict";Object.defineProperty(nx,"__esModule",{value:!0});var cy=ga(),G0e=$q(),eJ=class{constructor(e,r){this._settings=e,this._micromatchOptions=r}getFilter(e,r,i){let n=this._getMatcher(r),s=this._getNegativePatternsRe(i);return o=>this._filter(e,o,n,s)}_getMatcher(e){return new G0e.default(e,this._settings,this._micromatchOptions)}_getNegativePatternsRe(e){let r=e.filter(cy.pattern.isAffectDepthOfReadingPattern);return cy.pattern.convertPatternsToRe(r,this._micromatchOptions)}_filter(e,r,i,n){let s=this._getEntryLevel(e,r.path);if(this._isSkippedByDeep(s)||this._isSkippedSymbolicLink(r))return!1;let o=cy.path.removeLeadingDotSegment(r.path);return this._isSkippedByPositivePatterns(o,i)?!1:this._isSkippedByNegativePatterns(o,n)}_isSkippedByDeep(e){return e>=this._settings.deep}_isSkippedSymbolicLink(e){return!this._settings.followSymbolicLinks&&e.dirent.isSymbolicLink()}_getEntryLevel(e,r){let i=e.split("/").length;return r.split("/").length-(e===""?0:i)}_isSkippedByPositivePatterns(e,r){return!this._settings.baseNameMatch&&!r.match(e)}_isSkippedByNegativePatterns(e,r){return!cy.pattern.matchAny(e,r)}};nx.default=eJ});var iJ=E(sx=>{"use strict";Object.defineProperty(sx,"__esModule",{value:!0});var ip=ga(),rJ=class{constructor(e,r){this._settings=e,this._micromatchOptions=r,this.index=new Map}getFilter(e,r){let i=ip.pattern.convertPatternsToRe(e,this._micromatchOptions),n=ip.pattern.convertPatternsToRe(r,this._micromatchOptions);return s=>this._filter(s,i,n)}_filter(e,r,i){if(this._settings.unique){if(this._isDuplicateEntry(e))return!1;this._createIndexRecord(e)}if(this._onlyFileFilter(e)||this._onlyDirectoryFilter(e)||this._isSkippedByAbsoluteNegativePatterns(e,i))return!1;let n=this._settings.baseNameMatch?e.name:e.path;return this._isMatchToPatterns(n,r)&&!this._isMatchToPatterns(e.path,i)}_isDuplicateEntry(e){return this.index.has(e.path)}_createIndexRecord(e){this.index.set(e.path,void 0)}_onlyFileFilter(e){return this._settings.onlyFiles&&!e.dirent.isFile()}_onlyDirectoryFilter(e){return this._settings.onlyDirectories&&!e.dirent.isDirectory()}_isSkippedByAbsoluteNegativePatterns(e,r){if(!this._settings.absolute)return!1;let i=ip.path.makeAbsolute(this._settings.cwd,e.path);return this._isMatchToPatterns(i,r)}_isMatchToPatterns(e,r){let i=ip.path.removeLeadingDotSegment(e);return ip.pattern.matchAny(i,r)}};sx.default=rJ});var sJ=E(ox=>{"use strict";Object.defineProperty(ox,"__esModule",{value:!0});var j0e=ga(),nJ=class{constructor(e){this._settings=e}getFilter(){return e=>this._isNonFatalError(e)}_isNonFatalError(e){return j0e.errno.isEnoentCodeError(e)||this._settings.suppressErrors}};ox.default=nJ});var AJ=E(ax=>{"use strict";Object.defineProperty(ax,"__esModule",{value:!0});var oJ=ga(),aJ=class{constructor(e){this._settings=e}getTransformer(){return e=>this._transform(e)}_transform(e){let r=e.path;return this._settings.absolute&&(r=oJ.path.makeAbsolute(this._settings.cwd,r),r=oJ.path.unixify(r)),this._settings.markDirectories&&e.dirent.isDirectory()&&(r+="/"),this._settings.objectMode?Object.assign(Object.assign({},e),{path:r}):r}};ax.default=aJ});var uy=E(Ax=>{"use strict";Object.defineProperty(Ax,"__esModule",{value:!0});var Y0e=require("path"),q0e=tJ(),J0e=iJ(),W0e=sJ(),z0e=AJ(),lJ=class{constructor(e){this._settings=e,this.errorFilter=new W0e.default(this._settings),this.entryFilter=new J0e.default(this._settings,this._getMicromatchOptions()),this.deepFilter=new q0e.default(this._settings,this._getMicromatchOptions()),this.entryTransformer=new z0e.default(this._settings)}_getRootDirectory(e){return Y0e.resolve(this._settings.cwd,e.base)}_getReaderOptions(e){let r=e.base==="."?"":e.base;return{basePath:r,pathSegmentSeparator:"/",concurrency:this._settings.concurrency,deepFilter:this.deepFilter.getFilter(r,e.positive,e.negative),entryFilter:this.entryFilter.getFilter(e.positive,e.negative),errorFilter:this.errorFilter.getFilter(),followSymbolicLinks:this._settings.followSymbolicLinks,fs:this._settings.fs,stats:this._settings.stats,throwErrorOnBrokenSymbolicLink:this._settings.throwErrorOnBrokenSymbolicLink,transform:this.entryTransformer.getTransformer()}}_getMicromatchOptions(){return{dot:this._settings.dot,matchBase:this._settings.baseNameMatch,nobrace:!this._settings.braceExpansion,nocase:!this._settings.caseSensitiveMatch,noext:!this._settings.extglob,noglobstar:!this._settings.globstar,posix:!0,strictSlashes:!1}}};Ax.default=lJ});var uJ=E(lx=>{"use strict";Object.defineProperty(lx,"__esModule",{value:!0});var V0e=tx(),_0e=uy(),cJ=class extends _0e.default{constructor(){super(...arguments);this._reader=new V0e.default(this._settings)}read(e){let r=this._getRootDirectory(e),i=this._getReaderOptions(e),n=[];return new Promise((s,o)=>{let a=this.api(r,e,i);a.once("error",o),a.on("data",l=>n.push(i.transform(l))),a.once("end",()=>s(n))})}api(e,r,i){return r.dynamic?this._reader.dynamic(e,i):this._reader.static(r.patterns,i)}};lx.default=cJ});var fJ=E(cx=>{"use strict";Object.defineProperty(cx,"__esModule",{value:!0});var X0e=require("stream"),Z0e=tx(),$0e=uy(),gJ=class extends $0e.default{constructor(){super(...arguments);this._reader=new Z0e.default(this._settings)}read(e){let r=this._getRootDirectory(e),i=this._getReaderOptions(e),n=this.api(r,e,i),s=new X0e.Readable({objectMode:!0,read:()=>{}});return n.once("error",o=>s.emit("error",o)).on("data",o=>s.emit("data",i.transform(o))).once("end",()=>s.emit("end")),s.once("close",()=>n.destroy()),s}api(e,r,i){return r.dynamic?this._reader.dynamic(e,i):this._reader.static(r.patterns,i)}};cx.default=gJ});var pJ=E(ux=>{"use strict";Object.defineProperty(ux,"__esModule",{value:!0});var eQe=Tl(),tQe=XS(),rQe=$S(),hJ=class extends rQe.default{constructor(){super(...arguments);this._walkSync=tQe.walkSync,this._statSync=eQe.statSync}dynamic(e,r){return this._walkSync(e,r)}static(e,r){let i=[];for(let n of e){let s=this._getFullEntryPath(n),o=this._getEntry(s,n,r);o===null||!r.entryFilter(o)||i.push(o)}return i}_getEntry(e,r,i){try{let n=this._getStat(e);return this._makeEntry(n,r)}catch(n){if(i.errorFilter(n))return null;throw n}}_getStat(e){return this._statSync(e,this._fsStatSettings)}};ux.default=hJ});var CJ=E(gx=>{"use strict";Object.defineProperty(gx,"__esModule",{value:!0});var iQe=pJ(),nQe=uy(),dJ=class extends nQe.default{constructor(){super(...arguments);this._reader=new iQe.default(this._settings)}read(e){let r=this._getRootDirectory(e),i=this._getReaderOptions(e);return this.api(r,e,i).map(i.transform)}api(e,r,i){return r.dynamic?this._reader.dynamic(e,i):this._reader.static(r.patterns,i)}};gx.default=dJ});var EJ=E(np=>{"use strict";Object.defineProperty(np,"__esModule",{value:!0});var Fu=require("fs"),sQe=require("os"),oQe=sQe.cpus().length;np.DEFAULT_FILE_SYSTEM_ADAPTER={lstat:Fu.lstat,lstatSync:Fu.lstatSync,stat:Fu.stat,statSync:Fu.statSync,readdir:Fu.readdir,readdirSync:Fu.readdirSync};var mJ=class{constructor(e={}){this._options=e,this.absolute=this._getValue(this._options.absolute,!1),this.baseNameMatch=this._getValue(this._options.baseNameMatch,!1),this.braceExpansion=this._getValue(this._options.braceExpansion,!0),this.caseSensitiveMatch=this._getValue(this._options.caseSensitiveMatch,!0),this.concurrency=this._getValue(this._options.concurrency,oQe),this.cwd=this._getValue(this._options.cwd,process.cwd()),this.deep=this._getValue(this._options.deep,Infinity),this.dot=this._getValue(this._options.dot,!1),this.extglob=this._getValue(this._options.extglob,!0),this.followSymbolicLinks=this._getValue(this._options.followSymbolicLinks,!0),this.fs=this._getFileSystemMethods(this._options.fs),this.globstar=this._getValue(this._options.globstar,!0),this.ignore=this._getValue(this._options.ignore,[]),this.markDirectories=this._getValue(this._options.markDirectories,!1),this.objectMode=this._getValue(this._options.objectMode,!1),this.onlyDirectories=this._getValue(this._options.onlyDirectories,!1),this.onlyFiles=this._getValue(this._options.onlyFiles,!0),this.stats=this._getValue(this._options.stats,!1),this.suppressErrors=this._getValue(this._options.suppressErrors,!1),this.throwErrorOnBrokenSymbolicLink=this._getValue(this._options.throwErrorOnBrokenSymbolicLink,!1),this.unique=this._getValue(this._options.unique,!0),this.onlyDirectories&&(this.onlyFiles=!1),this.stats&&(this.objectMode=!0)}_getValue(e,r){return e===void 0?r:e}_getFileSystemMethods(e={}){return Object.assign(Object.assign({},np.DEFAULT_FILE_SYSTEM_ADAPTER),e)}};np.default=mJ});var gy=E((Oit,IJ)=>{"use strict";var yJ=tq(),aQe=uJ(),AQe=fJ(),lQe=CJ(),fx=EJ(),Ml=ga();async function px(t,e){Nu(t);let r=hx(t,aQe.default,e),i=await Promise.all(r);return Ml.array.flatten(i)}(function(t){function e(o,a){Nu(o);let l=hx(o,lQe.default,a);return Ml.array.flatten(l)}t.sync=e;function r(o,a){Nu(o);let l=hx(o,AQe.default,a);return Ml.stream.merge(l)}t.stream=r;function i(o,a){Nu(o);let l=[].concat(o),c=new fx.default(a);return yJ.generate(l,c)}t.generateTasks=i;function n(o,a){Nu(o);let l=new fx.default(a);return Ml.pattern.isDynamicPattern(o,l)}t.isDynamicPattern=n;function s(o){return Nu(o),Ml.path.escape(o)}t.escapePath=s})(px||(px={}));function hx(t,e,r){let i=[].concat(t),n=new fx.default(r),s=yJ.generate(i,n),o=new e(n);return s.map(o.read,o)}function Nu(t){if(![].concat(t).every(i=>Ml.string.isString(i)&&!Ml.string.isEmpty(i)))throw new TypeError("Patterns must be a string (non empty) or an array of strings")}IJ.exports=px});var BJ=E(Ol=>{"use strict";var{promisify:cQe}=require("util"),wJ=require("fs");async function dx(t,e,r){if(typeof r!="string")throw new TypeError(`Expected a string, got ${typeof r}`);try{return(await cQe(wJ[t])(r))[e]()}catch(i){if(i.code==="ENOENT")return!1;throw i}}function Cx(t,e,r){if(typeof r!="string")throw new TypeError(`Expected a string, got ${typeof r}`);try{return wJ[t](r)[e]()}catch(i){if(i.code==="ENOENT")return!1;throw i}}Ol.isFile=dx.bind(null,"stat","isFile");Ol.isDirectory=dx.bind(null,"stat","isDirectory");Ol.isSymlink=dx.bind(null,"lstat","isSymbolicLink");Ol.isFileSync=Cx.bind(null,"statSync","isFile");Ol.isDirectorySync=Cx.bind(null,"statSync","isDirectory");Ol.isSymlinkSync=Cx.bind(null,"lstatSync","isSymbolicLink")});var xJ=E((Uit,mx)=>{"use strict";var Kl=require("path"),QJ=BJ(),bJ=t=>t.length>1?`{${t.join(",")}}`:t[0],vJ=(t,e)=>{let r=t[0]==="!"?t.slice(1):t;return Kl.isAbsolute(r)?r:Kl.join(e,r)},uQe=(t,e)=>Kl.extname(t)?`**/${t}`:`**/${t}.${bJ(e)}`,SJ=(t,e)=>{if(e.files&&!Array.isArray(e.files))throw new TypeError(`Expected \`files\` to be of type \`Array\` but received type \`${typeof e.files}\``);if(e.extensions&&!Array.isArray(e.extensions))throw new TypeError(`Expected \`extensions\` to be of type \`Array\` but received type \`${typeof e.extensions}\``);return e.files&&e.extensions?e.files.map(r=>Kl.posix.join(t,uQe(r,e.extensions))):e.files?e.files.map(r=>Kl.posix.join(t,`**/${r}`)):e.extensions?[Kl.posix.join(t,`**/*.${bJ(e.extensions)}`)]:[Kl.posix.join(t,"**")]};mx.exports=async(t,e)=>{if(e=P({cwd:process.cwd()},e),typeof e.cwd!="string")throw new TypeError(`Expected \`cwd\` to be of type \`string\` but received type \`${typeof e.cwd}\``);let r=await Promise.all([].concat(t).map(async i=>await QJ.isDirectory(vJ(i,e.cwd))?SJ(i,e):i));return[].concat.apply([],r)};mx.exports.sync=(t,e)=>{if(e=P({cwd:process.cwd()},e),typeof e.cwd!="string")throw new TypeError(`Expected \`cwd\` to be of type \`string\` but received type \`${typeof e.cwd}\``);let r=[].concat(t).map(i=>QJ.isDirectorySync(vJ(i,e.cwd))?SJ(i,e):i);return[].concat.apply([],r)}});var TJ=E((Hit,kJ)=>{function PJ(t){return Array.isArray(t)?t:[t]}var gQe=/^\s+$/,fQe=/^\\!/,hQe=/^\\#/,pQe=/\r?\n/g,dQe=/^\.*\/|^\.+$/,Ex="/",DJ=typeof Symbol!="undefined"?Symbol.for("node-ignore"):"node-ignore",CQe=(t,e,r)=>Object.defineProperty(t,e,{value:r}),mQe=/([0-z])-([0-z])/g,EQe=t=>t.replace(mQe,(e,r,i)=>r.charCodeAt(0)<=i.charCodeAt(0)?e:""),IQe=[[/\\?\s+$/,t=>t.indexOf("\\")===0?" ":""],[/\\\s/g,()=>" "],[/[\\^$.|*+(){]/g,t=>`\\${t}`],[/\[([^\]/]*)($|\])/g,(t,e,r)=>r==="]"?`[${EQe(e)}]`:`\\${t}`],[/(?!\\)\?/g,()=>"[^/]"],[/^\//,()=>"^"],[/\//g,()=>"\\/"],[/^\^*\\\*\\\*\\\//,()=>"^(?:.*\\/)?"],[/(?:[^*])$/,t=>/\/$/.test(t)?`${t}$`:`${t}(?=$|\\/$)`],[/^(?=[^^])/,function(){return/\/(?!$)/.test(this)?"^":"(?:^|\\/)"}],[/\\\/\\\*\\\*(?=\\\/|$)/g,(t,e,r)=>e+6`${e}[^\\/]*`],[/(\^|\\\/)?\\\*$/,(t,e)=>`${e?`${e}[^/]+`:"[^/]*"}(?=$|\\/$)`],[/\\\\\\/g,()=>"\\"]],RJ=Object.create(null),yQe=(t,e,r)=>{let i=RJ[t];if(i)return i;let n=IQe.reduce((s,o)=>s.replace(o[0],o[1].bind(t)),t);return RJ[t]=r?new RegExp(n,"i"):new RegExp(n)},Ix=t=>typeof t=="string",wQe=t=>t&&Ix(t)&&!gQe.test(t)&&t.indexOf("#")!==0,BQe=t=>t.split(pQe),FJ=class{constructor(e,r,i,n){this.origin=e,this.pattern=r,this.negative=i,this.regex=n}},QQe=(t,e)=>{let r=t,i=!1;t.indexOf("!")===0&&(i=!0,t=t.substr(1)),t=t.replace(fQe,"!").replace(hQe,"#");let n=yQe(t,i,e);return new FJ(r,t,i,n)},bQe=(t,e)=>{throw new e(t)},ha=(t,e,r)=>Ix(t)?t?ha.isNotRelative(t)?r(`path should be a \`path.relative()\`d string, but got "${e}"`,RangeError):!0:r("path must not be empty",TypeError):r(`path must be a string, but got \`${e}\``,TypeError),NJ=t=>dQe.test(t);ha.isNotRelative=NJ;ha.convert=t=>t;var LJ=class{constructor({ignorecase:e=!0}={}){this._rules=[],this._ignorecase=e,CQe(this,DJ,!0),this._initCache()}_initCache(){this._ignoreCache=Object.create(null),this._testCache=Object.create(null)}_addPattern(e){if(e&&e[DJ]){this._rules=this._rules.concat(e._rules),this._added=!0;return}if(wQe(e)){let r=QQe(e,this._ignorecase);this._added=!0,this._rules.push(r)}}add(e){return this._added=!1,PJ(Ix(e)?BQe(e):e).forEach(this._addPattern,this),this._added&&this._initCache(),this}addPattern(e){return this.add(e)}_testOne(e,r){let i=!1,n=!1;return this._rules.forEach(s=>{let{negative:o}=s;if(n===o&&i!==n||o&&!i&&!n&&!r)return;s.regex.test(e)&&(i=!o,n=o)}),{ignored:i,unignored:n}}_test(e,r,i,n){let s=e&&ha.convert(e);return ha(s,e,bQe),this._t(s,r,i,n)}_t(e,r,i,n){if(e in r)return r[e];if(n||(n=e.split(Ex)),n.pop(),!n.length)return r[e]=this._testOne(e,i);let s=this._t(n.join(Ex)+Ex,r,i,n);return r[e]=s.ignored?s:this._testOne(e,i)}ignores(e){return this._test(e,this._ignoreCache,!1).ignored}createFilter(){return e=>!this.ignores(e)}filter(e){return PJ(e).filter(this.createFilter())}test(e){return this._test(e,this._testCache,!0)}},fy=t=>new LJ(t),vQe=()=>!1,SQe=t=>ha(t&&ha.convert(t),t,vQe);fy.isPathValid=SQe;fy.default=fy;kJ.exports=fy;if(typeof process!="undefined"&&(process.env&&process.env.IGNORE_TEST_WIN32||process.platform==="win32")){let t=r=>/^\\\\\?\\/.test(r)||/["<>|\u0000-\u001F]+/u.test(r)?r:r.replace(/\\/g,"/");ha.convert=t;let e=/^[a-z]:\//i;ha.isNotRelative=r=>e.test(r)||NJ(r)}});var OJ=E((Git,MJ)=>{"use strict";MJ.exports=t=>{let e=/^\\\\\?\\/.test(t),r=/[^\u0000-\u0080]+/.test(t);return e||r?t:t.replace(/\\/g,"/")}});var qJ=E((jit,yx)=>{"use strict";var{promisify:xQe}=require("util"),KJ=require("fs"),pa=require("path"),UJ=gy(),kQe=TJ(),sp=OJ(),HJ=["**/node_modules/**","**/flow-typed/**","**/coverage/**","**/.git"],PQe=xQe(KJ.readFile),DQe=t=>e=>e.startsWith("!")?"!"+pa.posix.join(t,e.slice(1)):pa.posix.join(t,e),RQe=(t,e)=>{let r=sp(pa.relative(e.cwd,pa.dirname(e.fileName)));return t.split(/\r?\n/).filter(Boolean).filter(i=>!i.startsWith("#")).map(DQe(r))},GJ=t=>{let e=kQe();for(let r of t)e.add(RQe(r.content,{cwd:r.cwd,fileName:r.filePath}));return e},FQe=(t,e)=>{if(t=sp(t),pa.isAbsolute(e)){if(sp(e).startsWith(t))return e;throw new Error(`Path ${e} is not in cwd ${t}`)}return pa.join(t,e)},jJ=(t,e)=>r=>t.ignores(sp(pa.relative(e,FQe(e,r.path||r)))),NQe=async(t,e)=>{let r=pa.join(e,t),i=await PQe(r,"utf8");return{cwd:e,filePath:r,content:i}},LQe=(t,e)=>{let r=pa.join(e,t),i=KJ.readFileSync(r,"utf8");return{cwd:e,filePath:r,content:i}},YJ=({ignore:t=[],cwd:e=sp(process.cwd())}={})=>({ignore:t,cwd:e});yx.exports=async t=>{t=YJ(t);let e=await UJ("**/.gitignore",{ignore:HJ.concat(t.ignore),cwd:t.cwd}),r=await Promise.all(e.map(n=>NQe(n,t.cwd))),i=GJ(r);return jJ(i,t.cwd)};yx.exports.sync=t=>{t=YJ(t);let r=UJ.sync("**/.gitignore",{ignore:HJ.concat(t.ignore),cwd:t.cwd}).map(n=>LQe(n,t.cwd)),i=GJ(r);return jJ(i,t.cwd)}});var VJ=E((Yit,JJ)=>{"use strict";var{Transform:TQe}=require("stream"),wx=class extends TQe{constructor(){super({objectMode:!0})}},WJ=class extends wx{constructor(e){super();this._filter=e}_transform(e,r,i){this._filter(e)&&this.push(e),i()}},zJ=class extends wx{constructor(){super();this._pushed=new Set}_transform(e,r,i){this._pushed.has(e)||(this.push(e),this._pushed.add(e)),i()}};JJ.exports={FilterStream:WJ,UniqueStream:zJ}});var vx=E((qit,Ul)=>{"use strict";var _J=require("fs"),hy=QY(),MQe=wS(),py=gy(),dy=xJ(),Bx=qJ(),{FilterStream:OQe,UniqueStream:KQe}=VJ(),XJ=()=>!1,ZJ=t=>t[0]==="!",UQe=t=>{if(!t.every(e=>typeof e=="string"))throw new TypeError("Patterns must be a string or an array of strings")},HQe=(t={})=>{if(!t.cwd)return;let e;try{e=_J.statSync(t.cwd)}catch{return}if(!e.isDirectory())throw new Error("The `cwd` option must be a path to a directory")},GQe=t=>t.stats instanceof _J.Stats?t.path:t,Cy=(t,e)=>{t=hy([].concat(t)),UQe(t),HQe(e);let r=[];e=P({ignore:[],expandDirectories:!0},e);for(let[i,n]of t.entries()){if(ZJ(n))continue;let s=t.slice(i).filter(a=>ZJ(a)).map(a=>a.slice(1)),o=_(P({},e),{ignore:e.ignore.concat(s)});r.push({pattern:n,options:o})}return r},jQe=(t,e)=>{let r={};return t.options.cwd&&(r.cwd=t.options.cwd),Array.isArray(t.options.expandDirectories)?r=_(P({},r),{files:t.options.expandDirectories}):typeof t.options.expandDirectories=="object"&&(r=P(P({},r),t.options.expandDirectories)),e(t.pattern,r)},Qx=(t,e)=>t.options.expandDirectories?jQe(t,e):[t.pattern],$J=t=>t&&t.gitignore?Bx.sync({cwd:t.cwd,ignore:t.ignore}):XJ,bx=t=>e=>{let{options:r}=t;return r.ignore&&Array.isArray(r.ignore)&&r.expandDirectories&&(r.ignore=dy.sync(r.ignore)),{pattern:e,options:r}};Ul.exports=async(t,e)=>{let r=Cy(t,e),i=async()=>e&&e.gitignore?Bx({cwd:e.cwd,ignore:e.ignore}):XJ,n=async()=>{let l=await Promise.all(r.map(async c=>{let u=await Qx(c,dy);return Promise.all(u.map(bx(c)))}));return hy(...l)},[s,o]=await Promise.all([i(),n()]),a=await Promise.all(o.map(l=>py(l.pattern,l.options)));return hy(...a).filter(l=>!s(GQe(l)))};Ul.exports.sync=(t,e)=>{let r=Cy(t,e),i=[];for(let o of r){let a=Qx(o,dy.sync).map(bx(o));i.push(...a)}let n=$J(e),s=[];for(let o of i)s=hy(s,py.sync(o.pattern,o.options));return s.filter(o=>!n(o))};Ul.exports.stream=(t,e)=>{let r=Cy(t,e),i=[];for(let a of r){let l=Qx(a,dy.sync).map(bx(a));i.push(...l)}let n=$J(e),s=new OQe(a=>!n(a)),o=new KQe;return MQe(i.map(a=>py.stream(a.pattern,a.options))).pipe(s).pipe(o)};Ul.exports.generateGlobTasks=Cy;Ul.exports.hasMagic=(t,e)=>[].concat(t).some(r=>py.isDynamicPattern(r,e));Ul.exports.gitignore=Bx});var Ca=E((da,Dy)=>{"use strict";Object.defineProperty(da,"__esModule",{value:!0});var A3=["Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array","BigInt64Array","BigUint64Array"];function ibe(t){return A3.includes(t)}var nbe=["Function","Generator","AsyncGenerator","GeneratorFunction","AsyncGeneratorFunction","AsyncFunction","Observable","Array","Buffer","Object","RegExp","Date","Error","Map","Set","WeakMap","WeakSet","ArrayBuffer","SharedArrayBuffer","DataView","Promise","URL","FormData","URLSearchParams","HTMLElement",...A3];function sbe(t){return nbe.includes(t)}var obe=["null","undefined","string","number","bigint","boolean","symbol"];function abe(t){return obe.includes(t)}function Hu(t){return e=>typeof e===t}var{toString:l3}=Object.prototype,mp=t=>{let e=l3.call(t).slice(8,-1);if(/HTML\w+Element/.test(e)&&j.domElement(t))return"HTMLElement";if(sbe(e))return e},er=t=>e=>mp(e)===t;function j(t){if(t===null)return"null";switch(typeof t){case"undefined":return"undefined";case"string":return"string";case"number":return"number";case"boolean":return"boolean";case"function":return"Function";case"bigint":return"bigint";case"symbol":return"symbol";default:}if(j.observable(t))return"Observable";if(j.array(t))return"Array";if(j.buffer(t))return"Buffer";let e=mp(t);if(e)return e;if(t instanceof String||t instanceof Boolean||t instanceof Number)throw new TypeError("Please don't use object wrappers for primitive types");return"Object"}j.undefined=Hu("undefined");j.string=Hu("string");var Abe=Hu("number");j.number=t=>Abe(t)&&!j.nan(t);j.bigint=Hu("bigint");j.function_=Hu("function");j.null_=t=>t===null;j.class_=t=>j.function_(t)&&t.toString().startsWith("class ");j.boolean=t=>t===!0||t===!1;j.symbol=Hu("symbol");j.numericString=t=>j.string(t)&&!j.emptyStringOrWhitespace(t)&&!Number.isNaN(Number(t));j.array=(t,e)=>Array.isArray(t)?j.function_(e)?t.every(e):!0:!1;j.buffer=t=>{var e,r,i,n;return(n=(i=(r=(e=t)===null||e===void 0?void 0:e.constructor)===null||r===void 0?void 0:r.isBuffer)===null||i===void 0?void 0:i.call(r,t))!==null&&n!==void 0?n:!1};j.nullOrUndefined=t=>j.null_(t)||j.undefined(t);j.object=t=>!j.null_(t)&&(typeof t=="object"||j.function_(t));j.iterable=t=>{var e;return j.function_((e=t)===null||e===void 0?void 0:e[Symbol.iterator])};j.asyncIterable=t=>{var e;return j.function_((e=t)===null||e===void 0?void 0:e[Symbol.asyncIterator])};j.generator=t=>j.iterable(t)&&j.function_(t.next)&&j.function_(t.throw);j.asyncGenerator=t=>j.asyncIterable(t)&&j.function_(t.next)&&j.function_(t.throw);j.nativePromise=t=>er("Promise")(t);var lbe=t=>{var e,r;return j.function_((e=t)===null||e===void 0?void 0:e.then)&&j.function_((r=t)===null||r===void 0?void 0:r.catch)};j.promise=t=>j.nativePromise(t)||lbe(t);j.generatorFunction=er("GeneratorFunction");j.asyncGeneratorFunction=t=>mp(t)==="AsyncGeneratorFunction";j.asyncFunction=t=>mp(t)==="AsyncFunction";j.boundFunction=t=>j.function_(t)&&!t.hasOwnProperty("prototype");j.regExp=er("RegExp");j.date=er("Date");j.error=er("Error");j.map=t=>er("Map")(t);j.set=t=>er("Set")(t);j.weakMap=t=>er("WeakMap")(t);j.weakSet=t=>er("WeakSet")(t);j.int8Array=er("Int8Array");j.uint8Array=er("Uint8Array");j.uint8ClampedArray=er("Uint8ClampedArray");j.int16Array=er("Int16Array");j.uint16Array=er("Uint16Array");j.int32Array=er("Int32Array");j.uint32Array=er("Uint32Array");j.float32Array=er("Float32Array");j.float64Array=er("Float64Array");j.bigInt64Array=er("BigInt64Array");j.bigUint64Array=er("BigUint64Array");j.arrayBuffer=er("ArrayBuffer");j.sharedArrayBuffer=er("SharedArrayBuffer");j.dataView=er("DataView");j.directInstanceOf=(t,e)=>Object.getPrototypeOf(t)===e.prototype;j.urlInstance=t=>er("URL")(t);j.urlString=t=>{if(!j.string(t))return!1;try{return new URL(t),!0}catch(e){return!1}};j.truthy=t=>Boolean(t);j.falsy=t=>!t;j.nan=t=>Number.isNaN(t);j.primitive=t=>j.null_(t)||abe(typeof t);j.integer=t=>Number.isInteger(t);j.safeInteger=t=>Number.isSafeInteger(t);j.plainObject=t=>{if(l3.call(t)!=="[object Object]")return!1;let e=Object.getPrototypeOf(t);return e===null||e===Object.getPrototypeOf({})};j.typedArray=t=>ibe(mp(t));var cbe=t=>j.safeInteger(t)&&t>=0;j.arrayLike=t=>!j.nullOrUndefined(t)&&!j.function_(t)&&cbe(t.length);j.inRange=(t,e)=>{if(j.number(e))return t>=Math.min(0,e)&&t<=Math.max(e,0);if(j.array(e)&&e.length===2)return t>=Math.min(...e)&&t<=Math.max(...e);throw new TypeError(`Invalid range: ${JSON.stringify(e)}`)};var ube=1,gbe=["innerHTML","ownerDocument","style","attributes","nodeValue"];j.domElement=t=>j.object(t)&&t.nodeType===ube&&j.string(t.nodeName)&&!j.plainObject(t)&&gbe.every(e=>e in t);j.observable=t=>{var e,r,i,n;return t?t===((r=(e=t)[Symbol.observable])===null||r===void 0?void 0:r.call(e))||t===((n=(i=t)["@@observable"])===null||n===void 0?void 0:n.call(i)):!1};j.nodeStream=t=>j.object(t)&&j.function_(t.pipe)&&!j.observable(t);j.infinite=t=>t===Infinity||t===-Infinity;var c3=t=>e=>j.integer(e)&&Math.abs(e%2)===t;j.evenInteger=c3(0);j.oddInteger=c3(1);j.emptyArray=t=>j.array(t)&&t.length===0;j.nonEmptyArray=t=>j.array(t)&&t.length>0;j.emptyString=t=>j.string(t)&&t.length===0;j.nonEmptyString=t=>j.string(t)&&t.length>0;var fbe=t=>j.string(t)&&!/\S/.test(t);j.emptyStringOrWhitespace=t=>j.emptyString(t)||fbe(t);j.emptyObject=t=>j.object(t)&&!j.map(t)&&!j.set(t)&&Object.keys(t).length===0;j.nonEmptyObject=t=>j.object(t)&&!j.map(t)&&!j.set(t)&&Object.keys(t).length>0;j.emptySet=t=>j.set(t)&&t.size===0;j.nonEmptySet=t=>j.set(t)&&t.size>0;j.emptyMap=t=>j.map(t)&&t.size===0;j.nonEmptyMap=t=>j.map(t)&&t.size>0;j.propertyKey=t=>j.any([j.string,j.number,j.symbol],t);j.formData=t=>er("FormData")(t);j.urlSearchParams=t=>er("URLSearchParams")(t);var u3=(t,e,r)=>{if(!j.function_(e))throw new TypeError(`Invalid predicate: ${JSON.stringify(e)}`);if(r.length===0)throw new TypeError("Invalid number of values");return t.call(r,e)};j.any=(t,...e)=>(j.array(t)?t:[t]).some(i=>u3(Array.prototype.some,i,e));j.all=(t,...e)=>u3(Array.prototype.every,t,e);var Te=(t,e,r,i={})=>{if(!t){let{multipleValues:n}=i,s=n?`received values of types ${[...new Set(r.map(o=>`\`${j(o)}\``))].join(", ")}`:`received value of type \`${j(r)}\``;throw new TypeError(`Expected value which is \`${e}\`, ${s}.`)}};da.assert={undefined:t=>Te(j.undefined(t),"undefined",t),string:t=>Te(j.string(t),"string",t),number:t=>Te(j.number(t),"number",t),bigint:t=>Te(j.bigint(t),"bigint",t),function_:t=>Te(j.function_(t),"Function",t),null_:t=>Te(j.null_(t),"null",t),class_:t=>Te(j.class_(t),"Class",t),boolean:t=>Te(j.boolean(t),"boolean",t),symbol:t=>Te(j.symbol(t),"symbol",t),numericString:t=>Te(j.numericString(t),"string with a number",t),array:(t,e)=>{Te(j.array(t),"Array",t),e&&t.forEach(e)},buffer:t=>Te(j.buffer(t),"Buffer",t),nullOrUndefined:t=>Te(j.nullOrUndefined(t),"null or undefined",t),object:t=>Te(j.object(t),"Object",t),iterable:t=>Te(j.iterable(t),"Iterable",t),asyncIterable:t=>Te(j.asyncIterable(t),"AsyncIterable",t),generator:t=>Te(j.generator(t),"Generator",t),asyncGenerator:t=>Te(j.asyncGenerator(t),"AsyncGenerator",t),nativePromise:t=>Te(j.nativePromise(t),"native Promise",t),promise:t=>Te(j.promise(t),"Promise",t),generatorFunction:t=>Te(j.generatorFunction(t),"GeneratorFunction",t),asyncGeneratorFunction:t=>Te(j.asyncGeneratorFunction(t),"AsyncGeneratorFunction",t),asyncFunction:t=>Te(j.asyncFunction(t),"AsyncFunction",t),boundFunction:t=>Te(j.boundFunction(t),"Function",t),regExp:t=>Te(j.regExp(t),"RegExp",t),date:t=>Te(j.date(t),"Date",t),error:t=>Te(j.error(t),"Error",t),map:t=>Te(j.map(t),"Map",t),set:t=>Te(j.set(t),"Set",t),weakMap:t=>Te(j.weakMap(t),"WeakMap",t),weakSet:t=>Te(j.weakSet(t),"WeakSet",t),int8Array:t=>Te(j.int8Array(t),"Int8Array",t),uint8Array:t=>Te(j.uint8Array(t),"Uint8Array",t),uint8ClampedArray:t=>Te(j.uint8ClampedArray(t),"Uint8ClampedArray",t),int16Array:t=>Te(j.int16Array(t),"Int16Array",t),uint16Array:t=>Te(j.uint16Array(t),"Uint16Array",t),int32Array:t=>Te(j.int32Array(t),"Int32Array",t),uint32Array:t=>Te(j.uint32Array(t),"Uint32Array",t),float32Array:t=>Te(j.float32Array(t),"Float32Array",t),float64Array:t=>Te(j.float64Array(t),"Float64Array",t),bigInt64Array:t=>Te(j.bigInt64Array(t),"BigInt64Array",t),bigUint64Array:t=>Te(j.bigUint64Array(t),"BigUint64Array",t),arrayBuffer:t=>Te(j.arrayBuffer(t),"ArrayBuffer",t),sharedArrayBuffer:t=>Te(j.sharedArrayBuffer(t),"SharedArrayBuffer",t),dataView:t=>Te(j.dataView(t),"DataView",t),urlInstance:t=>Te(j.urlInstance(t),"URL",t),urlString:t=>Te(j.urlString(t),"string with a URL",t),truthy:t=>Te(j.truthy(t),"truthy",t),falsy:t=>Te(j.falsy(t),"falsy",t),nan:t=>Te(j.nan(t),"NaN",t),primitive:t=>Te(j.primitive(t),"primitive",t),integer:t=>Te(j.integer(t),"integer",t),safeInteger:t=>Te(j.safeInteger(t),"integer",t),plainObject:t=>Te(j.plainObject(t),"plain object",t),typedArray:t=>Te(j.typedArray(t),"TypedArray",t),arrayLike:t=>Te(j.arrayLike(t),"array-like",t),domElement:t=>Te(j.domElement(t),"HTMLElement",t),observable:t=>Te(j.observable(t),"Observable",t),nodeStream:t=>Te(j.nodeStream(t),"Node.js Stream",t),infinite:t=>Te(j.infinite(t),"infinite number",t),emptyArray:t=>Te(j.emptyArray(t),"empty array",t),nonEmptyArray:t=>Te(j.nonEmptyArray(t),"non-empty array",t),emptyString:t=>Te(j.emptyString(t),"empty string",t),nonEmptyString:t=>Te(j.nonEmptyString(t),"non-empty string",t),emptyStringOrWhitespace:t=>Te(j.emptyStringOrWhitespace(t),"empty string or whitespace",t),emptyObject:t=>Te(j.emptyObject(t),"empty object",t),nonEmptyObject:t=>Te(j.nonEmptyObject(t),"non-empty object",t),emptySet:t=>Te(j.emptySet(t),"empty set",t),nonEmptySet:t=>Te(j.nonEmptySet(t),"non-empty set",t),emptyMap:t=>Te(j.emptyMap(t),"empty map",t),nonEmptyMap:t=>Te(j.nonEmptyMap(t),"non-empty map",t),propertyKey:t=>Te(j.propertyKey(t),"PropertyKey",t),formData:t=>Te(j.formData(t),"FormData",t),urlSearchParams:t=>Te(j.urlSearchParams(t),"URLSearchParams",t),evenInteger:t=>Te(j.evenInteger(t),"even integer",t),oddInteger:t=>Te(j.oddInteger(t),"odd integer",t),directInstanceOf:(t,e)=>Te(j.directInstanceOf(t,e),"T",t),inRange:(t,e)=>Te(j.inRange(t,e),"in range",t),any:(t,...e)=>Te(j.any(t,...e),"predicate returns truthy for any value",e,{multipleValues:!0}),all:(t,...e)=>Te(j.all(t,...e),"predicate returns truthy for all values",e,{multipleValues:!0})};Object.defineProperties(j,{class:{value:j.class_},function:{value:j.function_},null:{value:j.null_}});Object.defineProperties(da.assert,{class:{value:da.assert.class_},function:{value:da.assert.function_},null:{value:da.assert.null_}});da.default=j;Dy.exports=j;Dy.exports.default=j;Dy.exports.assert=da.assert});var g3=E((gnt,Ux)=>{"use strict";var Hx=class extends Error{constructor(e){super(e||"Promise was canceled");this.name="CancelError"}get isCanceled(){return!0}},Ep=class{static fn(e){return(...r)=>new Ep((i,n,s)=>{r.push(s),e(...r).then(i,n)})}constructor(e){this._cancelHandlers=[],this._isPending=!0,this._isCanceled=!1,this._rejectOnCancel=!0,this._promise=new Promise((r,i)=>{this._reject=i;let n=a=>{this._isPending=!1,r(a)},s=a=>{this._isPending=!1,i(a)},o=a=>{if(!this._isPending)throw new Error("The `onCancel` handler was attached after the promise settled.");this._cancelHandlers.push(a)};return Object.defineProperties(o,{shouldReject:{get:()=>this._rejectOnCancel,set:a=>{this._rejectOnCancel=a}}}),e(n,s,o)})}then(e,r){return this._promise.then(e,r)}catch(e){return this._promise.catch(e)}finally(e){return this._promise.finally(e)}cancel(e){if(!(!this._isPending||this._isCanceled)){if(this._cancelHandlers.length>0)try{for(let r of this._cancelHandlers)r()}catch(r){this._reject(r)}this._isCanceled=!0,this._rejectOnCancel&&this._reject(new Hx(e))}}get isCanceled(){return this._isCanceled}};Object.setPrototypeOf(Ep.prototype,Promise.prototype);Ux.exports=Ep;Ux.exports.CancelError=Hx});var f3=E((Gx,jx)=>{"use strict";Object.defineProperty(Gx,"__esModule",{value:!0});var hbe=require("tls"),Yx=(t,e)=>{let r;typeof e=="function"?r={connect:e}:r=e;let i=typeof r.connect=="function",n=typeof r.secureConnect=="function",s=typeof r.close=="function",o=()=>{i&&r.connect(),t instanceof hbe.TLSSocket&&n&&(t.authorized?r.secureConnect():t.authorizationError||t.once("secureConnect",r.secureConnect)),s&&t.once("close",r.close)};t.writable&&!t.connecting?o():t.connecting?t.once("connect",o):t.destroyed&&s&&r.close(t._hadError)};Gx.default=Yx;jx.exports=Yx;jx.exports.default=Yx});var h3=E((qx,Jx)=>{"use strict";Object.defineProperty(qx,"__esModule",{value:!0});var pbe=f3(),dbe=Number(process.versions.node.split(".")[0]),Wx=t=>{let e={start:Date.now(),socket:void 0,lookup:void 0,connect:void 0,secureConnect:void 0,upload:void 0,response:void 0,end:void 0,error:void 0,abort:void 0,phases:{wait:void 0,dns:void 0,tcp:void 0,tls:void 0,request:void 0,firstByte:void 0,download:void 0,total:void 0}};t.timings=e;let r=o=>{let a=o.emit.bind(o);o.emit=(l,...c)=>(l==="error"&&(e.error=Date.now(),e.phases.total=e.error-e.start,o.emit=a),a(l,...c))};r(t),t.prependOnceListener("abort",()=>{e.abort=Date.now(),(!e.response||dbe>=13)&&(e.phases.total=Date.now()-e.start)});let i=o=>{e.socket=Date.now(),e.phases.wait=e.socket-e.start;let a=()=>{e.lookup=Date.now(),e.phases.dns=e.lookup-e.socket};o.prependOnceListener("lookup",a),pbe.default(o,{connect:()=>{e.connect=Date.now(),e.lookup===void 0&&(o.removeListener("lookup",a),e.lookup=e.connect,e.phases.dns=e.lookup-e.socket),e.phases.tcp=e.connect-e.lookup},secureConnect:()=>{e.secureConnect=Date.now(),e.phases.tls=e.secureConnect-e.connect}})};t.socket?i(t.socket):t.prependOnceListener("socket",i);let n=()=>{var o;e.upload=Date.now(),e.phases.request=e.upload-(o=e.secureConnect,o!=null?o:e.connect)};return(()=>typeof t.writableFinished=="boolean"?t.writableFinished:t.finished&&t.outputSize===0&&(!t.socket||t.socket.writableLength===0))()?n():t.prependOnceListener("finish",n),t.prependOnceListener("response",o=>{e.response=Date.now(),e.phases.firstByte=e.response-e.upload,o.timings=e,r(o),o.prependOnceListener("end",()=>{e.end=Date.now(),e.phases.download=e.end-e.response,e.phases.total=e.end-e.start})}),e};qx.default=Wx;Jx.exports=Wx;Jx.exports.default=Wx});var y3=E((fnt,zx)=>{"use strict";var{V4MAPPED:Cbe,ADDRCONFIG:mbe,ALL:p3,promises:{Resolver:d3},lookup:Ebe}=require("dns"),{promisify:Vx}=require("util"),Ibe=require("os"),Gu=Symbol("cacheableLookupCreateConnection"),_x=Symbol("cacheableLookupInstance"),C3=Symbol("expires"),ybe=typeof p3=="number",m3=t=>{if(!(t&&typeof t.createConnection=="function"))throw new Error("Expected an Agent instance as the first argument")},wbe=t=>{for(let e of t)e.family!==6&&(e.address=`::ffff:${e.address}`,e.family=6)},E3=()=>{let t=!1,e=!1;for(let r of Object.values(Ibe.networkInterfaces()))for(let i of r)if(!i.internal&&(i.family==="IPv6"?e=!0:t=!0,t&&e))return{has4:t,has6:e};return{has4:t,has6:e}},Bbe=t=>Symbol.iterator in t,I3={ttl:!0},Qbe={all:!0},Xx=class{constructor({cache:e=new Map,maxTtl:r=Infinity,fallbackDuration:i=3600,errorTtl:n=.15,resolver:s=new d3,lookup:o=Ebe}={}){if(this.maxTtl=r,this.errorTtl=n,this._cache=e,this._resolver=s,this._dnsLookup=Vx(o),this._resolver instanceof d3?(this._resolve4=this._resolver.resolve4.bind(this._resolver),this._resolve6=this._resolver.resolve6.bind(this._resolver)):(this._resolve4=Vx(this._resolver.resolve4.bind(this._resolver)),this._resolve6=Vx(this._resolver.resolve6.bind(this._resolver))),this._iface=E3(),this._pending={},this._nextRemovalTime=!1,this._hostnamesToFallback=new Set,i<1)this._fallback=!1;else{this._fallback=!0;let a=setInterval(()=>{this._hostnamesToFallback.clear()},i*1e3);a.unref&&a.unref()}this.lookup=this.lookup.bind(this),this.lookupAsync=this.lookupAsync.bind(this)}set servers(e){this.clear(),this._resolver.setServers(e)}get servers(){return this._resolver.getServers()}lookup(e,r,i){if(typeof r=="function"?(i=r,r={}):typeof r=="number"&&(r={family:r}),!i)throw new Error("Callback must be a function.");this.lookupAsync(e,r).then(n=>{r.all?i(null,n):i(null,n.address,n.family,n.expires,n.ttl)},i)}async lookupAsync(e,r={}){typeof r=="number"&&(r={family:r});let i=await this.query(e);if(r.family===6){let n=i.filter(s=>s.family===6);r.hints&Cbe&&(ybe&&r.hints&p3||n.length===0)?wbe(i):i=n}else r.family===4&&(i=i.filter(n=>n.family===4));if(r.hints&mbe){let{_iface:n}=this;i=i.filter(s=>s.family===6?n.has6:n.has4)}if(i.length===0){let n=new Error(`cacheableLookup ENOTFOUND ${e}`);throw n.code="ENOTFOUND",n.hostname=e,n}return r.all?i:i[0]}async query(e){let r=await this._cache.get(e);if(!r){let i=this._pending[e];if(i)r=await i;else{let n=this.queryAndCache(e);this._pending[e]=n,r=await n}}return r=r.map(i=>P({},i)),r}async _resolve(e){let r=async c=>{try{return await c}catch(u){if(u.code==="ENODATA"||u.code==="ENOTFOUND")return[];throw u}},[i,n]=await Promise.all([this._resolve4(e,I3),this._resolve6(e,I3)].map(c=>r(c))),s=0,o=0,a=0,l=Date.now();for(let c of i)c.family=4,c.expires=l+c.ttl*1e3,s=Math.max(s,c.ttl);for(let c of n)c.family=6,c.expires=l+c.ttl*1e3,o=Math.max(o,c.ttl);return i.length>0?n.length>0?a=Math.min(s,o):a=s:a=o,{entries:[...i,...n],cacheTtl:a}}async _lookup(e){try{return{entries:await this._dnsLookup(e,{all:!0}),cacheTtl:0}}catch(r){return{entries:[],cacheTtl:0}}}async _set(e,r,i){if(this.maxTtl>0&&i>0){i=Math.min(i,this.maxTtl)*1e3,r[C3]=Date.now()+i;try{await this._cache.set(e,r,i)}catch(n){this.lookupAsync=async()=>{let s=new Error("Cache Error. Please recreate the CacheableLookup instance.");throw s.cause=n,s}}Bbe(this._cache)&&this._tick(i)}}async queryAndCache(e){if(this._hostnamesToFallback.has(e))return this._dnsLookup(e,Qbe);try{let r=await this._resolve(e);r.entries.length===0&&this._fallback&&(r=await this._lookup(e),r.entries.length!==0&&this._hostnamesToFallback.add(e));let i=r.entries.length===0?this.errorTtl:r.cacheTtl;return await this._set(e,r.entries,i),delete this._pending[e],r.entries}catch(r){throw delete this._pending[e],r}}_tick(e){let r=this._nextRemovalTime;(!r||e{this._nextRemovalTime=!1;let i=Infinity,n=Date.now();for(let[s,o]of this._cache){let a=o[C3];n>=a?this._cache.delete(s):a("lookup"in r||(r.lookup=this.lookup),e[Gu](r,i))}uninstall(e){if(m3(e),e[Gu]){if(e[_x]!==this)throw new Error("The agent is not owned by this CacheableLookup instance");e.createConnection=e[Gu],delete e[Gu],delete e[_x]}}updateInterfaceInfo(){let{_iface:e}=this;this._iface=E3(),(e.has4&&!this._iface.has4||e.has6&&!this._iface.has6)&&this._cache.clear()}clear(e){if(e){this._cache.delete(e);return}this._cache.clear()}};zx.exports=Xx;zx.exports.default=Xx});var Q3=E((hnt,Zx)=>{"use strict";var bbe=typeof URL=="undefined"?require("url").URL:URL,vbe="text/plain",Sbe="us-ascii",w3=(t,e)=>e.some(r=>r instanceof RegExp?r.test(t):r===t),xbe=(t,{stripHash:e})=>{let r=t.match(/^data:([^,]*?),([^#]*?)(?:#(.*))?$/);if(!r)throw new Error(`Invalid URL: ${t}`);let i=r[1].split(";"),n=r[2],s=e?"":r[3],o=!1;i[i.length-1]==="base64"&&(i.pop(),o=!0);let a=(i.shift()||"").toLowerCase(),c=[...i.map(u=>{let[g,f=""]=u.split("=").map(h=>h.trim());return g==="charset"&&(f=f.toLowerCase(),f===Sbe)?"":`${g}${f?`=${f}`:""}`}).filter(Boolean)];return o&&c.push("base64"),(c.length!==0||a&&a!==vbe)&&c.unshift(a),`data:${c.join(";")},${o?n.trim():n}${s?`#${s}`:""}`},B3=(t,e)=>{if(e=P({defaultProtocol:"http:",normalizeProtocol:!0,forceHttp:!1,forceHttps:!1,stripAuthentication:!0,stripHash:!1,stripWWW:!0,removeQueryParameters:[/^utm_\w+/i],removeTrailingSlash:!0,removeDirectoryIndex:!1,sortQueryParameters:!0},e),Reflect.has(e,"normalizeHttps"))throw new Error("options.normalizeHttps is renamed to options.forceHttp");if(Reflect.has(e,"normalizeHttp"))throw new Error("options.normalizeHttp is renamed to options.forceHttps");if(Reflect.has(e,"stripFragment"))throw new Error("options.stripFragment is renamed to options.stripHash");if(t=t.trim(),/^data:/i.test(t))return xbe(t,e);let r=t.startsWith("//");!r&&/^\.*\//.test(t)||(t=t.replace(/^(?!(?:\w+:)?\/\/)|^\/\//,e.defaultProtocol));let n=new bbe(t);if(e.forceHttp&&e.forceHttps)throw new Error("The `forceHttp` and `forceHttps` options cannot be used together");if(e.forceHttp&&n.protocol==="https:"&&(n.protocol="http:"),e.forceHttps&&n.protocol==="http:"&&(n.protocol="https:"),e.stripAuthentication&&(n.username="",n.password=""),e.stripHash&&(n.hash=""),n.pathname&&(n.pathname=n.pathname.replace(/((?!:).|^)\/{2,}/g,(s,o)=>/^(?!\/)/g.test(o)?`${o}/`:"/")),n.pathname&&(n.pathname=decodeURI(n.pathname)),e.removeDirectoryIndex===!0&&(e.removeDirectoryIndex=[/^index\.[a-z]+$/]),Array.isArray(e.removeDirectoryIndex)&&e.removeDirectoryIndex.length>0){let s=n.pathname.split("/"),o=s[s.length-1];w3(o,e.removeDirectoryIndex)&&(s=s.slice(0,s.length-1),n.pathname=s.slice(1).join("/")+"/")}if(n.hostname&&(n.hostname=n.hostname.replace(/\.$/,""),e.stripWWW&&/^www\.([a-z\-\d]{2,63})\.([a-z.]{2,5})$/.test(n.hostname)&&(n.hostname=n.hostname.replace(/^www\./,""))),Array.isArray(e.removeQueryParameters))for(let s of[...n.searchParams.keys()])w3(s,e.removeQueryParameters)&&n.searchParams.delete(s);return e.sortQueryParameters&&n.searchParams.sort(),e.removeTrailingSlash&&(n.pathname=n.pathname.replace(/\/$/,"")),t=n.toString(),(e.removeTrailingSlash||n.pathname==="/")&&n.hash===""&&(t=t.replace(/\/$/,"")),r&&!e.normalizeProtocol&&(t=t.replace(/^http:\/\//,"//")),e.stripProtocol&&(t=t.replace(/^(?:https?:)?\/\//,"")),t};Zx.exports=B3;Zx.exports.default=B3});var S3=E((pnt,b3)=>{b3.exports=v3;function v3(t,e){if(t&&e)return v3(t)(e);if(typeof t!="function")throw new TypeError("need wrapper function");return Object.keys(t).forEach(function(i){r[i]=t[i]}),r;function r(){for(var i=new Array(arguments.length),n=0;n{var x3=S3();$x.exports=x3(Ry);$x.exports.strict=x3(k3);Ry.proto=Ry(function(){Object.defineProperty(Function.prototype,"once",{value:function(){return Ry(this)},configurable:!0}),Object.defineProperty(Function.prototype,"onceStrict",{value:function(){return k3(this)},configurable:!0})});function Ry(t){var e=function(){return e.called?e.value:(e.called=!0,e.value=t.apply(this,arguments))};return e.called=!1,e}function k3(t){var e=function(){if(e.called)throw new Error(e.onceError);return e.called=!0,e.value=t.apply(this,arguments)},r=t.name||"Function wrapped with `once`";return e.onceError=r+" shouldn't be called more than once",e.called=!1,e}});var tk=E((Cnt,P3)=>{var kbe=ek(),Pbe=function(){},Dbe=function(t){return t.setHeader&&typeof t.abort=="function"},Rbe=function(t){return t.stdio&&Array.isArray(t.stdio)&&t.stdio.length===3},D3=function(t,e,r){if(typeof e=="function")return D3(t,null,e);e||(e={}),r=kbe(r||Pbe);var i=t._writableState,n=t._readableState,s=e.readable||e.readable!==!1&&t.readable,o=e.writable||e.writable!==!1&&t.writable,a=function(){t.writable||l()},l=function(){o=!1,s||r.call(t)},c=function(){s=!1,o||r.call(t)},u=function(p){r.call(t,p?new Error("exited with error code: "+p):null)},g=function(p){r.call(t,p)},f=function(){if(s&&!(n&&n.ended))return r.call(t,new Error("premature close"));if(o&&!(i&&i.ended))return r.call(t,new Error("premature close"))},h=function(){t.req.on("finish",l)};return Dbe(t)?(t.on("complete",l),t.on("abort",f),t.req?h():t.on("request",h)):o&&!i&&(t.on("end",a),t.on("close",a)),Rbe(t)&&t.on("exit",u),t.on("end",c),t.on("finish",l),e.error!==!1&&t.on("error",g),t.on("close",f),function(){t.removeListener("complete",l),t.removeListener("abort",f),t.removeListener("request",h),t.req&&t.req.removeListener("finish",l),t.removeListener("end",a),t.removeListener("close",a),t.removeListener("finish",l),t.removeListener("exit",u),t.removeListener("end",c),t.removeListener("error",g),t.removeListener("close",f)}};P3.exports=D3});var N3=E((mnt,R3)=>{var Fbe=ek(),Nbe=tk(),rk=require("fs"),Ip=function(){},Lbe=/^v?\.0/.test(process.version),Fy=function(t){return typeof t=="function"},Tbe=function(t){return!Lbe||!rk?!1:(t instanceof(rk.ReadStream||Ip)||t instanceof(rk.WriteStream||Ip))&&Fy(t.close)},Mbe=function(t){return t.setHeader&&Fy(t.abort)},Obe=function(t,e,r,i){i=Fbe(i);var n=!1;t.on("close",function(){n=!0}),Nbe(t,{readable:e,writable:r},function(o){if(o)return i(o);n=!0,i()});var s=!1;return function(o){if(!n&&!s){if(s=!0,Tbe(t))return t.close(Ip);if(Mbe(t))return t.abort();if(Fy(t.destroy))return t.destroy();i(o||new Error("stream was destroyed"))}}},F3=function(t){t()},Kbe=function(t,e){return t.pipe(e)},Ube=function(){var t=Array.prototype.slice.call(arguments),e=Fy(t[t.length-1]||Ip)&&t.pop()||Ip;if(Array.isArray(t[0])&&(t=t[0]),t.length<2)throw new Error("pump requires two streams per minimum");var r,i=t.map(function(n,s){var o=s0;return Obe(n,o,a,function(l){r||(r=l),l&&i.forEach(F3),!o&&(i.forEach(F3),e(r))})});return t.reduce(Kbe)};R3.exports=Ube});var T3=E((Ent,L3)=>{"use strict";var{PassThrough:Hbe}=require("stream");L3.exports=t=>{t=P({},t);let{array:e}=t,{encoding:r}=t,i=r==="buffer",n=!1;e?n=!(r||i):r=r||"utf8",i&&(r=null);let s=new Hbe({objectMode:n});r&&s.setEncoding(r);let o=0,a=[];return s.on("data",l=>{a.push(l),n?o=a.length:o+=l.length}),s.getBufferedValue=()=>e?a:i?Buffer.concat(a,o):a.join(""),s.getBufferedLength=()=>o,s}});var M3=E((Int,ju)=>{"use strict";var Gbe=N3(),jbe=T3(),ik=class extends Error{constructor(){super("maxBuffer exceeded");this.name="MaxBufferError"}};async function Ny(t,e){if(!t)return Promise.reject(new Error("Expected a stream"));e=P({maxBuffer:Infinity},e);let{maxBuffer:r}=e,i;return await new Promise((n,s)=>{let o=a=>{a&&(a.bufferedData=i.getBufferedValue()),s(a)};i=Gbe(t,jbe(e),a=>{if(a){o(a);return}n()}),i.on("data",()=>{i.getBufferedLength()>r&&o(new ik)})}),i.getBufferedValue()}ju.exports=Ny;ju.exports.default=Ny;ju.exports.buffer=(t,e)=>Ny(t,_(P({},e),{encoding:"buffer"}));ju.exports.array=(t,e)=>Ny(t,_(P({},e),{array:!0}));ju.exports.MaxBufferError=ik});var K3=E((wnt,O3)=>{"use strict";var Ybe=[200,203,204,206,300,301,404,405,410,414,501],qbe=[200,203,204,300,301,302,303,307,308,404,405,410,414,501],Jbe={date:!0,connection:!0,"keep-alive":!0,"proxy-authenticate":!0,"proxy-authorization":!0,te:!0,trailer:!0,"transfer-encoding":!0,upgrade:!0},Wbe={"content-length":!0,"content-encoding":!0,"transfer-encoding":!0,"content-range":!0};function nk(t){let e={};if(!t)return e;let r=t.trim().split(/\s*,\s*/);for(let i of r){let[n,s]=i.split(/\s*=\s*/,2);e[n]=s===void 0?!0:s.replace(/^"|"$/g,"")}return e}function zbe(t){let e=[];for(let r in t){let i=t[r];e.push(i===!0?r:r+"="+i)}if(!!e.length)return e.join(", ")}O3.exports=class{constructor(e,r,{shared:i,cacheHeuristic:n,immutableMinTimeToLive:s,ignoreCargoCult:o,trustServerDate:a,_fromObject:l}={}){if(l){this._fromObject(l);return}if(!r||!r.headers)throw Error("Response headers missing");this._assertRequestHasHeaders(e),this._responseTime=this.now(),this._isShared=i!==!1,this._trustServerDate=a!==void 0?a:!0,this._cacheHeuristic=n!==void 0?n:.1,this._immutableMinTtl=s!==void 0?s:24*3600*1e3,this._status="status"in r?r.status:200,this._resHeaders=r.headers,this._rescc=nk(r.headers["cache-control"]),this._method="method"in e?e.method:"GET",this._url=e.url,this._host=e.headers.host,this._noAuthorization=!e.headers.authorization,this._reqHeaders=r.headers.vary?e.headers:null,this._reqcc=nk(e.headers["cache-control"]),o&&"pre-check"in this._rescc&&"post-check"in this._rescc&&(delete this._rescc["pre-check"],delete this._rescc["post-check"],delete this._rescc["no-cache"],delete this._rescc["no-store"],delete this._rescc["must-revalidate"],this._resHeaders=Object.assign({},this._resHeaders,{"cache-control":zbe(this._rescc)}),delete this._resHeaders.expires,delete this._resHeaders.pragma),!r.headers["cache-control"]&&/no-cache/.test(r.headers.pragma)&&(this._rescc["no-cache"]=!0)}now(){return Date.now()}storable(){return!!(!this._reqcc["no-store"]&&(this._method==="GET"||this._method==="HEAD"||this._method==="POST"&&this._hasExplicitExpiration())&&qbe.indexOf(this._status)!==-1&&!this._rescc["no-store"]&&(!this._isShared||!this._rescc.private)&&(!this._isShared||this._noAuthorization||this._allowsStoringAuthenticated())&&(this._resHeaders.expires||this._rescc.public||this._rescc["max-age"]||this._rescc["s-maxage"]||Ybe.indexOf(this._status)!==-1))}_hasExplicitExpiration(){return this._isShared&&this._rescc["s-maxage"]||this._rescc["max-age"]||this._resHeaders.expires}_assertRequestHasHeaders(e){if(!e||!e.headers)throw Error("Request headers missing")}satisfiesWithoutRevalidation(e){this._assertRequestHasHeaders(e);let r=nk(e.headers["cache-control"]);return r["no-cache"]||/no-cache/.test(e.headers.pragma)||r["max-age"]&&this.age()>r["max-age"]||r["min-fresh"]&&this.timeToLive()<1e3*r["min-fresh"]||this.stale()&&!(r["max-stale"]&&!this._rescc["must-revalidate"]&&(r["max-stale"]===!0||r["max-stale"]>this.age()-this.maxAge()))?!1:this._requestMatches(e,!1)}_requestMatches(e,r){return(!this._url||this._url===e.url)&&this._host===e.headers.host&&(!e.method||this._method===e.method||r&&e.method==="HEAD")&&this._varyMatches(e)}_allowsStoringAuthenticated(){return this._rescc["must-revalidate"]||this._rescc.public||this._rescc["s-maxage"]}_varyMatches(e){if(!this._resHeaders.vary)return!0;if(this._resHeaders.vary==="*")return!1;let r=this._resHeaders.vary.trim().toLowerCase().split(/\s*,\s*/);for(let i of r)if(e.headers[i]!==this._reqHeaders[i])return!1;return!0}_copyWithoutHopByHopHeaders(e){let r={};for(let i in e)Jbe[i]||(r[i]=e[i]);if(e.connection){let i=e.connection.trim().split(/\s*,\s*/);for(let n of i)delete r[n]}if(r.warning){let i=r.warning.split(/,/).filter(n=>!/^\s*1[0-9][0-9]/.test(n));i.length?r.warning=i.join(",").trim():delete r.warning}return r}responseHeaders(){let e=this._copyWithoutHopByHopHeaders(this._resHeaders),r=this.age();return r>3600*24&&!this._hasExplicitExpiration()&&this.maxAge()>3600*24&&(e.warning=(e.warning?`${e.warning}, `:"")+'113 - "rfc7234 5.5.4"'),e.age=`${Math.round(r)}`,e.date=new Date(this.now()).toUTCString(),e}date(){return this._trustServerDate?this._serverDate():this._responseTime}_serverDate(){let e=Date.parse(this._resHeaders.date);if(isFinite(e)){let r=8*3600*1e3;if(Math.abs(this._responseTime-e)e&&(e=i)}let r=(this.now()-this._responseTime)/1e3;return e+r}_ageValue(){let e=parseInt(this._resHeaders.age);return isFinite(e)?e:0}maxAge(){if(!this.storable()||this._rescc["no-cache"]||this._isShared&&this._resHeaders["set-cookie"]&&!this._rescc.public&&!this._rescc.immutable||this._resHeaders.vary==="*")return 0;if(this._isShared){if(this._rescc["proxy-revalidate"])return 0;if(this._rescc["s-maxage"])return parseInt(this._rescc["s-maxage"],10)}if(this._rescc["max-age"])return parseInt(this._rescc["max-age"],10);let e=this._rescc.immutable?this._immutableMinTtl:0,r=this._serverDate();if(this._resHeaders.expires){let i=Date.parse(this._resHeaders.expires);return Number.isNaN(i)||ii)return Math.max(e,(r-i)/1e3*this._cacheHeuristic)}return e}timeToLive(){return Math.max(0,this.maxAge()-this.age())*1e3}stale(){return this.maxAge()<=this.age()}static fromObject(e){return new this(void 0,void 0,{_fromObject:e})}_fromObject(e){if(this._responseTime)throw Error("Reinitialized");if(!e||e.v!==1)throw Error("Invalid serialization");this._responseTime=e.t,this._isShared=e.sh,this._cacheHeuristic=e.ch,this._immutableMinTtl=e.imm!==void 0?e.imm:24*3600*1e3,this._status=e.st,this._resHeaders=e.resh,this._rescc=e.rescc,this._method=e.m,this._url=e.u,this._host=e.h,this._noAuthorization=e.a,this._reqHeaders=e.reqh,this._reqcc=e.reqcc}toObject(){return{v:1,t:this._responseTime,sh:this._isShared,ch:this._cacheHeuristic,imm:this._immutableMinTtl,st:this._status,resh:this._resHeaders,rescc:this._rescc,m:this._method,u:this._url,h:this._host,a:this._noAuthorization,reqh:this._reqHeaders,reqcc:this._reqcc}}revalidationHeaders(e){this._assertRequestHasHeaders(e);let r=this._copyWithoutHopByHopHeaders(e.headers);if(delete r["if-range"],!this._requestMatches(e,!0)||!this.storable())return delete r["if-none-match"],delete r["if-modified-since"],r;if(this._resHeaders.etag&&(r["if-none-match"]=r["if-none-match"]?`${r["if-none-match"]}, ${this._resHeaders.etag}`:this._resHeaders.etag),r["accept-ranges"]||r["if-match"]||r["if-unmodified-since"]||this._method&&this._method!="GET"){if(delete r["if-modified-since"],r["if-none-match"]){let n=r["if-none-match"].split(/,/).filter(s=>!/^\s*W\//.test(s));n.length?r["if-none-match"]=n.join(",").trim():delete r["if-none-match"]}}else this._resHeaders["last-modified"]&&!r["if-modified-since"]&&(r["if-modified-since"]=this._resHeaders["last-modified"]);return r}revalidatedPolicy(e,r){if(this._assertRequestHasHeaders(e),!r||!r.headers)throw Error("Response headers missing");let i=!1;if(r.status!==void 0&&r.status!=304?i=!1:r.headers.etag&&!/^\s*W\//.test(r.headers.etag)?i=this._resHeaders.etag&&this._resHeaders.etag.replace(/^\s*W\//,"")===r.headers.etag:this._resHeaders.etag&&r.headers.etag?i=this._resHeaders.etag.replace(/^\s*W\//,"")===r.headers.etag.replace(/^\s*W\//,""):this._resHeaders["last-modified"]?i=this._resHeaders["last-modified"]===r.headers["last-modified"]:!this._resHeaders.etag&&!this._resHeaders["last-modified"]&&!r.headers.etag&&!r.headers["last-modified"]&&(i=!0),!i)return{policy:new this.constructor(e,r),modified:r.status!=304,matches:!1};let n={};for(let o in this._resHeaders)n[o]=o in r.headers&&!Wbe[o]?r.headers[o]:this._resHeaders[o];let s=Object.assign({},r,{status:this._status,method:this._method,headers:n});return{policy:new this.constructor(e,s,{shared:this._isShared,cacheHeuristic:this._cacheHeuristic,immutableMinTimeToLive:this._immutableMinTtl,trustServerDate:this._trustServerDate}),modified:!1,matches:!0}}}});var Ly=E((Bnt,U3)=>{"use strict";U3.exports=t=>{let e={};for(let[r,i]of Object.entries(t))e[r.toLowerCase()]=i;return e}});var j3=E((Qnt,H3)=>{"use strict";var Vbe=require("stream").Readable,_be=Ly(),G3=class extends Vbe{constructor(e,r,i,n){if(typeof e!="number")throw new TypeError("Argument `statusCode` should be a number");if(typeof r!="object")throw new TypeError("Argument `headers` should be an object");if(!(i instanceof Buffer))throw new TypeError("Argument `body` should be a buffer");if(typeof n!="string")throw new TypeError("Argument `url` should be a string");super();this.statusCode=e,this.headers=_be(r),this.body=i,this.url=n}_read(){this.push(this.body),this.push(null)}};H3.exports=G3});var q3=E((bnt,Y3)=>{"use strict";var Xbe=["destroy","setTimeout","socket","headers","trailers","rawHeaders","statusCode","httpVersion","httpVersionMinor","httpVersionMajor","rawTrailers","statusMessage"];Y3.exports=(t,e)=>{let r=new Set(Object.keys(t).concat(Xbe));for(let i of r)i in e||(e[i]=typeof t[i]=="function"?t[i].bind(t):t[i])}});var W3=E((vnt,J3)=>{"use strict";var Zbe=require("stream").PassThrough,$be=q3(),eve=t=>{if(!(t&&t.pipe))throw new TypeError("Parameter `response` must be a response stream.");let e=new Zbe;return $be(t,e),t.pipe(e)};J3.exports=eve});var z3=E(sk=>{sk.stringify=function t(e){if(typeof e=="undefined")return e;if(e&&Buffer.isBuffer(e))return JSON.stringify(":base64:"+e.toString("base64"));if(e&&e.toJSON&&(e=e.toJSON()),e&&typeof e=="object"){var r="",i=Array.isArray(e);r=i?"[":"{";var n=!0;for(var s in e){var o=typeof e[s]=="function"||!i&&typeof e[s]=="undefined";Object.hasOwnProperty.call(e,s)&&!o&&(n||(r+=","),n=!1,i?e[s]==null?r+="null":r+=t(e[s]):e[s]!==void 0&&(r+=t(s)+":"+t(e[s])))}return r+=i?"]":"}",r}else return typeof e=="string"?JSON.stringify(/^:/.test(e)?":"+e:e):typeof e=="undefined"?"null":JSON.stringify(e)};sk.parse=function(t){return JSON.parse(t,function(e,r){return typeof r=="string"?/^:base64:/.test(r)?Buffer.from(r.substring(8),"base64"):/^:/.test(r)?r.substring(1):r:r})}});var Z3=E((xnt,V3)=>{"use strict";var tve=require("events"),_3=z3(),rve=t=>{let e={redis:"@keyv/redis",mongodb:"@keyv/mongo",mongo:"@keyv/mongo",sqlite:"@keyv/sqlite",postgresql:"@keyv/postgres",postgres:"@keyv/postgres",mysql:"@keyv/mysql"};if(t.adapter||t.uri){let r=t.adapter||/^[^:]*/.exec(t.uri)[0];return new(require(e[r]))(t)}return new Map},X3=class extends tve{constructor(e,r){super();if(this.opts=Object.assign({namespace:"keyv",serialize:_3.stringify,deserialize:_3.parse},typeof e=="string"?{uri:e}:e,r),!this.opts.store){let i=Object.assign({},this.opts);this.opts.store=rve(i)}typeof this.opts.store.on=="function"&&this.opts.store.on("error",i=>this.emit("error",i)),this.opts.store.namespace=this.opts.namespace}_getKeyPrefix(e){return`${this.opts.namespace}:${e}`}get(e,r){e=this._getKeyPrefix(e);let{store:i}=this.opts;return Promise.resolve().then(()=>i.get(e)).then(n=>typeof n=="string"?this.opts.deserialize(n):n).then(n=>{if(n!==void 0){if(typeof n.expires=="number"&&Date.now()>n.expires){this.delete(e);return}return r&&r.raw?n:n.value}})}set(e,r,i){e=this._getKeyPrefix(e),typeof i=="undefined"&&(i=this.opts.ttl),i===0&&(i=void 0);let{store:n}=this.opts;return Promise.resolve().then(()=>{let s=typeof i=="number"?Date.now()+i:null;return r={value:r,expires:s},this.opts.serialize(r)}).then(s=>n.set(e,s,i)).then(()=>!0)}delete(e){e=this._getKeyPrefix(e);let{store:r}=this.opts;return Promise.resolve().then(()=>r.delete(e))}clear(){let{store:e}=this.opts;return Promise.resolve().then(()=>e.clear())}};V3.exports=X3});var tW=E((knt,$3)=>{"use strict";var ive=require("events"),Ty=require("url"),nve=Q3(),sve=M3(),ok=K3(),eW=j3(),ove=Ly(),ave=W3(),Ave=Z3(),yo=class{constructor(e,r){if(typeof e!="function")throw new TypeError("Parameter `request` must be a function");return this.cache=new Ave({uri:typeof r=="string"&&r,store:typeof r!="string"&&r,namespace:"cacheable-request"}),this.createCacheableRequest(e)}createCacheableRequest(e){return(r,i)=>{let n;if(typeof r=="string")n=ak(Ty.parse(r)),r={};else if(r instanceof Ty.URL)n=ak(Ty.parse(r.toString())),r={};else{let[g,...f]=(r.path||"").split("?"),h=f.length>0?`?${f.join("?")}`:"";n=ak(_(P({},r),{pathname:g,search:h}))}r=P(P({headers:{},method:"GET",cache:!0,strictTtl:!1,automaticFailover:!1},r),lve(n)),r.headers=ove(r.headers);let s=new ive,o=nve(Ty.format(n),{stripWWW:!1,removeTrailingSlash:!1,stripAuthentication:!1}),a=`${r.method}:${o}`,l=!1,c=!1,u=g=>{c=!0;let f=!1,h,p=new Promise(m=>{h=()=>{f||(f=!0,m())}}),d=m=>{if(l&&!g.forceRefresh){m.status=m.statusCode;let B=ok.fromObject(l.cachePolicy).revalidatedPolicy(g,m);if(!B.modified){let b=B.policy.responseHeaders();m=new eW(l.statusCode,b,l.body,l.url),m.cachePolicy=B.policy,m.fromCache=!0}}m.fromCache||(m.cachePolicy=new ok(g,m,g),m.fromCache=!1);let I;g.cache&&m.cachePolicy.storable()?(I=ave(m),(async()=>{try{let B=sve.buffer(m);if(await Promise.race([p,new Promise(L=>m.once("end",L))]),f)return;let b=await B,R={cachePolicy:m.cachePolicy.toObject(),url:m.url,statusCode:m.fromCache?l.statusCode:m.statusCode,body:b},H=g.strictTtl?m.cachePolicy.timeToLive():void 0;g.maxTtl&&(H=H?Math.min(H,g.maxTtl):g.maxTtl),await this.cache.set(a,R,H)}catch(B){s.emit("error",new yo.CacheError(B))}})()):g.cache&&l&&(async()=>{try{await this.cache.delete(a)}catch(B){s.emit("error",new yo.CacheError(B))}})(),s.emit("response",I||m),typeof i=="function"&&i(I||m)};try{let m=e(g,d);m.once("error",h),m.once("abort",h),s.emit("request",m)}catch(m){s.emit("error",new yo.RequestError(m))}};return(async()=>{let g=async h=>{await Promise.resolve();let p=h.cache?await this.cache.get(a):void 0;if(typeof p=="undefined")return u(h);let d=ok.fromObject(p.cachePolicy);if(d.satisfiesWithoutRevalidation(h)&&!h.forceRefresh){let m=d.responseHeaders(),I=new eW(p.statusCode,m,p.body,p.url);I.cachePolicy=d,I.fromCache=!0,s.emit("response",I),typeof i=="function"&&i(I)}else l=p,h.headers=d.revalidationHeaders(h),u(h)},f=h=>s.emit("error",new yo.CacheError(h));this.cache.once("error",f),s.on("response",()=>this.cache.removeListener("error",f));try{await g(r)}catch(h){r.automaticFailover&&!c&&u(r),s.emit("error",new yo.CacheError(h))}})(),s}}};function lve(t){let e=P({},t);return e.path=`${t.pathname||"/"}${t.search||""}`,delete e.pathname,delete e.search,e}function ak(t){return{protocol:t.protocol,auth:t.auth,hostname:t.hostname||t.host||"localhost",port:t.port,pathname:t.pathname,search:t.search}}yo.RequestError=class extends Error{constructor(t){super(t.message);this.name="RequestError",Object.assign(this,t)}};yo.CacheError=class extends Error{constructor(t){super(t.message);this.name="CacheError",Object.assign(this,t)}};$3.exports=yo});var iW=E((Pnt,rW)=>{"use strict";var cve=["aborted","complete","headers","httpVersion","httpVersionMinor","httpVersionMajor","method","rawHeaders","rawTrailers","setTimeout","socket","statusCode","statusMessage","trailers","url"];rW.exports=(t,e)=>{if(e._readableState.autoDestroy)throw new Error("The second stream must have the `autoDestroy` option set to `false`");let r=new Set(Object.keys(t).concat(cve)),i={};for(let n of r)n in e||(i[n]={get(){let s=t[n];return typeof s=="function"?s.bind(t):s},set(s){t[n]=s},enumerable:!0,configurable:!1});return Object.defineProperties(e,i),t.once("aborted",()=>{e.destroy(),e.emit("aborted")}),t.once("close",()=>{t.complete&&e.readable?e.once("end",()=>{e.emit("close")}):e.emit("close")}),e}});var sW=E((Dnt,nW)=>{"use strict";var{Transform:uve,PassThrough:gve}=require("stream"),Ak=require("zlib"),fve=iW();nW.exports=t=>{let e=(t.headers["content-encoding"]||"").toLowerCase();if(!["gzip","deflate","br"].includes(e))return t;let r=e==="br";if(r&&typeof Ak.createBrotliDecompress!="function")return t.destroy(new Error("Brotli is not supported on Node.js < 12")),t;let i=!0,n=new uve({transform(a,l,c){i=!1,c(null,a)},flush(a){a()}}),s=new gve({autoDestroy:!1,destroy(a,l){t.destroy(),l(a)}}),o=r?Ak.createBrotliDecompress():Ak.createUnzip();return o.once("error",a=>{if(i&&!t.readable){s.end();return}s.destroy(a)}),fve(t,s),t.pipe(n).pipe(o).pipe(s),s}});var lk=E((Rnt,oW)=>{"use strict";var aW=class{constructor(e={}){if(!(e.maxSize&&e.maxSize>0))throw new TypeError("`maxSize` must be a number greater than 0");this.maxSize=e.maxSize,this.onEviction=e.onEviction,this.cache=new Map,this.oldCache=new Map,this._size=0}_set(e,r){if(this.cache.set(e,r),this._size++,this._size>=this.maxSize){if(this._size=0,typeof this.onEviction=="function")for(let[i,n]of this.oldCache.entries())this.onEviction(i,n);this.oldCache=this.cache,this.cache=new Map}}get(e){if(this.cache.has(e))return this.cache.get(e);if(this.oldCache.has(e)){let r=this.oldCache.get(e);return this.oldCache.delete(e),this._set(e,r),r}}set(e,r){return this.cache.has(e)?this.cache.set(e,r):this._set(e,r),this}has(e){return this.cache.has(e)||this.oldCache.has(e)}peek(e){if(this.cache.has(e))return this.cache.get(e);if(this.oldCache.has(e))return this.oldCache.get(e)}delete(e){let r=this.cache.delete(e);return r&&this._size--,this.oldCache.delete(e)||r}clear(){this.cache.clear(),this.oldCache.clear(),this._size=0}*keys(){for(let[e]of this)yield e}*values(){for(let[,e]of this)yield e}*[Symbol.iterator](){for(let e of this.cache)yield e;for(let e of this.oldCache){let[r]=e;this.cache.has(r)||(yield e)}}get size(){let e=0;for(let r of this.oldCache.keys())this.cache.has(r)||e++;return Math.min(this._size+e,this.maxSize)}};oW.exports=aW});var uk=E((Fnt,AW)=>{"use strict";var hve=require("events"),pve=require("tls"),dve=require("http2"),Cve=lk(),_i=Symbol("currentStreamsCount"),lW=Symbol("request"),ns=Symbol("cachedOriginSet"),Yu=Symbol("gracefullyClosing"),mve=["maxDeflateDynamicTableSize","maxSessionMemory","maxHeaderListPairs","maxOutstandingPings","maxReservedRemoteStreams","maxSendHeaderBlockLength","paddingStrategy","localAddress","path","rejectUnauthorized","minDHSize","ca","cert","clientCertEngine","ciphers","key","pfx","servername","minVersion","maxVersion","secureProtocol","crl","honorCipherOrder","ecdhCurve","dhparam","secureOptions","sessionIdContext"],Eve=(t,e,r)=>{let i=0,n=t.length;for(;i>>1;r(t[s],e)?i=s+1:n=s}return i},Ive=(t,e)=>t.remoteSettings.maxConcurrentStreams>e.remoteSettings.maxConcurrentStreams,ck=(t,e)=>{for(let r of t)r[ns].lengthe[ns].includes(i))&&r[_i]+e[_i]<=e.remoteSettings.maxConcurrentStreams&&cW(r)},yve=(t,e)=>{for(let r of t)e[ns].lengthr[ns].includes(i))&&e[_i]+r[_i]<=r.remoteSettings.maxConcurrentStreams&&cW(e)},uW=({agent:t,isFree:e})=>{let r={};for(let i in t.sessions){let s=t.sessions[i].filter(o=>{let a=o[ma.kCurrentStreamsCount]{t[Yu]=!0,t[_i]===0&&t.close()},ma=class extends hve{constructor({timeout:e=6e4,maxSessions:r=Infinity,maxFreeSessions:i=10,maxCachedTlsSessions:n=100}={}){super();this.sessions={},this.queue={},this.timeout=e,this.maxSessions=r,this.maxFreeSessions=i,this._freeSessionsCount=0,this._sessionsCount=0,this.settings={enablePush:!1},this.tlsSessionCache=new Cve({maxSize:n})}static normalizeOrigin(e,r){return typeof e=="string"&&(e=new URL(e)),r&&e.hostname!==r&&(e.hostname=r),e.origin}normalizeOptions(e){let r="";if(e)for(let i of mve)e[i]&&(r+=`:${e[i]}`);return r}_tryToCreateNewSession(e,r){if(!(e in this.queue)||!(r in this.queue[e]))return;let i=this.queue[e][r];this._sessionsCount{Array.isArray(i)?(i=[...i],n()):i=[{resolve:n,reject:s}];let o=this.normalizeOptions(r),a=ma.normalizeOrigin(e,r&&r.servername);if(a===void 0){for(let{reject:u}of i)u(new TypeError("The `origin` argument needs to be a string or an URL object"));return}if(o in this.sessions){let u=this.sessions[o],g=-1,f=-1,h;for(let p of u){let d=p.remoteSettings.maxConcurrentStreams;if(d=d||p[Yu]||p.destroyed)continue;h||(g=d),m>f&&(h=p,f=m)}}if(h){if(i.length!==1){for(let{reject:p}of i){let d=new Error(`Expected the length of listeners to be 1, got ${i.length}. +Please report this to https://github.com/szmarczak/http2-wrapper/`);p(d)}return}i[0].resolve(h);return}}if(o in this.queue){if(a in this.queue[o]){this.queue[o][a].listeners.push(...i),this._tryToCreateNewSession(o,a);return}}else this.queue[o]={};let l=()=>{o in this.queue&&this.queue[o][a]===c&&(delete this.queue[o][a],Object.keys(this.queue[o]).length===0&&delete this.queue[o])},c=()=>{let u=`${a}:${o}`,g=!1;try{let f=dve.connect(e,P({createConnection:this.createConnection,settings:this.settings,session:this.tlsSessionCache.get(u)},r));f[_i]=0,f[Yu]=!1;let h=()=>f[_i]{this.tlsSessionCache.set(u,m)}),f.once("error",m=>{for(let{reject:I}of i)I(m);this.tlsSessionCache.delete(u)}),f.setTimeout(this.timeout,()=>{f.destroy()}),f.once("close",()=>{if(g){p&&this._freeSessionsCount--,this._sessionsCount--;let m=this.sessions[o];m.splice(m.indexOf(f),1),m.length===0&&delete this.sessions[o]}else{let m=new Error("Session closed without receiving a SETTINGS frame");m.code="HTTP2WRAPPER_NOSETTINGS";for(let{reject:I}of i)I(m);l()}this._tryToCreateNewSession(o,a)});let d=()=>{if(!(!(o in this.queue)||!h())){for(let m of f[ns])if(m in this.queue[o]){let{listeners:I}=this.queue[o][m];for(;I.length!==0&&h();)I.shift().resolve(f);let B=this.queue[o];if(B[m].listeners.length===0&&(delete B[m],Object.keys(B).length===0)){delete this.queue[o];break}if(!h())break}}};f.on("origin",()=>{f[ns]=f.originSet,!!h()&&(d(),ck(this.sessions[o],f))}),f.once("remoteSettings",()=>{if(f.ref(),f.unref(),this._sessionsCount++,c.destroyed){let m=new Error("Agent has been destroyed");for(let I of i)I.reject(m);f.destroy();return}f[ns]=f.originSet;{let m=this.sessions;if(o in m){let I=m[o];I.splice(Eve(I,f,Ive),0,f)}else m[o]=[f]}this._freeSessionsCount+=1,g=!0,this.emit("session",f),d(),l(),f[_i]===0&&this._freeSessionsCount>this.maxFreeSessions&&f.close(),i.length!==0&&(this.getSession(a,r,i),i.length=0),f.on("remoteSettings",()=>{d(),ck(this.sessions[o],f)})}),f[lW]=f.request,f.request=(m,I)=>{if(f[Yu])throw new Error("The session is gracefully closing. No new streams are allowed.");let B=f[lW](m,I);return f.ref(),++f[_i],f[_i]===f.remoteSettings.maxConcurrentStreams&&this._freeSessionsCount--,B.once("close",()=>{if(p=h(),--f[_i],!f.destroyed&&!f.closed&&(yve(this.sessions[o],f),h()&&!f.closed)){p||(this._freeSessionsCount++,p=!0);let b=f[_i]===0;b&&f.unref(),b&&(this._freeSessionsCount>this.maxFreeSessions||f[Yu])?f.close():(ck(this.sessions[o],f),d())}}),B}}catch(f){for(let h of i)h.reject(f);l()}};c.listeners=i,c.completed=!1,c.destroyed=!1,this.queue[o][a]=c,this._tryToCreateNewSession(o,a)})}request(e,r,i,n){return new Promise((s,o)=>{this.getSession(e,r,[{reject:o,resolve:a=>{try{s(a.request(i,n))}catch(l){o(l)}}}])})}createConnection(e,r){return ma.connect(e,r)}static connect(e,r){r.ALPNProtocols=["h2"];let i=e.port||443,n=e.hostname||e.host;return typeof r.servername=="undefined"&&(r.servername=n),pve.connect(i,n,r)}closeFreeSessions(){for(let e of Object.values(this.sessions))for(let r of e)r[_i]===0&&r.close()}destroy(e){for(let r of Object.values(this.sessions))for(let i of r)i.destroy(e);for(let r of Object.values(this.queue))for(let i of Object.values(r))i.destroyed=!0;this.queue={}}get freeSessions(){return uW({agent:this,isFree:!0})}get busySessions(){return uW({agent:this,isFree:!1})}};ma.kCurrentStreamsCount=_i;ma.kGracefullyClosing=Yu;AW.exports={Agent:ma,globalAgent:new ma}});var gk=E((Nnt,gW)=>{"use strict";var{Readable:wve}=require("stream"),fW=class extends wve{constructor(e,r){super({highWaterMark:r,autoDestroy:!1});this.statusCode=null,this.statusMessage="",this.httpVersion="2.0",this.httpVersionMajor=2,this.httpVersionMinor=0,this.headers={},this.trailers={},this.req=null,this.aborted=!1,this.complete=!1,this.upgrade=null,this.rawHeaders=[],this.rawTrailers=[],this.socket=e,this.connection=e,this._dumped=!1}_destroy(e){this.req._request.destroy(e)}setTimeout(e,r){return this.req.setTimeout(e,r),this}_dump(){this._dumped||(this._dumped=!0,this.removeAllListeners("data"),this.resume())}_read(){this.req&&this.req._request.resume()}};gW.exports=fW});var fk=E((Lnt,hW)=>{"use strict";hW.exports=t=>{let e={protocol:t.protocol,hostname:typeof t.hostname=="string"&&t.hostname.startsWith("[")?t.hostname.slice(1,-1):t.hostname,host:t.host,hash:t.hash,search:t.search,pathname:t.pathname,href:t.href,path:`${t.pathname||""}${t.search||""}`};return typeof t.port=="string"&&t.port.length!==0&&(e.port=Number(t.port)),(t.username||t.password)&&(e.auth=`${t.username||""}:${t.password||""}`),e}});var dW=E((Tnt,pW)=>{"use strict";pW.exports=(t,e,r)=>{for(let i of r)t.on(i,(...n)=>e.emit(i,...n))}});var mW=E((Mnt,CW)=>{"use strict";CW.exports=t=>{switch(t){case":method":case":scheme":case":authority":case":path":return!0;default:return!1}}});var IW=E((Knt,EW)=>{"use strict";var qu=(t,e,r)=>{EW.exports[e]=class extends t{constructor(...n){super(typeof r=="string"?r:r(n));this.name=`${super.name} [${e}]`,this.code=e}}};qu(TypeError,"ERR_INVALID_ARG_TYPE",t=>{let e=t[0].includes(".")?"property":"argument",r=t[1],i=Array.isArray(r);return i&&(r=`${r.slice(0,-1).join(", ")} or ${r.slice(-1)}`),`The "${t[0]}" ${e} must be ${i?"one of":"of"} type ${r}. Received ${typeof t[2]}`});qu(TypeError,"ERR_INVALID_PROTOCOL",t=>`Protocol "${t[0]}" not supported. Expected "${t[1]}"`);qu(Error,"ERR_HTTP_HEADERS_SENT",t=>`Cannot ${t[0]} headers after they are sent to the client`);qu(TypeError,"ERR_INVALID_HTTP_TOKEN",t=>`${t[0]} must be a valid HTTP token [${t[1]}]`);qu(TypeError,"ERR_HTTP_INVALID_HEADER_VALUE",t=>`Invalid value "${t[0]} for header "${t[1]}"`);qu(TypeError,"ERR_INVALID_CHAR",t=>`Invalid character in ${t[0]} [${t[1]}]`)});var Ck=E((Unt,yW)=>{"use strict";var Bve=require("http2"),{Writable:Qve}=require("stream"),{Agent:wW,globalAgent:bve}=uk(),vve=gk(),Sve=fk(),xve=dW(),kve=mW(),{ERR_INVALID_ARG_TYPE:hk,ERR_INVALID_PROTOCOL:Pve,ERR_HTTP_HEADERS_SENT:BW,ERR_INVALID_HTTP_TOKEN:Dve,ERR_HTTP_INVALID_HEADER_VALUE:Rve,ERR_INVALID_CHAR:Fve}=IW(),{HTTP2_HEADER_STATUS:QW,HTTP2_HEADER_METHOD:bW,HTTP2_HEADER_PATH:vW,HTTP2_METHOD_CONNECT:Nve}=Bve.constants,Pi=Symbol("headers"),pk=Symbol("origin"),dk=Symbol("session"),SW=Symbol("options"),My=Symbol("flushedHeaders"),yp=Symbol("jobs"),Lve=/^[\^`\-\w!#$%&*+.|~]+$/,Tve=/[^\t\u0020-\u007E\u0080-\u00FF]/,xW=class extends Qve{constructor(e,r,i){super({autoDestroy:!1});let n=typeof e=="string"||e instanceof URL;if(n&&(e=Sve(e instanceof URL?e:new URL(e))),typeof r=="function"||r===void 0?(i=r,r=n?e:P({},e)):r=P(P({},e),r),r.h2session)this[dk]=r.h2session;else if(r.agent===!1)this.agent=new wW({maxFreeSessions:0});else if(typeof r.agent=="undefined"||r.agent===null)typeof r.createConnection=="function"?(this.agent=new wW({maxFreeSessions:0}),this.agent.createConnection=r.createConnection):this.agent=bve;else if(typeof r.agent.request=="function")this.agent=r.agent;else throw new hk("options.agent",["Agent-like Object","undefined","false"],r.agent);if(r.protocol&&r.protocol!=="https:")throw new Pve(r.protocol,"https:");let s=r.port||r.defaultPort||this.agent&&this.agent.defaultPort||443,o=r.hostname||r.host||"localhost";delete r.hostname,delete r.host,delete r.port;let{timeout:a}=r;if(r.timeout=void 0,this[Pi]=Object.create(null),this[yp]=[],this.socket=null,this.connection=null,this.method=r.method||"GET",this.path=r.path,this.res=null,this.aborted=!1,this.reusedSocket=!1,r.headers)for(let[l,c]of Object.entries(r.headers))this.setHeader(l,c);r.auth&&!("authorization"in this[Pi])&&(this[Pi].authorization="Basic "+Buffer.from(r.auth).toString("base64")),r.session=r.tlsSession,r.path=r.socketPath,this[SW]=r,s===443?(this[pk]=`https://${o}`,":authority"in this[Pi]||(this[Pi][":authority"]=o)):(this[pk]=`https://${o}:${s}`,":authority"in this[Pi]||(this[Pi][":authority"]=`${o}:${s}`)),a&&this.setTimeout(a),i&&this.once("response",i),this[My]=!1}get method(){return this[Pi][bW]}set method(e){e&&(this[Pi][bW]=e.toUpperCase())}get path(){return this[Pi][vW]}set path(e){e&&(this[Pi][vW]=e)}get _mustNotHaveABody(){return this.method==="GET"||this.method==="HEAD"||this.method==="DELETE"}_write(e,r,i){if(this._mustNotHaveABody){i(new Error("The GET, HEAD and DELETE methods must NOT have a body"));return}this.flushHeaders();let n=()=>this._request.write(e,r,i);this._request?n():this[yp].push(n)}_final(e){if(this.destroyed)return;this.flushHeaders();let r=()=>{if(this._mustNotHaveABody){e();return}this._request.end(e)};this._request?r():this[yp].push(r)}abort(){this.res&&this.res.complete||(this.aborted||process.nextTick(()=>this.emit("abort")),this.aborted=!0,this.destroy())}_destroy(e,r){this.res&&this.res._dump(),this._request&&this._request.destroy(),r(e)}async flushHeaders(){if(this[My]||this.destroyed)return;this[My]=!0;let e=this.method===Nve,r=i=>{if(this._request=i,this.destroyed){i.destroy();return}e||xve(i,this,["timeout","continue","close","error"]);let n=o=>(...a)=>{!this.writable&&!this.destroyed?o(...a):this.once("finish",()=>{o(...a)})};i.once("response",n((o,a,l)=>{let c=new vve(this.socket,i.readableHighWaterMark);this.res=c,c.req=this,c.statusCode=o[QW],c.headers=o,c.rawHeaders=l,c.once("end",()=>{this.aborted?(c.aborted=!0,c.emit("aborted")):(c.complete=!0,c.socket=null,c.connection=null)}),e?(c.upgrade=!0,this.emit("connect",c,i,Buffer.alloc(0))?this.emit("close"):i.destroy()):(i.on("data",u=>{!c._dumped&&!c.push(u)&&i.pause()}),i.once("end",()=>{c.push(null)}),this.emit("response",c)||c._dump())})),i.once("headers",n(o=>this.emit("information",{statusCode:o[QW]}))),i.once("trailers",n((o,a,l)=>{let{res:c}=this;c.trailers=o,c.rawTrailers=l}));let{socket:s}=i.session;this.socket=s,this.connection=s;for(let o of this[yp])o();this.emit("socket",this.socket)};if(this[dk])try{r(this[dk].request(this[Pi]))}catch(i){this.emit("error",i)}else{this.reusedSocket=!0;try{r(await this.agent.request(this[pk],this[SW],this[Pi]))}catch(i){this.emit("error",i)}}}getHeader(e){if(typeof e!="string")throw new hk("name","string",e);return this[Pi][e.toLowerCase()]}get headersSent(){return this[My]}removeHeader(e){if(typeof e!="string")throw new hk("name","string",e);if(this.headersSent)throw new BW("remove");delete this[Pi][e.toLowerCase()]}setHeader(e,r){if(this.headersSent)throw new BW("set");if(typeof e!="string"||!Lve.test(e)&&!kve(e))throw new Dve("Header name",e);if(typeof r=="undefined")throw new Rve(r,e);if(Tve.test(r))throw new Fve("header content",e);this[Pi][e.toLowerCase()]=r}setNoDelay(){}setSocketKeepAlive(){}setTimeout(e,r){let i=()=>this._request.setTimeout(e,r);return this._request?i():this[yp].push(i),this}get maxHeadersCount(){if(!this.destroyed&&this._request)return this._request.session.localSettings.maxHeaderListSize}set maxHeadersCount(e){}};yW.exports=xW});var PW=E((Hnt,kW)=>{"use strict";var Mve=require("tls");kW.exports=(t={})=>new Promise((e,r)=>{let i=Mve.connect(t,()=>{t.resolveSocket?(i.off("error",r),e({alpnProtocol:i.alpnProtocol,socket:i})):(i.destroy(),e({alpnProtocol:i.alpnProtocol}))});i.on("error",r)})});var RW=E((Gnt,DW)=>{"use strict";var Ove=require("net");DW.exports=t=>{let e=t.host,r=t.headers&&t.headers.host;return r&&(r.startsWith("[")?r.indexOf("]")===-1?e=r:e=r.slice(1,-1):e=r.split(":",1)[0]),Ove.isIP(e)?"":e}});var LW=E((jnt,mk)=>{"use strict";var FW=require("http"),Ek=require("https"),Kve=PW(),Uve=lk(),Hve=Ck(),Gve=RW(),jve=fk(),Oy=new Uve({maxSize:100}),wp=new Map,NW=(t,e,r)=>{e._httpMessage={shouldKeepAlive:!0};let i=()=>{t.emit("free",e,r)};e.on("free",i);let n=()=>{t.removeSocket(e,r)};e.on("close",n);let s=()=>{t.removeSocket(e,r),e.off("close",n),e.off("free",i),e.off("agentRemove",s)};e.on("agentRemove",s),t.emit("free",e,r)},Yve=async t=>{let e=`${t.host}:${t.port}:${t.ALPNProtocols.sort()}`;if(!Oy.has(e)){if(wp.has(e))return(await wp.get(e)).alpnProtocol;let{path:r,agent:i}=t;t.path=t.socketPath;let n=Kve(t);wp.set(e,n);try{let{socket:s,alpnProtocol:o}=await n;if(Oy.set(e,o),t.path=r,o==="h2")s.destroy();else{let{globalAgent:a}=Ek,l=Ek.Agent.prototype.createConnection;i?i.createConnection===l?NW(i,s,t):s.destroy():a.createConnection===l?NW(a,s,t):s.destroy()}return wp.delete(e),o}catch(s){throw wp.delete(e),s}}return Oy.get(e)};mk.exports=async(t,e,r)=>{if((typeof t=="string"||t instanceof URL)&&(t=jve(new URL(t))),typeof e=="function"&&(r=e,e=void 0),e=_(P(P({ALPNProtocols:["h2","http/1.1"]},t),e),{resolveSocket:!0}),!Array.isArray(e.ALPNProtocols)||e.ALPNProtocols.length===0)throw new Error("The `ALPNProtocols` option must be an Array with at least one entry");e.protocol=e.protocol||"https:";let i=e.protocol==="https:";e.host=e.hostname||e.host||"localhost",e.session=e.tlsSession,e.servername=e.servername||Gve(e),e.port=e.port||(i?443:80),e._defaultAgent=i?Ek.globalAgent:FW.globalAgent;let n=e.agent;if(n){if(n.addRequest)throw new Error("The `options.agent` object can contain only `http`, `https` or `http2` properties");e.agent=n[i?"https":"http"]}return i&&await Yve(e)==="h2"?(n&&(e.agent=n.http2),new Hve(e,r)):FW.request(e,r)};mk.exports.protocolCache=Oy});var MW=E((Ynt,TW)=>{"use strict";var qve=require("http2"),Jve=uk(),Ik=Ck(),Wve=gk(),zve=LW(),Vve=(t,e,r)=>new Ik(t,e,r),_ve=(t,e,r)=>{let i=new Ik(t,e,r);return i.end(),i};TW.exports=_(P(_(P({},qve),{ClientRequest:Ik,IncomingMessage:Wve}),Jve),{request:Vve,get:_ve,auto:zve})});var wk=E(yk=>{"use strict";Object.defineProperty(yk,"__esModule",{value:!0});var OW=Ca();yk.default=t=>OW.default.nodeStream(t)&&OW.default.function_(t.getBoundary)});var GW=E(Bk=>{"use strict";Object.defineProperty(Bk,"__esModule",{value:!0});var KW=require("fs"),UW=require("util"),HW=Ca(),Xve=wk(),Zve=UW.promisify(KW.stat);Bk.default=async(t,e)=>{if(e&&"content-length"in e)return Number(e["content-length"]);if(!t)return 0;if(HW.default.string(t))return Buffer.byteLength(t);if(HW.default.buffer(t))return t.length;if(Xve.default(t))return UW.promisify(t.getLength.bind(t))();if(t instanceof KW.ReadStream){let{size:r}=await Zve(t.path);return r===0?void 0:r}}});var bk=E(Qk=>{"use strict";Object.defineProperty(Qk,"__esModule",{value:!0});function $ve(t,e,r){let i={};for(let n of r)i[n]=(...s)=>{e.emit(n,...s)},t.on(n,i[n]);return()=>{for(let n of r)t.off(n,i[n])}}Qk.default=$ve});var jW=E(vk=>{"use strict";Object.defineProperty(vk,"__esModule",{value:!0});vk.default=()=>{let t=[];return{once(e,r,i){e.once(r,i),t.push({origin:e,event:r,fn:i})},unhandleAll(){for(let e of t){let{origin:r,event:i,fn:n}=e;r.removeListener(i,n)}t.length=0}}}});var qW=E(Bp=>{"use strict";Object.defineProperty(Bp,"__esModule",{value:!0});Bp.TimeoutError=void 0;var eSe=require("net"),tSe=jW(),YW=Symbol("reentry"),rSe=()=>{},Sk=class extends Error{constructor(e,r){super(`Timeout awaiting '${r}' for ${e}ms`);this.event=r,this.name="TimeoutError",this.code="ETIMEDOUT"}};Bp.TimeoutError=Sk;Bp.default=(t,e,r)=>{if(YW in t)return rSe;t[YW]=!0;let i=[],{once:n,unhandleAll:s}=tSe.default(),o=(g,f,h)=>{var p;let d=setTimeout(f,g,g,h);(p=d.unref)===null||p===void 0||p.call(d);let m=()=>{clearTimeout(d)};return i.push(m),m},{host:a,hostname:l}=r,c=(g,f)=>{t.destroy(new Sk(g,f))},u=()=>{for(let g of i)g();s()};if(t.once("error",g=>{if(u(),t.listenerCount("error")===0)throw g}),t.once("close",u),n(t,"response",g=>{n(g,"end",u)}),typeof e.request!="undefined"&&o(e.request,c,"request"),typeof e.socket!="undefined"){let g=()=>{c(e.socket,"socket")};t.setTimeout(e.socket,g),i.push(()=>{t.removeListener("timeout",g)})}return n(t,"socket",g=>{var f;let{socketPath:h}=t;if(g.connecting){let p=Boolean(h!=null?h:eSe.isIP((f=l!=null?l:a)!==null&&f!==void 0?f:"")!==0);if(typeof e.lookup!="undefined"&&!p&&typeof g.address().address=="undefined"){let d=o(e.lookup,c,"lookup");n(g,"lookup",d)}if(typeof e.connect!="undefined"){let d=()=>o(e.connect,c,"connect");p?n(g,"connect",d()):n(g,"lookup",m=>{m===null&&n(g,"connect",d())})}typeof e.secureConnect!="undefined"&&r.protocol==="https:"&&n(g,"connect",()=>{let d=o(e.secureConnect,c,"secureConnect");n(g,"secureConnect",d)})}if(typeof e.send!="undefined"){let p=()=>o(e.send,c,"send");g.connecting?n(g,"connect",()=>{n(t,"upload-complete",p())}):n(t,"upload-complete",p())}}),typeof e.response!="undefined"&&n(t,"upload-complete",()=>{let g=o(e.response,c,"response");n(t,"response",g)}),u}});var WW=E(xk=>{"use strict";Object.defineProperty(xk,"__esModule",{value:!0});var JW=Ca();xk.default=t=>{t=t;let e={protocol:t.protocol,hostname:JW.default.string(t.hostname)&&t.hostname.startsWith("[")?t.hostname.slice(1,-1):t.hostname,host:t.host,hash:t.hash,search:t.search,pathname:t.pathname,href:t.href,path:`${t.pathname||""}${t.search||""}`};return JW.default.string(t.port)&&t.port.length>0&&(e.port=Number(t.port)),(t.username||t.password)&&(e.auth=`${t.username||""}:${t.password||""}`),e}});var zW=E(kk=>{"use strict";Object.defineProperty(kk,"__esModule",{value:!0});var iSe=require("url"),nSe=["protocol","host","hostname","port","pathname","search"];kk.default=(t,e)=>{var r,i;if(e.path){if(e.pathname)throw new TypeError("Parameters `path` and `pathname` are mutually exclusive.");if(e.search)throw new TypeError("Parameters `path` and `search` are mutually exclusive.");if(e.searchParams)throw new TypeError("Parameters `path` and `searchParams` are mutually exclusive.")}if(e.search&&e.searchParams)throw new TypeError("Parameters `search` and `searchParams` are mutually exclusive.");if(!t){if(!e.protocol)throw new TypeError("No URL protocol specified");t=`${e.protocol}//${(i=(r=e.hostname)!==null&&r!==void 0?r:e.host)!==null&&i!==void 0?i:""}`}let n=new iSe.URL(t);if(e.path){let s=e.path.indexOf("?");s===-1?e.pathname=e.path:(e.pathname=e.path.slice(0,s),e.search=e.path.slice(s+1)),delete e.path}for(let s of nSe)e[s]&&(n[s]=e[s].toString());return n}});var _W=E(Pk=>{"use strict";Object.defineProperty(Pk,"__esModule",{value:!0});var VW=class{constructor(){this.weakMap=new WeakMap,this.map=new Map}set(e,r){typeof e=="object"?this.weakMap.set(e,r):this.map.set(e,r)}get(e){return typeof e=="object"?this.weakMap.get(e):this.map.get(e)}has(e){return typeof e=="object"?this.weakMap.has(e):this.map.has(e)}};Pk.default=VW});var Rk=E(Dk=>{"use strict";Object.defineProperty(Dk,"__esModule",{value:!0});var sSe=async t=>{let e=[],r=0;for await(let i of t)e.push(i),r+=Buffer.byteLength(i);return Buffer.isBuffer(e[0])?Buffer.concat(e,r):Buffer.from(e.join(""))};Dk.default=sSe});var ZW=E(ql=>{"use strict";Object.defineProperty(ql,"__esModule",{value:!0});ql.dnsLookupIpVersionToFamily=ql.isDnsLookupIpVersion=void 0;var XW={auto:0,ipv4:4,ipv6:6};ql.isDnsLookupIpVersion=t=>t in XW;ql.dnsLookupIpVersionToFamily=t=>{if(ql.isDnsLookupIpVersion(t))return XW[t];throw new Error("Invalid DNS lookup IP version")}});var Fk=E(Ky=>{"use strict";Object.defineProperty(Ky,"__esModule",{value:!0});Ky.isResponseOk=void 0;Ky.isResponseOk=t=>{let{statusCode:e}=t,r=t.request.options.followRedirect?299:399;return e>=200&&e<=r||e===304}});var e8=E(Nk=>{"use strict";Object.defineProperty(Nk,"__esModule",{value:!0});var $W=new Set;Nk.default=t=>{$W.has(t)||($W.add(t),process.emitWarning(`Got: ${t}`,{type:"DeprecationWarning"}))}});var t8=E(Lk=>{"use strict";Object.defineProperty(Lk,"__esModule",{value:!0});var ar=Ca(),oSe=(t,e)=>{if(ar.default.null_(t.encoding))throw new TypeError("To get a Buffer, set `options.responseType` to `buffer` instead");ar.assert.any([ar.default.string,ar.default.undefined],t.encoding),ar.assert.any([ar.default.boolean,ar.default.undefined],t.resolveBodyOnly),ar.assert.any([ar.default.boolean,ar.default.undefined],t.methodRewriting),ar.assert.any([ar.default.boolean,ar.default.undefined],t.isStream),ar.assert.any([ar.default.string,ar.default.undefined],t.responseType),t.responseType===void 0&&(t.responseType="text");let{retry:r}=t;if(e?t.retry=P({},e.retry):t.retry={calculateDelay:i=>i.computedValue,limit:0,methods:[],statusCodes:[],errorCodes:[],maxRetryAfter:void 0},ar.default.object(r)?(t.retry=P(P({},t.retry),r),t.retry.methods=[...new Set(t.retry.methods.map(i=>i.toUpperCase()))],t.retry.statusCodes=[...new Set(t.retry.statusCodes)],t.retry.errorCodes=[...new Set(t.retry.errorCodes)]):ar.default.number(r)&&(t.retry.limit=r),ar.default.undefined(t.retry.maxRetryAfter)&&(t.retry.maxRetryAfter=Math.min(...[t.timeout.request,t.timeout.connect].filter(ar.default.number))),ar.default.object(t.pagination)){e&&(t.pagination=P(P({},e.pagination),t.pagination));let{pagination:i}=t;if(!ar.default.function_(i.transform))throw new Error("`options.pagination.transform` must be implemented");if(!ar.default.function_(i.shouldContinue))throw new Error("`options.pagination.shouldContinue` must be implemented");if(!ar.default.function_(i.filter))throw new TypeError("`options.pagination.filter` must be implemented");if(!ar.default.function_(i.paginate))throw new Error("`options.pagination.paginate` must be implemented")}return t.responseType==="json"&&t.headers.accept===void 0&&(t.headers.accept="application/json"),t};Lk.default=oSe});var r8=E(Qp=>{"use strict";Object.defineProperty(Qp,"__esModule",{value:!0});Qp.retryAfterStatusCodes=void 0;Qp.retryAfterStatusCodes=new Set([413,429,503]);var aSe=({attemptCount:t,retryOptions:e,error:r,retryAfter:i})=>{if(t>e.limit)return 0;let n=e.methods.includes(r.options.method),s=e.errorCodes.includes(r.code),o=r.response&&e.statusCodes.includes(r.response.statusCode);if(!n||!s&&!o)return 0;if(r.response){if(i)return e.maxRetryAfter===void 0||i>e.maxRetryAfter?0:i;if(r.response.statusCode===413)return 0}let a=Math.random()*100;return 2**(t-1)*1e3+a};Qp.default=aSe});var vp=E(Rt=>{"use strict";Object.defineProperty(Rt,"__esModule",{value:!0});Rt.UnsupportedProtocolError=Rt.ReadError=Rt.TimeoutError=Rt.UploadError=Rt.CacheError=Rt.HTTPError=Rt.MaxRedirectsError=Rt.RequestError=Rt.setNonEnumerableProperties=Rt.knownHookEvents=Rt.withoutBody=Rt.kIsNormalizedAlready=void 0;var i8=require("util"),n8=require("stream"),ASe=require("fs"),dA=require("url"),s8=require("http"),Tk=require("http"),lSe=require("https"),cSe=h3(),uSe=y3(),o8=tW(),gSe=sW(),fSe=MW(),hSe=Ly(),ce=Ca(),pSe=GW(),a8=wk(),dSe=bk(),A8=qW(),CSe=WW(),l8=zW(),mSe=_W(),ESe=Rk(),c8=ZW(),ISe=Fk(),CA=e8(),ySe=t8(),wSe=r8(),Mk,Ei=Symbol("request"),Uy=Symbol("response"),Ju=Symbol("responseSize"),Wu=Symbol("downloadedSize"),zu=Symbol("bodySize"),Vu=Symbol("uploadedSize"),Hy=Symbol("serverResponsesPiped"),u8=Symbol("unproxyEvents"),g8=Symbol("isFromCache"),Ok=Symbol("cancelTimeouts"),f8=Symbol("startedReading"),_u=Symbol("stopReading"),Gy=Symbol("triggerRead"),mA=Symbol("body"),bp=Symbol("jobs"),h8=Symbol("originalResponse"),p8=Symbol("retryTimeout");Rt.kIsNormalizedAlready=Symbol("isNormalizedAlready");var BSe=ce.default.string(process.versions.brotli);Rt.withoutBody=new Set(["GET","HEAD"]);Rt.knownHookEvents=["init","beforeRequest","beforeRedirect","beforeError","beforeRetry","afterResponse"];function QSe(t){for(let e in t){let r=t[e];if(!ce.default.string(r)&&!ce.default.number(r)&&!ce.default.boolean(r)&&!ce.default.null_(r)&&!ce.default.undefined(r))throw new TypeError(`The \`searchParams\` value '${String(r)}' must be a string, number, boolean or null`)}}function bSe(t){return ce.default.object(t)&&!("statusCode"in t)}var Kk=new mSe.default,vSe=async t=>new Promise((e,r)=>{let i=n=>{r(n)};t.pending||e(),t.once("error",i),t.once("ready",()=>{t.off("error",i),e()})}),SSe=new Set([300,301,302,303,304,307,308]),xSe=["context","body","json","form"];Rt.setNonEnumerableProperties=(t,e)=>{let r={};for(let i of t)if(!!i)for(let n of xSe)n in i&&(r[n]={writable:!0,configurable:!0,enumerable:!1,value:i[n]});Object.defineProperties(e,r)};var _r=class extends Error{constructor(e,r,i){var n;super(e);if(Error.captureStackTrace(this,this.constructor),this.name="RequestError",this.code=r.code,i instanceof Uk?(Object.defineProperty(this,"request",{enumerable:!1,value:i}),Object.defineProperty(this,"response",{enumerable:!1,value:i[Uy]}),Object.defineProperty(this,"options",{enumerable:!1,value:i.options})):Object.defineProperty(this,"options",{enumerable:!1,value:i}),this.timings=(n=this.request)===null||n===void 0?void 0:n.timings,ce.default.string(r.stack)&&ce.default.string(this.stack)){let s=this.stack.indexOf(this.message)+this.message.length,o=this.stack.slice(s).split(` +`).reverse(),a=r.stack.slice(r.stack.indexOf(r.message)+r.message.length).split(` +`).reverse();for(;a.length!==0&&a[0]===o[0];)o.shift();this.stack=`${this.stack.slice(0,s)}${o.reverse().join(` +`)}${a.reverse().join(` +`)}`}}};Rt.RequestError=_r;var Hk=class extends _r{constructor(e){super(`Redirected ${e.options.maxRedirects} times. Aborting.`,{},e);this.name="MaxRedirectsError"}};Rt.MaxRedirectsError=Hk;var Gk=class extends _r{constructor(e){super(`Response code ${e.statusCode} (${e.statusMessage})`,{},e.request);this.name="HTTPError"}};Rt.HTTPError=Gk;var jk=class extends _r{constructor(e,r){super(e.message,e,r);this.name="CacheError"}};Rt.CacheError=jk;var Yk=class extends _r{constructor(e,r){super(e.message,e,r);this.name="UploadError"}};Rt.UploadError=Yk;var qk=class extends _r{constructor(e,r,i){super(e.message,e,i);this.name="TimeoutError",this.event=e.event,this.timings=r}};Rt.TimeoutError=qk;var jy=class extends _r{constructor(e,r){super(e.message,e,r);this.name="ReadError"}};Rt.ReadError=jy;var Jk=class extends _r{constructor(e){super(`Unsupported protocol "${e.url.protocol}"`,{},e);this.name="UnsupportedProtocolError"}};Rt.UnsupportedProtocolError=Jk;var kSe=["socket","connect","continue","information","upgrade","timeout"],Uk=class extends n8.Duplex{constructor(e,r={},i){super({autoDestroy:!1,highWaterMark:0});this[Wu]=0,this[Vu]=0,this.requestInitialized=!1,this[Hy]=new Set,this.redirects=[],this[_u]=!1,this[Gy]=!1,this[bp]=[],this.retryCount=0,this._progressCallbacks=[];let n=()=>this._unlockWrite(),s=()=>this._lockWrite();this.on("pipe",c=>{c.prependListener("data",n),c.on("data",s),c.prependListener("end",n),c.on("end",s)}),this.on("unpipe",c=>{c.off("data",n),c.off("data",s),c.off("end",n),c.off("end",s)}),this.on("pipe",c=>{c instanceof Tk.IncomingMessage&&(this.options.headers=P(P({},c.headers),this.options.headers))});let{json:o,body:a,form:l}=r;if((o||a||l)&&this._lockWrite(),Rt.kIsNormalizedAlready in r)this.options=r;else try{this.options=this.constructor.normalizeArguments(e,r,i)}catch(c){ce.default.nodeStream(r.body)&&r.body.destroy(),this.destroy(c);return}(async()=>{var c;try{this.options.body instanceof ASe.ReadStream&&await vSe(this.options.body);let{url:u}=this.options;if(!u)throw new TypeError("Missing `url` property");if(this.requestUrl=u.toString(),decodeURI(this.requestUrl),await this._finalizeBody(),await this._makeRequest(),this.destroyed){(c=this[Ei])===null||c===void 0||c.destroy();return}for(let g of this[bp])g();this[bp].length=0,this.requestInitialized=!0}catch(u){if(u instanceof _r){this._beforeError(u);return}this.destroyed||this.destroy(u)}})()}static normalizeArguments(e,r,i){var n,s,o,a,l;let c=r;if(ce.default.object(e)&&!ce.default.urlInstance(e))r=P(P(P({},i),e),r);else{if(e&&r&&r.url!==void 0)throw new TypeError("The `url` option is mutually exclusive with the `input` argument");r=P(P({},i),r),e!==void 0&&(r.url=e),ce.default.urlInstance(r.url)&&(r.url=new dA.URL(r.url.toString()))}if(r.cache===!1&&(r.cache=void 0),r.dnsCache===!1&&(r.dnsCache=void 0),ce.assert.any([ce.default.string,ce.default.undefined],r.method),ce.assert.any([ce.default.object,ce.default.undefined],r.headers),ce.assert.any([ce.default.string,ce.default.urlInstance,ce.default.undefined],r.prefixUrl),ce.assert.any([ce.default.object,ce.default.undefined],r.cookieJar),ce.assert.any([ce.default.object,ce.default.string,ce.default.undefined],r.searchParams),ce.assert.any([ce.default.object,ce.default.string,ce.default.undefined],r.cache),ce.assert.any([ce.default.object,ce.default.number,ce.default.undefined],r.timeout),ce.assert.any([ce.default.object,ce.default.undefined],r.context),ce.assert.any([ce.default.object,ce.default.undefined],r.hooks),ce.assert.any([ce.default.boolean,ce.default.undefined],r.decompress),ce.assert.any([ce.default.boolean,ce.default.undefined],r.ignoreInvalidCookies),ce.assert.any([ce.default.boolean,ce.default.undefined],r.followRedirect),ce.assert.any([ce.default.number,ce.default.undefined],r.maxRedirects),ce.assert.any([ce.default.boolean,ce.default.undefined],r.throwHttpErrors),ce.assert.any([ce.default.boolean,ce.default.undefined],r.http2),ce.assert.any([ce.default.boolean,ce.default.undefined],r.allowGetBody),ce.assert.any([ce.default.string,ce.default.undefined],r.localAddress),ce.assert.any([c8.isDnsLookupIpVersion,ce.default.undefined],r.dnsLookupIpVersion),ce.assert.any([ce.default.object,ce.default.undefined],r.https),ce.assert.any([ce.default.boolean,ce.default.undefined],r.rejectUnauthorized),r.https&&(ce.assert.any([ce.default.boolean,ce.default.undefined],r.https.rejectUnauthorized),ce.assert.any([ce.default.function_,ce.default.undefined],r.https.checkServerIdentity),ce.assert.any([ce.default.string,ce.default.object,ce.default.array,ce.default.undefined],r.https.certificateAuthority),ce.assert.any([ce.default.string,ce.default.object,ce.default.array,ce.default.undefined],r.https.key),ce.assert.any([ce.default.string,ce.default.object,ce.default.array,ce.default.undefined],r.https.certificate),ce.assert.any([ce.default.string,ce.default.undefined],r.https.passphrase),ce.assert.any([ce.default.string,ce.default.buffer,ce.default.array,ce.default.undefined],r.https.pfx)),ce.assert.any([ce.default.object,ce.default.undefined],r.cacheOptions),ce.default.string(r.method)?r.method=r.method.toUpperCase():r.method="GET",r.headers===(i==null?void 0:i.headers)?r.headers=P({},r.headers):r.headers=hSe(P(P({},i==null?void 0:i.headers),r.headers)),"slashes"in r)throw new TypeError("The legacy `url.Url` has been deprecated. Use `URL` instead.");if("auth"in r)throw new TypeError("Parameter `auth` is deprecated. Use `username` / `password` instead.");if("searchParams"in r&&r.searchParams&&r.searchParams!==(i==null?void 0:i.searchParams)){let h;if(ce.default.string(r.searchParams)||r.searchParams instanceof dA.URLSearchParams)h=new dA.URLSearchParams(r.searchParams);else{QSe(r.searchParams),h=new dA.URLSearchParams;for(let p in r.searchParams){let d=r.searchParams[p];d===null?h.append(p,""):d!==void 0&&h.append(p,d)}}(n=i==null?void 0:i.searchParams)===null||n===void 0||n.forEach((p,d)=>{h.has(d)||h.append(d,p)}),r.searchParams=h}if(r.username=(s=r.username)!==null&&s!==void 0?s:"",r.password=(o=r.password)!==null&&o!==void 0?o:"",ce.default.undefined(r.prefixUrl)?r.prefixUrl=(a=i==null?void 0:i.prefixUrl)!==null&&a!==void 0?a:"":(r.prefixUrl=r.prefixUrl.toString(),r.prefixUrl!==""&&!r.prefixUrl.endsWith("/")&&(r.prefixUrl+="/")),ce.default.string(r.url)){if(r.url.startsWith("/"))throw new Error("`input` must not start with a slash when using `prefixUrl`");r.url=l8.default(r.prefixUrl+r.url,r)}else(ce.default.undefined(r.url)&&r.prefixUrl!==""||r.protocol)&&(r.url=l8.default(r.prefixUrl,r));if(r.url){"port"in r&&delete r.port;let{prefixUrl:h}=r;Object.defineProperty(r,"prefixUrl",{set:d=>{let m=r.url;if(!m.href.startsWith(d))throw new Error(`Cannot change \`prefixUrl\` from ${h} to ${d}: ${m.href}`);r.url=new dA.URL(d+m.href.slice(h.length)),h=d},get:()=>h});let{protocol:p}=r.url;if(p==="unix:"&&(p="http:",r.url=new dA.URL(`http://unix${r.url.pathname}${r.url.search}`)),r.searchParams&&(r.url.search=r.searchParams.toString()),p!=="http:"&&p!=="https:")throw new Jk(r);r.username===""?r.username=r.url.username:r.url.username=r.username,r.password===""?r.password=r.url.password:r.url.password=r.password}let{cookieJar:u}=r;if(u){let{setCookie:h,getCookieString:p}=u;ce.assert.function_(h),ce.assert.function_(p),h.length===4&&p.length===0&&(h=i8.promisify(h.bind(r.cookieJar)),p=i8.promisify(p.bind(r.cookieJar)),r.cookieJar={setCookie:h,getCookieString:p})}let{cache:g}=r;if(g&&(Kk.has(g)||Kk.set(g,new o8((h,p)=>{let d=h[Ei](h,p);return ce.default.promise(d)&&(d.once=(m,I)=>{if(m==="error")d.catch(I);else if(m==="abort")(async()=>{try{(await d).once("abort",I)}catch(B){}})();else throw new Error(`Unknown HTTP2 promise event: ${m}`);return d}),d},g))),r.cacheOptions=P({},r.cacheOptions),r.dnsCache===!0)Mk||(Mk=new uSe.default),r.dnsCache=Mk;else if(!ce.default.undefined(r.dnsCache)&&!r.dnsCache.lookup)throw new TypeError(`Parameter \`dnsCache\` must be a CacheableLookup instance or a boolean, got ${ce.default(r.dnsCache)}`);ce.default.number(r.timeout)?r.timeout={request:r.timeout}:i&&r.timeout!==i.timeout?r.timeout=P(P({},i.timeout),r.timeout):r.timeout=P({},r.timeout),r.context||(r.context={});let f=r.hooks===(i==null?void 0:i.hooks);r.hooks=P({},r.hooks);for(let h of Rt.knownHookEvents)if(h in r.hooks)if(ce.default.array(r.hooks[h]))r.hooks[h]=[...r.hooks[h]];else throw new TypeError(`Parameter \`${h}\` must be an Array, got ${ce.default(r.hooks[h])}`);else r.hooks[h]=[];if(i&&!f)for(let h of Rt.knownHookEvents)i.hooks[h].length>0&&(r.hooks[h]=[...i.hooks[h],...r.hooks[h]]);if("family"in r&&CA.default('"options.family" was never documented, please use "options.dnsLookupIpVersion"'),(i==null?void 0:i.https)&&(r.https=P(P({},i.https),r.https)),"rejectUnauthorized"in r&&CA.default('"options.rejectUnauthorized" is now deprecated, please use "options.https.rejectUnauthorized"'),"checkServerIdentity"in r&&CA.default('"options.checkServerIdentity" was never documented, please use "options.https.checkServerIdentity"'),"ca"in r&&CA.default('"options.ca" was never documented, please use "options.https.certificateAuthority"'),"key"in r&&CA.default('"options.key" was never documented, please use "options.https.key"'),"cert"in r&&CA.default('"options.cert" was never documented, please use "options.https.certificate"'),"passphrase"in r&&CA.default('"options.passphrase" was never documented, please use "options.https.passphrase"'),"pfx"in r&&CA.default('"options.pfx" was never documented, please use "options.https.pfx"'),"followRedirects"in r)throw new TypeError("The `followRedirects` option does not exist. Use `followRedirect` instead.");if(r.agent){for(let h in r.agent)if(h!=="http"&&h!=="https"&&h!=="http2")throw new TypeError(`Expected the \`options.agent\` properties to be \`http\`, \`https\` or \`http2\`, got \`${h}\``)}return r.maxRedirects=(l=r.maxRedirects)!==null&&l!==void 0?l:0,Rt.setNonEnumerableProperties([i,c],r),ySe.default(r,i)}_lockWrite(){let e=()=>{throw new TypeError("The payload has been already provided")};this.write=e,this.end=e}_unlockWrite(){this.write=super.write,this.end=super.end}async _finalizeBody(){let{options:e}=this,{headers:r}=e,i=!ce.default.undefined(e.form),n=!ce.default.undefined(e.json),s=!ce.default.undefined(e.body),o=i||n||s,a=Rt.withoutBody.has(e.method)&&!(e.method==="GET"&&e.allowGetBody);if(this._cannotHaveBody=a,o){if(a)throw new TypeError(`The \`${e.method}\` method cannot be used with a body`);if([s,i,n].filter(l=>l).length>1)throw new TypeError("The `body`, `json` and `form` options are mutually exclusive");if(s&&!(e.body instanceof n8.Readable)&&!ce.default.string(e.body)&&!ce.default.buffer(e.body)&&!a8.default(e.body))throw new TypeError("The `body` option must be a stream.Readable, string or Buffer");if(i&&!ce.default.object(e.form))throw new TypeError("The `form` option must be an Object");{let l=!ce.default.string(r["content-type"]);s?(a8.default(e.body)&&l&&(r["content-type"]=`multipart/form-data; boundary=${e.body.getBoundary()}`),this[mA]=e.body):i?(l&&(r["content-type"]="application/x-www-form-urlencoded"),this[mA]=new dA.URLSearchParams(e.form).toString()):(l&&(r["content-type"]="application/json"),this[mA]=e.stringifyJson(e.json));let c=await pSe.default(this[mA],e.headers);ce.default.undefined(r["content-length"])&&ce.default.undefined(r["transfer-encoding"])&&!a&&!ce.default.undefined(c)&&(r["content-length"]=String(c))}}else a?this._lockWrite():this._unlockWrite();this[zu]=Number(r["content-length"])||void 0}async _onResponseBase(e){let{options:r}=this,{url:i}=r;this[h8]=e,r.decompress&&(e=gSe(e));let n=e.statusCode,s=e;s.statusMessage=s.statusMessage?s.statusMessage:s8.STATUS_CODES[n],s.url=r.url.toString(),s.requestUrl=this.requestUrl,s.redirectUrls=this.redirects,s.request=this,s.isFromCache=e.fromCache||!1,s.ip=this.ip,s.retryCount=this.retryCount,this[g8]=s.isFromCache,this[Ju]=Number(e.headers["content-length"])||void 0,this[Uy]=e,e.once("end",()=>{this[Ju]=this[Wu],this.emit("downloadProgress",this.downloadProgress)}),e.once("error",a=>{e.destroy(),this._beforeError(new jy(a,this))}),e.once("aborted",()=>{this._beforeError(new jy({name:"Error",message:"The server aborted pending request",code:"ECONNRESET"},this))}),this.emit("downloadProgress",this.downloadProgress);let o=e.headers["set-cookie"];if(ce.default.object(r.cookieJar)&&o){let a=o.map(async l=>r.cookieJar.setCookie(l,i.toString()));r.ignoreInvalidCookies&&(a=a.map(async l=>l.catch(()=>{})));try{await Promise.all(a)}catch(l){this._beforeError(l);return}}if(r.followRedirect&&e.headers.location&&SSe.has(n)){if(e.resume(),this[Ei]&&(this[Ok](),delete this[Ei],this[u8]()),(n===303&&r.method!=="GET"&&r.method!=="HEAD"||!r.methodRewriting)&&(r.method="GET","body"in r&&delete r.body,"json"in r&&delete r.json,"form"in r&&delete r.form,this[mA]=void 0,delete r.headers["content-length"]),this.redirects.length>=r.maxRedirects){this._beforeError(new Hk(this));return}try{let l=Buffer.from(e.headers.location,"binary").toString(),c=new dA.URL(l,i),u=c.toString();decodeURI(u),c.hostname!==i.hostname||c.port!==i.port?("host"in r.headers&&delete r.headers.host,"cookie"in r.headers&&delete r.headers.cookie,"authorization"in r.headers&&delete r.headers.authorization,(r.username||r.password)&&(r.username="",r.password="")):(c.username=r.username,c.password=r.password),this.redirects.push(u),r.url=c;for(let g of r.hooks.beforeRedirect)await g(r,s);this.emit("redirect",s,r),await this._makeRequest()}catch(l){this._beforeError(l);return}return}if(r.isStream&&r.throwHttpErrors&&!ISe.isResponseOk(s)){this._beforeError(new Gk(s));return}e.on("readable",()=>{this[Gy]&&this._read()}),this.on("resume",()=>{e.resume()}),this.on("pause",()=>{e.pause()}),e.once("end",()=>{this.push(null)}),this.emit("response",e);for(let a of this[Hy])if(!a.headersSent){for(let l in e.headers){let c=r.decompress?l!=="content-encoding":!0,u=e.headers[l];c&&a.setHeader(l,u)}a.statusCode=n}}async _onResponse(e){try{await this._onResponseBase(e)}catch(r){this._beforeError(r)}}_onRequest(e){let{options:r}=this,{timeout:i,url:n}=r;cSe.default(e),this[Ok]=A8.default(e,i,n);let s=r.cache?"cacheableResponse":"response";e.once(s,l=>{this._onResponse(l)}),e.once("error",l=>{var c;e.destroy(),(c=e.res)===null||c===void 0||c.removeAllListeners("end"),l=l instanceof A8.TimeoutError?new qk(l,this.timings,this):new _r(l.message,l,this),this._beforeError(l)}),this[u8]=dSe.default(e,this,kSe),this[Ei]=e,this.emit("uploadProgress",this.uploadProgress);let o=this[mA],a=this.redirects.length===0?this:e;ce.default.nodeStream(o)?(o.pipe(a),o.once("error",l=>{this._beforeError(new Yk(l,this))})):(this._unlockWrite(),ce.default.undefined(o)?(this._cannotHaveBody||this._noPipe)&&(a.end(),this._lockWrite()):(this._writeRequest(o,void 0,()=>{}),a.end(),this._lockWrite())),this.emit("request",e)}async _createCacheableRequest(e,r){return new Promise((i,n)=>{Object.assign(r,CSe.default(e)),delete r.url;let s,o=Kk.get(r.cache)(r,async a=>{a._readableState.autoDestroy=!1,s&&(await s).emit("cacheableResponse",a),i(a)});r.url=e,o.once("error",n),o.once("request",async a=>{s=a,i(s)})})}async _makeRequest(){var e,r,i,n,s;let{options:o}=this,{headers:a}=o;for(let I in a)if(ce.default.undefined(a[I]))delete a[I];else if(ce.default.null_(a[I]))throw new TypeError(`Use \`undefined\` instead of \`null\` to delete the \`${I}\` header`);if(o.decompress&&ce.default.undefined(a["accept-encoding"])&&(a["accept-encoding"]=BSe?"gzip, deflate, br":"gzip, deflate"),o.cookieJar){let I=await o.cookieJar.getCookieString(o.url.toString());ce.default.nonEmptyString(I)&&(o.headers.cookie=I)}for(let I of o.hooks.beforeRequest){let B=await I(o);if(!ce.default.undefined(B)){o.request=()=>B;break}}o.body&&this[mA]!==o.body&&(this[mA]=o.body);let{agent:l,request:c,timeout:u,url:g}=o;if(o.dnsCache&&!("lookup"in o)&&(o.lookup=o.dnsCache.lookup),g.hostname==="unix"){let I=/(?.+?):(?.+)/.exec(`${g.pathname}${g.search}`);if(I==null?void 0:I.groups){let{socketPath:B,path:b}=I.groups;Object.assign(o,{socketPath:B,path:b,host:""})}}let f=g.protocol==="https:",h;o.http2?h=fSe.auto:h=f?lSe.request:s8.request;let p=(e=o.request)!==null&&e!==void 0?e:h,d=o.cache?this._createCacheableRequest:p;l&&!o.http2&&(o.agent=l[f?"https":"http"]),o[Ei]=p,delete o.request,delete o.timeout;let m=o;if(m.shared=(r=o.cacheOptions)===null||r===void 0?void 0:r.shared,m.cacheHeuristic=(i=o.cacheOptions)===null||i===void 0?void 0:i.cacheHeuristic,m.immutableMinTimeToLive=(n=o.cacheOptions)===null||n===void 0?void 0:n.immutableMinTimeToLive,m.ignoreCargoCult=(s=o.cacheOptions)===null||s===void 0?void 0:s.ignoreCargoCult,o.dnsLookupIpVersion!==void 0)try{m.family=c8.dnsLookupIpVersionToFamily(o.dnsLookupIpVersion)}catch(I){throw new Error("Invalid `dnsLookupIpVersion` option value")}o.https&&("rejectUnauthorized"in o.https&&(m.rejectUnauthorized=o.https.rejectUnauthorized),o.https.checkServerIdentity&&(m.checkServerIdentity=o.https.checkServerIdentity),o.https.certificateAuthority&&(m.ca=o.https.certificateAuthority),o.https.certificate&&(m.cert=o.https.certificate),o.https.key&&(m.key=o.https.key),o.https.passphrase&&(m.passphrase=o.https.passphrase),o.https.pfx&&(m.pfx=o.https.pfx));try{let I=await d(g,m);ce.default.undefined(I)&&(I=h(g,m)),o.request=c,o.timeout=u,o.agent=l,o.https&&("rejectUnauthorized"in o.https&&delete m.rejectUnauthorized,o.https.checkServerIdentity&&delete m.checkServerIdentity,o.https.certificateAuthority&&delete m.ca,o.https.certificate&&delete m.cert,o.https.key&&delete m.key,o.https.passphrase&&delete m.passphrase,o.https.pfx&&delete m.pfx),bSe(I)?this._onRequest(I):this.writable?(this.once("finish",()=>{this._onResponse(I)}),this._unlockWrite(),this.end(),this._lockWrite()):this._onResponse(I)}catch(I){throw I instanceof o8.CacheError?new jk(I,this):new _r(I.message,I,this)}}async _error(e){try{for(let r of this.options.hooks.beforeError)e=await r(e)}catch(r){e=new _r(r.message,r,this)}this.destroy(e)}_beforeError(e){if(this[_u])return;let{options:r}=this,i=this.retryCount+1;this[_u]=!0,e instanceof _r||(e=new _r(e.message,e,this));let n=e,{response:s}=n;(async()=>{if(s&&!s.body){s.setEncoding(this._readableState.encoding);try{s.rawBody=await ESe.default(s),s.body=s.rawBody.toString()}catch(o){}}if(this.listenerCount("retry")!==0){let o;try{let a;s&&"retry-after"in s.headers&&(a=Number(s.headers["retry-after"]),Number.isNaN(a)?(a=Date.parse(s.headers["retry-after"])-Date.now(),a<=0&&(a=1)):a*=1e3),o=await r.retry.calculateDelay({attemptCount:i,retryOptions:r.retry,error:n,retryAfter:a,computedValue:wSe.default({attemptCount:i,retryOptions:r.retry,error:n,retryAfter:a,computedValue:0})})}catch(a){this._error(new _r(a.message,a,this));return}if(o){let a=async()=>{try{for(let l of this.options.hooks.beforeRetry)await l(this.options,n,i)}catch(l){this._error(new _r(l.message,e,this));return}this.destroyed||(this.destroy(),this.emit("retry",i,e))};this[p8]=setTimeout(a,o);return}}this._error(n)})()}_read(){this[Gy]=!0;let e=this[Uy];if(e&&!this[_u]){e.readableLength&&(this[Gy]=!1);let r;for(;(r=e.read())!==null;){this[Wu]+=r.length,this[f8]=!0;let i=this.downloadProgress;i.percent<1&&this.emit("downloadProgress",i),this.push(r)}}}_write(e,r,i){let n=()=>{this._writeRequest(e,r,i)};this.requestInitialized?n():this[bp].push(n)}_writeRequest(e,r,i){this[Ei].destroyed||(this._progressCallbacks.push(()=>{this[Vu]+=Buffer.byteLength(e,r);let n=this.uploadProgress;n.percent<1&&this.emit("uploadProgress",n)}),this[Ei].write(e,r,n=>{!n&&this._progressCallbacks.length>0&&this._progressCallbacks.shift()(),i(n)}))}_final(e){let r=()=>{for(;this._progressCallbacks.length!==0;)this._progressCallbacks.shift()();if(!(Ei in this)){e();return}if(this[Ei].destroyed){e();return}this[Ei].end(i=>{i||(this[zu]=this[Vu],this.emit("uploadProgress",this.uploadProgress),this[Ei].emit("upload-complete")),e(i)})};this.requestInitialized?r():this[bp].push(r)}_destroy(e,r){var i;this[_u]=!0,clearTimeout(this[p8]),Ei in this&&(this[Ok](),((i=this[Uy])===null||i===void 0?void 0:i.complete)||this[Ei].destroy()),e!==null&&!ce.default.undefined(e)&&!(e instanceof _r)&&(e=new _r(e.message,e,this)),r(e)}get _isAboutToError(){return this[_u]}get ip(){var e;return(e=this.socket)===null||e===void 0?void 0:e.remoteAddress}get aborted(){var e,r,i;return((r=(e=this[Ei])===null||e===void 0?void 0:e.destroyed)!==null&&r!==void 0?r:this.destroyed)&&!((i=this[h8])===null||i===void 0?void 0:i.complete)}get socket(){var e,r;return(r=(e=this[Ei])===null||e===void 0?void 0:e.socket)!==null&&r!==void 0?r:void 0}get downloadProgress(){let e;return this[Ju]?e=this[Wu]/this[Ju]:this[Ju]===this[Wu]?e=1:e=0,{percent:e,transferred:this[Wu],total:this[Ju]}}get uploadProgress(){let e;return this[zu]?e=this[Vu]/this[zu]:this[zu]===this[Vu]?e=1:e=0,{percent:e,transferred:this[Vu],total:this[zu]}}get timings(){var e;return(e=this[Ei])===null||e===void 0?void 0:e.timings}get isFromCache(){return this[g8]}pipe(e,r){if(this[f8])throw new Error("Failed to pipe. The response has been emitted already.");return e instanceof Tk.ServerResponse&&this[Hy].add(e),super.pipe(e,r)}unpipe(e){return e instanceof Tk.ServerResponse&&this[Hy].delete(e),super.unpipe(e),this}};Rt.default=Uk});var Sp=E(Ms=>{"use strict";var PSe=Ms&&Ms.__createBinding||(Object.create?function(t,e,r,i){i===void 0&&(i=r),Object.defineProperty(t,i,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,i){i===void 0&&(i=r),t[i]=e[r]}),DSe=Ms&&Ms.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&PSe(e,t,r)};Object.defineProperty(Ms,"__esModule",{value:!0});Ms.CancelError=Ms.ParseError=void 0;var d8=vp(),C8=class extends d8.RequestError{constructor(e,r){let{options:i}=r.request;super(`${e.message} in "${i.url.toString()}"`,e,r.request);this.name="ParseError"}};Ms.ParseError=C8;var m8=class extends d8.RequestError{constructor(e){super("Promise was canceled",{},e);this.name="CancelError"}get isCanceled(){return!0}};Ms.CancelError=m8;DSe(vp(),Ms)});var I8=E(Wk=>{"use strict";Object.defineProperty(Wk,"__esModule",{value:!0});var E8=Sp(),RSe=(t,e,r,i)=>{let{rawBody:n}=t;try{if(e==="text")return n.toString(i);if(e==="json")return n.length===0?"":r(n.toString());if(e==="buffer")return n;throw new E8.ParseError({message:`Unknown body type '${e}'`,name:"Error"},t)}catch(s){throw new E8.ParseError(s,t)}};Wk.default=RSe});var zk=E(EA=>{"use strict";var FSe=EA&&EA.__createBinding||(Object.create?function(t,e,r,i){i===void 0&&(i=r),Object.defineProperty(t,i,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,i){i===void 0&&(i=r),t[i]=e[r]}),NSe=EA&&EA.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&FSe(e,t,r)};Object.defineProperty(EA,"__esModule",{value:!0});var LSe=require("events"),TSe=Ca(),MSe=g3(),Yy=Sp(),y8=I8(),w8=vp(),OSe=bk(),KSe=Rk(),B8=Fk(),USe=["request","response","redirect","uploadProgress","downloadProgress"];function Q8(t){let e,r,i=new LSe.EventEmitter,n=new MSe((o,a,l)=>{let c=u=>{let g=new w8.default(void 0,t);g.retryCount=u,g._noPipe=!0,l(()=>g.destroy()),l.shouldReject=!1,l(()=>a(new Yy.CancelError(g))),e=g,g.once("response",async p=>{var d;if(p.retryCount=u,p.request.aborted)return;let m;try{m=await KSe.default(g),p.rawBody=m}catch(R){return}if(g._isAboutToError)return;let I=((d=p.headers["content-encoding"])!==null&&d!==void 0?d:"").toLowerCase(),B=["gzip","deflate","br"].includes(I),{options:b}=g;if(B&&!b.decompress)p.body=m;else try{p.body=y8.default(p,b.responseType,b.parseJson,b.encoding)}catch(R){if(p.body=m.toString(),B8.isResponseOk(p)){g._beforeError(R);return}}try{for(let[R,H]of b.hooks.afterResponse.entries())p=await H(p,async L=>{let K=w8.default.normalizeArguments(void 0,_(P({},L),{retry:{calculateDelay:()=>0},throwHttpErrors:!1,resolveBodyOnly:!1}),b);K.hooks.afterResponse=K.hooks.afterResponse.slice(0,R);for(let ne of K.hooks.beforeRetry)await ne(K);let J=Q8(K);return l(()=>{J.catch(()=>{}),J.cancel()}),J})}catch(R){g._beforeError(new Yy.RequestError(R.message,R,g));return}if(!B8.isResponseOk(p)){g._beforeError(new Yy.HTTPError(p));return}r=p,o(g.options.resolveBodyOnly?p.body:p)});let f=p=>{if(n.isCanceled)return;let{options:d}=g;if(p instanceof Yy.HTTPError&&!d.throwHttpErrors){let{response:m}=p;o(g.options.resolveBodyOnly?m.body:m);return}a(p)};g.once("error",f);let h=g.options.body;g.once("retry",(p,d)=>{var m,I;if(h===((m=d.request)===null||m===void 0?void 0:m.options.body)&&TSe.default.nodeStream((I=d.request)===null||I===void 0?void 0:I.options.body)){f(d);return}c(p)}),OSe.default(g,i,USe)};c(0)});n.on=(o,a)=>(i.on(o,a),n);let s=o=>{let a=(async()=>{await n;let{options:l}=r.request;return y8.default(r,o,l.parseJson,l.encoding)})();return Object.defineProperties(a,Object.getOwnPropertyDescriptors(n)),a};return n.json=()=>{let{headers:o}=e.options;return!e.writableFinished&&o.accept===void 0&&(o.accept="application/json"),s("json")},n.buffer=()=>s("buffer"),n.text=()=>s("text"),n}EA.default=Q8;NSe(Sp(),EA)});var b8=E(Vk=>{"use strict";Object.defineProperty(Vk,"__esModule",{value:!0});var HSe=Sp();function GSe(t,...e){let r=(async()=>{if(t instanceof HSe.RequestError)try{for(let n of e)if(n)for(let s of n)t=await s(t)}catch(n){t=n}throw t})(),i=()=>r;return r.json=i,r.text=i,r.buffer=i,r.on=i,r}Vk.default=GSe});var x8=E(_k=>{"use strict";Object.defineProperty(_k,"__esModule",{value:!0});var v8=Ca();function S8(t){for(let e of Object.values(t))(v8.default.plainObject(e)||v8.default.array(e))&&S8(e);return Object.freeze(t)}_k.default=S8});var P8=E(k8=>{"use strict";Object.defineProperty(k8,"__esModule",{value:!0})});var Xk=E(ss=>{"use strict";var jSe=ss&&ss.__createBinding||(Object.create?function(t,e,r,i){i===void 0&&(i=r),Object.defineProperty(t,i,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,i){i===void 0&&(i=r),t[i]=e[r]}),YSe=ss&&ss.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&jSe(e,t,r)};Object.defineProperty(ss,"__esModule",{value:!0});ss.defaultHandler=void 0;var D8=Ca(),os=zk(),qSe=b8(),qy=vp(),JSe=x8(),WSe={RequestError:os.RequestError,CacheError:os.CacheError,ReadError:os.ReadError,HTTPError:os.HTTPError,MaxRedirectsError:os.MaxRedirectsError,TimeoutError:os.TimeoutError,ParseError:os.ParseError,CancelError:os.CancelError,UnsupportedProtocolError:os.UnsupportedProtocolError,UploadError:os.UploadError},zSe=async t=>new Promise(e=>{setTimeout(e,t)}),{normalizeArguments:Jy}=qy.default,R8=(...t)=>{let e;for(let r of t)e=Jy(void 0,r,e);return e},VSe=t=>t.isStream?new qy.default(void 0,t):os.default(t),_Se=t=>"defaults"in t&&"options"in t.defaults,XSe=["get","post","put","patch","head","delete"];ss.defaultHandler=(t,e)=>e(t);var F8=(t,e)=>{if(t)for(let r of t)r(e)},N8=t=>{t._rawHandlers=t.handlers,t.handlers=t.handlers.map(i=>(n,s)=>{let o,a=i(n,l=>(o=s(l),o));if(a!==o&&!n.isStream&&o){let l=a,{then:c,catch:u,finally:g}=l;Object.setPrototypeOf(l,Object.getPrototypeOf(o)),Object.defineProperties(l,Object.getOwnPropertyDescriptors(o)),l.then=c,l.catch=u,l.finally=g}return a});let e=(i,n={},s)=>{var o,a;let l=0,c=u=>t.handlers[l++](u,l===t.handlers.length?VSe:c);if(D8.default.plainObject(i)){let u=P(P({},i),n);qy.setNonEnumerableProperties([i,n],u),n=u,i=void 0}try{let u;try{F8(t.options.hooks.init,n),F8((o=n.hooks)===null||o===void 0?void 0:o.init,n)}catch(f){u=f}let g=Jy(i,n,s!=null?s:t.options);if(g[qy.kIsNormalizedAlready]=!0,u)throw new os.RequestError(u.message,u,g);return c(g)}catch(u){if(n.isStream)throw u;return qSe.default(u,t.options.hooks.beforeError,(a=n.hooks)===null||a===void 0?void 0:a.beforeError)}};e.extend=(...i)=>{let n=[t.options],s=[...t._rawHandlers],o;for(let a of i)_Se(a)?(n.push(a.defaults.options),s.push(...a.defaults._rawHandlers),o=a.defaults.mutableDefaults):(n.push(a),"handlers"in a&&s.push(...a.handlers),o=a.mutableDefaults);return s=s.filter(a=>a!==ss.defaultHandler),s.length===0&&s.push(ss.defaultHandler),N8({options:R8(...n),handlers:s,mutableDefaults:Boolean(o)})};let r=async function*(i,n){let s=Jy(i,n,t.options);s.resolveBodyOnly=!1;let o=s.pagination;if(!D8.default.object(o))throw new TypeError("`options.pagination` must be implemented");let a=[],{countLimit:l}=o,c=0;for(;c{let s=[];for await(let o of r(i,n))s.push(o);return s},e.paginate.each=r,e.stream=(i,n)=>e(i,_(P({},n),{isStream:!0}));for(let i of XSe)e[i]=(n,s)=>e(n,_(P({},s),{method:i})),e.stream[i]=(n,s)=>e(n,_(P({},s),{method:i,isStream:!0}));return Object.assign(e,WSe),Object.defineProperty(e,"defaults",{value:t.mutableDefaults?t:JSe.default(t),writable:t.mutableDefaults,configurable:t.mutableDefaults,enumerable:!0}),e.mergeOptions=R8,e};ss.default=N8;YSe(P8(),ss)});var zy=E((Ea,Wy)=>{"use strict";var ZSe=Ea&&Ea.__createBinding||(Object.create?function(t,e,r,i){i===void 0&&(i=r),Object.defineProperty(t,i,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,i){i===void 0&&(i=r),t[i]=e[r]}),L8=Ea&&Ea.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&ZSe(e,t,r)};Object.defineProperty(Ea,"__esModule",{value:!0});var $Se=require("url"),T8=Xk(),exe={options:{method:"GET",retry:{limit:2,methods:["GET","PUT","HEAD","DELETE","OPTIONS","TRACE"],statusCodes:[408,413,429,500,502,503,504,521,522,524],errorCodes:["ETIMEDOUT","ECONNRESET","EADDRINUSE","ECONNREFUSED","EPIPE","ENOTFOUND","ENETUNREACH","EAI_AGAIN"],maxRetryAfter:void 0,calculateDelay:({computedValue:t})=>t},timeout:{},headers:{"user-agent":"got (https://github.com/sindresorhus/got)"},hooks:{init:[],beforeRequest:[],beforeRedirect:[],beforeRetry:[],beforeError:[],afterResponse:[]},cache:void 0,dnsCache:void 0,decompress:!0,throwHttpErrors:!0,followRedirect:!0,isStream:!1,responseType:"text",resolveBodyOnly:!1,maxRedirects:10,prefixUrl:"",methodRewriting:!0,ignoreInvalidCookies:!1,context:{},http2:!1,allowGetBody:!1,https:void 0,pagination:{transform:t=>t.request.options.responseType==="json"?t.body:JSON.parse(t.body),paginate:t=>{if(!Reflect.has(t.headers,"link"))return!1;let e=t.headers.link.split(","),r;for(let i of e){let n=i.split(";");if(n[1].includes("next")){r=n[0].trimStart().trim(),r=r.slice(1,-1);break}}return r?{url:new $Se.URL(r)}:!1},filter:()=>!0,shouldContinue:()=>!0,countLimit:Infinity,backoff:0,requestLimit:1e4,stackAllItems:!0},parseJson:t=>JSON.parse(t),stringifyJson:t=>JSON.stringify(t),cacheOptions:{}},handlers:[T8.defaultHandler],mutableDefaults:!1},Zk=T8.default(exe);Ea.default=Zk;Wy.exports=Zk;Wy.exports.default=Zk;Wy.exports.__esModule=!0;L8(Xk(),Ea);L8(zk(),Ea)});var U8=E(Xu=>{"use strict";var fst=require("net"),txe=require("tls"),$k=require("http"),M8=require("https"),rxe=require("events"),hst=require("assert"),ixe=require("util");Xu.httpOverHttp=nxe;Xu.httpsOverHttp=sxe;Xu.httpOverHttps=oxe;Xu.httpsOverHttps=axe;function nxe(t){var e=new Ia(t);return e.request=$k.request,e}function sxe(t){var e=new Ia(t);return e.request=$k.request,e.createSocket=O8,e.defaultPort=443,e}function oxe(t){var e=new Ia(t);return e.request=M8.request,e}function axe(t){var e=new Ia(t);return e.request=M8.request,e.createSocket=O8,e.defaultPort=443,e}function Ia(t){var e=this;e.options=t||{},e.proxyOptions=e.options.proxy||{},e.maxSockets=e.options.maxSockets||$k.Agent.defaultMaxSockets,e.requests=[],e.sockets=[],e.on("free",function(i,n,s,o){for(var a=K8(n,s,o),l=0,c=e.requests.length;l=this.maxSockets){s.requests.push(o);return}s.createSocket(o,function(a){a.on("free",l),a.on("close",c),a.on("agentRemove",c),e.onSocket(a);function l(){s.emit("free",a,o)}function c(u){s.removeSocket(a),a.removeListener("free",l),a.removeListener("close",c),a.removeListener("agentRemove",c)}})};Ia.prototype.createSocket=function(e,r){var i=this,n={};i.sockets.push(n);var s=eP({},i.proxyOptions,{method:"CONNECT",path:e.host+":"+e.port,agent:!1,headers:{host:e.host+":"+e.port}});e.localAddress&&(s.localAddress=e.localAddress),s.proxyAuth&&(s.headers=s.headers||{},s.headers["Proxy-Authorization"]="Basic "+new Buffer(s.proxyAuth).toString("base64")),IA("making CONNECT request");var o=i.request(s);o.useChunkedEncodingByDefault=!1,o.once("response",a),o.once("upgrade",l),o.once("connect",c),o.once("error",u),o.end();function a(g){g.upgrade=!0}function l(g,f,h){process.nextTick(function(){c(g,f,h)})}function c(g,f,h){if(o.removeAllListeners(),f.removeAllListeners(),g.statusCode!==200){IA("tunneling socket could not be established, statusCode=%d",g.statusCode),f.destroy();var p=new Error("tunneling socket could not be established, statusCode="+g.statusCode);p.code="ECONNRESET",e.request.emit("error",p),i.removeSocket(n);return}if(h.length>0){IA("got illegal response body from proxy"),f.destroy();var p=new Error("got illegal response body from proxy");p.code="ECONNRESET",e.request.emit("error",p),i.removeSocket(n);return}return IA("tunneling connection has established"),i.sockets[i.sockets.indexOf(n)]=f,r(f)}function u(g){o.removeAllListeners(),IA(`tunneling socket could not be established, cause=%s +`,g.message,g.stack);var f=new Error("tunneling socket could not be established, cause="+g.message);f.code="ECONNRESET",e.request.emit("error",f),i.removeSocket(n)}};Ia.prototype.removeSocket=function(e){var r=this.sockets.indexOf(e);if(r!==-1){this.sockets.splice(r,1);var i=this.requests.shift();i&&this.createSocket(i,function(n){i.request.onSocket(n)})}};function O8(t,e){var r=this;Ia.prototype.createSocket.call(r,t,function(i){var n=t.request.getHeader("host"),s=eP({},r.options,{socket:i,servername:n?n.replace(/:.*$/,""):t.host}),o=txe.connect(0,s);r.sockets[r.sockets.indexOf(i)]=o,e(o)})}function K8(t,e,r){return typeof t=="string"?{host:t,port:e,localAddress:r}:t}function eP(t){for(var e=1,r=arguments.length;e{H8.exports=U8()});var b4=E((xot,sP)=>{var e4=Object.assign({},require("fs")),oe=typeof oe!="undefined"?oe:{},kp={},wA;for(wA in oe)oe.hasOwnProperty(wA)&&(kp[wA]=oe[wA]);var oP=[],t4="./this.program",r4=function(t,e){throw e},i4=!1,Wl=!0,Pp="";function dxe(t){return oe.locateFile?oe.locateFile(t,Pp):Pp+t}var Xy,aP,Zy,AP;Wl&&(i4?Pp=require("path").dirname(Pp)+"/":Pp=__dirname+"/",Xy=function(e,r){var i=s4(e);return i?r?i:i.toString():(Zy||(Zy=e4),AP||(AP=require("path")),e=AP.normalize(e),Zy.readFileSync(e,r?null:"utf8"))},aP=function(e){var r=Xy(e,!0);return r.buffer||(r=new Uint8Array(r)),n4(r.buffer),r},process.argv.length>1&&(t4=process.argv[1].replace(/\\/g,"/")),oP=process.argv.slice(2),typeof sP!="undefined"&&(sP.exports=oe),r4=function(t){process.exit(t)},oe.inspect=function(){return"[Emscripten Module object]"});var $y=oe.print||console.log.bind(console),Di=oe.printErr||console.warn.bind(console);for(wA in kp)kp.hasOwnProperty(wA)&&(oe[wA]=kp[wA]);kp=null;oe.arguments&&(oP=oe.arguments);oe.thisProgram&&(t4=oe.thisProgram);oe.quit&&(r4=oe.quit);var Cxe=16;function mxe(t,e){return e||(e=Cxe),Math.ceil(t/e)*e}var Exe=0,Ixe=function(t){Exe=t},lP;oe.wasmBinary&&(lP=oe.wasmBinary);var Pst=oe.noExitRuntime||!0;typeof WebAssembly!="object"&&Gr("no native wasm support detected");function yxe(t,e,r){switch(e=e||"i8",e.charAt(e.length-1)==="*"&&(e="i32"),e){case"i1":return Zi[t>>0];case"i8":return Zi[t>>0];case"i16":return cP[t>>1];case"i32":return _e[t>>2];case"i64":return _e[t>>2];case"float":return o4[t>>2];case"double":return a4[t>>3];default:Gr("invalid type for getValue: "+e)}return null}var ew,A4=!1,wxe;function n4(t,e){t||Gr("Assertion failed: "+e)}function l4(t){var e=oe["_"+t];return n4(e,"Cannot call unknown function "+t+", make sure it is exported"),e}function vxe(t,e,r,i,n){var s={string:function(h){var p=0;if(h!=null&&h!==0){var d=(h.length<<2)+1;p=g4(d),u4(h,p,d)}return p},array:function(h){var p=g4(h.length);return Bxe(h,p),p}};function o(h){return e==="string"?c4(h):e==="boolean"?Boolean(h):h}var a=l4(t),l=[],c=0;if(i)for(var u=0;u=i);)++n;if(n-e>16&&t.subarray&&f4)return f4.decode(t.subarray(e,n));for(var s="";e>10,56320|c&1023)}}return s}function c4(t,e){return t?Zu($u,t,e):""}function tw(t,e,r,i){if(!(i>0))return 0;for(var n=r,s=r+i-1,o=0;o=55296&&a<=57343){var l=t.charCodeAt(++o);a=65536+((a&1023)<<10)|l&1023}if(a<=127){if(r>=s)break;e[r++]=a}else if(a<=2047){if(r+1>=s)break;e[r++]=192|a>>6,e[r++]=128|a&63}else if(a<=65535){if(r+2>=s)break;e[r++]=224|a>>12,e[r++]=128|a>>6&63,e[r++]=128|a&63}else{if(r+3>=s)break;e[r++]=240|a>>18,e[r++]=128|a>>12&63,e[r++]=128|a>>6&63,e[r++]=128|a&63}}return e[r]=0,r-n}function u4(t,e,r){return tw(t,$u,e,r)}function rw(t){for(var e=0,r=0;r=55296&&i<=57343&&(i=65536+((i&1023)<<10)|t.charCodeAt(++r)&1023),i<=127?++e:i<=2047?e+=2:i<=65535?e+=3:e+=4}return e}function uP(t){var e=rw(t)+1,r=h4(e);return r&&tw(t,Zi,r,e),r}function Bxe(t,e){Zi.set(t,e)}function xxe(t,e){return t%e>0&&(t+=e-t%e),t}var gP,Zi,$u,cP,kxe,_e,Pxe,o4,a4;function p4(t){gP=t,oe.HEAP8=Zi=new Int8Array(t),oe.HEAP16=cP=new Int16Array(t),oe.HEAP32=_e=new Int32Array(t),oe.HEAPU8=$u=new Uint8Array(t),oe.HEAPU16=kxe=new Uint16Array(t),oe.HEAPU32=Pxe=new Uint32Array(t),oe.HEAPF32=o4=new Float32Array(t),oe.HEAPF64=a4=new Float64Array(t)}var Dst=oe.INITIAL_MEMORY||16777216,fP,d4=[],C4=[],m4=[],Dxe=!1;function Fxe(){if(oe.preRun)for(typeof oe.preRun=="function"&&(oe.preRun=[oe.preRun]);oe.preRun.length;)Rxe(oe.preRun.shift());hP(d4)}function Nxe(){Dxe=!0,!oe.noFSInit&&!y.init.initialized&&y.init(),BA.init(),hP(C4)}function Txe(){if(oe.postRun)for(typeof oe.postRun=="function"&&(oe.postRun=[oe.postRun]);oe.postRun.length;)Lxe(oe.postRun.shift());hP(m4)}function Rxe(t){d4.unshift(t)}function Mxe(t){C4.unshift(t)}function Lxe(t){m4.unshift(t)}var zl=0,pP=null,Dp=null;function Oxe(t){return t}function E4(t){zl++,oe.monitorRunDependencies&&oe.monitorRunDependencies(zl)}function dP(t){if(zl--,oe.monitorRunDependencies&&oe.monitorRunDependencies(zl),zl==0&&(pP!==null&&(clearInterval(pP),pP=null),Dp)){var e=Dp;Dp=null,e()}}oe.preloadedImages={};oe.preloadedAudios={};function Gr(t){oe.onAbort&&oe.onAbort(t),t+="",Di(t),A4=!0,wxe=1,t="abort("+t+"). Build with -s ASSERTIONS=1 for more info.";var e=new WebAssembly.RuntimeError(t);throw e}var I4="data:application/octet-stream;base64,";function y4(t){return t.startsWith(I4)}var Rp="data:application/octet-stream;base64,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AkEEaiEBIAIoAgAiA0F/cyADQYGChAhrcUGAgYKEeHFFDQALIANB/wFxRQRAIAIgAGsPCwNAIAItAAEhAyACQQFqIgEhAiADDQALCyABIABrC2EBAX8jAEEQayICIAA2AgggAiABNwMAAkAgAikDACACKAIIKQMIVgRAIAIoAghBADoAACACQX82AgwMAQsgAigCCEEBOgAAIAIoAgggAikDADcDECACQQA2AgwLIAIoAgwL7wEBAX8jAEEgayICJAAgAiAANgIYIAIgATcDECACIAIoAhhCCBAeNgIMAkAgAigCDEUEQCACQX82AhwMAQsgAigCDCACKQMQQv8BgzwAACACKAIMIAIpAxBCCIhC/wGDPAABIAIoAgwgAikDEEIQiEL/AYM8AAIgAigCDCACKQMQQhiIQv8BgzwAAyACKAIMIAIpAxBCIIhC/wGDPAAEIAIoAgwgAikDEEIoiEL/AYM8AAUgAigCDCACKQMQQjCIQv8BgzwABiACKAIMIAIpAxBCOIhC/wGDPAAHIAJBADYCHAsgAigCHBogAkEgaiQAC4cDAQF/IwBBMGsiAyQAIAMgADYCJCADIAE2AiAgAyACNwMYAkAgAygCJC0AKEEBcQRAIANCfzcDKAwBCwJAAkAgAygCJCgCIEUNACADKQMYQv///////////wBWDQAgAykDGFANASADKAIgDQELIAMoAiRBDGpBEkEAEBQgA0J/NwMoDAELIAMoAiQtADVBAXEEQCADQn83AygMAQsCfyMAQRBrIgAgAygCJDYCDCAAKAIMLQA0QQFxCwRAIANCADcDKAwBCyADKQMYUARAIANCADcDKAwBCyADQgA3AxADQCADKQMQIAMpAxhUBEAgAyADKAIkIAMoAiAgAykDEKdqIAMpAxggAykDEH1BARAhIgI3AwggAkIAUwRAIAMoAiRBAToANSADKQMQUARAIANCfzcDKAwECyADIAMpAxA3AygMAwsgAykDCFAEQCADKAIkQQE6ADQFIAMgAykDCCADKQMQfDcDEAwCCwsLIAMgAykDEDcDKAsgAykDKCECIANBMGokACACCzYBAX8jAEEQayIBIAA2AgwCfiABKAIMLQAAQQFxBEAgASgCDCkDCCABKAIMKQMQfQwBC0IACwuyAQIBfwF+IwBBEGsiASQAIAEgADYCBCABIAEoAgRC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AkEBNgIQIAJBADYCCANAAkAgAigCCCACKAIYLwEETw0AAkAgAigCDCACKAIIai0AAEEfSwRAIAIoAgwgAigCCGotAABBgAFJDQELIAIoAgwgAigCCGotAABBDUYNACACKAIMIAIoAghqLQAAQQpGDQAgAigCDCACKAIIai0AAEEJRgRADAELIAJBAzYCEAJAIAIoAgwgAigCCGotAABB4AFxQcABRgRAIAJBATYCAAwBCwJAIAIoAgwgAigCCGotAABB8AFxQeABRgRAIAJBAjYCAAwBCwJAIAIoAgwgAigCCGotAABB+AFxQfABRgRAIAJBAzYCAAwBCyACQQQ2AhAMBAsLCyACKAIYLwEEIAIoAgggAigCAGpNBEAgAkEENgIQDAILIAJBATYCBANAIAIoAgQgAigCAE0EQCACKAIMIAIoAgggAigCBGpqLQAAQcABcUGAAUcEQCACQQQ2AhAMBgUgAiACKAIEQQFqNgIEDAILAAsLIAIgAigCACACKAIIajYCCAsgAiACKAIIQQFqNgIIDAELCwsgAigCGCACKAIQNgIIIAIoAhQEQAJAIAIoAhRBAkcNACACKAIQQQNHDQAgAkECNgIQIAIoAhhBAjYCCAsCQCACKAIUIAIoAhBGDQAgAigCEEEBRg0AIAJBBTYCHAwCCwsgAiACKAIQNgIcCyACKAIcC2oBAX8jAEEQayIBIAA2AgwgASgCDEIANwMAIAEoAgxBADYCCCABKAIMQn83AxAgASgCDEEANgIsIAEoAgxBfzYCKCABKAIMQgA3AxggASgCDEIANwMgIAEoAgxBADsBMCABKAIMQQA7ATILUgECf0GQlwEoAgAiASAAQQNqQXxxIgJqIQACQCACQQAgACABTRsNACAAPwBBEHRLBEAgABATRQ0BC0GQlwEgADYCACABDwtBtJsBQTA2AgBBfwuNBQEDfyMAQRBrIgEkACABIAA2AgwgASgCDARAIAEoAgwoAgAEQCABKAIMKAIAEDEaIAEoAgwoAgAQGwsgASgCDCgCHBAVIAEoAgwoAiAQJSABKAIMKAIkECUgASgCDCgCUCECIwBBEGsiACQAIAAgAjYCDCAAKAIMBEAgACgCDCgCEARAIABBADYCCANAIAAoAgggACgCDCgCAEkEQCAAKAIMKAIQIAAoAghBAnRqKAIABEAgACgCDCgC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A3EQHwsgAygCpAEoAhQgA0GeAWogA0GcAWoQgQEgAygCTCADLwGeARAfIAMoAkwgAy8BnAEQHwJAAkAgAy0AhQFBAXFFDQAgAygCpAEpAyhCFFoNACADKAJMQQAQIAwBCyADKAJMIAMoAqQBKAIYECALAkACQCADKAKgAUGAAnFBgAJHDQAgAygCpAEpAyBC/////w9UBEAgAygCpAEpAyhC/////w9UDQELIAMoAkxBfxAgIAMoAkxBfxAgDAELAkAgAygCpAEpAyBC/////w9UBEAgAygCTCADKAKkASkDIKcQIAwBCyADKAJMQX8QIAsCQCADKAKkASkDKEL/////D1QEQCADKAJMIAMoAqQBKQMopxAgDAELIAMoAkxBfxAgCwsgAygCTCADKAKkASgCMBBTQf//A3EQHyADIAMoAqQBKAI0IAMoAqABEIYBQf//A3EgAygCkAFBgAYQhgFB//8DcWo2AogBIAMoAkwgAygCiAFB//8DcRAfIAMoAqABQYACcUUEQCADKAJMIAMoAqQBKAI4EFNB//8DcRAfIAMoAkwgAygCpAEoAjxB//8DcRAfIAMoAkwgAygCpAEvAUAQHyADKAJMIAMoAqQBKAJEECACQCADKAKkASkDSEL/////D1QEQCADKAJMIAMoAqQBKQNIpxAgDAELIAMoAkxBfxAgCwsCfyMAQRBrIgAgAygCTDYCDCAAKAIMLQAAQQFxRQsEQCADKAKoAUEIakEUQQAQFCADKAJMEBYgAygCkAEQIyADQX82AqwBDAELIAMoAqgBIANB0ABqAn4jAEEQayIAIAMoAkw2AgwCfiAAKAIMLQAAQQFxBEAgACgCDCkDEAwBC0IACwsQNUEASARAIAMoAkwQFiADKAKQARAjIANBfzYCrAEMAQsgAygCTBAWIAMoAqQBKAIwBEAgAygCqAEgAygCpAEoAjAQigFBAEgEQCADKAKQARAjIANBfzYCrAEMAgsLIAMoApABBEAgAygCqAEgAygCkAFBgAYQhQFBAEgEQCADKAKQARAjIANBfzYCrAEMAgsLIAMoApABECMgAygCpAEoAjQEQCADKAKoASADKAKkASgCNCADKAKgARCFAUEASARAIANBfzYCrAEMAgsLIAMoAqABQYACcUUEQCADKAKkASgCOARAIAMoAqgBIAMoAqQBKAI4EIoB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HCAAIAAoAhRBAWo2AhQMAQsLIAAoAggQR0EBcUUEQCAAKAIgQRRBABAUIAAoAggQFiAAQX82AiwMAQsgACgCCBAWIAAgACgCHDYCLAsgACgCLCECIABBMGokACADIAIiADYCBCAAQQBIBEAgA0IANwMoDAELIAMpAwggAygCBK18Qv///////////wBWBEAgAygCFEEEQRYQFCADQgA3AygMAQsgAyADKQMIIAMoAgStfDcDKAsgAykDKCEBIANBMGokACABC20BAX8jAEEgayIEJAAgBCAANgIYIAQgATYCFCAEIAI2AhAgBCADNgIMAkAgBCgCGEUEQCAEQQA2AhwMAQsgBCAEKAIUIAQoAhAgBCgCDCAEKAIYQQhqEJIBNgIcCyAEKAIcIQAgBEEgaiQAIAALVQEBfyMAQRBrIgEkACABIAA2AgwCQAJAIAEoAgwoAiRBAUYNACABKAIMKAIkQQJGDQAMAQsgASgCDEEAQgBBChAhGiABKAIMQQA2AiQLIAFBEGokAAumAQEBfyMAQRBrIgIkACACIAA2AgggAiABNgIEAkAgAigCCC0AKEEBcQRAIAJBfzYCDAwBCyACKAIIKAIABEAgAigCCCgCACACKAIEEGhBAEgEQCACKAIIQQxqIAIoAggoAgAQFyACQX82AgwMAgsLIAIoAgggAkEEakIEQRMQIUIAUwRAIAJBfzYCDAwBCyACQQA2AgwLIAIoAgwhACACQRBqJAAgAAuNCAIBfwF+IwBBkAFrIgMkACADIAA2AoQBIAMgATYCgAEgAyACNgJ8IAMQTwJAIAMoAoABKQMIQgBSBEAgAyADKAKAASgCACgCACkDSDcDYCADIAMoAoABKAIAKAIAKQNINwNoDAELIANCADcDYCADQgA3A2gLIANCADcDcAJAA0AgAykDcCADKAKAASkDCFQEQCADKAKAASgCACADKQNwp0EEdGooAgApA0ggAykDaFQEQCADIAMoAoABKAIAIAMpA3CnQQR0aigCACkDSDcDaAsgAykDaCADKAKAASkDIFYEQCADKAJ8QRNBABAUIANCfzcDiAEMAwsgAyADKAKAASgCACADKQNwp0EEdGooAgApA0ggAygCgAEoAgAgAykDcKdBBHRqKAIAKQMgfCADKAKAASgCACADKQNwp0EEdGooAgAoAjAQU0H//wNxrXxCHnw3A1ggAykDWCADKQNgVgRAIAMgAykDWDcDYAsgAykDYCADKAKAASkDIFYEQCADKAJ8QRNBABAUIANCfzcDiAEMAwsgAygChAEoAgAgAygCgAEoAgAgAykDcKdBBHRqKAIAKQNIQQAQJ0EASARAIAMoAnwgAygChAEoAgAQFyADQn83A4gBDAMLIAMgAygChAEoAgBBAEEBIAMoAnwQxgFCf1EEQCADEF0gA0J/NwOIAQwDCwJ/IAMoAoABKAIAIAMpA3CnQQR0aigCACEBIwBBEGsiACQAIAAgATYCCCAAIAM2AgQCQAJAAkAgACgCCC8BCiAAKAIELwEKSA0AIAAoAggoAhAgACgCBCgCEEcNACAAKAIIKAIUIAAoAgQoAhRHDQAgACgCCCgCMCAAKAIEKAIwEIsBDQELIABBfzYCDAwBCwJAAkAgACgCCCgCGCAAKAIEKAIYRw0AIAAoAggpAyAgACgCBCkDIFINACAAKAIIKQMoIAAoAgQpAyhRDQELAkACQCAAKAIELwEMQQhxRQ0AIAAoAgQoAhgNACAAKAIEKQMgQgBSDQAgACgCBCkDKFANAQsgAEF/NgIMDAILCyAAQQA2AgwLIAAoAgwhASAAQRBqJAAgAQsEQCADKAJ8QRVBABAUIAMQXSADQn83A4gBDAMFIAMoAoABKAIAIAMpA3CnQQR0aigCACgCNCADKAI0EIkBIQAgAygCgAEoAgAgAykDcKdBBHRqKAIAIAA2AjQgAygCgAEoAgAgAykDcKdBBHRqKAIAQQE6AAQgA0EANgI0IAMQXSADIAMpA3BCAXw3A3AMAgsACwsgAwJ+IAMpA2AgAykDaH1C////////////AFQEQCADKQNgIAMpA2h9DAELQv///////////wALNwOIAQsgAykDiAEhBCADQZABaiQAIAQL1AQBAX8jAEEgayIDJAAgAyAANgIYIAMgATYCFCADIAI2AhAgAygCECEBIwBBEGsiACQAIAAgATYCCCAAQdgAEBg2AgQCQCAAKAIERQRAIAAoAghBDkEAEBQgAEEANgIMDAELIAAoAgghAiMAQRBrIgEkACABIAI2AgggAUEYEBgiAjYCBAJAIAJFBEAgASgCCEEOQQAQFCABQQA2AgwMAQsgASgCBEEANgIAIAEoAgRCADcDCCABKAIEQQA2AhAgASABKAIENgIMCyABKAIMIQIgAUEQaiQAIAAoAgQgAjYCUCACRQRAIAAoAgQQFSAAQQA2AgwMAQsgACgCBEEANgIAIAAoAgRBADYCBCMAQRBrIgEgACgCBEEIajYCDCABKAIMQQA2AgAgASgCDEEANgIEIAEoAgxBADYCCCAAKAIEQQA2AhggACgCBEEANgIUIAAoAgRBADYCHCAAKAIEQQA2AiQgACgCBEEANgIgIAAoAgRBADoAKCAAKAIEQgA3AzggACgCBEIANwMwIAAoAgRBADYCQCAAKAIEQQA2AkggACgCBEEANgJEIAAoAgRBADYCTCAAKAIEQQA2AlQgACAAKAIENgIMCyAAKAIMIQEgAEEQaiQAIAMgASIANgIMAkAgAEUEQCADQQA2AhwMAQsgAygCDCADKAIYNgIAIAMoAgwgAygCFDYCBCADKAIUQRBxBEAgAygCDCIAIAAoAhRBAnI2AhQgAygCDCIAIAAoAhhBAnI2AhgLIAMgAygCDDYCHAsgAygCHCEAIANBIGokACAAC9UBAQF/IwBBIGsiBCQAIAQgADYCGCAEIAE3AxAgBCACNgIMIAQgAzYCCAJAAkAgBCkDEEL///////////8AVwRAIAQpAxBCgICAgICAgICAf1kNAQsgBCgCCEEEQT0QFCAEQX82AhwMAQsCfyAEKQMQIQEgBCgCDCEAIAQoAhgiAigCTEF/TARAIAIgASAAEKABDAELIAIgASAAEKABC0EASARAIAQoAghBBEG0mwEoAgAQFCAEQX82AhwMAQsgBEEANgIcCyAEKAIcIQAgBEEgaiQAIAALJABBACAAEAUiACAAQRtGGyIABH9BtJsBIAA2AgBBAAVBAAsaC3ABAX8jAEEQayIDJAAgAwJ/IAFBwABxRQRAQQAgAUGAgIQCcUGAgIQCRw0BGgsgAyACQQRqNgIMIAIoAgALNgIAIAAgAUGAgAJyIAMQECIAQYFgTwRAQbSbAUEAIABrNgIAQX8hAAsgA0EQaiQAIAALMwEBfwJ/IAAQByIBQWFGBEAgABARIQELIAFBgWBPCwR/QbSbAUEAIAFrNgIAQX8FIAELC2kBAn8CQCAAKAIUIAAoAhxNDQAgAEEAQQAgACgCJBEBABogACgCFA0AQX8PCyAAKAIEIgEgACgCCCICSQRAIAAgASACa6xBASAAKAIoEQ8AGgsgAEEANgIcIABCADcDECAAQgA3AgRBAAvaAwEGfyMAQRBrIgUkACAFIAI2AgwjAEGgAWsiBCQAIARBCGpBkIcBQZABEBkaIAQgADYCNCAEIAA2AhwgBEF+IABrIgNB/////wcgA0H/////B0kbIgY2AjggBCAAIAZqIgA2AiQgBCAANgIYIARBCGohACMAQdABayIDJAAgAyACNgLMASADQaABakEAQSgQMiADIAMoAswBNgLIAQJAQQAgASADQcgBaiADQdAAaiADQaABahBxQQBIDQAgACgCTEEATiEHIAAoAgAhAiAALABKQQBMBEAgACACQV9xNgIACyACQSBxIQgCfyAAKAIwBEAgACABIANByAFqIANB0ABqIANBoAFqEHEMAQsgAEHQADYCMCAAIANB0ABqNgIQIAAgAzYCHCAAIAM2AhQgACgCLCECIAAgAzYCLCAAIAEgA0HIAWogA0HQAGogA0GgAWoQcSACRQ0AGiAAQQBBACAAKAIkEQEAGiAAQQA2AjAgACACNgIsIABBADYCHCAAQQA2AhAgACgCFBogAEEANgIUQQALGiAAIAAoAgAgCHI2AgAgB0UNAAsgA0HQAWokACAGBEAgBCgCHCIAIAAgBCgCGEZrQQA6AAALIARBoAFqJAAgBUEQaiQAC4wSAg9/AX4jAEHQAGsiBSQAIAUgATYCTCAFQTdqIRMgBUE4aiEQQQAhAQNAAkAgDUEASA0AQf////8HIA1rIAFIBEBBtJsBQT02AgBBfyENDAELIAEgDWohDQsgBSgCTCIHIQECQAJAAkACQAJAAkACQAJAIAUCfwJAIActAAAiBgRAA0ACQAJAIAZB/wFxIgZFBEAgASEGDAELIAZBJUcNASABIQYDQCABLQABQSVHDQEgBSABQQJqIgg2AkwgBkEBaiEGIAEtAAIhDiAIIQEgDkElRg0ACwsgBiAHayEBIAAEQCAAIAcgARAiCyABDQ0gBSgCTCEBIAUoAkwsAAFBMGtBCk8NAyABLQACQSRHDQMgASwAAUEwayEPQQEhESABQQNqDAQLIAUgAUEBaiIINgJMIAEtAAEhBiAIIQEMAAsACyANIQsgAA0IIBFFDQJBASEBA0AgBCABQQJ0aigCACIABEAgAyABQQN0aiAAIAIQqAFBASELIAFBAWoiAUEKRw0BDAoLC0EBIQsgAUEKTw0IA0AgBCABQQJ0aigCAA0IIAFBAWoiAUEKRw0ACwwIC0F/IQ8gAUEBagsiATYCTEEAIQgCQCABLAAAIgxBIGsiBkEfSw0AQQEgBnQiBkGJ0QRxRQ0AA0ACQCAFIAFBAWoiCDYCTCABLAABIgxBIGsiAUEgTw0AQQEgAXQiAUGJ0QRxRQ0AIAEgBnIhBiAIIQEMAQsLIAghASAGIQgLAkAgDEEqRgRAIAUCfwJAIAEsAAFBMGtBCk8NACAFKAJMIgEtAAJBJEcNACABLAABQQJ0IARqQcABa0EKNgIAIAEsAAFBA3QgA2pBgANrKAIAIQpBASERIAFBA2oMAQsgEQ0IQQAhEUEAIQogAARAIAIgAigCACIBQQRqNgIAIAEoAgAhCgsgBSgCTEEBagsiATYCTCAKQX9KDQFBACAKayEKIAhBgMAAciEIDAELIAVBzABqEKcBIgpBAEgNBiAFKAJMIQELQX8hCQJAIAEtAABBLkcNACABLQABQSpGBEACQCABLAACQTBrQQpPDQAgBSgCTCIBLQADQSRHDQAgASwAAkECdCAEakHAAWtBCjYCACABLAACQQN0IANqQYADaygCACEJIAUgAUEEaiIBNgJMDAILIBENByAABH8gAiACKAIAIgFBBGo2AgAgASgCAAVBAAshCSAFIAUoAkxBAmoiATYCTAwBCyAFIAFBAWo2AkwgBUHMAGoQpwEhCSAFKAJMIQELQQAhBgNAIAYhEkF/IQsgASwAAEHBAGtBOUsNByAFIAFBAWoiDDYCTCABLAAAIQYgDCEBIAYgEkE6bGpB74IBai0AACIGQQFrQQhJDQALIAZBE0YNAiAGRQ0GIA9BAE4EQCAEIA9BAnRqIAY2AgAgBSADIA9BA3RqKQMANwNADAQLIAANAQtBACELDAULIAVBQGsgBiACEKgBIAUoAkwhDAwCCyAPQX9KDQMLQQAhASAARQ0ECyAIQf//e3EiDiAIIAhBgMAAcRshBkEAIQtBpAghDyAQIQgCQAJAAkACfwJAAkACQAJAAn8CQAJAAkACQAJAAkACQCAMQQFrLAAAIgFBX3EgASABQQ9xQQNGGyABIBIbIgFB2ABrDiEEEhISEhISEhIOEg8GDg4OEgYSEhISAgUDEhIJEgESEgQACwJAIAFBwQBrDgcOEgsSDg4OAAsgAUHTAEYNCQwRCyAFKQNAIRRBpAgMBQtBACEBAkACQAJAAkACQAJAAkAgEkH/AXEOCAABAgMEFwUGFwsgBSgCQCANNgIADBYLIAUoAkAgDTYCAAwVCyAFKAJAIA2sNwMADBQLIAUoAkAgDTsBAAwTCyAFKAJAIA06AAAMEgsgBSgCQCANNgIADBELIAUoAkAgDaw3AwAMEAsgCUEIIAlBCEsbIQkgBkEIciEGQfgAIQELIBAhByABQSBxIQ4gBSkDQCIUUEUEQANAIAdBAWsiByAUp0EPcUGAhwFqLQAAIA5yOgAAIBRCD1YhDCAUQgSIIRQgDA0ACwsgBSkDQFANAyAGQQhxRQ0DIAFBBHZBpAhqIQ9BAiELDAMLIBAhASAFKQNAIhRQRQRAA0AgAUEBayIBIBSnQQdxQTByOgAAIBRCB1YhByAUQgOIIRQgBw0ACwsgASEHIAZBCHFFDQIgCSAQIAdrIgFBAWogASAJSBshCQwCCyAFKQNAIhRCf1cEQCAFQgAgFH0iFDcDQEEBIQtBpAgMAQsgBkGAEHEEQEEBIQtBpQgMAQtBpghBpAggBkEBcSILGwshDyAUIBAQRCEHCyAGQf//e3EgBiAJQX9KGyEGAkAgBSkDQCIUQgBSDQAgCQ0AQQAhCSAQIQcMCgsgCSAUUCAQIAdraiIBIAEgCUgbIQkMCQsgBSgCQCIBQdgSIAEbIgdBACAJEKsBIgEgByAJaiABGyEIIA4hBiABIAdrIAkgARshCQwICyAJBEAgBSgCQAwCC0EAIQEgAEEgIApBACAGECYMAgsgBUEANgIMIAUgBSkDQD4CCCAFIAVBCGo2AkBBfyEJIAVBCGoLIQhBACEBAkADQCAIKAIAIgdFDQECQCAFQQRqIAcQqgEiB0EASCIODQAgByAJIAFrSw0AIAhBBGohCCAJIAEgB2oiAUsNAQwCCwtBfyELIA4NBQsgAEEgIAogASAGECYgAUUEQEEAIQEMAQtBACEIIAUoAkAhDANAIAwoAgAiB0UNASAFQQRqIAcQqgEiByAIaiIIIAFKDQEgACAFQQRqIAcQIiAMQQRqIQwgASAISw0ACwsgAEEgIAogASAGQYDAAHMQJiAKIAEgASAKSBshAQwFCyAAIAUrA0AgCiAJIAYgAUEXERkAIQEMBAsgBSAFKQNAPAA3QQEhCSATIQcgDiEGDAILQX8hCwsgBUHQAGokACALDwsgAEEgIAsgCCAHayIOIAkgCSAOSBsiDGoiCCAKIAggCkobIgEgCCAGECYgACAPIAsQIiAAQTAgASAIIAZBgIAEcxAmIABBMCAMIA5BABAmIAAgByAOECIgAEEgIAEgCCAGQYDAAHMQJgwACwALkAIBA38CQCABIAIoAhAiBAR/IAQFQQAhBAJ/IAIgAi0ASiIDQQFrIANyOgBKIAIoAgAiA0EIcQRAIAIgA0EgcjYCAEF/DAELIAJCADcCBCACIAIoAiwiAzYCHCACIAM2AhQgAiADIAIoAjBqNgIQQQALDQEgAigCEAsgAigCFCIFa0sEQCACIAAgASACKAIkEQEADwsCfyACLABLQX9KBEAgASEEA0AgASAEIgNFDQIaIAAgA0EBayIEai0AAEEKRw0ACyACIAAgAyACKAIkEQEAIgQgA0kNAiAAIANqIQAgAigCFCEFIAEgA2sMAQsgAQshBCAFIAAgBBAZGiACIAIoAhQgBGo2AhQgASEECyAEC0gCAX8BfiMAQRBrIgMkACADIAA2AgwgAyABNgIIIAMgAjYCBCADKAIMIAMoAgggAygCBCADKAIMQQhqEFchBCADQRBqJAAgBAt3AQF/IwBBEGsiASAANgIIIAFChSo3AwACQCABKAIIRQRAIAFBADYCDAwBCwNAIAEoAggtAAAEQCABIAEoAggtAACtIAEpAwBCIX58Qv////8PgzcDACABIAEoAghBAWo2AggMAQsLIAEgASkDAD4CDAsgASgCDAuHBQEBfyMAQTBrIgUkACAFIAA2AiggBSABNgIkIAUgAjcDGCAFIAM2AhQgBSAENgIQAkACQAJAIAUoAihFDQAgBSgCJEUNACAFKQMYQv///////////wBYDQELIAUoAhBBEkEAEBQgBUEAOgAvDAELIAUoAigoAgBFBEAgBSgCKEGAAiAFKAIQEFlBAXFFBEAgBUEAOgAvDAILCyAFIAUoAiQQdDYCDCAFIAUoAgwgBSgCKCgCAHA2AgggBSAFKAIoKAIQIAUoAghBAnRqKAIANgIEA0ACQCAFKAIERQ0AAkAgBSgCBCgCHCAFKAIMRw0AIAUoAiQgBSgCBCgCABBaDQACQAJAIAUoAhRBCHEEQCAFKAIEKQMIQn9SDQELIAUoAgQpAxBCf1ENAQsgBSgCEEEKQQAQFCAFQQA6AC8MBAsMAQsgBSAFKAIEKAIYNgIEDAELCyAFKAIERQRAIAVBIBAYIgA2AgQgAEUEQCAFKAIQQQ5BABAUIAVBADoALwwCCyAFKAIEIAUoAiQ2AgAgBSgCBCAFKAIoKAIQIAUoAghBAnRqKAIANgIYIAUoAigoAhAgBSgCCEECdGogBSgCBDYCACAFKAIEIAUoAgw2AhwgBSgCBEJ/NwMIIAUoAigiACAAKQMIQgF8NwMIAkAgBSgCKCIAKQMIuiAAKAIAuEQAAAAAAADoP6JkRQ0AIAUoAigoAgBBgICAgHhPDQAgBSgCKCAFKAIoKAIAQQF0IAUoAhAQWUEBcUUEQCAFQQA6AC8MAwsLCyAFKAIUQQhxBEAgBSgCBCAFKQMYNwMICyAFKAIEIAUpAxg3AxAgBUEBOgAvCyAFLQAvQQFxIQAgBUEwaiQAIAALWQIBfwF+AkACf0EAIABFDQAaIACtIAGtfiIDpyICIAAgAXJBgIAESQ0AGkF/IAIgA0IgiKcbCyICEBgiAEUNACAAQQRrLQAAQQNxRQ0AIABBACACEDILIAAL1BEBAX8jAEGwAWsiBiQAIAYgADYCqAEgBiABNgKkASAGIAI2AqABIAYgAzYCnAEgBiAENgKYASAGIAU2ApQBIAZBADYCkAEDQCAGKAKQAUEPS0UEQCAGQSBqIAYoApABQQF0akEAOwEAIAYgBigCkAFBAWo2ApABDAELCyAGQQA2AowBA0AgBigCjAEgBigCoAFPRQRAIAZBIGogBigCpAEgBigCjAFBAXRqLwEAQQF0aiIAIAAvAQBBAWo7AQAgBiAGKAKMAUEBajYCjAEMAQsLIAYgBigCmAEoAgA2AoABIAZBDzYChAEDQAJAIAYoAoQBQQFJDQAgBkEgaiAGKAKEAUEBdGovAQANACAGIAYoAoQBQQFrNgKEAQwBCwsgBigCgAEgBigChAFLBEAgBiAGKAKEATYCgAELAkAgBigChAFFBEAgBkHAADoAWCAGQQE6AFkgBkEAOwFaIAYoApwBIgEoAgAhACABIABBBGo2AgAgACAGQdgAaigBADYBACAGKAKcASIBKAIAIQAgASAAQQRqNgIAIAAgBkHYAGooAQA2AQAgBigCmAFBATYCACAGQQA2AqwBDAELIAZBATYCiAEDQAJAIAYoAogBIAYoAoQBTw0AIAZBIGogBigCiAFBAXRqLwEADQAgBiAGKAKIAUEBajYCiAEMAQsLIAYoAoABIAYoAogBSQRAIAYgBigCiAE2AoABCyAGQQE2AnQgBkEBNgKQAQNAIAYoApABQQ9NBEAgBiAGKAJ0QQF0NgJ0IAYgBigCdCAGQSBqIAYoApABQQF0ai8BAGs2AnQgBigCdEEASARAIAZBfzYCrAEMAwUgBiAGKAKQAUEBajYCkAEMAgsACwsCQCAGKAJ0QQBMDQAgBigCqAEEQCAGKAKEAUEBRg0BCyAGQX82AqwBDAELIAZBADsBAiAGQQE2ApABA0AgBigCkAFBD09FBEAgBigCkAFBAWpBAXQgBmogBigCkAFBAXQgBmovAQAgBkEgaiAGKAKQAUEBdGovAQBqOwEAIAYgBigCkAFBAWo2ApABDAELCyAGQQA2AowBA0AgBigCjAEgBigCoAFJBEAgBigCpAEgBigCjAFBAXRqLwEABEAgBigClAEhASAGKAKkASAGKAKMASICQQF0ai8BAEEBdCAGaiIDLwEAIQAgAyAAQQFqOwEAIABB//8DcUEBdCABaiACOwEACyAGIAYoAowBQQFqNgKMAQwBCwsCQAJAAkACQCAGKAKoAQ4CAAECCyAGIAYoApQBIgA2AkwgBiAANgJQIAZBFDYCSAwCCyAGQYDwADYCUCAGQcDwADYCTCAGQYECNgJIDAELIAZBgPEANgJQIAZBwPEANgJMIAZBADYCSAsgBkEANgJsIAZBADYCjAEgBiAGKAKIATYCkAEgBiAGKAKcASgCADYCVCAGIAYoAoABNgJ8IAZBADYCeCAGQX82AmAgBkEBIAYoAoABdDYCcCAGIAYoAnBBAWs2AlwCQAJAIAYoAqgBQQFGBEAgBigCcEHUBksNAQsgBigCqAFBAkcNASAGKAJwQdAETQ0BCyAGQQE2AqwBDAELA0AgBiAGKAKQASAGKAJ4azoAWQJAIAYoAkggBigClAEgBigCjAFBAXRqLwEAQQFqSwRAIAZBADoAWCAGIAYoApQBIAYoAowBQQF0ai8BADsBWgwBCwJAIAYoApQBIAYoAowBQQF0ai8BACAGKAJITwRAIAYgBigCTCAGKAKUASAGKAKMAUEBdGovAQAgBigCSGtBAXRqLwEAOgBYIAYgBigCUCAGKAKUASAGKAKMAUEBdGovAQAgBigCSGtBAXRqLwEAOwFaDAELIAZB4AA6AFggBkEAOwFaCwsgBkEBIAYoApABIAYoAnhrdDYCaCAGQQEgBigCfHQ2AmQgBiAGKAJkNgKIAQNAIAYgBigCZCAGKAJoazYCZCAGKAJUIAYoAmQgBigCbCAGKAJ4dmpBAnRqIAZB2ABqKAEANgEAIAYoAmQNAAsgBkEBIAYoApABQQFrdDYCaANAIAYoAmwgBigCaHEEQCAGIAYoAmhBAXY2AmgMAQsLAkAgBigCaARAIAYgBigCbCAGKAJoQQFrcTYCbCAGIAYoAmggBigCbGo2AmwMAQsgBkEANgJsCyAGIAYoAowBQQFqNgKMASAGQSBqIAYoApABQQF0aiIBLwEAQQFrIQAgASAAOwEAAkAgAEH//wNxRQRAIAYoApABIAYoAoQBRg0BIAYgBigCpAEgBigClAEgBigCjAFBAXRqLwEAQQF0ai8BADYCkAELAkAgBigCkAEgBigCgAFNDQAgBigCYCAGKAJsIAYoAlxxRg0AIAYoAnhFBEAgBiAGKAKAATYCeAsgBiAGKAJUIAYoAogBQQJ0ajYCVCAGIAYoApABIAYoAnhrNgJ8IAZBASAGKAJ8dDYCdANAAkAgBigChAEgBigCfCAGKAJ4ak0NACAGIAYoAnQgBkEgaiAGKAJ8IAYoAnhqQQF0ai8BAGs2AnQgBigCdEEATA0AIAYgBigCfEEBajYCfCAGIAYoAnRBAXQ2AnQMAQsLIAYgBigCcEEBIAYoAnx0ajYCcAJAAkAgBigCqAFBAUYEQCAGKAJwQdQGSw0BCyAGKAKoAUECRw0BIAYoAnBB0ARNDQELIAZBATYCrAEMBAsgBiAGKAJsIAYoAlxxNgJgIAYoApwBKAIAIAYoAmBBAnRqIAYoAnw6AAAgBigCnAEoAgAgBigCYEECdGogBigCgAE6AAEgBigCnAEoAgAgBigCYEECdGogBigCVCAGKAKcASgCAGtBAnU7AQILDAELCyAGKAJsBEAgBkHAADoAWCAGIAYoApABIAYoAnhrOgBZIAZBADsBWiAGKAJUIAYoAmxBAnRqIAZB2ABqKAEANgEACyAGKAKcASIAIAAoAgAgBigCcEECdGo2AgAgBigCmAEgBigCgAE2AgAgBkEANgKsAQsgBigCrAEhACAGQbABaiQAIAALsQIBAX8jAEEgayIDJAAgAyAANgIYIAMgATYCFCADIAI2AhAgAyADKAIYKAIENgIMIAMoAgwgAygCEEsEQCADIAMoAhA2AgwLAkAgAygCDEUEQCADQQA2AhwMAQsgAygCGCIAIAAoAgQgAygCDGs2AgQgAygCFCADKAIYKAIAIAMoAgwQGRoCQCADKAIYKAIcKAIYQQFGBEAgAygCGCgCMCADKAIUIAMoAgwQPiEAIAMoAhggADYCMAwBCyADKAIYKAIcKAIYQQJGBEAgAygCGCgCMCADKAIUIAMoAgwQGiEAIAMoAhggADYCMAsLIAMoAhgiACADKAIMIAAoAgBqNgIAIAMoAhgiACADKAIMIAAoAghqNgIIIAMgAygCDDYCHAsgAygCHCEAIANBIGokACAAC+0BAQF/IwBBEGsiASAANgIIAkACQAJAIAEoAghFDQAgASgCCCgCIEUNACABKAIIKAIkDQELIAFBATYCDAwBCyABIAEoAggoAhw2AgQCQAJAIAEoAgRFDQAgASgCBCgCACABKAIIRw0AIAEoAgQoAgRBKkYNASABKAIEKAIEQTlGDQEgASgCBCgCBEHFAEYNASABKAIEKAIEQckARg0BIAEoAgQoAgRB2wBGDQEgASgCBCgCBEHnAEYNASABKAIEKAIEQfEARg0BIAEoAgQoAgRBmgVGDQELIAFBATYCDAwBCyABQQA2AgwLIAEoAgwL0gQBAX8jAEEgayIDIAA2AhwgAyABNgIYIAMgAjYCFCADIAMoAhxB3BZqIAMoAhRBAnRqKAIANgIQIAMgAygCFEEBdDYCDANAAkAgAygCDCADKAIcKALQKEoNAAJAIAMoAgwgAygCHCgC0ChODQAgAygCGCADKAIcIAMoAgxBAnRqQeAWaigCAEECdGovAQAgAygCGCADKAIcQdwWaiADKAIMQQJ0aigCAEECdGovAQBOBEAgAygCGCADKAIcIAMoAgxBAnRqQeAWaigCAEECdGovAQAgAygCGCADKAIcQdwWaiADKAIMQQJ0aigCAEECdGovAQBHDQEgAygCHCADKAIMQQJ0akHgFmooAgAgAygCHEHYKGpqLQAAIAMoAhxB3BZqIAMoAgxBAnRqKAIAIAMoAhxB2Chqai0AAEoNAQsgAyADKAIMQQFqNgIMCyADKAIYIAMoAhBBAnRqLwEAIAMoAhggAygCHEHcFmogAygCDEECdGooAgBBAnRqLwEASA0AAkAgAygCGCADKAIQQQJ0ai8BACADKAIYIAMoAhxB3BZqIAMoAgxBAnRqKAIAQQJ0ai8BAEcNACADKAIQIAMoAhxB2Chqai0AACADKAIcQdwWaiADKAIMQQJ0aigCACADKAIcQdgoamotAABKDQAMAQsgAygCHEHcFmogAygCFEECdGogAygCHEHcFmogAygCDEECdGooAgA2AgAgAyADKAIMNgIUIAMgAygCDEEBdDYCDAwBCwsgAygCHEHcFmogAygCFEECdGogAygCEDYCAAvXEwEDfyMAQTBrIgIkACACIAA2AiwgAiABNgIoIAIgAigCKCgCADYCJCACIAIoAigoAggoAgA2AiAgAiACKAIoKAIIKAIMNgIcIAJBfzYCECACKAIsQQA2AtAoIAIoAixBvQQ2AtQoIAJBADYCGANAIAIoAhggAigCHEgEQAJAIAIoAiQgAigCGEECdGovAQAEQCACIAIoAhgiATYCECACKAIsQdwWaiEDIAIoAiwiBCgC0ChBAWohACAEIAA2AtAoIABBAnQgA2ogATYCACACKAIYIAIoAixB2ChqakEAOgAADAELIAIoAiQgAigCGEECdGpBADsBAgsgAiACKAIYQQFqNgIYDAELCwNAIAIoAiwoAtAoQQJIBEACQCACKAIQQQJIBEAgAiACKAIQQQFqIgA2AhAMAQtBACEACyACKAIsQdwWaiEDIAIoAiwiBCgC0ChBAWohASAEIAE2AtAoIAFBAnQgA2ogADYCACACIAA2AgwgAigCJCACKAIMQQJ0akEBOwEAIAIoAgwgAigCLEHYKGpqQQA6AAAgAigCLCIAIAAoAqgtQQFrNgKoLSACKAIgBEAgAigCLCIAIAAoAqwtIAIoAiAgAigCDEECdGovAQJrNgKsLQsMAQsLIAIoAiggAigCEDYCBCACIAIoAiwoAtAoQQJtNgIYA0AgAigCGEEBTgRAIAIoAiwgAigCJCACKAIYEHogAiACKAIYQQFrNgIYDAELCyACIAIoAhw2AgwDQCACIAIoAiwoAuAWNgIYIAIoAixB3BZqIQEgAigCLCIDKALQKCEAIAMgAEEBazYC0CggAigCLCAAQQJ0IAFqKAIANgLgFiACKAIsIAIoAiRBARB6IAIgAigCLCgC4BY2AhQgAigCGCEBIAIoAixB3BZqIQMgAigCLCIEKALUKEEBayEAIAQgADYC1CggAEECdCADaiABNgIAIAIoAhQhASACKAIsQdwWaiEDIAIoAiwiBCgC1ChBAWshACAEIAA2AtQoIABBAnQgA2ogATYCACACKAIkIAIoAgxBAnRqIAIoAiQgAigCGEECdGovAQAgAigCJCACKAIUQQJ0ai8BAGo7AQAgAigCDCACKAIsQdgoamoCfyACKAIYIAIoAixB2Chqai0AACACKAIUIAIoAixB2Chqai0AAE4EQCACKAIYIAIoAixB2Chqai0AAAwBCyACKAIUIAIoAixB2Chqai0AAAtBAWo6AAAgAigCJCACKAIUQQJ0aiACKAIMIgA7AQIgAigCJCACKAIYQQJ0aiAAOwECIAIgAigCDCIAQQFqNgIMIAIoAiwgADYC4BYgAigCLCACKAIkQQEQeiACKAIsKALQKEECTg0ACyACKAIsKALgFiEBIAIoAixB3BZqIQMgAigCLCIEKALUKEEBayEAIAQgADYC1CggAEECdCADaiABNgIAIAIoAighASMAQUBqIgAgAigCLDYCPCAAIAE2AjggACAAKAI4KAIANgI0IAAgACgCOCgCBDYCMCAAIAAoAjgoAggoAgA2AiwgACAAKAI4KAIIKAIENgIoIAAgACgCOCgCCCgCCDYCJCAAIAAoAjgoAggoAhA2AiAgAEEANgIEIABBADYCEANAIAAoAhBBD0wEQCAAKAI8QbwWaiAAKAIQQQF0akEAOwEAIAAgACgCEEEBajYCEAwBCwsgACgCNCAAKAI8QdwWaiAAKAI8KALUKEECdGooAgBBAnRqQQA7AQIgACAAKAI8KALUKEEBajYCHANAIAAoAhxBvQRIBEAgACAAKAI8QdwWaiAAKAIcQQJ0aigCADYCGCAAIAAoAjQgACgCNCAAKAIYQQJ0ai8BAkECdGovAQJBAWo2AhAgACgCECAAKAIgSgRAIAAgACgCIDYCECAAIAAoAgRBAWo2AgQLIAAoAjQgACgCGEECdGogACgCEDsBAiAAKAIYIAAoAjBMBEAgACgCPCAAKAIQQQF0akG8FmoiASABLwEAQQFqOwEAIABBADYCDCAAKAIYIAAoAiROBEAgACAAKAIoIAAoAhggACgCJGtBAnRqKAIANgIMCyAAIAAoAjQgACgCGEECdGovAQA7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EANAIAMpAxAgAykDCFpFBEAgAygCKCgCACADKQMQp0EEdGoQkAEgAyADKQMQQgF8NwMQDAELCyADKAIoIAMpAwgiATcDECADKAIoIAE3AwggA0EBOgAvCyADLQAvQQFxIQAgA0EwaiQAIAALzAEBAX8jAEEgayICJAAgAiAANwMQIAIgATYCDCACQTAQGCIBNgIIAkAgAUUEQCACKAIMQQ5BABAUIAJBADYCHAwBCyACKAIIQQA2AgAgAigCCEIANwMQIAIoAghCADcDCCACKAIIQgA3AyAgAigCCEIANwMYIAIoAghBADYCKCACKAIIQQA6ACwgAigCCCACKQMQIAIoAgwQgwFBAXFFBEAgAigCCBAkIAJBADYCHAwBCyACIAIoAgg2AhwLIAIoAhwhASACQSBqJAAgAQvWAgEBfyMAQSBrIgMkACADIAA2AhggAyABNgIUIAMgAjYCECADIANBDGpCBBApNgIIAkAgAygCCEUEQCADQX82AhwMAQsDQCADKAIUBEAgAygCFCgCBCADKAIQcUGABnEEQCADKAIIQgAQLBogAygCCCADKAIULwEIEB8gAygCCCADKAIULwEKEB8CfyMAQRBrIgAgAygCCDYCDCAAKAIMLQAAQQFxRQsEQCADKAIYQQhqQRRBABAUIAMoAggQFiADQX82AhwMBAsgAygCGCADQQxqQgQQNUEASARAIAMoAggQFiADQX82AhwMBAsgAygCFC8BCgRAIAMoAhggAygCFCgCDCADKAIULwEKrRA1QQBIBEAgAygCCBAWIANBfzYCHAwFCwsLIAMgAygCFCgCADYCFAwBCwsgAygCCBAWIANBADYCHAsgAygCHCEAIANBIGokACAAC2gBAX8jAEEQayICIAA2AgwgAiABNgIIIAJBADsBBgNAIAIoAgwEQCACKAIMKAIEIAIoAghxQYAGcQRAIAIgAigCDC8BCiACLwEGQQRqajsBBgsgAiACKAIMKAIANgIMDAELCyACLwEGC/ABAQF/IwBBEGsiASQAIAEgADYCDCABIAEoAgw2AgggAUEANgIEA0AgASgCDARAAkACQCABKAIMLwEIQfXGAUYNACABKAIMLwEIQfXgAUYNACABKAIMLwEIQYGyAkYNACABKAIMLwEIQQFHDQELIAEgASgCDCgCADYCACABKAIIIAEoAgxGBEAg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IAEpA4ABIAEpAzB8IAEpA5gBIAEpAzh8VgRAIAEoApABQRVBABAUIAFBADYCrAEMAQsCQCABKAKUAUEEcUUNACABKQOAASABKQMwfCABKQOYASABKQM4fFENACABKAKQAUEVQQAQFCABQQA2AqwBDAELIAEpAyggASkDMEIugFYEQCABKAKQAUEVQQAQFCABQQA2AqwBDAELIAEgASkDKCABKAKQARCEASIFNgKMASAFRQRAIAFBADYCrAEMAQsgASgCjAFBAToALCABKAKMASABKQMwNwMYIAEoAowBIAEpA4ABNwMgIAEgASgCjAE2AqwBCyABKAKsASEFIAFBsAFqJAAgACAFNgJQDAELIAAoAmQgACkDMBAsGiAAKAJkIQUgACkDWCEJIAAoAmgoAhQhBiAAKAJUIQcjAEHQAGsiASQAIAEgBTYCSCABIAk3A0AgASAGNgI8IAEgBzYCOAJAIAEoAkgQL0IWVARAIAEoAjhBFUEAEBQgAUEANgJMDAELIwBBEGsiBSABKAJINgIMIAECfiAFKAIMLQAAQQFxBEAgBSgCDCkDEAwBC0IACzcDCCABKAJIQgQQHhogASgCSBAqBEAgASgCOEEBQQAQFCABQQA2AkwMAQsgASABKAJIEB1B//8Dca03AyggASABKAJIEB1B//8Dca03AyAgASkDICABKQMoUgRAIAEoAjhBE0EAEBQgAUEANgJMDAELIAEgASgCSBAqrTcDGCABIAEoAkgQKq03AxAgASkDECABKQMQIAEpAxh8VgRAIAEoAjhBBEEWEBQgAUEANgJMDAELIAEpAxAgASkDGHwgASkDQCABKQMIfFYEQCABKAI4QRVBABAUIAFBADYCTAwBCwJAIAEoAjxBBHFFDQAgASkDECABKQMYfCABKQNAIAEpAwh8UQ0AIAEoAjhBFUEAEBQgAUEANgJMDAELIAEgASkDICABKAI4EIQBIgU2AjQgBUUEQCABQQA2AkwMAQsgASgCNEEAOgAsIAEoAjQgASkDGDcDGCABKAI0IAEpAxA3AyAgASABKAI0NgJMCyABKAJMIQUgAUHQAGokACAAIAU2AlALIAAoAlBFBEAgAEEANgJsDAELIAAoAmQgACkDMEIUfBAsGiAAIAAoAmQQHTsBTiAAKAJQKQMgIAAoAlApAxh8IAApA1ggACkDMHxWBEAg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IAIgAigCLCIAQQFqNgIsIAAtAAEhASACIAIoAigiAEEBajYCKEEAIAAtAAEgAUcNABogAiACKAIsIgBBAWo2AiwgAC0AASEBIAIgAigCKCIAQQFqNgIoQQAgAC0AASABRw0AGiACIAIoAiwiAEEBajYCLCAALQABIQEgAiACKAIoIgBBAWo2AihBACAALQABIAFHDQAaIAIgAigCLCIAQQFqNgIsIAAtAAEhASACIAIoAigiAEEBajYCKEEAIAAtAAEgAUcNABogAiACKAIsIgBBAWo2AiwgAC0AASEBIAIgAigCKCIAQQFqNgIoQQAgAC0AASABRw0AGiACKAIsIAIoAgxJC0EBcQ0ACyACQYICIAIoAgwgAigCLGtrNgIkIAIgAigCDEGCAms2AiwgAigCJCACKAIgSgRAIAIoAjggAigCNDYCcCACIAIoAiQ2AiAgAigCJCACKAIcTg0CIAIgAigCLCACKAIgQQFrai0AADoACyACIAIoAiwgAigCIGotAAA6AAoLCyACIAIoAhQgAigCNCACKAIQcUEBdGovAQAiATYCNEEAIQAgASACKAIYSwR/IAIgAigCMEEBayIANgIwIABBAEcFQQALQQFxDQELCwJAIAIoAiAgAigCOCgCdE0EQCACIAIoAiA2AjwMAQsgAiACKAI4KAJ0NgI8CyACKAI8C5IQAQF/IwBBMGsiAiQAIAIgADYCKCACIAE2AiQgAgJ/IAIoAigoAiwgAigCKCgCDEEFa0kEQCACKAIoKAIsDAELIAIoAigoAgxBBWsLNgIgIAJBADYCECACIAIoAigoAgAoAgQ2AgwDQAJAIAJB//8DNgIcIAIgAigCKCgCvC1BKmpBA3U2AhQgAigCKCgCACgCECACKAIUSQ0AIAIgAigCKCgCACgCECACKAIUazYCFCACIAIoAigoAmwgAigCKCgCXGs2AhggAigCHCACKAIYIAIoAigoAgAoAgRqSwRAIAIgAigCGCACKAIoKAIAKAIEajYCHAsgAigCHCACKAIUSwRAIAIgAigCFDYCHAsCQCACKAIcIAIoAiBPDQACQCACKAIcRQRAIAIoAiRBBEcNAQsgAigCJEUNACACKAIcIAIoAhggAigCKCgCACgCBGpGDQELDAELQQAhACACIAIoAiRBBEYEfyACKAIcIAIoAhggAigCKCgCACgCBGpGBUEAC0EBcTYCECACKAIoQQBBACACKAIQEFwgAigCKCgCCCACKAIoKAIUQQRraiACKAIcOgAAIAIoAigoAgggAigCKCgCFEEDa2ogAigCHEEIdjoAACACKAIoKAIIIAIoAigoAhRBAmtqIAIoAhxBf3M6AAAgAigCKCgCCCACKAIoKAIUQQFraiACKAIcQX9zQQh2OgAAIAIoAigoAgAQHCACKAIYBEAgAigCGCACKAIcSwRAIAIgAigCHDYCGAsgAigCKCgCACgCDCACKAIoKAI4IAIoAigoAlxqIAIoAhgQGRogAigCKCgCACIAIAIoAhggACgCDGo2AgwgAigCKCgCACIAIAAoAhAgAigCGGs2AhAgAigCKCgCACIAIAIoAhggACgCFGo2AhQgAigCKCIAIAIoAhggACgCXGo2AlwgAiACKAIcIAIoAhhrNgIcCyACKAIcBEAgAigCKCgCACACKAIoKAIAKAIMIAIoAhwQeBogAigCKCgCACIAIAIoAhwgACgCDGo2AgwgAigCKCgCACIAIAAoAhAgAigCHGs2AhAgAigCKCgCACIAIAIoAhwgACgCFGo2AhQLIAIoAhBFDQELCyACIAIoAgwgAigCKCgCACgCBGs2AgwgAigCDARAAkAgAigCDCACKAIoKAIsTwRAIAIoAihBAjYCsC0gAigCKCgCOCACKAIoKAIAKAIAIAIoAigoAixrIAIoAigoAiwQGRogAigCKCACKAIoKAIsNgJsDAELIAIoAgwgAigCKCgCPCACKAIoKAJsa08EQCACKAIoIgAgACgCbCACKAIoKAIsazYCbCACKAIoKAI4IAIoAigoAjggAigCKCgCLGogAigCKCgCbBAZGiACKAIoKAKwLUECSQRAIAIoAigiACAAKAKwLUEBajYCsC0LCyACKAIoKAI4IAIoAigoAmxqIAIoAigoAgAoAgAgAigCDGsgAigCDBAZGiACKAIoIgAgAigCDCAAKAJsajYCbAsgAigCKCACKAIoKAJsNgJcIAIoAigiAQJ/IAIoAgwgAigCKCgCLCACKAIoKAK0LWtLBEAgAigCKCgCLCACKAIoKAK0LWsMAQsgAigCDAsgASgCtC1qNgK0LQsgAigCKCgCwC0gAigCKCgCbEkEQCACKAIoIAIoAigoAmw2AsAtCwJAIAIoAhAEQCACQQM2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mwFCADcDAEGYmwFCADcDAEGQmwFCADcDAEGImwFCADcDAEGAmwFCADcDAEH4mgFCADcDAEHwmgFCADcDAEHwmgEL1QQBBX8jAEGwAWsiASQAIAEgADYCqAEgASgCqAEQNwJAAkAgASgCqAEoAgBBAE4EQCABKAKoASgCAEGAFCgCAEgNAQsgASABKAKoASgCADYCECABQSBqQY8SIAFBEGoQcCABQQA2AqQBIAEgAUEgajYCoAEMAQsgASABKAKoASgCAEECdEGAE2ooAgA2AqQBAkACQAJAAkAgASgCqAEoAgBBAnRBkBRqKAIAQQFrDgIAAQILIAEoAqgBKAIEIQJBkJkBKAIAIQRBACEAAkACQANAIAIgAEGgiAFqLQAARwRAQdcAIQMgAEEBaiIAQdcARw0BDAILCyAAIgMNAEGAiQEhAgwBC0GAiQEhAANAIAAtAAAhBSAAQQFqIgIhACAFDQAgAiEAIANBAWsiAw0ACwsgBCgCFBogASACNgKgAQwCCyMAQRBrIgAgASgCqAEoAgQ2AgwgAUEAIAAoAgxrQQJ0QajZAGooAgA2AqABDAELIAFBADYCoAELCwJAIAEoAqABRQRAIAEgASgCpAE2AqwBDAELIAEgASgCoAEQKwJ/IAEoAqQBBEAgASgCpAEQK0ECagwBC0EAC2pBAWoQGCIANgIcIABFBEAgAUG4EygCADYCrAEMAQsgASgCHCEAAn8gASgCpAEEQCABKAKkAQwBC0H6EgshA0HfEkH6EiABKAKkARshAiABIAEoAqABNgIIIAEgAjYCBCABIAM2AgAgAEG+CiABEHAgASgCqAEgASgCHDYCCCABIAEoAhw2AqwBCyABKAKsASEAIAFBsAFqJAAgAAszAQF/IAAoAhQiAyABIAIgACgCECADayIBIAEgAksbIgEQGRogACAAKAIUIAFqNgIUIAILjwUCBn4BfyABIAEoAgBBD2pBcHEiAUEQajYCACAAAnwgASkDACEDIAEpAwghBiMAQSBrIggkAAJAIAZC////////////AIMiBEKAgICAgIDAgDx9IARCgICAgICAwP/DAH1UBEAgBkIEhiADQjyIhCEEIANC//////////8PgyIDQoGAgICAgICACFoEQCAEQoGAgICAgICAwAB8IQIMAgsgBEKAgICAgICAgEB9IQIgA0KAgICAgICAgAiFQgBSDQEgAiAEQgGDfCECDAELIANQIARCgICAgICAwP//AFQgBEKAgICAgIDA//8AURtFBEAgBkIEhiADQjyIhEL/////////A4NCgICAgICAgPz/AIQhAgwBC0KAgICAgICA+P8AIQIgBEL///////+//8MAVg0AQgAhAiAEQjCIpyIAQZH3AEkNACADIQIgBkL///////8/g0KAgICAgIDAAIQiBSEHAkAgAEGB9wBrIgFBwABxBEAgAiABQUBqrYYhB0IAIQIMAQsgAUUNACAHIAGtIgSGIAJBwAAgAWutiIQhByACIASGIQILIAggAjcDECAIIAc3AxgCQEGB+AAgAGsiAEHAAHEEQCAFIABBQGqtiCEDQgAhBQwBCyAARQ0AIAVBwAAgAGuthiADIACtIgKIhCEDIAUgAoghBQsgCCADNwMAIAggBTcDCCAIKQMIQgSGIAgpAwAiA0I8iIQhAiAIKQMQIAgpAxiEQgBSrSADQv//////////D4OEIgNCgYCAgICAgIAIWgRAIAJCAXwhAgwBCyADQoCAgICAgICACIVCAFINACACQgGDIAJ8IQILIAhBIGokACACIAZCgICAgICAgICAf4OEvws5AwALrRcDEn8CfgF8IwBBsARrIgkkACAJQQA2AiwCQCABvSIYQn9XBEBBASESQa4IIRMgAZoiAb0hGAwBCyAEQYAQcQRAQQEhEkGxCCETDAELQbQIQa8IIARBAXEiEhshEyASRSEXCwJAIBhCgICAgICAgPj/AINCgICAgICAgPj/AFEEQCAAQSAgAiASQQNqIg0gBEH//3txECYgACATIBIQIiAAQeQLQbUSIAVBIHEiAxtBjw1BuRIgAxsgASABYhtBAxAiDAELIAlBEGohEAJAAn8CQCABIAlBLGoQqQEiASABoCIBRAAAAAAAAAAAYgRAIAkgCSgCLCIGQQFrNgIsIAVBIHIiFEHhAEcNAQwDCyAFQSByIhRB4QBGDQIgCSgCLCELQQYgAyADQQBIGwwBCyAJIAZBHWsiCzYCLCABRAAAAAAAALBBoiEBQQYgAyADQQBIGwshCiAJQTBqIAlB0AJqIAtBAEgbIg4hBwNAIAcCfyABRAAAAAAAAPBBYyABRAAAAAAAAAAAZnEEQCABqwwBC0EACyIDNgIAIAdBBGohByABIAO4oUQA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HCECIAEgASgCGCIDQQFqNgIYQQAgAy0AASACRw0AGiABKAIcIQIgASABKAIYIgNBAWo2AhhBACADLQABIAJHDQAaIAEoAhwhAiABIAEoAhgiA0EBajYCGEEAIAMtAAEgAkcNABogASgCHCECIAEgASgCGCIDQQFqNgIYQQAgAy0AASACRw0AGiABKAIcIQIgASABKAIYIgNBAWo2AhhBACADLQABIAJHDQAaIAEoAhwhAiABIAEoAhgiA0EBajYCGEEAIAMtAAEgAkcNABogASgCGCABKAIUSQtBAXENAAsgASgCKEGCAiABKAIUIAEoAhhrazYCYCABKAIoKAJgIAEoAigoAnRLBEAgASgCKCABKAIoKAJ0NgJgCwsLAkAgASgCKCgCYEEDTwRAIAEgASgCKCgCYEEDazoAEyABQQE7ARAgASgCKCICKAKkLSACKAKgLUEBdGogAS8BEDsBACABLQATIQMgASgCKCICKAKYLSEEIAIgAigCoC0iAkEBajYCoC0gAiAEaiADOgAAIAEgAS8BEEEBazsBECABKAIoIAEtABNB0N0Aai0AAEECdGpBmAlqIgIgAi8BAEEBajsBACABKAIoQYgTagJ/IAEvARBBgAJJBEAgAS8BEC0A0FkMAQsgAS8BEEEHdkGAAmotANBZC0ECdGoiAiACLwEAQQFqOwEAIAEgASgCKCgCoC0gASgCKCgCnC1BAWtGNgIgIAEoAigiAiACKAJ0IAEoAigoAmBrNgJ0IAEoAigiAiABKAIoKAJgIAIoAmxqNgJsIAEoAihBADYCYAwBCyABIAEoAigiAigCOCACKAJsai0AADoADyABKAIoIgIoAqQtIAIoAqAtQQF0akEAOwEAIAEtAA8hAyABKAIoIgIoApgtIQQgAiACKAKgLSICQQFqNgKgLSACIARqIAM6AAAgASgCKCABLQAPQQJ0aiICIAIvAZQBQQFqOwGUASABIAEoAigoAqAtIAEoAigoApwtQQFrRjYCICABKAIoIgIgAigCdEEBazYCdCABKAIoIgIgAigCbEEBajYCbAsgASgCIARAIAEoAigCfyABKAIoKAJcQQBOBEAgASgCKCgCOCABKAIoKAJcagwBC0EACyABKAIoKAJsIAEoAigoAlxrQQAQKCABKAIoIAEoAigoAmw2AlwgASgCKCgCABAcIAEoAigo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QCABKAIoQQ9JBEAgASABKAJQIgJBAWo2AlAgASABKAIsIAItAAAgASgCKHRqNgIsIAEgASgCKEEIajYCKCABIAEoAlAiAkEBajYCUCABIAEoAiwgAi0AACABKAIodGo2AiwgASABKAIoQQhqNgIoCyABIAEoAiQgASgCLCABKAIccUECdGooAQA2ARACQAJAA0AgASABLQARNgIMIAEgASgCLCABKAIMdjYCLCABIAEoAiggASgCDGs2AiggASABLQAQNgIMIAEoAgxFBEAgAS8BEiECIAEgASgCSCIDQQFqNgJIIAMgAjoAAAwCCyABKAIMQRBxBEAgASABLwESNgIIIAEgASgCDEEPcTYCDCABKAIMBEAgASgCKCABKAIMSQRAIAEgASgCUCICQQFqNgJQIAEgASgCLCACLQAAIAEoAih0ajYCLCABIAEoAihBCGo2AigLIAEgASgCCCABKAIsQQEgASgCDHRBAWtxajYCCCABIAEoAiwgASgCDHY2AiwgASABKAIoIAEoAgxrNgIoCyABKAIoQQ9JBEAgASABKAJQIgJBAWo2AlAgASABKAIsIAItAAAgASgCKHRqNgIsIAEgASgCKEEIajYCKCABIAEoAlAiAkEBajYCUCABIAEoAiwgAi0AACABKAIodGo2AiwgASABKAIoQQhqNgIoCyABIAEoAiAgASgCLCABKAIYcUECdGooAQA2ARACQANAIAEgAS0AETYCDCABIAEoAiwgASgCDHY2AiwgASABKAIoIAEoAgxrNgIoIAEgAS0AEDYCDCABKAIMQRBxBEAgASABLwESNgIEIAEgASgCDEEPcTYCDCABKAIoIAEoAgxJBEAgASABKAJQIgJBAWo2AlAgASABKAIsIAItAAAgASgCKHRqNgIsIAEgASgCKEEIajYCKCABKAIoIAEoAgxJBEAgASABKAJQIgJBAWo2AlAgASABKAIsIAItAAAgASgCKHRqNgIsIAEgASgCKEEIajYCKAsLIAEgASgCBCABKAIsQQEgASgCDHRBAWtxajYCBCABIAEoAiwgASgCDHY2AiwgASABKAIoIAEoAgxrNgIoIAEgASgCSCABKAJEazYCDAJAIAEoAgQgASgCDEsEQCABIAEoAgQgASgCDGs2AgwgASgCDCABKAI4SwRAIAEoAlQoAsQ3BEAgASgCXEHdDDYCGCABKAJUQdH+ADYCBAwKCwsgASABKAIwNgIAAkAgASgCNEUEQCABIAEoAgAgASgCPCABKAIMa2o2AgAgASgCDCABKAIISQRAIAEgASgCCCABKAIMazYCCANAIAEgASgCACICQQFqNgIAIAItAAAhAiABIAEoAkgiA0EBajYCSCADIAI6AAAgASABKAIMQQFrIgI2AgwgAg0ACyABIAEoAkggASgCBGs2AgALDAELAkAgASgCNCABKAIMSQRAIAEgASgCACABKAI8IAEoAjRqIAEoAgxrajYCACABIAEoAgwgASgCNGs2AgwgASgCDCABKAIISQRAIAEgASgCCCABKAIMazYCCANAIAEgASgCACICQQFqNgIAIAItAAAhAiABIAEoAkgiA0EBajYCSCADIAI6AAAgASABKAIMQQFrIgI2AgwgAg0ACyABIAEoAjA2AgAgASgCNCABKAIISQRAIAEgASgCNDYCDCABIAEoAgggASgCDGs2AggDQCABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAAIAEgASgCDEEBayICNgIMIAINAAsgASABKAJIIAEoAgRrNgIACwsMAQsgASABKAIAIAEoAjQgASgCDGtqNgIAIAEoAgwgASgCCEkEQCABIAEoAgggASgCDGs2AggDQCABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAAIAEgASgCDEEBayICNgIMIAINAAsgASABKAJIIAEoAgRrNgIACwsLA0AgASgCCEECSwRAIAEgASgCACICQQFqNgIAIAItAAAhAiABIAEoAkgiA0EBajYCSCADIAI6AAAgASABKAIAIgJBAWo2AgAgAi0AACECIAEgASgCSCIDQQFqNgJIIAMgAjoAACABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAAIAEgASgCCEEDazYCCAwBCwsMAQsgASABKAJIIAEoAgRrNgIAA0AgASABKAIAIgJBAWo2AgAgAi0AACECIAEgASgCSCIDQQFqNgJIIAMgAjoAACABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAAIAEgASgCACICQQFqNgIAIAItAAAhAiABIAEoAkgi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ZWFkIGVycm9yAFpsaWIgZXJyb3IAZGF0YSBlcnJvcgBDUkMgZXJyb3IAaW5jb21wYXRpYmxlIHZlcnNpb24AbmFuAC9kZXYvdXJhbmRvbQBpbnZhbGlkIGNvZGUgLS0gbWlzc2luZyBlbmQtb2YtYmxvY2sAaW5jb3JyZWN0IGhlYWRlciBjaGVjawBpbmNvcnJlY3QgbGVuZ3RoIGNoZWNrAGluY29ycmVjdCBkYXRhIGNoZWNrAGludmFsaWQgZGlzdGFuY2UgdG9vIGZhciBiYWNrAGhlYWRlciBjcmMgbWlzbWF0Y2gAaW5mAGludmFsaWQgd2luZG93IHNpemUAUmVhZC1vbmx5IGFyY2hpdmUATm90IGEgemlwIGFyY2hpdmUAUmVzb3VyY2Ugc3RpbGwgaW4gdXNlAE1hbGxvYyBmYWlsdXJlAGludmFsaWQgYmxvY2sgdHlwZQBGYWlsdXJlIHRvIGNyZWF0ZSB0ZW1wb3JhcnkgZmlsZQBDYW4ndCBvcGVuIGZpbGUATm8gc3VjaCBmaWxlAFByZW1hdHVyZSBlbmQgb2YgZmlsZQBDYW4ndCByZW1vdmUgZmlsZQBpbnZhbGlkIGxpdGVyYWwvbGVuZ3RoIGNvZGUAaW52YWxpZCBkaXN0YW5jZSBjb2RlAHVua25vd24gY29tcHJlc3Npb24gbWV0aG9kAHN0cmVhbSBlbmQAQ29tcHJlc3NlZCBkYXRhIGludmFsaWQATXVsdGktZGlzayB6aXAgYXJjaGl2ZXMgbm90IHN1cHBvcnRlZABPcGVyYXRpb24gbm90IHN1cHBvcnRlZABFbmNyeXB0aW9uIG1ldGhvZCBub3Qgc3VwcG9ydGVkAENvbXByZXNzaW9uIG1ldGhvZCBub3Qgc3VwcG9ydGVkAEVudHJ5IGhhcyBiZWVuIGRlbGV0ZWQAQ29udGFpbmluZyB6aXAgYXJjaGl2ZSB3YXMgY2xvc2VkAENsb3NpbmcgemlwIGFyY2hpdmUgZmFpbGVkAFJlbmFtaW5nIHRlbXBvcmFyeSBmaWxlIGZhaWxlZABFbnRyeSBoYXMgYmVlbiBjaGFuZ2VkAE5vIHBhc3N3b3JkIHByb3ZpZGVkAFdyb25nIHBhc3N3b3JkIHByb3ZpZGVkAFVua25vd24gZXJyb3IgJWQAcmIAcitiAHJ3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CADcAAgAPAAIALwACAB8AAgA/AAIAAIACACCAAgAQgAIAMIACAAiAAgAogAIAGIACADiAAgAEgAIAJIACABSAAgA0gAIADIACACyAAgAcgAIAPIACAAKAAgAigAIAEoACADKAAgAKgAIAKoACABqAAgA6gAIABoACACaAAgAWgAIANoACAA6AAgAugAIAHoACAD6AAgABgAIAIYACABGAAgAxgAIACYACACmAAgAZgAIAOYACAAWAAgAlgAIAFYACADWAAgANgAIALYACAB2AAgA9gAIAA4ACACOAAgATgAIAM4ACAAuAAgArgAIAG4ACADuAAgAHgAIAJ4ACABeAAgA3gAIAD4ACAC+AAgAfgAIAP4ACAABAAgAgQAIAEEACADBAAgAIQAIAKEACABhAAgA4QAIABEACACRAAgAUQAIANEACAAxAAgAsQAIAHEACADxAAgACQAIAIkACABJAAgAyQAIACkACACpAAgAaQAIAOkACAAZAAgAmQAIAFkACADZAAgAOQAIALkACAB5AAgA+QAIAAUACACFAAgARQAIAMUACAAlAAgApQAIAGUACADlAAgAFQAIAJUACABVAAgA1QAIADUACAC1AAgAdQAIAPUACAANAAgAjQAIAE0ACADNAAgALQAIAK0ACABtAAgA7QAIAB0ACACdAAgAXQAIAN0ACAA9AAgAvQAIAH0ACAD9AAgAEwAJABMBCQCTAAkAkwEJAFMACQBTAQkA0wAJANMBCQAzAAkAMwEJALMACQCzAQkAcwAJAHMBCQDzAAkA8wEJAAsACQALAQkAiwAJAIsBCQBLAAkASwEJAMsACQDLAQkAKwAJACsBCQCrAAkAqwEJAGsACQBrAQkA6wAJAOsBCQAbAAkAGwEJAJsACQCbAQkAWwAJAFsBCQDbAAkA2wEJADsACQA7AQkAuwAJALsBCQB7AAkAewEJAPsACQD7AQkABwAJAAcBCQCHAAkAhwEJAEcACQBHAQkAxwAJAMcBCQAnAAkAJwEJAKcACQCnAQkAZwAJAGcBCQDnAAkA5wEJABcACQAXAQkAlwAJAJcBCQBXAAkAVwEJANcACQDXAQkANwAJADcBCQC3AAkAtwEJAHcACQB3AQkA9wAJAPcBCQAPAAkADwEJAI8ACQCPAQkATwAJAE8BCQDPAAkAzwEJAC8ACQAvAQkArwAJAK8BCQBvAAkAbwEJAO8ACQDvAQkAHwAJAB8BCQCfAAkAnwEJAF8ACQBfAQkA3wAJAN8BCQA/AAkAPwEJAL8ACQC/AQkAfwAJAH8BCQD/AAkA/wEJAAAABwBAAAcAIAAHAGAABwAQAAcAUAAHADAABwBwAAcACAAHAEgABwAoAAcAaAAHABgABwBYAAcAOAAHAHgABwAEAAcARAAHACQABwBkAAcAFAAHAFQABwA0AAcAdAAHAAMACACDAAgAQwAIAMMACAAjAAgAowAIAGMACADjAAgAAAAFABAABQAIAAUAGAAFAAQABQAUAAUADAAFABwABQACAAUAEgAFAAoABQAaAAUABgAFABYABQAOAAUAHgAFAAEABQARAAUACQAFABkABQAFAAUAFQAFAA0ABQAdAAUAAwAFABMABQALAAUAGwAFAAcABQAXAAUAQbDqAAtNAQAAAAEAAAABAAAAAQAAAAIAAAACAAAAAgAAAAIAAAADAAAAAwAAAAMAAAADAAAABAAAAAQAAAAEAAAABAAAAAUAAAAFAAAABQAAAAUAQaDrAAtlAQAAAAEAAAACAAAAAgAAAAMAAAADAAAABAAAAAQAAAAFAAAABQAAAAYAAAAGAAAABwAAAAcAAAAIAAAACAAAAAkAAAAJAAAACgAAAAoAAAALAAAACwAAAAwAAAAMAAAADQAAAA0AQdDsAAsjAgAAAAMAAAAHAAAAAAAAABAREgAIBwkGCgULBAwDDQIOAQ8AQYTtAAtpAQAAAAIAAAADAAAABAAAAAUAAAAGAAAABwAAAAgAAAAKAAAADAAAAA4AAAAQAAAAFAAAABgAAAAcAAAAIAAAACgAAAAwAAAAOAAAAEAAAABQAAAAYAAAAHAAAACAAAAAoAAAAMAAAADgAEGE7gALegEAAAACAAAAAwAAAAQAAAAGAAAACAAAAAwAAAAQAAAAGAAAACAAAAAwAAAAQAAAAGAAAACAAAAAwAAAAAABAACAAQAAAAIAAAADAAAABAAAAAYAAAAIAAAADAAAABAAAAAYAAAAIAAAADAAAABAAAAAYAAAMS4yLjExAEGI7wALbQcAAAAEAAQACAAEAAgAAAAEAAUAEAAIAAgAAAAEAAYAIAAgAAgAAAAEAAQAEAAQAAkAAAAIABAAIAAgAAkAAAAIABAAgACAAAkAAAAIACAAgAAAAQkAAAAgAIAAAgEABAkAAAAgAAIBAgEAEAkAQYDwAAulAgMABAAFAAYABwAIAAkACgALAA0ADwARABMAFwAbAB8AIwArADMAOwBDAFMAYwBzAIMAowDDAOMAAgEAAAAAAAAQABAAEAAQABAAEAAQABAAEQARABEAEQASABIAEgASABMAEwATABMAFAAUABQAFAAVABUAFQAVABAATQDKAAAAAQACAAMABAAFAAcACQANABEAGQAhADEAQQBhAIEAwQABAYEBAQIBAwEEAQYBCAEMARABGAEgATABQAFgAAAAABAAEAAQABAAEQARABIAEgATABMAFAAUABUAFQAWABYAFwAXABgAGAAZABkAGgAaABsAGwAcABwAHQAdAEAAQAAQABEAEgAAAAgABwAJAAYACgAFAAsABAAMAAMADQACAA4AAQAPAEGw8gALwRFgBwAAAAhQAAAIEAAUCHMAEgcfAAAIcAAACDAAAAnAABAHCgAACGAAAAggAAAJoAAACAAAAAiAAAAIQAAACeAAEAcGAAAIWAAACBgAAAmQABMHOwAACHgAAAg4AAAJ0AARBxEAAAhoAAAIKAAACbAAAAgIAAAIiAAACEgAAAnwABAHBAAACFQAAAgUABUI4wATBysAAAh0AAAINAAACcgAEQcNAAAIZAAACCQAAAmoAAAIBAAACIQAAAhEAAAJ6AAQBwgAAAhcAAAIHAAACZgAFAdTAAAIfAAACDwAAAnYABIHFwAACGwAAAgsAAAJuAAACAwAAAiMAAAITAAACfgAEAcDAAAIUgAACBIAFQijABMHIwAACHIAAAgyAAAJxAARBwsAAAhiAAAIIgAACaQAAAgCAAAIggAACEIAAAnkABAHBwAACFoAAAgaAAAJlAAUB0MAAAh6AAAIOgAACdQAEgcTAAAIagAACCoAAAm0AAAICgAACIoAAAhKAAAJ9AAQBwUAAAhWAAAIFgBACAAAEwczAAAIdgAACDYAAAnMABEHDwAACGYAAAgmAAAJrAAACAYAAAiGAAAIRgAACewAEAcJAAAIXgAACB4AAAmcABQHYwAACH4AAAg+AAAJ3AASBxsAAAhuAAAILgAACbwAAAgOAAAIjgAACE4AAAn8AGAHAAAACFEAAAgRABUIgwASBx8AAAhxAAAIMQAACcIAEAcKAAAIYQAACCEAAAmiAAAIAQAACIEAAAhBAAAJ4gAQBwYAAAhZAAAIGQAACZIAEwc7AAAIeQAACDkAAAnSABEHEQAACGkAAAgpAAAJsgAACAkAAAiJAAAISQAACfIAEAcEAAAIVQAACBUAEAgCARMHKwAACHUAAAg1AAAJygARBw0AAAhlAAAIJQAACaoAAAgFAAAIhQAACEUAAAnqABAHCAAACF0AAAgdAAAJmgAUB1MAAAh9AAAIPQAACdoAEgcXAAAIbQAACC0AAAm6AAAIDQAACI0AAAhNAAAJ+gAQBwMAAAhTAAAIEwAVCMMAEwcjAAAIcwAACDMAAAnGABEHCwAACGMAAAgjAAAJpgAACAMAAAiDAAAIQwAACeYAEAcHAAAIWwAACBsAAAmWABQHQwAACHsAAAg7AAAJ1gASBxMAAAhrAAAIKwAACbYAAAgLAAAIiwAACEsAAAn2ABAHBQAACFcAAAgXAEAIAAATBzMAAAh3AAAINwAACc4AEQcPAAAIZwAACCcAAAmuAAAIBwAACIcAAAhHAAAJ7gAQBwkAAAhfAAAIHwAACZ4AFAdjAAAIfwAACD8AAAneABIHGwAACG8AAAgvAAAJvgAACA8AAAiPAAAITwAACf4AYAcAAAAIUAAACBAAFAhzABIHHwAACHAAAAgwAAAJwQAQBwoAAAhgAAAIIAAACaEAAAgAAAAIgAAACEAAAAnhABAHBgAACFgAAAgYAAAJkQATBzsAAAh4AAAIOAAACdEAEQcRAAAIaAAACCgAAAmxAAAICAAACIgAAAhIAAAJ8QAQBwQAAAhUAAAIFAAVCOMAEwcrAAAIdAAACDQAAAnJABEHDQAACGQAAAgkAAAJqQAACAQAAAiEAAAIRAAACekAEAcIAAAIXAAACBwAAAmZABQHUwAACHwAAAg8AAAJ2QASBxcAAAhsAAAILAAACbkAAAgMAAAIjAAACEwAAAn5ABAHAwAACFIAAAgSABUIowATByMAAAhyAAAIMgAACcUAEQcLAAAIYgAACCIAAAmlAAAIAgAACIIAAAhCAAAJ5QAQBwcAAAhaAAAIGgAACZUAFAdDAAAIegAACDoAAAnVABIHEwAACGoAAAgqAAAJtQAACAoAAAiKAAAISgAACfUAEAcFAAAIVgAACBYAQAgAABMHMwAACHYAAAg2AAAJzQARBw8AAAhmAAAIJgAACa0AAAgGAAAIhgAACEYAAAntABAHCQAACF4AAAgeAAAJnQAUB2MAAAh+AAAIPgAACd0AEgcbAAAIbgAACC4AAAm9AAAIDgAACI4AAAhOAAAJ/QBgBwAAAAhRAAAIEQAVCIMAEgcfAAAIcQAACDEAAAnDABAHCgAACGEAAAghAAAJowAACAEAAAiBAAAIQQAACeMAEAcGAAAIWQAACBkAAAmTABMHOwAACHkAAAg5AAAJ0wARBxEAAAhpAAAIKQAACbMAAAgJAAAIiQAACEkAAAnzABAHBAAACFUAAAgVABAIAgETBysAAAh1AAAINQAACcsAEQcNAAAIZQAACCUAAAmrAAAIBQAACIUAAAhFAAAJ6wAQBwgAAAhdAAAIHQAACZsAFAdTAAAIfQAACD0AAAnbABIHFwAACG0AAAgtAAAJuwAACA0AAAiNAAAITQAACfsAEAcDAAAIUwAACBMAFQjDABMHIwAACHMAAAgzAAAJxwARBwsAAAhjAAAIIwAACacAAAgDAAAIgwAACEMAAAnnABAHBwAACFsAAAgbAAAJlwAUB0MAAAh7AAAIOwAACdcAEgcTAAAIawAACCsAAAm3AAAICwAACIsAAAhLAAAJ9wAQBwUAAAhXAAAIFwBACAAAEwczAAAIdwAACDcAAAnPABEHDwAACGcAAAgnAAAJrwAACAcAAAiHAAAIRwAACe8AEAcJAAAIXwAACB8AAAmfABQHYwAACH8AAAg/AAAJ3wASBxsAAAhvAAAILwAACb8AAAgPAAAIjwAACE8AAAn/ABAFAQAXBQEBEwURABsFARARBQUAGQUBBBUFQQAdBQFAEAUDABgFAQIUBSEAHAUBIBIFCQAaBQEIFgWBAEAFAAAQBQIAFwWBARMFGQAbBQEYEQUHABkFAQYVBWEAHQUBYBAFBAAYBQEDFAUxABwFATASBQ0AGgUBDBYFwQBABQAAEQAKABEREQAAAAAFAAAAAAAACQAAAAALAAAAAAAAAAARAA8KERERAwoHAAEACQsLAAAJBgsAAAsABhEAAAAREREAQYGEAQshCwAAAAAAAAAAEQAKChEREQAKAAACAAkLAAAACQALAAALAEG7hAELAQwAQceEAQsVDAAAAAAMAAAAAAkMAAAAAAAMAAAMAEH1hAELAQ4AQYGFAQsVDQAAAAQNAAAAAAkOAAAAAAAOAAAOAEGvhQELARAAQbuFAQseDwAAAAAPAAAAAAkQAAAAAAAQAAAQAAASAAAAEhISAEHyhQELDhIAAAASEhIAAAAAAAAJAEGjhgELAQsAQa+GAQsVCgAAAAAKAAAAAAkLAAAAAAALAAALAEHdhgELAQwAQemGAQsnDAAAAAAMAAAAAAkMAAAAAAAMAAAMAAAwMTIzNDU2Nzg5QUJDREVGAEG0hwELARkAQduHAQsF//////8AQaCIAQtXGRJEOwI/LEcUPTMwChsGRktFNw9JDo4XA0AdPGkrNh9KLRwBICUpIQgMFRYiLhA4Pgs0MRhkdHV2L0EJfzkRI0MyQomKiwUEJignDSoeNYwHGkiTE5SVAEGAiQELig5JbGxlZ2FsIGJ5dGUgc2VxdWVuY2UARG9tYWluIGVycm9yAFJlc3VsdCBub3QgcmVwcmVzZW50YWJsZQBOb3QgYSB0dHkAUGVybWlzc2lvbiBkZW5pZWQAT3BlcmF0aW9uIG5vdCBwZXJtaXR0ZWQATm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQBObyBzdWNoIHByb2Nlc3MARmlsZSBleGlzdHMAVmFsdWUgdG9vIGxhcmdlIGZvciBkYXRhIHR5cGUATm8gc3BhY2UgbGVmdCBvbiBkZXZpY2UAT3V0IG9mIG1lbW9yeQBSZXNvdXJjZSBidXN5AEludGVycnVwdGVkIHN5c3RlbSBjYWxsAFJlc291cmNlIHRlbXBvcmFyaWx5IHVuYXZhaWxhYmxlAEludmFsaWQgc2VlawBDcm9zcy1kZXZpY2UgbGluawBSZWFkLW9ubHkgZmlsZSBzeXN0ZW0ARGlyZWN0b3J5IG5vdCBlbXB0eQBDb25uZWN0aW9uIHJlc2V0IGJ5IHBlZXIAT3BlcmF0aW9uIHRpbWVkIG91dABDb25uZWN0aW9uIHJlZnVzZWQASG9zdCBpcyBkb3duAEhvc3QgaXMgdW5yZWFjaGFibGUAQWRkcmVzcyBpbiB1c2UAQnJva2VuIHBpcGUASS9PIGVycm9yAE5vIHN1Y2ggZGV2aWNlIG9yIGFkZHJlc3MAQmxvY2sgZGV2aWNlIHJlcXVpcmVkAE5vIHN1Y2ggZGV2aWNlAE5vdCBhIGRpcmVjdG9yeQBJcyBhIGRpcmVjdG9yeQBUZXh0IGZpbGUgYnVzeQBFeGVjIGZvcm1hdCBlcnJvcgBJbnZhbGlkIGFyZ3VtZW50AEFyZ3VtZW50IGxpc3QgdG9vIGxvbmcAU3ltYm9saWMgbGluayBsb29wAEZpbGVuYW1lIHRvbyBsb25nAFRvbyBtYW55IG9wZW4gZmlsZXMgaW4gc3lzdGVtAE5vIGZpbGUgZGVzY3JpcHRvcnMgYXZhaWxhYmxlAEJhZCBmaWxlIGRlc2NyaXB0b3IATm8gY2hpbGQgcHJvY2VzcwBCYWQgYWRkcmVzcwBGaWxlIHRvbyBsYXJnZQBUb28gbWFueSBsaW5rcwBObyBsb2NrcyBhdmFpbGFibGUAUmVzb3VyY2UgZGVhZGxvY2sgd291bGQgb2NjdXIAU3RhdGUgbm90IHJlY292ZXJhYmxlAFByZXZpb3VzIG93bmVyIGRpZWQAT3BlcmF0aW9uIGNhbmNlbGVkAEZ1bmN0aW9uIG5vdCBpbXBsZW1lbnRlZABObyBtZXNzYWdlIG9mIGRlc2lyZWQgdHlwZQBJZGVudGlmaWVyIHJlbW92ZWQARGV2aWNlIG5vdCBhIHN0cmVhbQBObyBkYXRhIGF2YWlsYWJsZQBEZXZpY2UgdGltZW91dABPdXQgb2Ygc3RyZWFtcyByZXNvdXJjZXMATGluayBoYXMgYmVlbiBzZXZlcmVkAFByb3RvY29sIGVycm9yAEJhZCBtZXNzYWdlAEZpbGUgZGVzY3JpcHRvciBpbiBiYWQgc3RhdGUATm90IGEgc29ja2V0AERlc3RpbmF0aW9uIGFkZHJlc3MgcmVxdWlyZWQATWVzc2FnZSB0b28gbGFyZ2UAUHJvdG9jb2wgd3JvbmcgdHlwZSBmb3Igc29ja2V0AFByb3RvY29sIG5vdCBhdmFpbGFibGUAUHJvdG9jb2wgbm90IHN1cHBvcnRlZABTb2NrZXQgdHlwZSBub3Qgc3VwcG9ydGVkAE5vdCBzdXBwb3J0ZWQAUHJvdG9jb2wgZmFtaWx5IG5vdCBzdXBwb3J0ZWQAQWRkcmVzcyBmYW1pbHkgbm90IHN1cHBvcnRlZCBieSBwcm90b2NvbABBZGRyZXNzIG5vdCBhdmFpbGFibGUATmV0d29yayBpcyBkb3duAE5ldHdvcmsgdW5yZWFjaGFibGUAQ29ubmVjdGlvbiByZXNldCBieSBuZXR3b3JrAENvbm5lY3Rpb24gYWJvcnRlZABObyBidWZmZXIgc3BhY2UgYXZhaWxhYmxlAFNvY2tldCBpcyBjb25uZWN0ZWQAU29ja2V0IG5vdCBjb25uZWN0ZWQAQ2Fubm90IHNlbmQgYWZ0ZXIgc29ja2V0IHNodXRkb3duAE9wZXJhdGlvbiBhbHJlYWR5IGluIHByb2dyZXNzAE9wZXJhdGlvbiBpbiBwcm9ncmVzcwBTdGFsZSBmaWxlIGhhbmRsZQBSZW1vdGUgSS9PIGVycm9yAFF1b3RhIGV4Y2VlZGVkAE5vIG1lZGl1bSBmb3VuZABXcm9uZyBtZWRpdW0gdHlwZQBObyBlcnJvciBpbmZvcm1hdGlvbgBBkJcBC1JQUFAACgAAAAsAAAAMAAAADQAAAA4AAAAPAAAAEAAAABEAAAASAAAACwAAAAwAAAANAAAADgAAAA8AAAAQAAAAEQAAAAEAAAAIAAAAlEsAALRLAEGQmQELAgxQAEHImQELCR8AAADkTAAAAwBB5JkBC4wBLfRRWM+MscBG9rXLKTEDxwRbcDC0Xf0geH+LmthZKVBoSImrp1YDbP+3zYg/1He0K6WjcPG65Kj8QYP92W/hinovLXSWBx8NCV4Ddixw90ClLKdvV0GoqnTfoFhkA0rHxDxTrq9fGAQVseNtKIarDKS/Q/DpUIE5VxZSN/////////////////////8=";y4(Rp)||(Rp=dxe(Rp));function Kxe(t){try{if(t==Rp&&lP)return new Uint8Array(lP);var e=s4(t);if(e)return e;if(aP)return aP(t);throw"sync fetching of the wasm failed: you can preload it to Module['wasmBinary'] manually, or emcc.py will do that for you when generating HTML (but not JS)"}catch(r){Gr(r)}}function Uxe(t,e){var r,i,n;try{n=Kxe(t),i=new WebAssembly.Module(n),r=new WebAssembly.Instance(i,e)}catch(o){var s=o.toString();throw Di("failed to compile wasm module: "+s),(s.includes("imported Memory")||s.includes("memory import"))&&Di("Memory size incompatibility issues may be due to changing INITIAL_MEMORY at runtime to something too large. Use ALLOW_MEMORY_GROWTH to allow any size memory (and also make sure not to set INITIAL_MEMORY at runtime to something smaller than it was at compile time)."),o}return[r,i]}function Gxe(){var t={a:Hxe};function e(n,s){var o=n.exports;oe.asm=o,ew=oe.asm.u,p4(ew.buffer),fP=oe.asm.za,Mxe(oe.asm.v),dP("wasm-instantiate")}if(E4("wasm-instantiate"),oe.instantiateWasm)try{var r=oe.instantiateWasm(t,e);return r}catch(n){return Di("Module.instantiateWasm callback failed with error: "+n),!1}var i=Uxe(Rp,t);return e(i[0]),oe.asm}var ai,ya;function hP(t){for(;t.length>0;){var e=t.shift();if(typeof e=="function"){e(oe);continue}var r=e.func;typeof r=="number"?e.arg===void 0?fP.get(r)():fP.get(r)(e.arg):r(e.arg===void 0?null:e.arg)}}function iw(t,e){var r=new Date(_e[t>>2]*1e3);_e[e>>2]=r.getUTCSeconds(),_e[e+4>>2]=r.getUTCMinutes(),_e[e+8>>2]=r.getUTCHours(),_e[e+12>>2]=r.getUTCDate(),_e[e+16>>2]=r.getUTCMonth(),_e[e+20>>2]=r.getUTCFullYear()-1900,_e[e+24>>2]=r.getUTCDay(),_e[e+36>>2]=0,_e[e+32>>2]=0;var i=Date.UTC(r.getUTCFullYear(),0,1,0,0,0,0),n=(r.getTime()-i)/(1e3*60*60*24)|0;return _e[e+28>>2]=n,iw.GMTString||(iw.GMTString=uP("GMT")),_e[e+40>>2]=iw.GMTString,e}function jxe(t,e){return iw(t,e)}var yt={splitPath:function(t){var e=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return e.exec(t).slice(1)},normalizeArray:function(t,e){for(var r=0,i=t.length-1;i>=0;i--){var n=t[i];n==="."?t.splice(i,1):n===".."?(t.splice(i,1),r++):r&&(t.splice(i,1),r--)}if(e)for(;r;r--)t.unshift("..");return t},normalize:function(t){var e=t.charAt(0)==="/",r=t.substr(-1)==="/";return t=yt.normalizeArray(t.split("/").filter(function(i){return!!i}),!e).join("/"),!t&&!e&&(t="."),t&&r&&(t+="/"),(e?"/":"")+t},dirname:function(t){var e=yt.splitPath(t),r=e[0],i=e[1];return!r&&!i?".":(i&&(i=i.substr(0,i.length-1)),r+i)},basename:function(t){if(t==="/")return"/";t=yt.normalize(t),t=t.replace(/\/$/,"");var e=t.lastIndexOf("/");return e===-1?t:t.substr(e+1)},extname:function(t){return yt.splitPath(t)[3]},join:function(){var t=Array.prototype.slice.call(arguments,0);return yt.normalize(t.join("/"))},join2:function(t,e){return yt.normalize(t+"/"+e)}};function Yxe(){if(typeof crypto=="object"&&typeof crypto.getRandomValues=="function"){var t=new Uint8Array(1);return function(){return crypto.getRandomValues(t),t[0]}}else if(Wl)try{var e=require("crypto");return function(){return e.randomBytes(1)[0]}}catch(r){}return function(){Gr("randomDevice")}}var wa={resolve:function(){for(var t="",e=!1,r=arguments.length-1;r>=-1&&!e;r--){var i=r>=0?arguments[r]:y.cwd();if(typeof i!="string")throw new TypeError("Arguments to path.resolve must be strings");if(!i)return"";t=i+"/"+t,e=i.charAt(0)==="/"}return t=yt.normalizeArray(t.split("/").filter(function(n){return!!n}),!e).join("/"),(e?"/":"")+t||"."},relative:function(t,e){t=wa.resolve(t).substr(1),e=wa.resolve(e).substr(1);function r(c){for(var u=0;u=0&&c[g]==="";g--);return u>g?[]:c.slice(u,g-u+1)}for(var i=r(t.split("/")),n=r(e.split("/")),s=Math.min(i.length,n.length),o=s,a=0;a0?e=i.slice(0,n).toString("utf-8"):e=null}else typeof window!="undefined"&&typeof window.prompt=="function"?(e=window.prompt("Input: "),e!==null&&(e+=` +`)):typeof readline=="function"&&(e=readline(),e!==null&&(e+=` +`));if(!e)return null;t.input=CP(e,!0)}return t.input.shift()},put_char:function(t,e){e===null||e===10?($y(Zu(t.output,0)),t.output=[]):e!=0&&t.output.push(e)},flush:function(t){t.output&&t.output.length>0&&($y(Zu(t.output,0)),t.output=[])}},default_tty1_ops:{put_char:function(t,e){e===null||e===10?(Di(Zu(t.output,0)),t.output=[]):e!=0&&t.output.push(e)},flush:function(t){t.output&&t.output.length>0&&(Di(Zu(t.output,0)),t.output=[])}}};function mP(t){for(var e=mxe(t,65536),r=h4(e);t=e)){var i=1024*1024;e=Math.max(e,r*(r>>0),r!=0&&(e=Math.max(e,256));var n=t.contents;t.contents=new Uint8Array(e),t.usedBytes>0&&t.contents.set(n.subarray(0,t.usedBytes),0)}},resizeFileStorage:function(t,e){if(t.usedBytes!=e)if(e==0)t.contents=null,t.usedBytes=0;else{var r=t.contents;t.contents=new Uint8Array(e),r&&t.contents.set(r.subarray(0,Math.min(e,t.usedBytes))),t.usedBytes=e}},node_ops:{getattr:function(t){var e={};return e.dev=y.isChrdev(t.mode)?t.id:1,e.ino=t.id,e.mode=t.mode,e.nlink=1,e.uid=0,e.gid=0,e.rdev=t.rdev,y.isDir(t.mode)?e.size=4096:y.isFile(t.mode)?e.size=t.usedBytes:y.isLink(t.mode)?e.size=t.link.length:e.size=0,e.atime=new Date(t.timestamp),e.mtime=new Date(t.timestamp),e.ctime=new Date(t.timestamp),e.blksize=4096,e.blocks=Math.ceil(e.size/e.blksize),e},setattr:function(t,e){e.mode!==void 0&&(t.mode=e.mode),e.timestamp!==void 0&&(t.timestamp=e.timestamp),e.size!==void 0&&pt.resizeFileStorage(t,e.size)},lookup:function(t,e){throw y.genericErrors[44]},mknod:function(t,e,r,i){return pt.createNode(t,e,r,i)},rename:function(t,e,r){if(y.isDir(t.mode)){var i;try{i=y.lookupNode(e,r)}catch(s){}if(i)for(var n in i.contents)throw new y.ErrnoError(55)}delete t.parent.contents[t.name],t.parent.timestamp=Date.now(),t.name=r,e.contents[r]=t,e.timestamp=t.parent.timestamp,t.parent=e},unlink:function(t,e){delete t.contents[e],t.timestamp=Date.now()},rmdir:function(t,e){var r=y.lookupNode(t,e);for(var i in r.contents)throw new y.ErrnoError(55);delete t.contents[e],t.timestamp=Date.now()},readdir:function(t){var e=[".",".."];for(var r in t.contents)!t.contents.hasOwnProperty(r)||e.push(r);return e},symlink:function(t,e,r){var i=pt.createNode(t,e,511|40960,0);return i.link=r,i},readlink:function(t){if(!y.isLink(t.mode))throw new y.ErrnoError(28);return t.link}},stream_ops:{read:function(t,e,r,i,n){var s=t.node.contents;if(n>=t.node.usedBytes)return 0;var o=Math.min(t.node.usedBytes-n,i);if(o>8&&s.subarray)e.set(s.subarray(n,n+o),r);else for(var a=0;a0||i+r>2)}catch(r){throw r.code?new y.ErrnoError(tt.convertNodeCode(r)):r}return e.mode},realPath:function(t){for(var e=[];t.parent!==t;)e.push(t.name),t=t.parent;return e.push(t.mount.opts.root),e.reverse(),yt.join.apply(null,e)},flagsForNode:function(t){t&=~2097152,t&=~2048,t&=~32768,t&=~524288;var e=0;for(var r in tt.flagsForNodeMap)t&r&&(e|=tt.flagsForNodeMap[r],t^=r);if(t)throw new y.ErrnoError(28);return e},node_ops:{getattr:function(t){var e=tt.realPath(t),r;try{r=ft.lstatSync(e)}catch(i){throw i.code?new y.ErrnoError(tt.convertNodeCode(i)):i}return tt.isWindows&&!r.blksize&&(r.blksize=4096),tt.isWindows&&!r.blocks&&(r.blocks=(r.size+r.blksize-1)/r.blksize|0),{dev:r.dev,ino:r.ino,mode:r.mode,nlink:r.nlink,uid:r.uid,gid:r.gid,rdev:r.rdev,size:r.size,atime:r.atime,mtime:r.mtime,ctime:r.ctime,blksize:r.blksize,blocks:r.blocks}},setattr:function(t,e){var r=tt.realPath(t);try{if(e.mode!==void 0&&(ft.chmodSync(r,e.mode),t.mode=e.mode),e.timestamp!==void 0){var i=new Date(e.timestamp);ft.utimesSync(r,i,i)}e.size!==void 0&&ft.truncateSync(r,e.size)}catch(n){throw n.code?new y.ErrnoError(tt.convertNodeCode(n)):n}},lookup:function(t,e){var r=yt.join2(tt.realPath(t),e),i=tt.getMode(r);return tt.createNode(t,e,i)},mknod:function(t,e,r,i){var n=tt.createNode(t,e,r,i),s=tt.realPath(n);try{y.isDir(n.mode)?ft.mkdirSync(s,n.mode):ft.writeFileSync(s,"",{mode:n.mode})}catch(o){throw o.code?new y.ErrnoError(tt.convertNodeCode(o)):o}return n},rename:function(t,e,r){var i=tt.realPath(t),n=yt.join2(tt.realPath(e),r);try{ft.renameSync(i,n)}catch(s){throw s.code?new y.ErrnoError(tt.convertNodeCode(s)):s}t.name=r},unlink:function(t,e){var r=yt.join2(tt.realPath(t),e);try{ft.unlinkSync(r)}catch(i){throw i.code?new y.ErrnoError(tt.convertNodeCode(i)):i}},rmdir:function(t,e){var r=yt.join2(tt.realPath(t),e);try{ft.rmdirSync(r)}catch(i){throw i.code?new y.ErrnoError(tt.convertNodeCode(i)):i}},readdir:function(t){var e=tt.realPath(t);try{return ft.readdirSync(e)}catch(r){throw r.code?new y.ErrnoError(tt.convertNodeCode(r)):r}},symlink:function(t,e,r){var i=yt.join2(tt.realPath(t),e);try{ft.symlinkSync(r,i)}catch(n){throw n.code?new y.ErrnoError(tt.convertNodeCode(n)):n}},readlink:function(t){var e=tt.realPath(t);try{return e=ft.readlinkSync(e),e=EP.relative(EP.resolve(t.mount.opts.root),e),e}catch(r){throw r.code?new y.ErrnoError(tt.convertNodeCode(r)):r}}},stream_ops:{open:function(t){var e=tt.realPath(t.node);try{y.isFile(t.node.mode)&&(t.nfd=ft.openSync(e,tt.flagsForNode(t.flags)))}catch(r){throw r.code?new y.ErrnoError(tt.convertNodeCode(r)):r}},close:function(t){try{y.isFile(t.node.mode)&&t.nfd&&ft.closeSync(t.nfd)}catch(e){throw e.code?new y.ErrnoError(tt.convertNodeCode(e)):e}},read:function(t,e,r,i,n){if(i===0)return 0;try{return ft.readSync(t.nfd,tt.bufferFrom(e.buffer),r,i,n)}catch(s){throw new y.ErrnoError(tt.convertNodeCode(s))}},write:function(t,e,r,i,n){try{return ft.writeSync(t.nfd,tt.bufferFrom(e.buffer),r,i,n)}catch(s){throw new y.ErrnoError(tt.convertNodeCode(s))}},llseek:function(t,e,r){var i=e;if(r===1)i+=t.position;else if(r===2&&y.isFile(t.node.mode))try{var n=ft.fstatSync(t.nfd);i+=n.size}catch(s){throw new y.ErrnoError(tt.convertNodeCode(s))}if(i<0)throw new y.ErrnoError(28);return i},mmap:function(t,e,r,i,n,s){if(e!==0)throw new y.ErrnoError(28);if(!y.isFile(t.node.mode))throw new y.ErrnoError(43);var o=mP(r);return tt.stream_ops.read(t,Zi,o,r,i),{ptr:o,allocated:!0}},msync:function(t,e,r,i,n){if(!y.isFile(t.node.mode))throw new y.ErrnoError(43);if(n&2)return 0;var s=tt.stream_ops.write(t,e,0,i,r,!1);return 0}}},w4={lookupPath:function(t){return{path:t,node:{mode:tt.getMode(t)}}},createStandardStreams:function(){y.streams[0]={fd:0,nfd:0,position:0,path:"",flags:0,tty:!0,seekable:!1};for(var t=1;t<3;t++)y.streams[t]={fd:t,nfd:t,position:0,path:"",flags:577,tty:!0,seekable:!1}},cwd:function(){return process.cwd()},chdir:function(){process.chdir.apply(void 0,arguments)},mknod:function(t,e){y.isDir(t)?ft.mkdirSync(t,e):ft.writeFileSync(t,"",{mode:e})},mkdir:function(){ft.mkdirSync.apply(void 0,arguments)},symlink:function(){ft.symlinkSync.apply(void 0,arguments)},rename:function(){ft.renameSync.apply(void 0,arguments)},rmdir:function(){ft.rmdirSync.apply(void 0,arguments)},readdir:function(){ft.readdirSync.apply(void 0,arguments)},unlink:function(){ft.unlinkSync.apply(void 0,arguments)},readlink:function(){return ft.readlinkSync.apply(void 0,arguments)},stat:function(){return ft.statSync.apply(void 0,arguments)},lstat:function(){return ft.lstatSync.apply(void 0,arguments)},chmod:function(){ft.chmodSync.apply(void 0,arguments)},fchmod:function(){ft.fchmodSync.apply(void 0,arguments)},chown:function(){ft.chownSync.apply(void 0,arguments)},fchown:function(){ft.fchownSync.apply(void 0,arguments)},truncate:function(){ft.truncateSync.apply(void 0,arguments)},ftruncate:function(t,e){if(e<0)throw new y.ErrnoError(28);ft.ftruncateSync.apply(void 0,arguments)},utime:function(){ft.utimesSync.apply(void 0,arguments)},open:function(t,e,r,i){typeof e=="string"&&(e=Vl.modeStringToFlags(e));var n=ft.openSync(t,tt.flagsForNode(e),r),s=i!=null?i:y.nextfd(n),o={fd:s,nfd:n,position:0,path:t,flags:e,seekable:!0};return y.streams[s]=o,o},close:function(t){t.stream_ops||ft.closeSync(t.nfd),y.closeStream(t.fd)},llseek:function(t,e,r){if(t.stream_ops)return Vl.llseek(t,e,r);var i=e;if(r===1)i+=t.position;else if(r===2)i+=ft.fstatSync(t.nfd).size;else if(r!==0)throw new y.ErrnoError(eg.EINVAL);if(i<0)throw new y.ErrnoError(eg.EINVAL);return t.position=i,i},read:function(t,e,r,i,n){if(t.stream_ops)return Vl.read(t,e,r,i,n);var s=typeof n!="undefined";!s&&t.seekable&&(n=t.position);var o=ft.readSync(t.nfd,tt.bufferFrom(e.buffer),r,i,n);return s||(t.position+=o),o},write:function(t,e,r,i,n){if(t.stream_ops)return Vl.write(t,e,r,i,n);t.flags&+"1024"&&y.llseek(t,0,+"2");var s=typeof n!="undefined";!s&&t.seekable&&(n=t.position);var o=ft.writeSync(t.nfd,tt.bufferFrom(e.buffer),r,i,n);return s||(t.position+=o),o},allocate:function(){throw new y.ErrnoError(eg.EOPNOTSUPP)},mmap:function(t,e,r,i,n,s){if(t.stream_ops)return Vl.mmap(t,e,r,i,n,s);if(e!==0)throw new y.ErrnoError(28);var o=mP(r);return y.read(t,Zi,o,r,i),{ptr:o,allocated:!0}},msync:function(t,e,r,i,n){return t.stream_ops?Vl.msync(t,e,r,i,n):(n&2||y.write(t,e,0,i,r),0)},munmap:function(){return 0},ioctl:function(){throw new y.ErrnoError(eg.ENOTTY)}},y={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,lookupPath:function(t,e){if(t=wa.resolve(y.cwd(),t),e=e||{},!t)return{path:"",node:null};var r={follow_mount:!0,recurse_count:0};for(var i in r)e[i]===void 0&&(e[i]=r[i]);if(e.recurse_count>8)throw new y.ErrnoError(32);for(var n=yt.normalizeArray(t.split("/").filter(function(f){return!!f}),!1),s=y.root,o="/",a=0;a40)throw new y.ErrnoError(32)}}return{path:o,node:s}},getPath:function(t){for(var e;;){if(y.isRoot(t)){var r=t.mount.mountpoint;return e?r[r.length-1]!=="/"?r+"/"+e:r+e:r}e=e?t.name+"/"+e:t.name,t=t.parent}},hashName:function(t,e){for(var r=0,i=0;i>>0)%y.nameTable.length},hashAddNode:function(t){var e=y.hashName(t.parent.id,t.name);t.name_next=y.nameTable[e],y.nameTable[e]=t},hashRemoveNode:function(t){var e=y.hashName(t.parent.id,t.name);if(y.nameTable[e]===t)y.nameTable[e]=t.name_next;else for(var r=y.nameTable[e];r;){if(r.name_next===t){r.name_next=t.name_next;break}r=r.name_next}},lookupNode:function(t,e){var r=y.mayLookup(t);if(r)throw new y.ErrnoError(r,t);for(var i=y.hashName(t.id,e),n=y.nameTable[i];n;n=n.name_next){var s=n.name;if(n.parent.id===t.id&&s===e)return n}return y.lookup(t,e)},createNode:function(t,e,r,i){var n=new y.FSNode(t,e,r,i);return y.hashAddNode(n),n},destroyNode:function(t){y.hashRemoveNode(t)},isRoot:function(t){return t===t.parent},isMountpoint:function(t){return!!t.mounted},isFile:function(t){return(t&61440)==32768},isDir:function(t){return(t&61440)==16384},isLink:function(t){return(t&61440)==40960},isChrdev:function(t){return(t&61440)==8192},isBlkdev:function(t){return(t&61440)==24576},isFIFO:function(t){return(t&61440)==4096},isSocket:function(t){return(t&49152)==49152},flagModes:{r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090},modeStringToFlags:function(t){var e=y.flagModes[t];if(typeof e=="undefined")throw new Error("Unknown file open mode: "+t);return e},flagsToPermissionString:function(t){var e=["r","w","rw"][t&3];return t&512&&(e+="w"),e},nodePermissions:function(t,e){return y.ignorePermissions?0:e.includes("r")&&!(t.mode&292)||e.includes("w")&&!(t.mode&146)||e.includes("x")&&!(t.mode&73)?2:0},mayLookup:function(t){var e=y.nodePermissions(t,"x");return e||(t.node_ops.lookup?0:2)},mayCreate:function(t,e){try{var r=y.lookupNode(t,e);return 20}catch(i){}return y.nodePermissions(t,"wx")},mayDelete:function(t,e,r){var i;try{i=y.lookupNode(t,e)}catch(s){return s.errno}var n=y.nodePermissions(t,"wx");if(n)return n;if(r){if(!y.isDir(i.mode))return 54;if(y.isRoot(i)||y.getPath(i)===y.cwd())return 10}else if(y.isDir(i.mode))return 31;return 0},mayOpen:function(t,e){return t?y.isLink(t.mode)?32:y.isDir(t.mode)&&(y.flagsToPermissionString(e)!=="r"||e&512)?31:y.nodePermissions(t,y.flagsToPermissionString(e)):44},MAX_OPEN_FDS:4096,nextfd:function(t,e){t=t||0,e=e||y.MAX_OPEN_FDS;for(var r=t;r<=e;r++)if(!y.streams[r])return r;throw new y.ErrnoError(33)},getStream:function(t){return y.streams[t]},createStream:function(t,e,r){y.FSStream||(y.FSStream=function(){},y.FSStream.prototype={object:{get:function(){return this.node},set:function(o){this.node=o}},isRead:{get:function(){return(this.flags&2097155)!=1}},isWrite:{get:function(){return(this.flags&2097155)!=0}},isAppend:{get:function(){return this.flags&1024}}});var i=new y.FSStream;for(var n in t)i[n]=t[n];t=i;var s=y.nextfd(e,r);return t.fd=s,y.streams[s]=t,t},closeStream:function(t){y.streams[t]=null},chrdev_stream_ops:{open:function(t){var e=y.getDevice(t.node.rdev);t.stream_ops=e.stream_ops,t.stream_ops.open&&t.stream_ops.open(t)},llseek:function(){throw new y.ErrnoError(70)}},major:function(t){return t>>8},minor:function(t){return t&255},makedev:function(t,e){return t<<8|e},registerDevice:function(t,e){y.devices[t]={stream_ops:e}},getDevice:function(t){return y.devices[t]},getMounts:function(t){for(var e=[],r=[t];r.length;){var i=r.pop();e.push(i),r.push.apply(r,i.mounts)}return e},syncfs:function(t,e){typeof t=="function"&&(e=t,t=!1),y.syncFSRequests++,y.syncFSRequests>1&&Di("warning: "+y.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work");var r=y.getMounts(y.root.mount),i=0;function n(o){return y.syncFSRequests--,e(o)}function s(o){if(o)return s.errored?void 0:(s.errored=!0,n(o));++i>=r.length&&n(null)}r.forEach(function(o){if(!o.type.syncfs)return s(null);o.type.syncfs(o,t,s)})},mount:function(t,e,r){var i=r==="/",n=!r,s;if(i&&y.root)throw new y.ErrnoError(10);if(!i&&!n){var o=y.lookupPath(r,{follow_mount:!1});if(r=o.path,s=o.node,y.isMountpoint(s))throw new y.ErrnoError(10);if(!y.isDir(s.mode))throw new y.ErrnoError(54)}var a={type:t,opts:e,mountpoint:r,mounts:[]},l=t.mount(a);return l.mount=a,a.root=l,i?y.root=l:s&&(s.mounted=a,s.mount&&s.mount.mounts.push(a)),l},unmount:function(t){var e=y.lookupPath(t,{follow_mount:!1});if(!y.isMountpoint(e.node))throw new y.ErrnoError(28);var r=e.node,i=r.mounted,n=y.getMounts(i);Object.keys(y.nameTable).forEach(function(o){for(var a=y.nameTable[o];a;){var l=a.name_next;n.includes(a.mount)&&y.destroyNode(a),a=l}}),r.mounted=null;var s=r.mount.mounts.indexOf(i);r.mount.mounts.splice(s,1)},lookup:function(t,e){return t.node_ops.lookup(t,e)},mknod:function(t,e,r){var i=y.lookupPath(t,{parent:!0}),n=i.node,s=yt.basename(t);if(!s||s==="."||s==="..")throw new y.ErrnoError(28);var o=y.mayCreate(n,s);if(o)throw new y.ErrnoError(o);if(!n.node_ops.mknod)throw new y.ErrnoError(63);return n.node_ops.mknod(n,s,e,r)},create:function(t,e){return e=e!==void 0?e:438,e&=4095,e|=32768,y.mknod(t,e,0)},mkdir:function(t,e){return e=e!==void 0?e:511,e&=511|512,e|=16384,y.mknod(t,e,0)},mkdirTree:function(t,e){for(var r=t.split("/"),i="",n=0;nthis.length-1||f<0)){var h=f%this.chunkSize,p=f/this.chunkSize|0;return this.getter(p)[h]}},s.prototype.setDataGetter=function(f){this.getter=f},s.prototype.cacheLength=function(){var f=new XMLHttpRequest;if(f.open("HEAD",r,!1),f.send(null),!(f.status>=200&&f.status<300||f.status===304))throw new Error("Couldn't load "+r+". Status: "+f.status);var h=Number(f.getResponseHeader("Content-length")),p,d=(p=f.getResponseHeader("Accept-Ranges"))&&p==="bytes",m=(p=f.getResponseHeader("Content-Encoding"))&&p==="gzip",I=1024*1024;d||(I=h);var B=function(R,H){if(R>H)throw new Error("invalid range ("+R+", "+H+") or no bytes requested!");if(H>h-1)throw new Error("only "+h+" bytes available! programmer error!");var L=new XMLHttpRequest;if(L.open("GET",r,!1),h!==I&&L.setRequestHeader("Range","bytes="+R+"-"+H),typeof Uint8Array!="undefined"&&(L.responseType="arraybuffer"),L.overrideMimeType&&L.overrideMimeType("text/plain; charset=x-user-defined"),L.send(null),!(L.status>=200&&L.status<300||L.status===304))throw new Error("Couldn't load "+r+". Status: "+L.status);return L.response!==void 0?new Uint8Array(L.response||[]):CP(L.responseText||"",!0)},b=this;b.setDataGetter(function(R){var H=R*I,L=(R+1)*I-1;if(L=Math.min(L,h-1),typeof b.chunks[R]=="undefined"&&(b.chunks[R]=B(H,L)),typeof b.chunks[R]=="undefined")throw new Error("doXHR failed!");return b.chunks[R]}),(m||!h)&&(I=h=1,h=this.getter(0).length,I=h,$y("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=h,this._chunkSize=I,this.lengthKnown=!0},typeof XMLHttpRequest!="undefined"){if(!i4)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var o=new s;Object.defineProperties(o,{length:{get:function(){return this.lengthKnown||this.cacheLength(),this._length}},chunkSize:{get:function(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}});var a={isDevice:!1,contents:o}}else var a={isDevice:!1,url:r};var l=y.createFile(t,e,a,i,n);a.contents?l.contents=a.contents:a.url&&(l.contents=null,l.url=a.url),Object.defineProperties(l,{usedBytes:{get:function(){return this.contents.length}}});var c={},u=Object.keys(l.stream_ops);return u.forEach(function(g){var f=l.stream_ops[g];c[g]=function(){return y.forceLoadFile(l),f.apply(null,arguments)}}),c.read=function(f,h,p,d,m){y.forceLoadFile(l);var I=f.node.contents;if(m>=I.length)return 0;var B=Math.min(I.length-m,d);if(I.slice)for(var b=0;b>2]=i.dev,_e[r+4>>2]=0,_e[r+8>>2]=i.ino,_e[r+12>>2]=i.mode,_e[r+16>>2]=i.nlink,_e[r+20>>2]=i.uid,_e[r+24>>2]=i.gid,_e[r+28>>2]=i.rdev,_e[r+32>>2]=0,ya=[i.size>>>0,(ai=i.size,+Math.abs(ai)>=1?ai>0?(Math.min(+Math.floor(ai/4294967296),4294967295)|0)>>>0:~~+Math.ceil((ai-+(~~ai>>>0))/4294967296)>>>0:0)],_e[r+40>>2]=ya[0],_e[r+44>>2]=ya[1],_e[r+48>>2]=4096,_e[r+52>>2]=i.blocks,_e[r+56>>2]=i.atime.getTime()/1e3|0,_e[r+60>>2]=0,_e[r+64>>2]=i.mtime.getTime()/1e3|0,_e[r+68>>2]=0,_e[r+72>>2]=i.ctime.getTime()/1e3|0,_e[r+76>>2]=0,ya=[i.ino>>>0,(ai=i.ino,+Math.abs(ai)>=1?ai>0?(Math.min(+Math.floor(ai/4294967296),4294967295)|0)>>>0:~~+Math.ceil((ai-+(~~ai>>>0))/4294967296)>>>0:0)],_e[r+80>>2]=ya[0],_e[r+84>>2]=ya[1],0},doMsync:function(t,e,r,i,n){var s=$u.slice(t,t+r);y.msync(e,s,n,r,i)},doMkdir:function(t,e){return t=yt.normalize(t),t[t.length-1]==="/"&&(t=t.substr(0,t.length-1)),y.mkdir(t,e,0),0},doMknod:function(t,e,r){switch(e&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-28}return y.mknod(t,e,r),0},doReadlink:function(t,e,r){if(r<=0)return-28;var i=y.readlink(t),n=Math.min(r,rw(i)),s=Zi[e+n];return u4(i,e,r+1),Zi[e+n]=s,n},doAccess:function(t,e){if(e&~7)return-28;var r,i=y.lookupPath(t,{follow:!0});if(r=i.node,!r)return-44;var n="";return e&4&&(n+="r"),e&2&&(n+="w"),e&1&&(n+="x"),n&&y.nodePermissions(r,n)?-2:0},doDup:function(t,e,r){var i=y.getStream(r);return i&&y.close(i),y.open(t,e,0,r,r).fd},doReadv:function(t,e,r,i){for(var n=0,s=0;s>2],a=_e[e+(s*8+4)>>2],l=y.read(t,Zi,o,a,i);if(l<0)return-1;if(n+=l,l>2],a=_e[e+(s*8+4)>>2],l=y.write(t,Zi,o,a,i);if(l<0)return-1;n+=l}return n},varargs:void 0,get:function(){Ot.varargs+=4;var t=_e[Ot.varargs-4>>2];return t},getStr:function(t){var e=c4(t);return e},getStreamFromFD:function(t){var e=y.getStream(t);if(!e)throw new y.ErrnoError(8);return e},get64:function(t,e){return t}};function qxe(t,e){try{return t=Ot.getStr(t),y.chmod(t,e),0}catch(r){return(typeof y=="undefined"||!(r instanceof y.ErrnoError))&&Gr(r),-r.errno}}function Wxe(t){return _e[Jxe()>>2]=t,t}function zxe(t,e,r){Ot.varargs=r;try{var i=Ot.getStreamFromFD(t);switch(e){case 0:{var n=Ot.get();if(n<0)return-28;var s;return s=y.open(i.path,i.flags,0,n),s.fd}case 1:case 2:return 0;case 3:return i.flags;case 4:{var n=Ot.get();return i.flags|=n,0}case 12:{var n=Ot.get(),o=0;return cP[n+o>>1]=2,0}case 13:case 14:return 0;case 16:case 8:return-28;case 9:return Wxe(28),-1;default:return-28}}catch(a){return(typeof y=="undefined"||!(a instanceof y.ErrnoError))&&Gr(a),-a.errno}}function Vxe(t,e){try{var r=Ot.getStreamFromFD(t);return Ot.doStat(y.stat,r.path,e)}catch(i){return(typeof y=="undefined"||!(i instanceof y.ErrnoError))&&Gr(i),-i.errno}}function _xe(t,e,r){Ot.varargs=r;try{var i=Ot.getStreamFromFD(t);switch(e){case 21509:case 21505:return i.tty?0:-59;case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:return i.tty?0:-59;case 21519:{if(!i.tty)return-59;var n=Ot.get();return _e[n>>2]=0,0}case 21520:return i.tty?-28:-59;case 21531:{var n=Ot.get();return y.ioctl(i,e,n)}case 21523:return i.tty?0:-59;case 21524:return i.tty?0:-59;default:Gr("bad ioctl syscall "+e)}}catch(s){return(typeof y=="undefined"||!(s instanceof y.ErrnoError))&&Gr(s),-s.errno}}function Xxe(t,e,r){Ot.varargs=r;try{var i=Ot.getStr(t),n=r?Ot.get():0,s=y.open(i,e,n);return s.fd}catch(o){return(typeof y=="undefined"||!(o instanceof y.ErrnoError))&&Gr(o),-o.errno}}function Zxe(t,e){try{return t=Ot.getStr(t),e=Ot.getStr(e),y.rename(t,e),0}catch(r){return(typeof y=="undefined"||!(r instanceof y.ErrnoError))&&Gr(r),-r.errno}}function $xe(t){try{return t=Ot.getStr(t),y.rmdir(t),0}catch(e){return(typeof y=="undefined"||!(e instanceof y.ErrnoError))&&Gr(e),-e.errno}}function eke(t,e){try{return t=Ot.getStr(t),Ot.doStat(y.stat,t,e)}catch(r){return(typeof y=="undefined"||!(r instanceof y.ErrnoError))&&Gr(r),-r.errno}}function tke(t){try{return t=Ot.getStr(t),y.unlink(t),0}catch(e){return(typeof y=="undefined"||!(e instanceof y.ErrnoError))&&Gr(e),-e.errno}}function rke(t,e,r){$u.copyWithin(t,e,e+r)}function ike(t){try{return ew.grow(t-gP.byteLength+65535>>>16),p4(ew.buffer),1}catch(e){}}function nke(t){var e=$u.length;t=t>>>0;var r=2147483648;if(t>r)return!1;for(var i=1;i<=4;i*=2){var n=e*(1+.2/i);n=Math.min(n,t+100663296);var s=Math.min(r,xxe(Math.max(t,n),65536)),o=ike(s);if(o)return!0}return!1}function ske(t){try{var e=Ot.getStreamFromFD(t);return y.close(e),0}catch(r){return(typeof y=="undefined"||!(r instanceof y.ErrnoError))&&Gr(r),r.errno}}function oke(t,e){try{var r=Ot.getStreamFromFD(t),i=r.tty?2:y.isDir(r.mode)?3:y.isLink(r.mode)?7:4;return Zi[e>>0]=i,0}catch(n){return(typeof y=="undefined"||!(n instanceof y.ErrnoError))&&Gr(n),n.errno}}function ake(t,e,r,i){try{var n=Ot.getStreamFromFD(t),s=Ot.doReadv(n,e,r);return _e[i>>2]=s,0}catch(o){return(typeof y=="undefined"||!(o instanceof y.ErrnoError))&&Gr(o),o.errno}}function Ake(t,e,r,i,n){try{var s=Ot.getStreamFromFD(t),o=4294967296,a=r*o+(e>>>0),l=9007199254740992;return a<=-l||a>=l?-61:(y.llseek(s,a,i),ya=[s.position>>>0,(ai=s.position,+Math.abs(ai)>=1?ai>0?(Math.min(+Math.floor(ai/4294967296),4294967295)|0)>>>0:~~+Math.ceil((ai-+(~~ai>>>0))/4294967296)>>>0:0)],_e[n>>2]=ya[0],_e[n+4>>2]=ya[1],s.getdents&&a===0&&i===0&&(s.getdents=null),0)}catch(c){return(typeof y=="undefined"||!(c instanceof y.ErrnoError))&&Gr(c),c.errno}}function lke(t,e,r,i){try{var n=Ot.getStreamFromFD(t),s=Ot.doWritev(n,e,r);return _e[i>>2]=s,0}catch(o){return(typeof y=="undefined"||!(o instanceof y.ErrnoError))&&Gr(o),o.errno}}function cke(t){Ixe(t)}function uke(t){var e=Date.now()/1e3|0;return t&&(_e[t>>2]=e),e}function IP(){if(IP.called)return;IP.called=!0;var t=new Date().getFullYear(),e=new Date(t,0,1),r=new Date(t,6,1),i=e.getTimezoneOffset(),n=r.getTimezoneOffset(),s=Math.max(i,n);_e[fke()>>2]=s*60,_e[gke()>>2]=Number(i!=n);function o(g){var f=g.toTimeString().match(/\(([A-Za-z ]+)\)$/);return f?f[1]:"GMT"}var a=o(e),l=o(r),c=uP(a),u=uP(l);n>2]=c,_e[nw()+4>>2]=u):(_e[nw()>>2]=u,_e[nw()+4>>2]=c)}function hke(t){IP();var e=Date.UTC(_e[t+20>>2]+1900,_e[t+16>>2],_e[t+12>>2],_e[t+8>>2],_e[t+4>>2],_e[t>>2],0),r=new Date(e);_e[t+24>>2]=r.getUTCDay();var i=Date.UTC(r.getUTCFullYear(),0,1,0,0,0,0),n=(r.getTime()-i)/(1e3*60*60*24)|0;return _e[t+28>>2]=n,r.getTime()/1e3|0}var B4=function(t,e,r,i){t||(t=this),this.parent=t,this.mount=t.mount,this.mounted=null,this.id=y.nextInode++,this.name=e,this.mode=r,this.node_ops={},this.stream_ops={},this.rdev=i},sw=292|73,ow=146;Object.defineProperties(B4.prototype,{read:{get:function(){return(this.mode&sw)===sw},set:function(t){t?this.mode|=sw:this.mode&=~sw}},write:{get:function(){return(this.mode&ow)===ow},set:function(t){t?this.mode|=ow:this.mode&=~ow}},isFolder:{get:function(){return y.isDir(this.mode)}},isDevice:{get:function(){return y.isChrdev(this.mode)}}});y.FSNode=B4;y.staticInit();Wl&&(ft=e4,EP=require("path"),tt.staticInit());var ft,EP;if(Wl){Q4=function(t){return function(){try{return t.apply(this,arguments)}catch(e){throw e.code?new y.ErrnoError(eg[e.code]):e}}},Vl=Object.assign({},y);for(yP in w4)y[yP]=Q4(w4[yP])}else throw new Error("NODERAWFS is currently only supported on Node.js environment.");var Q4,Vl,yP;function CP(t,e,r){var i=r>0?r:rw(t)+1,n=new Array(i),s=tw(t,n,0,n.length);return e&&(n.length=s),n}var pke=typeof atob=="function"?atob:function(t){var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",r="",i,n,s,o,a,l,c,u=0;t=t.replace(/[^A-Za-z0-9\+\/\=]/g,"");do o=e.indexOf(t.charAt(u++)),a=e.indexOf(t.charAt(u++)),l=e.indexOf(t.charAt(u++)),c=e.indexOf(t.charAt(u++)),i=o<<2|a>>4,n=(a&15)<<4|l>>2,s=(l&3)<<6|c,r=r+String.fromCharCode(i),l!==64&&(r=r+String.fromCharCode(n)),c!==64&&(r=r+String.fromCharCode(s));while(u0||(Fxe(),zl>0))return;function e(){aw||(aw=!0,oe.calledRun=!0,!A4&&(Nxe(),oe.onRuntimeInitialized&&oe.onRuntimeInitialized(),Txe()))}oe.setStatus?(oe.setStatus("Running..."),setTimeout(function(){setTimeout(function(){oe.setStatus("")},1),e()},1)):e()}oe.run=wP;if(oe.preInit)for(typeof oe.preInit=="function"&&(oe.preInit=[oe.preInit]);oe.preInit.length>0;)oe.preInit.pop()();wP()});var x4=E((Dot,S4)=>{"use strict";function Cke(t,e){function r(){this.constructor=t}r.prototype=e.prototype,t.prototype=new r}function _l(t,e,r,i){this.message=t,this.expected=e,this.found=r,this.location=i,this.name="SyntaxError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,_l)}Cke(_l,Error);_l.buildMessage=function(t,e){var r={literal:function(c){return'"'+n(c.text)+'"'},class:function(c){var u="",g;for(g=0;g0){for(g=1,f=1;g>",ee=At(">>",!1),Ue=">&",Oe=At(">&",!1),vt=">",dt=At(">",!1),ri="<<<",ii=At("<<<",!1),an="<&",yr=At("<&",!1),Ki="<",Qi=At("<",!1),Go=function(C){return{type:"argument",segments:[].concat(...C)}},wr=function(C){return C},Ui="'",ws=At("'",!1),Tf=function(C){return[{type:"text",text:C}]},Mf='"',Rm=At('"',!1),Fm=function(C){return C},Nm=function(C){return{type:"arithmetic",arithmetic:C,quoted:!0}},DQ=function(C){return{type:"shell",shell:C,quoted:!0}},RQ=function(C){return _(P({type:"variable"},C),{quoted:!0})},Of=function(C){return{type:"text",text:C}},FQ=function(C){return{type:"arithmetic",arithmetic:C,quoted:!1}},NQ=function(C){return{type:"shell",shell:C,quoted:!1}},Lm=function(C){return _(P({type:"variable"},C),{quoted:!1})},LQ=function(C){return{type:"glob",pattern:C}},Va="\\",jo=At("\\",!1),Tm=/^[\\']/,Mm=Qs(["\\","'"],!1,!1),te=function(C){return C},Om=/^[^']/,Km=Qs(["'"],!0,!1),il=function(C){return C.join("")},Um=/^[\\$"]/,Hm=Qs(["\\","$",'"'],!1,!1),Kf=/^[^$"]/,Gm=Qs(["$",'"'],!0,!1),jm="\\0",TQ=At("\\0",!1),MQ=function(){return"\0"},Ym="\\a",qm=At("\\a",!1),Jm=function(){return"a"},Wm="\\b",zm=At("\\b",!1),Vm=function(){return"\b"},Uf="\\e",OQ=At("\\e",!1),KQ=function(){return""},_m="\\f",UQ=At("\\f",!1),HQ=function(){return"\f"},O="\\n",ht=At("\\n",!1),Vc=function(){return` +`},xn="\\r",Hf=At("\\r",!1),Ye=function(){return"\r"},nl="\\t",Xm=At("\\t",!1),MM=function(){return" "},GQ="\\v",OM=At("\\v",!1),fr=function(){return"\v"},Bs="\\x",jQ=At("\\x",!1),Zm=function(C){return String.fromCharCode(parseInt(C,16))},Yo="\\u",$m=At("\\u",!1),_a="\\U",et=At("\\U",!1),YQ=function(C){return String.fromCodePoint(parseInt(C,16))},eE=/^[0-9a-fA-f]/,tE=Qs([["0","9"],["a","f"],["A","f"]],!1,!1),Xa=Cfe(),sl="-",ol=At("-",!1),al="+",qo=At("+",!1),Al=".",qQ=At(".",!1),rE=function(C,Q,k){return{type:"number",value:(C==="-"?-1:1)*parseFloat(Q.join("")+"."+k.join(""))}},iE=function(C,Q){return{type:"number",value:(C==="-"?-1:1)*parseInt(Q.join(""))}},JQ=function(C){return P({type:"variable"},C)},ll=function(C){return{type:"variable",name:C}},WQ=function(C){return C},nE="*",Gf=At("*",!1),_c="/",jf=At("/",!1),sE=function(C,Q,k){return{type:Q==="*"?"multiplication":"division",right:k}},cl=function(C,Q){return Q.reduce((k,N)=>P({left:k},N),C)},oE=function(C,Q,k){return{type:Q==="+"?"addition":"subtraction",right:k}},Yf="$((",Xc=At("$((",!1),xr="))",KM=At("))",!1),Jo=function(C){return C},Zs="$(",aE=At("$(",!1),Zc=function(C){return C},x="${",U=At("${",!1),le=":-",xe=At(":-",!1),Qe=function(C,Q){return{name:C,defaultValue:Q}},Ge=":-}",ct=At(":-}",!1),sr=function(C){return{name:C,defaultValue:[]}},Wo=function(C){return{name:C}},Afe="$",lfe=At("$",!1),cfe=function(C){return e.isGlobPattern(C)},ufe=function(C){return C},UM=/^[a-zA-Z0-9_]/,HM=Qs([["a","z"],["A","Z"],["0","9"],"_"],!1,!1),GM=function(){return dfe()},jM=/^[$@*?#a-zA-Z0-9_\-]/,YM=Qs(["$","@","*","?","#",["a","z"],["A","Z"],["0","9"],"_","-"],!1,!1),gfe=/^[(){}<>$|&; \t"']/,ffe=Qs(["(",")","{","}","<",">","$","|","&",";"," "," ",'"',"'"],!1,!1),hfe=/^[<>&; \t"']/,pfe=Qs(["<",">","&",";"," "," ",'"',"'"],!1,!1),qM=/^[ \t]/,JM=Qs([" "," "],!1,!1),w=0,Re=0,AE=[{line:1,column:1}],$s=0,zQ=[],we=0,lE;if("startRule"in e){if(!(e.startRule in i))throw new Error(`Can't start parsing from rule "`+e.startRule+'".');n=i[e.startRule]}function dfe(){return t.substring(Re,w)}function P_e(){return qf(Re,w)}function D_e(C,Q){throw Q=Q!==void 0?Q:qf(Re,w),zM([Efe(C)],t.substring(Re,w),Q)}function R_e(C,Q){throw Q=Q!==void 0?Q:qf(Re,w),Ife(C,Q)}function At(C,Q){return{type:"literal",text:C,ignoreCase:Q}}function Qs(C,Q,k){return{type:"class",parts:C,inverted:Q,ignoreCase:k}}function Cfe(){return{type:"any"}}function mfe(){return{type:"end"}}function Efe(C){return{type:"other",description:C}}function WM(C){var Q=AE[C],k;if(Q)return Q;for(k=C-1;!AE[k];)k--;for(Q=AE[k],Q={line:Q.line,column:Q.column};k$s&&($s=w,zQ=[]),zQ.push(C))}function Ife(C,Q){return new _l(C,null,null,Q)}function zM(C,Q,k){return new _l(_l.buildMessage(C,Q),C,Q,k)}function VM(){var C,Q;return C=w,Q=Jf(),Q===r&&(Q=null),Q!==r&&(Re=C,Q=s(Q)),C=Q,C}function Jf(){var C,Q,k,N,Z;if(C=w,Q=VQ(),Q!==r){for(k=[],N=ke();N!==r;)k.push(N),N=ke();k!==r?(N=_M(),N!==r?(Z=yfe(),Z===r&&(Z=null),Z!==r?(Re=C,Q=o(Q,N,Z),C=Q):(w=C,C=r)):(w=C,C=r)):(w=C,C=r)}else w=C,C=r;if(C===r)if(C=w,Q=VQ(),Q!==r){for(k=[],N=ke();N!==r;)k.push(N),N=ke();k!==r?(N=_M(),N===r&&(N=null),N!==r?(Re=C,Q=a(Q,N),C=Q):(w=C,C=r)):(w=C,C=r)}else w=C,C=r;return C}function yfe(){var C,Q,k,N,Z;for(C=w,Q=[],k=ke();k!==r;)Q.push(k),k=ke();if(Q!==r)if(k=Jf(),k!==r){for(N=[],Z=ke();Z!==r;)N.push(Z),Z=ke();N!==r?(Re=C,Q=l(k),C=Q):(w=C,C=r)}else w=C,C=r;else w=C,C=r;return C}function _M(){var C;return t.charCodeAt(w)===59?(C=c,w++):(C=r,we===0&&ve(u)),C===r&&(t.charCodeAt(w)===38?(C=g,w++):(C=r,we===0&&ve(f))),C}function VQ(){var C,Q,k;return C=w,Q=XM(),Q!==r?(k=wfe(),k===r&&(k=null),k!==r?(Re=C,Q=h(Q,k),C=Q):(w=C,C=r)):(w=C,C=r),C}function wfe(){var C,Q,k,N,Z,Ee,ot;for(C=w,Q=[],k=ke();k!==r;)Q.push(k),k=ke();if(Q!==r)if(k=Bfe(),k!==r){for(N=[],Z=ke();Z!==r;)N.push(Z),Z=ke();if(N!==r)if(Z=VQ(),Z!==r){for(Ee=[],ot=ke();ot!==r;)Ee.push(ot),ot=ke();Ee!==r?(Re=C,Q=p(k,Z),C=Q):(w=C,C=r)}else w=C,C=r;else w=C,C=r}else w=C,C=r;else w=C,C=r;return C}function Bfe(){var C;return t.substr(w,2)===d?(C=d,w+=2):(C=r,we===0&&ve(m)),C===r&&(t.substr(w,2)===I?(C=I,w+=2):(C=r,we===0&&ve(B))),C}function XM(){var C,Q,k;return C=w,Q=vfe(),Q!==r?(k=Qfe(),k===r&&(k=null),k!==r?(Re=C,Q=b(Q,k),C=Q):(w=C,C=r)):(w=C,C=r),C}function Qfe(){var C,Q,k,N,Z,Ee,ot;for(C=w,Q=[],k=ke();k!==r;)Q.push(k),k=ke();if(Q!==r)if(k=bfe(),k!==r){for(N=[],Z=ke();Z!==r;)N.push(Z),Z=ke();if(N!==r)if(Z=XM(),Z!==r){for(Ee=[],ot=ke();ot!==r;)Ee.push(ot),ot=ke();Ee!==r?(Re=C,Q=R(k,Z),C=Q):(w=C,C=r)}else w=C,C=r;else w=C,C=r}else w=C,C=r;else w=C,C=r;return C}function bfe(){var C;return t.substr(w,2)===H?(C=H,w+=2):(C=r,we===0&&ve(L)),C===r&&(t.charCodeAt(w)===124?(C=K,w++):(C=r,we===0&&ve(J))),C}function cE(){var C,Q,k,N,Z,Ee;if(C=w,Q=oO(),Q!==r)if(t.charCodeAt(w)===61?(k=ne,w++):(k=r,we===0&&ve(q)),k!==r)if(N=$M(),N!==r){for(Z=[],Ee=ke();Ee!==r;)Z.push(Ee),Ee=ke();Z!==r?(Re=C,Q=A(Q,N),C=Q):(w=C,C=r)}else w=C,C=r;else w=C,C=r;else w=C,C=r;if(C===r)if(C=w,Q=oO(),Q!==r)if(t.charCodeAt(w)===61?(k=ne,w++):(k=r,we===0&&ve(q)),k!==r){for(N=[],Z=ke();Z!==r;)N.push(Z),Z=ke();N!==r?(Re=C,Q=V(Q),C=Q):(w=C,C=r)}else w=C,C=r;else w=C,C=r;return C}function vfe(){var C,Q,k,N,Z,Ee,ot,ut,Tr,ni,Yn;for(C=w,Q=[],k=ke();k!==r;)Q.push(k),k=ke();if(Q!==r)if(t.charCodeAt(w)===40?(k=W,w++):(k=r,we===0&&ve(X)),k!==r){for(N=[],Z=ke();Z!==r;)N.push(Z),Z=ke();if(N!==r)if(Z=Jf(),Z!==r){for(Ee=[],ot=ke();ot!==r;)Ee.push(ot),ot=ke();if(Ee!==r)if(t.charCodeAt(w)===41?(ot=F,w++):(ot=r,we===0&&ve(D)),ot!==r){for(ut=[],Tr=ke();Tr!==r;)ut.push(Tr),Tr=ke();if(ut!==r){for(Tr=[],ni=Wf();ni!==r;)Tr.push(ni),ni=Wf();if(Tr!==r){for(ni=[],Yn=ke();Yn!==r;)ni.push(Yn),Yn=ke();ni!==r?(Re=C,Q=he(Z,Tr),C=Q):(w=C,C=r)}else w=C,C=r}else w=C,C=r}else w=C,C=r;else w=C,C=r}else w=C,C=r;else w=C,C=r}else w=C,C=r;else w=C,C=r;if(C===r){for(C=w,Q=[],k=ke();k!==r;)Q.push(k),k=ke();if(Q!==r)if(t.charCodeAt(w)===123?(k=pe,w++):(k=r,we===0&&ve(Ne)),k!==r){for(N=[],Z=ke();Z!==r;)N.push(Z),Z=ke();if(N!==r)if(Z=Jf(),Z!==r){for(Ee=[],ot=ke();ot!==r;)Ee.push(ot),ot=ke();if(Ee!==r)if(t.charCodeAt(w)===125?(ot=Pe,w++):(ot=r,we===0&&ve(qe)),ot!==r){for(ut=[],Tr=ke();Tr!==r;)ut.push(Tr),Tr=ke();if(ut!==r){for(Tr=[],ni=Wf();ni!==r;)Tr.push(ni),ni=Wf();if(Tr!==r){for(ni=[],Yn=ke();Yn!==r;)ni.push(Yn),Yn=ke();ni!==r?(Re=C,Q=re(Z,Tr),C=Q):(w=C,C=r)}else w=C,C=r}else w=C,C=r}else w=C,C=r;else w=C,C=r}else w=C,C=r;else w=C,C=r}else w=C,C=r;else w=C,C=r;if(C===r){for(C=w,Q=[],k=ke();k!==r;)Q.push(k),k=ke();if(Q!==r){for(k=[],N=cE();N!==r;)k.push(N),N=cE();if(k!==r){for(N=[],Z=ke();Z!==r;)N.push(Z),Z=ke();if(N!==r){if(Z=[],Ee=ZM(),Ee!==r)for(;Ee!==r;)Z.push(Ee),Ee=ZM();else Z=r;if(Z!==r){for(Ee=[],ot=ke();ot!==r;)Ee.push(ot),ot=ke();Ee!==r?(Re=C,Q=se(k,Z),C=Q):(w=C,C=r)}else w=C,C=r}else w=C,C=r}else w=C,C=r}else w=C,C=r;if(C===r){for(C=w,Q=[],k=ke();k!==r;)Q.push(k),k=ke();if(Q!==r){if(k=[],N=cE(),N!==r)for(;N!==r;)k.push(N),N=cE();else k=r;if(k!==r){for(N=[],Z=ke();Z!==r;)N.push(Z),Z=ke();N!==r?(Re=C,Q=be(k),C=Q):(w=C,C=r)}else w=C,C=r}else w=C,C=r}}}return C}function Sfe(){var C,Q,k,N,Z;for(C=w,Q=[],k=ke();k!==r;)Q.push(k),k=ke();if(Q!==r){if(k=[],N=uE(),N!==r)for(;N!==r;)k.push(N),N=uE();else k=r;if(k!==r){for(N=[],Z=ke();Z!==r;)N.push(Z),Z=ke();N!==r?(Re=C,Q=ae(k),C=Q):(w=C,C=r)}else w=C,C=r}else w=C,C=r;return C}function ZM(){var C,Q,k;for(C=w,Q=[],k=ke();k!==r;)Q.push(k),k=ke();if(Q!==r?(k=Wf(),k!==r?(Re=C,Q=Ae(k),C=Q):(w=C,C=r)):(w=C,C=r),C===r){for(C=w,Q=[],k=ke();k!==r;)Q.push(k),k=ke();Q!==r?(k=uE(),k!==r?(Re=C,Q=Ae(k),C=Q):(w=C,C=r)):(w=C,C=r)}return C}function Wf(){var C,Q,k,N,Z;for(C=w,Q=[],k=ke();k!==r;)Q.push(k),k=ke();return Q!==r?(De.test(t.charAt(w))?(k=t.charAt(w),w++):(k=r,we===0&&ve($)),k===r&&(k=null),k!==r?(N=xfe(),N!==r?(Z=uE(),Z!==r?(Re=C,Q=G(k,N,Z),C=Q):(w=C,C=r)):(w=C,C=r)):(w=C,C=r)):(w=C,C=r),C}function xfe(){var C;return t.substr(w,2)===Ce?(C=Ce,w+=2):(C=r,we===0&&ve(ee)),C===r&&(t.substr(w,2)===Ue?(C=Ue,w+=2):(C=r,we===0&&ve(Oe)),C===r&&(t.charCodeAt(w)===62?(C=vt,w++):(C=r,we===0&&ve(dt)),C===r&&(t.substr(w,3)===ri?(C=ri,w+=3):(C=r,we===0&&ve(ii)),C===r&&(t.substr(w,2)===an?(C=an,w+=2):(C=r,we===0&&ve(yr)),C===r&&(t.charCodeAt(w)===60?(C=Ki,w++):(C=r,we===0&&ve(Qi))))))),C}function uE(){var C,Q,k;for(C=w,Q=[],k=ke();k!==r;)Q.push(k),k=ke();return Q!==r?(k=$M(),k!==r?(Re=C,Q=Ae(k),C=Q):(w=C,C=r)):(w=C,C=r),C}function $M(){var C,Q,k;if(C=w,Q=[],k=eO(),k!==r)for(;k!==r;)Q.push(k),k=eO();else Q=r;return Q!==r&&(Re=C,Q=Go(Q)),C=Q,C}function eO(){var C,Q;return C=w,Q=kfe(),Q!==r&&(Re=C,Q=wr(Q)),C=Q,C===r&&(C=w,Q=Pfe(),Q!==r&&(Re=C,Q=wr(Q)),C=Q,C===r&&(C=w,Q=Dfe(),Q!==r&&(Re=C,Q=wr(Q)),C=Q)),C}function kfe(){var C,Q,k,N;return C=w,t.charCodeAt(w)===39?(Q=Ui,w++):(Q=r,we===0&&ve(ws)),Q!==r?(k=Rfe(),k!==r?(t.charCodeAt(w)===39?(N=Ui,w++):(N=r,we===0&&ve(ws)),N!==r?(Re=C,Q=Tf(k),C=Q):(w=C,C=r)):(w=C,C=r)):(w=C,C=r),C}function Pfe(){var C,Q,k,N;if(C=w,t.charCodeAt(w)===34?(Q=Mf,w++):(Q=r,we===0&&ve(Rm)),Q!==r){for(k=[],N=tO();N!==r;)k.push(N),N=tO();k!==r?(t.charCodeAt(w)===34?(N=Mf,w++):(N=r,we===0&&ve(Rm)),N!==r?(Re=C,Q=Fm(k),C=Q):(w=C,C=r)):(w=C,C=r)}else w=C,C=r;return C}function Dfe(){var C,Q,k;if(C=w,Q=[],k=rO(),k!==r)for(;k!==r;)Q.push(k),k=rO();else Q=r;return Q!==r&&(Re=C,Q=Fm(Q)),C=Q,C}function tO(){var C,Q;return C=w,Q=nO(),Q!==r&&(Re=C,Q=Nm(Q)),C=Q,C===r&&(C=w,Q=sO(),Q!==r&&(Re=C,Q=DQ(Q)),C=Q,C===r&&(C=w,Q=ZQ(),Q!==r&&(Re=C,Q=RQ(Q)),C=Q,C===r&&(C=w,Q=Ffe(),Q!==r&&(Re=C,Q=Of(Q)),C=Q))),C}function rO(){var C,Q;return C=w,Q=nO(),Q!==r&&(Re=C,Q=FQ(Q)),C=Q,C===r&&(C=w,Q=sO(),Q!==r&&(Re=C,Q=NQ(Q)),C=Q,C===r&&(C=w,Q=ZQ(),Q!==r&&(Re=C,Q=Lm(Q)),C=Q,C===r&&(C=w,Q=Lfe(),Q!==r&&(Re=C,Q=LQ(Q)),C=Q,C===r&&(C=w,Q=Nfe(),Q!==r&&(Re=C,Q=Of(Q)),C=Q)))),C}function Rfe(){var C,Q,k,N,Z;for(C=w,Q=[],k=gE(),k===r&&(k=fE(),k===r&&(k=w,t.charCodeAt(w)===92?(N=Va,w++):(N=r,we===0&&ve(jo)),N!==r?(Tm.test(t.charAt(w))?(Z=t.charAt(w),w++):(Z=r,we===0&&ve(Mm)),Z!==r?(Re=k,N=te(Z),k=N):(w=k,k=r)):(w=k,k=r),k===r&&(Om.test(t.charAt(w))?(k=t.charAt(w),w++):(k=r,we===0&&ve(Km)))));k!==r;)Q.push(k),k=gE(),k===r&&(k=fE(),k===r&&(k=w,t.charCodeAt(w)===92?(N=Va,w++):(N=r,we===0&&ve(jo)),N!==r?(Tm.test(t.charAt(w))?(Z=t.charAt(w),w++):(Z=r,we===0&&ve(Mm)),Z!==r?(Re=k,N=te(Z),k=N):(w=k,k=r)):(w=k,k=r),k===r&&(Om.test(t.charAt(w))?(k=t.charAt(w),w++):(k=r,we===0&&ve(Km)))));return Q!==r&&(Re=C,Q=il(Q)),C=Q,C}function Ffe(){var C,Q,k,N,Z;if(C=w,Q=[],k=gE(),k===r&&(k=fE(),k===r&&(k=w,t.charCodeAt(w)===92?(N=Va,w++):(N=r,we===0&&ve(jo)),N!==r?(Um.test(t.charAt(w))?(Z=t.charAt(w),w++):(Z=r,we===0&&ve(Hm)),Z!==r?(Re=k,N=te(Z),k=N):(w=k,k=r)):(w=k,k=r),k===r&&(Kf.test(t.charAt(w))?(k=t.charAt(w),w++):(k=r,we===0&&ve(Gm))))),k!==r)for(;k!==r;)Q.push(k),k=gE(),k===r&&(k=fE(),k===r&&(k=w,t.charCodeAt(w)===92?(N=Va,w++):(N=r,we===0&&ve(jo)),N!==r?(Um.test(t.charAt(w))?(Z=t.charAt(w),w++):(Z=r,we===0&&ve(Hm)),Z!==r?(Re=k,N=te(Z),k=N):(w=k,k=r)):(w=k,k=r),k===r&&(Kf.test(t.charAt(w))?(k=t.charAt(w),w++):(k=r,we===0&&ve(Gm)))));else Q=r;return Q!==r&&(Re=C,Q=il(Q)),C=Q,C}function gE(){var C,Q;return C=w,t.substr(w,2)===jm?(Q=jm,w+=2):(Q=r,we===0&&ve(TQ)),Q!==r&&(Re=C,Q=MQ()),C=Q,C===r&&(C=w,t.substr(w,2)===Ym?(Q=Ym,w+=2):(Q=r,we===0&&ve(qm)),Q!==r&&(Re=C,Q=Jm()),C=Q,C===r&&(C=w,t.substr(w,2)===Wm?(Q=Wm,w+=2):(Q=r,we===0&&ve(zm)),Q!==r&&(Re=C,Q=Vm()),C=Q,C===r&&(C=w,t.substr(w,2)===Uf?(Q=Uf,w+=2):(Q=r,we===0&&ve(OQ)),Q!==r&&(Re=C,Q=KQ()),C=Q,C===r&&(C=w,t.substr(w,2)===_m?(Q=_m,w+=2):(Q=r,we===0&&ve(UQ)),Q!==r&&(Re=C,Q=HQ()),C=Q,C===r&&(C=w,t.substr(w,2)===O?(Q=O,w+=2):(Q=r,we===0&&ve(ht)),Q!==r&&(Re=C,Q=Vc()),C=Q,C===r&&(C=w,t.substr(w,2)===xn?(Q=xn,w+=2):(Q=r,we===0&&ve(Hf)),Q!==r&&(Re=C,Q=Ye()),C=Q,C===r&&(C=w,t.substr(w,2)===nl?(Q=nl,w+=2):(Q=r,we===0&&ve(Xm)),Q!==r&&(Re=C,Q=MM()),C=Q,C===r&&(C=w,t.substr(w,2)===GQ?(Q=GQ,w+=2):(Q=r,we===0&&ve(OM)),Q!==r&&(Re=C,Q=fr()),C=Q)))))))),C}function fE(){var C,Q,k,N,Z,Ee,ot,ut,Tr,ni,Yn,$Q;return C=w,t.substr(w,2)===Bs?(Q=Bs,w+=2):(Q=r,we===0&&ve(jQ)),Q!==r?(k=w,N=w,Z=An(),Z!==r?(Ee=An(),Ee!==r?(Z=[Z,Ee],N=Z):(w=N,N=r)):(w=N,N=r),N!==r?k=t.substring(k,w):k=N,k!==r?(Re=C,Q=Zm(k),C=Q):(w=C,C=r)):(w=C,C=r),C===r&&(C=w,t.substr(w,2)===Yo?(Q=Yo,w+=2):(Q=r,we===0&&ve($m)),Q!==r?(k=w,N=w,Z=An(),Z!==r?(Ee=An(),Ee!==r?(ot=An(),ot!==r?(ut=An(),ut!==r?(Z=[Z,Ee,ot,ut],N=Z):(w=N,N=r)):(w=N,N=r)):(w=N,N=r)):(w=N,N=r),N!==r?k=t.substring(k,w):k=N,k!==r?(Re=C,Q=Zm(k),C=Q):(w=C,C=r)):(w=C,C=r),C===r&&(C=w,t.substr(w,2)===_a?(Q=_a,w+=2):(Q=r,we===0&&ve(et)),Q!==r?(k=w,N=w,Z=An(),Z!==r?(Ee=An(),Ee!==r?(ot=An(),ot!==r?(ut=An(),ut!==r?(Tr=An(),Tr!==r?(ni=An(),ni!==r?(Yn=An(),Yn!==r?($Q=An(),$Q!==r?(Z=[Z,Ee,ot,ut,Tr,ni,Yn,$Q],N=Z):(w=N,N=r)):(w=N,N=r)):(w=N,N=r)):(w=N,N=r)):(w=N,N=r)):(w=N,N=r)):(w=N,N=r)):(w=N,N=r),N!==r?k=t.substring(k,w):k=N,k!==r?(Re=C,Q=YQ(k),C=Q):(w=C,C=r)):(w=C,C=r))),C}function An(){var C;return eE.test(t.charAt(w))?(C=t.charAt(w),w++):(C=r,we===0&&ve(tE)),C}function Nfe(){var C,Q,k,N,Z;if(C=w,Q=[],k=w,t.charCodeAt(w)===92?(N=Va,w++):(N=r,we===0&&ve(jo)),N!==r?(t.length>w?(Z=t.charAt(w),w++):(Z=r,we===0&&ve(Xa)),Z!==r?(Re=k,N=te(Z),k=N):(w=k,k=r)):(w=k,k=r),k===r&&(k=w,N=w,we++,Z=aO(),we--,Z===r?N=void 0:(w=N,N=r),N!==r?(t.length>w?(Z=t.charAt(w),w++):(Z=r,we===0&&ve(Xa)),Z!==r?(Re=k,N=te(Z),k=N):(w=k,k=r)):(w=k,k=r)),k!==r)for(;k!==r;)Q.push(k),k=w,t.charCodeAt(w)===92?(N=Va,w++):(N=r,we===0&&ve(jo)),N!==r?(t.length>w?(Z=t.charAt(w),w++):(Z=r,we===0&&ve(Xa)),Z!==r?(Re=k,N=te(Z),k=N):(w=k,k=r)):(w=k,k=r),k===r&&(k=w,N=w,we++,Z=aO(),we--,Z===r?N=void 0:(w=N,N=r),N!==r?(t.length>w?(Z=t.charAt(w),w++):(Z=r,we===0&&ve(Xa)),Z!==r?(Re=k,N=te(Z),k=N):(w=k,k=r)):(w=k,k=r));else Q=r;return Q!==r&&(Re=C,Q=il(Q)),C=Q,C}function _Q(){var C,Q,k,N,Z,Ee;if(C=w,t.charCodeAt(w)===45?(Q=sl,w++):(Q=r,we===0&&ve(ol)),Q===r&&(t.charCodeAt(w)===43?(Q=al,w++):(Q=r,we===0&&ve(qo))),Q===r&&(Q=null),Q!==r){if(k=[],De.test(t.charAt(w))?(N=t.charAt(w),w++):(N=r,we===0&&ve($)),N!==r)for(;N!==r;)k.push(N),De.test(t.charAt(w))?(N=t.charAt(w),w++):(N=r,we===0&&ve($));else k=r;if(k!==r)if(t.charCodeAt(w)===46?(N=Al,w++):(N=r,we===0&&ve(qQ)),N!==r){if(Z=[],De.test(t.charAt(w))?(Ee=t.charAt(w),w++):(Ee=r,we===0&&ve($)),Ee!==r)for(;Ee!==r;)Z.push(Ee),De.test(t.charAt(w))?(Ee=t.charAt(w),w++):(Ee=r,we===0&&ve($));else Z=r;Z!==r?(Re=C,Q=rE(Q,k,Z),C=Q):(w=C,C=r)}else w=C,C=r;else w=C,C=r}else w=C,C=r;if(C===r){if(C=w,t.charCodeAt(w)===45?(Q=sl,w++):(Q=r,we===0&&ve(ol)),Q===r&&(t.charCodeAt(w)===43?(Q=al,w++):(Q=r,we===0&&ve(qo))),Q===r&&(Q=null),Q!==r){if(k=[],De.test(t.charAt(w))?(N=t.charAt(w),w++):(N=r,we===0&&ve($)),N!==r)for(;N!==r;)k.push(N),De.test(t.charAt(w))?(N=t.charAt(w),w++):(N=r,we===0&&ve($));else k=r;k!==r?(Re=C,Q=iE(Q,k),C=Q):(w=C,C=r)}else w=C,C=r;if(C===r&&(C=w,Q=ZQ(),Q!==r&&(Re=C,Q=JQ(Q)),C=Q,C===r&&(C=w,Q=zf(),Q!==r&&(Re=C,Q=ll(Q)),C=Q,C===r)))if(C=w,t.charCodeAt(w)===40?(Q=W,w++):(Q=r,we===0&&ve(X)),Q!==r){for(k=[],N=ke();N!==r;)k.push(N),N=ke();if(k!==r)if(N=iO(),N!==r){for(Z=[],Ee=ke();Ee!==r;)Z.push(Ee),Ee=ke();Z!==r?(t.charCodeAt(w)===41?(Ee=F,w++):(Ee=r,we===0&&ve(D)),Ee!==r?(Re=C,Q=WQ(N),C=Q):(w=C,C=r)):(w=C,C=r)}else w=C,C=r;else w=C,C=r}else w=C,C=r}return C}function XQ(){var C,Q,k,N,Z,Ee,ot,ut;if(C=w,Q=_Q(),Q!==r){for(k=[],N=w,Z=[],Ee=ke();Ee!==r;)Z.push(Ee),Ee=ke();if(Z!==r)if(t.charCodeAt(w)===42?(Ee=nE,w++):(Ee=r,we===0&&ve(Gf)),Ee===r&&(t.charCodeAt(w)===47?(Ee=_c,w++):(Ee=r,we===0&&ve(jf))),Ee!==r){for(ot=[],ut=ke();ut!==r;)ot.push(ut),ut=ke();ot!==r?(ut=_Q(),ut!==r?(Re=N,Z=sE(Q,Ee,ut),N=Z):(w=N,N=r)):(w=N,N=r)}else w=N,N=r;else w=N,N=r;for(;N!==r;){for(k.push(N),N=w,Z=[],Ee=ke();Ee!==r;)Z.push(Ee),Ee=ke();if(Z!==r)if(t.charCodeAt(w)===42?(Ee=nE,w++):(Ee=r,we===0&&ve(Gf)),Ee===r&&(t.charCodeAt(w)===47?(Ee=_c,w++):(Ee=r,we===0&&ve(jf))),Ee!==r){for(ot=[],ut=ke();ut!==r;)ot.push(ut),ut=ke();ot!==r?(ut=_Q(),ut!==r?(Re=N,Z=sE(Q,Ee,ut),N=Z):(w=N,N=r)):(w=N,N=r)}else w=N,N=r;else w=N,N=r}k!==r?(Re=C,Q=cl(Q,k),C=Q):(w=C,C=r)}else w=C,C=r;return C}function iO(){var C,Q,k,N,Z,Ee,ot,ut;if(C=w,Q=XQ(),Q!==r){for(k=[],N=w,Z=[],Ee=ke();Ee!==r;)Z.push(Ee),Ee=ke();if(Z!==r)if(t.charCodeAt(w)===43?(Ee=al,w++):(Ee=r,we===0&&ve(qo)),Ee===r&&(t.charCodeAt(w)===45?(Ee=sl,w++):(Ee=r,we===0&&ve(ol))),Ee!==r){for(ot=[],ut=ke();ut!==r;)ot.push(ut),ut=ke();ot!==r?(ut=XQ(),ut!==r?(Re=N,Z=oE(Q,Ee,ut),N=Z):(w=N,N=r)):(w=N,N=r)}else w=N,N=r;else w=N,N=r;for(;N!==r;){for(k.push(N),N=w,Z=[],Ee=ke();Ee!==r;)Z.push(Ee),Ee=ke();if(Z!==r)if(t.charCodeAt(w)===43?(Ee=al,w++):(Ee=r,we===0&&ve(qo)),Ee===r&&(t.charCodeAt(w)===45?(Ee=sl,w++):(Ee=r,we===0&&ve(ol))),Ee!==r){for(ot=[],ut=ke();ut!==r;)ot.push(ut),ut=ke();ot!==r?(ut=XQ(),ut!==r?(Re=N,Z=oE(Q,Ee,ut),N=Z):(w=N,N=r)):(w=N,N=r)}else w=N,N=r;else w=N,N=r}k!==r?(Re=C,Q=cl(Q,k),C=Q):(w=C,C=r)}else w=C,C=r;return C}function nO(){var C,Q,k,N,Z,Ee;if(C=w,t.substr(w,3)===Yf?(Q=Yf,w+=3):(Q=r,we===0&&ve(Xc)),Q!==r){for(k=[],N=ke();N!==r;)k.push(N),N=ke();if(k!==r)if(N=iO(),N!==r){for(Z=[],Ee=ke();Ee!==r;)Z.push(Ee),Ee=ke();Z!==r?(t.substr(w,2)===xr?(Ee=xr,w+=2):(Ee=r,we===0&&ve(KM)),Ee!==r?(Re=C,Q=Jo(N),C=Q):(w=C,C=r)):(w=C,C=r)}else w=C,C=r;else w=C,C=r}else w=C,C=r;return C}function sO(){var C,Q,k,N;return C=w,t.substr(w,2)===Zs?(Q=Zs,w+=2):(Q=r,we===0&&ve(aE)),Q!==r?(k=Jf(),k!==r?(t.charCodeAt(w)===41?(N=F,w++):(N=r,we===0&&ve(D)),N!==r?(Re=C,Q=Zc(k),C=Q):(w=C,C=r)):(w=C,C=r)):(w=C,C=r),C}function ZQ(){var C,Q,k,N,Z,Ee;return C=w,t.substr(w,2)===x?(Q=x,w+=2):(Q=r,we===0&&ve(U)),Q!==r?(k=zf(),k!==r?(t.substr(w,2)===le?(N=le,w+=2):(N=r,we===0&&ve(xe)),N!==r?(Z=Sfe(),Z!==r?(t.charCodeAt(w)===125?(Ee=Pe,w++):(Ee=r,we===0&&ve(qe)),Ee!==r?(Re=C,Q=Qe(k,Z),C=Q):(w=C,C=r)):(w=C,C=r)):(w=C,C=r)):(w=C,C=r)):(w=C,C=r),C===r&&(C=w,t.substr(w,2)===x?(Q=x,w+=2):(Q=r,we===0&&ve(U)),Q!==r?(k=zf(),k!==r?(t.substr(w,3)===Ge?(N=Ge,w+=3):(N=r,we===0&&ve(ct)),N!==r?(Re=C,Q=sr(k),C=Q):(w=C,C=r)):(w=C,C=r)):(w=C,C=r),C===r&&(C=w,t.substr(w,2)===x?(Q=x,w+=2):(Q=r,we===0&&ve(U)),Q!==r?(k=zf(),k!==r?(t.charCodeAt(w)===125?(N=Pe,w++):(N=r,we===0&&ve(qe)),N!==r?(Re=C,Q=Wo(k),C=Q):(w=C,C=r)):(w=C,C=r)):(w=C,C=r),C===r&&(C=w,t.charCodeAt(w)===36?(Q=Afe,w++):(Q=r,we===0&&ve(lfe)),Q!==r?(k=zf(),k!==r?(Re=C,Q=Wo(k),C=Q):(w=C,C=r)):(w=C,C=r)))),C}function Lfe(){var C,Q,k;return C=w,Q=Tfe(),Q!==r?(Re=w,k=cfe(Q),k?k=void 0:k=r,k!==r?(Re=C,Q=ufe(Q),C=Q):(w=C,C=r)):(w=C,C=r),C}function Tfe(){var C,Q,k,N,Z;if(C=w,Q=[],k=w,N=w,we++,Z=AO(),we--,Z===r?N=void 0:(w=N,N=r),N!==r?(t.length>w?(Z=t.charAt(w),w++):(Z=r,we===0&&ve(Xa)),Z!==r?(Re=k,N=te(Z),k=N):(w=k,k=r)):(w=k,k=r),k!==r)for(;k!==r;)Q.push(k),k=w,N=w,we++,Z=AO(),we--,Z===r?N=void 0:(w=N,N=r),N!==r?(t.length>w?(Z=t.charAt(w),w++):(Z=r,we===0&&ve(Xa)),Z!==r?(Re=k,N=te(Z),k=N):(w=k,k=r)):(w=k,k=r);else Q=r;return Q!==r&&(Re=C,Q=il(Q)),C=Q,C}function oO(){var C,Q,k;if(C=w,Q=[],UM.test(t.charAt(w))?(k=t.charAt(w),w++):(k=r,we===0&&ve(HM)),k!==r)for(;k!==r;)Q.push(k),UM.test(t.charAt(w))?(k=t.charAt(w),w++):(k=r,we===0&&ve(HM));else Q=r;return Q!==r&&(Re=C,Q=GM()),C=Q,C}function zf(){var C,Q,k;if(C=w,Q=[],jM.test(t.charAt(w))?(k=t.charAt(w),w++):(k=r,we===0&&ve(YM)),k!==r)for(;k!==r;)Q.push(k),jM.test(t.charAt(w))?(k=t.charAt(w),w++):(k=r,we===0&&ve(YM));else Q=r;return Q!==r&&(Re=C,Q=GM()),C=Q,C}function aO(){var C;return gfe.test(t.charAt(w))?(C=t.charAt(w),w++):(C=r,we===0&&ve(ffe)),C}function AO(){var C;return hfe.test(t.charAt(w))?(C=t.charAt(w),w++):(C=r,we===0&&ve(pfe)),C}function ke(){var C,Q;if(C=[],qM.test(t.charAt(w))?(Q=t.charAt(w),w++):(Q=r,we===0&&ve(JM)),Q!==r)for(;Q!==r;)C.push(Q),qM.test(t.charAt(w))?(Q=t.charAt(w),w++):(Q=r,we===0&&ve(JM));else C=r;return C}if(lE=n(),lE!==r&&w===t.length)return lE;throw lE!==r&&w{"use strict";function Eke(t,e){function r(){this.constructor=t}r.prototype=e.prototype,t.prototype=new r}function Xl(t,e,r,i){this.message=t,this.expected=e,this.found=r,this.location=i,this.name="SyntaxError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,Xl)}Eke(Xl,Error);Xl.buildMessage=function(t,e){var r={literal:function(c){return'"'+n(c.text)+'"'},class:function(c){var u="",g;for(g=0;g0){for(g=1,f=1;gH&&(H=B,L=[]),L.push($))}function qe($,G){return new Xl($,null,null,G)}function re($,G,Ce){return new Xl(Xl.buildMessage($,G),$,G,Ce)}function se(){var $,G,Ce,ee;return $=B,G=be(),G!==r?(t.charCodeAt(B)===47?(Ce=s,B++):(Ce=r,K===0&&Pe(o)),Ce!==r?(ee=be(),ee!==r?(b=$,G=a(G,ee),$=G):(B=$,$=r)):(B=$,$=r)):(B=$,$=r),$===r&&($=B,G=be(),G!==r&&(b=$,G=l(G)),$=G),$}function be(){var $,G,Ce,ee;return $=B,G=ae(),G!==r?(t.charCodeAt(B)===64?(Ce=c,B++):(Ce=r,K===0&&Pe(u)),Ce!==r?(ee=De(),ee!==r?(b=$,G=g(G,ee),$=G):(B=$,$=r)):(B=$,$=r)):(B=$,$=r),$===r&&($=B,G=ae(),G!==r&&(b=$,G=f(G)),$=G),$}function ae(){var $,G,Ce,ee,Ue;return $=B,t.charCodeAt(B)===64?(G=c,B++):(G=r,K===0&&Pe(u)),G!==r?(Ce=Ae(),Ce!==r?(t.charCodeAt(B)===47?(ee=s,B++):(ee=r,K===0&&Pe(o)),ee!==r?(Ue=Ae(),Ue!==r?(b=$,G=h(),$=G):(B=$,$=r)):(B=$,$=r)):(B=$,$=r)):(B=$,$=r),$===r&&($=B,G=Ae(),G!==r&&(b=$,G=h()),$=G),$}function Ae(){var $,G,Ce;if($=B,G=[],p.test(t.charAt(B))?(Ce=t.charAt(B),B++):(Ce=r,K===0&&Pe(d)),Ce!==r)for(;Ce!==r;)G.push(Ce),p.test(t.charAt(B))?(Ce=t.charAt(B),B++):(Ce=r,K===0&&Pe(d));else G=r;return G!==r&&(b=$,G=h()),$=G,$}function De(){var $,G,Ce;if($=B,G=[],m.test(t.charAt(B))?(Ce=t.charAt(B),B++):(Ce=r,K===0&&Pe(I)),Ce!==r)for(;Ce!==r;)G.push(Ce),m.test(t.charAt(B))?(Ce=t.charAt(B),B++):(Ce=r,K===0&&Pe(I));else G=r;return G!==r&&(b=$,G=h()),$=G,$}if(J=n(),J!==r&&B===t.length)return J;throw J!==r&&B{"use strict";function F4(t){return typeof t=="undefined"||t===null}function yke(t){return typeof t=="object"&&t!==null}function wke(t){return Array.isArray(t)?t:F4(t)?[]:[t]}function Bke(t,e){var r,i,n,s;if(e)for(s=Object.keys(e),r=0,i=s.length;r{"use strict";function Lp(t,e){Error.call(this),this.name="YAMLException",this.reason=t,this.mark=e,this.message=(this.reason||"(unknown reason)")+(this.mark?" "+this.mark.toString():""),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack||""}Lp.prototype=Object.create(Error.prototype);Lp.prototype.constructor=Lp;Lp.prototype.toString=function(e){var r=this.name+": ";return r+=this.reason||"(unknown reason)",!e&&this.mark&&(r+=" "+this.mark.toString()),r};N4.exports=Lp});var M4=E((Vot,L4)=>{"use strict";var T4=$l();function kP(t,e,r,i,n){this.name=t,this.buffer=e,this.position=r,this.line=i,this.column=n}kP.prototype.getSnippet=function(e,r){var i,n,s,o,a;if(!this.buffer)return null;for(e=e||4,r=r||75,i="",n=this.position;n>0&&`\0\r +\x85\u2028\u2029`.indexOf(this.buffer.charAt(n-1))===-1;)if(n-=1,this.position-n>r/2-1){i=" ... ",n+=5;break}for(s="",o=this.position;or/2-1){s=" ... ",o-=5;break}return a=this.buffer.slice(n,o),T4.repeat(" ",e)+i+a+s+` +`+T4.repeat(" ",e+this.position-n+i.length)+"^"};kP.prototype.toString=function(e){var r,i="";return this.name&&(i+='in "'+this.name+'" '),i+="at line "+(this.line+1)+", column "+(this.column+1),e||(r=this.getSnippet(),r&&(i+=`: +`+r)),i};L4.exports=kP});var Xr=E((_ot,O4)=>{"use strict";var K4=ng(),vke=["kind","resolve","construct","instanceOf","predicate","represent","defaultStyle","styleAliases"],Ske=["scalar","sequence","mapping"];function xke(t){var e={};return t!==null&&Object.keys(t).forEach(function(r){t[r].forEach(function(i){e[String(i)]=r})}),e}function kke(t,e){if(e=e||{},Object.keys(e).forEach(function(r){if(vke.indexOf(r)===-1)throw new K4('Unknown option "'+r+'" is met in definition of "'+t+'" YAML type.')}),this.tag=t,this.kind=e.kind||null,this.resolve=e.resolve||function(){return!0},this.construct=e.construct||function(r){return r},this.instanceOf=e.instanceOf||null,this.predicate=e.predicate||null,this.represent=e.represent||null,this.defaultStyle=e.defaultStyle||null,this.styleAliases=xke(e.styleAliases||null),Ske.indexOf(this.kind)===-1)throw new K4('Unknown kind "'+this.kind+'" is specified for "'+t+'" YAML type.')}O4.exports=kke});var ec=E((Xot,U4)=>{"use strict";var H4=$l(),hw=ng(),Pke=Xr();function PP(t,e,r){var i=[];return t.include.forEach(function(n){r=PP(n,e,r)}),t[e].forEach(function(n){r.forEach(function(s,o){s.tag===n.tag&&s.kind===n.kind&&i.push(o)}),r.push(n)}),r.filter(function(n,s){return i.indexOf(s)===-1})}function Dke(){var t={scalar:{},sequence:{},mapping:{},fallback:{}},e,r;function i(n){t[n.kind][n.tag]=t.fallback[n.tag]=n}for(e=0,r=arguments.length;e{"use strict";var Rke=Xr();G4.exports=new Rke("tag:yaml.org,2002:str",{kind:"scalar",construct:function(t){return t!==null?t:""}})});var q4=E(($ot,Y4)=>{"use strict";var Fke=Xr();Y4.exports=new Fke("tag:yaml.org,2002:seq",{kind:"sequence",construct:function(t){return t!==null?t:[]}})});var W4=E((eat,J4)=>{"use strict";var Nke=Xr();J4.exports=new Nke("tag:yaml.org,2002:map",{kind:"mapping",construct:function(t){return t!==null?t:{}}})});var pw=E((tat,z4)=>{"use strict";var Lke=ec();z4.exports=new Lke({explicit:[j4(),q4(),W4()]})});var _4=E((rat,V4)=>{"use strict";var Tke=Xr();function Mke(t){if(t===null)return!0;var e=t.length;return e===1&&t==="~"||e===4&&(t==="null"||t==="Null"||t==="NULL")}function Oke(){return null}function Kke(t){return t===null}V4.exports=new Tke("tag:yaml.org,2002:null",{kind:"scalar",resolve:Mke,construct:Oke,predicate:Kke,represent:{canonical:function(){return"~"},lowercase:function(){return"null"},uppercase:function(){return"NULL"},camelcase:function(){return"Null"}},defaultStyle:"lowercase"})});var Z4=E((iat,X4)=>{"use strict";var Uke=Xr();function Hke(t){if(t===null)return!1;var e=t.length;return e===4&&(t==="true"||t==="True"||t==="TRUE")||e===5&&(t==="false"||t==="False"||t==="FALSE")}function Gke(t){return t==="true"||t==="True"||t==="TRUE"}function jke(t){return Object.prototype.toString.call(t)==="[object Boolean]"}X4.exports=new Uke("tag:yaml.org,2002:bool",{kind:"scalar",resolve:Hke,construct:Gke,predicate:jke,represent:{lowercase:function(t){return t?"true":"false"},uppercase:function(t){return t?"TRUE":"FALSE"},camelcase:function(t){return t?"True":"False"}},defaultStyle:"lowercase"})});var ez=E((nat,$4)=>{"use strict";var Yke=$l(),qke=Xr();function Jke(t){return 48<=t&&t<=57||65<=t&&t<=70||97<=t&&t<=102}function Wke(t){return 48<=t&&t<=55}function zke(t){return 48<=t&&t<=57}function Vke(t){if(t===null)return!1;var e=t.length,r=0,i=!1,n;if(!e)return!1;if(n=t[r],(n==="-"||n==="+")&&(n=t[++r]),n==="0"){if(r+1===e)return!0;if(n=t[++r],n==="b"){for(r++;r=0?"0b"+t.toString(2):"-0b"+t.toString(2).slice(1)},octal:function(t){return t>=0?"0"+t.toString(8):"-0"+t.toString(8).slice(1)},decimal:function(t){return t.toString(10)},hexadecimal:function(t){return t>=0?"0x"+t.toString(16).toUpperCase():"-0x"+t.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}})});var iz=E((sat,tz)=>{"use strict";var rz=$l(),Zke=Xr(),$ke=new RegExp("^(?:[-+]?(?:0|[1-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\\.[0-9_]*|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");function ePe(t){return!(t===null||!$ke.test(t)||t[t.length-1]==="_")}function tPe(t){var e,r,i,n;return e=t.replace(/_/g,"").toLowerCase(),r=e[0]==="-"?-1:1,n=[],"+-".indexOf(e[0])>=0&&(e=e.slice(1)),e===".inf"?r===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:e===".nan"?NaN:e.indexOf(":")>=0?(e.split(":").forEach(function(s){n.unshift(parseFloat(s,10))}),e=0,i=1,n.forEach(function(s){e+=s*i,i*=60}),r*e):r*parseFloat(e,10)}var rPe=/^[-+]?[0-9]+e/;function iPe(t,e){var r;if(isNaN(t))switch(e){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===t)switch(e){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===t)switch(e){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(rz.isNegativeZero(t))return"-0.0";return r=t.toString(10),rPe.test(r)?r.replace("e",".e"):r}function nPe(t){return Object.prototype.toString.call(t)==="[object Number]"&&(t%1!=0||rz.isNegativeZero(t))}tz.exports=new Zke("tag:yaml.org,2002:float",{kind:"scalar",resolve:ePe,construct:tPe,predicate:nPe,represent:iPe,defaultStyle:"lowercase"})});var DP=E((oat,nz)=>{"use strict";var sPe=ec();nz.exports=new sPe({include:[pw()],implicit:[_4(),Z4(),ez(),iz()]})});var RP=E((aat,sz)=>{"use strict";var oPe=ec();sz.exports=new oPe({include:[DP()]})});var lz=E((Aat,oz)=>{"use strict";var aPe=Xr(),az=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),Az=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");function APe(t){return t===null?!1:az.exec(t)!==null||Az.exec(t)!==null}function lPe(t){var e,r,i,n,s,o,a,l=0,c=null,u,g,f;if(e=az.exec(t),e===null&&(e=Az.exec(t)),e===null)throw new Error("Date resolve error");if(r=+e[1],i=+e[2]-1,n=+e[3],!e[4])return new Date(Date.UTC(r,i,n));if(s=+e[4],o=+e[5],a=+e[6],e[7]){for(l=e[7].slice(0,3);l.length<3;)l+="0";l=+l}return e[9]&&(u=+e[10],g=+(e[11]||0),c=(u*60+g)*6e4,e[9]==="-"&&(c=-c)),f=new Date(Date.UTC(r,i,n,s,o,a,l)),c&&f.setTime(f.getTime()-c),f}function cPe(t){return t.toISOString()}oz.exports=new aPe("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:APe,construct:lPe,instanceOf:Date,represent:cPe})});var uz=E((lat,cz)=>{"use strict";var uPe=Xr();function gPe(t){return t==="<<"||t===null}cz.exports=new uPe("tag:yaml.org,2002:merge",{kind:"scalar",resolve:gPe})});var hz=E((cat,gz)=>{"use strict";var tc;try{fz=require,tc=fz("buffer").Buffer}catch(t){}var fz,fPe=Xr(),FP=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/= +\r`;function hPe(t){if(t===null)return!1;var e,r,i=0,n=t.length,s=FP;for(r=0;r64)){if(e<0)return!1;i+=6}return i%8==0}function pPe(t){var e,r,i=t.replace(/[\r\n=]/g,""),n=i.length,s=FP,o=0,a=[];for(e=0;e>16&255),a.push(o>>8&255),a.push(o&255)),o=o<<6|s.indexOf(i.charAt(e));return r=n%4*6,r===0?(a.push(o>>16&255),a.push(o>>8&255),a.push(o&255)):r===18?(a.push(o>>10&255),a.push(o>>2&255)):r===12&&a.push(o>>4&255),tc?tc.from?tc.from(a):new tc(a):a}function dPe(t){var e="",r=0,i,n,s=t.length,o=FP;for(i=0;i>18&63],e+=o[r>>12&63],e+=o[r>>6&63],e+=o[r&63]),r=(r<<8)+t[i];return n=s%3,n===0?(e+=o[r>>18&63],e+=o[r>>12&63],e+=o[r>>6&63],e+=o[r&63]):n===2?(e+=o[r>>10&63],e+=o[r>>4&63],e+=o[r<<2&63],e+=o[64]):n===1&&(e+=o[r>>2&63],e+=o[r<<4&63],e+=o[64],e+=o[64]),e}function CPe(t){return tc&&tc.isBuffer(t)}gz.exports=new fPe("tag:yaml.org,2002:binary",{kind:"scalar",resolve:hPe,construct:pPe,predicate:CPe,represent:dPe})});var dz=E((uat,pz)=>{"use strict";var mPe=Xr(),EPe=Object.prototype.hasOwnProperty,IPe=Object.prototype.toString;function yPe(t){if(t===null)return!0;var e=[],r,i,n,s,o,a=t;for(r=0,i=a.length;r{"use strict";var BPe=Xr(),QPe=Object.prototype.toString;function bPe(t){if(t===null)return!0;var e,r,i,n,s,o=t;for(s=new Array(o.length),e=0,r=o.length;e{"use strict";var SPe=Xr(),xPe=Object.prototype.hasOwnProperty;function kPe(t){if(t===null)return!0;var e,r=t;for(e in r)if(xPe.call(r,e)&&r[e]!==null)return!1;return!0}function PPe(t){return t!==null?t:{}}Ez.exports=new SPe("tag:yaml.org,2002:set",{kind:"mapping",resolve:kPe,construct:PPe})});var og=E((hat,yz)=>{"use strict";var DPe=ec();yz.exports=new DPe({include:[RP()],implicit:[lz(),uz()],explicit:[hz(),dz(),mz(),Iz()]})});var Bz=E((pat,wz)=>{"use strict";var RPe=Xr();function FPe(){return!0}function NPe(){}function LPe(){return""}function TPe(t){return typeof t=="undefined"}wz.exports=new RPe("tag:yaml.org,2002:js/undefined",{kind:"scalar",resolve:FPe,construct:NPe,predicate:TPe,represent:LPe})});var bz=E((dat,Qz)=>{"use strict";var MPe=Xr();function OPe(t){if(t===null||t.length===0)return!1;var e=t,r=/\/([gim]*)$/.exec(t),i="";return!(e[0]==="/"&&(r&&(i=r[1]),i.length>3||e[e.length-i.length-1]!=="/"))}function KPe(t){var e=t,r=/\/([gim]*)$/.exec(t),i="";return e[0]==="/"&&(r&&(i=r[1]),e=e.slice(1,e.length-i.length-1)),new RegExp(e,i)}function UPe(t){var e="/"+t.source+"/";return t.global&&(e+="g"),t.multiline&&(e+="m"),t.ignoreCase&&(e+="i"),e}function HPe(t){return Object.prototype.toString.call(t)==="[object RegExp]"}Qz.exports=new MPe("tag:yaml.org,2002:js/regexp",{kind:"scalar",resolve:OPe,construct:KPe,predicate:HPe,represent:UPe})});var xz=E((Cat,vz)=>{"use strict";var dw;try{Sz=require,dw=Sz("esprima")}catch(t){typeof window!="undefined"&&(dw=window.esprima)}var Sz,GPe=Xr();function jPe(t){if(t===null)return!1;try{var e="("+t+")",r=dw.parse(e,{range:!0});return!(r.type!=="Program"||r.body.length!==1||r.body[0].type!=="ExpressionStatement"||r.body[0].expression.type!=="ArrowFunctionExpression"&&r.body[0].expression.type!=="FunctionExpression")}catch(i){return!1}}function YPe(t){var e="("+t+")",r=dw.parse(e,{range:!0}),i=[],n;if(r.type!=="Program"||r.body.length!==1||r.body[0].type!=="ExpressionStatement"||r.body[0].expression.type!=="ArrowFunctionExpression"&&r.body[0].expression.type!=="FunctionExpression")throw new Error("Failed to resolve function");return r.body[0].expression.params.forEach(function(s){i.push(s.name)}),n=r.body[0].expression.body.range,r.body[0].expression.body.type==="BlockStatement"?new Function(i,e.slice(n[0]+1,n[1]-1)):new Function(i,"return "+e.slice(n[0],n[1]))}function qPe(t){return t.toString()}function JPe(t){return Object.prototype.toString.call(t)==="[object Function]"}vz.exports=new GPe("tag:yaml.org,2002:js/function",{kind:"scalar",resolve:jPe,construct:YPe,predicate:JPe,represent:qPe})});var Tp=E((mat,kz)=>{"use strict";var Pz=ec();kz.exports=Pz.DEFAULT=new Pz({include:[og()],explicit:[Bz(),bz(),xz()]})});var Vz=E((Eat,Mp)=>{"use strict";var Ba=$l(),Dz=ng(),WPe=M4(),Rz=og(),zPe=Tp(),QA=Object.prototype.hasOwnProperty,Cw=1,Fz=2,Nz=3,mw=4,NP=1,VPe=2,Lz=3,_Pe=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,XPe=/[\x85\u2028\u2029]/,ZPe=/[,\[\]\{\}]/,Tz=/^(?:!|!!|![a-z\-]+!)$/i,Mz=/^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i;function Oz(t){return Object.prototype.toString.call(t)}function wo(t){return t===10||t===13}function rc(t){return t===9||t===32}function yn(t){return t===9||t===32||t===10||t===13}function ag(t){return t===44||t===91||t===93||t===123||t===125}function $Pe(t){var e;return 48<=t&&t<=57?t-48:(e=t|32,97<=e&&e<=102?e-97+10:-1)}function eDe(t){return t===120?2:t===117?4:t===85?8:0}function tDe(t){return 48<=t&&t<=57?t-48:-1}function Kz(t){return t===48?"\0":t===97?"\x07":t===98?"\b":t===116||t===9?" ":t===110?` +`:t===118?"\v":t===102?"\f":t===114?"\r":t===101?"":t===32?" ":t===34?'"':t===47?"/":t===92?"\\":t===78?"\x85":t===95?"\xA0":t===76?"\u2028":t===80?"\u2029":""}function rDe(t){return t<=65535?String.fromCharCode(t):String.fromCharCode((t-65536>>10)+55296,(t-65536&1023)+56320)}var Uz=new Array(256),Hz=new Array(256);for(var Ag=0;Ag<256;Ag++)Uz[Ag]=Kz(Ag)?1:0,Hz[Ag]=Kz(Ag);function iDe(t,e){this.input=t,this.filename=e.filename||null,this.schema=e.schema||zPe,this.onWarning=e.onWarning||null,this.legacy=e.legacy||!1,this.json=e.json||!1,this.listener=e.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=t.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.documents=[]}function Gz(t,e){return new Dz(e,new WPe(t.filename,t.input,t.position,t.line,t.position-t.lineStart))}function st(t,e){throw Gz(t,e)}function Ew(t,e){t.onWarning&&t.onWarning.call(null,Gz(t,e))}var jz={YAML:function(e,r,i){var n,s,o;e.version!==null&&st(e,"duplication of %YAML directive"),i.length!==1&&st(e,"YAML directive accepts exactly one argument"),n=/^([0-9]+)\.([0-9]+)$/.exec(i[0]),n===null&&st(e,"ill-formed argument of the YAML directive"),s=parseInt(n[1],10),o=parseInt(n[2],10),s!==1&&st(e,"unacceptable YAML version of the document"),e.version=i[0],e.checkLineBreaks=o<2,o!==1&&o!==2&&Ew(e,"unsupported YAML version of the document")},TAG:function(e,r,i){var n,s;i.length!==2&&st(e,"TAG directive accepts exactly two arguments"),n=i[0],s=i[1],Tz.test(n)||st(e,"ill-formed tag handle (first argument) of the TAG directive"),QA.call(e.tagMap,n)&&st(e,'there is a previously declared suffix for "'+n+'" tag handle'),Mz.test(s)||st(e,"ill-formed tag prefix (second argument) of the TAG directive"),e.tagMap[n]=s}};function bA(t,e,r,i){var n,s,o,a;if(e1&&(t.result+=Ba.repeat(` +`,e-1))}function nDe(t,e,r){var i,n,s,o,a,l,c,u,g=t.kind,f=t.result,h;if(h=t.input.charCodeAt(t.position),yn(h)||ag(h)||h===35||h===38||h===42||h===33||h===124||h===62||h===39||h===34||h===37||h===64||h===96||(h===63||h===45)&&(n=t.input.charCodeAt(t.position+1),yn(n)||r&&ag(n)))return!1;for(t.kind="scalar",t.result="",s=o=t.position,a=!1;h!==0;){if(h===58){if(n=t.input.charCodeAt(t.position+1),yn(n)||r&&ag(n))break}else if(h===35){if(i=t.input.charCodeAt(t.position-1),yn(i))break}else{if(t.position===t.lineStart&&Iw(t)||r&&ag(h))break;if(wo(h))if(l=t.line,c=t.lineStart,u=t.lineIndent,jr(t,!1,-1),t.lineIndent>=e){a=!0,h=t.input.charCodeAt(t.position);continue}else{t.position=o,t.line=l,t.lineStart=c,t.lineIndent=u;break}}a&&(bA(t,s,o,!1),TP(t,t.line-l),s=o=t.position,a=!1),rc(h)||(o=t.position+1),h=t.input.charCodeAt(++t.position)}return bA(t,s,o,!1),t.result?!0:(t.kind=g,t.result=f,!1)}function sDe(t,e){var r,i,n;if(r=t.input.charCodeAt(t.position),r!==39)return!1;for(t.kind="scalar",t.result="",t.position++,i=n=t.position;(r=t.input.charCodeAt(t.position))!==0;)if(r===39)if(bA(t,i,t.position,!0),r=t.input.charCodeAt(++t.position),r===39)i=t.position,t.position++,n=t.position;else return!0;else wo(r)?(bA(t,i,n,!0),TP(t,jr(t,!1,e)),i=n=t.position):t.position===t.lineStart&&Iw(t)?st(t,"unexpected end of the document within a single quoted scalar"):(t.position++,n=t.position);st(t,"unexpected end of the stream within a single quoted scalar")}function oDe(t,e){var r,i,n,s,o,a;if(a=t.input.charCodeAt(t.position),a!==34)return!1;for(t.kind="scalar",t.result="",t.position++,r=i=t.position;(a=t.input.charCodeAt(t.position))!==0;){if(a===34)return bA(t,r,t.position,!0),t.position++,!0;if(a===92){if(bA(t,r,t.position,!0),a=t.input.charCodeAt(++t.position),wo(a))jr(t,!1,e);else if(a<256&&Uz[a])t.result+=Hz[a],t.position++;else if((o=eDe(a))>0){for(n=o,s=0;n>0;n--)a=t.input.charCodeAt(++t.position),(o=$Pe(a))>=0?s=(s<<4)+o:st(t,"expected hexadecimal character");t.result+=rDe(s),t.position++}else st(t,"unknown escape sequence");r=i=t.position}else wo(a)?(bA(t,r,i,!0),TP(t,jr(t,!1,e)),r=i=t.position):t.position===t.lineStart&&Iw(t)?st(t,"unexpected end of the document within a double quoted scalar"):(t.position++,i=t.position)}st(t,"unexpected end of the stream within a double quoted scalar")}function aDe(t,e){var r=!0,i,n=t.tag,s,o=t.anchor,a,l,c,u,g,f={},h,p,d,m;if(m=t.input.charCodeAt(t.position),m===91)l=93,g=!1,s=[];else if(m===123)l=125,g=!0,s={};else return!1;for(t.anchor!==null&&(t.anchorMap[t.anchor]=s),m=t.input.charCodeAt(++t.position);m!==0;){if(jr(t,!0,e),m=t.input.charCodeAt(t.position),m===l)return t.position++,t.tag=n,t.anchor=o,t.kind=g?"mapping":"sequence",t.result=s,!0;r||st(t,"missed comma between flow collection entries"),p=h=d=null,c=u=!1,m===63&&(a=t.input.charCodeAt(t.position+1),yn(a)&&(c=u=!0,t.position++,jr(t,!0,e))),i=t.line,cg(t,e,Cw,!1,!0),p=t.tag,h=t.result,jr(t,!0,e),m=t.input.charCodeAt(t.position),(u||t.line===i)&&m===58&&(c=!0,m=t.input.charCodeAt(++t.position),jr(t,!0,e),cg(t,e,Cw,!1,!0),d=t.result),g?lg(t,s,f,p,h,d):c?s.push(lg(t,null,f,p,h,d)):s.push(h),jr(t,!0,e),m=t.input.charCodeAt(t.position),m===44?(r=!0,m=t.input.charCodeAt(++t.position)):r=!1}st(t,"unexpected end of the stream within a flow collection")}function ADe(t,e){var r,i,n=NP,s=!1,o=!1,a=e,l=0,c=!1,u,g;if(g=t.input.charCodeAt(t.position),g===124)i=!1;else if(g===62)i=!0;else return!1;for(t.kind="scalar",t.result="";g!==0;)if(g=t.input.charCodeAt(++t.position),g===43||g===45)NP===n?n=g===43?Lz:VPe:st(t,"repeat of a chomping mode identifier");else if((u=tDe(g))>=0)u===0?st(t,"bad explicit indentation width of a block scalar; it cannot be less than one"):o?st(t,"repeat of an indentation width identifier"):(a=e+u-1,o=!0);else break;if(rc(g)){do g=t.input.charCodeAt(++t.position);while(rc(g));if(g===35)do g=t.input.charCodeAt(++t.position);while(!wo(g)&&g!==0)}for(;g!==0;){for(LP(t),t.lineIndent=0,g=t.input.charCodeAt(t.position);(!o||t.lineIndenta&&(a=t.lineIndent),wo(g)){l++;continue}if(t.lineIndente)&&l!==0)st(t,"bad indentation of a sequence entry");else if(t.lineIndente)&&(cg(t,e,mw,!0,n)&&(p?f=t.result:h=t.result),p||(lg(t,c,u,g,f,h,s,o),g=f=h=null),jr(t,!0,-1),m=t.input.charCodeAt(t.position)),t.lineIndent>e&&m!==0)st(t,"bad indentation of a mapping entry");else if(t.lineIndente?l=1:t.lineIndent===e?l=0:t.lineIndente?l=1:t.lineIndent===e?l=0:t.lineIndent tag; it should be "scalar", not "'+t.kind+'"'),g=0,f=t.implicitTypes.length;g tag; it should be "'+h.kind+'", not "'+t.kind+'"'),h.resolve(t.result)?(t.result=h.construct(t.result),t.anchor!==null&&(t.anchorMap[t.anchor]=t.result)):st(t,"cannot resolve a node with !<"+t.tag+"> explicit tag")):st(t,"unknown tag !<"+t.tag+">");return t.listener!==null&&t.listener("close",t),t.tag!==null||t.anchor!==null||u}function fDe(t){var e=t.position,r,i,n,s=!1,o;for(t.version=null,t.checkLineBreaks=t.legacy,t.tagMap={},t.anchorMap={};(o=t.input.charCodeAt(t.position))!==0&&(jr(t,!0,-1),o=t.input.charCodeAt(t.position),!(t.lineIndent>0||o!==37));){for(s=!0,o=t.input.charCodeAt(++t.position),r=t.position;o!==0&&!yn(o);)o=t.input.charCodeAt(++t.position);for(i=t.input.slice(r,t.position),n=[],i.length<1&&st(t,"directive name must not be less than one character in length");o!==0;){for(;rc(o);)o=t.input.charCodeAt(++t.position);if(o===35){do o=t.input.charCodeAt(++t.position);while(o!==0&&!wo(o));break}if(wo(o))break;for(r=t.position;o!==0&&!yn(o);)o=t.input.charCodeAt(++t.position);n.push(t.input.slice(r,t.position))}o!==0&&LP(t),QA.call(jz,i)?jz[i](t,i,n):Ew(t,'unknown document directive "'+i+'"')}if(jr(t,!0,-1),t.lineIndent===0&&t.input.charCodeAt(t.position)===45&&t.input.charCodeAt(t.position+1)===45&&t.input.charCodeAt(t.position+2)===45?(t.position+=3,jr(t,!0,-1)):s&&st(t,"directives end mark is expected"),cg(t,t.lineIndent-1,mw,!1,!0),jr(t,!0,-1),t.checkLineBreaks&&XPe.test(t.input.slice(e,t.position))&&Ew(t,"non-ASCII line breaks are interpreted as content"),t.documents.push(t.result),t.position===t.lineStart&&Iw(t)){t.input.charCodeAt(t.position)===46&&(t.position+=3,jr(t,!0,-1));return}if(t.position{"use strict";var Op=$l(),Kp=ng(),dDe=Tp(),CDe=og(),_z=Object.prototype.toString,Xz=Object.prototype.hasOwnProperty,mDe=9,Up=10,EDe=13,IDe=32,yDe=33,wDe=34,Zz=35,BDe=37,QDe=38,bDe=39,vDe=42,$z=44,SDe=45,e5=58,xDe=61,kDe=62,PDe=63,DDe=64,t5=91,r5=93,RDe=96,i5=123,FDe=124,n5=125,Ri={};Ri[0]="\\0";Ri[7]="\\a";Ri[8]="\\b";Ri[9]="\\t";Ri[10]="\\n";Ri[11]="\\v";Ri[12]="\\f";Ri[13]="\\r";Ri[27]="\\e";Ri[34]='\\"';Ri[92]="\\\\";Ri[133]="\\N";Ri[160]="\\_";Ri[8232]="\\L";Ri[8233]="\\P";var NDe=["y","Y","yes","Yes","YES","on","On","ON","n","N","no","No","NO","off","Off","OFF"];function LDe(t,e){var r,i,n,s,o,a,l;if(e===null)return{};for(r={},i=Object.keys(e),n=0,s=i.length;n0?t.charCodeAt(s-1):null,f=f&&a5(o,a)}else{for(s=0;si&&t[g+1]!==" ",g=s);else if(!ug(o))return yw;a=s>0?t.charCodeAt(s-1):null,f=f&&a5(o,a)}c=c||u&&s-g-1>i&&t[g+1]!==" "}return!l&&!c?f&&!n(t)?l5:c5:r>9&&A5(t)?yw:c?g5:u5}function jDe(t,e,r,i){t.dump=function(){if(e.length===0)return"''";if(!t.noCompatMode&&NDe.indexOf(e)!==-1)return"'"+e+"'";var n=t.indent*Math.max(1,r),s=t.lineWidth===-1?-1:Math.max(Math.min(t.lineWidth,40),t.lineWidth-n),o=i||t.flowLevel>-1&&r>=t.flowLevel;function a(l){return MDe(t,l)}switch(UDe(e,o,t.indent,s,a)){case l5:return e;case c5:return"'"+e.replace(/'/g,"''")+"'";case u5:return"|"+f5(e,t.indent)+h5(o5(e,n));case g5:return">"+f5(e,t.indent)+h5(o5(HDe(e,s),n));case yw:return'"'+GDe(e,s)+'"';default:throw new Kp("impossible error: invalid scalar style")}}()}function f5(t,e){var r=A5(t)?String(e):"",i=t[t.length-1]===` +`,n=i&&(t[t.length-2]===` +`||t===` +`),s=n?"+":i?"":"-";return r+s+` +`}function h5(t){return t[t.length-1]===` +`?t.slice(0,-1):t}function HDe(t,e){for(var r=/(\n+)([^\n]*)/g,i=function(){var c=t.indexOf(` +`);return c=c!==-1?c:t.length,r.lastIndex=c,p5(t.slice(0,c),e)}(),n=t[0]===` +`||t[0]===" ",s,o;o=r.exec(t);){var a=o[1],l=o[2];s=l[0]===" ",i+=a+(!n&&!s&&l!==""?` +`:"")+p5(l,e),n=s}return i}function p5(t,e){if(t===""||t[0]===" ")return t;for(var r=/ [^ ]/g,i,n=0,s,o=0,a=0,l="";i=r.exec(t);)a=i.index,a-n>e&&(s=o>n?o:a,l+=` +`+t.slice(n,s),n=s+1),o=a;return l+=` +`,t.length-n>e&&o>n?l+=t.slice(n,o)+` +`+t.slice(o+1):l+=t.slice(n),l.slice(1)}function GDe(t){for(var e="",r,i,n,s=0;s=55296&&r<=56319&&(i=t.charCodeAt(s+1),i>=56320&&i<=57343)){e+=s5((r-55296)*1024+i-56320+65536),s++;continue}n=Ri[r],e+=!n&&ug(r)?t[s]:n||s5(r)}return e}function YDe(t,e,r){var i="",n=t.tag,s,o;for(s=0,o=r.length;s1024&&(u+="? "),u+=t.dump+(t.condenseFlow?'"':"")+":"+(t.condenseFlow?"":" "),!!ic(t,e,c,!1,!1)&&(u+=t.dump,i+=u));t.tag=n,t.dump="{"+i+"}"}function WDe(t,e,r,i){var n="",s=t.tag,o=Object.keys(r),a,l,c,u,g,f;if(t.sortKeys===!0)o.sort();else if(typeof t.sortKeys=="function")o.sort(t.sortKeys);else if(t.sortKeys)throw new Kp("sortKeys must be a boolean or a function");for(a=0,l=o.length;a1024,g&&(t.dump&&Up===t.dump.charCodeAt(0)?f+="?":f+="? "),f+=t.dump,g&&(f+=OP(t,e)),!!ic(t,e+1,u,!0,g)&&(t.dump&&Up===t.dump.charCodeAt(0)?f+=":":f+=": ",f+=t.dump,n+=f));t.tag=s,t.dump=n||"{}"}function d5(t,e,r){var i,n,s,o,a,l;for(n=r?t.explicitTypes:t.implicitTypes,s=0,o=n.length;s tag resolver accepts not "'+l+'" style');t.dump=i}return!0}return!1}function ic(t,e,r,i,n,s){t.tag=null,t.dump=r,d5(t,r,!1)||d5(t,r,!0);var o=_z.call(t.dump);i&&(i=t.flowLevel<0||t.flowLevel>e);var a=o==="[object Object]"||o==="[object Array]",l,c;if(a&&(l=t.duplicates.indexOf(r),c=l!==-1),(t.tag!==null&&t.tag!=="?"||c||t.indent!==2&&e>0)&&(n=!1),c&&t.usedDuplicates[l])t.dump="*ref_"+l;else{if(a&&c&&!t.usedDuplicates[l]&&(t.usedDuplicates[l]=!0),o==="[object Object]")i&&Object.keys(t.dump).length!==0?(WDe(t,e,t.dump,n),c&&(t.dump="&ref_"+l+t.dump)):(JDe(t,e,t.dump),c&&(t.dump="&ref_"+l+" "+t.dump));else if(o==="[object Array]"){var u=t.noArrayIndent&&e>0?e-1:e;i&&t.dump.length!==0?(qDe(t,u,t.dump,n),c&&(t.dump="&ref_"+l+t.dump)):(YDe(t,u,t.dump),c&&(t.dump="&ref_"+l+" "+t.dump))}else if(o==="[object String]")t.tag!=="?"&&jDe(t,t.dump,e,s);else{if(t.skipInvalid)return!1;throw new Kp("unacceptable kind of an object to dump "+o)}t.tag!==null&&t.tag!=="?"&&(t.dump="!<"+t.tag+"> "+t.dump)}return!0}function zDe(t,e){var r=[],i=[],n,s;for(UP(t,r,i),n=0,s=i.length;n{"use strict";var ww=Vz(),E5=m5();function Bw(t){return function(){throw new Error("Function "+t+" is deprecated and cannot be used.")}}Qr.exports.Type=Xr();Qr.exports.Schema=ec();Qr.exports.FAILSAFE_SCHEMA=pw();Qr.exports.JSON_SCHEMA=DP();Qr.exports.CORE_SCHEMA=RP();Qr.exports.DEFAULT_SAFE_SCHEMA=og();Qr.exports.DEFAULT_FULL_SCHEMA=Tp();Qr.exports.load=ww.load;Qr.exports.loadAll=ww.loadAll;Qr.exports.safeLoad=ww.safeLoad;Qr.exports.safeLoadAll=ww.safeLoadAll;Qr.exports.dump=E5.dump;Qr.exports.safeDump=E5.safeDump;Qr.exports.YAMLException=ng();Qr.exports.MINIMAL_SCHEMA=pw();Qr.exports.SAFE_SCHEMA=og();Qr.exports.DEFAULT_SCHEMA=Tp();Qr.exports.scan=Bw("scan");Qr.exports.parse=Bw("parse");Qr.exports.compose=Bw("compose");Qr.exports.addConstructor=Bw("addConstructor")});var w5=E((wat,y5)=>{"use strict";var _De=I5();y5.exports=_De});var Q5=E((Bat,B5)=>{"use strict";function XDe(t,e){function r(){this.constructor=t}r.prototype=e.prototype,t.prototype=new r}function nc(t,e,r,i){this.message=t,this.expected=e,this.found=r,this.location=i,this.name="SyntaxError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,nc)}XDe(nc,Error);nc.buildMessage=function(t,e){var r={literal:function(c){return'"'+n(c.text)+'"'},class:function(c){var u="",g;for(g=0;g0){for(g=1,f=1;g({[xe]:le})))},H=function(x){return x},L=function(x){return x},K=Yo("correct indentation"),J=" ",ne=fr(" ",!1),q=function(x){return x.length===Zc*aE},A=function(x){return x.length===(Zc+1)*aE},V=function(){return Zc++,!0},W=function(){return Zc--,!0},X=function(){return Xm()},F=Yo("pseudostring"),D=/^[^\r\n\t ?:,\][{}#&*!|>'"%@`\-]/,he=Bs(["\r",` +`," "," ","?",":",",","]","[","{","}","#","&","*","!","|",">","'",'"',"%","@","`","-"],!0,!1),pe=/^[^\r\n\t ,\][{}:#"']/,Ne=Bs(["\r",` +`," "," ",",","]","[","{","}",":","#",'"',"'"],!0,!1),Pe=function(){return Xm().replace(/^ *| *$/g,"")},qe="--",re=fr("--",!1),se=/^[a-zA-Z\/0-9]/,be=Bs([["a","z"],["A","Z"],"/",["0","9"]],!1,!1),ae=/^[^\r\n\t :,]/,Ae=Bs(["\r",` +`," "," ",":",","],!0,!1),De="null",$=fr("null",!1),G=function(){return null},Ce="true",ee=fr("true",!1),Ue=function(){return!0},Oe="false",vt=fr("false",!1),dt=function(){return!1},ri=Yo("string"),ii='"',an=fr('"',!1),yr=function(){return""},Ki=function(x){return x},Qi=function(x){return x.join("")},Go=/^[^"\\\0-\x1F\x7F]/,wr=Bs(['"',"\\",["\0",""],"\x7F"],!0,!1),Ui='\\"',ws=fr('\\"',!1),Tf=function(){return'"'},Mf="\\\\",Rm=fr("\\\\",!1),Fm=function(){return"\\"},Nm="\\/",DQ=fr("\\/",!1),RQ=function(){return"/"},Of="\\b",FQ=fr("\\b",!1),NQ=function(){return"\b"},Lm="\\f",LQ=fr("\\f",!1),Va=function(){return"\f"},jo="\\n",Tm=fr("\\n",!1),Mm=function(){return` +`},te="\\r",Om=fr("\\r",!1),Km=function(){return"\r"},il="\\t",Um=fr("\\t",!1),Hm=function(){return" "},Kf="\\u",Gm=fr("\\u",!1),jm=function(x,U,le,xe){return String.fromCharCode(parseInt(`0x${x}${U}${le}${xe}`))},TQ=/^[0-9a-fA-F]/,MQ=Bs([["0","9"],["a","f"],["A","F"]],!1,!1),Ym=Yo("blank space"),qm=/^[ \t]/,Jm=Bs([" "," "],!1,!1),Wm=Yo("white space"),zm=/^[ \t\n\r]/,Vm=Bs([" "," ",` +`,"\r"],!1,!1),Uf=`\r +`,OQ=fr(`\r +`,!1),KQ=` +`,_m=fr(` +`,!1),UQ="\r",HQ=fr("\r",!1),O=0,ht=0,Vc=[{line:1,column:1}],xn=0,Hf=[],Ye=0,nl;if("startRule"in e){if(!(e.startRule in i))throw new Error(`Can't start parsing from rule "`+e.startRule+'".');n=i[e.startRule]}function Xm(){return t.substring(ht,O)}function MM(){return _a(ht,O)}function GQ(x,U){throw U=U!==void 0?U:_a(ht,O),eE([Yo(x)],t.substring(ht,O),U)}function OM(x,U){throw U=U!==void 0?U:_a(ht,O),YQ(x,U)}function fr(x,U){return{type:"literal",text:x,ignoreCase:U}}function Bs(x,U,le){return{type:"class",parts:x,inverted:U,ignoreCase:le}}function jQ(){return{type:"any"}}function Zm(){return{type:"end"}}function Yo(x){return{type:"other",description:x}}function $m(x){var U=Vc[x],le;if(U)return U;for(le=x-1;!Vc[le];)le--;for(U=Vc[le],U={line:U.line,column:U.column};lexn&&(xn=O,Hf=[]),Hf.push(x))}function YQ(x,U){return new nc(x,null,null,U)}function eE(x,U,le){return new nc(nc.buildMessage(x,U),x,U,le)}function tE(){var x;return x=ol(),x}function Xa(){var x,U,le;for(x=O,U=[],le=sl();le!==r;)U.push(le),le=sl();return U!==r&&(ht=x,U=s(U)),x=U,x}function sl(){var x,U,le,xe,Qe;return x=O,U=Al(),U!==r?(t.charCodeAt(O)===45?(le=o,O++):(le=r,Ye===0&&et(a)),le!==r?(xe=xr(),xe!==r?(Qe=qo(),Qe!==r?(ht=x,U=l(Qe),x=U):(O=x,x=r)):(O=x,x=r)):(O=x,x=r)):(O=x,x=r),x}function ol(){var x,U,le;for(x=O,U=[],le=al();le!==r;)U.push(le),le=al();return U!==r&&(ht=x,U=c(U)),x=U,x}function al(){var x,U,le,xe,Qe,Ge,ct,sr,Wo;if(x=O,U=xr(),U===r&&(U=null),U!==r){if(le=O,t.charCodeAt(O)===35?(xe=u,O++):(xe=r,Ye===0&&et(g)),xe!==r){if(Qe=[],Ge=O,ct=O,Ye++,sr=Zs(),Ye--,sr===r?ct=void 0:(O=ct,ct=r),ct!==r?(t.length>O?(sr=t.charAt(O),O++):(sr=r,Ye===0&&et(f)),sr!==r?(ct=[ct,sr],Ge=ct):(O=Ge,Ge=r)):(O=Ge,Ge=r),Ge!==r)for(;Ge!==r;)Qe.push(Ge),Ge=O,ct=O,Ye++,sr=Zs(),Ye--,sr===r?ct=void 0:(O=ct,ct=r),ct!==r?(t.length>O?(sr=t.charAt(O),O++):(sr=r,Ye===0&&et(f)),sr!==r?(ct=[ct,sr],Ge=ct):(O=Ge,Ge=r)):(O=Ge,Ge=r);else Qe=r;Qe!==r?(xe=[xe,Qe],le=xe):(O=le,le=r)}else O=le,le=r;if(le===r&&(le=null),le!==r){if(xe=[],Qe=Jo(),Qe!==r)for(;Qe!==r;)xe.push(Qe),Qe=Jo();else xe=r;xe!==r?(ht=x,U=h(),x=U):(O=x,x=r)}else O=x,x=r}else O=x,x=r;if(x===r&&(x=O,U=Al(),U!==r?(le=JQ(),le!==r?(xe=xr(),xe===r&&(xe=null),xe!==r?(t.charCodeAt(O)===58?(Qe=p,O++):(Qe=r,Ye===0&&et(d)),Qe!==r?(Ge=xr(),Ge===r&&(Ge=null),Ge!==r?(ct=qo(),ct!==r?(ht=x,U=m(le,ct),x=U):(O=x,x=r)):(O=x,x=r)):(O=x,x=r)):(O=x,x=r)):(O=x,x=r)):(O=x,x=r),x===r&&(x=O,U=Al(),U!==r?(le=ll(),le!==r?(xe=xr(),xe===r&&(xe=null),xe!==r?(t.charCodeAt(O)===58?(Qe=p,O++):(Qe=r,Ye===0&&et(d)),Qe!==r?(Ge=xr(),Ge===r&&(Ge=null),Ge!==r?(ct=qo(),ct!==r?(ht=x,U=m(le,ct),x=U):(O=x,x=r)):(O=x,x=r)):(O=x,x=r)):(O=x,x=r)):(O=x,x=r)):(O=x,x=r),x===r))){if(x=O,U=Al(),U!==r)if(le=ll(),le!==r)if(xe=xr(),xe!==r)if(Qe=nE(),Qe!==r){if(Ge=[],ct=Jo(),ct!==r)for(;ct!==r;)Ge.push(ct),ct=Jo();else Ge=r;Ge!==r?(ht=x,U=m(le,Qe),x=U):(O=x,x=r)}else O=x,x=r;else O=x,x=r;else O=x,x=r;else O=x,x=r;if(x===r)if(x=O,U=Al(),U!==r)if(le=ll(),le!==r){if(xe=[],Qe=O,Ge=xr(),Ge===r&&(Ge=null),Ge!==r?(t.charCodeAt(O)===44?(ct=I,O++):(ct=r,Ye===0&&et(B)),ct!==r?(sr=xr(),sr===r&&(sr=null),sr!==r?(Wo=ll(),Wo!==r?(ht=Qe,Ge=b(le,Wo),Qe=Ge):(O=Qe,Qe=r)):(O=Qe,Qe=r)):(O=Qe,Qe=r)):(O=Qe,Qe=r),Qe!==r)for(;Qe!==r;)xe.push(Qe),Qe=O,Ge=xr(),Ge===r&&(Ge=null),Ge!==r?(t.charCodeAt(O)===44?(ct=I,O++):(ct=r,Ye===0&&et(B)),ct!==r?(sr=xr(),sr===r&&(sr=null),sr!==r?(Wo=ll(),Wo!==r?(ht=Qe,Ge=b(le,Wo),Qe=Ge):(O=Qe,Qe=r)):(O=Qe,Qe=r)):(O=Qe,Qe=r)):(O=Qe,Qe=r);else xe=r;xe!==r?(Qe=xr(),Qe===r&&(Qe=null),Qe!==r?(t.charCodeAt(O)===58?(Ge=p,O++):(Ge=r,Ye===0&&et(d)),Ge!==r?(ct=xr(),ct===r&&(ct=null),ct!==r?(sr=qo(),sr!==r?(ht=x,U=R(le,xe,sr),x=U):(O=x,x=r)):(O=x,x=r)):(O=x,x=r)):(O=x,x=r)):(O=x,x=r)}else O=x,x=r;else O=x,x=r}return x}function qo(){var x,U,le,xe,Qe,Ge,ct;if(x=O,U=O,Ye++,le=O,xe=Zs(),xe!==r?(Qe=qQ(),Qe!==r?(t.charCodeAt(O)===45?(Ge=o,O++):(Ge=r,Ye===0&&et(a)),Ge!==r?(ct=xr(),ct!==r?(xe=[xe,Qe,Ge,ct],le=xe):(O=le,le=r)):(O=le,le=r)):(O=le,le=r)):(O=le,le=r),Ye--,le!==r?(O=U,U=void 0):U=r,U!==r?(le=Jo(),le!==r?(xe=rE(),xe!==r?(Qe=Xa(),Qe!==r?(Ge=iE(),Ge!==r?(ht=x,U=H(Qe),x=U):(O=x,x=r)):(O=x,x=r)):(O=x,x=r)):(O=x,x=r)):(O=x,x=r),x===r&&(x=O,U=Zs(),U!==r?(le=rE(),le!==r?(xe=ol(),xe!==r?(Qe=iE(),Qe!==r?(ht=x,U=H(xe),x=U):(O=x,x=r)):(O=x,x=r)):(O=x,x=r)):(O=x,x=r),x===r))if(x=O,U=WQ(),U!==r){if(le=[],xe=Jo(),xe!==r)for(;xe!==r;)le.push(xe),xe=Jo();else le=r;le!==r?(ht=x,U=L(U),x=U):(O=x,x=r)}else O=x,x=r;return x}function Al(){var x,U,le;for(Ye++,x=O,U=[],t.charCodeAt(O)===32?(le=J,O++):(le=r,Ye===0&&et(ne));le!==r;)U.push(le),t.charCodeAt(O)===32?(le=J,O++):(le=r,Ye===0&&et(ne));return U!==r?(ht=O,le=q(U),le?le=void 0:le=r,le!==r?(U=[U,le],x=U):(O=x,x=r)):(O=x,x=r),Ye--,x===r&&(U=r,Ye===0&&et(K)),x}function qQ(){var x,U,le;for(x=O,U=[],t.charCodeAt(O)===32?(le=J,O++):(le=r,Ye===0&&et(ne));le!==r;)U.push(le),t.charCodeAt(O)===32?(le=J,O++):(le=r,Ye===0&&et(ne));return U!==r?(ht=O,le=A(U),le?le=void 0:le=r,le!==r?(U=[U,le],x=U):(O=x,x=r)):(O=x,x=r),x}function rE(){var x;return ht=O,x=V(),x?x=void 0:x=r,x}function iE(){var x;return ht=O,x=W(),x?x=void 0:x=r,x}function JQ(){var x;return x=cl(),x===r&&(x=Gf()),x}function ll(){var x,U,le;if(x=cl(),x===r){if(x=O,U=[],le=_c(),le!==r)for(;le!==r;)U.push(le),le=_c();else U=r;U!==r&&(ht=x,U=X()),x=U}return x}function WQ(){var x;return x=jf(),x===r&&(x=sE(),x===r&&(x=cl(),x===r&&(x=Gf()))),x}function nE(){var x;return x=jf(),x===r&&(x=cl(),x===r&&(x=_c())),x}function Gf(){var x,U,le,xe,Qe,Ge;if(Ye++,x=O,D.test(t.charAt(O))?(U=t.charAt(O),O++):(U=r,Ye===0&&et(he)),U!==r){for(le=[],xe=O,Qe=xr(),Qe===r&&(Qe=null),Qe!==r?(pe.test(t.charAt(O))?(Ge=t.charAt(O),O++):(Ge=r,Ye===0&&et(Ne)),Ge!==r?(Qe=[Qe,Ge],xe=Qe):(O=xe,xe=r)):(O=xe,xe=r);xe!==r;)le.push(xe),xe=O,Qe=xr(),Qe===r&&(Qe=null),Qe!==r?(pe.test(t.charAt(O))?(Ge=t.charAt(O),O++):(Ge=r,Ye===0&&et(Ne)),Ge!==r?(Qe=[Qe,Ge],xe=Qe):(O=xe,xe=r)):(O=xe,xe=r);le!==r?(ht=x,U=Pe(),x=U):(O=x,x=r)}else O=x,x=r;return Ye--,x===r&&(U=r,Ye===0&&et(F)),x}function _c(){var x,U,le,xe,Qe;if(x=O,t.substr(O,2)===qe?(U=qe,O+=2):(U=r,Ye===0&&et(re)),U===r&&(U=null),U!==r)if(se.test(t.charAt(O))?(le=t.charAt(O),O++):(le=r,Ye===0&&et(be)),le!==r){for(xe=[],ae.test(t.charAt(O))?(Qe=t.charAt(O),O++):(Qe=r,Ye===0&&et(Ae));Qe!==r;)xe.push(Qe),ae.test(t.charAt(O))?(Qe=t.charAt(O),O++):(Qe=r,Ye===0&&et(Ae));xe!==r?(ht=x,U=Pe(),x=U):(O=x,x=r)}else O=x,x=r;else O=x,x=r;return x}function jf(){var x,U;return x=O,t.substr(O,4)===De?(U=De,O+=4):(U=r,Ye===0&&et($)),U!==r&&(ht=x,U=G()),x=U,x}function sE(){var x,U;return x=O,t.substr(O,4)===Ce?(U=Ce,O+=4):(U=r,Ye===0&&et(ee)),U!==r&&(ht=x,U=Ue()),x=U,x===r&&(x=O,t.substr(O,5)===Oe?(U=Oe,O+=5):(U=r,Ye===0&&et(vt)),U!==r&&(ht=x,U=dt()),x=U),x}function cl(){var x,U,le,xe;return Ye++,x=O,t.charCodeAt(O)===34?(U=ii,O++):(U=r,Ye===0&&et(an)),U!==r?(t.charCodeAt(O)===34?(le=ii,O++):(le=r,Ye===0&&et(an)),le!==r?(ht=x,U=yr(),x=U):(O=x,x=r)):(O=x,x=r),x===r&&(x=O,t.charCodeAt(O)===34?(U=ii,O++):(U=r,Ye===0&&et(an)),U!==r?(le=oE(),le!==r?(t.charCodeAt(O)===34?(xe=ii,O++):(xe=r,Ye===0&&et(an)),xe!==r?(ht=x,U=Ki(le),x=U):(O=x,x=r)):(O=x,x=r)):(O=x,x=r)),Ye--,x===r&&(U=r,Ye===0&&et(ri)),x}function oE(){var x,U,le;if(x=O,U=[],le=Yf(),le!==r)for(;le!==r;)U.push(le),le=Yf();else U=r;return U!==r&&(ht=x,U=Qi(U)),x=U,x}function Yf(){var x,U,le,xe,Qe,Ge;return Go.test(t.charAt(O))?(x=t.charAt(O),O++):(x=r,Ye===0&&et(wr)),x===r&&(x=O,t.substr(O,2)===Ui?(U=Ui,O+=2):(U=r,Ye===0&&et(ws)),U!==r&&(ht=x,U=Tf()),x=U,x===r&&(x=O,t.substr(O,2)===Mf?(U=Mf,O+=2):(U=r,Ye===0&&et(Rm)),U!==r&&(ht=x,U=Fm()),x=U,x===r&&(x=O,t.substr(O,2)===Nm?(U=Nm,O+=2):(U=r,Ye===0&&et(DQ)),U!==r&&(ht=x,U=RQ()),x=U,x===r&&(x=O,t.substr(O,2)===Of?(U=Of,O+=2):(U=r,Ye===0&&et(FQ)),U!==r&&(ht=x,U=NQ()),x=U,x===r&&(x=O,t.substr(O,2)===Lm?(U=Lm,O+=2):(U=r,Ye===0&&et(LQ)),U!==r&&(ht=x,U=Va()),x=U,x===r&&(x=O,t.substr(O,2)===jo?(U=jo,O+=2):(U=r,Ye===0&&et(Tm)),U!==r&&(ht=x,U=Mm()),x=U,x===r&&(x=O,t.substr(O,2)===te?(U=te,O+=2):(U=r,Ye===0&&et(Om)),U!==r&&(ht=x,U=Km()),x=U,x===r&&(x=O,t.substr(O,2)===il?(U=il,O+=2):(U=r,Ye===0&&et(Um)),U!==r&&(ht=x,U=Hm()),x=U,x===r&&(x=O,t.substr(O,2)===Kf?(U=Kf,O+=2):(U=r,Ye===0&&et(Gm)),U!==r?(le=Xc(),le!==r?(xe=Xc(),xe!==r?(Qe=Xc(),Qe!==r?(Ge=Xc(),Ge!==r?(ht=x,U=jm(le,xe,Qe,Ge),x=U):(O=x,x=r)):(O=x,x=r)):(O=x,x=r)):(O=x,x=r)):(O=x,x=r)))))))))),x}function Xc(){var x;return TQ.test(t.charAt(O))?(x=t.charAt(O),O++):(x=r,Ye===0&&et(MQ)),x}function xr(){var x,U;if(Ye++,x=[],qm.test(t.charAt(O))?(U=t.charAt(O),O++):(U=r,Ye===0&&et(Jm)),U!==r)for(;U!==r;)x.push(U),qm.test(t.charAt(O))?(U=t.charAt(O),O++):(U=r,Ye===0&&et(Jm));else x=r;return Ye--,x===r&&(U=r,Ye===0&&et(Ym)),x}function KM(){var x,U;if(Ye++,x=[],zm.test(t.charAt(O))?(U=t.charAt(O),O++):(U=r,Ye===0&&et(Vm)),U!==r)for(;U!==r;)x.push(U),zm.test(t.charAt(O))?(U=t.charAt(O),O++):(U=r,Ye===0&&et(Vm));else x=r;return Ye--,x===r&&(U=r,Ye===0&&et(Wm)),x}function Jo(){var x,U,le,xe,Qe,Ge;if(x=O,U=Zs(),U!==r){for(le=[],xe=O,Qe=xr(),Qe===r&&(Qe=null),Qe!==r?(Ge=Zs(),Ge!==r?(Qe=[Qe,Ge],xe=Qe):(O=xe,xe=r)):(O=xe,xe=r);xe!==r;)le.push(xe),xe=O,Qe=xr(),Qe===r&&(Qe=null),Qe!==r?(Ge=Zs(),Ge!==r?(Qe=[Qe,Ge],xe=Qe):(O=xe,xe=r)):(O=xe,xe=r);le!==r?(U=[U,le],x=U):(O=x,x=r)}else O=x,x=r;return x}function Zs(){var x;return t.substr(O,2)===Uf?(x=Uf,O+=2):(x=r,Ye===0&&et(OQ)),x===r&&(t.charCodeAt(O)===10?(x=KQ,O++):(x=r,Ye===0&&et(_m)),x===r&&(t.charCodeAt(O)===13?(x=UQ,O++):(x=r,Ye===0&&et(HQ)))),x}let aE=2,Zc=0;if(nl=n(),nl!==r&&O===t.length)return nl;throw nl!==r&&O{var fRe=typeof global=="object"&&global&&global.Object===Object&&global;V5.exports=fRe});var Ks=E((Zat,_5)=>{var hRe=WP(),pRe=typeof self=="object"&&self&&self.Object===Object&&self,dRe=hRe||pRe||Function("return this")();_5.exports=dRe});var ac=E(($at,X5)=>{var CRe=Ks(),mRe=CRe.Symbol;X5.exports=mRe});var $5=E((eAt,Z5)=>{function ERe(t,e){for(var r=-1,i=t==null?0:t.length,n=Array(i);++r{var IRe=Array.isArray;e6.exports=IRe});var n6=E((rAt,t6)=>{var r6=ac(),i6=Object.prototype,yRe=i6.hasOwnProperty,wRe=i6.toString,Jp=r6?r6.toStringTag:void 0;function BRe(t){var e=yRe.call(t,Jp),r=t[Jp];try{t[Jp]=void 0;var i=!0}catch(s){}var n=wRe.call(t);return i&&(e?t[Jp]=r:delete t[Jp]),n}t6.exports=BRe});var o6=E((iAt,s6)=>{var QRe=Object.prototype,bRe=QRe.toString;function vRe(t){return bRe.call(t)}s6.exports=vRe});var Ac=E((nAt,a6)=>{var A6=ac(),SRe=n6(),xRe=o6(),kRe="[object Null]",PRe="[object Undefined]",l6=A6?A6.toStringTag:void 0;function DRe(t){return t==null?t===void 0?PRe:kRe:l6&&l6 in Object(t)?SRe(t):xRe(t)}a6.exports=DRe});var Qo=E((sAt,c6)=>{function RRe(t){return t!=null&&typeof t=="object"}c6.exports=RRe});var Nw=E((oAt,u6)=>{var FRe=Ac(),NRe=Qo(),LRe="[object Symbol]";function TRe(t){return typeof t=="symbol"||NRe(t)&&FRe(t)==LRe}u6.exports=TRe});var C6=E((aAt,g6)=>{var f6=ac(),MRe=$5(),ORe=As(),KRe=Nw(),URe=1/0,h6=f6?f6.prototype:void 0,p6=h6?h6.toString:void 0;function d6(t){if(typeof t=="string")return t;if(ORe(t))return MRe(t,d6)+"";if(KRe(t))return p6?p6.call(t):"";var e=t+"";return e=="0"&&1/t==-URe?"-0":e}g6.exports=d6});var gg=E((AAt,m6)=>{var HRe=C6();function GRe(t){return t==null?"":HRe(t)}m6.exports=GRe});var zP=E((lAt,E6)=>{function jRe(t,e,r){var i=-1,n=t.length;e<0&&(e=-e>n?0:n+e),r=r>n?n:r,r<0&&(r+=n),n=e>r?0:r-e>>>0,e>>>=0;for(var s=Array(n);++i{var YRe=zP();function qRe(t,e,r){var i=t.length;return r=r===void 0?i:r,!e&&r>=i?t:YRe(t,e,r)}I6.exports=qRe});var VP=E((uAt,w6)=>{var JRe="\\ud800-\\udfff",WRe="\\u0300-\\u036f",zRe="\\ufe20-\\ufe2f",VRe="\\u20d0-\\u20ff",_Re=WRe+zRe+VRe,XRe="\\ufe0e\\ufe0f",ZRe="\\u200d",$Re=RegExp("["+ZRe+JRe+_Re+XRe+"]");function eFe(t){return $Re.test(t)}w6.exports=eFe});var Q6=E((gAt,B6)=>{function tFe(t){return t.split("")}B6.exports=tFe});var R6=E((fAt,b6)=>{var v6="\\ud800-\\udfff",rFe="\\u0300-\\u036f",iFe="\\ufe20-\\ufe2f",nFe="\\u20d0-\\u20ff",sFe=rFe+iFe+nFe,oFe="\\ufe0e\\ufe0f",aFe="["+v6+"]",_P="["+sFe+"]",XP="\\ud83c[\\udffb-\\udfff]",AFe="(?:"+_P+"|"+XP+")",S6="[^"+v6+"]",x6="(?:\\ud83c[\\udde6-\\uddff]){2}",k6="[\\ud800-\\udbff][\\udc00-\\udfff]",lFe="\\u200d",P6=AFe+"?",D6="["+oFe+"]?",cFe="(?:"+lFe+"(?:"+[S6,x6,k6].join("|")+")"+D6+P6+")*",uFe=D6+P6+cFe,gFe="(?:"+[S6+_P+"?",_P,x6,k6,aFe].join("|")+")",fFe=RegExp(XP+"(?="+XP+")|"+gFe+uFe,"g");function hFe(t){return t.match(fFe)||[]}b6.exports=hFe});var N6=E((hAt,F6)=>{var pFe=Q6(),dFe=VP(),CFe=R6();function mFe(t){return dFe(t)?CFe(t):pFe(t)}F6.exports=mFe});var T6=E((pAt,L6)=>{var EFe=y6(),IFe=VP(),yFe=N6(),wFe=gg();function BFe(t){return function(e){e=wFe(e);var r=IFe(e)?yFe(e):void 0,i=r?r[0]:e.charAt(0),n=r?EFe(r,1).join(""):e.slice(1);return i[t]()+n}}L6.exports=BFe});var O6=E((dAt,M6)=>{var QFe=T6(),bFe=QFe("toUpperCase");M6.exports=bFe});var ZP=E((CAt,K6)=>{var vFe=gg(),SFe=O6();function xFe(t){return SFe(vFe(t).toLowerCase())}K6.exports=xFe});var H6=E((mAt,U6)=>{"use strict";U6.exports=(t,...e)=>new Promise(r=>{r(t(...e))})});var Wp=E((EAt,$P)=>{"use strict";var kFe=H6(),G6=t=>{if(t<1)throw new TypeError("Expected `concurrency` to be a number from 1 and up");let e=[],r=0,i=()=>{r--,e.length>0&&e.shift()()},n=(a,l,...c)=>{r++;let u=kFe(a,...c);l(u),u.then(i,i)},s=(a,l,...c)=>{rnew Promise(c=>s(a,c,...l));return Object.defineProperties(o,{activeCount:{get:()=>r},pendingCount:{get:()=>e.length}}),o};$P.exports=G6;$P.exports.default=G6});var X6=E((FAt,Mw)=>{function PFe(){var t=0,e=1,r=2,i=3,n=4,s=5,o=6,a=7,l=8,c=9,u=10,g=11,f=12,h=13,p=14,d=15,m=16,I=17,B=0,b=1,R=2,H=3,L=4;function K(A,V){return 55296<=A.charCodeAt(V)&&A.charCodeAt(V)<=56319&&56320<=A.charCodeAt(V+1)&&A.charCodeAt(V+1)<=57343}function J(A,V){V===void 0&&(V=0);var W=A.charCodeAt(V);if(55296<=W&&W<=56319&&V=1){var X=A.charCodeAt(V-1),F=W;return 55296<=X&&X<=56319?(X-55296)*1024+(F-56320)+65536:F}return W}function ne(A,V,W){var X=[A].concat(V).concat([W]),F=X[X.length-2],D=W,he=X.lastIndexOf(p);if(he>1&&X.slice(1,he).every(function(Pe){return Pe==i})&&[i,h,I].indexOf(A)==-1)return R;var pe=X.lastIndexOf(n);if(pe>0&&X.slice(1,pe).every(function(Pe){return Pe==n})&&[f,n].indexOf(F)==-1)return X.filter(function(Pe){return Pe==n}).length%2==1?H:L;if(F==t&&D==e)return B;if(F==r||F==t||F==e)return D==p&&V.every(function(Pe){return Pe==i})?R:b;if(D==r||D==t||D==e)return b;if(F==o&&(D==o||D==a||D==c||D==u))return B;if((F==c||F==a)&&(D==a||D==l))return B;if((F==u||F==l)&&D==l)return B;if(D==i||D==d)return B;if(D==s)return B;if(F==f)return B;var Ne=X.indexOf(i)!=-1?X.lastIndexOf(i)-1:X.length-2;return[h,I].indexOf(X[Ne])!=-1&&X.slice(Ne+1,-1).every(function(Pe){return Pe==i})&&D==p||F==d&&[m,I].indexOf(D)!=-1?B:V.indexOf(n)!=-1?R:F==n&&D==n?B:b}this.nextBreak=function(A,V){if(V===void 0&&(V=0),V<0)return 0;if(V>=A.length-1)return A.length;for(var W=q(J(A,V)),X=[],F=V+1;F{var DFe=X6(),RFe=/^(.*?)(\x1b\[[^m]+m|\x1b\]8;;.*?(\x1b\\|\u0007))/,FFe=new DFe;Z6.exports=(t,e=0,r=t.length)=>{if(e<0||r<0)throw new RangeError("Negative indices aren't supported by this implementation");let i=r-e,n="",s=0,o=0;for(;t.length>0;){let a=t.match(RFe)||[t,t,void 0],l=FFe.splitGraphemes(a[1]),c=Math.min(e-s,l.length);l=l.slice(c);let u=Math.min(i-o,l.length);n+=l.slice(0,u).join(""),s+=c,o+=u,typeof a[2]!="undefined"&&(n+=a[2]),t=t.slice(a[0].length)}return n}});var fg=E((alt,f9)=>{"use strict";var h9=new Map([["C","cwd"],["f","file"],["z","gzip"],["P","preservePaths"],["U","unlink"],["strip-components","strip"],["stripComponents","strip"],["keep-newer","newer"],["keepNewer","newer"],["keep-newer-files","newer"],["keepNewerFiles","newer"],["k","keep"],["keep-existing","keep"],["keepExisting","keep"],["m","noMtime"],["no-mtime","noMtime"],["p","preserveOwner"],["L","follow"],["h","follow"]]),olt=f9.exports=t=>t?Object.keys(t).map(e=>[h9.has(e)?h9.get(e):e,t[e]]).reduce((e,r)=>(e[r[0]]=r[1],e),Object.create(null)):{}});var hg=E((Alt,p9)=>{"use strict";var JFe=require("events"),d9=require("stream"),_p=Rh(),C9=require("string_decoder").StringDecoder,va=Symbol("EOF"),Xp=Symbol("maybeEmitEnd"),xA=Symbol("emittedEnd"),Gw=Symbol("emittingEnd"),jw=Symbol("closed"),m9=Symbol("read"),iD=Symbol("flush"),E9=Symbol("flushChunk"),Bn=Symbol("encoding"),Sa=Symbol("decoder"),Yw=Symbol("flowing"),Zp=Symbol("paused"),$p=Symbol("resume"),rn=Symbol("bufferLength"),I9=Symbol("bufferPush"),nD=Symbol("bufferShift"),Ni=Symbol("objectMode"),Li=Symbol("destroyed"),y9=global._MP_NO_ITERATOR_SYMBOLS_!=="1",WFe=y9&&Symbol.asyncIterator||Symbol("asyncIterator not implemented"),zFe=y9&&Symbol.iterator||Symbol("iterator not implemented"),w9=t=>t==="end"||t==="finish"||t==="prefinish",VFe=t=>t instanceof ArrayBuffer||typeof t=="object"&&t.constructor&&t.constructor.name==="ArrayBuffer"&&t.byteLength>=0,_Fe=t=>!Buffer.isBuffer(t)&&ArrayBuffer.isView(t);p9.exports=class B9 extends d9{constructor(e){super();this[Yw]=!1,this[Zp]=!1,this.pipes=new _p,this.buffer=new _p,this[Ni]=e&&e.objectMode||!1,this[Ni]?this[Bn]=null:this[Bn]=e&&e.encoding||null,this[Bn]==="buffer"&&(this[Bn]=null),this[Sa]=this[Bn]?new C9(this[Bn]):null,this[va]=!1,this[xA]=!1,this[Gw]=!1,this[jw]=!1,this.writable=!0,this.readable=!0,this[rn]=0,this[Li]=!1}get bufferLength(){return this[rn]}get encoding(){return this[Bn]}set encoding(e){if(this[Ni])throw new Error("cannot set encoding in objectMode");if(this[Bn]&&e!==this[Bn]&&(this[Sa]&&this[Sa].lastNeed||this[rn]))throw new Error("cannot change encoding");this[Bn]!==e&&(this[Sa]=e?new C9(e):null,this.buffer.length&&(this.buffer=this.buffer.map(r=>this[Sa].write(r)))),this[Bn]=e}setEncoding(e){this.encoding=e}get objectMode(){return this[Ni]}set objectMode(e){this[Ni]=this[Ni]||!!e}write(e,r,i){if(this[va])throw new Error("write after end");return this[Li]?(this.emit("error",Object.assign(new Error("Cannot call write after a stream was destroyed"),{code:"ERR_STREAM_DESTROYED"})),!0):(typeof r=="function"&&(i=r,r="utf8"),r||(r="utf8"),!this[Ni]&&!Buffer.isBuffer(e)&&(_Fe(e)?e=Buffer.from(e.buffer,e.byteOffset,e.byteLength):VFe(e)?e=Buffer.from(e):typeof e!="string"&&(this.objectMode=!0)),!this.objectMode&&!e.length?(this[rn]!==0&&this.emit("readable"),i&&i(),this.flowing):(typeof e=="string"&&!this[Ni]&&!(r===this[Bn]&&!this[Sa].lastNeed)&&(e=Buffer.from(e,r)),Buffer.isBuffer(e)&&this[Bn]&&(e=this[Sa].write(e)),this.flowing?(this[rn]!==0&&this[iD](!0),this.emit("data",e)):this[I9](e),this[rn]!==0&&this.emit("readable"),i&&i(),this.flowing))}read(e){if(this[Li])return null;try{return this[rn]===0||e===0||e>this[rn]?null:(this[Ni]&&(e=null),this.buffer.length>1&&!this[Ni]&&(this.encoding?this.buffer=new _p([Array.from(this.buffer).join("")]):this.buffer=new _p([Buffer.concat(Array.from(this.buffer),this[rn])])),this[m9](e||null,this.buffer.head.value))}finally{this[Xp]()}}[m9](e,r){return e===r.length||e===null?this[nD]():(this.buffer.head.value=r.slice(e),r=r.slice(0,e),this[rn]-=e),this.emit("data",r),!this.buffer.length&&!this[va]&&this.emit("drain"),r}end(e,r,i){return typeof e=="function"&&(i=e,e=null),typeof r=="function"&&(i=r,r="utf8"),e&&this.write(e,r),i&&this.once("end",i),this[va]=!0,this.writable=!1,(this.flowing||!this[Zp])&&this[Xp](),this}[$p](){this[Li]||(this[Zp]=!1,this[Yw]=!0,this.emit("resume"),this.buffer.length?this[iD]():this[va]?this[Xp]():this.emit("drain"))}resume(){return this[$p]()}pause(){this[Yw]=!1,this[Zp]=!0}get destroyed(){return this[Li]}get flowing(){return this[Yw]}get paused(){return this[Zp]}[I9](e){return this[Ni]?this[rn]+=1:this[rn]+=e.length,this.buffer.push(e)}[nD](){return this.buffer.length&&(this[Ni]?this[rn]-=1:this[rn]-=this.buffer.head.value.length),this.buffer.shift()}[iD](e){do;while(this[E9](this[nD]()));!e&&!this.buffer.length&&!this[va]&&this.emit("drain")}[E9](e){return e?(this.emit("data",e),this.flowing):!1}pipe(e,r){if(this[Li])return;let i=this[xA];r=r||{},e===process.stdout||e===process.stderr?r.end=!1:r.end=r.end!==!1;let n={dest:e,opts:r,ondrain:s=>this[$p]()};return this.pipes.push(n),e.on("drain",n.ondrain),this[$p](),i&&n.opts.end&&n.dest.end(),e}addListener(e,r){return this.on(e,r)}on(e,r){try{return super.on(e,r)}finally{e==="data"&&!this.pipes.length&&!this.flowing?this[$p]():w9(e)&&this[xA]&&(super.emit(e),this.removeAllListeners(e))}}get emittedEnd(){return this[xA]}[Xp](){!this[Gw]&&!this[xA]&&!this[Li]&&this.buffer.length===0&&this[va]&&(this[Gw]=!0,this.emit("end"),this.emit("prefinish"),this.emit("finish"),this[jw]&&this.emit("close"),this[Gw]=!1)}emit(e,r){if(e!=="error"&&e!=="close"&&e!==Li&&this[Li])return;if(e==="data"){if(!r)return;this.pipes.length&&this.pipes.forEach(n=>n.dest.write(r)===!1&&this.pause())}else if(e==="end"){if(this[xA]===!0)return;this[xA]=!0,this.readable=!1,this[Sa]&&(r=this[Sa].end(),r&&(this.pipes.forEach(n=>n.dest.write(r)),super.emit("data",r))),this.pipes.forEach(n=>{n.dest.removeListener("drain",n.ondrain),n.opts.end&&n.dest.end()})}else if(e==="close"&&(this[jw]=!0,!this[xA]&&!this[Li]))return;let i=new Array(arguments.length);if(i[0]=e,i[1]=r,arguments.length>2)for(let n=2;n{e.push(i),this[Ni]||(e.dataLength+=i.length)}),r.then(()=>e)}concat(){return this[Ni]?Promise.reject(new Error("cannot concat in objectMode")):this.collect().then(e=>this[Ni]?Promise.reject(new Error("cannot concat in objectMode")):this[Bn]?e.join(""):Buffer.concat(e,e.dataLength))}promise(){return new Promise((e,r)=>{this.on(Li,()=>r(new Error("stream destroyed"))),this.on("end",()=>e()),this.on("error",i=>r(i))})}[WFe](){return{next:()=>{let r=this.read();if(r!==null)return Promise.resolve({done:!1,value:r});if(this[va])return Promise.resolve({done:!0});let i=null,n=null,s=c=>{this.removeListener("data",o),this.removeListener("end",a),n(c)},o=c=>{this.removeListener("error",s),this.removeListener("end",a),this.pause(),i({value:c,done:!!this[va]})},a=()=>{this.removeListener("error",s),this.removeListener("data",o),i({done:!0})},l=()=>s(new Error("stream destroyed"));return new Promise((c,u)=>{n=u,i=c,this.once(Li,l),this.once("error",s),this.once("end",a),this.once("data",o)})}}}[zFe](){return{next:()=>{let r=this.read();return{value:r,done:r===null}}}}destroy(e){return this[Li]?(e?this.emit("error",e):this.emit(Li),this):(this[Li]=!0,this.buffer=new _p,this[rn]=0,typeof this.close=="function"&&!this[jw]&&this.close(),e?this.emit("error",e):this.emit(Li),this)}static isStream(e){return!!e&&(e instanceof B9||e instanceof d9||e instanceof JFe&&(typeof e.pipe=="function"||typeof e.write=="function"&&typeof e.end=="function"))}}});var b9=E((llt,Q9)=>{var XFe=require("zlib").constants||{ZLIB_VERNUM:4736};Q9.exports=Object.freeze(Object.assign(Object.create(null),{Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_VERSION_ERROR:-6,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,DEFLATE:1,INFLATE:2,GZIP:3,GUNZIP:4,DEFLATERAW:5,INFLATERAW:6,UNZIP:7,BROTLI_DECODE:8,BROTLI_ENCODE:9,Z_MIN_WINDOWBITS:8,Z_MAX_WINDOWBITS:15,Z_DEFAULT_WINDOWBITS:15,Z_MIN_CHUNK:64,Z_MAX_CHUNK:Infinity,Z_DEFAULT_CHUNK:16384,Z_MIN_MEMLEVEL:1,Z_MAX_MEMLEVEL:9,Z_DEFAULT_MEMLEVEL:8,Z_MIN_LEVEL:-1,Z_MAX_LEVEL:9,Z_DEFAULT_LEVEL:-1,BROTLI_OPERATION_PROCESS:0,BROTLI_OPERATION_FLUSH:1,BROTLI_OPERATION_FINISH:2,BROTLI_OPERATION_EMIT_METADATA:3,BROTLI_MODE_GENERIC:0,BROTLI_MODE_TEXT:1,BROTLI_MODE_FONT:2,BROTLI_DEFAULT_MODE:0,BROTLI_MIN_QUALITY:0,BROTLI_MAX_QUALITY:11,BROTLI_DEFAULT_QUALITY:11,BROTLI_MIN_WINDOW_BITS:10,BROTLI_MAX_WINDOW_BITS:24,BROTLI_LARGE_MAX_WINDOW_BITS:30,BROTLI_DEFAULT_WINDOW:22,BROTLI_MIN_INPUT_BLOCK_BITS:16,BROTLI_MAX_INPUT_BLOCK_BITS:24,BROTLI_PARAM_MODE:0,BROTLI_PARAM_QUALITY:1,BROTLI_PARAM_LGWIN:2,BROTLI_PARAM_LGBLOCK:3,BROTLI_PARAM_DISABLE_LITERAL_CONTEXT_MODELING:4,BROTLI_PARAM_SIZE_HINT:5,BROTLI_PARAM_LARGE_WINDOW:6,BROTLI_PARAM_NPOSTFIX:7,BROTLI_PARAM_NDIRECT:8,BROTLI_DECODER_RESULT_ERROR:0,BROTLI_DECODER_RESULT_SUCCESS:1,BROTLI_DECODER_RESULT_NEEDS_MORE_INPUT:2,BROTLI_DECODER_RESULT_NEEDS_MORE_OUTPUT:3,BROTLI_DECODER_PARAM_DISABLE_RING_BUFFER_REALLOCATION:0,BROTLI_DECODER_PARAM_LARGE_WINDOW:1,BROTLI_DECODER_NO_ERROR:0,BROTLI_DECODER_SUCCESS:1,BROTLI_DECODER_NEEDS_MORE_INPUT:2,BROTLI_DECODER_NEEDS_MORE_OUTPUT:3,BROTLI_DECODER_ERROR_FORMAT_EXUBERANT_NIBBLE:-1,BROTLI_DECODER_ERROR_FORMAT_RESERVED:-2,BROTLI_DECODER_ERROR_FORMAT_EXUBERANT_META_NIBBLE:-3,BROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_ALPHABET:-4,BROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_SAME:-5,BROTLI_DECODER_ERROR_FORMAT_CL_SPACE:-6,BROTLI_DECODER_ERROR_FORMAT_HUFFMAN_SPACE:-7,BROTLI_DECODER_ERROR_FORMAT_CONTEXT_MAP_REPEAT:-8,BROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_1:-9,BROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_2:-10,BROTLI_DECODER_ERROR_FORMAT_TRANSFORM:-11,BROTLI_DECODER_ERROR_FORMAT_DICTIONARY:-12,BROTLI_DECODER_ERROR_FORMAT_WINDOW_BITS:-13,BROTLI_DECODER_ERROR_FORMAT_PADDING_1:-14,BROTLI_DECODER_ERROR_FORMAT_PADDING_2:-15,BROTLI_DECODER_ERROR_FORMAT_DISTANCE:-16,BROTLI_DECODER_ERROR_DICTIONARY_NOT_SET:-19,BROTLI_DECODER_ERROR_INVALID_ARGUMENTS:-20,BROTLI_DECODER_ERROR_ALLOC_CONTEXT_MODES:-21,BROTLI_DECODER_ERROR_ALLOC_TREE_GROUPS:-22,BROTLI_DECODER_ERROR_ALLOC_CONTEXT_MAP:-25,BROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_1:-26,BROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_2:-27,BROTLI_DECODER_ERROR_ALLOC_BLOCK_TYPE_TREES:-30,BROTLI_DECODER_ERROR_UNREACHABLE:-31},XFe))});var fD=E(Un=>{"use strict";var sD=require("assert"),kA=require("buffer").Buffer,v9=require("zlib"),uc=Un.constants=b9(),ZFe=hg(),S9=kA.concat,gc=Symbol("_superWrite"),ed=class extends Error{constructor(e){super("zlib: "+e.message);this.code=e.code,this.errno=e.errno,this.code||(this.code="ZLIB_ERROR"),this.message="zlib: "+e.message,Error.captureStackTrace(this,this.constructor)}get name(){return"ZlibError"}},$Fe=Symbol("opts"),td=Symbol("flushFlag"),x9=Symbol("finishFlushFlag"),oD=Symbol("fullFlushFlag"),tr=Symbol("handle"),qw=Symbol("onError"),pg=Symbol("sawError"),aD=Symbol("level"),AD=Symbol("strategy"),lD=Symbol("ended"),clt=Symbol("_defaultFullFlush"),cD=class extends ZFe{constructor(e,r){if(!e||typeof e!="object")throw new TypeError("invalid options for ZlibBase constructor");super(e);this[pg]=!1,this[lD]=!1,this[$Fe]=e,this[td]=e.flush,this[x9]=e.finishFlush;try{this[tr]=new v9[r](e)}catch(i){throw new ed(i)}this[qw]=i=>{this[pg]||(this[pg]=!0,this.close(),this.emit("error",i))},this[tr].on("error",i=>this[qw](new ed(i))),this.once("end",()=>this.close)}close(){this[tr]&&(this[tr].close(),this[tr]=null,this.emit("close"))}reset(){if(!this[pg])return sD(this[tr],"zlib binding closed"),this[tr].reset()}flush(e){this.ended||(typeof e!="number"&&(e=this[oD]),this.write(Object.assign(kA.alloc(0),{[td]:e})))}end(e,r,i){return e&&this.write(e,r),this.flush(this[x9]),this[lD]=!0,super.end(null,null,i)}get ended(){return this[lD]}write(e,r,i){if(typeof r=="function"&&(i=r,r="utf8"),typeof e=="string"&&(e=kA.from(e,r)),this[pg])return;sD(this[tr],"zlib binding closed");let n=this[tr]._handle,s=n.close;n.close=()=>{};let o=this[tr].close;this[tr].close=()=>{},kA.concat=c=>c;let a;try{let c=typeof e[td]=="number"?e[td]:this[td];a=this[tr]._processChunk(e,c),kA.concat=S9}catch(c){kA.concat=S9,this[qw](new ed(c))}finally{this[tr]&&(this[tr]._handle=n,n.close=s,this[tr].close=o,this[tr].removeAllListeners("error"))}this[tr]&&this[tr].on("error",c=>this[qw](new ed(c)));let l;if(a)if(Array.isArray(a)&&a.length>0){l=this[gc](kA.from(a[0]));for(let c=1;c{this.flush(n),s()};try{this[tr].params(e,r)}finally{this[tr].flush=i}this[tr]&&(this[aD]=e,this[AD]=r)}}}},k9=class extends PA{constructor(e){super(e,"Deflate")}},P9=class extends PA{constructor(e){super(e,"Inflate")}},uD=Symbol("_portable"),D9=class extends PA{constructor(e){super(e,"Gzip");this[uD]=e&&!!e.portable}[gc](e){return this[uD]?(this[uD]=!1,e[9]=255,super[gc](e)):super[gc](e)}},R9=class extends PA{constructor(e){super(e,"Gunzip")}},F9=class extends PA{constructor(e){super(e,"DeflateRaw")}},N9=class extends PA{constructor(e){super(e,"InflateRaw")}},L9=class extends PA{constructor(e){super(e,"Unzip")}},gD=class extends cD{constructor(e,r){e=e||{},e.flush=e.flush||uc.BROTLI_OPERATION_PROCESS,e.finishFlush=e.finishFlush||uc.BROTLI_OPERATION_FINISH,super(e,r),this[oD]=uc.BROTLI_OPERATION_FLUSH}},T9=class extends gD{constructor(e){super(e,"BrotliCompress")}},M9=class extends gD{constructor(e){super(e,"BrotliDecompress")}};Un.Deflate=k9;Un.Inflate=P9;Un.Gzip=D9;Un.Gunzip=R9;Un.DeflateRaw=F9;Un.InflateRaw=N9;Un.Unzip=L9;typeof v9.BrotliCompress=="function"?(Un.BrotliCompress=T9,Un.BrotliDecompress=M9):Un.BrotliCompress=Un.BrotliDecompress=class{constructor(){throw new Error("Brotli is not supported in this version of Node.js")}}});var rd=E(Jw=>{"use strict";Jw.name=new Map([["0","File"],["","OldFile"],["1","Link"],["2","SymbolicLink"],["3","CharacterDevice"],["4","BlockDevice"],["5","Directory"],["6","FIFO"],["7","ContiguousFile"],["g","GlobalExtendedHeader"],["x","ExtendedHeader"],["A","SolarisACL"],["D","GNUDumpDir"],["I","Inode"],["K","NextFileHasLongLinkpath"],["L","NextFileHasLongPath"],["M","ContinuationFile"],["N","OldGnuLongPath"],["S","SparseFile"],["V","TapeVolumeHeader"],["X","OldExtendedHeader"]]);Jw.code=new Map(Array.from(Jw.name).map(t=>[t[1],t[0]]))});var id=E((plt,O9)=>{"use strict";var flt=rd(),eNe=hg(),hD=Symbol("slurp");O9.exports=class extends eNe{constructor(e,r,i){super();switch(this.pause(),this.extended=r,this.globalExtended=i,this.header=e,this.startBlockSize=512*Math.ceil(e.size/512),this.blockRemain=this.startBlockSize,this.remain=e.size,this.type=e.type,this.meta=!1,this.ignore=!1,this.type){case"File":case"OldFile":case"Link":case"SymbolicLink":case"CharacterDevice":case"BlockDevice":case"Directory":case"FIFO":case"ContiguousFile":case"GNUDumpDir":break;case"NextFileHasLongLinkpath":case"NextFileHasLongPath":case"OldGnuLongPath":case"GlobalExtendedHeader":case"ExtendedHeader":case"OldExtendedHeader":this.meta=!0;break;default:this.ignore=!0}this.path=e.path,this.mode=e.mode,this.mode&&(this.mode=this.mode&4095),this.uid=e.uid,this.gid=e.gid,this.uname=e.uname,this.gname=e.gname,this.size=e.size,this.mtime=e.mtime,this.atime=e.atime,this.ctime=e.ctime,this.linkpath=e.linkpath,this.uname=e.uname,this.gname=e.gname,r&&this[hD](r),i&&this[hD](i,!0)}write(e){let r=e.length;if(r>this.blockRemain)throw new Error("writing more to entry than is appropriate");let i=this.remain,n=this.blockRemain;return this.remain=Math.max(0,i-r),this.blockRemain=Math.max(0,n-r),this.ignore?!0:i>=r?super.write(e):super.write(e.slice(0,i))}[hD](e,r){for(let i in e)e[i]!==null&&e[i]!==void 0&&!(r&&i==="path")&&(this[i]=e[i])}}});var H9=E(pD=>{"use strict";var dlt=pD.encode=(t,e)=>{if(Number.isSafeInteger(t))t<0?rNe(t,e):tNe(t,e);else throw Error("cannot encode number outside of javascript safe integer range");return e},tNe=(t,e)=>{e[0]=128;for(var r=e.length;r>1;r--)e[r-1]=t&255,t=Math.floor(t/256)},rNe=(t,e)=>{e[0]=255;var r=!1;t=t*-1;for(var i=e.length;i>1;i--){var n=t&255;t=Math.floor(t/256),r?e[i-1]=K9(n):n===0?e[i-1]=0:(r=!0,e[i-1]=U9(n))}},Clt=pD.parse=t=>{var e=t[t.length-1],r=t[0],i;if(r===128)i=nNe(t.slice(1,t.length));else if(r===255)i=iNe(t);else throw Error("invalid base256 encoding");if(!Number.isSafeInteger(i))throw Error("parsed number outside of javascript safe integer range");return i},iNe=t=>{for(var e=t.length,r=0,i=!1,n=e-1;n>-1;n--){var s=t[n],o;i?o=K9(s):s===0?o=s:(i=!0,o=U9(s)),o!==0&&(r-=o*Math.pow(256,e-n-1))}return r},nNe=t=>{for(var e=t.length,r=0,i=e-1;i>-1;i--){var n=t[i];n!==0&&(r+=n*Math.pow(256,e-i-1))}return r},K9=t=>(255^t)&255,U9=t=>(255^t)+1&255});var Cg=E((Elt,G9)=>{"use strict";var dD=rd(),dg=require("path").posix,j9=H9(),CD=Symbol("slurp"),Hn=Symbol("type"),Y9=class{constructor(e,r,i,n){this.cksumValid=!1,this.needPax=!1,this.nullBlock=!1,this.block=null,this.path=null,this.mode=null,this.uid=null,this.gid=null,this.size=null,this.mtime=null,this.cksum=null,this[Hn]="0",this.linkpath=null,this.uname=null,this.gname=null,this.devmaj=0,this.devmin=0,this.atime=null,this.ctime=null,Buffer.isBuffer(e)?this.decode(e,r||0,i,n):e&&this.set(e)}decode(e,r,i,n){if(r||(r=0),!e||!(e.length>=r+512))throw new Error("need 512 bytes for header");if(this.path=fc(e,r,100),this.mode=DA(e,r+100,8),this.uid=DA(e,r+108,8),this.gid=DA(e,r+116,8),this.size=DA(e,r+124,12),this.mtime=mD(e,r+136,12),this.cksum=DA(e,r+148,12),this[CD](i),this[CD](n,!0),this[Hn]=fc(e,r+156,1),this[Hn]===""&&(this[Hn]="0"),this[Hn]==="0"&&this.path.substr(-1)==="/"&&(this[Hn]="5"),this[Hn]==="5"&&(this.size=0),this.linkpath=fc(e,r+157,100),e.slice(r+257,r+265).toString()==="ustar\x0000")if(this.uname=fc(e,r+265,32),this.gname=fc(e,r+297,32),this.devmaj=DA(e,r+329,8),this.devmin=DA(e,r+337,8),e[r+475]!==0){let o=fc(e,r+345,155);this.path=o+"/"+this.path}else{let o=fc(e,r+345,130);o&&(this.path=o+"/"+this.path),this.atime=mD(e,r+476,12),this.ctime=mD(e,r+488,12)}let s=8*32;for(let o=r;o=r+512))throw new Error("need 512 bytes for header");let i=this.ctime||this.atime?130:155,n=sNe(this.path||"",i),s=n[0],o=n[1];this.needPax=n[2],this.needPax=hc(e,r,100,s)||this.needPax,this.needPax=RA(e,r+100,8,this.mode)||this.needPax,this.needPax=RA(e,r+108,8,this.uid)||this.needPax,this.needPax=RA(e,r+116,8,this.gid)||this.needPax,this.needPax=RA(e,r+124,12,this.size)||this.needPax,this.needPax=ED(e,r+136,12,this.mtime)||this.needPax,e[r+156]=this[Hn].charCodeAt(0),this.needPax=hc(e,r+157,100,this.linkpath)||this.needPax,e.write("ustar\x0000",r+257,8),this.needPax=hc(e,r+265,32,this.uname)||this.needPax,this.needPax=hc(e,r+297,32,this.gname)||this.needPax,this.needPax=RA(e,r+329,8,this.devmaj)||this.needPax,this.needPax=RA(e,r+337,8,this.devmin)||this.needPax,this.needPax=hc(e,r+345,i,o)||this.needPax,e[r+475]!==0?this.needPax=hc(e,r+345,155,o)||this.needPax:(this.needPax=hc(e,r+345,130,o)||this.needPax,this.needPax=ED(e,r+476,12,this.atime)||this.needPax,this.needPax=ED(e,r+488,12,this.ctime)||this.needPax);let a=8*32;for(let l=r;l{let r=100,i=t,n="",s,o=dg.parse(t).root||".";if(Buffer.byteLength(i)r&&Buffer.byteLength(n)<=e?s=[i.substr(0,r-1),n,!0]:(i=dg.join(dg.basename(n),i),n=dg.dirname(n));while(n!==o&&!s);s||(s=[t.substr(0,r-1),"",!0])}return s},fc=(t,e,r)=>t.slice(e,e+r).toString("utf8").replace(/\0.*/,""),mD=(t,e,r)=>oNe(DA(t,e,r)),oNe=t=>t===null?null:new Date(t*1e3),DA=(t,e,r)=>t[e]&128?j9.parse(t.slice(e,e+r)):aNe(t,e,r),ANe=t=>isNaN(t)?null:t,aNe=(t,e,r)=>ANe(parseInt(t.slice(e,e+r).toString("utf8").replace(/\0.*$/,"").trim(),8)),lNe={12:8589934591,8:2097151},RA=(t,e,r,i)=>i===null?!1:i>lNe[r]||i<0?(j9.encode(i,t.slice(e,e+r)),!0):(cNe(t,e,r,i),!1),cNe=(t,e,r,i)=>t.write(uNe(i,r),e,r,"ascii"),uNe=(t,e)=>gNe(Math.floor(t).toString(8),e),gNe=(t,e)=>(t.length===e-1?t:new Array(e-t.length-1).join("0")+t+" ")+"\0",ED=(t,e,r,i)=>i===null?!1:RA(t,e,r,i.getTime()/1e3),fNe=new Array(156).join("\0"),hc=(t,e,r,i)=>i===null?!1:(t.write(i+fNe,e,r,"utf8"),i.length!==Buffer.byteLength(i)||i.length>r);G9.exports=Y9});var zw=E((Ilt,q9)=>{"use strict";var hNe=Cg(),pNe=require("path"),Ww=class{constructor(e,r){this.atime=e.atime||null,this.charset=e.charset||null,this.comment=e.comment||null,this.ctime=e.ctime||null,this.gid=e.gid||null,this.gname=e.gname||null,this.linkpath=e.linkpath||null,this.mtime=e.mtime||null,this.path=e.path||null,this.size=e.size||null,this.uid=e.uid||null,this.uname=e.uname||null,this.dev=e.dev||null,this.ino=e.ino||null,this.nlink=e.nlink||null,this.global=r||!1}encode(){let e=this.encodeBody();if(e==="")return null;let r=Buffer.byteLength(e),i=512*Math.ceil(1+r/512),n=Buffer.allocUnsafe(i);for(let s=0;s<512;s++)n[s]=0;new hNe({path:("PaxHeader/"+pNe.basename(this.path)).slice(0,99),mode:this.mode||420,uid:this.uid||null,gid:this.gid||null,size:r,mtime:this.mtime||null,type:this.global?"GlobalExtendedHeader":"ExtendedHeader",linkpath:"",uname:this.uname||"",gname:this.gname||"",devmaj:0,devmin:0,atime:this.atime||null,ctime:this.ctime||null}).encode(n),n.write(e,512,r,"utf8");for(let s=r+512;s=Math.pow(10,s)&&(s+=1),s+n+i}};Ww.parse=(t,e,r)=>new Ww(dNe(CNe(t),e),r);var dNe=(t,e)=>e?Object.keys(t).reduce((r,i)=>(r[i]=t[i],r),e):t,CNe=t=>t.replace(/\n$/,"").split(` +`).reduce(mNe,Object.create(null)),mNe=(t,e)=>{let r=parseInt(e,10);if(r!==Buffer.byteLength(e)+1)return t;e=e.substr((r+" ").length);let i=e.split("="),n=i.shift().replace(/^SCHILY\.(dev|ino|nlink)/,"$1");if(!n)return t;let s=i.join("=");return t[n]=/^([A-Z]+\.)?([mac]|birth|creation)time$/.test(n)?new Date(s*1e3):/^[0-9]+$/.test(s)?+s:s,t};q9.exports=Ww});var Vw=E((ylt,J9)=>{"use strict";J9.exports=t=>class extends t{warn(e,r,i={}){this.file&&(i.file=this.file),this.cwd&&(i.cwd=this.cwd),i.code=r instanceof Error&&r.code||e,i.tarCode=e,!this.strict&&i.recoverable!==!1?(r instanceof Error&&(i=Object.assign(r,i),r=r.message),this.emit("warn",i.tarCode,r,i)):r instanceof Error?this.emit("error",Object.assign(r,i)):this.emit("error",Object.assign(new Error(`${e}: ${r}`),i))}}});var yD=E((wlt,W9)=>{"use strict";var _w=["|","<",">","?",":"],ID=_w.map(t=>String.fromCharCode(61440+t.charCodeAt(0))),ENe=new Map(_w.map((t,e)=>[t,ID[e]])),INe=new Map(ID.map((t,e)=>[t,_w[e]]));W9.exports={encode:t=>_w.reduce((e,r)=>e.split(r).join(ENe.get(r)),t),decode:t=>ID.reduce((e,r)=>e.split(r).join(INe.get(r)),t)}});var V9=E((Blt,z9)=>{"use strict";z9.exports=(t,e,r)=>(t&=4095,r&&(t=(t|384)&~18),e&&(t&256&&(t|=64),t&32&&(t|=8),t&4&&(t|=1)),t)});var xD=E((xlt,_9)=>{"use strict";var X9=hg(),Z9=zw(),$9=Cg(),Qlt=id(),bo=require("fs"),mg=require("path"),blt=rd(),yNe=16*1024*1024,eV=Symbol("process"),tV=Symbol("file"),rV=Symbol("directory"),wD=Symbol("symlink"),iV=Symbol("hardlink"),nd=Symbol("header"),Xw=Symbol("read"),BD=Symbol("lstat"),Zw=Symbol("onlstat"),QD=Symbol("onread"),bD=Symbol("onreadlink"),vD=Symbol("openfile"),SD=Symbol("onopenfile"),pc=Symbol("close"),$w=Symbol("mode"),nV=Vw(),wNe=yD(),sV=V9(),eB=nV(class extends X9{constructor(e,r){if(r=r||{},super(r),typeof e!="string")throw new TypeError("path is required");this.path=e,this.portable=!!r.portable,this.myuid=process.getuid&&process.getuid(),this.myuser=process.env.USER||"",this.maxReadSize=r.maxReadSize||yNe,this.linkCache=r.linkCache||new Map,this.statCache=r.statCache||new Map,this.preservePaths=!!r.preservePaths,this.cwd=r.cwd||process.cwd(),this.strict=!!r.strict,this.noPax=!!r.noPax,this.noMtime=!!r.noMtime,this.mtime=r.mtime||null,typeof r.onwarn=="function"&&this.on("warn",r.onwarn);let i=!1;if(!this.preservePaths&&mg.win32.isAbsolute(e)){let n=mg.win32.parse(e);this.path=e.substr(n.root.length),i=n.root}this.win32=!!r.win32||process.platform==="win32",this.win32&&(this.path=wNe.decode(this.path.replace(/\\/g,"/")),e=e.replace(/\\/g,"/")),this.absolute=r.absolute||mg.resolve(this.cwd,e),this.path===""&&(this.path="./"),i&&this.warn("TAR_ENTRY_INFO",`stripping ${i} from absolute path`,{entry:this,path:i+this.path}),this.statCache.has(this.absolute)?this[Zw](this.statCache.get(this.absolute)):this[BD]()}[BD](){bo.lstat(this.absolute,(e,r)=>{if(e)return this.emit("error",e);this[Zw](r)})}[Zw](e){this.statCache.set(this.absolute,e),this.stat=e,e.isFile()||(e.size=0),this.type=BNe(e),this.emit("stat",e),this[eV]()}[eV](){switch(this.type){case"File":return this[tV]();case"Directory":return this[rV]();case"SymbolicLink":return this[wD]();default:return this.end()}}[$w](e){return sV(e,this.type==="Directory",this.portable)}[nd](){this.type==="Directory"&&this.portable&&(this.noMtime=!0),this.header=new $9({path:this.path,linkpath:this.linkpath,mode:this[$w](this.stat.mode),uid:this.portable?null:this.stat.uid,gid:this.portable?null:this.stat.gid,size:this.stat.size,mtime:this.noMtime?null:this.mtime||this.stat.mtime,type:this.type,uname:this.portable?null:this.stat.uid===this.myuid?this.myuser:"",atime:this.portable?null:this.stat.atime,ctime:this.portable?null:this.stat.ctime}),this.header.encode()&&!this.noPax&&this.write(new Z9({atime:this.portable?null:this.header.atime,ctime:this.portable?null:this.header.ctime,gid:this.portable?null:this.header.gid,mtime:this.noMtime?null:this.mtime||this.header.mtime,path:this.path,linkpath:this.linkpath,size:this.header.size,uid:this.portable?null:this.header.uid,uname:this.portable?null:this.header.uname,dev:this.portable?null:this.stat.dev,ino:this.portable?null:this.stat.ino,nlink:this.portable?null:this.stat.nlink}).encode()),this.write(this.header.block)}[rV](){this.path.substr(-1)!=="/"&&(this.path+="/"),this.stat.size=0,this[nd](),this.end()}[wD](){bo.readlink(this.absolute,(e,r)=>{if(e)return this.emit("error",e);this[bD](r)})}[bD](e){this.linkpath=e.replace(/\\/g,"/"),this[nd](),this.end()}[iV](e){this.type="Link",this.linkpath=mg.relative(this.cwd,e).replace(/\\/g,"/"),this.stat.size=0,this[nd](),this.end()}[tV](){if(this.stat.nlink>1){let e=this.stat.dev+":"+this.stat.ino;if(this.linkCache.has(e)){let r=this.linkCache.get(e);if(r.indexOf(this.cwd)===0)return this[iV](r)}this.linkCache.set(e,this.absolute)}if(this[nd](),this.stat.size===0)return this.end();this[vD]()}[vD](){bo.open(this.absolute,"r",(e,r)=>{if(e)return this.emit("error",e);this[SD](r)})}[SD](e){let r=512*Math.ceil(this.stat.size/512),i=Math.min(r,this.maxReadSize),n=Buffer.allocUnsafe(i);this[Xw](e,n,0,n.length,0,this.stat.size,r)}[Xw](e,r,i,n,s,o,a){bo.read(e,r,i,n,s,(l,c)=>{if(l)return this[pc](e,()=>this.emit("error",l));this[QD](e,r,i,n,s,o,a,c)})}[pc](e,r){bo.close(e,r)}[QD](e,r,i,n,s,o,a,l){if(l<=0&&o>0){let u=new Error("encountered unexpected EOF");return u.path=this.absolute,u.syscall="read",u.code="EOF",this[pc](e,()=>this.emit("error",u))}if(l>o){let u=new Error("did not encounter expected EOF");return u.path=this.absolute,u.syscall="read",u.code="EOF",this[pc](e,()=>this.emit("error",u))}if(l===o)for(let u=l;uu?this.emit("error",u):this.end());i>=n&&(r=Buffer.allocUnsafe(n),i=0),n=r.length-i,this[Xw](e,r,i,n,s,o,a)}}),oV=class extends eB{constructor(e,r){super(e,r)}[BD](){this[Zw](bo.lstatSync(this.absolute))}[wD](){this[bD](bo.readlinkSync(this.absolute))}[vD](){this[SD](bo.openSync(this.absolute,"r"))}[Xw](e,r,i,n,s,o,a){let l=!0;try{let c=bo.readSync(e,r,i,n,s);this[QD](e,r,i,n,s,o,a,c),l=!1}finally{if(l)try{this[pc](e,()=>{})}catch(c){}}}[pc](e,r){bo.closeSync(e),r()}},QNe=nV(class extends X9{constructor(e,r){r=r||{},super(r),this.preservePaths=!!r.preservePaths,this.portable=!!r.portable,this.strict=!!r.strict,this.noPax=!!r.noPax,this.noMtime=!!r.noMtime,this.readEntry=e,this.type=e.type,this.type==="Directory"&&this.portable&&(this.noMtime=!0),this.path=e.path,this.mode=this[$w](e.mode),this.uid=this.portable?null:e.uid,this.gid=this.portable?null:e.gid,this.uname=this.portable?null:e.uname,this.gname=this.portable?null:e.gname,this.size=e.size,this.mtime=this.noMtime?null:r.mtime||e.mtime,this.atime=this.portable?null:e.atime,this.ctime=this.portable?null:e.ctime,this.linkpath=e.linkpath,typeof r.onwarn=="function"&&this.on("warn",r.onwarn);let i=!1;if(mg.isAbsolute(this.path)&&!this.preservePaths){let n=mg.parse(this.path);i=n.root,this.path=this.path.substr(n.root.length)}this.remain=e.size,this.blockRemain=e.startBlockSize,this.header=new $9({path:this.path,linkpath:this.linkpath,mode:this.mode,uid:this.portable?null:this.uid,gid:this.portable?null:this.gid,size:this.size,mtime:this.noMtime?null:this.mtime,type:this.type,uname:this.portable?null:this.uname,atime:this.portable?null:this.atime,ctime:this.portable?null:this.ctime}),i&&this.warn("TAR_ENTRY_INFO",`stripping ${i} from absolute path`,{entry:this,path:i+this.path}),this.header.encode()&&!this.noPax&&super.write(new Z9({atime:this.portable?null:this.atime,ctime:this.portable?null:this.ctime,gid:this.portable?null:this.gid,mtime:this.noMtime?null:this.mtime,path:this.path,linkpath:this.linkpath,size:this.size,uid:this.portable?null:this.uid,uname:this.portable?null:this.uname,dev:this.portable?null:this.readEntry.dev,ino:this.portable?null:this.readEntry.ino,nlink:this.portable?null:this.readEntry.nlink}).encode()),super.write(this.header.block),e.pipe(this)}[$w](e){return sV(e,this.type==="Directory",this.portable)}write(e){let r=e.length;if(r>this.blockRemain)throw new Error("writing more to entry than is appropriate");return this.blockRemain-=r,super.write(e)}end(){return this.blockRemain&&this.write(Buffer.alloc(this.blockRemain)),super.end()}});eB.Sync=oV;eB.Tar=QNe;var BNe=t=>t.isFile()?"File":t.isDirectory()?"Directory":t.isSymbolicLink()?"SymbolicLink":"Unsupported";_9.exports=eB});var AB=E((Plt,aV)=>{"use strict";var kD=class{constructor(e,r){this.path=e||"./",this.absolute=r,this.entry=null,this.stat=null,this.readdir=null,this.pending=!1,this.ignore=!1,this.piped=!1}},bNe=hg(),vNe=fD(),SNe=id(),PD=xD(),xNe=PD.Sync,kNe=PD.Tar,PNe=Rh(),AV=Buffer.alloc(1024),tB=Symbol("onStat"),rB=Symbol("ended"),vo=Symbol("queue"),Eg=Symbol("current"),dc=Symbol("process"),iB=Symbol("processing"),lV=Symbol("processJob"),So=Symbol("jobs"),DD=Symbol("jobDone"),nB=Symbol("addFSEntry"),cV=Symbol("addTarEntry"),RD=Symbol("stat"),FD=Symbol("readdir"),sB=Symbol("onreaddir"),oB=Symbol("pipe"),uV=Symbol("entry"),ND=Symbol("entryOpt"),LD=Symbol("writeEntryClass"),gV=Symbol("write"),TD=Symbol("ondrain"),aB=require("fs"),fV=require("path"),DNe=Vw(),MD=DNe(class extends bNe{constructor(e){super(e);e=e||Object.create(null),this.opt=e,this.file=e.file||"",this.cwd=e.cwd||process.cwd(),this.maxReadSize=e.maxReadSize,this.preservePaths=!!e.preservePaths,this.strict=!!e.strict,this.noPax=!!e.noPax,this.prefix=(e.prefix||"").replace(/(\\|\/)+$/,""),this.linkCache=e.linkCache||new Map,this.statCache=e.statCache||new Map,this.readdirCache=e.readdirCache||new Map,this[LD]=PD,typeof e.onwarn=="function"&&this.on("warn",e.onwarn),this.portable=!!e.portable,this.zip=null,e.gzip?(typeof e.gzip!="object"&&(e.gzip={}),this.portable&&(e.gzip.portable=!0),this.zip=new vNe.Gzip(e.gzip),this.zip.on("data",r=>super.write(r)),this.zip.on("end",r=>super.end()),this.zip.on("drain",r=>this[TD]()),this.on("resume",r=>this.zip.resume())):this.on("drain",this[TD]),this.noDirRecurse=!!e.noDirRecurse,this.follow=!!e.follow,this.noMtime=!!e.noMtime,this.mtime=e.mtime||null,this.filter=typeof e.filter=="function"?e.filter:r=>!0,this[vo]=new PNe,this[So]=0,this.jobs=+e.jobs||4,this[iB]=!1,this[rB]=!1}[gV](e){return super.write(e)}add(e){return this.write(e),this}end(e){return e&&this.write(e),this[rB]=!0,this[dc](),this}write(e){if(this[rB])throw new Error("write after end");return e instanceof SNe?this[cV](e):this[nB](e),this.flowing}[cV](e){let r=fV.resolve(this.cwd,e.path);if(this.prefix&&(e.path=this.prefix+"/"+e.path.replace(/^\.(\/+|$)/,"")),!this.filter(e.path,e))e.resume();else{let i=new kD(e.path,r,!1);i.entry=new kNe(e,this[ND](i)),i.entry.on("end",n=>this[DD](i)),this[So]+=1,this[vo].push(i)}this[dc]()}[nB](e){let r=fV.resolve(this.cwd,e);this.prefix&&(e=this.prefix+"/"+e.replace(/^\.(\/+|$)/,"")),this[vo].push(new kD(e,r)),this[dc]()}[RD](e){e.pending=!0,this[So]+=1;let r=this.follow?"stat":"lstat";aB[r](e.absolute,(i,n)=>{e.pending=!1,this[So]-=1,i?this.emit("error",i):this[tB](e,n)})}[tB](e,r){this.statCache.set(e.absolute,r),e.stat=r,this.filter(e.path,r)||(e.ignore=!0),this[dc]()}[FD](e){e.pending=!0,this[So]+=1,aB.readdir(e.absolute,(r,i)=>{if(e.pending=!1,this[So]-=1,r)return this.emit("error",r);this[sB](e,i)})}[sB](e,r){this.readdirCache.set(e.absolute,r),e.readdir=r,this[dc]()}[dc](){if(!this[iB]){this[iB]=!0;for(let e=this[vo].head;e!==null&&this[So]this.warn(r,i,n),noPax:this.noPax,cwd:this.cwd,absolute:e.absolute,preservePaths:this.preservePaths,maxReadSize:this.maxReadSize,strict:this.strict,portable:this.portable,linkCache:this.linkCache,statCache:this.statCache,noMtime:this.noMtime,mtime:this.mtime}}[uV](e){this[So]+=1;try{return new this[LD](e.path,this[ND](e)).on("end",()=>this[DD](e)).on("error",r=>this.emit("error",r))}catch(r){this.emit("error",r)}}[TD](){this[Eg]&&this[Eg].entry&&this[Eg].entry.resume()}[oB](e){e.piped=!0,e.readdir&&e.readdir.forEach(n=>{let s=this.prefix?e.path.slice(this.prefix.length+1)||"./":e.path,o=s==="./"?"":s.replace(/\/*$/,"/");this[nB](o+n)});let r=e.entry,i=this.zip;i?r.on("data",n=>{i.write(n)||r.pause()}):r.on("data",n=>{super.write(n)||r.pause()})}pause(){return this.zip&&this.zip.pause(),super.pause()}}),hV=class extends MD{constructor(e){super(e);this[LD]=xNe}pause(){}resume(){}[RD](e){let r=this.follow?"statSync":"lstatSync";this[tB](e,aB[r](e.absolute))}[FD](e,r){this[sB](e,aB.readdirSync(e.absolute))}[oB](e){let r=e.entry,i=this.zip;e.readdir&&e.readdir.forEach(n=>{let s=this.prefix?e.path.slice(this.prefix.length+1)||"./":e.path,o=s==="./"?"":s.replace(/\/*$/,"/");this[nB](o+n)}),i?r.on("data",n=>{i.write(n)}):r.on("data",n=>{super[gV](n)})}};MD.Sync=hV;aV.exports=MD});var bg=E(sd=>{"use strict";var RNe=hg(),FNe=require("events").EventEmitter,ls=require("fs"),lB=process.binding("fs"),Dlt=lB.writeBuffers,NNe=lB.FSReqWrap||lB.FSReqCallback,Ig=Symbol("_autoClose"),xo=Symbol("_close"),od=Symbol("_ended"),Jt=Symbol("_fd"),pV=Symbol("_finished"),Cc=Symbol("_flags"),OD=Symbol("_flush"),KD=Symbol("_handleChunk"),UD=Symbol("_makeBuf"),HD=Symbol("_mode"),cB=Symbol("_needDrain"),yg=Symbol("_onerror"),wg=Symbol("_onopen"),GD=Symbol("_onread"),mc=Symbol("_onwrite"),FA=Symbol("_open"),NA=Symbol("_path"),Ec=Symbol("_pos"),ko=Symbol("_queue"),Bg=Symbol("_read"),dV=Symbol("_readSize"),LA=Symbol("_reading"),uB=Symbol("_remain"),CV=Symbol("_size"),gB=Symbol("_write"),Qg=Symbol("_writing"),fB=Symbol("_defaultFlag"),jD=class extends RNe{constructor(e,r){if(r=r||{},super(r),this.writable=!1,typeof e!="string")throw new TypeError("path must be a string");this[Jt]=typeof r.fd=="number"?r.fd:null,this[NA]=e,this[dV]=r.readSize||16*1024*1024,this[LA]=!1,this[CV]=typeof r.size=="number"?r.size:Infinity,this[uB]=this[CV],this[Ig]=typeof r.autoClose=="boolean"?r.autoClose:!0,typeof this[Jt]=="number"?this[Bg]():this[FA]()}get fd(){return this[Jt]}get path(){return this[NA]}write(){throw new TypeError("this is a readable stream")}end(){throw new TypeError("this is a readable stream")}[FA](){ls.open(this[NA],"r",(e,r)=>this[wg](e,r))}[wg](e,r){e?this[yg](e):(this[Jt]=r,this.emit("open",r),this[Bg]())}[UD](){return Buffer.allocUnsafe(Math.min(this[dV],this[uB]))}[Bg](){if(!this[LA]){this[LA]=!0;let e=this[UD]();if(e.length===0)return process.nextTick(()=>this[GD](null,0,e));ls.read(this[Jt],e,0,e.length,null,(r,i,n)=>this[GD](r,i,n))}}[GD](e,r,i){this[LA]=!1,e?this[yg](e):this[KD](r,i)&&this[Bg]()}[xo](){this[Ig]&&typeof this[Jt]=="number"&&(ls.close(this[Jt],e=>this.emit("close")),this[Jt]=null)}[yg](e){this[LA]=!0,this[xo](),this.emit("error",e)}[KD](e,r){let i=!1;return this[uB]-=e,e>0&&(i=super.write(ethis[wg](e,r))}[wg](e,r){this[fB]&&this[Cc]==="r+"&&e&&e.code==="ENOENT"?(this[Cc]="w",this[FA]()):e?this[yg](e):(this[Jt]=r,this.emit("open",r),this[OD]())}end(e,r){e&&this.write(e,r),this[od]=!0,!this[Qg]&&!this[ko].length&&typeof this[Jt]=="number"&&this[mc](null,0)}write(e,r){return typeof e=="string"&&(e=new Buffer(e,r)),this[od]?(this.emit("error",new Error("write() after end()")),!1):this[Jt]===null||this[Qg]||this[ko].length?(this[ko].push(e),this[cB]=!0,!1):(this[Qg]=!0,this[gB](e),!0)}[gB](e){ls.write(this[Jt],e,0,e.length,this[Ec],(r,i)=>this[mc](r,i))}[mc](e,r){e?this[yg](e):(this[Ec]!==null&&(this[Ec]+=r),this[ko].length?this[OD]():(this[Qg]=!1,this[od]&&!this[pV]?(this[pV]=!0,this[xo](),this.emit("finish")):this[cB]&&(this[cB]=!1,this.emit("drain"))))}[OD](){if(this[ko].length===0)this[od]&&this[mc](null,0);else if(this[ko].length===1)this[gB](this[ko].pop());else{let e=this[ko];this[ko]=[],LNe(this[Jt],e,this[Ec],(r,i)=>this[mc](r,i))}}[xo](){this[Ig]&&typeof this[Jt]=="number"&&(ls.close(this[Jt],e=>this.emit("close")),this[Jt]=null)}},EV=class extends YD{[FA](){let e;try{e=ls.openSync(this[NA],this[Cc],this[HD])}catch(r){if(this[fB]&&this[Cc]==="r+"&&r&&r.code==="ENOENT")return this[Cc]="w",this[FA]();throw r}this[wg](null,e)}[xo](){if(this[Ig]&&typeof this[Jt]=="number"){try{ls.closeSync(this[Jt])}catch(e){}this[Jt]=null,this.emit("close")}}[gB](e){try{this[mc](null,ls.writeSync(this[Jt],e,0,e.length,this[Ec]))}catch(r){this[mc](r,0)}}},LNe=(t,e,r,i)=>{let n=(o,a)=>i(o,a,e),s=new NNe;s.oncomplete=n,lB.writeBuffers(t,e,r,s)};sd.ReadStream=jD;sd.ReadStreamSync=mV;sd.WriteStream=YD;sd.WriteStreamSync=EV});var ld=E((Llt,IV)=>{"use strict";var TNe=Vw(),Flt=require("path"),MNe=Cg(),ONe=require("events"),KNe=Rh(),UNe=1024*1024,HNe=id(),yV=zw(),GNe=fD(),qD=Buffer.from([31,139]),cs=Symbol("state"),Ic=Symbol("writeEntry"),xa=Symbol("readEntry"),JD=Symbol("nextEntry"),wV=Symbol("processEntry"),us=Symbol("extendedHeader"),ad=Symbol("globalExtendedHeader"),TA=Symbol("meta"),BV=Symbol("emitMeta"),Ar=Symbol("buffer"),ka=Symbol("queue"),yc=Symbol("ended"),QV=Symbol("emittedEnd"),wc=Symbol("emit"),Qn=Symbol("unzip"),hB=Symbol("consumeChunk"),pB=Symbol("consumeChunkSub"),WD=Symbol("consumeBody"),bV=Symbol("consumeMeta"),vV=Symbol("consumeHeader"),dB=Symbol("consuming"),zD=Symbol("bufferConcat"),VD=Symbol("maybeEnd"),Ad=Symbol("writing"),MA=Symbol("aborted"),CB=Symbol("onDone"),Bc=Symbol("sawValidEntry"),mB=Symbol("sawNullBlock"),EB=Symbol("sawEOF"),jNe=t=>!0;IV.exports=TNe(class extends ONe{constructor(e){e=e||{},super(e),this.file=e.file||"",this[Bc]=null,this.on(CB,r=>{(this[cs]==="begin"||this[Bc]===!1)&&this.warn("TAR_BAD_ARCHIVE","Unrecognized archive format")}),e.ondone?this.on(CB,e.ondone):this.on(CB,r=>{this.emit("prefinish"),this.emit("finish"),this.emit("end"),this.emit("close")}),this.strict=!!e.strict,this.maxMetaEntrySize=e.maxMetaEntrySize||UNe,this.filter=typeof e.filter=="function"?e.filter:jNe,this.writable=!0,this.readable=!1,this[ka]=new KNe,this[Ar]=null,this[xa]=null,this[Ic]=null,this[cs]="begin",this[TA]="",this[us]=null,this[ad]=null,this[yc]=!1,this[Qn]=null,this[MA]=!1,this[mB]=!1,this[EB]=!1,typeof e.onwarn=="function"&&this.on("warn",e.onwarn),typeof e.onentry=="function"&&this.on("entry",e.onentry)}[vV](e,r){this[Bc]===null&&(this[Bc]=!1);let i;try{i=new MNe(e,r,this[us],this[ad])}catch(n){return this.warn("TAR_ENTRY_INVALID",n)}if(i.nullBlock)this[mB]?(this[EB]=!0,this[cs]==="begin"&&(this[cs]="header"),this[wc]("eof")):(this[mB]=!0,this[wc]("nullBlock"));else if(this[mB]=!1,!i.cksumValid)this.warn("TAR_ENTRY_INVALID","checksum failure",{header:i});else if(!i.path)this.warn("TAR_ENTRY_INVALID","path is required",{header:i});else{let n=i.type;if(/^(Symbolic)?Link$/.test(n)&&!i.linkpath)this.warn("TAR_ENTRY_INVALID","linkpath required",{header:i});else if(!/^(Symbolic)?Link$/.test(n)&&i.linkpath)this.warn("TAR_ENTRY_INVALID","linkpath forbidden",{header:i});else{let s=this[Ic]=new HNe(i,this[us],this[ad]);if(!this[Bc])if(s.remain){let o=()=>{s.invalid||(this[Bc]=!0)};s.on("end",o)}else this[Bc]=!0;s.meta?s.size>this.maxMetaEntrySize?(s.ignore=!0,this[wc]("ignoredEntry",s),this[cs]="ignore",s.resume()):s.size>0&&(this[TA]="",s.on("data",o=>this[TA]+=o),this[cs]="meta"):(this[us]=null,s.ignore=s.ignore||!this.filter(s.path,s),s.ignore?(this[wc]("ignoredEntry",s),this[cs]=s.remain?"ignore":"header",s.resume()):(s.remain?this[cs]="body":(this[cs]="header",s.end()),this[xa]?this[ka].push(s):(this[ka].push(s),this[JD]())))}}}[wV](e){let r=!0;return e?Array.isArray(e)?this.emit.apply(this,e):(this[xa]=e,this.emit("entry",e),e.emittedEnd||(e.on("end",i=>this[JD]()),r=!1)):(this[xa]=null,r=!1),r}[JD](){do;while(this[wV](this[ka].shift()));if(!this[ka].length){let e=this[xa];!e||e.flowing||e.size===e.remain?this[Ad]||this.emit("drain"):e.once("drain",i=>this.emit("drain"))}}[WD](e,r){let i=this[Ic],n=i.blockRemain,s=n>=e.length&&r===0?e:e.slice(r,r+n);return i.write(s),i.blockRemain||(this[cs]="header",this[Ic]=null,i.end()),s.length}[bV](e,r){let i=this[Ic],n=this[WD](e,r);return this[Ic]||this[BV](i),n}[wc](e,r,i){!this[ka].length&&!this[xa]?this.emit(e,r,i):this[ka].push([e,r,i])}[BV](e){switch(this[wc]("meta",this[TA]),e.type){case"ExtendedHeader":case"OldExtendedHeader":this[us]=yV.parse(this[TA],this[us],!1);break;case"GlobalExtendedHeader":this[ad]=yV.parse(this[TA],this[ad],!0);break;case"NextFileHasLongPath":case"OldGnuLongPath":this[us]=this[us]||Object.create(null),this[us].path=this[TA].replace(/\0.*/,"");break;case"NextFileHasLongLinkpath":this[us]=this[us]||Object.create(null),this[us].linkpath=this[TA].replace(/\0.*/,"");break;default:throw new Error("unknown meta: "+e.type)}}abort(e){this[MA]=!0,this.emit("abort",e),this.warn("TAR_ABORT",e,{recoverable:!1})}write(e){if(this[MA])return;if(this[Qn]===null&&e){if(this[Ar]&&(e=Buffer.concat([this[Ar],e]),this[Ar]=null),e.lengththis[hB](s)),this[Qn].on("error",s=>this.abort(s)),this[Qn].on("end",s=>{this[yc]=!0,this[hB]()}),this[Ad]=!0;let n=this[Qn][i?"end":"write"](e);return this[Ad]=!1,n}}this[Ad]=!0,this[Qn]?this[Qn].write(e):this[hB](e),this[Ad]=!1;let r=this[ka].length?!1:this[xa]?this[xa].flowing:!0;return!r&&!this[ka].length&&this[xa].once("drain",i=>this.emit("drain")),r}[zD](e){e&&!this[MA]&&(this[Ar]=this[Ar]?Buffer.concat([this[Ar],e]):e)}[VD](){if(this[yc]&&!this[QV]&&!this[MA]&&!this[dB]){this[QV]=!0;let e=this[Ic];if(e&&e.blockRemain){let r=this[Ar]?this[Ar].length:0;this.warn("TAR_BAD_ARCHIVE",`Truncated input (needed ${e.blockRemain} more bytes, only ${r} available)`,{entry:e}),this[Ar]&&e.write(this[Ar]),e.end()}this[wc](CB)}}[hB](e){if(this[dB])this[zD](e);else if(!e&&!this[Ar])this[VD]();else{if(this[dB]=!0,this[Ar]){this[zD](e);let r=this[Ar];this[Ar]=null,this[pB](r)}else this[pB](e);for(;this[Ar]&&this[Ar].length>=512&&!this[MA]&&!this[EB];){let r=this[Ar];this[Ar]=null,this[pB](r)}this[dB]=!1}(!this[Ar]||this[yc])&&this[VD]()}[pB](e){let r=0,i=e.length;for(;r+512<=i&&!this[MA]&&!this[EB];)switch(this[cs]){case"begin":case"header":this[vV](e,r),r+=512;break;case"ignore":case"body":r+=this[WD](e,r);break;case"meta":r+=this[bV](e,r);break;default:throw new Error("invalid state: "+this[cs])}r{"use strict";var YNe=fg(),xV=ld(),vg=require("fs"),qNe=bg(),kV=require("path"),Tlt=SV.exports=(t,e,r)=>{typeof t=="function"?(r=t,e=null,t={}):Array.isArray(t)&&(e=t,t={}),typeof e=="function"&&(r=e,e=null),e?e=Array.from(e):e=[];let i=YNe(t);if(i.sync&&typeof r=="function")throw new TypeError("callback not supported for sync tar functions");if(!i.file&&typeof r=="function")throw new TypeError("callback only supported with file option");return e.length&&WNe(i,e),i.noResume||JNe(i),i.file&&i.sync?zNe(i):i.file?VNe(i,r):PV(i)},JNe=t=>{let e=t.onentry;t.onentry=e?r=>{e(r),r.resume()}:r=>r.resume()},WNe=(t,e)=>{let r=new Map(e.map(s=>[s.replace(/\/+$/,""),!0])),i=t.filter,n=(s,o)=>{let a=o||kV.parse(s).root||".",l=s===a?!1:r.has(s)?r.get(s):n(kV.dirname(s),a);return r.set(s,l),l};t.filter=i?(s,o)=>i(s,o)&&n(s.replace(/\/+$/,"")):s=>n(s.replace(/\/+$/,""))},zNe=t=>{let e=PV(t),r=t.file,i=!0,n;try{let s=vg.statSync(r),o=t.maxReadSize||16*1024*1024;if(s.size{let r=new xV(t),i=t.maxReadSize||16*1024*1024,n=t.file,s=new Promise((o,a)=>{r.on("error",a),r.on("end",o),vg.stat(n,(l,c)=>{if(l)a(l);else{let u=new qNe.ReadStream(n,{readSize:i,size:c.size});u.on("error",a),u.pipe(r)}})});return e?s.then(e,e):s},PV=t=>new xV(t)});var TV=E((Ult,DV)=>{"use strict";var _Ne=fg(),yB=AB(),Olt=require("fs"),RV=bg(),FV=IB(),NV=require("path"),Klt=DV.exports=(t,e,r)=>{if(typeof e=="function"&&(r=e),Array.isArray(t)&&(e=t,t={}),!e||!Array.isArray(e)||!e.length)throw new TypeError("no files or directories specified");e=Array.from(e);let i=_Ne(t);if(i.sync&&typeof r=="function")throw new TypeError("callback not supported for sync tar functions");if(!i.file&&typeof r=="function")throw new TypeError("callback only supported with file option");return i.file&&i.sync?XNe(i,e):i.file?ZNe(i,e,r):i.sync?$Ne(i,e):eLe(i,e)},XNe=(t,e)=>{let r=new yB.Sync(t),i=new RV.WriteStreamSync(t.file,{mode:t.mode||438});r.pipe(i),LV(r,e)},ZNe=(t,e,r)=>{let i=new yB(t),n=new RV.WriteStream(t.file,{mode:t.mode||438});i.pipe(n);let s=new Promise((o,a)=>{n.on("error",a),n.on("close",o),i.on("error",a)});return _D(i,e),r?s.then(r,r):s},LV=(t,e)=>{e.forEach(r=>{r.charAt(0)==="@"?FV({file:NV.resolve(t.cwd,r.substr(1)),sync:!0,noResume:!0,onentry:i=>t.add(i)}):t.add(r)}),t.end()},_D=(t,e)=>{for(;e.length;){let r=e.shift();if(r.charAt(0)==="@")return FV({file:NV.resolve(t.cwd,r.substr(1)),noResume:!0,onentry:i=>t.add(i)}).then(i=>_D(t,e));t.add(r)}t.end()},$Ne=(t,e)=>{let r=new yB.Sync(t);return LV(r,e),r},eLe=(t,e)=>{let r=new yB(t);return _D(r,e),r}});var XD=E((jlt,MV)=>{"use strict";var tLe=fg(),OV=AB(),Hlt=ld(),gs=require("fs"),KV=bg(),UV=IB(),HV=require("path"),GV=Cg(),Glt=MV.exports=(t,e,r)=>{let i=tLe(t);if(!i.file)throw new TypeError("file is required");if(i.gzip)throw new TypeError("cannot append to compressed archives");if(!e||!Array.isArray(e)||!e.length)throw new TypeError("no files or directories specified");return e=Array.from(e),i.sync?rLe(i,e):iLe(i,e,r)},rLe=(t,e)=>{let r=new OV.Sync(t),i=!0,n,s;try{try{n=gs.openSync(t.file,"r+")}catch(l){if(l.code==="ENOENT")n=gs.openSync(t.file,"w+");else throw l}let o=gs.fstatSync(n),a=Buffer.alloc(512);e:for(s=0;so.size)break;s+=c,t.mtimeCache&&t.mtimeCache.set(l.path,l.mtime)}i=!1,nLe(t,r,s,n,e)}finally{if(i)try{gs.closeSync(n)}catch(o){}}},nLe=(t,e,r,i,n)=>{let s=new KV.WriteStreamSync(t.file,{fd:i,start:r});e.pipe(s),sLe(e,n)},iLe=(t,e,r)=>{e=Array.from(e);let i=new OV(t),n=(o,a,l)=>{let c=(p,d)=>{p?gs.close(o,m=>l(p)):l(null,d)},u=0;if(a===0)return c(null,0);let g=0,f=Buffer.alloc(512),h=(p,d)=>{if(p)return c(p);if(g+=d,g<512&&d)return gs.read(o,f,g,f.length-g,u+g,h);if(u===0&&f[0]===31&&f[1]===139)return c(new Error("cannot append to compressed archives"));if(g<512)return c(null,u);let m=new GV(f);if(!m.cksumValid)return c(null,u);let I=512*Math.ceil(m.size/512);if(u+I+512>a||(u+=I+512,u>=a))return c(null,u);t.mtimeCache&&t.mtimeCache.set(m.path,m.mtime),g=0,gs.read(o,f,0,512,u,h)};gs.read(o,f,0,512,u,h)},s=new Promise((o,a)=>{i.on("error",a);let l="r+",c=(u,g)=>{if(u&&u.code==="ENOENT"&&l==="r+")return l="w+",gs.open(t.file,l,c);if(u)return a(u);gs.fstat(g,(f,h)=>{if(f)return a(f);n(g,h.size,(p,d)=>{if(p)return a(p);let m=new KV.WriteStream(t.file,{fd:g,start:d});i.pipe(m),m.on("error",a),m.on("close",o),jV(i,e)})})};gs.open(t.file,l,c)});return r?s.then(r,r):s},sLe=(t,e)=>{e.forEach(r=>{r.charAt(0)==="@"?UV({file:HV.resolve(t.cwd,r.substr(1)),sync:!0,noResume:!0,onentry:i=>t.add(i)}):t.add(r)}),t.end()},jV=(t,e)=>{for(;e.length;){let r=e.shift();if(r.charAt(0)==="@")return UV({file:HV.resolve(t.cwd,r.substr(1)),noResume:!0,onentry:i=>t.add(i)}).then(i=>jV(t,e));t.add(r)}t.end()}});var qV=E((qlt,YV)=>{"use strict";var oLe=fg(),aLe=XD(),Ylt=YV.exports=(t,e,r)=>{let i=oLe(t);if(!i.file)throw new TypeError("file is required");if(i.gzip)throw new TypeError("cannot append to compressed archives");if(!e||!Array.isArray(e)||!e.length)throw new TypeError("no files or directories specified");return e=Array.from(e),ALe(i),aLe(i,e,r)},ALe=t=>{let e=t.filter;t.mtimeCache||(t.mtimeCache=new Map),t.filter=e?(r,i)=>e(r,i)&&!(t.mtimeCache.get(r)>i.mtime):(r,i)=>!(t.mtimeCache.get(r)>i.mtime)}});var zV=E((Jlt,JV)=>{var{promisify:WV}=require("util"),OA=require("fs"),lLe=t=>{if(!t)t={mode:511,fs:OA};else if(typeof t=="object")t=P({mode:511,fs:OA},t);else if(typeof t=="number")t={mode:t,fs:OA};else if(typeof t=="string")t={mode:parseInt(t,8),fs:OA};else throw new TypeError("invalid options argument");return t.mkdir=t.mkdir||t.fs.mkdir||OA.mkdir,t.mkdirAsync=WV(t.mkdir),t.stat=t.stat||t.fs.stat||OA.stat,t.statAsync=WV(t.stat),t.statSync=t.statSync||t.fs.statSync||OA.statSync,t.mkdirSync=t.mkdirSync||t.fs.mkdirSync||OA.mkdirSync,t};JV.exports=lLe});var _V=E((Wlt,VV)=>{var cLe=process.env.__TESTING_MKDIRP_PLATFORM__||process.platform,{resolve:uLe,parse:gLe}=require("path"),fLe=t=>{if(/\0/.test(t))throw Object.assign(new TypeError("path must be a string without null bytes"),{path:t,code:"ERR_INVALID_ARG_VALUE"});if(t=uLe(t),cLe==="win32"){let e=/[*|"<>?:]/,{root:r}=gLe(t);if(e.test(t.substr(r.length)))throw Object.assign(new Error("Illegal characters in path."),{path:t,code:"EINVAL"})}return t};VV.exports=fLe});var t7=E((zlt,XV)=>{var{dirname:ZV}=require("path"),$V=(t,e,r=void 0)=>r===e?Promise.resolve():t.statAsync(e).then(i=>i.isDirectory()?r:void 0,i=>i.code==="ENOENT"?$V(t,ZV(e),e):void 0),e7=(t,e,r=void 0)=>{if(r!==e)try{return t.statSync(e).isDirectory()?r:void 0}catch(i){return i.code==="ENOENT"?e7(t,ZV(e),e):void 0}};XV.exports={findMade:$V,findMadeSync:e7}});var eR=E((Vlt,r7)=>{var{dirname:i7}=require("path"),ZD=(t,e,r)=>{e.recursive=!1;let i=i7(t);return i===t?e.mkdirAsync(t,e).catch(n=>{if(n.code!=="EISDIR")throw n}):e.mkdirAsync(t,e).then(()=>r||t,n=>{if(n.code==="ENOENT")return ZD(i,e).then(s=>ZD(t,e,s));if(n.code!=="EEXIST"&&n.code!=="EROFS")throw n;return e.statAsync(t).then(s=>{if(s.isDirectory())return r;throw n},()=>{throw n})})},$D=(t,e,r)=>{let i=i7(t);if(e.recursive=!1,i===t)try{return e.mkdirSync(t,e)}catch(n){if(n.code!=="EISDIR")throw n;return}try{return e.mkdirSync(t,e),r||t}catch(n){if(n.code==="ENOENT")return $D(t,e,$D(i,e,r));if(n.code!=="EEXIST"&&n.code!=="EROFS")throw n;try{if(!e.statSync(t).isDirectory())throw n}catch(s){throw n}}};r7.exports={mkdirpManual:ZD,mkdirpManualSync:$D}});var o7=E((_lt,n7)=>{var{dirname:s7}=require("path"),{findMade:hLe,findMadeSync:pLe}=t7(),{mkdirpManual:dLe,mkdirpManualSync:CLe}=eR(),mLe=(t,e)=>(e.recursive=!0,s7(t)===t?e.mkdirAsync(t,e):hLe(e,t).then(i=>e.mkdirAsync(t,e).then(()=>i).catch(n=>{if(n.code==="ENOENT")return dLe(t,e);throw n}))),ELe=(t,e)=>{if(e.recursive=!0,s7(t)===t)return e.mkdirSync(t,e);let i=pLe(e,t);try{return e.mkdirSync(t,e),i}catch(n){if(n.code==="ENOENT")return CLe(t,e);throw n}};n7.exports={mkdirpNative:mLe,mkdirpNativeSync:ELe}});var c7=E((Xlt,a7)=>{var A7=require("fs"),ILe=process.env.__TESTING_MKDIRP_NODE_VERSION__||process.version,tR=ILe.replace(/^v/,"").split("."),l7=+tR[0]>10||+tR[0]==10&&+tR[1]>=12,yLe=l7?t=>t.mkdir===A7.mkdir:()=>!1,wLe=l7?t=>t.mkdirSync===A7.mkdirSync:()=>!1;a7.exports={useNative:yLe,useNativeSync:wLe}});var d7=E((Zlt,u7)=>{var Sg=zV(),xg=_V(),{mkdirpNative:g7,mkdirpNativeSync:f7}=o7(),{mkdirpManual:h7,mkdirpManualSync:p7}=eR(),{useNative:BLe,useNativeSync:QLe}=c7(),kg=(t,e)=>(t=xg(t),e=Sg(e),BLe(e)?g7(t,e):h7(t,e)),bLe=(t,e)=>(t=xg(t),e=Sg(e),QLe(e)?f7(t,e):p7(t,e));kg.sync=bLe;kg.native=(t,e)=>g7(xg(t),Sg(e));kg.manual=(t,e)=>h7(xg(t),Sg(e));kg.nativeSync=(t,e)=>f7(xg(t),Sg(e));kg.manualSync=(t,e)=>p7(xg(t),Sg(e));u7.exports=kg});var B7=E(($lt,C7)=>{"use strict";var fs=require("fs"),Qc=require("path"),vLe=fs.lchown?"lchown":"chown",SLe=fs.lchownSync?"lchownSync":"chownSync",m7=fs.lchown&&!process.version.match(/v1[1-9]+\./)&&!process.version.match(/v10\.[6-9]/),E7=(t,e,r)=>{try{return fs[SLe](t,e,r)}catch(i){if(i.code!=="ENOENT")throw i}},xLe=(t,e,r)=>{try{return fs.chownSync(t,e,r)}catch(i){if(i.code!=="ENOENT")throw i}},kLe=m7?(t,e,r,i)=>n=>{!n||n.code!=="EISDIR"?i(n):fs.chown(t,e,r,i)}:(t,e,r,i)=>i,rR=m7?(t,e,r)=>{try{return E7(t,e,r)}catch(i){if(i.code!=="EISDIR")throw i;xLe(t,e,r)}}:(t,e,r)=>E7(t,e,r),PLe=process.version,I7=(t,e,r)=>fs.readdir(t,e,r),DLe=(t,e)=>fs.readdirSync(t,e);/^v4\./.test(PLe)&&(I7=(t,e,r)=>fs.readdir(t,r));var wB=(t,e,r,i)=>{fs[vLe](t,e,r,kLe(t,e,r,n=>{i(n&&n.code!=="ENOENT"?n:null)}))},y7=(t,e,r,i,n)=>{if(typeof e=="string")return fs.lstat(Qc.resolve(t,e),(s,o)=>{if(s)return n(s.code!=="ENOENT"?s:null);o.name=e,y7(t,o,r,i,n)});if(e.isDirectory())iR(Qc.resolve(t,e.name),r,i,s=>{if(s)return n(s);let o=Qc.resolve(t,e.name);wB(o,r,i,n)});else{let s=Qc.resolve(t,e.name);wB(s,r,i,n)}},iR=(t,e,r,i)=>{I7(t,{withFileTypes:!0},(n,s)=>{if(n){if(n.code==="ENOENT")return i();if(n.code!=="ENOTDIR"&&n.code!=="ENOTSUP")return i(n)}if(n||!s.length)return wB(t,e,r,i);let o=s.length,a=null,l=c=>{if(!a){if(c)return i(a=c);if(--o==0)return wB(t,e,r,i)}};s.forEach(c=>y7(t,c,e,r,l))})},RLe=(t,e,r,i)=>{if(typeof e=="string")try{let n=fs.lstatSync(Qc.resolve(t,e));n.name=e,e=n}catch(n){if(n.code==="ENOENT")return;throw n}e.isDirectory()&&w7(Qc.resolve(t,e.name),r,i),rR(Qc.resolve(t,e.name),r,i)},w7=(t,e,r)=>{let i;try{i=DLe(t,{withFileTypes:!0})}catch(n){if(n.code==="ENOENT")return;if(n.code==="ENOTDIR"||n.code==="ENOTSUP")return rR(t,e,r);throw n}return i&&i.length&&i.forEach(n=>RLe(t,n,e,r)),rR(t,e,r)};C7.exports=iR;iR.sync=w7});var S7=E((rct,nR)=>{"use strict";var Q7=d7(),hs=require("fs"),BB=require("path"),b7=B7(),sR=class extends Error{constructor(e,r){super("Cannot extract through symbolic link");this.path=r,this.symlink=e}get name(){return"SylinkError"}},cd=class extends Error{constructor(e,r){super(r+": Cannot cd into '"+e+"'");this.path=e,this.code=r}get name(){return"CwdError"}},ect=nR.exports=(t,e,r)=>{let i=e.umask,n=e.mode|448,s=(n&i)!=0,o=e.uid,a=e.gid,l=typeof o=="number"&&typeof a=="number"&&(o!==e.processUid||a!==e.processGid),c=e.preserve,u=e.unlink,g=e.cache,f=e.cwd,h=(m,I)=>{m?r(m):(g.set(t,!0),I&&l?b7(I,o,a,B=>h(B)):s?hs.chmod(t,n,r):r())};if(g&&g.get(t)===!0)return h();if(t===f)return hs.stat(t,(m,I)=>{(m||!I.isDirectory())&&(m=new cd(t,m&&m.code||"ENOTDIR")),h(m)});if(c)return Q7(t,{mode:n}).then(m=>h(null,m),h);let d=BB.relative(f,t).split(/\/|\\/);QB(f,d,n,g,u,f,null,h)},QB=(t,e,r,i,n,s,o,a)=>{if(!e.length)return a(null,o);let l=e.shift(),c=t+"/"+l;if(i.get(c))return QB(c,e,r,i,n,s,o,a);hs.mkdir(c,r,v7(c,e,r,i,n,s,o,a))},v7=(t,e,r,i,n,s,o,a)=>l=>{if(l){if(l.path&&BB.dirname(l.path)===s&&(l.code==="ENOTDIR"||l.code==="ENOENT"))return a(new cd(s,l.code));hs.lstat(t,(c,u)=>{if(c)a(c);else if(u.isDirectory())QB(t,e,r,i,n,s,o,a);else if(n)hs.unlink(t,g=>{if(g)return a(g);hs.mkdir(t,r,v7(t,e,r,i,n,s,o,a))});else{if(u.isSymbolicLink())return a(new sR(t,t+"/"+e.join("/")));a(l)}})}else o=o||t,QB(t,e,r,i,n,s,o,a)},tct=nR.exports.sync=(t,e)=>{let r=e.umask,i=e.mode|448,n=(i&r)!=0,s=e.uid,o=e.gid,a=typeof s=="number"&&typeof o=="number"&&(s!==e.processUid||o!==e.processGid),l=e.preserve,c=e.unlink,u=e.cache,g=e.cwd,f=m=>{u.set(t,!0),m&&a&&b7.sync(m,s,o),n&&hs.chmodSync(t,i)};if(u&&u.get(t)===!0)return f();if(t===g){let m=!1,I="ENOTDIR";try{m=hs.statSync(t).isDirectory()}catch(B){I=B.code}finally{if(!m)throw new cd(t,I)}f();return}if(l)return f(Q7.sync(t,i));let p=BB.relative(g,t).split(/\/|\\/),d=null;for(let m=p.shift(),I=g;m&&(I+="/"+m);m=p.shift())if(!u.get(I))try{hs.mkdirSync(I,i),d=d||I,u.set(I,!0)}catch(B){if(B.path&&BB.dirname(B.path)===g&&(B.code==="ENOTDIR"||B.code==="ENOENT"))return new cd(g,B.code);let b=hs.lstatSync(I);if(b.isDirectory()){u.set(I,!0);continue}else if(c){hs.unlinkSync(I),hs.mkdirSync(I,i),d=d||I,u.set(I,!0);continue}else if(b.isSymbolicLink())return new sR(I,I+"/"+p.join("/"))}return f(d)}});var P7=E((ict,x7)=>{var k7=require("assert");x7.exports=()=>{let t=new Map,e=new Map,{join:r}=require("path"),i=u=>r(u).split(/[\\\/]/).slice(0,-1).reduce((g,f)=>g.length?g.concat(r(g[g.length-1],f)):[f],[]),n=new Set,s=u=>{let g=e.get(u);if(!g)throw new Error("function does not have any path reservations");return{paths:g.paths.map(f=>t.get(f)),dirs:[...g.dirs].map(f=>t.get(f))}},o=u=>{let{paths:g,dirs:f}=s(u);return g.every(h=>h[0]===u)&&f.every(h=>h[0]instanceof Set&&h[0].has(u))},a=u=>n.has(u)||!o(u)?!1:(n.add(u),u(()=>l(u)),!0),l=u=>{if(!n.has(u))return!1;let{paths:g,dirs:f}=e.get(u),h=new Set;return g.forEach(p=>{let d=t.get(p);k7.equal(d[0],u),d.length===1?t.delete(p):(d.shift(),typeof d[0]=="function"?h.add(d[0]):d[0].forEach(m=>h.add(m)))}),f.forEach(p=>{let d=t.get(p);k7(d[0]instanceof Set),d[0].size===1&&d.length===1?t.delete(p):d[0].size===1?(d.shift(),h.add(d[0])):d[0].delete(u)}),n.delete(u),h.forEach(p=>a(p)),!0};return{check:o,reserve:(u,g)=>{let f=new Set(u.map(h=>i(h)).reduce((h,p)=>h.concat(p)));return e.set(g,{dirs:f,paths:u}),u.forEach(h=>{let p=t.get(h);p?p.push(g):t.set(h,[g])}),f.forEach(h=>{let p=t.get(h);p?p[p.length-1]instanceof Set?p[p.length-1].add(g):p.push(new Set([g])):t.set(h,[new Set([g])])}),a(g)}}}});var F7=E((nct,D7)=>{var FLe=process.env.__FAKE_PLATFORM__||process.platform,NLe=FLe==="win32",LLe=global.__FAKE_TESTING_FS__||require("fs"),{O_CREAT:TLe,O_TRUNC:MLe,O_WRONLY:OLe,UV_FS_O_FILEMAP:R7=0}=LLe.constants,KLe=NLe&&!!R7,ULe=512*1024,HLe=R7|MLe|TLe|OLe;D7.exports=KLe?t=>t"w"});var hR=E((Act,N7)=>{"use strict";var GLe=require("assert"),sct=require("events").EventEmitter,jLe=ld(),Ut=require("fs"),YLe=bg(),Pa=require("path"),oR=S7(),oct=oR.sync,L7=yD(),qLe=P7(),T7=Symbol("onEntry"),aR=Symbol("checkFs"),M7=Symbol("checkFs2"),AR=Symbol("isReusable"),Da=Symbol("makeFs"),lR=Symbol("file"),cR=Symbol("directory"),bB=Symbol("link"),O7=Symbol("symlink"),K7=Symbol("hardlink"),U7=Symbol("unsupported"),act=Symbol("unknown"),H7=Symbol("checkPath"),Pg=Symbol("mkdir"),nn=Symbol("onError"),vB=Symbol("pending"),G7=Symbol("pend"),Dg=Symbol("unpend"),uR=Symbol("ended"),gR=Symbol("maybeClose"),fR=Symbol("skip"),ud=Symbol("doChown"),gd=Symbol("uid"),fd=Symbol("gid"),j7=require("crypto"),Y7=F7(),SB=()=>{throw new Error("sync function called cb somehow?!?")},JLe=(t,e)=>{if(process.platform!=="win32")return Ut.unlink(t,e);let r=t+".DELETE."+j7.randomBytes(16).toString("hex");Ut.rename(t,r,i=>{if(i)return e(i);Ut.unlink(r,e)})},WLe=t=>{if(process.platform!=="win32")return Ut.unlinkSync(t);let e=t+".DELETE."+j7.randomBytes(16).toString("hex");Ut.renameSync(t,e),Ut.unlinkSync(e)},q7=(t,e,r)=>t===t>>>0?t:e===e>>>0?e:r,xB=class extends jLe{constructor(e){if(e||(e={}),e.ondone=r=>{this[uR]=!0,this[gR]()},super(e),this.reservations=qLe(),this.transform=typeof e.transform=="function"?e.transform:null,this.writable=!0,this.readable=!1,this[vB]=0,this[uR]=!1,this.dirCache=e.dirCache||new Map,typeof e.uid=="number"||typeof e.gid=="number"){if(typeof e.uid!="number"||typeof e.gid!="number")throw new TypeError("cannot set owner without number uid and gid");if(e.preserveOwner)throw new TypeError("cannot preserve owner in archive and also set owner explicitly");this.uid=e.uid,this.gid=e.gid,this.setOwner=!0}else this.uid=null,this.gid=null,this.setOwner=!1;e.preserveOwner===void 0&&typeof e.uid!="number"?this.preserveOwner=process.getuid&&process.getuid()===0:this.preserveOwner=!!e.preserveOwner,this.processUid=(this.preserveOwner||this.setOwner)&&process.getuid?process.getuid():null,this.processGid=(this.preserveOwner||this.setOwner)&&process.getgid?process.getgid():null,this.forceChown=e.forceChown===!0,this.win32=!!e.win32||process.platform==="win32",this.newer=!!e.newer,this.keep=!!e.keep,this.noMtime=!!e.noMtime,this.preservePaths=!!e.preservePaths,this.unlink=!!e.unlink,this.cwd=Pa.resolve(e.cwd||process.cwd()),this.strip=+e.strip||0,this.processUmask=process.umask(),this.umask=typeof e.umask=="number"?e.umask:this.processUmask,this.dmode=e.dmode||511&~this.umask,this.fmode=e.fmode||438&~this.umask,this.on("entry",r=>this[T7](r))}warn(e,r,i={}){return(e==="TAR_BAD_ARCHIVE"||e==="TAR_ABORT")&&(i.recoverable=!1),super.warn(e,r,i)}[gR](){this[uR]&&this[vB]===0&&(this.emit("prefinish"),this.emit("finish"),this.emit("end"),this.emit("close"))}[H7](e){if(this.strip){let r=e.path.split(/\/|\\/);if(r.length=this.strip&&(e.linkpath=i.slice(this.strip).join("/"))}}if(!this.preservePaths){let r=e.path;if(r.match(/(^|\/|\\)\.\.(\\|\/|$)/))return this.warn("TAR_ENTRY_ERROR","path contains '..'",{entry:e,path:r}),!1;if(Pa.win32.isAbsolute(r)){let i=Pa.win32.parse(r);e.path=r.substr(i.root.length);let n=i.root;this.warn("TAR_ENTRY_INFO",`stripping ${n} from absolute path`,{entry:e,path:r})}}if(this.win32){let r=Pa.win32.parse(e.path);e.path=r.root===""?L7.encode(e.path):r.root+L7.encode(e.path.substr(r.root.length))}return Pa.isAbsolute(e.path)?e.absolute=e.path:e.absolute=Pa.resolve(this.cwd,e.path),!0}[T7](e){if(!this[H7](e))return e.resume();switch(GLe.equal(typeof e.absolute,"string"),e.type){case"Directory":case"GNUDumpDir":e.mode&&(e.mode=e.mode|448);case"File":case"OldFile":case"ContiguousFile":case"Link":case"SymbolicLink":return this[aR](e);case"CharacterDevice":case"BlockDevice":case"FIFO":return this[U7](e)}}[nn](e,r){e.name==="CwdError"?this.emit("error",e):(this.warn("TAR_ENTRY_ERROR",e,{entry:r}),this[Dg](),r.resume())}[Pg](e,r,i){oR(e,{uid:this.uid,gid:this.gid,processUid:this.processUid,processGid:this.processGid,umask:this.processUmask,preserve:this.preservePaths,unlink:this.unlink,cache:this.dirCache,cwd:this.cwd,mode:r},i)}[ud](e){return this.forceChown||this.preserveOwner&&(typeof e.uid=="number"&&e.uid!==this.processUid||typeof e.gid=="number"&&e.gid!==this.processGid)||typeof this.uid=="number"&&this.uid!==this.processUid||typeof this.gid=="number"&&this.gid!==this.processGid}[gd](e){return q7(this.uid,e.uid,this.processUid)}[fd](e){return q7(this.gid,e.gid,this.processGid)}[lR](e,r){let i=e.mode&4095||this.fmode,n=new YLe.WriteStream(e.absolute,{flags:Y7(e.size),mode:i,autoClose:!1});n.on("error",l=>this[nn](l,e));let s=1,o=l=>{if(l)return this[nn](l,e);--s==0&&Ut.close(n.fd,c=>{r(),c?this[nn](c,e):this[Dg]()})};n.on("finish",l=>{let c=e.absolute,u=n.fd;if(e.mtime&&!this.noMtime){s++;let g=e.atime||new Date,f=e.mtime;Ut.futimes(u,g,f,h=>h?Ut.utimes(c,g,f,p=>o(p&&h)):o())}if(this[ud](e)){s++;let g=this[gd](e),f=this[fd](e);Ut.fchown(u,g,f,h=>h?Ut.chown(c,g,f,p=>o(p&&h)):o())}o()});let a=this.transform&&this.transform(e)||e;a!==e&&(a.on("error",l=>this[nn](l,e)),e.pipe(a)),a.pipe(n)}[cR](e,r){let i=e.mode&4095||this.dmode;this[Pg](e.absolute,i,n=>{if(n)return r(),this[nn](n,e);let s=1,o=a=>{--s==0&&(r(),this[Dg](),e.resume())};e.mtime&&!this.noMtime&&(s++,Ut.utimes(e.absolute,e.atime||new Date,e.mtime,o)),this[ud](e)&&(s++,Ut.chown(e.absolute,this[gd](e),this[fd](e),o)),o()})}[U7](e){e.unsupported=!0,this.warn("TAR_ENTRY_UNSUPPORTED",`unsupported entry type: ${e.type}`,{entry:e}),e.resume()}[O7](e,r){this[bB](e,e.linkpath,"symlink",r)}[K7](e,r){this[bB](e,Pa.resolve(this.cwd,e.linkpath),"link",r)}[G7](){this[vB]++}[Dg](){this[vB]--,this[gR]()}[fR](e){this[Dg](),e.resume()}[AR](e,r){return e.type==="File"&&!this.unlink&&r.isFile()&&r.nlink<=1&&process.platform!=="win32"}[aR](e){this[G7]();let r=[e.path];e.linkpath&&r.push(e.linkpath),this.reservations.reserve(r,i=>this[M7](e,i))}[M7](e,r){this[Pg](Pa.dirname(e.absolute),this.dmode,i=>{if(i)return r(),this[nn](i,e);Ut.lstat(e.absolute,(n,s)=>{s&&(this.keep||this.newer&&s.mtime>e.mtime)?(this[fR](e),r()):n||this[AR](e,s)?this[Da](null,e,r):s.isDirectory()?e.type==="Directory"?!e.mode||(s.mode&4095)===e.mode?this[Da](null,e,r):Ut.chmod(e.absolute,e.mode,o=>this[Da](o,e,r)):Ut.rmdir(e.absolute,o=>this[Da](o,e,r)):JLe(e.absolute,o=>this[Da](o,e,r))})})}[Da](e,r,i){if(e)return this[nn](e,r);switch(r.type){case"File":case"OldFile":case"ContiguousFile":return this[lR](r,i);case"Link":return this[K7](r,i);case"SymbolicLink":return this[O7](r,i);case"Directory":case"GNUDumpDir":return this[cR](r,i)}}[bB](e,r,i,n){Ut[i](r,e.absolute,s=>{if(s)return this[nn](s,e);n(),this[Dg](),e.resume()})}},J7=class extends xB{constructor(e){super(e)}[aR](e){let r=this[Pg](Pa.dirname(e.absolute),this.dmode,SB);if(r)return this[nn](r,e);try{let i=Ut.lstatSync(e.absolute);if(this.keep||this.newer&&i.mtime>e.mtime)return this[fR](e);if(this[AR](e,i))return this[Da](null,e,SB);try{return i.isDirectory()?e.type==="Directory"?e.mode&&(i.mode&4095)!==e.mode&&Ut.chmodSync(e.absolute,e.mode):Ut.rmdirSync(e.absolute):WLe(e.absolute),this[Da](null,e,SB)}catch(n){return this[nn](n,e)}}catch(i){return this[Da](null,e,SB)}}[lR](e,r){let i=e.mode&4095||this.fmode,n=l=>{let c;try{Ut.closeSync(o)}catch(u){c=u}(l||c)&&this[nn](l||c,e)},s,o;try{o=Ut.openSync(e.absolute,Y7(e.size),i)}catch(l){return n(l)}let a=this.transform&&this.transform(e)||e;a!==e&&(a.on("error",l=>this[nn](l,e)),e.pipe(a)),a.on("data",l=>{try{Ut.writeSync(o,l,0,l.length)}catch(c){n(c)}}),a.on("end",l=>{let c=null;if(e.mtime&&!this.noMtime){let u=e.atime||new Date,g=e.mtime;try{Ut.futimesSync(o,u,g)}catch(f){try{Ut.utimesSync(e.absolute,u,g)}catch(h){c=f}}}if(this[ud](e)){let u=this[gd](e),g=this[fd](e);try{Ut.fchownSync(o,u,g)}catch(f){try{Ut.chownSync(e.absolute,u,g)}catch(h){c=c||f}}}n(c)})}[cR](e,r){let i=e.mode&4095||this.dmode,n=this[Pg](e.absolute,i);if(n)return this[nn](n,e);if(e.mtime&&!this.noMtime)try{Ut.utimesSync(e.absolute,e.atime||new Date,e.mtime)}catch(s){}if(this[ud](e))try{Ut.chownSync(e.absolute,this[gd](e),this[fd](e))}catch(s){}e.resume()}[Pg](e,r){try{return oR.sync(e,{uid:this.uid,gid:this.gid,processUid:this.processUid,processGid:this.processGid,umask:this.processUmask,preserve:this.preservePaths,unlink:this.unlink,cache:this.dirCache,cwd:this.cwd,mode:r})}catch(i){return i}}[bB](e,r,i,n){try{Ut[i+"Sync"](r,e.absolute),e.resume()}catch(s){return this[nn](s,e)}}};xB.Sync=J7;N7.exports=xB});var X7=E((cct,W7)=>{"use strict";var zLe=fg(),kB=hR(),z7=require("fs"),V7=bg(),_7=require("path"),lct=W7.exports=(t,e,r)=>{typeof t=="function"?(r=t,e=null,t={}):Array.isArray(t)&&(e=t,t={}),typeof e=="function"&&(r=e,e=null),e?e=Array.from(e):e=[];let i=zLe(t);if(i.sync&&typeof r=="function")throw new TypeError("callback not supported for sync tar functions");if(!i.file&&typeof r=="function")throw new TypeError("callback only supported with file option");return e.length&&VLe(i,e),i.file&&i.sync?_Le(i):i.file?XLe(i,r):i.sync?ZLe(i):$Le(i)},VLe=(t,e)=>{let r=new Map(e.map(s=>[s.replace(/\/+$/,""),!0])),i=t.filter,n=(s,o)=>{let a=o||_7.parse(s).root||".",l=s===a?!1:r.has(s)?r.get(s):n(_7.dirname(s),a);return r.set(s,l),l};t.filter=i?(s,o)=>i(s,o)&&n(s.replace(/\/+$/,"")):s=>n(s.replace(/\/+$/,""))},_Le=t=>{let e=new kB.Sync(t),r=t.file,i=!0,n,s=z7.statSync(r),o=t.maxReadSize||16*1024*1024;new V7.ReadStreamSync(r,{readSize:o,size:s.size}).pipe(e)},XLe=(t,e)=>{let r=new kB(t),i=t.maxReadSize||16*1024*1024,n=t.file,s=new Promise((o,a)=>{r.on("error",a),r.on("close",o),z7.stat(n,(l,c)=>{if(l)a(l);else{let u=new V7.ReadStream(n,{readSize:i,size:c.size});u.on("error",a),u.pipe(r)}})});return e?s.then(e,e):s},ZLe=t=>new kB.Sync(t),$Le=t=>new kB(t)});var Z7=E($r=>{"use strict";$r.c=$r.create=TV();$r.r=$r.replace=XD();$r.t=$r.list=IB();$r.u=$r.update=qV();$r.x=$r.extract=X7();$r.Pack=AB();$r.Unpack=hR();$r.Parse=ld();$r.ReadEntry=id();$r.WriteEntry=xD();$r.Header=Cg();$r.Pax=zw();$r.types=rd()});var e_=E((gct,pR)=>{"use strict";var eTe=Object.prototype.hasOwnProperty,sn="~";function hd(){}Object.create&&(hd.prototype=Object.create(null),new hd().__proto__||(sn=!1));function tTe(t,e,r){this.fn=t,this.context=e,this.once=r||!1}function $7(t,e,r,i,n){if(typeof r!="function")throw new TypeError("The listener must be a function");var s=new tTe(r,i||t,n),o=sn?sn+e:e;return t._events[o]?t._events[o].fn?t._events[o]=[t._events[o],s]:t._events[o].push(s):(t._events[o]=s,t._eventsCount++),t}function PB(t,e){--t._eventsCount==0?t._events=new hd:delete t._events[e]}function Ti(){this._events=new hd,this._eventsCount=0}Ti.prototype.eventNames=function(){var e=[],r,i;if(this._eventsCount===0)return e;for(i in r=this._events)eTe.call(r,i)&&e.push(sn?i.slice(1):i);return Object.getOwnPropertySymbols?e.concat(Object.getOwnPropertySymbols(r)):e};Ti.prototype.listeners=function(e){var r=sn?sn+e:e,i=this._events[r];if(!i)return[];if(i.fn)return[i.fn];for(var n=0,s=i.length,o=new Array(s);n{"use strict";t_.exports=(t,e)=>(e=e||(()=>{}),t.then(r=>new Promise(i=>{i(e())}).then(()=>r),r=>new Promise(i=>{i(e())}).then(()=>{throw r})))});var n_=E((hct,DB)=>{"use strict";var rTe=r_(),dR=class extends Error{constructor(e){super(e);this.name="TimeoutError"}},i_=(t,e,r)=>new Promise((i,n)=>{if(typeof e!="number"||e<0)throw new TypeError("Expected `milliseconds` to be a positive number");if(e===Infinity){i(t);return}let s=setTimeout(()=>{if(typeof r=="function"){try{i(r())}catch(l){n(l)}return}let o=typeof r=="string"?r:`Promise timed out after ${e} milliseconds`,a=r instanceof Error?r:new dR(o);typeof t.cancel=="function"&&t.cancel(),n(a)},e);rTe(t.then(i,n),()=>{clearTimeout(s)})});DB.exports=i_;DB.exports.default=i_;DB.exports.TimeoutError=dR});var s_=E(CR=>{"use strict";Object.defineProperty(CR,"__esModule",{value:!0});function iTe(t,e,r){let i=0,n=t.length;for(;n>0;){let s=n/2|0,o=i+s;r(t[o],e)<=0?(i=++o,n-=s+1):n=s}return i}CR.default=iTe});var a_=E(mR=>{"use strict";Object.defineProperty(mR,"__esModule",{value:!0});var nTe=s_(),o_=class{constructor(){this._queue=[]}enqueue(e,r){r=Object.assign({priority:0},r);let i={priority:r.priority,run:e};if(this.size&&this._queue[this.size-1].priority>=r.priority){this._queue.push(i);return}let n=nTe.default(this._queue,i,(s,o)=>o.priority-s.priority);this._queue.splice(n,0,i)}dequeue(){let e=this._queue.shift();return e==null?void 0:e.run}filter(e){return this._queue.filter(r=>r.priority===e.priority).map(r=>r.run)}get size(){return this._queue.length}};mR.default=o_});var c_=E(ER=>{"use strict";Object.defineProperty(ER,"__esModule",{value:!0});var sTe=e_(),A_=n_(),oTe=a_(),RB=()=>{},aTe=new A_.TimeoutError,l_=class extends sTe{constructor(e){var r,i,n,s;super();if(this._intervalCount=0,this._intervalEnd=0,this._pendingCount=0,this._resolveEmpty=RB,this._resolveIdle=RB,e=Object.assign({carryoverConcurrencyCount:!1,intervalCap:Infinity,interval:0,concurrency:Infinity,autoStart:!0,queueClass:oTe.default},e),!(typeof e.intervalCap=="number"&&e.intervalCap>=1))throw new TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${(i=(r=e.intervalCap)===null||r===void 0?void 0:r.toString())!==null&&i!==void 0?i:""}\` (${typeof e.intervalCap})`);if(e.interval===void 0||!(Number.isFinite(e.interval)&&e.interval>=0))throw new TypeError(`Expected \`interval\` to be a finite number >= 0, got \`${(s=(n=e.interval)===null||n===void 0?void 0:n.toString())!==null&&s!==void 0?s:""}\` (${typeof e.interval})`);this._carryoverConcurrencyCount=e.carryoverConcurrencyCount,this._isIntervalIgnored=e.intervalCap===Infinity||e.interval===0,this._intervalCap=e.intervalCap,this._interval=e.interval,this._queue=new e.queueClass,this._queueClass=e.queueClass,this.concurrency=e.concurrency,this._timeout=e.timeout,this._throwOnTimeout=e.throwOnTimeout===!0,this._isPaused=e.autoStart===!1}get _doesIntervalAllowAnother(){return this._isIntervalIgnored||this._intervalCount{this._onResumeInterval()},r)),!0}return!1}_tryToStartAnother(){if(this._queue.size===0)return this._intervalId&&clearInterval(this._intervalId),this._intervalId=void 0,this._resolvePromises(),!1;if(!this._isPaused){let e=!this._isIntervalPaused();if(this._doesIntervalAllowAnother&&this._doesConcurrentAllowAnother){let r=this._queue.dequeue();return r?(this.emit("active"),r(),e&&this._initializeIntervalIfNeeded(),!0):!1}}return!1}_initializeIntervalIfNeeded(){this._isIntervalIgnored||this._intervalId!==void 0||(this._intervalId=setInterval(()=>{this._onInterval()},this._interval),this._intervalEnd=Date.now()+this._interval)}_onInterval(){this._intervalCount===0&&this._pendingCount===0&&this._intervalId&&(clearInterval(this._intervalId),this._intervalId=void 0),this._intervalCount=this._carryoverConcurrencyCount?this._pendingCount:0,this._processQueue()}_processQueue(){for(;this._tryToStartAnother(););}get concurrency(){return this._concurrency}set concurrency(e){if(!(typeof e=="number"&&e>=1))throw new TypeError(`Expected \`concurrency\` to be a number from 1 and up, got \`${e}\` (${typeof e})`);this._concurrency=e,this._processQueue()}async add(e,r={}){return new Promise((i,n)=>{let s=async()=>{this._pendingCount++,this._intervalCount++;try{let o=this._timeout===void 0&&r.timeout===void 0?e():A_.default(Promise.resolve(e()),r.timeout===void 0?this._timeout:r.timeout,()=>{(r.throwOnTimeout===void 0?this._throwOnTimeout:r.throwOnTimeout)&&n(aTe)});i(await o)}catch(o){n(o)}this._next()};this._queue.enqueue(s,r),this._tryToStartAnother(),this.emit("add")})}async addAll(e,r){return Promise.all(e.map(async i=>this.add(i,r)))}start(){return this._isPaused?(this._isPaused=!1,this._processQueue(),this):this}pause(){this._isPaused=!0}clear(){this._queue=new this._queueClass}async onEmpty(){if(this._queue.size!==0)return new Promise(e=>{let r=this._resolveEmpty;this._resolveEmpty=()=>{r(),e()}})}async onIdle(){if(!(this._pendingCount===0&&this._queue.size===0))return new Promise(e=>{let r=this._resolveIdle;this._resolveIdle=()=>{r(),e()}})}get size(){return this._queue.size}sizeBy(e){return this._queue.filter(e).length}get pending(){return this._pendingCount}get isPaused(){return this._isPaused}get timeout(){return this._timeout}set timeout(e){this._timeout=e}};ER.default=l_});var p_=E((Ect,h_)=>{var yR;h_.exports.getContent=()=>(typeof yR=="undefined"&&(yR=require("zlib").brotliDecompressSync(Buffer.from("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","base64")).toString()),yR)});var y_=E((wR,I_)=>{(function(t,e){typeof wR=="object"?I_.exports=e():typeof define=="function"&&define.amd?define(e):t.treeify=e()})(wR,function(){function t(n,s){var o=s?"\u2514":"\u251C";return n?o+="\u2500 ":o+="\u2500\u2500\u2510",o}function e(n,s){var o=[];for(var a in n)!n.hasOwnProperty(a)||s&&typeof n[a]=="function"||o.push(a);return o}function r(n,s,o,a,l,c,u){var g="",f=0,h,p,d=a.slice(0);if(d.push([s,o])&&a.length>0&&(a.forEach(function(I,B){B>0&&(g+=(I[1]?" ":"\u2502")+" "),!p&&I[0]===s&&(p=!0)}),g+=t(n,o)+n,l&&(typeof s!="object"||s instanceof Date)&&(g+=": "+s),p&&(g+=" (circular ref.)"),u(g)),!p&&typeof s=="object"){var m=e(s,c);m.forEach(function(I){h=++f===m.length,r(I,s[I],h,d,l,c,u)})}}var i={};return i.asLines=function(n,s,o,a){var l=typeof o!="function"?o:!1;r(".",n,!1,[],s,l,a||o)},i.asTree=function(n,s,o){var a="";return r(".",n,!1,[],s,o,function(l){a+=l+` +`}),a},i})});var x_=E((Uct,bR)=>{"use strict";var pTe=t=>{let e=!1,r=!1,i=!1;for(let n=0;n{if(!(typeof t=="string"||Array.isArray(t)))throw new TypeError("Expected the input to be `string | string[]`");e=Object.assign({pascalCase:!1},e);let r=n=>e.pascalCase?n.charAt(0).toUpperCase()+n.slice(1):n;return Array.isArray(t)?t=t.map(n=>n.trim()).filter(n=>n.length).join("-"):t=t.trim(),t.length===0?"":t.length===1?e.pascalCase?t.toUpperCase():t.toLowerCase():(t!==t.toLowerCase()&&(t=pTe(t)),t=t.replace(/^[_.\- ]+/,"").toLowerCase().replace(/[_.\- ]+(\w|$)/g,(n,s)=>s.toUpperCase()).replace(/\d+(\w|$)/g,n=>n.toUpperCase()),r(t))};bR.exports=S_;bR.exports.default=S_});var Na=E(TR=>{"use strict";Object.defineProperty(TR,"__esModule",{value:!0});TR.default=L_;function L_(){}L_.prototype={diff:function(e,r){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},n=i.callback;typeof i=="function"&&(n=i,i={}),this.options=i;var s=this;function o(d){return n?(setTimeout(function(){n(void 0,d)},0),!0):d}e=this.castInput(e),r=this.castInput(r),e=this.removeEmpty(this.tokenize(e)),r=this.removeEmpty(this.tokenize(r));var a=r.length,l=e.length,c=1,u=a+l,g=[{newPos:-1,components:[]}],f=this.extractCommon(g[0],r,e,0);if(g[0].newPos+1>=a&&f+1>=l)return o([{value:this.join(r),count:r.length}]);function h(){for(var d=-1*c;d<=c;d+=2){var m=void 0,I=g[d-1],B=g[d+1],b=(B?B.newPos:0)-d;I&&(g[d-1]=void 0);var R=I&&I.newPos+1=a&&b+1>=l)return o(yTe(s,m.components,r,e,s.useLongestToken));g[d]=m}c++}if(n)(function d(){setTimeout(function(){if(c>u)return n();h()||d()},0)})();else for(;c<=u;){var p=h();if(p)return p}},pushComponent:function(e,r,i){var n=e[e.length-1];n&&n.added===r&&n.removed===i?e[e.length-1]={count:n.count+1,added:r,removed:i}:e.push({count:1,added:r,removed:i})},extractCommon:function(e,r,i,n){for(var s=r.length,o=i.length,a=e.newPos,l=a-n,c=0;a+1h.length?d:h}),c.value=t.join(u)}else c.value=t.join(r.slice(a,a+c.count));a+=c.count,c.added||(l+=c.count)}}var f=e[o-1];return o>1&&typeof f.value=="string"&&(f.added||f.removed)&&t.equals("",f.value)&&(e[o-2].value+=f.value,e.pop()),e}function wTe(t){return{newPos:t.newPos,components:t.components.slice(0)}}});var M_=E(Cd=>{"use strict";Object.defineProperty(Cd,"__esModule",{value:!0});Cd.diffChars=BTe;Cd.characterDiff=void 0;var bTe=QTe(Na());function QTe(t){return t&&t.__esModule?t:{default:t}}var T_=new bTe.default;Cd.characterDiff=T_;function BTe(t,e,r){return T_.diff(t,e,r)}});var OR=E(MR=>{"use strict";Object.defineProperty(MR,"__esModule",{value:!0});MR.generateOptions=vTe;function vTe(t,e){if(typeof t=="function")e.callback=t;else if(t)for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r]);return e}});var U_=E(Ng=>{"use strict";Object.defineProperty(Ng,"__esModule",{value:!0});Ng.diffWords=STe;Ng.diffWordsWithSpace=xTe;Ng.wordDiff=void 0;var PTe=kTe(Na()),DTe=OR();function kTe(t){return t&&t.__esModule?t:{default:t}}var O_=/^[A-Za-z\xC0-\u02C6\u02C8-\u02D7\u02DE-\u02FF\u1E00-\u1EFF]+$/,K_=/\S/,md=new PTe.default;Ng.wordDiff=md;md.equals=function(t,e){return this.options.ignoreCase&&(t=t.toLowerCase(),e=e.toLowerCase()),t===e||this.options.ignoreWhitespace&&!K_.test(t)&&!K_.test(e)};md.tokenize=function(t){for(var e=t.split(/(\s+|[()[\]{}'"]|\b)/),r=0;r{"use strict";Object.defineProperty(Lg,"__esModule",{value:!0});Lg.diffLines=RTe;Lg.diffTrimmedLines=FTe;Lg.lineDiff=void 0;var LTe=NTe(Na()),TTe=OR();function NTe(t){return t&&t.__esModule?t:{default:t}}var OB=new LTe.default;Lg.lineDiff=OB;OB.tokenize=function(t){var e=[],r=t.split(/(\n|\r\n)/);r[r.length-1]||r.pop();for(var i=0;i{"use strict";Object.defineProperty(Ed,"__esModule",{value:!0});Ed.diffSentences=MTe;Ed.sentenceDiff=void 0;var KTe=OTe(Na());function OTe(t){return t&&t.__esModule?t:{default:t}}var KR=new KTe.default;Ed.sentenceDiff=KR;KR.tokenize=function(t){return t.split(/(\S.+?[.!?])(?=\s+|$)/)};function MTe(t,e,r){return KR.diff(t,e,r)}});var G_=E(Id=>{"use strict";Object.defineProperty(Id,"__esModule",{value:!0});Id.diffCss=UTe;Id.cssDiff=void 0;var GTe=HTe(Na());function HTe(t){return t&&t.__esModule?t:{default:t}}var UR=new GTe.default;Id.cssDiff=UR;UR.tokenize=function(t){return t.split(/([{}:;,]|\s+)/)};function UTe(t,e,r){return UR.diff(t,e,r)}});var Y_=E(Tg=>{"use strict";Object.defineProperty(Tg,"__esModule",{value:!0});Tg.diffJson=jTe;Tg.canonicalize=UB;Tg.jsonDiff=void 0;var j_=YTe(Na()),qTe=KB();function YTe(t){return t&&t.__esModule?t:{default:t}}function HB(t){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?HB=function(r){return typeof r}:HB=function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},HB(t)}var JTe=Object.prototype.toString,bc=new j_.default;Tg.jsonDiff=bc;bc.useLongestToken=!0;bc.tokenize=qTe.lineDiff.tokenize;bc.castInput=function(t){var e=this.options,r=e.undefinedReplacement,i=e.stringifyReplacer,n=i===void 0?function(s,o){return typeof o=="undefined"?r:o}:i;return typeof t=="string"?t:JSON.stringify(UB(t,null,null,n),n," ")};bc.equals=function(t,e){return j_.default.prototype.equals.call(bc,t.replace(/,([\r\n])/g,"$1"),e.replace(/,([\r\n])/g,"$1"))};function jTe(t,e,r){return bc.diff(t,e,r)}function UB(t,e,r,i,n){e=e||[],r=r||[],i&&(t=i(n,t));var s;for(s=0;s{"use strict";Object.defineProperty(yd,"__esModule",{value:!0});yd.diffArrays=WTe;yd.arrayDiff=void 0;var VTe=zTe(Na());function zTe(t){return t&&t.__esModule?t:{default:t}}var wd=new VTe.default;yd.arrayDiff=wd;wd.tokenize=function(t){return t.slice()};wd.join=wd.removeEmpty=function(t){return t};function WTe(t,e,r){return wd.diff(t,e,r)}});var GB=E(HR=>{"use strict";Object.defineProperty(HR,"__esModule",{value:!0});HR.parsePatch=_Te;function _Te(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=t.split(/\r\n|[\n\v\f\r\x85]/),i=t.match(/\r\n|[\n\v\f\r\x85]/g)||[],n=[],s=0;function o(){var c={};for(n.push(c);s{"use strict";Object.defineProperty(GR,"__esModule",{value:!0});GR.default=XTe;function XTe(t,e,r){var i=!0,n=!1,s=!1,o=1;return function a(){if(i&&!s){if(n?o++:i=!1,t+o<=r)return o;s=!0}if(!n)return s||(i=!0),e<=t-o?-o++:(n=!0,a())}}});var V_=E(jB=>{"use strict";Object.defineProperty(jB,"__esModule",{value:!0});jB.applyPatch=W_;jB.applyPatches=ZTe;var z_=GB(),eMe=$Te(J_());function $Te(t){return t&&t.__esModule?t:{default:t}}function W_(t,e){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};if(typeof e=="string"&&(e=(0,z_.parsePatch)(e)),Array.isArray(e)){if(e.length>1)throw new Error("applyPatch only works with a single input.");e=e[0]}var i=t.split(/\r\n|[\n\v\f\r\x85]/),n=t.match(/\r\n|[\n\v\f\r\x85]/g)||[],s=e.hunks,o=r.compareLine||function(F,D,he,pe){return D===pe},a=0,l=r.fuzzFactor||0,c=0,u=0,g,f;function h(F,D){for(var he=0;he0?pe[0]:" ",Pe=pe.length>0?pe.substr(1):pe;if(Ne===" "||Ne==="-"){if(!o(D+1,i[D],Ne,Pe)&&(a++,a>l))return!1;D++}}return!0}for(var p=0;p0?ne[0]:" ",A=ne.length>0?ne.substr(1):ne,V=L.linedelimiters[J];if(q===" ")K++;else if(q==="-")i.splice(K,1),n.splice(K,1);else if(q==="+")i.splice(K,0,A),n.splice(K,0,V),K++;else if(q==="\\"){var W=L.lines[J-1]?L.lines[J-1][0]:null;W==="+"?g=!0:W==="-"&&(f=!0)}}}if(g)for(;!i[i.length-1];)i.pop(),n.pop();else f&&(i.push(""),n.push(` +`));for(var X=0;X{"use strict";Object.defineProperty(Bd,"__esModule",{value:!0});Bd.structuredPatch=__;Bd.createTwoFilesPatch=X_;Bd.createPatch=tMe;var rMe=KB();function jR(t){return sMe(t)||nMe(t)||iMe()}function iMe(){throw new TypeError("Invalid attempt to spread non-iterable instance")}function nMe(t){if(Symbol.iterator in Object(t)||Object.prototype.toString.call(t)==="[object Arguments]")return Array.from(t)}function sMe(t){if(Array.isArray(t)){for(var e=0,r=new Array(t.length);e0?l(L.lines.slice(-o.context)):[],u-=f.length,g-=f.length)}(H=f).push.apply(H,jR(R.map(function(X){return(b.added?"+":"-")+X}))),b.added?p+=R.length:h+=R.length}else{if(u)if(R.length<=o.context*2&&B=a.length-2&&R.length<=o.context){var A=/\n$/.test(r),V=/\n$/.test(i),W=R.length==0&&f.length>q.oldLines;!A&&W&&f.splice(q.oldLines,0,"\\ No newline at end of file"),(!A&&!W||!V)&&f.push("\\ No newline at end of file")}c.push(q),u=0,g=0,f=[]}h+=R.length,p+=R.length}},m=0;m{"use strict";Object.defineProperty(YB,"__esModule",{value:!0});YB.arrayEqual=oMe;YB.arrayStartsWith=Z_;function oMe(t,e){return t.length!==e.length?!1:Z_(t,e)}function Z_(t,e){if(e.length>t.length)return!1;for(var r=0;r{"use strict";Object.defineProperty(qB,"__esModule",{value:!0});qB.calcLineCount=eX;qB.merge=aMe;var AMe=YR(),lMe=GB(),qR=$_();function Mg(t){return gMe(t)||uMe(t)||cMe()}function cMe(){throw new TypeError("Invalid attempt to spread non-iterable instance")}function uMe(t){if(Symbol.iterator in Object(t)||Object.prototype.toString.call(t)==="[object Arguments]")return Array.from(t)}function gMe(t){if(Array.isArray(t)){for(var e=0,r=new Array(t.length);e{"use strict";Object.defineProperty(zR,"__esModule",{value:!0});zR.convertChangesToDMP=dMe;function dMe(t){for(var e=[],r,i,n=0;n{"use strict";Object.defineProperty(VR,"__esModule",{value:!0});VR.convertChangesToXML=CMe;function CMe(t){for(var e=[],r=0;r"):i.removed&&e.push(""),e.push(mMe(i.value)),i.added?e.push(""):i.removed&&e.push("")}return e.join("")}function mMe(t){var e=t;return e=e.replace(/&/g,"&"),e=e.replace(//g,">"),e=e.replace(/"/g,"""),e}});var CX=E(br=>{"use strict";Object.defineProperty(br,"__esModule",{value:!0});Object.defineProperty(br,"Diff",{enumerable:!0,get:function(){return EMe.default}});Object.defineProperty(br,"diffChars",{enumerable:!0,get:function(){return IMe.diffChars}});Object.defineProperty(br,"diffWords",{enumerable:!0,get:function(){return fX.diffWords}});Object.defineProperty(br,"diffWordsWithSpace",{enumerable:!0,get:function(){return fX.diffWordsWithSpace}});Object.defineProperty(br,"diffLines",{enumerable:!0,get:function(){return hX.diffLines}});Object.defineProperty(br,"diffTrimmedLines",{enumerable:!0,get:function(){return hX.diffTrimmedLines}});Object.defineProperty(br,"diffSentences",{enumerable:!0,get:function(){return yMe.diffSentences}});Object.defineProperty(br,"diffCss",{enumerable:!0,get:function(){return wMe.diffCss}});Object.defineProperty(br,"diffJson",{enumerable:!0,get:function(){return pX.diffJson}});Object.defineProperty(br,"canonicalize",{enumerable:!0,get:function(){return pX.canonicalize}});Object.defineProperty(br,"diffArrays",{enumerable:!0,get:function(){return BMe.diffArrays}});Object.defineProperty(br,"applyPatch",{enumerable:!0,get:function(){return dX.applyPatch}});Object.defineProperty(br,"applyPatches",{enumerable:!0,get:function(){return dX.applyPatches}});Object.defineProperty(br,"parsePatch",{enumerable:!0,get:function(){return QMe.parsePatch}});Object.defineProperty(br,"merge",{enumerable:!0,get:function(){return bMe.merge}});Object.defineProperty(br,"structuredPatch",{enumerable:!0,get:function(){return _R.structuredPatch}});Object.defineProperty(br,"createTwoFilesPatch",{enumerable:!0,get:function(){return _R.createTwoFilesPatch}});Object.defineProperty(br,"createPatch",{enumerable:!0,get:function(){return _R.createPatch}});Object.defineProperty(br,"convertChangesToDMP",{enumerable:!0,get:function(){return vMe.convertChangesToDMP}});Object.defineProperty(br,"convertChangesToXML",{enumerable:!0,get:function(){return SMe.convertChangesToXML}});var EMe=xMe(Na()),IMe=M_(),fX=U_(),hX=KB(),yMe=H_(),wMe=G_(),pX=Y_(),BMe=q_(),dX=V_(),QMe=GB(),bMe=cX(),_R=YR(),vMe=uX(),SMe=gX();function xMe(t){return t&&t.__esModule?t:{default:t}}});var WB=E((agt,mX)=>{var kMe=As(),PMe=Nw(),DMe=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,RMe=/^\w*$/;function FMe(t,e){if(kMe(t))return!1;var r=typeof t;return r=="number"||r=="symbol"||r=="boolean"||t==null||PMe(t)?!0:RMe.test(t)||!DMe.test(t)||e!=null&&t in Object(e)}mX.exports=FMe});var Gs=E((Agt,EX)=>{function NMe(t){var e=typeof t;return t!=null&&(e=="object"||e=="function")}EX.exports=NMe});var zB=E((lgt,IX)=>{var LMe=Ac(),TMe=Gs(),MMe="[object AsyncFunction]",OMe="[object Function]",KMe="[object GeneratorFunction]",UMe="[object Proxy]";function HMe(t){if(!TMe(t))return!1;var e=LMe(t);return e==OMe||e==KMe||e==MMe||e==UMe}IX.exports=HMe});var wX=E((cgt,yX)=>{var GMe=Ks(),jMe=GMe["__core-js_shared__"];yX.exports=jMe});var bX=E((ugt,BX)=>{var XR=wX(),QX=function(){var t=/[^.]+$/.exec(XR&&XR.keys&&XR.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""}();function YMe(t){return!!QX&&QX in t}BX.exports=YMe});var ZR=E((ggt,vX)=>{var qMe=Function.prototype,JMe=qMe.toString;function WMe(t){if(t!=null){try{return JMe.call(t)}catch(e){}try{return t+""}catch(e){}}return""}vX.exports=WMe});var xX=E((fgt,SX)=>{var zMe=zB(),VMe=bX(),_Me=Gs(),XMe=ZR(),ZMe=/[\\^$.*+?()[\]{}|]/g,$Me=/^\[object .+?Constructor\]$/,eOe=Function.prototype,tOe=Object.prototype,rOe=eOe.toString,iOe=tOe.hasOwnProperty,nOe=RegExp("^"+rOe.call(iOe).replace(ZMe,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function sOe(t){if(!_Me(t)||VMe(t))return!1;var e=zMe(t)?nOe:$Me;return e.test(XMe(t))}SX.exports=sOe});var PX=E((hgt,kX)=>{function oOe(t,e){return t==null?void 0:t[e]}kX.exports=oOe});var UA=E((pgt,DX)=>{var aOe=xX(),AOe=PX();function lOe(t,e){var r=AOe(t,e);return aOe(r)?r:void 0}DX.exports=lOe});var Qd=E((dgt,RX)=>{var cOe=UA(),uOe=cOe(Object,"create");RX.exports=uOe});var LX=E((Cgt,FX)=>{var NX=Qd();function gOe(){this.__data__=NX?NX(null):{},this.size=0}FX.exports=gOe});var MX=E((mgt,TX)=>{function fOe(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e}TX.exports=fOe});var KX=E((Egt,OX)=>{var hOe=Qd(),pOe="__lodash_hash_undefined__",dOe=Object.prototype,COe=dOe.hasOwnProperty;function mOe(t){var e=this.__data__;if(hOe){var r=e[t];return r===pOe?void 0:r}return COe.call(e,t)?e[t]:void 0}OX.exports=mOe});var HX=E((Igt,UX)=>{var EOe=Qd(),IOe=Object.prototype,yOe=IOe.hasOwnProperty;function wOe(t){var e=this.__data__;return EOe?e[t]!==void 0:yOe.call(e,t)}UX.exports=wOe});var jX=E((ygt,GX)=>{var BOe=Qd(),QOe="__lodash_hash_undefined__";function bOe(t,e){var r=this.__data__;return this.size+=this.has(t)?0:1,r[t]=BOe&&e===void 0?QOe:e,this}GX.exports=bOe});var qX=E((wgt,YX)=>{var vOe=LX(),SOe=MX(),xOe=KX(),kOe=HX(),POe=jX();function Og(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e{function DOe(){this.__data__=[],this.size=0}JX.exports=DOe});var Kg=E((Qgt,zX)=>{function ROe(t,e){return t===e||t!==t&&e!==e}zX.exports=ROe});var bd=E((bgt,VX)=>{var FOe=Kg();function NOe(t,e){for(var r=t.length;r--;)if(FOe(t[r][0],e))return r;return-1}VX.exports=NOe});var XX=E((vgt,_X)=>{var LOe=bd(),TOe=Array.prototype,MOe=TOe.splice;function OOe(t){var e=this.__data__,r=LOe(e,t);if(r<0)return!1;var i=e.length-1;return r==i?e.pop():MOe.call(e,r,1),--this.size,!0}_X.exports=OOe});var $X=E((Sgt,ZX)=>{var KOe=bd();function UOe(t){var e=this.__data__,r=KOe(e,t);return r<0?void 0:e[r][1]}ZX.exports=UOe});var tZ=E((xgt,eZ)=>{var HOe=bd();function GOe(t){return HOe(this.__data__,t)>-1}eZ.exports=GOe});var iZ=E((kgt,rZ)=>{var jOe=bd();function YOe(t,e){var r=this.__data__,i=jOe(r,t);return i<0?(++this.size,r.push([t,e])):r[i][1]=e,this}rZ.exports=YOe});var vd=E((Pgt,nZ)=>{var qOe=WX(),JOe=XX(),WOe=$X(),zOe=tZ(),VOe=iZ();function Ug(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e{var _Oe=UA(),XOe=Ks(),ZOe=_Oe(XOe,"Map");sZ.exports=ZOe});var AZ=E((Rgt,oZ)=>{var aZ=qX(),$Oe=vd(),eKe=VB();function tKe(){this.size=0,this.__data__={hash:new aZ,map:new(eKe||$Oe),string:new aZ}}oZ.exports=tKe});var cZ=E((Fgt,lZ)=>{function rKe(t){var e=typeof t;return e=="string"||e=="number"||e=="symbol"||e=="boolean"?t!=="__proto__":t===null}lZ.exports=rKe});var Sd=E((Ngt,uZ)=>{var iKe=cZ();function nKe(t,e){var r=t.__data__;return iKe(e)?r[typeof e=="string"?"string":"hash"]:r.map}uZ.exports=nKe});var fZ=E((Lgt,gZ)=>{var sKe=Sd();function oKe(t){var e=sKe(this,t).delete(t);return this.size-=e?1:0,e}gZ.exports=oKe});var pZ=E((Tgt,hZ)=>{var aKe=Sd();function AKe(t){return aKe(this,t).get(t)}hZ.exports=AKe});var CZ=E((Mgt,dZ)=>{var lKe=Sd();function cKe(t){return lKe(this,t).has(t)}dZ.exports=cKe});var EZ=E((Ogt,mZ)=>{var uKe=Sd();function gKe(t,e){var r=uKe(this,t),i=r.size;return r.set(t,e),this.size+=r.size==i?0:1,this}mZ.exports=gKe});var _B=E((Kgt,IZ)=>{var fKe=AZ(),hKe=fZ(),pKe=pZ(),dKe=CZ(),CKe=EZ();function Hg(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e{var wZ=_B(),mKe="Expected a function";function $R(t,e){if(typeof t!="function"||e!=null&&typeof e!="function")throw new TypeError(mKe);var r=function(){var i=arguments,n=e?e.apply(this,i):i[0],s=r.cache;if(s.has(n))return s.get(n);var o=t.apply(this,i);return r.cache=s.set(n,o)||s,o};return r.cache=new($R.Cache||wZ),r}$R.Cache=wZ;yZ.exports=$R});var bZ=E((Hgt,QZ)=>{var EKe=BZ(),IKe=500;function yKe(t){var e=EKe(t,function(i){return r.size===IKe&&r.clear(),i}),r=e.cache;return e}QZ.exports=yKe});var SZ=E((Ggt,vZ)=>{var wKe=bZ(),BKe=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,QKe=/\\(\\)?/g,bKe=wKe(function(t){var e=[];return t.charCodeAt(0)===46&&e.push(""),t.replace(BKe,function(r,i,n,s){e.push(n?s.replace(QKe,"$1"):i||r)}),e});vZ.exports=bKe});var Gg=E((jgt,xZ)=>{var vKe=As(),SKe=WB(),xKe=SZ(),kKe=gg();function PKe(t,e){return vKe(t)?t:SKe(t,e)?[t]:xKe(kKe(t))}xZ.exports=PKe});var Sc=E((Ygt,kZ)=>{var DKe=Nw(),RKe=1/0;function FKe(t){if(typeof t=="string"||DKe(t))return t;var e=t+"";return e=="0"&&1/t==-RKe?"-0":e}kZ.exports=FKe});var xd=E((qgt,PZ)=>{var NKe=Gg(),LKe=Sc();function TKe(t,e){e=NKe(e,t);for(var r=0,i=e.length;t!=null&&r{var MKe=UA(),OKe=function(){try{var t=MKe(Object,"defineProperty");return t({},"",{}),t}catch(e){}}();DZ.exports=OKe});var jg=E((Wgt,RZ)=>{var FZ=eF();function KKe(t,e,r){e=="__proto__"&&FZ?FZ(t,e,{configurable:!0,enumerable:!0,value:r,writable:!0}):t[e]=r}RZ.exports=KKe});var XB=E((zgt,NZ)=>{var UKe=jg(),HKe=Kg(),GKe=Object.prototype,jKe=GKe.hasOwnProperty;function YKe(t,e,r){var i=t[e];(!(jKe.call(t,e)&&HKe(i,r))||r===void 0&&!(e in t))&&UKe(t,e,r)}NZ.exports=YKe});var kd=E((Vgt,LZ)=>{var qKe=9007199254740991,JKe=/^(?:0|[1-9]\d*)$/;function WKe(t,e){var r=typeof t;return e=e==null?qKe:e,!!e&&(r=="number"||r!="symbol"&&JKe.test(t))&&t>-1&&t%1==0&&t{var zKe=XB(),VKe=Gg(),_Ke=kd(),MZ=Gs(),XKe=Sc();function ZKe(t,e,r,i){if(!MZ(t))return t;e=VKe(e,t);for(var n=-1,s=e.length,o=s-1,a=t;a!=null&&++n{var $Ke=xd(),e1e=tF(),t1e=Gg();function r1e(t,e,r){for(var i=-1,n=e.length,s={};++i{function i1e(t,e){return t!=null&&e in Object(t)}UZ.exports=i1e});var jZ=E(($gt,GZ)=>{var n1e=Ac(),s1e=Qo(),o1e="[object Arguments]";function a1e(t){return s1e(t)&&n1e(t)==o1e}GZ.exports=a1e});var Pd=E((eft,YZ)=>{var qZ=jZ(),A1e=Qo(),JZ=Object.prototype,l1e=JZ.hasOwnProperty,c1e=JZ.propertyIsEnumerable,u1e=qZ(function(){return arguments}())?qZ:function(t){return A1e(t)&&l1e.call(t,"callee")&&!c1e.call(t,"callee")};YZ.exports=u1e});var ZB=E((tft,WZ)=>{var g1e=9007199254740991;function f1e(t){return typeof t=="number"&&t>-1&&t%1==0&&t<=g1e}WZ.exports=f1e});var rF=E((rft,zZ)=>{var h1e=Gg(),p1e=Pd(),d1e=As(),C1e=kd(),m1e=ZB(),E1e=Sc();function I1e(t,e,r){e=h1e(e,t);for(var i=-1,n=e.length,s=!1;++i{var y1e=HZ(),w1e=rF();function B1e(t,e){return t!=null&&w1e(t,e,y1e)}VZ.exports=B1e});var XZ=E((nft,_Z)=>{var Q1e=KZ(),b1e=iF();function v1e(t,e){return Q1e(t,e,function(r,i){return b1e(t,i)})}_Z.exports=v1e});var $B=E((sft,ZZ)=>{function S1e(t,e){for(var r=-1,i=e.length,n=t.length;++r{var e$=ac(),x1e=Pd(),k1e=As(),t$=e$?e$.isConcatSpreadable:void 0;function P1e(t){return k1e(t)||x1e(t)||!!(t$&&t&&t[t$])}$Z.exports=P1e});var s$=E((aft,i$)=>{var D1e=$B(),R1e=r$();function n$(t,e,r,i,n){var s=-1,o=t.length;for(r||(r=R1e),n||(n=[]);++s0&&r(a)?e>1?n$(a,e-1,r,i,n):D1e(n,a):i||(n[n.length]=a)}return n}i$.exports=n$});var a$=E((Aft,o$)=>{var F1e=s$();function N1e(t){var e=t==null?0:t.length;return e?F1e(t,1):[]}o$.exports=N1e});var l$=E((lft,A$)=>{function L1e(t,e,r){switch(r.length){case 0:return t.call(e);case 1:return t.call(e,r[0]);case 2:return t.call(e,r[0],r[1]);case 3:return t.call(e,r[0],r[1],r[2])}return t.apply(e,r)}A$.exports=L1e});var nF=E((cft,c$)=>{var T1e=l$(),u$=Math.max;function M1e(t,e,r){return e=u$(e===void 0?t.length-1:e,0),function(){for(var i=arguments,n=-1,s=u$(i.length-e,0),o=Array(s);++n{function O1e(t){return function(){return t}}g$.exports=O1e});var e0=E((gft,h$)=>{function K1e(t){return t}h$.exports=K1e});var C$=E((fft,p$)=>{var U1e=f$(),d$=eF(),H1e=e0(),G1e=d$?function(t,e){return d$(t,"toString",{configurable:!0,enumerable:!1,value:U1e(e),writable:!0})}:H1e;p$.exports=G1e});var E$=E((hft,m$)=>{var j1e=800,Y1e=16,q1e=Date.now;function J1e(t){var e=0,r=0;return function(){var i=q1e(),n=Y1e-(i-r);if(r=i,n>0){if(++e>=j1e)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}m$.exports=J1e});var sF=E((pft,I$)=>{var W1e=C$(),z1e=E$(),V1e=z1e(W1e);I$.exports=V1e});var w$=E((dft,y$)=>{var _1e=a$(),X1e=nF(),Z1e=sF();function $1e(t){return Z1e(X1e(t,void 0,_1e),t+"")}y$.exports=$1e});var Q$=E((Cft,B$)=>{var eUe=XZ(),tUe=w$(),rUe=tUe(function(t,e){return t==null?{}:eUe(t,e)});B$.exports=rUe});var M$=E((lpt,N$)=>{"use strict";var pF;try{pF=Map}catch(t){}var dF;try{dF=Set}catch(t){}function L$(t,e,r){if(!t||typeof t!="object"||typeof t=="function")return t;if(t.nodeType&&"cloneNode"in t)return t.cloneNode(!0);if(t instanceof Date)return new Date(t.getTime());if(t instanceof RegExp)return new RegExp(t);if(Array.isArray(t))return t.map(T$);if(pF&&t instanceof pF)return new Map(Array.from(t.entries()));if(dF&&t instanceof dF)return new Set(Array.from(t.values()));if(t instanceof Object){e.push(t);var i=Object.create(t);r.push(i);for(var n in t){var s=e.findIndex(function(o){return o===t[n]});i[n]=s>-1?r[s]:L$(t[n],e,r)}return i}return t}function T$(t){return L$(t,[],[])}N$.exports=T$});var Nd=E(CF=>{"use strict";Object.defineProperty(CF,"__esModule",{value:!0});CF.default=uUe;var gUe=Object.prototype.toString,fUe=Error.prototype.toString,hUe=RegExp.prototype.toString,pUe=typeof Symbol!="undefined"?Symbol.prototype.toString:()=>"",dUe=/^Symbol\((.*)\)(.*)$/;function CUe(t){return t!=+t?"NaN":t===0&&1/t<0?"-0":""+t}function O$(t,e=!1){if(t==null||t===!0||t===!1)return""+t;let r=typeof t;if(r==="number")return CUe(t);if(r==="string")return e?`"${t}"`:t;if(r==="function")return"[Function "+(t.name||"anonymous")+"]";if(r==="symbol")return pUe.call(t).replace(dUe,"Symbol($1)");let i=gUe.call(t).slice(8,-1);return i==="Date"?isNaN(t.getTime())?""+t:t.toISOString(t):i==="Error"||t instanceof Error?"["+fUe.call(t)+"]":i==="RegExp"?hUe.call(t):null}function uUe(t,e){let r=O$(t,e);return r!==null?r:JSON.stringify(t,function(i,n){let s=O$(this[i],e);return s!==null?s:n},2)}});var La=E(ci=>{"use strict";Object.defineProperty(ci,"__esModule",{value:!0});ci.default=ci.array=ci.object=ci.boolean=ci.date=ci.number=ci.string=ci.mixed=void 0;var K$=mUe(Nd());function mUe(t){return t&&t.__esModule?t:{default:t}}var U$={default:"${path} is invalid",required:"${path} is a required field",oneOf:"${path} must be one of the following values: ${values}",notOneOf:"${path} must not be one of the following values: ${values}",notType:({path:t,type:e,value:r,originalValue:i})=>{let n=i!=null&&i!==r,s=`${t} must be a \`${e}\` type, but the final value was: \`${(0,K$.default)(r,!0)}\``+(n?` (cast from the value \`${(0,K$.default)(i,!0)}\`).`:".");return r===null&&(s+='\n If "null" is intended as an empty value be sure to mark the schema as `.nullable()`'),s},defined:"${path} must be defined"};ci.mixed=U$;var H$={length:"${path} must be exactly ${length} characters",min:"${path} must be at least ${min} characters",max:"${path} must be at most ${max} characters",matches:'${path} must match the following: "${regex}"',email:"${path} must be a valid email",url:"${path} must be a valid URL",uuid:"${path} must be a valid UUID",trim:"${path} must be a trimmed string",lowercase:"${path} must be a lowercase string",uppercase:"${path} must be a upper case string"};ci.string=H$;var G$={min:"${path} must be greater than or equal to ${min}",max:"${path} must be less than or equal to ${max}",lessThan:"${path} must be less than ${less}",moreThan:"${path} must be greater than ${more}",positive:"${path} must be a positive number",negative:"${path} must be a negative number",integer:"${path} must be an integer"};ci.number=G$;var j$={min:"${path} field must be later than ${min}",max:"${path} field must be at earlier than ${max}"};ci.date=j$;var Y$={isValue:"${path} field must be ${value}"};ci.boolean=Y$;var q$={noUnknown:"${path} field has unspecified keys: ${unknown}"};ci.object=q$;var J$={min:"${path} field must have at least ${min} items",max:"${path} field must have less than or equal to ${max} items",length:"${path} must be have ${length} items"};ci.array=J$;var EUe=Object.assign(Object.create(null),{mixed:U$,string:H$,number:G$,date:j$,object:q$,array:J$,boolean:Y$});ci.default=EUe});var z$=E((gpt,W$)=>{var IUe=Object.prototype,yUe=IUe.hasOwnProperty;function wUe(t,e){return t!=null&&yUe.call(t,e)}W$.exports=wUe});var Ld=E((fpt,V$)=>{var BUe=z$(),QUe=rF();function bUe(t,e){return t!=null&&QUe(t,e,BUe)}V$.exports=bUe});var qg=E(n0=>{"use strict";Object.defineProperty(n0,"__esModule",{value:!0});n0.default=void 0;var vUe=t=>t&&t.__isYupSchema__;n0.default=vUe});var Z$=E(s0=>{"use strict";Object.defineProperty(s0,"__esModule",{value:!0});s0.default=void 0;var SUe=_$(Ld()),xUe=_$(qg());function _$(t){return t&&t.__esModule?t:{default:t}}var X$=class{constructor(e,r){if(this.refs=e,this.refs=e,typeof r=="function"){this.fn=r;return}if(!(0,SUe.default)(r,"is"))throw new TypeError("`is:` is required for `when()` conditions");if(!r.then&&!r.otherwise)throw new TypeError("either `then:` or `otherwise:` is required for `when()` conditions");let{is:i,then:n,otherwise:s}=r,o=typeof i=="function"?i:(...a)=>a.every(l=>l===i);this.fn=function(...a){let l=a.pop(),c=a.pop(),u=o(...a)?n:s;if(!!u)return typeof u=="function"?u(c):c.concat(u.resolve(l))}}resolve(e,r){let i=this.refs.map(s=>s.getValue(r==null?void 0:r.value,r==null?void 0:r.parent,r==null?void 0:r.context)),n=this.fn.apply(e,i.concat(e,r));if(n===void 0||n===e)return e;if(!(0,xUe.default)(n))throw new TypeError("conditions must return a schema object");return n.resolve(r)}},kUe=X$;s0.default=kUe});var EF=E(mF=>{"use strict";Object.defineProperty(mF,"__esModule",{value:!0});mF.default=PUe;function PUe(t){return t==null?[]:[].concat(t)}});var xc=E(o0=>{"use strict";Object.defineProperty(o0,"__esModule",{value:!0});o0.default=void 0;var DUe=$$(Nd()),RUe=$$(EF());function $$(t){return t&&t.__esModule?t:{default:t}}function IF(){return IF=Object.assign||function(t){for(var e=1;e(0,DUe.default)(r[s])):typeof e=="function"?e(r):e}static isError(e){return e&&e.name==="ValidationError"}constructor(e,r,i,n){super();this.name="ValidationError",this.value=r,this.path=i,this.type=n,this.errors=[],this.inner=[],(0,RUe.default)(e).forEach(s=>{Td.isError(s)?(this.errors.push(...s.errors),this.inner=this.inner.concat(s.inner.length?s.inner:s)):this.errors.push(s)}),this.message=this.errors.length>1?`${this.errors.length} errors occurred`:this.errors[0],Error.captureStackTrace&&Error.captureStackTrace(this,Td)}};o0.default=Td});var a0=E(yF=>{"use strict";Object.defineProperty(yF,"__esModule",{value:!0});yF.default=NUe;var wF=LUe(xc());function LUe(t){return t&&t.__esModule?t:{default:t}}var TUe=t=>{let e=!1;return(...r)=>{e||(e=!0,t(...r))}};function NUe(t,e){let{endEarly:r,tests:i,args:n,value:s,errors:o,sort:a,path:l}=t,c=TUe(e),u=i.length,g=[];if(o=o||[],!u)return o.length?c(new wF.default(o,s,l)):c(null,s);for(let f=0;f{function MUe(t){return function(e,r,i){for(var n=-1,s=Object(e),o=i(e),a=o.length;a--;){var l=o[t?a:++n];if(r(s[l],l,s)===!1)break}return e}}eee.exports=MUe});var BF=E((Ipt,ree)=>{var OUe=tee(),KUe=OUe();ree.exports=KUe});var nee=E((ypt,iee)=>{function UUe(t,e){for(var r=-1,i=Array(t);++r{function HUe(){return!1}see.exports=HUe});var Od=E((Md,Jg)=>{var GUe=Ks(),jUe=oee(),aee=typeof Md=="object"&&Md&&!Md.nodeType&&Md,Aee=aee&&typeof Jg=="object"&&Jg&&!Jg.nodeType&&Jg,YUe=Aee&&Aee.exports===aee,lee=YUe?GUe.Buffer:void 0,qUe=lee?lee.isBuffer:void 0,JUe=qUe||jUe;Jg.exports=JUe});var uee=E((Bpt,cee)=>{var WUe=Ac(),zUe=ZB(),VUe=Qo(),_Ue="[object Arguments]",XUe="[object Array]",ZUe="[object Boolean]",$Ue="[object Date]",e2e="[object Error]",t2e="[object Function]",r2e="[object Map]",i2e="[object Number]",n2e="[object Object]",s2e="[object RegExp]",o2e="[object Set]",a2e="[object String]",A2e="[object WeakMap]",l2e="[object ArrayBuffer]",c2e="[object DataView]",u2e="[object Float32Array]",g2e="[object Float64Array]",f2e="[object Int8Array]",h2e="[object Int16Array]",p2e="[object Int32Array]",d2e="[object Uint8Array]",C2e="[object Uint8ClampedArray]",m2e="[object Uint16Array]",E2e="[object Uint32Array]",lr={};lr[u2e]=lr[g2e]=lr[f2e]=lr[h2e]=lr[p2e]=lr[d2e]=lr[C2e]=lr[m2e]=lr[E2e]=!0;lr[_Ue]=lr[XUe]=lr[l2e]=lr[ZUe]=lr[c2e]=lr[$Ue]=lr[e2e]=lr[t2e]=lr[r2e]=lr[i2e]=lr[n2e]=lr[s2e]=lr[o2e]=lr[a2e]=lr[A2e]=!1;function I2e(t){return VUe(t)&&zUe(t.length)&&!!lr[WUe(t)]}cee.exports=I2e});var A0=E((Qpt,gee)=>{function y2e(t){return function(e){return t(e)}}gee.exports=y2e});var l0=E((Kd,Wg)=>{var w2e=WP(),fee=typeof Kd=="object"&&Kd&&!Kd.nodeType&&Kd,Ud=fee&&typeof Wg=="object"&&Wg&&!Wg.nodeType&&Wg,B2e=Ud&&Ud.exports===fee,QF=B2e&&w2e.process,Q2e=function(){try{var t=Ud&&Ud.require&&Ud.require("util").types;return t||QF&&QF.binding&&QF.binding("util")}catch(e){}}();Wg.exports=Q2e});var c0=E((bpt,hee)=>{var b2e=uee(),v2e=A0(),pee=l0(),dee=pee&&pee.isTypedArray,S2e=dee?v2e(dee):b2e;hee.exports=S2e});var bF=E((vpt,Cee)=>{var x2e=nee(),k2e=Pd(),P2e=As(),D2e=Od(),R2e=kd(),F2e=c0(),N2e=Object.prototype,L2e=N2e.hasOwnProperty;function T2e(t,e){var r=P2e(t),i=!r&&k2e(t),n=!r&&!i&&D2e(t),s=!r&&!i&&!n&&F2e(t),o=r||i||n||s,a=o?x2e(t.length,String):[],l=a.length;for(var c in t)(e||L2e.call(t,c))&&!(o&&(c=="length"||n&&(c=="offset"||c=="parent")||s&&(c=="buffer"||c=="byteLength"||c=="byteOffset")||R2e(c,l)))&&a.push(c);return a}Cee.exports=T2e});var u0=E((Spt,mee)=>{var M2e=Object.prototype;function O2e(t){var e=t&&t.constructor,r=typeof e=="function"&&e.prototype||M2e;return t===r}mee.exports=O2e});var vF=E((xpt,Eee)=>{function K2e(t,e){return function(r){return t(e(r))}}Eee.exports=K2e});var yee=E((kpt,Iee)=>{var U2e=vF(),H2e=U2e(Object.keys,Object);Iee.exports=H2e});var Bee=E((Ppt,wee)=>{var G2e=u0(),j2e=yee(),Y2e=Object.prototype,q2e=Y2e.hasOwnProperty;function J2e(t){if(!G2e(t))return j2e(t);var e=[];for(var r in Object(t))q2e.call(t,r)&&r!="constructor"&&e.push(r);return e}wee.exports=J2e});var Hd=E((Dpt,Qee)=>{var W2e=zB(),z2e=ZB();function V2e(t){return t!=null&&z2e(t.length)&&!W2e(t)}Qee.exports=V2e});var zg=E((Rpt,bee)=>{var _2e=bF(),X2e=Bee(),Z2e=Hd();function $2e(t){return Z2e(t)?_2e(t):X2e(t)}bee.exports=$2e});var SF=E((Fpt,vee)=>{var eHe=BF(),tHe=zg();function rHe(t,e){return t&&eHe(t,e,tHe)}vee.exports=rHe});var xee=E((Npt,See)=>{var iHe=vd();function nHe(){this.__data__=new iHe,this.size=0}See.exports=nHe});var Pee=E((Lpt,kee)=>{function sHe(t){var e=this.__data__,r=e.delete(t);return this.size=e.size,r}kee.exports=sHe});var Ree=E((Tpt,Dee)=>{function oHe(t){return this.__data__.get(t)}Dee.exports=oHe});var Nee=E((Mpt,Fee)=>{function aHe(t){return this.__data__.has(t)}Fee.exports=aHe});var Tee=E((Opt,Lee)=>{var AHe=vd(),lHe=VB(),cHe=_B(),uHe=200;function gHe(t,e){var r=this.__data__;if(r instanceof AHe){var i=r.__data__;if(!lHe||i.length{var fHe=vd(),hHe=xee(),pHe=Pee(),dHe=Ree(),CHe=Nee(),mHe=Tee();function Vg(t){var e=this.__data__=new fHe(t);this.size=e.size}Vg.prototype.clear=hHe;Vg.prototype.delete=pHe;Vg.prototype.get=dHe;Vg.prototype.has=CHe;Vg.prototype.set=mHe;Mee.exports=Vg});var Kee=E((Upt,Oee)=>{var EHe="__lodash_hash_undefined__";function IHe(t){return this.__data__.set(t,EHe),this}Oee.exports=IHe});var Hee=E((Hpt,Uee)=>{function yHe(t){return this.__data__.has(t)}Uee.exports=yHe});var jee=E((Gpt,Gee)=>{var wHe=_B(),BHe=Kee(),QHe=Hee();function g0(t){var e=-1,r=t==null?0:t.length;for(this.__data__=new wHe;++e{function bHe(t,e){for(var r=-1,i=t==null?0:t.length;++r{function vHe(t,e){return t.has(e)}Jee.exports=vHe});var xF=E((qpt,zee)=>{var SHe=jee(),xHe=qee(),kHe=Wee(),PHe=1,DHe=2;function RHe(t,e,r,i,n,s){var o=r&PHe,a=t.length,l=e.length;if(a!=l&&!(o&&l>a))return!1;var c=s.get(t),u=s.get(e);if(c&&u)return c==e&&u==t;var g=-1,f=!0,h=r&DHe?new SHe:void 0;for(s.set(t,e),s.set(e,t);++g{var FHe=Ks(),NHe=FHe.Uint8Array;Vee.exports=NHe});var Xee=E((Wpt,_ee)=>{function LHe(t){var e=-1,r=Array(t.size);return t.forEach(function(i,n){r[++e]=[n,i]}),r}_ee.exports=LHe});var $ee=E((zpt,Zee)=>{function THe(t){var e=-1,r=Array(t.size);return t.forEach(function(i){r[++e]=i}),r}Zee.exports=THe});var nte=E((Vpt,ete)=>{var tte=ac(),rte=kF(),MHe=Kg(),OHe=xF(),KHe=Xee(),UHe=$ee(),HHe=1,GHe=2,jHe="[object Boolean]",YHe="[object Date]",qHe="[object Error]",JHe="[object Map]",WHe="[object Number]",zHe="[object RegExp]",VHe="[object Set]",_He="[object String]",XHe="[object Symbol]",ZHe="[object ArrayBuffer]",$He="[object DataView]",ite=tte?tte.prototype:void 0,PF=ite?ite.valueOf:void 0;function eGe(t,e,r,i,n,s,o){switch(r){case $He:if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return!1;t=t.buffer,e=e.buffer;case ZHe:return!(t.byteLength!=e.byteLength||!s(new rte(t),new rte(e)));case jHe:case YHe:case WHe:return MHe(+t,+e);case qHe:return t.name==e.name&&t.message==e.message;case zHe:case _He:return t==e+"";case JHe:var a=KHe;case VHe:var l=i&HHe;if(a||(a=UHe),t.size!=e.size&&!l)return!1;var c=o.get(t);if(c)return c==e;i|=GHe,o.set(t,e);var u=OHe(a(t),a(e),i,n,s,o);return o.delete(t),u;case XHe:if(PF)return PF.call(t)==PF.call(e)}return!1}ete.exports=eGe});var DF=E((_pt,ste)=>{var tGe=$B(),rGe=As();function iGe(t,e,r){var i=e(t);return rGe(t)?i:tGe(i,r(t))}ste.exports=iGe});var ate=E((Xpt,ote)=>{function nGe(t,e){for(var r=-1,i=t==null?0:t.length,n=0,s=[];++r{function sGe(){return[]}Ate.exports=sGe});var f0=E(($pt,lte)=>{var oGe=ate(),aGe=RF(),AGe=Object.prototype,lGe=AGe.propertyIsEnumerable,cte=Object.getOwnPropertySymbols,cGe=cte?function(t){return t==null?[]:(t=Object(t),oGe(cte(t),function(e){return lGe.call(t,e)}))}:aGe;lte.exports=cGe});var FF=E((edt,ute)=>{var uGe=DF(),gGe=f0(),fGe=zg();function hGe(t){return uGe(t,fGe,gGe)}ute.exports=hGe});var hte=E((tdt,gte)=>{var fte=FF(),pGe=1,dGe=Object.prototype,CGe=dGe.hasOwnProperty;function mGe(t,e,r,i,n,s){var o=r&pGe,a=fte(t),l=a.length,c=fte(e),u=c.length;if(l!=u&&!o)return!1;for(var g=l;g--;){var f=a[g];if(!(o?f in e:CGe.call(e,f)))return!1}var h=s.get(t),p=s.get(e);if(h&&p)return h==e&&p==t;var d=!0;s.set(t,e),s.set(e,t);for(var m=o;++g{var EGe=UA(),IGe=Ks(),yGe=EGe(IGe,"DataView");pte.exports=yGe});var mte=E((idt,Cte)=>{var wGe=UA(),BGe=Ks(),QGe=wGe(BGe,"Promise");Cte.exports=QGe});var Ite=E((ndt,Ete)=>{var bGe=UA(),vGe=Ks(),SGe=bGe(vGe,"Set");Ete.exports=SGe});var wte=E((sdt,yte)=>{var xGe=UA(),kGe=Ks(),PGe=xGe(kGe,"WeakMap");yte.exports=PGe});var jd=E((odt,Bte)=>{var NF=dte(),LF=VB(),TF=mte(),MF=Ite(),OF=wte(),Qte=Ac(),_g=ZR(),bte="[object Map]",DGe="[object Object]",vte="[object Promise]",Ste="[object Set]",xte="[object WeakMap]",kte="[object DataView]",RGe=_g(NF),FGe=_g(LF),NGe=_g(TF),LGe=_g(MF),TGe=_g(OF),kc=Qte;(NF&&kc(new NF(new ArrayBuffer(1)))!=kte||LF&&kc(new LF)!=bte||TF&&kc(TF.resolve())!=vte||MF&&kc(new MF)!=Ste||OF&&kc(new OF)!=xte)&&(kc=function(t){var e=Qte(t),r=e==DGe?t.constructor:void 0,i=r?_g(r):"";if(i)switch(i){case RGe:return kte;case FGe:return bte;case NGe:return vte;case LGe:return Ste;case TGe:return xte}return e});Bte.exports=kc});var Mte=E((adt,Pte)=>{var KF=Gd(),MGe=xF(),OGe=nte(),KGe=hte(),Dte=jd(),Rte=As(),Fte=Od(),UGe=c0(),HGe=1,Nte="[object Arguments]",Lte="[object Array]",h0="[object Object]",GGe=Object.prototype,Tte=GGe.hasOwnProperty;function jGe(t,e,r,i,n,s){var o=Rte(t),a=Rte(e),l=o?Lte:Dte(t),c=a?Lte:Dte(e);l=l==Nte?h0:l,c=c==Nte?h0:c;var u=l==h0,g=c==h0,f=l==c;if(f&&Fte(t)){if(!Fte(e))return!1;o=!0,u=!1}if(f&&!u)return s||(s=new KF),o||UGe(t)?MGe(t,e,r,i,n,s):OGe(t,e,l,r,i,n,s);if(!(r&HGe)){var h=u&&Tte.call(t,"__wrapped__"),p=g&&Tte.call(e,"__wrapped__");if(h||p){var d=h?t.value():t,m=p?e.value():e;return s||(s=new KF),n(d,m,r,i,s)}}return f?(s||(s=new KF),KGe(t,e,r,i,n,s)):!1}Pte.exports=jGe});var UF=E((Adt,Ote)=>{var YGe=Mte(),Kte=Qo();function Ute(t,e,r,i,n){return t===e?!0:t==null||e==null||!Kte(t)&&!Kte(e)?t!==t&&e!==e:YGe(t,e,r,i,Ute,n)}Ote.exports=Ute});var Gte=E((ldt,Hte)=>{var qGe=Gd(),JGe=UF(),WGe=1,zGe=2;function VGe(t,e,r,i){var n=r.length,s=n,o=!i;if(t==null)return!s;for(t=Object(t);n--;){var a=r[n];if(o&&a[2]?a[1]!==t[a[0]]:!(a[0]in t))return!1}for(;++n{var _Ge=Gs();function XGe(t){return t===t&&!_Ge(t)}jte.exports=XGe});var qte=E((udt,Yte)=>{var ZGe=HF(),$Ge=zg();function eje(t){for(var e=$Ge(t),r=e.length;r--;){var i=e[r],n=t[i];e[r]=[i,n,ZGe(n)]}return e}Yte.exports=eje});var GF=E((gdt,Jte)=>{function tje(t,e){return function(r){return r==null?!1:r[t]===e&&(e!==void 0||t in Object(r))}}Jte.exports=tje});var zte=E((fdt,Wte)=>{var rje=Gte(),ije=qte(),nje=GF();function sje(t){var e=ije(t);return e.length==1&&e[0][2]?nje(e[0][0],e[0][1]):function(r){return r===t||rje(r,t,e)}}Wte.exports=sje});var p0=E((hdt,Vte)=>{var oje=xd();function aje(t,e,r){var i=t==null?void 0:oje(t,e);return i===void 0?r:i}Vte.exports=aje});var Xte=E((pdt,_te)=>{var Aje=UF(),lje=p0(),cje=iF(),uje=WB(),gje=HF(),fje=GF(),hje=Sc(),pje=1,dje=2;function Cje(t,e){return uje(t)&&gje(e)?fje(hje(t),e):function(r){var i=lje(r,t);return i===void 0&&i===e?cje(r,t):Aje(e,i,pje|dje)}}_te.exports=Cje});var $te=E((ddt,Zte)=>{function mje(t){return function(e){return e==null?void 0:e[t]}}Zte.exports=mje});var tre=E((Cdt,ere)=>{var Eje=xd();function Ije(t){return function(e){return Eje(e,t)}}ere.exports=Ije});var ire=E((mdt,rre)=>{var yje=$te(),wje=tre(),Bje=WB(),Qje=Sc();function bje(t){return Bje(t)?yje(Qje(t)):wje(t)}rre.exports=bje});var jF=E((Edt,nre)=>{var vje=zte(),Sje=Xte(),xje=e0(),kje=As(),Pje=ire();function Dje(t){return typeof t=="function"?t:t==null?xje:typeof t=="object"?kje(t)?Sje(t[0],t[1]):vje(t):Pje(t)}nre.exports=Dje});var YF=E((Idt,sre)=>{var Rje=jg(),Fje=SF(),Nje=jF();function Lje(t,e){var r={};return e=Nje(e,3),Fje(t,function(i,n,s){Rje(r,n,e(i,n,s))}),r}sre.exports=Lje});var Yd=E((ydt,ore)=>{"use strict";function Pc(t){this._maxSize=t,this.clear()}Pc.prototype.clear=function(){this._size=0,this._values=Object.create(null)};Pc.prototype.get=function(t){return this._values[t]};Pc.prototype.set=function(t,e){return this._size>=this._maxSize&&this.clear(),t in this._values||this._size++,this._values[t]=e};var Tje=/[^.^\]^[]+|(?=\[\]|\.\.)/g,are=/^\d+$/,Mje=/^\d/,Oje=/[~`!#$%\^&*+=\-\[\]\\';,/{}|\\":<>\?]/g,Kje=/^\s*(['"]?)(.*?)(\1)\s*$/,qF=512,Are=new Pc(qF),lre=new Pc(qF),cre=new Pc(qF);ore.exports={Cache:Pc,split:WF,normalizePath:JF,setter:function(t){var e=JF(t);return lre.get(t)||lre.set(t,function(i,n){for(var s=0,o=e.length,a=i;s{"use strict";Object.defineProperty(qd,"__esModule",{value:!0});qd.create=Yje;qd.default=void 0;var qje=Yd(),d0={context:"$",value:"."};function Yje(t,e){return new C0(t,e)}var C0=class{constructor(e,r={}){if(typeof e!="string")throw new TypeError("ref must be a string, got: "+e);if(this.key=e.trim(),e==="")throw new TypeError("ref must be a non-empty string");this.isContext=this.key[0]===d0.context,this.isValue=this.key[0]===d0.value,this.isSibling=!this.isContext&&!this.isValue;let i=this.isContext?d0.context:this.isValue?d0.value:"";this.path=this.key.slice(i.length),this.getter=this.path&&(0,qje.getter)(this.path,!0),this.map=r.map}getValue(e,r,i){let n=this.isContext?i:this.isValue?e:r;return this.getter&&(n=this.getter(n||{})),this.map&&(n=this.map(n)),n}cast(e,r){return this.getValue(e,r==null?void 0:r.parent,r==null?void 0:r.context)}resolve(){return this}describe(){return{type:"ref",key:this.key}}toString(){return`Ref(${this.key})`}static isRef(e){return e&&e.__isYupRef}};qd.default=C0;C0.prototype.__isYupRef=!0});var ure=E(VF=>{"use strict";Object.defineProperty(VF,"__esModule",{value:!0});VF.default=Jje;var Wje=_F(YF()),m0=_F(xc()),zje=_F(Dc());function _F(t){return t&&t.__esModule?t:{default:t}}function E0(){return E0=Object.assign||function(t){for(var e=1;e=0)&&(r[n]=t[n]);return r}function Jje(t){function e(r,i){let{value:n,path:s="",label:o,options:a,originalValue:l,sync:c}=r,u=Vje(r,["value","path","label","options","originalValue","sync"]),{name:g,test:f,params:h,message:p}=t,{parent:d,context:m}=a;function I(L){return zje.default.isRef(L)?L.getValue(n,d,m):L}function B(L={}){let K=(0,Wje.default)(E0({value:n,originalValue:l,label:o,path:L.path||s},h,L.params),I),J=new m0.default(m0.default.formatError(L.message||p,K),n,K.path,L.type||g);return J.params=K,J}let b=E0({path:s,parent:d,type:g,createError:B,resolve:I,options:a,originalValue:l},u);if(!c){try{Promise.resolve(f.call(b,n,b)).then(L=>{m0.default.isError(L)?i(L):L?i(null,L):i(B())})}catch(L){i(L)}return}let R;try{var H;if(R=f.call(b,n,b),typeof((H=R)==null?void 0:H.then)=="function")throw new Error(`Validation test of type: "${b.type}" returned a Promise during a synchronous validate. This test will finish after the validate call has returned`)}catch(L){i(L);return}m0.default.isError(R)?i(R):R?i(null,R):i(B())}return e.OPTIONS=t,e}});var XF=E(Jd=>{"use strict";Object.defineProperty(Jd,"__esModule",{value:!0});Jd.getIn=gre;Jd.default=void 0;var _je=Yd(),Xje=t=>t.substr(0,t.length-1).substr(1);function gre(t,e,r,i=r){let n,s,o;return e?((0,_je.forEach)(e,(a,l,c)=>{let u=l?Xje(a):a;if(t=t.resolve({context:i,parent:n,value:r}),t.innerType){let g=c?parseInt(u,10):0;if(r&&g>=r.length)throw new Error(`Yup.reach cannot resolve an array item at index: ${a}, in the path: ${e}. because there is no value at that index. `);n=r,r=r&&r[g],t=t.innerType}if(!c){if(!t.fields||!t.fields[u])throw new Error(`The schema does not contain the path: ${e}. (failed at: ${o} which is a type: "${t._type}")`);n=r,r=r&&r[u],t=t.fields[u]}s=u,o=l?"["+a+"]":"."+a}),{schema:t,parent:n,parentPath:s}):{parent:n,parentPath:e,schema:t}}var Zje=(t,e,r,i)=>gre(t,e,r,i).schema,$je=Zje;Jd.default=$je});var hre=E(I0=>{"use strict";Object.defineProperty(I0,"__esModule",{value:!0});I0.default=void 0;var fre=eYe(Dc());function eYe(t){return t&&t.__esModule?t:{default:t}}var y0=class{constructor(){this.list=new Set,this.refs=new Map}get size(){return this.list.size+this.refs.size}describe(){let e=[];for(let r of this.list)e.push(r);for(let[,r]of this.refs)e.push(r.describe());return e}toArray(){return Array.from(this.list).concat(Array.from(this.refs.values()))}add(e){fre.default.isRef(e)?this.refs.set(e.key,e):this.list.add(e)}delete(e){fre.default.isRef(e)?this.refs.delete(e.key):this.list.delete(e)}has(e,r){if(this.list.has(e))return!0;let i,n=this.refs.values();for(;i=n.next(),!i.done;)if(r(i.value)===e)return!0;return!1}clone(){let e=new y0;return e.list=new Set(this.list),e.refs=new Map(this.refs),e}merge(e,r){let i=this.clone();return e.list.forEach(n=>i.add(n)),e.refs.forEach(n=>i.add(n)),r.list.forEach(n=>i.delete(n)),r.refs.forEach(n=>i.delete(n)),i}};I0.default=y0});var Ma=E(w0=>{"use strict";Object.defineProperty(w0,"__esModule",{value:!0});w0.default=void 0;var pre=Ta(M$()),Xg=La(),tYe=Ta(Z$()),dre=Ta(a0()),B0=Ta(ure()),Cre=Ta(Nd()),rYe=Ta(Dc()),iYe=XF(),nYe=Ta(EF()),mre=Ta(xc()),Ere=Ta(hre());function Ta(t){return t&&t.__esModule?t:{default:t}}function ds(){return ds=Object.assign||function(t){for(var e=1;e{this.typeError(Xg.mixed.notType)}),this.type=(e==null?void 0:e.type)||"mixed",this.spec=ds({strip:!1,strict:!1,abortEarly:!0,recursive:!0,nullable:!1,presence:"optional"},e==null?void 0:e.spec)}get _type(){return this.type}_typeCheck(e){return!0}clone(e){if(this._mutate)return e&&Object.assign(this.spec,e),this;let r=Object.create(Object.getPrototypeOf(this));return r.type=this.type,r._typeError=this._typeError,r._whitelistError=this._whitelistError,r._blacklistError=this._blacklistError,r._whitelist=this._whitelist.clone(),r._blacklist=this._blacklist.clone(),r.exclusiveTests=ds({},this.exclusiveTests),r.deps=[...this.deps],r.conditions=[...this.conditions],r.tests=[...this.tests],r.transforms=[...this.transforms],r.spec=(0,pre.default)(ds({},this.spec,e)),r}label(e){var r=this.clone();return r.spec.label=e,r}meta(...e){if(e.length===0)return this.spec.meta;let r=this.clone();return r.spec.meta=Object.assign(r.spec.meta||{},e[0]),r}withMutation(e){let r=this._mutate;this._mutate=!0;let i=e(this);return this._mutate=r,i}concat(e){if(!e||e===this)return this;if(e.type!==this.type&&this.type!=="mixed")throw new TypeError(`You cannot \`concat()\` schema's of different types: ${this.type} and ${e.type}`);let r=this,i=e.clone(),n=ds({},r.spec,i.spec);return i.spec=n,i._typeError||(i._typeError=r._typeError),i._whitelistError||(i._whitelistError=r._whitelistError),i._blacklistError||(i._blacklistError=r._blacklistError),i._whitelist=r._whitelist.merge(e._whitelist,e._blacklist),i._blacklist=r._blacklist.merge(e._blacklist,e._whitelist),i.tests=r.tests,i.exclusiveTests=r.exclusiveTests,i.withMutation(s=>{e.tests.forEach(o=>{s.test(o.OPTIONS)})}),i}isType(e){return this.spec.nullable&&e===null?!0:this._typeCheck(e)}resolve(e){let r=this;if(r.conditions.length){let i=r.conditions;r=r.clone(),r.conditions=[],r=i.reduce((n,s)=>s.resolve(n,e),r),r=r.resolve(e)}return r}cast(e,r={}){let i=this.resolve(ds({value:e},r)),n=i._cast(e,r);if(e!==void 0&&r.assert!==!1&&i.isType(n)!==!0){let s=(0,Cre.default)(e),o=(0,Cre.default)(n);throw new TypeError(`The value of ${r.path||"field"} could not be cast to a value that satisfies the schema type: "${i._type}". + +attempted value: ${s} +`+(o!==s?`result of cast: ${o}`:""))}return n}_cast(e,r){let i=e===void 0?e:this.transforms.reduce((n,s)=>s.call(this,n,e,this),e);return i===void 0&&(i=this.getDefault()),i}_validate(e,r={},i){let{sync:n,path:s,from:o=[],originalValue:a=e,strict:l=this.spec.strict,abortEarly:c=this.spec.abortEarly}=r,u=e;l||(u=this._cast(u,ds({assert:!1},r)));let g={value:u,path:s,options:r,originalValue:a,schema:this,label:this.spec.label,sync:n,from:o},f=[];this._typeError&&f.push(this._typeError),this._whitelistError&&f.push(this._whitelistError),this._blacklistError&&f.push(this._blacklistError),(0,dre.default)({args:g,value:u,path:s,sync:n,tests:f,endEarly:c},h=>{if(h)return void i(h,u);(0,dre.default)({tests:this.tests,args:g,path:s,sync:n,value:u,endEarly:c},i)})}validate(e,r,i){let n=this.resolve(ds({},r,{value:e}));return typeof i=="function"?n._validate(e,r,i):new Promise((s,o)=>n._validate(e,r,(a,l)=>{a?o(a):s(l)}))}validateSync(e,r){let i=this.resolve(ds({},r,{value:e})),n;return i._validate(e,ds({},r,{sync:!0}),(s,o)=>{if(s)throw s;n=o}),n}isValid(e,r){return this.validate(e,r).then(()=>!0,i=>{if(mre.default.isError(i))return!1;throw i})}isValidSync(e,r){try{return this.validateSync(e,r),!0}catch(i){if(mre.default.isError(i))return!1;throw i}}_getDefault(){let e=this.spec.default;return e==null?e:typeof e=="function"?e.call(this):(0,pre.default)(e)}getDefault(e){return this.resolve(e||{})._getDefault()}default(e){return arguments.length===0?this._getDefault():this.clone({default:e})}strict(e=!0){var r=this.clone();return r.spec.strict=e,r}_isPresent(e){return e!=null}defined(e=Xg.mixed.defined){return this.test({message:e,name:"defined",exclusive:!0,test(r){return r!==void 0}})}required(e=Xg.mixed.required){return this.clone({presence:"required"}).withMutation(r=>r.test({message:e,name:"required",exclusive:!0,test(i){return this.schema._isPresent(i)}}))}notRequired(){var e=this.clone({presence:"optional"});return e.tests=e.tests.filter(r=>r.OPTIONS.name!=="required"),e}nullable(e=!0){var r=this.clone({nullable:e!==!1});return r}transform(e){var r=this.clone();return r.transforms.push(e),r}test(...e){let r;if(e.length===1?typeof e[0]=="function"?r={test:e[0]}:r=e[0]:e.length===2?r={name:e[0],test:e[1]}:r={name:e[0],message:e[1],test:e[2]},r.message===void 0&&(r.message=Xg.mixed.default),typeof r.test!="function")throw new TypeError("`test` is a required parameters");let i=this.clone(),n=(0,B0.default)(r),s=r.exclusive||r.name&&i.exclusiveTests[r.name]===!0;if(r.exclusive&&!r.name)throw new TypeError("Exclusive tests must provide a unique `name` identifying the test");return r.name&&(i.exclusiveTests[r.name]=!!r.exclusive),i.tests=i.tests.filter(o=>!(o.OPTIONS.name===r.name&&(s||o.OPTIONS.test===n.OPTIONS.test))),i.tests.push(n),i}when(e,r){!Array.isArray(e)&&typeof e!="string"&&(r=e,e=".");let i=this.clone(),n=(0,nYe.default)(e).map(s=>new rYe.default(s));return n.forEach(s=>{s.isSibling&&i.deps.push(s.key)}),i.conditions.push(new tYe.default(n,r)),i}typeError(e){var r=this.clone();return r._typeError=(0,B0.default)({message:e,name:"typeError",test(i){return i!==void 0&&!this.schema.isType(i)?this.createError({params:{type:this.schema._type}}):!0}}),r}oneOf(e,r=Xg.mixed.oneOf){var i=this.clone();return e.forEach(n=>{i._whitelist.add(n),i._blacklist.delete(n)}),i._whitelistError=(0,B0.default)({message:r,name:"oneOf",test(n){if(n===void 0)return!0;let s=this.schema._whitelist;return s.has(n,this.resolve)?!0:this.createError({params:{values:s.toArray().join(", ")}})}}),i}notOneOf(e,r=Xg.mixed.notOneOf){var i=this.clone();return e.forEach(n=>{i._blacklist.add(n),i._whitelist.delete(n)}),i._blacklistError=(0,B0.default)({message:r,name:"notOneOf",test(n){let s=this.schema._blacklist;return s.has(n,this.resolve)?this.createError({params:{values:s.toArray().join(", ")}}):!0}}),i}strip(e=!0){let r=this.clone();return r.spec.strip=e,r}describe(){let e=this.clone(),{label:r,meta:i}=e.spec;return{meta:i,label:r,type:e.type,oneOf:e._whitelist.describe(),notOneOf:e._blacklist.describe(),tests:e.tests.map(s=>({name:s.OPTIONS.name,params:s.OPTIONS.params})).filter((s,o,a)=>a.findIndex(l=>l.name===s.name)===o)}}};w0.default=Do;Do.prototype.__isYupSchema__=!0;for(let t of["validate","validateSync"])Do.prototype[`${t}At`]=function(e,r,i={}){let{parent:n,parentPath:s,schema:o}=(0,iYe.getIn)(this,e,r,i.context);return o[t](n&&n[s],ds({},i,{parent:n,path:e}))};for(let t of["equals","is"])Do.prototype[t]=Do.prototype.oneOf;for(let t of["not","nope"])Do.prototype[t]=Do.prototype.notOneOf;Do.prototype.optional=Do.prototype.notRequired});var yre=E(Wd=>{"use strict";Object.defineProperty(Wd,"__esModule",{value:!0});Wd.create=Ire;Wd.default=void 0;var oYe=sYe(Ma());function sYe(t){return t&&t.__esModule?t:{default:t}}var ZF=oYe.default,aYe=ZF;Wd.default=aYe;function Ire(){return new ZF}Ire.prototype=ZF.prototype});var Zg=E(Q0=>{"use strict";Object.defineProperty(Q0,"__esModule",{value:!0});Q0.default=void 0;var AYe=t=>t==null;Q0.default=AYe});var vre=E(zd=>{"use strict";Object.defineProperty(zd,"__esModule",{value:!0});zd.create=wre;zd.default=void 0;var lYe=Bre(Ma()),Qre=La(),bre=Bre(Zg());function Bre(t){return t&&t.__esModule?t:{default:t}}function wre(){return new b0}var b0=class extends lYe.default{constructor(){super({type:"boolean"});this.withMutation(()=>{this.transform(function(e){if(!this.isType(e)){if(/^(true|1)$/i.test(String(e)))return!0;if(/^(false|0)$/i.test(String(e)))return!1}return e})})}_typeCheck(e){return e instanceof Boolean&&(e=e.valueOf()),typeof e=="boolean"}isTrue(e=Qre.boolean.isValue){return this.test({message:e,name:"is-value",exclusive:!0,params:{value:"true"},test(r){return(0,bre.default)(r)||r===!0}})}isFalse(e=Qre.boolean.isValue){return this.test({message:e,name:"is-value",exclusive:!0,params:{value:"false"},test(r){return(0,bre.default)(r)||r===!1}})}};zd.default=b0;wre.prototype=b0.prototype});var kre=E(Vd=>{"use strict";Object.defineProperty(Vd,"__esModule",{value:!0});Vd.create=Sre;Vd.default=void 0;var Ro=La(),Oa=xre(Zg()),cYe=xre(Ma());function xre(t){return t&&t.__esModule?t:{default:t}}var uYe=/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))$/i,gYe=/^((https?|ftp):)?\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i,fYe=/^(?:[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,hYe=t=>(0,Oa.default)(t)||t===t.trim(),pYe={}.toString();function Sre(){return new v0}var v0=class extends cYe.default{constructor(){super({type:"string"});this.withMutation(()=>{this.transform(function(e){if(this.isType(e)||Array.isArray(e))return e;let r=e!=null&&e.toString?e.toString():e;return r===pYe?e:r})})}_typeCheck(e){return e instanceof String&&(e=e.valueOf()),typeof e=="string"}_isPresent(e){return super._isPresent(e)&&!!e.length}length(e,r=Ro.string.length){return this.test({message:r,name:"length",exclusive:!0,params:{length:e},test(i){return(0,Oa.default)(i)||i.length===this.resolve(e)}})}min(e,r=Ro.string.min){return this.test({message:r,name:"min",exclusive:!0,params:{min:e},test(i){return(0,Oa.default)(i)||i.length>=this.resolve(e)}})}max(e,r=Ro.string.max){return this.test({name:"max",exclusive:!0,message:r,params:{max:e},test(i){return(0,Oa.default)(i)||i.length<=this.resolve(e)}})}matches(e,r){let i=!1,n,s;return r&&(typeof r=="object"?{excludeEmptyString:i=!1,message:n,name:s}=r:n=r),this.test({name:s||"matches",message:n||Ro.string.matches,params:{regex:e},test:o=>(0,Oa.default)(o)||o===""&&i||o.search(e)!==-1})}email(e=Ro.string.email){return this.matches(uYe,{name:"email",message:e,excludeEmptyString:!0})}url(e=Ro.string.url){return this.matches(gYe,{name:"url",message:e,excludeEmptyString:!0})}uuid(e=Ro.string.uuid){return this.matches(fYe,{name:"uuid",message:e,excludeEmptyString:!1})}ensure(){return this.default("").transform(e=>e===null?"":e)}trim(e=Ro.string.trim){return this.transform(r=>r!=null?r.trim():r).test({message:e,name:"trim",test:hYe})}lowercase(e=Ro.string.lowercase){return this.transform(r=>(0,Oa.default)(r)?r:r.toLowerCase()).test({message:e,name:"string_case",exclusive:!0,test:r=>(0,Oa.default)(r)||r===r.toLowerCase()})}uppercase(e=Ro.string.uppercase){return this.transform(r=>(0,Oa.default)(r)?r:r.toUpperCase()).test({message:e,name:"string_case",exclusive:!0,test:r=>(0,Oa.default)(r)||r===r.toUpperCase()})}};Vd.default=v0;Sre.prototype=v0.prototype});var Rre=E(_d=>{"use strict";Object.defineProperty(_d,"__esModule",{value:!0});_d.create=Pre;_d.default=void 0;var Rc=La(),Fc=Dre(Zg()),dYe=Dre(Ma());function Dre(t){return t&&t.__esModule?t:{default:t}}var CYe=t=>t!=+t;function Pre(){return new S0}var S0=class extends dYe.default{constructor(){super({type:"number"});this.withMutation(()=>{this.transform(function(e){let r=e;if(typeof r=="string"){if(r=r.replace(/\s/g,""),r==="")return NaN;r=+r}return this.isType(r)?r:parseFloat(r)})})}_typeCheck(e){return e instanceof Number&&(e=e.valueOf()),typeof e=="number"&&!CYe(e)}min(e,r=Rc.number.min){return this.test({message:r,name:"min",exclusive:!0,params:{min:e},test(i){return(0,Fc.default)(i)||i>=this.resolve(e)}})}max(e,r=Rc.number.max){return this.test({message:r,name:"max",exclusive:!0,params:{max:e},test(i){return(0,Fc.default)(i)||i<=this.resolve(e)}})}lessThan(e,r=Rc.number.lessThan){return this.test({message:r,name:"max",exclusive:!0,params:{less:e},test(i){return(0,Fc.default)(i)||ithis.resolve(e)}})}positive(e=Rc.number.positive){return this.moreThan(0,e)}negative(e=Rc.number.negative){return this.lessThan(0,e)}integer(e=Rc.number.integer){return this.test({name:"integer",message:e,test:r=>(0,Fc.default)(r)||Number.isInteger(r)})}truncate(){return this.transform(e=>(0,Fc.default)(e)?e:e|0)}round(e){var r,i=["ceil","floor","round","trunc"];if(e=((r=e)==null?void 0:r.toLowerCase())||"round",e==="trunc")return this.truncate();if(i.indexOf(e.toLowerCase())===-1)throw new TypeError("Only valid options for round() are: "+i.join(", "));return this.transform(n=>(0,Fc.default)(n)?n:Math[e](n))}};_d.default=S0;Pre.prototype=S0.prototype});var Fre=E($F=>{"use strict";Object.defineProperty($F,"__esModule",{value:!0});$F.default=mYe;var EYe=/^(\d{4}|[+\-]\d{6})(?:-?(\d{2})(?:-?(\d{2}))?)?(?:[ T]?(\d{2}):?(\d{2})(?::?(\d{2})(?:[,\.](\d{1,}))?)?(?:(Z)|([+\-])(\d{2})(?::?(\d{2}))?)?)?$/;function mYe(t){var e=[1,4,5,6,7,10,11],r=0,i,n;if(n=EYe.exec(t)){for(var s=0,o;o=e[s];++s)n[o]=+n[o]||0;n[2]=(+n[2]||1)-1,n[3]=+n[3]||1,n[7]=n[7]?String(n[7]).substr(0,3):0,(n[8]===void 0||n[8]==="")&&(n[9]===void 0||n[9]==="")?i=+new Date(n[1],n[2],n[3],n[4],n[5],n[6],n[7]):(n[8]!=="Z"&&n[9]!==void 0&&(r=n[10]*60+n[11],n[9]==="+"&&(r=0-r)),i=Date.UTC(n[1],n[2],n[3],n[4],n[5]+r,n[6],n[7]))}else i=Date.parse?Date.parse(t):NaN;return i}});var Tre=E(Xd=>{"use strict";Object.defineProperty(Xd,"__esModule",{value:!0});Xd.create=eN;Xd.default=void 0;var IYe=x0(Fre()),Nre=La(),Lre=x0(Zg()),yYe=x0(Dc()),wYe=x0(Ma());function x0(t){return t&&t.__esModule?t:{default:t}}var tN=new Date(""),BYe=t=>Object.prototype.toString.call(t)==="[object Date]";function eN(){return new Zd}var Zd=class extends wYe.default{constructor(){super({type:"date"});this.withMutation(()=>{this.transform(function(e){return this.isType(e)?e:(e=(0,IYe.default)(e),isNaN(e)?tN:new Date(e))})})}_typeCheck(e){return BYe(e)&&!isNaN(e.getTime())}prepareParam(e,r){let i;if(yYe.default.isRef(e))i=e;else{let n=this.cast(e);if(!this._typeCheck(n))throw new TypeError(`\`${r}\` must be a Date or a value that can be \`cast()\` to a Date`);i=n}return i}min(e,r=Nre.date.min){let i=this.prepareParam(e,"min");return this.test({message:r,name:"min",exclusive:!0,params:{min:e},test(n){return(0,Lre.default)(n)||n>=this.resolve(i)}})}max(e,r=Nre.date.max){var i=this.prepareParam(e,"max");return this.test({message:r,name:"max",exclusive:!0,params:{max:e},test(n){return(0,Lre.default)(n)||n<=this.resolve(i)}})}};Xd.default=Zd;Zd.INVALID_DATE=tN;eN.prototype=Zd.prototype;eN.INVALID_DATE=tN});var Ore=E((Ndt,Mre)=>{function QYe(t,e,r,i){var n=-1,s=t==null?0:t.length;for(i&&s&&(r=t[++n]);++n{function bYe(t){return function(e){return t==null?void 0:t[e]}}Kre.exports=bYe});var Gre=E((Tdt,Hre)=>{var vYe=Ure(),SYe={\u00C0:"A",\u00C1:"A",\u00C2:"A",\u00C3:"A",\u00C4:"A",\u00C5:"A",\u00E0:"a",\u00E1:"a",\u00E2:"a",\u00E3:"a",\u00E4:"a",\u00E5:"a",\u00C7:"C",\u00E7:"c",\u00D0:"D",\u00F0:"d",\u00C8:"E",\u00C9:"E",\u00CA:"E",\u00CB:"E",\u00E8:"e",\u00E9:"e",\u00EA:"e",\u00EB:"e",\u00CC:"I",\u00CD:"I",\u00CE:"I",\u00CF:"I",\u00EC:"i",\u00ED:"i",\u00EE:"i",\u00EF:"i",\u00D1:"N",\u00F1:"n",\u00D2:"O",\u00D3:"O",\u00D4:"O",\u00D5:"O",\u00D6:"O",\u00D8:"O",\u00F2:"o",\u00F3:"o",\u00F4:"o",\u00F5:"o",\u00F6:"o",\u00F8:"o",\u00D9:"U",\u00DA:"U",\u00DB:"U",\u00DC:"U",\u00F9:"u",\u00FA:"u",\u00FB:"u",\u00FC:"u",\u00DD:"Y",\u00FD:"y",\u00FF:"y",\u00C6:"Ae",\u00E6:"ae",\u00DE:"Th",\u00FE:"th",\u00DF:"ss",\u0100:"A",\u0102:"A",\u0104:"A",\u0101:"a",\u0103:"a",\u0105:"a",\u0106:"C",\u0108:"C",\u010A:"C",\u010C:"C",\u0107:"c",\u0109:"c",\u010B:"c",\u010D:"c",\u010E:"D",\u0110:"D",\u010F:"d",\u0111:"d",\u0112:"E",\u0114:"E",\u0116:"E",\u0118:"E",\u011A:"E",\u0113:"e",\u0115:"e",\u0117:"e",\u0119:"e",\u011B:"e",\u011C:"G",\u011E:"G",\u0120:"G",\u0122:"G",\u011D:"g",\u011F:"g",\u0121:"g",\u0123:"g",\u0124:"H",\u0126:"H",\u0125:"h",\u0127:"h",\u0128:"I",\u012A:"I",\u012C:"I",\u012E:"I",\u0130:"I",\u0129:"i",\u012B:"i",\u012D:"i",\u012F:"i",\u0131:"i",\u0134:"J",\u0135:"j",\u0136:"K",\u0137:"k",\u0138:"k",\u0139:"L",\u013B:"L",\u013D:"L",\u013F:"L",\u0141:"L",\u013A:"l",\u013C:"l",\u013E:"l",\u0140:"l",\u0142:"l",\u0143:"N",\u0145:"N",\u0147:"N",\u014A:"N",\u0144:"n",\u0146:"n",\u0148:"n",\u014B:"n",\u014C:"O",\u014E:"O",\u0150:"O",\u014D:"o",\u014F:"o",\u0151:"o",\u0154:"R",\u0156:"R",\u0158:"R",\u0155:"r",\u0157:"r",\u0159:"r",\u015A:"S",\u015C:"S",\u015E:"S",\u0160:"S",\u015B:"s",\u015D:"s",\u015F:"s",\u0161:"s",\u0162:"T",\u0164:"T",\u0166:"T",\u0163:"t",\u0165:"t",\u0167:"t",\u0168:"U",\u016A:"U",\u016C:"U",\u016E:"U",\u0170:"U",\u0172:"U",\u0169:"u",\u016B:"u",\u016D:"u",\u016F:"u",\u0171:"u",\u0173:"u",\u0174:"W",\u0175:"w",\u0176:"Y",\u0177:"y",\u0178:"Y",\u0179:"Z",\u017B:"Z",\u017D:"Z",\u017A:"z",\u017C:"z",\u017E:"z",\u0132:"IJ",\u0133:"ij",\u0152:"Oe",\u0153:"oe",\u0149:"'n",\u017F:"s"},xYe=vYe(SYe);Hre.exports=xYe});var Yre=E((Mdt,jre)=>{var kYe=Gre(),PYe=gg(),DYe=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,RYe="\\u0300-\\u036f",FYe="\\ufe20-\\ufe2f",NYe="\\u20d0-\\u20ff",LYe=RYe+FYe+NYe,TYe="["+LYe+"]",MYe=RegExp(TYe,"g");function OYe(t){return t=PYe(t),t&&t.replace(DYe,kYe).replace(MYe,"")}jre.exports=OYe});var Jre=E((Odt,qre)=>{var KYe=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g;function UYe(t){return t.match(KYe)||[]}qre.exports=UYe});var zre=E((Kdt,Wre)=>{var HYe=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;function GYe(t){return HYe.test(t)}Wre.exports=GYe});var fie=E((Udt,Vre)=>{var _re="\\ud800-\\udfff",jYe="\\u0300-\\u036f",YYe="\\ufe20-\\ufe2f",qYe="\\u20d0-\\u20ff",JYe=jYe+YYe+qYe,Xre="\\u2700-\\u27bf",Zre="a-z\\xdf-\\xf6\\xf8-\\xff",WYe="\\xac\\xb1\\xd7\\xf7",zYe="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",VYe="\\u2000-\\u206f",_Ye=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",$re="A-Z\\xc0-\\xd6\\xd8-\\xde",XYe="\\ufe0e\\ufe0f",eie=WYe+zYe+VYe+_Ye,tie="['\u2019]",rie="["+eie+"]",ZYe="["+JYe+"]",iie="\\d+",$Ye="["+Xre+"]",nie="["+Zre+"]",sie="[^"+_re+eie+iie+Xre+Zre+$re+"]",eqe="\\ud83c[\\udffb-\\udfff]",tqe="(?:"+ZYe+"|"+eqe+")",rqe="[^"+_re+"]",oie="(?:\\ud83c[\\udde6-\\uddff]){2}",aie="[\\ud800-\\udbff][\\udc00-\\udfff]",$g="["+$re+"]",iqe="\\u200d",Aie="(?:"+nie+"|"+sie+")",nqe="(?:"+$g+"|"+sie+")",lie="(?:"+tie+"(?:d|ll|m|re|s|t|ve))?",cie="(?:"+tie+"(?:D|LL|M|RE|S|T|VE))?",uie=tqe+"?",gie="["+XYe+"]?",sqe="(?:"+iqe+"(?:"+[rqe,oie,aie].join("|")+")"+gie+uie+")*",oqe="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",aqe="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",Aqe=gie+uie+sqe,lqe="(?:"+[$Ye,oie,aie].join("|")+")"+Aqe,cqe=RegExp([$g+"?"+nie+"+"+lie+"(?="+[rie,$g,"$"].join("|")+")",nqe+"+"+cie+"(?="+[rie,$g+Aie,"$"].join("|")+")",$g+"?"+Aie+"+"+lie,$g+"+"+cie,aqe,oqe,iie,lqe].join("|"),"g");function uqe(t){return t.match(cqe)||[]}Vre.exports=uqe});var pie=E((Hdt,hie)=>{var gqe=Jre(),fqe=zre(),hqe=gg(),pqe=fie();function dqe(t,e,r){return t=hqe(t),e=r?void 0:e,e===void 0?fqe(t)?pqe(t):gqe(t):t.match(e)||[]}hie.exports=dqe});var rN=E((Gdt,die)=>{var Cqe=Ore(),mqe=Yre(),Eqe=pie(),Iqe="['\u2019]",yqe=RegExp(Iqe,"g");function wqe(t){return function(e){return Cqe(Eqe(mqe(e).replace(yqe,"")),t,"")}}die.exports=wqe});var mie=E((jdt,Cie)=>{var Bqe=rN(),Qqe=Bqe(function(t,e,r){return t+(r?"_":"")+e.toLowerCase()});Cie.exports=Qqe});var Iie=E((Ydt,Eie)=>{var bqe=ZP(),vqe=rN(),Sqe=vqe(function(t,e,r){return e=e.toLowerCase(),t+(r?bqe(e):e)});Eie.exports=Sqe});var wie=E((qdt,yie)=>{var xqe=jg(),kqe=SF(),Pqe=jF();function Dqe(t,e){var r={};return e=Pqe(e,3),kqe(t,function(i,n,s){xqe(r,e(i,n,s),i)}),r}yie.exports=Dqe});var Qie=E((Jdt,iN)=>{iN.exports=function(t){return Bie(Rqe(t),t)};iN.exports.array=Bie;function Bie(t,e){var r=t.length,i=new Array(r),n={},s=r,o=Fqe(e),a=Nqe(t);for(e.forEach(function(c){if(!a.has(c[0])||!a.has(c[1]))throw new Error("Unknown node. There is an unknown node in the supplied edges.")});s--;)n[s]||l(t[s],s,new Set);return i;function l(c,u,g){if(g.has(c)){var f;try{f=", node was:"+JSON.stringify(c)}catch(d){f=""}throw new Error("Cyclic dependency"+f)}if(!a.has(c))throw new Error("Found unknown node. Make sure to provided all involved nodes. Unknown node: "+JSON.stringify(c));if(!n[u]){n[u]=!0;var h=o.get(c)||new Set;if(h=Array.from(h),u=h.length){g.add(c);do{var p=h[--u];l(p,a.get(p),g)}while(u);g.delete(c)}i[--r]=c}}}function Rqe(t){for(var e=new Set,r=0,i=t.length;r{"use strict";Object.defineProperty(nN,"__esModule",{value:!0});nN.default=Lqe;var Tqe=k0(Ld()),Mqe=k0(Qie()),Oqe=Yd(),Kqe=k0(Dc()),Uqe=k0(qg());function k0(t){return t&&t.__esModule?t:{default:t}}function Lqe(t,e=[]){let r=[],i=[];function n(s,o){var a=(0,Oqe.split)(s)[0];~i.indexOf(a)||i.push(a),~e.indexOf(`${o}-${a}`)||r.push([o,a])}for(let s in t)if((0,Tqe.default)(t,s)){let o=t[s];~i.indexOf(s)||i.push(s),Kqe.default.isRef(o)&&o.isSibling?n(o.path,s):(0,Uqe.default)(o)&&"deps"in o&&o.deps.forEach(a=>n(a,s))}return Mqe.default.array(i,r).reverse()}});var Sie=E(sN=>{"use strict";Object.defineProperty(sN,"__esModule",{value:!0});sN.default=Hqe;function vie(t,e){let r=Infinity;return t.some((i,n)=>{var s;if(((s=e.path)==null?void 0:s.indexOf(i))!==-1)return r=n,!0}),r}function Hqe(t){return(e,r)=>vie(t,e)-vie(t,r)}});var Nie=E($d=>{"use strict";Object.defineProperty($d,"__esModule",{value:!0});$d.create=xie;$d.default=void 0;var kie=Fo(Ld()),Pie=Fo(mie()),Gqe=Fo(Iie()),jqe=Fo(wie()),Yqe=Fo(YF()),qqe=Yd(),Die=La(),Jqe=Fo(bie()),Rie=Fo(Sie()),Wqe=Fo(a0()),zqe=Fo(xc()),oN=Fo(Ma());function Fo(t){return t&&t.__esModule?t:{default:t}}function ef(){return ef=Object.assign||function(t){for(var e=1;eObject.prototype.toString.call(t)==="[object Object]";function Vqe(t,e){let r=Object.keys(t.fields);return Object.keys(e).filter(i=>r.indexOf(i)===-1)}var _qe=(0,Rie.default)([]),P0=class extends oN.default{constructor(e){super({type:"object"});this.fields=Object.create(null),this._sortErrors=_qe,this._nodes=[],this._excludedEdges=[],this.withMutation(()=>{this.transform(function(i){if(typeof i=="string")try{i=JSON.parse(i)}catch(n){i=null}return this.isType(i)?i:null}),e&&this.shape(e)})}_typeCheck(e){return Fie(e)||typeof e=="function"}_cast(e,r={}){var i;let n=super._cast(e,r);if(n===void 0)return this.getDefault();if(!this._typeCheck(n))return n;let s=this.fields,o=(i=r.stripUnknown)!=null?i:this.spec.noUnknown,a=this._nodes.concat(Object.keys(n).filter(g=>this._nodes.indexOf(g)===-1)),l={},c=ef({},r,{parent:l,__validating:r.__validating||!1}),u=!1;for(let g of a){let f=s[g],h=(0,kie.default)(n,g);if(f){let p,d=n[g];c.path=(r.path?`${r.path}.`:"")+g,f=f.resolve({value:d,context:r.context,parent:l});let m="spec"in f?f.spec:void 0,I=m==null?void 0:m.strict;if(m==null?void 0:m.strip){u=u||g in n;continue}p=!r.__validating||!I?f.cast(n[g],c):n[g],p!==void 0&&(l[g]=p)}else h&&!o&&(l[g]=n[g]);l[g]!==n[g]&&(u=!0)}return u?l:n}_validate(e,r={},i){let n=[],{sync:s,from:o=[],originalValue:a=e,abortEarly:l=this.spec.abortEarly,recursive:c=this.spec.recursive}=r;o=[{schema:this,value:a},...o],r.__validating=!0,r.originalValue=a,r.from=o,super._validate(e,r,(u,g)=>{if(u){if(!zqe.default.isError(u)||l)return void i(u,g);n.push(u)}if(!c||!Fie(g)){i(n[0]||null,g);return}a=a||g;let f=this._nodes.map(h=>(p,d)=>{let m=h.indexOf(".")===-1?(r.path?`${r.path}.`:"")+h:`${r.path||""}["${h}"]`,I=this.fields[h];if(I&&"validate"in I){I.validate(g[h],ef({},r,{path:m,from:o,strict:!0,parent:g,originalValue:a[h]}),d);return}d(null)});(0,Wqe.default)({sync:s,tests:f,value:g,errors:n,endEarly:l,sort:this._sortErrors,path:r.path},i)})}clone(e){let r=super.clone(e);return r.fields=ef({},this.fields),r._nodes=this._nodes,r._excludedEdges=this._excludedEdges,r._sortErrors=this._sortErrors,r}concat(e){let r=super.concat(e),i=r.fields;for(let[n,s]of Object.entries(this.fields)){let o=i[n];o===void 0?i[n]=s:o instanceof oN.default&&s instanceof oN.default&&(i[n]=s.concat(o))}return r.withMutation(()=>r.shape(i))}getDefaultFromShape(){let e={};return this._nodes.forEach(r=>{let i=this.fields[r];e[r]="default"in i?i.getDefault():void 0}),e}_getDefault(){if("default"in this.spec)return super._getDefault();if(!!this._nodes.length)return this.getDefaultFromShape()}shape(e,r=[]){let i=this.clone(),n=Object.assign(i.fields,e);if(i.fields=n,i._sortErrors=(0,Rie.default)(Object.keys(n)),r.length){Array.isArray(r[0])||(r=[r]);let s=r.map(([o,a])=>`${o}-${a}`);i._excludedEdges=i._excludedEdges.concat(s)}return i._nodes=(0,Jqe.default)(n,i._excludedEdges),i}pick(e){let r={};for(let i of e)this.fields[i]&&(r[i]=this.fields[i]);return this.clone().withMutation(i=>(i.fields={},i.shape(r)))}omit(e){let r=this.clone(),i=r.fields;r.fields={};for(let n of e)delete i[n];return r.withMutation(()=>r.shape(i))}from(e,r,i){let n=(0,qqe.getter)(e,!0);return this.transform(s=>{if(s==null)return s;let o=s;return(0,kie.default)(s,e)&&(o=ef({},s),i||delete o[e],o[r]=n(s)),o})}noUnknown(e=!0,r=Die.object.noUnknown){typeof e=="string"&&(r=e,e=!0);let i=this.test({name:"noUnknown",exclusive:!0,message:r,test(n){if(n==null)return!0;let s=Vqe(this.schema,n);return!e||s.length===0||this.createError({params:{unknown:s.join(", ")}})}});return i.spec.noUnknown=e,i}unknown(e=!0,r=Die.object.noUnknown){return this.noUnknown(!e,r)}transformKeys(e){return this.transform(r=>r&&(0,jqe.default)(r,(i,n)=>e(n)))}camelCase(){return this.transformKeys(Gqe.default)}snakeCase(){return this.transformKeys(Pie.default)}constantCase(){return this.transformKeys(e=>(0,Pie.default)(e).toUpperCase())}describe(){let e=super.describe();return e.fields=(0,Yqe.default)(this.fields,r=>r.describe()),e}};$d.default=P0;function xie(t){return new P0(t)}xie.prototype=P0.prototype});var Tie=E(eC=>{"use strict";Object.defineProperty(eC,"__esModule",{value:!0});eC.create=Lie;eC.default=void 0;var aN=tf(Zg()),Xqe=tf(qg()),Zqe=tf(Nd()),AN=La(),$qe=tf(a0()),eJe=tf(xc()),tJe=tf(Ma());function tf(t){return t&&t.__esModule?t:{default:t}}function D0(){return D0=Object.assign||function(t){for(var e=1;e{this.transform(function(r){if(typeof r=="string")try{r=JSON.parse(r)}catch(i){r=null}return this.isType(r)?r:null})})}_typeCheck(e){return Array.isArray(e)}get _subType(){return this.innerType}_cast(e,r){let i=super._cast(e,r);if(!this._typeCheck(i)||!this.innerType)return i;let n=!1,s=i.map((o,a)=>{let l=this.innerType.cast(o,D0({},r,{path:`${r.path||""}[${a}]`}));return l!==o&&(n=!0),l});return n?s:i}_validate(e,r={},i){var n,s;let o=[],a=r.sync,l=r.path,c=this.innerType,u=(n=r.abortEarly)!=null?n:this.spec.abortEarly,g=(s=r.recursive)!=null?s:this.spec.recursive,f=r.originalValue!=null?r.originalValue:e;super._validate(e,r,(h,p)=>{if(h){if(!eJe.default.isError(h)||u)return void i(h,p);o.push(h)}if(!g||!c||!this._typeCheck(p)){i(o[0]||null,p);return}f=f||p;let d=new Array(p.length);for(let m=0;mc.validate(I,b,H)}(0,$qe.default)({sync:a,path:l,value:p,errors:o,endEarly:u,tests:d},i)})}clone(e){let r=super.clone(e);return r.innerType=this.innerType,r}concat(e){let r=super.concat(e);return r.innerType=this.innerType,e.innerType&&(r.innerType=r.innerType?r.innerType.concat(e.innerType):e.innerType),r}of(e){let r=this.clone();if(!(0,Xqe.default)(e))throw new TypeError("`array.of()` sub-schema must be a valid yup schema not: "+(0,Zqe.default)(e));return r.innerType=e,r}length(e,r=AN.array.length){return this.test({message:r,name:"length",exclusive:!0,params:{length:e},test(i){return(0,aN.default)(i)||i.length===this.resolve(e)}})}min(e,r){return r=r||AN.array.min,this.test({message:r,name:"min",exclusive:!0,params:{min:e},test(i){return(0,aN.default)(i)||i.length>=this.resolve(e)}})}max(e,r){return r=r||AN.array.max,this.test({message:r,name:"max",exclusive:!0,params:{max:e},test(i){return(0,aN.default)(i)||i.length<=this.resolve(e)}})}ensure(){return this.default(()=>[]).transform((e,r)=>this._typeCheck(e)?e:r==null?[]:[].concat(r))}compact(e){let r=e?(i,n,s)=>!e(i,n,s):i=>!!i;return this.transform(i=>i!=null?i.filter(r):i)}describe(){let e=super.describe();return this.innerType&&(e.innerType=this.innerType.describe()),e}nullable(e=!0){return super.nullable(e)}defined(){return super.defined()}required(e){return super.required(e)}};eC.default=R0;Lie.prototype=R0.prototype});var Mie=E(tC=>{"use strict";Object.defineProperty(tC,"__esModule",{value:!0});tC.create=rJe;tC.default=void 0;var nJe=iJe(qg());function iJe(t){return t&&t.__esModule?t:{default:t}}function rJe(t){return new lN(t)}var lN=class{constructor(e){this.type="lazy",this.__isYupSchema__=!0,this._resolve=(r,i={})=>{let n=this.builder(r,i);if(!(0,nJe.default)(n))throw new TypeError("lazy() functions must return a valid schema");return n.resolve(i)},this.builder=e}resolve(e){return this._resolve(e.value,e)}cast(e,r){return this._resolve(e,r).cast(e,r)}validate(e,r,i){return this._resolve(e,r).validate(e,r,i)}validateSync(e,r){return this._resolve(e,r).validateSync(e,r)}validateAt(e,r,i){return this._resolve(r,i).validateAt(e,r,i)}validateSyncAt(e,r,i){return this._resolve(r,i).validateSyncAt(e,r,i)}describe(){return null}isValid(e,r){return this._resolve(e,r).isValid(e,r)}isValidSync(e,r){return this._resolve(e,r).isValidSync(e,r)}},sJe=lN;tC.default=sJe});var Oie=E(cN=>{"use strict";Object.defineProperty(cN,"__esModule",{value:!0});cN.default=oJe;var AJe=aJe(La());function aJe(t){return t&&t.__esModule?t:{default:t}}function oJe(t){Object.keys(t).forEach(e=>{Object.keys(t[e]).forEach(r=>{AJe.default[e][r]=t[e][r]})})}});var gN=E(cr=>{"use strict";Object.defineProperty(cr,"__esModule",{value:!0});cr.addMethod=lJe;Object.defineProperty(cr,"MixedSchema",{enumerable:!0,get:function(){return Kie.default}});Object.defineProperty(cr,"mixed",{enumerable:!0,get:function(){return Kie.create}});Object.defineProperty(cr,"BooleanSchema",{enumerable:!0,get:function(){return uN.default}});Object.defineProperty(cr,"bool",{enumerable:!0,get:function(){return uN.create}});Object.defineProperty(cr,"boolean",{enumerable:!0,get:function(){return uN.create}});Object.defineProperty(cr,"StringSchema",{enumerable:!0,get:function(){return Uie.default}});Object.defineProperty(cr,"string",{enumerable:!0,get:function(){return Uie.create}});Object.defineProperty(cr,"NumberSchema",{enumerable:!0,get:function(){return Hie.default}});Object.defineProperty(cr,"number",{enumerable:!0,get:function(){return Hie.create}});Object.defineProperty(cr,"DateSchema",{enumerable:!0,get:function(){return Gie.default}});Object.defineProperty(cr,"date",{enumerable:!0,get:function(){return Gie.create}});Object.defineProperty(cr,"ObjectSchema",{enumerable:!0,get:function(){return jie.default}});Object.defineProperty(cr,"object",{enumerable:!0,get:function(){return jie.create}});Object.defineProperty(cr,"ArraySchema",{enumerable:!0,get:function(){return Yie.default}});Object.defineProperty(cr,"array",{enumerable:!0,get:function(){return Yie.create}});Object.defineProperty(cr,"ref",{enumerable:!0,get:function(){return cJe.create}});Object.defineProperty(cr,"lazy",{enumerable:!0,get:function(){return uJe.create}});Object.defineProperty(cr,"ValidationError",{enumerable:!0,get:function(){return gJe.default}});Object.defineProperty(cr,"reach",{enumerable:!0,get:function(){return fJe.default}});Object.defineProperty(cr,"isSchema",{enumerable:!0,get:function(){return qie.default}});Object.defineProperty(cr,"setLocale",{enumerable:!0,get:function(){return hJe.default}});Object.defineProperty(cr,"BaseSchema",{enumerable:!0,get:function(){return pJe.default}});var Kie=Nc(yre()),uN=Nc(vre()),Uie=Nc(kre()),Hie=Nc(Rre()),Gie=Nc(Tre()),jie=Nc(Nie()),Yie=Nc(Tie()),cJe=Dc(),uJe=Mie(),gJe=rC(xc()),fJe=rC(XF()),qie=rC(qg()),hJe=rC(Oie()),pJe=rC(Ma());function rC(t){return t&&t.__esModule?t:{default:t}}function Jie(){if(typeof WeakMap!="function")return null;var t=new WeakMap;return Jie=function(){return t},t}function Nc(t){if(t&&t.__esModule)return t;if(t===null||typeof t!="object"&&typeof t!="function")return{default:t};var e=Jie();if(e&&e.has(t))return e.get(t);var r={},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var n in t)if(Object.prototype.hasOwnProperty.call(t,n)){var s=i?Object.getOwnPropertyDescriptor(t,n):null;s&&(s.get||s.set)?Object.defineProperty(r,n,s):r[n]=t[n]}return r.default=t,e&&e.set(t,r),r}function lJe(t,e,r){if(!t||!(0,qie.default)(t.prototype))throw new TypeError("You must provide a yup schema constructor function");if(typeof e!="string")throw new TypeError("A Method name must be provided");if(typeof r!="function")throw new TypeError("Method function must be provided");t.prototype[e]=r}});var Xie=E((gCt,nC)=>{"use strict";var mJe=process.env.TERM_PROGRAM==="Hyper",EJe=process.platform==="win32",zie=process.platform==="linux",fN={ballotDisabled:"\u2612",ballotOff:"\u2610",ballotOn:"\u2611",bullet:"\u2022",bulletWhite:"\u25E6",fullBlock:"\u2588",heart:"\u2764",identicalTo:"\u2261",line:"\u2500",mark:"\u203B",middot:"\xB7",minus:"\uFF0D",multiplication:"\xD7",obelus:"\xF7",pencilDownRight:"\u270E",pencilRight:"\u270F",pencilUpRight:"\u2710",percent:"%",pilcrow2:"\u2761",pilcrow:"\xB6",plusMinus:"\xB1",section:"\xA7",starsOff:"\u2606",starsOn:"\u2605",upDownArrow:"\u2195"},Vie=Object.assign({},fN,{check:"\u221A",cross:"\xD7",ellipsisLarge:"...",ellipsis:"...",info:"i",question:"?",questionSmall:"?",pointer:">",pointerSmall:"\xBB",radioOff:"( )",radioOn:"(*)",warning:"\u203C"}),_ie=Object.assign({},fN,{ballotCross:"\u2718",check:"\u2714",cross:"\u2716",ellipsisLarge:"\u22EF",ellipsis:"\u2026",info:"\u2139",question:"?",questionFull:"\uFF1F",questionSmall:"\uFE56",pointer:zie?"\u25B8":"\u276F",pointerSmall:zie?"\u2023":"\u203A",radioOff:"\u25EF",radioOn:"\u25C9",warning:"\u26A0"});nC.exports=EJe&&!mJe?Vie:_ie;Reflect.defineProperty(nC.exports,"common",{enumerable:!1,value:fN});Reflect.defineProperty(nC.exports,"windows",{enumerable:!1,value:Vie});Reflect.defineProperty(nC.exports,"other",{enumerable:!1,value:_ie})});var js=E((fCt,hN)=>{"use strict";var IJe=t=>t!==null&&typeof t=="object"&&!Array.isArray(t),yJe=/[\u001b\u009b][[\]#;?()]*(?:(?:(?:[^\W_]*;?[^\W_]*)\u0007)|(?:(?:[0-9]{1,4}(;[0-9]{0,4})*)?[~0-9=<>cf-nqrtyA-PRZ]))/g,Zie=()=>{let t={enabled:!0,visible:!0,styles:{},keys:{}};"FORCE_COLOR"in process.env&&(t.enabled=process.env.FORCE_COLOR!=="0");let e=s=>{let o=s.open=`[${s.codes[0]}m`,a=s.close=`[${s.codes[1]}m`,l=s.regex=new RegExp(`\\u001b\\[${s.codes[1]}m`,"g");return s.wrap=(c,u)=>{c.includes(a)&&(c=c.replace(l,a+o));let g=o+c+a;return u?g.replace(/\r*\n/g,`${a}$&${o}`):g},s},r=(s,o,a)=>typeof s=="function"?s(o):s.wrap(o,a),i=(s,o)=>{if(s===""||s==null)return"";if(t.enabled===!1)return s;if(t.visible===!1)return"";let a=""+s,l=a.includes(` +`),c=o.length;for(c>0&&o.includes("unstyle")&&(o=[...new Set(["unstyle",...o])].reverse());c-- >0;)a=r(t.styles[o[c]],a,l);return a},n=(s,o,a)=>{t.styles[s]=e({name:s,codes:o}),(t.keys[a]||(t.keys[a]=[])).push(s),Reflect.defineProperty(t,s,{configurable:!0,enumerable:!0,set(c){t.alias(s,c)},get(){let c=u=>i(u,c.stack);return Reflect.setPrototypeOf(c,t),c.stack=this.stack?this.stack.concat(s):[s],c}})};return n("reset",[0,0],"modifier"),n("bold",[1,22],"modifier"),n("dim",[2,22],"modifier"),n("italic",[3,23],"modifier"),n("underline",[4,24],"modifier"),n("inverse",[7,27],"modifier"),n("hidden",[8,28],"modifier"),n("strikethrough",[9,29],"modifier"),n("black",[30,39],"color"),n("red",[31,39],"color"),n("green",[32,39],"color"),n("yellow",[33,39],"color"),n("blue",[34,39],"color"),n("magenta",[35,39],"color"),n("cyan",[36,39],"color"),n("white",[37,39],"color"),n("gray",[90,39],"color"),n("grey",[90,39],"color"),n("bgBlack",[40,49],"bg"),n("bgRed",[41,49],"bg"),n("bgGreen",[42,49],"bg"),n("bgYellow",[43,49],"bg"),n("bgBlue",[44,49],"bg"),n("bgMagenta",[45,49],"bg"),n("bgCyan",[46,49],"bg"),n("bgWhite",[47,49],"bg"),n("blackBright",[90,39],"bright"),n("redBright",[91,39],"bright"),n("greenBright",[92,39],"bright"),n("yellowBright",[93,39],"bright"),n("blueBright",[94,39],"bright"),n("magentaBright",[95,39],"bright"),n("cyanBright",[96,39],"bright"),n("whiteBright",[97,39],"bright"),n("bgBlackBright",[100,49],"bgBright"),n("bgRedBright",[101,49],"bgBright"),n("bgGreenBright",[102,49],"bgBright"),n("bgYellowBright",[103,49],"bgBright"),n("bgBlueBright",[104,49],"bgBright"),n("bgMagentaBright",[105,49],"bgBright"),n("bgCyanBright",[106,49],"bgBright"),n("bgWhiteBright",[107,49],"bgBright"),t.ansiRegex=yJe,t.hasColor=t.hasAnsi=s=>(t.ansiRegex.lastIndex=0,typeof s=="string"&&s!==""&&t.ansiRegex.test(s)),t.alias=(s,o)=>{let a=typeof o=="string"?t[o]:o;if(typeof a!="function")throw new TypeError("Expected alias to be the name of an existing color (string) or a function");a.stack||(Reflect.defineProperty(a,"name",{value:s}),t.styles[s]=a,a.stack=[s]),Reflect.defineProperty(t,s,{configurable:!0,enumerable:!0,set(l){t.alias(s,l)},get(){let l=c=>i(c,l.stack);return Reflect.setPrototypeOf(l,t),l.stack=this.stack?this.stack.concat(a.stack):a.stack,l}})},t.theme=s=>{if(!IJe(s))throw new TypeError("Expected theme to be an object");for(let o of Object.keys(s))t.alias(o,s[o]);return t},t.alias("unstyle",s=>typeof s=="string"&&s!==""?(t.ansiRegex.lastIndex=0,s.replace(t.ansiRegex,"")):""),t.alias("noop",s=>s),t.none=t.clear=t.noop,t.stripColor=t.unstyle,t.symbols=Xie(),t.define=n,t};hN.exports=Zie();hN.exports.create=Zie});var Mi=E(bt=>{"use strict";var wJe=Object.prototype.toString,Cs=js(),$ie=!1,pN=[],ene={yellow:"blue",cyan:"red",green:"magenta",black:"white",blue:"yellow",red:"cyan",magenta:"green",white:"black"};bt.longest=(t,e)=>t.reduce((r,i)=>Math.max(r,e?i[e].length:i.length),0);bt.hasColor=t=>!!t&&Cs.hasColor(t);var N0=bt.isObject=t=>t!==null&&typeof t=="object"&&!Array.isArray(t);bt.nativeType=t=>wJe.call(t).slice(8,-1).toLowerCase().replace(/\s/g,"");bt.isAsyncFn=t=>bt.nativeType(t)==="asyncfunction";bt.isPrimitive=t=>t!=null&&typeof t!="object"&&typeof t!="function";bt.resolve=(t,e,...r)=>typeof e=="function"?e.call(t,...r):e;bt.scrollDown=(t=[])=>[...t.slice(1),t[0]];bt.scrollUp=(t=[])=>[t.pop(),...t];bt.reorder=(t=[])=>{let e=t.slice();return e.sort((r,i)=>r.index>i.index?1:r.index{let i=t.length,n=r===i?0:r<0?i-1:r,s=t[e];t[e]=t[n],t[n]=s};bt.width=(t,e=80)=>{let r=t&&t.columns?t.columns:e;return t&&typeof t.getWindowSize=="function"&&(r=t.getWindowSize()[0]),process.platform==="win32"?r-1:r};bt.height=(t,e=20)=>{let r=t&&t.rows?t.rows:e;return t&&typeof t.getWindowSize=="function"&&(r=t.getWindowSize()[1]),r};bt.wordWrap=(t,e={})=>{if(!t)return t;typeof e=="number"&&(e={width:e});let{indent:r="",newline:i=` +`+r,width:n=80}=e;n-=((i+r).match(/[^\S\n]/g)||[]).length;let o=`.{1,${n}}([\\s\\u200B]+|$)|[^\\s\\u200B]+?([\\s\\u200B]+|$)`,a=t.trim(),l=new RegExp(o,"g"),c=a.match(l)||[];return c=c.map(u=>u.replace(/\n$/,"")),e.padEnd&&(c=c.map(u=>u.padEnd(n," "))),e.padStart&&(c=c.map(u=>u.padStart(n," "))),r+c.join(i)};bt.unmute=t=>{let e=t.stack.find(i=>Cs.keys.color.includes(i));return e?Cs[e]:t.stack.find(i=>i.slice(2)==="bg")?Cs[e.slice(2)]:i=>i};bt.pascal=t=>t?t[0].toUpperCase()+t.slice(1):"";bt.inverse=t=>{if(!t||!t.stack)return t;let e=t.stack.find(i=>Cs.keys.color.includes(i));if(e){let i=Cs["bg"+bt.pascal(e)];return i?i.black:t}let r=t.stack.find(i=>i.slice(0,2)==="bg");return r?Cs[r.slice(2).toLowerCase()]||t:Cs.none};bt.complement=t=>{if(!t||!t.stack)return t;let e=t.stack.find(i=>Cs.keys.color.includes(i)),r=t.stack.find(i=>i.slice(0,2)==="bg");if(e&&!r)return Cs[ene[e]||e];if(r){let i=r.slice(2).toLowerCase(),n=ene[i];return n&&Cs["bg"+bt.pascal(n)]||t}return Cs.none};bt.meridiem=t=>{let e=t.getHours(),r=t.getMinutes(),i=e>=12?"pm":"am";e=e%12;let n=e===0?12:e,s=r<10?"0"+r:r;return n+":"+s+" "+i};bt.set=(t={},e="",r)=>e.split(".").reduce((i,n,s,o)=>{let a=o.length-1>s?i[n]||{}:r;return!bt.isObject(a)&&s{let i=t[e]==null?e.split(".").reduce((n,s)=>n&&n[s],t):t[e];return i==null?r:i};bt.mixin=(t,e)=>{if(!N0(t))return e;if(!N0(e))return t;for(let r of Object.keys(e)){let i=Object.getOwnPropertyDescriptor(e,r);if(i.hasOwnProperty("value"))if(t.hasOwnProperty(r)&&N0(i.value)){let n=Object.getOwnPropertyDescriptor(t,r);N0(n.value)?t[r]=bt.merge({},t[r],e[r]):Reflect.defineProperty(t,r,i)}else Reflect.defineProperty(t,r,i);else Reflect.defineProperty(t,r,i)}return t};bt.merge=(...t)=>{let e={};for(let r of t)bt.mixin(e,r);return e};bt.mixinEmitter=(t,e)=>{let r=e.constructor.prototype;for(let i of Object.keys(r)){let n=r[i];typeof n=="function"?bt.define(t,i,n.bind(e)):bt.define(t,i,n)}};bt.onExit=t=>{let e=(r,i)=>{$ie||($ie=!0,pN.forEach(n=>n()),r===!0&&process.exit(128+i))};pN.length===0&&(process.once("SIGTERM",e.bind(null,!0,15)),process.once("SIGINT",e.bind(null,!0,2)),process.once("exit",e)),pN.push(t)};bt.define=(t,e,r)=>{Reflect.defineProperty(t,e,{value:r})};bt.defineExport=(t,e,r)=>{let i;Reflect.defineProperty(t,e,{enumerable:!0,configurable:!0,set(n){i=n},get(){return i?i():r()}})}});var tne=E(nf=>{"use strict";nf.ctrl={a:"first",b:"backward",c:"cancel",d:"deleteForward",e:"last",f:"forward",g:"reset",i:"tab",k:"cutForward",l:"reset",n:"newItem",m:"cancel",j:"submit",p:"search",r:"remove",s:"save",u:"undo",w:"cutLeft",x:"toggleCursor",v:"paste"};nf.shift={up:"shiftUp",down:"shiftDown",left:"shiftLeft",right:"shiftRight",tab:"prev"};nf.fn={up:"pageUp",down:"pageDown",left:"pageLeft",right:"pageRight",delete:"deleteForward"};nf.option={b:"backward",f:"forward",d:"cutRight",left:"cutLeft",up:"altUp",down:"altDown"};nf.keys={pageup:"pageUp",pagedown:"pageDown",home:"home",end:"end",cancel:"cancel",delete:"deleteForward",backspace:"delete",down:"down",enter:"submit",escape:"cancel",left:"left",space:"space",number:"number",return:"submit",right:"right",tab:"next",up:"up"}});var nne=E((dCt,rne)=>{"use strict";var ine=require("readline"),BJe=tne(),QJe=/^(?:\x1b)([a-zA-Z0-9])$/,bJe=/^(?:\x1b+)(O|N|\[|\[\[)(?:(\d+)(?:;(\d+))?([~^$])|(?:1;)?(\d+)?([a-zA-Z]))/,vJe={OP:"f1",OQ:"f2",OR:"f3",OS:"f4","[11~":"f1","[12~":"f2","[13~":"f3","[14~":"f4","[[A":"f1","[[B":"f2","[[C":"f3","[[D":"f4","[[E":"f5","[15~":"f5","[17~":"f6","[18~":"f7","[19~":"f8","[20~":"f9","[21~":"f10","[23~":"f11","[24~":"f12","[A":"up","[B":"down","[C":"right","[D":"left","[E":"clear","[F":"end","[H":"home",OA:"up",OB:"down",OC:"right",OD:"left",OE:"clear",OF:"end",OH:"home","[1~":"home","[2~":"insert","[3~":"delete","[4~":"end","[5~":"pageup","[6~":"pagedown","[[5~":"pageup","[[6~":"pagedown","[7~":"home","[8~":"end","[a":"up","[b":"down","[c":"right","[d":"left","[e":"clear","[2$":"insert","[3$":"delete","[5$":"pageup","[6$":"pagedown","[7$":"home","[8$":"end",Oa:"up",Ob:"down",Oc:"right",Od:"left",Oe:"clear","[2^":"insert","[3^":"delete","[5^":"pageup","[6^":"pagedown","[7^":"home","[8^":"end","[Z":"tab"};function SJe(t){return["[a","[b","[c","[d","[e","[2$","[3$","[5$","[6$","[7$","[8$","[Z"].includes(t)}function xJe(t){return["Oa","Ob","Oc","Od","Oe","[2^","[3^","[5^","[6^","[7^","[8^"].includes(t)}var L0=(t="",e={})=>{let r,i=P({name:e.name,ctrl:!1,meta:!1,shift:!1,option:!1,sequence:t,raw:t},e);if(Buffer.isBuffer(t)?t[0]>127&&t[1]===void 0?(t[0]-=128,t=""+String(t)):t=String(t):t!==void 0&&typeof t!="string"?t=String(t):t||(t=i.sequence||""),i.sequence=i.sequence||t||i.name,t==="\r")i.raw=void 0,i.name="return";else if(t===` +`)i.name="enter";else if(t===" ")i.name="tab";else if(t==="\b"||t==="\x7F"||t==="\x7F"||t==="\b")i.name="backspace",i.meta=t.charAt(0)==="";else if(t===""||t==="")i.name="escape",i.meta=t.length===2;else if(t===" "||t===" ")i.name="space",i.meta=t.length===2;else if(t<="")i.name=String.fromCharCode(t.charCodeAt(0)+"a".charCodeAt(0)-1),i.ctrl=!0;else if(t.length===1&&t>="0"&&t<="9")i.name="number";else if(t.length===1&&t>="a"&&t<="z")i.name=t;else if(t.length===1&&t>="A"&&t<="Z")i.name=t.toLowerCase(),i.shift=!0;else if(r=QJe.exec(t))i.meta=!0,i.shift=/^[A-Z]$/.test(r[1]);else if(r=bJe.exec(t)){let n=[...t];n[0]===""&&n[1]===""&&(i.option=!0);let s=[r[1],r[2],r[4],r[6]].filter(Boolean).join(""),o=(r[3]||r[5]||1)-1;i.ctrl=!!(o&4),i.meta=!!(o&10),i.shift=!!(o&1),i.code=s,i.name=vJe[s],i.shift=SJe(s)||i.shift,i.ctrl=xJe(s)||i.ctrl}return i};L0.listen=(t={},e)=>{let{stdin:r}=t;if(!r||r!==process.stdin&&!r.isTTY)throw new Error("Invalid stream passed");let i=ine.createInterface({terminal:!0,input:r});ine.emitKeypressEvents(r,i);let n=(a,l)=>e(a,L0(a,l),i),s=r.isRaw;return r.isTTY&&r.setRawMode(!0),r.on("keypress",n),i.resume(),()=>{r.isTTY&&r.setRawMode(s),r.removeListener("keypress",n),i.pause(),i.close()}};L0.action=(t,e,r)=>{let i=P(P({},BJe),r);return e.ctrl?(e.action=i.ctrl[e.name],e):e.option&&i.option?(e.action=i.option[e.name],e):e.shift?(e.action=i.shift[e.name],e):(e.action=i.keys[e.name],e)};rne.exports=L0});var one=E((CCt,sne)=>{"use strict";sne.exports=t=>{t.timers=t.timers||{};let e=t.options.timers;if(!!e)for(let r of Object.keys(e)){let i=e[r];typeof i=="number"&&(i={interval:i}),kJe(t,r,i)}};function kJe(t,e,r={}){let i=t.timers[e]={name:e,start:Date.now(),ms:0,tick:0},n=r.interval||120;i.frames=r.frames||[],i.loading=!0;let s=setInterval(()=>{i.ms=Date.now()-i.start,i.tick++,t.render()},n);return i.stop=()=>{i.loading=!1,clearInterval(s)},Reflect.defineProperty(i,"interval",{value:s}),t.once("close",()=>i.stop()),i.stop}});var lne=E((mCt,ane)=>{"use strict";var{define:PJe,width:DJe}=Mi(),Ane=class{constructor(e){let r=e.options;PJe(this,"_prompt",e),this.type=e.type,this.name=e.name,this.message="",this.header="",this.footer="",this.error="",this.hint="",this.input="",this.cursor=0,this.index=0,this.lines=0,this.tick=0,this.prompt="",this.buffer="",this.width=DJe(r.stdout||process.stdout),Object.assign(this,r),this.name=this.name||this.message,this.message=this.message||this.name,this.symbols=e.symbols,this.styles=e.styles,this.required=new Set,this.cancelled=!1,this.submitted=!1}clone(){let e=P({},this);return e.status=this.status,e.buffer=Buffer.from(e.buffer),delete e.clone,e}set color(e){this._color=e}get color(){let e=this.prompt.styles;if(this.cancelled)return e.cancelled;if(this.submitted)return e.submitted;let r=this._color||e[this.status];return typeof r=="function"?r:e.pending}set loading(e){this._loading=e}get loading(){return typeof this._loading=="boolean"?this._loading:this.loadingChoices?"choices":!1}get status(){return this.cancelled?"cancelled":this.submitted?"submitted":"pending"}};ane.exports=Ane});var une=E((ECt,cne)=>{"use strict";var dN=Mi(),yi=js(),CN={default:yi.noop,noop:yi.noop,set inverse(t){this._inverse=t},get inverse(){return this._inverse||dN.inverse(this.primary)},set complement(t){this._complement=t},get complement(){return this._complement||dN.complement(this.primary)},primary:yi.cyan,success:yi.green,danger:yi.magenta,strong:yi.bold,warning:yi.yellow,muted:yi.dim,disabled:yi.gray,dark:yi.dim.gray,underline:yi.underline,set info(t){this._info=t},get info(){return this._info||this.primary},set em(t){this._em=t},get em(){return this._em||this.primary.underline},set heading(t){this._heading=t},get heading(){return this._heading||this.muted.underline},set pending(t){this._pending=t},get pending(){return this._pending||this.primary},set submitted(t){this._submitted=t},get submitted(){return this._submitted||this.success},set cancelled(t){this._cancelled=t},get cancelled(){return this._cancelled||this.danger},set typing(t){this._typing=t},get typing(){return this._typing||this.dim},set placeholder(t){this._placeholder=t},get placeholder(){return this._placeholder||this.primary.dim},set highlight(t){this._highlight=t},get highlight(){return this._highlight||this.inverse}};CN.merge=(t={})=>{t.styles&&typeof t.styles.enabled=="boolean"&&(yi.enabled=t.styles.enabled),t.styles&&typeof t.styles.visible=="boolean"&&(yi.visible=t.styles.visible);let e=dN.merge({},CN,t.styles);delete e.merge;for(let r of Object.keys(yi))e.hasOwnProperty(r)||Reflect.defineProperty(e,r,{get:()=>yi[r]});for(let r of Object.keys(yi.styles))e.hasOwnProperty(r)||Reflect.defineProperty(e,r,{get:()=>yi[r]});return e};cne.exports=CN});var fne=E((ICt,gne)=>{"use strict";var mN=process.platform==="win32",Ka=js(),RJe=Mi(),EN=_(P({},Ka.symbols),{upDownDoubleArrow:"\u21D5",upDownDoubleArrow2:"\u2B0D",upDownArrow:"\u2195",asterisk:"*",asterism:"\u2042",bulletWhite:"\u25E6",electricArrow:"\u2301",ellipsisLarge:"\u22EF",ellipsisSmall:"\u2026",fullBlock:"\u2588",identicalTo:"\u2261",indicator:Ka.symbols.check,leftAngle:"\u2039",mark:"\u203B",minus:"\u2212",multiplication:"\xD7",obelus:"\xF7",percent:"%",pilcrow:"\xB6",pilcrow2:"\u2761",pencilUpRight:"\u2710",pencilDownRight:"\u270E",pencilRight:"\u270F",plus:"+",plusMinus:"\xB1",pointRight:"\u261E",rightAngle:"\u203A",section:"\xA7",hexagon:{off:"\u2B21",on:"\u2B22",disabled:"\u2B22"},ballot:{on:"\u2611",off:"\u2610",disabled:"\u2612"},stars:{on:"\u2605",off:"\u2606",disabled:"\u2606"},folder:{on:"\u25BC",off:"\u25B6",disabled:"\u25B6"},prefix:{pending:Ka.symbols.question,submitted:Ka.symbols.check,cancelled:Ka.symbols.cross},separator:{pending:Ka.symbols.pointerSmall,submitted:Ka.symbols.middot,cancelled:Ka.symbols.middot},radio:{off:mN?"( )":"\u25EF",on:mN?"(*)":"\u25C9",disabled:mN?"(|)":"\u24BE"},numbers:["\u24EA","\u2460","\u2461","\u2462","\u2463","\u2464","\u2465","\u2466","\u2467","\u2468","\u2469","\u246A","\u246B","\u246C","\u246D","\u246E","\u246F","\u2470","\u2471","\u2472","\u2473","\u3251","\u3252","\u3253","\u3254","\u3255","\u3256","\u3257","\u3258","\u3259","\u325A","\u325B","\u325C","\u325D","\u325E","\u325F","\u32B1","\u32B2","\u32B3","\u32B4","\u32B5","\u32B6","\u32B7","\u32B8","\u32B9","\u32BA","\u32BB","\u32BC","\u32BD","\u32BE","\u32BF"]});EN.merge=t=>{let e=RJe.merge({},Ka.symbols,EN,t.symbols);return delete e.merge,e};gne.exports=EN});var pne=E((yCt,hne)=>{"use strict";var FJe=une(),NJe=fne(),LJe=Mi();hne.exports=t=>{t.options=LJe.merge({},t.options.theme,t.options),t.symbols=NJe.merge(t.options),t.styles=FJe.merge(t.options)}});var Ine=E((dne,Cne)=>{"use strict";var mne=process.env.TERM_PROGRAM==="Apple_Terminal",TJe=js(),IN=Mi(),Ys=Cne.exports=dne,Ir="[",Ene="\x07",yN=!1,HA=Ys.code={bell:Ene,beep:Ene,beginning:`${Ir}G`,down:`${Ir}J`,esc:Ir,getPosition:`${Ir}6n`,hide:`${Ir}?25l`,line:`${Ir}2K`,lineEnd:`${Ir}K`,lineStart:`${Ir}1K`,restorePosition:Ir+(mne?"8":"u"),savePosition:Ir+(mne?"7":"s"),screen:`${Ir}2J`,show:`${Ir}?25h`,up:`${Ir}1J`},Lc=Ys.cursor={get hidden(){return yN},hide(){return yN=!0,HA.hide},show(){return yN=!1,HA.show},forward:(t=1)=>`${Ir}${t}C`,backward:(t=1)=>`${Ir}${t}D`,nextLine:(t=1)=>`${Ir}E`.repeat(t),prevLine:(t=1)=>`${Ir}F`.repeat(t),up:(t=1)=>t?`${Ir}${t}A`:"",down:(t=1)=>t?`${Ir}${t}B`:"",right:(t=1)=>t?`${Ir}${t}C`:"",left:(t=1)=>t?`${Ir}${t}D`:"",to(t,e){return e?`${Ir}${e+1};${t+1}H`:`${Ir}${t+1}G`},move(t=0,e=0){let r="";return r+=t<0?Lc.left(-t):t>0?Lc.right(t):"",r+=e<0?Lc.up(-e):e>0?Lc.down(e):"",r},restore(t={}){let{after:e,cursor:r,initial:i,input:n,prompt:s,size:o,value:a}=t;if(i=IN.isPrimitive(i)?String(i):"",n=IN.isPrimitive(n)?String(n):"",a=IN.isPrimitive(a)?String(a):"",o){let l=Ys.cursor.up(o)+Ys.cursor.to(s.length),c=n.length-r;return c>0&&(l+=Ys.cursor.left(c)),l}if(a||e){let l=!n&&!!i?-i.length:-n.length+r;return e&&(l-=e.length),n===""&&i&&!s.includes(i)&&(l+=i.length),Ys.cursor.move(l)}}},wN=Ys.erase={screen:HA.screen,up:HA.up,down:HA.down,line:HA.line,lineEnd:HA.lineEnd,lineStart:HA.lineStart,lines(t){let e="";for(let r=0;r{if(!e)return wN.line+Lc.to(0);let r=s=>[...TJe.unstyle(s)].length,i=t.split(/\r?\n/),n=0;for(let s of i)n+=1+Math.floor(Math.max(r(s)-1,0)/e);return(wN.line+Lc.prevLine()).repeat(n-1)+wN.line+Lc.to(0)}});var sf=E((wCt,yne)=>{"use strict";var MJe=require("events"),wne=js(),BN=nne(),OJe=one(),KJe=lne(),UJe=pne(),bn=Mi(),Tc=Ine(),T0=class extends MJe{constructor(e={}){super();this.name=e.name,this.type=e.type,this.options=e,UJe(this),OJe(this),this.state=new KJe(this),this.initial=[e.initial,e.default].find(r=>r!=null),this.stdout=e.stdout||process.stdout,this.stdin=e.stdin||process.stdin,this.scale=e.scale||1,this.term=this.options.term||process.env.TERM_PROGRAM,this.margin=GJe(this.options.margin),this.setMaxListeners(0),HJe(this)}async keypress(e,r={}){this.keypressed=!0;let i=BN.action(e,BN(e,r),this.options.actions);this.state.keypress=i,this.emit("keypress",e,i),this.emit("state",this.state.clone());let n=this.options[i.action]||this[i.action]||this.dispatch;if(typeof n=="function")return await n.call(this,e,i);this.alert()}alert(){delete this.state.alert,this.options.show===!1?this.emit("alert"):this.stdout.write(Tc.code.beep)}cursorHide(){this.stdout.write(Tc.cursor.hide()),bn.onExit(()=>this.cursorShow())}cursorShow(){this.stdout.write(Tc.cursor.show())}write(e){!e||(this.stdout&&this.state.show!==!1&&this.stdout.write(e),this.state.buffer+=e)}clear(e=0){let r=this.state.buffer;this.state.buffer="",!(!r&&!e||this.options.show===!1)&&this.stdout.write(Tc.cursor.down(e)+Tc.clear(r,this.width))}restore(){if(this.state.closed||this.options.show===!1)return;let{prompt:e,after:r,rest:i}=this.sections(),{cursor:n,initial:s="",input:o="",value:a=""}=this,l=this.state.size=i.length,c={after:r,cursor:n,initial:s,input:o,prompt:e,size:l,value:a},u=Tc.cursor.restore(c);u&&this.stdout.write(u)}sections(){let{buffer:e,input:r,prompt:i}=this.state;i=wne.unstyle(i);let n=wne.unstyle(e),s=n.indexOf(i),o=n.slice(0,s),l=n.slice(s).split(` +`),c=l[0],u=l[l.length-1],f=(i+(r?" "+r:"")).length,h=fe.call(this,this.value),this.result=()=>i.call(this,this.value),typeof r.initial=="function"&&(this.initial=await r.initial.call(this,this)),typeof r.onRun=="function"&&await r.onRun.call(this,this),typeof r.onSubmit=="function"){let n=r.onSubmit.bind(this),s=this.submit.bind(this);delete this.options.onSubmit,this.submit=async()=>(await n(this.name,this.value,this),s())}await this.start(),await this.render()}render(){throw new Error("expected prompt to have a custom render method")}run(){return new Promise(async(e,r)=>{if(this.once("submit",e),this.once("cancel",r),await this.skip())return this.render=()=>{},this.submit();await this.initialize(),this.emit("run")})}async element(e,r,i){let{options:n,state:s,symbols:o,timers:a}=this,l=a&&a[e];s.timer=l;let c=n[e]||s[e]||o[e],u=r&&r[e]!=null?r[e]:await c;if(u==="")return u;let g=await this.resolve(u,s,r,i);return!g&&r&&r[e]?this.resolve(c,s,r,i):g}async prefix(){let e=await this.element("prefix")||this.symbols,r=this.timers&&this.timers.prefix,i=this.state;return i.timer=r,bn.isObject(e)&&(e=e[i.status]||e.pending),bn.hasColor(e)?e:(this.styles[i.status]||this.styles.pending)(e)}async message(){let e=await this.element("message");return bn.hasColor(e)?e:this.styles.strong(e)}async separator(){let e=await this.element("separator")||this.symbols,r=this.timers&&this.timers.separator,i=this.state;i.timer=r;let n=e[i.status]||e.pending||i.separator,s=await this.resolve(n,i);return bn.isObject(s)&&(s=s[i.status]||s.pending),bn.hasColor(s)?s:this.styles.muted(s)}async pointer(e,r){let i=await this.element("pointer",e,r);if(typeof i=="string"&&bn.hasColor(i))return i;if(i){let n=this.styles,s=this.index===r,o=s?n.primary:c=>c,a=await this.resolve(i[s?"on":"off"]||i,this.state),l=bn.hasColor(a)?a:o(a);return s?l:" ".repeat(a.length)}}async indicator(e,r){let i=await this.element("indicator",e,r);if(typeof i=="string"&&bn.hasColor(i))return i;if(i){let n=this.styles,s=e.enabled===!0,o=s?n.success:n.dark,a=i[s?"on":"off"]||i;return bn.hasColor(a)?a:o(a)}return""}body(){return null}footer(){if(this.state.status==="pending")return this.element("footer")}header(){if(this.state.status==="pending")return this.element("header")}async hint(){if(this.state.status==="pending"&&!this.isValue(this.state.input)){let e=await this.element("hint");return bn.hasColor(e)?e:this.styles.muted(e)}}error(e){return this.state.submitted?"":e||this.state.error}format(e){return e}result(e){return e}validate(e){return this.options.required===!0?this.isValue(e):!0}isValue(e){return e!=null&&e!==""}resolve(e,...r){return bn.resolve(this,e,...r)}get base(){return T0.prototype}get style(){return this.styles[this.state.status]}get height(){return this.options.rows||bn.height(this.stdout,25)}get width(){return this.options.columns||bn.width(this.stdout,80)}get size(){return{width:this.width,height:this.height}}set cursor(e){this.state.cursor=e}get cursor(){return this.state.cursor}set input(e){this.state.input=e}get input(){return this.state.input}set value(e){this.state.value=e}get value(){let{input:e,value:r}=this.state,i=[r,e].find(this.isValue.bind(this));return this.isValue(i)?i:this.initial}static get prompt(){return e=>new this(e).run()}};function HJe(t){let e=n=>t[n]===void 0||typeof t[n]=="function",r=["actions","choices","initial","margin","roles","styles","symbols","theme","timers","value"],i=["body","footer","error","header","hint","indicator","message","prefix","separator","skip"];for(let n of Object.keys(t.options)){if(r.includes(n)||/^on[A-Z]/.test(n))continue;let s=t.options[n];typeof s=="function"&&e(n)?i.includes(n)||(t[n]=s.bind(t)):typeof t[n]!="function"&&(t[n]=s)}}function GJe(t){typeof t=="number"&&(t=[t,t,t,t]);let e=[].concat(t||[]),r=n=>n%2==0?` +`:" ",i=[];for(let n=0;n<4;n++){let s=r(n);e[n]?i.push(s.repeat(e[n])):i.push("")}return i}yne.exports=T0});var bne=E((BCt,Bne)=>{"use strict";var jJe=Mi(),Qne={default(t,e){return e},checkbox(t,e){throw new Error("checkbox role is not implemented yet")},editable(t,e){throw new Error("editable role is not implemented yet")},expandable(t,e){throw new Error("expandable role is not implemented yet")},heading(t,e){return e.disabled="",e.indicator=[e.indicator," "].find(r=>r!=null),e.message=e.message||"",e},input(t,e){throw new Error("input role is not implemented yet")},option(t,e){return Qne.default(t,e)},radio(t,e){throw new Error("radio role is not implemented yet")},separator(t,e){return e.disabled="",e.indicator=[e.indicator," "].find(r=>r!=null),e.message=e.message||t.symbols.line.repeat(5),e},spacer(t,e){return e}};Bne.exports=(t,e={})=>{let r=jJe.merge({},Qne,e.roles);return r[t]||r.default}});var sC=E((QCt,vne)=>{"use strict";var YJe=js(),qJe=sf(),JJe=bne(),M0=Mi(),{reorder:QN,scrollUp:WJe,scrollDown:zJe,isObject:Sne,swap:VJe}=M0,xne=class extends qJe{constructor(e){super(e);this.cursorHide(),this.maxSelected=e.maxSelected||Infinity,this.multiple=e.multiple||!1,this.initial=e.initial||0,this.delay=e.delay||0,this.longest=0,this.num=""}async initialize(){typeof this.options.initial=="function"&&(this.initial=await this.options.initial.call(this)),await this.reset(!0),await super.initialize()}async reset(){let{choices:e,initial:r,autofocus:i,suggest:n}=this.options;if(this.state._choices=[],this.state.choices=[],this.choices=await Promise.all(await this.toChoices(e)),this.choices.forEach(s=>s.enabled=!1),typeof n!="function"&&this.selectable.length===0)throw new Error("At least one choice must be selectable");Sne(r)&&(r=Object.keys(r)),Array.isArray(r)?(i!=null&&(this.index=this.findIndex(i)),r.forEach(s=>this.enable(this.find(s))),await this.render()):(i!=null&&(r=i),typeof r=="string"&&(r=this.findIndex(r)),typeof r=="number"&&r>-1&&(this.index=Math.max(0,Math.min(r,this.choices.length)),this.enable(this.find(this.index)))),this.isDisabled(this.focused)&&await this.down()}async toChoices(e,r){this.state.loadingChoices=!0;let i=[],n=0,s=async(o,a)=>{typeof o=="function"&&(o=await o.call(this)),o instanceof Promise&&(o=await o);for(let l=0;l(this.state.loadingChoices=!1,o))}async toChoice(e,r,i){if(typeof e=="function"&&(e=await e.call(this,this)),e instanceof Promise&&(e=await e),typeof e=="string"&&(e={name:e}),e.normalized)return e;e.normalized=!0;let n=e.value;if(e=JJe(e.role,this.options)(this,e),typeof e.disabled=="string"&&!e.hint&&(e.hint=e.disabled,e.disabled=!0),e.disabled===!0&&e.hint==null&&(e.hint="(disabled)"),e.index!=null)return e;e.name=e.name||e.key||e.title||e.value||e.message,e.message=e.message||e.name||"",e.value=[e.value,e.name].find(this.isValue.bind(this)),e.input="",e.index=r,e.cursor=0,M0.define(e,"parent",i),e.level=i?i.level+1:1,e.indent==null&&(e.indent=i?i.indent+" ":e.indent||""),e.path=i?i.path+"."+e.name:e.name,e.enabled=!!(this.multiple&&!this.isDisabled(e)&&(e.enabled||this.isSelected(e))),this.isDisabled(e)||(this.longest=Math.max(this.longest,YJe.unstyle(e.message).length));let o=P({},e);return e.reset=(a=o.input,l=o.value)=>{for(let c of Object.keys(o))e[c]=o[c];e.input=a,e.value=l},n==null&&typeof e.initial=="function"&&(e.input=await e.initial.call(this,this.state,e,r)),e}async onChoice(e,r){this.emit("choice",e,r,this),typeof e.onChoice=="function"&&await e.onChoice.call(this,this.state,e,r)}async addChoice(e,r,i){let n=await this.toChoice(e,r,i);return this.choices.push(n),this.index=this.choices.length-1,this.limit=this.choices.length,n}async newItem(e,r,i){let n=P({name:"New choice name?",editable:!0,newChoice:!0},e),s=await this.addChoice(n,r,i);return s.updateChoice=()=>{delete s.newChoice,s.name=s.message=s.input,s.input="",s.cursor=0},this.render()}indent(e){return e.indent==null?e.level>1?" ".repeat(e.level-1):"":e.indent}dispatch(e,r){if(this.multiple&&this[r.name])return this[r.name]();this.alert()}focus(e,r){return typeof r!="boolean"&&(r=e.enabled),r&&!e.enabled&&this.selected.length>=this.maxSelected?this.alert():(this.index=e.index,e.enabled=r&&!this.isDisabled(e),e)}space(){return this.multiple?(this.toggle(this.focused),this.render()):this.alert()}a(){if(this.maxSelectedr.enabled);return this.choices.forEach(r=>r.enabled=!e),this.render()}i(){return this.choices.length-this.selected.length>this.maxSelected?this.alert():(this.choices.forEach(e=>e.enabled=!e.enabled),this.render())}g(e=this.focused){return this.choices.some(r=>!!r.parent)?(this.toggle(e.parent&&!e.choices?e.parent:e),this.render()):this.a()}toggle(e,r){if(!e.enabled&&this.selected.length>=this.maxSelected)return this.alert();typeof r!="boolean"&&(r=!e.enabled),e.enabled=r,e.choices&&e.choices.forEach(n=>this.toggle(n,r));let i=e.parent;for(;i;){let n=i.choices.filter(s=>this.isDisabled(s));i.enabled=n.every(s=>s.enabled===!0),i=i.parent}return kne(this,this.choices),this.emit("toggle",e,this),e}enable(e){return this.selected.length>=this.maxSelected?this.alert():(e.enabled=!this.isDisabled(e),e.choices&&e.choices.forEach(this.enable.bind(this)),e)}disable(e){return e.enabled=!1,e.choices&&e.choices.forEach(this.disable.bind(this)),e}number(e){this.num+=e;let r=i=>{let n=Number(i);if(n>this.choices.length-1)return this.alert();let s=this.focused,o=this.choices.find(a=>n===a.index);if(!o.enabled&&this.selected.length>=this.maxSelected)return this.alert();if(this.visible.indexOf(o)===-1){let a=QN(this.choices),l=a.indexOf(o);if(s.index>l){let c=a.slice(l,l+this.limit),u=a.filter(g=>!c.includes(g));this.choices=c.concat(u)}else{let c=l-this.limit+1;this.choices=a.slice(c).concat(a.slice(0,c))}}return this.index=this.choices.indexOf(o),this.toggle(this.focused),this.render()};return clearTimeout(this.numberTimeout),new Promise(i=>{let n=this.choices.length,s=this.num,o=(a=!1,l)=>{clearTimeout(this.numberTimeout),a&&(l=r(s)),this.num="",i(l)};if(s==="0"||s.length===1&&Number(s+"0")>n)return o(!0);if(Number(s)>n)return o(!1,this.alert());this.numberTimeout=setTimeout(()=>o(!0),this.delay)})}home(){return this.choices=QN(this.choices),this.index=0,this.render()}end(){let e=this.choices.length-this.limit,r=QN(this.choices);return this.choices=r.slice(e).concat(r.slice(0,e)),this.index=this.limit-1,this.render()}first(){return this.index=0,this.render()}last(){return this.index=this.visible.length-1,this.render()}prev(){return this.visible.length<=1?this.alert():this.up()}next(){return this.visible.length<=1?this.alert():this.down()}right(){return this.cursor>=this.input.length?this.alert():(this.cursor++,this.render())}left(){return this.cursor<=0?this.alert():(this.cursor--,this.render())}up(){let e=this.choices.length,r=this.visible.length,i=this.index;return this.options.scroll===!1&&i===0?this.alert():e>r&&i===0?this.scrollUp():(this.index=(i-1%e+e)%e,this.isDisabled()?this.up():this.render())}down(){let e=this.choices.length,r=this.visible.length,i=this.index;return this.options.scroll===!1&&i===r-1?this.alert():e>r&&i===r-1?this.scrollDown():(this.index=(i+1)%e,this.isDisabled()?this.down():this.render())}scrollUp(e=0){return this.choices=WJe(this.choices),this.index=e,this.isDisabled()?this.up():this.render()}scrollDown(e=this.visible.length-1){return this.choices=zJe(this.choices),this.index=e,this.isDisabled()?this.down():this.render()}async shiftUp(){if(this.options.sort===!0){this.sorting=!0,this.swap(this.index-1),await this.up(),this.sorting=!1;return}return this.scrollUp(this.index)}async shiftDown(){if(this.options.sort===!0){this.sorting=!0,this.swap(this.index+1),await this.down(),this.sorting=!1;return}return this.scrollDown(this.index)}pageUp(){return this.visible.length<=1?this.alert():(this.limit=Math.max(this.limit-1,0),this.index=Math.min(this.limit-1,this.index),this._limit=this.limit,this.isDisabled()?this.up():this.render())}pageDown(){return this.visible.length>=this.choices.length?this.alert():(this.index=Math.max(0,this.index),this.limit=Math.min(this.limit+1,this.choices.length),this._limit=this.limit,this.isDisabled()?this.down():this.render())}swap(e){VJe(this.choices,this.index,e)}isDisabled(e=this.focused){return e&&["disabled","collapsed","hidden","completing","readonly"].some(i=>e[i]===!0)?!0:e&&e.role==="heading"}isEnabled(e=this.focused){if(Array.isArray(e))return e.every(r=>this.isEnabled(r));if(e.choices){let r=e.choices.filter(i=>!this.isDisabled(i));return e.enabled&&r.every(i=>this.isEnabled(i))}return e.enabled&&!this.isDisabled(e)}isChoice(e,r){return e.name===r||e.index===Number(r)}isSelected(e){return Array.isArray(this.initial)?this.initial.some(r=>this.isChoice(e,r)):this.isChoice(e,this.initial)}map(e=[],r="value"){return[].concat(e||[]).reduce((i,n)=>(i[n]=this.find(n,r),i),{})}filter(e,r){let i=(a,l)=>[a.name,l].includes(e),n=typeof e=="function"?e:i,o=(this.options.multiple?this.state._choices:this.choices).filter(n);return r?o.map(a=>a[r]):o}find(e,r){if(Sne(e))return r?e[r]:e;let i=(o,a)=>[o.name,a].includes(e),n=typeof e=="function"?e:i,s=this.choices.find(n);if(s)return r?s[r]:s}findIndex(e){return this.choices.indexOf(this.find(e))}async submit(){let e=this.focused;if(!e)return this.alert();if(e.newChoice)return e.input?(e.updateChoice(),this.render()):this.alert();if(this.choices.some(o=>o.newChoice))return this.alert();let{reorder:r,sort:i}=this.options,n=this.multiple===!0,s=this.selected;return s===void 0?this.alert():(Array.isArray(s)&&r!==!1&&i!==!0&&(s=M0.reorder(s)),this.value=n?s.map(o=>o.name):s.name,super.submit())}set choices(e=[]){this.state._choices=this.state._choices||[],this.state.choices=e;for(let r of e)this.state._choices.some(i=>i.name===r.name)||this.state._choices.push(r);if(!this._initial&&this.options.initial){this._initial=!0;let r=this.initial;if(typeof r=="string"||typeof r=="number"){let i=this.find(r);i&&(this.initial=i.index,this.focus(i,!0))}}}get choices(){return kne(this,this.state.choices||[])}set visible(e){this.state.visible=e}get visible(){return(this.state.visible||this.choices).slice(0,this.limit)}set limit(e){this.state.limit=e}get limit(){let{state:e,options:r,choices:i}=this,n=e.limit||this._limit||r.limit||i.length;return Math.min(n,this.height)}set value(e){super.value=e}get value(){return typeof super.value!="string"&&super.value===this.initial?this.input:super.value}set index(e){this.state.index=e}get index(){return Math.max(0,this.state?this.state.index:0)}get enabled(){return this.filter(this.isEnabled.bind(this))}get focused(){let e=this.choices[this.index];return e&&this.state.submitted&&this.multiple!==!0&&(e.enabled=!0),e}get selectable(){return this.choices.filter(e=>!this.isDisabled(e))}get selected(){return this.multiple?this.enabled:this.focused}};function kne(t,e){if(e instanceof Promise)return e;if(typeof e=="function"){if(M0.isAsyncFn(e))return e;e=e.call(t,t)}for(let r of e){if(Array.isArray(r.choices)){let i=r.choices.filter(n=>!t.isDisabled(n));r.enabled=i.every(n=>n.enabled===!0)}t.isDisabled(r)===!0&&delete r.enabled}return e}vne.exports=xne});var GA=E((bCt,Pne)=>{"use strict";var _Je=sC(),bN=Mi(),Dne=class extends _Je{constructor(e){super(e);this.emptyError=this.options.emptyError||"No items were selected"}async dispatch(e,r){if(this.multiple)return this[r.name]?await this[r.name](e,r):await super.dispatch(e,r);this.alert()}separator(){if(this.options.separator)return super.separator();let e=this.styles.muted(this.symbols.ellipsis);return this.state.submitted?super.separator():e}pointer(e,r){return!this.multiple||this.options.pointer?super.pointer(e,r):""}indicator(e,r){return this.multiple?super.indicator(e,r):""}choiceMessage(e,r){let i=this.resolve(e.message,this.state,e,r);return e.role==="heading"&&!bN.hasColor(i)&&(i=this.styles.strong(i)),this.resolve(i,this.state,e,r)}choiceSeparator(){return":"}async renderChoice(e,r){await this.onChoice(e,r);let i=this.index===r,n=await this.pointer(e,r),s=await this.indicator(e,r)+(e.pad||""),o=await this.resolve(e.hint,this.state,e,r);o&&!bN.hasColor(o)&&(o=this.styles.muted(o));let a=this.indent(e),l=await this.choiceMessage(e,r),c=()=>[this.margin[3],a+n+s,l,this.margin[1],o].filter(Boolean).join(" ");return e.role==="heading"?c():e.disabled?(bN.hasColor(l)||(l=this.styles.disabled(l)),c()):(i&&(l=this.styles.em(l)),c())}async renderChoices(){if(this.state.loading==="choices")return this.styles.warning("Loading choices");if(this.state.submitted)return"";let e=this.visible.map(async(s,o)=>await this.renderChoice(s,o)),r=await Promise.all(e);r.length||r.push(this.styles.danger("No matching choices"));let i=this.margin[0]+r.join(` +`),n;return this.options.choicesHeader&&(n=await this.resolve(this.options.choicesHeader,this.state)),[n,i].filter(Boolean).join(` +`)}format(){return!this.state.submitted||this.state.cancelled?"":Array.isArray(this.selected)?this.selected.map(e=>this.styles.primary(e.name)).join(", "):this.styles.primary(this.selected.name)}async render(){let{submitted:e,size:r}=this.state,i="",n=await this.header(),s=await this.prefix(),o=await this.separator(),a=await this.message();this.options.promptLine!==!1&&(i=[s,a,o,""].join(" "),this.state.prompt=i);let l=await this.format(),c=await this.error()||await this.hint(),u=await this.renderChoices(),g=await this.footer();l&&(i+=l),c&&!i.includes(c)&&(i+=" "+c),e&&!l&&!u.trim()&&this.multiple&&this.emptyError!=null&&(i+=this.styles.danger(this.emptyError)),this.clear(r),this.write([n,i,u,g].filter(Boolean).join(` +`)),this.write(this.margin[2]),this.restore()}};Pne.exports=Dne});var Nne=E((vCt,Rne)=>{"use strict";var XJe=GA(),ZJe=(t,e)=>{let r=t.toLowerCase();return i=>{let s=i.toLowerCase().indexOf(r),o=e(i.slice(s,s+r.length));return s>=0?i.slice(0,s)+o+i.slice(s+r.length):i}},Fne=class extends XJe{constructor(e){super(e);this.cursorShow()}moveCursor(e){this.state.cursor+=e}dispatch(e){return this.append(e)}space(e){return this.options.multiple?super.space(e):this.append(e)}append(e){let{cursor:r,input:i}=this.state;return this.input=i.slice(0,r)+e+i.slice(r),this.moveCursor(1),this.complete()}delete(){let{cursor:e,input:r}=this.state;return r?(this.input=r.slice(0,e-1)+r.slice(e),this.moveCursor(-1),this.complete()):this.alert()}deleteForward(){let{cursor:e,input:r}=this.state;return r[e]===void 0?this.alert():(this.input=`${r}`.slice(0,e)+`${r}`.slice(e+1),this.complete())}number(e){return this.append(e)}async complete(){this.completing=!0,this.choices=await this.suggest(this.input,this.state._choices),this.state.limit=void 0,this.index=Math.min(Math.max(this.visible.length-1,0),this.index),await this.render(),this.completing=!1}suggest(e=this.input,r=this.state._choices){if(typeof this.options.suggest=="function")return this.options.suggest.call(this,e,r);let i=e.toLowerCase();return r.filter(n=>n.message.toLowerCase().includes(i))}pointer(){return""}format(){if(!this.focused)return this.input;if(this.options.multiple&&this.state.submitted)return this.selected.map(e=>this.styles.primary(e.message)).join(", ");if(this.state.submitted){let e=this.value=this.input=this.focused.value;return this.styles.primary(e)}return this.input}async render(){if(this.state.status!=="pending")return super.render();let e=this.options.highlight?this.options.highlight.bind(this):this.styles.placeholder,r=ZJe(this.input,e),i=this.choices;this.choices=i.map(n=>_(P({},n),{message:r(n.message)})),await super.render(),this.choices=i}submit(){return this.options.multiple&&(this.value=this.selected.map(e=>e.name)),super.submit()}};Rne.exports=Fne});var SN=E((SCt,Lne)=>{"use strict";var vN=Mi();Lne.exports=(t,e={})=>{t.cursorHide();let{input:r="",initial:i="",pos:n,showCursor:s=!0,color:o}=e,a=o||t.styles.placeholder,l=vN.inverse(t.styles.primary),c=d=>l(t.styles.black(d)),u=r,g=" ",f=c(g);if(t.blink&&t.blink.off===!0&&(c=d=>d,f=""),s&&n===0&&i===""&&r==="")return c(g);if(s&&n===0&&(r===i||r===""))return c(i[0])+a(i.slice(1));i=vN.isPrimitive(i)?`${i}`:"",r=vN.isPrimitive(r)?`${r}`:"";let h=i&&i.startsWith(r)&&i!==r,p=h?c(i[r.length]):f;if(n!==r.length&&s===!0&&(u=r.slice(0,n)+c(r[n])+r.slice(n+1),p=""),s===!1&&(p=""),h){let d=t.styles.unstyle(u+p);return u+p+a(i.slice(d.length))}return u+p}});var O0=E((xCt,Tne)=>{"use strict";var $Je=js(),e3e=GA(),t3e=SN(),Mne=class extends e3e{constructor(e){super(_(P({},e),{multiple:!0}));this.type="form",this.initial=this.options.initial,this.align=[this.options.align,"right"].find(r=>r!=null),this.emptyError="",this.values={}}async reset(e){return await super.reset(),e===!0&&(this._index=this.index),this.index=this._index,this.values={},this.choices.forEach(r=>r.reset&&r.reset()),this.render()}dispatch(e){return!!e&&this.append(e)}append(e){let r=this.focused;if(!r)return this.alert();let{cursor:i,input:n}=r;return r.value=r.input=n.slice(0,i)+e+n.slice(i),r.cursor++,this.render()}delete(){let e=this.focused;if(!e||e.cursor<=0)return this.alert();let{cursor:r,input:i}=e;return e.value=e.input=i.slice(0,r-1)+i.slice(r),e.cursor--,this.render()}deleteForward(){let e=this.focused;if(!e)return this.alert();let{cursor:r,input:i}=e;if(i[r]===void 0)return this.alert();let n=`${i}`.slice(0,r)+`${i}`.slice(r+1);return e.value=e.input=n,this.render()}right(){let e=this.focused;return e?e.cursor>=e.input.length?this.alert():(e.cursor++,this.render()):this.alert()}left(){let e=this.focused;return e?e.cursor<=0?this.alert():(e.cursor--,this.render()):this.alert()}space(e,r){return this.dispatch(e,r)}number(e,r){return this.dispatch(e,r)}next(){let e=this.focused;if(!e)return this.alert();let{initial:r,input:i}=e;return r&&r.startsWith(i)&&i!==r?(e.value=e.input=r,e.cursor=e.value.length,this.render()):super.next()}prev(){let e=this.focused;return e?e.cursor===0?super.prev():(e.value=e.input="",e.cursor=0,this.render()):this.alert()}separator(){return""}format(e){return this.state.submitted?"":super.format(e)}pointer(){return""}indicator(e){return e.input?"\u29BF":"\u2299"}async choiceSeparator(e,r){let i=await this.resolve(e.separator,this.state,e,r)||":";return i?" "+this.styles.disabled(i):""}async renderChoice(e,r){await this.onChoice(e,r);let{state:i,styles:n}=this,{cursor:s,initial:o="",name:a,hint:l,input:c=""}=e,{muted:u,submitted:g,primary:f,danger:h}=n,p=l,d=this.index===r,m=e.validate||(()=>!0),I=await this.choiceSeparator(e,r),B=e.message;this.align==="right"&&(B=B.padStart(this.longest+1," ")),this.align==="left"&&(B=B.padEnd(this.longest+1," "));let b=this.values[a]=c||o,R=c?"success":"dark";await m.call(e,b,this.state)!==!0&&(R="danger");let L=n[R](await this.indicator(e,r))+(e.pad||""),K=this.indent(e),J=()=>[K,L,B+I,c,p].filter(Boolean).join(" ");if(i.submitted)return B=$Je.unstyle(B),c=g(c),p="",J();if(e.format)c=await e.format.call(this,c,e,r);else{let ne=this.styles.muted;c=t3e(this,{input:c,initial:o,pos:s,showCursor:d,color:ne})}return this.isValue(c)||(c=this.styles.muted(this.symbols.ellipsis)),e.result&&(this.values[a]=await e.result.call(this,b,e,r)),d&&(B=f(B)),e.error?c+=(c?" ":"")+h(e.error.trim()):e.hint&&(c+=(c?" ":"")+u(e.hint.trim())),J()}async submit(){return this.value=this.values,super.base.submit.call(this)}};Tne.exports=Mne});var xN=E((kCt,One)=>{"use strict";var r3e=O0(),i3e=()=>{throw new Error("expected prompt to have a custom authenticate method")},Kne=(t=i3e)=>{class e extends r3e{constructor(i){super(i)}async submit(){this.value=await t.call(this,this.values,this.state),super.base.submit.call(this)}static create(i){return Kne(i)}}return e};One.exports=Kne()});var Gne=E((PCt,Une)=>{"use strict";var n3e=xN();function s3e(t,e){return t.username===this.options.username&&t.password===this.options.password}var Hne=(t=s3e)=>{let e=[{name:"username",message:"username"},{name:"password",message:"password",format(i){return this.options.showPassword?i:(this.state.submitted?this.styles.primary:this.styles.muted)(this.symbols.asterisk.repeat(i.length))}}];class r extends n3e.create(t){constructor(n){super(_(P({},n),{choices:e}))}static create(n){return Hne(n)}}return r};Une.exports=Hne()});var K0=E((DCt,jne)=>{"use strict";var o3e=sf(),{isPrimitive:a3e,hasColor:A3e}=Mi(),Yne=class extends o3e{constructor(e){super(e);this.cursorHide()}async initialize(){let e=await this.resolve(this.initial,this.state);this.input=await this.cast(e),await super.initialize()}dispatch(e){return this.isValue(e)?(this.input=e,this.submit()):this.alert()}format(e){let{styles:r,state:i}=this;return i.submitted?r.success(e):r.primary(e)}cast(e){return this.isTrue(e)}isTrue(e){return/^[ty1]/i.test(e)}isFalse(e){return/^[fn0]/i.test(e)}isValue(e){return a3e(e)&&(this.isTrue(e)||this.isFalse(e))}async hint(){if(this.state.status==="pending"){let e=await this.element("hint");return A3e(e)?e:this.styles.muted(e)}}async render(){let{input:e,size:r}=this.state,i=await this.prefix(),n=await this.separator(),s=await this.message(),o=this.styles.muted(this.default),a=[i,s,o,n].filter(Boolean).join(" ");this.state.prompt=a;let l=await this.header(),c=this.value=this.cast(e),u=await this.format(c),g=await this.error()||await this.hint(),f=await this.footer();g&&!a.includes(g)&&(u+=" "+g),a+=" "+u,this.clear(r),this.write([l,a,f].filter(Boolean).join(` +`)),this.restore()}set value(e){super.value=e}get value(){return this.cast(super.value)}};jne.exports=Yne});var Wne=E((RCt,qne)=>{"use strict";var l3e=K0(),Jne=class extends l3e{constructor(e){super(e);this.default=this.options.default||(this.initial?"(Y/n)":"(y/N)")}};qne.exports=Jne});var _ne=E((FCt,zne)=>{"use strict";var c3e=GA(),u3e=O0(),of=u3e.prototype,Vne=class extends c3e{constructor(e){super(_(P({},e),{multiple:!0}));this.align=[this.options.align,"left"].find(r=>r!=null),this.emptyError="",this.values={}}dispatch(e,r){let i=this.focused,n=i.parent||{};return!i.editable&&!n.editable&&(e==="a"||e==="i")?super[e]():of.dispatch.call(this,e,r)}append(e,r){return of.append.call(this,e,r)}delete(e,r){return of.delete.call(this,e,r)}space(e){return this.focused.editable?this.append(e):super.space()}number(e){return this.focused.editable?this.append(e):super.number(e)}next(){return this.focused.editable?of.next.call(this):super.next()}prev(){return this.focused.editable?of.prev.call(this):super.prev()}async indicator(e,r){let i=e.indicator||"",n=e.editable?i:super.indicator(e,r);return await this.resolve(n,this.state,e,r)||""}indent(e){return e.role==="heading"?"":e.editable?" ":" "}async renderChoice(e,r){return e.indent="",e.editable?of.renderChoice.call(this,e,r):super.renderChoice(e,r)}error(){return""}footer(){return this.state.error}async validate(){let e=!0;for(let r of this.choices){if(typeof r.validate!="function"||r.role==="heading")continue;let i=r.parent?this.value[r.parent.name]:this.value;if(r.editable?i=r.value===r.name?r.initial||"":r.value:this.isDisabled(r)||(i=r.enabled===!0),e=await r.validate(i,this.state),e!==!0)break}return e!==!0&&(this.state.error=typeof e=="string"?e:"Invalid Input"),e}submit(){if(this.focused.newChoice===!0)return super.submit();if(this.choices.some(e=>e.newChoice))return this.alert();this.value={};for(let e of this.choices){let r=e.parent?this.value[e.parent.name]:this.value;if(e.role==="heading"){this.value[e.name]={};continue}e.editable?r[e.name]=e.value===e.name?e.initial||"":e.value:this.isDisabled(e)||(r[e.name]=e.enabled===!0)}return this.base.submit.call(this)}};zne.exports=Vne});var Mc=E((NCt,Xne)=>{"use strict";var g3e=sf(),f3e=SN(),{isPrimitive:h3e}=Mi(),Zne=class extends g3e{constructor(e){super(e);this.initial=h3e(this.initial)?String(this.initial):"",this.initial&&this.cursorHide(),this.state.prevCursor=0,this.state.clipboard=[]}async keypress(e,r={}){let i=this.state.prevKeypress;return this.state.prevKeypress=r,this.options.multiline===!0&&r.name==="return"&&(!i||i.name!=="return")?this.append(` +`,r):super.keypress(e,r)}moveCursor(e){this.cursor+=e}reset(){return this.input=this.value="",this.cursor=0,this.render()}dispatch(e,r){if(!e||r.ctrl||r.code)return this.alert();this.append(e)}append(e){let{cursor:r,input:i}=this.state;this.input=`${i}`.slice(0,r)+e+`${i}`.slice(r),this.moveCursor(String(e).length),this.render()}insert(e){this.append(e)}delete(){let{cursor:e,input:r}=this.state;if(e<=0)return this.alert();this.input=`${r}`.slice(0,e-1)+`${r}`.slice(e),this.moveCursor(-1),this.render()}deleteForward(){let{cursor:e,input:r}=this.state;if(r[e]===void 0)return this.alert();this.input=`${r}`.slice(0,e)+`${r}`.slice(e+1),this.render()}cutForward(){let e=this.cursor;if(this.input.length<=e)return this.alert();this.state.clipboard.push(this.input.slice(e)),this.input=this.input.slice(0,e),this.render()}cutLeft(){let e=this.cursor;if(e===0)return this.alert();let r=this.input.slice(0,e),i=this.input.slice(e),n=r.split(" ");this.state.clipboard.push(n.pop()),this.input=n.join(" "),this.cursor=this.input.length,this.input+=i,this.render()}paste(){if(!this.state.clipboard.length)return this.alert();this.insert(this.state.clipboard.pop()),this.render()}toggleCursor(){this.state.prevCursor?(this.cursor=this.state.prevCursor,this.state.prevCursor=0):(this.state.prevCursor=this.cursor,this.cursor=0),this.render()}first(){this.cursor=0,this.render()}last(){this.cursor=this.input.length-1,this.render()}next(){let e=this.initial!=null?String(this.initial):"";if(!e||!e.startsWith(this.input))return this.alert();this.input=this.initial,this.cursor=this.initial.length,this.render()}prev(){if(!this.input)return this.alert();this.reset()}backward(){return this.left()}forward(){return this.right()}right(){return this.cursor>=this.input.length?this.alert():(this.moveCursor(1),this.render())}left(){return this.cursor<=0?this.alert():(this.moveCursor(-1),this.render())}isValue(e){return!!e}async format(e=this.value){let r=await this.resolve(this.initial,this.state);return this.state.submitted?this.styles.submitted(e||r):f3e(this,{input:e,initial:r,pos:this.cursor})}async render(){let e=this.state.size,r=await this.prefix(),i=await this.separator(),n=await this.message(),s=[r,n,i].filter(Boolean).join(" ");this.state.prompt=s;let o=await this.header(),a=await this.format(),l=await this.error()||await this.hint(),c=await this.footer();l&&!a.includes(l)&&(a+=" "+l),s+=" "+a,this.clear(e),this.write([o,s,c].filter(Boolean).join(` +`)),this.restore()}};Xne.exports=Zne});var ese=E((LCt,$ne)=>{"use strict";var p3e=t=>t.filter((e,r)=>t.lastIndexOf(e)===r),U0=t=>p3e(t).filter(Boolean);$ne.exports=(t,e={},r="")=>{let{past:i=[],present:n=""}=e,s,o;switch(t){case"prev":case"undo":return s=i.slice(0,i.length-1),o=i[i.length-1]||"",{past:U0([r,...s]),present:o};case"next":case"redo":return s=i.slice(1),o=i[0]||"",{past:U0([...s,r]),present:o};case"save":return{past:U0([...i,r]),present:""};case"remove":return o=U0(i.filter(a=>a!==r)),n="",o.length&&(n=o.pop()),{past:o,present:n};default:throw new Error(`Invalid action: "${t}"`)}}});var kN=E((TCt,tse)=>{"use strict";var d3e=Mc(),rse=ese(),ise=class extends d3e{constructor(e){super(e);let r=this.options.history;if(r&&r.store){let i=r.values||this.initial;this.autosave=!!r.autosave,this.store=r.store,this.data=this.store.get("values")||{past:[],present:i},this.initial=this.data.present||this.data.past[this.data.past.length-1]}}completion(e){return this.store?(this.data=rse(e,this.data,this.input),this.data.present?(this.input=this.data.present,this.cursor=this.input.length,this.render()):this.alert()):this.alert()}altUp(){return this.completion("prev")}altDown(){return this.completion("next")}prev(){return this.save(),super.prev()}save(){!this.store||(this.data=rse("save",this.data,this.input),this.store.set("values",this.data))}submit(){return this.store&&this.autosave===!0&&this.save(),super.submit()}};tse.exports=ise});var ose=E((MCt,nse)=>{"use strict";var C3e=Mc(),sse=class extends C3e{format(){return""}};nse.exports=sse});var lse=E((OCt,ase)=>{"use strict";var m3e=Mc(),Ase=class extends m3e{constructor(e={}){super(e);this.sep=this.options.separator||/, */,this.initial=e.initial||""}split(e=this.value){return e?String(e).split(this.sep):[]}format(){let e=this.state.submitted?this.styles.primary:r=>r;return this.list.map(e).join(", ")}async submit(e){let r=this.state.error||await this.validate(this.list,this.state);return r!==!0?(this.state.error=r,super.submit()):(this.value=this.list,super.submit())}get list(){return this.split()}};ase.exports=Ase});var gse=E((KCt,cse)=>{"use strict";var E3e=GA(),use=class extends E3e{constructor(e){super(_(P({},e),{multiple:!0}))}};cse.exports=use});var PN=E((UCt,fse)=>{"use strict";var I3e=Mc(),hse=class extends I3e{constructor(e={}){super(P({style:"number"},e));this.min=this.isValue(e.min)?this.toNumber(e.min):-Infinity,this.max=this.isValue(e.max)?this.toNumber(e.max):Infinity,this.delay=e.delay!=null?e.delay:1e3,this.float=e.float!==!1,this.round=e.round===!0||e.float===!1,this.major=e.major||10,this.minor=e.minor||1,this.initial=e.initial!=null?e.initial:"",this.input=String(this.initial),this.cursor=this.input.length,this.cursorShow()}append(e){return!/[-+.]/.test(e)||e==="."&&this.input.includes(".")?this.alert("invalid number"):super.append(e)}number(e){return super.append(e)}next(){return this.input&&this.input!==this.initial?this.alert():this.isValue(this.initial)?(this.input=this.initial,this.cursor=String(this.initial).length,this.render()):this.alert()}up(e){let r=e||this.minor,i=this.toNumber(this.input);return i>this.max+r?this.alert():(this.input=`${i+r}`,this.render())}down(e){let r=e||this.minor,i=this.toNumber(this.input);return ithis.isValue(r));return this.value=this.toNumber(e||0),super.submit()}};fse.exports=hse});var dse=E((HCt,pse)=>{pse.exports=PN()});var Ese=E((GCt,Cse)=>{"use strict";var y3e=Mc(),mse=class extends y3e{constructor(e){super(e);this.cursorShow()}format(e=this.input){return this.keypressed?(this.state.submitted?this.styles.primary:this.styles.muted)(this.symbols.asterisk.repeat(e.length)):""}};Cse.exports=mse});var Bse=E((jCt,Ise)=>{"use strict";var w3e=js(),B3e=sC(),yse=Mi(),wse=class extends B3e{constructor(e={}){super(e);this.widths=[].concat(e.messageWidth||50),this.align=[].concat(e.align||"left"),this.linebreak=e.linebreak||!1,this.edgeLength=e.edgeLength||3,this.newline=e.newline||` + `;let r=e.startNumber||1;typeof this.scale=="number"&&(this.scaleKey=!1,this.scale=Array(this.scale).fill(0).map((i,n)=>({name:n+r})))}async reset(){return this.tableized=!1,await super.reset(),this.render()}tableize(){if(this.tableized===!0)return;this.tableized=!0;let e=0;for(let r of this.choices){e=Math.max(e,r.message.length),r.scaleIndex=r.initial||2,r.scale=[];for(let i=0;i=this.scale.length-1?this.alert():(e.scaleIndex++,this.render())}left(){let e=this.focused;return e.scaleIndex<=0?this.alert():(e.scaleIndex--,this.render())}indent(){return""}format(){return this.state.submitted?this.choices.map(r=>this.styles.info(r.index)).join(", "):""}pointer(){return""}renderScaleKey(){if(this.scaleKey===!1||this.state.submitted)return"";let e=this.scale.map(i=>` ${i.name} - ${i.message}`);return["",...e].map(i=>this.styles.muted(i)).join(` +`)}renderScaleHeading(e){let r=this.scale.map(l=>l.name);typeof this.options.renderScaleHeading=="function"&&(r=this.options.renderScaleHeading.call(this,e));let i=this.scaleLength-r.join("").length,n=Math.round(i/(r.length-1)),o=r.map(l=>this.styles.strong(l)).join(" ".repeat(n)),a=" ".repeat(this.widths[0]);return this.margin[3]+a+this.margin[1]+o}scaleIndicator(e,r,i){if(typeof this.options.scaleIndicator=="function")return this.options.scaleIndicator.call(this,e,r,i);let n=e.scaleIndex===r.index;return r.disabled?this.styles.hint(this.symbols.radio.disabled):n?this.styles.success(this.symbols.radio.on):this.symbols.radio.off}renderScale(e,r){let i=e.scale.map(s=>this.scaleIndicator(e,s,r)),n=this.term==="Hyper"?"":" ";return i.join(n+this.symbols.line.repeat(this.edgeLength))}async renderChoice(e,r){await this.onChoice(e,r);let i=this.index===r,n=await this.pointer(e,r),s=await e.hint;s&&!yse.hasColor(s)&&(s=this.styles.muted(s));let o=p=>this.margin[3]+p.replace(/\s+$/,"").padEnd(this.widths[0]," "),a=this.newline,l=this.indent(e),c=await this.resolve(e.message,this.state,e,r),u=await this.renderScale(e,r),g=this.margin[1]+this.margin[3];this.scaleLength=w3e.unstyle(u).length,this.widths[0]=Math.min(this.widths[0],this.width-this.scaleLength-g.length);let h=yse.wordWrap(c,{width:this.widths[0],newline:a}).split(` +`).map(p=>o(p)+this.margin[1]);return i&&(u=this.styles.info(u),h=h.map(p=>this.styles.info(p))),h[0]+=u,this.linebreak&&h.push(""),[l+n,h.join(` +`)].filter(Boolean)}async renderChoices(){if(this.state.submitted)return"";this.tableize();let e=this.visible.map(async(n,s)=>await this.renderChoice(n,s)),r=await Promise.all(e),i=await this.renderScaleHeading();return this.margin[0]+[i,...r.map(n=>n.join(" "))].join(` +`)}async render(){let{submitted:e,size:r}=this.state,i=await this.prefix(),n=await this.separator(),s=await this.message(),o="";this.options.promptLine!==!1&&(o=[i,s,n,""].join(" "),this.state.prompt=o);let a=await this.header(),l=await this.format(),c=await this.renderScaleKey(),u=await this.error()||await this.hint(),g=await this.renderChoices(),f=await this.footer(),h=this.emptyError;l&&(o+=l),u&&!o.includes(u)&&(o+=" "+u),e&&!l&&!g.trim()&&this.multiple&&h!=null&&(o+=this.styles.danger(h)),this.clear(r),this.write([a,o,c,g,f].filter(Boolean).join(` +`)),this.state.submitted||this.write(this.margin[2]),this.restore()}submit(){this.value={};for(let e of this.choices)this.value[e.name]=e.scaleIndex;return this.base.submit.call(this)}};Ise.exports=wse});var Sse=E((YCt,Qse)=>{"use strict";var bse=js(),Q3e=(t="")=>typeof t=="string"?t.replace(/^['"]|['"]$/g,""):"",vse=class{constructor(e){this.name=e.key,this.field=e.field||{},this.value=Q3e(e.initial||this.field.initial||""),this.message=e.message||this.name,this.cursor=0,this.input="",this.lines=[]}},b3e=async(t={},e={},r=i=>i)=>{let i=new Set,n=t.fields||[],s=t.template,o=[],a=[],l=[],c=1;typeof s=="function"&&(s=await s());let u=-1,g=()=>s[++u],f=()=>s[u+1],h=p=>{p.line=c,o.push(p)};for(h({type:"bos",value:""});uR.name===I.key);I.field=n.find(R=>R.name===I.key),b||(b=new vse(I),a.push(b)),b.lines.push(I.line-1);continue}let d=o[o.length-1];d.type==="text"&&d.line===c?d.value+=p:h({type:"text",value:p})}return h({type:"eos",value:""}),{input:s,tabstops:o,unique:i,keys:l,items:a}};Qse.exports=async t=>{let e=t.options,r=new Set(e.required===!0?[]:e.required||[]),i=P(P({},e.values),e.initial),{tabstops:n,items:s,keys:o}=await b3e(e,i),a=DN("result",t,e),l=DN("format",t,e),c=DN("validate",t,e,!0),u=t.isValue.bind(t);return async(g={},f=!1)=>{let h=0;g.required=r,g.items=s,g.keys=o,g.output="";let p=async(B,b,R,H)=>{let L=await c(B,b,R,H);return L===!1?"Invalid field "+R.name:L};for(let B of n){let b=B.value,R=B.key;if(B.type!=="template"){b&&(g.output+=b);continue}if(B.type==="template"){let H=s.find(q=>q.name===R);e.required===!0&&g.required.add(H.name);let L=[H.input,g.values[H.value],H.value,b].find(u),J=(H.field||{}).message||B.inner;if(f){let q=await p(g.values[R],g,H,h);if(q&&typeof q=="string"||q===!1){g.invalid.set(R,q);continue}g.invalid.delete(R);let A=await a(g.values[R],g,H,h);g.output+=bse.unstyle(A);continue}H.placeholder=!1;let ne=b;b=await l(b,g,H,h),L!==b?(g.values[R]=L,b=t.styles.typing(L),g.missing.delete(J)):(g.values[R]=void 0,L=`<${J}>`,b=t.styles.primary(L),H.placeholder=!0,g.required.has(R)&&g.missing.add(J)),g.missing.has(J)&&g.validating&&(b=t.styles.warning(L)),g.invalid.has(R)&&g.validating&&(b=t.styles.danger(L)),h===g.index&&(ne!==b?b=t.styles.underline(b):b=t.styles.heading(bse.unstyle(b))),h++}b&&(g.output+=b)}let d=g.output.split(` +`).map(B=>" "+B),m=s.length,I=0;for(let B of s)g.invalid.has(B.name)&&B.lines.forEach(b=>{d[b][0]===" "&&(d[b]=g.styles.danger(g.symbols.bullet)+d[b].slice(1))}),t.isValue(g.values[B.name])&&I++;return g.completed=(I/m*100).toFixed(0),g.output=d.join(` +`),g.output}};function DN(t,e,r,i){return(n,s,o,a)=>typeof o.field[t]=="function"?o.field[t].call(e,n,s,o,a):[i,n].find(l=>e.isValue(l))}});var Pse=E((qCt,xse)=>{"use strict";var v3e=js(),S3e=Sse(),x3e=sf(),kse=class extends x3e{constructor(e){super(e);this.cursorHide(),this.reset(!0)}async initialize(){this.interpolate=await S3e(this),await super.initialize()}async reset(e){this.state.keys=[],this.state.invalid=new Map,this.state.missing=new Set,this.state.completed=0,this.state.values={},e!==!0&&(await this.initialize(),await this.render())}moveCursor(e){let r=this.getItem();this.cursor+=e,r.cursor+=e}dispatch(e,r){if(!r.code&&!r.ctrl&&e!=null&&this.getItem()){this.append(e,r);return}this.alert()}append(e,r){let i=this.getItem(),n=i.input.slice(0,this.cursor),s=i.input.slice(this.cursor);this.input=i.input=`${n}${e}${s}`,this.moveCursor(1),this.render()}delete(){let e=this.getItem();if(this.cursor<=0||!e.input)return this.alert();let r=e.input.slice(this.cursor),i=e.input.slice(0,this.cursor-1);this.input=e.input=`${i}${r}`,this.moveCursor(-1),this.render()}increment(e){return e>=this.state.keys.length-1?0:e+1}decrement(e){return e<=0?this.state.keys.length-1:e-1}first(){this.state.index=0,this.render()}last(){this.state.index=this.state.keys.length-1,this.render()}right(){if(this.cursor>=this.input.length)return this.alert();this.moveCursor(1),this.render()}left(){if(this.cursor<=0)return this.alert();this.moveCursor(-1),this.render()}prev(){this.state.index=this.decrement(this.state.index),this.getItem(),this.render()}next(){this.state.index=this.increment(this.state.index),this.getItem(),this.render()}up(){this.prev()}down(){this.next()}format(e){let r=this.state.completed<100?this.styles.warning:this.styles.success;return this.state.submitted===!0&&this.state.completed!==100&&(r=this.styles.danger),r(`${this.state.completed}% completed`)}async render(){let{index:e,keys:r=[],submitted:i,size:n}=this.state,s=[this.options.newline,` +`].find(B=>B!=null),o=await this.prefix(),a=await this.separator(),l=await this.message(),c=[o,l,a].filter(Boolean).join(" ");this.state.prompt=c;let u=await this.header(),g=await this.error()||"",f=await this.hint()||"",h=i?"":await this.interpolate(this.state),p=this.state.key=r[e]||"",d=await this.format(p),m=await this.footer();d&&(c+=" "+d),f&&!d&&this.state.completed===0&&(c+=" "+f),this.clear(n);let I=[u,c,h,m,g.trim()];this.write(I.filter(Boolean).join(s)),this.restore()}getItem(e){let{items:r,keys:i,index:n}=this.state,s=r.find(o=>o.name===i[n]);return s&&s.input!=null&&(this.input=s.input,this.cursor=s.cursor),s}async submit(){typeof this.interpolate!="function"&&await this.initialize(),await this.interpolate(this.state,!0);let{invalid:e,missing:r,output:i,values:n}=this.state;if(e.size){let a="";for(let[l,c]of e)a+=`Invalid ${l}: ${c} +`;return this.state.error=a,super.submit()}if(r.size)return this.state.error="Required: "+[...r.keys()].join(", "),super.submit();let o=v3e.unstyle(i).split(` +`).map(a=>a.slice(1)).join(` +`);return this.value={values:n,result:o},super.submit()}};xse.exports=kse});var Fse=E((JCt,Dse)=>{"use strict";var k3e="(Use + to sort)",P3e=GA(),Rse=class extends P3e{constructor(e){super(_(P({},e),{reorder:!1,sort:!0,multiple:!0}));this.state.hint=[this.options.hint,k3e].find(this.isValue.bind(this))}indicator(){return""}async renderChoice(e,r){let i=await super.renderChoice(e,r),n=this.symbols.identicalTo+" ",s=this.index===r&&this.sorting?this.styles.muted(n):" ";return this.options.drag===!1&&(s=""),this.options.numbered===!0?s+`${r+1} - `+i:s+i}get selected(){return this.choices}submit(){return this.value=this.choices.map(e=>e.value),super.submit()}};Dse.exports=Rse});var Tse=E((WCt,Nse)=>{"use strict";var D3e=sC(),Lse=class extends D3e{constructor(e={}){super(e);if(this.emptyError=e.emptyError||"No items were selected",this.term=process.env.TERM_PROGRAM,!this.options.header){let r=["","4 - Strongly Agree","3 - Agree","2 - Neutral","1 - Disagree","0 - Strongly Disagree",""];r=r.map(i=>this.styles.muted(i)),this.state.header=r.join(` + `)}}async toChoices(...e){if(this.createdScales)return!1;this.createdScales=!0;let r=await super.toChoices(...e);for(let i of r)i.scale=R3e(5,this.options),i.scaleIdx=2;return r}dispatch(){this.alert()}space(){let e=this.focused,r=e.scale[e.scaleIdx],i=r.selected;return e.scale.forEach(n=>n.selected=!1),r.selected=!i,this.render()}indicator(){return""}pointer(){return""}separator(){return this.styles.muted(this.symbols.ellipsis)}right(){let e=this.focused;return e.scaleIdx>=e.scale.length-1?this.alert():(e.scaleIdx++,this.render())}left(){let e=this.focused;return e.scaleIdx<=0?this.alert():(e.scaleIdx--,this.render())}indent(){return" "}async renderChoice(e,r){await this.onChoice(e,r);let i=this.index===r,n=this.term==="Hyper",s=n?9:8,o=n?"":" ",a=this.symbols.line.repeat(s),l=" ".repeat(s+(n?0:1)),c=b=>(b?this.styles.success("\u25C9"):"\u25EF")+o,u=r+1+".",g=i?this.styles.heading:this.styles.noop,f=await this.resolve(e.message,this.state,e,r),h=this.indent(e),p=h+e.scale.map((b,R)=>c(R===e.scaleIdx)).join(a),d=b=>b===e.scaleIdx?g(b):b,m=h+e.scale.map((b,R)=>d(R)).join(l),I=()=>[u,f].filter(Boolean).join(" "),B=()=>[I(),p,m," "].filter(Boolean).join(` +`);return i&&(p=this.styles.cyan(p),m=this.styles.cyan(m)),B()}async renderChoices(){if(this.state.submitted)return"";let e=this.visible.map(async(i,n)=>await this.renderChoice(i,n)),r=await Promise.all(e);return r.length||r.push(this.styles.danger("No matching choices")),r.join(` +`)}format(){return this.state.submitted?this.choices.map(r=>this.styles.info(r.scaleIdx)).join(", "):""}async render(){let{submitted:e,size:r}=this.state,i=await this.prefix(),n=await this.separator(),s=await this.message(),o=[i,s,n].filter(Boolean).join(" ");this.state.prompt=o;let a=await this.header(),l=await this.format(),c=await this.error()||await this.hint(),u=await this.renderChoices(),g=await this.footer();(l||!c)&&(o+=" "+l),c&&!o.includes(c)&&(o+=" "+c),e&&!l&&!u&&this.multiple&&this.type!=="form"&&(o+=this.styles.danger(this.emptyError)),this.clear(r),this.write([o,a,u,g].filter(Boolean).join(` +`)),this.restore()}submit(){this.value={};for(let e of this.choices)this.value[e.name]=e.scaleIdx;return this.base.submit.call(this)}};function R3e(t,e={}){if(Array.isArray(e.scale))return e.scale.map(i=>P({},i));let r=[];for(let i=1;i{Mse.exports=kN()});var Hse=E((VCt,Kse)=>{"use strict";var F3e=K0(),Use=class extends F3e{async initialize(){await super.initialize(),this.value=this.initial=!!this.options.initial,this.disabled=this.options.disabled||"no",this.enabled=this.options.enabled||"yes",await this.render()}reset(){this.value=this.initial,this.render()}delete(){this.alert()}toggle(){this.value=!this.value,this.render()}enable(){if(this.value===!0)return this.alert();this.value=!0,this.render()}disable(){if(this.value===!1)return this.alert();this.value=!1,this.render()}up(){this.toggle()}down(){this.toggle()}right(){this.toggle()}left(){this.toggle()}next(){this.toggle()}prev(){this.toggle()}dispatch(e="",r){switch(e.toLowerCase()){case" ":return this.toggle();case"1":case"y":case"t":return this.enable();case"0":case"n":case"f":return this.disable();default:return this.alert()}}format(){let e=i=>this.styles.primary.underline(i);return[this.value?this.disabled:e(this.disabled),this.value?e(this.enabled):this.enabled].join(this.styles.muted(" / "))}async render(){let{size:e}=this.state,r=await this.header(),i=await this.prefix(),n=await this.separator(),s=await this.message(),o=await this.format(),a=await this.error()||await this.hint(),l=await this.footer(),c=[i,s,n,o].join(" ");this.state.prompt=c,a&&!c.includes(a)&&(c+=" "+a),this.clear(e),this.write([r,c,l].filter(Boolean).join(` +`)),this.write(this.margin[2]),this.restore()}};Kse.exports=Use});var Yse=E((_Ct,Gse)=>{"use strict";var N3e=GA(),jse=class extends N3e{constructor(e){super(e);if(typeof this.options.correctChoice!="number"||this.options.correctChoice<0)throw new Error("Please specify the index of the correct answer from the list of choices")}async toChoices(e,r){let i=await super.toChoices(e,r);if(i.length<2)throw new Error("Please give at least two choices to the user");if(this.options.correctChoice>i.length)throw new Error("Please specify the index of the correct answer from the list of choices");return i}check(e){return e.index===this.options.correctChoice}async result(e){return{selectedAnswer:e,correctAnswer:this.options.choices[this.options.correctChoice].value,correct:await this.check(this.state)}}};Gse.exports=jse});var Jse=E(RN=>{"use strict";var qse=Mi(),ti=(t,e)=>{qse.defineExport(RN,t,e),qse.defineExport(RN,t.toLowerCase(),e)};ti("AutoComplete",()=>Nne());ti("BasicAuth",()=>Gne());ti("Confirm",()=>Wne());ti("Editable",()=>_ne());ti("Form",()=>O0());ti("Input",()=>kN());ti("Invisible",()=>ose());ti("List",()=>lse());ti("MultiSelect",()=>gse());ti("Numeral",()=>dse());ti("Password",()=>Ese());ti("Scale",()=>Bse());ti("Select",()=>GA());ti("Snippet",()=>Pse());ti("Sort",()=>Fse());ti("Survey",()=>Tse());ti("Text",()=>Ose());ti("Toggle",()=>Hse());ti("Quiz",()=>Yse())});var zse=E((ZCt,Wse)=>{Wse.exports={ArrayPrompt:sC(),AuthPrompt:xN(),BooleanPrompt:K0(),NumberPrompt:PN(),StringPrompt:Mc()}});var aC=E(($Ct,Vse)=>{"use strict";var _se=require("assert"),FN=require("events"),jA=Mi(),No=class extends FN{constructor(e,r){super();this.options=jA.merge({},e),this.answers=P({},r)}register(e,r){if(jA.isObject(e)){for(let n of Object.keys(e))this.register(n,e[n]);return this}_se.equal(typeof r,"function","expected a function");let i=e.toLowerCase();return r.prototype instanceof this.Prompt?this.prompts[i]=r:this.prompts[i]=r(this.Prompt,this),this}async prompt(e=[]){for(let r of[].concat(e))try{typeof r=="function"&&(r=await r.call(this)),await this.ask(jA.merge({},this.options,r))}catch(i){return Promise.reject(i)}return this.answers}async ask(e){typeof e=="function"&&(e=await e.call(this));let r=jA.merge({},this.options,e),{type:i,name:n}=e,{set:s,get:o}=jA;if(typeof i=="function"&&(i=await i.call(this,e,this.answers)),!i)return this.answers[n];_se(this.prompts[i],`Prompt "${i}" is not registered`);let a=new this.prompts[i](r),l=o(this.answers,n);a.state.answers=this.answers,a.enquirer=this,n&&a.on("submit",u=>{this.emit("answer",n,u,a),s(this.answers,n,u)});let c=a.emit.bind(a);return a.emit=(...u)=>(this.emit.call(this,...u),c(...u)),this.emit("prompt",a,this),r.autofill&&l!=null?(a.value=a.input=l,r.autofill==="show"&&await a.submit()):l=a.value=await a.run(),l}use(e){return e.call(this,this),this}set Prompt(e){this._Prompt=e}get Prompt(){return this._Prompt||this.constructor.Prompt}get prompts(){return this.constructor.prompts}static set Prompt(e){this._Prompt=e}static get Prompt(){return this._Prompt||sf()}static get prompts(){return Jse()}static get types(){return zse()}static get prompt(){let e=(r,...i)=>{let n=new this(...i),s=n.emit.bind(n);return n.emit=(...o)=>(e.emit(...o),s(...o)),n.prompt(r)};return jA.mixinEmitter(e,new FN),e}};jA.mixinEmitter(No,new FN);var NN=No.prompts;for(let t of Object.keys(NN)){let e=t.toLowerCase(),r=i=>new NN[t](i).run();No.prompt[e]=r,No[e]=r,No[t]||Reflect.defineProperty(No,t,{get:()=>NN[t]})}var oC=t=>{jA.defineExport(No,t,()=>No.types[t])};oC("ArrayPrompt");oC("AuthPrompt");oC("BooleanPrompt");oC("NumberPrompt");oC("StringPrompt");Vse.exports=No});var loe=E((Gmt,Aoe)=>{function K3e(t,e){for(var r=-1,i=t==null?0:t.length;++r{var U3e=XB(),H3e=jg();function G3e(t,e,r,i){var n=!r;r||(r={});for(var s=-1,o=e.length;++s{var j3e=Af(),Y3e=zg();function q3e(t,e){return t&&j3e(e,Y3e(e),t)}uoe.exports=q3e});var hoe=E((qmt,foe)=>{function J3e(t){var e=[];if(t!=null)for(var r in Object(t))e.push(r);return e}foe.exports=J3e});var doe=E((Jmt,poe)=>{var W3e=Gs(),z3e=u0(),V3e=hoe(),_3e=Object.prototype,X3e=_3e.hasOwnProperty;function Z3e(t){if(!W3e(t))return V3e(t);var e=z3e(t),r=[];for(var i in t)i=="constructor"&&(e||!X3e.call(t,i))||r.push(i);return r}poe.exports=Z3e});var lf=E((Wmt,Coe)=>{var $3e=bF(),eWe=doe(),tWe=Hd();function rWe(t){return tWe(t)?$3e(t,!0):eWe(t)}Coe.exports=rWe});var Eoe=E((zmt,moe)=>{var iWe=Af(),nWe=lf();function sWe(t,e){return t&&iWe(e,nWe(e),t)}moe.exports=sWe});var UN=E((hC,cf)=>{var oWe=Ks(),Ioe=typeof hC=="object"&&hC&&!hC.nodeType&&hC,yoe=Ioe&&typeof cf=="object"&&cf&&!cf.nodeType&&cf,aWe=yoe&&yoe.exports===Ioe,woe=aWe?oWe.Buffer:void 0,Boe=woe?woe.allocUnsafe:void 0;function AWe(t,e){if(e)return t.slice();var r=t.length,i=Boe?Boe(r):new t.constructor(r);return t.copy(i),i}cf.exports=AWe});var HN=E((Vmt,Qoe)=>{function lWe(t,e){var r=-1,i=t.length;for(e||(e=Array(i));++r{var cWe=Af(),uWe=f0();function gWe(t,e){return cWe(t,uWe(t),e)}boe.exports=gWe});var H0=E((Xmt,Soe)=>{var fWe=vF(),hWe=fWe(Object.getPrototypeOf,Object);Soe.exports=hWe});var GN=E((Zmt,xoe)=>{var pWe=$B(),dWe=H0(),CWe=f0(),mWe=RF(),EWe=Object.getOwnPropertySymbols,IWe=EWe?function(t){for(var e=[];t;)pWe(e,CWe(t)),t=dWe(t);return e}:mWe;xoe.exports=IWe});var Poe=E(($mt,koe)=>{var yWe=Af(),wWe=GN();function BWe(t,e){return yWe(t,wWe(t),e)}koe.exports=BWe});var Roe=E((eEt,Doe)=>{var QWe=DF(),bWe=GN(),vWe=lf();function SWe(t){return QWe(t,vWe,bWe)}Doe.exports=SWe});var Noe=E((tEt,Foe)=>{var xWe=Object.prototype,kWe=xWe.hasOwnProperty;function PWe(t){var e=t.length,r=new t.constructor(e);return e&&typeof t[0]=="string"&&kWe.call(t,"index")&&(r.index=t.index,r.input=t.input),r}Foe.exports=PWe});var G0=E((rEt,Loe)=>{var Toe=kF();function DWe(t){var e=new t.constructor(t.byteLength);return new Toe(e).set(new Toe(t)),e}Loe.exports=DWe});var Ooe=E((iEt,Moe)=>{var RWe=G0();function FWe(t,e){var r=e?RWe(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.byteLength)}Moe.exports=FWe});var Uoe=E((nEt,Koe)=>{var NWe=/\w*$/;function LWe(t){var e=new t.constructor(t.source,NWe.exec(t));return e.lastIndex=t.lastIndex,e}Koe.exports=LWe});var qoe=E((sEt,Hoe)=>{var Goe=ac(),joe=Goe?Goe.prototype:void 0,Yoe=joe?joe.valueOf:void 0;function TWe(t){return Yoe?Object(Yoe.call(t)):{}}Hoe.exports=TWe});var jN=E((oEt,Joe)=>{var MWe=G0();function OWe(t,e){var r=e?MWe(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.length)}Joe.exports=OWe});var zoe=E((aEt,Woe)=>{var KWe=G0(),UWe=Ooe(),HWe=Uoe(),GWe=qoe(),jWe=jN(),YWe="[object Boolean]",qWe="[object Date]",JWe="[object Map]",WWe="[object Number]",zWe="[object RegExp]",VWe="[object Set]",_We="[object String]",XWe="[object Symbol]",ZWe="[object ArrayBuffer]",$We="[object DataView]",e8e="[object Float32Array]",t8e="[object Float64Array]",r8e="[object Int8Array]",i8e="[object Int16Array]",n8e="[object Int32Array]",s8e="[object Uint8Array]",o8e="[object Uint8ClampedArray]",a8e="[object Uint16Array]",A8e="[object Uint32Array]";function l8e(t,e,r){var i=t.constructor;switch(e){case ZWe:return KWe(t);case YWe:case qWe:return new i(+t);case $We:return UWe(t,r);case e8e:case t8e:case r8e:case i8e:case n8e:case s8e:case o8e:case a8e:case A8e:return jWe(t,r);case JWe:return new i;case WWe:case _We:return new i(t);case zWe:return HWe(t);case VWe:return new i;case XWe:return GWe(t)}}Woe.exports=l8e});var Xoe=E((AEt,Voe)=>{var c8e=Gs(),_oe=Object.create,u8e=function(){function t(){}return function(e){if(!c8e(e))return{};if(_oe)return _oe(e);t.prototype=e;var r=new t;return t.prototype=void 0,r}}();Voe.exports=u8e});var YN=E((lEt,Zoe)=>{var g8e=Xoe(),f8e=H0(),h8e=u0();function p8e(t){return typeof t.constructor=="function"&&!h8e(t)?g8e(f8e(t)):{}}Zoe.exports=p8e});var eae=E((cEt,$oe)=>{var d8e=jd(),C8e=Qo(),m8e="[object Map]";function E8e(t){return C8e(t)&&d8e(t)==m8e}$oe.exports=E8e});var nae=E((uEt,tae)=>{var I8e=eae(),y8e=A0(),rae=l0(),iae=rae&&rae.isMap,w8e=iae?y8e(iae):I8e;tae.exports=w8e});var oae=E((gEt,sae)=>{var B8e=jd(),Q8e=Qo(),b8e="[object Set]";function v8e(t){return Q8e(t)&&B8e(t)==b8e}sae.exports=v8e});var cae=E((fEt,aae)=>{var S8e=oae(),x8e=A0(),Aae=l0(),lae=Aae&&Aae.isSet,k8e=lae?x8e(lae):S8e;aae.exports=k8e});var pae=E((hEt,uae)=>{var P8e=Gd(),D8e=loe(),R8e=XB(),F8e=goe(),N8e=Eoe(),L8e=UN(),T8e=HN(),M8e=voe(),O8e=Poe(),K8e=FF(),U8e=Roe(),H8e=jd(),G8e=Noe(),j8e=zoe(),Y8e=YN(),q8e=As(),J8e=Od(),W8e=nae(),z8e=Gs(),V8e=cae(),_8e=zg(),X8e=lf(),Z8e=1,$8e=2,e4e=4,gae="[object Arguments]",t4e="[object Array]",r4e="[object Boolean]",i4e="[object Date]",n4e="[object Error]",fae="[object Function]",s4e="[object GeneratorFunction]",o4e="[object Map]",a4e="[object Number]",hae="[object Object]",A4e="[object RegExp]",l4e="[object Set]",c4e="[object String]",u4e="[object Symbol]",g4e="[object WeakMap]",f4e="[object ArrayBuffer]",h4e="[object DataView]",p4e="[object Float32Array]",d4e="[object Float64Array]",C4e="[object Int8Array]",m4e="[object Int16Array]",E4e="[object Int32Array]",I4e="[object Uint8Array]",y4e="[object Uint8ClampedArray]",w4e="[object Uint16Array]",B4e="[object Uint32Array]",rr={};rr[gae]=rr[t4e]=rr[f4e]=rr[h4e]=rr[r4e]=rr[i4e]=rr[p4e]=rr[d4e]=rr[C4e]=rr[m4e]=rr[E4e]=rr[o4e]=rr[a4e]=rr[hae]=rr[A4e]=rr[l4e]=rr[c4e]=rr[u4e]=rr[I4e]=rr[y4e]=rr[w4e]=rr[B4e]=!0;rr[n4e]=rr[fae]=rr[g4e]=!1;function j0(t,e,r,i,n,s){var o,a=e&Z8e,l=e&$8e,c=e&e4e;if(r&&(o=n?r(t,i,n,s):r(t)),o!==void 0)return o;if(!z8e(t))return t;var u=q8e(t);if(u){if(o=G8e(t),!a)return T8e(t,o)}else{var g=H8e(t),f=g==fae||g==s4e;if(J8e(t))return L8e(t,a);if(g==hae||g==gae||f&&!n){if(o=l||f?{}:Y8e(t),!a)return l?O8e(t,N8e(o,t)):M8e(t,F8e(o,t))}else{if(!rr[g])return n?t:{};o=j8e(t,g,a)}}s||(s=new P8e);var h=s.get(t);if(h)return h;s.set(t,o),V8e(t)?t.forEach(function(m){o.add(j0(m,e,r,m,t,s))}):W8e(t)&&t.forEach(function(m,I){o.set(I,j0(m,e,r,I,t,s))});var p=c?l?U8e:K8e:l?X8e:_8e,d=u?void 0:p(t);return D8e(d||t,function(m,I){d&&(I=m,m=t[I]),R8e(o,I,j0(m,e,r,I,t,s))}),o}uae.exports=j0});var qN=E((pEt,dae)=>{var Q4e=pae(),b4e=1,v4e=4;function S4e(t){return Q4e(t,b4e|v4e)}dae.exports=S4e});var mae=E((dEt,Cae)=>{var x4e=tF();function k4e(t,e,r){return t==null?t:x4e(t,e,r)}Cae.exports=k4e});var Qae=E((wEt,Bae)=>{function P4e(t){var e=t==null?0:t.length;return e?t[e-1]:void 0}Bae.exports=P4e});var vae=E((BEt,bae)=>{var D4e=xd(),R4e=zP();function F4e(t,e){return e.length<2?t:D4e(t,R4e(e,0,-1))}bae.exports=F4e});var xae=E((QEt,Sae)=>{var N4e=Gg(),L4e=Qae(),T4e=vae(),M4e=Sc();function O4e(t,e){return e=N4e(e,t),t=T4e(t,e),t==null||delete t[M4e(L4e(e))]}Sae.exports=O4e});var Pae=E((bEt,kae)=>{var K4e=xae();function U4e(t,e){return t==null?!0:K4e(t,e)}kae.exports=U4e});var Kae=E((tIt,Oae)=>{Oae.exports={name:"@yarnpkg/cli",version:"3.1.1",license:"BSD-2-Clause",main:"./sources/index.ts",dependencies:{"@yarnpkg/core":"workspace:^","@yarnpkg/fslib":"workspace:^","@yarnpkg/libzip":"workspace:^","@yarnpkg/parsers":"workspace:^","@yarnpkg/plugin-compat":"workspace:^","@yarnpkg/plugin-dlx":"workspace:^","@yarnpkg/plugin-essentials":"workspace:^","@yarnpkg/plugin-file":"workspace:^","@yarnpkg/plugin-git":"workspace:^","@yarnpkg/plugin-github":"workspace:^","@yarnpkg/plugin-http":"workspace:^","@yarnpkg/plugin-init":"workspace:^","@yarnpkg/plugin-link":"workspace:^","@yarnpkg/plugin-nm":"workspace:^","@yarnpkg/plugin-npm":"workspace:^","@yarnpkg/plugin-npm-cli":"workspace:^","@yarnpkg/plugin-pack":"workspace:^","@yarnpkg/plugin-patch":"workspace:^","@yarnpkg/plugin-pnp":"workspace:^","@yarnpkg/plugin-pnpm":"workspace:^","@yarnpkg/shell":"workspace:^",chalk:"^3.0.0","ci-info":"^3.2.0",clipanion:"^3.0.1",semver:"^7.1.2",tslib:"^1.13.0",typanion:"^3.3.0",yup:"^0.32.9"},devDependencies:{"@types/semver":"^7.1.0","@types/yup":"^0","@yarnpkg/builder":"workspace:^","@yarnpkg/monorepo":"workspace:^","@yarnpkg/pnpify":"workspace:^",micromatch:"^4.0.2",typescript:"^4.5.2"},peerDependencies:{"@yarnpkg/core":"workspace:^"},scripts:{postpack:"rm -rf lib",prepack:'run build:compile "$(pwd)"',"build:cli+hook":"run build:pnp:hook && builder build bundle","build:cli":"builder build bundle","run:cli":"builder run","update-local":"run build:cli --no-git-hash && rsync -a --delete bundles/ bin/"},publishConfig:{main:"./lib/index.js",types:"./lib/index.d.ts",bin:null},files:["/lib/**/*","!/lib/pluginConfiguration.*","!/lib/cli.*"],"@yarnpkg/builder":{bundles:{standard:["@yarnpkg/plugin-essentials","@yarnpkg/plugin-compat","@yarnpkg/plugin-dlx","@yarnpkg/plugin-file","@yarnpkg/plugin-git","@yarnpkg/plugin-github","@yarnpkg/plugin-http","@yarnpkg/plugin-init","@yarnpkg/plugin-link","@yarnpkg/plugin-nm","@yarnpkg/plugin-npm","@yarnpkg/plugin-npm-cli","@yarnpkg/plugin-pack","@yarnpkg/plugin-patch","@yarnpkg/plugin-pnp","@yarnpkg/plugin-pnpm"]}},repository:{type:"git",url:"ssh://git@github.com/yarnpkg/berry.git",directory:"packages/yarnpkg-cli"},engines:{node:">=12 <14 || 14.2 - 14.9 || >14.10.0"}}});var iL=E((SBt,QAe)=>{"use strict";QAe.exports=function(e,r){r===!0&&(r=0);var i=e.indexOf("://"),n=e.substring(0,i).split("+").filter(Boolean);return typeof r=="number"?n[r]:n}});var nL=E((xBt,bAe)=>{"use strict";var sze=iL();function vAe(t){if(Array.isArray(t))return t.indexOf("ssh")!==-1||t.indexOf("rsync")!==-1;if(typeof t!="string")return!1;var e=sze(t);return t=t.substring(t.indexOf("://")+3),vAe(e)?!0:t.indexOf("@"){"use strict";var oze=iL(),aze=nL(),Aze=require("querystring");function lze(t){t=(t||"").trim();var e={protocols:oze(t),protocol:null,port:null,resource:"",user:"",pathname:"",hash:"",search:"",href:t,query:Object.create(null)},r=t.indexOf("://"),i=-1,n=null,s=null;t.startsWith(".")&&(t.startsWith("./")&&(t=t.substring(2)),e.pathname=t,e.protocol="file");var o=t.charAt(1);return e.protocol||(e.protocol=e.protocols[0],e.protocol||(aze(t)?e.protocol="ssh":((o==="/"||o==="~")&&(t=t.substring(2)),e.protocol="file"))),r!==-1&&(t=t.substring(r+3)),s=t.split("/"),e.protocol!=="file"?e.resource=s.shift():e.resource="",n=e.resource.split("@"),n.length===2&&(e.user=n[0],e.resource=n[1]),n=e.resource.split(":"),n.length===2&&(e.resource=n[0],n[1]?(e.port=Number(n[1]),isNaN(e.port)&&(e.port=null,s.unshift(n[1]))):e.port=null),s=s.filter(Boolean),e.protocol==="file"?e.pathname=e.href:e.pathname=e.pathname||(e.protocol!=="file"||e.href[0]==="/"?"/":"")+s.join("/"),n=e.pathname.split("#"),n.length===2&&(e.pathname=n[0],e.hash=n[1]),n=e.pathname.split("?"),n.length===2&&(e.pathname=n[0],e.search=n[1]),e.query=Aze.parse(e.search),e.href=e.href.replace(/\/$/,""),e.pathname=e.pathname.replace(/\/$/,""),e}SAe.exports=lze});var DAe=E((PBt,kAe)=>{"use strict";var cze=typeof URL=="undefined"?require("url").URL:URL,PAe=(t,e)=>e.some(r=>r instanceof RegExp?r.test(t):r===t);kAe.exports=(t,e)=>{e=Object.assign({defaultProtocol:"http:",normalizeProtocol:!0,forceHttp:!1,forceHttps:!1,stripHash:!0,stripWWW:!0,removeQueryParameters:[/^utm_\w+/i],removeTrailingSlash:!0,removeDirectoryIndex:!1,sortQueryParameters:!0},e),Reflect.has(e,"normalizeHttps")&&(e.forceHttp=e.normalizeHttps),Reflect.has(e,"normalizeHttp")&&(e.forceHttps=e.normalizeHttp),Reflect.has(e,"stripFragment")&&(e.stripHash=e.stripFragment),t=t.trim();let r=t.startsWith("//");!r&&/^\.*\//.test(t)||(t=t.replace(/^(?!(?:\w+:)?\/\/)|^\/\//,e.defaultProtocol));let n=new cze(t);if(e.forceHttp&&e.forceHttps)throw new Error("The `forceHttp` and `forceHttps` options cannot be used together");if(e.forceHttp&&n.protocol==="https:"&&(n.protocol="http:"),e.forceHttps&&n.protocol==="http:"&&(n.protocol="https:"),e.stripHash&&(n.hash=""),n.pathname&&(n.pathname=n.pathname.replace(/((?![https?:]).)\/{2,}/g,(s,o)=>/^(?!\/)/g.test(o)?`${o}/`:"/")),n.pathname&&(n.pathname=decodeURI(n.pathname)),e.removeDirectoryIndex===!0&&(e.removeDirectoryIndex=[/^index\.[a-z]+$/]),Array.isArray(e.removeDirectoryIndex)&&e.removeDirectoryIndex.length>0){let s=n.pathname.split("/"),o=s[s.length-1];PAe(o,e.removeDirectoryIndex)&&(s=s.slice(0,s.length-1),n.pathname=s.slice(1).join("/")+"/")}if(n.hostname&&(n.hostname=n.hostname.replace(/\.$/,""),e.stripWWW&&/^www\.([a-z\-\d]{2,63})\.([a-z\.]{2,5})$/.test(n.hostname)&&(n.hostname=n.hostname.replace(/^www\./,""))),Array.isArray(e.removeQueryParameters))for(let s of[...n.searchParams.keys()])PAe(s,e.removeQueryParameters)&&n.searchParams.delete(s);return e.sortQueryParameters&&n.searchParams.sort(),t=n.toString(),(e.removeTrailingSlash||n.pathname==="/")&&(t=t.replace(/\/$/,"")),r&&!e.normalizeProtocol&&(t=t.replace(/^http:\/\//,"//")),t}});var FAe=E((DBt,RAe)=>{"use strict";var uze=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},gze=xAe(),fze=DAe();function hze(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;if(typeof t!="string"||!t.trim())throw new Error("Invalid url.");e&&((typeof e=="undefined"?"undefined":uze(e))!=="object"&&(e={stripFragment:!1}),t=fze(t,e));var r=gze(t);return r}RAe.exports=hze});var TAe=E((RBt,NAe)=>{"use strict";var pze=FAe(),LAe=nL();function dze(t){var e=pze(t);e.token="";var r=e.user.split(":");return r.length===2&&(r[1]==="x-oauth-basic"?e.token=r[0]:r[0]==="x-token-auth"&&(e.token=r[1])),LAe(e.protocols)||LAe(t)?e.protocol="ssh":e.protocols.length?e.protocol=e.protocols[0]:e.protocol="file",e.href=e.href.replace(/\/$/,""),e}NAe.exports=dze});var OAe=E((FBt,MAe)=>{"use strict";var Cze=TAe();function sL(t){if(typeof t!="string")throw new Error("The url must be a string.");var e=Cze(t),r=e.resource.split("."),i=null;switch(e.toString=function(l){return sL.stringify(this,l)},e.source=r.length>2?r.slice(1-r.length).join("."):e.source=e.resource,e.git_suffix=/\.git$/.test(e.pathname),e.name=decodeURIComponent(e.pathname.replace(/^\//,"").replace(/\.git$/,"")),e.owner=decodeURIComponent(e.user),e.source){case"git.cloudforge.com":e.owner=e.user,e.organization=r[0],e.source="cloudforge.com";break;case"visualstudio.com":if(e.resource==="vs-ssh.visualstudio.com"){i=e.name.split("/"),i.length===4&&(e.organization=i[1],e.owner=i[2],e.name=i[3],e.full_name=i[2]+"/"+i[3]);break}else{i=e.name.split("/"),i.length===2?(e.owner=i[1],e.name=i[1],e.full_name="_git/"+e.name):i.length===3?(e.name=i[2],i[0]==="DefaultCollection"?(e.owner=i[2],e.organization=i[0],e.full_name=e.organization+"/_git/"+e.name):(e.owner=i[0],e.full_name=e.owner+"/_git/"+e.name)):i.length===4&&(e.organization=i[0],e.owner=i[1],e.name=i[3],e.full_name=e.organization+"/"+e.owner+"/_git/"+e.name);break}case"dev.azure.com":case"azure.com":if(e.resource==="ssh.dev.azure.com"){i=e.name.split("/"),i.length===4&&(e.organization=i[1],e.owner=i[2],e.name=i[3]);break}else{i=e.name.split("/"),i.length===5?(e.organization=i[0],e.owner=i[1],e.name=i[4],e.full_name="_git/"+e.name):i.length===3?(e.name=i[2],i[0]==="DefaultCollection"?(e.owner=i[2],e.organization=i[0],e.full_name=e.organization+"/_git/"+e.name):(e.owner=i[0],e.full_name=e.owner+"/_git/"+e.name)):i.length===4&&(e.organization=i[0],e.owner=i[1],e.name=i[3],e.full_name=e.organization+"/"+e.owner+"/_git/"+e.name);break}default:i=e.name.split("/");var n=i.length-1;if(i.length>=2){var s=i.indexOf("blob",2),o=i.indexOf("tree",2),a=i.indexOf("commit",2);n=s>0?s-1:o>0?o-1:a>0?a-1:n,e.owner=i.slice(0,n).join("/"),e.name=i[n],a&&(e.commit=i[n+2])}e.ref="",e.filepathtype="",e.filepath="",i.length>n+2&&["blob","tree"].indexOf(i[n+1])>=0&&(e.filepathtype=i[n+1],e.ref=i[n+2],i.length>n+3&&(e.filepath=i.slice(n+3).join("/"))),e.organization=e.owner;break}return e.full_name||(e.full_name=e.owner,e.name&&(e.full_name&&(e.full_name+="/"),e.full_name+=e.name)),e}sL.stringify=function(t,e){e=e||(t.protocols&&t.protocols.length?t.protocols.join("+"):t.protocol);var r=t.port?":"+t.port:"",i=t.user||"git",n=t.git_suffix?".git":"";switch(e){case"ssh":return r?"ssh://"+i+"@"+t.resource+r+"/"+t.full_name+n:i+"@"+t.resource+":"+t.full_name+n;case"git+ssh":case"ssh+git":case"ftp":case"ftps":return e+"://"+i+"@"+t.resource+r+"/"+t.full_name+n;case"http":case"https":var s=t.token?mze(t):t.user&&(t.protocols.includes("http")||t.protocols.includes("https"))?t.user+"@":"";return e+"://"+s+t.resource+r+"/"+t.full_name+n;default:return t.href}};function mze(t){switch(t.source){case"bitbucket.org":return"x-token-auth:"+t.token+"@";default:return t.token+"@"}}MAe.exports=sL});var NL=E((Obt,ole)=>{var Mze=jg(),Oze=Kg();function Kze(t,e,r){(r!==void 0&&!Oze(t[e],r)||r===void 0&&!(e in t))&&Mze(t,e,r)}ole.exports=Kze});var Ale=E((Kbt,ale)=>{var Uze=Hd(),Hze=Qo();function Gze(t){return Hze(t)&&Uze(t)}ale.exports=Gze});var ule=E((Ubt,lle)=>{var jze=Ac(),Yze=H0(),qze=Qo(),Jze="[object Object]",Wze=Function.prototype,zze=Object.prototype,cle=Wze.toString,Vze=zze.hasOwnProperty,_ze=cle.call(Object);function Xze(t){if(!qze(t)||jze(t)!=Jze)return!1;var e=Yze(t);if(e===null)return!0;var r=Vze.call(e,"constructor")&&e.constructor;return typeof r=="function"&&r instanceof r&&cle.call(r)==_ze}lle.exports=Xze});var LL=E((Hbt,gle)=>{function Zze(t,e){if(!(e==="constructor"&&typeof t[e]=="function")&&e!="__proto__")return t[e]}gle.exports=Zze});var hle=E((Gbt,fle)=>{var $ze=Af(),e5e=lf();function t5e(t){return $ze(t,e5e(t))}fle.exports=t5e});var Ile=E((jbt,ple)=>{var dle=NL(),r5e=UN(),i5e=jN(),n5e=HN(),s5e=YN(),Cle=Pd(),mle=As(),o5e=Ale(),a5e=Od(),A5e=zB(),l5e=Gs(),c5e=ule(),u5e=c0(),Ele=LL(),g5e=hle();function f5e(t,e,r,i,n,s,o){var a=Ele(t,r),l=Ele(e,r),c=o.get(l);if(c){dle(t,r,c);return}var u=s?s(a,l,r+"",t,e,o):void 0,g=u===void 0;if(g){var f=mle(l),h=!f&&a5e(l),p=!f&&!h&&u5e(l);u=l,f||h||p?mle(a)?u=a:o5e(a)?u=n5e(a):h?(g=!1,u=r5e(l,!0)):p?(g=!1,u=i5e(l,!0)):u=[]:c5e(l)||Cle(l)?(u=a,Cle(a)?u=g5e(a):(!l5e(a)||A5e(a))&&(u=s5e(l))):g=!1}g&&(o.set(l,u),n(u,l,i,s,o),o.delete(l)),dle(t,r,u)}ple.exports=f5e});var Ble=E((Ybt,yle)=>{var h5e=Gd(),p5e=NL(),d5e=BF(),C5e=Ile(),m5e=Gs(),E5e=lf(),I5e=LL();function wle(t,e,r,i,n){t!==e&&d5e(e,function(s,o){if(n||(n=new h5e),m5e(s))C5e(t,e,o,r,wle,i,n);else{var a=i?i(I5e(t,o),s,o+"",t,e,n):void 0;a===void 0&&(a=s),p5e(t,o,a)}},E5e)}yle.exports=wle});var ble=E((qbt,Qle)=>{var y5e=e0(),w5e=nF(),B5e=sF();function Q5e(t,e){return B5e(w5e(t,e,y5e),t+"")}Qle.exports=Q5e});var Sle=E((Jbt,vle)=>{var b5e=Kg(),v5e=Hd(),S5e=kd(),x5e=Gs();function k5e(t,e,r){if(!x5e(r))return!1;var i=typeof e;return(i=="number"?v5e(r)&&S5e(e,r.length):i=="string"&&e in r)?b5e(r[e],t):!1}vle.exports=k5e});var kle=E((Wbt,xle)=>{var P5e=ble(),D5e=Sle();function R5e(t){return P5e(function(e,r){var i=-1,n=r.length,s=n>1?r[n-1]:void 0,o=n>2?r[2]:void 0;for(s=t.length>3&&typeof s=="function"?(n--,s):void 0,o&&D5e(r[0],r[1],o)&&(s=n<3?void 0:s,n=1),e=Object(e);++i{var F5e=Ble(),N5e=kle(),L5e=N5e(function(t,e,r){F5e(t,e,r)});Ple.exports=L5e});var Wle=E(($vt,Jle)=>{var VL;Jle.exports=()=>(typeof VL=="undefined"&&(VL=require("zlib").brotliDecompressSync(Buffer.from("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","base64")).toString()),VL)});var $le=E(XL=>{function pf(t,e){if(typeof t=="string")return t;if(t){let r,i;if(Array.isArray(t)){for(r=0;r0)return(f=pf(n[g],u))?f.replace("*",c.substring(g.length-1)):Gc(i,c,1)}return Gc(i,c)}}function l6e(t,e={}){let r=0,i,n=e.browser,s=e.fields||["module","main"];for(n&&!s.includes("browser")&&s.unshift("browser");r{var eT;nce.exports=()=>(typeof eT=="undefined"&&(eT=require("zlib").brotliDecompressSync(Buffer.from("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","base64")).toString()),eT)});var gce=E((aT,AT)=>{(function(t){aT&&typeof aT=="object"&&typeof AT!="undefined"?AT.exports=t():typeof define=="function"&&define.amd?define([],t):typeof window!="undefined"?window.isWindows=t():typeof global!="undefined"?global.isWindows=t():typeof self!="undefined"?self.isWindows=t():this.isWindows=t()})(function(){"use strict";return function(){return process&&(process.platform==="win32"||/^(msys|cygwin)$/.test(process.env.OSTYPE))}})});var dce=E((Dxt,fce)=>{"use strict";lT.ifExists=E6e;var mf=require("util"),Es=require("path"),hce=gce(),I6e=/^#!\s*(?:\/usr\/bin\/env)?\s*([^ \t]+)(.*)$/,y6e={createPwshFile:!0,createCmdFile:hce(),fs:require("fs")},w6e=new Map([[".js","node"],[".cjs","node"],[".mjs","node"],[".cmd","cmd"],[".bat","cmd"],[".ps1","pwsh"],[".sh","sh"]]);function pce(t){let e=P(P({},y6e),t),r=e.fs;return e.fs_={chmod:r.chmod?mf.promisify(r.chmod):async()=>{},mkdir:mf.promisify(r.mkdir),readFile:mf.promisify(r.readFile),stat:mf.promisify(r.stat),unlink:mf.promisify(r.unlink),writeFile:mf.promisify(r.writeFile)},e}async function lT(t,e,r){let i=pce(r);await i.fs_.stat(t),await B6e(t,e,i)}function E6e(t,e,r){return lT(t,e,r).catch(()=>{})}function Q6e(t,e){return e.fs_.unlink(t).catch(()=>{})}async function B6e(t,e,r){let i=await S6e(t,r);return await b6e(e,r),v6e(t,e,i,r)}function b6e(t,e){return e.fs_.mkdir(Es.dirname(t),{recursive:!0})}function v6e(t,e,r,i){let n=pce(i),s=[{generator:P6e,extension:""}];return n.createCmdFile&&s.push({generator:k6e,extension:".cmd"}),n.createPwshFile&&s.push({generator:D6e,extension:".ps1"}),Promise.all(s.map(o=>x6e(t,e+o.extension,r,o.generator,n)))}function R6e(t,e){return Q6e(t,e)}function N6e(t,e){return F6e(t,e)}async function S6e(t,e){let n=(await e.fs_.readFile(t,"utf8")).trim().split(/\r*\n/)[0].match(I6e);if(!n){let s=Es.extname(t).toLowerCase();return{program:w6e.get(s)||null,additionalArgs:""}}return{program:n[1],additionalArgs:n[2]}}async function x6e(t,e,r,i,n){let s=n.preserveSymlinks?"--preserve-symlinks":"",o=[r.additionalArgs,s].filter(a=>a).join(" ");return n=Object.assign({},n,{prog:r.program,args:o}),await R6e(e,n),await n.fs_.writeFile(e,i(t,e,n),"utf8"),N6e(e,n)}function k6e(t,e,r){let n=Es.relative(Es.dirname(e),t).split("/").join("\\"),s=Es.isAbsolute(n)?`"${n}"`:`"%~dp0\\${n}"`,o,a=r.prog,l=r.args||"",c=cT(r.nodePath).win32;a?(o=`"%~dp0\\${a}.exe"`,n=s):(a=s,l="",n="");let u=r.progArgs?`${r.progArgs.join(" ")} `:"",g=c?`@SET NODE_PATH=${c}\r +`:"";return o?g+=`@IF EXIST ${o} (\r + ${o} ${l} ${n} ${u}%*\r +) ELSE (\r + @SETLOCAL\r + @SET PATHEXT=%PATHEXT:;.JS;=;%\r + ${a} ${l} ${n} ${u}%*\r +)\r +`:g+=`@${a} ${l} ${n} ${u}%*\r +`,g}function P6e(t,e,r){let i=Es.relative(Es.dirname(e),t),n=r.prog&&r.prog.split("\\").join("/"),s;i=i.split("\\").join("/");let o=Es.isAbsolute(i)?`"${i}"`:`"$basedir/${i}"`,a=r.args||"",l=cT(r.nodePath).posix;n?(s=`"$basedir/${r.prog}"`,i=o):(n=o,a="",i="");let c=r.progArgs?`${r.progArgs.join(" ")} `:"",u=`#!/bin/sh +basedir=$(dirname "$(echo "$0" | sed -e 's,\\\\,/,g')") + +case \`uname\` in + *CYGWIN*) basedir=\`cygpath -w "$basedir"\`;; +esac + +`,g=r.nodePath?`export NODE_PATH="${l}" +`:"";return s?u+=`${g}if [ -x ${s} ]; then + exec ${s} ${a} ${i} ${c}"$@" +else + exec ${n} ${a} ${i} ${c}"$@" +fi +`:u+=`${g}${n} ${a} ${i} ${c}"$@" +exit $? +`,u}function D6e(t,e,r){let i=Es.relative(Es.dirname(e),t),n=r.prog&&r.prog.split("\\").join("/"),s=n&&`"${n}$exe"`,o;i=i.split("\\").join("/");let a=Es.isAbsolute(i)?`"${i}"`:`"$basedir/${i}"`,l=r.args||"",c=cT(r.nodePath),u=c.win32,g=c.posix;s?(o=`"$basedir/${r.prog}$exe"`,i=a):(s=a,l="",i="");let f=r.progArgs?`${r.progArgs.join(" ")} `:"",h=`#!/usr/bin/env pwsh +$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent + +$exe="" +${r.nodePath?`$env_node_path=$env:NODE_PATH +$env:NODE_PATH="${u}" +`:""}if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) { + # Fix case when both the Windows and Linux builds of Node + # are installed in the same directory + $exe=".exe" +}`;return r.nodePath&&(h+=` else { + $env:NODE_PATH="${g}" +}`),o?h+=` +$ret=0 +if (Test-Path ${o}) { + # Support pipeline input + if ($MyInvocation.ExpectingInput) { + $input | & ${o} ${l} ${i} ${f}$args + } else { + & ${o} ${l} ${i} ${f}$args + } + $ret=$LASTEXITCODE +} else { + # Support pipeline input + if ($MyInvocation.ExpectingInput) { + $input | & ${s} ${l} ${i} ${f}$args + } else { + & ${s} ${l} ${i} ${f}$args + } + $ret=$LASTEXITCODE +} +${r.nodePath?`$env:NODE_PATH=$env_node_path +`:""}exit $ret +`:h+=` +# Support pipeline input +if ($MyInvocation.ExpectingInput) { + $input | & ${s} ${l} ${i} ${f}$args +} else { + & ${s} ${l} ${i} ${f}$args +} +${r.nodePath?`$env:NODE_PATH=$env_node_path +`:""}exit $LASTEXITCODE +`,h}function F6e(t,e){return e.fs_.chmod(t,493)}function cT(t){if(!t)return{win32:"",posix:""};let e=typeof t=="string"?t.split(Es.delimiter):Array.from(t),r={};for(let i=0;i`/mnt/${a.toLowerCase()}`):e[i];r.win32=r.win32?`${r.win32};${n}`:n,r.posix=r.posix?`${r.posix}:${s}`:s,r[i]={win32:n,posix:s}}return r}fce.exports=lT});var PT=E((fPt,Nce)=>{Nce.exports=require("stream")});var Oce=E((hPt,Lce)=>{"use strict";function Tce(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter(function(n){return Object.getOwnPropertyDescriptor(t,n).enumerable})),r.push.apply(r,i)}return r}function e9e(t){for(var e=1;e0?this.tail.next=i:this.head=i,this.tail=i,++this.length}},{key:"unshift",value:function(r){var i={data:r,next:this.head};this.length===0&&(this.tail=i),this.head=i,++this.length}},{key:"shift",value:function(){if(this.length!==0){var r=this.head.data;return this.length===1?this.head=this.tail=null:this.head=this.head.next,--this.length,r}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(r){if(this.length===0)return"";for(var i=this.head,n=""+i.data;i=i.next;)n+=r+i.data;return n}},{key:"concat",value:function(r){if(this.length===0)return iQ.alloc(0);for(var i=iQ.allocUnsafe(r>>>0),n=this.head,s=0;n;)o9e(n.data,i,s),s+=n.data.length,n=n.next;return i}},{key:"consume",value:function(r,i){var n;return ro.length?o.length:r;if(a===o.length?s+=o:s+=o.slice(0,r),r-=a,r===0){a===o.length?(++n,i.next?this.head=i.next:this.head=this.tail=null):(this.head=i,i.data=o.slice(a));break}++n}return this.length-=n,s}},{key:"_getBuffer",value:function(r){var i=iQ.allocUnsafe(r),n=this.head,s=1;for(n.data.copy(i),r-=n.data.length;n=n.next;){var o=n.data,a=r>o.length?o.length:r;if(o.copy(i,i.length-r,0,a),r-=a,r===0){a===o.length?(++s,n.next?this.head=n.next:this.head=this.tail=null):(this.head=n,n.data=o.slice(a));break}++s}return this.length-=s,i}},{key:s9e,value:function(r,i){return DT(this,e9e({},i,{depth:0,customInspect:!1}))}}]),t}()});var FT=E((pPt,Kce)=>{"use strict";function a9e(t,e){var r=this,i=this._readableState&&this._readableState.destroyed,n=this._writableState&&this._writableState.destroyed;return i||n?(e?e(t):t&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,process.nextTick(RT,this,t)):process.nextTick(RT,this,t)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(t||null,function(s){!e&&s?r._writableState?r._writableState.errorEmitted?process.nextTick(nQ,r):(r._writableState.errorEmitted=!0,process.nextTick(Uce,r,s)):process.nextTick(Uce,r,s):e?(process.nextTick(nQ,r),e(s)):process.nextTick(nQ,r)}),this)}function Uce(t,e){RT(t,e),nQ(t)}function nQ(t){t._writableState&&!t._writableState.emitClose||t._readableState&&!t._readableState.emitClose||t.emit("close")}function A9e(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)}function RT(t,e){t.emit("error",e)}function l9e(t,e){var r=t._readableState,i=t._writableState;r&&r.autoDestroy||i&&i.autoDestroy?t.destroy(e):t.emit("error",e)}Kce.exports={destroy:a9e,undestroy:A9e,errorOrDestroy:l9e}});var VA=E((dPt,Hce)=>{"use strict";var Gce={};function Is(t,e,r){r||(r=Error);function i(s,o,a){return typeof e=="string"?e:e(s,o,a)}class n extends r{constructor(o,a,l){super(i(o,a,l))}}n.prototype.name=r.name,n.prototype.code=t,Gce[t]=n}function jce(t,e){if(Array.isArray(t)){let r=t.length;return t=t.map(i=>String(i)),r>2?`one of ${e} ${t.slice(0,r-1).join(", ")}, or `+t[r-1]:r===2?`one of ${e} ${t[0]} or ${t[1]}`:`of ${e} ${t[0]}`}else return`of ${e} ${String(t)}`}function c9e(t,e,r){return t.substr(!r||r<0?0:+r,e.length)===e}function u9e(t,e,r){return(r===void 0||r>t.length)&&(r=t.length),t.substring(r-e.length,r)===e}function g9e(t,e,r){return typeof r!="number"&&(r=0),r+e.length>t.length?!1:t.indexOf(e,r)!==-1}Is("ERR_INVALID_OPT_VALUE",function(t,e){return'The value "'+e+'" is invalid for option "'+t+'"'},TypeError);Is("ERR_INVALID_ARG_TYPE",function(t,e,r){let i;typeof e=="string"&&c9e(e,"not ")?(i="must not be",e=e.replace(/^not /,"")):i="must be";let n;if(u9e(t," argument"))n=`The ${t} ${i} ${jce(e,"type")}`;else{let s=g9e(t,".")?"property":"argument";n=`The "${t}" ${s} ${i} ${jce(e,"type")}`}return n+=`. Received type ${typeof r}`,n},TypeError);Is("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF");Is("ERR_METHOD_NOT_IMPLEMENTED",function(t){return"The "+t+" method is not implemented"});Is("ERR_STREAM_PREMATURE_CLOSE","Premature close");Is("ERR_STREAM_DESTROYED",function(t){return"Cannot call "+t+" after a stream was destroyed"});Is("ERR_MULTIPLE_CALLBACK","Callback called multiple times");Is("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable");Is("ERR_STREAM_WRITE_AFTER_END","write after end");Is("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError);Is("ERR_UNKNOWN_ENCODING",function(t){return"Unknown encoding: "+t},TypeError);Is("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event");Hce.exports.codes=Gce});var NT=E((CPt,Yce)=>{"use strict";var f9e=VA().codes.ERR_INVALID_OPT_VALUE;function h9e(t,e,r){return t.highWaterMark!=null?t.highWaterMark:e?t[r]:null}function p9e(t,e,r,i){var n=h9e(e,i,r);if(n!=null){if(!(isFinite(n)&&Math.floor(n)===n)||n<0){var s=i?r:"highWaterMark";throw new f9e(s,n)}return Math.floor(n)}return t.objectMode?16:16*1024}Yce.exports={getHighWaterMark:p9e}});var qce=E((mPt,LT)=>{typeof Object.create=="function"?LT.exports=function(e,r){r&&(e.super_=r,e.prototype=Object.create(r.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:LT.exports=function(e,r){if(r){e.super_=r;var i=function(){};i.prototype=r.prototype,e.prototype=new i,e.prototype.constructor=e}}});var _A=E((EPt,TT)=>{try{if(MT=require("util"),typeof MT.inherits!="function")throw"";TT.exports=MT.inherits}catch(t){TT.exports=qce()}var MT});var Wce=E((IPt,Jce)=>{Jce.exports=require("util").deprecate});var UT=E((yPt,zce)=>{"use strict";zce.exports=Sr;function Vce(t){var e=this;this.next=null,this.entry=null,this.finish=function(){d9e(e,t)}}var If;Sr.WritableState=em;var C9e={deprecate:Wce()},_ce=PT(),sQ=require("buffer").Buffer,m9e=global.Uint8Array||function(){};function E9e(t){return sQ.from(t)}function I9e(t){return sQ.isBuffer(t)||t instanceof m9e}var OT=FT(),y9e=NT(),w9e=y9e.getHighWaterMark,XA=VA().codes,B9e=XA.ERR_INVALID_ARG_TYPE,Q9e=XA.ERR_METHOD_NOT_IMPLEMENTED,b9e=XA.ERR_MULTIPLE_CALLBACK,v9e=XA.ERR_STREAM_CANNOT_PIPE,S9e=XA.ERR_STREAM_DESTROYED,x9e=XA.ERR_STREAM_NULL_VALUES,k9e=XA.ERR_STREAM_WRITE_AFTER_END,P9e=XA.ERR_UNKNOWN_ENCODING,yf=OT.errorOrDestroy;_A()(Sr,_ce);function D9e(){}function em(t,e,r){If=If||Yc(),t=t||{},typeof r!="boolean"&&(r=e instanceof If),this.objectMode=!!t.objectMode,r&&(this.objectMode=this.objectMode||!!t.writableObjectMode),this.highWaterMark=w9e(this,t,"writableHighWaterMark",r),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var i=t.decodeStrings===!1;this.decodeStrings=!i,this.defaultEncoding=t.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(n){R9e(e,n)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=t.emitClose!==!1,this.autoDestroy=!!t.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new Vce(this)}em.prototype.getBuffer=function(){for(var e=this.bufferedRequest,r=[];e;)r.push(e),e=e.next;return r};(function(){try{Object.defineProperty(em.prototype,"buffer",{get:C9e.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch(t){}})();var oQ;typeof Symbol=="function"&&Symbol.hasInstance&&typeof Function.prototype[Symbol.hasInstance]=="function"?(oQ=Function.prototype[Symbol.hasInstance],Object.defineProperty(Sr,Symbol.hasInstance,{value:function(e){return oQ.call(this,e)?!0:this!==Sr?!1:e&&e._writableState instanceof em}})):oQ=function(e){return e instanceof this};function Sr(t){If=If||Yc();var e=this instanceof If;if(!e&&!oQ.call(Sr,this))return new Sr(t);this._writableState=new em(t,this,e),this.writable=!0,t&&(typeof t.write=="function"&&(this._write=t.write),typeof t.writev=="function"&&(this._writev=t.writev),typeof t.destroy=="function"&&(this._destroy=t.destroy),typeof t.final=="function"&&(this._final=t.final)),_ce.call(this)}Sr.prototype.pipe=function(){yf(this,new v9e)};function F9e(t,e){var r=new k9e;yf(t,r),process.nextTick(e,r)}function N9e(t,e,r,i){var n;return r===null?n=new x9e:typeof r!="string"&&!e.objectMode&&(n=new B9e("chunk",["string","Buffer"],r)),n?(yf(t,n),process.nextTick(i,n),!1):!0}Sr.prototype.write=function(t,e,r){var i=this._writableState,n=!1,s=!i.objectMode&&I9e(t);return s&&!sQ.isBuffer(t)&&(t=E9e(t)),typeof e=="function"&&(r=e,e=null),s?e="buffer":e||(e=i.defaultEncoding),typeof r!="function"&&(r=D9e),i.ending?F9e(this,r):(s||N9e(this,i,t,r))&&(i.pendingcb++,n=L9e(this,i,s,t,e,r)),n};Sr.prototype.cork=function(){this._writableState.corked++};Sr.prototype.uncork=function(){var t=this._writableState;t.corked&&(t.corked--,!t.writing&&!t.corked&&!t.bufferProcessing&&t.bufferedRequest&&Xce(this,t))};Sr.prototype.setDefaultEncoding=function(e){if(typeof e=="string"&&(e=e.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((e+"").toLowerCase())>-1))throw new P9e(e);return this._writableState.defaultEncoding=e,this};Object.defineProperty(Sr.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}});function T9e(t,e,r){return!t.objectMode&&t.decodeStrings!==!1&&typeof e=="string"&&(e=sQ.from(e,r)),e}Object.defineProperty(Sr.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}});function L9e(t,e,r,i,n,s){if(!r){var o=T9e(e,i,n);i!==o&&(r=!0,n="buffer",i=o)}var a=e.objectMode?1:i.length;e.length+=a;var l=e.length{"use strict";var j9e=Object.keys||function(t){var e=[];for(var r in t)e.push(r);return e};eue.exports=Mo;var tue=HT(),GT=UT();_A()(Mo,tue);for(jT=j9e(GT.prototype),aQ=0;aQ{var lQ=require("buffer"),qa=lQ.Buffer;function iue(t,e){for(var r in t)e[r]=t[r]}qa.from&&qa.alloc&&qa.allocUnsafe&&qa.allocUnsafeSlow?rue.exports=lQ:(iue(lQ,YT),YT.Buffer=wf);function wf(t,e,r){return qa(t,e,r)}iue(qa,wf);wf.from=function(t,e,r){if(typeof t=="number")throw new TypeError("Argument must not be a number");return qa(t,e,r)};wf.alloc=function(t,e,r){if(typeof t!="number")throw new TypeError("Argument must be a number");var i=qa(t);return e!==void 0?typeof r=="string"?i.fill(e,r):i.fill(e):i.fill(0),i};wf.allocUnsafe=function(t){if(typeof t!="number")throw new TypeError("Argument must be a number");return qa(t)};wf.allocUnsafeSlow=function(t){if(typeof t!="number")throw new TypeError("Argument must be a number");return lQ.SlowBuffer(t)}});var WT=E(sue=>{"use strict";var qT=nue().Buffer,oue=qT.isEncoding||function(t){switch(t=""+t,t&&t.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function J9e(t){if(!t)return"utf8";for(var e;;)switch(t){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return t;default:if(e)return;t=(""+t).toLowerCase(),e=!0}}function W9e(t){var e=J9e(t);if(typeof e!="string"&&(qT.isEncoding===oue||!oue(t)))throw new Error("Unknown encoding: "+t);return e||t}sue.StringDecoder=rm;function rm(t){this.encoding=W9e(t);var e;switch(this.encoding){case"utf16le":this.text=V9e,this.end=_9e,e=4;break;case"utf8":this.fillLast=z9e,e=4;break;case"base64":this.text=X9e,this.end=Z9e,e=3;break;default:this.write=$9e,this.end=eVe;return}this.lastNeed=0,this.lastTotal=0,this.lastChar=qT.allocUnsafe(e)}rm.prototype.write=function(t){if(t.length===0)return"";var e,r;if(this.lastNeed){if(e=this.fillLast(t),e===void 0)return"";r=this.lastNeed,this.lastNeed=0}else r=0;return r>5==6?2:t>>4==14?3:t>>3==30?4:t>>6==2?-1:-2}function iVe(t,e,r){var i=e.length-1;if(i=0?(n>0&&(t.lastNeed=n-1),n):--i=0?(n>0&&(t.lastNeed=n-2),n):--i=0?(n>0&&(n===2?n=0:t.lastNeed=n-3),n):0))}function nVe(t,e,r){if((e[0]&192)!=128)return t.lastNeed=0,"\uFFFD";if(t.lastNeed>1&&e.length>1){if((e[1]&192)!=128)return t.lastNeed=1,"\uFFFD";if(t.lastNeed>2&&e.length>2&&(e[2]&192)!=128)return t.lastNeed=2,"\uFFFD"}}function z9e(t){var e=this.lastTotal-this.lastNeed,r=nVe(this,t,e);if(r!==void 0)return r;if(this.lastNeed<=t.length)return t.copy(this.lastChar,e,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);t.copy(this.lastChar,e,0,t.length),this.lastNeed-=t.length}function rVe(t,e){var r=iVe(this,t,e);if(!this.lastNeed)return t.toString("utf8",e);this.lastTotal=r;var i=t.length-(r-this.lastNeed);return t.copy(this.lastChar,0,i),t.toString("utf8",e,i)}function tVe(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+"\uFFFD":e}function V9e(t,e){if((t.length-e)%2==0){var r=t.toString("utf16le",e);if(r){var i=r.charCodeAt(r.length-1);if(i>=55296&&i<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1],r.slice(0,-1)}return r}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=t[t.length-1],t.toString("utf16le",e,t.length-1)}function _9e(t){var e=t&&t.length?this.write(t):"";if(this.lastNeed){var r=this.lastTotal-this.lastNeed;return e+this.lastChar.toString("utf16le",0,r)}return e}function X9e(t,e){var r=(t.length-e)%3;return r===0?t.toString("base64",e):(this.lastNeed=3-r,this.lastTotal=3,r===1?this.lastChar[0]=t[t.length-1]:(this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1]),t.toString("base64",e,t.length-r))}function Z9e(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+this.lastChar.toString("base64",0,3-this.lastNeed):e}function $9e(t){return t.toString(this.encoding)}function eVe(t){return t&&t.length?this.write(t):""}});var cQ=E((QPt,aue)=>{"use strict";var Aue=VA().codes.ERR_STREAM_PREMATURE_CLOSE;function sVe(t){var e=!1;return function(){if(!e){e=!0;for(var r=arguments.length,i=new Array(r),n=0;n{"use strict";var uQ;function ZA(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var AVe=cQ(),$A=Symbol("lastResolve"),qc=Symbol("lastReject"),im=Symbol("error"),gQ=Symbol("ended"),Jc=Symbol("lastPromise"),zT=Symbol("handlePromise"),Wc=Symbol("stream");function el(t,e){return{value:t,done:e}}function lVe(t){var e=t[$A];if(e!==null){var r=t[Wc].read();r!==null&&(t[Jc]=null,t[$A]=null,t[qc]=null,e(el(r,!1)))}}function cVe(t){process.nextTick(lVe,t)}function uVe(t,e){return function(r,i){t.then(function(){if(e[gQ]){r(el(void 0,!0));return}e[zT](r,i)},i)}}var gVe=Object.getPrototypeOf(function(){}),fVe=Object.setPrototypeOf((uQ={get stream(){return this[Wc]},next:function(){var e=this,r=this[im];if(r!==null)return Promise.reject(r);if(this[gQ])return Promise.resolve(el(void 0,!0));if(this[Wc].destroyed)return new Promise(function(o,a){process.nextTick(function(){e[im]?a(e[im]):o(el(void 0,!0))})});var i=this[Jc],n;if(i)n=new Promise(uVe(i,this));else{var s=this[Wc].read();if(s!==null)return Promise.resolve(el(s,!1));n=new Promise(this[zT])}return this[Jc]=n,n}},ZA(uQ,Symbol.asyncIterator,function(){return this}),ZA(uQ,"return",function(){var e=this;return new Promise(function(r,i){e[Wc].destroy(null,function(n){if(n){i(n);return}r(el(void 0,!0))})})}),uQ),gVe),hVe=function(e){var r,i=Object.create(fVe,(r={},ZA(r,Wc,{value:e,writable:!0}),ZA(r,$A,{value:null,writable:!0}),ZA(r,qc,{value:null,writable:!0}),ZA(r,im,{value:null,writable:!0}),ZA(r,gQ,{value:e._readableState.endEmitted,writable:!0}),ZA(r,zT,{value:function(s,o){var a=i[Wc].read();a?(i[Jc]=null,i[$A]=null,i[qc]=null,s(el(a,!1))):(i[$A]=s,i[qc]=o)},writable:!0}),r));return i[Jc]=null,AVe(e,function(n){if(n&&n.code!=="ERR_STREAM_PREMATURE_CLOSE"){var s=i[qc];s!==null&&(i[Jc]=null,i[$A]=null,i[qc]=null,s(n)),i[im]=n;return}var o=i[$A];o!==null&&(i[Jc]=null,i[$A]=null,i[qc]=null,o(el(void 0,!0))),i[gQ]=!0}),e.on("readable",cVe.bind(null,i)),i};cue.exports=hVe});var pue=E((vPt,gue)=>{"use strict";function fue(t,e,r,i,n,s,o){try{var a=t[s](o),l=a.value}catch(c){r(c);return}a.done?e(l):Promise.resolve(l).then(i,n)}function pVe(t){return function(){var e=this,r=arguments;return new Promise(function(i,n){var s=t.apply(e,r);function o(l){fue(s,i,n,o,a,"next",l)}function a(l){fue(s,i,n,o,a,"throw",l)}o(void 0)})}}function hue(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter(function(n){return Object.getOwnPropertyDescriptor(t,n).enumerable})),r.push.apply(r,i)}return r}function CVe(t){for(var e=1;e{"use strict";due.exports=kt;var Bf;kt.ReadableState=Cue;var SPt=require("events").EventEmitter,mue=function(e,r){return e.listeners(r).length},nm=PT(),fQ=require("buffer").Buffer,IVe=global.Uint8Array||function(){};function yVe(t){return fQ.from(t)}function wVe(t){return fQ.isBuffer(t)||t instanceof IVe}var VT=require("util"),Et;VT&&VT.debuglog?Et=VT.debuglog("stream"):Et=function(){};var BVe=Oce(),_T=FT(),QVe=NT(),bVe=QVe.getHighWaterMark,hQ=VA().codes,vVe=hQ.ERR_INVALID_ARG_TYPE,SVe=hQ.ERR_STREAM_PUSH_AFTER_EOF,xVe=hQ.ERR_METHOD_NOT_IMPLEMENTED,kVe=hQ.ERR_STREAM_UNSHIFT_AFTER_END_EVENT,Qf,XT,ZT;_A()(kt,nm);var sm=_T.errorOrDestroy,$T=["error","close","destroy","pause","resume"];function PVe(t,e,r){if(typeof t.prependListener=="function")return t.prependListener(e,r);!t._events||!t._events[e]?t.on(e,r):Array.isArray(t._events[e])?t._events[e].unshift(r):t._events[e]=[r,t._events[e]]}function Cue(t,e,r){Bf=Bf||Yc(),t=t||{},typeof r!="boolean"&&(r=e instanceof Bf),this.objectMode=!!t.objectMode,r&&(this.objectMode=this.objectMode||!!t.readableObjectMode),this.highWaterMark=bVe(this,t,"readableHighWaterMark",r),this.buffer=new BVe,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.paused=!0,this.emitClose=t.emitClose!==!1,this.autoDestroy=!!t.autoDestroy,this.destroyed=!1,this.defaultEncoding=t.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,t.encoding&&(Qf||(Qf=WT().StringDecoder),this.decoder=new Qf(t.encoding),this.encoding=t.encoding)}function kt(t){if(Bf=Bf||Yc(),!(this instanceof kt))return new kt(t);var e=this instanceof Bf;this._readableState=new Cue(t,this,e),this.readable=!0,t&&(typeof t.read=="function"&&(this._read=t.read),typeof t.destroy=="function"&&(this._destroy=t.destroy)),nm.call(this)}Object.defineProperty(kt.prototype,"destroyed",{enumerable:!1,get:function(){return this._readableState===void 0?!1:this._readableState.destroyed},set:function(e){!this._readableState||(this._readableState.destroyed=e)}});kt.prototype.destroy=_T.destroy;kt.prototype._undestroy=_T.undestroy;kt.prototype._destroy=function(t,e){e(t)};kt.prototype.push=function(t,e){var r=this._readableState,i;return r.objectMode?i=!0:typeof t=="string"&&(e=e||r.defaultEncoding,e!==r.encoding&&(t=fQ.from(t,e),e=""),i=!0),Eue(this,t,e,!1,i)};kt.prototype.unshift=function(t){return Eue(this,t,null,!0,!1)};function Eue(t,e,r,i,n){Et("readableAddChunk",e);var s=t._readableState;if(e===null)s.reading=!1,RVe(t,s);else{var o;if(n||(o=DVe(s,e)),o)sm(t,o);else if(s.objectMode||e&&e.length>0)if(typeof e!="string"&&!s.objectMode&&Object.getPrototypeOf(e)!==fQ.prototype&&(e=yVe(e)),i)s.endEmitted?sm(t,new kVe):eM(t,s,e,!0);else if(s.ended)sm(t,new SVe);else{if(s.destroyed)return!1;s.reading=!1,s.decoder&&!r?(e=s.decoder.write(e),s.objectMode||e.length!==0?eM(t,s,e,!1):tM(t,s)):eM(t,s,e,!1)}else i||(s.reading=!1,tM(t,s))}return!s.ended&&(s.length=Iue?t=Iue:(t--,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,t|=t>>>16,t++),t}function yue(t,e){return t<=0||e.length===0&&e.ended?0:e.objectMode?1:t!==t?e.flowing&&e.length?e.buffer.head.data.length:e.length:(t>e.highWaterMark&&(e.highWaterMark=FVe(t)),t<=e.length?t:e.ended?e.length:(e.needReadable=!0,0))}kt.prototype.read=function(t){Et("read",t),t=parseInt(t,10);var e=this._readableState,r=t;if(t!==0&&(e.emittedReadable=!1),t===0&&e.needReadable&&((e.highWaterMark!==0?e.length>=e.highWaterMark:e.length>0)||e.ended))return Et("read: emitReadable",e.length,e.ended),e.length===0&&e.ended?rM(this):pQ(this),null;if(t=yue(t,e),t===0&&e.ended)return e.length===0&&rM(this),null;var i=e.needReadable;Et("need readable",i),(e.length===0||e.length-t0?n=wue(t,e):n=null,n===null?(e.needReadable=e.length<=e.highWaterMark,t=0):(e.length-=t,e.awaitDrain=0),e.length===0&&(e.ended||(e.needReadable=!0),r!==t&&e.ended&&rM(this)),n!==null&&this.emit("data",n),n};function RVe(t,e){if(Et("onEofChunk"),!e.ended){if(e.decoder){var r=e.decoder.end();r&&r.length&&(e.buffer.push(r),e.length+=e.objectMode?1:r.length)}e.ended=!0,e.sync?pQ(t):(e.needReadable=!1,e.emittedReadable||(e.emittedReadable=!0,Bue(t)))}}function pQ(t){var e=t._readableState;Et("emitReadable",e.needReadable,e.emittedReadable),e.needReadable=!1,e.emittedReadable||(Et("emitReadable",e.flowing),e.emittedReadable=!0,process.nextTick(Bue,t))}function Bue(t){var e=t._readableState;Et("emitReadable_",e.destroyed,e.length,e.ended),!e.destroyed&&(e.length||e.ended)&&(t.emit("readable"),e.emittedReadable=!1),e.needReadable=!e.flowing&&!e.ended&&e.length<=e.highWaterMark,iM(t)}function tM(t,e){e.readingMore||(e.readingMore=!0,process.nextTick(NVe,t,e))}function NVe(t,e){for(;!e.reading&&!e.ended&&(e.length1&&Que(i.pipes,t)!==-1)&&!c&&(Et("false write response, pause",i.awaitDrain),i.awaitDrain++),r.pause())}function f(m){Et("onerror",m),d(),t.removeListener("error",f),mue(t,"error")===0&&sm(t,m)}PVe(t,"error",f);function h(){t.removeListener("finish",p),d()}t.once("close",h);function p(){Et("onfinish"),t.removeListener("close",h),d()}t.once("finish",p);function d(){Et("unpipe"),r.unpipe(t)}return t.emit("pipe",r),i.flowing||(Et("pipe resume"),r.resume()),t};function LVe(t){return function(){var r=t._readableState;Et("pipeOnDrain",r.awaitDrain),r.awaitDrain&&r.awaitDrain--,r.awaitDrain===0&&mue(t,"data")&&(r.flowing=!0,iM(t))}}kt.prototype.unpipe=function(t){var e=this._readableState,r={hasUnpiped:!1};if(e.pipesCount===0)return this;if(e.pipesCount===1)return t&&t!==e.pipes?this:(t||(t=e.pipes),e.pipes=null,e.pipesCount=0,e.flowing=!1,t&&t.emit("unpipe",this,r),this);if(!t){var i=e.pipes,n=e.pipesCount;e.pipes=null,e.pipesCount=0,e.flowing=!1;for(var s=0;s0,i.flowing!==!1&&this.resume()):t==="readable"&&!i.endEmitted&&!i.readableListening&&(i.readableListening=i.needReadable=!0,i.flowing=!1,i.emittedReadable=!1,Et("on readable",i.length,i.reading),i.length?pQ(this):i.reading||process.nextTick(TVe,this)),r};kt.prototype.addListener=kt.prototype.on;kt.prototype.removeListener=function(t,e){var r=nm.prototype.removeListener.call(this,t,e);return t==="readable"&&process.nextTick(bue,this),r};kt.prototype.removeAllListeners=function(t){var e=nm.prototype.removeAllListeners.apply(this,arguments);return(t==="readable"||t===void 0)&&process.nextTick(bue,this),e};function bue(t){var e=t._readableState;e.readableListening=t.listenerCount("readable")>0,e.resumeScheduled&&!e.paused?e.flowing=!0:t.listenerCount("data")>0&&t.resume()}function TVe(t){Et("readable nexttick read 0"),t.read(0)}kt.prototype.resume=function(){var t=this._readableState;return t.flowing||(Et("resume"),t.flowing=!t.readableListening,MVe(this,t)),t.paused=!1,this};function MVe(t,e){e.resumeScheduled||(e.resumeScheduled=!0,process.nextTick(OVe,t,e))}function OVe(t,e){Et("resume",e.reading),e.reading||t.read(0),e.resumeScheduled=!1,t.emit("resume"),iM(t),e.flowing&&!e.reading&&t.read(0)}kt.prototype.pause=function(){return Et("call pause flowing=%j",this._readableState.flowing),this._readableState.flowing!==!1&&(Et("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this};function iM(t){var e=t._readableState;for(Et("flow",e.flowing);e.flowing&&t.read()!==null;);}kt.prototype.wrap=function(t){var e=this,r=this._readableState,i=!1;t.on("end",function(){if(Et("wrapped end"),r.decoder&&!r.ended){var o=r.decoder.end();o&&o.length&&e.push(o)}e.push(null)}),t.on("data",function(o){if(Et("wrapped data"),r.decoder&&(o=r.decoder.write(o)),!(r.objectMode&&o==null)&&!(!r.objectMode&&(!o||!o.length))){var a=e.push(o);a||(i=!0,t.pause())}});for(var n in t)this[n]===void 0&&typeof t[n]=="function"&&(this[n]=function(a){return function(){return t[a].apply(t,arguments)}}(n));for(var s=0;s<$T.length;s++)t.on($T[s],this.emit.bind(this,$T[s]));return this._read=function(o){Et("wrapped _read",o),i&&(i=!1,t.resume())},this};typeof Symbol=="function"&&(kt.prototype[Symbol.asyncIterator]=function(){return XT===void 0&&(XT=uue()),XT(this)});Object.defineProperty(kt.prototype,"readableHighWaterMark",{enumerable:!1,get:function(){return this._readableState.highWaterMark}});Object.defineProperty(kt.prototype,"readableBuffer",{enumerable:!1,get:function(){return this._readableState&&this._readableState.buffer}});Object.defineProperty(kt.prototype,"readableFlowing",{enumerable:!1,get:function(){return this._readableState.flowing},set:function(e){this._readableState&&(this._readableState.flowing=e)}});kt._fromList=wue;Object.defineProperty(kt.prototype,"readableLength",{enumerable:!1,get:function(){return this._readableState.length}});function wue(t,e){if(e.length===0)return null;var r;return e.objectMode?r=e.buffer.shift():!t||t>=e.length?(e.decoder?r=e.buffer.join(""):e.buffer.length===1?r=e.buffer.first():r=e.buffer.concat(e.length),e.buffer.clear()):r=e.buffer.consume(t,e.decoder),r}function rM(t){var e=t._readableState;Et("endReadable",e.endEmitted),e.endEmitted||(e.ended=!0,process.nextTick(KVe,e,t))}function KVe(t,e){if(Et("endReadableNT",t.endEmitted,t.length),!t.endEmitted&&t.length===0&&(t.endEmitted=!0,e.readable=!1,e.emit("end"),t.autoDestroy)){var r=e._writableState;(!r||r.autoDestroy&&r.finished)&&e.destroy()}}typeof Symbol=="function"&&(kt.from=function(t,e){return ZT===void 0&&(ZT=pue()),ZT(kt,t,e)});function Que(t,e){for(var r=0,i=t.length;r{"use strict";vue.exports=Ja;var dQ=VA().codes,UVe=dQ.ERR_METHOD_NOT_IMPLEMENTED,HVe=dQ.ERR_MULTIPLE_CALLBACK,GVe=dQ.ERR_TRANSFORM_ALREADY_TRANSFORMING,jVe=dQ.ERR_TRANSFORM_WITH_LENGTH_0,CQ=Yc();_A()(Ja,CQ);function YVe(t,e){var r=this._transformState;r.transforming=!1;var i=r.writecb;if(i===null)return this.emit("error",new HVe);r.writechunk=null,r.writecb=null,e!=null&&this.push(e),i(t);var n=this._readableState;n.reading=!1,(n.needReadable||n.length{"use strict";xue.exports=om;var kue=nM();_A()(om,kue);function om(t){if(!(this instanceof om))return new om(t);kue.call(this,t)}om.prototype._transform=function(t,e,r){r(null,t)}});var Lue=E((DPt,Due)=>{"use strict";var sM;function JVe(t){var e=!1;return function(){e||(e=!0,t.apply(void 0,arguments))}}var Rue=VA().codes,WVe=Rue.ERR_MISSING_ARGS,zVe=Rue.ERR_STREAM_DESTROYED;function Fue(t){if(t)throw t}function VVe(t){return t.setHeader&&typeof t.abort=="function"}function _Ve(t,e,r,i){i=JVe(i);var n=!1;t.on("close",function(){n=!0}),sM===void 0&&(sM=cQ()),sM(t,{readable:e,writable:r},function(o){if(o)return i(o);n=!0,i()});var s=!1;return function(o){if(!n&&!s){if(s=!0,VVe(t))return t.abort();if(typeof t.destroy=="function")return t.destroy();i(o||new zVe("pipe"))}}}function Nue(t){t()}function XVe(t,e){return t.pipe(e)}function ZVe(t){return!t.length||typeof t[t.length-1]!="function"?Fue:t.pop()}function $Ve(){for(var t=arguments.length,e=new Array(t),r=0;r0;return _Ve(o,l,c,function(u){n||(n=u),u&&s.forEach(Nue),!l&&(s.forEach(Nue),i(n))})});return e.reduce(XVe)}Due.exports=$Ve});var bf=E((ys,am)=>{var Am=require("stream");process.env.READABLE_STREAM==="disable"&&Am?(am.exports=Am.Readable,Object.assign(am.exports,Am),am.exports.Stream=Am):(ys=am.exports=HT(),ys.Stream=Am||ys,ys.Readable=ys,ys.Writable=UT(),ys.Duplex=Yc(),ys.Transform=nM(),ys.PassThrough=Pue(),ys.finished=cQ(),ys.pipeline=Lue())});var Oue=E((RPt,Tue)=>{"use strict";var{Buffer:_s}=require("buffer"),Mue=Symbol.for("BufferList");function nr(t){if(!(this instanceof nr))return new nr(t);nr._init.call(this,t)}nr._init=function(e){Object.defineProperty(this,Mue,{value:!0}),this._bufs=[],this.length=0,e&&this.append(e)};nr.prototype._new=function(e){return new nr(e)};nr.prototype._offset=function(e){if(e===0)return[0,0];let r=0;for(let i=0;ithis.length||e<0)return;let r=this._offset(e);return this._bufs[r[0]][r[1]]};nr.prototype.slice=function(e,r){return typeof e=="number"&&e<0&&(e+=this.length),typeof r=="number"&&r<0&&(r+=this.length),this.copy(null,0,e,r)};nr.prototype.copy=function(e,r,i,n){if((typeof i!="number"||i<0)&&(i=0),(typeof n!="number"||n>this.length)&&(n=this.length),i>=this.length||n<=0)return e||_s.alloc(0);let s=!!e,o=this._offset(i),a=n-i,l=a,c=s&&r||0,u=o[1];if(i===0&&n===this.length){if(!s)return this._bufs.length===1?this._bufs[0]:_s.concat(this._bufs,this.length);for(let g=0;gf)this._bufs[g].copy(e,c,u),c+=f;else{this._bufs[g].copy(e,c,u,u+l),c+=f;break}l-=f,u&&(u=0)}return e.length>c?e.slice(0,c):e};nr.prototype.shallowSlice=function(e,r){if(e=e||0,r=typeof r!="number"?this.length:r,e<0&&(e+=this.length),r<0&&(r+=this.length),e===r)return this._new();let i=this._offset(e),n=this._offset(r),s=this._bufs.slice(i[0],n[0]+1);return n[1]===0?s.pop():s[s.length-1]=s[s.length-1].slice(0,n[1]),i[1]!==0&&(s[0]=s[0].slice(i[1])),this._new(s)};nr.prototype.toString=function(e,r,i){return this.slice(r,i).toString(e)};nr.prototype.consume=function(e){if(e=Math.trunc(e),Number.isNaN(e)||e<=0)return this;for(;this._bufs.length;)if(e>=this._bufs[0].length)e-=this._bufs[0].length,this.length-=this._bufs[0].length,this._bufs.shift();else{this._bufs[0]=this._bufs[0].slice(e),this.length-=e;break}return this};nr.prototype.duplicate=function(){let e=this._new();for(let r=0;rthis.length?this.length:e;let i=this._offset(e),n=i[0],s=i[1];for(;n=t.length){let l=o.indexOf(t,s);if(l!==-1)return this._reverseOffset([n,l]);s=o.length-t.length+1}else{let l=this._reverseOffset([n,s]);if(this._match(l,t))return l;s++}s=0}return-1};nr.prototype._match=function(t,e){if(this.length-t{"use strict";var oM=bf().Duplex,e7e=_A(),lm=Oue();function Oi(t){if(!(this instanceof Oi))return new Oi(t);if(typeof t=="function"){this._callback=t;let e=function(i){this._callback&&(this._callback(i),this._callback=null)}.bind(this);this.on("pipe",function(i){i.on("error",e)}),this.on("unpipe",function(i){i.removeListener("error",e)}),t=null}lm._init.call(this,t),oM.call(this)}e7e(Oi,oM);Object.assign(Oi.prototype,lm.prototype);Oi.prototype._new=function(e){return new Oi(e)};Oi.prototype._write=function(e,r,i){this._appendBuffer(e),typeof i=="function"&&i()};Oi.prototype._read=function(e){if(!this.length)return this.push(null);e=Math.min(e,this.length),this.push(this.slice(0,e)),this.consume(e)};Oi.prototype.end=function(e){oM.prototype.end.call(this,e),this._callback&&(this._callback(null,this.slice()),this._callback=null)};Oi.prototype._destroy=function(e,r){this._bufs.length=0,this.length=0,r(e)};Oi.prototype._isBufferList=function(e){return e instanceof Oi||e instanceof lm||Oi.isBufferList(e)};Oi.isBufferList=lm.isBufferList;mQ.exports=Oi;mQ.exports.BufferListStream=Oi;mQ.exports.BufferList=lm});var lM=E(vf=>{var t7e=Buffer.alloc,r7e="0000000000000000000",i7e="7777777777777777777",Uue="0".charCodeAt(0),Hue=Buffer.from("ustar\0","binary"),n7e=Buffer.from("00","binary"),s7e=Buffer.from("ustar ","binary"),o7e=Buffer.from(" \0","binary"),a7e=parseInt("7777",8),cm=257,aM=263,A7e=function(t,e,r){return typeof t!="number"?r:(t=~~t,t>=e?e:t>=0||(t+=e,t>=0)?t:0)},l7e=function(t){switch(t){case 0:return"file";case 1:return"link";case 2:return"symlink";case 3:return"character-device";case 4:return"block-device";case 5:return"directory";case 6:return"fifo";case 7:return"contiguous-file";case 72:return"pax-header";case 55:return"pax-global-header";case 27:return"gnu-long-link-path";case 28:case 30:return"gnu-long-path"}return null},c7e=function(t){switch(t){case"file":return 0;case"link":return 1;case"symlink":return 2;case"character-device":return 3;case"block-device":return 4;case"directory":return 5;case"fifo":return 6;case"contiguous-file":return 7;case"pax-header":return 72}return 0},Gue=function(t,e,r,i){for(;re?i7e.slice(0,e)+" ":r7e.slice(0,e-t.length)+t+" "};function u7e(t){var e;if(t[0]===128)e=!0;else if(t[0]===255)e=!1;else return null;for(var r=[],i=t.length-1;i>0;i--){var n=t[i];e?r.push(n):r.push(255-n)}var s=0,o=r.length;for(i=0;i=Math.pow(10,r)&&r++,e+r+t};vf.decodeLongPath=function(t,e){return Sf(t,0,t.length,e)};vf.encodePax=function(t){var e="";t.name&&(e+=AM(" path="+t.name+` +`)),t.linkname&&(e+=AM(" linkpath="+t.linkname+` +`));var r=t.pax;if(r)for(var i in r)e+=AM(" "+i+"="+r[i]+` +`);return Buffer.from(e)};vf.decodePax=function(t){for(var e={};t.length;){for(var r=0;r100;){var n=r.indexOf("/");if(n===-1)return null;i+=i?"/"+r.slice(0,n):r.slice(0,n),r=r.slice(n+1)}return Buffer.byteLength(r)>100||Buffer.byteLength(i)>155||t.linkname&&Buffer.byteLength(t.linkname)>100?null:(e.write(r),e.write(tl(t.mode&a7e,6),100),e.write(tl(t.uid,6),108),e.write(tl(t.gid,6),116),e.write(tl(t.size,11),124),e.write(tl(t.mtime.getTime()/1e3|0,11),136),e[156]=Uue+c7e(t.type),t.linkname&&e.write(t.linkname,157),Hue.copy(e,cm),n7e.copy(e,aM),t.uname&&e.write(t.uname,265),t.gname&&e.write(t.gname,297),e.write(tl(t.devmajor||0,6),329),e.write(tl(t.devminor||0,6),337),i&&e.write(i,345),e.write(tl(jue(e),6),148),e)};vf.decode=function(t,e,r){var i=t[156]===0?0:t[156]-Uue,n=Sf(t,0,100,e),s=rl(t,100,8),o=rl(t,108,8),a=rl(t,116,8),l=rl(t,124,12),c=rl(t,136,12),u=l7e(i),g=t[157]===0?null:Sf(t,157,100,e),f=Sf(t,265,32),h=Sf(t,297,32),p=rl(t,329,8),d=rl(t,337,8),m=jue(t);if(m===8*32)return null;if(m!==rl(t,148,8))throw new Error("Invalid tar header. Maybe the tar is corrupted or it needs to be gunzipped?");if(Hue.compare(t,cm,cm+6)===0)t[345]&&(n=Sf(t,345,155,e)+"/"+n);else if(!(s7e.compare(t,cm,cm+6)===0&&o7e.compare(t,aM,aM+2)===0)){if(!r)throw new Error("Invalid tar header: unknown format.")}return i===0&&n&&n[n.length-1]==="/"&&(i=5),{name:n,mode:s,uid:o,gid:a,size:l,mtime:new Date(1e3*c),type:u,linkname:g,uname:f,gname:h,devmajor:p,devminor:d}}});var _ue=E((LPt,Yue)=>{var que=require("util"),g7e=Kue(),um=lM(),Jue=bf().Writable,Wue=bf().PassThrough,zue=function(){},Vue=function(t){return t&=511,t&&512-t},f7e=function(t,e){var r=new EQ(t,e);return r.end(),r},h7e=function(t,e){return e.path&&(t.name=e.path),e.linkpath&&(t.linkname=e.linkpath),e.size&&(t.size=parseInt(e.size,10)),t.pax=e,t},EQ=function(t,e){this._parent=t,this.offset=e,Wue.call(this,{autoDestroy:!1})};que.inherits(EQ,Wue);EQ.prototype.destroy=function(t){this._parent.destroy(t)};var Wa=function(t){if(!(this instanceof Wa))return new Wa(t);Jue.call(this,t),t=t||{},this._offset=0,this._buffer=g7e(),this._missing=0,this._partial=!1,this._onparse=zue,this._header=null,this._stream=null,this._overflow=null,this._cb=null,this._locked=!1,this._destroyed=!1,this._pax=null,this._paxGlobal=null,this._gnuLongPath=null,this._gnuLongLinkPath=null;var e=this,r=e._buffer,i=function(){e._continue()},n=function(f){if(e._locked=!1,f)return e.destroy(f);e._stream||i()},s=function(){e._stream=null;var f=Vue(e._header.size);f?e._parse(f,o):e._parse(512,g),e._locked||i()},o=function(){e._buffer.consume(Vue(e._header.size)),e._parse(512,g),i()},a=function(){var f=e._header.size;e._paxGlobal=um.decodePax(r.slice(0,f)),r.consume(f),s()},l=function(){var f=e._header.size;e._pax=um.decodePax(r.slice(0,f)),e._paxGlobal&&(e._pax=Object.assign({},e._paxGlobal,e._pax)),r.consume(f),s()},c=function(){var f=e._header.size;this._gnuLongPath=um.decodeLongPath(r.slice(0,f),t.filenameEncoding),r.consume(f),s()},u=function(){var f=e._header.size;this._gnuLongLinkPath=um.decodeLongPath(r.slice(0,f),t.filenameEncoding),r.consume(f),s()},g=function(){var f=e._offset,h;try{h=e._header=um.decode(r.slice(0,512),t.filenameEncoding,t.allowUnknownFormat)}catch(p){e.emit("error",p)}if(r.consume(512),!h){e._parse(512,g),i();return}if(h.type==="gnu-long-path"){e._parse(h.size,c),i();return}if(h.type==="gnu-long-link-path"){e._parse(h.size,u),i();return}if(h.type==="pax-global-header"){e._parse(h.size,a),i();return}if(h.type==="pax-header"){e._parse(h.size,l),i();return}if(e._gnuLongPath&&(h.name=e._gnuLongPath,e._gnuLongPath=null),e._gnuLongLinkPath&&(h.linkname=e._gnuLongLinkPath,e._gnuLongLinkPath=null),e._pax&&(e._header=h=h7e(h,e._pax),e._pax=null),e._locked=!0,!h.size||h.type==="directory"){e._parse(512,g),e.emit("entry",h,f7e(e,f),n);return}e._stream=new EQ(e,f),e.emit("entry",h,e._stream,n),e._parse(h.size,s),i()};this._onheader=g,this._parse(512,g)};que.inherits(Wa,Jue);Wa.prototype.destroy=function(t){this._destroyed||(this._destroyed=!0,t&&this.emit("error",t),this.emit("close"),this._stream&&this._stream.emit("close"))};Wa.prototype._parse=function(t,e){this._destroyed||(this._offset+=t,this._missing=t,e===this._onheader&&(this._partial=!1),this._onparse=e)};Wa.prototype._continue=function(){if(!this._destroyed){var t=this._cb;this._cb=zue,this._overflow?this._write(this._overflow,void 0,t):t()}};Wa.prototype._write=function(t,e,r){if(!this._destroyed){var i=this._stream,n=this._buffer,s=this._missing;if(t.length&&(this._partial=!0),t.lengths&&(o=t.slice(s),t=t.slice(0,s)),i?i.end(t):n.append(t),this._overflow=o,this._onparse()}};Wa.prototype._final=function(t){if(this._partial)return this.destroy(new Error("Unexpected end of data"));t()};Yue.exports=Wa});var Zue=E((TPt,Xue)=>{Xue.exports=require("fs").constants||require("constants")});var ige=E((MPt,$ue)=>{var xf=Zue(),ege=tk(),IQ=_A(),p7e=Buffer.alloc,tge=bf().Readable,kf=bf().Writable,d7e=require("string_decoder").StringDecoder,yQ=lM(),C7e=parseInt("755",8),m7e=parseInt("644",8),rge=p7e(1024),cM=function(){},uM=function(t,e){e&=511,e&&t.push(rge.slice(0,512-e))};function E7e(t){switch(t&xf.S_IFMT){case xf.S_IFBLK:return"block-device";case xf.S_IFCHR:return"character-device";case xf.S_IFDIR:return"directory";case xf.S_IFIFO:return"fifo";case xf.S_IFLNK:return"symlink"}return"file"}var wQ=function(t){kf.call(this),this.written=0,this._to=t,this._destroyed=!1};IQ(wQ,kf);wQ.prototype._write=function(t,e,r){if(this.written+=t.length,this._to.push(t))return r();this._to._drain=r};wQ.prototype.destroy=function(){this._destroyed||(this._destroyed=!0,this.emit("close"))};var BQ=function(){kf.call(this),this.linkname="",this._decoder=new d7e("utf-8"),this._destroyed=!1};IQ(BQ,kf);BQ.prototype._write=function(t,e,r){this.linkname+=this._decoder.write(t),r()};BQ.prototype.destroy=function(){this._destroyed||(this._destroyed=!0,this.emit("close"))};var gm=function(){kf.call(this),this._destroyed=!1};IQ(gm,kf);gm.prototype._write=function(t,e,r){r(new Error("No body allowed for this entry"))};gm.prototype.destroy=function(){this._destroyed||(this._destroyed=!0,this.emit("close"))};var Oo=function(t){if(!(this instanceof Oo))return new Oo(t);tge.call(this,t),this._drain=cM,this._finalized=!1,this._finalizing=!1,this._destroyed=!1,this._stream=null};IQ(Oo,tge);Oo.prototype.entry=function(t,e,r){if(this._stream)throw new Error("already piping an entry");if(!(this._finalized||this._destroyed)){typeof e=="function"&&(r=e,e=null),r||(r=cM);var i=this;if((!t.size||t.type==="symlink")&&(t.size=0),t.type||(t.type=E7e(t.mode)),t.mode||(t.mode=t.type==="directory"?C7e:m7e),t.uid||(t.uid=0),t.gid||(t.gid=0),t.mtime||(t.mtime=new Date),typeof e=="string"&&(e=Buffer.from(e)),Buffer.isBuffer(e)){t.size=e.length,this._encode(t);var n=this.push(e);return uM(i,t.size),n?process.nextTick(r):this._drain=r,new gm}if(t.type==="symlink"&&!t.linkname){var s=new BQ;return ege(s,function(a){if(a)return i.destroy(),r(a);t.linkname=s.linkname,i._encode(t),r()}),s}if(this._encode(t),t.type!=="file"&&t.type!=="contiguous-file")return process.nextTick(r),new gm;var o=new wQ(this);return this._stream=o,ege(o,function(a){if(i._stream=null,a)return i.destroy(),r(a);if(o.written!==t.size)return i.destroy(),r(new Error("size mismatch"));uM(i,t.size),i._finalizing&&i.finalize(),r()}),o}};Oo.prototype.finalize=function(){if(this._stream){this._finalizing=!0;return}this._finalized||(this._finalized=!0,this.push(rge),this.push(null))};Oo.prototype.destroy=function(t){this._destroyed||(this._destroyed=!0,t&&this.emit("error",t),this.emit("close"),this._stream&&this._stream.destroy&&this._stream.destroy())};Oo.prototype._encode=function(t){if(!t.pax){var e=yQ.encode(t);if(e){this.push(e);return}}this._encodePax(t)};Oo.prototype._encodePax=function(t){var e=yQ.encodePax({name:t.name,linkname:t.linkname,pax:t.pax}),r={name:"PaxHeader",mode:t.mode,uid:t.uid,gid:t.gid,size:e.length,mtime:t.mtime,type:"pax-header",linkname:t.linkname&&"PaxHeader",uname:t.uname,gname:t.gname,devmajor:t.devmajor,devminor:t.devminor};this.push(yQ.encode(r)),this.push(e),uM(this,e.length),r.size=t.size,r.type=t.type,this.push(yQ.encode(r))};Oo.prototype._read=function(t){var e=this._drain;this._drain=cM,e()};$ue.exports=Oo});var nge=E(gM=>{gM.extract=_ue();gM.pack=ige()});var Cge=E((oDt,fge)=>{"use strict";var Pf=class{constructor(e,r,i){this.__specs=e||{},Object.keys(this.__specs).forEach(n=>{if(typeof this.__specs[n]=="string"){let s=this.__specs[n],o=this.__specs[s];if(o){let a=o.aliases||[];a.push(n,s),o.aliases=[...new Set(a)],this.__specs[n]=o}else throw new Error(`Alias refers to invalid key: ${s} -> ${n}`)}}),this.__opts=r||{},this.__providers=pge(i.filter(n=>n!=null&&typeof n=="object")),this.__isFiggyPudding=!0}get(e){return mM(this,e,!0)}get[Symbol.toStringTag](){return"FiggyPudding"}forEach(e,r=this){for(let[i,n]of this.entries())e.call(r,n,i,this)}toJSON(){let e={};return this.forEach((r,i)=>{e[i]=r}),e}*entries(e){for(let i of Object.keys(this.__specs))yield[i,this.get(i)];let r=e||this.__opts.other;if(r){let i=new Set;for(let n of this.__providers){let s=n.entries?n.entries(r):R7e(n);for(let[o,a]of s)r(o)&&!i.has(o)&&(i.add(o),yield[o,a])}}}*[Symbol.iterator](){for(let[e,r]of this.entries())yield[e,r]}*keys(){for(let[e]of this.entries())yield e}*values(){for(let[,e]of this.entries())yield e}concat(...e){return new Proxy(new Pf(this.__specs,this.__opts,pge(this.__providers).concat(e)),hge)}};try{let t=require("util");Pf.prototype[t.inspect.custom]=function(e,r){return this[Symbol.toStringTag]+" "+t.inspect(this.toJSON(),r)}}catch(t){}function F7e(t){throw Object.assign(new Error(`invalid config key requested: ${t}`),{code:"EBADKEY"})}function mM(t,e,r){let i=t.__specs[e];if(r&&!i&&(!t.__opts.other||!t.__opts.other(e)))F7e(e);else{i||(i={});let n;for(let s of t.__providers){if(n=dge(e,s),n===void 0&&i.aliases&&i.aliases.length){for(let o of i.aliases)if(o!==e&&(n=dge(o,s),n!==void 0))break}if(n!==void 0)break}return n===void 0&&i.default!==void 0?typeof i.default=="function"?i.default(t):i.default:n}}function dge(t,e){let r;return e.__isFiggyPudding?r=mM(e,t,!1):typeof e.get=="function"?r=e.get(t):r=e[t],r}var hge={has(t,e){return e in t.__specs&&mM(t,e,!1)!==void 0},ownKeys(t){return Object.keys(t.__specs)},get(t,e){return typeof e=="symbol"||e.slice(0,2)==="__"||e in Pf.prototype?t[e]:t.get(e)},set(t,e,r){if(typeof e=="symbol"||e.slice(0,2)==="__")return t[e]=r,!0;throw new Error("figgyPudding options cannot be modified. Use .concat() instead.")},deleteProperty(){throw new Error("figgyPudding options cannot be deleted. Use .concat() and shadow them instead.")}};fge.exports=N7e;function N7e(t,e){function r(...i){return new Proxy(new Pf(t,e,i),hge)}return r}function pge(t){let e=[];return t.forEach(r=>e.unshift(r)),e}function R7e(t){return Object.keys(t).map(e=>[e,t[e]])}});var Ige=E((aDt,Ko)=>{"use strict";var hm=require("crypto"),L7e=Cge(),T7e=require("stream").Transform,mge=["sha256","sha384","sha512"],M7e=/^[a-z0-9+/]+(?:=?=?)$/i,O7e=/^([^-]+)-([^?]+)([?\S*]*)$/,K7e=/^([^-]+)-([A-Za-z0-9+/=]{44,88})(\?[\x21-\x7E]*)*$/,U7e=/^[\x21-\x7E]+$/,on=L7e({algorithms:{default:["sha512"]},error:{default:!1},integrity:{},options:{default:[]},pickAlgorithm:{default:()=>H7e},Promise:{default:()=>Promise},sep:{default:" "},single:{default:!1},size:{},strict:{default:!1}}),zc=class{get isHash(){return!0}constructor(e,r){r=on(r);let i=!!r.strict;this.source=e.trim();let n=this.source.match(i?K7e:O7e);if(!n||i&&!mge.some(o=>o===n[1]))return;this.algorithm=n[1],this.digest=n[2];let s=n[3];this.options=s?s.slice(1).split("?"):[]}hexDigest(){return this.digest&&Buffer.from(this.digest,"base64").toString("hex")}toJSON(){return this.toString()}toString(e){if(e=on(e),e.strict&&!(mge.some(i=>i===this.algorithm)&&this.digest.match(M7e)&&(this.options||[]).every(i=>i.match(U7e))))return"";let r=this.options&&this.options.length?`?${this.options.join("?")}`:"";return`${this.algorithm}-${this.digest}${r}`}},Df=class{get isIntegrity(){return!0}toJSON(){return this.toString()}toString(e){e=on(e);let r=e.sep||" ";return e.strict&&(r=r.replace(/\S+/g," ")),Object.keys(this).map(i=>this[i].map(n=>zc.prototype.toString.call(n,e)).filter(n=>n.length).join(r)).filter(i=>i.length).join(r)}concat(e,r){r=on(r);let i=typeof e=="string"?e:pm(e,r);return Uo(`${this.toString(r)} ${i}`,r)}hexDigest(){return Uo(this,{single:!0}).hexDigest()}match(e,r){r=on(r);let i=Uo(e,r),n=i.pickAlgorithm(r);return this[n]&&i[n]&&this[n].find(s=>i[n].find(o=>s.digest===o.digest))||!1}pickAlgorithm(e){e=on(e);let r=e.pickAlgorithm,i=Object.keys(this);if(!i.length)throw new Error(`No algorithms available for ${JSON.stringify(this.toString())}`);return i.reduce((n,s)=>r(n,s)||n)}};Ko.exports.parse=Uo;function Uo(t,e){if(e=on(e),typeof t=="string")return EM(t,e);if(t.algorithm&&t.digest){let r=new Df;return r[t.algorithm]=[t],EM(pm(r,e),e)}else return EM(pm(t,e),e)}function EM(t,e){return e.single?new zc(t,e):t.trim().split(/\s+/).reduce((r,i)=>{let n=new zc(i,e);if(n.algorithm&&n.digest){let s=n.algorithm;r[s]||(r[s]=[]),r[s].push(n)}return r},new Df)}Ko.exports.stringify=pm;function pm(t,e){return e=on(e),t.algorithm&&t.digest?zc.prototype.toString.call(t,e):typeof t=="string"?pm(Uo(t,e),e):Df.prototype.toString.call(t,e)}Ko.exports.fromHex=G7e;function G7e(t,e,r){r=on(r);let i=r.options&&r.options.length?`?${r.options.join("?")}`:"";return Uo(`${e}-${Buffer.from(t,"hex").toString("base64")}${i}`,r)}Ko.exports.fromData=j7e;function j7e(t,e){e=on(e);let r=e.algorithms,i=e.options&&e.options.length?`?${e.options.join("?")}`:"";return r.reduce((n,s)=>{let o=hm.createHash(s).update(t).digest("base64"),a=new zc(`${s}-${o}${i}`,e);if(a.algorithm&&a.digest){let l=a.algorithm;n[l]||(n[l]=[]),n[l].push(a)}return n},new Df)}Ko.exports.fromStream=Y7e;function Y7e(t,e){e=on(e);let r=e.Promise||Promise,i=IM(e);return new r((n,s)=>{t.pipe(i),t.on("error",s),i.on("error",s);let o;i.on("integrity",a=>{o=a}),i.on("end",()=>n(o)),i.on("data",()=>{})})}Ko.exports.checkData=q7e;function q7e(t,e,r){if(r=on(r),e=Uo(e,r),!Object.keys(e).length){if(r.error)throw Object.assign(new Error("No valid integrity hashes to check against"),{code:"EINTEGRITY"});return!1}let i=e.pickAlgorithm(r),n=hm.createHash(i).update(t).digest("base64"),s=Uo({algorithm:i,digest:n}),o=s.match(e,r);if(o||!r.error)return o;if(typeof r.size=="number"&&t.length!==r.size){let a=new Error(`data size mismatch when checking ${e}. + Wanted: ${r.size} + Found: ${t.length}`);throw a.code="EBADSIZE",a.found=t.length,a.expected=r.size,a.sri=e,a}else{let a=new Error(`Integrity checksum failed when using ${i}: Wanted ${e}, but got ${s}. (${t.length} bytes)`);throw a.code="EINTEGRITY",a.found=s,a.expected=e,a.algorithm=i,a.sri=e,a}}Ko.exports.checkStream=J7e;function J7e(t,e,r){r=on(r);let i=r.Promise||Promise,n=IM(r.concat({integrity:e}));return new i((s,o)=>{t.pipe(n),t.on("error",o),n.on("error",o);let a;n.on("verified",l=>{a=l}),n.on("end",()=>s(a)),n.on("data",()=>{})})}Ko.exports.integrityStream=IM;function IM(t){t=on(t);let e=t.integrity&&Uo(t.integrity,t),r=e&&Object.keys(e).length,i=r&&e.pickAlgorithm(t),n=r&&e[i],s=Array.from(new Set(t.algorithms.concat(i?[i]:[]))),o=s.map(hm.createHash),a=0,l=new T7e({transform(c,u,g){a+=c.length,o.forEach(f=>f.update(c,u)),g(null,c,u)}}).on("end",()=>{let c=t.options&&t.options.length?`?${t.options.join("?")}`:"",u=Uo(o.map((f,h)=>`${s[h]}-${f.digest("base64")}${c}`).join(" "),t),g=r&&u.match(e,t);if(typeof t.size=="number"&&a!==t.size){let f=new Error(`stream size mismatch when checking ${e}. + Wanted: ${t.size} + Found: ${a}`);f.code="EBADSIZE",f.found=a,f.expected=t.size,f.sri=e,l.emit("error",f)}else if(t.integrity&&!g){let f=new Error(`${e} integrity checksum failed when using ${i}: wanted ${n} but got ${u}. (${a} bytes)`);f.code="EINTEGRITY",f.found=u,f.expected=n,f.algorithm=i,f.sri=e,l.emit("error",f)}else l.emit("size",a),l.emit("integrity",u),g&&l.emit("verified",g)});return l}Ko.exports.create=W7e;function W7e(t){t=on(t);let e=t.algorithms,r=t.options.length?`?${t.options.join("?")}`:"",i=e.map(hm.createHash);return{update:function(n,s){return i.forEach(o=>o.update(n,s)),this},digest:function(n){return e.reduce((o,a)=>{let l=i.shift().digest("base64"),c=new zc(`${a}-${l}${r}`,t);if(c.algorithm&&c.digest){let u=c.algorithm;o[u]||(o[u]=[]),o[u].push(c)}return o},new Df)}}}var z7e=new Set(hm.getHashes()),Ege=["md5","whirlpool","sha1","sha224","sha256","sha384","sha512","sha3","sha3-256","sha3-384","sha3-512","sha3_256","sha3_384","sha3_512"].filter(t=>z7e.has(t));function H7e(t,e){return Ege.indexOf(t.toLowerCase())>=Ege.indexOf(e.toLowerCase())?t:e}});var Fd={};it(Fd,{BuildType:()=>Gn,Cache:()=>Qt,Configuration:()=>fe,DEFAULT_LOCK_FILENAME:()=>DR,DEFAULT_RC_FILENAME:()=>PR,FormatType:()=>ps,InstallMode:()=>li,LightReport:()=>Fa,LinkType:()=>gt,Manifest:()=>Ze,MessageName:()=>z,PackageExtensionStatus:()=>ki,PackageExtensionType:()=>oi,Project:()=>Ke,ProjectLookup:()=>KA,Report:()=>Xi,ReportError:()=>nt,SettingsType:()=>ge,StreamReport:()=>Fe,TAG_REGEXP:()=>Rg,TelemetryManager:()=>Rd,ThrowReport:()=>ei,VirtualFetcher:()=>dd,Workspace:()=>Dd,WorkspaceResolver:()=>Yr,YarnVersion:()=>Zr,execUtils:()=>hr,folderUtils:()=>Pb,formatUtils:()=>ue,hashUtils:()=>mn,httpUtils:()=>Zt,miscUtils:()=>de,scriptUtils:()=>Kt,semverUtils:()=>qt,structUtils:()=>S,tgzUtils:()=>Ai,treeUtils:()=>Hs});var hr={};it(hr,{EndStrategy:()=>Pn,execvp:()=>Nhe,pipevp:()=>to});var ch={};it(ch,{AliasFS:()=>Xo,CwdFS:()=>Ft,DEFAULT_COMPRESSION_LEVEL:()=>pl,FakeFS:()=>eA,Filename:()=>wt,JailFS:()=>Zo,LazyFS:()=>oh,LinkStrategy:()=>eh,NoFS:()=>bE,NodeFS:()=>Wt,PortablePath:()=>Se,PosixFS:()=>ah,ProxiedFS:()=>fi,VirtualFS:()=>Pr,ZipFS:()=>Jr,ZipOpenFS:()=>Jn,constants:()=>mr,extendFs:()=>SE,normalizeLineEndings:()=>ul,npath:()=>M,opendir:()=>wE,patchFs:()=>pb,ppath:()=>v,statUtils:()=>rb,toFilename:()=>kr,xfs:()=>T});var mr={};it(mr,{SAFE_TIME:()=>tb,S_IFDIR:()=>zo,S_IFLNK:()=>_o,S_IFMT:()=>kn,S_IFREG:()=>Vo});var kn=61440,zo=16384,Vo=32768,_o=40960,tb=456789e3;var rb={};it(rb,{BigIntStatsEntry:()=>Xf,DEFAULT_MODE:()=>_f,DirEntry:()=>uO,StatEntry:()=>Za,areStatsEqual:()=>nb,clearStats:()=>pE,convertToBigIntStats:()=>dE,makeDefaultStats:()=>Zf,makeEmptyStats:()=>Jfe});var ib=ie(require("util"));var _f=Vo|420,uO=class{constructor(){this.name="";this.mode=0}isBlockDevice(){return!1}isCharacterDevice(){return!1}isDirectory(){return(this.mode&kn)===zo}isFIFO(){return!1}isFile(){return(this.mode&kn)===Vo}isSocket(){return!1}isSymbolicLink(){return(this.mode&kn)===_o}},Za=class{constructor(){this.uid=0;this.gid=0;this.size=0;this.blksize=0;this.atimeMs=0;this.mtimeMs=0;this.ctimeMs=0;this.birthtimeMs=0;this.atime=new Date(0);this.mtime=new Date(0);this.ctime=new Date(0);this.birthtime=new Date(0);this.dev=0;this.ino=0;this.mode=_f;this.nlink=1;this.rdev=0;this.blocks=1}isBlockDevice(){return!1}isCharacterDevice(){return!1}isDirectory(){return(this.mode&kn)===zo}isFIFO(){return!1}isFile(){return(this.mode&kn)===Vo}isSocket(){return!1}isSymbolicLink(){return(this.mode&kn)===_o}},Xf=class{constructor(){this.uid=BigInt(0);this.gid=BigInt(0);this.size=BigInt(0);this.blksize=BigInt(0);this.atimeMs=BigInt(0);this.mtimeMs=BigInt(0);this.ctimeMs=BigInt(0);this.birthtimeMs=BigInt(0);this.atimeNs=BigInt(0);this.mtimeNs=BigInt(0);this.ctimeNs=BigInt(0);this.birthtimeNs=BigInt(0);this.atime=new Date(0);this.mtime=new Date(0);this.ctime=new Date(0);this.birthtime=new Date(0);this.dev=BigInt(0);this.ino=BigInt(0);this.mode=BigInt(_f);this.nlink=BigInt(1);this.rdev=BigInt(0);this.blocks=BigInt(1)}isBlockDevice(){return!1}isCharacterDevice(){return!1}isDirectory(){return(this.mode&BigInt(kn))===BigInt(zo)}isFIFO(){return!1}isFile(){return(this.mode&BigInt(kn))===BigInt(Vo)}isSocket(){return!1}isSymbolicLink(){return(this.mode&BigInt(kn))===BigInt(_o)}};function Zf(){return new Za}function Jfe(){return pE(Zf())}function pE(t){for(let e in t)if(Object.prototype.hasOwnProperty.call(t,e)){let r=t[e];typeof r=="number"?t[e]=0:typeof r=="bigint"?t[e]=BigInt(0):ib.types.isDate(r)&&(t[e]=new Date(0))}return t}function dE(t){let e=new Xf;for(let r in t)if(Object.prototype.hasOwnProperty.call(t,r)){let i=t[r];typeof i=="number"?e[r]=BigInt(i):ib.types.isDate(i)&&(e[r]=new Date(i))}return e.atimeNs=e.atimeMs*BigInt(1e6),e.mtimeNs=e.mtimeMs*BigInt(1e6),e.ctimeNs=e.ctimeMs*BigInt(1e6),e.birthtimeNs=e.birthtimeMs*BigInt(1e6),e}function nb(t,e){if(t.atimeMs!==e.atimeMs||t.birthtimeMs!==e.birthtimeMs||t.blksize!==e.blksize||t.blocks!==e.blocks||t.ctimeMs!==e.ctimeMs||t.dev!==e.dev||t.gid!==e.gid||t.ino!==e.ino||t.isBlockDevice()!==e.isBlockDevice()||t.isCharacterDevice()!==e.isCharacterDevice()||t.isDirectory()!==e.isDirectory()||t.isFIFO()!==e.isFIFO()||t.isFile()!==e.isFile()||t.isSocket()!==e.isSocket()||t.isSymbolicLink()!==e.isSymbolicLink()||t.mode!==e.mode||t.mtimeMs!==e.mtimeMs||t.nlink!==e.nlink||t.rdev!==e.rdev||t.size!==e.size||t.uid!==e.uid)return!1;let r=t,i=e;return!(r.atimeNs!==i.atimeNs||r.mtimeNs!==i.mtimeNs||r.ctimeNs!==i.ctimeNs||r.birthtimeNs!==i.birthtimeNs)}var mE=ie(require("fs"));var $f=ie(require("path")),gO;(function(i){i[i.File=0]="File",i[i.Portable=1]="Portable",i[i.Native=2]="Native"})(gO||(gO={}));var Se={root:"/",dot:"."},wt={nodeModules:"node_modules",manifest:"package.json",lockfile:"yarn.lock",virtual:"__virtual__",pnpJs:".pnp.js",pnpCjs:".pnp.cjs",rc:".yarnrc.yml"},M=Object.create($f.default),v=Object.create($f.default.posix);M.cwd=()=>process.cwd();v.cwd=()=>sb(process.cwd());v.resolve=(...t)=>t.length>0&&v.isAbsolute(t[0])?$f.default.posix.resolve(...t):$f.default.posix.resolve(v.cwd(),...t);var fO=function(t,e,r){return e=t.normalize(e),r=t.normalize(r),e===r?".":(e.endsWith(t.sep)||(e=e+t.sep),r.startsWith(e)?r.slice(e.length):null)};M.fromPortablePath=hO;M.toPortablePath=sb;M.contains=(t,e)=>fO(M,t,e);v.contains=(t,e)=>fO(v,t,e);var Wfe=/^([a-zA-Z]:.*)$/,zfe=/^\\\\(\.\\)?(.*)$/,Vfe=/^\/([a-zA-Z]:.*)$/,_fe=/^\/unc\/(\.dot\/)?(.*)$/;function hO(t){if(process.platform!=="win32")return t;let e,r;if(e=t.match(Vfe))t=e[1];else if(r=t.match(_fe))t=`\\\\${r[1]?".\\":""}${r[2]}`;else return t;return t.replace(/\//g,"\\")}function sb(t){if(process.platform!=="win32")return t;let e,r;return(e=t.match(Wfe))?t=`/${e[1]}`:(r=t.match(zfe))&&(t=`/unc/${r[1]?".dot/":""}${r[2]}`),t.replace(/\\/g,"/")}function CE(t,e){return t===M?hO(e):sb(e)}function kr(t){if(M.parse(t).dir!==""||v.parse(t).dir!=="")throw new Error(`Invalid filename: "${t}"`);return t}var EE=new Date(tb*1e3),eh;(function(r){r.Allow="allow",r.ReadOnly="readOnly"})(eh||(eh={}));async function pO(t,e,r,i,n){let s=t.pathUtils.normalize(e),o=r.pathUtils.normalize(i),a=[],l=[],c=n.stableTime?{mtime:EE,atime:EE}:await r.lstatPromise(o);await t.mkdirpPromise(t.pathUtils.dirname(e),{utimes:[c.atime,c.mtime]});let u=typeof t.lutimesPromise=="function"?t.lutimesPromise.bind(t):t.utimesPromise.bind(t);await ob(a,l,u,t,s,r,o,n);for(let g of a)await g();await Promise.all(l.map(g=>g()))}async function ob(t,e,r,i,n,s,o,a){var f,h;let l=await Xfe(i,n),c=await s.lstatPromise(o),u=a.stableTime?{mtime:EE,atime:EE}:c,g;switch(!0){case c.isDirectory():g=await Zfe(t,e,r,i,n,l,s,o,c,a);break;case c.isFile():g=await $fe(t,e,r,i,n,l,s,o,c,a);break;case c.isSymbolicLink():g=await ehe(t,e,r,i,n,l,s,o,c,a);break;default:throw new Error(`Unsupported file type (${c.mode})`)}return(g||((f=l==null?void 0:l.mtime)==null?void 0:f.getTime())!==u.mtime.getTime()||((h=l==null?void 0:l.atime)==null?void 0:h.getTime())!==u.atime.getTime())&&(e.push(()=>r(n,u.atime,u.mtime)),g=!0),(l===null||(l.mode&511)!=(c.mode&511))&&(e.push(()=>i.chmodPromise(n,c.mode&511)),g=!0),g}async function Xfe(t,e){try{return await t.lstatPromise(e)}catch(r){return null}}async function Zfe(t,e,r,i,n,s,o,a,l,c){if(s!==null&&!s.isDirectory())if(c.overwrite)t.push(async()=>i.removePromise(n)),s=null;else return!1;let u=!1;s===null&&(t.push(async()=>{try{await i.mkdirPromise(n,{mode:l.mode})}catch(f){if(f.code!=="EEXIST")throw f}}),u=!0);let g=await o.readdirPromise(a);if(c.stableSort)for(let f of g.sort())await ob(t,e,r,i,i.pathUtils.join(n,f),o,o.pathUtils.join(a,f),c)&&(u=!0);else(await Promise.all(g.map(async h=>{await ob(t,e,r,i,i.pathUtils.join(n,h),o,o.pathUtils.join(a,h),c)}))).some(h=>h)&&(u=!0);return u}var ab=new WeakMap;function Ab(t,e,r,i,n){return async()=>{await t.linkPromise(r,e),n===eh.ReadOnly&&(i.mode&=~146,await t.chmodPromise(e,i.mode))}}function the(t,e,r,i,n){let s=ab.get(t);return typeof s=="undefined"?async()=>{try{await t.copyFilePromise(r,e,mE.default.constants.COPYFILE_FICLONE_FORCE),ab.set(t,!0)}catch(o){if(o.code==="ENOSYS"||o.code==="ENOTSUP")ab.set(t,!1),await Ab(t,e,r,i,n)();else throw o}}:s?async()=>t.copyFilePromise(r,e,mE.default.constants.COPYFILE_FICLONE_FORCE):Ab(t,e,r,i,n)}async function $fe(t,e,r,i,n,s,o,a,l,c){var f;if(s!==null)if(c.overwrite)t.push(async()=>i.removePromise(n)),s=null;else return!1;let u=(f=c.linkStrategy)!=null?f:null,g=i===o?u!==null?the(i,n,a,l,u):async()=>i.copyFilePromise(a,n,mE.default.constants.COPYFILE_FICLONE):u!==null?Ab(i,n,a,l,u):async()=>i.writeFilePromise(n,await o.readFilePromise(a));return t.push(async()=>g()),!0}async function ehe(t,e,r,i,n,s,o,a,l,c){if(s!==null)if(c.overwrite)t.push(async()=>i.removePromise(n)),s=null;else return!1;return t.push(async()=>{await i.symlinkPromise(CE(i.pathUtils,await o.readlinkPromise(a)),n)}),!0}function qn(t,e){return Object.assign(new Error(`${t}: ${e}`),{code:t})}function IE(t){return qn("EBUSY",t)}function th(t,e){return qn("ENOSYS",`${t}, ${e}`)}function $a(t){return qn("EINVAL",`invalid argument, ${t}`)}function Hi(t){return qn("EBADF",`bad file descriptor, ${t}`)}function bs(t){return qn("ENOENT",`no such file or directory, ${t}`)}function eo(t){return qn("ENOTDIR",`not a directory, ${t}`)}function rh(t){return qn("EISDIR",`illegal operation on a directory, ${t}`)}function yE(t){return qn("EEXIST",`file already exists, ${t}`)}function ln(t){return qn("EROFS",`read-only filesystem, ${t}`)}function dO(t){return qn("ENOTEMPTY",`directory not empty, ${t}`)}function CO(t){return qn("EOPNOTSUPP",`operation not supported, ${t}`)}function mO(){return qn("ERR_DIR_CLOSED","Directory handle was closed")}var lb=class extends Error{constructor(e,r){super(e);this.name="Libzip Error",this.code=r}};var EO=class{constructor(e,r,i={}){this.path=e;this.nextDirent=r;this.opts=i;this.closed=!1}throwIfClosed(){if(this.closed)throw mO()}async*[Symbol.asyncIterator](){try{let e;for(;(e=await this.read())!==null;)yield e}finally{await this.close()}}read(e){let r=this.readSync();return typeof e!="undefined"?e(null,r):Promise.resolve(r)}readSync(){return this.throwIfClosed(),this.nextDirent()}close(e){return this.closeSync(),typeof e!="undefined"?e(null):Promise.resolve()}closeSync(){var e,r;this.throwIfClosed(),(r=(e=this.opts).onClose)==null||r.call(e),this.closed=!0}};function wE(t,e,r,i){let n=()=>{let s=r.shift();return typeof s=="undefined"?null:Object.assign(t.statSync(t.pathUtils.join(e,s)),{name:s})};return new EO(e,n,i)}var IO=ie(require("os"));var eA=class{constructor(e){this.pathUtils=e}async*genTraversePromise(e,{stableSort:r=!1}={}){let i=[e];for(;i.length>0;){let n=i.shift();if((await this.lstatPromise(n)).isDirectory()){let o=await this.readdirPromise(n);if(r)for(let a of o.sort())i.push(this.pathUtils.join(n,a));else throw new Error("Not supported")}else yield n}}async removePromise(e,{recursive:r=!0,maxRetries:i=5}={}){let n;try{n=await this.lstatPromise(e)}catch(s){if(s.code==="ENOENT")return;throw s}if(n.isDirectory()){if(r){let o=await this.readdirPromise(e);await Promise.all(o.map(a=>this.removePromise(this.pathUtils.resolve(e,a))))}let s=0;do try{await this.rmdirPromise(e);break}catch(o){if(o.code==="EBUSY"||o.code==="ENOTEMPTY"){if(i===0)break;await new Promise(a=>setTimeout(a,s*100));continue}else throw o}while(s++{let l;try{[l]=await this.readJsonPromise(i)}catch(c){return Date.now()-s<500}try{return process.kill(l,0),!0}catch(c){return!1}};for(;o===null;)try{o=await this.openPromise(i,"wx")}catch(l){if(l.code==="EEXIST"){if(!await a())try{await this.unlinkPromise(i);continue}catch(c){}if(Date.now()-s<60*1e3)await new Promise(c=>setTimeout(c,n));else throw new Error(`Couldn't acquire a lock in a reasonable time (via ${i})`)}else throw l}await this.writePromise(o,JSON.stringify([process.pid]));try{return await r()}finally{try{await this.closePromise(o),await this.unlinkPromise(i)}catch(l){}}}async readJsonPromise(e){let r=await this.readFilePromise(e,"utf8");try{return JSON.parse(r)}catch(i){throw i.message+=` (in ${e})`,i}}readJsonSync(e){let r=this.readFileSync(e,"utf8");try{return JSON.parse(r)}catch(i){throw i.message+=` (in ${e})`,i}}async writeJsonPromise(e,r){return await this.writeFilePromise(e,`${JSON.stringify(r,null,2)} +`)}writeJsonSync(e,r){return this.writeFileSync(e,`${JSON.stringify(r,null,2)} +`)}async preserveTimePromise(e,r){let i=await this.lstatPromise(e),n=await r();typeof n!="undefined"&&(e=n),this.lutimesPromise?await this.lutimesPromise(e,i.atime,i.mtime):i.isSymbolicLink()||await this.utimesPromise(e,i.atime,i.mtime)}async preserveTimeSync(e,r){let i=this.lstatSync(e),n=r();typeof n!="undefined"&&(e=n),this.lutimesSync?this.lutimesSync(e,i.atime,i.mtime):i.isSymbolicLink()||this.utimesSync(e,i.atime,i.mtime)}},gl=class extends eA{constructor(){super(v)}};function rhe(t){let e=t.match(/\r?\n/g);if(e===null)return IO.EOL;let r=e.filter(n=>n===`\r +`).length,i=e.length-r;return r>i?`\r +`:` +`}function ul(t,e){return e.replace(/\r?\n/g,rhe(t))}var $c=ie(require("fs")),cb=ie(require("stream")),QO=ie(require("util")),ub=ie(require("zlib"));var yO=ie(require("fs"));var Wt=class extends gl{constructor(e=yO.default){super();this.realFs=e,typeof this.realFs.lutimes!="undefined"&&(this.lutimesPromise=this.lutimesPromiseImpl,this.lutimesSync=this.lutimesSyncImpl)}getExtractHint(){return!1}getRealPath(){return Se.root}resolve(e){return v.resolve(e)}async openPromise(e,r,i){return await new Promise((n,s)=>{this.realFs.open(M.fromPortablePath(e),r,i,this.makeCallback(n,s))})}openSync(e,r,i){return this.realFs.openSync(M.fromPortablePath(e),r,i)}async opendirPromise(e,r){return await new Promise((i,n)=>{typeof r!="undefined"?this.realFs.opendir(M.fromPortablePath(e),r,this.makeCallback(i,n)):this.realFs.opendir(M.fromPortablePath(e),this.makeCallback(i,n))}).then(i=>Object.defineProperty(i,"path",{value:e,configurable:!0,writable:!0}))}opendirSync(e,r){let i=typeof r!="undefined"?this.realFs.opendirSync(M.fromPortablePath(e),r):this.realFs.opendirSync(M.fromPortablePath(e));return Object.defineProperty(i,"path",{value:e,configurable:!0,writable:!0})}async readPromise(e,r,i=0,n=0,s=-1){return await new Promise((o,a)=>{this.realFs.read(e,r,i,n,s,(l,c)=>{l?a(l):o(c)})})}readSync(e,r,i,n,s){return this.realFs.readSync(e,r,i,n,s)}async writePromise(e,r,i,n,s){return await new Promise((o,a)=>typeof r=="string"?this.realFs.write(e,r,i,this.makeCallback(o,a)):this.realFs.write(e,r,i,n,s,this.makeCallback(o,a)))}writeSync(e,r,i,n,s){return typeof r=="string"?this.realFs.writeSync(e,r,i):this.realFs.writeSync(e,r,i,n,s)}async closePromise(e){await new Promise((r,i)=>{this.realFs.close(e,this.makeCallback(r,i))})}closeSync(e){this.realFs.closeSync(e)}createReadStream(e,r){let i=e!==null?M.fromPortablePath(e):e;return this.realFs.createReadStream(i,r)}createWriteStream(e,r){let i=e!==null?M.fromPortablePath(e):e;return this.realFs.createWriteStream(i,r)}async realpathPromise(e){return await new Promise((r,i)=>{this.realFs.realpath(M.fromPortablePath(e),{},this.makeCallback(r,i))}).then(r=>M.toPortablePath(r))}realpathSync(e){return M.toPortablePath(this.realFs.realpathSync(M.fromPortablePath(e),{}))}async existsPromise(e){return await new Promise(r=>{this.realFs.exists(M.fromPortablePath(e),r)})}accessSync(e,r){return this.realFs.accessSync(M.fromPortablePath(e),r)}async accessPromise(e,r){return await new Promise((i,n)=>{this.realFs.access(M.fromPortablePath(e),r,this.makeCallback(i,n))})}existsSync(e){return this.realFs.existsSync(M.fromPortablePath(e))}async statPromise(e,r){return await new Promise((i,n)=>{r?this.realFs.stat(M.fromPortablePath(e),r,this.makeCallback(i,n)):this.realFs.stat(M.fromPortablePath(e),this.makeCallback(i,n))})}statSync(e,r){return r?this.realFs.statSync(M.fromPortablePath(e),r):this.realFs.statSync(M.fromPortablePath(e))}async fstatPromise(e,r){return await new Promise((i,n)=>{r?this.realFs.fstat(e,r,this.makeCallback(i,n)):this.realFs.fstat(e,this.makeCallback(i,n))})}fstatSync(e,r){return r?this.realFs.fstatSync(e,r):this.realFs.fstatSync(e)}async lstatPromise(e,r){return await new Promise((i,n)=>{r?this.realFs.lstat(M.fromPortablePath(e),r,this.makeCallback(i,n)):this.realFs.lstat(M.fromPortablePath(e),this.makeCallback(i,n))})}lstatSync(e,r){return r?this.realFs.lstatSync(M.fromPortablePath(e),r):this.realFs.lstatSync(M.fromPortablePath(e))}async chmodPromise(e,r){return await new Promise((i,n)=>{this.realFs.chmod(M.fromPortablePath(e),r,this.makeCallback(i,n))})}chmodSync(e,r){return this.realFs.chmodSync(M.fromPortablePath(e),r)}async chownPromise(e,r,i){return await new Promise((n,s)=>{this.realFs.chown(M.fromPortablePath(e),r,i,this.makeCallback(n,s))})}chownSync(e,r,i){return this.realFs.chownSync(M.fromPortablePath(e),r,i)}async renamePromise(e,r){return await new Promise((i,n)=>{this.realFs.rename(M.fromPortablePath(e),M.fromPortablePath(r),this.makeCallback(i,n))})}renameSync(e,r){return this.realFs.renameSync(M.fromPortablePath(e),M.fromPortablePath(r))}async copyFilePromise(e,r,i=0){return await new Promise((n,s)=>{this.realFs.copyFile(M.fromPortablePath(e),M.fromPortablePath(r),i,this.makeCallback(n,s))})}copyFileSync(e,r,i=0){return this.realFs.copyFileSync(M.fromPortablePath(e),M.fromPortablePath(r),i)}async appendFilePromise(e,r,i){return await new Promise((n,s)=>{let o=typeof e=="string"?M.fromPortablePath(e):e;i?this.realFs.appendFile(o,r,i,this.makeCallback(n,s)):this.realFs.appendFile(o,r,this.makeCallback(n,s))})}appendFileSync(e,r,i){let n=typeof e=="string"?M.fromPortablePath(e):e;i?this.realFs.appendFileSync(n,r,i):this.realFs.appendFileSync(n,r)}async writeFilePromise(e,r,i){return await new Promise((n,s)=>{let o=typeof e=="string"?M.fromPortablePath(e):e;i?this.realFs.writeFile(o,r,i,this.makeCallback(n,s)):this.realFs.writeFile(o,r,this.makeCallback(n,s))})}writeFileSync(e,r,i){let n=typeof e=="string"?M.fromPortablePath(e):e;i?this.realFs.writeFileSync(n,r,i):this.realFs.writeFileSync(n,r)}async unlinkPromise(e){return await new Promise((r,i)=>{this.realFs.unlink(M.fromPortablePath(e),this.makeCallback(r,i))})}unlinkSync(e){return this.realFs.unlinkSync(M.fromPortablePath(e))}async utimesPromise(e,r,i){return await new Promise((n,s)=>{this.realFs.utimes(M.fromPortablePath(e),r,i,this.makeCallback(n,s))})}utimesSync(e,r,i){this.realFs.utimesSync(M.fromPortablePath(e),r,i)}async lutimesPromiseImpl(e,r,i){let n=this.realFs.lutimes;if(typeof n=="undefined")throw th("unavailable Node binding",`lutimes '${e}'`);return await new Promise((s,o)=>{n.call(this.realFs,M.fromPortablePath(e),r,i,this.makeCallback(s,o))})}lutimesSyncImpl(e,r,i){let n=this.realFs.lutimesSync;if(typeof n=="undefined")throw th("unavailable Node binding",`lutimes '${e}'`);n.call(this.realFs,M.fromPortablePath(e),r,i)}async mkdirPromise(e,r){return await new Promise((i,n)=>{this.realFs.mkdir(M.fromPortablePath(e),r,this.makeCallback(i,n))})}mkdirSync(e,r){return this.realFs.mkdirSync(M.fromPortablePath(e),r)}async rmdirPromise(e,r){return await new Promise((i,n)=>{r?this.realFs.rmdir(M.fromPortablePath(e),r,this.makeCallback(i,n)):this.realFs.rmdir(M.fromPortablePath(e),this.makeCallback(i,n))})}rmdirSync(e,r){return this.realFs.rmdirSync(M.fromPortablePath(e),r)}async linkPromise(e,r){return await new Promise((i,n)=>{this.realFs.link(M.fromPortablePath(e),M.fromPortablePath(r),this.makeCallback(i,n))})}linkSync(e,r){return this.realFs.linkSync(M.fromPortablePath(e),M.fromPortablePath(r))}async symlinkPromise(e,r,i){return await new Promise((n,s)=>{this.realFs.symlink(M.fromPortablePath(e.replace(/\/+$/,"")),M.fromPortablePath(r),i,this.makeCallback(n,s))})}symlinkSync(e,r,i){return this.realFs.symlinkSync(M.fromPortablePath(e.replace(/\/+$/,"")),M.fromPortablePath(r),i)}async readFilePromise(e,r){return await new Promise((i,n)=>{let s=typeof e=="string"?M.fromPortablePath(e):e;this.realFs.readFile(s,r,this.makeCallback(i,n))})}readFileSync(e,r){let i=typeof e=="string"?M.fromPortablePath(e):e;return this.realFs.readFileSync(i,r)}async readdirPromise(e,r){return await new Promise((i,n)=>{(r==null?void 0:r.withFileTypes)?this.realFs.readdir(M.fromPortablePath(e),{withFileTypes:!0},this.makeCallback(i,n)):this.realFs.readdir(M.fromPortablePath(e),this.makeCallback(s=>i(s),n))})}readdirSync(e,r){return(r==null?void 0:r.withFileTypes)?this.realFs.readdirSync(M.fromPortablePath(e),{withFileTypes:!0}):this.realFs.readdirSync(M.fromPortablePath(e))}async readlinkPromise(e){return await new Promise((r,i)=>{this.realFs.readlink(M.fromPortablePath(e),this.makeCallback(r,i))}).then(r=>M.toPortablePath(r))}readlinkSync(e){return M.toPortablePath(this.realFs.readlinkSync(M.fromPortablePath(e)))}async truncatePromise(e,r){return await new Promise((i,n)=>{this.realFs.truncate(M.fromPortablePath(e),r,this.makeCallback(i,n))})}truncateSync(e,r){return this.realFs.truncateSync(M.fromPortablePath(e),r)}watch(e,r,i){return this.realFs.watch(M.fromPortablePath(e),r,i)}watchFile(e,r,i){return this.realFs.watchFile(M.fromPortablePath(e),r,i)}unwatchFile(e,r){return this.realFs.unwatchFile(M.fromPortablePath(e),r)}makeCallback(e,r){return(i,n)=>{i?r(i):e(n)}}};var wO=ie(require("events"));var fl;(function(r){r.Change="change",r.Stop="stop"})(fl||(fl={}));var hl;(function(i){i.Ready="ready",i.Running="running",i.Stopped="stopped"})(hl||(hl={}));function BO(t,e){if(t!==e)throw new Error(`Invalid StatWatcher status: expected '${e}', got '${t}'`)}var ih=class extends wO.EventEmitter{constructor(e,r,{bigint:i=!1}={}){super();this.status=hl.Ready;this.changeListeners=new Map;this.startTimeout=null;this.fakeFs=e,this.path=r,this.bigint=i,this.lastStats=this.stat()}static create(e,r,i){let n=new ih(e,r,i);return n.start(),n}start(){BO(this.status,hl.Ready),this.status=hl.Running,this.startTimeout=setTimeout(()=>{this.startTimeout=null,this.fakeFs.existsSync(this.path)||this.emit(fl.Change,this.lastStats,this.lastStats)},3)}stop(){BO(this.status,hl.Running),this.status=hl.Stopped,this.startTimeout!==null&&(clearTimeout(this.startTimeout),this.startTimeout=null),this.emit(fl.Stop)}stat(){try{return this.fakeFs.statSync(this.path,{bigint:this.bigint})}catch(e){let r=this.bigint?new Xf:new Za;return pE(r)}}makeInterval(e){let r=setInterval(()=>{let i=this.stat(),n=this.lastStats;nb(i,n)||(this.lastStats=i,this.emit(fl.Change,i,n))},e.interval);return e.persistent?r:r.unref()}registerChangeListener(e,r){this.addListener(fl.Change,e),this.changeListeners.set(e,this.makeInterval(r))}unregisterChangeListener(e){this.removeListener(fl.Change,e);let r=this.changeListeners.get(e);typeof r!="undefined"&&clearInterval(r),this.changeListeners.delete(e)}unregisterAllChangeListeners(){for(let e of this.changeListeners.keys())this.unregisterChangeListener(e)}hasChangeListeners(){return this.changeListeners.size>0}ref(){for(let e of this.changeListeners.values())e.ref();return this}unref(){for(let e of this.changeListeners.values())e.unref();return this}};var BE=new WeakMap;function QE(t,e,r,i){let n,s,o,a;switch(typeof r){case"function":n=!1,s=!0,o=5007,a=r;break;default:({bigint:n=!1,persistent:s=!0,interval:o=5007}=r),a=i;break}let l=BE.get(t);typeof l=="undefined"&&BE.set(t,l=new Map);let c=l.get(e);return typeof c=="undefined"&&(c=ih.create(t,e,{bigint:n}),l.set(e,c)),c.registerChangeListener(a,{persistent:s,interval:o}),c}function nh(t,e,r){let i=BE.get(t);if(typeof i=="undefined")return;let n=i.get(e);typeof n!="undefined"&&(typeof r=="undefined"?n.unregisterAllChangeListeners():n.unregisterChangeListener(r),n.hasChangeListeners()||(n.stop(),i.delete(e)))}function sh(t){let e=BE.get(t);if(typeof e!="undefined")for(let r of e.keys())nh(t,r)}var pl="mixed";function ihe(t){if(typeof t=="string"&&String(+t)===t)return+t;if(Number.isFinite(t))return t<0?Date.now()/1e3:t;if((0,QO.isDate)(t))return t.getTime()/1e3;throw new Error("Invalid time")}function bO(){return Buffer.from([80,75,5,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0])}var Jr=class extends gl{constructor(e,r){super();this.lzSource=null;this.listings=new Map;this.entries=new Map;this.fileSources=new Map;this.fds=new Map;this.nextFd=0;this.ready=!1;this.readOnly=!1;this.libzip=r.libzip;let i=r;if(this.level=typeof i.level!="undefined"?i.level:pl,e!=null||(e=bO()),typeof e=="string"){let{baseFs:o=new Wt}=i;this.baseFs=o,this.path=e}else this.path=null,this.baseFs=null;if(r.stats)this.stats=r.stats;else if(typeof e=="string")try{this.stats=this.baseFs.statSync(e)}catch(o){if(o.code==="ENOENT"&&i.create)this.stats=Zf();else throw o}else this.stats=Zf();let n=this.libzip.malloc(4);try{let o=0;if(typeof e=="string"&&i.create&&(o|=this.libzip.ZIP_CREATE|this.libzip.ZIP_TRUNCATE),r.readOnly&&(o|=this.libzip.ZIP_RDONLY,this.readOnly=!0),typeof e=="string")this.zip=this.libzip.open(M.fromPortablePath(e),o,n);else{let a=this.allocateUnattachedSource(e);try{this.zip=this.libzip.openFromSource(a,o,n),this.lzSource=a}catch(l){throw this.libzip.source.free(a),l}}if(this.zip===0){let a=this.libzip.struct.errorS();throw this.libzip.error.initWithCode(a,this.libzip.getValue(n,"i32")),this.makeLibzipError(a)}}finally{this.libzip.free(n)}this.listings.set(Se.root,new Set);let s=this.libzip.getNumEntries(this.zip,0);for(let o=0;oe)throw new Error("Overread");let n=this.libzip.HEAPU8.subarray(r,r+e);return Buffer.from(n)}finally{this.libzip.free(r)}}finally{this.libzip.source.close(this.lzSource),this.libzip.source.free(this.lzSource),this.ready=!1}}prepareClose(){if(!this.ready)throw IE("archive closed, close");sh(this)}saveAndClose(){if(!this.path||!this.baseFs)throw new Error("ZipFS cannot be saved and must be discarded when loaded from a buffer");if(this.prepareClose(),this.readOnly){this.discardAndClose();return}let e=this.baseFs.existsSync(this.path)||this.stats.mode===_f?void 0:this.stats.mode;if(this.entries.size===0)this.discardAndClose(),this.baseFs.writeFileSync(this.path,bO(),{mode:e});else{if(this.libzip.close(this.zip)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));typeof e!="undefined"&&this.baseFs.chmodSync(this.path,e)}this.ready=!1}discardAndClose(){this.prepareClose(),this.libzip.discard(this.zip),this.ready=!1}resolve(e){return v.resolve(Se.root,e)}async openPromise(e,r,i){return this.openSync(e,r,i)}openSync(e,r,i){let n=this.nextFd++;return this.fds.set(n,{cursor:0,p:e}),n}hasOpenFileHandles(){return!!this.fds.size}async opendirPromise(e,r){return this.opendirSync(e,r)}opendirSync(e,r={}){let i=this.resolveFilename(`opendir '${e}'`,e);if(!this.entries.has(i)&&!this.listings.has(i))throw bs(`opendir '${e}'`);let n=this.listings.get(i);if(!n)throw eo(`opendir '${e}'`);let s=[...n],o=this.openSync(i,"r");return wE(this,i,s,{onClose:()=>{this.closeSync(o)}})}async readPromise(e,r,i,n,s){return this.readSync(e,r,i,n,s)}readSync(e,r,i=0,n=r.byteLength,s=-1){let o=this.fds.get(e);if(typeof o=="undefined")throw Hi("read");let a;s===-1||s===null?a=o.cursor:a=s;let l=this.readFileSync(o.p);l.copy(r,i,a,a+n);let c=Math.max(0,Math.min(l.length-a,n));return(s===-1||s===null)&&(o.cursor+=c),c}async writePromise(e,r,i,n,s){return typeof r=="string"?this.writeSync(e,r,s):this.writeSync(e,r,i,n,s)}writeSync(e,r,i,n,s){throw typeof this.fds.get(e)=="undefined"?Hi("read"):new Error("Unimplemented")}async closePromise(e){return this.closeSync(e)}closeSync(e){if(typeof this.fds.get(e)=="undefined")throw Hi("read");this.fds.delete(e)}createReadStream(e,{encoding:r}={}){if(e===null)throw new Error("Unimplemented");let i=this.openSync(e,"r"),n=Object.assign(new cb.PassThrough({emitClose:!0,autoDestroy:!0,destroy:(o,a)=>{clearImmediate(s),this.closeSync(i),a(o)}}),{close(){n.destroy()},bytesRead:0,path:e}),s=setImmediate(async()=>{try{let o=await this.readFilePromise(e,r);n.bytesRead=o.length,n.end(o)}catch(o){n.destroy(o)}});return n}createWriteStream(e,{encoding:r}={}){if(this.readOnly)throw ln(`open '${e}'`);if(e===null)throw new Error("Unimplemented");let i=[],n=this.openSync(e,"w"),s=Object.assign(new cb.PassThrough({autoDestroy:!0,emitClose:!0,destroy:(o,a)=>{try{o?a(o):(this.writeFileSync(e,Buffer.concat(i),r),a(null))}catch(l){a(l)}finally{this.closeSync(n)}}}),{bytesWritten:0,path:e,close(){s.destroy()}});return s.on("data",o=>{let a=Buffer.from(o);s.bytesWritten+=a.length,i.push(a)}),s}async realpathPromise(e){return this.realpathSync(e)}realpathSync(e){let r=this.resolveFilename(`lstat '${e}'`,e);if(!this.entries.has(r)&&!this.listings.has(r))throw bs(`lstat '${e}'`);return r}async existsPromise(e){return this.existsSync(e)}existsSync(e){if(!this.ready)throw IE(`archive closed, existsSync '${e}'`);if(this.symlinkCount===0){let i=v.resolve(Se.root,e);return this.entries.has(i)||this.listings.has(i)}let r;try{r=this.resolveFilename(`stat '${e}'`,e)}catch(i){return!1}return this.entries.has(r)||this.listings.has(r)}async accessPromise(e,r){return this.accessSync(e,r)}accessSync(e,r=$c.constants.F_OK){let i=this.resolveFilename(`access '${e}'`,e);if(!this.entries.has(i)&&!this.listings.has(i))throw bs(`access '${e}'`);if(this.readOnly&&r&$c.constants.W_OK)throw ln(`access '${e}'`)}async statPromise(e,r){return this.statSync(e,r)}statSync(e,r){let i=this.resolveFilename(`stat '${e}'`,e);if(!this.entries.has(i)&&!this.listings.has(i))throw bs(`stat '${e}'`);if(e[e.length-1]==="/"&&!this.listings.has(i))throw eo(`stat '${e}'`);return this.statImpl(`stat '${e}'`,i,r)}async fstatPromise(e,r){return this.fstatSync(e,r)}fstatSync(e,r){let i=this.fds.get(e);if(typeof i=="undefined")throw Hi("fstatSync");let{p:n}=i,s=this.resolveFilename(`stat '${n}'`,n);if(!this.entries.has(s)&&!this.listings.has(s))throw bs(`stat '${n}'`);if(n[n.length-1]==="/"&&!this.listings.has(s))throw eo(`stat '${n}'`);return this.statImpl(`fstat '${n}'`,s,r)}async lstatPromise(e,r){return this.lstatSync(e,r)}lstatSync(e,r){let i=this.resolveFilename(`lstat '${e}'`,e,!1);if(!this.entries.has(i)&&!this.listings.has(i))throw bs(`lstat '${e}'`);if(e[e.length-1]==="/"&&!this.listings.has(i))throw eo(`lstat '${e}'`);return this.statImpl(`lstat '${e}'`,i,r)}statImpl(e,r,i={}){let n=this.entries.get(r);if(typeof n!="undefined"){let s=this.libzip.struct.statS();if(this.libzip.statIndex(this.zip,n,0,0,s)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));let a=this.stats.uid,l=this.stats.gid,c=this.libzip.struct.statSize(s)>>>0,u=512,g=Math.ceil(c/u),f=(this.libzip.struct.statMtime(s)>>>0)*1e3,h=f,p=f,d=f,m=new Date(h),I=new Date(p),B=new Date(d),b=new Date(f),R=this.listings.has(r)?zo:this.isSymbolicLink(n)?_o:Vo,H=R===zo?493:420,L=R|this.getUnixMode(n,H)&511,K=this.libzip.struct.statCrc(s),J=Object.assign(new Za,{uid:a,gid:l,size:c,blksize:u,blocks:g,atime:m,birthtime:I,ctime:B,mtime:b,atimeMs:h,birthtimeMs:p,ctimeMs:d,mtimeMs:f,mode:L,crc:K});return i.bigint===!0?dE(J):J}if(this.listings.has(r)){let s=this.stats.uid,o=this.stats.gid,a=0,l=512,c=0,u=this.stats.mtimeMs,g=this.stats.mtimeMs,f=this.stats.mtimeMs,h=this.stats.mtimeMs,p=new Date(u),d=new Date(g),m=new Date(f),I=new Date(h),B=zo|493,b=0,R=Object.assign(new Za,{uid:s,gid:o,size:a,blksize:l,blocks:c,atime:p,birthtime:d,ctime:m,mtime:I,atimeMs:u,birthtimeMs:g,ctimeMs:f,mtimeMs:h,mode:B,crc:b});return i.bigint===!0?dE(R):R}throw new Error("Unreachable")}getUnixMode(e,r){if(this.libzip.file.getExternalAttributes(this.zip,e,0,0,this.libzip.uint08S,this.libzip.uint32S)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));return this.libzip.getValue(this.libzip.uint08S,"i8")>>>0!==this.libzip.ZIP_OPSYS_UNIX?r:this.libzip.getValue(this.libzip.uint32S,"i32")>>>16}registerListing(e){let r=this.listings.get(e);if(r)return r;let i=this.registerListing(v.dirname(e));return r=new Set,i.add(v.basename(e)),this.listings.set(e,r),r}registerEntry(e,r){this.registerListing(v.dirname(e)).add(v.basename(e)),this.entries.set(e,r)}unregisterListing(e){this.listings.delete(e);let r=this.listings.get(v.dirname(e));r==null||r.delete(v.basename(e))}unregisterEntry(e){this.unregisterListing(e);let r=this.entries.get(e);this.entries.delete(e),typeof r!="undefined"&&(this.fileSources.delete(r),this.isSymbolicLink(r)&&this.symlinkCount--)}deleteEntry(e,r){if(this.unregisterEntry(e),this.libzip.delete(this.zip,r)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip))}resolveFilename(e,r,i=!0){if(!this.ready)throw IE(`archive closed, ${e}`);let n=v.resolve(Se.root,r);if(n==="/")return Se.root;let s=this.entries.get(n);if(i&&s!==void 0)if(this.symlinkCount!==0&&this.isSymbolicLink(s)){let o=this.getFileSource(s).toString();return this.resolveFilename(e,v.resolve(v.dirname(n),o),!0)}else return n;for(;;){let o=this.resolveFilename(e,v.dirname(n),!0),a=this.listings.has(o),l=this.entries.has(o);if(!a&&!l)throw bs(e);if(!a)throw eo(e);if(n=v.resolve(o,v.basename(n)),!i||this.symlinkCount===0)break;let c=this.libzip.name.locate(this.zip,n.slice(1));if(c===-1)break;if(this.isSymbolicLink(c)){let u=this.getFileSource(c).toString();n=v.resolve(v.dirname(n),u)}else break}return n}allocateBuffer(e){Buffer.isBuffer(e)||(e=Buffer.from(e));let r=this.libzip.malloc(e.byteLength);if(!r)throw new Error("Couldn't allocate enough memory");return new Uint8Array(this.libzip.HEAPU8.buffer,r,e.byteLength).set(e),{buffer:r,byteLength:e.byteLength}}allocateUnattachedSource(e){let r=this.libzip.struct.errorS(),{buffer:i,byteLength:n}=this.allocateBuffer(e),s=this.libzip.source.fromUnattachedBuffer(i,n,0,!0,r);if(s===0)throw this.libzip.free(r),this.makeLibzipError(r);return s}allocateSource(e){let{buffer:r,byteLength:i}=this.allocateBuffer(e),n=this.libzip.source.fromBuffer(this.zip,r,i,0,!0);if(n===0)throw this.libzip.free(r),this.makeLibzipError(this.libzip.getError(this.zip));return n}setFileSource(e,r){let i=Buffer.isBuffer(r)?r:Buffer.from(r),n=v.relative(Se.root,e),s=this.allocateSource(r);try{let o=this.libzip.file.add(this.zip,n,s,this.libzip.ZIP_FL_OVERWRITE);if(o===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));if(this.level!=="mixed"){let a;if(this.level===0?a=this.libzip.ZIP_CM_STORE:a=this.libzip.ZIP_CM_DEFLATE,this.libzip.file.setCompression(this.zip,o,0,a,this.level)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip))}return this.fileSources.set(o,i),o}catch(o){throw this.libzip.source.free(s),o}}isSymbolicLink(e){if(this.symlinkCount===0)return!1;if(this.libzip.file.getExternalAttributes(this.zip,e,0,0,this.libzip.uint08S,this.libzip.uint32S)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));return this.libzip.getValue(this.libzip.uint08S,"i8")>>>0!==this.libzip.ZIP_OPSYS_UNIX?!1:(this.libzip.getValue(this.libzip.uint32S,"i32")>>>16&kn)===_o}getFileSource(e,r={asyncDecompress:!1}){let i=this.fileSources.get(e);if(typeof i!="undefined")return i;let n=this.libzip.struct.statS();if(this.libzip.statIndex(this.zip,e,0,0,n)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));let o=this.libzip.struct.statCompSize(n),a=this.libzip.struct.statCompMethod(n),l=this.libzip.malloc(o);try{let c=this.libzip.fopenIndex(this.zip,e,0,this.libzip.ZIP_FL_COMPRESSED);if(c===0)throw this.makeLibzipError(this.libzip.getError(this.zip));try{let u=this.libzip.fread(c,l,o,0);if(u===-1)throw this.makeLibzipError(this.libzip.file.getError(c));if(uo)throw new Error("Overread");let g=this.libzip.HEAPU8.subarray(l,l+o),f=Buffer.from(g);if(a===0)return this.fileSources.set(e,f),f;if(r.asyncDecompress)return new Promise((h,p)=>{ub.default.inflateRaw(f,(d,m)=>{d?p(d):(this.fileSources.set(e,m),h(m))})});{let h=ub.default.inflateRawSync(f);return this.fileSources.set(e,h),h}}finally{this.libzip.fclose(c)}}finally{this.libzip.free(l)}}async chmodPromise(e,r){return this.chmodSync(e,r)}chmodSync(e,r){if(this.readOnly)throw ln(`chmod '${e}'`);r&=493;let i=this.resolveFilename(`chmod '${e}'`,e,!1),n=this.entries.get(i);if(typeof n=="undefined")throw new Error(`Assertion failed: The entry should have been registered (${i})`);let o=this.getUnixMode(n,Vo|0)&~511|r;if(this.libzip.file.setExternalAttributes(this.zip,n,0,0,this.libzip.ZIP_OPSYS_UNIX,o<<16)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip))}async chownPromise(e,r,i){return this.chownSync(e,r,i)}chownSync(e,r,i){throw new Error("Unimplemented")}async renamePromise(e,r){return this.renameSync(e,r)}renameSync(e,r){throw new Error("Unimplemented")}async copyFilePromise(e,r,i){let{indexSource:n,indexDest:s,resolvedDestP:o}=this.prepareCopyFile(e,r,i),a=await this.getFileSource(n,{asyncDecompress:!0}),l=this.setFileSource(o,a);l!==s&&this.registerEntry(o,l)}copyFileSync(e,r,i=0){let{indexSource:n,indexDest:s,resolvedDestP:o}=this.prepareCopyFile(e,r,i),a=this.getFileSource(n),l=this.setFileSource(o,a);l!==s&&this.registerEntry(o,l)}prepareCopyFile(e,r,i=0){if(this.readOnly)throw ln(`copyfile '${e} -> '${r}'`);if((i&$c.constants.COPYFILE_FICLONE_FORCE)!=0)throw th("unsupported clone operation",`copyfile '${e}' -> ${r}'`);let n=this.resolveFilename(`copyfile '${e} -> ${r}'`,e),s=this.entries.get(n);if(typeof s=="undefined")throw $a(`copyfile '${e}' -> '${r}'`);let o=this.resolveFilename(`copyfile '${e}' -> ${r}'`,r),a=this.entries.get(o);if((i&($c.constants.COPYFILE_EXCL|$c.constants.COPYFILE_FICLONE_FORCE))!=0&&typeof a!="undefined")throw yE(`copyfile '${e}' -> '${r}'`);return{indexSource:s,resolvedDestP:o,indexDest:a}}async appendFilePromise(e,r,i){if(this.readOnly)throw ln(`open '${e}'`);return typeof i=="undefined"?i={flag:"a"}:typeof i=="string"?i={flag:"a",encoding:i}:typeof i.flag=="undefined"&&(i=P({flag:"a"},i)),this.writeFilePromise(e,r,i)}appendFileSync(e,r,i={}){if(this.readOnly)throw ln(`open '${e}'`);return typeof i=="undefined"?i={flag:"a"}:typeof i=="string"?i={flag:"a",encoding:i}:typeof i.flag=="undefined"&&(i=P({flag:"a"},i)),this.writeFileSync(e,r,i)}fdToPath(e,r){var n;let i=(n=this.fds.get(e))==null?void 0:n.p;if(typeof i=="undefined")throw Hi(r);return i}async writeFilePromise(e,r,i){let{encoding:n,mode:s,index:o,resolvedP:a}=this.prepareWriteFile(e,i);o!==void 0&&typeof i=="object"&&i.flag&&i.flag.includes("a")&&(r=Buffer.concat([await this.getFileSource(o,{asyncDecompress:!0}),Buffer.from(r)])),n!==null&&(r=r.toString(n));let l=this.setFileSource(a,r);l!==o&&this.registerEntry(a,l),s!==null&&await this.chmodPromise(a,s)}writeFileSync(e,r,i){let{encoding:n,mode:s,index:o,resolvedP:a}=this.prepareWriteFile(e,i);o!==void 0&&typeof i=="object"&&i.flag&&i.flag.includes("a")&&(r=Buffer.concat([this.getFileSource(o),Buffer.from(r)])),n!==null&&(r=r.toString(n));let l=this.setFileSource(a,r);l!==o&&this.registerEntry(a,l),s!==null&&this.chmodSync(a,s)}prepareWriteFile(e,r){if(typeof e=="number"&&(e=this.fdToPath(e,"read")),this.readOnly)throw ln(`open '${e}'`);let i=this.resolveFilename(`open '${e}'`,e);if(this.listings.has(i))throw rh(`open '${e}'`);let n=null,s=null;typeof r=="string"?n=r:typeof r=="object"&&({encoding:n=null,mode:s=null}=r);let o=this.entries.get(i);return{encoding:n,mode:s,resolvedP:i,index:o}}async unlinkPromise(e){return this.unlinkSync(e)}unlinkSync(e){if(this.readOnly)throw ln(`unlink '${e}'`);let r=this.resolveFilename(`unlink '${e}'`,e);if(this.listings.has(r))throw rh(`unlink '${e}'`);let i=this.entries.get(r);if(typeof i=="undefined")throw $a(`unlink '${e}'`);this.deleteEntry(r,i)}async utimesPromise(e,r,i){return this.utimesSync(e,r,i)}utimesSync(e,r,i){if(this.readOnly)throw ln(`utimes '${e}'`);let n=this.resolveFilename(`utimes '${e}'`,e);this.utimesImpl(n,i)}async lutimesPromise(e,r,i){return this.lutimesSync(e,r,i)}lutimesSync(e,r,i){if(this.readOnly)throw ln(`lutimes '${e}'`);let n=this.resolveFilename(`utimes '${e}'`,e,!1);this.utimesImpl(n,i)}utimesImpl(e,r){this.listings.has(e)&&(this.entries.has(e)||this.hydrateDirectory(e));let i=this.entries.get(e);if(i===void 0)throw new Error("Unreachable");if(this.libzip.file.setMtime(this.zip,i,0,ihe(r),0)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip))}async mkdirPromise(e,r){return this.mkdirSync(e,r)}mkdirSync(e,{mode:r=493,recursive:i=!1}={}){if(i){this.mkdirpSync(e,{chmod:r});return}if(this.readOnly)throw ln(`mkdir '${e}'`);let n=this.resolveFilename(`mkdir '${e}'`,e);if(this.entries.has(n)||this.listings.has(n))throw yE(`mkdir '${e}'`);this.hydrateDirectory(n),this.chmodSync(n,r)}async rmdirPromise(e,r){return this.rmdirSync(e,r)}rmdirSync(e,{recursive:r=!1}={}){if(this.readOnly)throw ln(`rmdir '${e}'`);if(r){this.removeSync(e);return}let i=this.resolveFilename(`rmdir '${e}'`,e),n=this.listings.get(i);if(!n)throw eo(`rmdir '${e}'`);if(n.size>0)throw dO(`rmdir '${e}'`);let s=this.entries.get(i);if(typeof s=="undefined")throw $a(`rmdir '${e}'`);this.deleteEntry(e,s)}hydrateDirectory(e){let r=this.libzip.dir.add(this.zip,v.relative(Se.root,e));if(r===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));return this.registerListing(e),this.registerEntry(e,r),r}async linkPromise(e,r){return this.linkSync(e,r)}linkSync(e,r){throw CO(`link '${e}' -> '${r}'`)}async symlinkPromise(e,r){return this.symlinkSync(e,r)}symlinkSync(e,r){if(this.readOnly)throw ln(`symlink '${e}' -> '${r}'`);let i=this.resolveFilename(`symlink '${e}' -> '${r}'`,r);if(this.listings.has(i))throw rh(`symlink '${e}' -> '${r}'`);if(this.entries.has(i))throw yE(`symlink '${e}' -> '${r}'`);let n=this.setFileSource(i,e);if(this.registerEntry(i,n),this.libzip.file.setExternalAttributes(this.zip,n,0,0,this.libzip.ZIP_OPSYS_UNIX,(_o|511)<<16)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));this.symlinkCount+=1}async readFilePromise(e,r){typeof r=="object"&&(r=r?r.encoding:void 0);let i=await this.readFileBuffer(e,{asyncDecompress:!0});return r?i.toString(r):i}readFileSync(e,r){typeof r=="object"&&(r=r?r.encoding:void 0);let i=this.readFileBuffer(e);return r?i.toString(r):i}readFileBuffer(e,r={asyncDecompress:!1}){typeof e=="number"&&(e=this.fdToPath(e,"read"));let i=this.resolveFilename(`open '${e}'`,e);if(!this.entries.has(i)&&!this.listings.has(i))throw bs(`open '${e}'`);if(e[e.length-1]==="/"&&!this.listings.has(i))throw eo(`open '${e}'`);if(this.listings.has(i))throw rh("read");let n=this.entries.get(i);if(n===void 0)throw new Error("Unreachable");return this.getFileSource(n,r)}async readdirPromise(e,r){return this.readdirSync(e,r)}readdirSync(e,r){let i=this.resolveFilename(`scandir '${e}'`,e);if(!this.entries.has(i)&&!this.listings.has(i))throw bs(`scandir '${e}'`);let n=this.listings.get(i);if(!n)throw eo(`scandir '${e}'`);let s=[...n];return(r==null?void 0:r.withFileTypes)?s.map(o=>Object.assign(this.statImpl("lstat",v.join(e,o)),{name:o})):s}async readlinkPromise(e){let r=this.prepareReadlink(e);return(await this.getFileSource(r,{asyncDecompress:!0})).toString()}readlinkSync(e){let r=this.prepareReadlink(e);return this.getFileSource(r).toString()}prepareReadlink(e){let r=this.resolveFilename(`readlink '${e}'`,e,!1);if(!this.entries.has(r)&&!this.listings.has(r))throw bs(`readlink '${e}'`);if(e[e.length-1]==="/"&&!this.listings.has(r))throw eo(`open '${e}'`);if(this.listings.has(r))throw $a(`readlink '${e}'`);let i=this.entries.get(r);if(i===void 0)throw new Error("Unreachable");if(!this.isSymbolicLink(i))throw $a(`readlink '${e}'`);return i}async truncatePromise(e,r=0){let i=this.resolveFilename(`open '${e}'`,e),n=this.entries.get(i);if(typeof n=="undefined")throw $a(`open '${e}'`);let s=await this.getFileSource(n,{asyncDecompress:!0}),o=Buffer.alloc(r,0);return s.copy(o),await this.writeFilePromise(e,o)}truncateSync(e,r=0){let i=this.resolveFilename(`open '${e}'`,e),n=this.entries.get(i);if(typeof n=="undefined")throw $a(`open '${e}'`);let s=this.getFileSource(n),o=Buffer.alloc(r,0);return s.copy(o),this.writeFileSync(e,o)}watch(e,r,i){let n;switch(typeof r){case"function":case"string":case"undefined":n=!0;break;default:({persistent:n=!0}=r);break}if(!n)return{on:()=>{},close:()=>{}};let s=setInterval(()=>{},24*60*60*1e3);return{on:()=>{},close:()=>{clearInterval(s)}}}watchFile(e,r,i){let n=v.resolve(Se.root,e);return QE(this,n,r,i)}unwatchFile(e,r){let i=v.resolve(Se.root,e);return nh(this,i,r)}};var fi=class extends eA{getExtractHint(e){return this.baseFs.getExtractHint(e)}resolve(e){return this.mapFromBase(this.baseFs.resolve(this.mapToBase(e)))}getRealPath(){return this.mapFromBase(this.baseFs.getRealPath())}async openPromise(e,r,i){return this.baseFs.openPromise(this.mapToBase(e),r,i)}openSync(e,r,i){return this.baseFs.openSync(this.mapToBase(e),r,i)}async opendirPromise(e,r){return Object.assign(await this.baseFs.opendirPromise(this.mapToBase(e),r),{path:e})}opendirSync(e,r){return Object.assign(this.baseFs.opendirSync(this.mapToBase(e),r),{path:e})}async readPromise(e,r,i,n,s){return await this.baseFs.readPromise(e,r,i,n,s)}readSync(e,r,i,n,s){return this.baseFs.readSync(e,r,i,n,s)}async writePromise(e,r,i,n,s){return typeof r=="string"?await this.baseFs.writePromise(e,r,i):await this.baseFs.writePromise(e,r,i,n,s)}writeSync(e,r,i,n,s){return typeof r=="string"?this.baseFs.writeSync(e,r,i):this.baseFs.writeSync(e,r,i,n,s)}async closePromise(e){return this.baseFs.closePromise(e)}closeSync(e){this.baseFs.closeSync(e)}createReadStream(e,r){return this.baseFs.createReadStream(e!==null?this.mapToBase(e):e,r)}createWriteStream(e,r){return this.baseFs.createWriteStream(e!==null?this.mapToBase(e):e,r)}async realpathPromise(e){return this.mapFromBase(await this.baseFs.realpathPromise(this.mapToBase(e)))}realpathSync(e){return this.mapFromBase(this.baseFs.realpathSync(this.mapToBase(e)))}async existsPromise(e){return this.baseFs.existsPromise(this.mapToBase(e))}existsSync(e){return this.baseFs.existsSync(this.mapToBase(e))}accessSync(e,r){return this.baseFs.accessSync(this.mapToBase(e),r)}async accessPromise(e,r){return this.baseFs.accessPromise(this.mapToBase(e),r)}async statPromise(e,r){return this.baseFs.statPromise(this.mapToBase(e),r)}statSync(e,r){return this.baseFs.statSync(this.mapToBase(e),r)}async fstatPromise(e,r){return this.baseFs.fstatPromise(e,r)}fstatSync(e,r){return this.baseFs.fstatSync(e,r)}async lstatPromise(e,r){return this.baseFs.lstatPromise(this.mapToBase(e),r)}lstatSync(e,r){return this.baseFs.lstatSync(this.mapToBase(e),r)}async chmodPromise(e,r){return this.baseFs.chmodPromise(this.mapToBase(e),r)}chmodSync(e,r){return this.baseFs.chmodSync(this.mapToBase(e),r)}async chownPromise(e,r,i){return this.baseFs.chownPromise(this.mapToBase(e),r,i)}chownSync(e,r,i){return this.baseFs.chownSync(this.mapToBase(e),r,i)}async renamePromise(e,r){return this.baseFs.renamePromise(this.mapToBase(e),this.mapToBase(r))}renameSync(e,r){return this.baseFs.renameSync(this.mapToBase(e),this.mapToBase(r))}async copyFilePromise(e,r,i=0){return this.baseFs.copyFilePromise(this.mapToBase(e),this.mapToBase(r),i)}copyFileSync(e,r,i=0){return this.baseFs.copyFileSync(this.mapToBase(e),this.mapToBase(r),i)}async appendFilePromise(e,r,i){return this.baseFs.appendFilePromise(this.fsMapToBase(e),r,i)}appendFileSync(e,r,i){return this.baseFs.appendFileSync(this.fsMapToBase(e),r,i)}async writeFilePromise(e,r,i){return this.baseFs.writeFilePromise(this.fsMapToBase(e),r,i)}writeFileSync(e,r,i){return this.baseFs.writeFileSync(this.fsMapToBase(e),r,i)}async unlinkPromise(e){return this.baseFs.unlinkPromise(this.mapToBase(e))}unlinkSync(e){return this.baseFs.unlinkSync(this.mapToBase(e))}async utimesPromise(e,r,i){return this.baseFs.utimesPromise(this.mapToBase(e),r,i)}utimesSync(e,r,i){return this.baseFs.utimesSync(this.mapToBase(e),r,i)}async mkdirPromise(e,r){return this.baseFs.mkdirPromise(this.mapToBase(e),r)}mkdirSync(e,r){return this.baseFs.mkdirSync(this.mapToBase(e),r)}async rmdirPromise(e,r){return this.baseFs.rmdirPromise(this.mapToBase(e),r)}rmdirSync(e,r){return this.baseFs.rmdirSync(this.mapToBase(e),r)}async linkPromise(e,r){return this.baseFs.linkPromise(this.mapToBase(e),this.mapToBase(r))}linkSync(e,r){return this.baseFs.linkSync(this.mapToBase(e),this.mapToBase(r))}async symlinkPromise(e,r,i){let n=this.mapToBase(r);if(this.pathUtils.isAbsolute(e))return this.baseFs.symlinkPromise(this.mapToBase(e),n,i);let s=this.mapToBase(this.pathUtils.join(this.pathUtils.dirname(r),e)),o=this.baseFs.pathUtils.relative(this.baseFs.pathUtils.dirname(n),s);return this.baseFs.symlinkPromise(o,n,i)}symlinkSync(e,r,i){let n=this.mapToBase(r);if(this.pathUtils.isAbsolute(e))return this.baseFs.symlinkSync(this.mapToBase(e),n,i);let s=this.mapToBase(this.pathUtils.join(this.pathUtils.dirname(r),e)),o=this.baseFs.pathUtils.relative(this.baseFs.pathUtils.dirname(n),s);return this.baseFs.symlinkSync(o,n,i)}async readFilePromise(e,r){return r==="utf8"?this.baseFs.readFilePromise(this.fsMapToBase(e),r):this.baseFs.readFilePromise(this.fsMapToBase(e),r)}readFileSync(e,r){return r==="utf8"?this.baseFs.readFileSync(this.fsMapToBase(e),r):this.baseFs.readFileSync(this.fsMapToBase(e),r)}async readdirPromise(e,r){return this.baseFs.readdirPromise(this.mapToBase(e),r)}readdirSync(e,r){return this.baseFs.readdirSync(this.mapToBase(e),r)}async readlinkPromise(e){return this.mapFromBase(await this.baseFs.readlinkPromise(this.mapToBase(e)))}readlinkSync(e){return this.mapFromBase(this.baseFs.readlinkSync(this.mapToBase(e)))}async truncatePromise(e,r){return this.baseFs.truncatePromise(this.mapToBase(e),r)}truncateSync(e,r){return this.baseFs.truncateSync(this.mapToBase(e),r)}watch(e,r,i){return this.baseFs.watch(this.mapToBase(e),r,i)}watchFile(e,r,i){return this.baseFs.watchFile(this.mapToBase(e),r,i)}unwatchFile(e,r){return this.baseFs.unwatchFile(this.mapToBase(e),r)}fsMapToBase(e){return typeof e=="number"?e:this.mapToBase(e)}};var Xo=class extends fi{constructor(e,{baseFs:r,pathUtils:i}){super(i);this.target=e,this.baseFs=r}getRealPath(){return this.target}getBaseFs(){return this.baseFs}mapFromBase(e){return e}mapToBase(e){return e}};var Ft=class extends fi{constructor(e,{baseFs:r=new Wt}={}){super(v);this.target=this.pathUtils.normalize(e),this.baseFs=r}getRealPath(){return this.pathUtils.resolve(this.baseFs.getRealPath(),this.target)}resolve(e){return this.pathUtils.isAbsolute(e)?v.normalize(e):this.baseFs.resolve(v.join(this.target,e))}mapFromBase(e){return e}mapToBase(e){return this.pathUtils.isAbsolute(e)?e:this.pathUtils.join(this.target,e)}};var vO=Se.root,Zo=class extends fi{constructor(e,{baseFs:r=new Wt}={}){super(v);this.target=this.pathUtils.resolve(Se.root,e),this.baseFs=r}getRealPath(){return this.pathUtils.resolve(this.baseFs.getRealPath(),this.pathUtils.relative(Se.root,this.target))}getTarget(){return this.target}getBaseFs(){return this.baseFs}mapToBase(e){let r=this.pathUtils.normalize(e);if(this.pathUtils.isAbsolute(e))return this.pathUtils.resolve(this.target,this.pathUtils.relative(vO,e));if(r.match(/^\.\.\/?/))throw new Error(`Resolving this path (${e}) would escape the jail`);return this.pathUtils.resolve(this.target,e)}mapFromBase(e){return this.pathUtils.resolve(vO,this.pathUtils.relative(this.target,e))}};var oh=class extends fi{constructor(e,r){super(r);this.instance=null;this.factory=e}get baseFs(){return this.instance||(this.instance=this.factory()),this.instance}set baseFs(e){this.instance=e}mapFromBase(e){return e}mapToBase(e){return e}};var ze=()=>Object.assign(new Error("ENOSYS: unsupported filesystem access"),{code:"ENOSYS"}),gb=class extends eA{constructor(){super(v)}getExtractHint(){throw ze()}getRealPath(){throw ze()}resolve(){throw ze()}async openPromise(){throw ze()}openSync(){throw ze()}async opendirPromise(){throw ze()}opendirSync(){throw ze()}async readPromise(){throw ze()}readSync(){throw ze()}async writePromise(){throw ze()}writeSync(){throw ze()}async closePromise(){throw ze()}closeSync(){throw ze()}createWriteStream(){throw ze()}createReadStream(){throw ze()}async realpathPromise(){throw ze()}realpathSync(){throw ze()}async readdirPromise(){throw ze()}readdirSync(){throw ze()}async existsPromise(e){throw ze()}existsSync(e){throw ze()}async accessPromise(){throw ze()}accessSync(){throw ze()}async statPromise(){throw ze()}statSync(){throw ze()}async fstatPromise(e){throw ze()}fstatSync(e){throw ze()}async lstatPromise(e){throw ze()}lstatSync(e){throw ze()}async chmodPromise(){throw ze()}chmodSync(){throw ze()}async chownPromise(){throw ze()}chownSync(){throw ze()}async mkdirPromise(){throw ze()}mkdirSync(){throw ze()}async rmdirPromise(){throw ze()}rmdirSync(){throw ze()}async linkPromise(){throw ze()}linkSync(){throw ze()}async symlinkPromise(){throw ze()}symlinkSync(){throw ze()}async renamePromise(){throw ze()}renameSync(){throw ze()}async copyFilePromise(){throw ze()}copyFileSync(){throw ze()}async appendFilePromise(){throw ze()}appendFileSync(){throw ze()}async writeFilePromise(){throw ze()}writeFileSync(){throw ze()}async unlinkPromise(){throw ze()}unlinkSync(){throw ze()}async utimesPromise(){throw ze()}utimesSync(){throw ze()}async readFilePromise(){throw ze()}readFileSync(){throw ze()}async readlinkPromise(){throw ze()}readlinkSync(){throw ze()}async truncatePromise(){throw ze()}truncateSync(){throw ze()}watch(){throw ze()}watchFile(){throw ze()}unwatchFile(){throw ze()}},bE=gb;bE.instance=new gb;var ah=class extends fi{constructor(e){super(M);this.baseFs=e}mapFromBase(e){return M.fromPortablePath(e)}mapToBase(e){return M.toPortablePath(e)}};var nhe=/^[0-9]+$/,fb=/^(\/(?:[^/]+\/)*?(?:\$\$virtual|__virtual__))((?:\/((?:[^/]+-)?[a-f0-9]+)(?:\/([^/]+))?)?((?:\/.*)?))$/,she=/^([^/]+-)?[a-f0-9]+$/,Pr=class extends fi{static makeVirtualPath(e,r,i){if(v.basename(e)!=="__virtual__")throw new Error('Assertion failed: Virtual folders must be named "__virtual__"');if(!v.basename(r).match(she))throw new Error("Assertion failed: Virtual components must be ended by an hexadecimal hash");let s=v.relative(v.dirname(e),i).split("/"),o=0;for(;o{let r=t.indexOf(e);if(r<=0)return null;let i=r;for(;r>=0&&(i=r+e.length,t[i]!==v.sep);){if(t[r-1]===v.sep)return null;r=t.indexOf(e,i)}return t.length>i&&t[i]!==v.sep?null:t.slice(0,i)},Jn=class extends gl{constructor({libzip:e,baseFs:r=new Wt,filter:i=null,maxOpenFiles:n=Infinity,readOnlyArchives:s=!1,useCache:o=!0,maxAge:a=5e3,fileExtensions:l=null}){super();this.fdMap=new Map;this.nextFd=3;this.isZip=new Set;this.notZip=new Set;this.realPaths=new Map;this.limitOpenFilesTimeout=null;this.libzipFactory=typeof e!="function"?()=>e:e,this.baseFs=r,this.zipInstances=o?new Map:null,this.filter=i,this.maxOpenFiles=n,this.readOnlyArchives=s,this.maxAge=a,this.fileExtensions=l}static async openPromise(e,r){let i=new Jn(r);try{return await e(i)}finally{i.saveAndClose()}}get libzip(){return typeof this.libzipInstance=="undefined"&&(this.libzipInstance=this.libzipFactory()),this.libzipInstance}getExtractHint(e){return this.baseFs.getExtractHint(e)}getRealPath(){return this.baseFs.getRealPath()}saveAndClose(){if(sh(this),this.zipInstances)for(let[e,{zipFs:r}]of this.zipInstances.entries())r.saveAndClose(),this.zipInstances.delete(e)}discardAndClose(){if(sh(this),this.zipInstances)for(let[e,{zipFs:r}]of this.zipInstances.entries())r.discardAndClose(),this.zipInstances.delete(e)}resolve(e){return this.baseFs.resolve(e)}remapFd(e,r){let i=this.nextFd++|$o;return this.fdMap.set(i,[e,r]),i}async openPromise(e,r,i){return await this.makeCallPromise(e,async()=>await this.baseFs.openPromise(e,r,i),async(n,{subPath:s})=>this.remapFd(n,await n.openPromise(s,r,i)))}openSync(e,r,i){return this.makeCallSync(e,()=>this.baseFs.openSync(e,r,i),(n,{subPath:s})=>this.remapFd(n,n.openSync(s,r,i)))}async opendirPromise(e,r){return await this.makeCallPromise(e,async()=>await this.baseFs.opendirPromise(e,r),async(i,{subPath:n})=>await i.opendirPromise(n,r),{requireSubpath:!1})}opendirSync(e,r){return this.makeCallSync(e,()=>this.baseFs.opendirSync(e,r),(i,{subPath:n})=>i.opendirSync(n,r),{requireSubpath:!1})}async readPromise(e,r,i,n,s){if((e&$o)==0)return await this.baseFs.readPromise(e,r,i,n,s);let o=this.fdMap.get(e);if(typeof o=="undefined")throw Hi("read");let[a,l]=o;return await a.readPromise(l,r,i,n,s)}readSync(e,r,i,n,s){if((e&$o)==0)return this.baseFs.readSync(e,r,i,n,s);let o=this.fdMap.get(e);if(typeof o=="undefined")throw Hi("readSync");let[a,l]=o;return a.readSync(l,r,i,n,s)}async writePromise(e,r,i,n,s){if((e&$o)==0)return typeof r=="string"?await this.baseFs.writePromise(e,r,i):await this.baseFs.writePromise(e,r,i,n,s);let o=this.fdMap.get(e);if(typeof o=="undefined")throw Hi("write");let[a,l]=o;return typeof r=="string"?await a.writePromise(l,r,i):await a.writePromise(l,r,i,n,s)}writeSync(e,r,i,n,s){if((e&$o)==0)return typeof r=="string"?this.baseFs.writeSync(e,r,i):this.baseFs.writeSync(e,r,i,n,s);let o=this.fdMap.get(e);if(typeof o=="undefined")throw Hi("writeSync");let[a,l]=o;return typeof r=="string"?a.writeSync(l,r,i):a.writeSync(l,r,i,n,s)}async closePromise(e){if((e&$o)==0)return await this.baseFs.closePromise(e);let r=this.fdMap.get(e);if(typeof r=="undefined")throw Hi("close");this.fdMap.delete(e);let[i,n]=r;return await i.closePromise(n)}closeSync(e){if((e&$o)==0)return this.baseFs.closeSync(e);let r=this.fdMap.get(e);if(typeof r=="undefined")throw Hi("closeSync");this.fdMap.delete(e);let[i,n]=r;return i.closeSync(n)}createReadStream(e,r){return e===null?this.baseFs.createReadStream(e,r):this.makeCallSync(e,()=>this.baseFs.createReadStream(e,r),(i,{subPath:n})=>i.createReadStream(n,r))}createWriteStream(e,r){return e===null?this.baseFs.createWriteStream(e,r):this.makeCallSync(e,()=>this.baseFs.createWriteStream(e,r),(i,{subPath:n})=>i.createWriteStream(n,r))}async realpathPromise(e){return await this.makeCallPromise(e,async()=>await this.baseFs.realpathPromise(e),async(r,{archivePath:i,subPath:n})=>{let s=this.realPaths.get(i);return typeof s=="undefined"&&(s=await this.baseFs.realpathPromise(i),this.realPaths.set(i,s)),this.pathUtils.join(s,this.pathUtils.relative(Se.root,await r.realpathPromise(n)))})}realpathSync(e){return this.makeCallSync(e,()=>this.baseFs.realpathSync(e),(r,{archivePath:i,subPath:n})=>{let s=this.realPaths.get(i);return typeof s=="undefined"&&(s=this.baseFs.realpathSync(i),this.realPaths.set(i,s)),this.pathUtils.join(s,this.pathUtils.relative(Se.root,r.realpathSync(n)))})}async existsPromise(e){return await this.makeCallPromise(e,async()=>await this.baseFs.existsPromise(e),async(r,{subPath:i})=>await r.existsPromise(i))}existsSync(e){return this.makeCallSync(e,()=>this.baseFs.existsSync(e),(r,{subPath:i})=>r.existsSync(i))}async accessPromise(e,r){return await this.makeCallPromise(e,async()=>await this.baseFs.accessPromise(e,r),async(i,{subPath:n})=>await i.accessPromise(n,r))}accessSync(e,r){return this.makeCallSync(e,()=>this.baseFs.accessSync(e,r),(i,{subPath:n})=>i.accessSync(n,r))}async statPromise(e,r){return await this.makeCallPromise(e,async()=>await this.baseFs.statPromise(e,r),async(i,{subPath:n})=>await i.statPromise(n,r))}statSync(e,r){return this.makeCallSync(e,()=>this.baseFs.statSync(e,r),(i,{subPath:n})=>i.statSync(n,r))}async fstatPromise(e,r){if((e&$o)==0)return this.baseFs.fstatPromise(e,r);let i=this.fdMap.get(e);if(typeof i=="undefined")throw Hi("fstat");let[n,s]=i;return n.fstatPromise(s,r)}fstatSync(e,r){if((e&$o)==0)return this.baseFs.fstatSync(e,r);let i=this.fdMap.get(e);if(typeof i=="undefined")throw Hi("fstatSync");let[n,s]=i;return n.fstatSync(s,r)}async lstatPromise(e,r){return await this.makeCallPromise(e,async()=>await this.baseFs.lstatPromise(e,r),async(i,{subPath:n})=>await i.lstatPromise(n,r))}lstatSync(e,r){return this.makeCallSync(e,()=>this.baseFs.lstatSync(e,r),(i,{subPath:n})=>i.lstatSync(n,r))}async chmodPromise(e,r){return await this.makeCallPromise(e,async()=>await this.baseFs.chmodPromise(e,r),async(i,{subPath:n})=>await i.chmodPromise(n,r))}chmodSync(e,r){return this.makeCallSync(e,()=>this.baseFs.chmodSync(e,r),(i,{subPath:n})=>i.chmodSync(n,r))}async chownPromise(e,r,i){return await this.makeCallPromise(e,async()=>await this.baseFs.chownPromise(e,r,i),async(n,{subPath:s})=>await n.chownPromise(s,r,i))}chownSync(e,r,i){return this.makeCallSync(e,()=>this.baseFs.chownSync(e,r,i),(n,{subPath:s})=>n.chownSync(s,r,i))}async renamePromise(e,r){return await this.makeCallPromise(e,async()=>await this.makeCallPromise(r,async()=>await this.baseFs.renamePromise(e,r),async()=>{throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"})}),async(i,{subPath:n})=>await this.makeCallPromise(r,async()=>{throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"})},async(s,{subPath:o})=>{if(i!==s)throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"});return await i.renamePromise(n,o)}))}renameSync(e,r){return this.makeCallSync(e,()=>this.makeCallSync(r,()=>this.baseFs.renameSync(e,r),()=>{throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"})}),(i,{subPath:n})=>this.makeCallSync(r,()=>{throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"})},(s,{subPath:o})=>{if(i!==s)throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"});return i.renameSync(n,o)}))}async copyFilePromise(e,r,i=0){let n=async(s,o,a,l)=>{if((i&Ah.constants.COPYFILE_FICLONE_FORCE)!=0)throw Object.assign(new Error(`EXDEV: cross-device clone not permitted, copyfile '${o}' -> ${l}'`),{code:"EXDEV"});if(i&Ah.constants.COPYFILE_EXCL&&await this.existsPromise(o))throw Object.assign(new Error(`EEXIST: file already exists, copyfile '${o}' -> '${l}'`),{code:"EEXIST"});let c;try{c=await s.readFilePromise(o)}catch(u){throw Object.assign(new Error(`EINVAL: invalid argument, copyfile '${o}' -> '${l}'`),{code:"EINVAL"})}await a.writeFilePromise(l,c)};return await this.makeCallPromise(e,async()=>await this.makeCallPromise(r,async()=>await this.baseFs.copyFilePromise(e,r,i),async(s,{subPath:o})=>await n(this.baseFs,e,s,o)),async(s,{subPath:o})=>await this.makeCallPromise(r,async()=>await n(s,o,this.baseFs,r),async(a,{subPath:l})=>s!==a?await n(s,o,a,l):await s.copyFilePromise(o,l,i)))}copyFileSync(e,r,i=0){let n=(s,o,a,l)=>{if((i&Ah.constants.COPYFILE_FICLONE_FORCE)!=0)throw Object.assign(new Error(`EXDEV: cross-device clone not permitted, copyfile '${o}' -> ${l}'`),{code:"EXDEV"});if(i&Ah.constants.COPYFILE_EXCL&&this.existsSync(o))throw Object.assign(new Error(`EEXIST: file already exists, copyfile '${o}' -> '${l}'`),{code:"EEXIST"});let c;try{c=s.readFileSync(o)}catch(u){throw Object.assign(new Error(`EINVAL: invalid argument, copyfile '${o}' -> '${l}'`),{code:"EINVAL"})}a.writeFileSync(l,c)};return this.makeCallSync(e,()=>this.makeCallSync(r,()=>this.baseFs.copyFileSync(e,r,i),(s,{subPath:o})=>n(this.baseFs,e,s,o)),(s,{subPath:o})=>this.makeCallSync(r,()=>n(s,o,this.baseFs,r),(a,{subPath:l})=>s!==a?n(s,o,a,l):s.copyFileSync(o,l,i)))}async appendFilePromise(e,r,i){return await this.makeCallPromise(e,async()=>await this.baseFs.appendFilePromise(e,r,i),async(n,{subPath:s})=>await n.appendFilePromise(s,r,i))}appendFileSync(e,r,i){return this.makeCallSync(e,()=>this.baseFs.appendFileSync(e,r,i),(n,{subPath:s})=>n.appendFileSync(s,r,i))}async writeFilePromise(e,r,i){return await this.makeCallPromise(e,async()=>await this.baseFs.writeFilePromise(e,r,i),async(n,{subPath:s})=>await n.writeFilePromise(s,r,i))}writeFileSync(e,r,i){return this.makeCallSync(e,()=>this.baseFs.writeFileSync(e,r,i),(n,{subPath:s})=>n.writeFileSync(s,r,i))}async unlinkPromise(e){return await this.makeCallPromise(e,async()=>await this.baseFs.unlinkPromise(e),async(r,{subPath:i})=>await r.unlinkPromise(i))}unlinkSync(e){return this.makeCallSync(e,()=>this.baseFs.unlinkSync(e),(r,{subPath:i})=>r.unlinkSync(i))}async utimesPromise(e,r,i){return await this.makeCallPromise(e,async()=>await this.baseFs.utimesPromise(e,r,i),async(n,{subPath:s})=>await n.utimesPromise(s,r,i))}utimesSync(e,r,i){return this.makeCallSync(e,()=>this.baseFs.utimesSync(e,r,i),(n,{subPath:s})=>n.utimesSync(s,r,i))}async mkdirPromise(e,r){return await this.makeCallPromise(e,async()=>await this.baseFs.mkdirPromise(e,r),async(i,{subPath:n})=>await i.mkdirPromise(n,r))}mkdirSync(e,r){return this.makeCallSync(e,()=>this.baseFs.mkdirSync(e,r),(i,{subPath:n})=>i.mkdirSync(n,r))}async rmdirPromise(e,r){return await this.makeCallPromise(e,async()=>await this.baseFs.rmdirPromise(e,r),async(i,{subPath:n})=>await i.rmdirPromise(n,r))}rmdirSync(e,r){return this.makeCallSync(e,()=>this.baseFs.rmdirSync(e,r),(i,{subPath:n})=>i.rmdirSync(n,r))}async linkPromise(e,r){return await this.makeCallPromise(r,async()=>await this.baseFs.linkPromise(e,r),async(i,{subPath:n})=>await i.linkPromise(e,n))}linkSync(e,r){return this.makeCallSync(r,()=>this.baseFs.linkSync(e,r),(i,{subPath:n})=>i.linkSync(e,n))}async symlinkPromise(e,r,i){return await this.makeCallPromise(r,async()=>await this.baseFs.symlinkPromise(e,r,i),async(n,{subPath:s})=>await n.symlinkPromise(e,s))}symlinkSync(e,r,i){return this.makeCallSync(r,()=>this.baseFs.symlinkSync(e,r,i),(n,{subPath:s})=>n.symlinkSync(e,s))}async readFilePromise(e,r){return this.makeCallPromise(e,async()=>{switch(r){case"utf8":return await this.baseFs.readFilePromise(e,r);default:return await this.baseFs.readFilePromise(e,r)}},async(i,{subPath:n})=>await i.readFilePromise(n,r))}readFileSync(e,r){return this.makeCallSync(e,()=>{switch(r){case"utf8":return this.baseFs.readFileSync(e,r);default:return this.baseFs.readFileSync(e,r)}},(i,{subPath:n})=>i.readFileSync(n,r))}async readdirPromise(e,r){return await this.makeCallPromise(e,async()=>await this.baseFs.readdirPromise(e,r),async(i,{subPath:n})=>await i.readdirPromise(n,r),{requireSubpath:!1})}readdirSync(e,r){return this.makeCallSync(e,()=>this.baseFs.readdirSync(e,r),(i,{subPath:n})=>i.readdirSync(n,r),{requireSubpath:!1})}async readlinkPromise(e){return await this.makeCallPromise(e,async()=>await this.baseFs.readlinkPromise(e),async(r,{subPath:i})=>await r.readlinkPromise(i))}readlinkSync(e){return this.makeCallSync(e,()=>this.baseFs.readlinkSync(e),(r,{subPath:i})=>r.readlinkSync(i))}async truncatePromise(e,r){return await this.makeCallPromise(e,async()=>await this.baseFs.truncatePromise(e,r),async(i,{subPath:n})=>await i.truncatePromise(n,r))}truncateSync(e,r){return this.makeCallSync(e,()=>this.baseFs.truncateSync(e,r),(i,{subPath:n})=>i.truncateSync(n,r))}watch(e,r,i){return this.makeCallSync(e,()=>this.baseFs.watch(e,r,i),(n,{subPath:s})=>n.watch(s,r,i))}watchFile(e,r,i){return this.makeCallSync(e,()=>this.baseFs.watchFile(e,r,i),()=>QE(this,e,r,i))}unwatchFile(e,r){return this.makeCallSync(e,()=>this.baseFs.unwatchFile(e,r),()=>nh(this,e,r))}async makeCallPromise(e,r,i,{requireSubpath:n=!0}={}){if(typeof e!="string")return await r();let s=this.resolve(e),o=this.findZip(s);return o?n&&o.subPath==="/"?await r():await this.getZipPromise(o.archivePath,async a=>await i(a,o)):await r()}makeCallSync(e,r,i,{requireSubpath:n=!0}={}){if(typeof e!="string")return r();let s=this.resolve(e),o=this.findZip(s);return!o||n&&o.subPath==="/"?r():this.getZipSync(o.archivePath,a=>i(a,o))}findZip(e){if(this.filter&&!this.filter.test(e))return null;let r="";for(;;){let i=e.substr(r.length),n;if(!this.fileExtensions)n=SO(i,".zip");else for(let s of this.fileExtensions)if(n=SO(i,s),n)break;if(!n)return null;if(r=this.pathUtils.join(r,n),this.isZip.has(r)===!1){if(this.notZip.has(r))continue;try{if(!this.baseFs.lstatSync(r).isFile()){this.notZip.add(r);continue}}catch{return null}this.isZip.add(r)}return{archivePath:r,subPath:this.pathUtils.join(Se.root,e.substr(r.length))}}}limitOpenFiles(e){if(this.zipInstances===null)return;let r=Date.now(),i=r+this.maxAge,n=e===null?0:this.zipInstances.size-e;for(let[s,{zipFs:o,expiresAt:a,refCount:l}]of this.zipInstances.entries())if(!(l!==0||o.hasOpenFileHandles())){if(r>=a){o.saveAndClose(),this.zipInstances.delete(s),n-=1;continue}else if(e===null||n<=0){i=a;break}o.saveAndClose(),this.zipInstances.delete(s),n-=1}this.limitOpenFilesTimeout===null&&(e===null&&this.zipInstances.size>0||e!==null)&&(this.limitOpenFilesTimeout=setTimeout(()=>{this.limitOpenFilesTimeout=null,this.limitOpenFiles(null)},i-r).unref())}async getZipPromise(e,r){let i=async()=>({baseFs:this.baseFs,libzip:this.libzip,readOnly:this.readOnlyArchives,stats:await this.baseFs.statPromise(e)});if(this.zipInstances){let n=this.zipInstances.get(e);if(!n){let s=await i();n=this.zipInstances.get(e),n||(n={zipFs:new Jr(e,s),expiresAt:0,refCount:0})}this.zipInstances.delete(e),this.limitOpenFiles(this.maxOpenFiles-1),this.zipInstances.set(e,n),n.expiresAt=Date.now()+this.maxAge,n.refCount+=1;try{return await r(n.zipFs)}finally{n.refCount-=1}}else{let n=new Jr(e,await i());try{return await r(n)}finally{n.saveAndClose()}}}getZipSync(e,r){let i=()=>({baseFs:this.baseFs,libzip:this.libzip,readOnly:this.readOnlyArchives,stats:this.baseFs.statSync(e)});if(this.zipInstances){let n=this.zipInstances.get(e);return n||(n={zipFs:new Jr(e,i()),expiresAt:0,refCount:0}),this.zipInstances.delete(e),this.limitOpenFiles(this.maxOpenFiles-1),this.zipInstances.set(e,n),n.expiresAt=Date.now()+this.maxAge,r(n.zipFs)}else{let n=new Jr(e,i());try{return r(n)}finally{n.saveAndClose()}}}};var lh=ie(require("util"));var vE=ie(require("url"));var hb=class extends fi{constructor(e){super(M);this.baseFs=e}mapFromBase(e){return e}mapToBase(e){return e instanceof vE.URL?(0,vE.fileURLToPath)(e):e}};var ohe=new Set(["accessSync","appendFileSync","createReadStream","createWriteStream","chmodSync","chownSync","closeSync","copyFileSync","linkSync","lstatSync","fstatSync","lutimesSync","mkdirSync","openSync","opendirSync","readSync","readlinkSync","readFileSync","readdirSync","readlinkSync","realpathSync","renameSync","rmdirSync","statSync","symlinkSync","truncateSync","unlinkSync","unwatchFile","utimesSync","watch","watchFile","writeFileSync","writeSync"]),xO=new Set(["accessPromise","appendFilePromise","chmodPromise","chownPromise","closePromise","copyFilePromise","linkPromise","fstatPromise","lstatPromise","lutimesPromise","mkdirPromise","openPromise","opendirPromise","readdirPromise","realpathPromise","readFilePromise","readdirPromise","readlinkPromise","renamePromise","rmdirPromise","statPromise","symlinkPromise","truncatePromise","unlinkPromise","utimesPromise","writeFilePromise","writeSync"]),ahe=new Set(["appendFilePromise","chmodPromise","chownPromise","closePromise","readPromise","readFilePromise","statPromise","truncatePromise","utimesPromise","writePromise","writeFilePromise"]);function pb(t,e){e=new hb(e);let r=(i,n,s)=>{let o=i[n];i[n]=s,typeof(o==null?void 0:o[lh.promisify.custom])!="undefined"&&(s[lh.promisify.custom]=o[lh.promisify.custom])};{r(t,"exists",(i,...n)=>{let o=typeof n[n.length-1]=="function"?n.pop():()=>{};process.nextTick(()=>{e.existsPromise(i).then(a=>{o(a)},()=>{o(!1)})})}),r(t,"read",(i,n,...s)=>{let a=typeof s[s.length-1]=="function"?s.pop():()=>{};process.nextTick(()=>{e.readPromise(i,n,...s).then(l=>{a(null,l,n)},l=>{a(l,0,n)})})});for(let i of xO){let n=i.replace(/Promise$/,"");if(typeof t[n]=="undefined")continue;let s=e[i];if(typeof s=="undefined")continue;r(t,n,(...a)=>{let c=typeof a[a.length-1]=="function"?a.pop():()=>{};process.nextTick(()=>{s.apply(e,a).then(u=>{c(null,u)},u=>{c(u)})})})}t.realpath.native=t.realpath}{r(t,"existsSync",i=>{try{return e.existsSync(i)}catch(n){return!1}});for(let i of ohe){let n=i;if(typeof t[n]=="undefined")continue;let s=e[i];typeof s!="undefined"&&r(t,n,s.bind(e))}t.realpathSync.native=t.realpathSync}{let i=process.emitWarning;process.emitWarning=()=>{};let n;try{n=t.promises}finally{process.emitWarning=i}if(typeof n!="undefined"){for(let o of xO){let a=o.replace(/Promise$/,"");if(typeof n[a]=="undefined")continue;let l=e[o];typeof l!="undefined"&&o!=="open"&&r(n,a,l.bind(e))}class s{constructor(a){this.fd=a}}for(let o of ahe){let a=o.replace(/Promise$/,""),l=e[o];typeof l!="undefined"&&r(s.prototype,a,function(...c){return l.call(e,this.fd,...c)})}r(n,"open",async(...o)=>{let a=await e.openPromise(...o);return new s(a)})}}t.read[lh.promisify.custom]=async(i,n,...s)=>({bytesRead:await e.readPromise(i,n,...s),buffer:n})}function SE(t,e){let r=Object.create(t);return pb(r,e),r}var kO=ie(require("os"));function PO(t){let e=M.toPortablePath(kO.default.tmpdir()),r=Math.ceil(Math.random()*4294967296).toString(16).padStart(8,"0");return v.join(e,`${t}${r}`)}var vs=new Set,DO=!1;function RO(){DO||(DO=!0,process.once("exit",()=>{T.rmtempSync()}))}var T=Object.assign(new Wt,{detachTemp(t){vs.delete(t)},mktempSync(t){for(RO();;){let e=PO("xfs-");try{this.mkdirSync(e)}catch(i){if(i.code==="EEXIST")continue;throw i}let r=this.realpathSync(e);if(vs.add(r),typeof t!="undefined")try{return t(r)}finally{if(vs.has(r)){vs.delete(r);try{this.removeSync(r)}catch{}}}else return r}},async mktempPromise(t){for(RO();;){let e=PO("xfs-");try{await this.mkdirPromise(e)}catch(i){if(i.code==="EEXIST")continue;throw i}let r=await this.realpathPromise(e);if(vs.add(r),typeof t!="undefined")try{return await t(r)}finally{if(vs.has(r)){vs.delete(r);try{await this.removePromise(r)}catch{}}}else return r}},async rmtempPromise(){await Promise.all(Array.from(vs.values()).map(async t=>{try{await T.removePromise(t,{maxRetries:0}),vs.delete(t)}catch{}}))},rmtempSync(){for(let t of vs)try{T.removeSync(t),vs.delete(t)}catch{}}});var vb=ie(bb()),Pn;(function(i){i[i.Never=0]="Never",i[i.ErrorCode=1]="ErrorCode",i[i.Always=2]="Always"})(Pn||(Pn={}));function dl(t){return t!==null&&typeof t.fd=="number"}var Cl=new Set;function Sb(){}function xb(){for(let t of Cl)t.kill()}async function to(t,e,{cwd:r,env:i=process.env,strict:n=!1,stdin:s=null,stdout:o,stderr:a,end:l=2}){let c=["pipe","pipe","pipe"];s===null?c[0]="ignore":dl(s)&&(c[0]=s),dl(o)&&(c[1]=o),dl(a)&&(c[2]=a);let u=(0,vb.default)(t,e,{cwd:M.fromPortablePath(r),env:_(P({},i),{PWD:M.fromPortablePath(r)}),stdio:c});Cl.add(u),Cl.size===1&&(process.on("SIGINT",Sb),process.on("SIGTERM",xb)),!dl(s)&&s!==null&&s.pipe(u.stdin),dl(o)||u.stdout.pipe(o,{end:!1}),dl(a)||u.stderr.pipe(a,{end:!1});let g=()=>{for(let f of new Set([o,a]))dl(f)||f.end()};return new Promise((f,h)=>{u.on("error",p=>{Cl.delete(u),Cl.size===0&&(process.off("SIGINT",Sb),process.off("SIGTERM",xb)),(l===2||l===1)&&g(),h(p)}),u.on("close",(p,d)=>{Cl.delete(u),Cl.size===0&&(process.off("SIGINT",Sb),process.off("SIGTERM",xb)),(l===2||l===1&&p>0)&&g(),p===0||!n?f({code:kb(p,d)}):h(p!==null?new Error(`Child "${t}" exited with exit code ${p}`):new Error(`Child "${t}" exited with signal ${d}`))})})}async function Nhe(t,e,{cwd:r,env:i=process.env,encoding:n="utf8",strict:s=!1}){let o=["ignore","pipe","pipe"],a=[],l=[],c=M.fromPortablePath(r);typeof i.PWD!="undefined"&&(i=_(P({},i),{PWD:c}));let u=(0,vb.default)(t,e,{cwd:c,env:i,stdio:o});return u.stdout.on("data",g=>{a.push(g)}),u.stderr.on("data",g=>{l.push(g)}),await new Promise((g,f)=>{u.on("error",()=>{f()}),u.on("close",(h,p)=>{let d=n==="buffer"?Buffer.concat(a):Buffer.concat(a).toString(n),m=n==="buffer"?Buffer.concat(l):Buffer.concat(l).toString(n);h===0||!s?g({code:kb(h,p),stdout:d,stderr:m}):f(Object.assign(new Error(`Child "${t}" exited with exit code ${h} + +${m}`),{code:kb(h,p),stdout:d,stderr:m}))})})}var Lhe=new Map([["SIGINT",2],["SIGQUIT",3],["SIGKILL",9],["SIGTERM",15]]);function kb(t,e){let r=Lhe.get(e);return typeof r!="undefined"?128+r:t!=null?t:1}var Pb={};it(Pb,{getDefaultGlobalFolder:()=>Rb,getHomeFolder:()=>uh,isFolderInside:()=>Fb});var Db=ie(require("os"));function Rb(){if(process.platform==="win32"){let t=M.toPortablePath(process.env.LOCALAPPDATA||M.join((0,Db.homedir)(),"AppData","Local"));return v.resolve(t,"Yarn/Berry")}if(process.env.XDG_DATA_HOME){let t=M.toPortablePath(process.env.XDG_DATA_HOME);return v.resolve(t,"yarn/berry")}return v.resolve(uh(),".yarn/berry")}function uh(){return M.toPortablePath((0,Db.homedir)()||"/usr/local/share")}function Fb(t,e){let r=v.relative(e,t);return r&&!r.startsWith("..")&&!v.isAbsolute(r)}var ue={};it(ue,{LogLevel:()=>Ts,Style:()=>Gl,Type:()=>Le,addLogFilterSupport:()=>Cp,applyColor:()=>On,applyHyperlink:()=>Ku,applyStyle:()=>Py,json:()=>Uu,mark:()=>xx,pretty:()=>Ve,prettyField:()=>Yl,prettyList:()=>Kx,supportsColor:()=>xy,supportsHyperlinks:()=>Mx,tuple:()=>jl});var pp=ie(jb()),dp=ie(ml()),o3=ie(Nn()),a3=ie(gU());var z;(function(te){te[te.UNNAMED=0]="UNNAMED",te[te.EXCEPTION=1]="EXCEPTION",te[te.MISSING_PEER_DEPENDENCY=2]="MISSING_PEER_DEPENDENCY",te[te.CYCLIC_DEPENDENCIES=3]="CYCLIC_DEPENDENCIES",te[te.DISABLED_BUILD_SCRIPTS=4]="DISABLED_BUILD_SCRIPTS",te[te.BUILD_DISABLED=5]="BUILD_DISABLED",te[te.SOFT_LINK_BUILD=6]="SOFT_LINK_BUILD",te[te.MUST_BUILD=7]="MUST_BUILD",te[te.MUST_REBUILD=8]="MUST_REBUILD",te[te.BUILD_FAILED=9]="BUILD_FAILED",te[te.RESOLVER_NOT_FOUND=10]="RESOLVER_NOT_FOUND",te[te.FETCHER_NOT_FOUND=11]="FETCHER_NOT_FOUND",te[te.LINKER_NOT_FOUND=12]="LINKER_NOT_FOUND",te[te.FETCH_NOT_CACHED=13]="FETCH_NOT_CACHED",te[te.YARN_IMPORT_FAILED=14]="YARN_IMPORT_FAILED",te[te.REMOTE_INVALID=15]="REMOTE_INVALID",te[te.REMOTE_NOT_FOUND=16]="REMOTE_NOT_FOUND",te[te.RESOLUTION_PACK=17]="RESOLUTION_PACK",te[te.CACHE_CHECKSUM_MISMATCH=18]="CACHE_CHECKSUM_MISMATCH",te[te.UNUSED_CACHE_ENTRY=19]="UNUSED_CACHE_ENTRY",te[te.MISSING_LOCKFILE_ENTRY=20]="MISSING_LOCKFILE_ENTRY",te[te.WORKSPACE_NOT_FOUND=21]="WORKSPACE_NOT_FOUND",te[te.TOO_MANY_MATCHING_WORKSPACES=22]="TOO_MANY_MATCHING_WORKSPACES",te[te.CONSTRAINTS_MISSING_DEPENDENCY=23]="CONSTRAINTS_MISSING_DEPENDENCY",te[te.CONSTRAINTS_INCOMPATIBLE_DEPENDENCY=24]="CONSTRAINTS_INCOMPATIBLE_DEPENDENCY",te[te.CONSTRAINTS_EXTRANEOUS_DEPENDENCY=25]="CONSTRAINTS_EXTRANEOUS_DEPENDENCY",te[te.CONSTRAINTS_INVALID_DEPENDENCY=26]="CONSTRAINTS_INVALID_DEPENDENCY",te[te.CANT_SUGGEST_RESOLUTIONS=27]="CANT_SUGGEST_RESOLUTIONS",te[te.FROZEN_LOCKFILE_EXCEPTION=28]="FROZEN_LOCKFILE_EXCEPTION",te[te.CROSS_DRIVE_VIRTUAL_LOCAL=29]="CROSS_DRIVE_VIRTUAL_LOCAL",te[te.FETCH_FAILED=30]="FETCH_FAILED",te[te.DANGEROUS_NODE_MODULES=31]="DANGEROUS_NODE_MODULES",te[te.NODE_GYP_INJECTED=32]="NODE_GYP_INJECTED",te[te.AUTHENTICATION_NOT_FOUND=33]="AUTHENTICATION_NOT_FOUND",te[te.INVALID_CONFIGURATION_KEY=34]="INVALID_CONFIGURATION_KEY",te[te.NETWORK_ERROR=35]="NETWORK_ERROR",te[te.LIFECYCLE_SCRIPT=36]="LIFECYCLE_SCRIPT",te[te.CONSTRAINTS_MISSING_FIELD=37]="CONSTRAINTS_MISSING_FIELD",te[te.CONSTRAINTS_INCOMPATIBLE_FIELD=38]="CONSTRAINTS_INCOMPATIBLE_FIELD",te[te.CONSTRAINTS_EXTRANEOUS_FIELD=39]="CONSTRAINTS_EXTRANEOUS_FIELD",te[te.CONSTRAINTS_INVALID_FIELD=40]="CONSTRAINTS_INVALID_FIELD",te[te.AUTHENTICATION_INVALID=41]="AUTHENTICATION_INVALID",te[te.PROLOG_UNKNOWN_ERROR=42]="PROLOG_UNKNOWN_ERROR",te[te.PROLOG_SYNTAX_ERROR=43]="PROLOG_SYNTAX_ERROR",te[te.PROLOG_EXISTENCE_ERROR=44]="PROLOG_EXISTENCE_ERROR",te[te.STACK_OVERFLOW_RESOLUTION=45]="STACK_OVERFLOW_RESOLUTION",te[te.AUTOMERGE_FAILED_TO_PARSE=46]="AUTOMERGE_FAILED_TO_PARSE",te[te.AUTOMERGE_IMMUTABLE=47]="AUTOMERGE_IMMUTABLE",te[te.AUTOMERGE_SUCCESS=48]="AUTOMERGE_SUCCESS",te[te.AUTOMERGE_REQUIRED=49]="AUTOMERGE_REQUIRED",te[te.DEPRECATED_CLI_SETTINGS=50]="DEPRECATED_CLI_SETTINGS",te[te.PLUGIN_NAME_NOT_FOUND=51]="PLUGIN_NAME_NOT_FOUND",te[te.INVALID_PLUGIN_REFERENCE=52]="INVALID_PLUGIN_REFERENCE",te[te.CONSTRAINTS_AMBIGUITY=53]="CONSTRAINTS_AMBIGUITY",te[te.CACHE_OUTSIDE_PROJECT=54]="CACHE_OUTSIDE_PROJECT",te[te.IMMUTABLE_INSTALL=55]="IMMUTABLE_INSTALL",te[te.IMMUTABLE_CACHE=56]="IMMUTABLE_CACHE",te[te.INVALID_MANIFEST=57]="INVALID_MANIFEST",te[te.PACKAGE_PREPARATION_FAILED=58]="PACKAGE_PREPARATION_FAILED",te[te.INVALID_RANGE_PEER_DEPENDENCY=59]="INVALID_RANGE_PEER_DEPENDENCY",te[te.INCOMPATIBLE_PEER_DEPENDENCY=60]="INCOMPATIBLE_PEER_DEPENDENCY",te[te.DEPRECATED_PACKAGE=61]="DEPRECATED_PACKAGE",te[te.INCOMPATIBLE_OS=62]="INCOMPATIBLE_OS",te[te.INCOMPATIBLE_CPU=63]="INCOMPATIBLE_CPU",te[te.FROZEN_ARTIFACT_EXCEPTION=64]="FROZEN_ARTIFACT_EXCEPTION",te[te.TELEMETRY_NOTICE=65]="TELEMETRY_NOTICE",te[te.PATCH_HUNK_FAILED=66]="PATCH_HUNK_FAILED",te[te.INVALID_CONFIGURATION_VALUE=67]="INVALID_CONFIGURATION_VALUE",te[te.UNUSED_PACKAGE_EXTENSION=68]="UNUSED_PACKAGE_EXTENSION",te[te.REDUNDANT_PACKAGE_EXTENSION=69]="REDUNDANT_PACKAGE_EXTENSION",te[te.AUTO_NM_SUCCESS=70]="AUTO_NM_SUCCESS",te[te.NM_CANT_INSTALL_EXTERNAL_SOFT_LINK=71]="NM_CANT_INSTALL_EXTERNAL_SOFT_LINK",te[te.NM_PRESERVE_SYMLINKS_REQUIRED=72]="NM_PRESERVE_SYMLINKS_REQUIRED",te[te.UPDATE_LOCKFILE_ONLY_SKIP_LINK=73]="UPDATE_LOCKFILE_ONLY_SKIP_LINK",te[te.NM_HARDLINKS_MODE_DOWNGRADED=74]="NM_HARDLINKS_MODE_DOWNGRADED",te[te.PROLOG_INSTANTIATION_ERROR=75]="PROLOG_INSTANTIATION_ERROR",te[te.INCOMPATIBLE_ARCHITECTURE=76]="INCOMPATIBLE_ARCHITECTURE",te[te.GHOST_ARCHITECTURE=77]="GHOST_ARCHITECTURE"})(z||(z={}));function KE(t){return`YN${t.toString(10).padStart(4,"0")}`}var de={};it(de,{BufferStream:()=>OH,CachingStrategy:()=>Dl,DefaultStream:()=>KH,assertNever:()=>Lv,bufferStream:()=>Cu,buildIgnorePattern:()=>DEe,convertMapsToIndexableObjects:()=>aI,dynamicRequire:()=>mu,escapeRegExp:()=>SEe,getArrayWithDefault:()=>hu,getFactoryWithDefault:()=>na,getMapWithDefault:()=>pu,getSetWithDefault:()=>Pl,isIndexableObject:()=>Tv,isPathLike:()=>REe,isTaggedYarnVersion:()=>vEe,mapAndFilter:()=>kl,mapAndFind:()=>MH,overrideType:()=>Nv,parseBoolean:()=>Hh,parseOptionalBoolean:()=>jH,prettifyAsyncErrors:()=>du,prettifySyncErrors:()=>Mv,releaseAfterUseAsync:()=>kEe,replaceEnvVariables:()=>Ov,sortMap:()=>gn,tryParseOptionalBoolean:()=>Kv,validateEnum:()=>xEe});var vh={};it(vh,{Builtins:()=>Iv,Cli:()=>oo,Command:()=>ye,Option:()=>Y,UsageError:()=>me});var yl=0,Eh=1,Gi=2,sv="",hi="\0",Au=-1,ov=/^(-h|--help)(?:=([0-9]+))?$/,UE=/^(--[a-z]+(?:-[a-z]+)*|-[a-zA-Z]+)$/,fU=/^-[a-zA-Z]{2,}$/,av=/^([^=]+)=([\s\S]*)$/,Av=process.env.DEBUG_CLI==="1";var me=class extends Error{constructor(e){super(e);this.clipanion={type:"usage"},this.name="UsageError"}},Ih=class extends Error{constructor(e,r){super();if(this.input=e,this.candidates=r,this.clipanion={type:"none"},this.name="UnknownSyntaxError",this.candidates.length===0)this.message="Command not found, but we're not sure what's the alternative.";else if(this.candidates.every(i=>i.reason!==null&&i.reason===r[0].reason)){let[{reason:i}]=this.candidates;this.message=`${i} + +${this.candidates.map(({usage:n})=>`$ ${n}`).join(` +`)}`}else if(this.candidates.length===1){let[{usage:i}]=this.candidates;this.message=`Command not found; did you mean: + +$ ${i} +${lv(e)}`}else this.message=`Command not found; did you mean one of: + +${this.candidates.map(({usage:i},n)=>`${`${n}.`.padStart(4)} ${i}`).join(` +`)} + +${lv(e)}`}},cv=class extends Error{constructor(e,r){super();this.input=e,this.usages=r,this.clipanion={type:"none"},this.name="AmbiguousSyntaxError",this.message=`Cannot find which to pick amongst the following alternatives: + +${this.usages.map((i,n)=>`${`${n}.`.padStart(4)} ${i}`).join(` +`)} + +${lv(e)}`}},lv=t=>`While running ${t.filter(e=>e!==hi).map(e=>{let r=JSON.stringify(e);return e.match(/\s/)||e.length===0||r!==`"${e}"`?r:e}).join(" ")}`;var yh=Symbol("clipanion/isOption");function ji(t){return _(P({},t),{[yh]:!0})}function so(t,e){return typeof t=="undefined"?[t,e]:typeof t=="object"&&t!==null&&!Array.isArray(t)?[void 0,t]:[t,e]}function HE(t,e=!1){let r=t.replace(/^\.: /,"");return e&&(r=r[0].toLowerCase()+r.slice(1)),r}function wh(t,e){return e.length===1?new me(`${t}: ${HE(e[0],!0)}`):new me(`${t}: +${e.map(r=>` +- ${HE(r)}`).join("")}`)}function Bh(t,e,r){if(typeof r=="undefined")return e;let i=[],n=[],s=a=>{let l=e;return e=a,s.bind(null,l)};if(!r(e,{errors:i,coercions:n,coercion:s}))throw wh(`Invalid value for ${t}`,i);for(let[,a]of n)a();return e}var ye=class{constructor(){this.help=!1}static Usage(e){return e}async catch(e){throw e}async validateAndExecute(){let r=this.constructor.schema;if(typeof r!="undefined"){let{isDict:n,isUnknown:s,applyCascade:o}=await Promise.resolve().then(()=>(Ss(),lu)),a=o(n(s()),r),l=[],c=[];if(!a(this,{errors:l,coercions:c}))throw wh("Invalid option schema",l);for(let[,g]of c)g()}let i=await this.execute();return typeof i!="undefined"?i:0}};ye.isOption=yh;ye.Default=[];function un(t){Av&&console.log(t)}var BU={candidateUsage:null,requiredOptions:[],errorMessage:null,ignoreOptions:!1,path:[],positionals:[],options:[],remainder:null,selectedIndex:Au};function QU(){return{nodes:[qi(),qi(),qi()]}}function nCe(t){let e=QU(),r=[],i=e.nodes.length;for(let n of t){r.push(i);for(let s=0;s{if(e.has(i))return;e.add(i);let n=t.nodes[i];for(let o of Object.values(n.statics))for(let{to:a}of o)r(a);for(let[,{to:o}]of n.dynamics)r(o);for(let{to:o}of n.shortcuts)r(o);let s=new Set(n.shortcuts.map(({to:o})=>o));for(;n.shortcuts.length>0;){let{to:o}=n.shortcuts.shift(),a=t.nodes[o];for(let[l,c]of Object.entries(a.statics)){let u=Object.prototype.hasOwnProperty.call(n.statics,l)?n.statics[l]:n.statics[l]=[];for(let g of c)u.some(({to:f})=>g.to===f)||u.push(g)}for(let[l,c]of a.dynamics)n.dynamics.some(([u,{to:g}])=>l===u&&c.to===g)||n.dynamics.push([l,c]);for(let l of a.shortcuts)s.has(l.to)||(n.shortcuts.push(l),s.add(l.to))}};r(yl)}function oCe(t,{prefix:e=""}={}){if(Av){un(`${e}Nodes are:`);for(let r=0;rl!==Gi).map(({state:l})=>({usage:l.candidateUsage,reason:null})));if(a.every(({node:l})=>l===Gi))throw new Ih(e,a.map(({state:l})=>({usage:l.candidateUsage,reason:l.errorMessage})));i=aCe(a)}if(i.length>0){un(" Results:");for(let s of i)un(` - ${s.node} -> ${JSON.stringify(s.state)}`)}else un(" No results");return i}function ACe(t,e){if(e.selectedIndex!==null)return!0;if(Object.prototype.hasOwnProperty.call(t.statics,hi)){for(let{to:r}of t.statics[hi])if(r===Eh)return!0}return!1}function cCe(t,e,r){let i=r&&e.length>0?[""]:[],n=vU(t,e,r),s=[],o=new Set,a=(l,c,u=!0)=>{let g=[c];for(;g.length>0;){let h=g;g=[];for(let p of h){let d=t.nodes[p],m=Object.keys(d.statics);for(let I of Object.keys(d.statics)){let B=m[0];for(let{to:b,reducer:R}of d.statics[B])R==="pushPath"&&(u||l.push(B),g.push(b))}}u=!1}let f=JSON.stringify(l);o.has(f)||(s.push(l),o.add(f))};for(let{node:l,state:c}of n){if(c.remainder!==null){a([c.remainder],l);continue}let u=t.nodes[l],g=ACe(u,c);for(let[f,h]of Object.entries(u.statics))(g&&f!==hi||!f.startsWith("-")&&h.some(({reducer:p})=>p==="pushPath"))&&a([...i,f],l);if(!!g)for(let[f,{to:h}]of u.dynamics){if(h===Gi)continue;let p=lCe(f,c);if(p!==null)for(let d of p)a([...i,d],l)}}return[...s].sort()}function gCe(t,e){let r=vU(t,[...e,hi]);return uCe(e,r.map(({state:i})=>i))}function aCe(t){let e=0;for(let{state:r}of t)r.path.length>e&&(e=r.path.length);return t.filter(({state:r})=>r.path.length===e)}function uCe(t,e){let r=e.filter(g=>g.selectedIndex!==null);if(r.length===0)throw new Error;let i=r.filter(g=>g.requiredOptions.every(f=>f.some(h=>g.options.find(p=>p.name===h))));if(i.length===0)throw new Ih(t,r.map(g=>({usage:g.candidateUsage,reason:null})));let n=0;for(let g of i)g.path.length>n&&(n=g.path.length);let s=i.filter(g=>g.path.length===n),o=g=>g.positionals.filter(({extra:f})=>!f).length+g.options.length,a=s.map(g=>({state:g,positionalCount:o(g)})),l=0;for(let{positionalCount:g}of a)g>l&&(l=g);let c=a.filter(({positionalCount:g})=>g===l).map(({state:g})=>g),u=fCe(c);if(u.length>1)throw new cv(t,u.map(g=>g.candidateUsage));return u[0]}function fCe(t){let e=[],r=[];for(let i of t)i.selectedIndex===Au?r.push(i):e.push(i);return r.length>0&&e.push(_(P({},BU),{path:SU(...r.map(i=>i.path)),options:r.reduce((i,n)=>i.concat(n.options),[])})),e}function SU(t,e,...r){return e===void 0?Array.from(t):SU(t.filter((i,n)=>i===e[n]),...r)}function qi(){return{dynamics:[],shortcuts:[],statics:{}}}function bU(t){return t===Eh||t===Gi}function Cv(t,e=0){return{to:bU(t.to)?t.to:t.to>2?t.to+e-2:t.to+e,reducer:t.reducer}}function iCe(t,e=0){let r=qi();for(let[i,n]of t.dynamics)r.dynamics.push([i,Cv(n,e)]);for(let i of t.shortcuts)r.shortcuts.push(Cv(i,e));for(let[i,n]of Object.entries(t.statics))r.statics[i]=n.map(s=>Cv(s,e));return r}function pi(t,e,r,i,n){t.nodes[e].dynamics.push([r,{to:i,reducer:n}])}function cu(t,e,r,i){t.nodes[e].shortcuts.push({to:r,reducer:i})}function ta(t,e,r,i,n){(Object.prototype.hasOwnProperty.call(t.nodes[e].statics,r)?t.nodes[e].statics[r]:t.nodes[e].statics[r]=[]).push({to:i,reducer:n})}function jE(t,e,r,i){if(Array.isArray(e)){let[n,...s]=e;return t[n](r,i,...s)}else return t[e](r,i)}function lCe(t,e){let r=Array.isArray(t)?YE[t[0]]:YE[t];if(typeof r.suggest=="undefined")return null;let i=Array.isArray(t)?t.slice(1):[];return r.suggest(e,...i)}var YE={always:()=>!0,isOptionLike:(t,e)=>!t.ignoreOptions&&e!=="-"&&e.startsWith("-"),isNotOptionLike:(t,e)=>t.ignoreOptions||e==="-"||!e.startsWith("-"),isOption:(t,e,r,i)=>!t.ignoreOptions&&e===r,isBatchOption:(t,e,r)=>!t.ignoreOptions&&fU.test(e)&&[...e.slice(1)].every(i=>r.includes(`-${i}`)),isBoundOption:(t,e,r,i)=>{let n=e.match(av);return!t.ignoreOptions&&!!n&&UE.test(n[1])&&r.includes(n[1])&&i.filter(s=>s.names.includes(n[1])).every(s=>s.allowBinding)},isNegatedOption:(t,e,r)=>!t.ignoreOptions&&e===`--no-${r.slice(2)}`,isHelp:(t,e)=>!t.ignoreOptions&&ov.test(e),isUnsupportedOption:(t,e,r)=>!t.ignoreOptions&&e.startsWith("-")&&UE.test(e)&&!r.includes(e),isInvalidOption:(t,e)=>!t.ignoreOptions&&e.startsWith("-")&&!UE.test(e)};YE.isOption.suggest=(t,e,r=!0)=>r?null:[e];var dv={setCandidateState:(t,e,r)=>P(P({},t),r),setSelectedIndex:(t,e,r)=>_(P({},t),{selectedIndex:r}),pushBatch:(t,e)=>_(P({},t),{options:t.options.concat([...e.slice(1)].map(r=>({name:`-${r}`,value:!0})))}),pushBound:(t,e)=>{let[,r,i]=e.match(av);return _(P({},t),{options:t.options.concat({name:r,value:i})})},pushPath:(t,e)=>_(P({},t),{path:t.path.concat(e)}),pushPositional:(t,e)=>_(P({},t),{positionals:t.positionals.concat({value:e,extra:!1})}),pushExtra:(t,e)=>_(P({},t),{positionals:t.positionals.concat({value:e,extra:!0})}),pushExtraNoLimits:(t,e)=>_(P({},t),{positionals:t.positionals.concat({value:e,extra:Ln})}),pushTrue:(t,e,r=e)=>_(P({},t),{options:t.options.concat({name:e,value:!0})}),pushFalse:(t,e,r=e)=>_(P({},t),{options:t.options.concat({name:r,value:!1})}),pushUndefined:(t,e)=>_(P({},t),{options:t.options.concat({name:e,value:void 0})}),pushStringValue:(t,e)=>{var r;let i=_(P({},t),{options:[...t.options]}),n=t.options[t.options.length-1];return n.value=((r=n.value)!==null&&r!==void 0?r:[]).concat([e]),i},setStringValue:(t,e)=>{let r=_(P({},t),{options:[...t.options]}),i=t.options[t.options.length-1];return i.value=e,r},inhibateOptions:t=>_(P({},t),{ignoreOptions:!0}),useHelp:(t,e,r)=>{let[,,i]=e.match(ov);return typeof i!="undefined"?_(P({},t),{options:[{name:"-c",value:String(r)},{name:"-i",value:i}]}):_(P({},t),{options:[{name:"-c",value:String(r)}]})},setError:(t,e,r)=>e===hi?_(P({},t),{errorMessage:`${r}.`}):_(P({},t),{errorMessage:`${r} ("${e}").`}),setOptionArityError:(t,e)=>{let r=t.options[t.options.length-1];return _(P({},t),{errorMessage:`Not enough arguments to option ${r.name}.`})}},Ln=Symbol(),xU=class{constructor(e,r){this.allOptionNames=[],this.arity={leading:[],trailing:[],extra:[],proxy:!1},this.options=[],this.paths=[],this.cliIndex=e,this.cliOpts=r}addPath(e){this.paths.push(e)}setArity({leading:e=this.arity.leading,trailing:r=this.arity.trailing,extra:i=this.arity.extra,proxy:n=this.arity.proxy}){Object.assign(this.arity,{leading:e,trailing:r,extra:i,proxy:n})}addPositional({name:e="arg",required:r=!0}={}){if(!r&&this.arity.extra===Ln)throw new Error("Optional parameters cannot be declared when using .rest() or .proxy()");if(!r&&this.arity.trailing.length>0)throw new Error("Optional parameters cannot be declared after the required trailing positional arguments");!r&&this.arity.extra!==Ln?this.arity.extra.push(e):this.arity.extra!==Ln&&this.arity.extra.length===0?this.arity.leading.push(e):this.arity.trailing.push(e)}addRest({name:e="arg",required:r=0}={}){if(this.arity.extra===Ln)throw new Error("Infinite lists cannot be declared multiple times in the same command");if(this.arity.trailing.length>0)throw new Error("Infinite lists cannot be declared after the required trailing positional arguments");for(let i=0;i1)throw new Error("The arity cannot be higher than 1 when the option only supports the --arg=value syntax");if(!Number.isInteger(i))throw new Error(`The arity must be an integer, got ${i}`);if(i<0)throw new Error(`The arity must be positive, got ${i}`);this.allOptionNames.push(...e),this.options.push({names:e,description:r,arity:i,hidden:n,required:s,allowBinding:o})}setContext(e){this.context=e}usage({detailed:e=!0,inlineOptions:r=!0}={}){let i=[this.cliOpts.binaryName],n=[];if(this.paths.length>0&&i.push(...this.paths[0]),e){for(let{names:o,arity:a,hidden:l,description:c,required:u}of this.options){if(l)continue;let g=[];for(let h=0;h`:`[${f}]`)}i.push(...this.arity.leading.map(o=>`<${o}>`)),this.arity.extra===Ln?i.push("..."):i.push(...this.arity.extra.map(o=>`[${o}]`)),i.push(...this.arity.trailing.map(o=>`<${o}>`))}return{usage:i.join(" "),options:n}}compile(){if(typeof this.context=="undefined")throw new Error("Assertion failed: No context attached");let e=QU(),r=yl,i=this.usage().usage,n=this.options.filter(a=>a.required).map(a=>a.names);r=xs(e,qi()),ta(e,yl,sv,r,["setCandidateState",{candidateUsage:i,requiredOptions:n}]);let s=this.arity.proxy?"always":"isNotOptionLike",o=this.paths.length>0?this.paths:[[]];for(let a of o){let l=r;if(a.length>0){let f=xs(e,qi());cu(e,l,f),this.registerOptions(e,f),l=f}for(let f=0;f0||!this.arity.proxy){let f=xs(e,qi());pi(e,l,"isHelp",f,["useHelp",this.cliIndex]),ta(e,f,hi,Eh,["setSelectedIndex",Au]),this.registerOptions(e,l)}this.arity.leading.length>0&&ta(e,l,hi,Gi,["setError","Not enough positional arguments"]);let c=l;for(let f=0;f0||f+1!==this.arity.leading.length)&&ta(e,h,hi,Gi,["setError","Not enough positional arguments"]),pi(e,c,"isNotOptionLike",h,"pushPositional"),c=h}let u=c;if(this.arity.extra===Ln||this.arity.extra.length>0){let f=xs(e,qi());if(cu(e,c,f),this.arity.extra===Ln){let h=xs(e,qi());this.arity.proxy||this.registerOptions(e,h),pi(e,c,s,h,"pushExtraNoLimits"),pi(e,h,s,h,"pushExtraNoLimits"),cu(e,h,f)}else for(let h=0;h0&&ta(e,u,hi,Gi,["setError","Not enough positional arguments"]);let g=u;for(let f=0;fo.length>s.length?o:s,"");if(i.arity===0)for(let s of i.names)pi(e,r,["isOption",s,i.hidden||s!==n],r,"pushTrue"),s.startsWith("--")&&!s.startsWith("--no-")&&pi(e,r,["isNegatedOption",s],r,["pushFalse",s]);else{let s=xs(e,qi());for(let o of i.names)pi(e,r,["isOption",o,i.hidden||o!==n],s,"pushUndefined");for(let o=0;o=0&&egCe(i,n),suggest:(n,s)=>cCe(i,n,s)}}};var kU=80,mv=Array(kU).fill("\u2501");for(let t=0;t<=24;++t)mv[mv.length-t]=`[38;5;${232+t}m\u2501`;var Ev={header:t=>`\u2501\u2501\u2501 ${t}${t.length`${t}`,error:t=>`${t}`,code:t=>`${t}`},PU={header:t=>t,bold:t=>t,error:t=>t,code:t=>t};function hCe(t){let e=t.split(` +`),r=e.filter(n=>n.match(/\S/)),i=r.length>0?r.reduce((n,s)=>Math.min(n,s.length-s.trimStart().length),Number.MAX_VALUE):0;return e.map(n=>n.slice(i).trimRight()).join(` +`)}function Vn(t,{format:e,paragraphs:r}){return t=t.replace(/\r\n?/g,` +`),t=hCe(t),t=t.replace(/^\n+|\n+$/g,""),t=t.replace(/^(\s*)-([^\n]*?)\n+/gm,`$1-$2 + +`),t=t.replace(/\n(\n)?\n*/g,"$1"),r&&(t=t.split(/\n/).map(i=>{let n=i.match(/^\s*[*-][\t ]+(.*)/);if(!n)return i.match(/(.{1,80})(?: |$)/g).join(` +`);let s=i.length-i.trimStart().length;return n[1].match(new RegExp(`(.{1,${78-s}})(?: |$)`,"g")).map((o,a)=>" ".repeat(s)+(a===0?"- ":" ")+o).join(` +`)}).join(` + +`)),t=t.replace(/(`+)((?:.|[\n])*?)\1/g,(i,n,s)=>e.code(n+s+n)),t=t.replace(/(\*\*)((?:.|[\n])*?)\1/g,(i,n,s)=>e.bold(n+s+n)),t?`${t} +`:""}var bh=class extends ye{constructor(e){super();this.contexts=e,this.commands=[]}static from(e,r){let i=new bh(r);i.path=e.path;for(let n of e.options)switch(n.name){case"-c":i.commands.push(Number(n.value));break;case"-i":i.index=Number(n.value);break}return i}async execute(){let e=this.commands;if(typeof this.index!="undefined"&&this.index>=0&&this.index1){this.context.stdout.write(`Multiple commands match your selection: +`),this.context.stdout.write(` +`);let r=0;for(let i of this.commands)this.context.stdout.write(this.cli.usage(this.contexts[i].commandClass,{prefix:`${r++}. `.padStart(5)}));this.context.stdout.write(` +`),this.context.stdout.write(`Run again with -h= to see the longer details of any of those commands. +`)}}};var DU=Symbol("clipanion/errorCommand");function pCe(){return process.env.FORCE_COLOR==="0"?!1:!!(process.env.FORCE_COLOR==="1"||typeof process.stdout!="undefined"&&process.stdout.isTTY)}var oo=class{constructor({binaryLabel:e,binaryName:r="...",binaryVersion:i,enableColors:n=pCe()}={}){this.registrations=new Map,this.builder=new Qh({binaryName:r}),this.binaryLabel=e,this.binaryName=r,this.binaryVersion=i,this.enableColors=n}static from(e,r={}){let i=new oo(r);for(let n of e)i.register(n);return i}register(e){var r;let i=new Map,n=new e;for(let l in n){let c=n[l];typeof c=="object"&&c!==null&&c[ye.isOption]&&i.set(l,c)}let s=this.builder.command(),o=s.cliIndex,a=(r=e.paths)!==null&&r!==void 0?r:n.paths;if(typeof a!="undefined")for(let l of a)s.addPath(l);this.registrations.set(e,{specs:i,builder:s,index:o});for(let[l,{definition:c}]of i.entries())c(s,l);s.setContext({commandClass:e})}process(e){let{contexts:r,process:i}=this.builder.compile(),n=i(e);switch(n.selectedIndex){case Au:return bh.from(n,r);default:{let{commandClass:s}=r[n.selectedIndex],o=this.registrations.get(s);if(typeof o=="undefined")throw new Error("Assertion failed: Expected the command class to have been registered.");let a=new s;a.path=n.path;try{for(let[l,{transformer:c}]of o.specs.entries())a[l]=c(o.builder,l,n);return a}catch(l){throw l[DU]=a,l}}break}}async run(e,r){let i;if(!Array.isArray(e))i=e;else try{i=this.process(e)}catch(s){return r.stdout.write(this.error(s)),1}if(i.help)return r.stdout.write(this.usage(i,{detailed:!0})),0;i.context=r,i.cli={binaryLabel:this.binaryLabel,binaryName:this.binaryName,binaryVersion:this.binaryVersion,enableColors:this.enableColors,definitions:()=>this.definitions(),error:(s,o)=>this.error(s,o),process:s=>this.process(s),run:(s,o)=>this.run(s,P(P({},r),o)),usage:(s,o)=>this.usage(s,o)};let n;try{n=await i.validateAndExecute().catch(s=>i.catch(s).then(()=>0))}catch(s){return r.stdout.write(this.error(s,{command:i})),1}return n}async runExit(e,r){process.exitCode=await this.run(e,r)}suggest(e,r){let{suggest:i}=this.builder.compile();return i(e,r)}definitions({colored:e=!1}={}){let r=[];for(let[i,{index:n}]of this.registrations){if(typeof i.usage=="undefined")continue;let{usage:s}=this.getUsageByIndex(n,{detailed:!1}),{usage:o,options:a}=this.getUsageByIndex(n,{detailed:!0,inlineOptions:!1}),l=typeof i.usage.category!="undefined"?Vn(i.usage.category,{format:this.format(e),paragraphs:!1}):void 0,c=typeof i.usage.description!="undefined"?Vn(i.usage.description,{format:this.format(e),paragraphs:!1}):void 0,u=typeof i.usage.details!="undefined"?Vn(i.usage.details,{format:this.format(e),paragraphs:!0}):void 0,g=typeof i.usage.examples!="undefined"?i.usage.examples.map(([f,h])=>[Vn(f,{format:this.format(e),paragraphs:!1}),h.replace(/\$0/g,this.binaryName)]):void 0;r.push({path:s,usage:o,category:l,description:c,details:u,examples:g,options:a})}return r}usage(e=null,{colored:r,detailed:i=!1,prefix:n="$ "}={}){var s;if(e===null){for(let l of this.registrations.keys()){let c=l.paths,u=typeof l.usage!="undefined";if(!c||c.length===0||c.length===1&&c[0].length===0||((s=c==null?void 0:c.some(h=>h.length===0))!==null&&s!==void 0?s:!1))if(e){e=null;break}else e=l;else if(u){e=null;continue}}e&&(i=!0)}let o=e!==null&&e instanceof ye?e.constructor:e,a="";if(o)if(i){let{description:l="",details:c="",examples:u=[]}=o.usage||{};l!==""&&(a+=Vn(l,{format:this.format(r),paragraphs:!1}).replace(/^./,h=>h.toUpperCase()),a+=` +`),(c!==""||u.length>0)&&(a+=`${this.format(r).header("Usage")} +`,a+=` +`);let{usage:g,options:f}=this.getUsageByRegistration(o,{inlineOptions:!1});if(a+=`${this.format(r).bold(n)}${g} +`,f.length>0){a+=` +`,a+=`${Ev.header("Options")} +`;let h=f.reduce((p,d)=>Math.max(p,d.definition.length),0);a+=` +`;for(let{definition:p,description:d}of f)a+=` ${this.format(r).bold(p.padEnd(h))} ${Vn(d,{format:this.format(r),paragraphs:!1})}`}if(c!==""&&(a+=` +`,a+=`${this.format(r).header("Details")} +`,a+=` +`,a+=Vn(c,{format:this.format(r),paragraphs:!0})),u.length>0){a+=` +`,a+=`${this.format(r).header("Examples")} +`;for(let[h,p]of u)a+=` +`,a+=Vn(h,{format:this.format(r),paragraphs:!1}),a+=`${p.replace(/^/m,` ${this.format(r).bold(n)}`).replace(/\$0/g,this.binaryName)} +`}}else{let{usage:l}=this.getUsageByRegistration(o);a+=`${this.format(r).bold(n)}${l} +`}else{let l=new Map;for(let[f,{index:h}]of this.registrations.entries()){if(typeof f.usage=="undefined")continue;let p=typeof f.usage.category!="undefined"?Vn(f.usage.category,{format:this.format(r),paragraphs:!1}):null,d=l.get(p);typeof d=="undefined"&&l.set(p,d=[]);let{usage:m}=this.getUsageByIndex(h);d.push({commandClass:f,usage:m})}let c=Array.from(l.keys()).sort((f,h)=>f===null?-1:h===null?1:f.localeCompare(h,"en",{usage:"sort",caseFirst:"upper"})),u=typeof this.binaryLabel!="undefined",g=typeof this.binaryVersion!="undefined";u||g?(u&&g?a+=`${this.format(r).header(`${this.binaryLabel} - ${this.binaryVersion}`)} + +`:u?a+=`${this.format(r).header(`${this.binaryLabel}`)} +`:a+=`${this.format(r).header(`${this.binaryVersion}`)} +`,a+=` ${this.format(r).bold(n)}${this.binaryName} +`):a+=`${this.format(r).bold(n)}${this.binaryName} +`;for(let f of c){let h=l.get(f).slice().sort((d,m)=>d.usage.localeCompare(m.usage,"en",{usage:"sort",caseFirst:"upper"})),p=f!==null?f.trim():"General commands";a+=` +`,a+=`${this.format(r).header(`${p}`)} +`;for(let{commandClass:d,usage:m}of h){let I=d.usage.description||"undocumented";a+=` +`,a+=` ${this.format(r).bold(m)} +`,a+=` ${Vn(I,{format:this.format(r),paragraphs:!1})}`}}a+=` +`,a+=Vn("You can also print more details about any of these commands by calling them with the `-h,--help` flag right after the command name.",{format:this.format(r),paragraphs:!0})}return a}error(e,r){var i,{colored:n,command:s=(i=e[DU])!==null&&i!==void 0?i:null}=r===void 0?{}:r;e instanceof Error||(e=new Error(`Execution failed with a non-error rejection (rejected value: ${JSON.stringify(e)})`));let o="",a=e.name.replace(/([a-z])([A-Z])/g,"$1 $2");a==="Error"&&(a="Internal Error"),o+=`${this.format(n).error(a)}: ${e.message} +`;let l=e.clipanion;return typeof l!="undefined"?l.type==="usage"&&(o+=` +`,o+=this.usage(s)):e.stack&&(o+=`${e.stack.replace(/^.*\n/,"")} +`),o}getUsageByRegistration(e,r){let i=this.registrations.get(e);if(typeof i=="undefined")throw new Error("Assertion failed: Unregistered command");return this.getUsageByIndex(i.index,r)}getUsageByIndex(e,r){return this.builder.getBuilderByIndex(e).usage(r)}format(e=this.enableColors){return e?Ev:PU}};oo.defaultContext={stdin:process.stdin,stdout:process.stdout,stderr:process.stderr};var Iv={};it(Iv,{DefinitionsCommand:()=>qE,HelpCommand:()=>JE,VersionCommand:()=>WE});var qE=class extends ye{async execute(){this.context.stdout.write(`${JSON.stringify(this.cli.definitions(),null,2)} +`)}};qE.paths=[["--clipanion=definitions"]];var JE=class extends ye{async execute(){this.context.stdout.write(this.cli.usage())}};JE.paths=[["-h"],["--help"]];var WE=class extends ye{async execute(){var e;this.context.stdout.write(`${(e=this.cli.binaryVersion)!==null&&e!==void 0?e:""} +`)}};WE.paths=[["-v"],["--version"]];var Y={};it(Y,{Array:()=>RU,Boolean:()=>FU,Counter:()=>NU,Proxy:()=>LU,Rest:()=>TU,String:()=>MU,applyValidator:()=>Bh,cleanValidationError:()=>HE,formatError:()=>wh,isOptionSymbol:()=>yh,makeCommandOption:()=>ji,rerouteArguments:()=>so});function RU(t,e,r){let[i,n]=so(e,r!=null?r:{}),{arity:s=1}=n,o=t.split(","),a=new Set(o);return ji({definition(l){l.addOption({names:o,arity:s,hidden:n==null?void 0:n.hidden,description:n==null?void 0:n.description,required:n.required})},transformer(l,c,u){let g=typeof i!="undefined"?[...i]:void 0;for(let{name:f,value:h}of u.options)!a.has(f)||(g=g!=null?g:[],g.push(h));return g}})}function FU(t,e,r){let[i,n]=so(e,r!=null?r:{}),s=t.split(","),o=new Set(s);return ji({definition(a){a.addOption({names:s,allowBinding:!1,arity:0,hidden:n.hidden,description:n.description,required:n.required})},transformer(a,l,c){let u=i;for(let{name:g,value:f}of c.options)!o.has(g)||(u=f);return u}})}function NU(t,e,r){let[i,n]=so(e,r!=null?r:{}),s=t.split(","),o=new Set(s);return ji({definition(a){a.addOption({names:s,allowBinding:!1,arity:0,hidden:n.hidden,description:n.description,required:n.required})},transformer(a,l,c){let u=i;for(let{name:g,value:f}of c.options)!o.has(g)||(u!=null||(u=0),f?u+=1:u=0);return u}})}function LU(t={}){return ji({definition(e,r){var i;e.addProxy({name:(i=t.name)!==null&&i!==void 0?i:r,required:t.required})},transformer(e,r,i){return i.positionals.map(({value:n})=>n)}})}function TU(t={}){return ji({definition(e,r){var i;e.addRest({name:(i=t.name)!==null&&i!==void 0?i:r,required:t.required})},transformer(e,r,i){let n=o=>{let a=i.positionals[o];return a.extra===Ln||a.extra===!1&&oo)}})}function dCe(t,e,r){let[i,n]=so(e,r!=null?r:{}),{arity:s=1}=n,o=t.split(","),a=new Set(o);return ji({definition(l){l.addOption({names:o,arity:n.tolerateBoolean?0:s,hidden:n.hidden,description:n.description,required:n.required})},transformer(l,c,u){let g,f=i;for(let{name:h,value:p}of u.options)!a.has(h)||(g=h,f=p);return typeof f=="string"?Bh(g!=null?g:c,f,n.validator):f}})}function CCe(t={}){let{required:e=!0}=t;return ji({definition(r,i){var n;r.addPositional({name:(n=t.name)!==null&&n!==void 0?n:i,required:t.required})},transformer(r,i,n){var s;for(let o=0;oJSON.stringify(i)).join(", ")})`);return e}function kl(t,e){let r=[];for(let i of t){let n=e(i);n!==LH&&r.push(n)}return r}var LH=Symbol();kl.skip=LH;function MH(t,e){for(let r of t){let i=e(r);if(i!==TH)return i}}var TH=Symbol();MH.skip=TH;function Tv(t){return typeof t=="object"&&t!==null}function aI(t){if(t instanceof Map&&(t=Object.fromEntries(t)),Tv(t))for(let e of Object.keys(t)){let r=t[e];Tv(r)&&(t[e]=aI(r))}return t}function na(t,e,r){let i=t.get(e);return typeof i=="undefined"&&t.set(e,i=r()),i}function hu(t,e){let r=t.get(e);return typeof r=="undefined"&&t.set(e,r=[]),r}function Pl(t,e){let r=t.get(e);return typeof r=="undefined"&&t.set(e,r=new Set),r}function pu(t,e){let r=t.get(e);return typeof r=="undefined"&&t.set(e,r=new Map),r}async function kEe(t,e){if(e==null)return await t();try{return await t()}finally{await e()}}async function du(t,e){try{return await t()}catch(r){throw r.message=e(r.message),r}}function Mv(t,e){try{return t()}catch(r){throw r.message=e(r.message),r}}async function Cu(t){return await new Promise((e,r)=>{let i=[];t.on("error",n=>{r(n)}),t.on("data",n=>{i.push(n)}),t.on("end",()=>{e(Buffer.concat(i))})})}var OH=class extends Fv.Transform{constructor(){super(...arguments);this.chunks=[]}_transform(e,r,i){if(r!=="buffer"||!Buffer.isBuffer(e))throw new Error("Assertion failed: BufferStream only accept buffers");this.chunks.push(e),i(null,null)}_flush(e){e(null,Buffer.concat(this.chunks))}},KH=class extends Fv.Transform{constructor(e=Buffer.alloc(0)){super();this.active=!0;this.ifEmpty=e}_transform(e,r,i){if(r!=="buffer"||!Buffer.isBuffer(e))throw new Error("Assertion failed: DefaultStream only accept buffers");this.active=!1,i(null,e)}_flush(e){this.active&&this.ifEmpty.length>0?e(null,this.ifEmpty):e(null)}},Uh=eval("require");function UH(t){return Uh(M.fromPortablePath(t))}function HH(path){let physicalPath=M.fromPortablePath(path),currentCacheEntry=Uh.cache[physicalPath];delete Uh.cache[physicalPath];let result;try{result=UH(physicalPath);let freshCacheEntry=Uh.cache[physicalPath],dynamicModule=eval("module"),freshCacheIndex=dynamicModule.children.indexOf(freshCacheEntry);freshCacheIndex!==-1&&dynamicModule.children.splice(freshCacheIndex,1)}finally{Uh.cache[physicalPath]=currentCacheEntry}return result}var GH=new Map;function PEe(t){let e=GH.get(t),r=T.statSync(t);if((e==null?void 0:e.mtime)===r.mtimeMs)return e.instance;let i=HH(t);return GH.set(t,{mtime:r.mtimeMs,instance:i}),i}var Dl;(function(i){i[i.NoCache=0]="NoCache",i[i.FsTime=1]="FsTime",i[i.Node=2]="Node"})(Dl||(Dl={}));function mu(t,{cachingStrategy:e=2}={}){switch(e){case 0:return HH(t);case 1:return PEe(t);case 2:return UH(t);default:throw new Error("Unsupported caching strategy")}}function gn(t,e){let r=Array.from(t);Array.isArray(e)||(e=[e]);let i=[];for(let s of e)i.push(r.map(o=>s(o)));let n=r.map((s,o)=>o);return n.sort((s,o)=>{for(let a of i){let l=a[s]a[o]?1:0;if(l!==0)return l}return 0}),n.map(s=>r[s])}function DEe(t){return t.length===0?null:t.map(e=>`(${FH.default.makeRe(e,{windows:!1,dot:!0}).source})`).join("|")}function Ov(t,{env:e}){let r=/\${(?[\d\w_]+)(?:)?(?:-(?[^}]*))?}/g;return t.replace(r,(...i)=>{let{variableName:n,colon:s,fallback:o}=i[i.length-1],a=Object.prototype.hasOwnProperty.call(e,n),l=e[n];if(l||a&&!s)return l;if(o!=null)return o;throw new me(`Environment variable not found (${n})`)})}function Hh(t){switch(t){case"true":case"1":case 1:case!0:return!0;case"false":case"0":case 0:case!1:return!1;default:throw new Error(`Couldn't parse "${t}" as a boolean`)}}function jH(t){return typeof t=="undefined"?t:Hh(t)}function Kv(t){try{return jH(t)}catch{return null}}function REe(t){return!!(M.isAbsolute(t)||t.match(/^(\.{1,2}|~)\//))}var S={};it(S,{areDescriptorsEqual:()=>i3,areIdentsEqual:()=>cp,areLocatorsEqual:()=>up,areVirtualPackagesEquivalent:()=>XQe,bindDescriptor:()=>VQe,bindLocator:()=>_Qe,convertDescriptorToLocator:()=>By,convertLocatorToDescriptor:()=>WQe,convertPackageToLocator:()=>zQe,convertToIdent:()=>JQe,convertToManifestRange:()=>ebe,copyPackage:()=>ap,devirtualizeDescriptor:()=>Ap,devirtualizeLocator:()=>lp,getIdentVendorPath:()=>Lx,isPackageCompatible:()=>Sy,isVirtualDescriptor:()=>hA,isVirtualLocator:()=>Io,makeDescriptor:()=>Yt,makeIdent:()=>Eo,makeLocator:()=>Vi,makeRange:()=>by,parseDescriptor:()=>pA,parseFileStyleRange:()=>ZQe,parseIdent:()=>En,parseLocator:()=>Hl,parseRange:()=>Tu,prettyDependent:()=>Nx,prettyDescriptor:()=>Xt,prettyIdent:()=>Vr,prettyLocator:()=>lt,prettyLocatorNoColors:()=>Rx,prettyRange:()=>yy,prettyReference:()=>fp,prettyResolution:()=>Fx,prettyWorkspace:()=>hp,renamePackage:()=>op,slugifyIdent:()=>Dx,slugifyLocator:()=>Mu,sortDescriptors:()=>Ou,stringifyDescriptor:()=>In,stringifyIdent:()=>St,stringifyLocator:()=>is,tryParseDescriptor:()=>gp,tryParseIdent:()=>n3,tryParseLocator:()=>Qy,virtualizeDescriptor:()=>kx,virtualizePackage:()=>Px});var Lu=ie(require("querystring")),e3=ie(Or()),t3=ie(wY());var mn={};it(mn,{checksumFile:()=>Ey,checksumPattern:()=>Iy,makeHash:()=>zi});var my=ie(require("crypto")),Sx=ie(vx());function zi(...t){let e=(0,my.createHash)("sha512"),r="";for(let i of t)typeof i=="string"?r+=i:i&&(r&&(e.update(r),r=""),e.update(i));return r&&e.update(r),e.digest("hex")}async function Ey(t,{baseFs:e,algorithm:r}={baseFs:T,algorithm:"sha512"}){let i=await e.openPromise(t,"r");try{let n=65536,s=Buffer.allocUnsafeSlow(n),o=(0,my.createHash)(r),a=0;for(;(a=await e.readPromise(i,s,0,n))!==0;)o.update(a===n?s:s.slice(0,a));return o.digest("hex")}finally{await e.closePromise(i)}}async function Iy(t,{cwd:e}){let i=(await(0,Sx.default)(t,{cwd:M.fromPortablePath(e),expandDirectories:!1,onlyDirectories:!0,unique:!0})).map(a=>`${a}/**/*`),n=await(0,Sx.default)([t,...i],{cwd:M.fromPortablePath(e),expandDirectories:!1,onlyFiles:!1,unique:!0});n.sort();let s=await Promise.all(n.map(async a=>{let l=[Buffer.from(a)],c=M.toPortablePath(a),u=await T.lstatPromise(c);return u.isSymbolicLink()?l.push(Buffer.from(await T.readlinkPromise(c))):u.isFile()&&l.push(await T.readFilePromise(c)),l.join("\0")})),o=(0,my.createHash)("sha512");for(let a of s)o.update(a);return o.digest("hex")}var wy="virtual:",YQe=5,r3=/(os|cpu)=([a-z0-9_-]+)/,qQe=(0,t3.makeParser)(r3);function Eo(t,e){if(t==null?void 0:t.startsWith("@"))throw new Error("Invalid scope: don't prefix it with '@'");return{identHash:zi(t,e),scope:t,name:e}}function Yt(t,e){return{identHash:t.identHash,scope:t.scope,name:t.name,descriptorHash:zi(t.identHash,e),range:e}}function Vi(t,e){return{identHash:t.identHash,scope:t.scope,name:t.name,locatorHash:zi(t.identHash,e),reference:e}}function JQe(t){return{identHash:t.identHash,scope:t.scope,name:t.name}}function By(t){return{identHash:t.identHash,scope:t.scope,name:t.name,locatorHash:t.descriptorHash,reference:t.range}}function WQe(t){return{identHash:t.identHash,scope:t.scope,name:t.name,descriptorHash:t.locatorHash,range:t.reference}}function zQe(t){return{identHash:t.identHash,scope:t.scope,name:t.name,locatorHash:t.locatorHash,reference:t.reference}}function op(t,e){return{identHash:e.identHash,scope:e.scope,name:e.name,locatorHash:e.locatorHash,reference:e.reference,version:t.version,languageName:t.languageName,linkType:t.linkType,conditions:t.conditions,dependencies:new Map(t.dependencies),peerDependencies:new Map(t.peerDependencies),dependenciesMeta:new Map(t.dependenciesMeta),peerDependenciesMeta:new Map(t.peerDependenciesMeta),bin:new Map(t.bin)}}function ap(t){return op(t,t)}function kx(t,e){if(e.includes("#"))throw new Error("Invalid entropy");return Yt(t,`virtual:${e}#${t.range}`)}function Px(t,e){if(e.includes("#"))throw new Error("Invalid entropy");return op(t,Vi(t,`virtual:${e}#${t.reference}`))}function hA(t){return t.range.startsWith(wy)}function Io(t){return t.reference.startsWith(wy)}function Ap(t){if(!hA(t))throw new Error("Not a virtual descriptor");return Yt(t,t.range.replace(/^[^#]*#/,""))}function lp(t){if(!Io(t))throw new Error("Not a virtual descriptor");return Vi(t,t.reference.replace(/^[^#]*#/,""))}function VQe(t,e){return t.range.includes("::")?t:Yt(t,`${t.range}::${Lu.default.stringify(e)}`)}function _Qe(t,e){return t.reference.includes("::")?t:Vi(t,`${t.reference}::${Lu.default.stringify(e)}`)}function cp(t,e){return t.identHash===e.identHash}function i3(t,e){return t.descriptorHash===e.descriptorHash}function up(t,e){return t.locatorHash===e.locatorHash}function XQe(t,e){if(!Io(t))throw new Error("Invalid package type");if(!Io(e))throw new Error("Invalid package type");if(!cp(t,e)||t.dependencies.size!==e.dependencies.size)return!1;for(let r of t.dependencies.values()){let i=e.dependencies.get(r.identHash);if(!i||!i3(r,i))return!1}return!0}function En(t){let e=n3(t);if(!e)throw new Error(`Invalid ident (${t})`);return e}function n3(t){let e=t.match(/^(?:@([^/]+?)\/)?([^/]+)$/);if(!e)return null;let[,r,i]=e,n=typeof r!="undefined"?r:null;return Eo(n,i)}function pA(t,e=!1){let r=gp(t,e);if(!r)throw new Error(`Invalid descriptor (${t})`);return r}function gp(t,e=!1){let r=e?t.match(/^(?:@([^/]+?)\/)?([^/]+?)(?:@(.+))$/):t.match(/^(?:@([^/]+?)\/)?([^/]+?)(?:@(.+))?$/);if(!r)return null;let[,i,n,s]=r;if(s==="unknown")throw new Error(`Invalid range (${t})`);let o=typeof i!="undefined"?i:null,a=typeof s!="undefined"?s:"unknown";return Yt(Eo(o,n),a)}function Hl(t,e=!1){let r=Qy(t,e);if(!r)throw new Error(`Invalid locator (${t})`);return r}function Qy(t,e=!1){let r=e?t.match(/^(?:@([^/]+?)\/)?([^/]+?)(?:@(.+))$/):t.match(/^(?:@([^/]+?)\/)?([^/]+?)(?:@(.+))?$/);if(!r)return null;let[,i,n,s]=r;if(s==="unknown")throw new Error(`Invalid reference (${t})`);let o=typeof i!="undefined"?i:null,a=typeof s!="undefined"?s:"unknown";return Vi(Eo(o,n),a)}function Tu(t,e){let r=t.match(/^([^#:]*:)?((?:(?!::)[^#])*)(?:#((?:(?!::).)*))?(?:::(.*))?$/);if(r===null)throw new Error(`Invalid range (${t})`);let i=typeof r[1]!="undefined"?r[1]:null;if(typeof(e==null?void 0:e.requireProtocol)=="string"&&i!==e.requireProtocol)throw new Error(`Invalid protocol (${i})`);if((e==null?void 0:e.requireProtocol)&&i===null)throw new Error(`Missing protocol (${i})`);let n=typeof r[3]!="undefined"?decodeURIComponent(r[2]):null;if((e==null?void 0:e.requireSource)&&n===null)throw new Error(`Missing source (${t})`);let s=typeof r[3]!="undefined"?decodeURIComponent(r[3]):decodeURIComponent(r[2]),o=(e==null?void 0:e.parseSelector)?Lu.default.parse(s):s,a=typeof r[4]!="undefined"?Lu.default.parse(r[4]):null;return{protocol:i,source:n,selector:o,params:a}}function ZQe(t,{protocol:e}){let{selector:r,params:i}=Tu(t,{requireProtocol:e,requireBindings:!0});if(typeof i.locator!="string")throw new Error(`Assertion failed: Invalid bindings for ${t}`);return{parentLocator:Hl(i.locator,!0),path:r}}function s3(t){return t=t.replace(/%/g,"%25"),t=t.replace(/:/g,"%3A"),t=t.replace(/#/g,"%23"),t}function $Qe(t){return t===null?!1:Object.entries(t).length>0}function by({protocol:t,source:e,selector:r,params:i}){let n="";return t!==null&&(n+=`${t}`),e!==null&&(n+=`${s3(e)}#`),n+=s3(r),$Qe(i)&&(n+=`::${Lu.default.stringify(i)}`),n}function ebe(t){let{params:e,protocol:r,source:i,selector:n}=Tu(t);for(let s in e)s.startsWith("__")&&delete e[s];return by({protocol:r,source:i,params:e,selector:n})}function St(t){return t.scope?`@${t.scope}/${t.name}`:`${t.name}`}function In(t){return t.scope?`@${t.scope}/${t.name}@${t.range}`:`${t.name}@${t.range}`}function is(t){return t.scope?`@${t.scope}/${t.name}@${t.reference}`:`${t.name}@${t.reference}`}function Dx(t){return t.scope!==null?`@${t.scope}-${t.name}`:t.name}function Mu(t){let{protocol:e,selector:r}=Tu(t.reference),i=e!==null?e.replace(/:$/,""):"exotic",n=e3.default.valid(r),s=n!==null?`${i}-${n}`:`${i}`,o=10,a=t.scope?`${Dx(t)}-${s}-${t.locatorHash.slice(0,o)}`:`${Dx(t)}-${s}-${t.locatorHash.slice(0,o)}`;return kr(a)}function Vr(t,e){return e.scope?`${Ve(t,`@${e.scope}/`,Le.SCOPE)}${Ve(t,e.name,Le.NAME)}`:`${Ve(t,e.name,Le.NAME)}`}function vy(t){if(t.startsWith(wy)){let e=vy(t.substr(t.indexOf("#")+1)),r=t.substr(wy.length,YQe);return`${e} [${r}]`}else return t.replace(/\?.*/,"?[...]")}function yy(t,e){return`${Ve(t,vy(e),Le.RANGE)}`}function Xt(t,e){return`${Vr(t,e)}${Ve(t,"@",Le.RANGE)}${yy(t,e.range)}`}function fp(t,e){return`${Ve(t,vy(e),Le.REFERENCE)}`}function lt(t,e){return`${Vr(t,e)}${Ve(t,"@",Le.REFERENCE)}${fp(t,e.reference)}`}function Rx(t){return`${St(t)}@${vy(t.reference)}`}function Ou(t){return gn(t,[e=>St(e),e=>e.range])}function hp(t,e){return Vr(t,e.locator)}function Fx(t,e,r){let i=hA(e)?Ap(e):e;return r===null?`${Xt(t,i)} \u2192 ${xx(t).Cross}`:i.identHash===r.identHash?`${Xt(t,i)} \u2192 ${fp(t,r.reference)}`:`${Xt(t,i)} \u2192 ${lt(t,r)}`}function Nx(t,e,r){return r===null?`${lt(t,e)}`:`${lt(t,e)} (via ${yy(t,r.range)})`}function Lx(t){return`node_modules/${St(t)}`}function Sy(t,e){return t.conditions?qQe(t.conditions,r=>{let[,i,n]=r.match(r3),s=e[i];return s?s.includes(n):!0}):!0}var gt;(function(r){r.HARD="HARD",r.SOFT="SOFT"})(gt||(gt={}));var oi;(function(i){i.Dependency="Dependency",i.PeerDependency="PeerDependency",i.PeerDependencyMeta="PeerDependencyMeta"})(oi||(oi={}));var ki;(function(i){i.Inactive="inactive",i.Redundant="redundant",i.Active="active"})(ki||(ki={}));var Le={NO_HINT:"NO_HINT",NULL:"NULL",SCOPE:"SCOPE",NAME:"NAME",RANGE:"RANGE",REFERENCE:"REFERENCE",NUMBER:"NUMBER",PATH:"PATH",URL:"URL",ADDED:"ADDED",REMOVED:"REMOVED",CODE:"CODE",DURATION:"DURATION",SIZE:"SIZE",IDENT:"IDENT",DESCRIPTOR:"DESCRIPTOR",LOCATOR:"LOCATOR",RESOLUTION:"RESOLUTION",DEPENDENT:"DEPENDENT",PACKAGE_EXTENSION:"PACKAGE_EXTENSION",SETTING:"SETTING"},Gl;(function(e){e[e.BOLD=2]="BOLD"})(Gl||(Gl={}));var Tx=dp.default.GITHUB_ACTIONS?{level:2}:pp.default.supportsColor?{level:pp.default.supportsColor.level}:{level:0},xy=Tx.level!==0,Mx=xy&&!dp.default.GITHUB_ACTIONS&&!dp.default.CIRCLE&&!dp.default.GITLAB,Ox=new pp.default.Instance(Tx),tbe=new Map([[Le.NO_HINT,null],[Le.NULL,["#a853b5",129]],[Le.SCOPE,["#d75f00",166]],[Le.NAME,["#d7875f",173]],[Le.RANGE,["#00afaf",37]],[Le.REFERENCE,["#87afff",111]],[Le.NUMBER,["#ffd700",220]],[Le.PATH,["#d75fd7",170]],[Le.URL,["#d75fd7",170]],[Le.ADDED,["#5faf00",70]],[Le.REMOVED,["#d70000",160]],[Le.CODE,["#87afff",111]],[Le.SIZE,["#ffd700",220]]]),Ls=t=>t,ky={[Le.NUMBER]:Ls({pretty:(t,e)=>`${e}`,json:t=>t}),[Le.IDENT]:Ls({pretty:(t,e)=>Vr(t,e),json:t=>St(t)}),[Le.LOCATOR]:Ls({pretty:(t,e)=>lt(t,e),json:t=>is(t)}),[Le.DESCRIPTOR]:Ls({pretty:(t,e)=>Xt(t,e),json:t=>In(t)}),[Le.RESOLUTION]:Ls({pretty:(t,{descriptor:e,locator:r})=>Fx(t,e,r),json:({descriptor:t,locator:e})=>({descriptor:In(t),locator:e!==null?is(e):null})}),[Le.DEPENDENT]:Ls({pretty:(t,{locator:e,descriptor:r})=>Nx(t,e,r),json:({locator:t,descriptor:e})=>({locator:is(t),descriptor:In(e)})}),[Le.PACKAGE_EXTENSION]:Ls({pretty:(t,e)=>{switch(e.type){case oi.Dependency:return`${Vr(t,e.parentDescriptor)} \u27A4 ${On(t,"dependencies",Le.CODE)} \u27A4 ${Vr(t,e.descriptor)}`;case oi.PeerDependency:return`${Vr(t,e.parentDescriptor)} \u27A4 ${On(t,"peerDependencies",Le.CODE)} \u27A4 ${Vr(t,e.descriptor)}`;case oi.PeerDependencyMeta:return`${Vr(t,e.parentDescriptor)} \u27A4 ${On(t,"peerDependenciesMeta",Le.CODE)} \u27A4 ${Vr(t,En(e.selector))} \u27A4 ${On(t,e.key,Le.CODE)}`;default:throw new Error(`Assertion failed: Unsupported package extension type: ${e.type}`)}},json:t=>{switch(t.type){case oi.Dependency:return`${St(t.parentDescriptor)} > ${St(t.descriptor)}`;case oi.PeerDependency:return`${St(t.parentDescriptor)} >> ${St(t.descriptor)}`;case oi.PeerDependencyMeta:return`${St(t.parentDescriptor)} >> ${t.selector} / ${t.key}`;default:throw new Error(`Assertion failed: Unsupported package extension type: ${t.type}`)}}}),[Le.SETTING]:Ls({pretty:(t,e)=>(t.get(e),Ku(t,On(t,e,Le.CODE),`https://yarnpkg.com/configuration/yarnrc#${e}`)),json:t=>t}),[Le.DURATION]:Ls({pretty:(t,e)=>{if(e>1e3*60){let r=Math.floor(e/1e3/60),i=Math.ceil((e-r*60*1e3)/1e3);return i===0?`${r}m`:`${r}m ${i}s`}else{let r=Math.floor(e/1e3),i=e-r*1e3;return i===0?`${r}s`:`${r}s ${i}ms`}},json:t=>t}),[Le.SIZE]:Ls({pretty:(t,e)=>{let r=["KB","MB","GB","TB"],i=r.length;for(;i>1&&e<1024**i;)i-=1;let n=1024**i,s=Math.floor(e*100/n)/100;return On(t,`${s} ${r[i-1]}`,Le.NUMBER)},json:t=>t}),[Le.PATH]:Ls({pretty:(t,e)=>On(t,M.fromPortablePath(e),Le.PATH),json:t=>M.fromPortablePath(t)})};function jl(t,e){return[e,t]}function Py(t,e,r){return t.get("enableColors")&&r&2&&(e=pp.default.bold(e)),e}function On(t,e,r){if(!t.get("enableColors"))return e;let i=tbe.get(r);if(i===null)return e;let n=typeof i=="undefined"?r:Tx.level>=3?i[0]:i[1],s=typeof n=="number"?Ox.ansi256(n):n.startsWith("#")?Ox.hex(n):Ox[n];if(typeof s!="function")throw new Error(`Invalid format type ${n}`);return s(e)}var rbe=!!process.env.KONSOLE_VERSION;function Ku(t,e,r){return t.get("enableHyperlinks")?rbe?`]8;;${r}\\${e}]8;;\\`:`]8;;${r}\x07${e}]8;;\x07`:e}function Ve(t,e,r){if(e===null)return On(t,"null",Le.NULL);if(Object.prototype.hasOwnProperty.call(ky,r))return ky[r].pretty(t,e);if(typeof e!="string")throw new Error(`Assertion failed: Expected the value to be a string, got ${typeof e}`);return On(t,e,r)}function Kx(t,e,r,{separator:i=", "}={}){return[...e].map(n=>Ve(t,n,r)).join(i)}function Uu(t,e){if(t===null)return null;if(Object.prototype.hasOwnProperty.call(ky,e))return Nv(e),ky[e].json(t);if(typeof t!="string")throw new Error(`Assertion failed: Expected the value to be a string, got ${typeof t}`);return t}function xx(t){return{Check:On(t,"\u2713","green"),Cross:On(t,"\u2718","red"),Question:On(t,"?","cyan")}}function Yl(t,{label:e,value:[r,i]}){return`${Ve(t,e,Le.CODE)}: ${Ve(t,r,i)}`}var Ts;(function(n){n.Error="error",n.Warning="warning",n.Info="info",n.Discard="discard"})(Ts||(Ts={}));function Cp(t,{configuration:e}){let r=e.get("logFilters"),i=new Map,n=new Map,s=[];for(let g of r){let f=g.get("level");if(typeof f=="undefined")continue;let h=g.get("code");typeof h!="undefined"&&i.set(h,f);let p=g.get("text");typeof p!="undefined"&&n.set(p,f);let d=g.get("pattern");typeof d!="undefined"&&s.push([o3.default.matcher(d,{contains:!0}),f])}s.reverse();let o=(g,f,h)=>{if(g===null||g===z.UNNAMED)return h;let p=n.size>0||s.length>0?(0,a3.default)(f):f;if(n.size>0){let d=n.get(p);if(typeof d!="undefined")return d!=null?d:h}if(s.length>0){for(let[d,m]of s)if(d(p))return m!=null?m:h}if(i.size>0){let d=i.get(KE(g));if(typeof d!="undefined")return d!=null?d:h}return h},a=t.reportInfo,l=t.reportWarning,c=t.reportError,u=function(g,f,h,p){switch(o(f,h,p)){case Ts.Info:a.call(g,f,h);break;case Ts.Warning:l.call(g,f!=null?f:z.UNNAMED,h);break;case Ts.Error:c.call(g,f!=null?f:z.UNNAMED,h);break}};t.reportInfo=function(...g){return u(this,...g,Ts.Info)},t.reportWarning=function(...g){return u(this,...g,Ts.Warning)},t.reportError=function(...g){return u(this,...g,Ts.Error)}}var Zt={};it(Zt,{Method:()=>Jl,RequestError:()=>z8.RequestError,del:()=>pxe,get:()=>fxe,getNetworkSettings:()=>Z8,post:()=>iP,put:()=>hxe,request:()=>xp});var q8=ie(zy()),J8=ie(require("https")),W8=ie(require("http")),tP=ie(Nn()),rP=ie(G8()),Vy=ie(require("url"));var j8=ie(require("stream")),Y8=ie(require("string_decoder"));var nt=class extends Error{constructor(e,r,i){super(r);this.reportExtra=i;this.reportCode=e}};function Axe(t){return typeof t.reportCode!="undefined"}var Xi=class{constructor(){this.reportedInfos=new Set;this.reportedWarnings=new Set;this.reportedErrors=new Set}static progressViaCounter(e){let r=0,i,n=new Promise(l=>{i=l}),s=l=>{let c=i;n=new Promise(u=>{i=u}),r=l,c()},o=(l=0)=>{s(r+1)},a=async function*(){for(;r{let o=i.write(s),a;do if(a=o.indexOf(` +`),a!==-1){let l=n+o.substr(0,a);o=o.substr(a+1),n="",e!==null?this.reportInfo(null,`${e} ${l}`):this.reportInfo(null,l)}while(a!==-1);n+=o}),r.on("end",()=>{let s=i.end();s!==""&&(e!==null?this.reportInfo(null,`${e} ${s}`):this.reportInfo(null,s))}),r}};var z8=ie(zy()),V8=new Map,_8=new Map,lxe=new W8.Agent({keepAlive:!0}),cxe=new J8.Agent({keepAlive:!0});function X8(t){let e=new Vy.URL(t),r={host:e.hostname,headers:{}};return e.port&&(r.port=Number(e.port)),{proxy:r}}async function uxe(t){return na(_8,t,()=>T.readFilePromise(t).then(e=>(_8.set(t,e),e)))}function gxe({statusCode:t,statusMessage:e},r){let i=Ve(r,t,Le.NUMBER),n=`https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/${t}`;return Ku(r,`${i}${e?` (${e})`:""}`,n)}async function _y(t,{configuration:e,customErrorMessage:r}){var i,n;try{return await t}catch(s){if(s.name!=="HTTPError")throw s;let o=(n=r==null?void 0:r(s))!=null?n:(i=s.response.body)==null?void 0:i.error;o==null&&(s.message.startsWith("Response code")?o="The remote server failed to provide the requested resource":o=s.message),s instanceof q8.TimeoutError&&s.event==="socket"&&(o+=`(can be increased via ${Ve(e,"httpTimeout",Le.SETTING)})`);let a=new nt(z.NETWORK_ERROR,o,l=>{s.response&&l.reportError(z.NETWORK_ERROR,` ${Yl(e,{label:"Response Code",value:jl(Le.NO_HINT,gxe(s.response,e))})}`),s.request&&(l.reportError(z.NETWORK_ERROR,` ${Yl(e,{label:"Request Method",value:jl(Le.NO_HINT,s.request.options.method)})}`),l.reportError(z.NETWORK_ERROR,` ${Yl(e,{label:"Request URL",value:jl(Le.URL,s.request.requestUrl)})}`)),s.request.redirects.length>0&&l.reportError(z.NETWORK_ERROR,` ${Yl(e,{label:"Request Redirects",value:jl(Le.NO_HINT,Kx(e,s.request.redirects,Le.URL))})}`),s.request.retryCount===s.request.options.retry.limit&&l.reportError(z.NETWORK_ERROR,` ${Yl(e,{label:"Request Retry Count",value:jl(Le.NO_HINT,`${Ve(e,s.request.retryCount,Le.NUMBER)} (can be increased via ${Ve(e,"httpRetry",Le.SETTING)})`)})}`)});throw a.originalError=s,a}}function Z8(t,e){let r=[...e.configuration.get("networkSettings")].sort(([o],[a])=>a.length-o.length),i={enableNetwork:void 0,caFilePath:void 0,httpProxy:void 0,httpsProxy:void 0},n=Object.keys(i),s=typeof t=="string"?new Vy.URL(t):t;for(let[o,a]of r)if(tP.default.isMatch(s.hostname,o))for(let l of n){let c=a.get(l);c!==null&&typeof i[l]=="undefined"&&(i[l]=c)}for(let o of n)typeof i[o]=="undefined"&&(i[o]=e.configuration.get(o));return i}var Jl;(function(n){n.GET="GET",n.PUT="PUT",n.POST="POST",n.DELETE="DELETE"})(Jl||(Jl={}));async function xp(t,e,{configuration:r,headers:i,jsonRequest:n,jsonResponse:s,method:o=Jl.GET}){let a=typeof t=="string"?new Vy.URL(t):t,l=Z8(a,{configuration:r});if(l.enableNetwork===!1)throw new Error(`Request to '${a.href}' has been blocked because of your configuration settings`);if(a.protocol==="http:"&&!tP.default.isMatch(a.hostname,r.get("unsafeHttpWhitelist")))throw new Error(`Unsafe http requests must be explicitly whitelisted in your configuration (${a.hostname})`);let u={agent:{http:l.httpProxy?rP.default.httpOverHttp(X8(l.httpProxy)):lxe,https:l.httpsProxy?rP.default.httpsOverHttp(X8(l.httpsProxy)):cxe},headers:i,method:o};u.responseType=s?"json":"buffer",e!==null&&(Buffer.isBuffer(e)||!n&&typeof e=="string"?u.body=e:u.json=e);let g=r.get("httpTimeout"),f=r.get("httpRetry"),h=r.get("enableStrictSsl"),p=l.caFilePath,{default:d}=await Promise.resolve().then(()=>ie(zy())),m=p?await uxe(p):void 0,I=d.extend(P({timeout:{socket:g},retry:f,https:{rejectUnauthorized:h,certificateAuthority:m}},u));return r.getLimit("networkConcurrency")(()=>I(a))}async function fxe(t,n){var s=n,{configuration:e,jsonResponse:r}=s,i=qr(s,["configuration","jsonResponse"]);let o=na(V8,t,()=>_y(xp(t,null,P({configuration:e},i)),{configuration:e}).then(a=>(V8.set(t,a.body),a.body)));return Buffer.isBuffer(o)===!1&&(o=await o),r?JSON.parse(o.toString()):o}async function hxe(t,e,n){var s=n,{customErrorMessage:r}=s,i=qr(s,["customErrorMessage"]);return(await _y(xp(t,e,_(P({},i),{method:Jl.PUT})),i)).body}async function iP(t,e,n){var s=n,{customErrorMessage:r}=s,i=qr(s,["customErrorMessage"]);return(await _y(xp(t,e,_(P({},i),{method:Jl.POST})),i)).body}async function pxe(t,i){var n=i,{customErrorMessage:e}=n,r=qr(n,["customErrorMessage"]);return(await _y(xp(t,null,_(P({},r),{method:Jl.DELETE})),r)).body}var Kt={};it(Kt,{PackageManager:()=>tn,detectPackageManager:()=>a9,executePackageAccessibleBinary:()=>g9,executePackageScript:()=>Uw,executePackageShellcode:()=>rD,executeWorkspaceAccessibleBinary:()=>qFe,executeWorkspaceLifecycleScript:()=>u9,executeWorkspaceScript:()=>c9,getPackageAccessibleBinaries:()=>Hw,getWorkspaceAccessibleBinaries:()=>l9,hasPackageScript:()=>GFe,hasWorkspaceScript:()=>tD,makeScriptEnv:()=>Vp,maybeExecuteWorkspaceLifecycleScript:()=>YFe,prepareExternalProject:()=>HFe});var Fp={};it(Fp,{getLibzipPromise:()=>$i,getLibzipSync:()=>v4});var yA=["number","number"],nP;(function(D){D[D.ZIP_ER_OK=0]="ZIP_ER_OK",D[D.ZIP_ER_MULTIDISK=1]="ZIP_ER_MULTIDISK",D[D.ZIP_ER_RENAME=2]="ZIP_ER_RENAME",D[D.ZIP_ER_CLOSE=3]="ZIP_ER_CLOSE",D[D.ZIP_ER_SEEK=4]="ZIP_ER_SEEK",D[D.ZIP_ER_READ=5]="ZIP_ER_READ",D[D.ZIP_ER_WRITE=6]="ZIP_ER_WRITE",D[D.ZIP_ER_CRC=7]="ZIP_ER_CRC",D[D.ZIP_ER_ZIPCLOSED=8]="ZIP_ER_ZIPCLOSED",D[D.ZIP_ER_NOENT=9]="ZIP_ER_NOENT",D[D.ZIP_ER_EXISTS=10]="ZIP_ER_EXISTS",D[D.ZIP_ER_OPEN=11]="ZIP_ER_OPEN",D[D.ZIP_ER_TMPOPEN=12]="ZIP_ER_TMPOPEN",D[D.ZIP_ER_ZLIB=13]="ZIP_ER_ZLIB",D[D.ZIP_ER_MEMORY=14]="ZIP_ER_MEMORY",D[D.ZIP_ER_CHANGED=15]="ZIP_ER_CHANGED",D[D.ZIP_ER_COMPNOTSUPP=16]="ZIP_ER_COMPNOTSUPP",D[D.ZIP_ER_EOF=17]="ZIP_ER_EOF",D[D.ZIP_ER_INVAL=18]="ZIP_ER_INVAL",D[D.ZIP_ER_NOZIP=19]="ZIP_ER_NOZIP",D[D.ZIP_ER_INTERNAL=20]="ZIP_ER_INTERNAL",D[D.ZIP_ER_INCONS=21]="ZIP_ER_INCONS",D[D.ZIP_ER_REMOVE=22]="ZIP_ER_REMOVE",D[D.ZIP_ER_DELETED=23]="ZIP_ER_DELETED",D[D.ZIP_ER_ENCRNOTSUPP=24]="ZIP_ER_ENCRNOTSUPP",D[D.ZIP_ER_RDONLY=25]="ZIP_ER_RDONLY",D[D.ZIP_ER_NOPASSWD=26]="ZIP_ER_NOPASSWD",D[D.ZIP_ER_WRONGPASSWD=27]="ZIP_ER_WRONGPASSWD",D[D.ZIP_ER_OPNOTSUPP=28]="ZIP_ER_OPNOTSUPP",D[D.ZIP_ER_INUSE=29]="ZIP_ER_INUSE",D[D.ZIP_ER_TELL=30]="ZIP_ER_TELL",D[D.ZIP_ER_COMPRESSED_DATA=31]="ZIP_ER_COMPRESSED_DATA"})(nP||(nP={}));var $8=t=>({get HEAP8(){return t.HEAP8},get HEAPU8(){return t.HEAPU8},errors:nP,SEEK_SET:0,SEEK_CUR:1,SEEK_END:2,ZIP_CHECKCONS:4,ZIP_CREATE:1,ZIP_EXCL:2,ZIP_TRUNCATE:8,ZIP_RDONLY:16,ZIP_FL_OVERWRITE:8192,ZIP_FL_COMPRESSED:4,ZIP_OPSYS_DOS:0,ZIP_OPSYS_AMIGA:1,ZIP_OPSYS_OPENVMS:2,ZIP_OPSYS_UNIX:3,ZIP_OPSYS_VM_CMS:4,ZIP_OPSYS_ATARI_ST:5,ZIP_OPSYS_OS_2:6,ZIP_OPSYS_MACINTOSH:7,ZIP_OPSYS_Z_SYSTEM:8,ZIP_OPSYS_CPM:9,ZIP_OPSYS_WINDOWS_NTFS:10,ZIP_OPSYS_MVS:11,ZIP_OPSYS_VSE:12,ZIP_OPSYS_ACORN_RISC:13,ZIP_OPSYS_VFAT:14,ZIP_OPSYS_ALTERNATE_MVS:15,ZIP_OPSYS_BEOS:16,ZIP_OPSYS_TANDEM:17,ZIP_OPSYS_OS_400:18,ZIP_OPSYS_OS_X:19,ZIP_CM_DEFAULT:-1,ZIP_CM_STORE:0,ZIP_CM_DEFLATE:8,uint08S:t._malloc(1),uint16S:t._malloc(2),uint32S:t._malloc(4),uint64S:t._malloc(8),malloc:t._malloc,free:t._free,getValue:t.getValue,open:t.cwrap("zip_open","number",["string","number","number"]),openFromSource:t.cwrap("zip_open_from_source","number",["number","number","number"]),close:t.cwrap("zip_close","number",["number"]),discard:t.cwrap("zip_discard",null,["number"]),getError:t.cwrap("zip_get_error","number",["number"]),getName:t.cwrap("zip_get_name","string",["number","number","number"]),getNumEntries:t.cwrap("zip_get_num_entries","number",["number","number"]),delete:t.cwrap("zip_delete","number",["number","number"]),stat:t.cwrap("zip_stat","number",["number","string","number","number"]),statIndex:t.cwrap("zip_stat_index","number",["number",...yA,"number","number"]),fopen:t.cwrap("zip_fopen","number",["number","string","number"]),fopenIndex:t.cwrap("zip_fopen_index","number",["number",...yA,"number"]),fread:t.cwrap("zip_fread","number",["number","number","number","number"]),fclose:t.cwrap("zip_fclose","number",["number"]),dir:{add:t.cwrap("zip_dir_add","number",["number","string"])},file:{add:t.cwrap("zip_file_add","number",["number","string","number","number"]),getError:t.cwrap("zip_file_get_error","number",["number"]),getExternalAttributes:t.cwrap("zip_file_get_external_attributes","number",["number",...yA,"number","number","number"]),setExternalAttributes:t.cwrap("zip_file_set_external_attributes","number",["number",...yA,"number","number","number"]),setMtime:t.cwrap("zip_file_set_mtime","number",["number",...yA,"number","number"]),setCompression:t.cwrap("zip_set_file_compression","number",["number",...yA,"number","number"])},ext:{countSymlinks:t.cwrap("zip_ext_count_symlinks","number",["number"])},error:{initWithCode:t.cwrap("zip_error_init_with_code",null,["number","number"]),strerror:t.cwrap("zip_error_strerror","string",["number"])},name:{locate:t.cwrap("zip_name_locate","number",["number","string","number"])},source:{fromUnattachedBuffer:t.cwrap("zip_source_buffer_create","number",["number","number","number","number"]),fromBuffer:t.cwrap("zip_source_buffer","number",["number","number",...yA,"number"]),free:t.cwrap("zip_source_free",null,["number"]),keep:t.cwrap("zip_source_keep",null,["number"]),open:t.cwrap("zip_source_open","number",["number"]),close:t.cwrap("zip_source_close","number",["number"]),seek:t.cwrap("zip_source_seek","number",["number",...yA,"number"]),tell:t.cwrap("zip_source_tell","number",["number"]),read:t.cwrap("zip_source_read","number",["number","number","number"]),error:t.cwrap("zip_source_error","number",["number"]),setMtime:t.cwrap("zip_source_set_mtime","number",["number","number"])},struct:{stat:t.cwrap("zipstruct_stat","number",[]),statS:t.cwrap("zipstruct_statS","number",[]),statName:t.cwrap("zipstruct_stat_name","string",["number"]),statIndex:t.cwrap("zipstruct_stat_index","number",["number"]),statSize:t.cwrap("zipstruct_stat_size","number",["number"]),statCompSize:t.cwrap("zipstruct_stat_comp_size","number",["number"]),statCompMethod:t.cwrap("zipstruct_stat_comp_method","number",["number"]),statMtime:t.cwrap("zipstruct_stat_mtime","number",["number"]),statCrc:t.cwrap("zipstruct_stat_crc","number",["number"]),error:t.cwrap("zipstruct_error","number",[]),errorS:t.cwrap("zipstruct_errorS","number",[]),errorCodeZip:t.cwrap("zipstruct_error_code_zip","number",["number"])}});var BP=null;function v4(){return BP===null&&(BP=$8(b4())),BP}async function $i(){return v4()}var jp={};it(jp,{ShellError:()=>as,execute:()=>Fw,globUtils:()=>bw});var Hp={};it(Hp,{parseResolution:()=>gw,parseShell:()=>Aw,parseSyml:()=>Ii,stringifyArgument:()=>SP,stringifyArgumentSegment:()=>xP,stringifyArithmeticExpression:()=>uw,stringifyCommand:()=>vP,stringifyCommandChain:()=>rg,stringifyCommandChainThen:()=>bP,stringifyCommandLine:()=>lw,stringifyCommandLineThen:()=>QP,stringifyEnvSegment:()=>cw,stringifyRedirectArgument:()=>Np,stringifyResolution:()=>fw,stringifyShell:()=>tg,stringifyShellLine:()=>tg,stringifySyml:()=>Qa,stringifyValueArgument:()=>ig});var k4=ie(x4());function Aw(t,e={isGlobPattern:()=>!1}){try{return(0,k4.parse)(t,e)}catch(r){throw r.location&&(r.message=r.message.replace(/(\.)?$/,` (line ${r.location.start.line}, column ${r.location.start.column})$1`)),r}}function tg(t,{endSemicolon:e=!1}={}){return t.map(({command:r,type:i},n)=>`${lw(r)}${i===";"?n!==t.length-1||e?";":"":" &"}`).join(" ")}function lw(t){return`${rg(t.chain)}${t.then?` ${QP(t.then)}`:""}`}function QP(t){return`${t.type} ${lw(t.line)}`}function rg(t){return`${vP(t)}${t.then?` ${bP(t.then)}`:""}`}function bP(t){return`${t.type} ${rg(t.chain)}`}function vP(t){switch(t.type){case"command":return`${t.envs.length>0?`${t.envs.map(e=>cw(e)).join(" ")} `:""}${t.args.map(e=>SP(e)).join(" ")}`;case"subshell":return`(${tg(t.subshell)})${t.args.length>0?` ${t.args.map(e=>Np(e)).join(" ")}`:""}`;case"group":return`{ ${tg(t.group,{endSemicolon:!0})} }${t.args.length>0?` ${t.args.map(e=>Np(e)).join(" ")}`:""}`;case"envs":return t.envs.map(e=>cw(e)).join(" ");default:throw new Error(`Unsupported command type: "${t.type}"`)}}function cw(t){return`${t.name}=${t.args[0]?ig(t.args[0]):""}`}function SP(t){switch(t.type){case"redirection":return Np(t);case"argument":return ig(t);default:throw new Error(`Unsupported argument type: "${t.type}"`)}}function Np(t){return`${t.subtype} ${t.args.map(e=>ig(e)).join(" ")}`}function ig(t){return t.segments.map(e=>xP(e)).join("")}function xP(t){let e=(i,n)=>n?`"${i}"`:i,r=i=>i===""?'""':i.match(/[(){}<>$|&; \t"']/)?`$'${i.replace(/\\/g,"\\\\").replace(/'/g,"\\'").replace(/\f/g,"\\f").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/\t/g,"\\t").replace(/\v/g,"\\v").replace(/\0/g,"\\0")}'`:i;switch(t.type){case"text":return r(t.text);case"glob":return t.pattern;case"shell":return e(`\${${tg(t.shell)}}`,t.quoted);case"variable":return e(typeof t.defaultValue=="undefined"?`\${${t.name}}`:t.defaultValue.length===0?`\${${t.name}:-}`:`\${${t.name}:-${t.defaultValue.map(i=>ig(i)).join(" ")}}`,t.quoted);case"arithmetic":return`$(( ${uw(t.arithmetic)} ))`;default:throw new Error(`Unsupported argument segment type: "${t.type}"`)}}function uw(t){let e=n=>{switch(n){case"addition":return"+";case"subtraction":return"-";case"multiplication":return"*";case"division":return"/";default:throw new Error(`Can't extract operator from arithmetic expression of type "${n}"`)}},r=(n,s)=>s?`( ${n} )`:n,i=n=>r(uw(n),!["number","variable"].includes(n.type));switch(t.type){case"number":return String(t.value);case"variable":return t.name;default:return`${i(t.left)} ${e(t.type)} ${i(t.right)}`}}var R4=ie(D4());function gw(t){let e=t.match(/^\*{1,2}\/(.*)/);if(e)throw new Error(`The override for '${t}' includes a glob pattern. Glob patterns have been removed since their behaviours don't match what you'd expect. Set the override to '${e[1]}' instead.`);try{return(0,R4.parse)(t)}catch(r){throw r.location&&(r.message=r.message.replace(/(\.)?$/,` (line ${r.location.start.line}, column ${r.location.start.column})$1`)),r}}function fw(t){let e="";return t.from&&(e+=t.from.fullName,t.from.description&&(e+=`@${t.from.description}`),e+="/"),e+=t.descriptor.fullName,t.descriptor.description&&(e+=`@${t.descriptor.description}`),e}var Qw=ie(w5()),b5=ie(Q5()),$De=/^(?![-?:,\][{}#&*!|>'"%@` \t\r\n]).([ \t]*(?![,\][{}:# \t\r\n]).)*$/,v5=["__metadata","version","resolution","dependencies","peerDependencies","dependenciesMeta","peerDependenciesMeta","binaries"],HP=class{constructor(e){this.data=e}};function S5(t){return t.match($De)?t:JSON.stringify(t)}function x5(t){return typeof t=="undefined"?!0:typeof t=="object"&&t!==null?Object.keys(t).every(e=>x5(t[e])):!1}function GP(t,e,r){if(t===null)return`null +`;if(typeof t=="number"||typeof t=="boolean")return`${t.toString()} +`;if(typeof t=="string")return`${S5(t)} +`;if(Array.isArray(t)){if(t.length===0)return`[] +`;let i=" ".repeat(e);return` +${t.map(s=>`${i}- ${GP(s,e+1,!1)}`).join("")}`}if(typeof t=="object"&&t){let i,n;t instanceof HP?(i=t.data,n=!1):(i=t,n=!0);let s=" ".repeat(e),o=Object.keys(i);n&&o.sort((l,c)=>{let u=v5.indexOf(l),g=v5.indexOf(c);return u===-1&&g===-1?lc?1:0:u!==-1&&g===-1?-1:u===-1&&g!==-1?1:u-g});let a=o.filter(l=>!x5(i[l])).map((l,c)=>{let u=i[l],g=S5(l),f=GP(u,e+1,!0),h=c>0||r?s:"";return f.startsWith(` +`)?`${h}${g}:${f}`:`${h}${g}: ${f}`}).join(e===0?` +`:"")||` +`;return r?` +${a}`:`${a}`}throw new Error(`Unsupported value type (${t})`)}function Qa(t){try{let e=GP(t,0,!1);return e!==` +`?e:""}catch(e){throw e.location&&(e.message=e.message.replace(/(\.)?$/,` (line ${e.location.start.line}, column ${e.location.start.column})$1`)),e}}Qa.PreserveOrdering=HP;function eRe(t){return t.endsWith(` +`)||(t+=` +`),(0,b5.parse)(t)}var tRe=/^(#.*(\r?\n))*?#\s+yarn\s+lockfile\s+v1\r?\n/i;function rRe(t){if(tRe.test(t))return eRe(t);let e=(0,Qw.safeLoad)(t,{schema:Qw.FAILSAFE_SCHEMA,json:!0});if(e==null)return{};if(typeof e!="object")throw new Error(`Expected an indexed object, got a ${typeof e} instead. Does your file follow Yaml's rules?`);if(Array.isArray(e))throw new Error("Expected an indexed object, got an array instead. Does your file follow Yaml's rules?");return e}function Ii(t){return rRe(t)}var U5=ie(jb()),H5=ie(require("os")),Kn=ie(require("stream")),G5=ie(require("util"));var as=class extends Error{constructor(e){super(e);this.name="ShellError"}};var bw={};it(bw,{fastGlobOptions:()=>D5,isBraceExpansion:()=>R5,isGlobPattern:()=>iRe,match:()=>nRe,micromatchOptions:()=>Sw});var k5=ie(gy()),P5=ie(require("fs")),vw=ie(Nn()),Sw={strictBrackets:!0},D5={onlyDirectories:!1,onlyFiles:!1};function iRe(t){if(!vw.default.scan(t,Sw).isGlob)return!1;try{vw.default.parse(t,Sw)}catch{return!1}return!0}function nRe(t,{cwd:e,baseFs:r}){return(0,k5.default)(t,_(P({},D5),{cwd:M.fromPortablePath(e),fs:SE(P5.default,new ah(r))}))}function R5(t){return vw.default.scan(t,Sw).isBrace}var F5=ie(bb()),Bo=ie(require("stream")),N5=ie(require("string_decoder")),wn;(function(i){i[i.STDIN=0]="STDIN",i[i.STDOUT=1]="STDOUT",i[i.STDERR=2]="STDERR"})(wn||(wn={}));var sc=new Set;function jP(){}function YP(){for(let t of sc)t.kill()}function L5(t,e,r,i){return n=>{let s=n[0]instanceof Bo.Transform?"pipe":n[0],o=n[1]instanceof Bo.Transform?"pipe":n[1],a=n[2]instanceof Bo.Transform?"pipe":n[2],l=(0,F5.default)(t,e,_(P({},i),{stdio:[s,o,a]}));return sc.add(l),sc.size===1&&(process.on("SIGINT",jP),process.on("SIGTERM",YP)),n[0]instanceof Bo.Transform&&n[0].pipe(l.stdin),n[1]instanceof Bo.Transform&&l.stdout.pipe(n[1],{end:!1}),n[2]instanceof Bo.Transform&&l.stderr.pipe(n[2],{end:!1}),{stdin:l.stdin,promise:new Promise(c=>{l.on("error",u=>{switch(sc.delete(l),sc.size===0&&(process.off("SIGINT",jP),process.off("SIGTERM",YP)),u.code){case"ENOENT":n[2].write(`command not found: ${t} +`),c(127);break;case"EACCES":n[2].write(`permission denied: ${t} +`),c(128);break;default:n[2].write(`uncaught error: ${u.message} +`),c(1);break}}),l.on("exit",u=>{sc.delete(l),sc.size===0&&(process.off("SIGINT",jP),process.off("SIGTERM",YP)),c(u!==null?u:129)})})}}}function T5(t){return e=>{let r=e[0]==="pipe"?new Bo.PassThrough:e[0];return{stdin:r,promise:Promise.resolve().then(()=>t({stdin:r,stdout:e[1],stderr:e[2]}))}}}var Os=class{constructor(e){this.stream=e}close(){}get(){return this.stream}},M5=class{constructor(){this.stream=null}close(){if(this.stream===null)throw new Error("Assertion failed: No stream attached");this.stream.end()}attach(e){this.stream=e}get(){if(this.stream===null)throw new Error("Assertion failed: No stream attached");return this.stream}},Gp=class{constructor(e,r){this.stdin=null;this.stdout=null;this.stderr=null;this.pipe=null;this.ancestor=e,this.implementation=r}static start(e,{stdin:r,stdout:i,stderr:n}){let s=new Gp(null,e);return s.stdin=r,s.stdout=i,s.stderr=n,s}pipeTo(e,r=1){let i=new Gp(this,e),n=new M5;return i.pipe=n,i.stdout=this.stdout,i.stderr=this.stderr,(r&1)==1?this.stdout=n:this.ancestor!==null&&(this.stderr=this.ancestor.stdout),(r&2)==2?this.stderr=n:this.ancestor!==null&&(this.stderr=this.ancestor.stderr),i}async exec(){let e=["ignore","ignore","ignore"];if(this.pipe)e[0]="pipe";else{if(this.stdin===null)throw new Error("Assertion failed: No input stream registered");e[0]=this.stdin.get()}let r;if(this.stdout===null)throw new Error("Assertion failed: No output stream registered");r=this.stdout,e[1]=r.get();let i;if(this.stderr===null)throw new Error("Assertion failed: No error stream registered");i=this.stderr,e[2]=i.get();let n=this.implementation(e);return this.pipe&&this.pipe.attach(n.stdin),await n.promise.then(s=>(r.close(),i.close(),s))}async run(){let e=[];for(let i=this;i;i=i.ancestor)e.push(i.exec());return(await Promise.all(e))[0]}};function xw(t,e){return Gp.start(t,e)}function O5(t,e=null){let r=new Bo.PassThrough,i=new N5.StringDecoder,n="";return r.on("data",s=>{let o=i.write(s),a;do if(a=o.indexOf(` +`),a!==-1){let l=n+o.substr(0,a);o=o.substr(a+1),n="",t(e!==null?`${e} ${l}`:l)}while(a!==-1);n+=o}),r.on("end",()=>{let s=i.end();s!==""&&t(e!==null?`${e} ${s}`:s)}),r}function K5(t,{prefix:e}){return{stdout:O5(r=>t.stdout.write(`${r} +`),t.stdout.isTTY?e:null),stderr:O5(r=>t.stderr.write(`${r} +`),t.stderr.isTTY?e:null)}}var sRe=(0,G5.promisify)(setTimeout);var Fi;(function(r){r[r.Readable=1]="Readable",r[r.Writable=2]="Writable"})(Fi||(Fi={}));function j5(t,e,r){let i=new Kn.PassThrough({autoDestroy:!0});switch(t){case wn.STDIN:(e&1)==1&&r.stdin.pipe(i,{end:!1}),(e&2)==2&&r.stdin instanceof Kn.Writable&&i.pipe(r.stdin,{end:!1});break;case wn.STDOUT:(e&1)==1&&r.stdout.pipe(i,{end:!1}),(e&2)==2&&i.pipe(r.stdout,{end:!1});break;case wn.STDERR:(e&1)==1&&r.stderr.pipe(i,{end:!1}),(e&2)==2&&i.pipe(r.stderr,{end:!1});break;default:throw new as(`Bad file descriptor: "${t}"`)}return i}function kw(t,e={}){let r=P(P({},t),e);return r.environment=P(P({},t.environment),e.environment),r.variables=P(P({},t.variables),e.variables),r}var oRe=new Map([["cd",async([t=(0,H5.homedir)(),...e],r,i)=>{let n=v.resolve(i.cwd,M.toPortablePath(t));if(!(await r.baseFs.statPromise(n).catch(o=>{throw o.code==="ENOENT"?new as(`cd: no such file or directory: ${t}`):o})).isDirectory())throw new as(`cd: not a directory: ${t}`);return i.cwd=n,0}],["pwd",async(t,e,r)=>(r.stdout.write(`${M.fromPortablePath(r.cwd)} +`),0)],[":",async(t,e,r)=>0],["true",async(t,e,r)=>0],["false",async(t,e,r)=>1],["exit",async([t,...e],r,i)=>i.exitCode=parseInt(t!=null?t:i.variables["?"],10)],["echo",async(t,e,r)=>(r.stdout.write(`${t.join(" ")} +`),0)],["sleep",async([t],e,r)=>{if(typeof t=="undefined")throw new as("sleep: missing operand");let i=Number(t);if(Number.isNaN(i))throw new as(`sleep: invalid time interval '${t}'`);return await sRe(1e3*i,0)}],["__ysh_run_procedure",async(t,e,r)=>{let i=r.procedures[t[0]];return await xw(i,{stdin:new Os(r.stdin),stdout:new Os(r.stdout),stderr:new Os(r.stderr)}).run()}],["__ysh_set_redirects",async(t,e,r)=>{let i=r.stdin,n=r.stdout,s=r.stderr,o=[],a=[],l=[],c=0;for(;t[c]!=="--";){let g=t[c++],{type:f,fd:h}=JSON.parse(g),p=B=>{switch(h){case null:case 0:o.push(B);break;default:throw new Error(`Unsupported file descriptor: "${h}"`)}},d=B=>{switch(h){case null:case 1:a.push(B);break;case 2:l.push(B);break;default:throw new Error(`Unsupported file descriptor: "${h}"`)}},m=Number(t[c++]),I=c+m;for(let B=c;Be.baseFs.createReadStream(v.resolve(r.cwd,M.toPortablePath(t[B]))));break;case"<<<":p(()=>{let b=new Kn.PassThrough;return process.nextTick(()=>{b.write(`${t[B]} +`),b.end()}),b});break;case"<&":p(()=>j5(Number(t[B]),1,r));break;case">":case">>":{let b=v.resolve(r.cwd,M.toPortablePath(t[B]));d(b==="/dev/null"?new Kn.Writable({autoDestroy:!0,emitClose:!0,write(R,H,L){setImmediate(L)}}):e.baseFs.createWriteStream(b,f===">>"?{flags:"a"}:void 0))}break;case">&":d(j5(Number(t[B]),2,r));break;default:throw new Error(`Assertion failed: Unsupported redirection type: "${f}"`)}}if(o.length>0){let g=new Kn.PassThrough;i=g;let f=h=>{if(h===o.length)g.end();else{let p=o[h]();p.pipe(g,{end:!1}),p.on("end",()=>{f(h+1)})}};f(0)}if(a.length>0){let g=new Kn.PassThrough;n=g;for(let f of a)g.pipe(f)}if(l.length>0){let g=new Kn.PassThrough;s=g;for(let f of l)g.pipe(f)}let u=await xw(Yp(t.slice(c+1),e,r),{stdin:new Os(i),stdout:new Os(n),stderr:new Os(s)}).run();return await Promise.all(a.map(g=>new Promise((f,h)=>{g.on("error",p=>{h(p)}),g.on("close",()=>{f()}),g.end()}))),await Promise.all(l.map(g=>new Promise((f,h)=>{g.on("error",p=>{h(p)}),g.on("close",()=>{f()}),g.end()}))),u}]]);async function aRe(t,e,r){let i=[],n=new Kn.PassThrough;return n.on("data",s=>i.push(s)),await Pw(t,e,kw(r,{stdout:n})),Buffer.concat(i).toString().replace(/[\r\n]+$/,"")}async function Y5(t,e,r){let i=t.map(async s=>{let o=await oc(s.args,e,r);return{name:s.name,value:o.join(" ")}});return(await Promise.all(i)).reduce((s,o)=>(s[o.name]=o.value,s),{})}function Dw(t){return t.match(/[^ \r\n\t]+/g)||[]}async function q5(t,e,r,i,n=i){switch(t.name){case"$":i(String(process.pid));break;case"#":i(String(e.args.length));break;case"@":if(t.quoted)for(let s of e.args)n(s);else for(let s of e.args){let o=Dw(s);for(let a=0;a=0&&st+e,subtraction:(t,e)=>t-e,multiplication:(t,e)=>t*e,division:(t,e)=>Math.trunc(t/e)};async function qp(t,e,r){if(t.type==="number"){if(Number.isInteger(t.value))return t.value;throw new Error(`Invalid number: "${t.value}", only integers are allowed`)}else if(t.type==="variable"){let i=[];await q5(_(P({},t),{quoted:!0}),e,r,s=>i.push(s));let n=Number(i.join(" "));return Number.isNaN(n)?qp({type:"variable",name:i.join(" ")},e,r):qp({type:"number",value:n},e,r)}else return ARe[t.type](await qp(t.left,e,r),await qp(t.right,e,r))}async function oc(t,e,r){let i=new Map,n=[],s=[],o=u=>{s.push(u)},a=()=>{s.length>0&&n.push(s.join("")),s=[]},l=u=>{o(u),a()},c=(u,g,f)=>{let h=JSON.stringify({type:u,fd:g}),p=i.get(h);typeof p=="undefined"&&i.set(h,p=[]),p.push(f)};for(let u of t){let g=!1;switch(u.type){case"redirection":{let f=await oc(u.args,e,r);for(let h of f)c(u.subtype,u.fd,h)}break;case"argument":for(let f of u.segments)switch(f.type){case"text":o(f.text);break;case"glob":o(f.pattern),g=!0;break;case"shell":{let h=await aRe(f.shell,e,r);if(f.quoted)o(h);else{let p=Dw(h);for(let d=0;d0){let u=[];for(let[g,f]of i.entries())u.splice(u.length,0,g,String(f.length),...f);n.splice(0,0,"__ysh_set_redirects",...u,"--")}return n}function Yp(t,e,r){e.builtins.has(t[0])||(t=["command",...t]);let i=M.fromPortablePath(r.cwd),n=r.environment;typeof n.PWD!="undefined"&&(n=_(P({},n),{PWD:i}));let[s,...o]=t;if(s==="command")return L5(o[0],o.slice(1),e,{cwd:i,env:n});let a=e.builtins.get(s);if(typeof a=="undefined")throw new Error(`Assertion failed: A builtin should exist for "${s}"`);return T5(async({stdin:l,stdout:c,stderr:u})=>{let{stdin:g,stdout:f,stderr:h}=r;r.stdin=l,r.stdout=c,r.stderr=u;try{return await a(o,e,r)}finally{r.stdin=g,r.stdout=f,r.stderr=h}})}function lRe(t,e,r){return i=>{let n=new Kn.PassThrough,s=Pw(t,e,kw(r,{stdin:n}));return{stdin:n,promise:s}}}function cRe(t,e,r){return i=>{let n=new Kn.PassThrough,s=Pw(t,e,r);return{stdin:n,promise:s}}}function J5(t,e,r,i){if(e.length===0)return t;{let n;do n=String(Math.random());while(Object.prototype.hasOwnProperty.call(i.procedures,n));return i.procedures=P({},i.procedures),i.procedures[n]=t,Yp([...e,"__ysh_run_procedure",n],r,i)}}async function W5(t,e,r){let i=t,n=null,s=null;for(;i;){let o=i.then?P({},r):r,a;switch(i.type){case"command":{let l=await oc(i.args,e,r),c=await Y5(i.envs,e,r);a=i.envs.length?Yp(l,e,kw(o,{environment:c})):Yp(l,e,o)}break;case"subshell":{let l=await oc(i.args,e,r),c=lRe(i.subshell,e,o);a=J5(c,l,e,o)}break;case"group":{let l=await oc(i.args,e,r),c=cRe(i.group,e,o);a=J5(c,l,e,o)}break;case"envs":{let l=await Y5(i.envs,e,r);o.environment=P(P({},o.environment),l),a=Yp(["true"],e,o)}break}if(typeof a=="undefined")throw new Error("Assertion failed: An action should have been generated");if(n===null)s=xw(a,{stdin:new Os(o.stdin),stdout:new Os(o.stdout),stderr:new Os(o.stderr)});else{if(s===null)throw new Error("Assertion failed: The execution pipeline should have been setup");switch(n){case"|":s=s.pipeTo(a,wn.STDOUT);break;case"|&":s=s.pipeTo(a,wn.STDOUT|wn.STDERR);break}}i.then?(n=i.then.type,i=i.then.chain):i=null}if(s===null)throw new Error("Assertion failed: The execution pipeline should have been setup");return await s.run()}async function uRe(t,e,r,{background:i=!1}={}){function n(s){let o=["#2E86AB","#A23B72","#F18F01","#C73E1D","#CCE2A3"],a=o[s%o.length];return U5.default.hex(a)}if(i){let s=r.nextBackgroundJobIndex++,o=n(s),a=`[${s}]`,l=o(a),{stdout:c,stderr:u}=K5(r,{prefix:l});return r.backgroundJobs.push(W5(t,e,kw(r,{stdout:c,stderr:u})).catch(g=>u.write(`${g.message} +`)).finally(()=>{r.stdout.isTTY&&r.stdout.write(`Job ${l}, '${o(rg(t))}' has ended +`)})),0}return await W5(t,e,r)}async function gRe(t,e,r,{background:i=!1}={}){let n,s=a=>{n=a,r.variables["?"]=String(a)},o=async a=>{try{return await uRe(a.chain,e,r,{background:i&&typeof a.then=="undefined"})}catch(l){if(!(l instanceof as))throw l;return r.stderr.write(`${l.message} +`),1}};for(s(await o(t));t.then;){if(r.exitCode!==null)return r.exitCode;switch(t.then.type){case"&&":n===0&&s(await o(t.then.line));break;case"||":n!==0&&s(await o(t.then.line));break;default:throw new Error(`Assertion failed: Unsupported command type: "${t.then.type}"`)}t=t.then.line}return n}async function Pw(t,e,r){let i=r.backgroundJobs;r.backgroundJobs=[];let n=0;for(let{command:s,type:o}of t){if(n=await gRe(s,e,r,{background:o==="&"}),r.exitCode!==null)return r.exitCode;r.variables["?"]=String(n)}return await Promise.all(r.backgroundJobs),r.backgroundJobs=i,n}function z5(t){switch(t.type){case"variable":return t.name==="@"||t.name==="#"||t.name==="*"||Number.isFinite(parseInt(t.name,10))||"defaultValue"in t&&!!t.defaultValue&&t.defaultValue.some(e=>Rw(e));case"arithmetic":return qP(t.arithmetic);case"shell":return JP(t.shell);default:return!1}}function Rw(t){switch(t.type){case"redirection":return t.args.some(e=>Rw(e));case"argument":return t.segments.some(e=>z5(e));default:throw new Error(`Assertion failed: Unsupported argument type: "${t.type}"`)}}function qP(t){switch(t.type){case"variable":return z5(t);case"number":return!1;default:return qP(t.left)||qP(t.right)}}function JP(t){return t.some(({command:e})=>{for(;e;){let r=e.chain;for(;r;){let i;switch(r.type){case"subshell":i=JP(r.subshell);break;case"command":i=r.envs.some(n=>n.args.some(s=>Rw(s)))||r.args.some(n=>Rw(n));break}if(i)return!0;if(!r.then)break;r=r.then.chain}if(!e.then)break;e=e.then.line}return!1})}async function Fw(t,e=[],{baseFs:r=new Wt,builtins:i={},cwd:n=M.toPortablePath(process.cwd()),env:s=process.env,stdin:o=process.stdin,stdout:a=process.stdout,stderr:l=process.stderr,variables:c={},glob:u=bw}={}){let g={};for(let[p,d]of Object.entries(s))typeof d!="undefined"&&(g[p]=d);let f=new Map(oRe);for(let[p,d]of Object.entries(i))f.set(p,d);o===null&&(o=new Kn.PassThrough,o.end());let h=Aw(t,u);if(!JP(h)&&h.length>0&&e.length>0){let{command:p}=h[h.length-1];for(;p.then;)p=p.then.line;let d=p.chain;for(;d.then;)d=d.then.chain;d.type==="command"&&(d.args=d.args.concat(e.map(m=>({type:"argument",segments:[{type:"text",text:m}]}))))}return await Pw(h,{args:e,baseFs:r,builtins:f,initialStdin:o,initialStdout:a,initialStderr:l,glob:u},{cwd:n,environment:g,exitCode:null,procedures:{},stdin:o,stdout:a,stderr:l,variables:Object.assign({},c,{["?"]:0}),nextBackgroundJobIndex:1,backgroundJobs:[]})}var s9=ie(ZP()),o9=ie(Wp()),cc=ie(require("stream"));var J6=ie(Or());var zp=class{supportsDescriptor(e,r){return!!(e.range.startsWith(zp.protocol)||r.project.tryWorkspaceByDescriptor(e)!==null)}supportsLocator(e,r){return!!e.reference.startsWith(zp.protocol)}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,i){return e}getResolutionDependencies(e,r){return[]}async getCandidates(e,r,i){return[i.project.getWorkspaceByDescriptor(e).anchoredLocator]}async getSatisfying(e,r,i){return null}async resolve(e,r){let i=r.project.getWorkspaceByCwd(e.reference.slice(zp.protocol.length));return _(P({},e),{version:i.manifest.version||"0.0.0",languageName:"unknown",linkType:gt.SOFT,conditions:null,dependencies:new Map([...i.manifest.dependencies,...i.manifest.devDependencies]),peerDependencies:new Map([...i.manifest.peerDependencies]),dependenciesMeta:i.manifest.dependenciesMeta,peerDependenciesMeta:i.manifest.peerDependenciesMeta,bin:i.manifest.bin})}},Yr=zp;Yr.protocol="workspace:";var qt={};it(qt,{SemVer:()=>j6.SemVer,satisfiesWithPrereleases:()=>lc,validRange:()=>Us});var Lw=ie(Or()),j6=ie(Or()),Y6=new Map;function lc(t,e,r=!1){if(!t)return!1;let i=`${e}${r}`,n=Y6.get(i);if(typeof n=="undefined")try{n=new Lw.default.Range(e,{includePrerelease:!0,loose:r})}catch{return!1}finally{Y6.set(i,n||null)}else if(n===null)return!1;let s;try{s=new Lw.default.SemVer(t,n)}catch(o){return!1}return n.test(s)?!0:(s.prerelease&&(s.prerelease=[]),n.set.some(o=>{for(let a of o)a.semver.prerelease&&(a.semver.prerelease=[]);return o.every(a=>a.test(s))}))}var q6=new Map;function Us(t){if(t.indexOf(":")!==-1)return null;let e=q6.get(t);if(typeof e!="undefined")return e;try{e=new Lw.default.Range(t)}catch{e=null}return q6.set(t,e),e}var vA=class{constructor(){this.indent=" ";this.name=null;this.version=null;this.os=null;this.cpu=null;this.type=null;this.packageManager=null;this.private=!1;this.license=null;this.main=null;this.module=null;this.browser=null;this.languageName=null;this.bin=new Map;this.scripts=new Map;this.dependencies=new Map;this.devDependencies=new Map;this.peerDependencies=new Map;this.workspaceDefinitions=[];this.dependenciesMeta=new Map;this.peerDependenciesMeta=new Map;this.resolutions=[];this.files=null;this.publishConfig=null;this.installConfig=null;this.preferUnplugged=null;this.raw={};this.errors=[]}static async tryFind(e,{baseFs:r=new Wt}={}){let i=v.join(e,"package.json");return await r.existsPromise(i)?await vA.fromFile(i,{baseFs:r}):null}static async find(e,{baseFs:r}={}){let i=await vA.tryFind(e,{baseFs:r});if(i===null)throw new Error("Manifest not found");return i}static async fromFile(e,{baseFs:r=new Wt}={}){let i=new vA;return await i.loadFile(e,{baseFs:r}),i}static fromText(e){let r=new vA;return r.loadFromText(e),r}static isManifestFieldCompatible(e,r){if(e===null)return!0;let i=!0,n=!1;for(let s of e)if(s[0]==="!"){if(n=!0,r===s.slice(1))return!1}else if(i=!1,s===r)return!0;return n&&i}loadFromText(e){let r;try{r=JSON.parse(z6(e)||"{}")}catch(i){throw i.message+=` (when parsing ${e})`,i}this.load(r),this.indent=W6(e)}async loadFile(e,{baseFs:r=new Wt}){let i=await r.readFilePromise(e,"utf8"),n;try{n=JSON.parse(z6(i)||"{}")}catch(s){throw s.message+=` (when parsing ${e})`,s}this.load(n),this.indent=W6(i)}load(e,{yamlCompatibilityMode:r=!1}={}){if(typeof e!="object"||e===null)throw new Error(`Utterly invalid manifest data (${e})`);this.raw=e;let i=[];if(this.name=null,typeof e.name=="string")try{this.name=En(e.name)}catch(s){i.push(new Error("Parsing failed for the 'name' field"))}if(typeof e.version=="string"?this.version=e.version:this.version=null,Array.isArray(e.os)){let s=[];this.os=s;for(let o of e.os)typeof o!="string"?i.push(new Error("Parsing failed for the 'os' field")):s.push(o)}else this.os=null;if(Array.isArray(e.cpu)){let s=[];this.cpu=s;for(let o of e.cpu)typeof o!="string"?i.push(new Error("Parsing failed for the 'cpu' field")):s.push(o)}else this.cpu=null;if(typeof e.type=="string"?this.type=e.type:this.type=null,typeof e.packageManager=="string"?this.packageManager=e.packageManager:this.packageManager=null,typeof e.private=="boolean"?this.private=e.private:this.private=!1,typeof e.license=="string"?this.license=e.license:this.license=null,typeof e.languageName=="string"?this.languageName=e.languageName:this.languageName=null,typeof e.main=="string"?this.main=en(e.main):this.main=null,typeof e.module=="string"?this.module=en(e.module):this.module=null,e.browser!=null)if(typeof e.browser=="string")this.browser=en(e.browser);else{this.browser=new Map;for(let[s,o]of Object.entries(e.browser))this.browser.set(en(s),typeof o=="string"?en(o):o)}else this.browser=null;if(this.bin=new Map,typeof e.bin=="string")this.name!==null?this.bin.set(this.name.name,en(e.bin)):i.push(new Error("String bin field, but no attached package name"));else if(typeof e.bin=="object"&&e.bin!==null)for(let[s,o]of Object.entries(e.bin)){if(typeof o!="string"){i.push(new Error(`Invalid bin definition for '${s}'`));continue}this.bin.set(s,en(o))}if(this.scripts=new Map,typeof e.scripts=="object"&&e.scripts!==null)for(let[s,o]of Object.entries(e.scripts)){if(typeof o!="string"){i.push(new Error(`Invalid script definition for '${s}'`));continue}this.scripts.set(s,o)}if(this.dependencies=new Map,typeof e.dependencies=="object"&&e.dependencies!==null)for(let[s,o]of Object.entries(e.dependencies)){if(typeof o!="string"){i.push(new Error(`Invalid dependency range for '${s}'`));continue}let a;try{a=En(s)}catch(c){i.push(new Error(`Parsing failed for the dependency name '${s}'`));continue}let l=Yt(a,o);this.dependencies.set(l.identHash,l)}if(this.devDependencies=new Map,typeof e.devDependencies=="object"&&e.devDependencies!==null)for(let[s,o]of Object.entries(e.devDependencies)){if(typeof o!="string"){i.push(new Error(`Invalid dependency range for '${s}'`));continue}let a;try{a=En(s)}catch(c){i.push(new Error(`Parsing failed for the dependency name '${s}'`));continue}let l=Yt(a,o);this.devDependencies.set(l.identHash,l)}if(this.peerDependencies=new Map,typeof e.peerDependencies=="object"&&e.peerDependencies!==null)for(let[s,o]of Object.entries(e.peerDependencies)){let a;try{a=En(s)}catch(c){i.push(new Error(`Parsing failed for the dependency name '${s}'`));continue}(typeof o!="string"||!o.startsWith(Yr.protocol)&&!Us(o))&&(i.push(new Error(`Invalid dependency range for '${s}'`)),o="*");let l=Yt(a,o);this.peerDependencies.set(l.identHash,l)}typeof e.workspaces=="object"&&e.workspaces.nohoist&&i.push(new Error("'nohoist' is deprecated, please use 'installConfig.hoistingLimits' instead"));let n=Array.isArray(e.workspaces)?e.workspaces:typeof e.workspaces=="object"&&e.workspaces!==null&&Array.isArray(e.workspaces.packages)?e.workspaces.packages:[];this.workspaceDefinitions=[];for(let s of n){if(typeof s!="string"){i.push(new Error(`Invalid workspace definition for '${s}'`));continue}this.workspaceDefinitions.push({pattern:s})}if(this.dependenciesMeta=new Map,typeof e.dependenciesMeta=="object"&&e.dependenciesMeta!==null)for(let[s,o]of Object.entries(e.dependenciesMeta)){if(typeof o!="object"||o===null){i.push(new Error(`Invalid meta field for '${s}`));continue}let a=pA(s),l=this.ensureDependencyMeta(a),c=Tw(o.built,{yamlCompatibilityMode:r});if(c===null){i.push(new Error(`Invalid built meta field for '${s}'`));continue}let u=Tw(o.optional,{yamlCompatibilityMode:r});if(u===null){i.push(new Error(`Invalid optional meta field for '${s}'`));continue}let g=Tw(o.unplugged,{yamlCompatibilityMode:r});if(g===null){i.push(new Error(`Invalid unplugged meta field for '${s}'`));continue}Object.assign(l,{built:c,optional:u,unplugged:g})}if(this.peerDependenciesMeta=new Map,typeof e.peerDependenciesMeta=="object"&&e.peerDependenciesMeta!==null)for(let[s,o]of Object.entries(e.peerDependenciesMeta)){if(typeof o!="object"||o===null){i.push(new Error(`Invalid meta field for '${s}'`));continue}let a=pA(s),l=this.ensurePeerDependencyMeta(a),c=Tw(o.optional,{yamlCompatibilityMode:r});if(c===null){i.push(new Error(`Invalid optional meta field for '${s}'`));continue}Object.assign(l,{optional:c})}if(this.resolutions=[],typeof e.resolutions=="object"&&e.resolutions!==null)for(let[s,o]of Object.entries(e.resolutions)){if(typeof o!="string"){i.push(new Error(`Invalid resolution entry for '${s}'`));continue}try{this.resolutions.push({pattern:gw(s),reference:o})}catch(a){i.push(a);continue}}if(Array.isArray(e.files)){this.files=new Set;for(let s of e.files){if(typeof s!="string"){i.push(new Error(`Invalid files entry for '${s}'`));continue}this.files.add(s)}}else this.files=null;if(typeof e.publishConfig=="object"&&e.publishConfig!==null){if(this.publishConfig={},typeof e.publishConfig.access=="string"&&(this.publishConfig.access=e.publishConfig.access),typeof e.publishConfig.main=="string"&&(this.publishConfig.main=en(e.publishConfig.main)),typeof e.publishConfig.module=="string"&&(this.publishConfig.module=en(e.publishConfig.module)),e.publishConfig.browser!=null)if(typeof e.publishConfig.browser=="string")this.publishConfig.browser=en(e.publishConfig.browser);else{this.publishConfig.browser=new Map;for(let[s,o]of Object.entries(e.publishConfig.browser))this.publishConfig.browser.set(en(s),typeof o=="string"?en(o):o)}if(typeof e.publishConfig.registry=="string"&&(this.publishConfig.registry=e.publishConfig.registry),typeof e.publishConfig.bin=="string")this.name!==null?this.publishConfig.bin=new Map([[this.name.name,en(e.publishConfig.bin)]]):i.push(new Error("String bin field, but no attached package name"));else if(typeof e.publishConfig.bin=="object"&&e.publishConfig.bin!==null){this.publishConfig.bin=new Map;for(let[s,o]of Object.entries(e.publishConfig.bin)){if(typeof o!="string"){i.push(new Error(`Invalid bin definition for '${s}'`));continue}this.publishConfig.bin.set(s,en(o))}}if(Array.isArray(e.publishConfig.executableFiles)){this.publishConfig.executableFiles=new Set;for(let s of e.publishConfig.executableFiles){if(typeof s!="string"){i.push(new Error("Invalid executable file definition"));continue}this.publishConfig.executableFiles.add(en(s))}}}else this.publishConfig=null;if(typeof e.installConfig=="object"&&e.installConfig!==null){this.installConfig={};for(let s of Object.keys(e.installConfig))s==="hoistingLimits"?typeof e.installConfig.hoistingLimits=="string"?this.installConfig.hoistingLimits=e.installConfig.hoistingLimits:i.push(new Error("Invalid hoisting limits definition")):s=="selfReferences"?typeof e.installConfig.selfReferences=="boolean"?this.installConfig.selfReferences=e.installConfig.selfReferences:i.push(new Error("Invalid selfReferences definition, must be a boolean value")):i.push(new Error(`Unrecognized installConfig key: ${s}`))}else this.installConfig=null;if(typeof e.optionalDependencies=="object"&&e.optionalDependencies!==null)for(let[s,o]of Object.entries(e.optionalDependencies)){if(typeof o!="string"){i.push(new Error(`Invalid dependency range for '${s}'`));continue}let a;try{a=En(s)}catch(g){i.push(new Error(`Parsing failed for the dependency name '${s}'`));continue}let l=Yt(a,o);this.dependencies.set(l.identHash,l);let c=Yt(a,"unknown"),u=this.ensureDependencyMeta(c);Object.assign(u,{optional:!0})}typeof e.preferUnplugged=="boolean"?this.preferUnplugged=e.preferUnplugged:this.preferUnplugged=null,this.errors=i}getForScope(e){switch(e){case"dependencies":return this.dependencies;case"devDependencies":return this.devDependencies;case"peerDependencies":return this.peerDependencies;default:throw new Error(`Unsupported value ("${e}")`)}}hasConsumerDependency(e){return!!(this.dependencies.has(e.identHash)||this.peerDependencies.has(e.identHash))}hasHardDependency(e){return!!(this.dependencies.has(e.identHash)||this.devDependencies.has(e.identHash))}hasSoftDependency(e){return!!this.peerDependencies.has(e.identHash)}hasDependency(e){return!!(this.hasHardDependency(e)||this.hasSoftDependency(e))}getConditions(){let e=[];return this.os&&this.os.length>0&&e.push(V6("os",this.os)),this.cpu&&this.cpu.length>0&&e.push(V6("cpu",this.cpu)),e.length>0?e.join(" & "):null}isCompatibleWithOS(e){return vA.isManifestFieldCompatible(this.os,e)}isCompatibleWithCPU(e){return vA.isManifestFieldCompatible(this.cpu,e)}ensureDependencyMeta(e){if(e.range!=="unknown"&&!J6.default.valid(e.range))throw new Error(`Invalid meta field range for '${In(e)}'`);let r=St(e),i=e.range!=="unknown"?e.range:null,n=this.dependenciesMeta.get(r);n||this.dependenciesMeta.set(r,n=new Map);let s=n.get(i);return s||n.set(i,s={}),s}ensurePeerDependencyMeta(e){if(e.range!=="unknown")throw new Error(`Invalid meta field range for '${In(e)}'`);let r=St(e),i=this.peerDependenciesMeta.get(r);return i||this.peerDependenciesMeta.set(r,i={}),i}setRawField(e,r,{after:i=[]}={}){let n=new Set(i.filter(s=>Object.prototype.hasOwnProperty.call(this.raw,s)));if(n.size===0||Object.prototype.hasOwnProperty.call(this.raw,e))this.raw[e]=r;else{let s=this.raw,o=this.raw={},a=!1;for(let l of Object.keys(s))o[l]=s[l],a||(n.delete(l),n.size===0&&(o[e]=r,a=!0))}}exportTo(e,{compatibilityMode:r=!0}={}){var s;if(Object.assign(e,this.raw),this.name!==null?e.name=St(this.name):delete e.name,this.version!==null?e.version=this.version:delete e.version,this.os!==null?e.os=this.os:delete e.os,this.cpu!==null?e.cpu=this.cpu:delete e.cpu,this.type!==null?e.type=this.type:delete e.type,this.packageManager!==null?e.packageManager=this.packageManager:delete e.packageManager,this.private?e.private=!0:delete e.private,this.license!==null?e.license=this.license:delete e.license,this.languageName!==null?e.languageName=this.languageName:delete e.languageName,this.main!==null?e.main=this.main:delete e.main,this.module!==null?e.module=this.module:delete e.module,this.browser!==null){let o=this.browser;typeof o=="string"?e.browser=o:o instanceof Map&&(e.browser=Object.assign({},...Array.from(o.keys()).sort().map(a=>({[a]:o.get(a)}))))}else delete e.browser;this.bin.size===1&&this.name!==null&&this.bin.has(this.name.name)?e.bin=this.bin.get(this.name.name):this.bin.size>0?e.bin=Object.assign({},...Array.from(this.bin.keys()).sort().map(o=>({[o]:this.bin.get(o)}))):delete e.bin,this.workspaceDefinitions.length>0?this.raw.workspaces&&!Array.isArray(this.raw.workspaces)?e.workspaces=_(P({},this.raw.workspaces),{packages:this.workspaceDefinitions.map(({pattern:o})=>o)}):e.workspaces=this.workspaceDefinitions.map(({pattern:o})=>o):this.raw.workspaces&&!Array.isArray(this.raw.workspaces)&&Object.keys(this.raw.workspaces).length>0?e.workspaces=this.raw.workspaces:delete e.workspaces;let i=[],n=[];for(let o of this.dependencies.values()){let a=this.dependenciesMeta.get(St(o)),l=!1;if(r&&a){let c=a.get(null);c&&c.optional&&(l=!0)}l?n.push(o):i.push(o)}i.length>0?e.dependencies=Object.assign({},...Ou(i).map(o=>({[St(o)]:o.range}))):delete e.dependencies,n.length>0?e.optionalDependencies=Object.assign({},...Ou(n).map(o=>({[St(o)]:o.range}))):delete e.optionalDependencies,this.devDependencies.size>0?e.devDependencies=Object.assign({},...Ou(this.devDependencies.values()).map(o=>({[St(o)]:o.range}))):delete e.devDependencies,this.peerDependencies.size>0?e.peerDependencies=Object.assign({},...Ou(this.peerDependencies.values()).map(o=>({[St(o)]:o.range}))):delete e.peerDependencies,e.dependenciesMeta={};for(let[o,a]of gn(this.dependenciesMeta.entries(),([l,c])=>l))for(let[l,c]of gn(a.entries(),([u,g])=>u!==null?`0${u}`:"1")){let u=l!==null?In(Yt(En(o),l)):o,g=P({},c);r&&l===null&&delete g.optional,Object.keys(g).length!==0&&(e.dependenciesMeta[u]=g)}if(Object.keys(e.dependenciesMeta).length===0&&delete e.dependenciesMeta,this.peerDependenciesMeta.size>0?e.peerDependenciesMeta=Object.assign({},...gn(this.peerDependenciesMeta.entries(),([o,a])=>o).map(([o,a])=>({[o]:a}))):delete e.peerDependenciesMeta,this.resolutions.length>0?e.resolutions=Object.assign({},...this.resolutions.map(({pattern:o,reference:a})=>({[fw(o)]:a}))):delete e.resolutions,this.files!==null?e.files=Array.from(this.files):delete e.files,this.preferUnplugged!==null?e.preferUnplugged=this.preferUnplugged:delete e.preferUnplugged,this.scripts!==null&&this.scripts.size>0){(s=e.scripts)!=null||(e.scripts={});for(let o of Object.keys(e.scripts))this.scripts.has(o)||delete e.scripts[o];for(let[o,a]of this.scripts.entries())e.scripts[o]=a}else delete e.scripts;return e}},Ze=vA;Ze.fileName="package.json",Ze.allDependencies=["dependencies","devDependencies","peerDependencies"],Ze.hardDependencies=["dependencies","devDependencies"];function W6(t){let e=t.match(/^[ \t]+/m);return e?e[0]:" "}function z6(t){return t.charCodeAt(0)===65279?t.slice(1):t}function en(t){return t.replace(/\\/g,"/")}function Tw(t,{yamlCompatibilityMode:e}){return e?Kv(t):typeof t=="undefined"||typeof t=="boolean"?t:null}function _6(t,e){let r=e.search(/[^!]/);if(r===-1)return"invalid";let i=r%2==0?"":"!",n=e.slice(r);return`${i}${t}=${n}`}function V6(t,e){return e.length===1?_6(t,e[0]):`(${e.map(r=>_6(t,r)).join(" | ")})`}var e9=ie($6()),Ow=ie(ml());var t9=["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"],r9=80,NFe=new Set([z.FETCH_NOT_CACHED,z.UNUSED_CACHE_ENTRY]),LFe=5,SA=Ow.default.GITHUB_ACTIONS?{start:t=>`::group::${t} +`,end:t=>`::endgroup:: +`}:Ow.default.TRAVIS?{start:t=>`travis_fold:start:${t} +`,end:t=>`travis_fold:end:${t} +`}:Ow.default.GITLAB?{start:t=>`section_start:${Math.floor(Date.now()/1e3)}:${t.toLowerCase().replace(/\W+/g,"_")}[collapsed=true]\r${t} +`,end:t=>`section_end:${Math.floor(Date.now()/1e3)}:${t.toLowerCase().replace(/\W+/g,"_")}\r`}:null,i9=new Date,TFe=["iTerm.app","Apple_Terminal"].includes(process.env.TERM_PROGRAM)||!!process.env.WT_SESSION,MFe=t=>t,Kw=MFe({patrick:{date:[17,3],chars:["\u{1F340}","\u{1F331}"],size:40},simba:{date:[19,7],chars:["\u{1F981}","\u{1F334}"],size:40},jack:{date:[31,10],chars:["\u{1F383}","\u{1F987}"],size:40},hogsfather:{date:[31,12],chars:["\u{1F389}","\u{1F384}"],size:40},default:{chars:["=","-"],size:80}}),OFe=TFe&&Object.keys(Kw).find(t=>{let e=Kw[t];return!(e.date&&(e.date[0]!==i9.getDate()||e.date[1]!==i9.getMonth()+1))})||"default";function n9(t,{configuration:e,json:r}){if(!e.get("enableMessageNames"))return"";let n=KE(t===null?0:t);return!r&&t===null?Ve(e,n,"grey"):n}function eD(t,{configuration:e,json:r}){let i=n9(t,{configuration:e,json:r});if(!i||t===null||t===z.UNNAMED)return i;let n=z[t],s=`https://yarnpkg.com/advanced/error-codes#${i}---${n}`.toLowerCase();return Ku(e,i,s)}var Fe=class extends Xi{constructor({configuration:e,stdout:r,json:i=!1,includeFooter:n=!0,includeLogs:s=!i,includeInfos:o=s,includeWarnings:a=s,forgettableBufferSize:l=LFe,forgettableNames:c=new Set}){super();this.uncommitted=new Set;this.cacheHitCount=0;this.cacheMissCount=0;this.lastCacheMiss=null;this.warningCount=0;this.errorCount=0;this.startTime=Date.now();this.indent=0;this.progress=new Map;this.progressTime=0;this.progressFrame=0;this.progressTimeout=null;this.forgettableLines=[];Cp(this,{configuration:e}),this.configuration=e,this.forgettableBufferSize=l,this.forgettableNames=new Set([...c,...NFe]),this.includeFooter=n,this.includeInfos=o,this.includeWarnings=a,this.json=i,this.stdout=r;let u=this.configuration.get("progressBarStyle")||OFe;if(!Object.prototype.hasOwnProperty.call(Kw,u))throw new Error("Assertion failed: Invalid progress bar style");this.progressStyle=Kw[u];let g="\u27A4 YN0000: \u250C ".length,f=Math.max(0,Math.min(process.stdout.columns-g,80));this.progressMaxScaledSize=Math.floor(this.progressStyle.size*f/80)}static async start(e,r){let i=new this(e),n=process.emitWarning;process.emitWarning=(s,o)=>{if(typeof s!="string"){let l=s;s=l.message,o=o!=null?o:l.name}let a=typeof o!="undefined"?`${o}: ${s}`:s;i.reportWarning(z.UNNAMED,a)};try{await r(i)}catch(s){i.reportExceptionOnce(s)}finally{await i.finalize(),process.emitWarning=n}return i}hasErrors(){return this.errorCount>0}exitCode(){return this.hasErrors()?1:0}reportCacheHit(e){this.cacheHitCount+=1}reportCacheMiss(e,r){this.lastCacheMiss=e,this.cacheMissCount+=1,typeof r!="undefined"&&!this.configuration.get("preferAggregateCacheInfo")&&this.reportInfo(z.FETCH_NOT_CACHED,r)}startTimerSync(e,r,i){let n=typeof r=="function"?{}:r,s=typeof r=="function"?r:i,o={committed:!1,action:()=>{this.reportInfo(null,`\u250C ${e}`),this.indent+=1,SA!==null&&!this.json&&this.includeInfos&&this.stdout.write(SA.start(e))}};n.skipIfEmpty?this.uncommitted.add(o):(o.action(),o.committed=!0);let a=Date.now();try{return s()}catch(l){throw this.reportExceptionOnce(l),l}finally{let l=Date.now();this.uncommitted.delete(o),o.committed&&(this.indent-=1,SA!==null&&!this.json&&this.includeInfos&&this.stdout.write(SA.end(e)),this.configuration.get("enableTimers")&&l-a>200?this.reportInfo(null,`\u2514 Completed in ${Ve(this.configuration,l-a,Le.DURATION)}`):this.reportInfo(null,"\u2514 Completed"))}}async startTimerPromise(e,r,i){let n=typeof r=="function"?{}:r,s=typeof r=="function"?r:i,o={committed:!1,action:()=>{this.reportInfo(null,`\u250C ${e}`),this.indent+=1,SA!==null&&!this.json&&this.includeInfos&&this.stdout.write(SA.start(e))}};n.skipIfEmpty?this.uncommitted.add(o):(o.action(),o.committed=!0);let a=Date.now();try{return await s()}catch(l){throw this.reportExceptionOnce(l),l}finally{let l=Date.now();this.uncommitted.delete(o),o.committed&&(this.indent-=1,SA!==null&&!this.json&&this.includeInfos&&this.stdout.write(SA.end(e)),this.configuration.get("enableTimers")&&l-a>200?this.reportInfo(null,`\u2514 Completed in ${Ve(this.configuration,l-a,Le.DURATION)}`):this.reportInfo(null,"\u2514 Completed"))}}async startCacheReport(e){let r=this.configuration.get("preferAggregateCacheInfo")?{cacheHitCount:this.cacheHitCount,cacheMissCount:this.cacheMissCount}:null;try{return await e()}catch(i){throw this.reportExceptionOnce(i),i}finally{r!==null&&this.reportCacheChanges(r)}}reportSeparator(){this.indent===0?this.writeLineWithForgettableReset(""):this.reportInfo(null,"")}reportInfo(e,r){if(!this.includeInfos)return;this.commit();let i=this.formatNameWithHyperlink(e),n=i?`${i}: `:"",s=`${Ve(this.configuration,"\u27A4","blueBright")} ${n}${this.formatIndent()}${r}`;if(this.json)this.reportJson({type:"info",name:e,displayName:this.formatName(e),indent:this.formatIndent(),data:r});else if(this.forgettableNames.has(e))if(this.forgettableLines.push(s),this.forgettableLines.length>this.forgettableBufferSize){for(;this.forgettableLines.length>this.forgettableBufferSize;)this.forgettableLines.shift();this.writeLines(this.forgettableLines,{truncate:!0})}else this.writeLine(s,{truncate:!0});else this.writeLineWithForgettableReset(s)}reportWarning(e,r){if(this.warningCount+=1,!this.includeWarnings)return;this.commit();let i=this.formatNameWithHyperlink(e),n=i?`${i}: `:"";this.json?this.reportJson({type:"warning",name:e,displayName:this.formatName(e),indent:this.formatIndent(),data:r}):this.writeLineWithForgettableReset(`${Ve(this.configuration,"\u27A4","yellowBright")} ${n}${this.formatIndent()}${r}`)}reportError(e,r){this.errorCount+=1,this.commit();let i=this.formatNameWithHyperlink(e),n=i?`${i}: `:"";this.json?this.reportJson({type:"error",name:e,displayName:this.formatName(e),indent:this.formatIndent(),data:r}):this.writeLineWithForgettableReset(`${Ve(this.configuration,"\u27A4","redBright")} ${n}${this.formatIndent()}${r}`,{truncate:!1})}reportProgress(e){let r=!1,i=Promise.resolve().then(async()=>{let s={progress:0,title:void 0};this.progress.set(e,{definition:s,lastScaledSize:-1}),this.refreshProgress(-1);for await(let{progress:o,title:a}of e)r||s.progress===o&&s.title===a||(s.progress=o,s.title=a,this.refreshProgress());n()}),n=()=>{r||(r=!0,this.progress.delete(e),this.refreshProgress(1))};return _(P({},i),{stop:n})}reportJson(e){this.json&&this.writeLineWithForgettableReset(`${JSON.stringify(e)}`)}async finalize(){if(!this.includeFooter)return;let e="";this.errorCount>0?e="Failed with errors":this.warningCount>0?e="Done with warnings":e="Done";let r=Ve(this.configuration,Date.now()-this.startTime,Le.DURATION),i=this.configuration.get("enableTimers")?`${e} in ${r}`:e;this.errorCount>0?this.reportError(z.UNNAMED,i):this.warningCount>0?this.reportWarning(z.UNNAMED,i):this.reportInfo(z.UNNAMED,i)}writeLine(e,{truncate:r}={}){this.clearProgress({clear:!0}),this.stdout.write(`${this.truncate(e,{truncate:r})} +`),this.writeProgress()}writeLineWithForgettableReset(e,{truncate:r}={}){this.forgettableLines=[],this.writeLine(e,{truncate:r})}writeLines(e,{truncate:r}={}){this.clearProgress({delta:e.length});for(let i of e)this.stdout.write(`${this.truncate(i,{truncate:r})} +`);this.writeProgress()}reportCacheChanges({cacheHitCount:e,cacheMissCount:r}){let i=this.cacheHitCount-e,n=this.cacheMissCount-r;if(i===0&&n===0)return;let s="";this.cacheHitCount>1?s+=`${this.cacheHitCount} packages were already cached`:this.cacheHitCount===1?s+=" - one package was already cached":s+="No packages were cached",this.cacheHitCount>0?this.cacheMissCount>1?s+=`, ${this.cacheMissCount} had to be fetched`:this.cacheMissCount===1&&(s+=`, one had to be fetched (${lt(this.configuration,this.lastCacheMiss)})`):this.cacheMissCount>1?s+=` - ${this.cacheMissCount} packages had to be fetched`:this.cacheMissCount===1&&(s+=` - one package had to be fetched (${lt(this.configuration,this.lastCacheMiss)})`),this.reportInfo(z.FETCH_NOT_CACHED,s)}commit(){let e=this.uncommitted;this.uncommitted=new Set;for(let r of e)r.committed=!0,r.action()}clearProgress({delta:e=0,clear:r=!1}){!this.configuration.get("enableProgressBars")||this.json||this.progress.size+e>0&&(this.stdout.write(`[${this.progress.size+e}A`),(e>0||r)&&this.stdout.write(""))}writeProgress(){if(!this.configuration.get("enableProgressBars")||this.json||(this.progressTimeout!==null&&clearTimeout(this.progressTimeout),this.progressTimeout=null,this.progress.size===0))return;let e=Date.now();e-this.progressTime>r9&&(this.progressFrame=(this.progressFrame+1)%t9.length,this.progressTime=e);let r=t9[this.progressFrame];for(let i of this.progress.values()){let n=this.progressStyle.chars[0].repeat(i.lastScaledSize),s=this.progressStyle.chars[1].repeat(this.progressMaxScaledSize-i.lastScaledSize),o=this.formatName(null),a=o?`${o}: `:"";this.stdout.write(`${Ve(this.configuration,"\u27A4","blueBright")} ${a}${r} ${n}${s} +`)}this.progressTimeout=setTimeout(()=>{this.refreshProgress()},r9)}refreshProgress(e=0){let r=!1;if(this.progress.size===0)r=!0;else for(let i of this.progress.values()){let n=Math.trunc(this.progressMaxScaledSize*i.definition.progress),s=i.lastScaledSize;if(i.lastScaledSize=n,n!==s){r=!0;break}}r&&(this.clearProgress({delta:e}),this.writeProgress())}truncate(e,{truncate:r}={}){return this.configuration.get("enableProgressBars")||(r=!1),typeof r=="undefined"&&(r=this.configuration.get("preferTruncatedLines")),r&&(e=(0,e9.default)(e,0,process.stdout.columns-1)),e}formatName(e){return n9(e,{configuration:this.configuration,json:this.json})}formatNameWithHyperlink(e){return eD(e,{configuration:this.configuration,json:this.json})}formatIndent(){return"\u2502 ".repeat(this.indent)}};var Zr="3.1.1";var tn;(function(n){n.Yarn1="Yarn Classic",n.Yarn2="Yarn",n.Npm="npm",n.Pnpm="pnpm"})(tn||(tn={}));async function ba(t,e,r,i=[]){if(process.platform==="win32"){let n=`@goto #_undefined_# 2>NUL || @title %COMSPEC% & @setlocal & @"${r}" ${i.map(s=>`"${s.replace('"','""')}"`).join(" ")} %*`;await T.writeFilePromise(v.format({dir:t,name:e,ext:".cmd"}),n)}await T.writeFilePromise(v.join(t,e),`#!/bin/sh +exec "${r}" ${i.map(n=>`'${n.replace(/'/g,`'"'"'`)}'`).join(" ")} "$@" +`,{mode:493})}async function a9(t){let e=await Ze.tryFind(t);if(e==null?void 0:e.packageManager){let i=Qy(e.packageManager);if(i==null?void 0:i.name){let n=`found ${JSON.stringify({packageManager:e.packageManager})} in manifest`,[s]=i.reference.split(".");switch(i.name){case"yarn":return{packageManager:Number(s)===1?tn.Yarn1:tn.Yarn2,reason:n};case"npm":return{packageManager:tn.Npm,reason:n};case"pnpm":return{packageManager:tn.Pnpm,reason:n}}}}let r;try{r=await T.readFilePromise(v.join(t,wt.lockfile),"utf8")}catch{}return r!==void 0?r.match(/^__metadata:$/m)?{packageManager:tn.Yarn2,reason:'"__metadata" key found in yarn.lock'}:{packageManager:tn.Yarn1,reason:'"__metadata" key not found in yarn.lock, must be a Yarn classic lockfile'}:T.existsSync(v.join(t,"package-lock.json"))?{packageManager:tn.Npm,reason:`found npm's "package-lock.json" lockfile`}:T.existsSync(v.join(t,"pnpm-lock.yaml"))?{packageManager:tn.Pnpm,reason:`found pnpm's "pnpm-lock.yaml" lockfile`}:null}async function Vp({project:t,locator:e,binFolder:r,lifecycleScript:i}){var l,c;let n={};for(let[u,g]of Object.entries(process.env))typeof g!="undefined"&&(n[u.toLowerCase()!=="path"?u:"PATH"]=g);let s=M.fromPortablePath(r);n.BERRY_BIN_FOLDER=M.fromPortablePath(s);let o=process.env.COREPACK_ROOT?M.join(process.env.COREPACK_ROOT,"dist/yarn.js"):process.argv[1];if(await Promise.all([ba(r,"node",process.execPath),...Zr!==null?[ba(r,"run",process.execPath,[o,"run"]),ba(r,"yarn",process.execPath,[o]),ba(r,"yarnpkg",process.execPath,[o]),ba(r,"node-gyp",process.execPath,[o,"run","--top-level","node-gyp"])]:[]]),t&&(n.INIT_CWD=M.fromPortablePath(t.configuration.startingCwd),n.PROJECT_CWD=M.fromPortablePath(t.cwd)),n.PATH=n.PATH?`${s}${M.delimiter}${n.PATH}`:`${s}`,n.npm_execpath=`${s}${M.sep}yarn`,n.npm_node_execpath=`${s}${M.sep}node`,e){if(!t)throw new Error("Assertion failed: Missing project");let u=t.tryWorkspaceByLocator(e),g=u?(l=u.manifest.version)!=null?l:"":(c=t.storedPackages.get(e.locatorHash).version)!=null?c:"";n.npm_package_name=St(e),n.npm_package_version=g}let a=Zr!==null?`yarn/${Zr}`:`yarn/${mu("@yarnpkg/core").version}-core`;return n.npm_config_user_agent=`${a} npm/? node/${process.versions.node} ${process.platform} ${process.arch}`,i&&(n.npm_lifecycle_event=i),t&&await t.configuration.triggerHook(u=>u.setupScriptEnvironment,t,n,async(u,g,f)=>await ba(r,kr(u),g,f)),n}var KFe=2,UFe=(0,o9.default)(KFe);async function HFe(t,e,{configuration:r,report:i,workspace:n=null,locator:s=null}){await UFe(async()=>{await T.mktempPromise(async o=>{let a=v.join(o,"pack.log"),l=null,{stdout:c,stderr:u}=r.getSubprocessStreams(a,{prefix:M.fromPortablePath(t),report:i}),g=s&&Io(s)?lp(s):s,f=g?is(g):"an external project";c.write(`Packing ${f} from sources +`);let h=await a9(t),p;h!==null?(c.write(`Using ${h.packageManager} for bootstrap. Reason: ${h.reason} + +`),p=h.packageManager):(c.write(`No package manager configuration detected; defaulting to Yarn + +`),p=tn.Yarn2),await T.mktempPromise(async d=>{let m=await Vp({binFolder:d}),B=new Map([[tn.Yarn1,async()=>{let R=n!==null?["workspace",n]:[],H=await to("yarn",["set","version","classic","--only-if-needed"],{cwd:t,env:m,stdin:l,stdout:c,stderr:u,end:Pn.ErrorCode});if(H.code!==0)return H.code;await T.appendFilePromise(v.join(t,".npmignore"),`/.yarn +`),c.write(` +`);let L=await to("yarn",["install"],{cwd:t,env:m,stdin:l,stdout:c,stderr:u,end:Pn.ErrorCode});if(L.code!==0)return L.code;c.write(` +`);let K=await to("yarn",[...R,"pack","--filename",M.fromPortablePath(e)],{cwd:t,env:m,stdin:l,stdout:c,stderr:u});return K.code!==0?K.code:0}],[tn.Yarn2,async()=>{let R=n!==null?["workspace",n]:[];m.YARN_ENABLE_INLINE_BUILDS="1";let H=v.join(t,wt.lockfile);await T.existsPromise(H)||await T.writeFilePromise(H,"");let L=await to("yarn",[...R,"pack","--install-if-needed","--filename",M.fromPortablePath(e)],{cwd:t,env:m,stdin:l,stdout:c,stderr:u});return L.code!==0?L.code:0}],[tn.Npm,async()=>{if(n!==null){let A=new cc.PassThrough,V=Cu(A);A.pipe(c,{end:!1});let W=await to("npm",["--version"],{cwd:t,env:m,stdin:l,stdout:A,stderr:u,end:Pn.Never});if(A.end(),W.code!==0)return c.end(),u.end(),W.code;let X=(await V).toString().trim();if(!lc(X,">=7.x")){let F=Eo(null,"npm"),D=Yt(F,X),he=Yt(F,">=7.x");throw new Error(`Workspaces aren't supported by ${Xt(r,D)}; please upgrade to ${Xt(r,he)} (npm has been detected as the primary package manager for ${Ve(r,t,Le.PATH)})`)}}let R=n!==null?["--workspace",n]:[];delete m.npm_config_user_agent;let H=await to("npm",["install"],{cwd:t,env:m,stdin:l,stdout:c,stderr:u,end:Pn.ErrorCode});if(H.code!==0)return H.code;let L=new cc.PassThrough,K=Cu(L);L.pipe(c);let J=await to("npm",["pack","--silent",...R],{cwd:t,env:m,stdin:l,stdout:L,stderr:u});if(J.code!==0)return J.code;let ne=(await K).toString().trim().replace(/^.*\n/s,""),q=v.resolve(t,M.toPortablePath(ne));return await T.renamePromise(q,e),0}]]).get(p);if(typeof B=="undefined")throw new Error("Assertion failed: Unsupported workflow");let b=await B();if(!(b===0||typeof b=="undefined"))throw T.detachTemp(o),new nt(z.PACKAGE_PREPARATION_FAILED,`Packing the package failed (exit code ${b}, logs can be found here: ${Ve(r,a,Le.PATH)})`)})})})}async function GFe(t,e,{project:r}){let i=r.tryWorkspaceByLocator(t);if(i!==null)return tD(i,e);let n=r.storedPackages.get(t.locatorHash);if(!n)throw new Error(`Package for ${lt(r.configuration,t)} not found in the project`);return await Jn.openPromise(async s=>{let o=r.configuration,a=r.configuration.getLinkers(),l={project:r,report:new Fe({stdout:new cc.PassThrough,configuration:o})},c=a.find(h=>h.supportsPackage(n,l));if(!c)throw new Error(`The package ${lt(r.configuration,n)} isn't supported by any of the available linkers`);let u=await c.findPackageLocation(n,l),g=new Ft(u,{baseFs:s});return(await Ze.find(Se.dot,{baseFs:g})).scripts.has(e)},{libzip:await $i()})}async function Uw(t,e,r,{cwd:i,project:n,stdin:s,stdout:o,stderr:a}){return await T.mktempPromise(async l=>{let{manifest:c,env:u,cwd:g}=await A9(t,{project:n,binFolder:l,cwd:i,lifecycleScript:e}),f=c.scripts.get(e);if(typeof f=="undefined")return 1;let h=async()=>await Fw(f,r,{cwd:g,env:u,stdin:s,stdout:o,stderr:a});return await(await n.configuration.reduceHook(d=>d.wrapScriptExecution,h,n,t,e,{script:f,args:r,cwd:g,env:u,stdin:s,stdout:o,stderr:a}))()})}async function rD(t,e,r,{cwd:i,project:n,stdin:s,stdout:o,stderr:a}){return await T.mktempPromise(async l=>{let{env:c,cwd:u}=await A9(t,{project:n,binFolder:l,cwd:i});return await Fw(e,r,{cwd:u,env:c,stdin:s,stdout:o,stderr:a})})}async function jFe(t,{binFolder:e,cwd:r,lifecycleScript:i}){let n=await Vp({project:t.project,locator:t.anchoredLocator,binFolder:e,lifecycleScript:i});return await Promise.all(Array.from(await l9(t),([s,[,o]])=>ba(e,kr(s),process.execPath,[o]))),typeof r=="undefined"&&(r=v.dirname(await T.realpathPromise(v.join(t.cwd,"package.json")))),{manifest:t.manifest,binFolder:e,env:n,cwd:r}}async function A9(t,{project:e,binFolder:r,cwd:i,lifecycleScript:n}){let s=e.tryWorkspaceByLocator(t);if(s!==null)return jFe(s,{binFolder:r,cwd:i,lifecycleScript:n});let o=e.storedPackages.get(t.locatorHash);if(!o)throw new Error(`Package for ${lt(e.configuration,t)} not found in the project`);return await Jn.openPromise(async a=>{let l=e.configuration,c=e.configuration.getLinkers(),u={project:e,report:new Fe({stdout:new cc.PassThrough,configuration:l})},g=c.find(m=>m.supportsPackage(o,u));if(!g)throw new Error(`The package ${lt(e.configuration,o)} isn't supported by any of the available linkers`);let f=await Vp({project:e,locator:t,binFolder:r,lifecycleScript:n});await Promise.all(Array.from(await Hw(t,{project:e}),([m,[,I]])=>ba(r,kr(m),process.execPath,[I])));let h=await g.findPackageLocation(o,u),p=new Ft(h,{baseFs:a}),d=await Ze.find(Se.dot,{baseFs:p});return typeof i=="undefined"&&(i=h),{manifest:d,binFolder:r,env:f,cwd:i}},{libzip:await $i()})}async function c9(t,e,r,{cwd:i,stdin:n,stdout:s,stderr:o}){return await Uw(t.anchoredLocator,e,r,{cwd:i,project:t.project,stdin:n,stdout:s,stderr:o})}function tD(t,e){return t.manifest.scripts.has(e)}async function u9(t,e,{cwd:r,report:i}){let{configuration:n}=t.project,s=null;await T.mktempPromise(async o=>{let a=v.join(o,`${e}.log`),l=`# This file contains the result of Yarn calling the "${e}" lifecycle script inside a workspace ("${M.fromPortablePath(t.cwd)}") +`,{stdout:c,stderr:u}=n.getSubprocessStreams(a,{report:i,prefix:lt(n,t.anchoredLocator),header:l});i.reportInfo(z.LIFECYCLE_SCRIPT,`Calling the "${e}" lifecycle script`);let g=await c9(t,e,[],{cwd:r,stdin:s,stdout:c,stderr:u});if(c.end(),u.end(),g!==0)throw T.detachTemp(o),new nt(z.LIFECYCLE_SCRIPT,`${(0,s9.default)(e)} script failed (exit code ${Ve(n,g,Le.NUMBER)}, logs can be found here: ${Ve(n,a,Le.PATH)}); run ${Ve(n,`yarn ${e}`,Le.CODE)} to investigate`)})}async function YFe(t,e,r){tD(t,e)&&await u9(t,e,r)}async function Hw(t,{project:e}){let r=e.configuration,i=new Map,n=e.storedPackages.get(t.locatorHash);if(!n)throw new Error(`Package for ${lt(r,t)} not found in the project`);let s=new cc.Writable,o=r.getLinkers(),a={project:e,report:new Fe({configuration:r,stdout:s})},l=new Set([t.locatorHash]);for(let u of n.dependencies.values()){let g=e.storedResolutions.get(u.descriptorHash);if(!g)throw new Error(`Assertion failed: The resolution (${Xt(r,u)}) should have been registered`);l.add(g)}let c=await Promise.all(Array.from(l,async u=>{let g=e.storedPackages.get(u);if(!g)throw new Error(`Assertion failed: The package (${u}) should have been registered`);if(g.bin.size===0)return kl.skip;let f=o.find(p=>p.supportsPackage(g,a));if(!f)return kl.skip;let h=null;try{h=await f.findPackageLocation(g,a)}catch(p){if(p.code==="LOCATOR_NOT_INSTALLED")return kl.skip;throw p}return{dependency:g,packageLocation:h}}));for(let u of c){if(u===kl.skip)continue;let{dependency:g,packageLocation:f}=u;for(let[h,p]of g.bin)i.set(h,[g,M.fromPortablePath(v.resolve(f,p))])}return i}async function l9(t){return await Hw(t.anchoredLocator,{project:t.project})}async function g9(t,e,r,{cwd:i,project:n,stdin:s,stdout:o,stderr:a,nodeArgs:l=[],packageAccessibleBinaries:c}){c!=null||(c=await Hw(t,{project:n}));let u=c.get(e);if(!u)throw new Error(`Binary not found (${e}) for ${lt(n.configuration,t)}`);return await T.mktempPromise(async g=>{let[,f]=u,h=await Vp({project:n,locator:t,binFolder:g});await Promise.all(Array.from(c,([d,[,m]])=>ba(h.BERRY_BIN_FOLDER,kr(d),process.execPath,[m])));let p;try{p=await to(process.execPath,[...l,f,...r],{cwd:i,env:h,stdin:s,stdout:o,stderr:a})}finally{await T.removePromise(h.BERRY_BIN_FOLDER)}return p.code})}async function qFe(t,e,r,{cwd:i,stdin:n,stdout:s,stderr:o,packageAccessibleBinaries:a}){return await g9(t.anchoredLocator,e,r,{project:t.project,cwd:i,stdin:n,stdout:s,stderr:o,packageAccessibleBinaries:a})}var Ai={};it(Ai,{convertToZip:()=>lTe,extractArchiveTo:()=>uTe,makeArchiveFromDirectory:()=>ATe});var d_=ie(require("stream")),C_=ie(Z7());var u_=ie(require("os")),g_=ie(c_()),f_=ie(require("worker_threads")),IR=class{constructor(e){this.source=e;this.pool=[];this.queue=new g_.default({concurrency:Math.max(1,(0,u_.cpus)().length)});let r=setTimeout(()=>{if(!(this.queue.size!==0||this.queue.pending!==0)){for(let i of this.pool)i.terminate();this.pool=[]}},1e3).unref();this.queue.on("idle",()=>{r.refresh()})}run(e){return this.queue.add(()=>{var i;let r=(i=this.pool.pop())!=null?i:new f_.Worker(this.source,{eval:!0,execArgv:[...process.execArgv,"--unhandled-rejections=strict"]});return r.ref(),new Promise((n,s)=>{let o=a=>{a!==0&&s(new Error(`Worker exited with code ${a}`))};r.once("message",a=>{this.pool.push(r),r.unref(),r.off("error",s),r.off("exit",o),n(a)}),r.once("error",s),r.once("exit",o),r.postMessage(e)})})}};var m_=ie(p_());async function ATe(t,{baseFs:e=new Wt,prefixPath:r=Se.root,compressionLevel:i,inMemory:n=!1}={}){let s=await $i(),o;if(n)o=new Jr(null,{libzip:s,level:i});else{let l=await T.mktempPromise(),c=v.join(l,"archive.zip");o=new Jr(c,{create:!0,libzip:s,level:i})}let a=v.resolve(Se.root,r);return await o.copyPromise(a,t,{baseFs:e,stableTime:!0,stableSort:!0}),o}var E_;async function lTe(t,e){let r=await T.mktempPromise(),i=v.join(r,"archive.zip");return E_||(E_=new IR((0,m_.getContent)())),await E_.run({tmpFile:i,tgz:t,opts:e}),new Jr(i,{libzip:await $i(),level:e.compressionLevel})}async function*cTe(t){let e=new C_.default.Parse,r=new d_.PassThrough({objectMode:!0,autoDestroy:!0,emitClose:!0});e.on("entry",i=>{r.write(i)}),e.on("error",i=>{r.destroy(i)}),e.on("close",()=>{r.destroyed||r.end()}),e.end(t);for await(let i of r){let n=i;yield n,n.resume()}}async function uTe(t,e,{stripComponents:r=0,prefixPath:i=Se.dot}={}){var s,o;function n(a){if(a.path[0]==="/")return!0;let l=a.path.split(/\//g);return!!(l.some(c=>c==="..")||l.length<=r)}for await(let a of cTe(t)){if(n(a))continue;let l=v.normalize(M.toPortablePath(a.path)).replace(/\/$/,"").split(/\//g);if(l.length<=r)continue;let c=l.slice(r).join("/"),u=v.join(i,c),g=420;switch((a.type==="Directory"||(((s=a.mode)!=null?s:0)&73)!=0)&&(g|=73),a.type){case"Directory":e.mkdirpSync(v.dirname(u),{chmod:493,utimes:[mr.SAFE_TIME,mr.SAFE_TIME]}),e.mkdirSync(u,{mode:g}),e.utimesSync(u,mr.SAFE_TIME,mr.SAFE_TIME);break;case"OldFile":case"File":e.mkdirpSync(v.dirname(u),{chmod:493,utimes:[mr.SAFE_TIME,mr.SAFE_TIME]}),e.writeFileSync(u,await Cu(a),{mode:g}),e.utimesSync(u,mr.SAFE_TIME,mr.SAFE_TIME);break;case"SymbolicLink":e.mkdirpSync(v.dirname(u),{chmod:493,utimes:[mr.SAFE_TIME,mr.SAFE_TIME]}),e.symlinkSync(a.linkpath,u),(o=e.lutimesSync)==null||o.call(e,u,mr.SAFE_TIME,mr.SAFE_TIME);break}}return e}var Hs={};it(Hs,{emitList:()=>gTe,emitTree:()=>b_,treeNodeToJson:()=>Q_,treeNodeToTreeify:()=>B_});var w_=ie(y_());function B_(t,{configuration:e}){let r={},i=(n,s)=>{let o=Array.isArray(n)?n.entries():Object.entries(n);for(let[a,{label:l,value:c,children:u}]of o){let g=[];typeof l!="undefined"&&g.push(Py(e,l,Gl.BOLD)),typeof c!="undefined"&&g.push(Ve(e,c[0],c[1])),g.length===0&&g.push(Py(e,`${a}`,Gl.BOLD));let f=g.join(": "),h=s[f]={};typeof u!="undefined"&&i(u,h)}};if(typeof t.children=="undefined")throw new Error("The root node must only contain children");return i(t.children,r),r}function Q_(t){let e=r=>{var s;if(typeof r.children=="undefined"){if(typeof r.value=="undefined")throw new Error("Assertion failed: Expected a value to be set if the children are missing");return Uu(r.value[0],r.value[1])}let i=Array.isArray(r.children)?r.children.entries():Object.entries((s=r.children)!=null?s:{}),n=Array.isArray(r.children)?[]:{};for(let[o,a]of i)n[o]=e(a);return typeof r.value=="undefined"?n:{value:Uu(r.value[0],r.value[1]),children:n}};return e(t)}function gTe(t,{configuration:e,stdout:r,json:i}){let n=t.map(s=>({value:s}));b_({children:n},{configuration:e,stdout:r,json:i})}function b_(t,{configuration:e,stdout:r,json:i,separators:n=0}){var o;if(i){let a=Array.isArray(t.children)?t.children.values():Object.values((o=t.children)!=null?o:{});for(let l of a)r.write(`${JSON.stringify(Q_(l))} +`);return}let s=(0,w_.asTree)(B_(t,{configuration:e}),!1,!1);if(n>=1&&(s=s.replace(/^([├└]─)/gm,`\u2502 +$1`).replace(/^│\n/,"")),n>=2)for(let a=0;a<2;++a)s=s.replace(/^([│ ].{2}[├│ ].{2}[^\n]+\n)(([│ ]).{2}[├└].{2}[^\n]*\n[│ ].{2}[│ ].{2}[├└]─)/gm,`$1$3 \u2502 +$2`).replace(/^│\n/,"");if(n>=3)throw new Error("Only the first two levels are accepted by treeUtils.emitTree");r.write(s)}var v_=ie(require("crypto")),BR=ie(require("fs"));var fTe=8,Qt=class{constructor(e,{configuration:r,immutable:i=r.get("enableImmutableCache"),check:n=!1}){this.markedFiles=new Set;this.mutexes=new Map;this.cacheId=`-${(0,v_.randomBytes)(8).toString("hex")}.tmp`;this.configuration=r,this.cwd=e,this.immutable=i,this.check=n;let s=r.get("cacheKeyOverride");if(s!==null)this.cacheKey=`${s}`;else{let o=r.get("compressionLevel"),a=o!==pl?`c${o}`:"";this.cacheKey=[fTe,a].join("")}}static async find(e,{immutable:r,check:i}={}){let n=new Qt(e.get("cacheFolder"),{configuration:e,immutable:r,check:i});return await n.setup(),n}get mirrorCwd(){if(!this.configuration.get("enableMirror"))return null;let e=`${this.configuration.get("globalFolder")}/cache`;return e!==this.cwd?e:null}getVersionFilename(e){return`${Mu(e)}-${this.cacheKey}.zip`}getChecksumFilename(e,r){let n=hTe(r).slice(0,10);return`${Mu(e)}-${n}.zip`}getLocatorPath(e,r,i={}){var s;return this.mirrorCwd===null||((s=i.unstablePackages)==null?void 0:s.has(e.locatorHash))?v.resolve(this.cwd,this.getVersionFilename(e)):r===null||QR(r)!==this.cacheKey?null:v.resolve(this.cwd,this.getChecksumFilename(e,r))}getLocatorMirrorPath(e){let r=this.mirrorCwd;return r!==null?v.resolve(r,this.getVersionFilename(e)):null}async setup(){if(!this.configuration.get("enableGlobalCache"))if(this.immutable){if(!await T.existsPromise(this.cwd))throw new nt(z.IMMUTABLE_CACHE,"Cache path does not exist.")}else{await T.mkdirPromise(this.cwd,{recursive:!0});let e=v.resolve(this.cwd,".gitignore");await T.changeFilePromise(e,`/.gitignore +*.flock +*.tmp +`)}(this.mirrorCwd||!this.immutable)&&await T.mkdirPromise(this.mirrorCwd||this.cwd,{recursive:!0})}async fetchPackageFromCache(e,r,a){var l=a,{onHit:i,onMiss:n,loader:s}=l,o=qr(l,["onHit","onMiss","loader"]);var A;let c=this.getLocatorMirrorPath(e),u=new Wt,g=()=>{let V=new Jr(null,{libzip:H}),W=v.join(Se.root,Lx(e));return V.mkdirSync(W,{recursive:!0}),V.writeJsonSync(v.join(W,wt.manifest),{name:St(e),mocked:!0}),V},f=async(V,W=null)=>{let X=!o.skipIntegrityCheck||!r?`${this.cacheKey}/${await Ey(V)}`:r;if(W!==null){let F=!o.skipIntegrityCheck||!r?`${this.cacheKey}/${await Ey(W)}`:r;if(X!==F)throw new nt(z.CACHE_CHECKSUM_MISMATCH,"The remote archive doesn't match the local checksum - has the local cache been corrupted?")}if(r!==null&&X!==r){let F;switch(this.check?F="throw":QR(r)!==QR(X)?F="update":F=this.configuration.get("checksumBehavior"),F){case"ignore":return r;case"update":return X;default:case"throw":throw new nt(z.CACHE_CHECKSUM_MISMATCH,"The remote archive doesn't match the expected checksum")}}return X},h=async V=>{if(!s)throw new Error(`Cache check required but no loader configured for ${lt(this.configuration,e)}`);let W=await s(),X=W.getRealPath();return W.saveAndClose(),await T.chmodPromise(X,420),await f(V,X)},p=async()=>{if(c===null||!await T.existsPromise(c)){let V=await s(),W=V.getRealPath();return V.saveAndClose(),{source:"loader",path:W}}return{source:"mirror",path:c}},d=async()=>{if(!s)throw new Error(`Cache entry required but missing for ${lt(this.configuration,e)}`);if(this.immutable)throw new nt(z.IMMUTABLE_CACHE,`Cache entry required but missing for ${lt(this.configuration,e)}`);let{path:V,source:W}=await p(),X=await f(V),F=this.getLocatorPath(e,X,o);if(!F)throw new Error("Assertion failed: Expected the cache path to be available");let D=[];W!=="mirror"&&c!==null&&D.push(async()=>{let pe=`${c}${this.cacheId}`;await T.copyFilePromise(V,pe,BR.default.constants.COPYFILE_FICLONE),await T.chmodPromise(pe,420),await T.renamePromise(pe,c)}),(!o.mirrorWriteOnly||c===null)&&D.push(async()=>{let pe=`${F}${this.cacheId}`;await T.copyFilePromise(V,pe,BR.default.constants.COPYFILE_FICLONE),await T.chmodPromise(pe,420),await T.renamePromise(pe,F)});let he=o.mirrorWriteOnly&&c!=null?c:F;return await Promise.all(D.map(pe=>pe())),[!1,he,X]},m=async()=>{let W=(async()=>{var Ne;let X=this.getLocatorPath(e,r,o),F=X!==null?await u.existsPromise(X):!1,D=!!((Ne=o.mockedPackages)==null?void 0:Ne.has(e.locatorHash))&&(!this.check||!F),he=D||F,pe=he?i:n;if(pe&&pe(),he){let Pe=null,qe=X;return D||(Pe=this.check?await h(qe):await f(qe)),[D,qe,Pe]}else return d()})();this.mutexes.set(e.locatorHash,W);try{return await W}finally{this.mutexes.delete(e.locatorHash)}};for(let V;V=this.mutexes.get(e.locatorHash);)await V;let[I,B,b]=await m();this.markedFiles.add(B);let R,H=await $i(),L=I?()=>g():()=>new Jr(B,{baseFs:u,libzip:H,readOnly:!0}),K=new oh(()=>Mv(()=>R=L(),V=>`Failed to open the cache entry for ${lt(this.configuration,e)}: ${V}`),v),J=new Xo(B,{baseFs:K,pathUtils:v}),ne=()=>{R==null||R.discardAndClose()},q=((A=o.unstablePackages)==null?void 0:A.has(e.locatorHash))?null:b;return[J,ne,q]}};function QR(t){let e=t.indexOf("/");return e!==-1?t.slice(0,e):null}function hTe(t){let e=t.indexOf("/");return e!==-1?t.slice(e+1):t}var F_=ie(x_()),NB=ie(ml());var N_=ie(Wp()),kR=ie(require("stream"));var k_={hooks:{reduceDependency:(t,e,r,i,{resolver:n,resolveOptions:s})=>{for(let{pattern:o,reference:a}of e.topLevelWorkspace.manifest.resolutions){if(o.from&&o.from.fullName!==St(r)||o.from&&o.from.description&&o.from.description!==r.reference||o.descriptor.fullName!==St(t)||o.descriptor.description&&o.descriptor.description!==t.range)continue;return n.bindDescriptor(Yt(t,a),e.topLevelWorkspace.anchoredLocator,s)}return t},validateProject:async(t,e)=>{for(let r of t.workspaces){let i=hp(t.configuration,r);await t.configuration.triggerHook(n=>n.validateWorkspace,r,{reportWarning:(n,s)=>e.reportWarning(n,`${i}: ${s}`),reportError:(n,s)=>e.reportError(n,`${i}: ${s}`)})}},validateWorkspace:async(t,e)=>{let{manifest:r}=t;r.resolutions.length&&t.cwd!==t.project.cwd&&r.errors.push(new Error("Resolutions field will be ignored"));for(let i of r.errors)e.reportWarning(z.INVALID_MANIFEST,i.message)}}};var vR=class{constructor(e){this.fetchers=e}supports(e,r){return!!this.tryFetcher(e,r)}getLocalPath(e,r){return this.getFetcher(e,r).getLocalPath(e,r)}async fetch(e,r){return await this.getFetcher(e,r).fetch(e,r)}tryFetcher(e,r){let i=this.fetchers.find(n=>n.supports(e,r));return i||null}getFetcher(e,r){let i=this.fetchers.find(n=>n.supports(e,r));if(!i)throw new nt(z.FETCHER_NOT_FOUND,`${lt(r.project.configuration,e)} isn't supported by any available fetcher`);return i}};var pd=class{constructor(e){this.resolvers=e.filter(r=>r)}supportsDescriptor(e,r){return!!this.tryResolverByDescriptor(e,r)}supportsLocator(e,r){return!!this.tryResolverByLocator(e,r)}shouldPersistResolution(e,r){return this.getResolverByLocator(e,r).shouldPersistResolution(e,r)}bindDescriptor(e,r,i){return this.getResolverByDescriptor(e,i).bindDescriptor(e,r,i)}getResolutionDependencies(e,r){return this.getResolverByDescriptor(e,r).getResolutionDependencies(e,r)}async getCandidates(e,r,i){return await this.getResolverByDescriptor(e,i).getCandidates(e,r,i)}async getSatisfying(e,r,i){return this.getResolverByDescriptor(e,i).getSatisfying(e,r,i)}async resolve(e,r){return await this.getResolverByLocator(e,r).resolve(e,r)}tryResolverByDescriptor(e,r){let i=this.resolvers.find(n=>n.supportsDescriptor(e,r));return i||null}getResolverByDescriptor(e,r){let i=this.resolvers.find(n=>n.supportsDescriptor(e,r));if(!i)throw new Error(`${Xt(r.project.configuration,e)} isn't supported by any available resolver`);return i}tryResolverByLocator(e,r){let i=this.resolvers.find(n=>n.supportsLocator(e,r));return i||null}getResolverByLocator(e,r){let i=this.resolvers.find(n=>n.supportsLocator(e,r));if(!i)throw new Error(`${lt(r.project.configuration,e)} isn't supported by any available resolver`);return i}};var P_=ie(Or());var Rg=/^(?!v)[a-z0-9._-]+$/i,SR=class{supportsDescriptor(e,r){return!!(Us(e.range)||Rg.test(e.range))}supportsLocator(e,r){return!!(P_.default.valid(e.reference)||Rg.test(e.reference))}shouldPersistResolution(e,r){return r.resolver.shouldPersistResolution(this.forwardLocator(e,r),r)}bindDescriptor(e,r,i){return i.resolver.bindDescriptor(this.forwardDescriptor(e,i),r,i)}getResolutionDependencies(e,r){return r.resolver.getResolutionDependencies(this.forwardDescriptor(e,r),r)}async getCandidates(e,r,i){return await i.resolver.getCandidates(this.forwardDescriptor(e,i),r,i)}async getSatisfying(e,r,i){return await i.resolver.getSatisfying(this.forwardDescriptor(e,i),r,i)}async resolve(e,r){let i=await r.resolver.resolve(this.forwardLocator(e,r),r);return op(i,e)}forwardDescriptor(e,r){return Yt(e,`${r.project.configuration.get("defaultProtocol")}${e.range}`)}forwardLocator(e,r){return Vi(e,`${r.project.configuration.get("defaultProtocol")}${e.reference}`)}};var dd=class{supports(e){return!!e.reference.startsWith("virtual:")}getLocalPath(e,r){let i=e.reference.indexOf("#");if(i===-1)throw new Error("Invalid virtual package reference");let n=e.reference.slice(i+1),s=Vi(e,n);return r.fetcher.getLocalPath(s,r)}async fetch(e,r){let i=e.reference.indexOf("#");if(i===-1)throw new Error("Invalid virtual package reference");let n=e.reference.slice(i+1),s=Vi(e,n),o=await r.fetcher.fetch(s,r);return await this.ensureVirtualLink(e,o,r)}getLocatorFilename(e){return Mu(e)}async ensureVirtualLink(e,r,i){let n=r.packageFs.getRealPath(),s=i.project.configuration.get("virtualFolder"),o=this.getLocatorFilename(e),a=Pr.makeVirtualPath(s,o,n),l=new Xo(a,{baseFs:r.packageFs,pathUtils:v});return _(P({},r),{packageFs:l})}};var Fg=class{static isVirtualDescriptor(e){return!!e.range.startsWith(Fg.protocol)}static isVirtualLocator(e){return!!e.reference.startsWith(Fg.protocol)}supportsDescriptor(e,r){return Fg.isVirtualDescriptor(e)}supportsLocator(e,r){return Fg.isVirtualLocator(e)}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,i){throw new Error('Assertion failed: calling "bindDescriptor" on a virtual descriptor is unsupported')}getResolutionDependencies(e,r){throw new Error('Assertion failed: calling "getResolutionDependencies" on a virtual descriptor is unsupported')}async getCandidates(e,r,i){throw new Error('Assertion failed: calling "getCandidates" on a virtual descriptor is unsupported')}async getSatisfying(e,r,i){throw new Error('Assertion failed: calling "getSatisfying" on a virtual descriptor is unsupported')}async resolve(e,r){throw new Error('Assertion failed: calling "resolve" on a virtual locator is unsupported')}},FB=Fg;FB.protocol="virtual:";var xR=class{supports(e){return!!e.reference.startsWith(Yr.protocol)}getLocalPath(e,r){return this.getWorkspace(e,r).cwd}async fetch(e,r){let i=this.getWorkspace(e,r).cwd;return{packageFs:new Ft(i),prefixPath:Se.dot,localPath:i}}getWorkspace(e,r){return r.project.getWorkspaceByCwd(e.reference.slice(Yr.protocol.length))}};var D_=ie(require("module"));function R_(){return new Set(D_.default.builtinModules||Object.keys(process.binding("natives")))}var dTe=new Set(["binFolder","version","flags","profile","gpg","ignoreNode","wrapOutput","home","confDir"]),LB="yarn_",PR=".yarnrc.yml",DR="yarn.lock",CTe="********",ge;(function(u){u.ANY="ANY",u.BOOLEAN="BOOLEAN",u.ABSOLUTE_PATH="ABSOLUTE_PATH",u.LOCATOR="LOCATOR",u.LOCATOR_LOOSE="LOCATOR_LOOSE",u.NUMBER="NUMBER",u.STRING="STRING",u.SECRET="SECRET",u.SHAPE="SHAPE",u.MAP="MAP"})(ge||(ge={}));var ps=Le,RR={lastUpdateCheck:{description:"Last timestamp we checked whether new Yarn versions were available",type:ge.STRING,default:null},yarnPath:{description:"Path to the local executable that must be used over the global one",type:ge.ABSOLUTE_PATH,default:null},ignorePath:{description:"If true, the local executable will be ignored when using the global one",type:ge.BOOLEAN,default:!1},ignoreCwd:{description:"If true, the `--cwd` flag will be ignored",type:ge.BOOLEAN,default:!1},cacheKeyOverride:{description:"A global cache key override; used only for test purposes",type:ge.STRING,default:null},globalFolder:{description:"Folder where are stored the system-wide settings",type:ge.ABSOLUTE_PATH,default:Rb()},cacheFolder:{description:"Folder where the cache files must be written",type:ge.ABSOLUTE_PATH,default:"./.yarn/cache"},compressionLevel:{description:"Zip files compression level, from 0 to 9 or mixed (a variant of 9, which stores some files uncompressed, when compression doesn't yield good results)",type:ge.NUMBER,values:["mixed",0,1,2,3,4,5,6,7,8,9],default:pl},virtualFolder:{description:"Folder where the virtual packages (cf doc) will be mapped on the disk (must be named __virtual__)",type:ge.ABSOLUTE_PATH,default:"./.yarn/__virtual__"},lockfileFilename:{description:"Name of the files where the Yarn dependency tree entries must be stored",type:ge.STRING,default:DR},installStatePath:{description:"Path of the file where the install state will be persisted",type:ge.ABSOLUTE_PATH,default:"./.yarn/install-state.gz"},immutablePatterns:{description:"Array of glob patterns; files matching them won't be allowed to change during immutable installs",type:ge.STRING,default:[],isArray:!0},rcFilename:{description:"Name of the files where the configuration can be found",type:ge.STRING,default:TB()},enableGlobalCache:{description:"If true, the system-wide cache folder will be used regardless of `cache-folder`",type:ge.BOOLEAN,default:!1},enableColors:{description:"If true, the CLI is allowed to use colors in its output",type:ge.BOOLEAN,default:xy,defaultText:""},enableHyperlinks:{description:"If true, the CLI is allowed to use hyperlinks in its output",type:ge.BOOLEAN,default:Mx,defaultText:""},enableInlineBuilds:{description:"If true, the CLI will print the build output on the command line",type:ge.BOOLEAN,default:NB.isCI,defaultText:""},enableMessageNames:{description:"If true, the CLI will prefix most messages with codes suitable for search engines",type:ge.BOOLEAN,default:!0},enableProgressBars:{description:"If true, the CLI is allowed to show a progress bar for long-running events",type:ge.BOOLEAN,default:!NB.isCI&&process.stdout.isTTY&&process.stdout.columns>22,defaultText:""},enableTimers:{description:"If true, the CLI is allowed to print the time spent executing commands",type:ge.BOOLEAN,default:!0},preferAggregateCacheInfo:{description:"If true, the CLI will only print a one-line report of any cache changes",type:ge.BOOLEAN,default:NB.isCI},preferInteractive:{description:"If true, the CLI will automatically use the interactive mode when called from a TTY",type:ge.BOOLEAN,default:!1},preferTruncatedLines:{description:"If true, the CLI will truncate lines that would go beyond the size of the terminal",type:ge.BOOLEAN,default:!1},progressBarStyle:{description:"Which style of progress bar should be used (only when progress bars are enabled)",type:ge.STRING,default:void 0,defaultText:""},defaultLanguageName:{description:"Default language mode that should be used when a package doesn't offer any insight",type:ge.STRING,default:"node"},defaultProtocol:{description:"Default resolution protocol used when resolving pure semver and tag ranges",type:ge.STRING,default:"npm:"},enableTransparentWorkspaces:{description:"If false, Yarn won't automatically resolve workspace dependencies unless they use the `workspace:` protocol",type:ge.BOOLEAN,default:!0},supportedArchitectures:{description:"Architectures that Yarn will fetch and inject into the resolver",type:ge.SHAPE,properties:{os:{description:"Array of supported process.platform strings, or null to target them all",type:ge.STRING,isArray:!0,isNullable:!0,default:["current"]},cpu:{description:"Array of supported process.arch strings, or null to target them all",type:ge.STRING,isArray:!0,isNullable:!0,default:["current"]}}},enableMirror:{description:"If true, the downloaded packages will be retrieved and stored in both the local and global folders",type:ge.BOOLEAN,default:!0},enableNetwork:{description:"If false, the package manager will refuse to use the network if required to",type:ge.BOOLEAN,default:!0},httpProxy:{description:"URL of the http proxy that must be used for outgoing http requests",type:ge.STRING,default:null},httpsProxy:{description:"URL of the http proxy that must be used for outgoing https requests",type:ge.STRING,default:null},unsafeHttpWhitelist:{description:"List of the hostnames for which http queries are allowed (glob patterns are supported)",type:ge.STRING,default:[],isArray:!0},httpTimeout:{description:"Timeout of each http request in milliseconds",type:ge.NUMBER,default:6e4},httpRetry:{description:"Retry times on http failure",type:ge.NUMBER,default:3},networkConcurrency:{description:"Maximal number of concurrent requests",type:ge.NUMBER,default:50},networkSettings:{description:"Network settings per hostname (glob patterns are supported)",type:ge.MAP,valueDefinition:{description:"",type:ge.SHAPE,properties:{caFilePath:{description:"Path to file containing one or multiple Certificate Authority signing certificates",type:ge.ABSOLUTE_PATH,default:null},enableNetwork:{description:"If false, the package manager will refuse to use the network if required to",type:ge.BOOLEAN,default:null},httpProxy:{description:"URL of the http proxy that must be used for outgoing http requests",type:ge.STRING,default:null},httpsProxy:{description:"URL of the http proxy that must be used for outgoing https requests",type:ge.STRING,default:null}}}},caFilePath:{description:"A path to a file containing one or multiple Certificate Authority signing certificates",type:ge.ABSOLUTE_PATH,default:null},enableStrictSsl:{description:"If false, SSL certificate errors will be ignored",type:ge.BOOLEAN,default:!0},logFilters:{description:"Overrides for log levels",type:ge.SHAPE,isArray:!0,concatenateValues:!0,properties:{code:{description:"Code of the messages covered by this override",type:ge.STRING,default:void 0},text:{description:"Code of the texts covered by this override",type:ge.STRING,default:void 0},pattern:{description:"Code of the patterns covered by this override",type:ge.STRING,default:void 0},level:{description:"Log level override, set to null to remove override",type:ge.STRING,values:Object.values(Ts),isNullable:!0,default:void 0}}},enableTelemetry:{description:"If true, telemetry will be periodically sent, following the rules in https://yarnpkg.com/advanced/telemetry",type:ge.BOOLEAN,default:!0},telemetryInterval:{description:"Minimal amount of time between two telemetry uploads, in days",type:ge.NUMBER,default:7},telemetryUserId:{description:"If you desire to tell us which project you are, you can set this field. Completely optional and opt-in.",type:ge.STRING,default:null},enableScripts:{description:"If true, packages are allowed to have install scripts by default",type:ge.BOOLEAN,default:!0},enableStrictSettings:{description:"If true, unknown settings will cause Yarn to abort",type:ge.BOOLEAN,default:!0},enableImmutableCache:{description:"If true, the cache is reputed immutable and actions that would modify it will throw",type:ge.BOOLEAN,default:!1},checksumBehavior:{description:"Enumeration defining what to do when a checksum doesn't match expectations",type:ge.STRING,default:"throw"},packageExtensions:{description:"Map of package corrections to apply on the dependency tree",type:ge.MAP,valueDefinition:{description:"The extension that will be applied to any package whose version matches the specified range",type:ge.SHAPE,properties:{dependencies:{description:"The set of dependencies that must be made available to the current package in order for it to work properly",type:ge.MAP,valueDefinition:{description:"A range",type:ge.STRING}},peerDependencies:{description:"Inherited dependencies - the consumer of the package will be tasked to provide them",type:ge.MAP,valueDefinition:{description:"A semver range",type:ge.STRING}},peerDependenciesMeta:{description:"Extra information related to the dependencies listed in the peerDependencies field",type:ge.MAP,valueDefinition:{description:"The peerDependency meta",type:ge.SHAPE,properties:{optional:{description:"If true, the selected peer dependency will be marked as optional by the package manager and the consumer omitting it won't be reported as an error",type:ge.BOOLEAN,default:!1}}}}}}}};function NR(t,e,r,i,n){if(i.isArray||i.type===ge.ANY&&Array.isArray(r))return Array.isArray(r)?r.map((s,o)=>FR(t,`${e}[${o}]`,s,i,n)):String(r).split(/,/).map(s=>FR(t,e,s,i,n));if(Array.isArray(r))throw new Error(`Non-array configuration settings "${e}" cannot be an array`);return FR(t,e,r,i,n)}function FR(t,e,r,i,n){var a;switch(i.type){case ge.ANY:return r;case ge.SHAPE:return mTe(t,e,r,i,n);case ge.MAP:return ETe(t,e,r,i,n)}if(r===null&&!i.isNullable&&i.default!==null)throw new Error(`Non-nullable configuration settings "${e}" cannot be set to null`);if((a=i.values)==null?void 0:a.includes(r))return r;let o=(()=>{if(i.type===ge.BOOLEAN&&typeof r!="string")return Hh(r);if(typeof r!="string")throw new Error(`Expected value (${r}) to be a string`);let l=Ov(r,{env:process.env});switch(i.type){case ge.ABSOLUTE_PATH:return v.resolve(n,M.toPortablePath(l));case ge.LOCATOR_LOOSE:return Hl(l,!1);case ge.NUMBER:return parseInt(l);case ge.LOCATOR:return Hl(l);case ge.BOOLEAN:return Hh(l);default:return l}})();if(i.values&&!i.values.includes(o))throw new Error(`Invalid value, expected one of ${i.values.join(", ")}`);return o}function mTe(t,e,r,i,n){if(typeof r!="object"||Array.isArray(r))throw new me(`Object configuration settings "${e}" must be an object`);let s=LR(t,i,{ignoreArrays:!0});if(r===null)return s;for(let[o,a]of Object.entries(r)){let l=`${e}.${o}`;if(!i.properties[o])throw new me(`Unrecognized configuration settings found: ${e}.${o} - run "yarn config -v" to see the list of settings supported in Yarn`);s.set(o,NR(t,l,a,i.properties[o],n))}return s}function ETe(t,e,r,i,n){let s=new Map;if(typeof r!="object"||Array.isArray(r))throw new me(`Map configuration settings "${e}" must be an object`);if(r===null)return s;for(let[o,a]of Object.entries(r)){let l=i.normalizeKeys?i.normalizeKeys(o):o,c=`${e}['${l}']`,u=i.valueDefinition;s.set(l,NR(t,c,a,u,n))}return s}function LR(t,e,{ignoreArrays:r=!1}={}){switch(e.type){case ge.SHAPE:{if(e.isArray&&!r)return[];let i=new Map;for(let[n,s]of Object.entries(e.properties))i.set(n,LR(t,s));return i}break;case ge.MAP:return e.isArray&&!r?[]:new Map;case ge.ABSOLUTE_PATH:return e.default===null?null:t.projectCwd===null?v.isAbsolute(e.default)?v.normalize(e.default):e.isNullable?null:void 0:Array.isArray(e.default)?e.default.map(i=>v.resolve(t.projectCwd,i)):v.resolve(t.projectCwd,e.default);default:return e.default}}function MB(t,e,r){if(e.type===ge.SECRET&&typeof t=="string"&&r.hideSecrets)return CTe;if(e.type===ge.ABSOLUTE_PATH&&typeof t=="string"&&r.getNativePaths)return M.fromPortablePath(t);if(e.isArray&&Array.isArray(t)){let i=[];for(let n of t)i.push(MB(n,e,r));return i}if(e.type===ge.MAP&&t instanceof Map){let i=new Map;for(let[n,s]of t.entries())i.set(n,MB(s,e.valueDefinition,r));return i}if(e.type===ge.SHAPE&&t instanceof Map){let i=new Map;for(let[n,s]of t.entries()){let o=e.properties[n];i.set(n,MB(s,o,r))}return i}return t}function ITe(){let t={};for(let[e,r]of Object.entries(process.env))e=e.toLowerCase(),!!e.startsWith(LB)&&(e=(0,F_.default)(e.slice(LB.length)),t[e]=r);return t}function TB(){let t=`${LB}rc_filename`;for(let[e,r]of Object.entries(process.env))if(e.toLowerCase()===t&&typeof r=="string")return r;return PR}var KA;(function(i){i[i.LOCKFILE=0]="LOCKFILE",i[i.MANIFEST=1]="MANIFEST",i[i.NONE=2]="NONE"})(KA||(KA={}));var Ra=class{constructor(e){this.projectCwd=null;this.plugins=new Map;this.settings=new Map;this.values=new Map;this.sources=new Map;this.invalid=new Map;this.packageExtensions=new Map;this.limits=new Map;this.startingCwd=e}static create(e,r,i){let n=new Ra(e);typeof r!="undefined"&&!(r instanceof Map)&&(n.projectCwd=r),n.importSettings(RR);let s=typeof i!="undefined"?i:r instanceof Map?r:new Map;for(let[o,a]of s)n.activatePlugin(o,a);return n}static async find(e,r,{lookup:i=0,strict:n=!0,usePath:s=!1,useRc:o=!0}={}){let a=ITe();delete a.rcFilename;let l=await Ra.findRcFiles(e),c=await Ra.findHomeRcFile();if(c){let I=l.find(B=>B.path===c.path);I?I.strict=!1:l.push(_(P({},c),{strict:!1}))}let u=({ignoreCwd:I,yarnPath:B,ignorePath:b,lockfileFilename:R})=>({ignoreCwd:I,yarnPath:B,ignorePath:b,lockfileFilename:R}),g=L=>{var K=L,{ignoreCwd:I,yarnPath:B,ignorePath:b,lockfileFilename:R}=K,H=qr(K,["ignoreCwd","yarnPath","ignorePath","lockfileFilename"]);return H},f=new Ra(e);f.importSettings(u(RR)),f.useWithSource("",u(a),e,{strict:!1});for(let{path:I,cwd:B,data:b}of l)f.useWithSource(I,u(b),B,{strict:!1});if(s){let I=f.get("yarnPath"),B=f.get("ignorePath");if(I!==null&&!B)return f}let h=f.get("lockfileFilename"),p;switch(i){case 0:p=await Ra.findProjectCwd(e,h);break;case 1:p=await Ra.findProjectCwd(e,null);break;case 2:T.existsSync(v.join(e,"package.json"))?p=v.resolve(e):p=null;break}f.startingCwd=e,f.projectCwd=p,f.importSettings(g(RR));let d=new Map([["@@core",k_]]),m=I=>"default"in I?I.default:I;if(r!==null){for(let R of r.plugins.keys())d.set(R,m(r.modules.get(R)));let I=new Map;for(let R of R_())I.set(R,()=>mu(R));for(let[R,H]of r.modules)I.set(R,()=>H);let B=new Set,b=async(R,H)=>{let{factory:L,name:K}=mu(R);if(B.has(K))return;let J=new Map(I),ne=A=>{if(J.has(A))return J.get(A)();throw new me(`This plugin cannot access the package referenced via ${A} which is neither a builtin, nor an exposed entry`)},q=await du(async()=>m(await L(ne)),A=>`${A} (when initializing ${K}, defined in ${H})`);I.set(K,()=>q),B.add(K),d.set(K,q)};if(a.plugins)for(let R of a.plugins.split(";")){let H=v.resolve(e,M.toPortablePath(R));await b(H,"")}for(let{path:R,cwd:H,data:L}of l)if(!!o&&!!Array.isArray(L.plugins))for(let K of L.plugins){let J=typeof K!="string"?K.path:K,ne=v.resolve(H,M.toPortablePath(J));await b(ne,R)}}for(let[I,B]of d)f.activatePlugin(I,B);f.useWithSource("",g(a),e,{strict:n});for(let{path:I,cwd:B,data:b,strict:R}of l)f.useWithSource(I,g(b),B,{strict:R!=null?R:n});return f.get("enableGlobalCache")&&(f.values.set("cacheFolder",`${f.get("globalFolder")}/cache`),f.sources.set("cacheFolder","")),await f.refreshPackageExtensions(),f}static async findRcFiles(e){let r=TB(),i=[],n=e,s=null;for(;n!==s;){s=n;let o=v.join(s,r);if(T.existsSync(o)){let a=await T.readFilePromise(o,"utf8"),l;try{l=Ii(a)}catch(c){let u="";throw a.match(/^\s+(?!-)[^:]+\s+\S+/m)&&(u=" (in particular, make sure you list the colons after each key name)"),new me(`Parse error when loading ${o}; please check it's proper Yaml${u}`)}i.push({path:o,cwd:s,data:l})}n=v.dirname(s)}return i}static async findHomeRcFile(){let e=TB(),r=uh(),i=v.join(r,e);if(T.existsSync(i)){let n=await T.readFilePromise(i,"utf8"),s=Ii(n);return{path:i,cwd:r,data:s}}return null}static async findProjectCwd(e,r){let i=null,n=e,s=null;for(;n!==s;){if(s=n,T.existsSync(v.join(s,"package.json"))&&(i=s),r!==null){if(T.existsSync(v.join(s,r))){i=s;break}}else if(i!==null)break;n=v.dirname(s)}return i}static async updateConfiguration(e,r){let i=TB(),n=v.join(e,i),s=T.existsSync(n)?Ii(await T.readFilePromise(n,"utf8")):{},o=!1,a;if(typeof r=="function"){try{a=r(s)}catch{a=r({})}if(a===s)return}else{a=s;for(let l of Object.keys(r)){let c=s[l],u=r[l],g;if(typeof u=="function")try{g=u(c)}catch{g=u(void 0)}else g=u;c!==g&&(a[l]=g,o=!0)}if(!o)return}await T.changeFilePromise(n,Qa(a),{automaticNewlines:!0})}static async updateHomeConfiguration(e){let r=uh();return await Ra.updateConfiguration(r,e)}activatePlugin(e,r){this.plugins.set(e,r),typeof r.configuration!="undefined"&&this.importSettings(r.configuration)}importSettings(e){for(let[r,i]of Object.entries(e))if(i!=null){if(this.settings.has(r))throw new Error(`Cannot redefine settings "${r}"`);this.settings.set(r,i),this.values.set(r,LR(this,i))}}useWithSource(e,r,i,n){try{this.use(e,r,i,n)}catch(s){throw s.message+=` (in ${Ve(this,e,Le.PATH)})`,s}}use(e,r,i,{strict:n=!0,overwrite:s=!1}={}){n=n&&this.get("enableStrictSettings");for(let o of["enableStrictSettings",...Object.keys(r)]){if(typeof r[o]=="undefined"||o==="plugins"||e===""&&dTe.has(o))continue;if(o==="rcFilename")throw new me(`The rcFilename settings can only be set via ${`${LB}RC_FILENAME`.toUpperCase()}, not via a rc file`);let l=this.settings.get(o);if(!l){if(n)throw new me(`Unrecognized or legacy configuration settings found: ${o} - run "yarn config -v" to see the list of settings supported in Yarn`);this.invalid.set(o,e);continue}if(this.sources.has(o)&&!(s||l.type===ge.MAP||l.isArray&&l.concatenateValues))continue;let c;try{c=NR(this,o,r[o],l,i)}catch(u){throw u.message+=` in ${Ve(this,e,Le.PATH)}`,u}if(o==="enableStrictSettings"&&e!==""){n=c;continue}if(l.type===ge.MAP){let u=this.values.get(o);this.values.set(o,new Map(s?[...u,...c]:[...c,...u])),this.sources.set(o,`${this.sources.get(o)}, ${e}`)}else if(l.isArray&&l.concatenateValues){let u=this.values.get(o);this.values.set(o,s?[...u,...c]:[...c,...u]),this.sources.set(o,`${this.sources.get(o)}, ${e}`)}else this.values.set(o,c),this.sources.set(o,e)}}get(e){if(!this.values.has(e))throw new Error(`Invalid configuration key "${e}"`);return this.values.get(e)}getSpecial(e,{hideSecrets:r=!1,getNativePaths:i=!1}){let n=this.get(e),s=this.settings.get(e);if(typeof s=="undefined")throw new me(`Couldn't find a configuration settings named "${e}"`);return MB(n,s,{hideSecrets:r,getNativePaths:i})}getSubprocessStreams(e,{header:r,prefix:i,report:n}){let s,o,a=T.createWriteStream(e);if(this.get("enableInlineBuilds")){let l=n.createStreamReporter(`${i} ${Ve(this,"STDOUT","green")}`),c=n.createStreamReporter(`${i} ${Ve(this,"STDERR","red")}`);s=new kR.PassThrough,s.pipe(l),s.pipe(a),o=new kR.PassThrough,o.pipe(c),o.pipe(a)}else s=a,o=a,typeof r!="undefined"&&s.write(`${r} +`);return{stdout:s,stderr:o}}makeResolver(){let e=[];for(let r of this.plugins.values())for(let i of r.resolvers||[])e.push(new i);return new pd([new FB,new Yr,new SR,...e])}makeFetcher(){let e=[];for(let r of this.plugins.values())for(let i of r.fetchers||[])e.push(new i);return new vR([new dd,new xR,...e])}getLinkers(){let e=[];for(let r of this.plugins.values())for(let i of r.linkers||[])e.push(new i);return e}getSupportedArchitectures(){let e=this.get("supportedArchitectures"),r=e.get("os");r!==null&&(r=r.map(n=>n==="current"?process.platform:n));let i=e.get("cpu");return i!==null&&(i=i.map(n=>n==="current"?process.arch:n)),{os:r,cpu:i}}async refreshPackageExtensions(){this.packageExtensions=new Map;let e=this.packageExtensions,r=(i,n,{userProvided:s=!1}={})=>{if(!Us(i.range))throw new Error("Only semver ranges are allowed as keys for the packageExtensions setting");let o=new Ze;o.load(n,{yamlCompatibilityMode:!0});let a=hu(e,i.identHash),l=[];a.push([i.range,l]);let c={status:ki.Inactive,userProvided:s,parentDescriptor:i};for(let u of o.dependencies.values())l.push(_(P({},c),{type:oi.Dependency,descriptor:u}));for(let u of o.peerDependencies.values())l.push(_(P({},c),{type:oi.PeerDependency,descriptor:u}));for(let[u,g]of o.peerDependenciesMeta)for(let[f,h]of Object.entries(g))l.push(_(P({},c),{type:oi.PeerDependencyMeta,selector:u,key:f,value:h}))};await this.triggerHook(i=>i.registerPackageExtensions,this,r);for(let[i,n]of this.get("packageExtensions"))r(pA(i,!0),aI(n),{userProvided:!0})}normalizePackage(e){let r=ap(e);if(this.packageExtensions==null)throw new Error("refreshPackageExtensions has to be called before normalizing packages");let i=this.packageExtensions.get(e.identHash);if(typeof i!="undefined"){let s=e.version;if(s!==null){for(let[o,a]of i)if(!!lc(s,o))for(let l of a)switch(l.status===ki.Inactive&&(l.status=ki.Redundant),l.type){case oi.Dependency:typeof r.dependencies.get(l.descriptor.identHash)=="undefined"&&(l.status=ki.Active,r.dependencies.set(l.descriptor.identHash,l.descriptor));break;case oi.PeerDependency:typeof r.peerDependencies.get(l.descriptor.identHash)=="undefined"&&(l.status=ki.Active,r.peerDependencies.set(l.descriptor.identHash,l.descriptor));break;case oi.PeerDependencyMeta:{let c=r.peerDependenciesMeta.get(l.selector);(typeof c=="undefined"||!Object.prototype.hasOwnProperty.call(c,l.key)||c[l.key]!==l.value)&&(l.status=ki.Active,na(r.peerDependenciesMeta,l.selector,()=>({}))[l.key]=l.value)}break;default:Lv(l);break}}}let n=s=>s.scope?`${s.scope}__${s.name}`:`${s.name}`;for(let s of r.peerDependenciesMeta.keys()){let o=En(s);r.peerDependencies.has(o.identHash)||r.peerDependencies.set(o.identHash,Yt(o,"*"))}for(let s of r.peerDependencies.values()){if(s.scope==="types")continue;let o=n(s),a=Eo("types",o),l=St(a);r.peerDependencies.has(a.identHash)||r.peerDependenciesMeta.has(l)||(r.peerDependencies.set(a.identHash,Yt(a,"*")),r.peerDependenciesMeta.set(l,{optional:!0}))}return r.dependencies=new Map(gn(r.dependencies,([,s])=>In(s))),r.peerDependencies=new Map(gn(r.peerDependencies,([,s])=>In(s))),r}getLimit(e){return na(this.limits,e,()=>(0,N_.default)(this.get(e)))}async triggerHook(e,...r){for(let i of this.plugins.values()){let n=i.hooks;if(!n)continue;let s=e(n);!s||await s(...r)}}async triggerMultipleHooks(e,r){for(let i of r)await this.triggerHook(e,...i)}async reduceHook(e,r,...i){let n=r;for(let s of this.plugins.values()){let o=s.hooks;if(!o)continue;let a=e(o);!a||(n=await a(n,...i))}return n}async firstHook(e,...r){for(let i of this.plugins.values()){let n=i.hooks;if(!n)continue;let s=e(n);if(!s)continue;let o=await s(...r);if(typeof o!="undefined")return o}return null}},fe=Ra;fe.telemetry=null;var Gn;(function(r){r[r.SCRIPT=0]="SCRIPT",r[r.SHELLCODE=1]="SHELLCODE"})(Gn||(Gn={}));var Fa=class extends Xi{constructor({configuration:e,stdout:r,suggestInstall:i=!0}){super();this.errorCount=0;Cp(this,{configuration:e}),this.configuration=e,this.stdout=r,this.suggestInstall=i}static async start(e,r){let i=new this(e);try{await r(i)}catch(n){i.reportExceptionOnce(n)}finally{await i.finalize()}return i}hasErrors(){return this.errorCount>0}exitCode(){return this.hasErrors()?1:0}reportCacheHit(e){}reportCacheMiss(e){}startTimerSync(e,r,i){return(typeof r=="function"?r:i)()}async startTimerPromise(e,r,i){return await(typeof r=="function"?r:i)()}async startCacheReport(e){return await e()}reportSeparator(){}reportInfo(e,r){}reportWarning(e,r){}reportError(e,r){this.errorCount+=1,this.stdout.write(`${Ve(this.configuration,"\u27A4","redBright")} ${this.formatNameWithHyperlink(e)}: ${r} +`)}reportProgress(e){let r=Promise.resolve().then(async()=>{for await(let{}of e);}),i=()=>{};return _(P({},r),{stop:i})}reportJson(e){}async finalize(){this.errorCount>0&&(this.stdout.write(` +`),this.stdout.write(`${Ve(this.configuration,"\u27A4","redBright")} Errors happened when preparing the environment required to run this command. +`),this.suggestInstall&&this.stdout.write(`${Ve(this.configuration,"\u27A4","redBright")} This might be caused by packages being missing from the lockfile, in which case running "yarn install" might help. +`))}formatNameWithHyperlink(e){return eD(e,{configuration:this.configuration,json:!1})}};var t0=ie(require("crypto")),v$=ie(CX()),r0=ie(Q$()),S$=ie(Wp()),x$=ie(Or()),lF=ie(require("util")),cF=ie(require("v8")),uF=ie(require("zlib"));var iUe=[[/^(git(?:\+(?:https|ssh))?:\/\/.*(?:\.git)?)#(.*)$/,(t,e,r,i)=>`${r}#commit=${i}`],[/^https:\/\/((?:[^/]+?)@)?codeload\.github\.com\/([^/]+\/[^/]+)\/tar\.gz\/([0-9a-f]+)$/,(t,e,r="",i,n)=>`https://${r}github.com/${i}.git#commit=${n}`],[/^https:\/\/((?:[^/]+?)@)?github\.com\/([^/]+\/[^/]+?)(?:\.git)?#([0-9a-f]+)$/,(t,e,r="",i,n)=>`https://${r}github.com/${i}.git#commit=${n}`],[/^https?:\/\/[^/]+\/(?:[^/]+\/)*(?:@.+(?:\/|(?:%2f)))?([^/]+)\/(?:-|download)\/\1-[^/]+\.tgz(?:#|$)/,t=>`npm:${t}`],[/^https:\/\/npm\.pkg\.github\.com\/download\/(?:@[^/]+)\/(?:[^/]+)\/(?:[^/]+)\/(?:[0-9a-f]+)(?:#|$)/,t=>`npm:${t}`],[/^https:\/\/npm\.fontawesome\.com\/(?:@[^/]+)\/([^/]+)\/-\/([^/]+)\/\1-\2.tgz(?:#|$)/,t=>`npm:${t}`],[/^https?:\/\/(?:[^\\.]+)\.jfrog\.io\/.*\/(@[^/]+)\/([^/]+)\/-\/\1\/\2-(?:[.\d\w-]+)\.tgz(?:#|$)/,(t,e)=>by({protocol:"npm:",source:null,selector:t,params:{__archiveUrl:e}})],[/^[^/]+\.tgz#[0-9a-f]+$/,t=>`npm:${t}`]],oF=class{constructor(){this.resolutions=null}async setup(e,{report:r}){let i=v.join(e.cwd,e.configuration.get("lockfileFilename"));if(!T.existsSync(i))return;let n=await T.readFilePromise(i,"utf8"),s=Ii(n);if(Object.prototype.hasOwnProperty.call(s,"__metadata"))return;let o=this.resolutions=new Map;for(let a of Object.keys(s)){let l=gp(a);if(!l){r.reportWarning(z.YARN_IMPORT_FAILED,`Failed to parse the string "${a}" into a proper descriptor`);continue}Us(l.range)&&(l=Yt(l,`npm:${l.range}`));let{version:c,resolved:u}=s[a];if(!u)continue;let g;for(let[h,p]of iUe){let d=u.match(h);if(d){g=p(c,...d);break}}if(!g){r.reportWarning(z.YARN_IMPORT_FAILED,`${Xt(e.configuration,l)}: Only some patterns can be imported from legacy lockfiles (not "${u}")`);continue}let f=l;try{let h=Tu(l.range),p=gp(h.selector,!0);p&&(f=p)}catch{}o.set(l.descriptorHash,Vi(f,g))}}supportsDescriptor(e,r){return this.resolutions?this.resolutions.has(e.descriptorHash):!1}supportsLocator(e,r){return!1}shouldPersistResolution(e,r){throw new Error("Assertion failed: This resolver doesn't support resolving locators to packages")}bindDescriptor(e,r,i){return e}getResolutionDependencies(e,r){return[]}async getCandidates(e,r,i){if(!this.resolutions)throw new Error("Assertion failed: The resolution store should have been setup");let n=this.resolutions.get(e.descriptorHash);if(!n)throw new Error("Assertion failed: The resolution should have been registered");return[n]}async getSatisfying(e,r,i){return null}async resolve(e,r){throw new Error("Assertion failed: This resolver doesn't support resolving locators to packages")}};var aF=class{constructor(e){this.resolver=e}supportsDescriptor(e,r){return!!(r.project.storedResolutions.get(e.descriptorHash)||r.project.originalPackages.has(By(e).locatorHash))}supportsLocator(e,r){return!!(r.project.originalPackages.has(e.locatorHash)&&!r.project.lockfileNeedsRefresh)}shouldPersistResolution(e,r){throw new Error("The shouldPersistResolution method shouldn't be called on the lockfile resolver, which would always answer yes")}bindDescriptor(e,r,i){return e}getResolutionDependencies(e,r){return this.resolver.getResolutionDependencies(e,r)}async getCandidates(e,r,i){let n=i.project.originalPackages.get(By(e).locatorHash);if(n)return[n];let s=i.project.storedResolutions.get(e.descriptorHash);if(!s)throw new Error("Expected the resolution to have been successful - resolution not found");if(n=i.project.originalPackages.get(s),!n)throw new Error("Expected the resolution to have been successful - package not found");return[n]}async getSatisfying(e,r,i){return null}async resolve(e,r){let i=r.project.originalPackages.get(e.locatorHash);if(!i)throw new Error("The lockfile resolver isn't meant to resolve packages - they should already have been stored into a cache");return i}};var AF=class{constructor(e){this.resolver=e}supportsDescriptor(e,r){return this.resolver.supportsDescriptor(e,r)}supportsLocator(e,r){return this.resolver.supportsLocator(e,r)}shouldPersistResolution(e,r){return this.resolver.shouldPersistResolution(e,r)}bindDescriptor(e,r,i){return this.resolver.bindDescriptor(e,r,i)}getResolutionDependencies(e,r){return this.resolver.getResolutionDependencies(e,r)}async getCandidates(e,r,i){throw new nt(z.MISSING_LOCKFILE_ENTRY,`This package doesn't seem to be present in your lockfile; run "yarn install" to update the lockfile`)}async getSatisfying(e,r,i){throw new nt(z.MISSING_LOCKFILE_ENTRY,`This package doesn't seem to be present in your lockfile; run "yarn install" to update the lockfile`)}async resolve(e,r){throw new nt(z.MISSING_LOCKFILE_ENTRY,`This package doesn't seem to be present in your lockfile; run "yarn install" to update the lockfile`)}};var ei=class extends Xi{reportCacheHit(e){}reportCacheMiss(e){}startTimerSync(e,r,i){return(typeof r=="function"?r:i)()}async startTimerPromise(e,r,i){return await(typeof r=="function"?r:i)()}async startCacheReport(e){return await e()}reportSeparator(){}reportInfo(e,r){}reportWarning(e,r){}reportError(e,r){}reportProgress(e){let r=Promise.resolve().then(async()=>{for await(let{}of e);}),i=()=>{};return _(P({},r),{stop:i})}reportJson(e){}async finalize(){}};var b$=ie(vx());var Dd=class{constructor(e,{project:r}){this.workspacesCwds=new Set;this.dependencies=new Map;this.project=r,this.cwd=e}async setup(){this.manifest=T.existsSync(v.join(this.cwd,Ze.fileName))?await Ze.find(this.cwd):new Ze,this.relativeCwd=v.relative(this.project.cwd,this.cwd)||Se.dot;let e=this.manifest.name?this.manifest.name:Eo(null,`${this.computeCandidateName()}-${zi(this.relativeCwd).substr(0,6)}`),r=this.manifest.version?this.manifest.version:"0.0.0";this.locator=Vi(e,r),this.anchoredDescriptor=Yt(this.locator,`${Yr.protocol}${this.relativeCwd}`),this.anchoredLocator=Vi(this.locator,`${Yr.protocol}${this.relativeCwd}`);let i=this.manifest.workspaceDefinitions.map(({pattern:s})=>s),n=await(0,b$.default)(i,{cwd:M.fromPortablePath(this.cwd),expandDirectories:!1,onlyDirectories:!0,onlyFiles:!1,ignore:["**/node_modules","**/.git","**/.yarn"]});n.sort();for(let s of n){let o=v.resolve(this.cwd,M.toPortablePath(s));T.existsSync(v.join(o,"package.json"))&&this.workspacesCwds.add(o)}}accepts(e){var o;let r=e.indexOf(":"),i=r!==-1?e.slice(0,r+1):null,n=r!==-1?e.slice(r+1):e;if(i===Yr.protocol&&v.normalize(n)===this.relativeCwd||i===Yr.protocol&&(n==="*"||n==="^"||n==="~"))return!0;let s=Us(n);return s?i===Yr.protocol?s.test((o=this.manifest.version)!=null?o:"0.0.0"):this.project.configuration.get("enableTransparentWorkspaces")&&this.manifest.version!==null?s.test(this.manifest.version):!1:!1}computeCandidateName(){return this.cwd===this.project.cwd?"root-workspace":`${v.basename(this.cwd)}`||"unnamed-workspace"}getRecursiveWorkspaceDependencies({dependencies:e=Ze.hardDependencies}={}){let r=new Set,i=n=>{for(let s of e)for(let o of n.manifest[s].values()){let a=this.project.tryWorkspaceByDescriptor(o);a===null||r.has(a)||(r.add(a),i(a))}};return i(this),r}getRecursiveWorkspaceDependents({dependencies:e=Ze.hardDependencies}={}){let r=new Set,i=n=>{for(let s of this.project.workspaces)e.some(a=>[...s.manifest[a].values()].some(l=>{let c=this.project.tryWorkspaceByDescriptor(l);return c!==null&&up(c.anchoredLocator,n.anchoredLocator)}))&&!r.has(s)&&(r.add(s),i(s))};return i(this),r}getRecursiveWorkspaceChildren(){let e=[];for(let r of this.workspacesCwds){let i=this.project.workspacesByCwd.get(r);i&&e.push(i,...i.getRecursiveWorkspaceChildren())}return e}async persistManifest(){let e={};this.manifest.exportTo(e);let r=v.join(this.cwd,Ze.fileName),i=`${JSON.stringify(e,null,this.manifest.indent)} +`;await T.changeFilePromise(r,i,{automaticNewlines:!0}),this.manifest.raw=e}};var k$=5,nUe=1,sUe=/ *, */g,P$=/\/$/,oUe=32,aUe=(0,lF.promisify)(uF.default.gzip),AUe=(0,lF.promisify)(uF.default.gunzip),li;(function(r){r.UpdateLockfile="update-lockfile",r.SkipBuild="skip-build"})(li||(li={}));var gF={restoreInstallersCustomData:["installersCustomData"],restoreResolutions:["accessibleLocators","conditionalLocators","disabledLocators","optionalBuilds","storedDescriptors","storedResolutions","storedPackages","lockFileChecksum"],restoreBuildState:["storedBuildState"]},D$=t=>zi(`${nUe}`,t),Ke=class{constructor(e,{configuration:r}){this.resolutionAliases=new Map;this.workspaces=[];this.workspacesByCwd=new Map;this.workspacesByIdent=new Map;this.storedResolutions=new Map;this.storedDescriptors=new Map;this.storedPackages=new Map;this.storedChecksums=new Map;this.storedBuildState=new Map;this.accessibleLocators=new Set;this.conditionalLocators=new Set;this.disabledLocators=new Set;this.originalPackages=new Map;this.optionalBuilds=new Set;this.lockfileNeedsRefresh=!1;this.peerRequirements=new Map;this.installersCustomData=new Map;this.lockFileChecksum=null;this.installStateChecksum=null;this.configuration=r,this.cwd=e}static async find(e,r){var c,u,g;if(!e.projectCwd)throw new me(`No project found in ${r}`);let i=e.projectCwd,n=r,s=null;for(;s!==e.projectCwd;){if(s=n,T.existsSync(v.join(s,wt.manifest))){i=s;break}n=v.dirname(s)}let o=new Ke(e.projectCwd,{configuration:e});(c=fe.telemetry)==null||c.reportProject(o.cwd),await o.setupResolutions(),await o.setupWorkspaces(),(u=fe.telemetry)==null||u.reportWorkspaceCount(o.workspaces.length),(g=fe.telemetry)==null||g.reportDependencyCount(o.workspaces.reduce((f,h)=>f+h.manifest.dependencies.size+h.manifest.devDependencies.size,0));let a=o.tryWorkspaceByCwd(i);if(a)return{project:o,workspace:a,locator:a.anchoredLocator};let l=await o.findLocatorForLocation(`${i}/`,{strict:!0});if(l)return{project:o,locator:l,workspace:null};throw new me(`The nearest package directory (${Ve(e,i,Le.PATH)}) doesn't seem to be part of the project declared in ${Ve(e,o.cwd,Le.PATH)}. + +- If the project directory is right, it might be that you forgot to list ${Ve(e,v.relative(o.cwd,i),Le.PATH)} as a workspace. +- If it isn't, it's likely because you have a yarn.lock or package.json file there, confusing the project root detection.`)}async setupResolutions(){var i;this.storedResolutions=new Map,this.storedDescriptors=new Map,this.storedPackages=new Map,this.lockFileChecksum=null;let e=v.join(this.cwd,this.configuration.get("lockfileFilename")),r=this.configuration.get("defaultLanguageName");if(T.existsSync(e)){let n=await T.readFilePromise(e,"utf8");this.lockFileChecksum=D$(n);let s=Ii(n);if(s.__metadata){let o=s.__metadata.version,a=s.__metadata.cacheKey;this.lockfileNeedsRefresh=o0;){let r=e;e=[];for(let i of r){if(this.workspacesByCwd.has(i))continue;let n=await this.addWorkspace(i),s=this.storedPackages.get(n.anchoredLocator.locatorHash);s&&(n.dependencies=s.dependencies);for(let o of n.workspacesCwds)e.push(o)}}}async addWorkspace(e){let r=new Dd(e,{project:this});await r.setup();let i=this.workspacesByIdent.get(r.locator.identHash);if(typeof i!="undefined")throw new Error(`Duplicate workspace name ${Vr(this.configuration,r.locator)}: ${M.fromPortablePath(e)} conflicts with ${M.fromPortablePath(i.cwd)}`);return this.workspaces.push(r),this.workspacesByCwd.set(e,r),this.workspacesByIdent.set(r.locator.identHash,r),r}get topLevelWorkspace(){return this.getWorkspaceByCwd(this.cwd)}tryWorkspaceByCwd(e){v.isAbsolute(e)||(e=v.resolve(this.cwd,e)),e=v.normalize(e).replace(/\/+$/,"");let r=this.workspacesByCwd.get(e);return r||null}getWorkspaceByCwd(e){let r=this.tryWorkspaceByCwd(e);if(!r)throw new Error(`Workspace not found (${e})`);return r}tryWorkspaceByFilePath(e){let r=null;for(let i of this.workspaces)v.relative(i.cwd,e).startsWith("../")||r&&r.cwd.length>=i.cwd.length||(r=i);return r||null}getWorkspaceByFilePath(e){let r=this.tryWorkspaceByFilePath(e);if(!r)throw new Error(`Workspace not found (${e})`);return r}tryWorkspaceByIdent(e){let r=this.workspacesByIdent.get(e.identHash);return typeof r=="undefined"?null:r}getWorkspaceByIdent(e){let r=this.tryWorkspaceByIdent(e);if(!r)throw new Error(`Workspace not found (${Vr(this.configuration,e)})`);return r}tryWorkspaceByDescriptor(e){let r=this.tryWorkspaceByIdent(e);return r===null||(hA(e)&&(e=Ap(e)),!r.accepts(e.range))?null:r}getWorkspaceByDescriptor(e){let r=this.tryWorkspaceByDescriptor(e);if(r===null)throw new Error(`Workspace not found (${Xt(this.configuration,e)})`);return r}tryWorkspaceByLocator(e){let r=this.tryWorkspaceByIdent(e);return r===null||(Io(e)&&(e=lp(e)),r.locator.locatorHash!==e.locatorHash&&r.anchoredLocator.locatorHash!==e.locatorHash)?null:r}getWorkspaceByLocator(e){let r=this.tryWorkspaceByLocator(e);if(!r)throw new Error(`Workspace not found (${lt(this.configuration,e)})`);return r}refreshWorkspaceDependencies(){for(let e of this.workspaces){let r=this.storedPackages.get(e.anchoredLocator.locatorHash);if(!r)throw new Error(`Assertion failed: Expected workspace ${hp(this.configuration,e)} (${Ve(this.configuration,v.join(e.cwd,wt.manifest),Le.PATH)}) to have been resolved. Run "yarn install" to update the lockfile`);e.dependencies=new Map(r.dependencies)}}forgetResolution(e){let r=n=>{this.storedResolutions.delete(n),this.storedDescriptors.delete(n)},i=n=>{this.originalPackages.delete(n),this.storedPackages.delete(n),this.accessibleLocators.delete(n)};if("descriptorHash"in e){let n=this.storedResolutions.get(e.descriptorHash);r(e.descriptorHash);let s=new Set(this.storedResolutions.values());typeof n!="undefined"&&!s.has(n)&&i(n)}if("locatorHash"in e){i(e.locatorHash);for(let[n,s]of this.storedResolutions)s===e.locatorHash&&r(n)}}forgetTransientResolutions(){let e=this.configuration.makeResolver();for(let r of this.originalPackages.values()){let i;try{i=e.shouldPersistResolution(r,{project:this,resolver:e})}catch{i=!1}i||this.forgetResolution(r)}}forgetVirtualResolutions(){for(let e of this.storedPackages.values())for(let[r,i]of e.dependencies)hA(i)&&e.dependencies.set(r,Ap(i))}getDependencyMeta(e,r){let i={},s=this.topLevelWorkspace.manifest.dependenciesMeta.get(St(e));if(!s)return i;let o=s.get(null);if(o&&Object.assign(i,o),r===null||!x$.default.valid(r))return i;for(let[a,l]of s)a!==null&&a===r&&Object.assign(i,l);return i}async findLocatorForLocation(e,{strict:r=!1}={}){let i=new ei,n=this.configuration.getLinkers(),s={project:this,report:i};for(let o of n){let a=await o.findPackageLocator(e,s);if(a){if(r&&(await o.findPackageLocation(a,s)).replace(P$,"")!==e.replace(P$,""))continue;return a}}return null}async resolveEverything(e){if(!this.workspacesByCwd||!this.workspacesByIdent)throw new Error("Workspaces must have been setup before calling this function");this.forgetVirtualResolutions(),e.lockfileOnly||this.forgetTransientResolutions();let r=e.resolver||this.configuration.makeResolver(),i=new oF;await i.setup(this,{report:e.report});let n=e.lockfileOnly?[new AF(r)]:[i,r],s=new pd([new aF(r),...n]),o=this.configuration.makeFetcher(),a=e.lockfileOnly?{project:this,report:e.report,resolver:s}:{project:this,report:e.report,resolver:s,fetchOptions:{project:this,cache:e.cache,checksums:this.storedChecksums,report:e.report,fetcher:o,cacheOptions:{mirrorWriteOnly:!0}}},l=new Map,c=new Map,u=new Map,g=new Map,f=new Map,h=new Map,p=this.topLevelWorkspace.anchoredLocator,d=new Set,m=[],I=async W=>{let X=await du(async()=>await s.resolve(W,a),D=>`${lt(this.configuration,W)}: ${D}`);if(!up(W,X))throw new Error(`Assertion failed: The locator cannot be changed by the resolver (went from ${lt(this.configuration,W)} to ${lt(this.configuration,X)})`);g.set(X.locatorHash,X);let F=this.configuration.normalizePackage(X);for(let[D,he]of F.dependencies){let pe=await this.configuration.reduceHook(Pe=>Pe.reduceDependency,he,this,F,he,{resolver:s,resolveOptions:a});if(!cp(he,pe))throw new Error("Assertion failed: The descriptor ident cannot be changed through aliases");let Ne=s.bindDescriptor(pe,W,a);F.dependencies.set(D,Ne)}return m.push(Promise.all([...F.dependencies.values()].map(D=>H(D)))),c.set(F.locatorHash,F),F},B=async W=>{let X=f.get(W.locatorHash);if(typeof X!="undefined")return X;let F=Promise.resolve().then(()=>I(W));return f.set(W.locatorHash,F),F},b=async(W,X)=>{let F=await H(X);return l.set(W.descriptorHash,W),u.set(W.descriptorHash,F.locatorHash),F},R=async W=>{let X=this.resolutionAliases.get(W.descriptorHash);if(typeof X!="undefined")return b(W,this.storedDescriptors.get(X));let F=s.getResolutionDependencies(W,a),D=new Map(await Promise.all(F.map(async Ne=>{let Pe=s.bindDescriptor(Ne,p,a),qe=await H(Pe);return d.add(qe.locatorHash),[Ne.descriptorHash,qe]}))),pe=(await du(async()=>await s.getCandidates(W,D,a),Ne=>`${Xt(this.configuration,W)}: ${Ne}`))[0];if(typeof pe=="undefined")throw new Error(`${Xt(this.configuration,W)}: No candidates found`);return l.set(W.descriptorHash,W),u.set(W.descriptorHash,pe.locatorHash),B(pe)},H=W=>{let X=h.get(W.descriptorHash);if(typeof X!="undefined")return X;l.set(W.descriptorHash,W);let F=Promise.resolve().then(()=>R(W));return h.set(W.descriptorHash,F),F};for(let W of this.workspaces){let X=W.anchoredDescriptor;m.push(H(X))}for(;m.length>0;){let W=[...m];m.length=0,await Promise.all(W)}let L=new Set(this.resolutionAliases.values()),K=new Set(c.keys()),J=new Set,ne=new Map;lUe({project:this,report:e.report,accessibleLocators:J,volatileDescriptors:L,optionalBuilds:K,peerRequirements:ne,allDescriptors:l,allResolutions:u,allPackages:c});for(let W of d)K.delete(W);for(let W of L)l.delete(W),u.delete(W);let q=this.configuration.getSupportedArchitectures(),A=new Set,V=new Set;for(let W of c.values())W.conditions!=null&&(!K.has(W.locatorHash)||(Sy(W,q)||(Sy(W,{os:[process.platform],cpu:[process.arch]})&&e.report.reportWarningOnce(z.GHOST_ARCHITECTURE,`${lt(this.configuration,W)}: Your current architecture (${process.platform}-${process.arch}) is supported by this package, but is missing from the ${Ve(this.configuration,"supportedArchitectures",ps.SETTING)} setting`),V.add(W.locatorHash)),A.add(W.locatorHash)));this.storedResolutions=u,this.storedDescriptors=l,this.storedPackages=c,this.accessibleLocators=J,this.conditionalLocators=A,this.disabledLocators=V,this.originalPackages=g,this.optionalBuilds=K,this.peerRequirements=ne,this.refreshWorkspaceDependencies()}async fetchEverything({cache:e,report:r,fetcher:i,mode:n}){let s={mockedPackages:this.disabledLocators,unstablePackages:this.conditionalLocators},o=i||this.configuration.makeFetcher(),a={checksums:this.storedChecksums,project:this,cache:e,fetcher:o,report:r,cacheOptions:s},l=Array.from(new Set(gn(this.storedResolutions.values(),[f=>{let h=this.storedPackages.get(f);if(!h)throw new Error("Assertion failed: The locator should have been registered");return is(h)}])));n===li.UpdateLockfile&&(l=l.filter(f=>!this.storedChecksums.has(f)));let c=!1,u=Xi.progressViaCounter(l.length);r.reportProgress(u);let g=(0,S$.default)(oUe);if(await r.startCacheReport(async()=>{await Promise.all(l.map(f=>g(async()=>{let h=this.storedPackages.get(f);if(!h)throw new Error("Assertion failed: The locator should have been registered");if(Io(h))return;let p;try{p=await o.fetch(h,a)}catch(d){d.message=`${lt(this.configuration,h)}: ${d.message}`,r.reportExceptionOnce(d),c=d;return}p.checksum!=null?this.storedChecksums.set(h.locatorHash,p.checksum):this.storedChecksums.delete(h.locatorHash),p.releaseFs&&p.releaseFs()}).finally(()=>{u.tick()})))}),c)throw c}async linkEverything({cache:e,report:r,fetcher:i,mode:n}){var A,V,W;let s={mockedPackages:this.disabledLocators,unstablePackages:this.conditionalLocators,skipIntegrityCheck:!0},o=i||this.configuration.makeFetcher(),a={checksums:this.storedChecksums,project:this,cache:e,fetcher:o,report:r,skipIntegrityCheck:!0,cacheOptions:s},l=this.configuration.getLinkers(),c={project:this,report:r},u=new Map(l.map(X=>{let F=X.makeInstaller(c),D=F.getCustomDataKey(),he=this.installersCustomData.get(D);return typeof he!="undefined"&&F.attachCustomData(he),[X,F]})),g=new Map,f=new Map,h=new Map,p=new Map(await Promise.all([...this.accessibleLocators].map(async X=>{let F=this.storedPackages.get(X);if(!F)throw new Error("Assertion failed: The locator should have been registered");return[X,await o.fetch(F,a)]}))),d=[];for(let X of this.accessibleLocators){let F=this.storedPackages.get(X);if(typeof F=="undefined")throw new Error("Assertion failed: The locator should have been registered");let D=p.get(F.locatorHash);if(typeof D=="undefined")throw new Error("Assertion failed: The fetch result should have been registered");let he=[],pe=Pe=>{he.push(Pe)},Ne=this.tryWorkspaceByLocator(F);if(Ne!==null){let Pe=[],{scripts:qe}=Ne.manifest;for(let se of["preinstall","install","postinstall"])qe.has(se)&&Pe.push([Gn.SCRIPT,se]);try{for(let[se,be]of u)if(se.supportsPackage(F,c)&&(await be.installPackage(F,D,{holdFetchResult:pe})).buildDirective!==null)throw new Error("Assertion failed: Linkers can't return build directives for workspaces; this responsibility befalls to the Yarn core")}finally{he.length===0?(A=D.releaseFs)==null||A.call(D):d.push(Promise.all(he).catch(()=>{}).then(()=>{var se;(se=D.releaseFs)==null||se.call(D)}))}let re=v.join(D.packageFs.getRealPath(),D.prefixPath);f.set(F.locatorHash,re),!Io(F)&&Pe.length>0&&h.set(F.locatorHash,{directives:Pe,buildLocations:[re]})}else{let Pe=l.find(se=>se.supportsPackage(F,c));if(!Pe)throw new nt(z.LINKER_NOT_FOUND,`${lt(this.configuration,F)} isn't supported by any available linker`);let qe=u.get(Pe);if(!qe)throw new Error("Assertion failed: The installer should have been registered");let re;try{re=await qe.installPackage(F,D,{holdFetchResult:pe})}finally{he.length===0?(V=D.releaseFs)==null||V.call(D):d.push(Promise.all(he).then(()=>{}).then(()=>{var se;(se=D.releaseFs)==null||se.call(D)}))}g.set(F.locatorHash,Pe),f.set(F.locatorHash,re.packageLocation),re.buildDirective&&re.buildDirective.length>0&&re.packageLocation&&h.set(F.locatorHash,{directives:re.buildDirective,buildLocations:[re.packageLocation]})}}let m=new Map;for(let X of this.accessibleLocators){let F=this.storedPackages.get(X);if(!F)throw new Error("Assertion failed: The locator should have been registered");let D=this.tryWorkspaceByLocator(F)!==null,he=async(pe,Ne)=>{let Pe=f.get(F.locatorHash);if(typeof Pe=="undefined")throw new Error(`Assertion failed: The package (${lt(this.configuration,F)}) should have been registered`);let qe=[];for(let re of F.dependencies.values()){let se=this.storedResolutions.get(re.descriptorHash);if(typeof se=="undefined")throw new Error(`Assertion failed: The resolution (${Xt(this.configuration,re)}, from ${lt(this.configuration,F)})should have been registered`);let be=this.storedPackages.get(se);if(typeof be=="undefined")throw new Error(`Assertion failed: The package (${se}, resolved from ${Xt(this.configuration,re)}) should have been registered`);let ae=this.tryWorkspaceByLocator(be)===null?g.get(se):null;if(typeof ae=="undefined")throw new Error(`Assertion failed: The package (${se}, resolved from ${Xt(this.configuration,re)}) should have been registered`);ae===pe||ae===null?f.get(be.locatorHash)!==null&&qe.push([re,be]):!D&&Pe!==null&&hu(m,se).push(Pe)}Pe!==null&&await Ne.attachInternalDependencies(F,qe)};if(D)for(let[pe,Ne]of u)pe.supportsPackage(F,c)&&await he(pe,Ne);else{let pe=g.get(F.locatorHash);if(!pe)throw new Error("Assertion failed: The linker should have been found");let Ne=u.get(pe);if(!Ne)throw new Error("Assertion failed: The installer should have been registered");await he(pe,Ne)}}for(let[X,F]of m){let D=this.storedPackages.get(X);if(!D)throw new Error("Assertion failed: The package should have been registered");let he=g.get(D.locatorHash);if(!he)throw new Error("Assertion failed: The linker should have been found");let pe=u.get(he);if(!pe)throw new Error("Assertion failed: The installer should have been registered");await pe.attachExternalDependents(D,F)}let I=new Map;for(let X of u.values()){let F=await X.finalizeInstall();for(let D of(W=F==null?void 0:F.records)!=null?W:[])h.set(D.locatorHash,{directives:D.buildDirective,buildLocations:D.buildLocations});typeof(F==null?void 0:F.customData)!="undefined"&&I.set(X.getCustomDataKey(),F.customData)}if(this.installersCustomData=I,await Promise.all(d),n===li.SkipBuild)return;let B=new Set(this.storedPackages.keys()),b=new Set(h.keys());for(let X of b)B.delete(X);let R=(0,t0.createHash)("sha512");R.update(process.versions.node),await this.configuration.triggerHook(X=>X.globalHashGeneration,this,X=>{R.update("\0"),R.update(X)});let H=R.digest("hex"),L=new Map,K=X=>{let F=L.get(X.locatorHash);if(typeof F!="undefined")return F;let D=this.storedPackages.get(X.locatorHash);if(typeof D=="undefined")throw new Error("Assertion failed: The package should have been registered");let he=(0,t0.createHash)("sha512");he.update(X.locatorHash),L.set(X.locatorHash,"");for(let pe of D.dependencies.values()){let Ne=this.storedResolutions.get(pe.descriptorHash);if(typeof Ne=="undefined")throw new Error(`Assertion failed: The resolution (${Xt(this.configuration,pe)}) should have been registered`);let Pe=this.storedPackages.get(Ne);if(typeof Pe=="undefined")throw new Error("Assertion failed: The package should have been registered");he.update(K(Pe))}return F=he.digest("hex"),L.set(X.locatorHash,F),F},J=(X,F)=>{let D=(0,t0.createHash)("sha512");D.update(H),D.update(K(X));for(let he of F)D.update(he);return D.digest("hex")},ne=new Map,q=!1;for(;b.size>0;){let X=b.size,F=[];for(let D of b){let he=this.storedPackages.get(D);if(!he)throw new Error("Assertion failed: The package should have been registered");let pe=!0;for(let qe of he.dependencies.values()){let re=this.storedResolutions.get(qe.descriptorHash);if(!re)throw new Error(`Assertion failed: The resolution (${Xt(this.configuration,qe)}) should have been registered`);if(b.has(re)){pe=!1;break}}if(!pe)continue;b.delete(D);let Ne=h.get(he.locatorHash);if(!Ne)throw new Error("Assertion failed: The build directive should have been registered");let Pe=J(he,Ne.buildLocations);if(this.storedBuildState.get(he.locatorHash)===Pe){ne.set(he.locatorHash,Pe);continue}q||(await this.persistInstallStateFile(),q=!0),this.storedBuildState.has(he.locatorHash)?r.reportInfo(z.MUST_REBUILD,`${lt(this.configuration,he)} must be rebuilt because its dependency tree changed`):r.reportInfo(z.MUST_BUILD,`${lt(this.configuration,he)} must be built because it never has been before or the last one failed`);for(let qe of Ne.buildLocations){if(!v.isAbsolute(qe))throw new Error(`Assertion failed: Expected the build location to be absolute (not ${qe})`);F.push((async()=>{for(let[re,se]of Ne.directives){let be=`# This file contains the result of Yarn building a package (${is(he)}) +`;switch(re){case Gn.SCRIPT:be+=`# Script name: ${se} +`;break;case Gn.SHELLCODE:be+=`# Script code: ${se} +`;break}let ae=null;if(!await T.mktempPromise(async De=>{let $=v.join(De,"build.log"),{stdout:G,stderr:Ce}=this.configuration.getSubprocessStreams($,{header:be,prefix:lt(this.configuration,he),report:r}),ee;try{switch(re){case Gn.SCRIPT:ee=await Uw(he,se,[],{cwd:qe,project:this,stdin:ae,stdout:G,stderr:Ce});break;case Gn.SHELLCODE:ee=await rD(he,se,[],{cwd:qe,project:this,stdin:ae,stdout:G,stderr:Ce});break}}catch(Oe){Ce.write(Oe.stack),ee=1}if(G.end(),Ce.end(),ee===0)return ne.set(he.locatorHash,Pe),!0;T.detachTemp(De);let Ue=`${lt(this.configuration,he)} couldn't be built successfully (exit code ${Ve(this.configuration,ee,Le.NUMBER)}, logs can be found here: ${Ve(this.configuration,$,Le.PATH)})`;return this.optionalBuilds.has(he.locatorHash)?(r.reportInfo(z.BUILD_FAILED,Ue),ne.set(he.locatorHash,Pe),!0):(r.reportError(z.BUILD_FAILED,Ue),!1)}))return}})())}}if(await Promise.all(F),X===b.size){let D=Array.from(b).map(he=>{let pe=this.storedPackages.get(he);if(!pe)throw new Error("Assertion failed: The package should have been registered");return lt(this.configuration,pe)}).join(", ");r.reportError(z.CYCLIC_DEPENDENCIES,`Some packages have circular dependencies that make their build order unsatisfiable - as a result they won't be built (affected packages are: ${D})`);break}}this.storedBuildState=ne}async install(e){var a,l;let r=this.configuration.get("nodeLinker");(a=fe.telemetry)==null||a.reportInstall(r),await e.report.startTimerPromise("Project validation",{skipIfEmpty:!0},async()=>{await this.configuration.triggerHook(c=>c.validateProject,this,{reportWarning:e.report.reportWarning.bind(e.report),reportError:e.report.reportError.bind(e.report)})});for(let c of this.configuration.packageExtensions.values())for(let[,u]of c)for(let g of u)g.status=ki.Inactive;let i=v.join(this.cwd,this.configuration.get("lockfileFilename")),n=null;if(e.immutable)try{n=await T.readFilePromise(i,"utf8")}catch(c){throw c.code==="ENOENT"?new nt(z.FROZEN_LOCKFILE_EXCEPTION,"The lockfile would have been created by this install, which is explicitly forbidden."):c}await e.report.startTimerPromise("Resolution step",async()=>{await this.resolveEverything(e)}),await e.report.startTimerPromise("Post-resolution validation",{skipIfEmpty:!0},async()=>{for(let[,c]of this.configuration.packageExtensions)for(let[,u]of c)for(let g of u)if(g.userProvided){let f=Ve(this.configuration,g,Le.PACKAGE_EXTENSION);switch(g.status){case ki.Inactive:e.report.reportWarning(z.UNUSED_PACKAGE_EXTENSION,`${f}: No matching package in the dependency tree; you may not need this rule anymore.`);break;case ki.Redundant:e.report.reportWarning(z.REDUNDANT_PACKAGE_EXTENSION,`${f}: This rule seems redundant when applied on the original package; the extension may have been applied upstream.`);break}}if(n!==null){let c=ul(n,this.generateLockfile());if(c!==n){let u=(0,v$.structuredPatch)(i,i,n,c);e.report.reportSeparator();for(let g of u.hunks){e.report.reportInfo(null,`@@ -${g.oldStart},${g.oldLines} +${g.newStart},${g.newLines} @@`);for(let f of g.lines)f.startsWith("+")?e.report.reportError(z.FROZEN_LOCKFILE_EXCEPTION,Ve(this.configuration,f,Le.ADDED)):f.startsWith("-")?e.report.reportError(z.FROZEN_LOCKFILE_EXCEPTION,Ve(this.configuration,f,Le.REMOVED)):e.report.reportInfo(null,Ve(this.configuration,f,"grey"))}throw e.report.reportSeparator(),new nt(z.FROZEN_LOCKFILE_EXCEPTION,"The lockfile would have been modified by this install, which is explicitly forbidden.")}}});for(let c of this.configuration.packageExtensions.values())for(let[,u]of c)for(let g of u)g.userProvided&&g.status===ki.Active&&((l=fe.telemetry)==null||l.reportPackageExtension(Uu(g,Le.PACKAGE_EXTENSION)));await e.report.startTimerPromise("Fetch step",async()=>{await this.fetchEverything(e),(typeof e.persistProject=="undefined"||e.persistProject)&&e.mode!==li.UpdateLockfile&&await this.cacheCleanup(e)});let s=e.immutable?[...new Set(this.configuration.get("immutablePatterns"))].sort():[],o=await Promise.all(s.map(async c=>Iy(c,{cwd:this.cwd})));(typeof e.persistProject=="undefined"||e.persistProject)&&await this.persist(),await e.report.startTimerPromise("Link step",async()=>{if(e.mode===li.UpdateLockfile){e.report.reportWarning(z.UPDATE_LOCKFILE_ONLY_SKIP_LINK,`Skipped due to ${Ve(this.configuration,"mode=update-lockfile",Le.CODE)}`);return}await this.linkEverything(e);let c=await Promise.all(s.map(async u=>Iy(u,{cwd:this.cwd})));for(let u=0;uc.afterAllInstalled,this,e)}generateLockfile(){let e=new Map;for(let[n,s]of this.storedResolutions.entries()){let o=e.get(s);o||e.set(s,o=new Set),o.add(n)}let r={};r.__metadata={version:k$,cacheKey:void 0};for(let[n,s]of e.entries()){let o=this.originalPackages.get(n);if(!o)continue;let a=[];for(let f of s){let h=this.storedDescriptors.get(f);if(!h)throw new Error("Assertion failed: The descriptor should have been registered");a.push(h)}let l=a.map(f=>In(f)).sort().join(", "),c=new Ze;c.version=o.linkType===gt.HARD?o.version:"0.0.0-use.local",c.languageName=o.languageName,c.dependencies=new Map(o.dependencies),c.peerDependencies=new Map(o.peerDependencies),c.dependenciesMeta=new Map(o.dependenciesMeta),c.peerDependenciesMeta=new Map(o.peerDependenciesMeta),c.bin=new Map(o.bin);let u,g=this.storedChecksums.get(o.locatorHash);if(typeof g!="undefined"){let f=g.indexOf("/");if(f===-1)throw new Error("Assertion failed: Expected the checksum to reference its cache key");let h=g.slice(0,f),p=g.slice(f+1);typeof r.__metadata.cacheKey=="undefined"&&(r.__metadata.cacheKey=h),h===r.__metadata.cacheKey?u=p:u=g}r[l]=_(P({},c.exportTo({},{compatibilityMode:!1})),{linkType:o.linkType.toLowerCase(),resolution:is(o),checksum:u,conditions:o.conditions||void 0})}return`${[`# This file is generated by running "yarn install" inside your project. +`,`# Manual changes might be lost - proceed with caution! +`].join("")} +`+Qa(r)}async persistLockfile(){let e=v.join(this.cwd,this.configuration.get("lockfileFilename")),r="";try{r=await T.readFilePromise(e,"utf8")}catch(s){}let i=this.generateLockfile(),n=ul(r,i);n!==r&&(await T.writeFilePromise(e,n),this.lockFileChecksum=D$(n),this.lockfileNeedsRefresh=!1)}async persistInstallStateFile(){let e=[];for(let o of Object.values(gF))e.push(...o);let r=(0,r0.default)(this,e),i=cF.default.serialize(r),n=zi(i);if(this.installStateChecksum===n)return;let s=this.configuration.get("installStatePath");await T.mkdirPromise(v.dirname(s),{recursive:!0}),await T.writeFilePromise(s,await aUe(i)),this.installStateChecksum=n}async restoreInstallState({restoreInstallersCustomData:e=!0,restoreResolutions:r=!0,restoreBuildState:i=!0}={}){let n=this.configuration.get("installStatePath");if(!T.existsSync(n)){r&&await this.applyLightResolution();return}let s=await AUe(await T.readFilePromise(n));this.installStateChecksum=zi(s);let o=cF.default.deserialize(s);e&&typeof o.installersCustomData!="undefined"&&(this.installersCustomData=o.installersCustomData),i&&Object.assign(this,(0,r0.default)(o,gF.restoreBuildState)),r&&(o.lockFileChecksum===this.lockFileChecksum?(Object.assign(this,(0,r0.default)(o,gF.restoreResolutions)),this.refreshWorkspaceDependencies()):await this.applyLightResolution())}async applyLightResolution(){await this.resolveEverything({lockfileOnly:!0,report:new ei}),await this.persistInstallStateFile()}async persist(){await this.persistLockfile();for(let e of this.workspacesByCwd.values())await e.persistManifest()}async cacheCleanup({cache:e,report:r}){let i=new Set([".gitignore"]);if(!Fb(e.cwd,this.cwd)||!await T.existsPromise(e.cwd))return;let n=this.configuration.get("preferAggregateCacheInfo"),s=0,o=null;for(let a of await T.readdirPromise(e.cwd)){if(i.has(a))continue;let l=v.resolve(e.cwd,a);e.markedFiles.has(l)||(o=a,e.immutable?r.reportError(z.IMMUTABLE_CACHE,`${Ve(this.configuration,v.basename(l),"magenta")} appears to be unused and would be marked for deletion, but the cache is immutable`):(n?s+=1:r.reportInfo(z.UNUSED_CACHE_ENTRY,`${Ve(this.configuration,v.basename(l),"magenta")} appears to be unused - removing`),await T.removePromise(l)))}n&&s!==0&&r.reportInfo(z.UNUSED_CACHE_ENTRY,s>1?`${s} packages appeared to be unused and were removed`:`${o} appeared to be unused and was removed`),e.markedFiles.clear()}};function lUe({project:t,allDescriptors:e,allResolutions:r,allPackages:i,accessibleLocators:n=new Set,optionalBuilds:s=new Set,volatileDescriptors:o=new Set,peerRequirements:a=new Map,report:l,tolerateMissingPackages:c=!1}){var ne;let u=new Map,g=[],f=new Map,h=new Map,p=new Map,d=new Map,m=new Map,I=new Map(t.workspaces.map(q=>{let A=q.anchoredLocator.locatorHash,V=i.get(A);if(typeof V=="undefined"){if(c)return[A,null];throw new Error("Assertion failed: The workspace should have an associated package")}return[A,ap(V)]})),B=()=>{let q=T.mktempSync(),A=v.join(q,"stacktrace.log"),V=String(g.length+1).length,W=g.map((X,F)=>`${`${F+1}.`.padStart(V," ")} ${is(X)} +`).join("");throw T.writeFileSync(A,W),T.detachTemp(q),new nt(z.STACK_OVERFLOW_RESOLUTION,`Encountered a stack overflow when resolving peer dependencies; cf ${M.fromPortablePath(A)}`)},b=q=>{let A=r.get(q.descriptorHash);if(typeof A=="undefined")throw new Error("Assertion failed: The resolution should have been registered");let V=i.get(A);if(!V)throw new Error("Assertion failed: The package could not be found");return V},R=(q,A,V,{top:W,optional:X})=>{g.length>1e3&&B(),g.push(A);let F=H(q,A,V,{top:W,optional:X});return g.pop(),F},H=(q,A,V,{top:W,optional:X})=>{if(n.has(A.locatorHash))return;n.add(A.locatorHash),X||s.delete(A.locatorHash);let F=i.get(A.locatorHash);if(!F){if(c)return;throw new Error(`Assertion failed: The package (${lt(t.configuration,A)}) should have been registered`)}let D=[],he=[],pe=[],Ne=[],Pe=[];for(let re of Array.from(F.dependencies.values())){if(F.peerDependencies.has(re.identHash)&&F.locatorHash!==W)continue;if(hA(re))throw new Error("Assertion failed: Virtual packages shouldn't be encountered when virtualizing a branch");o.delete(re.descriptorHash);let se=X;if(!se){let ee=F.dependenciesMeta.get(St(re));if(typeof ee!="undefined"){let Ue=ee.get(null);typeof Ue!="undefined"&&Ue.optional&&(se=!0)}}let be=r.get(re.descriptorHash);if(!be){if(c)continue;throw new Error(`Assertion failed: The resolution (${Xt(t.configuration,re)}) should have been registered`)}let ae=I.get(be)||i.get(be);if(!ae)throw new Error(`Assertion failed: The package (${be}, resolved from ${Xt(t.configuration,re)}) should have been registered`);if(ae.peerDependencies.size===0){R(re,ae,new Map,{top:W,optional:se});continue}let Ae=u.get(ae.locatorHash);typeof Ae=="number"&&Ae>=2&&B();let De,$,G=new Set,Ce;he.push(()=>{De=kx(re,A.locatorHash),$=Px(ae,A.locatorHash),F.dependencies.delete(re.identHash),F.dependencies.set(De.identHash,De),r.set(De.descriptorHash,$.locatorHash),e.set(De.descriptorHash,De),i.set($.locatorHash,$),D.push([ae,De,$])}),pe.push(()=>{var ee;Ce=new Map;for(let Ue of $.peerDependencies.values()){let Oe=F.dependencies.get(Ue.identHash);if(!Oe&&cp(A,Ue)&&(Oe=q),(!Oe||Oe.range==="missing:")&&$.dependencies.has(Ue.identHash)){$.peerDependencies.delete(Ue.identHash);continue}Oe||(Oe=Yt(Ue,"missing:")),$.dependencies.set(Oe.identHash,Oe),hA(Oe)&&Pl(p,Oe.descriptorHash).add($.locatorHash),f.set(Oe.identHash,Oe),Oe.range==="missing:"&&G.add(Oe.identHash),Ce.set(Ue.identHash,(ee=V.get(Ue.identHash))!=null?ee:$.locatorHash)}$.dependencies=new Map(gn($.dependencies,([Ue,Oe])=>St(Oe)))}),Ne.push(()=>{if(!i.has($.locatorHash))return;let ee=u.get(ae.locatorHash),Ue=typeof ee!="undefined"?ee+1:1;u.set(ae.locatorHash,Ue),R(De,$,Ce,{top:W,optional:se}),u.set(ae.locatorHash,Ue-1)}),Pe.push(()=>{let ee=F.dependencies.get(re.identHash);if(typeof ee=="undefined")throw new Error("Assertion failed: Expected the peer dependency to have been turned into a dependency");let Ue=r.get(ee.descriptorHash);if(typeof Ue=="undefined")throw new Error("Assertion failed: Expected the descriptor to be registered");if(Pl(m,Ue).add(A.locatorHash),!!i.has($.locatorHash)){for(let Oe of $.peerDependencies.values()){let vt=Ce.get(Oe.identHash);if(typeof vt=="undefined")throw new Error("Assertion failed: Expected the peer dependency ident to be registered");hu(pu(d,vt),St(Oe)).push($.locatorHash)}for(let Oe of G)$.dependencies.delete(Oe)}})}for(let re of[...he,...pe])re();let qe;do{qe=!0;for(let[re,se,be]of D){if(!i.has(be.locatorHash))continue;let ae=pu(h,re.locatorHash),Ae=zi(...[...be.dependencies.values()].map(Ce=>{let ee=Ce.range!=="missing:"?r.get(Ce.descriptorHash):"missing:";if(typeof ee=="undefined")throw new Error(`Assertion failed: Expected the resolution for ${Xt(t.configuration,Ce)} to have been registered`);return ee===W?`${ee} (top)`:ee}),se.identHash),De=ae.get(Ae);if(typeof De=="undefined"){ae.set(Ae,se);continue}if(De===se)continue;qe=!1,i.delete(be.locatorHash),e.delete(se.descriptorHash),r.delete(se.descriptorHash),n.delete(be.locatorHash);let $=p.get(se.descriptorHash)||[],G=[F.locatorHash,...$];p.delete(se.descriptorHash);for(let Ce of G){let ee=i.get(Ce);typeof ee!="undefined"&&ee.dependencies.set(se.identHash,De)}}}while(!qe);for(let re of[...Ne,...Pe])re()};for(let q of t.workspaces){let A=q.anchoredLocator;o.delete(q.anchoredDescriptor.descriptorHash),R(q.anchoredDescriptor,A,new Map,{top:A.locatorHash,optional:!1})}var L;(function(V){V[V.NotProvided=0]="NotProvided",V[V.NotCompatible=1]="NotCompatible"})(L||(L={}));let K=[];for(let[q,A]of m){let V=i.get(q);if(typeof V=="undefined")throw new Error("Assertion failed: Expected the root to be registered");let W=d.get(q);if(typeof W!="undefined")for(let X of A){let F=i.get(X);if(typeof F!="undefined")for(let[D,he]of W){let pe=En(D);if(F.peerDependencies.has(pe.identHash))continue;let Ne=`p${zi(X,D,q).slice(0,5)}`;a.set(Ne,{subject:X,requested:pe,rootRequester:q,allRequesters:he});let Pe=V.dependencies.get(pe.identHash);if(typeof Pe!="undefined"){let qe=b(Pe),re=(ne=qe.version)!=null?ne:"0.0.0",se=new Set;for(let ae of he){let Ae=i.get(ae);if(typeof Ae=="undefined")throw new Error("Assertion failed: Expected the link to be registered");let De=Ae.peerDependencies.get(pe.identHash);if(typeof De=="undefined")throw new Error("Assertion failed: Expected the ident to be registered");se.add(De.range)}[...se].every(ae=>{if(ae.startsWith(Yr.protocol)){if(!t.tryWorkspaceByLocator(qe))return!1;ae=ae.slice(Yr.protocol.length),(ae==="^"||ae==="~")&&(ae="*")}return lc(re,ae)})||K.push({type:1,subject:F,requested:pe,requester:V,version:re,hash:Ne,requirementCount:he.length})}else{let qe=V.peerDependenciesMeta.get(D);(qe==null?void 0:qe.optional)||K.push({type:0,subject:F,requested:pe,requester:V,hash:Ne})}}}}let J=[q=>Rx(q.subject),q=>St(q.requested),q=>`${q.type}`];for(let q of gn(K,J))switch(q.type){case 0:l==null||l.reportWarning(z.MISSING_PEER_DEPENDENCY,`${lt(t.configuration,q.subject)} doesn't provide ${Vr(t.configuration,q.requested)} (${Ve(t.configuration,q.hash,Le.CODE)}), requested by ${Vr(t.configuration,q.requester)}`);break;case 1:{let A=q.requirementCount>1?"and some of its descendants request":"requests";l==null||l.reportWarning(z.INCOMPATIBLE_PEER_DEPENDENCY,`${lt(t.configuration,q.subject)} provides ${Vr(t.configuration,q.requested)} (${Ve(t.configuration,q.hash,Le.CODE)}) with version ${fp(t.configuration,q.version)}, which doesn't satisfy what ${Vr(t.configuration,q.requester)} ${A}`)}break}K.length>0&&(l==null||l.reportWarning(z.UNNAMED,`Some peer dependencies are incorrectly met; run ${Ve(t.configuration,"yarn explain peer-requirements ",Le.CODE)} for details, where ${Ve(t.configuration,"",Le.CODE)} is the six-letter p-prefixed code`))}var Po;(function(l){l.VERSION="version",l.COMMAND_NAME="commandName",l.PLUGIN_NAME="pluginName",l.INSTALL_COUNT="installCount",l.PROJECT_COUNT="projectCount",l.WORKSPACE_COUNT="workspaceCount",l.DEPENDENCY_COUNT="dependencyCount",l.EXTENSION="packageExtension"})(Po||(Po={}));var Rd=class{constructor(e,r){this.values=new Map;this.hits=new Map;this.enumerators=new Map;this.configuration=e;let i=this.getRegistryPath();this.isNew=!T.existsSync(i),this.sendReport(r),this.startBuffer()}reportVersion(e){this.reportValue(Po.VERSION,e.replace(/-git\..*/,"-git"))}reportCommandName(e){this.reportValue(Po.COMMAND_NAME,e||"")}reportPluginName(e){this.reportValue(Po.PLUGIN_NAME,e)}reportProject(e){this.reportEnumerator(Po.PROJECT_COUNT,e)}reportInstall(e){this.reportHit(Po.INSTALL_COUNT,e)}reportPackageExtension(e){this.reportValue(Po.EXTENSION,e)}reportWorkspaceCount(e){this.reportValue(Po.WORKSPACE_COUNT,String(e))}reportDependencyCount(e){this.reportValue(Po.DEPENDENCY_COUNT,String(e))}reportValue(e,r){Pl(this.values,e).add(r)}reportEnumerator(e,r){Pl(this.enumerators,e).add(zi(r))}reportHit(e,r="*"){let i=pu(this.hits,e),n=na(i,r,()=>0);i.set(r,n+1)}getRegistryPath(){let e=this.configuration.get("globalFolder");return v.join(e,"telemetry.json")}sendReport(e){var u,g,f;let r=this.getRegistryPath(),i;try{i=T.readJsonSync(r)}catch{i={}}let n=Date.now(),s=this.configuration.get("telemetryInterval")*24*60*60*1e3,a=((u=i.lastUpdate)!=null?u:n+s+Math.floor(s*Math.random()))+s;if(a>n&&i.lastUpdate!=null)return;try{T.mkdirSync(v.dirname(r),{recursive:!0}),T.writeJsonSync(r,{lastUpdate:n})}catch{return}if(a>n||!i.blocks)return;let l=`https://browser-http-intake.logs.datadoghq.eu/v1/input/${e}?ddsource=yarn`,c=h=>iP(l,h,{configuration:this.configuration}).catch(()=>{});for(let[h,p]of Object.entries((g=i.blocks)!=null?g:{})){if(Object.keys(p).length===0)continue;let d=p;d.userId=h,d.reportType="primary";for(let B of Object.keys((f=d.enumerators)!=null?f:{}))d.enumerators[B]=d.enumerators[B].length;c(d);let m=new Map,I=20;for(let[B,b]of Object.entries(d.values))b.length>0&&m.set(B,b.slice(0,I));for(;m.size>0;){let B={};B.userId=h,B.reportType="secondary",B.metrics={};for(let[b,R]of m)B.metrics[b]=R.shift(),R.length===0&&m.delete(b);c(B)}}}applyChanges(){var o,a,l,c,u,g,f,h,p;let e=this.getRegistryPath(),r;try{r=T.readJsonSync(e)}catch{r={}}let i=(o=this.configuration.get("telemetryUserId"))!=null?o:"*",n=r.blocks=(a=r.blocks)!=null?a:{},s=n[i]=(l=n[i])!=null?l:{};for(let d of this.hits.keys()){let m=s.hits=(c=s.hits)!=null?c:{},I=m[d]=(u=m[d])!=null?u:{};for(let[B,b]of this.hits.get(d))I[B]=((g=I[B])!=null?g:0)+b}for(let d of["values","enumerators"])for(let m of this[d].keys()){let I=s[d]=(f=s[d])!=null?f:{};I[m]=[...new Set([...(h=I[m])!=null?h:[],...(p=this[d].get(m))!=null?p:[]])]}T.mkdirSync(v.dirname(e),{recursive:!0}),T.writeJsonSync(e,r)}startBuffer(){process.on("exit",()=>{try{this.applyChanges()}catch{}})}};var fF=ie(require("child_process")),R$=ie(ml());var hF=ie(require("fs"));var Yg=new Map([["constraints",[["constraints","query"],["constraints","source"],["constraints"]]],["exec",[]],["interactive-tools",[["search"],["upgrade-interactive"]]],["stage",[["stage"]]],["typescript",[]],["version",[["version","apply"],["version","check"],["version"]]],["workspace-tools",[["workspaces","focus"],["workspaces","foreach"]]]]);function cUe(t){let e=M.fromPortablePath(t);process.on("SIGINT",()=>{}),e?(0,fF.execFileSync)(process.execPath,[e,...process.argv.slice(2)],{stdio:"inherit",env:_(P({},process.env),{YARN_IGNORE_PATH:"1",YARN_IGNORE_CWD:"1"})}):(0,fF.execFileSync)(e,process.argv.slice(2),{stdio:"inherit",env:_(P({},process.env),{YARN_IGNORE_PATH:"1",YARN_IGNORE_CWD:"1"})})}async function i0({binaryVersion:t,pluginConfiguration:e}){async function r(){let n=new oo({binaryLabel:"Yarn Package Manager",binaryName:"yarn",binaryVersion:t});try{await i(n)}catch(s){process.stdout.write(n.error(s)),process.exitCode=1}}async function i(n){var p,d,m,I,B;let s=process.versions.node,o=">=12 <14 || 14.2 - 14.9 || >14.10.0";if(process.env.YARN_IGNORE_NODE!=="1"&&!qt.satisfiesWithPrereleases(s,o))throw new me(`This tool requires a Node version compatible with ${o} (got ${s}). Upgrade Node, or set \`YARN_IGNORE_NODE=1\` in your environment.`);let a=await fe.find(M.toPortablePath(process.cwd()),e,{usePath:!0,strict:!1}),l=a.get("yarnPath"),c=a.get("ignorePath"),u=a.get("ignoreCwd"),g=M.toPortablePath(M.resolve(process.argv[1])),f=b=>T.readFilePromise(b).catch(()=>Buffer.of());if(!c&&!u&&await(async()=>l===g||Buffer.compare(...await Promise.all([f(l),f(g)]))===0)()){process.env.YARN_IGNORE_PATH="1",process.env.YARN_IGNORE_CWD="1",await i(n);return}else if(l!==null&&!c)if(!T.existsSync(l))process.stdout.write(n.error(new Error(`The "yarn-path" option has been set (in ${a.sources.get("yarnPath")}), but the specified location doesn't exist (${l}).`))),process.exitCode=1;else try{cUe(l)}catch(b){process.exitCode=b.code||1}else{c&&delete process.env.YARN_IGNORE_PATH,a.get("enableTelemetry")&&!R$.isCI&&process.stdout.isTTY&&(fe.telemetry=new Rd(a,"puba9cdc10ec5790a2cf4969dd413a47270")),(p=fe.telemetry)==null||p.reportVersion(t);for(let[L,K]of a.plugins.entries()){Yg.has((m=(d=L.match(/^@yarnpkg\/plugin-(.*)$/))==null?void 0:d[1])!=null?m:"")&&((I=fe.telemetry)==null||I.reportPluginName(L));for(let J of K.commands||[])n.register(J)}let R=n.process(process.argv.slice(2));R.help||(B=fe.telemetry)==null||B.reportCommandName(R.path.join(" "));let H=R.cwd;if(typeof H!="undefined"&&!u){let L=(0,hF.realpathSync)(process.cwd()),K=(0,hF.realpathSync)(H);if(L!==K){process.chdir(H),await r();return}}await n.runExit(R,{cwd:M.toPortablePath(process.cwd()),plugins:e,quiet:!1,stdin:process.stdin,stdout:process.stdout,stderr:process.stderr})}}return r().catch(n=>{process.stdout.write(n.stack||n.message),process.exitCode=1}).finally(()=>T.rmtempPromise())}function F$(t){t.Command.Path=(...e)=>r=>{r.paths=r.paths||[],r.paths.push(e)};for(let e of["Array","Boolean","String","Proxy","Rest","Counter"])t.Command[e]=(...r)=>(i,n)=>{let s=t.Option[e](...r);Object.defineProperty(i,`__${n}`,{configurable:!1,enumerable:!0,get(){return s},set(o){this[n]=o}})};return t}var iC={};it(iC,{BaseCommand:()=>Be,WorkspaceRequiredError:()=>rt,getDynamicLibs:()=>Wie,getPluginConfiguration:()=>F0,main:()=>i0,openWorkspace:()=>rf,pluginCommands:()=>Yg});var Be=class extends ye{constructor(){super(...arguments);this.cwd=Y.String("--cwd",{hidden:!0})}};var rt=class extends me{constructor(e,r){let i=v.relative(e,r),n=v.join(e,Ze.fileName);super(`This command can only be run from within a workspace of your project (${i} isn't a workspace of ${n}).`)}};var dJe=ie(Or());Ss();var CJe=ie(gN()),Wie=()=>new Map([["@yarnpkg/cli",iC],["@yarnpkg/core",Fd],["@yarnpkg/fslib",ch],["@yarnpkg/libzip",Fp],["@yarnpkg/parsers",Hp],["@yarnpkg/shell",jp],["clipanion",vh],["semver",dJe],["typanion",lu],["yup",CJe]]);async function rf(t,e){let{project:r,workspace:i}=await Ke.find(t,e);if(!i)throw new rt(r.cwd,e);return i}var x_e=ie(Or());Ss();var k_e=ie(gN());var hL={};it(hL,{dedupeUtils:()=>zN,default:()=>Qze,suggestUtils:()=>LN});var WAe=ie(ml());var roe=ie(aC());Ss();var LN={};it(LN,{Modifier:()=>Lo,Strategy:()=>Fr,Target:()=>vr,WorkspaceModifier:()=>af,applyModifier:()=>Zse,extractDescriptorFromPath:()=>ON,extractRangeModifier:()=>Xse,fetchDescriptorFrom:()=>MN,findProjectDescriptors:()=>toe,getModifier:()=>AC,getSuggestedDescriptors:()=>lC,makeWorkspaceDescriptor:()=>eoe,toWorkspaceModifier:()=>$se});var TN=ie(Or()),L3e="workspace:",vr;(function(i){i.REGULAR="dependencies",i.DEVELOPMENT="devDependencies",i.PEER="peerDependencies"})(vr||(vr={}));var Lo;(function(i){i.CARET="^",i.TILDE="~",i.EXACT=""})(Lo||(Lo={}));var af;(function(i){i.CARET="^",i.TILDE="~",i.EXACT="*"})(af||(af={}));var Fr;(function(s){s.KEEP="keep",s.REUSE="reuse",s.PROJECT="project",s.LATEST="latest",s.CACHE="cache"})(Fr||(Fr={}));function AC(t,e){return t.exact?Lo.EXACT:t.caret?Lo.CARET:t.tilde?Lo.TILDE:e.configuration.get("defaultSemverRangePrefix")}var T3e=/^([\^~]?)[0-9]+(?:\.[0-9]+){0,2}(?:-\S+)?$/;function Xse(t,{project:e}){let r=t.match(T3e);return r?r[1]:e.configuration.get("defaultSemverRangePrefix")}function Zse(t,e){let{protocol:r,source:i,params:n,selector:s}=S.parseRange(t.range);return TN.default.valid(s)&&(s=`${e}${t.range}`),S.makeDescriptor(t,S.makeRange({protocol:r,source:i,params:n,selector:s}))}function $se(t){switch(t){case Lo.CARET:return af.CARET;case Lo.TILDE:return af.TILDE;case Lo.EXACT:return af.EXACT;default:throw new Error(`Assertion failed: Unknown modifier: "${t}"`)}}function eoe(t,e){return S.makeDescriptor(t.anchoredDescriptor,`${L3e}${$se(e)}`)}async function toe(t,{project:e,target:r}){let i=new Map,n=s=>{let o=i.get(s.descriptorHash);return o||i.set(s.descriptorHash,o={descriptor:s,locators:[]}),o};for(let s of e.workspaces)if(r===vr.PEER){let o=s.manifest.peerDependencies.get(t.identHash);o!==void 0&&n(o).locators.push(s.locator)}else{let o=s.manifest.dependencies.get(t.identHash),a=s.manifest.devDependencies.get(t.identHash);r===vr.DEVELOPMENT?a!==void 0?n(a).locators.push(s.locator):o!==void 0&&n(o).locators.push(s.locator):o!==void 0?n(o).locators.push(s.locator):a!==void 0&&n(a).locators.push(s.locator)}return i}async function ON(t,{cwd:e,workspace:r}){return await M3e(async i=>{v.isAbsolute(t)||(t=v.relative(r.cwd,v.resolve(e,t)),t.match(/^\.{0,2}\//)||(t=`./${t}`));let{project:n}=r,s=await MN(S.makeIdent(null,"archive"),t,{project:r.project,cache:i,workspace:r});if(!s)throw new Error("Assertion failed: The descriptor should have been found");let o=new ei,a=n.configuration.makeResolver(),l=n.configuration.makeFetcher(),c={checksums:n.storedChecksums,project:n,cache:i,fetcher:l,report:o,resolver:a},u=a.bindDescriptor(s,r.anchoredLocator,c),g=S.convertDescriptorToLocator(u),f=await l.fetch(g,c),h=await Ze.find(f.prefixPath,{baseFs:f.packageFs});if(!h.name)throw new Error("Target path doesn't have a name");return S.makeDescriptor(h.name,t)})}async function lC(t,{project:e,workspace:r,cache:i,target:n,modifier:s,strategies:o,maxResults:a=Infinity}){if(!(a>=0))throw new Error(`Invalid maxResults (${a})`);if(t.range!=="unknown")return{suggestions:[{descriptor:t,name:`Use ${S.prettyDescriptor(e.configuration,t)}`,reason:"(unambiguous explicit request)"}],rejections:[]};let l=typeof r!="undefined"&&r!==null&&r.manifest[n].get(t.identHash)||null,c=[],u=[],g=async f=>{try{await f()}catch(h){u.push(h)}};for(let f of o){if(c.length>=a)break;switch(f){case Fr.KEEP:await g(async()=>{l&&c.push({descriptor:l,name:`Keep ${S.prettyDescriptor(e.configuration,l)}`,reason:"(no changes)"})});break;case Fr.REUSE:await g(async()=>{for(let{descriptor:h,locators:p}of(await toe(t,{project:e,target:n})).values()){if(p.length===1&&p[0].locatorHash===r.anchoredLocator.locatorHash&&o.includes(Fr.KEEP))continue;let d=`(originally used by ${S.prettyLocator(e.configuration,p[0])}`;d+=p.length>1?` and ${p.length-1} other${p.length>2?"s":""})`:")",c.push({descriptor:h,name:`Reuse ${S.prettyDescriptor(e.configuration,h)}`,reason:d})}});break;case Fr.CACHE:await g(async()=>{for(let h of e.storedDescriptors.values())h.identHash===t.identHash&&c.push({descriptor:h,name:`Reuse ${S.prettyDescriptor(e.configuration,h)}`,reason:"(already used somewhere in the lockfile)"})});break;case Fr.PROJECT:await g(async()=>{if(r.manifest.name!==null&&t.identHash===r.manifest.name.identHash)return;let h=e.tryWorkspaceByIdent(t);if(h===null)return;let p=eoe(h,s);c.push({descriptor:p,name:`Attach ${S.prettyDescriptor(e.configuration,p)}`,reason:`(local workspace at ${ue.pretty(e.configuration,h.relativeCwd,ue.Type.PATH)})`})});break;case Fr.LATEST:await g(async()=>{if(t.range!=="unknown")c.push({descriptor:t,name:`Use ${S.prettyRange(e.configuration,t.range)}`,reason:"(explicit range requested)"});else if(n===vr.PEER)c.push({descriptor:S.makeDescriptor(t,"*"),name:"Use *",reason:"(catch-all peer dependency pattern)"});else if(!e.configuration.get("enableNetwork"))c.push({descriptor:null,name:"Resolve from latest",reason:ue.pretty(e.configuration,"(unavailable because enableNetwork is toggled off)","grey")});else{let h=await MN(t,"latest",{project:e,cache:i,workspace:r,preserveModifier:!1});h&&(h=Zse(h,s),c.push({descriptor:h,name:`Use ${S.prettyDescriptor(e.configuration,h)}`,reason:"(resolved from latest)"}))}});break}}return{suggestions:c.slice(0,a),rejections:u.slice(0,a)}}async function MN(t,e,{project:r,cache:i,workspace:n,preserveModifier:s=!0}){let o=S.makeDescriptor(t,e),a=new ei,l=r.configuration.makeFetcher(),c=r.configuration.makeResolver(),u={project:r,fetcher:l,cache:i,checksums:r.storedChecksums,report:a,cacheOptions:{skipIntegrityCheck:!0},skipIntegrityCheck:!0},g=_(P({},u),{resolver:c,fetchOptions:u}),f=c.bindDescriptor(o,n.anchoredLocator,g),h=await c.getCandidates(f,new Map,g);if(h.length===0)return null;let p=h[0],{protocol:d,source:m,params:I,selector:B}=S.parseRange(S.convertToManifestRange(p.reference));if(d===r.configuration.get("defaultProtocol")&&(d=null),TN.default.valid(B)&&s!==!1){let b=typeof s=="string"?s:o.range;B=Xse(b,{project:r})+B}return S.makeDescriptor(p,S.makeRange({protocol:d,source:m,params:I,selector:B}))}async function M3e(t){return await T.mktempPromise(async e=>{let r=fe.create(e);return r.useWithSource(e,{enableMirror:!1,compressionLevel:0},e,{overwrite:!0}),await t(new Qt(e,{configuration:r,check:!1,immutable:!1}))})}var cC=class extends Be{constructor(){super(...arguments);this.json=Y.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.exact=Y.Boolean("-E,--exact",!1,{description:"Don't use any semver modifier on the resolved range"});this.tilde=Y.Boolean("-T,--tilde",!1,{description:"Use the `~` semver modifier on the resolved range"});this.caret=Y.Boolean("-C,--caret",!1,{description:"Use the `^` semver modifier on the resolved range"});this.dev=Y.Boolean("-D,--dev",!1,{description:"Add a package as a dev dependency"});this.peer=Y.Boolean("-P,--peer",!1,{description:"Add a package as a peer dependency"});this.optional=Y.Boolean("-O,--optional",!1,{description:"Add / upgrade a package to an optional regular / peer dependency"});this.preferDev=Y.Boolean("--prefer-dev",!1,{description:"Add / upgrade a package to a dev dependency"});this.interactive=Y.Boolean("-i,--interactive",{description:"Reuse the specified package from other workspaces in the project"});this.cached=Y.Boolean("--cached",!1,{description:"Reuse the highest version already used somewhere within the project"});this.mode=Y.String("--mode",{description:"Change what artifacts installs generate",validator:Yi(li)});this.silent=Y.Boolean("--silent",{hidden:!0});this.packages=Y.Rest()}async execute(){var d;let e=await fe.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Ke.find(e,this.context.cwd),n=await Qt.find(e);if(!i)throw new rt(r.cwd,this.context.cwd);await r.restoreInstallState({restoreResolutions:!1});let s=(d=this.interactive)!=null?d:e.get("preferInteractive"),o=AC(this,r),a=[...s?[Fr.REUSE]:[],Fr.PROJECT,...this.cached?[Fr.CACHE]:[],Fr.LATEST],l=s?Infinity:1,c=await Promise.all(this.packages.map(async m=>{let I=m.match(/^\.{0,2}\//)?await ON(m,{cwd:this.context.cwd,workspace:i}):S.parseDescriptor(m),B=O3e(i,I,{dev:this.dev,peer:this.peer,preferDev:this.preferDev,optional:this.optional}),b=await lC(I,{project:r,workspace:i,cache:n,target:B,modifier:o,strategies:a,maxResults:l});return[I,b,B]})),u=await Fa.start({configuration:e,stdout:this.context.stdout,suggestInstall:!1},async m=>{for(let[I,{suggestions:B,rejections:b}]of c)if(B.filter(H=>H.descriptor!==null).length===0){let[H]=b;if(typeof H=="undefined")throw new Error("Assertion failed: Expected an error to have been set");r.configuration.get("enableNetwork")?m.reportError(z.CANT_SUGGEST_RESOLUTIONS,`${S.prettyDescriptor(e,I)} can't be resolved to a satisfying range`):m.reportError(z.CANT_SUGGEST_RESOLUTIONS,`${S.prettyDescriptor(e,I)} can't be resolved to a satisfying range (note: network resolution has been disabled)`),m.reportSeparator(),m.reportExceptionOnce(H)}});if(u.hasErrors())return u.exitCode();let g=!1,f=[],h=[];for(let[,{suggestions:m},I]of c){let B,b=m.filter(K=>K.descriptor!==null),R=b[0].descriptor,H=b.every(K=>S.areDescriptorsEqual(K.descriptor,R));b.length===1||H?B=R:(g=!0,{answer:B}=await(0,roe.prompt)({type:"select",name:"answer",message:"Which range do you want to use?",choices:m.map(({descriptor:K,name:J,reason:ne})=>K?{name:J,hint:ne,descriptor:K}:{name:J,hint:ne,disabled:!0}),onCancel:()=>process.exit(130),result(K){return this.find(K,"descriptor")},stdin:this.context.stdin,stdout:this.context.stdout}));let L=i.manifest[I].get(B.identHash);(typeof L=="undefined"||L.descriptorHash!==B.descriptorHash)&&(i.manifest[I].set(B.identHash,B),this.optional&&(I==="dependencies"?i.manifest.ensureDependencyMeta(_(P({},B),{range:"unknown"})).optional=!0:I==="peerDependencies"&&(i.manifest.ensurePeerDependencyMeta(_(P({},B),{range:"unknown"})).optional=!0)),typeof L=="undefined"?f.push([i,I,B,a]):h.push([i,I,L,B]))}return await e.triggerMultipleHooks(m=>m.afterWorkspaceDependencyAddition,f),await e.triggerMultipleHooks(m=>m.afterWorkspaceDependencyReplacement,h),g&&this.context.stdout.write(` +`),(await Fe.start({configuration:e,json:this.json,stdout:this.context.stdout,includeLogs:!this.context.quiet},async m=>{await r.install({cache:n,report:m,mode:this.mode})})).exitCode()}};cC.paths=[["add"]],cC.usage=ye.Usage({description:"add dependencies to the project",details:"\n This command adds a package to the package.json for the nearest workspace.\n\n - If it didn't exist before, the package will by default be added to the regular `dependencies` field, but this behavior can be overriden thanks to the `-D,--dev` flag (which will cause the dependency to be added to the `devDependencies` field instead) and the `-P,--peer` flag (which will do the same but for `peerDependencies`).\n\n - If the package was already listed in your dependencies, it will by default be upgraded whether it's part of your `dependencies` or `devDependencies` (it won't ever update `peerDependencies`, though).\n\n - If set, the `--prefer-dev` flag will operate as a more flexible `-D,--dev` in that it will add the package to your `devDependencies` if it isn't already listed in either `dependencies` or `devDependencies`, but it will also happily upgrade your `dependencies` if that's what you already use (whereas `-D,--dev` would throw an exception).\n\n - If set, the `-O,--optional` flag will add the package to the `optionalDependencies` field and, in combination with the `-P,--peer` flag, it will add the package as an optional peer dependency. If the package was already listed in your `dependencies`, it will be upgraded to `optionalDependencies`. If the package was already listed in your `peerDependencies`, in combination with the `-P,--peer` flag, it will be upgraded to an optional peer dependency: `\"peerDependenciesMeta\": { \"\": { \"optional\": true } }`\n\n - If the added package doesn't specify a range at all its `latest` tag will be resolved and the returned version will be used to generate a new semver range (using the `^` modifier by default unless otherwise configured via the `defaultSemverRangePrefix` configuration, or the `~` modifier if `-T,--tilde` is specified, or no modifier at all if `-E,--exact` is specified). Two exceptions to this rule: the first one is that if the package is a workspace then its local version will be used, and the second one is that if you use `-P,--peer` the default range will be `*` and won't be resolved at all.\n\n - If the added package specifies a range (such as `^1.0.0`, `latest`, or `rc`), Yarn will add this range as-is in the resulting package.json entry (in particular, tags such as `rc` will be encoded as-is rather than being converted into a semver range).\n\n If the `--cached` option is used, Yarn will preferably reuse the highest version already used somewhere within the project, even if through a transitive dependency.\n\n If the `-i,--interactive` option is used (or if the `preferInteractive` settings is toggled on) the command will first try to check whether other workspaces in the project use the specified package and, if so, will offer to reuse them.\n\n If the `--mode=` option is set, Yarn will change which artifacts are generated. The modes currently supported are:\n\n - `skip-build` will not run the build scripts at all. Note that this is different from setting `enableScripts` to false because the later will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run.\n\n - `update-lockfile` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost.\n\n For a compilation of all the supported protocols, please consult the dedicated page from our website: https://yarnpkg.com/features/protocols.\n ",examples:[["Add a regular package to the current workspace","$0 add lodash"],["Add a specific version for a package to the current workspace","$0 add lodash@1.2.3"],["Add a package from a GitHub repository (the master branch) to the current workspace using a URL","$0 add lodash@https://github.com/lodash/lodash"],["Add a package from a GitHub repository (the master branch) to the current workspace using the GitHub protocol","$0 add lodash@github:lodash/lodash"],["Add a package from a GitHub repository (the master branch) to the current workspace using the GitHub protocol (shorthand)","$0 add lodash@lodash/lodash"],["Add a package from a specific branch of a GitHub repository to the current workspace using the GitHub protocol (shorthand)","$0 add lodash-es@lodash/lodash#es"]]});var ioe=cC;function O3e(t,e,{dev:r,peer:i,preferDev:n,optional:s}){let o=t.manifest[vr.REGULAR].has(e.identHash),a=t.manifest[vr.DEVELOPMENT].has(e.identHash),l=t.manifest[vr.PEER].has(e.identHash);if((r||i)&&o)throw new me(`Package "${S.prettyIdent(t.project.configuration,e)}" is already listed as a regular dependency - remove the -D,-P flags or remove it from your dependencies first`);if(!r&&!i&&l)throw new me(`Package "${S.prettyIdent(t.project.configuration,e)}" is already listed as a peer dependency - use either of -D or -P, or remove it from your peer dependencies first`);if(s&&a)throw new me(`Package "${S.prettyIdent(t.project.configuration,e)}" is already listed as a dev dependency - remove the -O flag or remove it from your dev dependencies first`);if(s&&!i&&l)throw new me(`Package "${S.prettyIdent(t.project.configuration,e)}" is already listed as a peer dependency - remove the -O flag or add the -P flag or remove it from your peer dependencies first`);if((r||n)&&s)throw new me(`Package "${S.prettyIdent(t.project.configuration,e)}" cannot simultaneously be a dev dependency and an optional dependency`);return i?vr.PEER:r||n?vr.DEVELOPMENT:o?vr.REGULAR:a?vr.DEVELOPMENT:vr.REGULAR}var uC=class extends Be{constructor(){super(...arguments);this.verbose=Y.Boolean("-v,--verbose",!1,{description:"Print both the binary name and the locator of the package that provides the binary"});this.json=Y.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.name=Y.String({required:!1})}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins),{project:r,locator:i}=await Ke.find(e,this.context.cwd);if(await r.restoreInstallState(),this.name){let o=(await Kt.getPackageAccessibleBinaries(i,{project:r})).get(this.name);if(!o)throw new me(`Couldn't find a binary named "${this.name}" for package "${S.prettyLocator(e,i)}"`);let[,a]=o;return this.context.stdout.write(`${a} +`),0}return(await Fe.start({configuration:e,json:this.json,stdout:this.context.stdout},async s=>{let o=await Kt.getPackageAccessibleBinaries(i,{project:r}),l=Array.from(o.keys()).reduce((c,u)=>Math.max(c,u.length),0);for(let[c,[u,g]]of o)s.reportJson({name:c,source:S.stringifyIdent(u),path:g});if(this.verbose)for(let[c,[u]]of o)s.reportInfo(null,`${c.padEnd(l," ")} ${S.prettyLocator(e,u)}`);else for(let c of o.keys())s.reportInfo(null,c)})).exitCode()}};uC.paths=[["bin"]],uC.usage=ye.Usage({description:"get the path to a binary script",details:` + When used without arguments, this command will print the list of all the binaries available in the current workspace. Adding the \`-v,--verbose\` flag will cause the output to contain both the binary name and the locator of the package that provides the binary. + + When an argument is specified, this command will just print the path to the binary on the standard output and exit. Note that the reported path may be stored within a zip archive. + `,examples:[["List all the available binaries","$0 bin"],["Print the path to a specific binary","$0 bin eslint"]]});var noe=uC;var gC=class extends Be{constructor(){super(...arguments);this.mirror=Y.Boolean("--mirror",!1,{description:"Remove the global cache files instead of the local cache files"});this.all=Y.Boolean("--all",!1,{description:"Remove both the global cache files and the local cache files of the current project"})}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins),r=await Qt.find(e);return(await Fe.start({configuration:e,stdout:this.context.stdout},async()=>{let n=(this.all||this.mirror)&&r.mirrorCwd!==null,s=!this.mirror;n&&(await T.removePromise(r.mirrorCwd),await e.triggerHook(o=>o.cleanGlobalArtifacts,e)),s&&await T.removePromise(r.cwd)})).exitCode()}};gC.paths=[["cache","clean"],["cache","clear"]],gC.usage=ye.Usage({description:"remove the shared cache files",details:` + This command will remove all the files from the cache. + `,examples:[["Remove all the local archives","$0 cache clean"],["Remove all the archives stored in the ~/.yarn directory","$0 cache clean --mirror"]]});var soe=gC;var ooe=ie(p0()),KN=ie(require("util")),fC=class extends Be{constructor(){super(...arguments);this.json=Y.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.unsafe=Y.Boolean("--no-redacted",!1,{description:"Don't redact secrets (such as tokens) from the output"});this.name=Y.String()}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins),r=this.name.replace(/[.[].*$/,""),i=this.name.replace(/^[^.[]*/,"");if(typeof e.settings.get(r)=="undefined")throw new me(`Couldn't find a configuration settings named "${r}"`);let s=e.getSpecial(r,{hideSecrets:!this.unsafe,getNativePaths:!0}),o=de.convertMapsToIndexableObjects(s),a=i?(0,ooe.default)(o,i):o,l=await Fe.start({configuration:e,includeFooter:!1,json:this.json,stdout:this.context.stdout},async c=>{c.reportJson(a)});if(!this.json){if(typeof a=="string")return this.context.stdout.write(`${a} +`),l.exitCode();KN.inspect.styles.name="cyan",this.context.stdout.write(`${(0,KN.inspect)(a,{depth:Infinity,colors:e.get("enableColors"),compact:!1})} +`)}return l.exitCode()}};fC.paths=[["config","get"]],fC.usage=ye.Usage({description:"read a configuration settings",details:` + This command will print a configuration setting. + + Secrets (such as tokens) will be redacted from the output by default. If this behavior isn't desired, set the \`--no-redacted\` to get the untransformed value. + `,examples:[["Print a simple configuration setting","yarn config get yarnPath"],["Print a complex configuration setting","yarn config get packageExtensions"],["Print a nested field from the configuration",`yarn config get 'npmScopes["my-company"].npmRegistryServer'`],["Print a token from the configuration","yarn config get npmAuthToken --no-redacted"],["Print a configuration setting as JSON","yarn config get packageExtensions --json"]]});var aoe=fC;var Eae=ie(qN()),Iae=ie(p0()),yae=ie(mae()),JN=ie(require("util")),pC=class extends Be{constructor(){super(...arguments);this.json=Y.Boolean("--json",!1,{description:"Set complex configuration settings to JSON values"});this.home=Y.Boolean("-H,--home",!1,{description:"Update the home configuration instead of the project configuration"});this.name=Y.String();this.value=Y.String()}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins),r=()=>{if(!e.projectCwd)throw new me("This command must be run from within a project folder");return e.projectCwd},i=this.name.replace(/[.[].*$/,""),n=this.name.replace(/^[^.[]*\.?/,"");if(typeof e.settings.get(i)=="undefined")throw new me(`Couldn't find a configuration settings named "${i}"`);if(i==="enableStrictSettings")throw new me("This setting only affects the file it's in, and thus cannot be set from the CLI");let o=this.json?JSON.parse(this.value):this.value;await(this.home?h=>fe.updateHomeConfiguration(h):h=>fe.updateConfiguration(r(),h))(h=>{if(n){let p=(0,Eae.default)(h);return(0,yae.default)(p,this.name,o),p}else return _(P({},h),{[i]:o})});let c=(await fe.find(this.context.cwd,this.context.plugins)).getSpecial(i,{hideSecrets:!0,getNativePaths:!0}),u=de.convertMapsToIndexableObjects(c),g=n?(0,Iae.default)(u,n):u;return(await Fe.start({configuration:e,includeFooter:!1,stdout:this.context.stdout},async h=>{JN.inspect.styles.name="cyan",h.reportInfo(z.UNNAMED,`Successfully set ${this.name} to ${(0,JN.inspect)(g,{depth:Infinity,colors:e.get("enableColors"),compact:!1})}`)})).exitCode()}};pC.paths=[["config","set"]],pC.usage=ye.Usage({description:"change a configuration settings",details:` + This command will set a configuration setting. + + When used without the \`--json\` flag, it can only set a simple configuration setting (a string, a number, or a boolean). + + When used with the \`--json\` flag, it can set both simple and complex configuration settings, including Arrays and Objects. + `,examples:[["Set a simple configuration setting (a string, a number, or a boolean)","yarn config set initScope myScope"],["Set a simple configuration setting (a string, a number, or a boolean) using the `--json` flag",'yarn config set initScope --json \\"myScope\\"'],["Set a complex configuration setting (an Array) using the `--json` flag",`yarn config set unsafeHttpWhitelist --json '["*.example.com", "example.com"]'`],["Set a complex configuration setting (an Object) using the `--json` flag",`yarn config set packageExtensions --json '{ "@babel/parser@*": { "dependencies": { "@babel/types": "*" } } }'`],["Set a nested configuration setting",'yarn config set npmScopes.company.npmRegistryServer "https://npm.example.com"'],["Set a nested configuration setting using indexed access for non-simple keys",`yarn config set 'npmRegistries["//npm.example.com"].npmAuthToken' "ffffffff-ffff-ffff-ffff-ffffffffffff"`]]});var wae=pC;var Dae=ie(qN()),Rae=ie(Ld()),Fae=ie(Pae()),dC=class extends Be{constructor(){super(...arguments);this.home=Y.Boolean("-H,--home",!1,{description:"Update the home configuration instead of the project configuration"});this.name=Y.String()}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins),r=()=>{if(!e.projectCwd)throw new me("This command must be run from within a project folder");return e.projectCwd},i=this.name.replace(/[.[].*$/,""),n=this.name.replace(/^[^.[]*\.?/,"");if(typeof e.settings.get(i)=="undefined")throw new me(`Couldn't find a configuration settings named "${i}"`);let o=this.home?l=>fe.updateHomeConfiguration(l):l=>fe.updateConfiguration(r(),l);return(await Fe.start({configuration:e,includeFooter:!1,stdout:this.context.stdout},async l=>{let c=!1;await o(u=>{if(!(0,Rae.default)(u,this.name))return l.reportWarning(z.UNNAMED,`Configuration doesn't contain setting ${this.name}; there is nothing to unset`),c=!0,u;let g=n?(0,Dae.default)(u):P({},u);return(0,Fae.default)(g,this.name),g}),c||l.reportInfo(z.UNNAMED,`Successfully unset ${this.name}`)})).exitCode()}};dC.paths=[["config","unset"]],dC.usage=ye.Usage({description:"unset a configuration setting",details:` + This command will unset a configuration setting. + `,examples:[["Unset a simple configuration setting","yarn config unset initScope"],["Unset a complex configuration setting","yarn config unset packageExtensions"],["Unset a nested configuration setting","yarn config unset npmScopes.company.npmRegistryServer"]]});var Nae=dC;var WN=ie(require("util")),CC=class extends Be{constructor(){super(...arguments);this.verbose=Y.Boolean("-v,--verbose",!1,{description:"Print the setting description on top of the regular key/value information"});this.why=Y.Boolean("--why",!1,{description:"Print the reason why a setting is set a particular way"});this.json=Y.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins,{strict:!1});return(await Fe.start({configuration:e,json:this.json,stdout:this.context.stdout},async i=>{if(e.invalid.size>0&&!this.json){for(let[n,s]of e.invalid)i.reportError(z.INVALID_CONFIGURATION_KEY,`Invalid configuration key "${n}" in ${s}`);i.reportSeparator()}if(this.json){let n=de.sortMap(e.settings.keys(),s=>s);for(let s of n){let o=e.settings.get(s),a=e.getSpecial(s,{hideSecrets:!0,getNativePaths:!0}),l=e.sources.get(s);this.verbose?i.reportJson({key:s,effective:a,source:l}):i.reportJson(P({key:s,effective:a,source:l},o))}}else{let n=de.sortMap(e.settings.keys(),a=>a),s=n.reduce((a,l)=>Math.max(a,l.length),0),o={breakLength:Infinity,colors:e.get("enableColors"),maxArrayLength:2};if(this.why||this.verbose){let a=n.map(c=>{let u=e.settings.get(c);if(!u)throw new Error(`Assertion failed: This settings ("${c}") should have been registered`);let g=this.why?e.sources.get(c)||"":u.description;return[c,g]}),l=a.reduce((c,[,u])=>Math.max(c,u.length),0);for(let[c,u]of a)i.reportInfo(null,`${c.padEnd(s," ")} ${u.padEnd(l," ")} ${(0,WN.inspect)(e.getSpecial(c,{hideSecrets:!0,getNativePaths:!0}),o)}`)}else for(let a of n)i.reportInfo(null,`${a.padEnd(s," ")} ${(0,WN.inspect)(e.getSpecial(a,{hideSecrets:!0,getNativePaths:!0}),o)}`)}})).exitCode()}};CC.paths=[["config"]],CC.usage=ye.Usage({description:"display the current configuration",details:` + This command prints the current active configuration settings. + `,examples:[["Print the active configuration settings","$0 config"]]});var Lae=CC;Ss();var zN={};it(zN,{Strategy:()=>Oc,acceptedStrategies:()=>H4e,dedupe:()=>VN});var Tae=ie(Nn()),Oc;(function(e){e.HIGHEST="highest"})(Oc||(Oc={}));var H4e=new Set(Object.values(Oc)),G4e={highest:async(t,e,{resolver:r,fetcher:i,resolveOptions:n,fetchOptions:s})=>{let o=new Map;for(let[a,l]of t.storedResolutions){let c=t.storedDescriptors.get(a);if(typeof c=="undefined")throw new Error(`Assertion failed: The descriptor (${a}) should have been registered`);de.getSetWithDefault(o,c.identHash).add(l)}return Array.from(t.storedDescriptors.values(),async a=>{if(e.length&&!Tae.default.isMatch(S.stringifyIdent(a),e))return null;let l=t.storedResolutions.get(a.descriptorHash);if(typeof l=="undefined")throw new Error(`Assertion failed: The resolution (${a.descriptorHash}) should have been registered`);let c=t.originalPackages.get(l);if(typeof c=="undefined"||!r.shouldPersistResolution(c,n))return null;let u=o.get(a.identHash);if(typeof u=="undefined")throw new Error(`Assertion failed: The resolutions (${a.identHash}) should have been registered`);if(u.size===1)return null;let g=[...u].map(m=>{let I=t.originalPackages.get(m);if(typeof I=="undefined")throw new Error(`Assertion failed: The package (${m}) should have been registered`);return I.reference}),f=await r.getSatisfying(a,g,n),h=f==null?void 0:f[0];if(typeof h=="undefined")return null;let p=h.locatorHash,d=t.originalPackages.get(p);if(typeof d=="undefined")throw new Error(`Assertion failed: The package (${p}) should have been registered`);return p===l?null:{descriptor:a,currentPackage:c,updatedPackage:d}})}};async function VN(t,{strategy:e,patterns:r,cache:i,report:n}){let{configuration:s}=t,o=new ei,a=s.makeResolver(),l=s.makeFetcher(),c={cache:i,checksums:t.storedChecksums,fetcher:l,project:t,report:o,skipIntegrityCheck:!0,cacheOptions:{skipIntegrityCheck:!0}},u={project:t,resolver:a,report:o,fetchOptions:c};return await n.startTimerPromise("Deduplication step",async()=>{let f=await G4e[e](t,r,{resolver:a,resolveOptions:u,fetcher:l,fetchOptions:c}),h=Xi.progressViaCounter(f.length);n.reportProgress(h);let p=0;await Promise.all(f.map(I=>I.then(B=>{if(B===null)return;p++;let{descriptor:b,currentPackage:R,updatedPackage:H}=B;n.reportInfo(z.UNNAMED,`${S.prettyDescriptor(s,b)} can be deduped from ${S.prettyLocator(s,R)} to ${S.prettyLocator(s,H)}`),n.reportJson({descriptor:S.stringifyDescriptor(b),currentResolution:S.stringifyLocator(R),updatedResolution:S.stringifyLocator(H)}),t.storedResolutions.set(b.descriptorHash,H.locatorHash)}).finally(()=>h.tick())));let d;switch(p){case 0:d="No packages";break;case 1:d="One package";break;default:d=`${p} packages`}let m=ue.pretty(s,e,ue.Type.CODE);return n.reportInfo(z.UNNAMED,`${d} can be deduped using the ${m} strategy`),p})}var mC=class extends Be{constructor(){super(...arguments);this.strategy=Y.String("-s,--strategy",Oc.HIGHEST,{description:"The strategy to use when deduping dependencies",validator:Yi(Oc)});this.check=Y.Boolean("-c,--check",!1,{description:"Exit with exit code 1 when duplicates are found, without persisting the dependency tree"});this.json=Y.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.mode=Y.String("--mode",{description:"Change what artifacts installs generate",validator:Yi(li)});this.patterns=Y.Rest()}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins),{project:r}=await Ke.find(e,this.context.cwd),i=await Qt.find(e);await r.restoreInstallState({restoreResolutions:!1});let n=0,s=await Fe.start({configuration:e,includeFooter:!1,stdout:this.context.stdout,json:this.json},async o=>{n=await VN(r,{strategy:this.strategy,patterns:this.patterns,cache:i,report:o})});return s.hasErrors()?s.exitCode():this.check?n?1:0:(await Fe.start({configuration:e,stdout:this.context.stdout,json:this.json},async a=>{await r.install({cache:i,report:a,mode:this.mode})})).exitCode()}};mC.paths=[["dedupe"]],mC.usage=ye.Usage({description:"deduplicate dependencies with overlapping ranges",details:"\n Duplicates are defined as descriptors with overlapping ranges being resolved and locked to different locators. They are a natural consequence of Yarn's deterministic installs, but they can sometimes pile up and unnecessarily increase the size of your project.\n\n This command dedupes dependencies in the current project using different strategies (only one is implemented at the moment):\n\n - `highest`: Reuses (where possible) the locators with the highest versions. This means that dependencies can only be upgraded, never downgraded. It's also guaranteed that it never takes more than a single pass to dedupe the entire dependency tree.\n\n **Note:** Even though it never produces a wrong dependency tree, this command should be used with caution, as it modifies the dependency tree, which can sometimes cause problems when packages don't strictly follow semver recommendations. Because of this, it is recommended to also review the changes manually.\n\n If set, the `-c,--check` flag will only report the found duplicates, without persisting the modified dependency tree. If changes are found, the command will exit with a non-zero exit code, making it suitable for CI purposes.\n\n If the `--mode=` option is set, Yarn will change which artifacts are generated. The modes currently supported are:\n\n - `skip-build` will not run the build scripts at all. Note that this is different from setting `enableScripts` to false because the later will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run.\n\n - `update-lockfile` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost.\n\n This command accepts glob patterns as arguments (if valid Idents and supported by [micromatch](https://github.com/micromatch/micromatch)). Make sure to escape the patterns, to prevent your own shell from trying to expand them.\n\n ### In-depth explanation:\n\n Yarn doesn't deduplicate dependencies by default, otherwise installs wouldn't be deterministic and the lockfile would be useless. What it actually does is that it tries to not duplicate dependencies in the first place.\n\n **Example:** If `foo@^2.3.4` (a dependency of a dependency) has already been resolved to `foo@2.3.4`, running `yarn add foo@*`will cause Yarn to reuse `foo@2.3.4`, even if the latest `foo` is actually `foo@2.10.14`, thus preventing unnecessary duplication.\n\n Duplication happens when Yarn can't unlock dependencies that have already been locked inside the lockfile.\n\n **Example:** If `foo@^2.3.4` (a dependency of a dependency) has already been resolved to `foo@2.3.4`, running `yarn add foo@2.10.14` will cause Yarn to install `foo@2.10.14` because the existing resolution doesn't satisfy the range `2.10.14`. This behavior can lead to (sometimes) unwanted duplication, since now the lockfile contains 2 separate resolutions for the 2 `foo` descriptors, even though they have overlapping ranges, which means that the lockfile can be simplified so that both descriptors resolve to `foo@2.10.14`.\n ",examples:[["Dedupe all packages","$0 dedupe"],["Dedupe all packages using a specific strategy","$0 dedupe --strategy highest"],["Dedupe a specific package","$0 dedupe lodash"],["Dedupe all packages with the `@babel/*` scope","$0 dedupe '@babel/*'"],["Check for duplicates (can be used as a CI step)","$0 dedupe --check"]]});var Mae=mC;var Y0=class extends Be{async execute(){let{plugins:e}=await fe.find(this.context.cwd,this.context.plugins),r=[];for(let o of e){let{commands:a}=o[1];if(a){let c=oo.from(a).definitions();r.push([o[0],c])}}let i=this.cli.definitions(),n=(o,a)=>o.split(" ").slice(1).join()===a.split(" ").slice(1).join(),s=Kae()["@yarnpkg/builder"].bundles.standard;for(let o of r){let a=o[1];for(let l of a)i.find(c=>n(c.path,l.path)).plugin={name:o[0],isDefault:s.includes(o[0])}}this.context.stdout.write(`${JSON.stringify(i,null,2)} +`)}};Y0.paths=[["--clipanion=definitions"]];var Uae=Y0;var q0=class extends Be{async execute(){this.context.stdout.write(this.cli.usage(null))}};q0.paths=[["help"],["--help"],["-h"]];var Hae=q0;var _N=class extends Be{constructor(){super(...arguments);this.leadingArgument=Y.String();this.args=Y.Proxy()}async execute(){if(this.leadingArgument.match(/[\\/]/)&&!S.tryParseIdent(this.leadingArgument)){let e=v.resolve(this.context.cwd,M.toPortablePath(this.leadingArgument));return await this.cli.run(this.args,{cwd:e})}else return await this.cli.run(["run",this.leadingArgument,...this.args])}},Gae=_N;var J0=class extends Be{async execute(){this.context.stdout.write(`${Zr||""} +`)}};J0.paths=[["-v"],["--version"]];var jae=J0;var EC=class extends Be{constructor(){super(...arguments);this.commandName=Y.String();this.args=Y.Proxy()}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins),{project:r,locator:i}=await Ke.find(e,this.context.cwd);return await r.restoreInstallState(),await Kt.executePackageShellcode(i,this.commandName,this.args,{cwd:this.context.cwd,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr,project:r})}};EC.paths=[["exec"]],EC.usage=ye.Usage({description:"execute a shell script",details:` + This command simply executes a shell script within the context of the root directory of the active workspace using the portable shell. + + It also makes sure to call it in a way that's compatible with the current project (for example, on PnP projects the environment will be setup in such a way that PnP will be correctly injected into the environment). + `,examples:[["Execute a single shell command","$0 exec echo Hello World"],["Execute a shell script",'$0 exec "tsc & babel src --out-dir lib"']]});var Yae=EC;Ss();var IC=class extends Be{constructor(){super(...arguments);this.hash=Y.String({required:!1,validator:fv(gv(),[hv(/^p[0-9a-f]{5}$/)])})}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins),{project:r}=await Ke.find(e,this.context.cwd);return await r.restoreInstallState({restoreResolutions:!1}),await r.applyLightResolution(),typeof this.hash!="undefined"?await j4e(this.hash,r,{stdout:this.context.stdout}):(await Fe.start({configuration:e,stdout:this.context.stdout,includeFooter:!1},async n=>{var o;let s=[([,a])=>S.stringifyLocator(r.storedPackages.get(a.subject)),([,a])=>S.stringifyIdent(a.requested)];for(let[a,l]of de.sortMap(r.peerRequirements,s)){let c=r.storedPackages.get(l.subject);if(typeof c=="undefined")throw new Error("Assertion failed: Expected the subject package to have been registered");let u=r.storedPackages.get(l.rootRequester);if(typeof u=="undefined")throw new Error("Assertion failed: Expected the root package to have been registered");let g=(o=c.dependencies.get(l.requested.identHash))!=null?o:null,f=ue.pretty(e,a,ue.Type.CODE),h=S.prettyLocator(e,c),p=S.prettyIdent(e,l.requested),d=S.prettyIdent(e,u),m=l.allRequesters.length-1,I=`descendant${m===1?"":"s"}`,B=m>0?` and ${m} ${I}`:"",b=g!==null?"provides":"doesn't provide";n.reportInfo(null,`${f} \u2192 ${h} ${b} ${p} to ${d}${B}`)}})).exitCode()}};IC.paths=[["explain","peer-requirements"]],IC.usage=ye.Usage({description:"explain a set of peer requirements",details:` + A set of peer requirements represents all peer requirements that a dependent must satisfy when providing a given peer request to a requester and its descendants. + + When the hash argument is specified, this command prints a detailed explanation of all requirements of the set corresponding to the hash and whether they're satisfied or not. + + When used without arguments, this command lists all sets of peer requirements and the corresponding hash that can be used to get detailed information about a given set. + + **Note:** A hash is a six-letter p-prefixed code that can be obtained from peer dependency warnings or from the list of all peer requirements (\`yarn explain peer-requirements\`). + `,examples:[["Explain the corresponding set of peer requirements for a hash","$0 explain peer-requirements p1a4ed"],["List all sets of peer requirements","$0 explain peer-requirements"]]});var qae=IC;async function j4e(t,e,r){let{configuration:i}=e,n=e.peerRequirements.get(t);if(typeof n=="undefined")throw new Error(`No peerDependency requirements found for hash: "${t}"`);return(await Fe.start({configuration:i,stdout:r.stdout,includeFooter:!1},async o=>{var I,B;let a=e.storedPackages.get(n.subject);if(typeof a=="undefined")throw new Error("Assertion failed: Expected the subject package to have been registered");let l=e.storedPackages.get(n.rootRequester);if(typeof l=="undefined")throw new Error("Assertion failed: Expected the root package to have been registered");let c=(I=a.dependencies.get(n.requested.identHash))!=null?I:null,u=c!==null?e.storedResolutions.get(c.descriptorHash):null;if(typeof u=="undefined")throw new Error("Assertion failed: Expected the resolution to have been registered");let g=u!==null?e.storedPackages.get(u):null;if(typeof g=="undefined")throw new Error("Assertion failed: Expected the provided package to have been registered");let f=[...n.allRequesters.values()].map(b=>{let R=e.storedPackages.get(b);if(typeof R=="undefined")throw new Error("Assertion failed: Expected the package to be registered");let H=S.devirtualizeLocator(R),L=e.storedPackages.get(H.locatorHash);if(typeof L=="undefined")throw new Error("Assertion failed: Expected the package to be registered");let K=L.peerDependencies.get(n.requested.identHash);if(typeof K=="undefined")throw new Error("Assertion failed: Expected the peer dependency to be registered");return{pkg:R,peerDependency:K}});if(g!==null){let b=f.every(({peerDependency:R})=>qt.satisfiesWithPrereleases(g.version,R.range));o.reportInfo(z.UNNAMED,`${S.prettyLocator(i,a)} provides ${S.prettyLocator(i,g)} with version ${S.prettyReference(i,(B=g.version)!=null?B:"")}, which ${b?"satisfies":"doesn't satisfy"} the following requirements:`)}else o.reportInfo(z.UNNAMED,`${S.prettyLocator(i,a)} doesn't provide ${S.prettyIdent(i,n.requested)}, breaking the following requirements:`);o.reportSeparator();let h=ue.mark(i),p=[];for(let{pkg:b,peerDependency:R}of de.sortMap(f,H=>S.stringifyLocator(H.pkg))){let L=(g!==null?qt.satisfiesWithPrereleases(g.version,R.range):!1)?h.Check:h.Cross;p.push({stringifiedLocator:S.stringifyLocator(b),prettyLocator:S.prettyLocator(i,b),prettyRange:S.prettyRange(i,R.range),mark:L})}let d=Math.max(...p.map(({stringifiedLocator:b})=>b.length)),m=Math.max(...p.map(({prettyRange:b})=>b.length));for(let{stringifiedLocator:b,prettyLocator:R,prettyRange:H,mark:L}of de.sortMap(p,({stringifiedLocator:K})=>K))o.reportInfo(null,`${R.padEnd(d+(R.length-b.length)," ")} \u2192 ${H.padEnd(m," ")} ${L}`);p.length>1&&(o.reportSeparator(),o.reportInfo(z.UNNAMED,`Note: these requirements start with ${S.prettyLocator(e.configuration,l)}`))})).exitCode()}var Jae=ie(Nn()),yC=class extends Be{constructor(){super(...arguments);this.all=Y.Boolean("-A,--all",!1,{description:"Print versions of a package from the whole project"});this.recursive=Y.Boolean("-R,--recursive",!1,{description:"Print information for all packages, including transitive dependencies"});this.extra=Y.Array("-X,--extra",[],{description:"An array of requests of extra data provided by plugins"});this.cache=Y.Boolean("--cache",!1,{description:"Print information about the cache entry of a package (path, size, checksum)"});this.dependents=Y.Boolean("--dependents",!1,{description:"Print all dependents for each matching package"});this.manifest=Y.Boolean("--manifest",!1,{description:"Print data obtained by looking at the package archive (license, homepage, ...)"});this.nameOnly=Y.Boolean("--name-only",!1,{description:"Only print the name for the matching packages"});this.virtuals=Y.Boolean("--virtuals",!1,{description:"Print each instance of the virtual packages"});this.json=Y.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.patterns=Y.Rest()}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Ke.find(e,this.context.cwd),n=await Qt.find(e);if(!i&&!this.all)throw new rt(r.cwd,this.context.cwd);await r.restoreInstallState();let s=new Set(this.extra);this.cache&&s.add("cache"),this.dependents&&s.add("dependents"),this.manifest&&s.add("manifest");let o=(b,{recursive:R})=>{let H=b.anchoredLocator.locatorHash,L=new Map,K=[H];for(;K.length>0;){let J=K.shift();if(L.has(J))continue;let ne=r.storedPackages.get(J);if(typeof ne=="undefined")throw new Error("Assertion failed: Expected the package to be registered");if(L.set(J,ne),S.isVirtualLocator(ne)&&K.push(S.devirtualizeLocator(ne).locatorHash),!(!R&&J!==H))for(let q of ne.dependencies.values()){let A=r.storedResolutions.get(q.descriptorHash);if(typeof A=="undefined")throw new Error("Assertion failed: Expected the resolution to be registered");K.push(A)}}return L.values()},a=({recursive:b})=>{let R=new Map;for(let H of r.workspaces)for(let L of o(H,{recursive:b}))R.set(L.locatorHash,L);return R.values()},l=({all:b,recursive:R})=>b&&R?r.storedPackages.values():b?a({recursive:R}):o(i,{recursive:R}),c=({all:b,recursive:R})=>{let H=l({all:b,recursive:R}),L=this.patterns.map(ne=>{let q=S.parseLocator(ne),A=Jae.default.makeRe(S.stringifyIdent(q)),V=S.isVirtualLocator(q),W=V?S.devirtualizeLocator(q):q;return X=>{let F=S.stringifyIdent(X);if(!A.test(F))return!1;if(q.reference==="unknown")return!0;let D=S.isVirtualLocator(X),he=D?S.devirtualizeLocator(X):X;return!(V&&D&&q.reference!==X.reference||W.reference!==he.reference)}}),K=de.sortMap([...H],ne=>S.stringifyLocator(ne));return{selection:K.filter(ne=>L.length===0||L.some(q=>q(ne))),sortedLookup:K}},{selection:u,sortedLookup:g}=c({all:this.all,recursive:this.recursive});if(u.length===0)throw new me("No package matched your request");let f=new Map;if(this.dependents)for(let b of g)for(let R of b.dependencies.values()){let H=r.storedResolutions.get(R.descriptorHash);if(typeof H=="undefined")throw new Error("Assertion failed: Expected the resolution to be registered");de.getArrayWithDefault(f,H).push(b)}let h=new Map;for(let b of g){if(!S.isVirtualLocator(b))continue;let R=S.devirtualizeLocator(b);de.getArrayWithDefault(h,R.locatorHash).push(b)}let p={},d={children:p},m=e.makeFetcher(),I={project:r,fetcher:m,cache:n,checksums:r.storedChecksums,report:new ei,cacheOptions:{skipIntegrityCheck:!0},skipIntegrityCheck:!0},B=[async(b,R,H)=>{var J,ne;if(!R.has("manifest"))return;let L=await m.fetch(b,I),K;try{K=await Ze.find(L.prefixPath,{baseFs:L.packageFs})}finally{(J=L.releaseFs)==null||J.call(L)}H("Manifest",{License:ue.tuple(ue.Type.NO_HINT,K.license),Homepage:ue.tuple(ue.Type.URL,(ne=K.raw.homepage)!=null?ne:null)})},async(b,R,H)=>{var A;if(!R.has("cache"))return;let L={mockedPackages:r.disabledLocators,unstablePackages:r.conditionalLocators},K=(A=r.storedChecksums.get(b.locatorHash))!=null?A:null,J=n.getLocatorPath(b,K,L),ne;if(J!==null)try{ne=T.statSync(J)}catch{}let q=typeof ne!="undefined"?[ne.size,ue.Type.SIZE]:void 0;H("Cache",{Checksum:ue.tuple(ue.Type.NO_HINT,K),Path:ue.tuple(ue.Type.PATH,J),Size:q})}];for(let b of u){let R=S.isVirtualLocator(b);if(!this.virtuals&&R)continue;let H={},L={value:[b,ue.Type.LOCATOR],children:H};if(p[S.stringifyLocator(b)]=L,this.nameOnly){delete L.children;continue}let K=h.get(b.locatorHash);typeof K!="undefined"&&(H.Instances={label:"Instances",value:ue.tuple(ue.Type.NUMBER,K.length)}),H.Version={label:"Version",value:ue.tuple(ue.Type.NO_HINT,b.version)};let J=(q,A)=>{let V={};if(H[q]=V,Array.isArray(A))V.children=A.map(W=>({value:W}));else{let W={};V.children=W;for(let[X,F]of Object.entries(A))typeof F!="undefined"&&(W[X]={label:X,value:F})}};if(!R){for(let q of B)await q(b,s,J);await e.triggerHook(q=>q.fetchPackageInfo,b,s,J)}b.bin.size>0&&!R&&J("Exported Binaries",[...b.bin.keys()].map(q=>ue.tuple(ue.Type.PATH,q)));let ne=f.get(b.locatorHash);typeof ne!="undefined"&&ne.length>0&&J("Dependents",ne.map(q=>ue.tuple(ue.Type.LOCATOR,q))),b.dependencies.size>0&&!R&&J("Dependencies",[...b.dependencies.values()].map(q=>{var W;let A=r.storedResolutions.get(q.descriptorHash),V=typeof A!="undefined"&&(W=r.storedPackages.get(A))!=null?W:null;return ue.tuple(ue.Type.RESOLUTION,{descriptor:q,locator:V})})),b.peerDependencies.size>0&&R&&J("Peer dependencies",[...b.peerDependencies.values()].map(q=>{var X,F;let A=b.dependencies.get(q.identHash),V=typeof A!="undefined"&&(X=r.storedResolutions.get(A.descriptorHash))!=null?X:null,W=V!==null&&(F=r.storedPackages.get(V))!=null?F:null;return ue.tuple(ue.Type.RESOLUTION,{descriptor:q,locator:W})}))}Hs.emitTree(d,{configuration:e,json:this.json,stdout:this.context.stdout,separators:this.nameOnly?0:2})}};yC.paths=[["info"]],yC.usage=ye.Usage({description:"see information related to packages",details:"\n This command prints various information related to the specified packages, accepting glob patterns.\n\n By default, if the locator reference is missing, Yarn will default to print the information about all the matching direct dependencies of the package for the active workspace. To instead print all versions of the package that are direct dependencies of any of your workspaces, use the `-A,--all` flag. Adding the `-R,--recursive` flag will also report transitive dependencies.\n\n Some fields will be hidden by default in order to keep the output readable, but can be selectively displayed by using additional options (`--dependents`, `--manifest`, `--virtuals`, ...) described in the option descriptions.\n\n Note that this command will only print the information directly related to the selected packages - if you wish to know why the package is there in the first place, use `yarn why` which will do just that (it also provides a `-R,--recursive` flag that may be of some help).\n ",examples:[["Show information about Lodash","$0 info lodash"]]});var Wae=yC;var W0=ie(ml());Ss();var wC=class extends Be{constructor(){super(...arguments);this.json=Y.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.immutable=Y.Boolean("--immutable",{description:"Abort with an error exit code if the lockfile was to be modified"});this.immutableCache=Y.Boolean("--immutable-cache",{description:"Abort with an error exit code if the cache folder was to be modified"});this.checkCache=Y.Boolean("--check-cache",!1,{description:"Always refetch the packages and ensure that their checksums are consistent"});this.inlineBuilds=Y.Boolean("--inline-builds",{description:"Verbosely print the output of the build steps of dependencies"});this.mode=Y.String("--mode",{description:"Change what artifacts installs generate",validator:Yi(li)});this.cacheFolder=Y.String("--cache-folder",{hidden:!0});this.frozenLockfile=Y.Boolean("--frozen-lockfile",{hidden:!0});this.ignoreEngines=Y.Boolean("--ignore-engines",{hidden:!0});this.nonInteractive=Y.Boolean("--non-interactive",{hidden:!0});this.preferOffline=Y.Boolean("--prefer-offline",{hidden:!0});this.production=Y.Boolean("--production",{hidden:!0});this.registry=Y.String("--registry",{hidden:!0});this.silent=Y.Boolean("--silent",{hidden:!0});this.networkTimeout=Y.String("--network-timeout",{hidden:!0})}async execute(){var c;let e=await fe.find(this.context.cwd,this.context.plugins);typeof this.inlineBuilds!="undefined"&&e.useWithSource("",{enableInlineBuilds:this.inlineBuilds},e.startingCwd,{overwrite:!0});let r=!!process.env.FUNCTION_TARGET||!!process.env.GOOGLE_RUNTIME,i=async(u,{error:g})=>{let f=await Fe.start({configuration:e,stdout:this.context.stdout,includeFooter:!1},async h=>{g?h.reportError(z.DEPRECATED_CLI_SETTINGS,u):h.reportWarning(z.DEPRECATED_CLI_SETTINGS,u)});return f.hasErrors()?f.exitCode():null};if(typeof this.ignoreEngines!="undefined"){let u=await i("The --ignore-engines option is deprecated; engine checking isn't a core feature anymore",{error:!W0.default.VERCEL});if(u!==null)return u}if(typeof this.registry!="undefined"){let u=await i("The --registry option is deprecated; prefer setting npmRegistryServer in your .yarnrc.yml file",{error:!1});if(u!==null)return u}if(typeof this.preferOffline!="undefined"){let u=await i("The --prefer-offline flag is deprecated; use the --cached flag with 'yarn add' instead",{error:!W0.default.VERCEL});if(u!==null)return u}if(typeof this.production!="undefined"){let u=await i("The --production option is deprecated on 'install'; use 'yarn workspaces focus' instead",{error:!0});if(u!==null)return u}if(typeof this.nonInteractive!="undefined"){let u=await i("The --non-interactive option is deprecated",{error:!r});if(u!==null)return u}if(typeof this.frozenLockfile!="undefined"&&(await i("The --frozen-lockfile option is deprecated; use --immutable and/or --immutable-cache instead",{error:!1}),this.immutable=this.frozenLockfile),typeof this.cacheFolder!="undefined"){let u=await i("The cache-folder option has been deprecated; use rc settings instead",{error:!W0.default.NETLIFY});if(u!==null)return u}let n=(c=this.immutable)!=null?c:e.get("enableImmutableInstalls");if(e.projectCwd!==null){let u=await Fe.start({configuration:e,json:this.json,stdout:this.context.stdout,includeFooter:!1},async g=>{await Y4e(e,n)&&(g.reportInfo(z.AUTOMERGE_SUCCESS,"Automatically fixed merge conflicts \u{1F44D}"),g.reportSeparator())});if(u.hasErrors())return u.exitCode()}if(e.projectCwd!==null&&typeof e.sources.get("nodeLinker")=="undefined"){let u=e.projectCwd,g;try{g=await T.readFilePromise(v.join(u,wt.lockfile),"utf8")}catch{}if(g==null?void 0:g.includes("yarn lockfile v1")){let f=await Fe.start({configuration:e,json:this.json,stdout:this.context.stdout,includeFooter:!1},async h=>{h.reportInfo(z.AUTO_NM_SUCCESS,"Migrating from Yarn 1; automatically enabling the compatibility node-modules linker \u{1F44D}"),h.reportSeparator(),e.use("",{nodeLinker:"node-modules"},u,{overwrite:!0}),await fe.updateConfiguration(u,{nodeLinker:"node-modules"})});if(f.hasErrors())return f.exitCode()}}if(e.projectCwd!==null){let u=await Fe.start({configuration:e,json:this.json,stdout:this.context.stdout,includeFooter:!1},async g=>{var f;((f=fe.telemetry)==null?void 0:f.isNew)&&(g.reportInfo(z.TELEMETRY_NOTICE,"Yarn will periodically gather anonymous telemetry: https://yarnpkg.com/advanced/telemetry"),g.reportInfo(z.TELEMETRY_NOTICE,`Run ${ue.pretty(e,"yarn config set --home enableTelemetry 0",ue.Type.CODE)} to disable`),g.reportSeparator())});if(u.hasErrors())return u.exitCode()}let{project:s,workspace:o}=await Ke.find(e,this.context.cwd),a=await Qt.find(e,{immutable:this.immutableCache,check:this.checkCache});if(!o)throw new rt(s.cwd,this.context.cwd);return await s.restoreInstallState({restoreResolutions:!1}),(await Fe.start({configuration:e,json:this.json,stdout:this.context.stdout,includeLogs:!0},async u=>{await s.install({cache:a,report:u,immutable:n,mode:this.mode})})).exitCode()}};wC.paths=[["install"],ye.Default],wC.usage=ye.Usage({description:"install the project dependencies",details:` + This command sets up your project if needed. The installation is split into four different steps that each have their own characteristics: + + - **Resolution:** First the package manager will resolve your dependencies. The exact way a dependency version is privileged over another isn't standardized outside of the regular semver guarantees. If a package doesn't resolve to what you would expect, check that all dependencies are correctly declared (also check our website for more information: ). + + - **Fetch:** Then we download all the dependencies if needed, and make sure that they're all stored within our cache (check the value of \`cacheFolder\` in \`yarn config\` to see where the cache files are stored). + + - **Link:** Then we send the dependency tree information to internal plugins tasked with writing them on the disk in some form (for example by generating the .pnp.cjs file you might know). + + - **Build:** Once the dependency tree has been written on the disk, the package manager will now be free to run the build scripts for all packages that might need it, in a topological order compatible with the way they depend on one another. See https://yarnpkg.com/advanced/lifecycle-scripts for detail. + + Note that running this command is not part of the recommended workflow. Yarn supports zero-installs, which means that as long as you store your cache and your .pnp.cjs file inside your repository, everything will work without requiring any install right after cloning your repository or switching branches. + + If the \`--immutable\` option is set (defaults to true on CI), Yarn will abort with an error exit code if the lockfile was to be modified (other paths can be added using the \`immutablePatterns\` configuration setting). For backward compatibility we offer an alias under the name of \`--frozen-lockfile\`, but it will be removed in a later release. + + If the \`--immutable-cache\` option is set, Yarn will abort with an error exit code if the cache folder was to be modified (either because files would be added, or because they'd be removed). + + If the \`--check-cache\` option is set, Yarn will always refetch the packages and will ensure that their checksum matches what's 1/ described in the lockfile 2/ inside the existing cache files (if present). This is recommended as part of your CI workflow if you're both following the Zero-Installs model and accepting PRs from third-parties, as they'd otherwise have the ability to alter the checked-in packages before submitting them. + + If the \`--inline-builds\` option is set, Yarn will verbosely print the output of the build steps of your dependencies (instead of writing them into individual files). This is likely useful mostly for debug purposes only when using Docker-like environments. + + If the \`--mode=\` option is set, Yarn will change which artifacts are generated. The modes currently supported are: + + - \`skip-build\` will not run the build scripts at all. Note that this is different from setting \`enableScripts\` to false because the later will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run. + + - \`update-lockfile\` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost. + `,examples:[["Install the project","$0 install"],["Validate a project when using Zero-Installs","$0 install --immutable --immutable-cache"],["Validate a project when using Zero-Installs (slightly safer if you accept external PRs)","$0 install --immutable --immutable-cache --check-cache"]]});var zae=wC,q4e="|||||||",J4e=">>>>>>>",W4e="=======",Vae="<<<<<<<";async function Y4e(t,e){if(!t.projectCwd)return!1;let r=v.join(t.projectCwd,t.get("lockfileFilename"));if(!await T.existsPromise(r))return!1;let i=await T.readFilePromise(r,"utf8");if(!i.includes(Vae))return!1;if(e)throw new nt(z.AUTOMERGE_IMMUTABLE,"Cannot autofix a lockfile when running an immutable install");let[n,s]=z4e(i),o,a;try{o=Ii(n),a=Ii(s)}catch(c){throw new nt(z.AUTOMERGE_FAILED_TO_PARSE,"The individual variants of the lockfile failed to parse")}let l=P(P({},o),a);for(let[c,u]of Object.entries(l))typeof u=="string"&&delete l[c];return await T.changeFilePromise(r,Qa(l),{automaticNewlines:!0}),!0}function z4e(t){let e=[[],[]],r=t.split(/\r?\n/g),i=!1;for(;r.length>0;){let n=r.shift();if(typeof n=="undefined")throw new Error("Assertion failed: Some lines should remain");if(n.startsWith(Vae)){for(;r.length>0;){let s=r.shift();if(typeof s=="undefined")throw new Error("Assertion failed: Some lines should remain");if(s===W4e){i=!1;break}else if(i||s.startsWith(q4e)){i=!0;continue}else e[0].push(s)}for(;r.length>0;){let s=r.shift();if(typeof s=="undefined")throw new Error("Assertion failed: Some lines should remain");if(s.startsWith(J4e))break;e[1].push(s)}}else e[0].push(n),e[1].push(n)}return[e[0].join(` +`),e[1].join(` +`)]}var BC=class extends Be{constructor(){super(...arguments);this.all=Y.Boolean("-A,--all",!1,{description:"Link all workspaces belonging to the target project to the current one"});this.private=Y.Boolean("-p,--private",!1,{description:"Also link private workspaces belonging to the target project to the current one"});this.relative=Y.Boolean("-r,--relative",!1,{description:"Link workspaces using relative paths instead of absolute paths"});this.destination=Y.String()}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Ke.find(e,this.context.cwd),n=await Qt.find(e);if(!i)throw new rt(r.cwd,this.context.cwd);await r.restoreInstallState({restoreResolutions:!1});let s=v.resolve(this.context.cwd,M.toPortablePath(this.destination)),o=await fe.find(s,this.context.plugins,{useRc:!1,strict:!1}),{project:a,workspace:l}=await Ke.find(o,s);if(r.cwd===a.cwd)throw new me("Invalid destination; Can't link the project to itself");if(!l)throw new rt(a.cwd,s);let c=r.topLevelWorkspace,u=[];if(this.all){for(let f of a.workspaces)f.manifest.name&&(!f.manifest.private||this.private)&&u.push(f);if(u.length===0)throw new me("No workspace found to be linked in the target project")}else{if(!l.manifest.name)throw new me("The target workspace doesn't have a name and thus cannot be linked");if(l.manifest.private&&!this.private)throw new me("The target workspace is marked private - use the --private flag to link it anyway");u.push(l)}for(let f of u){let h=S.stringifyIdent(f.locator),p=this.relative?v.relative(r.cwd,f.cwd):f.cwd;c.manifest.resolutions.push({pattern:{descriptor:{fullName:h}},reference:`portal:${p}`})}return(await Fe.start({configuration:e,stdout:this.context.stdout},async f=>{await r.install({cache:n,report:f})})).exitCode()}};BC.paths=[["link"]],BC.usage=ye.Usage({description:"connect the local project to another one",details:"\n This command will set a new `resolutions` field in the project-level manifest and point it to the workspace at the specified location (even if part of another project).\n ",examples:[["Register a remote workspace for use in the current project","$0 link ~/ts-loader"],["Register all workspaces from a remote project for use in the current project","$0 link ~/jest --all"]]});var _ae=BC;var QC=class extends Be{constructor(){super(...arguments);this.args=Y.Proxy()}async execute(){return this.cli.run(["exec","node",...this.args])}};QC.paths=[["node"]],QC.usage=ye.Usage({description:"run node with the hook already setup",details:` + This command simply runs Node. It also makes sure to call it in a way that's compatible with the current project (for example, on PnP projects the environment will be setup in such a way that PnP will be correctly injected into the environment). + + The Node process will use the exact same version of Node as the one used to run Yarn itself, which might be a good way to ensure that your commands always use a consistent Node version. + `,examples:[["Run a Node script","$0 node ./my-script.js"]]});var Xae=QC;var lAe=ie(require("os"));var rAe=ie(require("os"));var V4e="https://raw.githubusercontent.com/yarnpkg/berry/master/plugins.yml";async function Kc(t){let e=await Zt.get(V4e,{configuration:t});return Ii(e.toString())}var bC=class extends Be{constructor(){super(...arguments);this.json=Y.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins);return(await Fe.start({configuration:e,json:this.json,stdout:this.context.stdout},async i=>{let n=await Kc(e);for(let s of Object.entries(n)){let[l,o]=s,a=o,{experimental:c}=a,u=qr(a,["experimental"]);let g=l;c&&(g+=" [experimental]"),i.reportJson(P({name:l,experimental:c},u)),i.reportInfo(null,g)}})).exitCode()}};bC.paths=[["plugin","list"]],bC.usage=ye.Usage({category:"Plugin-related commands",description:"list the available official plugins",details:"\n This command prints the plugins available directly from the Yarn repository. Only those plugins can be referenced by name in `yarn plugin import`.\n ",examples:[["List the official plugins","$0 plugin list"]]});var Zae=bC;var $ae=ie(Or()),vC=class extends Be{constructor(){super(...arguments);this.onlyIfNeeded=Y.Boolean("--only-if-needed",!1,{description:"Only lock the Yarn version if it isn't already locked"});this.version=Y.String()}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins);if(e.get("yarnPath")&&this.onlyIfNeeded)return 0;let r=()=>{if(typeof Zr=="undefined")throw new me("The --install flag can only be used without explicit version specifier from the Yarn CLI");return`file://${process.argv[1]}`},i;if(this.version==="self")i=r();else if(this.version==="latest"||this.version==="berry"||this.version==="stable")i=`https://repo.yarnpkg.com/${await eAe(e,"stable")}/packages/yarnpkg-cli/bin/yarn.js`;else if(this.version==="canary")i=`https://repo.yarnpkg.com/${await eAe(e,"canary")}/packages/yarnpkg-cli/bin/yarn.js`;else if(this.version==="classic")i="https://nightly.yarnpkg.com/latest.js";else if(this.version.match(/^\.{0,2}[\\/]/)||M.isAbsolute(this.version))i=`file://${M.resolve(this.version)}`;else if(qt.satisfiesWithPrereleases(this.version,">=2.0.0"))i=`https://repo.yarnpkg.com/${this.version}/packages/yarnpkg-cli/bin/yarn.js`;else if(qt.satisfiesWithPrereleases(this.version,"^0.x || ^1.x"))i=`https://github.com/yarnpkg/yarn/releases/download/v${this.version}/yarn-${this.version}.js`;else if(qt.validRange(this.version))i=`https://repo.yarnpkg.com/${await _4e(e,this.version)}/packages/yarnpkg-cli/bin/yarn.js`;else throw new me(`Invalid version descriptor "${this.version}"`);return(await Fe.start({configuration:e,stdout:this.context.stdout,includeLogs:!this.context.quiet},async s=>{let o="file://",a;i.startsWith(o)?(s.reportInfo(z.UNNAMED,`Downloading ${ue.pretty(e,i,ps.URL)}`),a=await T.readFilePromise(M.toPortablePath(i.slice(o.length)))):(s.reportInfo(z.UNNAMED,`Retrieving ${ue.pretty(e,i,ps.PATH)}`),a=await Zt.get(i,{configuration:e})),await XN(e,null,a,{report:s})})).exitCode()}};vC.paths=[["set","version"]],vC.usage=ye.Usage({description:"lock the Yarn version used by the project",details:"\n This command will download a specific release of Yarn directly from the Yarn GitHub repository, will store it inside your project, and will change the `yarnPath` settings from your project `.yarnrc.yml` file to point to the new file.\n\n A very good use case for this command is to enforce the version of Yarn used by the any single member of your team inside a same project - by doing this you ensure that you have control on Yarn upgrades and downgrades (including on your deployment servers), and get rid of most of the headaches related to someone using a slightly different version and getting a different behavior than you.\n\n The version specifier can be:\n\n - a tag:\n - `latest` / `berry` / `stable` -> the most recent stable berry (`>=2.0.0`) release\n - `canary` -> the most recent canary (release candidate) berry (`>=2.0.0`) release\n - `classic` -> the most recent classic (`^0.x || ^1.x`) release\n\n - a semver range (e.g. `2.x`) -> the most recent version satisfying the range (limited to berry releases)\n\n - a semver version (e.g. `2.4.1`, `1.22.1`)\n\n - a local file referenced through either a relative or absolute path\n\n - `self` -> the version used to invoke the command\n ",examples:[["Download the latest release from the Yarn repository","$0 set version latest"],["Download the latest canary release from the Yarn repository","$0 set version canary"],["Download the latest classic release from the Yarn repository","$0 set version classic"],["Download the most recent Yarn 3 build","$0 set version 3.x"],["Download a specific Yarn 2 build","$0 set version 2.0.0-rc.30"],["Switch back to a specific Yarn 1 release","$0 set version 1.22.1"],["Use a release from the local filesystem","$0 set version ./yarn.cjs"],["Download the version used to invoke the command","$0 set version self"]]});var tAe=vC;async function _4e(t,e){let i=(await Zt.get("https://repo.yarnpkg.com/tags",{configuration:t,jsonResponse:!0})).tags.filter(n=>qt.satisfiesWithPrereleases(n,e));if(i.length===0)throw new me(`No matching release found for range ${ue.pretty(t,e,ue.Type.RANGE)}.`);return i[0]}async function eAe(t,e){let r=await Zt.get("https://repo.yarnpkg.com/tags",{configuration:t,jsonResponse:!0});if(!r.latest[e])throw new me(`Tag ${ue.pretty(t,e,ue.Type.RANGE)} not found`);return r.latest[e]}async function XN(t,e,r,{report:i}){var g;e===null&&await T.mktempPromise(async f=>{let h=v.join(f,"yarn.cjs");await T.writeFilePromise(h,r);let{stdout:p}=await hr.execvp(process.execPath,[M.fromPortablePath(h),"--version"],{cwd:f,env:_(P({},process.env),{YARN_IGNORE_PATH:"1"})});if(e=p.trim(),!$ae.default.valid(e))throw new Error(`Invalid semver version. ${ue.pretty(t,"yarn --version",ue.Type.CODE)} returned: +${e}`)});let n=(g=t.projectCwd)!=null?g:t.startingCwd,s=v.resolve(n,".yarn/releases"),o=v.resolve(s,`yarn-${e}.cjs`),a=v.relative(t.startingCwd,o),l=v.relative(n,o),c=t.get("yarnPath"),u=c===null||c.startsWith(`${s}/`);if(i.reportInfo(z.UNNAMED,`Saving the new release in ${ue.pretty(t,a,"magenta")}`),await T.removePromise(v.dirname(o)),await T.mkdirPromise(v.dirname(o),{recursive:!0}),await T.writeFilePromise(o,r,{mode:493}),u){await fe.updateConfiguration(n,{yarnPath:l});let f=await Ze.tryFind(n)||new Ze;e&&de.isTaggedYarnVersion(e)&&(f.packageManager=`yarn@${e}`);let h={};f.exportTo(h);let p=v.join(n,Ze.fileName),d=`${JSON.stringify(h,null,f.indent)} +`;await T.changeFilePromise(p,d,{automaticNewlines:!0})}}var X4e=/^[0-9]+$/;function iAe(t){return X4e.test(t)?`pull/${t}/head`:t}var Z4e=({repository:t,branch:e},r)=>[["git","init",M.fromPortablePath(r)],["git","remote","add","origin",t],["git","fetch","origin",iAe(e)],["git","reset","--hard","FETCH_HEAD"]],$4e=({branch:t})=>[["git","fetch","origin",iAe(t),"--force"],["git","reset","--hard","FETCH_HEAD"],["git","clean","-dfx"]],eze=({plugins:t,noMinify:e},r)=>[["yarn","build:cli",...new Array().concat(...t.map(i=>["--plugin",v.resolve(r,i)])),...e?["--no-minify"]:[],"|"]],SC=class extends Be{constructor(){super(...arguments);this.installPath=Y.String("--path",{description:"The path where the repository should be cloned to"});this.repository=Y.String("--repository","https://github.com/yarnpkg/berry.git",{description:"The repository that should be cloned"});this.branch=Y.String("--branch","master",{description:"The branch of the repository that should be cloned"});this.plugins=Y.Array("--plugin",[],{description:"An array of additional plugins that should be included in the bundle"});this.noMinify=Y.Boolean("--no-minify",!1,{description:"Build a bundle for development (debugging) - non-minified and non-mangled"});this.force=Y.Boolean("-f,--force",!1,{description:"Always clone the repository instead of trying to fetch the latest commits"});this.skipPlugins=Y.Boolean("--skip-plugins",!1,{description:"Skip updating the contrib plugins"})}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins),{project:r}=await Ke.find(e,this.context.cwd),i=typeof this.installPath!="undefined"?v.resolve(this.context.cwd,M.toPortablePath(this.installPath)):v.resolve(M.toPortablePath((0,rAe.tmpdir)()),"yarnpkg-sources",mn.makeHash(this.repository).slice(0,6));return(await Fe.start({configuration:e,stdout:this.context.stdout},async s=>{await $N(this,{configuration:e,report:s,target:i}),s.reportSeparator(),s.reportInfo(z.UNNAMED,"Building a fresh bundle"),s.reportSeparator(),await xC(eze(this,i),{configuration:e,context:this.context,target:i}),s.reportSeparator();let o=v.resolve(i,"packages/yarnpkg-cli/bundles/yarn.js"),a=await T.readFilePromise(o);await XN(e,"sources",a,{report:s}),this.skipPlugins||await tze(this,{project:r,report:s,target:i})})).exitCode()}};SC.paths=[["set","version","from","sources"]],SC.usage=ye.Usage({description:"build Yarn from master",details:` + This command will clone the Yarn repository into a temporary folder, then build it. The resulting bundle will then be copied into the local project. + + By default, it also updates all contrib plugins to the same commit the bundle is built from. This behavior can be disabled by using the \`--skip-plugins\` flag. + `,examples:[["Build Yarn from master","$0 set version from sources"]]});var nAe=SC;async function xC(t,{configuration:e,context:r,target:i}){for(let[n,...s]of t){let o=s[s.length-1]==="|";if(o&&s.pop(),o)await hr.pipevp(n,s,{cwd:i,stdin:r.stdin,stdout:r.stdout,stderr:r.stderr,strict:!0});else{r.stdout.write(`${ue.pretty(e,` $ ${[n,...s].join(" ")}`,"grey")} +`);try{await hr.execvp(n,s,{cwd:i,strict:!0})}catch(a){throw r.stdout.write(a.stdout||a.stack),a}}}}async function $N(t,{configuration:e,report:r,target:i}){let n=!1;if(!t.force&&T.existsSync(v.join(i,".git"))){r.reportInfo(z.UNNAMED,"Fetching the latest commits"),r.reportSeparator();try{await xC($4e(t),{configuration:e,context:t.context,target:i}),n=!0}catch(s){r.reportSeparator(),r.reportWarning(z.UNNAMED,"Repository update failed; we'll try to regenerate it")}}n||(r.reportInfo(z.UNNAMED,"Cloning the remote repository"),r.reportSeparator(),await T.removePromise(i),await T.mkdirPromise(i,{recursive:!0}),await xC(Z4e(t,i),{configuration:e,context:t.context,target:i}))}async function tze(t,{project:e,report:r,target:i}){let n=await Kc(e.configuration),s=new Set(Object.keys(n));for(let o of e.configuration.plugins.keys())!s.has(o)||await ZN(o,t,{project:e,report:r,target:i})}var sAe=ie(Or()),oAe=ie(require("url")),aAe=ie(require("vm"));var kC=class extends Be{constructor(){super(...arguments);this.name=Y.String()}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins);return(await Fe.start({configuration:e,stdout:this.context.stdout},async i=>{let{project:n}=await Ke.find(e,this.context.cwd),s,o;if(this.name.match(/^\.{0,2}[\\/]/)||M.isAbsolute(this.name)){let a=v.resolve(this.context.cwd,M.toPortablePath(this.name));i.reportInfo(z.UNNAMED,`Reading ${ue.pretty(e,a,ue.Type.PATH)}`),s=v.relative(n.cwd,a),o=await T.readFilePromise(a)}else{let a;if(this.name.match(/^https?:/)){try{new oAe.URL(this.name)}catch{throw new nt(z.INVALID_PLUGIN_REFERENCE,`Plugin specifier "${this.name}" is neither a plugin name nor a valid url`)}s=this.name,a=this.name}else{let l=S.parseLocator(this.name.replace(/^((@yarnpkg\/)?plugin-)?/,"@yarnpkg/plugin-"));if(l.reference!=="unknown"&&!sAe.default.valid(l.reference))throw new nt(z.UNNAMED,"Official plugins only accept strict version references. Use an explicit URL if you wish to download them from another location.");let c=S.stringifyIdent(l),u=await Kc(e);if(!Object.prototype.hasOwnProperty.call(u,c))throw new nt(z.PLUGIN_NAME_NOT_FOUND,`Couldn't find a plugin named "${c}" on the remote registry. Note that only the plugins referenced on our website (https://github.com/yarnpkg/berry/blob/master/plugins.yml) can be referenced by their name; any other plugin will have to be referenced through its public url (for example https://github.com/yarnpkg/berry/raw/master/packages/plugin-typescript/bin/%40yarnpkg/plugin-typescript.js).`);s=c,a=u[c].url,l.reference!=="unknown"?a=a.replace(/\/master\//,`/${c}/${l.reference}/`):Zr!==null&&(a=a.replace(/\/master\//,`/@yarnpkg/cli/${Zr}/`))}i.reportInfo(z.UNNAMED,`Downloading ${ue.pretty(e,a,"green")}`),o=await Zt.get(a,{configuration:e})}await eL(s,o,{project:n,report:i})})).exitCode()}};kC.paths=[["plugin","import"]],kC.usage=ye.Usage({category:"Plugin-related commands",description:"download a plugin",details:` + This command downloads the specified plugin from its remote location and updates the configuration to reference it in further CLI invocations. + + Three types of plugin references are accepted: + + - If the plugin is stored within the Yarn repository, it can be referenced by name. + - Third-party plugins can be referenced directly through their public urls. + - Local plugins can be referenced by their path on the disk. + + Plugins cannot be downloaded from the npm registry, and aren't allowed to have dependencies (they need to be bundled into a single file, possibly thanks to the \`@yarnpkg/builder\` package). + `,examples:[['Download and activate the "@yarnpkg/plugin-exec" plugin',"$0 plugin import @yarnpkg/plugin-exec"],['Download and activate the "@yarnpkg/plugin-exec" plugin (shorthand)',"$0 plugin import exec"],["Download and activate a community plugin","$0 plugin import https://example.org/path/to/plugin.js"],["Activate a local plugin","$0 plugin import ./path/to/plugin.js"]]});var AAe=kC;async function eL(t,e,{project:r,report:i}){let{configuration:n}=r,s={},o={exports:s};(0,aAe.runInNewContext)(e.toString(),{module:o,exports:s});let a=o.exports.name,l=`.yarn/plugins/${a}.cjs`,c=v.resolve(r.cwd,l);i.reportInfo(z.UNNAMED,`Saving the new plugin in ${ue.pretty(n,l,"magenta")}`),await T.mkdirPromise(v.dirname(c),{recursive:!0}),await T.writeFilePromise(c,e);let u={path:l,spec:t};await fe.updateConfiguration(r.cwd,g=>{let f=[],h=!1;for(let p of g.plugins||[]){let d=typeof p!="string"?p.path:p,m=v.resolve(r.cwd,M.toPortablePath(d)),{name:I}=de.dynamicRequire(m);I!==a?f.push(p):(f.push(u),h=!0)}return h||f.push(u),_(P({},g),{plugins:f})})}var rze=({pluginName:t,noMinify:e},r)=>[["yarn",`build:${t}`,...e?["--no-minify"]:[],"|"]],PC=class extends Be{constructor(){super(...arguments);this.installPath=Y.String("--path",{description:"The path where the repository should be cloned to"});this.repository=Y.String("--repository","https://github.com/yarnpkg/berry.git",{description:"The repository that should be cloned"});this.branch=Y.String("--branch","master",{description:"The branch of the repository that should be cloned"});this.noMinify=Y.Boolean("--no-minify",!1,{description:"Build a plugin for development (debugging) - non-minified and non-mangled"});this.force=Y.Boolean("-f,--force",!1,{description:"Always clone the repository instead of trying to fetch the latest commits"});this.name=Y.String()}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins),r=typeof this.installPath!="undefined"?v.resolve(this.context.cwd,M.toPortablePath(this.installPath)):v.resolve(M.toPortablePath((0,lAe.tmpdir)()),"yarnpkg-sources",mn.makeHash(this.repository).slice(0,6));return(await Fe.start({configuration:e,stdout:this.context.stdout},async n=>{let{project:s}=await Ke.find(e,this.context.cwd),o=S.parseIdent(this.name.replace(/^((@yarnpkg\/)?plugin-)?/,"@yarnpkg/plugin-")),a=S.stringifyIdent(o),l=await Kc(e);if(!Object.prototype.hasOwnProperty.call(l,a))throw new nt(z.PLUGIN_NAME_NOT_FOUND,`Couldn't find a plugin named "${a}" on the remote registry. Note that only the plugins referenced on our website (https://github.com/yarnpkg/berry/blob/master/plugins.yml) can be built and imported from sources.`);let c=a;await $N(this,{configuration:e,report:n,target:r}),await ZN(c,this,{project:s,report:n,target:r})})).exitCode()}};PC.paths=[["plugin","import","from","sources"]],PC.usage=ye.Usage({category:"Plugin-related commands",description:"build a plugin from sources",details:` + This command clones the Yarn repository into a temporary folder, builds the specified contrib plugin and updates the configuration to reference it in further CLI invocations. + + The plugins can be referenced by their short name if sourced from the official Yarn repository. + `,examples:[['Build and activate the "@yarnpkg/plugin-exec" plugin',"$0 plugin import from sources @yarnpkg/plugin-exec"],['Build and activate the "@yarnpkg/plugin-exec" plugin (shorthand)',"$0 plugin import from sources exec"]]});var cAe=PC;async function ZN(t,{context:e,noMinify:r},{project:i,report:n,target:s}){let o=t.replace(/@yarnpkg\//,""),{configuration:a}=i;n.reportSeparator(),n.reportInfo(z.UNNAMED,`Building a fresh ${o}`),n.reportSeparator(),await xC(rze({pluginName:o,noMinify:r},s),{configuration:a,context:e,target:s}),n.reportSeparator();let l=v.resolve(s,`packages/${o}/bundles/${t}.js`),c=await T.readFilePromise(l);await eL(t,c,{project:i,report:n})}var DC=class extends Be{constructor(){super(...arguments);this.name=Y.String()}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins),{project:r}=await Ke.find(e,this.context.cwd);return(await Fe.start({configuration:e,stdout:this.context.stdout},async n=>{let s=this.name,o=S.parseIdent(s);if(!e.plugins.has(s))throw new me(`${S.prettyIdent(e,o)} isn't referenced by the current configuration`);let a=`.yarn/plugins/${s}.cjs`,l=v.resolve(r.cwd,a);T.existsSync(l)&&(n.reportInfo(z.UNNAMED,`Removing ${ue.pretty(e,a,ue.Type.PATH)}...`),await T.removePromise(l)),n.reportInfo(z.UNNAMED,"Updating the configuration..."),await fe.updateConfiguration(r.cwd,c=>{if(!Array.isArray(c.plugins))return c;let u=c.plugins.filter(g=>g.path!==a);return c.plugins.length===u.length?c:_(P({},c),{plugins:u})})})).exitCode()}};DC.paths=[["plugin","remove"]],DC.usage=ye.Usage({category:"Plugin-related commands",description:"remove a plugin",details:` + This command deletes the specified plugin from the .yarn/plugins folder and removes it from the configuration. + + **Note:** The plugins have to be referenced by their name property, which can be obtained using the \`yarn plugin runtime\` command. Shorthands are not allowed. + `,examples:[["Remove a plugin imported from the Yarn repository","$0 plugin remove @yarnpkg/plugin-typescript"],["Remove a plugin imported from a local file","$0 plugin remove my-local-plugin"]]});var uAe=DC;var RC=class extends Be{constructor(){super(...arguments);this.json=Y.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins);return(await Fe.start({configuration:e,json:this.json,stdout:this.context.stdout},async i=>{for(let n of e.plugins.keys()){let s=this.context.plugins.plugins.has(n),o=n;s&&(o+=" [builtin]"),i.reportJson({name:n,builtin:s}),i.reportInfo(null,`${o}`)}})).exitCode()}};RC.paths=[["plugin","runtime"]],RC.usage=ye.Usage({category:"Plugin-related commands",description:"list the active plugins",details:` + This command prints the currently active plugins. Will be displayed both builtin plugins and external plugins. + `,examples:[["List the currently active plugins","$0 plugin runtime"]]});var gAe=RC;var FC=class extends Be{constructor(){super(...arguments);this.idents=Y.Rest()}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Ke.find(e,this.context.cwd),n=await Qt.find(e);if(!i)throw new rt(r.cwd,this.context.cwd);let s=new Set;for(let a of this.idents)s.add(S.parseIdent(a).identHash);if(await r.restoreInstallState({restoreResolutions:!1}),await r.resolveEverything({cache:n,report:new ei}),s.size>0)for(let a of r.storedPackages.values())s.has(a.identHash)&&r.storedBuildState.delete(a.locatorHash);else r.storedBuildState.clear();return(await Fe.start({configuration:e,stdout:this.context.stdout,includeLogs:!this.context.quiet},async a=>{await r.install({cache:n,report:a})})).exitCode()}};FC.paths=[["rebuild"]],FC.usage=ye.Usage({description:"rebuild the project's native packages",details:` + This command will automatically cause Yarn to forget about previous compilations of the given packages and to run them again. + + Note that while Yarn forgets the compilation, the previous artifacts aren't erased from the filesystem and may affect the next builds (in good or bad). To avoid this, you may remove the .yarn/unplugged folder, or any other relevant location where packages might have been stored (Yarn may offer a way to do that automatically in the future). + + By default all packages will be rebuilt, but you can filter the list by specifying the names of the packages you want to clear from memory. + `,examples:[["Rebuild all packages","$0 rebuild"],["Rebuild fsevents only","$0 rebuild fsevents"]]});var fAe=FC;var tL=ie(Nn());Ss();var NC=class extends Be{constructor(){super(...arguments);this.all=Y.Boolean("-A,--all",!1,{description:"Apply the operation to all workspaces from the current project"});this.mode=Y.String("--mode",{description:"Change what artifacts installs generate",validator:Yi(li)});this.patterns=Y.Rest()}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Ke.find(e,this.context.cwd),n=await Qt.find(e);if(!i)throw new rt(r.cwd,this.context.cwd);await r.restoreInstallState({restoreResolutions:!1});let s=this.all?r.workspaces:[i],o=[vr.REGULAR,vr.DEVELOPMENT,vr.PEER],a=[],l=!1,c=[];for(let h of this.patterns){let p=!1,d=S.parseIdent(h);for(let m of s){let I=[...m.manifest.peerDependenciesMeta.keys()];for(let B of(0,tL.default)(I,h))m.manifest.peerDependenciesMeta.delete(B),l=!0,p=!0;for(let B of o){let b=m.manifest.getForScope(B),R=[...b.values()].map(H=>S.stringifyIdent(H));for(let H of(0,tL.default)(R,S.stringifyIdent(d))){let{identHash:L}=S.parseIdent(H),K=b.get(L);if(typeof K=="undefined")throw new Error("Assertion failed: Expected the descriptor to be registered");m.manifest[B].delete(L),c.push([m,B,K]),l=!0,p=!0}}}p||a.push(h)}let u=a.length>1?"Patterns":"Pattern",g=a.length>1?"don't":"doesn't",f=this.all?"any":"this";if(a.length>0)throw new me(`${u} ${ue.prettyList(e,a,ps.CODE)} ${g} match any packages referenced by ${f} workspace`);return l?(await e.triggerMultipleHooks(p=>p.afterWorkspaceDependencyRemoval,c),(await Fe.start({configuration:e,stdout:this.context.stdout},async p=>{await r.install({cache:n,report:p,mode:this.mode})})).exitCode()):0}};NC.paths=[["remove"]],NC.usage=ye.Usage({description:"remove dependencies from the project",details:` + This command will remove the packages matching the specified patterns from the current workspace. + + If the \`--mode=\` option is set, Yarn will change which artifacts are generated. The modes currently supported are: + + - \`skip-build\` will not run the build scripts at all. Note that this is different from setting \`enableScripts\` to false because the later will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run. + + - \`update-lockfile\` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost. + + This command accepts glob patterns as arguments (if valid Idents and supported by [micromatch](https://github.com/micromatch/micromatch)). Make sure to escape the patterns, to prevent your own shell from trying to expand them. + `,examples:[["Remove a dependency from the current project","$0 remove lodash"],["Remove a dependency from all workspaces at once","$0 remove lodash --all"],["Remove all dependencies starting with `eslint-`","$0 remove 'eslint-*'"],["Remove all dependencies with the `@babel` scope","$0 remove '@babel/*'"],["Remove all dependencies matching `react-dom` or `react-helmet`","$0 remove 'react-{dom,helmet}'"]]});var hAe=NC;var pAe=ie(require("util")),z0=class extends Be{async execute(){let e=await fe.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Ke.find(e,this.context.cwd);if(!i)throw new rt(r.cwd,this.context.cwd);return(await Fe.start({configuration:e,stdout:this.context.stdout},async s=>{let o=i.manifest.scripts,a=de.sortMap(o.keys(),u=>u),l={breakLength:Infinity,colors:e.get("enableColors"),maxArrayLength:2},c=a.reduce((u,g)=>Math.max(u,g.length),0);for(let[u,g]of o.entries())s.reportInfo(null,`${u.padEnd(c," ")} ${(0,pAe.inspect)(g,l)}`)})).exitCode()}};z0.paths=[["run"]];var dAe=z0;var LC=class extends Be{constructor(){super(...arguments);this.inspect=Y.String("--inspect",!1,{tolerateBoolean:!0,description:"Forwarded to the underlying Node process when executing a binary"});this.inspectBrk=Y.String("--inspect-brk",!1,{tolerateBoolean:!0,description:"Forwarded to the underlying Node process when executing a binary"});this.topLevel=Y.Boolean("-T,--top-level",!1,{description:"Check the root workspace for scripts and/or binaries instead of the current one"});this.binariesOnly=Y.Boolean("-B,--binaries-only",!1,{description:"Ignore any user defined scripts and only check for binaries"});this.silent=Y.Boolean("--silent",{hidden:!0});this.scriptName=Y.String();this.args=Y.Proxy()}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins),{project:r,workspace:i,locator:n}=await Ke.find(e,this.context.cwd);await r.restoreInstallState();let s=this.topLevel?r.topLevelWorkspace.anchoredLocator:n;if(!this.binariesOnly&&await Kt.hasPackageScript(s,this.scriptName,{project:r}))return await Kt.executePackageScript(s,this.scriptName,this.args,{project:r,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr});let o=await Kt.getPackageAccessibleBinaries(s,{project:r});if(o.get(this.scriptName)){let l=[];return this.inspect&&(typeof this.inspect=="string"?l.push(`--inspect=${this.inspect}`):l.push("--inspect")),this.inspectBrk&&(typeof this.inspectBrk=="string"?l.push(`--inspect-brk=${this.inspectBrk}`):l.push("--inspect-brk")),await Kt.executePackageAccessibleBinary(s,this.scriptName,this.args,{cwd:this.context.cwd,project:r,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr,nodeArgs:l,packageAccessibleBinaries:o})}if(!this.topLevel&&!this.binariesOnly&&i&&this.scriptName.includes(":")){let c=(await Promise.all(r.workspaces.map(async u=>u.manifest.scripts.has(this.scriptName)?u:null))).filter(u=>u!==null);if(c.length===1)return await Kt.executeWorkspaceScript(c[0],this.scriptName,this.args,{stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr})}if(this.topLevel)throw this.scriptName==="node-gyp"?new me(`Couldn't find a script name "${this.scriptName}" in the top-level (used by ${S.prettyLocator(e,n)}). This typically happens because some package depends on "node-gyp" to build itself, but didn't list it in their dependencies. To fix that, please run "yarn add node-gyp" into your top-level workspace. You also can open an issue on the repository of the specified package to suggest them to use an optional peer dependency.`):new me(`Couldn't find a script name "${this.scriptName}" in the top-level (used by ${S.prettyLocator(e,n)}).`);{if(this.scriptName==="global")throw new me("The 'yarn global' commands have been removed in 2.x - consider using 'yarn dlx' or a third-party plugin instead");let l=[this.scriptName].concat(this.args);for(let[c,u]of Yg)for(let g of u)if(l.length>=g.length&&JSON.stringify(l.slice(0,g.length))===JSON.stringify(g))throw new me(`Couldn't find a script named "${this.scriptName}", but a matching command can be found in the ${c} plugin. You can install it with "yarn plugin import ${c}".`);throw new me(`Couldn't find a script named "${this.scriptName}".`)}}};LC.paths=[["run"]],LC.usage=ye.Usage({description:"run a script defined in the package.json",details:` + This command will run a tool. The exact tool that will be executed will depend on the current state of your workspace: + + - If the \`scripts\` field from your local package.json contains a matching script name, its definition will get executed. + + - Otherwise, if one of the local workspace's dependencies exposes a binary with a matching name, this binary will get executed. + + - Otherwise, if the specified name contains a colon character and if one of the workspaces in the project contains exactly one script with a matching name, then this script will get executed. + + Whatever happens, the cwd of the spawned process will be the workspace that declares the script (which makes it possible to call commands cross-workspaces using the third syntax). + `,examples:[["Run the tests from the local workspace","$0 run test"],['Same thing, but without the "run" keyword',"$0 test"],["Inspect Webpack while running","$0 run --inspect-brk webpack"]]});var CAe=LC;var TC=class extends Be{constructor(){super(...arguments);this.save=Y.Boolean("-s,--save",!1,{description:"Persist the resolution inside the top-level manifest"});this.descriptor=Y.String();this.resolution=Y.String()}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Ke.find(e,this.context.cwd),n=await Qt.find(e);if(await r.restoreInstallState({restoreResolutions:!1}),!i)throw new rt(r.cwd,this.context.cwd);let s=S.parseDescriptor(this.descriptor,!0),o=S.makeDescriptor(s,this.resolution);return r.storedDescriptors.set(s.descriptorHash,s),r.storedDescriptors.set(o.descriptorHash,o),r.resolutionAliases.set(s.descriptorHash,o.descriptorHash),(await Fe.start({configuration:e,stdout:this.context.stdout},async l=>{await r.install({cache:n,report:l})})).exitCode()}};TC.paths=[["set","resolution"]],TC.usage=ye.Usage({description:"enforce a package resolution",details:'\n This command updates the resolution table so that `descriptor` is resolved by `resolution`.\n\n Note that by default this command only affect the current resolution table - meaning that this "manual override" will disappear if you remove the lockfile, or if the package disappear from the table. If you wish to make the enforced resolution persist whatever happens, add the `-s,--save` flag which will also edit the `resolutions` field from your top-level manifest.\n\n Note that no attempt is made at validating that `resolution` is a valid resolution entry for `descriptor`.\n ',examples:[["Force all instances of lodash@npm:^1.2.3 to resolve to 1.5.0","$0 set resolution lodash@npm:^1.2.3 1.5.0"]]});var mAe=TC;var EAe=ie(Nn()),MC=class extends Be{constructor(){super(...arguments);this.all=Y.Boolean("-A,--all",!1,{description:"Unlink all workspaces belonging to the target project from the current one"});this.leadingArguments=Y.Rest()}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Ke.find(e,this.context.cwd),n=await Qt.find(e);if(!i)throw new rt(r.cwd,this.context.cwd);let s=r.topLevelWorkspace,o=new Set;if(this.leadingArguments.length===0&&this.all)for(let{pattern:l,reference:c}of s.manifest.resolutions)c.startsWith("portal:")&&o.add(l.descriptor.fullName);if(this.leadingArguments.length>0)for(let l of this.leadingArguments){let c=v.resolve(this.context.cwd,M.toPortablePath(l));if(de.isPathLike(l)){let u=await fe.find(c,this.context.plugins,{useRc:!1,strict:!1}),{project:g,workspace:f}=await Ke.find(u,c);if(!f)throw new rt(g.cwd,c);if(this.all){for(let h of g.workspaces)h.manifest.name&&o.add(S.stringifyIdent(h.locator));if(o.size===0)throw new me("No workspace found to be unlinked in the target project")}else{if(!f.manifest.name)throw new me("The target workspace doesn't have a name and thus cannot be unlinked");o.add(S.stringifyIdent(f.locator))}}else{let u=[...s.manifest.resolutions.map(({pattern:g})=>g.descriptor.fullName)];for(let g of(0,EAe.default)(u,l))o.add(g)}}return s.manifest.resolutions=s.manifest.resolutions.filter(({pattern:l})=>!o.has(l.descriptor.fullName)),(await Fe.start({configuration:e,stdout:this.context.stdout},async l=>{await r.install({cache:n,report:l})})).exitCode()}};MC.paths=[["unlink"]],MC.usage=ye.Usage({description:"disconnect the local project from another one",details:` + This command will remove any resolutions in the project-level manifest that would have been added via a yarn link with similar arguments. + `,examples:[["Unregister a remote workspace in the current project","$0 unlink ~/ts-loader"],["Unregister all workspaces from a remote project in the current project","$0 unlink ~/jest --all"],["Unregister all previously linked workspaces","$0 unlink --all"],["Unregister all workspaces matching a glob","$0 unlink '@babel/*' 'pkg-{a,b}'"]]});var IAe=MC;var yAe=ie(aC()),rL=ie(Nn());Ss();var uf=class extends Be{constructor(){super(...arguments);this.interactive=Y.Boolean("-i,--interactive",{description:"Offer various choices, depending on the detected upgrade paths"});this.exact=Y.Boolean("-E,--exact",!1,{description:"Don't use any semver modifier on the resolved range"});this.tilde=Y.Boolean("-T,--tilde",!1,{description:"Use the `~` semver modifier on the resolved range"});this.caret=Y.Boolean("-C,--caret",!1,{description:"Use the `^` semver modifier on the resolved range"});this.recursive=Y.Boolean("-R,--recursive",!1,{description:"Resolve again ALL resolutions for those packages"});this.mode=Y.String("--mode",{description:"Change what artifacts installs generate",validator:Yi(li)});this.patterns=Y.Rest()}async execute(){return this.recursive?await this.executeUpRecursive():await this.executeUpClassic()}async executeUpRecursive(){let e=await fe.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Ke.find(e,this.context.cwd),n=await Qt.find(e);if(!i)throw new rt(r.cwd,this.context.cwd);await r.restoreInstallState({restoreResolutions:!1});let s=[...r.storedDescriptors.values()],o=s.map(u=>S.stringifyIdent(u)),a=new Set;for(let u of this.patterns){if(S.parseDescriptor(u).range!=="unknown")throw new me("Ranges aren't allowed when using --recursive");for(let g of(0,rL.default)(o,u)){let f=S.parseIdent(g);a.add(f.identHash)}}let l=s.filter(u=>a.has(u.identHash));for(let u of l)r.storedDescriptors.delete(u.descriptorHash),r.storedResolutions.delete(u.descriptorHash);return(await Fe.start({configuration:e,stdout:this.context.stdout},async u=>{await r.install({cache:n,report:u})})).exitCode()}async executeUpClassic(){var d;let e=await fe.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Ke.find(e,this.context.cwd),n=await Qt.find(e);if(!i)throw new rt(r.cwd,this.context.cwd);await r.restoreInstallState({restoreResolutions:!1});let s=(d=this.interactive)!=null?d:e.get("preferInteractive"),o=AC(this,r),a=s?[Fr.KEEP,Fr.REUSE,Fr.PROJECT,Fr.LATEST]:[Fr.PROJECT,Fr.LATEST],l=[],c=[];for(let m of this.patterns){let I=!1,B=S.parseDescriptor(m);for(let b of r.workspaces)for(let R of[vr.REGULAR,vr.DEVELOPMENT]){let L=[...b.manifest.getForScope(R).values()].map(K=>S.stringifyIdent(K));for(let K of(0,rL.default)(L,S.stringifyIdent(B))){let J=S.parseIdent(K),ne=b.manifest[R].get(J.identHash);if(typeof ne=="undefined")throw new Error("Assertion failed: Expected the descriptor to be registered");let q=S.makeDescriptor(J,B.range);l.push(Promise.resolve().then(async()=>[b,R,ne,await lC(q,{project:r,workspace:b,cache:n,target:R,modifier:o,strategies:a})])),I=!0}}I||c.push(m)}if(c.length>1)throw new me(`Patterns ${ue.prettyList(e,c,ps.CODE)} don't match any packages referenced by any workspace`);if(c.length>0)throw new me(`Pattern ${ue.prettyList(e,c,ps.CODE)} doesn't match any packages referenced by any workspace`);let u=await Promise.all(l),g=await Fa.start({configuration:e,stdout:this.context.stdout,suggestInstall:!1},async m=>{for(let[,,I,{suggestions:B,rejections:b}]of u){let R=B.filter(H=>H.descriptor!==null);if(R.length===0){let[H]=b;if(typeof H=="undefined")throw new Error("Assertion failed: Expected an error to have been set");let L=this.cli.error(H);r.configuration.get("enableNetwork")?m.reportError(z.CANT_SUGGEST_RESOLUTIONS,`${S.prettyDescriptor(e,I)} can't be resolved to a satisfying range + +${L}`):m.reportError(z.CANT_SUGGEST_RESOLUTIONS,`${S.prettyDescriptor(e,I)} can't be resolved to a satisfying range (note: network resolution has been disabled) + +${L}`)}else R.length>1&&!s&&m.reportError(z.CANT_SUGGEST_RESOLUTIONS,`${S.prettyDescriptor(e,I)} has multiple possible upgrade strategies; use -i to disambiguate manually`)}});if(g.hasErrors())return g.exitCode();let f=!1,h=[];for(let[m,I,,{suggestions:B}]of u){let b,R=B.filter(J=>J.descriptor!==null),H=R[0].descriptor,L=R.every(J=>S.areDescriptorsEqual(J.descriptor,H));R.length===1||L?b=H:(f=!0,{answer:b}=await(0,yAe.prompt)({type:"select",name:"answer",message:`Which range to you want to use in ${S.prettyWorkspace(e,m)} \u276F ${I}?`,choices:B.map(({descriptor:J,name:ne,reason:q})=>J?{name:ne,hint:q,descriptor:J}:{name:ne,hint:q,disabled:!0}),onCancel:()=>process.exit(130),result(J){return this.find(J,"descriptor")},stdin:this.context.stdin,stdout:this.context.stdout}));let K=m.manifest[I].get(b.identHash);if(typeof K=="undefined")throw new Error("Assertion failed: This descriptor should have a matching entry");if(K.descriptorHash!==b.descriptorHash)m.manifest[I].set(b.identHash,b),h.push([m,I,K,b]);else{let J=e.makeResolver(),ne={project:r,resolver:J},q=J.bindDescriptor(K,m.anchoredLocator,ne);r.forgetResolution(q)}}return await e.triggerMultipleHooks(m=>m.afterWorkspaceDependencyReplacement,h),f&&this.context.stdout.write(` +`),(await Fe.start({configuration:e,stdout:this.context.stdout},async m=>{await r.install({cache:n,report:m,mode:this.mode})})).exitCode()}};uf.paths=[["up"]],uf.usage=ye.Usage({description:"upgrade dependencies across the project",details:"\n This command upgrades the packages matching the list of specified patterns to their latest available version across the whole project (regardless of whether they're part of `dependencies` or `devDependencies` - `peerDependencies` won't be affected). This is a project-wide command: all workspaces will be upgraded in the process.\n\n If `-R,--recursive` is set the command will change behavior and no other switch will be allowed. When operating under this mode `yarn up` will force all ranges matching the selected packages to be resolved again (often to the highest available versions) before being stored in the lockfile. It however won't touch your manifests anymore, so depending on your needs you might want to run both `yarn up` and `yarn up -R` to cover all bases.\n\n If `-i,--interactive` is set (or if the `preferInteractive` settings is toggled on) the command will offer various choices, depending on the detected upgrade paths. Some upgrades require this flag in order to resolve ambiguities.\n\n The, `-C,--caret`, `-E,--exact` and `-T,--tilde` options have the same meaning as in the `add` command (they change the modifier used when the range is missing or a tag, and are ignored when the range is explicitly set).\n\n If the `--mode=` option is set, Yarn will change which artifacts are generated. The modes currently supported are:\n\n - `skip-build` will not run the build scripts at all. Note that this is different from setting `enableScripts` to false because the later will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run.\n\n - `update-lockfile` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost.\n\n Generally you can see `yarn up` as a counterpart to what was `yarn upgrade --latest` in Yarn 1 (ie it ignores the ranges previously listed in your manifests), but unlike `yarn upgrade` which only upgraded dependencies in the current workspace, `yarn up` will upgrade all workspaces at the same time.\n\n This command accepts glob patterns as arguments (if valid Descriptors and supported by [micromatch](https://github.com/micromatch/micromatch)). Make sure to escape the patterns, to prevent your own shell from trying to expand them.\n\n **Note:** The ranges have to be static, only the package scopes and names can contain glob patterns.\n ",examples:[["Upgrade all instances of lodash to the latest release","$0 up lodash"],["Upgrade all instances of lodash to the latest release, but ask confirmation for each","$0 up lodash -i"],["Upgrade all instances of lodash to 1.2.3","$0 up lodash@1.2.3"],["Upgrade all instances of packages with the `@babel` scope to the latest release","$0 up '@babel/*'"],["Upgrade all instances of packages containing the word `jest` to the latest release","$0 up '*jest*'"],["Upgrade all instances of packages with the `@babel` scope to 7.0.0","$0 up '@babel/*@7.0.0'"]]}),uf.schema=[pv("recursive",Bl.Forbids,["interactive","exact","tilde","caret"],{ignore:[void 0,!1]})];var wAe=uf;var OC=class extends Be{constructor(){super(...arguments);this.recursive=Y.Boolean("-R,--recursive",!1,{description:"List, for each workspace, what are all the paths that lead to the dependency"});this.json=Y.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.peers=Y.Boolean("--peers",!1,{description:"Also print the peer dependencies that match the specified name"});this.package=Y.String()}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Ke.find(e,this.context.cwd);if(!i)throw new rt(r.cwd,this.context.cwd);await r.restoreInstallState();let n=S.parseIdent(this.package).identHash,s=this.recursive?nze(r,n,{configuration:e,peers:this.peers}):ize(r,n,{configuration:e,peers:this.peers});Hs.emitTree(s,{configuration:e,stdout:this.context.stdout,json:this.json,separators:1})}};OC.paths=[["why"]],OC.usage=ye.Usage({description:"display the reason why a package is needed",details:` + This command prints the exact reasons why a package appears in the dependency tree. + + If \`-R,--recursive\` is set, the listing will go in depth and will list, for each workspaces, what are all the paths that lead to the dependency. Note that the display is somewhat optimized in that it will not print the package listing twice for a single package, so if you see a leaf named "Foo" when looking for "Bar", it means that "Foo" already got printed higher in the tree. + `,examples:[["Explain why lodash is used in your project","$0 why lodash"]]});var BAe=OC;function ize(t,e,{configuration:r,peers:i}){let n=de.sortMap(t.storedPackages.values(),a=>S.stringifyLocator(a)),s={},o={children:s};for(let a of n){let l={},c=null;for(let u of a.dependencies.values()){if(!i&&a.peerDependencies.has(u.identHash))continue;let g=t.storedResolutions.get(u.descriptorHash);if(!g)throw new Error("Assertion failed: The resolution should have been registered");let f=t.storedPackages.get(g);if(!f)throw new Error("Assertion failed: The package should have been registered");if(f.identHash!==e)continue;if(c===null){let p=S.stringifyLocator(a);s[p]={value:[a,ue.Type.LOCATOR],children:l}}let h=S.stringifyLocator(f);l[h]={value:[{descriptor:u,locator:f},ue.Type.DEPENDENT]}}}return o}function nze(t,e,{configuration:r,peers:i}){let n=de.sortMap(t.workspaces,f=>S.stringifyLocator(f.anchoredLocator)),s=new Set,o=new Set,a=f=>{if(s.has(f.locatorHash))return o.has(f.locatorHash);if(s.add(f.locatorHash),f.identHash===e)return o.add(f.locatorHash),!0;let h=!1;f.identHash===e&&(h=!0);for(let p of f.dependencies.values()){if(!i&&f.peerDependencies.has(p.identHash))continue;let d=t.storedResolutions.get(p.descriptorHash);if(!d)throw new Error("Assertion failed: The resolution should have been registered");let m=t.storedPackages.get(d);if(!m)throw new Error("Assertion failed: The package should have been registered");a(m)&&(h=!0)}return h&&o.add(f.locatorHash),h};for(let f of n){let h=t.storedPackages.get(f.anchoredLocator.locatorHash);if(!h)throw new Error("Assertion failed: The package should have been registered");a(h)}let l=new Set,c={},u={children:c},g=(f,h,p)=>{if(!o.has(f.locatorHash))return;let d=p!==null?ue.tuple(ue.Type.DEPENDENT,{locator:f,descriptor:p}):ue.tuple(ue.Type.LOCATOR,f),m={},I={value:d,children:m},B=S.stringifyLocator(f);if(h[B]=I,!l.has(f.locatorHash)&&(l.add(f.locatorHash),!(p!==null&&t.tryWorkspaceByLocator(f))))for(let b of f.dependencies.values()){if(!i&&f.peerDependencies.has(b.identHash))continue;let R=t.storedResolutions.get(b.descriptorHash);if(!R)throw new Error("Assertion failed: The resolution should have been registered");let H=t.storedPackages.get(R);if(!H)throw new Error("Assertion failed: The package should have been registered");g(H,m,b)}};for(let f of n){let h=t.storedPackages.get(f.anchoredLocator.locatorHash);if(!h)throw new Error("Assertion failed: The package should have been registered");g(h,c,null)}return u}var fL={};it(fL,{default:()=>wze,gitUtils:()=>Uc});var Uc={};it(Uc,{TreeishProtocols:()=>vn,clone:()=>cL,fetchBase:()=>jAe,fetchChangedFiles:()=>YAe,fetchChangedWorkspaces:()=>Ize,fetchRoot:()=>GAe,isGitUrl:()=>ff,lsRemote:()=>HAe,normalizeLocator:()=>AL,normalizeRepoUrl:()=>KC,resolveUrl:()=>lL,splitRepoUrl:()=>UC});var oL=ie(OAe()),gf=ie(require("querystring")),aL=ie(Or()),KAe=ie(require("url"));function UAe(){return _(P({},process.env),{GIT_SSH_COMMAND:"ssh -o BatchMode=yes"})}var Eze=[/^ssh:/,/^git(?:\+[^:]+)?:/,/^(?:git\+)?https?:[^#]+\/[^#]+(?:\.git)(?:#.*)?$/,/^git@[^#]+\/[^#]+\.git(?:#.*)?$/,/^(?:github:|https:\/\/github\.com\/)?(?!\.{1,2}\/)([a-zA-Z._0-9-]+)\/(?!\.{1,2}(?:#|$))([a-zA-Z._0-9-]+?)(?:\.git)?(?:#.*)?$/,/^https:\/\/github\.com\/(?!\.{1,2}\/)([a-zA-Z0-9._-]+)\/(?!\.{1,2}(?:#|$))([a-zA-Z0-9._-]+?)\/tarball\/(.+)?$/],vn;(function(n){n.Commit="commit",n.Head="head",n.Tag="tag",n.Semver="semver"})(vn||(vn={}));function ff(t){return t?Eze.some(e=>!!t.match(e)):!1}function UC(t){t=KC(t);let e=t.indexOf("#");if(e===-1)return{repo:t,treeish:{protocol:vn.Head,request:"HEAD"},extra:{}};let r=t.slice(0,e),i=t.slice(e+1);if(i.match(/^[a-z]+=/)){let n=gf.default.parse(i);for(let[l,c]of Object.entries(n))if(typeof c!="string")throw new Error(`Assertion failed: The ${l} parameter must be a literal string`);let s=Object.values(vn).find(l=>Object.prototype.hasOwnProperty.call(n,l)),o,a;typeof s!="undefined"?(o=s,a=n[s]):(o=vn.Head,a="HEAD");for(let l of Object.values(vn))delete n[l];return{repo:r,treeish:{protocol:o,request:a},extra:n}}else{let n=i.indexOf(":"),s,o;return n===-1?(s=null,o=i):(s=i.slice(0,n),o=i.slice(n+1)),{repo:r,treeish:{protocol:s,request:o},extra:{}}}}function KC(t,{git:e=!1}={}){var r;if(t=t.replace(/^git\+https:/,"https:"),t=t.replace(/^(?:github:|https:\/\/github\.com\/)?(?!\.{1,2}\/)([a-zA-Z0-9._-]+)\/(?!\.{1,2}(?:#|$))([a-zA-Z0-9._-]+?)(?:\.git)?(#.*)?$/,"https://github.com/$1/$2.git$3"),t=t.replace(/^https:\/\/github\.com\/(?!\.{1,2}\/)([a-zA-Z0-9._-]+)\/(?!\.{1,2}(?:#|$))([a-zA-Z0-9._-]+?)\/tarball\/(.+)?$/,"https://github.com/$1/$2.git#$3"),e){t=t.replace(/^git\+([^:]+):/,"$1:");let i;try{i=KAe.default.parse(t)}catch{i=null}i&&i.protocol==="ssh:"&&((r=i.path)==null?void 0:r.startsWith("/:"))&&(t=t.replace(/^ssh:\/\//,""))}return t}function AL(t){return S.makeLocator(t,KC(t.reference))}async function HAe(t,e){let r=KC(t,{git:!0});if(!Zt.getNetworkSettings(`https://${(0,oL.default)(r).resource}`,{configuration:e}).enableNetwork)throw new Error(`Request to '${r}' has been blocked because of your configuration settings`);let n;try{n=await hr.execvp("git",["ls-remote",r],{cwd:e.startingCwd,env:UAe(),strict:!0})}catch(l){throw l.message=`Listing the refs for ${t} failed`,l}let s=new Map,o=/^([a-f0-9]{40})\t([^\n]+)/gm,a;for(;(a=o.exec(n.stdout))!==null;)s.set(a[2],a[1]);return s}async function lL(t,e){let{repo:r,treeish:{protocol:i,request:n},extra:s}=UC(t),o=await HAe(r,e),a=(c,u)=>{switch(c){case vn.Commit:{if(!u.match(/^[a-f0-9]{40}$/))throw new Error("Invalid commit hash");return gf.default.stringify(_(P({},s),{commit:u}))}case vn.Head:{let g=o.get(u==="HEAD"?u:`refs/heads/${u}`);if(typeof g=="undefined")throw new Error(`Unknown head ("${u}")`);return gf.default.stringify(_(P({},s),{commit:g}))}case vn.Tag:{let g=o.get(`refs/tags/${u}`);if(typeof g=="undefined")throw new Error(`Unknown tag ("${u}")`);return gf.default.stringify(_(P({},s),{commit:g}))}case vn.Semver:{let g=qt.validRange(u);if(!g)throw new Error(`Invalid range ("${u}")`);let f=new Map([...o.entries()].filter(([p])=>p.startsWith("refs/tags/")).map(([p,d])=>[aL.default.parse(p.slice(10)),d]).filter(p=>p[0]!==null)),h=aL.default.maxSatisfying([...f.keys()],g);if(h===null)throw new Error(`No matching range ("${u}")`);return gf.default.stringify(_(P({},s),{commit:f.get(h)}))}case null:{let g;if((g=l(vn.Commit,u))!==null||(g=l(vn.Tag,u))!==null||(g=l(vn.Head,u))!==null)return g;throw u.match(/^[a-f0-9]+$/)?new Error(`Couldn't resolve "${u}" as either a commit, a tag, or a head - if a commit, use the 40-characters commit hash`):new Error(`Couldn't resolve "${u}" as either a commit, a tag, or a head`)}default:throw new Error(`Invalid Git resolution protocol ("${c}")`)}},l=(c,u)=>{try{return a(c,u)}catch(g){return null}};return`${r}#${a(i,n)}`}async function cL(t,e){return await e.getLimit("cloneConcurrency")(async()=>{let{repo:r,treeish:{protocol:i,request:n}}=UC(t);if(i!=="commit")throw new Error("Invalid treeish protocol when cloning");let s=KC(r,{git:!0});if(Zt.getNetworkSettings(`https://${(0,oL.default)(s).resource}`,{configuration:e}).enableNetwork===!1)throw new Error(`Request to '${s}' has been blocked because of your configuration settings`);let o=await T.mktempPromise(),a={cwd:o,env:UAe(),strict:!0};try{await hr.execvp("git",["clone","-c core.autocrlf=false",s,M.fromPortablePath(o)],a),await hr.execvp("git",["checkout",`${n}`],a)}catch(l){throw l.message=`Repository clone failed: ${l.message}`,l}return o})}async function GAe(t){let e=null,r,i=t;do r=i,await T.existsPromise(v.join(r,".git"))&&(e=r),i=v.dirname(r);while(e===null&&i!==r);return e}async function jAe(t,{baseRefs:e}){if(e.length===0)throw new me("Can't run this command with zero base refs specified.");let r=[];for(let a of e){let{code:l}=await hr.execvp("git",["merge-base",a,"HEAD"],{cwd:t});l===0&&r.push(a)}if(r.length===0)throw new me(`No ancestor could be found between any of HEAD and ${e.join(", ")}`);let{stdout:i}=await hr.execvp("git",["merge-base","HEAD",...r],{cwd:t,strict:!0}),n=i.trim(),{stdout:s}=await hr.execvp("git",["show","--quiet","--pretty=format:%s",n],{cwd:t,strict:!0}),o=s.trim();return{hash:n,title:o}}async function YAe(t,{base:e,project:r}){let i=de.buildIgnorePattern(r.configuration.get("changesetIgnorePatterns")),{stdout:n}=await hr.execvp("git",["diff","--name-only",`${e}`],{cwd:t,strict:!0}),s=n.split(/\r\n|\r|\n/).filter(c=>c.length>0).map(c=>v.resolve(t,M.toPortablePath(c))),{stdout:o}=await hr.execvp("git",["ls-files","--others","--exclude-standard"],{cwd:t,strict:!0}),a=o.split(/\r\n|\r|\n/).filter(c=>c.length>0).map(c=>v.resolve(t,M.toPortablePath(c))),l=[...new Set([...s,...a].sort())];return i?l.filter(c=>!v.relative(r.cwd,c).match(i)):l}async function Ize({ref:t,project:e}){if(e.configuration.projectCwd===null)throw new me("This command can only be run from within a Yarn project");let r=[v.resolve(e.cwd,e.configuration.get("cacheFolder")),v.resolve(e.cwd,e.configuration.get("installStatePath")),v.resolve(e.cwd,e.configuration.get("lockfileFilename")),v.resolve(e.cwd,e.configuration.get("virtualFolder"))];await e.configuration.triggerHook(o=>o.populateYarnPaths,e,o=>{o!=null&&r.push(o)});let i=await GAe(e.configuration.projectCwd);if(i==null)throw new me("This command can only be run on Git repositories");let n=await jAe(i,{baseRefs:typeof t=="string"?[t]:e.configuration.get("changesetBaseRefs")}),s=await YAe(i,{base:n.hash,project:e});return new Set(de.mapAndFilter(s,o=>{let a=e.tryWorkspaceByFilePath(o);return a===null?de.mapAndFilter.skip:r.some(l=>o.startsWith(l))?de.mapAndFilter.skip:a}))}var uL=class{supports(e,r){return ff(e.reference)}getLocalPath(e,r){return null}async fetch(e,r){let i=r.checksums.get(e.locatorHash)||null,n=AL(e),s=new Map(r.checksums);s.set(n.locatorHash,i);let o=_(P({},r),{checksums:s}),a=await this.downloadHosted(n,o);if(a!==null)return a;let[l,c,u]=await r.cache.fetchPackageFromCache(e,i,P({onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${S.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the remote repository`),loader:()=>this.cloneFromRemote(n,o),skipIntegrityCheck:r.skipIntegrityCheck},r.cacheOptions));return{packageFs:l,releaseFs:c,prefixPath:S.getIdentVendorPath(e),checksum:u}}async downloadHosted(e,r){return r.project.configuration.reduceHook(i=>i.fetchHostedRepository,null,e,r)}async cloneFromRemote(e,r){let i=await cL(e.reference,r.project.configuration),n=UC(e.reference),s=v.join(i,"package.tgz");await Kt.prepareExternalProject(i,s,{configuration:r.project.configuration,report:r.report,workspace:n.extra.workspace,locator:e});let o=await T.readFilePromise(s);return await de.releaseAfterUseAsync(async()=>await Ai.convertToZip(o,{compressionLevel:r.project.configuration.get("compressionLevel"),prefixPath:S.getIdentVendorPath(e),stripComponents:1}))}};var gL=class{supportsDescriptor(e,r){return ff(e.range)}supportsLocator(e,r){return ff(e.reference)}shouldPersistResolution(e,r){return!0}bindDescriptor(e,r,i){return e}getResolutionDependencies(e,r){return[]}async getCandidates(e,r,i){let n=await lL(e.range,i.project.configuration);return[S.makeLocator(e,n)]}async getSatisfying(e,r,i){return null}async resolve(e,r){if(!r.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let i=await r.fetchOptions.fetcher.fetch(e,r.fetchOptions),n=await de.releaseAfterUseAsync(async()=>await Ze.find(i.prefixPath,{baseFs:i.packageFs}),i.releaseFs);return _(P({},e),{version:n.version||"0.0.0",languageName:n.languageName||r.project.configuration.get("defaultLanguageName"),linkType:gt.HARD,conditions:n.getConditions(),dependencies:n.dependencies,peerDependencies:n.peerDependencies,dependenciesMeta:n.dependenciesMeta,peerDependenciesMeta:n.peerDependenciesMeta,bin:n.bin})}};var yze={configuration:{changesetBaseRefs:{description:"The base git refs that the current HEAD is compared against when detecting changes. Supports git branches, tags, and commits.",type:ge.STRING,isArray:!0,isNullable:!1,default:["master","origin/master","upstream/master","main","origin/main","upstream/main"]},changesetIgnorePatterns:{description:"Array of glob patterns; files matching them will be ignored when fetching the changed files",type:ge.STRING,default:[],isArray:!0},cloneConcurrency:{description:"Maximal number of concurrent clones",type:ge.NUMBER,default:2}},fetchers:[uL],resolvers:[gL]};var wze=yze;var HC=class extends Be{constructor(){super(...arguments);this.since=Y.String("--since",{description:"Only include workspaces that have been changed since the specified ref.",tolerateBoolean:!0});this.recursive=Y.Boolean("-R,--recursive",!1,{description:"Find packages via dependencies/devDependencies instead of using the workspaces field"});this.verbose=Y.Boolean("-v,--verbose",!1,{description:"Also return the cross-dependencies between workspaces"});this.json=Y.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins),{project:r}=await Ke.find(e,this.context.cwd);return(await Fe.start({configuration:e,json:this.json,stdout:this.context.stdout},async n=>{let s=this.since?await Uc.fetchChangedWorkspaces({ref:this.since,project:r}):r.workspaces,o=new Set(s);if(this.recursive)for(let a of[...s].map(l=>l.getRecursiveWorkspaceDependents()))for(let l of a)o.add(l);for(let a of o){let{manifest:l}=a,c;if(this.verbose){let u=new Set,g=new Set;for(let f of Ze.hardDependencies)for(let[h,p]of l.getForScope(f)){let d=r.tryWorkspaceByDescriptor(p);d===null?r.workspacesByIdent.has(h)&&g.add(p):u.add(d)}c={workspaceDependencies:Array.from(u).map(f=>f.relativeCwd),mismatchedWorkspaceDependencies:Array.from(g).map(f=>S.stringifyDescriptor(f))}}n.reportInfo(null,`${a.relativeCwd}`),n.reportJson(P({location:a.relativeCwd,name:l.name?S.stringifyIdent(l.name):null},c))}})).exitCode()}};HC.paths=[["workspaces","list"]],HC.usage=ye.Usage({category:"Workspace-related commands",description:"list all available workspaces",details:"\n This command will print the list of all workspaces in the project.\n\n - If `--since` is set, Yarn will only list workspaces that have been modified since the specified ref. By default Yarn will use the refs specified by the `changesetBaseRefs` configuration option.\n\n - If `-R,--recursive` is set, Yarn will find workspaces to run the command on by recursively evaluating `dependencies` and `devDependencies` fields, instead of looking at the `workspaces` fields.\n\n - If both the `-v,--verbose` and `--json` options are set, Yarn will also return the cross-dependencies between each workspaces (useful when you wish to automatically generate Buck / Bazel rules).\n "});var qAe=HC;var GC=class extends Be{constructor(){super(...arguments);this.workspaceName=Y.String();this.commandName=Y.String();this.args=Y.Proxy()}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Ke.find(e,this.context.cwd);if(!i)throw new rt(r.cwd,this.context.cwd);let n=r.workspaces,s=new Map(n.map(a=>{let l=S.convertToIdent(a.locator);return[S.stringifyIdent(l),a]})),o=s.get(this.workspaceName);if(o===void 0){let a=Array.from(s.keys()).sort();throw new me(`Workspace '${this.workspaceName}' not found. Did you mean any of the following: + - ${a.join(` + - `)}?`)}return this.cli.run([this.commandName,...this.args],{cwd:o.cwd})}};GC.paths=[["workspace"]],GC.usage=ye.Usage({category:"Workspace-related commands",description:"run a command within the specified workspace",details:` + This command will run a given sub-command on a single workspace. + `,examples:[["Add a package to a single workspace","yarn workspace components add -D react"],["Run build script on a single workspace","yarn workspace components run build"]]});var JAe=GC;var Bze={configuration:{enableImmutableInstalls:{description:"If true (the default on CI), prevents the install command from modifying the lockfile",type:ge.BOOLEAN,default:WAe.isCI},defaultSemverRangePrefix:{description:"The default save prefix: '^', '~' or ''",type:ge.STRING,values:["^","~",""],default:Lo.CARET}},commands:[soe,aoe,wae,Nae,mAe,nAe,tAe,qAe,Uae,Hae,Gae,jae,ioe,noe,Lae,Mae,Yae,qae,Wae,zae,_ae,IAe,Xae,cAe,AAe,uAe,Zae,gAe,fAe,hAe,dAe,CAe,wAe,BAe,JAe]},Qze=Bze;var mL={};it(mL,{default:()=>vze});var Me={optional:!0},zAe=[["@tailwindcss/aspect-ratio@<0.2.1",{peerDependencies:{tailwindcss:"^2.0.2"}}],["@tailwindcss/line-clamp@<0.2.1",{peerDependencies:{tailwindcss:"^2.0.2"}}],["@fullhuman/postcss-purgecss@3.1.3 || 3.1.3-alpha.0",{peerDependencies:{postcss:"^8.0.0"}}],["@samverschueren/stream-to-observable@<0.3.1",{peerDependenciesMeta:{rxjs:Me,zenObservable:Me}}],["any-observable@<0.5.1",{peerDependenciesMeta:{rxjs:Me,zenObservable:Me}}],["@pm2/agent@<1.0.4",{dependencies:{debug:"*"}}],["debug@<4.2.0",{peerDependenciesMeta:{["supports-color"]:Me}}],["got@<11",{dependencies:{["@types/responselike"]:"^1.0.0",["@types/keyv"]:"^3.1.1"}}],["cacheable-lookup@<4.1.2",{dependencies:{["@types/keyv"]:"^3.1.1"}}],["http-link-dataloader@*",{peerDependencies:{graphql:"^0.13.1 || ^14.0.0"}}],["typescript-language-server@*",{dependencies:{["vscode-jsonrpc"]:"^5.0.1",["vscode-languageserver-protocol"]:"^3.15.0"}}],["postcss-syntax@*",{peerDependenciesMeta:{["postcss-html"]:Me,["postcss-jsx"]:Me,["postcss-less"]:Me,["postcss-markdown"]:Me,["postcss-scss"]:Me}}],["jss-plugin-rule-value-function@<=10.1.1",{dependencies:{["tiny-warning"]:"^1.0.2"}}],["ink-select-input@<4.1.0",{peerDependencies:{react:"^16.8.2"}}],["license-webpack-plugin@<2.3.18",{peerDependenciesMeta:{webpack:Me}}],["snowpack@>=3.3.0",{dependencies:{["node-gyp"]:"^7.1.0"}}],["promise-inflight@*",{peerDependenciesMeta:{bluebird:Me}}],["reactcss@*",{peerDependencies:{react:"*"}}],["react-color@<=2.19.0",{peerDependencies:{react:"*"}}],["gatsby-plugin-i18n@*",{dependencies:{ramda:"^0.24.1"}}],["useragent@^2.0.0",{dependencies:{request:"^2.88.0",yamlparser:"0.0.x",semver:"5.5.x"}}],["@apollographql/apollo-tools@*",{peerDependencies:{graphql:"^14.2.1 || ^15.0.0"}}],["material-table@^2.0.0",{dependencies:{"@babel/runtime":"^7.11.2"}}],["@babel/parser@*",{dependencies:{"@babel/types":"^7.8.3"}}],["fork-ts-checker-webpack-plugin@<=6.3.4",{peerDependencies:{eslint:">= 6",typescript:">= 2.7",webpack:">= 4","vue-template-compiler":"*"},peerDependenciesMeta:{eslint:Me,"vue-template-compiler":Me}}],["rc-animate@<=3.1.1",{peerDependencies:{react:">=16.9.0","react-dom":">=16.9.0"}}],["react-bootstrap-table2-paginator@*",{dependencies:{classnames:"^2.2.6"}}],["react-draggable@<=4.4.3",{peerDependencies:{react:">= 16.3.0","react-dom":">= 16.3.0"}}],["apollo-upload-client@<14",{peerDependencies:{graphql:"14 - 15"}}],["react-instantsearch-core@<=6.7.0",{peerDependencies:{algoliasearch:">= 3.1 < 5"}}],["react-instantsearch-dom@<=6.7.0",{dependencies:{"react-fast-compare":"^3.0.0"}}],["ws@<7.2.1",{peerDependencies:{bufferutil:"^4.0.1","utf-8-validate":"^5.0.2"},peerDependenciesMeta:{bufferutil:Me,"utf-8-validate":Me}}],["react-portal@*",{peerDependencies:{"react-dom":"^15.0.0-0 || ^16.0.0-0 || ^17.0.0-0"}}],["react-scripts@<=4.0.1",{peerDependencies:{react:"*"}}],["testcafe@<=1.10.1",{dependencies:{"@babel/plugin-transform-for-of":"^7.12.1","@babel/runtime":"^7.12.5"}}],["testcafe-legacy-api@<=4.2.0",{dependencies:{"testcafe-hammerhead":"^17.0.1","read-file-relative":"^1.2.0"}}],["@google-cloud/firestore@<=4.9.3",{dependencies:{protobufjs:"^6.8.6"}}],["gatsby-source-apiserver@*",{dependencies:{["babel-polyfill"]:"^6.26.0"}}],["@webpack-cli/package-utils@<=1.0.1-alpha.4",{dependencies:{["cross-spawn"]:"^7.0.3"}}],["gatsby-remark-prismjs@<3.3.28",{dependencies:{lodash:"^4"}}],["gatsby-plugin-favicon@*",{peerDependencies:{webpack:"*"}}],["gatsby-plugin-sharp@*",{dependencies:{debug:"^4.3.1"}}],["gatsby-react-router-scroll@*",{dependencies:{["prop-types"]:"^15.7.2"}}],["@rebass/forms@*",{dependencies:{["@styled-system/should-forward-prop"]:"^5.0.0"},peerDependencies:{react:"^16.8.6"}}],["rebass@*",{peerDependencies:{react:"^16.8.6"}}],["@ant-design/react-slick@<=0.28.3",{peerDependencies:{react:">=16.0.0"}}],["mqtt@<4.2.7",{dependencies:{duplexify:"^4.1.1"}}],["vue-cli-plugin-vuetify@<=2.0.3",{dependencies:{semver:"^6.3.0"},peerDependenciesMeta:{"sass-loader":Me,"vuetify-loader":Me}}],["vue-cli-plugin-vuetify@<=2.0.4",{dependencies:{"null-loader":"^3.0.0"}}],["@vuetify/cli-plugin-utils@<=0.0.4",{dependencies:{semver:"^6.3.0"},peerDependenciesMeta:{"sass-loader":Me}}],["@vue/cli-plugin-typescript@<=5.0.0-alpha.0",{dependencies:{"babel-loader":"^8.1.0"}}],["@vue/cli-plugin-typescript@<=5.0.0-beta.0",{dependencies:{"@babel/core":"^7.12.16"},peerDependencies:{"vue-template-compiler":"^2.0.0"},peerDependenciesMeta:{"vue-template-compiler":Me}}],["cordova-ios@<=6.3.0",{dependencies:{underscore:"^1.9.2"}}],["cordova-lib@<=10.0.1",{dependencies:{underscore:"^1.9.2"}}],["git-node-fs@*",{peerDependencies:{"js-git":"^0.7.8"},peerDependenciesMeta:{"js-git":Me}}],["consolidate@*",{peerDependencies:{velocityjs:"^2.0.1",tinyliquid:"^0.2.34","liquid-node":"^3.0.1",jade:"^1.11.0","then-jade":"*",dust:"^0.3.0","dustjs-helpers":"^1.7.4","dustjs-linkedin":"^2.7.5",swig:"^1.4.2","swig-templates":"^2.0.3","razor-tmpl":"^1.3.1",atpl:">=0.7.6",liquor:"^0.0.5",twig:"^1.15.2",ejs:"^3.1.5",eco:"^1.1.0-rc-3",jazz:"^0.0.18",jqtpl:"~1.1.0",hamljs:"^0.6.2",hamlet:"^0.3.3",whiskers:"^0.4.0","haml-coffee":"^1.14.1","hogan.js":"^3.0.2",templayed:">=0.2.3",handlebars:"^4.7.6",underscore:"^1.11.0",lodash:"^4.17.20",pug:"^3.0.0","then-pug":"*",qejs:"^3.0.5",walrus:"^0.10.1",mustache:"^4.0.1",just:"^0.1.8",ect:"^0.5.9",mote:"^0.2.0",toffee:"^0.3.6",dot:"^1.1.3","bracket-template":"^1.1.5",ractive:"^1.3.12",nunjucks:"^3.2.2",htmling:"^0.0.8","babel-core":"^6.26.3",plates:"~0.4.11","react-dom":"^16.13.1",react:"^16.13.1","arc-templates":"^0.5.3",vash:"^0.13.0",slm:"^2.0.0",marko:"^3.14.4",teacup:"^2.0.0","coffee-script":"^1.12.7",squirrelly:"^5.1.0",twing:"^5.0.2"},peerDependenciesMeta:{velocityjs:Me,tinyliquid:Me,"liquid-node":Me,jade:Me,"then-jade":Me,dust:Me,"dustjs-helpers":Me,"dustjs-linkedin":Me,swig:Me,"swig-templates":Me,"razor-tmpl":Me,atpl:Me,liquor:Me,twig:Me,ejs:Me,eco:Me,jazz:Me,jqtpl:Me,hamljs:Me,hamlet:Me,whiskers:Me,"haml-coffee":Me,"hogan.js":Me,templayed:Me,handlebars:Me,underscore:Me,lodash:Me,pug:Me,"then-pug":Me,qejs:Me,walrus:Me,mustache:Me,just:Me,ect:Me,mote:Me,toffee:Me,dot:Me,"bracket-template":Me,ractive:Me,nunjucks:Me,htmling:Me,"babel-core":Me,plates:Me,"react-dom":Me,react:Me,"arc-templates":Me,vash:Me,slm:Me,marko:Me,teacup:Me,"coffee-script":Me,squirrelly:Me,twing:Me}}],["vue-loader@<=16.3.1",{peerDependencies:{"@vue/compiler-sfc":"^3.0.8",webpack:"^4.1.0 || ^5.0.0-0"}}],["scss-parser@*",{dependencies:{lodash:"^4.17.21"}}],["query-ast@*",{dependencies:{lodash:"^4.17.21"}}],["redux-thunk@<=2.3.0",{peerDependencies:{redux:"^4.0.0"}}],["skypack@<=0.3.2",{dependencies:{tar:"^6.1.0"}}],["@npmcli/metavuln-calculator@*",{dependencies:{"json-parse-even-better-errors":"^2.3.1"}}],["bin-links@*",{dependencies:{"mkdirp-infer-owner":"^1.0.2"}}],["rollup-plugin-polyfill-node@*",{peerDependencies:{rollup:"^1.20.0 || ^2.0.0"}}],["snowpack@*",{dependencies:{"magic-string":"^0.25.7"}}],["elm-webpack-loader@*",{dependencies:{temp:"^0.9.4"}}],["winston-transport@<=4.4.0",{dependencies:{logform:"^2.2.0"}}],["jest-vue-preprocessor@*",{dependencies:{"@babel/core":"7.8.7","@babel/template":"7.8.6"},peerDependencies:{pug:"^2.0.4"},peerDependenciesMeta:{pug:Me}}],["redux-persist@*",{peerDependencies:{react:">=16"},peerDependenciesMeta:{react:Me}}],["sodium@>=3",{dependencies:{"node-gyp":"^3.8.0"}}],["babel-plugin-graphql-tag@<=3.1.0",{peerDependencies:{graphql:"^14.0.0 || ^15.0.0"}}],["@playwright/test@<=1.14.1",{dependencies:{"jest-matcher-utils":"^26.4.2"}}],...["babel-plugin-remove-graphql-queries@<3.14.0-next.1","babel-preset-gatsby-package@<1.14.0-next.1","create-gatsby@<1.14.0-next.1","gatsby-admin@<0.24.0-next.1","gatsby-cli@<3.14.0-next.1","gatsby-core-utils@<2.14.0-next.1","gatsby-design-tokens@<3.14.0-next.1","gatsby-legacy-polyfills@<1.14.0-next.1","gatsby-plugin-benchmark-reporting@<1.14.0-next.1","gatsby-plugin-graphql-config@<0.23.0-next.1","gatsby-plugin-image@<1.14.0-next.1","gatsby-plugin-mdx@<2.14.0-next.1","gatsby-plugin-netlify-cms@<5.14.0-next.1","gatsby-plugin-no-sourcemaps@<3.14.0-next.1","gatsby-plugin-page-creator@<3.14.0-next.1","gatsby-plugin-preact@<5.14.0-next.1","gatsby-plugin-preload-fonts@<2.14.0-next.1","gatsby-plugin-schema-snapshot@<2.14.0-next.1","gatsby-plugin-styletron@<6.14.0-next.1","gatsby-plugin-subfont@<3.14.0-next.1","gatsby-plugin-utils@<1.14.0-next.1","gatsby-recipes@<0.25.0-next.1","gatsby-source-shopify@<5.6.0-next.1","gatsby-source-wikipedia@<3.14.0-next.1","gatsby-transformer-screenshot@<3.14.0-next.1","gatsby-worker@<0.5.0-next.1"].map(t=>[t,{dependencies:{"@babel/runtime":"^7.14.8"}}]),["gatsby-core-utils@<2.14.0-next.1",{dependencies:{got:"8.3.2"}}],["gatsby-plugin-gatsby-cloud@<=3.1.0-next.0",{dependencies:{"gatsby-core-utils":"^2.13.0-next.0"}}],["gatsby-plugin-gatsby-cloud@<=3.2.0-next.1",{peerDependencies:{webpack:"*"}}],["babel-plugin-remove-graphql-queries@<=3.14.0-next.1",{dependencies:{"gatsby-core-utils":"^2.8.0-next.1"}}],["gatsby-plugin-netlify@3.13.0-next.1",{dependencies:{"gatsby-core-utils":"^2.13.0-next.0"}}],["clipanion-v3-codemod@<=0.2.0",{peerDependencies:{jscodeshift:"^0.11.0"}}],["react-live@*",{peerDependencies:{"react-dom":"*",react:"*"}}],["webpack@<4.44.1",{peerDependenciesMeta:{"webpack-cli":Me,"webpack-command":Me}}],["webpack@<5.0.0-beta.23",{peerDependenciesMeta:{"webpack-cli":Me}}],["webpack-dev-server@<3.10.2",{peerDependenciesMeta:{"webpack-cli":Me}}]];var pL;function VAe(){return typeof pL=="undefined"&&(pL=require("zlib").brotliDecompressSync(Buffer.from("G7weAByFTVk3Vs7UfHhq4yykgEM7pbW7TI43SG2S5tvGrwHBAzdz+s/npQ6tgEvobvxisrPIadkXeUAJotBn5bDZ5kAhcRqsIHe3F75Walet5hNalwgFDtxb0BiDUjiUQkjG0yW2hto9HPgiCkm316d6bC0kST72YN7D7rfkhCE9x4J0XwB0yavalxpUu2t9xszHrmtwalOxT7VslsxWcB1qpqZwERUra4psWhTV8BgwWeizurec82Caf1ABL11YMfbf8FJ9JBceZOkgmvrQPbC9DUldX/yMbmX06UQluCEjSwUoyO+EZPIjofr+/oAZUck2enraRD+oWLlnlYnj8xB+gwSo9lmmks4fXv574qSqcWA6z21uYkzMu3EWj+K23RxeQlLqiE35/rC8GcS4CGkKHKKq+zAIQwD9iRDNfiAqueLLpicFFrNsAI4zeTD/eO9MHcnRa5m8UT+M2+V+AkFST4BlKneiAQRSdST8KEAIyFlULt6wa9EBd0Ds28VmpaxquJdVt+nwdEs5xUskI13OVtFyY0UrQIRAlCuvvWivvlSKQfTO+2Q8OyUR1W5RvetaPz4jD27hdtwHFFA1Ptx6Ee/t2cY2rg2G46M1pNDRf2pWhvpy8pqMnuI3++4OF3+7OFIWXGjh+o7Nr2jNvbiYcQdQS1h903/jVFgOpA0yJ78z+x759bFA0rq+6aY5qPB4FzS3oYoLupDUhD9nDz6F6H7hpnlMf18KNKDu4IKjTWwrAnY6MFQw1W6ymOALHlFyCZmQhldg1MQHaMVVQTVgDC60TfaBqG++Y8PEoFhN/PBTZT175KNP/BlHDYGOOBmnBdzqJKplZ/ljiVG0ZBzfqeBRrrUkn6rA54462SgiliKoYVnbeptMdXNfAuaupIEi0bApF10TlgHfmEJAPUVidRVFyDupSem5po5vErPqWKhKbUIp0LozpYsIKK57dM/HKr+nguF+7924IIWMICkQ8JUigs9D+W+c4LnNoRtPPKNRUiCYmP+Jfo2lfKCKw8qpraEeWU3uiNRO6zcyKQoXPR5htmzzLznke7b4YbXW3I1lIRzmgG02Udb58U+7TpwyN7XymCgH+wuPDthZVQvRZuEP+SnLtMicz9m5zASWOBiAcLmkuFlTKuHspSIhCBD0yUPKcxu81A+4YD78rA2vtwsUEday9WNyrShyrl60rWmA+SmbYZkQOwFJWArxRYYc5jGhA5ikxYw1rx3ei4NmeX/lKiwpZ9Ln1tV2Ae7sArvxuVLbJjqJRjW1vFXAyHpvLG+8MJ6T2Ubx5M2KDa2SN6vuIGxJ9WQM9Mk3Q7aCNiZONXllhqq24DmoLbQfW2rYWsOgHWjtOmIQMyMKdiHZDjoyIq5+U700nZ6odJAoYXPQBvFNiQ78d5jaXliBqLTJEqUCwi+LiH2mx92EmNKDsJL74Z613+3lf20pxkV1+erOrjj8pW00vsPaahKUM+05ssd5uwM7K482KWEf3TCwlg/o3e5ngto7qSMz7YteIgCsF1UOcsLk7F7MxWbvrPMY473ew0G+noVL8EPbkmEMftMSeL6HFub/zy+2JQ==","base64")).toString()),pL}var dL;function _Ae(){return typeof dL=="undefined"&&(dL=require("zlib").brotliDecompressSync(Buffer.from("G8MSIIzURnVBnObTcvb3XE6v2S9Qgc2K801Oa5otNKEtK8BINZNcaQHy+9/vf/WXBimwutXC33P2DPc64pps5rz7NGGWaOKNSPL4Y2KRE8twut2lFOIN+OXPtRmPMRhMTILib2bEQx43az2I5d3YS8Roa5UZpF/ujHb3Djd3GDvYUfvFYSUQ39vb2cmifp/rgB4J/65JK3wRBTvMBoNBmn3mbXC63/gbBkW/2IRPri0O8bcsRBsmarF328pAln04nyJFkwUAvNu934supAqLtyerZZpJ8I8suJHhf/ocMV+scKwa8NOiDKIPXw6Ex/EEZD6TEGaW8N5zvNHYF10l6Lfooj7D5W2k3dgvQSbp2Wv8TGOayS978gxlOLVjTGXs66ozewbrjwElLtyrYNnWTfzzdEutgROUFPVMhnMoy8EjJLLlWwIEoySxliim9kYW30JUHiPVyjt0iAw/ZpPmCbUCltYPnq6ZNblIKhTNhqS/oqC9iya5sGKZTOVsTEg34n92uZTf2iPpcZih8rPW8CzA+adIGmyCPcKdLMsBLShd+zuEbTrqpwuh+DLmracZcjPC5Sdf5odDAhKpFuOsQS67RT+1VgWWygSv3YwxDnylc04/PYuaMeIzhBkLrvs7e/OUzRTF56MmfY6rI63QtEjEQzq637zQqJ39nNhu3NmoRRhW/086bHGBUtx0PE0j3aEGvkdh9WJC8y8j8mqqke9/dQ5la+Q3ba4RlhvTbnfQhPDDab3tUifkjKuOsp13mXEmO00Mu88F/M67R7LXfoFDFLNtgCSWjWX+3Jn1371pJTK9xPBiMJafvDjtFyAzu8rxeQ0TKMQXNPs5xxiBOd+BRJP8KP88XPtJIbZKh/cdW8KvBUkpqKpGoiIaA32c3/JnQr4efXt85mXvidOvn/eU3Pase1typLYBalJ14mCso9h79nuMOuCa/kZAOkJHmTjP5RM2WNoPasZUAnT1TAE/NH25hUxcQv6hQWR/m1PKk4ooXMcM4SR1iYU3fUohvqk4RY2hbmTVVIXv6TvqO+0doOjgeVFAcom+RlwJQmOVH7pr1Q9LoJT6n1DeQEB+NHygsATbIwTcOKZlJsY8G4+suX1uQLjUWwLjjs0mvSvZcLTpIGAekeR7GCgl8eo3ndAqEe2XCav4huliHjdbIPBsGJuPX7lrO9HX1UbXRH5opOe1x6JsOSgHZR+EaxuXVhpLLxm6jk1LJtZfHSc6BKPun3CpYYVMJGwEUyk8MTGG0XL5MfEwaXpnc9TKnBmlGn6nHiGREc3ysn47XIBDzA+YvFdjZzVIEDcKGpS6PbUJehFRjEne8D0lVU1XuRtlgszq6pTNlQ/3MzNOEgCWPyTct22V2mEi2krizn5VDo9B19/X2DB3hCGRMM7ONbtnAcIx/OWB1u5uPbW1gsH8irXxT/IzG0PoXWYjhbMsH3KTuoOl5o17PulcgvsfTSnKFM354GWI8luqZnrswWjiXy3G+Vbyo1KMopFmmvBwNELgaS8z8dNZchx/Cl/xjddxhMcyqtzFyONb2Zdu90NkI8pAeufe7YlXrp53v8Dj/l8vWeVspRKBGXScBBPI/HinSTGmLDOGGOCIyH0JFdOZx0gWsacNlQLJMIrBhqRxXxHF/5pseWwejlAAvZ3klZSDSYY8mkToaWejXhgNomeGtx1DTLEUFMRkgF5yFB22WYdJnaWN14r1YJj81hGi45+jrADS5nYRhCiSlCJJ1nL8pYX+HDSMhdTEWyRcgHVp/IsUIZYMfT+YYncUQPgcxNGCHfZ88vDdrcUuaGIl6zhAsiaq7R5dfqrqXH/JcBhfjT8D0azayIyEz75Nxp6YkcyDxlJq3EXnJUpqDohJJOysL1t1uNiHESlvsxPb5cpbW0+ICZqJmUZus1BMW0F5IVBODLIo2zHHjA0=","base64")).toString()),dL}var CL;function XAe(){return typeof CL=="undefined"&&(CL=require("zlib").brotliDecompressSync(Buffer.from("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","base64")).toString()),CL}var ZAe=new Map([[S.makeIdent(null,"fsevents").identHash,VAe],[S.makeIdent(null,"resolve").identHash,_Ae],[S.makeIdent(null,"typescript").identHash,XAe]]),bze={hooks:{registerPackageExtensions:async(t,e)=>{for(let[r,i]of zAe)e(S.parseDescriptor(r,!0),i)},getBuiltinPatch:async(t,e)=>{var s;let r="compat/";if(!e.startsWith(r))return;let i=S.parseIdent(e.slice(r.length)),n=(s=ZAe.get(i.identHash))==null?void 0:s();return typeof n!="undefined"?n:null},reduceDependency:async(t,e,r,i)=>typeof ZAe.get(t.identHash)=="undefined"?t:S.makeDescriptor(t,S.makeRange({protocol:"patch:",source:S.stringifyDescriptor(t),selector:`~builtin`,params:null}))}},vze=bze;var EL={};it(EL,{default:()=>xze});var V0=class extends Be{constructor(){super(...arguments);this.pkg=Y.String("-p,--package",{description:"The package to run the provided command from"});this.quiet=Y.Boolean("-q,--quiet",!1,{description:"Only report critical errors instead of printing the full install logs"});this.command=Y.String();this.args=Y.Proxy()}async execute(){let e=[];this.pkg&&e.push("--package",this.pkg),this.quiet&&e.push("--quiet");let r=S.parseIdent(this.command),i=S.makeIdent(r.scope,`create-${r.name}`);return this.cli.run(["dlx",...e,S.stringifyIdent(i),...this.args])}};V0.paths=[["create"]];var $Ae=V0;var jC=class extends Be{constructor(){super(...arguments);this.packages=Y.Array("-p,--package",{description:"The package(s) to install before running the command"});this.quiet=Y.Boolean("-q,--quiet",!1,{description:"Only report critical errors instead of printing the full install logs"});this.command=Y.String();this.args=Y.Proxy()}async execute(){return fe.telemetry=null,await T.mktempPromise(async e=>{var p;let r=v.join(e,`dlx-${process.pid}`);await T.mkdirPromise(r),await T.writeFilePromise(v.join(r,"package.json"),`{} +`),await T.writeFilePromise(v.join(r,"yarn.lock"),"");let i=v.join(r,".yarnrc.yml"),n=await fe.findProjectCwd(this.context.cwd,wt.lockfile),s=!(await fe.find(this.context.cwd,null,{strict:!1})).get("enableGlobalCache"),o=n!==null?v.join(n,".yarnrc.yml"):null;o!==null&&T.existsSync(o)?(await T.copyFilePromise(o,i),await fe.updateConfiguration(r,d=>{let m=_(P({},d),{enableGlobalCache:s,enableTelemetry:!1});return Array.isArray(d.plugins)&&(m.plugins=d.plugins.map(I=>{let B=typeof I=="string"?I:I.path,b=M.isAbsolute(B)?B:M.resolve(M.fromPortablePath(n),B);return typeof I=="string"?b:{path:b,spec:I.spec}})),m})):await T.writeFilePromise(i,`enableGlobalCache: ${s} +enableTelemetry: false +`);let a=(p=this.packages)!=null?p:[this.command],l=S.parseDescriptor(this.command).name,c=await this.cli.run(["add","--",...a],{cwd:r,quiet:this.quiet});if(c!==0)return c;this.quiet||this.context.stdout.write(` +`);let u=await fe.find(r,this.context.plugins),{project:g,workspace:f}=await Ke.find(u,r);if(f===null)throw new rt(g.cwd,r);await g.restoreInstallState();let h=await Kt.getWorkspaceAccessibleBinaries(f);return h.has(l)===!1&&h.size===1&&typeof this.packages=="undefined"&&(l=Array.from(h)[0][0]),await Kt.executeWorkspaceAccessibleBinary(f,l,this.args,{packageAccessibleBinaries:h,cwd:this.context.cwd,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr})})}};jC.paths=[["dlx"]],jC.usage=ye.Usage({description:"run a package in a temporary environment",details:"\n This command will install a package within a temporary environment, and run its binary script if it contains any. The binary will run within the current cwd.\n\n By default Yarn will download the package named `command`, but this can be changed through the use of the `-p,--package` flag which will instruct Yarn to still run the same command but from a different package.\n\n Using `yarn dlx` as a replacement of `yarn add` isn't recommended, as it makes your project non-deterministic (Yarn doesn't keep track of the packages installed through `dlx` - neither their name, nor their version).\n ",examples:[["Use create-react-app to create a new React app","yarn dlx create-react-app ./my-app"],["Install multiple packages for a single command",`yarn dlx -p typescript -p ts-node ts-node --transpile-only -e "console.log('hello!')"`]]});var ele=jC;var Sze={commands:[$Ae,ele]},xze=Sze;var xL={};it(xL,{default:()=>Dze,fileUtils:()=>IL});var hf=/^(?:[a-zA-Z]:[\\/]|\.{0,2}\/)/,YC=/^[^?]*\.(?:tar\.gz|tgz)(?:::.*)?$/,Nr="file:";var IL={};it(IL,{makeArchiveFromLocator:()=>_0,makeBufferFromLocator:()=>BL,makeLocator:()=>wL,makeSpec:()=>tle,parseSpec:()=>yL});function yL(t){let{params:e,selector:r}=S.parseRange(t),i=M.toPortablePath(r);return{parentLocator:e&&typeof e.locator=="string"?S.parseLocator(e.locator):null,path:i}}function tle({parentLocator:t,path:e,folderHash:r,protocol:i}){let n=t!==null?{locator:S.stringifyLocator(t)}:{},s=typeof r!="undefined"?{hash:r}:{};return S.makeRange({protocol:i,source:e,selector:e,params:P(P({},s),n)})}function wL(t,{parentLocator:e,path:r,folderHash:i,protocol:n}){return S.makeLocator(t,tle({parentLocator:e,path:r,folderHash:i,protocol:n}))}async function _0(t,{protocol:e,fetchOptions:r,inMemory:i=!1}){let{parentLocator:n,path:s}=S.parseFileStyleRange(t.reference,{protocol:e}),o=v.isAbsolute(s)?{packageFs:new Ft(Se.root),prefixPath:Se.dot,localPath:Se.root}:await r.fetcher.fetch(n,r),a=o.localPath?{packageFs:new Ft(Se.root),prefixPath:v.relative(Se.root,o.localPath)}:o;o!==a&&o.releaseFs&&o.releaseFs();let l=a.packageFs,c=v.join(a.prefixPath,s);return await de.releaseAfterUseAsync(async()=>await Ai.makeArchiveFromDirectory(c,{baseFs:l,prefixPath:S.getIdentVendorPath(t),compressionLevel:r.project.configuration.get("compressionLevel"),inMemory:i}),a.releaseFs)}async function BL(t,{protocol:e,fetchOptions:r}){return(await _0(t,{protocol:e,fetchOptions:r,inMemory:!0})).getBufferAndClose()}var QL=class{supports(e,r){return!!e.reference.startsWith(Nr)}getLocalPath(e,r){let{parentLocator:i,path:n}=S.parseFileStyleRange(e.reference,{protocol:Nr});if(v.isAbsolute(n))return n;let s=r.fetcher.getLocalPath(i,r);return s===null?null:v.resolve(s,n)}async fetch(e,r){let i=r.checksums.get(e.locatorHash)||null,[n,s,o]=await r.cache.fetchPackageFromCache(e,i,P({onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${S.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the disk`),loader:()=>this.fetchFromDisk(e,r),skipIntegrityCheck:r.skipIntegrityCheck},r.cacheOptions));return{packageFs:n,releaseFs:s,prefixPath:S.getIdentVendorPath(e),localPath:this.getLocalPath(e,r),checksum:o}}async fetchFromDisk(e,r){return _0(e,{protocol:Nr,fetchOptions:r})}};var kze=2,bL=class{supportsDescriptor(e,r){return e.range.match(hf)?!0:!!e.range.startsWith(Nr)}supportsLocator(e,r){return!!e.reference.startsWith(Nr)}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,i){return hf.test(e.range)&&(e=S.makeDescriptor(e,`${Nr}${e.range}`)),S.bindDescriptor(e,{locator:S.stringifyLocator(r)})}getResolutionDependencies(e,r){return[]}async getCandidates(e,r,i){if(!i.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let{path:n,parentLocator:s}=yL(e.range);if(s===null)throw new Error("Assertion failed: The descriptor should have been bound");let o=await BL(S.makeLocator(e,S.makeRange({protocol:Nr,source:n,selector:n,params:{locator:S.stringifyLocator(s)}})),{protocol:Nr,fetchOptions:i.fetchOptions}),a=mn.makeHash(`${kze}`,o).slice(0,6);return[wL(e,{parentLocator:s,path:n,folderHash:a,protocol:Nr})]}async getSatisfying(e,r,i){return null}async resolve(e,r){if(!r.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let i=await r.fetchOptions.fetcher.fetch(e,r.fetchOptions),n=await de.releaseAfterUseAsync(async()=>await Ze.find(i.prefixPath,{baseFs:i.packageFs}),i.releaseFs);return _(P({},e),{version:n.version||"0.0.0",languageName:n.languageName||r.project.configuration.get("defaultLanguageName"),linkType:gt.HARD,conditions:n.getConditions(),dependencies:n.dependencies,peerDependencies:n.peerDependencies,dependenciesMeta:n.dependenciesMeta,peerDependenciesMeta:n.peerDependenciesMeta,bin:n.bin})}};var vL=class{supports(e,r){return YC.test(e.reference)?!!e.reference.startsWith(Nr):!1}getLocalPath(e,r){return null}async fetch(e,r){let i=r.checksums.get(e.locatorHash)||null,[n,s,o]=await r.cache.fetchPackageFromCache(e,i,P({onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${S.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the disk`),loader:()=>this.fetchFromDisk(e,r),skipIntegrityCheck:r.skipIntegrityCheck},r.cacheOptions));return{packageFs:n,releaseFs:s,prefixPath:S.getIdentVendorPath(e),checksum:o}}async fetchFromDisk(e,r){let{parentLocator:i,path:n}=S.parseFileStyleRange(e.reference,{protocol:Nr}),s=v.isAbsolute(n)?{packageFs:new Ft(Se.root),prefixPath:Se.dot,localPath:Se.root}:await r.fetcher.fetch(i,r),o=s.localPath?{packageFs:new Ft(Se.root),prefixPath:v.relative(Se.root,s.localPath)}:s;s!==o&&s.releaseFs&&s.releaseFs();let a=o.packageFs,l=v.join(o.prefixPath,n),c=await a.readFilePromise(l);return await de.releaseAfterUseAsync(async()=>await Ai.convertToZip(c,{compressionLevel:r.project.configuration.get("compressionLevel"),prefixPath:S.getIdentVendorPath(e),stripComponents:1}),o.releaseFs)}};var SL=class{supportsDescriptor(e,r){return YC.test(e.range)?!!(e.range.startsWith(Nr)||hf.test(e.range)):!1}supportsLocator(e,r){return YC.test(e.reference)?!!e.reference.startsWith(Nr):!1}shouldPersistResolution(e,r){return!0}bindDescriptor(e,r,i){return hf.test(e.range)&&(e=S.makeDescriptor(e,`${Nr}${e.range}`)),S.bindDescriptor(e,{locator:S.stringifyLocator(r)})}getResolutionDependencies(e,r){return[]}async getCandidates(e,r,i){let n=e.range;return n.startsWith(Nr)&&(n=n.slice(Nr.length)),[S.makeLocator(e,`${Nr}${M.toPortablePath(n)}`)]}async getSatisfying(e,r,i){return null}async resolve(e,r){if(!r.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let i=await r.fetchOptions.fetcher.fetch(e,r.fetchOptions),n=await de.releaseAfterUseAsync(async()=>await Ze.find(i.prefixPath,{baseFs:i.packageFs}),i.releaseFs);return _(P({},e),{version:n.version||"0.0.0",languageName:n.languageName||r.project.configuration.get("defaultLanguageName"),linkType:gt.HARD,conditions:n.getConditions(),dependencies:n.dependencies,peerDependencies:n.peerDependencies,dependenciesMeta:n.dependenciesMeta,peerDependenciesMeta:n.peerDependenciesMeta,bin:n.bin})}};var Pze={fetchers:[vL,QL],resolvers:[SL,bL]},Dze=Pze;var PL={};it(PL,{default:()=>Nze});var rle=ie(require("querystring")),ile=[/^https?:\/\/(?:([^/]+?)@)?github.com\/([^/#]+)\/([^/#]+)\/tarball\/([^/#]+)(?:#(.*))?$/,/^https?:\/\/(?:([^/]+?)@)?github.com\/([^/#]+)\/([^/#]+?)(?:\.git)?(?:#(.*))?$/];function nle(t){return t?ile.some(e=>!!t.match(e)):!1}function sle(t){let e;for(let a of ile)if(e=t.match(a),e)break;if(!e)throw new Error(Rze(t));let[,r,i,n,s="master"]=e,{commit:o}=rle.default.parse(s);return s=o||s.replace(/[^:]*:/,""),{auth:r,username:i,reponame:n,treeish:s}}function Rze(t){return`Input cannot be parsed as a valid GitHub URL ('${t}').`}var kL=class{supports(e,r){return!!nle(e.reference)}getLocalPath(e,r){return null}async fetch(e,r){let i=r.checksums.get(e.locatorHash)||null,[n,s,o]=await r.cache.fetchPackageFromCache(e,i,P({onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${S.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from GitHub`),loader:()=>this.fetchFromNetwork(e,r),skipIntegrityCheck:r.skipIntegrityCheck},r.cacheOptions));return{packageFs:n,releaseFs:s,prefixPath:S.getIdentVendorPath(e),checksum:o}}async fetchFromNetwork(e,r){let i=await Zt.get(this.getLocatorUrl(e,r),{configuration:r.project.configuration});return await T.mktempPromise(async n=>{let s=new Ft(n);await Ai.extractArchiveTo(i,s,{stripComponents:1});let o=Uc.splitRepoUrl(e.reference),a=v.join(n,"package.tgz");await Kt.prepareExternalProject(n,a,{configuration:r.project.configuration,report:r.report,workspace:o.extra.workspace,locator:e});let l=await T.readFilePromise(a);return await Ai.convertToZip(l,{compressionLevel:r.project.configuration.get("compressionLevel"),prefixPath:S.getIdentVendorPath(e),stripComponents:1})})}getLocatorUrl(e,r){let{auth:i,username:n,reponame:s,treeish:o}=sle(e.reference);return`https://${i?`${i}@`:""}github.com/${n}/${s}/archive/${o}.tar.gz`}};var Fze={hooks:{async fetchHostedRepository(t,e,r){if(t!==null)return t;let i=new kL;if(!i.supports(e,r))return null;try{return await i.fetch(e,r)}catch(n){return null}}}},Nze=Fze;var FL={};it(FL,{default:()=>Tze});var qC=/^[^?]*\.(?:tar\.gz|tgz)(?:\?.*)?$/,JC=/^https?:/;var DL=class{supports(e,r){return qC.test(e.reference)?!!JC.test(e.reference):!1}getLocalPath(e,r){return null}async fetch(e,r){let i=r.checksums.get(e.locatorHash)||null,[n,s,o]=await r.cache.fetchPackageFromCache(e,i,P({onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${S.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the remote server`),loader:()=>this.fetchFromNetwork(e,r),skipIntegrityCheck:r.skipIntegrityCheck},r.cacheOptions));return{packageFs:n,releaseFs:s,prefixPath:S.getIdentVendorPath(e),checksum:o}}async fetchFromNetwork(e,r){let i=await Zt.get(e.reference,{configuration:r.project.configuration});return await Ai.convertToZip(i,{compressionLevel:r.project.configuration.get("compressionLevel"),prefixPath:S.getIdentVendorPath(e),stripComponents:1})}};var RL=class{supportsDescriptor(e,r){return qC.test(e.range)?!!JC.test(e.range):!1}supportsLocator(e,r){return qC.test(e.reference)?!!JC.test(e.reference):!1}shouldPersistResolution(e,r){return!0}bindDescriptor(e,r,i){return e}getResolutionDependencies(e,r){return[]}async getCandidates(e,r,i){return[S.convertDescriptorToLocator(e)]}async getSatisfying(e,r,i){return null}async resolve(e,r){if(!r.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let i=await r.fetchOptions.fetcher.fetch(e,r.fetchOptions),n=await de.releaseAfterUseAsync(async()=>await Ze.find(i.prefixPath,{baseFs:i.packageFs}),i.releaseFs);return _(P({},e),{version:n.version||"0.0.0",languageName:n.languageName||r.project.configuration.get("defaultLanguageName"),linkType:gt.HARD,conditions:n.getConditions(),dependencies:n.dependencies,peerDependencies:n.peerDependencies,dependenciesMeta:n.dependenciesMeta,peerDependenciesMeta:n.peerDependenciesMeta,bin:n.bin})}};var Lze={fetchers:[DL],resolvers:[RL]},Tze=Lze;var ML={};it(ML,{default:()=>M5e});var Rle=ie(Dle()),TL=ie(require("util")),WC=class extends Be{constructor(){super(...arguments);this.private=Y.Boolean("-p,--private",!1,{description:"Initialize a private package"});this.workspace=Y.Boolean("-w,--workspace",!1,{description:"Initialize a workspace root with a `packages/` directory"});this.install=Y.String("-i,--install",!1,{tolerateBoolean:!0,description:"Initialize a package with a specific bundle that will be locked in the project"});this.usev2=Y.Boolean("-2",!1,{hidden:!0});this.yes=Y.Boolean("-y,--yes",{hidden:!0});this.assumeFreshProject=Y.Boolean("--assume-fresh-project",!1,{hidden:!0})}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins),r=typeof this.install=="string"?this.install:this.usev2||this.install===!0?"latest":null;return r!==null?await this.executeProxy(e,r):await this.executeRegular(e)}async executeProxy(e,r){if(e.projectCwd!==null&&e.projectCwd!==this.context.cwd)throw new me("Cannot use the --install flag from within a project subdirectory");T.existsSync(this.context.cwd)||await T.mkdirPromise(this.context.cwd,{recursive:!0});let i=v.join(this.context.cwd,e.get("lockfileFilename"));T.existsSync(i)||await T.writeFilePromise(i,"");let n=await this.cli.run(["set","version",r],{quiet:!0});if(n!==0)return n;let s=[];return this.private&&s.push("-p"),this.workspace&&s.push("-w"),this.yes&&s.push("-y"),await T.mktempPromise(async o=>{let{code:a}=await hr.pipevp("yarn",["init",...s],{cwd:this.context.cwd,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr,env:await Kt.makeScriptEnv({binFolder:o})});return a})}async executeRegular(e){var l;let r=null;try{r=(await Ke.find(e,this.context.cwd)).project}catch{r=null}T.existsSync(this.context.cwd)||await T.mkdirPromise(this.context.cwd,{recursive:!0});let i=await Ze.tryFind(this.context.cwd)||new Ze,n=Object.fromEntries(e.get("initFields").entries());i.load(n),i.name=(l=i.name)!=null?l:S.makeIdent(e.get("initScope"),v.basename(this.context.cwd)),i.packageManager=Zr&&de.isTaggedYarnVersion(Zr)?`yarn@${Zr}`:null,typeof i.raw.private=="undefined"&&(this.private||this.workspace&&i.workspaceDefinitions.length===0)&&(i.private=!0),this.workspace&&i.workspaceDefinitions.length===0&&(await T.mkdirPromise(v.join(this.context.cwd,"packages"),{recursive:!0}),i.workspaceDefinitions=[{pattern:"packages/*"}]);let s={};i.exportTo(s),TL.inspect.styles.name="cyan",this.context.stdout.write(`${(0,TL.inspect)(s,{depth:Infinity,colors:!0,compact:!1})} +`);let o=v.join(this.context.cwd,Ze.fileName);await T.changeFilePromise(o,`${JSON.stringify(s,null,2)} +`,{automaticNewlines:!0});let a=v.join(this.context.cwd,"README.md");if(T.existsSync(a)||await T.writeFilePromise(a,`# ${S.stringifyIdent(i.name)} +`),!r||r.cwd===this.context.cwd){let c=v.join(this.context.cwd,wt.lockfile);T.existsSync(c)||await T.writeFilePromise(c,"");let g=["/.yarn/*","!/.yarn/patches","!/.yarn/plugins","!/.yarn/releases","!/.yarn/sdks","","# Swap the comments on the following lines if you don't wish to use zero-installs","# Documentation here: https://yarnpkg.com/features/zero-installs","!/.yarn/cache","#/.pnp.*"].map(m=>`${m} +`).join(""),f=v.join(this.context.cwd,".gitignore");T.existsSync(f)||await T.writeFilePromise(f,g);let h={["*"]:{endOfLine:"lf",insertFinalNewline:!0},["*.{js,json,yml}"]:{charset:"utf-8",indentStyle:"space",indentSize:2}};(0,Rle.default)(h,e.get("initEditorConfig"));let p=`root = true +`;for(let[m,I]of Object.entries(h)){p+=` +[${m}] +`;for(let[B,b]of Object.entries(I))p+=`${B.replace(/[A-Z]/g,H=>`_${H.toLowerCase()}`)} = ${b} +`}let d=v.join(this.context.cwd,".editorconfig");T.existsSync(d)||await T.writeFilePromise(d,p),T.existsSync(v.join(this.context.cwd,".git"))||await hr.execvp("git",["init"],{cwd:this.context.cwd})}}};WC.paths=[["init"]],WC.usage=ye.Usage({description:"create a new package",details:"\n This command will setup a new package in your local directory.\n\n If the `-p,--private` or `-w,--workspace` options are set, the package will be private by default.\n\n If the `-w,--workspace` option is set, the package will be configured to accept a set of workspaces in the `packages/` directory.\n\n If the `-i,--install` option is given a value, Yarn will first download it using `yarn set version` and only then forward the init call to the newly downloaded bundle. Without arguments, the downloaded bundle will be `latest`.\n\n The initial settings of the manifest can be changed by using the `initScope` and `initFields` configuration values. Additionally, Yarn will generate an EditorConfig file whose rules can be altered via `initEditorConfig`, and will initialize a Git repository in the current directory.\n ",examples:[["Create a new package in the local directory","yarn init"],["Create a new private package in the local directory","yarn init -p"],["Create a new package and store the Yarn release inside","yarn init -i=latest"],["Create a new private package and defines it as a workspace root","yarn init -w"]]});var Fle=WC;var T5e={configuration:{initScope:{description:"Scope used when creating packages via the init command",type:ge.STRING,default:null},initFields:{description:"Additional fields to set when creating packages via the init command",type:ge.MAP,valueDefinition:{description:"",type:ge.ANY}},initEditorConfig:{description:"Extra rules to define in the generator editorconfig",type:ge.MAP,valueDefinition:{description:"",type:ge.ANY}}},commands:[Fle]},M5e=T5e;var GL={};it(GL,{default:()=>K5e});var Ua="portal:",Ha="link:";var OL=class{supports(e,r){return!!e.reference.startsWith(Ua)}getLocalPath(e,r){let{parentLocator:i,path:n}=S.parseFileStyleRange(e.reference,{protocol:Ua});if(v.isAbsolute(n))return n;let s=r.fetcher.getLocalPath(i,r);return s===null?null:v.resolve(s,n)}async fetch(e,r){var c;let{parentLocator:i,path:n}=S.parseFileStyleRange(e.reference,{protocol:Ua}),s=v.isAbsolute(n)?{packageFs:new Ft(Se.root),prefixPath:Se.dot,localPath:Se.root}:await r.fetcher.fetch(i,r),o=s.localPath?{packageFs:new Ft(Se.root),prefixPath:v.relative(Se.root,s.localPath),localPath:Se.root}:s;s!==o&&s.releaseFs&&s.releaseFs();let a=o.packageFs,l=v.resolve((c=o.localPath)!=null?c:o.packageFs.getRealPath(),o.prefixPath,n);return s.localPath?{packageFs:new Ft(l,{baseFs:a}),releaseFs:o.releaseFs,prefixPath:Se.dot,localPath:l}:{packageFs:new Zo(l,{baseFs:a}),releaseFs:o.releaseFs,prefixPath:Se.dot}}};var KL=class{supportsDescriptor(e,r){return!!e.range.startsWith(Ua)}supportsLocator(e,r){return!!e.reference.startsWith(Ua)}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,i){return S.bindDescriptor(e,{locator:S.stringifyLocator(r)})}getResolutionDependencies(e,r){return[]}async getCandidates(e,r,i){let n=e.range.slice(Ua.length);return[S.makeLocator(e,`${Ua}${M.toPortablePath(n)}`)]}async getSatisfying(e,r,i){return null}async resolve(e,r){if(!r.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let i=await r.fetchOptions.fetcher.fetch(e,r.fetchOptions),n=await de.releaseAfterUseAsync(async()=>await Ze.find(i.prefixPath,{baseFs:i.packageFs}),i.releaseFs);return _(P({},e),{version:n.version||"0.0.0",languageName:n.languageName||r.project.configuration.get("defaultLanguageName"),linkType:gt.SOFT,conditions:n.getConditions(),dependencies:new Map([...n.dependencies]),peerDependencies:n.peerDependencies,dependenciesMeta:n.dependenciesMeta,peerDependenciesMeta:n.peerDependenciesMeta,bin:n.bin})}};var UL=class{supports(e,r){return!!e.reference.startsWith(Ha)}getLocalPath(e,r){let{parentLocator:i,path:n}=S.parseFileStyleRange(e.reference,{protocol:Ha});if(v.isAbsolute(n))return n;let s=r.fetcher.getLocalPath(i,r);return s===null?null:v.resolve(s,n)}async fetch(e,r){var c;let{parentLocator:i,path:n}=S.parseFileStyleRange(e.reference,{protocol:Ha}),s=v.isAbsolute(n)?{packageFs:new Ft(Se.root),prefixPath:Se.dot,localPath:Se.root}:await r.fetcher.fetch(i,r),o=s.localPath?{packageFs:new Ft(Se.root),prefixPath:v.relative(Se.root,s.localPath),localPath:Se.root}:s;s!==o&&s.releaseFs&&s.releaseFs();let a=o.packageFs,l=v.resolve((c=o.localPath)!=null?c:o.packageFs.getRealPath(),o.prefixPath,n);return s.localPath?{packageFs:new Ft(l,{baseFs:a}),releaseFs:o.releaseFs,prefixPath:Se.dot,discardFromLookup:!0,localPath:l}:{packageFs:new Zo(l,{baseFs:a}),releaseFs:o.releaseFs,prefixPath:Se.dot,discardFromLookup:!0}}};var HL=class{supportsDescriptor(e,r){return!!e.range.startsWith(Ha)}supportsLocator(e,r){return!!e.reference.startsWith(Ha)}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,i){return S.bindDescriptor(e,{locator:S.stringifyLocator(r)})}getResolutionDependencies(e,r){return[]}async getCandidates(e,r,i){let n=e.range.slice(Ha.length);return[S.makeLocator(e,`${Ha}${M.toPortablePath(n)}`)]}async getSatisfying(e,r,i){return null}async resolve(e,r){return _(P({},e),{version:"0.0.0",languageName:r.project.configuration.get("defaultLanguageName"),linkType:gt.SOFT,conditions:null,dependencies:new Map,peerDependencies:new Map,dependenciesMeta:new Map,peerDependenciesMeta:new Map,bin:new Map})}};var O5e={fetchers:[UL,OL],resolvers:[HL,KL]},K5e=O5e;var mT={};it(mT,{default:()=>Y6e});var Ga;(function(i){i[i.YES=0]="YES",i[i.NO=1]="NO",i[i.DEPENDS=2]="DEPENDS"})(Ga||(Ga={}));var jL=(t,e)=>`${t}@${e}`,Nle=(t,e)=>{let r=e.indexOf("#"),i=r>=0?e.substring(r+1):e;return jL(t,i)},qs;(function(s){s[s.NONE=-1]="NONE",s[s.PERF=0]="PERF",s[s.CHECK=1]="CHECK",s[s.REASONS=2]="REASONS",s[s.INTENSIVE_CHECK=9]="INTENSIVE_CHECK"})(qs||(qs={}));var Tle=(t,e={})=>{let r=e.debugLevel||Number(process.env.NM_DEBUG_LEVEL||-1),i=e.check||r>=9,n=e.hoistingLimits||new Map,s={check:i,debugLevel:r,hoistingLimits:n,fastLookupPossible:!0},o;s.debugLevel>=0&&(o=Date.now());let a=U5e(t,s),l=!1,c=0;do l=YL(a,[a],new Set([a.locator]),new Map,s).anotherRoundNeeded,s.fastLookupPossible=!1,c++;while(l);if(s.debugLevel>=0&&console.log(`hoist time: ${Date.now()-o}ms, rounds: ${c}`),s.debugLevel>=1){let u=zC(a);if(YL(a,[a],new Set([a.locator]),new Map,s).isGraphChanged)throw new Error(`The hoisting result is not terminal, prev tree: +${u}, next tree: +${zC(a)}`);let f=Lle(a);if(f)throw new Error(`${f}, after hoisting finished: +${zC(a)}`)}return s.debugLevel>=2&&console.log(zC(a)),H5e(a)},G5e=t=>{let e=t[t.length-1],r=new Map,i=new Set,n=s=>{if(!i.has(s)){i.add(s);for(let o of s.hoistedDependencies.values())r.set(o.name,o);for(let o of s.dependencies.values())s.peerNames.has(o.name)||n(o)}};return n(e),r},j5e=t=>{let e=t[t.length-1],r=new Map,i=new Set,n=new Set,s=(o,a)=>{if(i.has(o))return;i.add(o);for(let c of o.hoistedDependencies.values())if(!a.has(c.name)){let u;for(let g of t)u=g.dependencies.get(c.name),u&&r.set(u.name,u)}let l=new Set;for(let c of o.dependencies.values())l.add(c.name);for(let c of o.dependencies.values())o.peerNames.has(c.name)||s(c,l)};return s(e,n),r},Mle=(t,e)=>{if(e.decoupled)return e;let{name:r,references:i,ident:n,locator:s,dependencies:o,originalDependencies:a,hoistedDependencies:l,peerNames:c,reasons:u,isHoistBorder:g,hoistPriority:f,isWorkspace:h,hoistedFrom:p,hoistedTo:d}=e,m={name:r,references:new Set(i),ident:n,locator:s,dependencies:new Map(o),originalDependencies:new Map(a),hoistedDependencies:new Map(l),peerNames:new Set(c),reasons:new Map(u),decoupled:!0,isHoistBorder:g,hoistPriority:f,isWorkspace:h,hoistedFrom:new Map(p),hoistedTo:new Map(d)},I=m.dependencies.get(r);return I&&I.ident==m.ident&&m.dependencies.set(r,m),t.dependencies.set(m.name,m),m},Y5e=(t,e)=>{let r=new Map([[t.name,[t.ident]]]);for(let n of t.dependencies.values())t.peerNames.has(n.name)||r.set(n.name,[n.ident]);let i=Array.from(e.keys());i.sort((n,s)=>{let o=e.get(n),a=e.get(s);return a.hoistPriority!==o.hoistPriority?a.hoistPriority-o.hoistPriority:a.peerDependents.size!==o.peerDependents.size?a.peerDependents.size-o.peerDependents.size:a.dependents.size-o.dependents.size});for(let n of i){let s=n.substring(0,n.indexOf("@",1)),o=n.substring(s.length+1);if(!t.peerNames.has(s)){let a=r.get(s);a||(a=[],r.set(s,a)),a.indexOf(o)<0&&a.push(o)}}return r},qL=t=>{let e=new Set,r=(i,n=new Set)=>{if(!n.has(i)){n.add(i);for(let s of i.peerNames)if(!t.peerNames.has(s)){let o=t.dependencies.get(s);o&&!e.has(o)&&r(o,n)}e.add(i)}};for(let i of t.dependencies.values())t.peerNames.has(i.name)||r(i);return e},YL=(t,e,r,i,n,s=new Set)=>{let o=e[e.length-1];if(s.has(o))return{anotherRoundNeeded:!1,isGraphChanged:!1};s.add(o);let a=J5e(o),l=Y5e(o,a),c=t==o?new Map:n.fastLookupPossible?G5e(e):j5e(e),u,g=!1,f=!1,h=new Map(Array.from(l.entries()).map(([d,m])=>[d,m[0]])),p=new Map;do{let d=q5e(t,e,r,c,h,l,i,p,n);d.isGraphChanged&&(f=!0),d.anotherRoundNeeded&&(g=!0),u=!1;for(let[m,I]of l)I.length>1&&!o.dependencies.has(m)&&(h.delete(m),I.shift(),h.set(m,I[0]),u=!0)}while(u);for(let d of o.dependencies.values())if(!o.peerNames.has(d.name)&&!r.has(d.locator)){r.add(d.locator);let m=YL(t,[...e,d],r,p,n);m.isGraphChanged&&(f=!0),m.anotherRoundNeeded&&(g=!0),r.delete(d.locator)}return{anotherRoundNeeded:g,isGraphChanged:f}},W5e=(t,e,r,i,n,s,o,a,{outputReason:l,fastLookupPossible:c})=>{let u,g=null,f=new Set;l&&(u=`${Array.from(e).map(m=>wi(m)).join("\u2192")}`);let h=r[r.length-1],d=!(i.ident===h.ident);if(l&&!d&&(g="- self-reference"),d&&(d=!i.isWorkspace,l&&!d&&(g="- workspace")),d&&(d=!h.isWorkspace||h.hoistedFrom.has(i.name)||e.size===1,l&&!d&&(g=h.reasons.get(i.name))),d&&(d=!t.peerNames.has(i.name),l&&!d&&(g=`- cannot shadow peer: ${wi(t.originalDependencies.get(i.name).locator)} at ${u}`)),d){let m=!1,I=n.get(i.name);if(m=!I||I.ident===i.ident,l&&!m&&(g=`- filled by: ${wi(I.locator)} at ${u}`),m)for(let B=r.length-1;B>=1;B--){let R=r[B].dependencies.get(i.name);if(R&&R.ident!==i.ident){m=!1;let H=a.get(h);H||(H=new Set,a.set(h,H)),H.add(i.name),l&&(g=`- filled by ${wi(R.locator)} at ${r.slice(0,B).map(L=>wi(L.locator)).join("\u2192")}`);break}}d=m}if(d&&(d=s.get(i.name)===i.ident,l&&!d&&(g=`- filled by: ${wi(o.get(i.name)[0])} at ${u}`)),d){let m=!0,I=new Set(i.peerNames);for(let B=r.length-1;B>=1;B--){let b=r[B];for(let R of I){if(b.peerNames.has(R)&&b.originalDependencies.has(R))continue;let H=b.dependencies.get(R);H&&t.dependencies.get(R)!==H&&(B===r.length-1?f.add(H):(f=null,m=!1,l&&(g=`- peer dependency ${wi(H.locator)} from parent ${wi(b.locator)} was not hoisted to ${u}`))),I.delete(R)}if(!m)break}d=m}if(d&&!c)for(let m of i.hoistedDependencies.values()){let I=n.get(m.name);if(!I||m.ident!==I.ident){d=!1,l&&(g=`- previously hoisted dependency mismatch, needed: ${wi(m.locator)}, available: ${wi(I==null?void 0:I.locator)}`);break}}return f!==null&&f.size>0?{isHoistable:2,dependsOn:f,reason:g}:{isHoistable:d?0:1,reason:g}},q5e=(t,e,r,i,n,s,o,a,l)=>{let c=e[e.length-1],u=new Set,g=!1,f=!1,h=(m,I,B,b)=>{if(u.has(B))return;let R=[...I,B.locator],H=new Map,L=new Map;for(let q of qL(B)){let A=W5e(c,r,[c,...m,B],q,i,n,s,a,{outputReason:l.debugLevel>=2,fastLookupPossible:l.fastLookupPossible});if(L.set(q,A),A.isHoistable===2)for(let V of A.dependsOn){let W=H.get(V.name)||new Set;W.add(q.name),H.set(V.name,W)}}let K=new Set,J=(q,A,V)=>{if(!K.has(q)){K.add(q),L.set(q,{isHoistable:1,reason:V});for(let W of H.get(q.name)||[])J(B.dependencies.get(W),A,l.debugLevel>=2?`- peer dependency ${wi(q.locator)} from parent ${wi(B.locator)} was not hoisted`:"")}};for(let[q,A]of L)A.isHoistable===1&&J(q,A,A.reason);for(let q of L.keys())if(!K.has(q)){f=!0;let A=o.get(B);A&&A.has(q.name)&&(g=!0),B.dependencies.delete(q.name),B.hoistedDependencies.set(q.name,q),B.reasons.delete(q.name);let V=c.dependencies.get(q.name);if(l.debugLevel>=2){let W=Array.from(I).concat([B.locator]).map(F=>wi(F)).join("\u2192"),X=c.hoistedFrom.get(q.name);X||(X=[],c.hoistedFrom.set(q.name,X)),X.push(W),B.hoistedTo.set(q.name,Array.from(e).map(F=>wi(F.locator)).join("\u2192"))}if(!V)c.ident!==q.ident&&(c.dependencies.set(q.name,q),b.add(q));else for(let W of q.references)V.references.add(W)}if(l.check){let q=Lle(t);if(q)throw new Error(`${q}, after hoisting dependencies of ${[c,...m,B].map(A=>wi(A.locator)).join("\u2192")}: +${zC(t)}`)}let ne=qL(B);for(let q of ne)if(K.has(q)){let A=L.get(q);if((n.get(q.name)===q.ident||!B.reasons.has(q.name))&&A.isHoistable!==0&&B.reasons.set(q.name,A.reason),!q.isHoistBorder&&R.indexOf(q.locator)<0){u.add(B);let W=Mle(B,q);h([...m,B],[...I,B.locator],W,d),u.delete(B)}}},p,d=new Set(qL(c));do{p=d,d=new Set;for(let m of p){if(m.locator===c.locator||m.isHoistBorder)continue;let I=Mle(c,m);h([],Array.from(r),I,d)}}while(d.size>0);return{anotherRoundNeeded:g,isGraphChanged:f}},Lle=t=>{let e=[],r=new Set,i=new Set,n=(s,o,a)=>{if(r.has(s)||(r.add(s),i.has(s)))return;let l=new Map(o);for(let c of s.dependencies.values())s.peerNames.has(c.name)||l.set(c.name,c);for(let c of s.originalDependencies.values()){let u=l.get(c.name),g=()=>`${Array.from(i).concat([s]).map(f=>wi(f.locator)).join("\u2192")}`;if(s.peerNames.has(c.name)){let f=o.get(c.name);(f!==u||!f||f.ident!==c.ident)&&e.push(`${g()} - broken peer promise: expected ${c.ident} but found ${f&&f.ident}`)}else{let f=a.hoistedFrom.get(s.name),h=s.hoistedTo.get(c.name),p=`${f?` hoisted from ${f.join(", ")}`:""}`,d=`${h?` hoisted to ${h}`:""}`,m=`${g()}${p}`;u?u.ident!==c.ident&&e.push(`${m} - broken require promise for ${c.name}${d}: expected ${c.ident}, but found: ${u.ident}`):e.push(`${m} - broken require promise: no required dependency ${c.name}${d} found`)}}i.add(s);for(let c of s.dependencies.values())s.peerNames.has(c.name)||n(c,l,s);i.delete(s)};return n(t,t.dependencies,t),e.join(` +`)},U5e=(t,e)=>{let{identName:r,name:i,reference:n,peerNames:s}=t,o={name:i,references:new Set([n]),locator:jL(r,n),ident:Nle(r,n),dependencies:new Map,originalDependencies:new Map,hoistedDependencies:new Map,peerNames:new Set(s),reasons:new Map,decoupled:!0,isHoistBorder:!0,hoistPriority:0,isWorkspace:!0,hoistedFrom:new Map,hoistedTo:new Map},a=new Map([[t,o]]),l=(c,u)=>{let g=a.get(c),f=!!g;if(!g){let{name:h,identName:p,reference:d,peerNames:m,hoistPriority:I,isWorkspace:B}=c,b=e.hoistingLimits.get(u.locator);g={name:h,references:new Set([d]),locator:jL(p,d),ident:Nle(p,d),dependencies:new Map,originalDependencies:new Map,hoistedDependencies:new Map,peerNames:new Set(m),reasons:new Map,decoupled:!0,isHoistBorder:b?b.has(h):!1,hoistPriority:I||0,isWorkspace:B||!1,hoistedFrom:new Map,hoistedTo:new Map},a.set(c,g)}if(u.dependencies.set(c.name,g),u.originalDependencies.set(c.name,g),f){let h=new Set,p=d=>{if(!h.has(d)){h.add(d),d.decoupled=!1;for(let m of d.dependencies.values())d.peerNames.has(m.name)||p(m)}};p(g)}else for(let h of c.dependencies)l(h,g)};for(let c of t.dependencies)l(c,o);return o},JL=t=>t.substring(0,t.indexOf("@",1)),H5e=t=>{let e={name:t.name,identName:JL(t.locator),references:new Set(t.references),dependencies:new Set},r=new Set([t]),i=(n,s,o)=>{let a=r.has(n),l;if(s===n)l=o;else{let{name:c,references:u,locator:g}=n;l={name:c,identName:JL(g),references:u,dependencies:new Set}}if(o.dependencies.add(l),!a){r.add(n);for(let c of n.dependencies.values())n.peerNames.has(c.name)||i(c,n,l);r.delete(n)}};for(let n of t.dependencies.values())i(n,t,e);return e},J5e=t=>{let e=new Map,r=new Set([t]),i=o=>`${o.name}@${o.ident}`,n=o=>{let a=i(o),l=e.get(a);return l||(l={dependents:new Set,peerDependents:new Set,hoistPriority:0},e.set(a,l)),l},s=(o,a)=>{let l=!!r.has(a);if(n(a).dependents.add(o.ident),!l){r.add(a);for(let u of a.dependencies.values()){let g=n(u);g.hoistPriority=Math.max(g.hoistPriority,u.hoistPriority),a.peerNames.has(u.name)?g.peerDependents.add(a.ident):s(a,u)}}};for(let o of t.dependencies.values())t.peerNames.has(o.name)||s(t,o);return e},wi=t=>{if(!t)return"none";let e=t.indexOf("@",1),r=t.substring(0,e);r.endsWith("$wsroot$")&&(r=`wh:${r.replace("$wsroot$","")}`);let i=t.substring(e+1);if(i==="workspace:.")return".";if(i){let n=(i.indexOf("#")>0?i.split("#")[1]:i).replace("npm:","");return i.startsWith("virtual")&&(r=`v:${r}`),n.startsWith("workspace")&&(r=`w:${r}`,n=""),`${r}${n?`@${n}`:""}`}else return`${r}`},Ole=5e4,zC=t=>{let e=0,r=(n,s,o="")=>{if(e>Ole||s.has(n))return"";e++;let a=Array.from(n.dependencies.values()).sort((c,u)=>c.name.localeCompare(u.name)),l="";s.add(n);for(let c=0;c":"")+(f!==u.name?`a:${u.name}:`:"")+wi(u.locator)+(g?` ${g}`:"")+(u!==n&&h.length>0?`, hoisted from: ${h.join(", ")}`:"")} +`,l+=r(u,s,`${o}${cOle?` +Tree is too large, part of the tree has been dunped +`:"")};var Js;(function(r){r.HARD="HARD",r.SOFT="SOFT"})(Js||(Js={}));var Sn;(function(i){i.WORKSPACES="workspaces",i.DEPENDENCIES="dependencies",i.NONE="none"})(Sn||(Sn={}));var Kle="node_modules",Hc="$wsroot$";var VC=(t,e)=>{let{packageTree:r,hoistingLimits:i,errors:n,preserveSymlinksRequired:s}=z5e(t,e),o=null;if(n.length===0){let a=Tle(r,{hoistingLimits:i});o=V5e(t,a,e)}return{tree:o,errors:n,preserveSymlinksRequired:s}},ms=t=>`${t.name}@${t.reference}`,WL=t=>{let e=new Map;for(let[r,i]of t.entries())if(!i.dirList){let n=e.get(i.locator);n||(n={target:i.target,linkType:i.linkType,locations:[],aliases:i.aliases},e.set(i.locator,n)),n.locations.push(r)}for(let r of e.values())r.locations=r.locations.sort((i,n)=>{let s=i.split(v.delimiter).length,o=n.split(v.delimiter).length;return s!==o?o-s:n.localeCompare(i)});return e},Ule=(t,e)=>{let r=S.isVirtualLocator(t)?S.devirtualizeLocator(t):t,i=S.isVirtualLocator(e)?S.devirtualizeLocator(e):e;return S.areLocatorsEqual(r,i)},zL=(t,e,r,i)=>{if(t.linkType!==Js.SOFT)return!1;let n=M.toPortablePath(r.resolveVirtual&&e.reference&&e.reference.startsWith("virtual:")?r.resolveVirtual(t.packageLocation):t.packageLocation);return v.contains(i,n)===null},_5e=t=>{let e=t.getPackageInformation(t.topLevel);if(e===null)throw new Error("Assertion failed: Expected the top-level package to have been registered");if(t.findPackageLocator(e.packageLocation)===null)throw new Error("Assertion failed: Expected the top-level package to have a physical locator");let i=M.toPortablePath(e.packageLocation.slice(0,-1)),n=new Map,s={children:new Map},o=t.getDependencyTreeRoots(),a=new Map,l=new Set,c=(f,h)=>{let p=ms(f);if(l.has(p))return;l.add(p);let d=t.getPackageInformation(f);if(d){let m=h?ms(h):"";if(ms(f)!==m&&d.linkType===Js.SOFT&&!zL(d,f,t,i)){let I=Hle(d,f,t);(!a.get(I)||f.reference.startsWith("workspace:"))&&a.set(I,f)}for(let[I,B]of d.packageDependencies)B!==null&&(d.packagePeers.has(I)||c(t.getLocator(I,B),f))}};for(let f of o)c(f,null);let u=i.split(v.sep);for(let f of a.values()){let h=t.getPackageInformation(f),d=M.toPortablePath(h.packageLocation.slice(0,-1)).split(v.sep).slice(u.length),m=s;for(let I of d){let B=m.children.get(I);B||(B={children:new Map},m.children.set(I,B)),m=B}m.workspaceLocator=f}let g=(f,h)=>{if(f.workspaceLocator){let p=ms(h),d=n.get(p);d||(d=new Set,n.set(p,d)),d.add(f.workspaceLocator)}for(let p of f.children.values())g(p,f.workspaceLocator||h)};for(let f of s.children.values())g(f,s.workspaceLocator);return n},z5e=(t,e)=>{let r=[],i=!1,n=new Map,s=_5e(t),o=t.getPackageInformation(t.topLevel);if(o===null)throw new Error("Assertion failed: Expected the top-level package to have been registered");let a=t.findPackageLocator(o.packageLocation);if(a===null)throw new Error("Assertion failed: Expected the top-level package to have a physical locator");let l=M.toPortablePath(o.packageLocation.slice(0,-1)),c={name:a.name,identName:a.name,reference:a.reference,peerNames:o.packagePeers,dependencies:new Set,isWorkspace:!0},u=new Map,g=(h,p)=>`${ms(p)}:${h}`,f=(h,p,d,m,I,B,b,R)=>{var X,F;let H=g(h,d),L=u.get(H),K=!!L;!K&&d.name===a.name&&d.reference===a.reference&&(L=c,u.set(H,c));let J=zL(p,d,t,l);if(!L){let D=p.linkType===Js.SOFT&&d.name.endsWith(Hc);L={name:h,identName:d.name,reference:d.reference,dependencies:new Set,peerNames:D?new Set:p.packagePeers,isWorkspace:D},u.set(H,L)}let ne;if(J?ne=2:I.linkType===Js.SOFT?ne=1:ne=0,L.hoistPriority=Math.max(L.hoistPriority||0,ne),R&&!J){let D=ms({name:m.identName,reference:m.reference}),he=n.get(D)||new Set;n.set(D,he),he.add(L.name)}let q=new Map(p.packageDependencies);if(e.project){let D=e.project.workspacesByCwd.get(M.toPortablePath(p.packageLocation.slice(0,-1)));if(D){let he=new Set([...Array.from(D.manifest.peerDependencies.values(),pe=>S.stringifyIdent(pe)),...Array.from(D.manifest.peerDependenciesMeta.keys())]);for(let pe of he)q.has(pe)||(q.set(pe,B.get(pe)||null),L.peerNames.add(pe))}}let A=ms({name:d.name.replace(Hc,""),reference:d.reference}),V=s.get(A);if(V)for(let D of V)q.set(`${D.name}${Hc}`,D.reference);(p!==I||p.linkType!==Js.SOFT||!e.selfReferencesByCwd||e.selfReferencesByCwd.get(b))&&m.dependencies.add(L);let W=d!==a&&p.linkType===Js.SOFT&&!d.name.endsWith(Hc)&&!J;if(!K&&!W){let D=new Map;for(let[he,pe]of q)if(pe!==null){let Ne=t.getLocator(he,pe),Pe=t.getLocator(he.replace(Hc,""),pe),qe=t.getPackageInformation(Pe);if(qe===null)throw new Error("Assertion failed: Expected the package to have been registered");let re=zL(qe,Ne,t,l);if(e.validateExternalSoftLinks&&e.project&&re){qe.packageDependencies.size>0&&(i=!0);for(let[De,$]of qe.packageDependencies)if($!==null){let G=S.parseLocator(Array.isArray($)?`${$[0]}@${$[1]}`:`${De}@${$}`);if(ms(G)!==ms(Ne)){let Ce=q.get(De);if(Ce){let ee=S.parseLocator(Array.isArray(Ce)?`${Ce[0]}@${Ce[1]}`:`${De}@${Ce}`);Ule(ee,G)||r.push({messageName:z.NM_CANT_INSTALL_EXTERNAL_SOFT_LINK,text:`Cannot link ${S.prettyIdent(e.project.configuration,S.parseIdent(Ne.name))} into ${S.prettyLocator(e.project.configuration,S.parseLocator(`${d.name}@${d.reference}`))} dependency ${S.prettyLocator(e.project.configuration,G)} conflicts with parent dependency ${S.prettyLocator(e.project.configuration,ee)}`})}else{let ee=D.get(De);if(ee){let Ue=ee.target,Oe=S.parseLocator(Array.isArray(Ue)?`${Ue[0]}@${Ue[1]}`:`${De}@${Ue}`);Ule(Oe,G)||r.push({messageName:z.NM_CANT_INSTALL_EXTERNAL_SOFT_LINK,text:`Cannot link ${S.prettyIdent(e.project.configuration,S.parseIdent(Ne.name))} into ${S.prettyLocator(e.project.configuration,S.parseLocator(`${d.name}@${d.reference}`))} dependency ${S.prettyLocator(e.project.configuration,G)} conflicts with dependency ${S.prettyLocator(e.project.configuration,Oe)} from sibling portal ${S.prettyIdent(e.project.configuration,S.parseIdent(ee.portal.name))}`})}else D.set(De,{target:G.reference,portal:Ne})}}}}let se=(X=e.hoistingLimitsByCwd)==null?void 0:X.get(b),be=re?b:v.relative(l,M.toPortablePath(qe.packageLocation))||Se.dot,ae=(F=e.hoistingLimitsByCwd)==null?void 0:F.get(be),Ae=se===Sn.DEPENDENCIES||ae===Sn.DEPENDENCIES||ae===Sn.WORKSPACES;f(ms(Ne)===ms(d)?h:he,qe,Ne,L,p,q,be,Ae)}}};return f(a.name,o,a,c,o,o.packageDependencies,Se.dot,!1),{packageTree:c,hoistingLimits:n,errors:r,preserveSymlinksRequired:i}};function Hle(t,e,r){let i=r.resolveVirtual&&e.reference&&e.reference.startsWith("virtual:")?r.resolveVirtual(t.packageLocation):t.packageLocation;return M.toPortablePath(i||t.packageLocation)}function X5e(t,e,r){let i=e.getLocator(t.name.replace(Hc,""),t.reference),n=e.getPackageInformation(i);if(n===null)throw new Error("Assertion failed: Expected the package to be registered");let s,o;return r.pnpifyFs?(o=M.toPortablePath(n.packageLocation),s=Js.SOFT):(o=Hle(n,t,e),s=n.linkType),{linkType:s,target:o}}var V5e=(t,e,r)=>{let i=new Map,n=(u,g,f)=>{let{linkType:h,target:p}=X5e(u,t,r);return{locator:ms(u),nodePath:g,target:p,linkType:h,aliases:f}},s=u=>{let[g,f]=u.split("/");return f?{scope:kr(g),name:kr(f)}:{scope:null,name:kr(g)}},o=new Set,a=(u,g,f)=>{if(!o.has(u)){o.add(u);for(let h of u.dependencies){if(h===u)continue;let p=Array.from(h.references).sort(),d={name:h.identName,reference:p[0]},{name:m,scope:I}=s(h.name),B=I?[I,m]:[m],b=v.join(g,Kle),R=v.join(b,...B),H=`${f}/${d.name}`,L=n(d,f,p.slice(1)),K=!1;if(L.linkType===Js.SOFT&&r.project){let J=r.project.workspacesByCwd.get(L.target.slice(0,-1));K=!!(J&&!J.manifest.name)}if(!h.name.endsWith(Hc)&&!K){let J=i.get(R);if(J){if(J.dirList)throw new Error(`Assertion failed: ${R} cannot merge dir node with leaf node`);{let V=S.parseLocator(J.locator),W=S.parseLocator(L.locator);if(J.linkType!==L.linkType)throw new Error(`Assertion failed: ${R} cannot merge nodes with different link types ${J.nodePath}/${S.stringifyLocator(V)} and ${f}/${S.stringifyLocator(W)}`);if(V.identHash!==W.identHash)throw new Error(`Assertion failed: ${R} cannot merge nodes with different idents ${J.nodePath}/${S.stringifyLocator(V)} and ${f}/s${S.stringifyLocator(W)}`);L.aliases=[...L.aliases,...J.aliases,S.parseLocator(J.locator).reference]}}i.set(R,L);let ne=R.split("/"),q=ne.indexOf(Kle),A=ne.length-1;for(;q>=0&&A>q;){let V=M.toPortablePath(ne.slice(0,A).join(v.sep)),W=kr(ne[A]),X=i.get(V);if(!X)i.set(V,{dirList:new Set([W])});else if(X.dirList){if(X.dirList.has(W))break;X.dirList.add(W)}A--}}a(h,L.linkType===Js.SOFT?L.target:R,H)}}},l=n({name:e.name,reference:Array.from(e.references)[0]},"",[]),c=l.target;return i.set(c,l),a(e,c,""),i};var oT={};it(oT,{PnpInstaller:()=>Cf,PnpLinker:()=>jc,default:()=>m6e,getPnpPath:()=>qA,jsInstallUtils:()=>Ws,pnpUtils:()=>nT,quotePathIfNeeded:()=>uce});var lce=ie(Or()),cce=ie(require("url"));var Gle;(function(r){r.HARD="HARD",r.SOFT="SOFT"})(Gle||(Gle={}));var Ht;(function(f){f.DEFAULT="DEFAULT",f.TOP_LEVEL="TOP_LEVEL",f.FALLBACK_EXCLUSION_LIST="FALLBACK_EXCLUSION_LIST",f.FALLBACK_EXCLUSION_ENTRIES="FALLBACK_EXCLUSION_ENTRIES",f.FALLBACK_EXCLUSION_DATA="FALLBACK_EXCLUSION_DATA",f.PACKAGE_REGISTRY_DATA="PACKAGE_REGISTRY_DATA",f.PACKAGE_REGISTRY_ENTRIES="PACKAGE_REGISTRY_ENTRIES",f.PACKAGE_STORE_DATA="PACKAGE_STORE_DATA",f.PACKAGE_STORE_ENTRIES="PACKAGE_STORE_ENTRIES",f.PACKAGE_INFORMATION_DATA="PACKAGE_INFORMATION_DATA",f.PACKAGE_DEPENDENCIES="PACKAGE_DEPENDENCIES",f.PACKAGE_DEPENDENCY="PACKAGE_DEPENDENCY"})(Ht||(Ht={}));var jle={[Ht.DEFAULT]:{collapsed:!1,next:{["*"]:Ht.DEFAULT}},[Ht.TOP_LEVEL]:{collapsed:!1,next:{fallbackExclusionList:Ht.FALLBACK_EXCLUSION_LIST,packageRegistryData:Ht.PACKAGE_REGISTRY_DATA,["*"]:Ht.DEFAULT}},[Ht.FALLBACK_EXCLUSION_LIST]:{collapsed:!1,next:{["*"]:Ht.FALLBACK_EXCLUSION_ENTRIES}},[Ht.FALLBACK_EXCLUSION_ENTRIES]:{collapsed:!0,next:{["*"]:Ht.FALLBACK_EXCLUSION_DATA}},[Ht.FALLBACK_EXCLUSION_DATA]:{collapsed:!0,next:{["*"]:Ht.DEFAULT}},[Ht.PACKAGE_REGISTRY_DATA]:{collapsed:!1,next:{["*"]:Ht.PACKAGE_REGISTRY_ENTRIES}},[Ht.PACKAGE_REGISTRY_ENTRIES]:{collapsed:!0,next:{["*"]:Ht.PACKAGE_STORE_DATA}},[Ht.PACKAGE_STORE_DATA]:{collapsed:!1,next:{["*"]:Ht.PACKAGE_STORE_ENTRIES}},[Ht.PACKAGE_STORE_ENTRIES]:{collapsed:!0,next:{["*"]:Ht.PACKAGE_INFORMATION_DATA}},[Ht.PACKAGE_INFORMATION_DATA]:{collapsed:!1,next:{packageDependencies:Ht.PACKAGE_DEPENDENCIES,["*"]:Ht.DEFAULT}},[Ht.PACKAGE_DEPENDENCIES]:{collapsed:!1,next:{["*"]:Ht.PACKAGE_DEPENDENCY}},[Ht.PACKAGE_DEPENDENCY]:{collapsed:!0,next:{["*"]:Ht.DEFAULT}}};function Z5e(t,e,r){let i="";i+="[";for(let n=0,s=t.length;ns(o)));let n=r.map((s,o)=>o);return n.sort((s,o)=>{for(let a of i){let l=a[s]a[o]?1:0;if(l!==0)return l}return 0}),n.map(s=>r[s])}function r6e(t){let e=new Map,r=_C(t.fallbackExclusionList||[],[({name:i,reference:n})=>i,({name:i,reference:n})=>n]);for(let{name:i,reference:n}of r){let s=e.get(i);typeof s=="undefined"&&e.set(i,s=new Set),s.add(n)}return Array.from(e).map(([i,n])=>[i,Array.from(n)])}function i6e(t){return _C(t.fallbackPool||[],([e])=>e)}function n6e(t){let e=[];for(let[r,i]of _C(t.packageRegistry,([n])=>n===null?"0":`1${n}`)){let n=[];e.push([r,n]);for(let[s,{packageLocation:o,packageDependencies:a,packagePeers:l,linkType:c,discardFromLookup:u}]of _C(i,([g])=>g===null?"0":`1${g}`)){let g=[];r!==null&&s!==null&&!a.has(r)&&g.push([r,s]);for(let[p,d]of _C(a.entries(),([m])=>m))g.push([p,d]);let f=l&&l.size>0?Array.from(l):void 0,h=u||void 0;n.push([s,{packageLocation:o,packageDependencies:g,packagePeers:f,linkType:c,discardFromLookup:h}])}}return e}function XC(t){return{__info:["This file is automatically generated. Do not touch it, or risk","your modifications being lost. We also recommend you not to read","it either without using the @yarnpkg/pnp package, as the data layout","is entirely unspecified and WILL change from a version to another."],dependencyTreeRoots:t.dependencyTreeRoots,enableTopLevelFallback:t.enableTopLevelFallback||!1,ignorePatternData:t.ignorePattern||null,fallbackExclusionList:r6e(t),fallbackPool:i6e(t),packageRegistryData:n6e(t)}}var zle=ie(Wle());function Vle(t,e){return[t?`${t} +`:"",`/* eslint-disable */ + +`,`try { +`,` Object.freeze({}).detectStrictMode = true; +`,`} catch (error) { +`," throw new Error(`The whole PnP file got strict-mode-ified, which is known to break (Emscripten libraries aren't strict mode). This usually happens when the file goes through Babel.`);\n",`} +`,` +`,`var __non_webpack_module__ = module; +`,` +`,`function $$SETUP_STATE(hydrateRuntimeState, basePath) { +`,e.replace(/^/gm," "),`} +`,` +`,(0,zle.default)()].join("")}function s6e(t){return JSON.stringify(t,null,2)}function o6e(t){return[`return hydrateRuntimeState(${qle(t)}, {basePath: basePath || __dirname}); +`].join("")}function a6e(t){return[`var path = require('path'); +`,`var dataLocation = path.resolve(__dirname, ${JSON.stringify(t)}); +`,`return hydrateRuntimeState(require(dataLocation), {basePath: basePath || path.dirname(dataLocation)}); +`].join("")}function _le(t){let e=XC(t),r=o6e(e);return Vle(t.shebang,r)}function Xle(t){let e=XC(t),r=a6e(t.dataLocation),i=Vle(t.shebang,r);return{dataFile:s6e(e),loaderFile:i}}var tce=ie(require("fs")),u6e=ie(require("path")),rce=ie(require("util"));function _L(t,{basePath:e}){let r=M.toPortablePath(e),i=v.resolve(r),n=t.ignorePatternData!==null?new RegExp(t.ignorePatternData):null,s=new Map,o=new Map(t.packageRegistryData.map(([g,f])=>[g,new Map(f.map(([h,p])=>{var b;if(g===null!=(h===null))throw new Error("Assertion failed: The name and reference should be null, or neither should");let d=(b=p.discardFromLookup)!=null?b:!1,m={name:g,reference:h},I=s.get(p.packageLocation);I?(I.discardFromLookup=I.discardFromLookup&&d,d||(I.locator=m)):s.set(p.packageLocation,{locator:m,discardFromLookup:d});let B=null;return[h,{packageDependencies:new Map(p.packageDependencies),packagePeers:new Set(p.packagePeers),linkType:p.linkType,discardFromLookup:d,get packageLocation(){return B||(B=v.join(i,p.packageLocation))}}]}))])),a=new Map(t.fallbackExclusionList.map(([g,f])=>[g,new Set(f)])),l=new Map(t.fallbackPool),c=t.dependencyTreeRoots,u=t.enableTopLevelFallback;return{basePath:r,dependencyTreeRoots:c,enableTopLevelFallback:u,fallbackExclusionList:a,fallbackPool:l,ignorePattern:n,packageLocatorsByLocations:s,packageRegistry:o}}var df=ie(require("module")),ece=ie($le()),ZL=ie(require("util"));var ur;(function(l){l.API_ERROR="API_ERROR",l.BUILTIN_NODE_RESOLUTION_FAILED="BUILTIN_NODE_RESOLUTION_FAILED",l.MISSING_DEPENDENCY="MISSING_DEPENDENCY",l.MISSING_PEER_DEPENDENCY="MISSING_PEER_DEPENDENCY",l.QUALIFIED_PATH_RESOLUTION_FAILED="QUALIFIED_PATH_RESOLUTION_FAILED",l.INTERNAL="INTERNAL",l.UNDECLARED_DEPENDENCY="UNDECLARED_DEPENDENCY",l.UNSUPPORTED="UNSUPPORTED"})(ur||(ur={}));var c6e=new Set([ur.BUILTIN_NODE_RESOLUTION_FAILED,ur.MISSING_DEPENDENCY,ur.MISSING_PEER_DEPENDENCY,ur.QUALIFIED_PATH_RESOLUTION_FAILED,ur.UNDECLARED_DEPENDENCY]);function ui(t,e,r={}){let i=c6e.has(t)?"MODULE_NOT_FOUND":t,n={configurable:!0,writable:!0,enumerable:!1};return Object.defineProperties(new Error(e),{code:_(P({},n),{value:i}),pnpCode:_(P({},n),{value:t}),data:_(P({},n),{value:r})})}function YA(t){return M.normalize(M.fromPortablePath(t))}function $L(t,e){let r=Number(process.env.PNP_ALWAYS_WARN_ON_FALLBACK)>0,i=Number(process.env.PNP_DEBUG_LEVEL),n=new Set(df.Module.builtinModules||Object.keys(process.binding("natives"))),s=re=>n.has(re)||re.startsWith("node:"),o=/^(?![a-zA-Z]:[\\/]|\\\\|\.{0,2}(?:\/|$))((?:node:)?(?:@[^/]+\/)?[^/]+)\/*(.*|)$/,a=/^(\/|\.{1,2}(\/|$))/,l=/\/$/,c=/^\.{0,2}\//,u={name:null,reference:null},g=[],f=new Set;if(t.enableTopLevelFallback===!0&&g.push(u),e.compatibilityMode!==!1)for(let re of["react-scripts","gatsby"]){let se=t.packageRegistry.get(re);if(se)for(let be of se.keys()){if(be===null)throw new Error("Assertion failed: This reference shouldn't be null");g.push({name:re,reference:be})}}let{ignorePattern:h,packageRegistry:p,packageLocatorsByLocations:d}=t;function m(re,se){return{fn:re,args:se,error:null,result:null}}function I(re){var De,$,G,Ce,ee,Ue;let se=(G=($=(De=process.stderr)==null?void 0:De.hasColors)==null?void 0:$.call(De))!=null?G:process.stdout.isTTY,be=(Oe,vt)=>`[${Oe}m${vt}`,ae=re.error;console.error(ae?be("31;1",`\u2716 ${(Ce=re.error)==null?void 0:Ce.message.replace(/\n.*/s,"")}`):be("33;1","\u203C Resolution")),re.args.length>0&&console.error();for(let Oe of re.args)console.error(` ${be("37;1","In \u2190")} ${(0,ZL.inspect)(Oe,{colors:se,compact:!0})}`);re.result&&(console.error(),console.error(` ${be("37;1","Out \u2192")} ${(0,ZL.inspect)(re.result,{colors:se,compact:!0})}`));let Ae=(Ue=(ee=new Error().stack.match(/(?<=^ +)at.*/gm))==null?void 0:ee.slice(2))!=null?Ue:[];if(Ae.length>0){console.error();for(let Oe of Ae)console.error(` ${be("38;5;244",Oe)}`)}console.error()}function B(re,se){if(e.allowDebug===!1)return se;if(Number.isFinite(i)){if(i>=2)return(...be)=>{let ae=m(re,be);try{return ae.result=se(...be)}catch(Ae){throw ae.error=Ae}finally{I(ae)}};if(i>=1)return(...be)=>{try{return se(...be)}catch(ae){let Ae=m(re,be);throw Ae.error=ae,I(Ae),ae}}}return se}function b(re){let se=W(re);if(!se)throw ui(ur.INTERNAL,"Couldn't find a matching entry in the dependency tree for the specified parent (this is probably an internal error)");return se}function R(re){if(re.name===null)return!0;for(let se of t.dependencyTreeRoots)if(se.name===re.name&&se.reference===re.reference)return!0;return!1}let H=new Set(["default","node","require"]);function L(re,se=H){let be=D(v.join(re,"internal.js"),{resolveIgnored:!0,includeDiscardFromLookup:!0});if(be===null)throw ui(ur.INTERNAL,`The locator that owns the "${re}" path can't be found inside the dependency tree (this is probably an internal error)`);let{packageLocation:ae}=b(be),Ae=v.join(ae,wt.manifest);if(!e.fakeFs.existsSync(Ae))return null;let De=JSON.parse(e.fakeFs.readFileSync(Ae,"utf8")),$=v.contains(ae,re);if($===null)throw ui(ur.INTERNAL,"unqualifiedPath doesn't contain the packageLocation (this is probably an internal error)");c.test($)||($=`./${$}`);let G=(0,ece.resolve)(De,v.normalize($),{conditions:se,unsafe:!0});return typeof G=="string"?v.join(ae,G):null}function K(re,se,{extensions:be}){let ae;try{se.push(re),ae=e.fakeFs.statSync(re)}catch(Ae){}if(ae&&!ae.isDirectory())return e.fakeFs.realpathSync(re);if(ae&&ae.isDirectory()){let Ae;try{Ae=JSON.parse(e.fakeFs.readFileSync(v.join(re,wt.manifest),"utf8"))}catch($){}let De;if(Ae&&Ae.main&&(De=v.resolve(re,Ae.main)),De&&De!==re){let $=K(De,se,{extensions:be});if($!==null)return $}}for(let Ae=0,De=be.length;Ae{let G=JSON.stringify($.name);if(ae.has(G))return;ae.add(G);let Ce=X($);for(let ee of Ce)if(b(ee).packagePeers.has(re))Ae(ee);else{let Oe=be.get(ee.name);typeof Oe=="undefined"&&be.set(ee.name,Oe=new Set),Oe.add(ee.reference)}};Ae(se);let De=[];for(let $ of[...be.keys()].sort())for(let G of[...be.get($)].sort())De.push({name:$,reference:G});return De}function D(re,{resolveIgnored:se=!1,includeDiscardFromLookup:be=!1}={}){if(q(re)&&!se)return null;let ae=v.relative(t.basePath,re);ae.match(a)||(ae=`./${ae}`),ae.endsWith("/")||(ae=`${ae}/`);do{let Ae=d.get(ae);if(typeof Ae=="undefined"||Ae.discardFromLookup&&!be){ae=ae.substring(0,ae.lastIndexOf("/",ae.length-2)+1);continue}return Ae.locator}while(ae!=="");return null}function he(re,se,{considerBuiltins:be=!0}={}){if(re==="pnpapi")return M.toPortablePath(e.pnpapiResolution);if(be&&s(re))return null;let ae=YA(re),Ae=se&&YA(se);if(se&&q(se)&&(!v.isAbsolute(re)||D(re)===null)){let G=ne(re,se);if(G===!1)throw ui(ur.BUILTIN_NODE_RESOLUTION_FAILED,`The builtin node resolution algorithm was unable to resolve the requested module (it didn't go through the pnp resolver because the issuer was explicitely ignored by the regexp) + +Require request: "${ae}" +Required by: ${Ae} +`,{request:ae,issuer:Ae});return M.toPortablePath(G)}let De,$=re.match(o);if($){if(!se)throw ui(ur.API_ERROR,"The resolveToUnqualified function must be called with a valid issuer when the path isn't a builtin nor absolute",{request:ae,issuer:Ae});let[,G,Ce]=$,ee=D(se);if(!ee){let yr=ne(re,se);if(yr===!1)throw ui(ur.BUILTIN_NODE_RESOLUTION_FAILED,`The builtin node resolution algorithm was unable to resolve the requested module (it didn't go through the pnp resolver because the issuer doesn't seem to be part of the Yarn-managed dependency tree). + +Require path: "${ae}" +Required by: ${Ae} +`,{request:ae,issuer:Ae});return M.toPortablePath(yr)}let Oe=b(ee).packageDependencies.get(G),vt=null;if(Oe==null&&ee.name!==null){let yr=t.fallbackExclusionList.get(ee.name);if(!yr||!yr.has(ee.reference)){for(let Qi=0,Go=g.length;QiR(Ki))?dt=ui(ur.MISSING_PEER_DEPENDENCY,`${ee.name} tried to access ${G} (a peer dependency) but it isn't provided by your application; this makes the require call ambiguous and unsound. + +Required package: ${G}${G!==ae?` (via "${ae}")`:""} +Required by: ${ee.name}@${ee.reference} (via ${Ae}) +${yr.map(Ki=>`Ancestor breaking the chain: ${Ki.name}@${Ki.reference} +`).join("")} +`,{request:ae,issuer:Ae,issuerLocator:Object.assign({},ee),dependencyName:G,brokenAncestors:yr}):dt=ui(ur.MISSING_PEER_DEPENDENCY,`${ee.name} tried to access ${G} (a peer dependency) but it isn't provided by its ancestors; this makes the require call ambiguous and unsound. + +Required package: ${G}${G!==ae?` (via "${ae}")`:""} +Required by: ${ee.name}@${ee.reference} (via ${Ae}) + +${yr.map(Ki=>`Ancestor breaking the chain: ${Ki.name}@${Ki.reference} +`).join("")} +`,{request:ae,issuer:Ae,issuerLocator:Object.assign({},ee),dependencyName:G,brokenAncestors:yr})}else Oe===void 0&&(!be&&s(re)?R(ee)?dt=ui(ur.UNDECLARED_DEPENDENCY,`Your application tried to access ${G}. While this module is usually interpreted as a Node builtin, your resolver is running inside a non-Node resolution context where such builtins are ignored. Since ${G} isn't otherwise declared in your dependencies, this makes the require call ambiguous and unsound. + +Required package: ${G}${G!==ae?` (via "${ae}")`:""} +Required by: ${Ae} +`,{request:ae,issuer:Ae,dependencyName:G}):dt=ui(ur.UNDECLARED_DEPENDENCY,`${ee.name} tried to access ${G}. While this module is usually interpreted as a Node builtin, your resolver is running inside a non-Node resolution context where such builtins are ignored. Since ${G} isn't otherwise declared in ${ee.name}'s dependencies, this makes the require call ambiguous and unsound. + +Required package: ${G}${G!==ae?` (via "${ae}")`:""} +Required by: ${Ae} +`,{request:ae,issuer:Ae,issuerLocator:Object.assign({},ee),dependencyName:G}):R(ee)?dt=ui(ur.UNDECLARED_DEPENDENCY,`Your application tried to access ${G}, but it isn't declared in your dependencies; this makes the require call ambiguous and unsound. + +Required package: ${G}${G!==ae?` (via "${ae}")`:""} +Required by: ${Ae} +`,{request:ae,issuer:Ae,dependencyName:G}):dt=ui(ur.UNDECLARED_DEPENDENCY,`${ee.name} tried to access ${G}, but it isn't declared in its dependencies; this makes the require call ambiguous and unsound. + +Required package: ${G}${G!==ae?` (via "${ae}")`:""} +Required by: ${ee.name}@${ee.reference} (via ${Ae}) +`,{request:ae,issuer:Ae,issuerLocator:Object.assign({},ee),dependencyName:G}));if(Oe==null){if(vt===null||dt===null)throw dt||new Error("Assertion failed: Expected an error to have been set");Oe=vt;let yr=dt.message.replace(/\n.*/g,"");dt.message=yr,!f.has(yr)&&i!==0&&(f.add(yr),process.emitWarning(dt))}let ri=Array.isArray(Oe)?{name:Oe[0],reference:Oe[1]}:{name:G,reference:Oe},ii=b(ri);if(!ii.packageLocation)throw ui(ur.MISSING_DEPENDENCY,`A dependency seems valid but didn't get installed for some reason. This might be caused by a partial install, such as dev vs prod. + +Required package: ${ri.name}@${ri.reference}${ri.name!==ae?` (via "${ae}")`:""} +Required by: ${ee.name}@${ee.reference} (via ${Ae}) +`,{request:ae,issuer:Ae,dependencyLocator:Object.assign({},ri)});let an=ii.packageLocation;Ce?De=v.join(an,Ce):De=an}else if(v.isAbsolute(re))De=v.normalize(re);else{if(!se)throw ui(ur.API_ERROR,"The resolveToUnqualified function must be called with a valid issuer when the path isn't a builtin nor absolute",{request:ae,issuer:Ae});let G=v.resolve(se);se.match(l)?De=v.normalize(v.join(G,re)):De=v.normalize(v.join(v.dirname(G),re))}return v.normalize(De)}function pe(re,se,be=H){if(a.test(re))return se;let ae=L(se,be);return ae?v.normalize(ae):se}function Ne(re,{extensions:se=Object.keys(df.Module._extensions)}={}){let be=[],ae=K(re,be,{extensions:se});if(ae)return v.normalize(ae);{let Ae=YA(re),De=D(re);if(De){let{packageLocation:$}=b(De);if(!e.fakeFs.existsSync($)){let G=$.includes("/unplugged/")?"Required unplugged package missing from disk. This may happen when switching branches without running installs (unplugged packages must be fully materialized on disk to work).":"Required package missing from disk. If you keep your packages inside your repository then restarting the Node process may be enough. Otherwise, try to run an install first.";throw ui(ur.QUALIFIED_PATH_RESOLUTION_FAILED,`${G} + +Missing package: ${De.name}@${De.reference} +Expected package location: ${YA($)} +`,{unqualifiedPath:Ae})}}throw ui(ur.QUALIFIED_PATH_RESOLUTION_FAILED,`Qualified path resolution failed - none of those files can be found on the disk. + +Source path: ${Ae} +${be.map($=>`Not found: ${YA($)} +`).join("")}`,{unqualifiedPath:Ae})}}function Pe(re,se,{considerBuiltins:be,extensions:ae,conditions:Ae}={}){let De=he(re,se,{considerBuiltins:be});if(re==="pnpapi")return De;if(De===null)return null;let $=()=>se!==null?q(se):!1,G=(!be||!s(re))&&!$()?pe(re,De,Ae):De;try{return Ne(G,{extensions:ae})}catch(Ce){throw Ce.pnpCode==="QUALIFIED_PATH_RESOLUTION_FAILED"&&Object.assign(Ce.data,{request:YA(re),issuer:se&&YA(se)}),Ce}}function qe(re){let se=v.normalize(re),be=Pr.resolveVirtual(se);return be!==se?be:null}return{VERSIONS:A,topLevel:V,getLocator:(re,se)=>Array.isArray(se)?{name:se[0],reference:se[1]}:{name:re,reference:se},getDependencyTreeRoots:()=>[...t.dependencyTreeRoots],getAllLocators(){let re=[];for(let[se,be]of p)for(let ae of be.keys())se!==null&&ae!==null&&re.push({name:se,reference:ae});return re},getPackageInformation:re=>{let se=W(re);if(se===null)return null;let be=M.fromPortablePath(se.packageLocation);return _(P({},se),{packageLocation:be})},findPackageLocator:re=>D(M.toPortablePath(re)),resolveToUnqualified:B("resolveToUnqualified",(re,se,be)=>{let ae=se!==null?M.toPortablePath(se):null,Ae=he(M.toPortablePath(re),ae,be);return Ae===null?null:M.fromPortablePath(Ae)}),resolveUnqualified:B("resolveUnqualified",(re,se)=>M.fromPortablePath(Ne(M.toPortablePath(re),se))),resolveRequest:B("resolveRequest",(re,se,be)=>{let ae=se!==null?M.toPortablePath(se):null,Ae=Pe(M.toPortablePath(re),ae,be);return Ae===null?null:M.fromPortablePath(Ae)}),resolveVirtual:B("resolveVirtual",re=>{let se=qe(M.toPortablePath(re));return se!==null?M.fromPortablePath(se):null})}}var ISt=(0,rce.promisify)(tce.readFile);var ice=(t,e,r)=>{let i=XC(t),n=_L(i,{basePath:e}),s=M.join(e,wt.pnpCjs);return $L(n,{fakeFs:r,pnpapiResolution:s})};var tT=ie(sce());var Ws={};it(Ws,{checkAndReportManifestCompatibility:()=>oce,extractBuildScripts:()=>Z0,getExtractHint:()=>rT,hasBindingGyp:()=>iT});function oce(t,e,{configuration:r,report:i}){return S.isPackageCompatible(t,{os:[process.platform],cpu:[process.arch]})?!0:(i==null||i.reportWarningOnce(z.INCOMPATIBLE_ARCHITECTURE,`${S.prettyLocator(r,t)} The ${process.platform}-${process.arch} architecture is incompatible with this module, ${e} skipped.`),!1)}function Z0(t,e,r,{configuration:i,report:n}){let s=[];for(let a of["preinstall","install","postinstall"])e.manifest.scripts.has(a)&&s.push([Gn.SCRIPT,a]);return!e.manifest.scripts.has("install")&&e.misc.hasBindingGyp&&s.push([Gn.SHELLCODE,"node-gyp rebuild"]),s.length===0?[]:t.linkType!==gt.HARD?(n==null||n.reportWarningOnce(z.SOFT_LINK_BUILD,`${S.prettyLocator(i,t)} lists build scripts, but is referenced through a soft link. Soft links don't support build scripts, so they'll be ignored.`),[]):r&&r.built===!1?(n==null||n.reportInfoOnce(z.BUILD_DISABLED,`${S.prettyLocator(i,t)} lists build scripts, but its build has been explicitly disabled through configuration.`),[]):!i.get("enableScripts")&&!r.built?(n==null||n.reportWarningOnce(z.DISABLED_BUILD_SCRIPTS,`${S.prettyLocator(i,t)} lists build scripts, but all build scripts have been disabled.`),[]):oce(t,"build",{configuration:i,report:n})?s:[]}var g6e=new Set([".exe",".h",".hh",".hpp",".c",".cc",".cpp",".java",".jar",".node"]);function rT(t){return t.packageFs.getExtractHint({relevantExtensions:g6e})}function iT(t){let e=v.join(t.prefixPath,"binding.gyp");return t.packageFs.existsSync(e)}var nT={};it(nT,{getUnpluggedPath:()=>ZC});function ZC(t,{configuration:e}){return v.resolve(e.get("pnpUnpluggedFolder"),S.slugifyLocator(t))}var f6e=new Set([S.makeIdent(null,"nan").identHash,S.makeIdent(null,"node-gyp").identHash,S.makeIdent(null,"node-pre-gyp").identHash,S.makeIdent(null,"node-addon-api").identHash,S.makeIdent(null,"fsevents").identHash]),jc=class{constructor(){this.mode="strict";this.pnpCache=new Map}supportsPackage(e,r){return!(r.project.configuration.get("nodeLinker")!=="pnp"||r.project.configuration.get("pnpMode")!==this.mode)}async findPackageLocation(e,r){let i=qA(r.project).cjs;if(!T.existsSync(i))throw new me(`The project in ${ue.pretty(r.project.configuration,`${r.project.cwd}/package.json`,ue.Type.PATH)} doesn't seem to have been installed - running an install there might help`);let n=de.getFactoryWithDefault(this.pnpCache,i,()=>de.dynamicRequire(i,{cachingStrategy:de.CachingStrategy.FsTime})),s={name:S.stringifyIdent(e),reference:e.reference},o=n.getPackageInformation(s);if(!o)throw new me(`Couldn't find ${S.prettyLocator(r.project.configuration,e)} in the currently installed PnP map - running an install might help`);return M.toPortablePath(o.packageLocation)}async findPackageLocator(e,r){let i=qA(r.project).cjs;if(!T.existsSync(i))return null;let s=de.getFactoryWithDefault(this.pnpCache,i,()=>de.dynamicRequire(i,{cachingStrategy:de.CachingStrategy.FsTime})).findPackageLocator(M.fromPortablePath(e));return s?S.makeLocator(S.parseIdent(s.name),s.reference):null}makeInstaller(e){return new Cf(e)}},Cf=class{constructor(e){this.opts=e;this.mode="strict";this.packageRegistry=new Map;this.virtualTemplates=new Map;this.isESMLoaderRequired=!1;this.customData={store:new Map};this.unpluggedPaths=new Set;this.opts=e}getCustomDataKey(){return JSON.stringify({name:"PnpInstaller",version:2})}attachCustomData(e){this.customData=e}async installPackage(e,r){let i=S.stringifyIdent(e),n=e.reference,s=!!this.opts.project.tryWorkspaceByLocator(e),o=S.isVirtualLocator(e),a=e.peerDependencies.size>0&&!o,l=!a&&!s,c=!a&&e.linkType!==gt.SOFT,u,g;if(l||c){let B=o?S.devirtualizeLocator(e):e;u=this.customData.store.get(B.locatorHash),typeof u=="undefined"&&(u=await h6e(r),e.linkType===gt.HARD&&this.customData.store.set(B.locatorHash,u)),u.manifest.type==="module"&&(this.isESMLoaderRequired=!0),g=this.opts.project.getDependencyMeta(B,e.version)}let f=l?Z0(e,u,g,{configuration:this.opts.project.configuration,report:this.opts.report}):[],h=c?await this.unplugPackageIfNeeded(e,u,r,g):r.packageFs;if(v.isAbsolute(r.prefixPath))throw new Error(`Assertion failed: Expected the prefix path (${r.prefixPath}) to be relative to the parent`);let p=v.resolve(h.getRealPath(),r.prefixPath),d=sT(this.opts.project.cwd,p),m=new Map,I=new Set;if(o){for(let B of e.peerDependencies.values())m.set(S.stringifyIdent(B),null),I.add(S.stringifyIdent(B));if(!s){let B=S.devirtualizeLocator(e);this.virtualTemplates.set(B.locatorHash,{location:sT(this.opts.project.cwd,Pr.resolveVirtual(p)),locator:B})}}return de.getMapWithDefault(this.packageRegistry,i).set(n,{packageLocation:d,packageDependencies:m,packagePeers:I,linkType:e.linkType,discardFromLookup:r.discardFromLookup||!1}),{packageLocation:p,buildDirective:f.length>0?f:null}}async attachInternalDependencies(e,r){let i=this.getPackageInformation(e);for(let[n,s]of r){let o=S.areIdentsEqual(n,s)?s.reference:[S.stringifyIdent(s),s.reference];i.packageDependencies.set(S.stringifyIdent(n),o)}}async attachExternalDependents(e,r){for(let i of r)this.getDiskInformation(i).packageDependencies.set(S.stringifyIdent(e),e.reference)}async finalizeInstall(){if(this.opts.project.configuration.get("pnpMode")!==this.mode)return;let e=qA(this.opts.project);if(T.existsSync(e.cjsLegacy)&&(this.opts.report.reportWarning(z.UNNAMED,`Removing the old ${ue.pretty(this.opts.project.configuration,wt.pnpJs,ue.Type.PATH)} file. You might need to manually update existing references to reference the new ${ue.pretty(this.opts.project.configuration,wt.pnpCjs,ue.Type.PATH)} file. If you use Editor SDKs, you'll have to rerun ${ue.pretty(this.opts.project.configuration,"yarn sdks",ue.Type.CODE)}.`),await T.removePromise(e.cjsLegacy)),this.isEsmEnabled()||await T.removePromise(e.esmLoader),this.opts.project.configuration.get("nodeLinker")!=="pnp"){await T.removePromise(e.cjs),await T.removePromise(this.opts.project.configuration.get("pnpDataPath")),await T.removePromise(e.esmLoader);return}for(let{locator:u,location:g}of this.virtualTemplates.values())de.getMapWithDefault(this.packageRegistry,S.stringifyIdent(u)).set(u.reference,{packageLocation:g,packageDependencies:new Map,packagePeers:new Set,linkType:gt.SOFT,discardFromLookup:!1});this.packageRegistry.set(null,new Map([[null,this.getPackageInformation(this.opts.project.topLevelWorkspace.anchoredLocator)]]));let r=this.opts.project.configuration.get("pnpFallbackMode"),i=this.opts.project.workspaces.map(({anchoredLocator:u})=>({name:S.stringifyIdent(u),reference:u.reference})),n=r!=="none",s=[],o=new Map,a=de.buildIgnorePattern([".yarn/sdks/**",...this.opts.project.configuration.get("pnpIgnorePatterns")]),l=this.packageRegistry,c=this.opts.project.configuration.get("pnpShebang");if(r==="dependencies-only")for(let u of this.opts.project.storedPackages.values())this.opts.project.tryWorkspaceByLocator(u)&&s.push({name:S.stringifyIdent(u),reference:u.reference});return await this.finalizeInstallWithPnp({dependencyTreeRoots:i,enableTopLevelFallback:n,fallbackExclusionList:s,fallbackPool:o,ignorePattern:a,packageRegistry:l,shebang:c}),{customData:this.customData}}async transformPnpSettings(e){}isEsmEnabled(){if(this.opts.project.configuration.sources.has("pnpEnableEsmLoader"))return this.opts.project.configuration.get("pnpEnableEsmLoader");if(this.isESMLoaderRequired)return!0;for(let e of this.opts.project.workspaces)if(e.manifest.type==="module")return!0;return!1}async finalizeInstallWithPnp(e){let r=qA(this.opts.project),i=this.opts.project.configuration.get("pnpDataPath"),n=await this.locateNodeModules(e.ignorePattern);if(n.length>0){this.opts.report.reportWarning(z.DANGEROUS_NODE_MODULES,"One or more node_modules have been detected and will be removed. This operation may take some time.");for(let o of n)await T.removePromise(o)}if(await this.transformPnpSettings(e),this.opts.project.configuration.get("pnpEnableInlining")){let o=_le(e);await T.changeFilePromise(r.cjs,o,{automaticNewlines:!0,mode:493}),await T.removePromise(i)}else{let o=v.relative(v.dirname(r.cjs),i),{dataFile:a,loaderFile:l}=Xle(_(P({},e),{dataLocation:o}));await T.changeFilePromise(r.cjs,l,{automaticNewlines:!0,mode:493}),await T.changeFilePromise(i,a,{automaticNewlines:!0,mode:420})}this.isEsmEnabled()&&(this.opts.report.reportWarning(z.UNNAMED,"ESM support for PnP uses the experimental loader API and is therefore experimental"),await T.changeFilePromise(r.esmLoader,(0,tT.default)(),{automaticNewlines:!0,mode:420}));let s=this.opts.project.configuration.get("pnpUnpluggedFolder");if(this.unpluggedPaths.size===0)await T.removePromise(s);else for(let o of await T.readdirPromise(s)){let a=v.resolve(s,o);this.unpluggedPaths.has(a)||await T.removePromise(a)}}async locateNodeModules(e){let r=[],i=e?new RegExp(e):null;for(let n of this.opts.project.workspaces){let s=v.join(n.cwd,"node_modules");if(i&&i.test(v.relative(this.opts.project.cwd,n.cwd))||!T.existsSync(s))continue;let o=await T.readdirPromise(s,{withFileTypes:!0}),a=o.filter(l=>!l.isDirectory()||l.name===".bin"||!l.name.startsWith("."));if(a.length===o.length)r.push(s);else for(let l of a)r.push(v.join(s,l.name))}return r}async unplugPackageIfNeeded(e,r,i,n){return this.shouldBeUnplugged(e,r,n)?this.unplugPackage(e,i):i.packageFs}shouldBeUnplugged(e,r,i){return typeof i.unplugged!="undefined"?i.unplugged:f6e.has(e.identHash)||e.conditions!=null?!0:r.manifest.preferUnplugged!==null?r.manifest.preferUnplugged:!!(Z0(e,r,i,{configuration:this.opts.project.configuration}).length>0||r.misc.extractHint)}async unplugPackage(e,r){let i=ZC(e,{configuration:this.opts.project.configuration});if(this.opts.project.disabledLocators.has(e.locatorHash))return new Xo(i,{baseFs:r.packageFs,pathUtils:v});this.unpluggedPaths.add(i);let n=v.join(i,r.prefixPath,".ready");return await T.existsPromise(n)?new Ft(i):(this.opts.project.storedBuildState.delete(e.locatorHash),await T.mkdirPromise(i,{recursive:!0}),await T.copyPromise(i,Se.dot,{baseFs:r.packageFs,overwrite:!1}),await T.writeFilePromise(n,""),new Ft(i))}getPackageInformation(e){let r=S.stringifyIdent(e),i=e.reference,n=this.packageRegistry.get(r);if(!n)throw new Error(`Assertion failed: The package information store should have been available (for ${S.prettyIdent(this.opts.project.configuration,e)})`);let s=n.get(i);if(!s)throw new Error(`Assertion failed: The package information should have been available (for ${S.prettyLocator(this.opts.project.configuration,e)})`);return s}getDiskInformation(e){let r=de.getMapWithDefault(this.packageRegistry,"@@disk"),i=sT(this.opts.project.cwd,e);return de.getFactoryWithDefault(r,i,()=>({packageLocation:i,packageDependencies:new Map,packagePeers:new Set,linkType:gt.SOFT,discardFromLookup:!1}))}};function sT(t,e){let r=v.relative(t,e);return r.match(/^\.{0,2}\//)||(r=`./${r}`),r.replace(/\/?$/,"/")}async function h6e(t){var i;let e=(i=await Ze.tryFind(t.prefixPath,{baseFs:t.packageFs}))!=null?i:new Ze,r=new Set(["preinstall","install","postinstall"]);for(let n of e.scripts.keys())r.has(n)||e.scripts.delete(n);return{manifest:{scripts:e.scripts,preferUnplugged:e.preferUnplugged,type:e.type},misc:{extractHint:rT(t),hasBindingGyp:iT(t)}}}var ace=ie(Nn());var $C=class extends Be{constructor(){super(...arguments);this.all=Y.Boolean("-A,--all",!1,{description:"Unplug direct dependencies from the entire project"});this.recursive=Y.Boolean("-R,--recursive",!1,{description:"Unplug both direct and transitive dependencies"});this.json=Y.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.patterns=Y.Rest()}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Ke.find(e,this.context.cwd),n=await Qt.find(e);if(!i)throw new rt(r.cwd,this.context.cwd);if(e.get("nodeLinker")!=="pnp")throw new me("This command can only be used if the `nodeLinker` option is set to `pnp`");await r.restoreInstallState();let s=new Set(this.patterns),o=this.patterns.map(f=>{let h=S.parseDescriptor(f),p=h.range!=="unknown"?h:S.makeDescriptor(h,"*");if(!qt.validRange(p.range))throw new me(`The range of the descriptor patterns must be a valid semver range (${S.prettyDescriptor(e,p)})`);return d=>{let m=S.stringifyIdent(d);return!ace.default.isMatch(m,S.stringifyIdent(p))||d.version&&!qt.satisfiesWithPrereleases(d.version,p.range)?!1:(s.delete(f),!0)}}),a=()=>{let f=[];for(let h of r.storedPackages.values())!r.tryWorkspaceByLocator(h)&&!S.isVirtualLocator(h)&&o.some(p=>p(h))&&f.push(h);return f},l=f=>{let h=new Set,p=[],d=(m,I)=>{if(!h.has(m.locatorHash)&&(h.add(m.locatorHash),!r.tryWorkspaceByLocator(m)&&o.some(B=>B(m))&&p.push(m),!(I>0&&!this.recursive)))for(let B of m.dependencies.values()){let b=r.storedResolutions.get(B.descriptorHash);if(!b)throw new Error("Assertion failed: The resolution should have been registered");let R=r.storedPackages.get(b);if(!R)throw new Error("Assertion failed: The package should have been registered");d(R,I+1)}};for(let m of f){let I=r.storedPackages.get(m.anchoredLocator.locatorHash);if(!I)throw new Error("Assertion failed: The package should have been registered");d(I,0)}return p},c,u;if(this.all&&this.recursive?(c=a(),u="the project"):this.all?(c=l(r.workspaces),u="any workspace"):(c=l([i]),u="this workspace"),s.size>1)throw new me(`Patterns ${ue.prettyList(e,s,ue.Type.CODE)} don't match any packages referenced by ${u}`);if(s.size>0)throw new me(`Pattern ${ue.prettyList(e,s,ue.Type.CODE)} doesn't match any packages referenced by ${u}`);return c=de.sortMap(c,f=>S.stringifyLocator(f)),(await Fe.start({configuration:e,stdout:this.context.stdout,json:this.json},async f=>{var h;for(let p of c){let d=(h=p.version)!=null?h:"unknown",m=r.topLevelWorkspace.manifest.ensureDependencyMeta(S.makeDescriptor(p,d));m.unplugged=!0,f.reportInfo(z.UNNAMED,`Will unpack ${S.prettyLocator(e,p)} to ${ue.pretty(e,ZC(p,{configuration:e}),ue.Type.PATH)}`),f.reportJson({locator:S.stringifyLocator(p),version:d})}await r.topLevelWorkspace.persistManifest(),f.reportSeparator(),await r.install({cache:n,report:f})})).exitCode()}};$C.paths=[["unplug"]],$C.usage=ye.Usage({description:"force the unpacking of a list of packages",details:"\n This command will add the selectors matching the specified patterns to the list of packages that must be unplugged when installed.\n\n A package being unplugged means that instead of being referenced directly through its archive, it will be unpacked at install time in the directory configured via `pnpUnpluggedFolder`. Note that unpacking packages this way is generally not recommended because it'll make it harder to store your packages within the repository. However, it's a good approach to quickly and safely debug some packages, and can even sometimes be required depending on the context (for example when the package contains shellscripts).\n\n Running the command will set a persistent flag inside your top-level `package.json`, in the `dependenciesMeta` field. As such, to undo its effects, you'll need to revert the changes made to the manifest and run `yarn install` to apply the modification.\n\n By default, only direct dependencies from the current workspace are affected. If `-A,--all` is set, direct dependencies from the entire project are affected. Using the `-R,--recursive` flag will affect transitive dependencies as well as direct ones.\n\n This command accepts glob patterns inside the scope and name components (not the range). Make sure to escape the patterns to prevent your own shell from trying to expand them.\n ",examples:[["Unplug the lodash dependency from the active workspace","yarn unplug lodash"],["Unplug all instances of lodash referenced by any workspace","yarn unplug lodash -A"],["Unplug all instances of lodash referenced by the active workspace and its dependencies","yarn unplug lodash -R"],["Unplug all instances of lodash, anywhere","yarn unplug lodash -AR"],["Unplug one specific version of lodash","yarn unplug lodash@1.2.3"],["Unplug all packages with the `@babel` scope","yarn unplug '@babel/*'"],["Unplug all packages (only for testing, not recommended)","yarn unplug -R '*'"]]});var Ace=$C;var qA=t=>({cjs:v.join(t.cwd,wt.pnpCjs),cjsLegacy:v.join(t.cwd,wt.pnpJs),esmLoader:v.join(t.cwd,".pnp.loader.mjs")}),uce=t=>/\s/.test(t)?JSON.stringify(t):t;async function p6e(t,e,r){let i=qA(t),n=`--require ${uce(M.fromPortablePath(i.cjs))}`;if(T.existsSync(i.esmLoader)&&(n=`${n} --experimental-loader ${(0,cce.pathToFileURL)(M.fromPortablePath(i.esmLoader)).href}`),i.cjs.includes(" ")&&lce.default.lt(process.versions.node,"12.0.0"))throw new Error(`Expected the build location to not include spaces when using Node < 12.0.0 (${process.versions.node})`);if(T.existsSync(i.cjs)){let s=e.NODE_OPTIONS||"",o=/\s*--require\s+\S*\.pnp\.c?js\s*/g,a=/\s*--experimental-loader\s+\S*\.pnp\.loader\.mjs\s*/;s=s.replace(o," ").replace(a," ").trim(),s=s?`${n} ${s}`:n,e.NODE_OPTIONS=s}}async function d6e(t,e){let r=qA(t);e(r.cjs),e(r.esmLoader),e(t.configuration.get("pnpDataPath")),e(t.configuration.get("pnpUnpluggedFolder"))}var C6e={hooks:{populateYarnPaths:d6e,setupScriptEnvironment:p6e},configuration:{nodeLinker:{description:'The linker used for installing Node packages, one of: "pnp", "node-modules"',type:ge.STRING,default:"pnp"},pnpMode:{description:"If 'strict', generates standard PnP maps. If 'loose', merges them with the n_m resolution.",type:ge.STRING,default:"strict"},pnpShebang:{description:"String to prepend to the generated PnP script",type:ge.STRING,default:"#!/usr/bin/env node"},pnpIgnorePatterns:{description:"Array of glob patterns; files matching them will use the classic resolution",type:ge.STRING,default:[],isArray:!0},pnpEnableEsmLoader:{description:"If true, Yarn will generate an ESM loader (`.pnp.loader.mjs`). If this is not explicitly set Yarn tries to automatically detect whether ESM support is required.",type:ge.BOOLEAN,default:!1},pnpEnableInlining:{description:"If true, the PnP data will be inlined along with the generated loader",type:ge.BOOLEAN,default:!0},pnpFallbackMode:{description:"If true, the generated PnP loader will follow the top-level fallback rule",type:ge.STRING,default:"dependencies-only"},pnpUnpluggedFolder:{description:"Folder where the unplugged packages must be stored",type:ge.ABSOLUTE_PATH,default:"./.yarn/unplugged"},pnpDataPath:{description:"Path of the file where the PnP data (used by the loader) must be written",type:ge.ABSOLUTE_PATH,default:"./.pnp.data.json"}},linkers:[jc],commands:[Ace]},m6e=C6e;var Cce=ie(dce());var uT=ie(require("crypto")),mce=ie(require("fs")),Ece=1,gi="node_modules",gT=".bin",Ice=".yarn-state.yml",Bi;(function(i){i.CLASSIC="classic",i.HARDLINKS_LOCAL="hardlinks-local",i.HARDLINKS_GLOBAL="hardlinks-global"})(Bi||(Bi={}));var fT=class{constructor(){this.installStateCache=new Map}supportsPackage(e,r){return r.project.configuration.get("nodeLinker")==="node-modules"}async findPackageLocation(e,r){let i=r.project.tryWorkspaceByLocator(e);if(i)return i.cwd;let n=await de.getFactoryWithDefault(this.installStateCache,r.project.cwd,async()=>await hT(r.project,{unrollAliases:!0}));if(n===null)throw new me("Couldn't find the node_modules state file - running an install might help (findPackageLocation)");let s=n.locatorMap.get(S.stringifyLocator(e));if(!s){let a=new me(`Couldn't find ${S.prettyLocator(r.project.configuration,e)} in the currently installed node_modules map - running an install might help`);throw a.code="LOCATOR_NOT_INSTALLED",a}let o=r.project.configuration.startingCwd;return s.locations.find(a=>v.contains(o,a))||s.locations[0]}async findPackageLocator(e,r){let i=await de.getFactoryWithDefault(this.installStateCache,r.project.cwd,async()=>await hT(r.project,{unrollAliases:!0}));if(i===null)return null;let{locationRoot:n,segments:s}=$0(v.resolve(e),{skipPrefix:r.project.cwd}),o=i.locationTree.get(n);if(!o)return null;let a=o.locator;for(let l of s){if(o=o.children.get(l),!o)break;a=o.locator||a}return S.parseLocator(a)}makeInstaller(e){return new yce(e)}},yce=class{constructor(e){this.opts=e;this.localStore=new Map;this.realLocatorChecksums=new Map;this.customData={store:new Map}}getCustomDataKey(){return JSON.stringify({name:"NodeModulesInstaller",version:1})}attachCustomData(e){this.customData=e}async installPackage(e,r){var u;let i=v.resolve(r.packageFs.getRealPath(),r.prefixPath),n=this.customData.store.get(e.locatorHash);if(typeof n=="undefined"&&(n=await L6e(e,r),e.linkType===gt.HARD&&this.customData.store.set(e.locatorHash,n)),!Ws.checkAndReportManifestCompatibility(e,"link",{configuration:this.opts.project.configuration,report:this.opts.report}))return{packageLocation:null,buildDirective:null};let s=new Map,o=new Set;s.has(S.stringifyIdent(e))||s.set(S.stringifyIdent(e),e.reference);let a=e;if(S.isVirtualLocator(e)){a=S.devirtualizeLocator(e);for(let g of e.peerDependencies.values())s.set(S.stringifyIdent(g),null),o.add(S.stringifyIdent(g))}let l={packageLocation:`${M.fromPortablePath(i)}/`,packageDependencies:s,packagePeers:o,linkType:e.linkType,discardFromLookup:(u=r.discardFromLookup)!=null?u:!1};this.localStore.set(e.locatorHash,{pkg:e,customPackageData:n,dependencyMeta:this.opts.project.getDependencyMeta(e,e.version),pnpNode:l});let c=r.checksum?r.checksum.substring(r.checksum.indexOf("/")+1):null;return this.realLocatorChecksums.set(a.locatorHash,c),{packageLocation:i,buildDirective:null}}async attachInternalDependencies(e,r){let i=this.localStore.get(e.locatorHash);if(typeof i=="undefined")throw new Error("Assertion failed: Expected information object to have been registered");for(let[n,s]of r){let o=S.areIdentsEqual(n,s)?s.reference:[S.stringifyIdent(s),s.reference];i.pnpNode.packageDependencies.set(S.stringifyIdent(n),o)}}async attachExternalDependents(e,r){throw new Error("External dependencies haven't been implemented for the node-modules linker")}async finalizeInstall(){if(this.opts.project.configuration.get("nodeLinker")!=="node-modules")return;let e=new Pr({baseFs:new Jn({libzip:await $i(),maxOpenFiles:80,readOnlyArchives:!0})}),r=await hT(this.opts.project),i=this.opts.project.configuration.get("nmMode");(r===null||i!==r.nmMode)&&(this.opts.project.storedBuildState.clear(),r={locatorMap:new Map,binSymlinks:new Map,locationTree:new Map,nmMode:i});let n=new Map(this.opts.project.workspaces.map(f=>{var p,d;let h=this.opts.project.configuration.get("nmHoistingLimits");try{h=de.validateEnum(Sn,(d=(p=f.manifest.installConfig)==null?void 0:p.hoistingLimits)!=null?d:h)}catch(m){let I=S.prettyWorkspace(this.opts.project.configuration,f);this.opts.report.reportWarning(z.INVALID_MANIFEST,`${I}: Invalid 'installConfig.hoistingLimits' value. Expected one of ${Object.values(Sn).join(", ")}, using default: "${h}"`)}return[f.relativeCwd,h]})),s=new Map(this.opts.project.workspaces.map(f=>{var p,d;let h=this.opts.project.configuration.get("nmSelfReferences");return h=(d=(p=f.manifest.installConfig)==null?void 0:p.selfReferences)!=null?d:h,[f.relativeCwd,h]})),o={VERSIONS:{std:1},topLevel:{name:null,reference:null},getLocator:(f,h)=>Array.isArray(h)?{name:h[0],reference:h[1]}:{name:f,reference:h},getDependencyTreeRoots:()=>this.opts.project.workspaces.map(f=>{let h=f.anchoredLocator;return{name:S.stringifyIdent(f.locator),reference:h.reference}}),getPackageInformation:f=>{let h=f.reference===null?this.opts.project.topLevelWorkspace.anchoredLocator:S.makeLocator(S.parseIdent(f.name),f.reference),p=this.localStore.get(h.locatorHash);if(typeof p=="undefined")throw new Error("Assertion failed: Expected the package reference to have been registered");return p.pnpNode},findPackageLocator:f=>{let h=this.opts.project.tryWorkspaceByCwd(M.toPortablePath(f));if(h!==null){let p=h.anchoredLocator;return{name:S.stringifyIdent(p),reference:p.reference}}throw new Error("Assertion failed: Unimplemented")},resolveToUnqualified:()=>{throw new Error("Assertion failed: Unimplemented")},resolveUnqualified:()=>{throw new Error("Assertion failed: Unimplemented")},resolveRequest:()=>{throw new Error("Assertion failed: Unimplemented")},resolveVirtual:f=>M.fromPortablePath(Pr.resolveVirtual(M.toPortablePath(f)))},{tree:a,errors:l,preserveSymlinksRequired:c}=VC(o,{pnpifyFs:!1,validateExternalSoftLinks:!0,hoistingLimitsByCwd:n,project:this.opts.project,selfReferencesByCwd:s});if(!a){for(let{messageName:f,text:h}of l)this.opts.report.reportError(f,h);return}let u=WL(a);await T6e(r,u,{baseFs:e,project:this.opts.project,report:this.opts.report,realLocatorChecksums:this.realLocatorChecksums,loadManifest:async f=>{let h=S.parseLocator(f),p=this.localStore.get(h.locatorHash);if(typeof p=="undefined")throw new Error("Assertion failed: Expected the slot to exist");return p.customPackageData.manifest}});let g=[];for(let[f,h]of u.entries()){if(wce(f))continue;let p=S.parseLocator(f),d=this.localStore.get(p.locatorHash);if(typeof d=="undefined")throw new Error("Assertion failed: Expected the slot to exist");if(this.opts.project.tryWorkspaceByLocator(d.pkg))continue;let m=Ws.extractBuildScripts(d.pkg,d.customPackageData,d.dependencyMeta,{configuration:this.opts.project.configuration,report:this.opts.report});m.length!==0&&g.push({buildLocations:h.locations,locatorHash:p.locatorHash,buildDirective:m})}return c&&this.opts.report.reportWarning(z.NM_PRESERVE_SYMLINKS_REQUIRED,`The application uses portals and that's why ${ue.pretty(this.opts.project.configuration,"--preserve-symlinks",ue.Type.CODE)} Node option is required for launching it`),{customData:this.customData,records:g}}};async function L6e(t,e){var n;let r=(n=await Ze.tryFind(e.prefixPath,{baseFs:e.packageFs}))!=null?n:new Ze,i=new Set(["preinstall","install","postinstall"]);for(let s of r.scripts.keys())i.has(s)||r.scripts.delete(s);return{manifest:{bin:r.bin,scripts:r.scripts},misc:{extractHint:Ws.getExtractHint(e),hasBindingGyp:Ws.hasBindingGyp(e)}}}async function M6e(t,e,r,i){let n="";n+=`# Warning: This file is automatically generated. Removing it is fine, but will +`,n+=`# cause your node_modules installation to become invalidated. +`,n+=` +`,n+=`__metadata: +`,n+=` version: ${Ece} +`,n+=` nmMode: ${i.value} +`;let s=Array.from(e.keys()).sort(),o=S.stringifyLocator(t.topLevelWorkspace.anchoredLocator);for(let c of s){let u=e.get(c);n+=` +`,n+=`${JSON.stringify(c)}: +`,n+=` locations: +`;for(let g of u.locations){let f=v.contains(t.cwd,g);if(f===null)throw new Error(`Assertion failed: Expected the path to be within the project (${g})`);n+=` - ${JSON.stringify(f)} +`}if(u.aliases.length>0){n+=` aliases: +`;for(let g of u.aliases)n+=` - ${JSON.stringify(g)} +`}if(c===o&&r.size>0){n+=` bin: +`;for(let[g,f]of r){let h=v.contains(t.cwd,g);if(h===null)throw new Error(`Assertion failed: Expected the path to be within the project (${g})`);n+=` ${JSON.stringify(h)}: +`;for(let[p,d]of f){let m=v.relative(v.join(g,gi),d);n+=` ${JSON.stringify(p)}: ${JSON.stringify(m)} +`}}}}let a=t.cwd,l=v.join(a,gi,Ice);await T.changeFilePromise(l,n,{automaticNewlines:!0})}async function hT(t,{unrollAliases:e=!1}={}){let r=t.cwd,i=v.join(r,gi,Ice);if(!T.existsSync(i))return null;let n=Ii(await T.readFilePromise(i,"utf8"));if(n.__metadata.version>Ece)return null;let s=n.__metadata.nmMode||Bi.CLASSIC,o=new Map,a=new Map;delete n.__metadata;for(let[l,c]of Object.entries(n)){let u=c.locations.map(f=>v.join(r,f)),g=c.bin;if(g)for(let[f,h]of Object.entries(g)){let p=v.join(r,M.toPortablePath(f)),d=de.getMapWithDefault(a,p);for(let[m,I]of Object.entries(h))d.set(kr(m),M.toPortablePath([p,gi,I].join(v.delimiter)))}if(o.set(l,{target:Se.dot,linkType:gt.HARD,locations:u,aliases:c.aliases||[]}),e&&c.aliases)for(let f of c.aliases){let{scope:h,name:p}=S.parseLocator(l),d=S.makeLocator(S.makeIdent(h,p),f),m=S.stringifyLocator(d);o.set(m,{target:Se.dot,linkType:gt.HARD,locations:u,aliases:[]})}}return{locatorMap:o,binSymlinks:a,locationTree:Bce(o,{skipPrefix:t.cwd}),nmMode:s}}var Ef=async(t,e)=>{if(t.split(v.sep).indexOf(gi)<0)throw new Error(`Assertion failed: trying to remove dir that doesn't contain node_modules: ${t}`);try{if(!e.innerLoop&&(await T.lstatPromise(t)).isSymbolicLink()){await T.unlinkPromise(t);return}let r=await T.readdirPromise(t,{withFileTypes:!0});for(let i of r){let n=v.join(t,kr(i.name));i.isDirectory()?(i.name!==gi||e&&e.innerLoop)&&await Ef(n,{innerLoop:!0,contentsOnly:!1}):await T.unlinkPromise(n)}e.contentsOnly||await T.rmdirPromise(t)}catch(r){if(r.code!=="ENOENT"&&r.code!=="ENOTEMPTY")throw r}},Qce=4,$0=(t,{skipPrefix:e})=>{let r=v.contains(e,t);if(r===null)throw new Error(`Assertion failed: Writing attempt prevented to ${t} which is outside project root: ${e}`);let i=r.split(v.sep).filter(l=>l!==""),n=i.indexOf(gi),s=i.slice(0,n).join(v.sep),o=v.join(e,s),a=i.slice(n);return{locationRoot:o,segments:a}},Bce=(t,{skipPrefix:e})=>{let r=new Map;if(t===null)return r;let i=()=>({children:new Map,linkType:gt.HARD});for(let[n,s]of t.entries()){if(s.linkType===gt.SOFT&&v.contains(e,s.target)!==null){let a=de.getFactoryWithDefault(r,s.target,i);a.locator=n,a.linkType=s.linkType}for(let o of s.locations){let{locationRoot:a,segments:l}=$0(o,{skipPrefix:e}),c=de.getFactoryWithDefault(r,a,i);for(let u=0;u{let r;try{process.platform==="win32"&&(r=await T.lstatPromise(t))}catch(i){}process.platform=="win32"&&(!r||r.isDirectory())?await T.symlinkPromise(t,e,"junction"):await T.symlinkPromise(v.relative(v.dirname(e),t),e)};async function bce(t,e,r){let i=v.join(t,kr(`${uT.default.randomBytes(16).toString("hex")}.tmp`));try{await T.writeFilePromise(i,r);try{await T.linkPromise(i,e)}catch(n){}}finally{await T.unlinkPromise(i)}}async function O6e({srcPath:t,dstPath:e,srcMode:r,globalHardlinksStore:i,baseFs:n,nmMode:s,digest:o}){if(s.value===Bi.HARDLINKS_GLOBAL&&i&&o){let l=v.join(i,o.substring(0,2),`${o.substring(2)}.dat`),c;try{if(await mn.checksumFile(l,{baseFs:T,algorithm:"sha1"})!==o){let g=v.join(i,kr(`${uT.default.randomBytes(16).toString("hex")}.tmp`));await T.renamePromise(l,g);let f=await n.readFilePromise(t);await T.writeFilePromise(g,f);try{await T.linkPromise(g,l),await T.unlinkPromise(g)}catch(h){}}await T.linkPromise(l,e),c=!0}catch(u){c=!1}if(!c){let u=await n.readFilePromise(t);await bce(i,l,u);try{await T.linkPromise(l,e)}catch(g){g&&g.code&&g.code=="EXDEV"&&(s.value=Bi.HARDLINKS_LOCAL,await n.copyFilePromise(t,e))}}}else await n.copyFilePromise(t,e);let a=r&511;a!==420&&await T.chmodPromise(e,a)}var JA;(function(i){i.FILE="file",i.DIRECTORY="directory",i.SYMLINK="symlink"})(JA||(JA={}));var K6e=async(t,e,{baseFs:r,globalHardlinksStore:i,nmMode:n,packageChecksum:s})=>{await T.mkdirPromise(t,{recursive:!0});let o=async(l=Se.dot)=>{let c=v.join(e,l),u=await r.readdirPromise(c,{withFileTypes:!0}),g=new Map;for(let f of u){let h=v.join(l,f.name),p,d=v.join(c,f.name);if(f.isFile()){if(p={kind:JA.FILE,mode:(await r.lstatPromise(d)).mode},n.value===Bi.HARDLINKS_GLOBAL){let m=await mn.checksumFile(d,{baseFs:r,algorithm:"sha1"});p.digest=m}}else if(f.isDirectory())p={kind:JA.DIRECTORY};else if(f.isSymbolicLink())p={kind:JA.SYMLINK,symlinkTo:await r.readlinkPromise(d)};else throw new Error(`Unsupported file type (file: ${d}, mode: 0o${await r.statSync(d).mode.toString(8).padStart(6,"0")})`);if(g.set(h,p),f.isDirectory()&&h!==gi){let m=await o(h);for(let[I,B]of m)g.set(I,B)}}return g},a;if(n.value===Bi.HARDLINKS_GLOBAL&&i&&s){let l=v.join(i,s.substring(0,2),`${s.substring(2)}.json`);try{a=new Map(Object.entries(JSON.parse(await T.readFilePromise(l,"utf8"))))}catch(c){a=await o(),await bce(i,l,Buffer.from(JSON.stringify(Object.fromEntries(a))))}}else a=await o();for(let[l,c]of a){let u=v.join(e,l),g=v.join(t,l);c.kind===JA.DIRECTORY?await T.mkdirPromise(g,{recursive:!0}):c.kind===JA.FILE?await O6e({srcPath:u,dstPath:g,srcMode:c.mode,digest:c.digest,nmMode:n,baseFs:r,globalHardlinksStore:i}):c.kind===JA.SYMLINK&&await pT(v.resolve(v.dirname(g),c.symlinkTo),g)}};function U6e(t,e){let r=new Map([...t]),i=new Map([...e]);for(let[n,s]of t){let o=v.join(n,gi);if(!T.existsSync(o)){s.children.delete(gi);for(let a of i.keys())v.contains(o,a)!==null&&i.delete(a)}}return{locationTree:r,binSymlinks:i}}function wce(t){let e=S.parseDescriptor(t);return S.isVirtualDescriptor(e)&&(e=S.devirtualizeDescriptor(e)),e.range.startsWith("link:")}async function H6e(t,e,r,{loadManifest:i}){let n=new Map;for(let[a,{locations:l}]of t){let c=wce(a)?null:await i(a,l[0]),u=new Map;if(c)for(let[g,f]of c.bin){let h=v.join(l[0],f);f!==""&&T.existsSync(h)&&u.set(g,f)}n.set(a,u)}let s=new Map,o=(a,l,c)=>{let u=new Map,g=v.contains(r,a);if(c.locator&&g!==null){let f=n.get(c.locator);for(let[h,p]of f){let d=v.join(a,M.toPortablePath(p));u.set(kr(h),d)}for(let[h,p]of c.children){let d=v.join(a,h),m=o(d,d,p);m.size>0&&s.set(a,new Map([...s.get(a)||new Map,...m]))}}else for(let[f,h]of c.children){let p=o(v.join(a,f),l,h);for(let[d,m]of p)u.set(d,m)}return u};for(let[a,l]of e){let c=o(a,a,l);c.size>0&&s.set(a,new Map([...s.get(a)||new Map,...c]))}return s}var vce=(t,e)=>{if(!t||!e)return t===e;let r=S.parseLocator(t);S.isVirtualLocator(r)&&(r=S.devirtualizeLocator(r));let i=S.parseLocator(e);return S.isVirtualLocator(i)&&(i=S.devirtualizeLocator(i)),S.areLocatorsEqual(r,i)};function dT(t){return v.join(t.get("globalFolder"),"store")}async function T6e(t,e,{baseFs:r,project:i,report:n,loadManifest:s,realLocatorChecksums:o}){let a=v.join(i.cwd,gi),{locationTree:l,binSymlinks:c}=U6e(t.locationTree,t.binSymlinks),u=Bce(e,{skipPrefix:i.cwd}),g=[],f=async({srcDir:L,dstDir:K,linkType:J,globalHardlinksStore:ne,nmMode:q,packageChecksum:A})=>{let V=(async()=>{try{J===gt.SOFT?(await T.mkdirPromise(v.dirname(K),{recursive:!0}),await pT(v.resolve(L),K)):await K6e(K,L,{baseFs:r,globalHardlinksStore:ne,nmMode:q,packageChecksum:A})}catch(W){throw W.message=`While persisting ${L} -> ${K} ${W.message}`,W}finally{B.tick()}})().then(()=>g.splice(g.indexOf(V),1));g.push(V),g.length>Qce&&await Promise.race(g)},h=async(L,K,J)=>{let ne=(async()=>{let q=async(A,V,W)=>{try{W.innerLoop||await T.mkdirPromise(V,{recursive:!0});let X=await T.readdirPromise(A,{withFileTypes:!0});for(let F of X){if(!W.innerLoop&&F.name===gT)continue;let D=v.join(A,F.name),he=v.join(V,F.name);F.isDirectory()?(F.name!==gi||W&&W.innerLoop)&&(await T.mkdirPromise(he,{recursive:!0}),await q(D,he,_(P({},W),{innerLoop:!0}))):H.value===Bi.HARDLINKS_LOCAL||H.value===Bi.HARDLINKS_GLOBAL?await T.linkPromise(D,he):await T.copyFilePromise(D,he,mce.default.constants.COPYFILE_FICLONE)}}catch(X){throw W.innerLoop||(X.message=`While cloning ${A} -> ${V} ${X.message}`),X}finally{W.innerLoop||B.tick()}};await q(L,K,J)})().then(()=>g.splice(g.indexOf(ne),1));g.push(ne),g.length>Qce&&await Promise.race(g)},p=async(L,K,J)=>{if(!J)K.children.has(gi)&&await Ef(v.join(L,gi),{contentsOnly:!1}),await Ef(L,{contentsOnly:L===a});else for(let[ne,q]of K.children){let A=J.children.get(ne);await p(v.join(L,ne),q,A)}};for(let[L,K]of l){let J=u.get(L);for(let[ne,q]of K.children){if(ne===".")continue;let A=J&&J.children.get(ne);await p(v.join(L,ne),q,A)}}let d=async(L,K,J)=>{if(!J)K.children.has(gi)&&await Ef(v.join(L,gi),{contentsOnly:!0}),await Ef(L,{contentsOnly:K.linkType===gt.HARD});else{vce(K.locator,J.locator)||await Ef(L,{contentsOnly:K.linkType===gt.HARD});for(let[ne,q]of K.children){let A=J.children.get(ne);await d(v.join(L,ne),q,A)}}};for(let[L,K]of u){let J=l.get(L);for(let[ne,q]of K.children){if(ne===".")continue;let A=J&&J.children.get(ne);await d(v.join(L,ne),q,A)}}let m=new Map,I=[];for(let[L,{locations:K}]of t.locatorMap.entries())for(let J of K){let{locationRoot:ne,segments:q}=$0(J,{skipPrefix:i.cwd}),A=u.get(ne),V=ne;if(A){for(let W of q)if(V=v.join(V,W),A=A.children.get(W),!A)break;if(A){let W=vce(A.locator,L),X=e.get(A.locator),F=X.target,D=V,he=X.linkType;if(W)m.has(F)||m.set(F,D);else if(F!==D){let pe=S.parseLocator(A.locator);S.isVirtualLocator(pe)&&(pe=S.devirtualizeLocator(pe)),I.push({srcDir:F,dstDir:D,linkType:he,realLocatorHash:pe.locatorHash})}}}}for(let[L,{locations:K}]of e.entries())for(let J of K){let{locationRoot:ne,segments:q}=$0(J,{skipPrefix:i.cwd}),A=l.get(ne),V=u.get(ne),W=ne,X=e.get(L),F=S.parseLocator(L);S.isVirtualLocator(F)&&(F=S.devirtualizeLocator(F));let D=F.locatorHash,he=X.target,pe=J;if(he===pe)continue;let Ne=X.linkType;for(let Pe of q)V=V.children.get(Pe);if(!A)I.push({srcDir:he,dstDir:pe,linkType:Ne,realLocatorHash:D});else for(let Pe of q)if(W=v.join(W,Pe),A=A.children.get(Pe),!A){I.push({srcDir:he,dstDir:pe,linkType:Ne,realLocatorHash:D});break}}let B=Xi.progressViaCounter(I.length),b=n.reportProgress(B),R=i.configuration.get("nmMode"),H={value:R};try{let L=H.value===Bi.HARDLINKS_GLOBAL?`${dT(i.configuration)}/v1`:null;if(L&&!await T.existsPromise(L)){await T.mkdirpPromise(L);for(let J=0;J<256;J++)await T.mkdirPromise(v.join(L,J.toString(16).padStart(2,"0")))}for(let J of I)(J.linkType===gt.SOFT||!m.has(J.srcDir))&&(m.set(J.srcDir,J.dstDir),await f(_(P({},J),{globalHardlinksStore:L,nmMode:H,packageChecksum:o.get(J.realLocatorHash)||null})));await Promise.all(g),g.length=0;for(let J of I){let ne=m.get(J.srcDir);J.linkType!==gt.SOFT&&J.dstDir!==ne&&await h(ne,J.dstDir,{nmMode:H})}await Promise.all(g),await T.mkdirPromise(a,{recursive:!0});let K=await H6e(e,u,i.cwd,{loadManifest:s});await G6e(c,K,i.cwd),await M6e(i,e,K,H),R==Bi.HARDLINKS_GLOBAL&&H.value==Bi.HARDLINKS_LOCAL&&n.reportWarningOnce(z.NM_HARDLINKS_MODE_DOWNGRADED,"'nmMode' has been downgraded to 'hardlinks-local' due to global cache and install folder being on different devices")}finally{b.stop()}}async function G6e(t,e,r){for(let i of t.keys()){if(v.contains(r,i)===null)throw new Error(`Assertion failed. Excepted bin symlink location to be inside project dir, instead it was at ${i}`);if(!e.has(i)){let n=v.join(i,gi,gT);await T.removePromise(n)}}for(let[i,n]of e){if(v.contains(r,i)===null)throw new Error(`Assertion failed. Excepted bin symlink location to be inside project dir, instead it was at ${i}`);let s=v.join(i,gi,gT),o=t.get(i)||new Map;await T.mkdirPromise(s,{recursive:!0});for(let a of o.keys())n.has(a)||(await T.removePromise(v.join(s,a)),process.platform==="win32"&&await T.removePromise(v.join(s,kr(`${a}.cmd`))));for(let[a,l]of n){let c=o.get(a),u=v.join(s,a);c!==l&&(process.platform==="win32"?await(0,Cce.default)(M.fromPortablePath(l),M.fromPortablePath(u),{createPwshFile:!1}):(await T.removePromise(u),await pT(l,u),v.contains(r,await T.realpathPromise(l))!==null&&await T.chmodPromise(l,493)))}}}var CT=class extends jc{constructor(){super(...arguments);this.mode="loose"}makeInstaller(e){return new Sce(e)}},Sce=class extends Cf{constructor(){super(...arguments);this.mode="loose"}async transformPnpSettings(e){let r=new Pr({baseFs:new Jn({libzip:await $i(),maxOpenFiles:80,readOnlyArchives:!0})}),i=ice(e,this.opts.project.cwd,r),{tree:n,errors:s}=VC(i,{pnpifyFs:!1,project:this.opts.project});if(!n){for(let{messageName:u,text:g}of s)this.opts.report.reportError(u,g);return}let o=new Map;e.fallbackPool=o;let a=(u,g)=>{let f=S.parseLocator(g.locator),h=S.stringifyIdent(f);h===u?o.set(u,f.reference):o.set(u,[h,f.reference])},l=v.join(this.opts.project.cwd,wt.nodeModules),c=n.get(l);if(typeof c!="undefined"){if("target"in c)throw new Error("Assertion failed: Expected the root junction point to be a directory");for(let u of c.dirList){let g=v.join(l,u),f=n.get(g);if(typeof f=="undefined")throw new Error("Assertion failed: Expected the child to have been registered");if("target"in f)a(u,f);else for(let h of f.dirList){let p=v.join(g,h),d=n.get(p);if(typeof d=="undefined")throw new Error("Assertion failed: Expected the subchild to have been registered");if("target"in d)a(`${u}/${h}`,d);else throw new Error("Assertion failed: Expected the leaf junction to be a package")}}}}};var j6e={hooks:{cleanGlobalArtifacts:async t=>{let e=dT(t);await T.removePromise(e)}},configuration:{nmHoistingLimits:{description:"Prevent packages to be hoisted past specific levels",type:ge.STRING,values:[Sn.WORKSPACES,Sn.DEPENDENCIES,Sn.NONE],default:Sn.NONE},nmMode:{description:'If set to "hardlinks-local" Yarn will utilize hardlinks to reduce disk space consumption inside "node_modules" directories. With "hardlinks-global" Yarn will use global content addressable storage to reduce "node_modules" size across all the projects using this option.',type:ge.STRING,values:[Bi.CLASSIC,Bi.HARDLINKS_LOCAL,Bi.HARDLINKS_GLOBAL],default:Bi.CLASSIC},nmSelfReferences:{description:"If set to 'false' the workspace will not be allowed to require itself and corresponding self-referencing symlink will not be created",type:ge.BOOLEAN,default:!0}},linkers:[fT,CT]},Y6e=j6e;var yM={};it(yM,{default:()=>Z7e,npmConfigUtils:()=>gr,npmHttpUtils:()=>Lt,npmPublishUtils:()=>Rf});var Rce=ie(Or());var ir="npm:";var Lt={};it(Lt,{AuthType:()=>jn,customPackageError:()=>W6e,del:()=>_6e,get:()=>zs,getIdentUrl:()=>zA,handleInvalidAuthenticationError:()=>WA,post:()=>z6e,put:()=>V6e});var Pce=ie(aC()),Dce=ie(require("url"));var gr={};it(gr,{RegistryType:()=>ja,getAuditRegistry:()=>q6e,getAuthConfiguration:()=>IT,getDefaultRegistry:()=>eQ,getPublishRegistry:()=>xce,getRegistryConfiguration:()=>kce,getScopeConfiguration:()=>ET,getScopeRegistry:()=>Ya,normalizeRegistry:()=>To});var ja;(function(i){i.AUDIT_REGISTRY="npmAuditRegistry",i.FETCH_REGISTRY="npmRegistryServer",i.PUBLISH_REGISTRY="npmPublishRegistry"})(ja||(ja={}));function To(t){return t.replace(/\/$/,"")}function q6e(t,{configuration:e}){let r=e.get(ja.AUDIT_REGISTRY);return r!==null?To(r):xce(t,{configuration:e})}function xce(t,{configuration:e}){var r;return((r=t.publishConfig)==null?void 0:r.registry)?To(t.publishConfig.registry):t.name?Ya(t.name.scope,{configuration:e,type:ja.PUBLISH_REGISTRY}):eQ({configuration:e,type:ja.PUBLISH_REGISTRY})}function Ya(t,{configuration:e,type:r=ja.FETCH_REGISTRY}){let i=ET(t,{configuration:e});if(i===null)return eQ({configuration:e,type:r});let n=i.get(r);return n===null?eQ({configuration:e,type:r}):To(n)}function eQ({configuration:t,type:e=ja.FETCH_REGISTRY}){let r=t.get(e);return To(r!==null?r:t.get(ja.FETCH_REGISTRY))}function kce(t,{configuration:e}){let r=e.get("npmRegistries"),i=To(t),n=r.get(i);if(typeof n!="undefined")return n;let s=r.get(i.replace(/^[a-z]+:/,""));return typeof s!="undefined"?s:null}function ET(t,{configuration:e}){if(t===null)return null;let i=e.get("npmScopes").get(t);return i||null}function IT(t,{configuration:e,ident:r}){let i=r&&ET(r.scope,{configuration:e});return(i==null?void 0:i.get("npmAuthIdent"))||(i==null?void 0:i.get("npmAuthToken"))?i:kce(t,{configuration:e})||e}var jn;(function(n){n[n.NO_AUTH=0]="NO_AUTH",n[n.BEST_EFFORT=1]="BEST_EFFORT",n[n.CONFIGURATION=2]="CONFIGURATION",n[n.ALWAYS_AUTH=3]="ALWAYS_AUTH"})(jn||(jn={}));async function WA(t,{attemptedAs:e,registry:r,headers:i,configuration:n}){var s,o;if(((s=t.originalError)==null?void 0:s.name)==="HTTPError"&&((o=t.originalError)==null?void 0:o.response.statusCode)===401)throw new nt(z.AUTHENTICATION_INVALID,`Invalid authentication (${typeof e!="string"?`as ${await J6e(r,i,{configuration:n})}`:`attempted as ${e}`})`)}function W6e(t){var e;return((e=t.response)==null?void 0:e.statusCode)===404?"Package not found":null}function zA(t){return t.scope?`/@${t.scope}%2f${t.name}`:`/${t.name}`}async function zs(t,a){var l=a,{configuration:e,headers:r,ident:i,authType:n,registry:s}=l,o=qr(l,["configuration","headers","ident","authType","registry"]);if(i&&typeof s=="undefined"&&(s=Ya(i.scope,{configuration:e})),i&&i.scope&&typeof n=="undefined"&&(n=1),typeof s!="string")throw new Error("Assertion failed: The registry should be a string");let c=await tQ(s,{authType:n,configuration:e,ident:i});c&&(r=_(P({},r),{authorization:c}));try{return await Zt.get(t.charAt(0)==="/"?`${s}${t}`:t,P({configuration:e,headers:r},o))}catch(u){throw await WA(u,{registry:s,configuration:e,headers:r}),u}}async function z6e(t,e,c){var u=c,{attemptedAs:r,configuration:i,headers:n,ident:s,authType:o=3,registry:a}=u,l=qr(u,["attemptedAs","configuration","headers","ident","authType","registry"]);if(s&&typeof a=="undefined"&&(a=Ya(s.scope,{configuration:i})),typeof a!="string")throw new Error("Assertion failed: The registry should be a string");let g=await tQ(a,{authType:o,configuration:i,ident:s});g&&(n=_(P({},n),{authorization:g}));try{return await Zt.post(a+t,e,P({configuration:i,headers:n},l))}catch(f){if(!wT(f))throw await WA(f,{attemptedAs:r,registry:a,configuration:i,headers:n}),f;let h=await yT(),p=P(P({},n),BT(h));try{return await Zt.post(`${a}${t}`,e,P({configuration:i,headers:p},l))}catch(d){throw await WA(d,{attemptedAs:r,registry:a,configuration:i,headers:n}),d}}}async function V6e(t,e,c){var u=c,{attemptedAs:r,configuration:i,headers:n,ident:s,authType:o=3,registry:a}=u,l=qr(u,["attemptedAs","configuration","headers","ident","authType","registry"]);if(s&&typeof a=="undefined"&&(a=Ya(s.scope,{configuration:i})),typeof a!="string")throw new Error("Assertion failed: The registry should be a string");let g=await tQ(a,{authType:o,configuration:i,ident:s});g&&(n=_(P({},n),{authorization:g}));try{return await Zt.put(a+t,e,P({configuration:i,headers:n},l))}catch(f){if(!wT(f))throw await WA(f,{attemptedAs:r,registry:a,configuration:i,headers:n}),f;let h=await yT(),p=P(P({},n),BT(h));try{return await Zt.put(`${a}${t}`,e,P({configuration:i,headers:p},l))}catch(d){throw await WA(d,{attemptedAs:r,registry:a,configuration:i,headers:n}),d}}}async function _6e(t,l){var c=l,{attemptedAs:e,configuration:r,headers:i,ident:n,authType:s=3,registry:o}=c,a=qr(c,["attemptedAs","configuration","headers","ident","authType","registry"]);if(n&&typeof o=="undefined"&&(o=Ya(n.scope,{configuration:r})),typeof o!="string")throw new Error("Assertion failed: The registry should be a string");let u=await tQ(o,{authType:s,configuration:r,ident:n});u&&(i=_(P({},i),{authorization:u}));try{return await Zt.del(o+t,P({configuration:r,headers:i},a))}catch(g){if(!wT(g))throw await WA(g,{attemptedAs:e,registry:o,configuration:r,headers:i}),g;let f=await yT(),h=P(P({},i),BT(f));try{return await Zt.del(`${o}${t}`,P({configuration:r,headers:h},a))}catch(p){throw await WA(p,{attemptedAs:e,registry:o,configuration:r,headers:i}),p}}}async function tQ(t,{authType:e=2,configuration:r,ident:i}){let n=IT(t,{configuration:r,ident:i}),s=X6e(n,e);if(!s)return null;let o=await r.reduceHook(a=>a.getNpmAuthenticationHeader,void 0,t,{configuration:r,ident:i});if(o)return o;if(n.get("npmAuthToken"))return`Bearer ${n.get("npmAuthToken")}`;if(n.get("npmAuthIdent")){let a=n.get("npmAuthIdent");return a.includes(":")?`Basic ${Buffer.from(a).toString("base64")}`:`Basic ${a}`}if(s&&e!==1)throw new nt(z.AUTHENTICATION_NOT_FOUND,"No authentication configured for request");return null}function X6e(t,e){switch(e){case 2:return t.get("npmAlwaysAuth");case 1:case 3:return!0;case 0:return!1;default:throw new Error("Unreachable")}}async function J6e(t,e,{configuration:r}){var i;if(typeof e=="undefined"||typeof e.authorization=="undefined")return"an anonymous user";try{return(i=(await Zt.get(new Dce.URL(`${t}/-/whoami`).href,{configuration:r,headers:e,jsonResponse:!0})).username)!=null?i:"an unknown user"}catch{return"an unknown user"}}async function yT(){if(process.env.TEST_ENV)return process.env.TEST_NPM_2FA_TOKEN||"";let{otp:t}=await(0,Pce.prompt)({type:"password",name:"otp",message:"One-time password:",required:!0,onCancel:()=>process.exit(130)});return t}function wT(t){var e,r;if(((e=t.originalError)==null?void 0:e.name)!=="HTTPError")return!1;try{return((r=t.originalError)==null?void 0:r.response.headers["www-authenticate"].split(/,\s*/).map(n=>n.toLowerCase())).includes("otp")}catch(i){return!1}}function BT(t){return{["npm-otp"]:t}}var QT=class{supports(e,r){if(!e.reference.startsWith(ir))return!1;let{selector:i,params:n}=S.parseRange(e.reference);return!(!Rce.default.valid(i)||n===null||typeof n.__archiveUrl!="string")}getLocalPath(e,r){return null}async fetch(e,r){let i=r.checksums.get(e.locatorHash)||null,[n,s,o]=await r.cache.fetchPackageFromCache(e,i,P({onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${S.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the remote server`),loader:()=>this.fetchFromNetwork(e,r),skipIntegrityCheck:r.skipIntegrityCheck},r.cacheOptions));return{packageFs:n,releaseFs:s,prefixPath:S.getIdentVendorPath(e),checksum:o}}async fetchFromNetwork(e,r){let{params:i}=S.parseRange(e.reference);if(i===null||typeof i.__archiveUrl!="string")throw new Error("Assertion failed: The archiveUrl querystring parameter should have been available");let n=await zs(i.__archiveUrl,{configuration:r.project.configuration,ident:e});return await Ai.convertToZip(n,{compressionLevel:r.project.configuration.get("compressionLevel"),prefixPath:S.getIdentVendorPath(e),stripComponents:1})}};var bT=class{supportsDescriptor(e,r){return!(!e.range.startsWith(ir)||!S.tryParseDescriptor(e.range.slice(ir.length),!0))}supportsLocator(e,r){return!1}shouldPersistResolution(e,r){throw new Error("Unreachable")}bindDescriptor(e,r,i){return e}getResolutionDependencies(e,r){let i=S.parseDescriptor(e.range.slice(ir.length),!0);return r.resolver.getResolutionDependencies(i,r)}async getCandidates(e,r,i){let n=S.parseDescriptor(e.range.slice(ir.length),!0);return await i.resolver.getCandidates(n,r,i)}async getSatisfying(e,r,i){let n=S.parseDescriptor(e.range.slice(ir.length),!0);return i.resolver.getSatisfying(n,r,i)}resolve(e,r){throw new Error("Unreachable")}};var vT=ie(Or()),Fce=ie(require("url"));var Vs=class{supports(e,r){if(!e.reference.startsWith(ir))return!1;let i=new Fce.URL(e.reference);return!(!vT.default.valid(i.pathname)||i.searchParams.has("__archiveUrl"))}getLocalPath(e,r){return null}async fetch(e,r){let i=r.checksums.get(e.locatorHash)||null,[n,s,o]=await r.cache.fetchPackageFromCache(e,i,P({onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${S.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the remote registry`),loader:()=>this.fetchFromNetwork(e,r),skipIntegrityCheck:r.skipIntegrityCheck},r.cacheOptions));return{packageFs:n,releaseFs:s,prefixPath:S.getIdentVendorPath(e),checksum:o}}async fetchFromNetwork(e,r){let i;try{i=await zs(Vs.getLocatorUrl(e),{configuration:r.project.configuration,ident:e})}catch(n){i=await zs(Vs.getLocatorUrl(e).replace(/%2f/g,"/"),{configuration:r.project.configuration,ident:e})}return await Ai.convertToZip(i,{compressionLevel:r.project.configuration.get("compressionLevel"),prefixPath:S.getIdentVendorPath(e),stripComponents:1})}static isConventionalTarballUrl(e,r,{configuration:i}){let n=Ya(e.scope,{configuration:i}),s=Vs.getLocatorUrl(e);return r=r.replace(/^https?:(\/\/(?:[^/]+\.)?npmjs.org(?:$|\/))/,"https:$1"),n=n.replace(/^https:\/\/registry\.npmjs\.org($|\/)/,"https://registry.yarnpkg.com$1"),r=r.replace(/^https:\/\/registry\.npmjs\.org($|\/)/,"https://registry.yarnpkg.com$1"),r===n+s||r===n+s.replace(/%2f/g,"/")}static getLocatorUrl(e){let r=vT.default.clean(e.reference.slice(ir.length));if(r===null)throw new nt(z.RESOLVER_NOT_FOUND,"The npm semver resolver got selected, but the version isn't semver");return`${zA(e)}/-/${e.name}-${r}.tgz`}};var ST=ie(Or());var rQ=S.makeIdent(null,"node-gyp"),Z6e=/\b(node-gyp|prebuild-install)\b/,xT=class{supportsDescriptor(e,r){return e.range.startsWith(ir)?!!qt.validRange(e.range.slice(ir.length)):!1}supportsLocator(e,r){if(!e.reference.startsWith(ir))return!1;let{selector:i}=S.parseRange(e.reference);return!!ST.default.valid(i)}shouldPersistResolution(e,r){return!0}bindDescriptor(e,r,i){return e}getResolutionDependencies(e,r){return[]}async getCandidates(e,r,i){let n=qt.validRange(e.range.slice(ir.length));if(n===null)throw new Error(`Expected a valid range, got ${e.range.slice(ir.length)}`);let s=await zs(zA(e),{configuration:i.project.configuration,ident:e,jsonResponse:!0}),o=de.mapAndFilter(Object.keys(s.versions),c=>{try{let u=new qt.SemVer(c);if(n.test(u))return u}catch{}return de.mapAndFilter.skip}),a=o.filter(c=>!s.versions[c.raw].deprecated),l=a.length>0?a:o;return l.sort((c,u)=>-c.compare(u)),l.map(c=>{let u=S.makeLocator(e,`${ir}${c.raw}`),g=s.versions[c.raw].dist.tarball;return Vs.isConventionalTarballUrl(u,g,{configuration:i.project.configuration})?u:S.bindLocator(u,{__archiveUrl:g})})}async getSatisfying(e,r,i){let n=qt.validRange(e.range.slice(ir.length));if(n===null)throw new Error(`Expected a valid range, got ${e.range.slice(ir.length)}`);return de.mapAndFilter(r,s=>{try{let{selector:o}=S.parseRange(s,{requireProtocol:ir}),a=new qt.SemVer(o);if(n.test(a))return{reference:s,version:a}}catch{}return de.mapAndFilter.skip}).sort((s,o)=>-s.version.compare(o.version)).map(({reference:s})=>S.makeLocator(e,s))}async resolve(e,r){let{selector:i}=S.parseRange(e.reference),n=ST.default.clean(i);if(n===null)throw new nt(z.RESOLVER_NOT_FOUND,"The npm semver resolver got selected, but the version isn't semver");let s=await zs(zA(e),{configuration:r.project.configuration,ident:e,jsonResponse:!0});if(!Object.prototype.hasOwnProperty.call(s,"versions"))throw new nt(z.REMOTE_INVALID,'Registry returned invalid data for - missing "versions" field');if(!Object.prototype.hasOwnProperty.call(s.versions,n))throw new nt(z.REMOTE_NOT_FOUND,`Registry failed to return reference "${n}"`);let o=new Ze;if(o.load(s.versions[n]),!o.dependencies.has(rQ.identHash)&&!o.peerDependencies.has(rQ.identHash)){for(let a of o.scripts.values())if(a.match(Z6e)){o.dependencies.set(rQ.identHash,S.makeDescriptor(rQ,"latest")),r.report.reportWarningOnce(z.NODE_GYP_INJECTED,`${S.prettyLocator(r.project.configuration,e)}: Implicit dependencies on node-gyp are discouraged`);break}}return typeof o.raw.deprecated=="string"&&r.report.reportWarningOnce(z.DEPRECATED_PACKAGE,`${S.prettyLocator(r.project.configuration,e)} is deprecated: ${o.raw.deprecated}`),_(P({},e),{version:n,languageName:"node",linkType:gt.HARD,conditions:o.getConditions(),dependencies:o.dependencies,peerDependencies:o.peerDependencies,dependenciesMeta:o.dependenciesMeta,peerDependenciesMeta:o.peerDependenciesMeta,bin:o.bin})}};var kT=class{supportsDescriptor(e,r){return!(!e.range.startsWith(ir)||!Rg.test(e.range.slice(ir.length)))}supportsLocator(e,r){return!1}shouldPersistResolution(e,r){throw new Error("Unreachable")}bindDescriptor(e,r,i){return e}getResolutionDependencies(e,r){return[]}async getCandidates(e,r,i){let n=e.range.slice(ir.length),s=await zs(zA(e),{configuration:i.project.configuration,ident:e,jsonResponse:!0});if(!Object.prototype.hasOwnProperty.call(s,"dist-tags"))throw new nt(z.REMOTE_INVALID,'Registry returned invalid data - missing "dist-tags" field');let o=s["dist-tags"];if(!Object.prototype.hasOwnProperty.call(o,n))throw new nt(z.REMOTE_NOT_FOUND,`Registry failed to return tag "${n}"`);let a=o[n],l=S.makeLocator(e,`${ir}${a}`),c=s.versions[a].dist.tarball;return Vs.isConventionalTarballUrl(l,c,{configuration:i.project.configuration})?[l]:[S.bindLocator(l,{__archiveUrl:c})]}async getSatisfying(e,r,i){return null}async resolve(e,r){throw new Error("Unreachable")}};var Rf={};it(Rf,{getGitHead:()=>_7e,makePublishBody:()=>V7e});var CM={};it(CM,{default:()=>D7e,packUtils:()=>za});var za={};it(za,{genPackList:()=>QQ,genPackStream:()=>dM,genPackageManifest:()=>age,hasPackScripts:()=>hM,prepareForPack:()=>pM});var fM=ie(Nn()),sge=ie(nge()),oge=ie(require("zlib")),I7e=["/package.json","/readme","/readme.*","/license","/license.*","/licence","/licence.*","/changelog","/changelog.*"],y7e=["/package.tgz",".github",".git",".hg","node_modules",".npmignore",".gitignore",".#*",".DS_Store"];async function hM(t){return!!(Kt.hasWorkspaceScript(t,"prepack")||Kt.hasWorkspaceScript(t,"postpack"))}async function pM(t,{report:e},r){await Kt.maybeExecuteWorkspaceLifecycleScript(t,"prepack",{report:e});try{let i=v.join(t.cwd,Ze.fileName);await T.existsPromise(i)&&await t.manifest.loadFile(i,{baseFs:T}),await r()}finally{await Kt.maybeExecuteWorkspaceLifecycleScript(t,"postpack",{report:e})}}async function dM(t,e){var s,o;typeof e=="undefined"&&(e=await QQ(t));let r=new Set;for(let a of(o=(s=t.manifest.publishConfig)==null?void 0:s.executableFiles)!=null?o:new Set)r.add(v.normalize(a));for(let a of t.manifest.bin.values())r.add(v.normalize(a));let i=sge.default.pack();process.nextTick(async()=>{for(let a of e){let l=v.normalize(a),c=v.resolve(t.cwd,l),u=v.join("package",l),g=await T.lstatPromise(c),f={name:u,mtime:new Date(mr.SAFE_TIME*1e3)},h=r.has(l)?493:420,p,d,m=new Promise((B,b)=>{p=B,d=b}),I=B=>{B?d(B):p()};if(g.isFile()){let B;l==="package.json"?B=Buffer.from(JSON.stringify(await age(t),null,2)):B=await T.readFilePromise(c),i.entry(_(P({},f),{mode:h,type:"file"}),B,I)}else g.isSymbolicLink()?i.entry(_(P({},f),{mode:h,type:"symlink",linkname:await T.readlinkPromise(c)}),I):I(new Error(`Unsupported file type ${g.mode} for ${M.fromPortablePath(l)}`));await m}i.finalize()});let n=(0,oge.createGzip)();return i.pipe(n),n}async function age(t){let e=JSON.parse(JSON.stringify(t.manifest.raw));return await t.project.configuration.triggerHook(r=>r.beforeWorkspacePacking,t,e),e}async function QQ(t){var g,f,h,p,d,m,I,B;let e=t.project,r=e.configuration,i={accept:[],reject:[]};for(let b of y7e)i.reject.push(b);for(let b of I7e)i.accept.push(b);i.reject.push(r.get("rcFilename"));let n=b=>{if(b===null||!b.startsWith(`${t.cwd}/`))return;let R=v.relative(t.cwd,b),H=v.resolve(Se.root,R);i.reject.push(H)};n(v.resolve(e.cwd,r.get("lockfileFilename"))),n(r.get("cacheFolder")),n(r.get("globalFolder")),n(r.get("installStatePath")),n(r.get("virtualFolder")),n(r.get("yarnPath")),await r.triggerHook(b=>b.populateYarnPaths,e,b=>{n(b)});for(let b of e.workspaces){let R=v.relative(t.cwd,b.cwd);R!==""&&!R.match(/^(\.\.)?\//)&&i.reject.push(`/${R}`)}let s={accept:[],reject:[]},o=(f=(g=t.manifest.publishConfig)==null?void 0:g.main)!=null?f:t.manifest.main,a=(p=(h=t.manifest.publishConfig)==null?void 0:h.module)!=null?p:t.manifest.module,l=(m=(d=t.manifest.publishConfig)==null?void 0:d.browser)!=null?m:t.manifest.browser,c=(B=(I=t.manifest.publishConfig)==null?void 0:I.bin)!=null?B:t.manifest.bin;o!=null&&s.accept.push(v.resolve(Se.root,o)),a!=null&&s.accept.push(v.resolve(Se.root,a)),typeof l=="string"&&s.accept.push(v.resolve(Se.root,l));for(let b of c.values())s.accept.push(v.resolve(Se.root,b));if(l instanceof Map)for(let[b,R]of l.entries())s.accept.push(v.resolve(Se.root,b)),typeof R=="string"&&s.accept.push(v.resolve(Se.root,R));let u=t.manifest.files!==null;if(u){s.reject.push("/*");for(let b of t.manifest.files)Age(s.accept,b,{cwd:Se.root})}return await w7e(t.cwd,{hasExplicitFileList:u,globalList:i,ignoreList:s})}async function w7e(t,{hasExplicitFileList:e,globalList:r,ignoreList:i}){let n=[],s=new Zo(t),o=[[Se.root,[i]]];for(;o.length>0;){let[a,l]=o.pop(),c=await s.lstatPromise(a);if(!cge(a,{globalList:r,ignoreLists:c.isDirectory()?null:l}))if(c.isDirectory()){let u=await s.readdirPromise(a),g=!1,f=!1;if(!e||a!==Se.root)for(let d of u)g=g||d===".gitignore",f=f||d===".npmignore";let h=f?await lge(s,a,".npmignore"):g?await lge(s,a,".gitignore"):null,p=h!==null?[h].concat(l):l;cge(a,{globalList:r,ignoreLists:l})&&(p=[...l,{accept:[],reject:["**/*"]}]);for(let d of u)o.push([v.resolve(a,d),p])}else(c.isFile()||c.isSymbolicLink())&&n.push(v.relative(Se.root,a))}return n.sort()}async function lge(t,e,r){let i={accept:[],reject:[]},n=await t.readFilePromise(v.join(e,r),"utf8");for(let s of n.split(/\n/g))Age(i.reject,s,{cwd:e});return i}function B7e(t,{cwd:e}){let r=t[0]==="!";return r&&(t=t.slice(1)),t.match(/\.{0,1}\//)&&(t=v.resolve(e,t)),r&&(t=`!${t}`),t}function Age(t,e,{cwd:r}){let i=e.trim();i===""||i[0]==="#"||t.push(B7e(i,{cwd:r}))}function cge(t,{globalList:e,ignoreLists:r}){if(bQ(t,e.accept))return!1;if(bQ(t,e.reject))return!0;if(r!==null)for(let i of r){if(bQ(t,i.accept))return!1;if(bQ(t,i.reject))return!0}return!1}function bQ(t,e){let r=e,i=[];for(let n=0;n{await pM(i,{report:l},async()=>{l.reportJson({base:M.fromPortablePath(i.cwd)});let c=await QQ(i);for(let u of c)l.reportInfo(null,M.fromPortablePath(u)),l.reportJson({location:M.fromPortablePath(u)});if(!this.dryRun){let u=await dM(i,c),g=T.createWriteStream(s);u.pipe(g),await new Promise(f=>{g.on("finish",f)})}}),this.dryRun||(l.reportInfo(z.UNNAMED,`Package archive generated in ${ue.pretty(e,s,ue.Type.PATH)}`),l.reportJson({output:M.fromPortablePath(s)}))})).exitCode()}};fm.paths=[["pack"]],fm.usage=ye.Usage({description:"generate a tarball from the active workspace",details:"\n This command will turn the active workspace into a compressed archive suitable for publishing. The archive will by default be stored at the root of the workspace (`package.tgz`).\n\n If the `-o,---out` is set the archive will be created at the specified path. The `%s` and `%v` variables can be used within the path and will be respectively replaced by the package name and version.\n ",examples:[["Create an archive from the active workspace","yarn pack"],["List the files that would be made part of the workspace's archive","yarn pack --dry-run"],["Name and output the archive in a dedicated folder","yarn pack --out /artifacts/%s-%v.tgz"]]});var gge=fm;function Q7e(t,{workspace:e}){let r=t.replace("%s",b7e(e)).replace("%v",v7e(e));return M.toPortablePath(r)}function b7e(t){return t.manifest.name!==null?S.slugifyIdent(t.manifest.name):"package"}function v7e(t){return t.manifest.version!==null?t.manifest.version:"unknown"}var S7e=["dependencies","devDependencies","peerDependencies"],x7e="workspace:",k7e=(t,e)=>{var i,n;e.publishConfig&&(e.publishConfig.main&&(e.main=e.publishConfig.main),e.publishConfig.browser&&(e.browser=e.publishConfig.browser),e.publishConfig.module&&(e.module=e.publishConfig.module),e.publishConfig.browser&&(e.browser=e.publishConfig.browser),e.publishConfig.exports&&(e.exports=e.publishConfig.exports),e.publishConfig.bin&&(e.bin=e.publishConfig.bin));let r=t.project;for(let s of S7e)for(let o of t.manifest.getForScope(s).values()){let a=r.tryWorkspaceByDescriptor(o),l=S.parseRange(o.range);if(l.protocol===x7e)if(a===null){if(r.tryWorkspaceByIdent(o)===null)throw new nt(z.WORKSPACE_NOT_FOUND,`${S.prettyDescriptor(r.configuration,o)}: No local workspace found for this range`)}else{let c;S.areDescriptorsEqual(o,a.anchoredDescriptor)||l.selector==="*"?c=(i=a.manifest.version)!=null?i:"0.0.0":l.selector==="~"||l.selector==="^"?c=`${l.selector}${(n=a.manifest.version)!=null?n:"0.0.0"}`:c=l.selector,e[s][S.stringifyIdent(o)]=c}}},P7e={hooks:{beforeWorkspacePacking:k7e},commands:[gge]},D7e=P7e;var yge=ie(require("crypto")),wge=ie(Ige()),Bge=ie(require("url"));async function V7e(t,e,{access:r,tag:i,registry:n,gitHead:s}){let o=t.project.configuration,a=t.manifest.name,l=t.manifest.version,c=S.stringifyIdent(a),u=(0,yge.createHash)("sha1").update(e).digest("hex"),g=wge.default.fromData(e).toString();typeof r=="undefined"&&(t.manifest.publishConfig&&typeof t.manifest.publishConfig.access=="string"?r=t.manifest.publishConfig.access:o.get("npmPublishAccess")!==null?r=o.get("npmPublishAccess"):a.scope?r="restricted":r="public");let f=await za.genPackageManifest(t),h=`${c}-${l}.tgz`,p=new Bge.URL(`${To(n)}/${c}/-/${h}`);return{_id:c,_attachments:{[h]:{content_type:"application/octet-stream",data:e.toString("base64"),length:e.length}},name:c,access:r,["dist-tags"]:{[i]:l},versions:{[l]:_(P({},f),{_id:`${c}@${l}`,name:c,version:l,gitHead:s,dist:{shasum:u,integrity:g,tarball:p.toString()}})}}}async function _7e(t){try{let{stdout:e}=await hr.execvp("git",["rev-parse","--revs-only","HEAD"],{cwd:t});return e.trim()===""?void 0:e.trim()}catch{return}}var wM={npmAlwaysAuth:{description:"URL of the selected npm registry (note: npm enterprise isn't supported)",type:ge.BOOLEAN,default:!1},npmAuthIdent:{description:"Authentication identity for the npm registry (_auth in npm and yarn v1)",type:ge.SECRET,default:null},npmAuthToken:{description:"Authentication token for the npm registry (_authToken in npm and yarn v1)",type:ge.SECRET,default:null}},Qge={npmAuditRegistry:{description:"Registry to query for audit reports",type:ge.STRING,default:null},npmPublishRegistry:{description:"Registry to push packages to",type:ge.STRING,default:null},npmRegistryServer:{description:"URL of the selected npm registry (note: npm enterprise isn't supported)",type:ge.STRING,default:"https://registry.yarnpkg.com"}},X7e={configuration:_(P(P({},wM),Qge),{npmScopes:{description:"Settings per package scope",type:ge.MAP,valueDefinition:{description:"",type:ge.SHAPE,properties:P(P({},wM),Qge)}},npmRegistries:{description:"Settings per registry",type:ge.MAP,normalizeKeys:To,valueDefinition:{description:"",type:ge.SHAPE,properties:P({},wM)}}}),fetchers:[QT,Vs],resolvers:[bT,xT,kT]},Z7e=X7e;var vM={};it(vM,{default:()=>a_e});Ss();var Ho;(function(i){i.All="all",i.Production="production",i.Development="development"})(Ho||(Ho={}));var Xs;(function(s){s.Info="info",s.Low="low",s.Moderate="moderate",s.High="high",s.Critical="critical"})(Xs||(Xs={}));var vQ=[Xs.Info,Xs.Low,Xs.Moderate,Xs.High,Xs.Critical];function bge(t,e){let r=[],i=new Set,n=o=>{i.has(o)||(i.add(o),r.push(o))};for(let o of e)n(o);let s=new Set;for(;r.length>0;){let o=r.shift(),a=t.storedResolutions.get(o);if(typeof a=="undefined")throw new Error("Assertion failed: Expected the resolution to have been registered");let l=t.storedPackages.get(a);if(!!l){s.add(o);for(let c of l.dependencies.values())n(c.descriptorHash)}}return s}function $7e(t,e){return new Set([...t].filter(r=>!e.has(r)))}function e_e(t,e,{all:r}){let i=r?t.workspaces:[e],n=i.map(f=>f.manifest),s=new Set(n.map(f=>[...f.dependencies].map(([h,p])=>h)).flat()),o=new Set(n.map(f=>[...f.devDependencies].map(([h,p])=>h)).flat()),a=i.map(f=>[...f.dependencies.values()]).flat(),l=a.filter(f=>s.has(f.identHash)).map(f=>f.descriptorHash),c=a.filter(f=>o.has(f.identHash)).map(f=>f.descriptorHash),u=bge(t,l),g=bge(t,c);return $7e(g,u)}function vge(t){let e={};for(let r of t)e[S.stringifyIdent(r)]=S.parseRange(r.range).selector;return e}function Sge(t){if(typeof t=="undefined")return new Set;let e=vQ.indexOf(t),r=vQ.slice(e);return new Set(r)}function t_e(t,e){let r=Sge(e),i={};for(let n of r)i[n]=t[n];return i}function xge(t,e){var i;let r=t_e(t,e);for(let n of Object.keys(r))if((i=r[n])!=null?i:0>0)return!0;return!1}function kge(t,e){var s;let r={},i={children:r},n=Object.values(t.advisories);if(e!=null){let o=Sge(e);n=n.filter(a=>o.has(a.severity))}for(let o of de.sortMap(n,a=>a.module_name))r[o.module_name]={label:o.module_name,value:ue.tuple(ue.Type.RANGE,o.findings.map(a=>a.version).join(", ")),children:{Issue:{label:"Issue",value:ue.tuple(ue.Type.NO_HINT,o.title)},URL:{label:"URL",value:ue.tuple(ue.Type.URL,o.url)},Severity:{label:"Severity",value:ue.tuple(ue.Type.NO_HINT,o.severity)},["Vulnerable Versions"]:{label:"Vulnerable Versions",value:ue.tuple(ue.Type.RANGE,o.vulnerable_versions)},["Patched Versions"]:{label:"Patched Versions",value:ue.tuple(ue.Type.RANGE,o.patched_versions)},Via:{label:"Via",value:ue.tuple(ue.Type.NO_HINT,Array.from(new Set(o.findings.map(a=>a.paths).flat().map(a=>a.split(">")[0]))).join(", "))},Recommendation:{label:"Recommendation",value:ue.tuple(ue.Type.NO_HINT,(s=o.recommendation)==null?void 0:s.replace(/\n/g," "))}}};return i}function Pge(t,e,{all:r,environment:i}){let n=r?t.workspaces:[e],s=[Ho.All,Ho.Production].includes(i),o=[];if(s)for(let c of n)for(let u of c.manifest.dependencies.values())o.push(u);let a=[Ho.All,Ho.Development].includes(i),l=[];if(a)for(let c of n)for(let u of c.manifest.devDependencies.values())l.push(u);return vge([...o,...l].filter(c=>S.parseRange(c.range).protocol===null))}function Dge(t,e,{all:r}){var s;let i=e_e(t,e,{all:r}),n={};for(let o of t.storedPackages.values())n[S.stringifyIdent(o)]={version:(s=o.version)!=null?s:"0.0.0",integrity:o.identHash,requires:vge(o.dependencies.values()),dev:i.has(S.convertLocatorToDescriptor(o).descriptorHash)};return n}var dm=class extends Be{constructor(){super(...arguments);this.all=Y.Boolean("-A,--all",!1,{description:"Audit dependencies from all workspaces"});this.recursive=Y.Boolean("-R,--recursive",!1,{description:"Audit transitive dependencies as well"});this.environment=Y.String("--environment",Ho.All,{description:"Which environments to cover",validator:Yi(Ho)});this.json=Y.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.severity=Y.String("--severity",Xs.Info,{description:"Minimal severity requested for packages to be displayed",validator:Yi(Xs)})}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Ke.find(e,this.context.cwd);if(!i)throw new rt(r.cwd,this.context.cwd);await r.restoreInstallState();let n=Pge(r,i,{all:this.all,environment:this.environment}),s=Dge(r,i,{all:this.all});if(!this.recursive)for(let f of Object.keys(s))Object.prototype.hasOwnProperty.call(n,f)?s[f].requires={}:delete s[f];let o={requires:n,dependencies:s},a=gr.getAuditRegistry(i.manifest,{configuration:e}),l,c=await Fa.start({configuration:e,stdout:this.context.stdout},async()=>{l=await Lt.post("/-/npm/v1/security/audits/quick",o,{authType:Lt.AuthType.BEST_EFFORT,configuration:e,jsonResponse:!0,registry:a})});if(c.hasErrors())return c.exitCode();let u=xge(l.metadata.vulnerabilities,this.severity);return!this.json&&u?(Hs.emitTree(kge(l,this.severity),{configuration:e,json:this.json,stdout:this.context.stdout,separators:2}),1):(await Fe.start({configuration:e,includeFooter:!1,json:this.json,stdout:this.context.stdout},async f=>{f.reportJson(l),u||f.reportInfo(z.EXCEPTION,"No audit suggestions")})).exitCode()}};dm.paths=[["npm","audit"]],dm.usage=ye.Usage({description:"perform a vulnerability audit against the installed packages",details:` + This command checks for known security reports on the packages you use. The reports are by default extracted from the npm registry, and may or may not be relevant to your actual program (not all vulnerabilities affect all code paths). + + For consistency with our other commands the default is to only check the direct dependencies for the active workspace. To extend this search to all workspaces, use \`-A,--all\`. To extend this search to both direct and transitive dependencies, use \`-R,--recursive\`. + + Applying the \`--severity\` flag will limit the audit table to vulnerabilities of the corresponding severity and above. Valid values are ${vQ.map(e=>`\`${e}\``).join(", ")}. + + If the \`--json\` flag is set, Yarn will print the output exactly as received from the registry. Regardless of this flag, the process will exit with a non-zero exit code if a report is found for the selected packages. + + To understand the dependency tree requiring vulnerable packages, check the raw report with the \`--json\` flag or use \`yarn why \` to get more information as to who depends on them. + `,examples:[["Checks for known security issues with the installed packages. The output is a list of known issues.","yarn npm audit"],["Audit dependencies in all workspaces","yarn npm audit --all"],["Limit auditing to `dependencies` (excludes `devDependencies`)","yarn npm audit --environment production"],["Show audit report as valid JSON","yarn npm audit --json"],["Audit all direct and transitive dependencies","yarn npm audit --recursive"],["Output moderate (or more severe) vulnerabilities","yarn npm audit --severity moderate"]]});var Rge=dm;var BM=ie(Or()),QM=ie(require("util")),Cm=class extends Be{constructor(){super(...arguments);this.fields=Y.String("-f,--fields",{description:"A comma-separated list of manifest fields that should be displayed"});this.json=Y.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.packages=Y.Rest()}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins),{project:r}=await Ke.find(e,this.context.cwd),i=typeof this.fields!="undefined"?new Set(["name",...this.fields.split(/\s*,\s*/)]):null,n=[],s=!1,o=await Fe.start({configuration:e,includeFooter:!1,json:this.json,stdout:this.context.stdout},async a=>{for(let l of this.packages){let c;if(l==="."){let b=r.topLevelWorkspace;if(!b.manifest.name)throw new me(`Missing 'name' field in ${M.fromPortablePath(v.join(b.cwd,wt.manifest))}`);c=S.makeDescriptor(b.manifest.name,"unknown")}else c=S.parseDescriptor(l);let u=Lt.getIdentUrl(c),g=bM(await Lt.get(u,{configuration:e,ident:c,jsonResponse:!0,customErrorMessage:Lt.customPackageError})),f=Object.keys(g.versions).sort(BM.default.compareLoose),p=g["dist-tags"].latest||f[f.length-1],d=qt.validRange(c.range);if(d){let b=BM.default.maxSatisfying(f,d);b!==null?p=b:(a.reportWarning(z.UNNAMED,`Unmet range ${S.prettyRange(e,c.range)}; falling back to the latest version`),s=!0)}else c.range!=="unknown"&&(a.reportWarning(z.UNNAMED,`Invalid range ${S.prettyRange(e,c.range)}; falling back to the latest version`),s=!0);let m=g.versions[p],I=_(P(P({},g),m),{version:p,versions:f}),B;if(i!==null){B={};for(let b of i){let R=I[b];if(typeof R!="undefined")B[b]=R;else{a.reportWarning(z.EXCEPTION,`The '${b}' field doesn't exist inside ${S.prettyIdent(e,c)}'s informations`),s=!0;continue}}}else this.json||(delete I.dist,delete I.readme,delete I.users),B=I;a.reportJson(B),this.json||n.push(B)}});QM.inspect.styles.name="cyan";for(let a of n)(a!==n[0]||s)&&this.context.stdout.write(` +`),this.context.stdout.write(`${(0,QM.inspect)(a,{depth:Infinity,colors:!0,compact:!1})} +`);return o.exitCode()}};Cm.paths=[["npm","info"]],Cm.usage=ye.Usage({category:"Npm-related commands",description:"show information about a package",details:"\n This command will fetch information about a package from the npm registry, and prints it in a tree format.\n\n The package does not have to be installed locally, but needs to have been published (in particular, local changes will be ignored even for workspaces).\n\n Append `@` to the package argument to provide information specific to the latest version that satisfies the range. If the range is invalid or if there is no version satisfying the range, the command will print a warning and fall back to the latest version.\n\n If the `-f,--fields` option is set, it's a comma-separated list of fields which will be used to only display part of the package informations.\n\n By default, this command won't return the `dist`, `readme`, and `users` fields, since they are often very long. To explicitly request those fields, explicitly list them with the `--fields` flag or request the output in JSON mode.\n ",examples:[["Show all available information about react (except the `dist`, `readme`, and `users` fields)","yarn npm info react"],["Show all available information about react as valid JSON (including the `dist`, `readme`, and `users` fields)","yarn npm info react --json"],["Show all available information about react 16.12.0","yarn npm info react@16.12.0"],["Show the description of react","yarn npm info react --fields description"],["Show all available versions of react","yarn npm info react --fields versions"],["Show the readme of react","yarn npm info react --fields readme"],["Show a few fields of react","yarn npm info react --fields homepage,repository"]]});var Fge=Cm;function bM(t){if(Array.isArray(t)){let e=[];for(let r of t)r=bM(r),r&&e.push(r);return e}else if(typeof t=="object"&&t!==null){let e={};for(let r of Object.keys(t)){if(r.startsWith("_"))continue;let i=bM(t[r]);i&&(e[r]=i)}return e}else return t||null}var Nge=ie(aC()),mm=class extends Be{constructor(){super(...arguments);this.scope=Y.String("-s,--scope",{description:"Login to the registry configured for a given scope"});this.publish=Y.Boolean("--publish",!1,{description:"Login to the publish registry"})}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins),r=await SQ({configuration:e,cwd:this.context.cwd,publish:this.publish,scope:this.scope});return(await Fe.start({configuration:e,stdout:this.context.stdout},async n=>{let s=await i_e({registry:r,report:n,stdin:this.context.stdin,stdout:this.context.stdout}),o=`/-/user/org.couchdb.user:${encodeURIComponent(s.name)}`,a=await Lt.put(o,s,{attemptedAs:s.name,configuration:e,registry:r,jsonResponse:!0,authType:Lt.AuthType.NO_AUTH});return await r_e(r,a.token,{configuration:e,scope:this.scope}),n.reportInfo(z.UNNAMED,"Successfully logged in")})).exitCode()}};mm.paths=[["npm","login"]],mm.usage=ye.Usage({category:"Npm-related commands",description:"store new login info to access the npm registry",details:"\n This command will ask you for your username, password, and 2FA One-Time-Password (when it applies). It will then modify your local configuration (in your home folder, never in the project itself) to reference the new tokens thus generated.\n\n Adding the `-s,--scope` flag will cause the authentication to be done against whatever registry is configured for the associated scope (see also `npmScopes`).\n\n Adding the `--publish` flag will cause the authentication to be done against the registry used when publishing the package (see also `publishConfig.registry` and `npmPublishRegistry`).\n ",examples:[["Login to the default registry","yarn npm login"],["Login to the registry linked to the @my-scope registry","yarn npm login --scope my-scope"],["Login to the publish registry for the current package","yarn npm login --publish"]]});var Lge=mm;async function SQ({scope:t,publish:e,configuration:r,cwd:i}){return t&&e?gr.getScopeRegistry(t,{configuration:r,type:gr.RegistryType.PUBLISH_REGISTRY}):t?gr.getScopeRegistry(t,{configuration:r}):e?gr.getPublishRegistry((await rf(r,i)).manifest,{configuration:r}):gr.getDefaultRegistry({configuration:r})}async function r_e(t,e,{configuration:r,scope:i}){let n=o=>a=>{let l=de.isIndexableObject(a)?a:{},c=l[o],u=de.isIndexableObject(c)?c:{};return _(P({},l),{[o]:_(P({},u),{npmAuthToken:e})})},s=i?{npmScopes:n(i)}:{npmRegistries:n(t)};return await fe.updateHomeConfiguration(s)}async function i_e({registry:t,report:e,stdin:r,stdout:i}){if(process.env.TEST_ENV)return{name:process.env.TEST_NPM_USER||"",password:process.env.TEST_NPM_PASSWORD||""};e.reportInfo(z.UNNAMED,`Logging in to ${t}`);let n=!1;t.match(/^https:\/\/npm\.pkg\.github\.com(\/|$)/)&&(e.reportInfo(z.UNNAMED,"You seem to be using the GitHub Package Registry. Tokens must be generated with the 'repo', 'write:packages', and 'read:packages' permissions."),n=!0),e.reportSeparator();let{username:s,password:o}=await(0,Nge.prompt)([{type:"input",name:"username",message:"Username:",required:!0,onCancel:()=>process.exit(130),stdin:r,stdout:i},{type:"password",name:"password",message:n?"Token:":"Password:",required:!0,onCancel:()=>process.exit(130),stdin:r,stdout:i}]);return e.reportSeparator(),{name:s,password:o}}var Ff=new Set(["npmAuthIdent","npmAuthToken"]),Em=class extends Be{constructor(){super(...arguments);this.scope=Y.String("-s,--scope",{description:"Logout of the registry configured for a given scope"});this.publish=Y.Boolean("--publish",!1,{description:"Logout of the publish registry"});this.all=Y.Boolean("-A,--all",!1,{description:"Logout of all registries"})}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins),r=async()=>{var l;let n=await SQ({configuration:e,cwd:this.context.cwd,publish:this.publish,scope:this.scope}),s=await fe.find(this.context.cwd,this.context.plugins),o=S.makeIdent((l=this.scope)!=null?l:null,"pkg");return!gr.getAuthConfiguration(n,{configuration:s,ident:o}).get("npmAuthToken")};return(await Fe.start({configuration:e,stdout:this.context.stdout},async n=>{if(this.all&&(await n_e(),n.reportInfo(z.UNNAMED,"Successfully logged out from everything")),this.scope){await Tge("npmScopes",this.scope),await r()?n.reportInfo(z.UNNAMED,`Successfully logged out from ${this.scope}`):n.reportWarning(z.UNNAMED,"Scope authentication settings removed, but some other ones settings still apply to it");return}let s=await SQ({configuration:e,cwd:this.context.cwd,publish:this.publish});await Tge("npmRegistries",s),await r()?n.reportInfo(z.UNNAMED,`Successfully logged out from ${s}`):n.reportWarning(z.UNNAMED,"Registry authentication settings removed, but some other ones settings still apply to it")})).exitCode()}};Em.paths=[["npm","logout"]],Em.usage=ye.Usage({category:"Npm-related commands",description:"logout of the npm registry",details:"\n This command will log you out by modifying your local configuration (in your home folder, never in the project itself) to delete all credentials linked to a registry.\n\n Adding the `-s,--scope` flag will cause the deletion to be done against whatever registry is configured for the associated scope (see also `npmScopes`).\n\n Adding the `--publish` flag will cause the deletion to be done against the registry used when publishing the package (see also `publishConfig.registry` and `npmPublishRegistry`).\n\n Adding the `-A,--all` flag will cause the deletion to be done against all registries and scopes.\n ",examples:[["Logout of the default registry","yarn npm logout"],["Logout of the @my-scope scope","yarn npm logout --scope my-scope"],["Logout of the publish registry for the current package","yarn npm logout --publish"],["Logout of all registries","yarn npm logout --all"]]});var Mge=Em;function s_e(t,e){let r=t[e];if(!de.isIndexableObject(r))return!1;let i=new Set(Object.keys(r));if([...Ff].every(s=>!i.has(s)))return!1;for(let s of Ff)i.delete(s);if(i.size===0)return t[e]=void 0,!0;let n=P({},r);for(let s of Ff)delete n[s];return t[e]=n,!0}async function n_e(){let t=e=>{let r=!1,i=de.isIndexableObject(e)?P({},e):{};i.npmAuthToken&&(delete i.npmAuthToken,r=!0);for(let n of Object.keys(i))s_e(i,n)&&(r=!0);if(Object.keys(i).length!==0)return r?i:e};return await fe.updateHomeConfiguration({npmRegistries:t,npmScopes:t})}async function Tge(t,e){return await fe.updateHomeConfiguration({[t]:r=>{let i=de.isIndexableObject(r)?r:{};if(!Object.prototype.hasOwnProperty.call(i,e))return r;let n=i[e],s=de.isIndexableObject(n)?n:{},o=new Set(Object.keys(s));if([...Ff].every(l=>!o.has(l)))return r;for(let l of Ff)o.delete(l);if(o.size===0)return Object.keys(i).length===1?void 0:_(P({},i),{[e]:void 0});let a={};for(let l of Ff)a[l]=void 0;return _(P({},i),{[e]:P(P({},s),a)})}})}var Im=class extends Be{constructor(){super(...arguments);this.access=Y.String("--access",{description:"The access for the published package (public or restricted)"});this.tag=Y.String("--tag","latest",{description:"The tag on the registry that the package should be attached to"});this.tolerateRepublish=Y.Boolean("--tolerate-republish",!1,{description:"Warn and exit when republishing an already existing version of a package"})}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Ke.find(e,this.context.cwd);if(!i)throw new rt(r.cwd,this.context.cwd);if(i.manifest.private)throw new me("Private workspaces cannot be published");if(i.manifest.name===null||i.manifest.version===null)throw new me("Workspaces must have valid names and versions to be published on an external registry");await r.restoreInstallState();let n=i.manifest.name,s=i.manifest.version,o=gr.getPublishRegistry(i.manifest,{configuration:e});return(await Fe.start({configuration:e,stdout:this.context.stdout},async l=>{var c,u;if(this.tolerateRepublish)try{let g=await Lt.get(Lt.getIdentUrl(n),{configuration:e,registry:o,ident:n,jsonResponse:!0});if(!Object.prototype.hasOwnProperty.call(g,"versions"))throw new nt(z.REMOTE_INVALID,'Registry returned invalid data for - missing "versions" field');if(Object.prototype.hasOwnProperty.call(g.versions,s)){l.reportWarning(z.UNNAMED,`Registry already knows about version ${s}; skipping.`);return}}catch(g){if(((u=(c=g.originalError)==null?void 0:c.response)==null?void 0:u.statusCode)!==404)throw g}await Kt.maybeExecuteWorkspaceLifecycleScript(i,"prepublish",{report:l}),await za.prepareForPack(i,{report:l},async()=>{let g=await za.genPackList(i);for(let m of g)l.reportInfo(null,m);let f=await za.genPackStream(i,g),h=await de.bufferStream(f),p=await Rf.getGitHead(i.cwd),d=await Rf.makePublishBody(i,h,{access:this.access,tag:this.tag,registry:o,gitHead:p});await Lt.put(Lt.getIdentUrl(n),d,{configuration:e,registry:o,ident:n,jsonResponse:!0})}),l.reportInfo(z.UNNAMED,"Package archive published")})).exitCode()}};Im.paths=[["npm","publish"]],Im.usage=ye.Usage({category:"Npm-related commands",description:"publish the active workspace to the npm registry",details:'\n This command will pack the active workspace into a fresh archive and upload it to the npm registry.\n\n The package will by default be attached to the `latest` tag on the registry, but this behavior can be overriden by using the `--tag` option.\n\n Note that for legacy reasons scoped packages are by default published with an access set to `restricted` (aka "private packages"). This requires you to register for a paid npm plan. In case you simply wish to publish a public scoped package to the registry (for free), just add the `--access public` flag. This behavior can be enabled by default through the `npmPublishAccess` settings.\n ',examples:[["Publish the active workspace","yarn npm publish"]]});var Oge=Im;var Uge=ie(Or());var ym=class extends Be{constructor(){super(...arguments);this.json=Y.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.package=Y.String({required:!1})}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Ke.find(e,this.context.cwd),n;if(typeof this.package!="undefined")n=S.parseIdent(this.package);else{if(!i)throw new rt(r.cwd,this.context.cwd);if(!i.manifest.name)throw new me(`Missing 'name' field in ${M.fromPortablePath(v.join(i.cwd,wt.manifest))}`);n=i.manifest.name}let s=await wm(n,e),a={children:de.sortMap(Object.entries(s),([l])=>l).map(([l,c])=>({value:ue.tuple(ue.Type.RESOLUTION,{descriptor:S.makeDescriptor(n,l),locator:S.makeLocator(n,c)})}))};return Hs.emitTree(a,{configuration:e,json:this.json,stdout:this.context.stdout})}};ym.paths=[["npm","tag","list"]],ym.usage=ye.Usage({category:"Npm-related commands",description:"list all dist-tags of a package",details:` + This command will list all tags of a package from the npm registry. + + If the package is not specified, Yarn will default to the current workspace. + `,examples:[["List all tags of package `my-pkg`","yarn npm tag list my-pkg"]]});var Kge=ym;async function wm(t,e){let r=`/-/package${Lt.getIdentUrl(t)}/dist-tags`;return Lt.get(r,{configuration:e,ident:t,jsonResponse:!0,customErrorMessage:Lt.customPackageError})}var Bm=class extends Be{constructor(){super(...arguments);this.package=Y.String();this.tag=Y.String()}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Ke.find(e,this.context.cwd);if(!i)throw new rt(r.cwd,this.context.cwd);let n=S.parseDescriptor(this.package,!0),s=n.range;if(!Uge.default.valid(s))throw new me(`The range ${ue.pretty(e,n.range,ue.Type.RANGE)} must be a valid semver version`);let o=gr.getPublishRegistry(i.manifest,{configuration:e}),a=ue.pretty(e,n,ue.Type.IDENT),l=ue.pretty(e,s,ue.Type.RANGE),c=ue.pretty(e,this.tag,ue.Type.CODE);return(await Fe.start({configuration:e,stdout:this.context.stdout},async g=>{let f=await wm(n,e);Object.prototype.hasOwnProperty.call(f,this.tag)&&f[this.tag]===s&&g.reportWarning(z.UNNAMED,`Tag ${c} is already set to version ${l}`);let h=`/-/package${Lt.getIdentUrl(n)}/dist-tags/${encodeURIComponent(this.tag)}`;await Lt.put(h,s,{configuration:e,registry:o,ident:n,jsonRequest:!0,jsonResponse:!0}),g.reportInfo(z.UNNAMED,`Tag ${c} added to version ${l} of package ${a}`)})).exitCode()}};Bm.paths=[["npm","tag","add"]],Bm.usage=ye.Usage({category:"Npm-related commands",description:"add a tag for a specific version of a package",details:` + This command will add a tag to the npm registry for a specific version of a package. If the tag already exists, it will be overwritten. + `,examples:[["Add a `beta` tag for version `2.3.4-beta.4` of package `my-pkg`","yarn npm tag add my-pkg@2.3.4-beta.4 beta"]]});var Hge=Bm;var Qm=class extends Be{constructor(){super(...arguments);this.package=Y.String();this.tag=Y.String()}async execute(){if(this.tag==="latest")throw new me("The 'latest' tag cannot be removed.");let e=await fe.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Ke.find(e,this.context.cwd);if(!i)throw new rt(r.cwd,this.context.cwd);let n=S.parseIdent(this.package),s=gr.getPublishRegistry(i.manifest,{configuration:e}),o=ue.pretty(e,this.tag,ue.Type.CODE),a=ue.pretty(e,n,ue.Type.IDENT),l=await wm(n,e);if(!Object.prototype.hasOwnProperty.call(l,this.tag))throw new me(`${o} is not a tag of package ${a}`);return(await Fe.start({configuration:e,stdout:this.context.stdout},async u=>{let g=`/-/package${Lt.getIdentUrl(n)}/dist-tags/${encodeURIComponent(this.tag)}`;await Lt.del(g,{configuration:e,registry:s,ident:n,jsonResponse:!0}),u.reportInfo(z.UNNAMED,`Tag ${o} removed from package ${a}`)})).exitCode()}};Qm.paths=[["npm","tag","remove"]],Qm.usage=ye.Usage({category:"Npm-related commands",description:"remove a tag from a package",details:` + This command will remove a tag from a package from the npm registry. + `,examples:[["Remove the `beta` tag from package `my-pkg`","yarn npm tag remove my-pkg beta"]]});var Gge=Qm;var bm=class extends Be{constructor(){super(...arguments);this.scope=Y.String("-s,--scope",{description:"Print username for the registry configured for a given scope"});this.publish=Y.Boolean("--publish",!1,{description:"Print username for the publish registry"})}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins),r;return this.scope&&this.publish?r=gr.getScopeRegistry(this.scope,{configuration:e,type:gr.RegistryType.PUBLISH_REGISTRY}):this.scope?r=gr.getScopeRegistry(this.scope,{configuration:e}):this.publish?r=gr.getPublishRegistry((await rf(e,this.context.cwd)).manifest,{configuration:e}):r=gr.getDefaultRegistry({configuration:e}),(await Fe.start({configuration:e,stdout:this.context.stdout},async n=>{var o,a;let s;try{s=await Lt.get("/-/whoami",{configuration:e,registry:r,authType:Lt.AuthType.ALWAYS_AUTH,jsonResponse:!0,ident:this.scope?S.makeIdent(this.scope,""):void 0})}catch(l){if(((o=l.response)==null?void 0:o.statusCode)===401||((a=l.response)==null?void 0:a.statusCode)===403){n.reportError(z.AUTHENTICATION_INVALID,"Authentication failed - your credentials may have expired");return}else throw l}n.reportInfo(z.UNNAMED,s.username)})).exitCode()}};bm.paths=[["npm","whoami"]],bm.usage=ye.Usage({category:"Npm-related commands",description:"display the name of the authenticated user",details:"\n Print the username associated with the current authentication settings to the standard output.\n\n When using `-s,--scope`, the username printed will be the one that matches the authentication settings of the registry associated with the given scope (those settings can be overriden using the `npmRegistries` map, and the registry associated with the scope is configured via the `npmScopes` map).\n\n When using `--publish`, the registry we'll select will by default be the one used when publishing packages (`publishConfig.registry` or `npmPublishRegistry` if available, otherwise we'll fallback to the regular `npmRegistryServer`).\n ",examples:[["Print username for the default registry","yarn npm whoami"],["Print username for the registry on a given scope","yarn npm whoami --scope company"]]});var jge=bm;var o_e={configuration:{npmPublishAccess:{description:"Default access of the published packages",type:ge.STRING,default:null}},commands:[Rge,Fge,Lge,Mge,Oge,Hge,Kge,Gge,jge]},a_e=o_e;var NM={};it(NM,{default:()=>B_e,patchUtils:()=>SM});var SM={};it(SM,{applyPatchFile:()=>PQ,diffFolders:()=>DM,extractPackageToDisk:()=>PM,extractPatchFlags:()=>Xge,isParentRequired:()=>kM,loadPatchFiles:()=>km,makeDescriptor:()=>I_e,makeLocator:()=>xM,parseDescriptor:()=>Sm,parseLocator:()=>xm,parsePatchFile:()=>kQ});var vm=class extends Error{constructor(e,r){super(`Cannot apply hunk #${e+1}`);this.hunk=r}};var A_e=/^@@ -(\d+)(,(\d+))? \+(\d+)(,(\d+))? @@.*/;function Nf(t){return v.relative(Se.root,v.resolve(Se.root,M.toPortablePath(t)))}function l_e(t){let e=t.trim().match(A_e);if(!e)throw new Error(`Bad header line: '${t}'`);return{original:{start:Math.max(Number(e[1]),1),length:Number(e[3]||1)},patched:{start:Math.max(Number(e[4]),1),length:Number(e[6]||1)}}}var c_e=420,u_e=493,Lr;(function(i){i.Context="context",i.Insertion="insertion",i.Deletion="deletion"})(Lr||(Lr={}));var Yge=()=>({semverExclusivity:null,diffLineFromPath:null,diffLineToPath:null,oldMode:null,newMode:null,deletedFileMode:null,newFileMode:null,renameFrom:null,renameTo:null,beforeHash:null,afterHash:null,fromPath:null,toPath:null,hunks:null}),g_e=t=>({header:l_e(t),parts:[]}),f_e={["@"]:"header",["-"]:Lr.Deletion,["+"]:Lr.Insertion,[" "]:Lr.Context,["\\"]:"pragma",undefined:Lr.Context};function p_e(t){let e=[],r=Yge(),i="parsing header",n=null,s=null;function o(){n&&(s&&(n.parts.push(s),s=null),r.hunks.push(n),n=null)}function a(){o(),e.push(r),r=Yge()}for(let l=0;l0?"patch":"mode change",B=null;switch(I){case"rename":{if(!u||!g)throw new Error("Bad parser state: rename from & to not given");e.push({type:"rename",semverExclusivity:i,fromPath:Nf(u),toPath:Nf(g)}),B=g}break;case"file deletion":{let b=n||p;if(!b)throw new Error("Bad parse state: no path given for file deletion");e.push({type:"file deletion",semverExclusivity:i,hunk:m&&m[0]||null,path:Nf(b),mode:xQ(l),hash:f})}break;case"file creation":{let b=s||d;if(!b)throw new Error("Bad parse state: no path given for file creation");e.push({type:"file creation",semverExclusivity:i,hunk:m&&m[0]||null,path:Nf(b),mode:xQ(c),hash:h})}break;case"patch":case"mode change":B=d||s;break;default:de.assertNever(I);break}B&&o&&a&&o!==a&&e.push({type:"mode change",semverExclusivity:i,path:Nf(B),oldMode:xQ(o),newMode:xQ(a)}),B&&m&&m.length&&e.push({type:"patch",semverExclusivity:i,path:Nf(B),hunks:m,beforeHash:f,afterHash:h})}if(e.length===0)throw new Error("Unable to parse patch file: No changes found. Make sure the patch is a valid UTF8 encoded string");return e}function xQ(t){let e=parseInt(t,8)&511;if(e!==c_e&&e!==u_e)throw new Error(`Unexpected file mode string: ${t}`);return e}function kQ(t){let e=t.split(/\n/g);return e[e.length-1]===""&&e.pop(),d_e(p_e(e))}function h_e(t){let e=0,r=0;for(let{type:i,lines:n}of t.parts)switch(i){case Lr.Context:r+=n.length,e+=n.length;break;case Lr.Deletion:e+=n.length;break;case Lr.Insertion:r+=n.length;break;default:de.assertNever(i);break}if(e!==t.header.original.length||r!==t.header.patched.length){let i=n=>n<0?n:`+${n}`;throw new Error(`hunk header integrity check failed (expected @@ ${i(t.header.original.length)} ${i(t.header.patched.length)} @@, got @@ ${i(e)} ${i(r)} @@)`)}}async function Lf(t,e,r){let i=await t.lstatPromise(e),n=await r();if(typeof n!="undefined"&&(e=n),t.lutimesPromise)await t.lutimesPromise(e,i.atime,i.mtime);else if(!i.isSymbolicLink())await t.utimesPromise(e,i.atime,i.mtime);else throw new Error("Cannot preserve the time values of a symlink")}async function PQ(t,{baseFs:e=new Wt,dryRun:r=!1,version:i=null}={}){for(let n of t)if(!(n.semverExclusivity!==null&&i!==null&&!qt.satisfiesWithPrereleases(i,n.semverExclusivity)))switch(n.type){case"file deletion":if(r){if(!e.existsSync(n.path))throw new Error(`Trying to delete a file that doesn't exist: ${n.path}`)}else await Lf(e,v.dirname(n.path),async()=>{await e.unlinkPromise(n.path)});break;case"rename":if(r){if(!e.existsSync(n.fromPath))throw new Error(`Trying to move a file that doesn't exist: ${n.fromPath}`)}else await Lf(e,v.dirname(n.fromPath),async()=>{await Lf(e,v.dirname(n.toPath),async()=>{await Lf(e,n.fromPath,async()=>(await e.movePromise(n.fromPath,n.toPath),n.toPath))})});break;case"file creation":if(r){if(e.existsSync(n.path))throw new Error(`Trying to create a file that already exists: ${n.path}`)}else{let s=n.hunk?n.hunk.parts[0].lines.join(` +`)+(n.hunk.parts[0].noNewlineAtEndOfFile?"":` +`):"";await e.mkdirpPromise(v.dirname(n.path),{chmod:493,utimes:[mr.SAFE_TIME,mr.SAFE_TIME]}),await e.writeFilePromise(n.path,s,{mode:n.mode}),await e.utimesPromise(n.path,mr.SAFE_TIME,mr.SAFE_TIME)}break;case"patch":await Lf(e,n.path,async()=>{await C_e(n,{baseFs:e,dryRun:r})});break;case"mode change":{let o=(await e.statPromise(n.path)).mode;if(qge(n.newMode)!==qge(o))continue;await Lf(e,n.path,async()=>{await e.chmodPromise(n.path,n.newMode)})}break;default:de.assertNever(n);break}}function qge(t){return(t&64)>0}function Jge(t){return t.replace(/\s+$/,"")}function m_e(t,e){return Jge(t)===Jge(e)}async function C_e({hunks:t,path:e},{baseFs:r,dryRun:i=!1}){let n=await r.statSync(e).mode,o=(await r.readFileSync(e,"utf8")).split(/\n/),a=[],l=0,c=0;for(let g of t){let f=Math.max(c,g.header.patched.start+l),h=Math.max(0,f-c),p=Math.max(0,o.length-f-g.header.original.length),d=Math.max(h,p),m=0,I=0,B=null;for(;m<=d;){if(m<=h&&(I=f-m,B=Wge(g,o,I),B!==null)){m=-m;break}if(m<=p&&(I=f+m,B=Wge(g,o,I),B!==null))break;m+=1}if(B===null)throw new vm(t.indexOf(g),g);a.push(B),l+=m,c=I+g.header.original.length}if(i)return;let u=0;for(let g of a)for(let f of g)switch(f.type){case"splice":{let h=f.index+u;o.splice(h,f.numToDelete,...f.linesToInsert),u+=f.linesToInsert.length-f.numToDelete}break;case"pop":o.pop();break;case"push":o.push(f.line);break;default:de.assertNever(f);break}await r.writeFilePromise(e,o.join(` +`),{mode:n})}function Wge(t,e,r){let i=[];for(let n of t.parts)switch(n.type){case Lr.Context:case Lr.Deletion:{for(let s of n.lines){let o=e[r];if(o==null||!m_e(o,s))return null;r+=1}n.type===Lr.Deletion&&(i.push({type:"splice",index:r-n.lines.length,numToDelete:n.lines.length,linesToInsert:[]}),n.noNewlineAtEndOfFile&&i.push({type:"push",line:""}))}break;case Lr.Insertion:i.push({type:"splice",index:r,numToDelete:0,linesToInsert:n.lines}),n.noNewlineAtEndOfFile&&i.push({type:"pop"});break;default:de.assertNever(n.type);break}return i}var E_e=/^builtin<([^>]+)>$/;function zge(t,e){let{source:r,selector:i,params:n}=S.parseRange(t);if(r===null)throw new Error("Patch locators must explicitly define their source");let s=i?i.split(/&/).map(c=>M.toPortablePath(c)):[],o=n&&typeof n.locator=="string"?S.parseLocator(n.locator):null,a=n&&typeof n.version=="string"?n.version:null,l=e(r);return{parentLocator:o,sourceItem:l,patchPaths:s,sourceVersion:a}}function Sm(t){let i=zge(t.range,S.parseDescriptor),{sourceItem:e}=i,r=qr(i,["sourceItem"]);return _(P({},r),{sourceDescriptor:e})}function xm(t){let i=zge(t.reference,S.parseLocator),{sourceItem:e}=i,r=qr(i,["sourceItem"]);return _(P({},r),{sourceLocator:e})}function Vge({parentLocator:t,sourceItem:e,patchPaths:r,sourceVersion:i,patchHash:n},s){let o=t!==null?{locator:S.stringifyLocator(t)}:{},a=typeof i!="undefined"?{version:i}:{},l=typeof n!="undefined"?{hash:n}:{};return S.makeRange({protocol:"patch:",source:s(e),selector:r.join("&"),params:P(P(P({},a),l),o)})}function I_e(t,{parentLocator:e,sourceDescriptor:r,patchPaths:i}){return S.makeLocator(t,Vge({parentLocator:e,sourceItem:r,patchPaths:i},S.stringifyDescriptor))}function xM(t,{parentLocator:e,sourcePackage:r,patchPaths:i,patchHash:n}){return S.makeLocator(t,Vge({parentLocator:e,sourceItem:r,sourceVersion:r.version,patchPaths:i,patchHash:n},S.stringifyLocator))}function _ge({onAbsolute:t,onRelative:e,onBuiltin:r},i){i.startsWith("~")&&(i=i.slice(1));let s=i.match(E_e);return s!==null?r(s[1]):v.isAbsolute(i)?t(i):e(i)}function Xge(t){let e=t.startsWith("~");return e&&(t=t.slice(1)),{optional:e}}function kM(t){return _ge({onAbsolute:()=>!1,onRelative:()=>!0,onBuiltin:()=>!1},t)}async function km(t,e,r){let i=t!==null?await r.fetcher.fetch(t,r):null,n=i&&i.localPath?{packageFs:new Ft(Se.root),prefixPath:v.relative(Se.root,i.localPath)}:i;i&&i!==n&&i.releaseFs&&i.releaseFs();let s=await de.releaseAfterUseAsync(async()=>await Promise.all(e.map(async o=>{let a=Xge(o),l=await _ge({onAbsolute:async()=>await T.readFilePromise(o,"utf8"),onRelative:async()=>{if(n===null)throw new Error("Assertion failed: The parent locator should have been fetched");return await n.packageFs.readFilePromise(v.join(n.prefixPath,o),"utf8")},onBuiltin:async c=>await r.project.configuration.firstHook(u=>u.getBuiltinPatch,r.project,c)},o);return _(P({},a),{source:l})})));for(let o of s)typeof o.source=="string"&&(o.source=o.source.replace(/\r\n?/g,` +`));return s}async function PM(t,{cache:e,project:r}){let i=r.storedPackages.get(t.locatorHash);if(typeof i=="undefined")throw new Error("Assertion failed: Expected the package to be registered");let n=r.storedChecksums,s=new ei,o=r.configuration.makeFetcher(),a=await o.fetch(t,{cache:e,project:r,fetcher:o,checksums:n,report:s}),l=await T.mktempPromise(),c=v.join(l,"source"),u=v.join(l,"user"),g=v.join(l,".yarn-patch.json");return await Promise.all([T.copyPromise(c,a.prefixPath,{baseFs:a.packageFs}),T.copyPromise(u,a.prefixPath,{baseFs:a.packageFs}),T.writeJsonPromise(g,{locator:S.stringifyLocator(t),version:i.version})]),T.detachTemp(l),u}async function DM(t,e){let r=M.fromPortablePath(t).replace(/\\/g,"/"),i=M.fromPortablePath(e).replace(/\\/g,"/"),{stdout:n,stderr:s}=await hr.execvp("git",["-c","core.safecrlf=false","diff","--src-prefix=a/","--dst-prefix=b/","--ignore-cr-at-eol","--full-index","--no-index","--text",r,i],{cwd:M.toPortablePath(process.cwd()),env:_(P({},process.env),{GIT_CONFIG_NOSYSTEM:"1",HOME:"",XDG_CONFIG_HOME:"",USERPROFILE:""})});if(s.length>0)throw new Error(`Unable to diff directories. Make sure you have a recent version of 'git' available in PATH. +The following error was reported by 'git': +${s}`);let o=r.startsWith("/")?a=>a.slice(1):a=>a;return n.replace(new RegExp(`(a|b)(${de.escapeRegExp(`/${o(r)}/`)})`,"g"),"$1/").replace(new RegExp(`(a|b)${de.escapeRegExp(`/${o(i)}/`)}`,"g"),"$1/").replace(new RegExp(de.escapeRegExp(`${r}/`),"g"),"").replace(new RegExp(de.escapeRegExp(`${i}/`),"g"),"")}function Zge(t,{configuration:e,report:r}){for(let i of t.parts)for(let n of i.lines)switch(i.type){case Lr.Context:r.reportInfo(null,` ${ue.pretty(e,n,"grey")}`);break;case Lr.Deletion:r.reportError(z.FROZEN_LOCKFILE_EXCEPTION,`- ${ue.pretty(e,n,ue.Type.REMOVED)}`);break;case Lr.Insertion:r.reportError(z.FROZEN_LOCKFILE_EXCEPTION,`+ ${ue.pretty(e,n,ue.Type.ADDED)}`);break;default:de.assertNever(i.type)}}var RM=class{supports(e,r){return!!e.reference.startsWith("patch:")}getLocalPath(e,r){return null}async fetch(e,r){let i=r.checksums.get(e.locatorHash)||null,[n,s,o]=await r.cache.fetchPackageFromCache(e,i,P({onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${S.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the disk`),loader:()=>this.patchPackage(e,r),skipIntegrityCheck:r.skipIntegrityCheck},r.cacheOptions));return{packageFs:n,releaseFs:s,prefixPath:S.getIdentVendorPath(e),localPath:this.getLocalPath(e,r),checksum:o}}async patchPackage(e,r){let{parentLocator:i,sourceLocator:n,sourceVersion:s,patchPaths:o}=xm(e),a=await km(i,o,r),l=await T.mktempPromise(),c=v.join(l,"current.zip"),u=await r.fetcher.fetch(n,r),g=S.getIdentVendorPath(e),f=await $i(),h=new Jr(c,{libzip:f,create:!0,level:r.project.configuration.get("compressionLevel")});await de.releaseAfterUseAsync(async()=>{await h.copyPromise(g,u.prefixPath,{baseFs:u.packageFs,stableSort:!0})},u.releaseFs),h.saveAndClose();for(let{source:p,optional:d}of a){if(p===null)continue;let m=new Jr(c,{libzip:f,level:r.project.configuration.get("compressionLevel")}),I=new Ft(v.resolve(Se.root,g),{baseFs:m});try{await PQ(kQ(p),{baseFs:I,version:s})}catch(B){if(!(B instanceof vm))throw B;let b=r.project.configuration.get("enableInlineHunks"),R=!b&&!d?" (set enableInlineHunks for details)":"",H=`${S.prettyLocator(r.project.configuration,e)}: ${B.message}${R}`,L=K=>{!b||Zge(B.hunk,{configuration:r.project.configuration,report:K})};if(m.discardAndClose(),d){r.report.reportWarningOnce(z.PATCH_HUNK_FAILED,H,{reportExtra:L});continue}else throw new nt(z.PATCH_HUNK_FAILED,H,L)}m.saveAndClose()}return new Jr(c,{libzip:f,level:r.project.configuration.get("compressionLevel")})}};var y_e=3,FM=class{supportsDescriptor(e,r){return!!e.range.startsWith("patch:")}supportsLocator(e,r){return!!e.reference.startsWith("patch:")}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,i){let{patchPaths:n}=Sm(e);return n.every(s=>!kM(s))?e:S.bindDescriptor(e,{locator:S.stringifyLocator(r)})}getResolutionDependencies(e,r){let{sourceDescriptor:i}=Sm(e);return[i]}async getCandidates(e,r,i){if(!i.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let{parentLocator:n,sourceDescriptor:s,patchPaths:o}=Sm(e),a=await km(n,o,i.fetchOptions),l=r.get(s.descriptorHash);if(typeof l=="undefined")throw new Error("Assertion failed: The dependency should have been resolved");let c=mn.makeHash(`${y_e}`,...a.map(u=>JSON.stringify(u))).slice(0,6);return[xM(e,{parentLocator:n,sourcePackage:l,patchPaths:o,patchHash:c})]}async getSatisfying(e,r,i){return null}async resolve(e,r){let{sourceLocator:i}=xm(e),n=await r.resolver.resolve(i,r);return P(P({},n),e)}};var Pm=class extends Be{constructor(){super(...arguments);this.save=Y.Boolean("-s,--save",!1,{description:"Add the patch to your resolution entries"});this.patchFolder=Y.String()}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Ke.find(e,this.context.cwd);if(!i)throw new rt(r.cwd,this.context.cwd);await r.restoreInstallState();let n=v.resolve(this.context.cwd,M.toPortablePath(this.patchFolder)),s=v.join(n,"../source"),o=v.join(n,"../.yarn-patch.json");if(!T.existsSync(s))throw new me("The argument folder didn't get created by 'yarn patch'");let a=await DM(s,n),l=await T.readJsonPromise(o),c=S.parseLocator(l.locator,!0);if(!r.storedPackages.has(c.locatorHash))throw new me("No package found in the project for the given locator");if(!this.save){this.context.stdout.write(a);return}let u=e.get("patchFolder"),g=v.join(u,S.slugifyLocator(c));await T.mkdirPromise(u,{recursive:!0}),await T.writeFilePromise(g,a);let f=v.relative(r.cwd,g);r.topLevelWorkspace.manifest.resolutions.push({pattern:{descriptor:{fullName:S.stringifyIdent(c),description:l.version}},reference:`patch:${S.stringifyLocator(c)}#${f}`}),await r.persist()}};Pm.paths=[["patch-commit"]],Pm.usage=ye.Usage({description:"generate a patch out of a directory",details:"\n This will print a patchfile on stdout based on the diff between the folder passed in and the original version of the package. Such file is suitable for consumption with the `patch:` protocol.\n\n Only folders generated by `yarn patch` are accepted as valid input for `yarn patch-commit`.\n "});var $ge=Pm;var Dm=class extends Be{constructor(){super(...arguments);this.json=Y.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.package=Y.String()}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Ke.find(e,this.context.cwd),n=await Qt.find(e);if(!i)throw new rt(r.cwd,this.context.cwd);await r.restoreInstallState();let s=S.parseLocator(this.package);if(s.reference==="unknown"){let o=de.mapAndFilter([...r.storedPackages.values()],a=>a.identHash!==s.identHash?de.mapAndFilter.skip:S.isVirtualLocator(a)?de.mapAndFilter.skip:a);if(o.length===0)throw new me("No package found in the project for the given locator");if(o.length>1)throw new me(`Multiple candidate packages found; explicitly choose one of them (use \`yarn why \` to get more information as to who depends on them): +${o.map(a=>` +- ${S.prettyLocator(e,a)}`).join("")}`);s=o[0]}if(!r.storedPackages.has(s.locatorHash))throw new me("No package found in the project for the given locator");await Fe.start({configuration:e,json:this.json,stdout:this.context.stdout},async o=>{let a=await PM(s,{cache:n,project:r});o.reportJson({locator:S.stringifyLocator(s),path:M.fromPortablePath(a)}),o.reportInfo(z.UNNAMED,`Package ${S.prettyLocator(e,s)} got extracted with success!`),o.reportInfo(z.UNNAMED,`You can now edit the following folder: ${ue.pretty(e,M.fromPortablePath(a),"magenta")}`),o.reportInfo(z.UNNAMED,`Once you are done run ${ue.pretty(e,`yarn patch-commit ${process.platform==="win32"?'"':""}${M.fromPortablePath(a)}${process.platform==="win32"?'"':""}`,"cyan")} and Yarn will store a patchfile based on your changes.`)})}};Dm.paths=[["patch"]],Dm.usage=ye.Usage({description:"prepare a package for patching",details:'\n This command will cause a package to be extracted in a temporary directory (under a folder named "patch-workdir"). This folder will be editable at will; running `yarn patch` inside it will then cause Yarn to generate a patchfile and register it into your top-level manifest (cf the `patch:` protocol).\n '});var efe=Dm;var w_e={configuration:{enableInlineHunks:{description:"If true, the installs will print unmatched patch hunks",type:ge.BOOLEAN,default:!1},patchFolder:{description:"Folder where the patch files must be written",type:ge.ABSOLUTE_PATH,default:"./.yarn/patches"}},commands:[$ge,efe],fetchers:[RM],resolvers:[FM]},B_e=w_e;var TM={};it(TM,{default:()=>S_e});var tfe=ie(Wp()),LM=class{supportsPackage(e,r){return r.project.configuration.get("nodeLinker")==="pnpm"}async findPackageLocation(e,r){return nfe(e,{project:r.project})}async findPackageLocator(e,r){let i=ife(),n=r.project.installersCustomData.get(i);if(!n)throw new me(`The project in ${ue.pretty(r.project.configuration,`${r.project.cwd}/package.json`,ue.Type.PATH)} doesn't seem to have been installed - running an install there might help`);let s=e.match(/(^.*\/node_modules\/(@[^/]*\/)?[^/]+)(\/.*$)/);if(s){let l=n.locatorByPath.get(s[1]);if(l)return l}let o=e,a=e;do{a=o,o=v.dirname(a);let l=n.locatorByPath.get(a);if(l)return l}while(o!==a);return null}makeInstaller(e){return new rfe(e)}},rfe=class{constructor(e){this.opts=e;this.asyncActions=new afe;this.packageLocations=new Map;this.customData={locatorByPath:new Map}}getCustomDataKey(){return ife()}attachCustomData(e){this.customData=e}async installPackage(e,r,i){switch(e.linkType){case gt.SOFT:return this.installPackageSoft(e,r,i);case gt.HARD:return this.installPackageHard(e,r,i)}throw new Error("Assertion failed: Unsupported package link type")}async installPackageSoft(e,r,i){let n=v.resolve(r.packageFs.getRealPath(),r.prefixPath);return this.packageLocations.set(e.locatorHash,n),{packageLocation:n,buildDirective:null}}async installPackageHard(e,r,i){var u;let n=nfe(e,{project:this.opts.project});this.customData.locatorByPath.set(n,S.stringifyLocator(e)),this.packageLocations.set(e.locatorHash,n),i.holdFetchResult(this.asyncActions.set(e.locatorHash,async()=>{await T.mkdirPromise(n,{recursive:!0}),await T.copyPromise(n,r.prefixPath,{baseFs:r.packageFs,overwrite:!1})}));let o=S.isVirtualLocator(e)?S.devirtualizeLocator(e):e,a={manifest:(u=await Ze.tryFind(r.prefixPath,{baseFs:r.packageFs}))!=null?u:new Ze,misc:{hasBindingGyp:Ws.hasBindingGyp(r)}},l=this.opts.project.getDependencyMeta(o,e.version),c=Ws.extractBuildScripts(e,a,l,{configuration:this.opts.project.configuration,report:this.opts.report});return{packageLocation:n,buildDirective:c}}async attachInternalDependencies(e,r){this.opts.project.configuration.get("nodeLinker")==="pnpm"&&(!ofe(e,{project:this.opts.project})||this.asyncActions.reduce(e.locatorHash,async i=>{await i;let n=this.packageLocations.get(e.locatorHash);if(typeof n=="undefined")throw new Error(`Assertion failed: Expected the package to have been registered (${S.stringifyLocator(e)})`);let s=v.join(n,wt.nodeModules);r.length>0&&await T.mkdirpPromise(s);let o=await Q_e(s),a=[];for(let[l,c]of r){let u=c;ofe(c,{project:this.opts.project})||(this.opts.report.reportWarning(z.UNNAMED,"The pnpm linker doesn't support providing different versions to workspaces' peer dependencies"),u=S.devirtualizeLocator(c));let g=this.packageLocations.get(u.locatorHash);if(typeof g=="undefined")throw new Error(`Assertion failed: Expected the package to have been registered (${S.stringifyLocator(c)})`);let f=S.stringifyIdent(l),h=v.join(s,f),p=v.relative(v.dirname(h),g),d=o.get(f);o.delete(f),a.push(Promise.resolve().then(async()=>{if(d){if(d.isSymbolicLink()&&await T.readlinkPromise(h)===p)return;await T.removePromise(h)}await T.mkdirpPromise(v.dirname(h)),process.platform=="win32"?await T.symlinkPromise(g,h,"junction"):await T.symlinkPromise(p,h)}))}for(let l of o.keys())a.push(T.removePromise(v.join(s,l)));await Promise.all(a)}))}async attachExternalDependents(e,r){throw new Error("External dependencies haven't been implemented for the pnpm linker")}async finalizeInstall(){let e=sfe(this.opts.project),r=new Set;for(let s of this.packageLocations.values())r.add(v.basename(s));let i;try{i=await T.readdirPromise(e)}catch{i=[]}let n=[];for(let s of i)r.has(s)||n.push(T.removePromise(v.join(e,s)));await Promise.all(n),await this.asyncActions.wait()}};function ife(){return JSON.stringify({name:"PnpmInstaller",version:1})}function sfe(t){return v.join(t.cwd,wt.nodeModules,".store")}function nfe(t,{project:e}){let r=S.slugifyLocator(t);return v.join(sfe(e),r)}function ofe(t,{project:e}){return!S.isVirtualLocator(t)||!e.tryWorkspaceByLocator(t)}async function Q_e(t){let e=new Map,r=[];try{r=await T.readdirPromise(t,{withFileTypes:!0})}catch(i){if(i.code!=="ENOENT")throw i}try{for(let i of r)if(!i.name.startsWith("."))if(i.name.startsWith("@"))for(let n of await T.readdirPromise(v.join(t,i.name),{withFileTypes:!0}))e.set(`${i.name}/${n.name}`,n);else e.set(i.name,i)}catch(i){if(i.code!=="ENOENT")throw i}return e}function b_e(){let t,e;return{promise:new Promise((i,n)=>{t=i,e=n}),resolve:t,reject:e}}var afe=class{constructor(){this.deferred=new Map;this.promises=new Map;this.limit=(0,tfe.default)(10)}set(e,r){let i=this.deferred.get(e);typeof i=="undefined"&&this.deferred.set(e,i=b_e());let n=this.limit(()=>r());return this.promises.set(e,n),n.then(()=>{this.promises.get(e)===n&&i.resolve()},s=>{this.promises.get(e)===n&&i.reject(s)}),i.promise}reduce(e,r){var n;let i=(n=this.promises.get(e))!=null?n:Promise.resolve();this.set(e,()=>r(i))}async wait(){await Promise.all(this.promises.values())}};var v_e={linkers:[LM]},S_e=v_e;var F0=()=>({modules:new Map([["@yarnpkg/cli",iC],["@yarnpkg/core",Fd],["@yarnpkg/fslib",ch],["@yarnpkg/libzip",Fp],["@yarnpkg/parsers",Hp],["@yarnpkg/shell",jp],["clipanion",F$(vh)],["semver",x_e],["typanion",lu],["yup",k_e],["@yarnpkg/plugin-essentials",hL],["@yarnpkg/plugin-compat",mL],["@yarnpkg/plugin-dlx",EL],["@yarnpkg/plugin-file",xL],["@yarnpkg/plugin-git",fL],["@yarnpkg/plugin-github",PL],["@yarnpkg/plugin-http",FL],["@yarnpkg/plugin-init",ML],["@yarnpkg/plugin-link",GL],["@yarnpkg/plugin-nm",mT],["@yarnpkg/plugin-npm",yM],["@yarnpkg/plugin-npm-cli",vM],["@yarnpkg/plugin-pack",CM],["@yarnpkg/plugin-patch",NM],["@yarnpkg/plugin-pnp",oT],["@yarnpkg/plugin-pnpm",TM]]),plugins:new Set(["@yarnpkg/plugin-essentials","@yarnpkg/plugin-compat","@yarnpkg/plugin-dlx","@yarnpkg/plugin-file","@yarnpkg/plugin-git","@yarnpkg/plugin-github","@yarnpkg/plugin-http","@yarnpkg/plugin-init","@yarnpkg/plugin-link","@yarnpkg/plugin-nm","@yarnpkg/plugin-npm","@yarnpkg/plugin-npm-cli","@yarnpkg/plugin-pack","@yarnpkg/plugin-patch","@yarnpkg/plugin-pnp","@yarnpkg/plugin-pnpm"])});i0({binaryVersion:Zr||"",pluginConfiguration:F0()});})(); +/*! + * buildToken + * Builds OAuth token prefix (helper function) + * + * @name buildToken + * @function + * @param {GitUrl} obj The parsed Git url object. + * @return {String} token prefix + */ +/*! + * fill-range + * + * Copyright (c) 2014-present, Jon Schlinkert. + * Licensed under the MIT License. + */ +/*! + * is-extglob + * + * Copyright (c) 2014-2016, Jon Schlinkert. + * Licensed under the MIT License. + */ +/*! + * is-glob + * + * Copyright (c) 2014-2017, Jon Schlinkert. + * Released under the MIT License. + */ +/*! + * is-number + * + * Copyright (c) 2014-present, Jon Schlinkert. + * Released under the MIT License. + */ +/*! + * is-windows + * + * Copyright © 2015-2018, Jon Schlinkert. + * Released under the MIT License. + */ +/*! + * to-regex-range + * + * Copyright (c) 2015-present, Jon Schlinkert. + * Released under the MIT License. + */ diff --git a/spec/fixtures/repos/yarn2-pnp-nonzero-install/.yarnrc.yml b/spec/fixtures/repos/yarn2-pnp-nonzero-install/.yarnrc.yml new file mode 100644 index 000000000..9e303c308 --- /dev/null +++ b/spec/fixtures/repos/yarn2-pnp-nonzero-install/.yarnrc.yml @@ -0,0 +1 @@ +yarnPath: .yarn/releases/yarn-3.1.1.cjs diff --git a/spec/fixtures/repos/yarn2-pnp-nonzero-install/index.js b/spec/fixtures/repos/yarn2-pnp-nonzero-install/index.js new file mode 100644 index 000000000..58dee8501 --- /dev/null +++ b/spec/fixtures/repos/yarn2-pnp-nonzero-install/index.js @@ -0,0 +1,11 @@ +const express = require("express"); +const app = express(); +const port = process.env["PORT"] || 3000; + +app.get("/", (_req,res) => { + res.send("Hello from yarn2-pnp-nonzero-install"); +}); + +app.listen(port, () => { + console.log(`yarn2-pnp-nonzero-install listening on ${port}`); +}); diff --git a/spec/fixtures/repos/yarn2-pnp-nonzero-install/package.json b/spec/fixtures/repos/yarn2-pnp-nonzero-install/package.json new file mode 100644 index 000000000..5898f92f1 --- /dev/null +++ b/spec/fixtures/repos/yarn2-pnp-nonzero-install/package.json @@ -0,0 +1,13 @@ +{ + "name": "yarn2-pnp-nonzero-install", + "version": "1.0.0", + "main": "index.js", + "license": "MIT", + "scripts": { + "start": "yarn node index.js" + }, + "dependencies": { + "express": "^4.17.2" + }, + "packageManager": "yarn@3.1.1" +} diff --git a/spec/fixtures/repos/yarn2-pnp-nonzero-install/yarn.lock b/spec/fixtures/repos/yarn2-pnp-nonzero-install/yarn.lock new file mode 100644 index 000000000..f254a1d5b --- /dev/null +++ b/spec/fixtures/repos/yarn2-pnp-nonzero-install/yarn.lock @@ -0,0 +1,465 @@ +# This file is generated by running "yarn install" inside your project. +# Manual changes might be lost - proceed with caution! + +__metadata: + version: 5 + cacheKey: 8 + +"accepts@npm:~1.3.7": + version: 1.3.8 + resolution: "accepts@npm:1.3.8" + dependencies: + mime-types: ~2.1.34 + negotiator: 0.6.3 + checksum: 50c43d32e7b50285ebe84b613ee4a3aa426715a7d131b65b786e2ead0fd76b6b60091b9916d3478a75f11f162628a2139991b6c03ab3f1d9ab7c86075dc8eab4 + languageName: node + linkType: hard + +"array-flatten@npm:1.1.1": + version: 1.1.1 + resolution: "array-flatten@npm:1.1.1" + checksum: a9925bf3512d9dce202112965de90c222cd59a4fbfce68a0951d25d965cf44642931f40aac72309c41f12df19afa010ecadceb07cfff9ccc1621e99d89ab5f3b + languageName: node + linkType: hard + +"body-parser@npm:1.19.1": + version: 1.19.1 + resolution: "body-parser@npm:1.19.1" + dependencies: + bytes: 3.1.1 + content-type: ~1.0.4 + debug: 2.6.9 + depd: ~1.1.2 + http-errors: 1.8.1 + iconv-lite: 0.4.24 + on-finished: ~2.3.0 + qs: 6.9.6 + raw-body: 2.4.2 + type-is: ~1.6.18 + checksum: 9197a300a6580b8723c7b6b1e22cebd5ba47cd4a6fd45c153350efcde79293869ddee8d17d95fb52724812d649d89d62775faab072608d3243a0cbb00582234e + languageName: node + linkType: hard + +"bytes@npm:3.1.1": + version: 3.1.1 + resolution: "bytes@npm:3.1.1" + checksum: 949ab99a385d6acf4d2c69f1afc618615dc905936e0b0b9aa94a9e94d722baaba44d6a0851536585a0892ae4d462b5a270ccb1b04c774640742cbde5538ca328 + languageName: node + linkType: hard + +"content-disposition@npm:0.5.4": + version: 0.5.4 + resolution: "content-disposition@npm:0.5.4" + dependencies: + safe-buffer: 5.2.1 + checksum: afb9d545e296a5171d7574fcad634b2fdf698875f4006a9dd04a3e1333880c5c0c98d47b560d01216fb6505a54a2ba6a843ee3a02ec86d7e911e8315255f56c3 + languageName: node + linkType: hard + +"content-type@npm:~1.0.4": + version: 1.0.4 + resolution: "content-type@npm:1.0.4" + checksum: 3d93585fda985d1554eca5ebd251994327608d2e200978fdbfba21c0c679914d5faf266d17027de44b34a72c7b0745b18584ecccaa7e1fdfb6a68ac7114f12e0 + languageName: node + linkType: hard + +"cookie-signature@npm:1.0.6": + version: 1.0.6 + resolution: "cookie-signature@npm:1.0.6" + checksum: f4e1b0a98a27a0e6e66fd7ea4e4e9d8e038f624058371bf4499cfcd8f3980be9a121486995202ba3fca74fbed93a407d6d54d43a43f96fd28d0bd7a06761591a + languageName: node + linkType: hard + +"cookie@npm:0.4.1": + version: 0.4.1 + resolution: "cookie@npm:0.4.1" + checksum: bd7c47f5d94ab70ccdfe8210cde7d725880d2fcda06d8e375afbdd82de0c8d3b73541996e9ce57d35f67f672c4ee6d60208adec06b3c5fc94cebb85196084cf8 + languageName: node + linkType: hard + +"debug@npm:2.6.9": + version: 2.6.9 + resolution: "debug@npm:2.6.9" + dependencies: + ms: 2.0.0 + checksum: d2f51589ca66df60bf36e1fa6e4386b318c3f1e06772280eea5b1ae9fd3d05e9c2b7fd8a7d862457d00853c75b00451aa2d7459b924629ee385287a650f58fe6 + languageName: node + linkType: hard + +"depd@npm:~1.1.2": + version: 1.1.2 + resolution: "depd@npm:1.1.2" + checksum: 6b406620d269619852885ce15965272b829df6f409724415e0002c8632ab6a8c0a08ec1f0bd2add05dc7bd7507606f7e2cc034fa24224ab829580040b835ecd9 + languageName: node + linkType: hard + +"destroy@npm:~1.0.4": + version: 1.0.4 + resolution: "destroy@npm:1.0.4" + checksum: da9ab4961dc61677c709da0c25ef01733042614453924d65636a7db37308fef8a24cd1e07172e61173d471ca175371295fbc984b0af5b2b4ff47cd57bd784c03 + languageName: node + linkType: hard + +"ee-first@npm:1.1.1": + version: 1.1.1 + resolution: "ee-first@npm:1.1.1" + checksum: 1b4cac778d64ce3b582a7e26b218afe07e207a0f9bfe13cc7395a6d307849cfe361e65033c3251e00c27dd060cab43014c2d6b2647676135e18b77d2d05b3f4f + languageName: node + linkType: hard + +"encodeurl@npm:~1.0.2": + version: 1.0.2 + resolution: "encodeurl@npm:1.0.2" + checksum: e50e3d508cdd9c4565ba72d2012e65038e5d71bdc9198cb125beb6237b5b1ade6c0d343998da9e170fb2eae52c1bed37d4d6d98a46ea423a0cddbed5ac3f780c + languageName: node + linkType: hard + +"escape-html@npm:~1.0.3": + version: 1.0.3 + resolution: "escape-html@npm:1.0.3" + checksum: 6213ca9ae00d0ab8bccb6d8d4e0a98e76237b2410302cf7df70aaa6591d509a2a37ce8998008cbecae8fc8ffaadf3fb0229535e6a145f3ce0b211d060decbb24 + languageName: node + linkType: hard + +"etag@npm:~1.8.1": + version: 1.8.1 + resolution: "etag@npm:1.8.1" + checksum: 571aeb3dbe0f2bbd4e4fadbdb44f325fc75335cd5f6f6b6a091e6a06a9f25ed5392f0863c5442acb0646787446e816f13cbfc6edce5b07658541dff573cab1ff + languageName: node + linkType: hard + +"express@npm:^4.17.2": + version: 4.17.2 + resolution: "express@npm:4.17.2" + dependencies: + accepts: ~1.3.7 + array-flatten: 1.1.1 + body-parser: 1.19.1 + content-disposition: 0.5.4 + content-type: ~1.0.4 + cookie: 0.4.1 + cookie-signature: 1.0.6 + debug: 2.6.9 + depd: ~1.1.2 + encodeurl: ~1.0.2 + escape-html: ~1.0.3 + etag: ~1.8.1 + finalhandler: ~1.1.2 + fresh: 0.5.2 + merge-descriptors: 1.0.1 + methods: ~1.1.2 + on-finished: ~2.3.0 + parseurl: ~1.3.3 + path-to-regexp: 0.1.7 + proxy-addr: ~2.0.7 + qs: 6.9.6 + range-parser: ~1.2.1 + safe-buffer: 5.2.1 + send: 0.17.2 + serve-static: 1.14.2 + setprototypeof: 1.2.0 + statuses: ~1.5.0 + type-is: ~1.6.18 + utils-merge: 1.0.1 + vary: ~1.1.2 + checksum: 1535d56d20e65a1a39b5f056c025dd635290a744478ac69cc47633aeb4b2ce51458f8eb4080cfb7ba47c853ba5cfd794d404cff822a25127f1556b726ec3914a + languageName: node + linkType: hard + +"finalhandler@npm:~1.1.2": + version: 1.1.2 + resolution: "finalhandler@npm:1.1.2" + dependencies: + debug: 2.6.9 + encodeurl: ~1.0.2 + escape-html: ~1.0.3 + on-finished: ~2.3.0 + parseurl: ~1.3.3 + statuses: ~1.5.0 + unpipe: ~1.0.0 + checksum: 617880460c5138dd7ccfd555cb5dde4d8f170f4b31b8bd51e4b646bb2946c30f7db716428a1f2882d730d2b72afb47d1f67cc487b874cb15426f95753a88965e + languageName: node + linkType: hard + +"forwarded@npm:0.2.0": + version: 0.2.0 + resolution: "forwarded@npm:0.2.0" + checksum: fd27e2394d8887ebd16a66ffc889dc983fbbd797d5d3f01087c020283c0f019a7d05ee85669383d8e0d216b116d720fc0cef2f6e9b7eb9f4c90c6e0bc7fd28e6 + languageName: node + linkType: hard + +"fresh@npm:0.5.2": + version: 0.5.2 + resolution: "fresh@npm:0.5.2" + checksum: 13ea8b08f91e669a64e3ba3a20eb79d7ca5379a81f1ff7f4310d54e2320645503cc0c78daedc93dfb6191287295f6479544a649c64d8e41a1c0fb0c221552346 + languageName: node + linkType: hard + +"http-errors@npm:1.8.1": + version: 1.8.1 + resolution: "http-errors@npm:1.8.1" + dependencies: + depd: ~1.1.2 + inherits: 2.0.4 + setprototypeof: 1.2.0 + statuses: ">= 1.5.0 < 2" + toidentifier: 1.0.1 + checksum: d3c7e7e776fd51c0a812baff570bdf06fe49a5dc448b700ab6171b1250e4cf7db8b8f4c0b133e4bfe2451022a5790c1ca6c2cae4094dedd6ac8304a1267f91d2 + languageName: node + linkType: hard + +"iconv-lite@npm:0.4.24": + version: 0.4.24 + resolution: "iconv-lite@npm:0.4.24" + dependencies: + safer-buffer: ">= 2.1.2 < 3" + checksum: bd9f120f5a5b306f0bc0b9ae1edeb1577161503f5f8252a20f1a9e56ef8775c9959fd01c55f2d3a39d9a8abaf3e30c1abeb1895f367dcbbe0a8fd1c9ca01c4f6 + languageName: node + linkType: hard + +"inherits@npm:2.0.4": + version: 2.0.4 + resolution: "inherits@npm:2.0.4" + checksum: 4a48a733847879d6cf6691860a6b1e3f0f4754176e4d71494c41f3475553768b10f84b5ce1d40fbd0e34e6bfbb864ee35858ad4dd2cf31e02fc4a154b724d7f1 + languageName: node + linkType: hard + +"ipaddr.js@npm:1.9.1": + version: 1.9.1 + resolution: "ipaddr.js@npm:1.9.1" + checksum: f88d3825981486f5a1942414c8d77dd6674dd71c065adcfa46f578d677edcb99fda25af42675cb59db492fdf427b34a5abfcde3982da11a8fd83a500b41cfe77 + languageName: node + linkType: hard + +"media-typer@npm:0.3.0": + version: 0.3.0 + resolution: "media-typer@npm:0.3.0" + checksum: af1b38516c28ec95d6b0826f6c8f276c58aec391f76be42aa07646b4e39d317723e869700933ca6995b056db4b09a78c92d5440dc23657e6764be5d28874bba1 + languageName: node + linkType: hard + +"merge-descriptors@npm:1.0.1": + version: 1.0.1 + resolution: "merge-descriptors@npm:1.0.1" + checksum: 5abc259d2ae25bb06d19ce2b94a21632583c74e2a9109ee1ba7fd147aa7362b380d971e0251069f8b3eb7d48c21ac839e21fa177b335e82c76ec172e30c31a26 + languageName: node + linkType: hard + +"methods@npm:~1.1.2": + version: 1.1.2 + resolution: "methods@npm:1.1.2" + checksum: 0917ff4041fa8e2f2fda5425a955fe16ca411591fbd123c0d722fcf02b73971ed6f764d85f0a6f547ce49ee0221ce2c19a5fa692157931cecb422984f1dcd13a + languageName: node + linkType: hard + +"mime-db@npm:1.51.0": + version: 1.51.0 + resolution: "mime-db@npm:1.51.0" + checksum: 613b1ac9d6e725cc24444600b124a7f1ce6c60b1baa654f39a3e260d0995a6dffc5693190217e271af7e2a5612dae19f2a73f3e316707d797a7391165f7ef423 + languageName: node + linkType: hard + +"mime-types@npm:~2.1.24, mime-types@npm:~2.1.34": + version: 2.1.34 + resolution: "mime-types@npm:2.1.34" + dependencies: + mime-db: 1.51.0 + checksum: 67013de9e9d6799bde6d669d18785b7e18bcd212e710d3e04a4727f92f67a8ad4e74aee24be28b685adb794944814bde649119b58ee3282ffdbee58f9278d9f3 + languageName: node + linkType: hard + +"mime@npm:1.6.0": + version: 1.6.0 + resolution: "mime@npm:1.6.0" + bin: + mime: cli.js + checksum: fef25e39263e6d207580bdc629f8872a3f9772c923c7f8c7e793175cee22777bbe8bba95e5d509a40aaa292d8974514ce634ae35769faa45f22d17edda5e8557 + languageName: node + linkType: hard + +"ms@npm:2.0.0": + version: 2.0.0 + resolution: "ms@npm:2.0.0" + checksum: 0e6a22b8b746d2e0b65a430519934fefd41b6db0682e3477c10f60c76e947c4c0ad06f63ffdf1d78d335f83edee8c0aa928aa66a36c7cd95b69b26f468d527f4 + languageName: node + linkType: hard + +"ms@npm:2.1.3": + version: 2.1.3 + resolution: "ms@npm:2.1.3" + checksum: aa92de608021b242401676e35cfa5aa42dd70cbdc082b916da7fb925c542173e36bce97ea3e804923fe92c0ad991434e4a38327e15a1b5b5f945d66df615ae6d + languageName: node + linkType: hard + +"negotiator@npm:0.6.3": + version: 0.6.3 + resolution: "negotiator@npm:0.6.3" + checksum: b8ffeb1e262eff7968fc90a2b6767b04cfd9842582a9d0ece0af7049537266e7b2506dfb1d107a32f06dd849ab2aea834d5830f7f4d0e5cb7d36e1ae55d021d9 + languageName: node + linkType: hard + +"on-finished@npm:~2.3.0": + version: 2.3.0 + resolution: "on-finished@npm:2.3.0" + dependencies: + ee-first: 1.1.1 + checksum: 1db595bd963b0124d6fa261d18320422407b8f01dc65863840f3ddaaf7bcad5b28ff6847286703ca53f4ec19595bd67a2f1253db79fc4094911ec6aa8df1671b + languageName: node + linkType: hard + +"parseurl@npm:~1.3.3": + version: 1.3.3 + resolution: "parseurl@npm:1.3.3" + checksum: 407cee8e0a3a4c5cd472559bca8b6a45b82c124e9a4703302326e9ab60fc1081442ada4e02628efef1eb16197ddc7f8822f5a91fd7d7c86b51f530aedb17dfa2 + languageName: node + linkType: hard + +"path-to-regexp@npm:0.1.7": + version: 0.1.7 + resolution: "path-to-regexp@npm:0.1.7" + checksum: 69a14ea24db543e8b0f4353305c5eac6907917031340e5a8b37df688e52accd09e3cebfe1660b70d76b6bd89152f52183f28c74813dbf454ba1a01c82a38abce + languageName: node + linkType: hard + +"proxy-addr@npm:~2.0.7": + version: 2.0.7 + resolution: "proxy-addr@npm:2.0.7" + dependencies: + forwarded: 0.2.0 + ipaddr.js: 1.9.1 + checksum: 29c6990ce9364648255454842f06f8c46fcd124d3e6d7c5066df44662de63cdc0bad032e9bf5a3d653ff72141cc7b6019873d685708ac8210c30458ad99f2b74 + languageName: node + linkType: hard + +"qs@npm:6.9.6": + version: 6.9.6 + resolution: "qs@npm:6.9.6" + checksum: cb6df402bb8a3dbefa4bd46eba0dfca427079baca923e6b8d28a03e6bfb16a5c1dcdb96e69388f9c5813ac8ff17bb8bbca22f2ecd31fe1e344a55cb531b5fabf + languageName: node + linkType: hard + +"range-parser@npm:~1.2.1": + version: 1.2.1 + resolution: "range-parser@npm:1.2.1" + checksum: 0a268d4fea508661cf5743dfe3d5f47ce214fd6b7dec1de0da4d669dd4ef3d2144468ebe4179049eff253d9d27e719c88dae55be64f954e80135a0cada804ec9 + languageName: node + linkType: hard + +"raw-body@npm:2.4.2": + version: 2.4.2 + resolution: "raw-body@npm:2.4.2" + dependencies: + bytes: 3.1.1 + http-errors: 1.8.1 + iconv-lite: 0.4.24 + unpipe: 1.0.0 + checksum: c6f8d6a75c65c0a047f888cb29efc97f60fb36e950ba2cb31fefce694f98186e844a03367920faa7dc5bffaf33df08aee0b9dd935280e366439fa6492a5b163e + languageName: node + linkType: hard + +"safe-buffer@npm:5.2.1": + version: 5.2.1 + resolution: "safe-buffer@npm:5.2.1" + checksum: b99c4b41fdd67a6aaf280fcd05e9ffb0813654894223afb78a31f14a19ad220bba8aba1cb14eddce1fcfb037155fe6de4e861784eb434f7d11ed58d1e70dd491 + languageName: node + linkType: hard + +"safer-buffer@npm:>= 2.1.2 < 3": + version: 2.1.2 + resolution: "safer-buffer@npm:2.1.2" + checksum: cab8f25ae6f1434abee8d80023d7e72b598cf1327164ddab31003c51215526801e40b66c5e65d658a0af1e9d6478cadcb4c745f4bd6751f97d8644786c0978b0 + languageName: node + linkType: hard + +"send@npm:0.17.2": + version: 0.17.2 + resolution: "send@npm:0.17.2" + dependencies: + debug: 2.6.9 + depd: ~1.1.2 + destroy: ~1.0.4 + encodeurl: ~1.0.2 + escape-html: ~1.0.3 + etag: ~1.8.1 + fresh: 0.5.2 + http-errors: 1.8.1 + mime: 1.6.0 + ms: 2.1.3 + on-finished: ~2.3.0 + range-parser: ~1.2.1 + statuses: ~1.5.0 + checksum: c28f36deb4ccba9b8d6e6a1e472b8e7c40a1f51575bdf8f67303568cc9e71131faa3adc36fdb72611616ccad1584358bbe4c3ebf419e663ecc5de868ad3d3f03 + languageName: node + linkType: hard + +"serve-static@npm:1.14.2": + version: 1.14.2 + resolution: "serve-static@npm:1.14.2" + dependencies: + encodeurl: ~1.0.2 + escape-html: ~1.0.3 + parseurl: ~1.3.3 + send: 0.17.2 + checksum: d97f3183b1dfcd8ce9c0e37e18e87fd31147ed6c8ee0b2c3a089d795e44ee851ca5061db01574f806d54f4e4b70bc694d9ca64578653514e04a28cbc97a1de05 + languageName: node + linkType: hard + +"setprototypeof@npm:1.2.0": + version: 1.2.0 + resolution: "setprototypeof@npm:1.2.0" + checksum: be18cbbf70e7d8097c97f713a2e76edf84e87299b40d085c6bf8b65314e994cc15e2e317727342fa6996e38e1f52c59720b53fe621e2eb593a6847bf0356db89 + languageName: node + linkType: hard + +"statuses@npm:>= 1.5.0 < 2, statuses@npm:~1.5.0": + version: 1.5.0 + resolution: "statuses@npm:1.5.0" + checksum: c469b9519de16a4bb19600205cffb39ee471a5f17b82589757ca7bd40a8d92ebb6ed9f98b5a540c5d302ccbc78f15dc03cc0280dd6e00df1335568a5d5758a5c + languageName: node + linkType: hard + +"toidentifier@npm:1.0.1": + version: 1.0.1 + resolution: "toidentifier@npm:1.0.1" + checksum: 952c29e2a85d7123239b5cfdd889a0dde47ab0497f0913d70588f19c53f7e0b5327c95f4651e413c74b785147f9637b17410ac8c846d5d4a20a5a33eb6dc3a45 + languageName: node + linkType: hard + +"type-is@npm:~1.6.18": + version: 1.6.18 + resolution: "type-is@npm:1.6.18" + dependencies: + media-typer: 0.3.0 + mime-types: ~2.1.24 + checksum: 2c8e47675d55f8b4e404bcf529abdf5036c537a04c2b20177bcf78c9e3c1da69da3942b1346e6edb09e823228c0ee656ef0e033765ec39a70d496ef601a0c657 + languageName: node + linkType: hard + +"unpipe@npm:1.0.0, unpipe@npm:~1.0.0": + version: 1.0.0 + resolution: "unpipe@npm:1.0.0" + checksum: 4fa18d8d8d977c55cb09715385c203197105e10a6d220087ec819f50cb68870f02942244f1017565484237f1f8c5d3cd413631b1ae104d3096f24fdfde1b4aa2 + languageName: node + linkType: hard + +"utils-merge@npm:1.0.1": + version: 1.0.1 + resolution: "utils-merge@npm:1.0.1" + checksum: c81095493225ecfc28add49c106ca4f09cdf56bc66731aa8dabc2edbbccb1e1bfe2de6a115e5c6a380d3ea166d1636410b62ef216bb07b3feb1cfde1d95d5080 + languageName: node + linkType: hard + +"vary@npm:~1.1.2": + version: 1.1.2 + resolution: "vary@npm:1.1.2" + checksum: ae0123222c6df65b437669d63dfa8c36cee20a504101b2fcd97b8bf76f91259c17f9f2b4d70a1e3c6bbcee7f51b28392833adb6b2770b23b01abec84e369660b + languageName: node + linkType: hard + +"yarn2-pnp-nonzero-install@workspace:.": + version: 0.0.0-use.local + resolution: "yarn2-pnp-nonzero-install@workspace:." + dependencies: + express: ^4.17.2 + languageName: unknown + linkType: soft diff --git a/spec/fixtures/repos/yarn2-pnp-zero-install/.gitignore b/spec/fixtures/repos/yarn2-pnp-zero-install/.gitignore new file mode 100644 index 000000000..5d776d9e4 --- /dev/null +++ b/spec/fixtures/repos/yarn2-pnp-zero-install/.gitignore @@ -0,0 +1,7 @@ +.yarn/* +!.yarn/cache +!.yarn/patches +!.yarn/plugins +!.yarn/releases +!.yarn/sdks +!.yarn/versions diff --git a/spec/fixtures/repos/yarn2-pnp-zero-install/.pnp.cjs b/spec/fixtures/repos/yarn2-pnp-zero-install/.pnp.cjs new file mode 100755 index 000000000..fa7258c60 --- /dev/null +++ b/spec/fixtures/repos/yarn2-pnp-zero-install/.pnp.cjs @@ -0,0 +1,11721 @@ +#!/usr/bin/env node +/* eslint-disable */ + +try { + Object.freeze({}).detectStrictMode = true; +} catch (error) { + throw new Error(`The whole PnP file got strict-mode-ified, which is known to break (Emscripten libraries aren't strict mode). This usually happens when the file goes through Babel.`); +} + +var __non_webpack_module__ = module; + +function $$SETUP_STATE(hydrateRuntimeState, basePath) { + return hydrateRuntimeState({ + "__info": [ + "This file is automatically generated. Do not touch it, or risk", + "your modifications being lost. We also recommend you not to read", + "it either without using the @yarnpkg/pnp package, as the data layout", + "is entirely unspecified and WILL change from a version to another." + ], + "dependencyTreeRoots": [ + { + "name": "yarn2-pnp-zero-install", + "reference": "workspace:." + } + ], + "enableTopLevelFallback": true, + "ignorePatternData": "(^(?:\\.yarn\\/sdks(?:\\/(?!\\.{1,2}(?:\\/|$))(?:(?:(?!(?:^|\\/)\\.{1,2}(?:\\/|$)).)*?)|$))$)", + "fallbackExclusionList": [ + ["yarn2-pnp-zero-install", ["workspace:."]] + ], + "fallbackPool": [ + ], + "packageRegistryData": [ + [null, [ + [null, { + "packageLocation": "./", + "packageDependencies": [ + ["express", "npm:4.17.2"] + ], + "linkType": "SOFT", + }] + ]], + ["accepts", [ + ["npm:1.3.8", { + "packageLocation": "./.yarn/cache/accepts-npm-1.3.8-9a812371c9-50c43d32e7.zip/node_modules/accepts/", + "packageDependencies": [ + ["accepts", "npm:1.3.8"], + ["mime-types", "npm:2.1.34"], + ["negotiator", "npm:0.6.3"] + ], + "linkType": "HARD", + }] + ]], + ["array-flatten", [ + ["npm:1.1.1", { + "packageLocation": "./.yarn/cache/array-flatten-npm-1.1.1-9d94ad5f1d-a9925bf351.zip/node_modules/array-flatten/", + "packageDependencies": [ + ["array-flatten", "npm:1.1.1"] + ], + "linkType": "HARD", + }] + ]], + ["body-parser", [ + ["npm:1.19.1", { + "packageLocation": "./.yarn/cache/body-parser-npm-1.19.1-ae102dea05-9197a300a6.zip/node_modules/body-parser/", + "packageDependencies": [ + ["body-parser", "npm:1.19.1"], + ["bytes", "npm:3.1.1"], + ["content-type", "npm:1.0.4"], + ["debug", "virtual:ae102dea05b4b2ebd9bdb80ced6eae9dd1d5d0a01169a09e64f91ba0eaff40dd1ecea932caa116db48e3827effae497584f77413673ec5b9dee75f172d589beb#npm:2.6.9"], + ["depd", "npm:1.1.2"], + ["http-errors", "npm:1.8.1"], + ["iconv-lite", "npm:0.4.24"], + ["on-finished", "npm:2.3.0"], + ["qs", "npm:6.9.6"], + ["raw-body", "npm:2.4.2"], + ["type-is", "npm:1.6.18"] + ], + "linkType": "HARD", + }] + ]], + ["bytes", [ + ["npm:3.1.1", { + "packageLocation": "./.yarn/cache/bytes-npm-3.1.1-f2d0e8c583-949ab99a38.zip/node_modules/bytes/", + "packageDependencies": [ + ["bytes", "npm:3.1.1"] + ], + "linkType": "HARD", + }] + ]], + ["content-disposition", [ + ["npm:0.5.4", { + "packageLocation": "./.yarn/cache/content-disposition-npm-0.5.4-2d93678616-afb9d545e2.zip/node_modules/content-disposition/", + "packageDependencies": [ + ["content-disposition", "npm:0.5.4"], + ["safe-buffer", "npm:5.2.1"] + ], + "linkType": "HARD", + }] + ]], + ["content-type", [ + ["npm:1.0.4", { + "packageLocation": "./.yarn/cache/content-type-npm-1.0.4-3b1a5ca16b-3d93585fda.zip/node_modules/content-type/", + "packageDependencies": [ + ["content-type", "npm:1.0.4"] + ], + "linkType": "HARD", + }] + ]], + ["cookie", [ + ["npm:0.4.1", { + "packageLocation": "./.yarn/cache/cookie-npm-0.4.1-cc5e2ebb42-bd7c47f5d9.zip/node_modules/cookie/", + "packageDependencies": [ + ["cookie", "npm:0.4.1"] + ], + "linkType": "HARD", + }] + ]], + ["cookie-signature", [ + ["npm:1.0.6", { + "packageLocation": "./.yarn/cache/cookie-signature-npm-1.0.6-93f325f7f0-f4e1b0a98a.zip/node_modules/cookie-signature/", + "packageDependencies": [ + ["cookie-signature", "npm:1.0.6"] + ], + "linkType": "HARD", + }] + ]], + ["debug", [ + ["npm:2.6.9", { + "packageLocation": "./.yarn/cache/debug-npm-2.6.9-7d4cb597dc-d2f51589ca.zip/node_modules/debug/", + "packageDependencies": [ + ["debug", "npm:2.6.9"] + ], + "linkType": "SOFT", + }], + ["virtual:ae102dea05b4b2ebd9bdb80ced6eae9dd1d5d0a01169a09e64f91ba0eaff40dd1ecea932caa116db48e3827effae497584f77413673ec5b9dee75f172d589beb#npm:2.6.9", { + "packageLocation": "./.yarn/__virtual__/debug-virtual-4840d5801f/0/cache/debug-npm-2.6.9-7d4cb597dc-d2f51589ca.zip/node_modules/debug/", + "packageDependencies": [ + ["debug", "virtual:ae102dea05b4b2ebd9bdb80ced6eae9dd1d5d0a01169a09e64f91ba0eaff40dd1ecea932caa116db48e3827effae497584f77413673ec5b9dee75f172d589beb#npm:2.6.9"], + ["@types/supports-color", null], + ["ms", "npm:2.0.0"], + ["supports-color", null] + ], + "packagePeers": [ + "@types/supports-color", + "supports-color" + ], + "linkType": "HARD", + }] + ]], + ["depd", [ + ["npm:1.1.2", { + "packageLocation": "./.yarn/cache/depd-npm-1.1.2-b0c8414da7-6b406620d2.zip/node_modules/depd/", + "packageDependencies": [ + ["depd", "npm:1.1.2"] + ], + "linkType": "HARD", + }] + ]], + ["destroy", [ + ["npm:1.0.4", { + "packageLocation": "./.yarn/cache/destroy-npm-1.0.4-a2203e01cb-da9ab4961d.zip/node_modules/destroy/", + "packageDependencies": [ + ["destroy", "npm:1.0.4"] + ], + "linkType": "HARD", + }] + ]], + ["ee-first", [ + ["npm:1.1.1", { + "packageLocation": "./.yarn/cache/ee-first-npm-1.1.1-33f8535b39-1b4cac778d.zip/node_modules/ee-first/", + "packageDependencies": [ + ["ee-first", "npm:1.1.1"] + ], + "linkType": "HARD", + }] + ]], + ["encodeurl", [ + ["npm:1.0.2", { + "packageLocation": "./.yarn/cache/encodeurl-npm-1.0.2-f8c8454c41-e50e3d508c.zip/node_modules/encodeurl/", + "packageDependencies": [ + ["encodeurl", "npm:1.0.2"] + ], + "linkType": "HARD", + }] + ]], + ["escape-html", [ + ["npm:1.0.3", { + "packageLocation": "./.yarn/cache/escape-html-npm-1.0.3-376c22ee74-6213ca9ae0.zip/node_modules/escape-html/", + "packageDependencies": [ + ["escape-html", "npm:1.0.3"] + ], + "linkType": "HARD", + }] + ]], + ["etag", [ + ["npm:1.8.1", { + "packageLocation": "./.yarn/cache/etag-npm-1.8.1-54a3b989d9-571aeb3dbe.zip/node_modules/etag/", + "packageDependencies": [ + ["etag", "npm:1.8.1"] + ], + "linkType": "HARD", + }] + ]], + ["express", [ + ["npm:4.17.2", { + "packageLocation": "./.yarn/cache/express-npm-4.17.2-fd936fc165-1535d56d20.zip/node_modules/express/", + "packageDependencies": [ + ["express", "npm:4.17.2"], + ["accepts", "npm:1.3.8"], + ["array-flatten", "npm:1.1.1"], + ["body-parser", "npm:1.19.1"], + ["content-disposition", "npm:0.5.4"], + ["content-type", "npm:1.0.4"], + ["cookie", "npm:0.4.1"], + ["cookie-signature", "npm:1.0.6"], + ["debug", "virtual:ae102dea05b4b2ebd9bdb80ced6eae9dd1d5d0a01169a09e64f91ba0eaff40dd1ecea932caa116db48e3827effae497584f77413673ec5b9dee75f172d589beb#npm:2.6.9"], + ["depd", "npm:1.1.2"], + ["encodeurl", "npm:1.0.2"], + ["escape-html", "npm:1.0.3"], + ["etag", "npm:1.8.1"], + ["finalhandler", "npm:1.1.2"], + ["fresh", "npm:0.5.2"], + ["merge-descriptors", "npm:1.0.1"], + ["methods", "npm:1.1.2"], + ["on-finished", "npm:2.3.0"], + ["parseurl", "npm:1.3.3"], + ["path-to-regexp", "npm:0.1.7"], + ["proxy-addr", "npm:2.0.7"], + ["qs", "npm:6.9.6"], + ["range-parser", "npm:1.2.1"], + ["safe-buffer", "npm:5.2.1"], + ["send", "npm:0.17.2"], + ["serve-static", "npm:1.14.2"], + ["setprototypeof", "npm:1.2.0"], + ["statuses", "npm:1.5.0"], + ["type-is", "npm:1.6.18"], + ["utils-merge", "npm:1.0.1"], + ["vary", "npm:1.1.2"] + ], + "linkType": "HARD", + }] + ]], + ["finalhandler", [ + ["npm:1.1.2", { + "packageLocation": "./.yarn/cache/finalhandler-npm-1.1.2-55a75d6b53-617880460c.zip/node_modules/finalhandler/", + "packageDependencies": [ + ["finalhandler", "npm:1.1.2"], + ["debug", "virtual:ae102dea05b4b2ebd9bdb80ced6eae9dd1d5d0a01169a09e64f91ba0eaff40dd1ecea932caa116db48e3827effae497584f77413673ec5b9dee75f172d589beb#npm:2.6.9"], + ["encodeurl", "npm:1.0.2"], + ["escape-html", "npm:1.0.3"], + ["on-finished", "npm:2.3.0"], + ["parseurl", "npm:1.3.3"], + ["statuses", "npm:1.5.0"], + ["unpipe", "npm:1.0.0"] + ], + "linkType": "HARD", + }] + ]], + ["forwarded", [ + ["npm:0.2.0", { + "packageLocation": "./.yarn/cache/forwarded-npm-0.2.0-6473dabe35-fd27e2394d.zip/node_modules/forwarded/", + "packageDependencies": [ + ["forwarded", "npm:0.2.0"] + ], + "linkType": "HARD", + }] + ]], + ["fresh", [ + ["npm:0.5.2", { + "packageLocation": "./.yarn/cache/fresh-npm-0.5.2-ad2bb4c0a2-13ea8b08f9.zip/node_modules/fresh/", + "packageDependencies": [ + ["fresh", "npm:0.5.2"] + ], + "linkType": "HARD", + }] + ]], + ["http-errors", [ + ["npm:1.8.1", { + "packageLocation": "./.yarn/cache/http-errors-npm-1.8.1-fb60d9f6ae-d3c7e7e776.zip/node_modules/http-errors/", + "packageDependencies": [ + ["http-errors", "npm:1.8.1"], + ["depd", "npm:1.1.2"], + ["inherits", "npm:2.0.4"], + ["setprototypeof", "npm:1.2.0"], + ["statuses", "npm:1.5.0"], + ["toidentifier", "npm:1.0.1"] + ], + "linkType": "HARD", + }] + ]], + ["iconv-lite", [ + ["npm:0.4.24", { + "packageLocation": "./.yarn/cache/iconv-lite-npm-0.4.24-c5c4ac6695-bd9f120f5a.zip/node_modules/iconv-lite/", + "packageDependencies": [ + ["iconv-lite", "npm:0.4.24"], + ["safer-buffer", "npm:2.1.2"] + ], + "linkType": "HARD", + }] + ]], + ["inherits", [ + ["npm:2.0.4", { + "packageLocation": "./.yarn/cache/inherits-npm-2.0.4-c66b3957a0-4a48a73384.zip/node_modules/inherits/", + "packageDependencies": [ + ["inherits", "npm:2.0.4"] + ], + "linkType": "HARD", + }] + ]], + ["ipaddr.js", [ + ["npm:1.9.1", { + "packageLocation": "./.yarn/cache/ipaddr.js-npm-1.9.1-19ae7878b4-f88d382598.zip/node_modules/ipaddr.js/", + "packageDependencies": [ + ["ipaddr.js", "npm:1.9.1"] + ], + "linkType": "HARD", + }] + ]], + ["media-typer", [ + ["npm:0.3.0", { + "packageLocation": "./.yarn/cache/media-typer-npm-0.3.0-8674f8f0f5-af1b38516c.zip/node_modules/media-typer/", + "packageDependencies": [ + ["media-typer", "npm:0.3.0"] + ], + "linkType": "HARD", + }] + ]], + ["merge-descriptors", [ + ["npm:1.0.1", { + "packageLocation": "./.yarn/cache/merge-descriptors-npm-1.0.1-615287aaa8-5abc259d2a.zip/node_modules/merge-descriptors/", + "packageDependencies": [ + ["merge-descriptors", "npm:1.0.1"] + ], + "linkType": "HARD", + }] + ]], + ["methods", [ + ["npm:1.1.2", { + "packageLocation": "./.yarn/cache/methods-npm-1.1.2-92f6fdb39b-0917ff4041.zip/node_modules/methods/", + "packageDependencies": [ + ["methods", "npm:1.1.2"] + ], + "linkType": "HARD", + }] + ]], + ["mime", [ + ["npm:1.6.0", { + "packageLocation": "./.yarn/cache/mime-npm-1.6.0-60ae95038a-fef25e3926.zip/node_modules/mime/", + "packageDependencies": [ + ["mime", "npm:1.6.0"] + ], + "linkType": "HARD", + }] + ]], + ["mime-db", [ + ["npm:1.51.0", { + "packageLocation": "./.yarn/cache/mime-db-npm-1.51.0-d5e42b45ad-613b1ac9d6.zip/node_modules/mime-db/", + "packageDependencies": [ + ["mime-db", "npm:1.51.0"] + ], + "linkType": "HARD", + }] + ]], + ["mime-types", [ + ["npm:2.1.34", { + "packageLocation": "./.yarn/cache/mime-types-npm-2.1.34-3cd0bb907c-67013de9e9.zip/node_modules/mime-types/", + "packageDependencies": [ + ["mime-types", "npm:2.1.34"], + ["mime-db", "npm:1.51.0"] + ], + "linkType": "HARD", + }] + ]], + ["ms", [ + ["npm:2.0.0", { + "packageLocation": "./.yarn/cache/ms-npm-2.0.0-9e1101a471-0e6a22b8b7.zip/node_modules/ms/", + "packageDependencies": [ + ["ms", "npm:2.0.0"] + ], + "linkType": "HARD", + }], + ["npm:2.1.3", { + "packageLocation": "./.yarn/cache/ms-npm-2.1.3-81ff3cfac1-aa92de6080.zip/node_modules/ms/", + "packageDependencies": [ + ["ms", "npm:2.1.3"] + ], + "linkType": "HARD", + }] + ]], + ["negotiator", [ + ["npm:0.6.3", { + "packageLocation": "./.yarn/cache/negotiator-npm-0.6.3-9d50e36171-b8ffeb1e26.zip/node_modules/negotiator/", + "packageDependencies": [ + ["negotiator", "npm:0.6.3"] + ], + "linkType": "HARD", + }] + ]], + ["on-finished", [ + ["npm:2.3.0", { + "packageLocation": "./.yarn/cache/on-finished-npm-2.3.0-4ce92f72c6-1db595bd96.zip/node_modules/on-finished/", + "packageDependencies": [ + ["on-finished", "npm:2.3.0"], + ["ee-first", "npm:1.1.1"] + ], + "linkType": "HARD", + }] + ]], + ["parseurl", [ + ["npm:1.3.3", { + "packageLocation": "./.yarn/cache/parseurl-npm-1.3.3-1542397e00-407cee8e0a.zip/node_modules/parseurl/", + "packageDependencies": [ + ["parseurl", "npm:1.3.3"] + ], + "linkType": "HARD", + }] + ]], + ["path-to-regexp", [ + ["npm:0.1.7", { + "packageLocation": "./.yarn/cache/path-to-regexp-npm-0.1.7-2605347373-69a14ea24d.zip/node_modules/path-to-regexp/", + "packageDependencies": [ + ["path-to-regexp", "npm:0.1.7"] + ], + "linkType": "HARD", + }] + ]], + ["proxy-addr", [ + ["npm:2.0.7", { + "packageLocation": "./.yarn/cache/proxy-addr-npm-2.0.7-dae6552872-29c6990ce9.zip/node_modules/proxy-addr/", + "packageDependencies": [ + ["proxy-addr", "npm:2.0.7"], + ["forwarded", "npm:0.2.0"], + ["ipaddr.js", "npm:1.9.1"] + ], + "linkType": "HARD", + }] + ]], + ["qs", [ + ["npm:6.9.6", { + "packageLocation": "./.yarn/cache/qs-npm-6.9.6-fee5de1427-cb6df402bb.zip/node_modules/qs/", + "packageDependencies": [ + ["qs", "npm:6.9.6"] + ], + "linkType": "HARD", + }] + ]], + ["range-parser", [ + ["npm:1.2.1", { + "packageLocation": "./.yarn/cache/range-parser-npm-1.2.1-1a470fa390-0a268d4fea.zip/node_modules/range-parser/", + "packageDependencies": [ + ["range-parser", "npm:1.2.1"] + ], + "linkType": "HARD", + }] + ]], + ["raw-body", [ + ["npm:2.4.2", { + "packageLocation": "./.yarn/cache/raw-body-npm-2.4.2-f70aad454d-c6f8d6a75c.zip/node_modules/raw-body/", + "packageDependencies": [ + ["raw-body", "npm:2.4.2"], + ["bytes", "npm:3.1.1"], + ["http-errors", "npm:1.8.1"], + ["iconv-lite", "npm:0.4.24"], + ["unpipe", "npm:1.0.0"] + ], + "linkType": "HARD", + }] + ]], + ["safe-buffer", [ + ["npm:5.2.1", { + "packageLocation": "./.yarn/cache/safe-buffer-npm-5.2.1-3481c8aa9b-b99c4b41fd.zip/node_modules/safe-buffer/", + "packageDependencies": [ + ["safe-buffer", "npm:5.2.1"] + ], + "linkType": "HARD", + }] + ]], + ["safer-buffer", [ + ["npm:2.1.2", { + "packageLocation": "./.yarn/cache/safer-buffer-npm-2.1.2-8d5c0b705e-cab8f25ae6.zip/node_modules/safer-buffer/", + "packageDependencies": [ + ["safer-buffer", "npm:2.1.2"] + ], + "linkType": "HARD", + }] + ]], + ["send", [ + ["npm:0.17.2", { + "packageLocation": "./.yarn/cache/send-npm-0.17.2-73a3dbeba6-c28f36deb4.zip/node_modules/send/", + "packageDependencies": [ + ["send", "npm:0.17.2"], + ["debug", "virtual:ae102dea05b4b2ebd9bdb80ced6eae9dd1d5d0a01169a09e64f91ba0eaff40dd1ecea932caa116db48e3827effae497584f77413673ec5b9dee75f172d589beb#npm:2.6.9"], + ["depd", "npm:1.1.2"], + ["destroy", "npm:1.0.4"], + ["encodeurl", "npm:1.0.2"], + ["escape-html", "npm:1.0.3"], + ["etag", "npm:1.8.1"], + ["fresh", "npm:0.5.2"], + ["http-errors", "npm:1.8.1"], + ["mime", "npm:1.6.0"], + ["ms", "npm:2.1.3"], + ["on-finished", "npm:2.3.0"], + ["range-parser", "npm:1.2.1"], + ["statuses", "npm:1.5.0"] + ], + "linkType": "HARD", + }] + ]], + ["serve-static", [ + ["npm:1.14.2", { + "packageLocation": "./.yarn/cache/serve-static-npm-1.14.2-3ce50bb5ff-d97f3183b1.zip/node_modules/serve-static/", + "packageDependencies": [ + ["serve-static", "npm:1.14.2"], + ["encodeurl", "npm:1.0.2"], + ["escape-html", "npm:1.0.3"], + ["parseurl", "npm:1.3.3"], + ["send", "npm:0.17.2"] + ], + "linkType": "HARD", + }] + ]], + ["setprototypeof", [ + ["npm:1.2.0", { + "packageLocation": "./.yarn/cache/setprototypeof-npm-1.2.0-0fedbdcd3a-be18cbbf70.zip/node_modules/setprototypeof/", + "packageDependencies": [ + ["setprototypeof", "npm:1.2.0"] + ], + "linkType": "HARD", + }] + ]], + ["statuses", [ + ["npm:1.5.0", { + "packageLocation": "./.yarn/cache/statuses-npm-1.5.0-f88f91b2e9-c469b9519d.zip/node_modules/statuses/", + "packageDependencies": [ + ["statuses", "npm:1.5.0"] + ], + "linkType": "HARD", + }] + ]], + ["toidentifier", [ + ["npm:1.0.1", { + "packageLocation": "./.yarn/cache/toidentifier-npm-1.0.1-f759712599-952c29e2a8.zip/node_modules/toidentifier/", + "packageDependencies": [ + ["toidentifier", "npm:1.0.1"] + ], + "linkType": "HARD", + }] + ]], + ["type-is", [ + ["npm:1.6.18", { + "packageLocation": "./.yarn/cache/type-is-npm-1.6.18-6dee4d4961-2c8e47675d.zip/node_modules/type-is/", + "packageDependencies": [ + ["type-is", "npm:1.6.18"], + ["media-typer", "npm:0.3.0"], + ["mime-types", "npm:2.1.34"] + ], + "linkType": "HARD", + }] + ]], + ["unpipe", [ + ["npm:1.0.0", { + "packageLocation": "./.yarn/cache/unpipe-npm-1.0.0-2ed2a3c2bf-4fa18d8d8d.zip/node_modules/unpipe/", + "packageDependencies": [ + ["unpipe", "npm:1.0.0"] + ], + "linkType": "HARD", + }] + ]], + ["utils-merge", [ + ["npm:1.0.1", { + "packageLocation": "./.yarn/cache/utils-merge-npm-1.0.1-363bbdfbca-c810954932.zip/node_modules/utils-merge/", + "packageDependencies": [ + ["utils-merge", "npm:1.0.1"] + ], + "linkType": "HARD", + }] + ]], + ["vary", [ + ["npm:1.1.2", { + "packageLocation": "./.yarn/cache/vary-npm-1.1.2-b49f70ae63-ae0123222c.zip/node_modules/vary/", + "packageDependencies": [ + ["vary", "npm:1.1.2"] + ], + "linkType": "HARD", + }] + ]], + ["yarn2-pnp-zero-install", [ + ["workspace:.", { + "packageLocation": "./", + "packageDependencies": [ + ["yarn2-pnp-zero-install", "workspace:."], + ["express", "npm:4.17.2"] + ], + "linkType": "SOFT", + }] + ]] + ] + }, {basePath: basePath || __dirname}); + } + +(function webpackUniversalModuleDefinition(root, factory) { + if(typeof exports === 'object' && typeof module === 'object') + module.exports = factory(); + else if(typeof define === 'function' && define.amd) + define([], factory); + else if(typeof exports === 'object') + exports["pnpHook"] = factory(); + else + root["pnpHook"] = factory(); +})(global, function() { +return /******/ (() => { // webpackBootstrap +/******/ var __webpack_modules__ = ({ + +/***/ 368: +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +var frozenFs = Object.assign({}, __webpack_require__(747)); +var Module = typeof Module !== "undefined" ? Module : {}; +var moduleOverrides = {}; +var key; +for (key in Module) { + if (Module.hasOwnProperty(key)) { + moduleOverrides[key] = Module[key]; + } +} +var arguments_ = []; +var thisProgram = "./this.program"; +var quit_ = function(status, toThrow) { + throw toThrow; +}; +var ENVIRONMENT_IS_WORKER = false; +var ENVIRONMENT_IS_NODE = true; +var scriptDirectory = ""; +function locateFile(path) { + if (Module["locateFile"]) { + return Module["locateFile"](path, scriptDirectory); + } + return scriptDirectory + path; +} +var read_, readBinary; +var nodeFS; +var nodePath; +if (ENVIRONMENT_IS_NODE) { + if (ENVIRONMENT_IS_WORKER) { + scriptDirectory = __webpack_require__(622).dirname(scriptDirectory) + "/"; + } else { + scriptDirectory = __dirname + "/"; + } + read_ = function shell_read(filename, binary) { + var ret = tryParseAsDataURI(filename); + if (ret) { + return binary ? ret : ret.toString(); + } + if (!nodeFS) nodeFS = frozenFs; + if (!nodePath) nodePath = __webpack_require__(622); + filename = nodePath["normalize"](filename); + return nodeFS["readFileSync"](filename, binary ? null : "utf8"); + }; + readBinary = function readBinary(filename) { + var ret = read_(filename, true); + if (!ret.buffer) { + ret = new Uint8Array(ret); + } + assert(ret.buffer); + return ret; + }; + if (process["argv"].length > 1) { + thisProgram = process["argv"][1].replace(/\\/g, "/"); + } + arguments_ = process["argv"].slice(2); + if (true) { + module["exports"] = Module; + } + quit_ = function(status) { + process["exit"](status); + }; + Module["inspect"] = function() { + return "[Emscripten Module object]"; + }; +} else { +} +var out = Module["print"] || console.log.bind(console); +var err = Module["printErr"] || console.warn.bind(console); +for (key in moduleOverrides) { + if (moduleOverrides.hasOwnProperty(key)) { + Module[key] = moduleOverrides[key]; + } +} +moduleOverrides = null; +if (Module["arguments"]) arguments_ = Module["arguments"]; +if (Module["thisProgram"]) thisProgram = Module["thisProgram"]; +if (Module["quit"]) quit_ = Module["quit"]; +var STACK_ALIGN = 16; +function alignMemory(size, factor) { + if (!factor) factor = STACK_ALIGN; + return Math.ceil(size / factor) * factor; +} +var tempRet0 = 0; +var setTempRet0 = function(value) { + tempRet0 = value; +}; +var wasmBinary; +if (Module["wasmBinary"]) wasmBinary = Module["wasmBinary"]; +var noExitRuntime = Module["noExitRuntime"] || true; +if (typeof WebAssembly !== "object") { + abort("no native wasm support detected"); +} +function getValue(ptr, type, noSafe) { + type = type || "i8"; + if (type.charAt(type.length - 1) === "*") type = "i32"; + switch (type) { + case "i1": + return HEAP8[ptr >> 0]; + case "i8": + return HEAP8[ptr >> 0]; + case "i16": + return HEAP16[ptr >> 1]; + case "i32": + return HEAP32[ptr >> 2]; + case "i64": + return HEAP32[ptr >> 2]; + case "float": + return HEAPF32[ptr >> 2]; + case "double": + return HEAPF64[ptr >> 3]; + default: + abort("invalid type for getValue: " + type); + } + return null; +} +var wasmMemory; +var ABORT = false; +var EXITSTATUS; +function assert(condition, text) { + if (!condition) { + abort("Assertion failed: " + text); + } +} +function getCFunc(ident) { + var func = Module["_" + ident]; + assert( + func, + "Cannot call unknown function " + ident + ", make sure it is exported" + ); + return func; +} +function ccall(ident, returnType, argTypes, args, opts) { + var toC = { + string: function(str) { + var ret = 0; + if (str !== null && str !== undefined && str !== 0) { + var len = (str.length << 2) + 1; + ret = stackAlloc(len); + stringToUTF8(str, ret, len); + } + return ret; + }, + array: function(arr) { + var ret = stackAlloc(arr.length); + writeArrayToMemory(arr, ret); + return ret; + } + }; + function convertReturnValue(ret) { + if (returnType === "string") return UTF8ToString(ret); + if (returnType === "boolean") return Boolean(ret); + return ret; + } + var func = getCFunc(ident); + var cArgs = []; + var stack = 0; + if (args) { + for (var i = 0; i < args.length; i++) { + var converter = toC[argTypes[i]]; + if (converter) { + if (stack === 0) stack = stackSave(); + cArgs[i] = converter(args[i]); + } else { + cArgs[i] = args[i]; + } + } + } + var ret = func.apply(null, cArgs); + ret = convertReturnValue(ret); + if (stack !== 0) stackRestore(stack); + return ret; +} +function cwrap(ident, returnType, argTypes, opts) { + argTypes = argTypes || []; + var numericArgs = argTypes.every(function(type) { + return type === "number"; + }); + var numericRet = returnType !== "string"; + if (numericRet && numericArgs && !opts) { + return getCFunc(ident); + } + return function() { + return ccall(ident, returnType, argTypes, arguments, opts); + }; +} +var UTF8Decoder = + typeof TextDecoder !== "undefined" ? new TextDecoder("utf8") : undefined; +function UTF8ArrayToString(heap, idx, maxBytesToRead) { + var endIdx = idx + maxBytesToRead; + var endPtr = idx; + while (heap[endPtr] && !(endPtr >= endIdx)) ++endPtr; + if (endPtr - idx > 16 && heap.subarray && UTF8Decoder) { + return UTF8Decoder.decode(heap.subarray(idx, endPtr)); + } else { + var str = ""; + while (idx < endPtr) { + var u0 = heap[idx++]; + if (!(u0 & 128)) { + str += String.fromCharCode(u0); + continue; + } + var u1 = heap[idx++] & 63; + if ((u0 & 224) == 192) { + str += String.fromCharCode(((u0 & 31) << 6) | u1); + continue; + } + var u2 = heap[idx++] & 63; + if ((u0 & 240) == 224) { + u0 = ((u0 & 15) << 12) | (u1 << 6) | u2; + } else { + u0 = ((u0 & 7) << 18) | (u1 << 12) | (u2 << 6) | (heap[idx++] & 63); + } + if (u0 < 65536) { + str += String.fromCharCode(u0); + } else { + var ch = u0 - 65536; + str += String.fromCharCode(55296 | (ch >> 10), 56320 | (ch & 1023)); + } + } + } + return str; +} +function UTF8ToString(ptr, maxBytesToRead) { + return ptr ? UTF8ArrayToString(HEAPU8, ptr, maxBytesToRead) : ""; +} +function stringToUTF8Array(str, heap, outIdx, maxBytesToWrite) { + if (!(maxBytesToWrite > 0)) return 0; + var startIdx = outIdx; + var endIdx = outIdx + maxBytesToWrite - 1; + for (var i = 0; i < str.length; ++i) { + var u = str.charCodeAt(i); + if (u >= 55296 && u <= 57343) { + var u1 = str.charCodeAt(++i); + u = (65536 + ((u & 1023) << 10)) | (u1 & 1023); + } + if (u <= 127) { + if (outIdx >= endIdx) break; + heap[outIdx++] = u; + } else if (u <= 2047) { + if (outIdx + 1 >= endIdx) break; + heap[outIdx++] = 192 | (u >> 6); + heap[outIdx++] = 128 | (u & 63); + } else if (u <= 65535) { + if (outIdx + 2 >= endIdx) break; + heap[outIdx++] = 224 | (u >> 12); + heap[outIdx++] = 128 | ((u >> 6) & 63); + heap[outIdx++] = 128 | (u & 63); + } else { + if (outIdx + 3 >= endIdx) break; + heap[outIdx++] = 240 | (u >> 18); + heap[outIdx++] = 128 | ((u >> 12) & 63); + heap[outIdx++] = 128 | ((u >> 6) & 63); + heap[outIdx++] = 128 | (u & 63); + } + } + heap[outIdx] = 0; + return outIdx - startIdx; +} +function stringToUTF8(str, outPtr, maxBytesToWrite) { + return stringToUTF8Array(str, HEAPU8, outPtr, maxBytesToWrite); +} +function lengthBytesUTF8(str) { + var len = 0; + for (var i = 0; i < str.length; ++i) { + var u = str.charCodeAt(i); + if (u >= 55296 && u <= 57343) + u = (65536 + ((u & 1023) << 10)) | (str.charCodeAt(++i) & 1023); + if (u <= 127) ++len; + else if (u <= 2047) len += 2; + else if (u <= 65535) len += 3; + else len += 4; + } + return len; +} +function allocateUTF8(str) { + var size = lengthBytesUTF8(str) + 1; + var ret = _malloc(size); + if (ret) stringToUTF8Array(str, HEAP8, ret, size); + return ret; +} +function writeArrayToMemory(array, buffer) { + HEAP8.set(array, buffer); +} +function alignUp(x, multiple) { + if (x % multiple > 0) { + x += multiple - (x % multiple); + } + return x; +} +var buffer, HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32, HEAPF64; +function updateGlobalBufferAndViews(buf) { + buffer = buf; + Module["HEAP8"] = HEAP8 = new Int8Array(buf); + Module["HEAP16"] = HEAP16 = new Int16Array(buf); + Module["HEAP32"] = HEAP32 = new Int32Array(buf); + Module["HEAPU8"] = HEAPU8 = new Uint8Array(buf); + Module["HEAPU16"] = HEAPU16 = new Uint16Array(buf); + Module["HEAPU32"] = HEAPU32 = new Uint32Array(buf); + Module["HEAPF32"] = HEAPF32 = new Float32Array(buf); + Module["HEAPF64"] = HEAPF64 = new Float64Array(buf); +} +var INITIAL_MEMORY = Module["INITIAL_MEMORY"] || 16777216; +var wasmTable; +var __ATPRERUN__ = []; +var __ATINIT__ = []; +var __ATPOSTRUN__ = []; +var runtimeInitialized = false; +function preRun() { + if (Module["preRun"]) { + if (typeof Module["preRun"] == "function") + Module["preRun"] = [Module["preRun"]]; + while (Module["preRun"].length) { + addOnPreRun(Module["preRun"].shift()); + } + } + callRuntimeCallbacks(__ATPRERUN__); +} +function initRuntime() { + runtimeInitialized = true; + if (!Module["noFSInit"] && !FS.init.initialized) FS.init(); + TTY.init(); + callRuntimeCallbacks(__ATINIT__); +} +function postRun() { + if (Module["postRun"]) { + if (typeof Module["postRun"] == "function") + Module["postRun"] = [Module["postRun"]]; + while (Module["postRun"].length) { + addOnPostRun(Module["postRun"].shift()); + } + } + callRuntimeCallbacks(__ATPOSTRUN__); +} +function addOnPreRun(cb) { + __ATPRERUN__.unshift(cb); +} +function addOnInit(cb) { + __ATINIT__.unshift(cb); +} +function addOnPostRun(cb) { + __ATPOSTRUN__.unshift(cb); +} +var runDependencies = 0; +var runDependencyWatcher = null; +var dependenciesFulfilled = null; +function getUniqueRunDependency(id) { + return id; +} +function addRunDependency(id) { + runDependencies++; + if (Module["monitorRunDependencies"]) { + Module["monitorRunDependencies"](runDependencies); + } +} +function removeRunDependency(id) { + runDependencies--; + if (Module["monitorRunDependencies"]) { + Module["monitorRunDependencies"](runDependencies); + } + if (runDependencies == 0) { + if (runDependencyWatcher !== null) { + clearInterval(runDependencyWatcher); + runDependencyWatcher = null; + } + if (dependenciesFulfilled) { + var callback = dependenciesFulfilled; + dependenciesFulfilled = null; + callback(); + } + } +} +Module["preloadedImages"] = {}; +Module["preloadedAudios"] = {}; +function abort(what) { + if (Module["onAbort"]) { + Module["onAbort"](what); + } + what += ""; + err(what); + ABORT = true; + EXITSTATUS = 1; + what = "abort(" + what + "). Build with -s ASSERTIONS=1 for more info."; + var e = new WebAssembly.RuntimeError(what); + throw e; +} +var dataURIPrefix = "data:application/octet-stream;base64,"; +function isDataURI(filename) { + return filename.startsWith(dataURIPrefix); +} +var wasmBinaryFile = + "data:application/octet-stream;base64,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AkEEaiEBIAIoAgAiA0F/cyADQYGChAhrcUGAgYKEeHFFDQALIANB/wFxRQRAIAIgAGsPCwNAIAItAAEhAyACQQFqIgEhAiADDQALCyABIABrC2EBAX8jAEEQayICIAA2AgggAiABNwMAAkAgAikDACACKAIIKQMIVgRAIAIoAghBADoAACACQX82AgwMAQsgAigCCEEBOgAAIAIoAgggAikDADcDECACQQA2AgwLIAIoAgwL7wEBAX8jAEEgayICJAAgAiAANgIYIAIgATcDECACIAIoAhhCCBAeNgIMAkAgAigCDEUEQCACQX82AhwMAQsgAigCDCACKQMQQv8BgzwAACACKAIMIAIpAxBCCIhC/wGDPAABIAIoAgwgAikDEEIQiEL/AYM8AAIgAigCDCACKQMQQhiIQv8BgzwAAyACKAIMIAIpAxBCIIhC/wGDPAAEIAIoAgwgAikDEEIoiEL/AYM8AAUgAigCDCACKQMQQjCIQv8BgzwABiACKAIMIAIpAxBCOIhC/wGDPAAHIAJBADYCHAsgAigCHBogAkEgaiQAC4cDAQF/IwBBMGsiAyQAIAMgADYCJCADIAE2AiAgAyACNwMYAkAgAygCJC0AKEEBcQRAIANCfzcDKAwBCwJAAkAgAygCJCgCIEUNACADKQMYQv///////////wBWDQAgAykDGFANASADKAIgDQELIAMoAiRBDGpBEkEAEBQgA0J/NwMoDAELIAMoAiQtADVBAXEEQCADQn83AygMAQsCfyMAQRBrIgAgAygCJDYCDCAAKAIMLQA0QQFxCwRAIANCADcDKAwBCyADKQMYUARAIANCADcDKAwBCyADQgA3AxADQCADKQMQIAMpAxhUBEAgAyADKAIkIAMoAiAgAykDEKdqIAMpAxggAykDEH1BARAhIgI3AwggAkIAUwRAIAMoAiRBAToANSADKQMQUARAIANCfzcDKAwECyADIAMpAxA3AygMAwsgAykDCFAEQCADKAIkQQE6ADQFIAMgAykDCCADKQMQfDcDEAwCCwsLIAMgAykDEDcDKAsgAykDKCECIANBMGokACACCzYBAX8jAEEQayIBIAA2AgwCfiABKAIMLQAAQQFxBEAgASgCDCkDCCABKAIMKQMQfQwBC0IACwuyAQIBfwF+IwBBEGsiASQAIAEgADYCBCABIAEoAgRC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AkEBNgIQIAJBADYCCANAAkAgAigCCCACKAIYLwEETw0AAkAgAigCDCACKAIIai0AAEEfSwRAIAIoAgwgAigCCGotAABBgAFJDQELIAIoAgwgAigCCGotAABBDUYNACACKAIMIAIoAghqLQAAQQpGDQAgAigCDCACKAIIai0AAEEJRgRADAELIAJBAzYCEAJAIAIoAgwgAigCCGotAABB4AFxQcABRgRAIAJBATYCAAwBCwJAIAIoAgwgAigCCGotAABB8AFxQeABRgRAIAJBAjYCAAwBCwJAIAIoAgwgAigCCGotAABB+AFxQfABRgRAIAJBAzYCAAwBCyACQQQ2AhAMBAsLCyACKAIYLwEEIAIoAgggAigCAGpNBEAgAkEENgIQDAILIAJBATYCBANAIAIoAgQgAigCAE0EQCACKAIMIAIoAgggAigCBGpqLQAAQcABcUGAAUcEQCACQQQ2AhAMBgUgAiACKAIEQQFqNgIEDAILAAsLIAIgAigCACACKAIIajYCCAsgAiACKAIIQQFqNgIIDAELCwsgAigCGCACKAIQNgIIIAIoAhQEQAJAIAIoAhRBAkcNACACKAIQQQNHDQAgAkECNgIQIAIoAhhBAjYCCAsCQCACKAIUIAIoAhBGDQAgAigCEEEBRg0AIAJBBTYCHAwCCwsgAiACKAIQNgIcCyACKAIcC2oBAX8jAEEQayIBIAA2AgwgASgCDEIANwMAIAEoAgxBADYCCCABKAIMQn83AxAgASgCDEEANgIsIAEoAgxBfzYCKCABKAIMQgA3AxggASgCDEIANwMgIAEoAgxBADsBMCABKAIMQQA7ATILUgECf0GQlwEoAgAiASAAQQNqQXxxIgJqIQACQCACQQAgACABTRsNACAAPwBBEHRLBEAgABATRQ0BC0GQlwEgADYCACABDwtBtJsBQTA2AgBBfwuNBQEDfyMAQRBrIgEkACABIAA2AgwgASgCDARAIAEoAgwoAgAEQCABKAIMKAIAEDEaIAEoAgwoAgAQGwsgASgCDCgCHBAVIAEoAgwoAiAQJSABKAIMKAIkECUgASgCDCgCUCECIwBBEGsiACQAIAAgAjYCDCAAKAIMBEAgACgCDCgCEARAIABBADYCCANAIAAoAgggACgCDCgCAEkEQCAAKAIMKAIQIAAoAghBAnRqKAIABEAgACgCDCgC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A3EQHwsgAygCpAEoAhQgA0GeAWogA0GcAWoQgQEgAygCTCADLwGeARAfIAMoAkwgAy8BnAEQHwJAAkAgAy0AhQFBAXFFDQAgAygCpAEpAyhCFFoNACADKAJMQQAQIAwBCyADKAJMIAMoAqQBKAIYECALAkACQCADKAKgAUGAAnFBgAJHDQAgAygCpAEpAyBC/////w9UBEAgAygCpAEpAyhC/////w9UDQELIAMoAkxBfxAgIAMoAkxBfxAgDAELAkAgAygCpAEpAyBC/////w9UBEAgAygCTCADKAKkASkDIKcQIAwBCyADKAJMQX8QIAsCQCADKAKkASkDKEL/////D1QEQCADKAJMIAMoAqQBKQMopxAgDAELIAMoAkxBfxAgCwsgAygCTCADKAKkASgCMBBTQf//A3EQHyADIAMoAqQBKAI0IAMoAqABEIYBQf//A3EgAygCkAFBgAYQhgFB//8DcWo2AogBIAMoAkwgAygCiAFB//8DcRAfIAMoAqABQYACcUUEQCADKAJMIAMoAqQBKAI4EFNB//8DcRAfIAMoAkwgAygCpAEoAjxB//8DcRAfIAMoAkwgAygCpAEvAUAQHyADKAJMIAMoAqQBKAJEECACQCADKAKkASkDSEL/////D1QEQCADKAJMIAMoAqQBKQNIpxAgDAELIAMoAkxBfxAgCwsCfyMAQRBrIgAgAygCTDYCDCAAKAIMLQAAQQFxRQsEQCADKAKoAUEIakEUQQAQFCADKAJMEBYgAygCkAEQIyADQX82AqwBDAELIAMoAqgBIANB0ABqAn4jAEEQayIAIAMoAkw2AgwCfiAAKAIMLQAAQQFxBEAgACgCDCkDEAwBC0IACwsQNUEASARAIAMoAkwQFiADKAKQARAjIANBfzYCrAEMAQsgAygCTBAWIAMoAqQBKAIwBEAgAygCqAEgAygCpAEoAjAQigFBAEgEQCADKAKQARAjIANBfzYCrAEMAgsLIAMoApABBEAgAygCqAEgAygCkAFBgAYQhQFBAEgEQCADKAKQARAjIANBfzYCrAEMAgsLIAMoApABECMgAygCpAEoAjQEQCADKAKoASADKAKkASgCNCADKAKgARCFAUEASARAIANBfzYCrAEMAgsLIAMoAqABQYACcUUEQCADKAKkASgCOARAIAMoAqgBIAMoAqQBKAI4EIoBQQBIBEAgA0F/NgKsAQwDCwsLIAMgAy0AhwFBAXE2AqwBCyADKAKsASEAIANBsAFqJAAgAAvgAgEBfyMAQSBrIgQkACAEIAA7ARogBCABOwEYIAQgAjYCFCAEIAM2AhAgBEEQEBgiADYCDAJAIABFBEAgBEEANgIcDAELIAQoAgxBADYCACAEKAIMIAQoAhA2AgQgBCgCDCAELwEaOwEIIAQoAgwgBC8BGDsBCgJAIAQvARgEQCAEKAIUIQEgBC8BGCECIwBBIGsiACQAIAAgATYCGCAAIAI2AhQgAEEANgIQAkAgACgCFEUEQCAAQQA2AhwMAQsgACAAKAIUEBg2AgwgACgCDEUEQCAAKAIQQQ5BABAUIABBADYCHAwBCyAAKAIMIAAoAhggACgCFBAZGiAAIAAoAgw2AhwLIAAoAhwhASAAQSBqJAAgASEAIAQoAgwgADYCDCAARQRAIAQoAgwQFSAEQQA2AhwMAwsMAQsgBCgCDEEANgIMCyAEIAQoAgw2AhwLIAQoAhwhACAEQSBqJAAgAAuMAwEBfyMAQSBrIgQkACAEIAA2AhggBCABOwEWIAQgAjYCECAEIAM2AgwCQCAELwEWRQRAIARBADYCHAwBCwJAAkACQAJAIAQoAhBBgDBxIgAEQCAAQYAQRg0BIABBgCBGDQIMAwsgBEEANgIEDAMLIARBAjYCBAwCCyAEQQQ2AgQMAQsgBCgCDEESQQAQFCAEQQA2AhwMAQsgBEEUEBgiADYCCCAARQRAIAQoAgxBDkEAEBQgBEEANgIcDAELIAQvARZBAWoQGCEAIAQoAgggADYCACAARQRAIAQoAggQFSAEQQA2AhwMAQsgBCgCCCgCACAEKAIYIAQvARYQGRogBCgCCCgCACAELwEWakEAOgAAIAQoAgggBC8BFjsBBCAEKAIIQQA2AgggBCgCCEEANgIMIAQoAghBADYCECAEKAIEBEAgBCgCCCAEKAIEEDpBBUYEQCAEKAIIECUgBCgCDEESQQAQFCAEQQA2AhwMAgsLIAQgBCgCCDYCHAsgBCgCHCEAIARBIGokACAACzcBAX8jAEEQayIBIAA2AggCQCABKAIIRQRAIAFBADsBDgwBCyABIAEoAggvAQQ7AQ4LIAEvAQ4LQwEDfwJAIAJFDQADQCAALQAAIgQgAS0AACIFRgRAIAFBAWohASAAQQFqIQAgAkEBayICDQEMAgsLIAQgBWshAwsgAwuRAQEFfyAAKAJMQQBOIQMgACgCAEEBcSIERQRAIAAoAjQiAQRAIAEgACgCODYCOAsgACgCOCICBEAgAiABNgI0CyAAQaygASgCAEYEQEGsoAEgAjYCAAsLIAAQpQEhASAAIAAoAgwRAAAhAiAAKAJgIgUEQCAFEBULAkAgBEUEQCAAEBUMAQsgA0UNAAsgASACcgv5AQEBfyMAQSBrIgIkACACIAA2AhwgAiABOQMQAkAgAigCHEUNACACAnwCfCACKwMQRAAAAAAAAAAAZARAIAIrAxAMAQtEAAAAAAAAAAALRAAAAAAAAPA/YwRAAnwgAisDEEQAAAAAAAAAAGQEQCACKwMQDAELRAAAAAAAAAAACwwBC0QAAAAAAADwPwsgAigCHCsDKCACKAIcKwMgoaIgAigCHCsDIKA5AwggAigCHCsDECACKwMIIAIoAhwrAxihY0UNACACKAIcKAIAIAIrAwggAigCHCgCDCACKAIcKAIEERYAIAIoAhwgAisDCDkDGAsgAkEgaiQAC+EFAgJ/AX4jAEEwayIEJAAgBCAANgIkIAQgATYCICAEIAI2AhwgBCADNgIYAkAgBCgCJEUEQCAEQn83AygMAQsgBCgCIEUEQCAEKAIYQRJBABAUIARCfzcDKAwBCyAEKAIcQYMgcQRAIARBFUEWIAQoAhxBAXEbNgIUIARCADcDAANAIAQpAwAgBCgCJCkDMFQEQCAEIAQoAiQgBCkDACAEKAIcIAQoAhgQTjYCECAEKAIQBEAgBCgCHEECcQRAIAQCfyAEKAIQIgEQK0EBaiEAA0BBACAARQ0BGiABIABBAWsiAGoiAi0AAEEvRw0ACyACCzYCDCAEKAIMBEAgBCAEKAIMQQFqNgIQCwsgBCgCICAEKAIQIAQoAhQRAwBFBEAjAEEQayIAIAQoAhg2AgwgACgCDARAIAAoAgxBADYCACAAKAIMQQA2AgQLIAQgBCkDADcDKAwFCwsgBCAEKQMAQgF8NwMADAELCyAEKAIYQQlBABAUIARCfzcDKAwBCyAEKAIkKAJQIQEgBCgCICECIAQoAhwhAyAEKAIYIQUjAEEwayIAJAAgACABNgIkIAAgAjYCICAAIAM2AhwgACAFNgIYAkACQCAAKAIkBEAgACgCIA0BCyAAKAIYQRJBABAUIABCfzcDKAwBCyAAKAIkKQMIQgBSBEAgACAAKAIgEHQ2AhQgACAAKAIUIAAoAiQoAgBwNgIQIAAgACgCJCgCECAAKAIQQQJ0aigCADYCDANAAkAgACgCDEUNACAAKAIgIAAoAgwoAgAQWgRAIAAgACgCDCgCGDYCDAwCBSAAKAIcQQhxBEAgACgCDCkDCEJ/UgRAIAAgACgCDCkDCDcDKAwGCwwCCyAAKAIMKQMQQn9SBEAgACAAKAIMKQMQNwMoDAULCwsLCyAAKAIYQQlBABAUIABCfzcDKAsgACkDKCEGIABBMGokACAEIAY3AygLIAQpAyghBiAEQTBqJAAgBgvUAwEBfyMAQSBrIgMkACADIAA2AhggAyABNgIUIAMgAjYCEAJAAkAgAygCGARAIAMoAhQNAQsgAygCEEESQQAQFCADQQA6AB8MAQsgAygCGCkDCEIAUgRAIAMgAygCFBB0NgIMIAMgAygCDCADKAIYKAIAcDYCCCADQQA2AgAgAyADKAIYKAIQIAMoAghBAnRqKAIANgIEA0AgAygCBARAAkAgAygCBCgCHCADKAIMRw0AIAMoAhQgAygCBCgCABBaDQACQCADKAIEKQMIQn9RBEACQCADKAIABEAgAygCACADKAIEKAIYNgIYDAELIAMoAhgoAhAgAygCCEECdGogAygCBCgCGDYCAAsgAygCBBAVIAMoAhgiACAAKQMIQgF9NwMIAkAgAygCGCIAKQMIuiAAKAIAuER7FK5H4XqEP6JjRQ0AIAMoAhgoAgBBgAJNDQAgAygCGCADKAIYKAIAQQF2IAMoAhAQWUEBcUUEQCADQQA6AB8MCAsLDAELIAMoAgRCfzcDEAsgA0EBOgAfDAQLIAMgAygCBDYCACADIAMoAgQoAhg2AgQMAQsLCyADKAIQQQlBABAUIANBADoAHwsgAy0AH0EBcSEAIANBIGokACAAC98CAQF/IwBBMGsiAyQAIAMgADYCKCADIAE2AiQgAyACNgIgAkAgAygCJCADKAIoKAIARgRAIANBAToALwwBCyADIAMoAiRBBBB2IgA2AhwgAEUEQCADKAIgQQ5BABAUIANBADoALwwBCyADKAIoKQMIQgBSBEAgA0EANgIYA0AgAygCGCADKAIoKAIAT0UEQCADIAMoAigoAhAgAygCGEECdGooAgA2AhQDQCADKAIUBEAgAyADKAIUKAIYNgIQIAMgAygCFCgCHCADKAIkcDYCDCADKAIUIAMoAhwgAygCDEECdGooAgA2AhggAygCHCADKAIMQQJ0aiADKAIUNgIAIAMgAygCEDYCFAwBCwsgAyADKAIYQQFqNgIYDAELCwsgAygCKCgCEBAVIAMoAiggAygCHDYCECADKAIoIAMoAiQ2AgAgA0EBOgAvCyADLQAvQQFxIQAgA0EwaiQAIAALTQECfyABLQAAIQICQCAALQAAIgNFDQAgAiADRw0AA0AgAS0AASECIAAtAAEiA0UNASABQQFqIQEgAEEBaiEAIAIgA0YNAAsLIAMgAmsL0QkBAn8jAEEgayIBJAAgASAANgIcIAEgASgCHCgCLDYCEANAIAEgASgCHCgCPCABKAIcKAJ0ayABKAIcKAJsazYCFCABKAIcKAJsIAEoAhAgASgCHCgCLEGGAmtqTwRAIAEoAhwoAjggASgCHCgCOCABKAIQaiABKAIQIAEoAhRrEBkaIAEoAhwiACAAKAJwIAEoAhBrNgJwIAEoAhwiACAAKAJsIAEoAhBrNgJsIAEoAhwiACAAKAJcIAEoAhBrNgJcIwBBIGsiACABKAIcNgIcIAAgACgCHCgCLDYCDCAAIAAoAhwoAkw2AhggACAAKAIcKAJEIAAoAhhBAXRqNgIQA0AgACAAKAIQQQJrIgI2AhAgACACLwEANgIUIAAoAhACfyAAKAIUIAAoAgxPBEAgACgCFCAAKAIMawwBC0EACzsBACAAIAAoAhhBAWsiAjYCGCACDQALIAAgACgCDDYCGCAAIAAoAhwoAkAgACgCGEEBdGo2AhADQCAAIAAoAhBBAmsiAjYCECAAIAIvAQA2AhQgACgCEAJ/IAAoAhQgACgCDE8EQCAAKAIUIAAoAgxrDAELQQALOwEAIAAgACgCGEEBayICNgIYIAINAAsgASABKAIQIAEoAhRqNgIUCyABKAIcKAIAKAIEBEAgASABKAIcKAIAIAEoAhwoAnQgASgCHCgCOCABKAIcKAJsamogASgCFBB4NgIYIAEoAhwiACABKAIYIAAoAnRqNgJ0IAEoAhwoAnQgASgCHCgCtC1qQQNPBEAgASABKAIcKAJsIAEoAhwoArQtazYCDCABKAIcIAEoAhwoAjggASgCDGotAAA2AkggASgCHCABKAIcKAJUIAEoAhwoAjggASgCDEEBamotAAAgASgCHCgCSCABKAIcKAJYdHNxNgJIA0AgASgCHCgCtC0EQCABKAIcIAEoAhwoAlQgASgCHCgCOCABKAIMQQJqai0AACABKAIcKAJIIAEoAhwoAlh0c3E2AkggASgCHCgCQCABKAIMIAEoAhwoAjRxQQF0aiABKAIcKAJEIAEoAhwoAkhBAXRqLwEAOwEAIAEoAhwoAkQgASgCHCgCSEEBdGogASgCDDsBACABIAEoAgxBAWo2AgwgASgCHCIAIAAoArQtQQFrNgK0LSABKAIcKAJ0IAEoAhwoArQtakEDTw0BCwsLIAEoAhwoAnRBhgJJBH8gASgCHCgCACgCBEEARwVBAAtBAXENAQsLIAEoAhwoAsAtIAEoAhwoAjxJBEAgASABKAIcKAJsIAEoAhwoAnRqNgIIAkAgASgCHCgCwC0gASgCCEkEQCABIAEoAhwoAjwgASgCCGs2AgQgASgCBEGCAksEQCABQYICNgIECyABKAIcKAI4IAEoAghqQQAgASgCBBAyIAEoAhwgASgCCCABKAIEajYCwC0MAQsgASgCHCgCwC0gASgCCEGCAmpJBEAgASABKAIIQYICaiABKAIcKALALWs2AgQgASgCBCABKAIcKAI8IAEoAhwoAsAta0sEQCABIAEoAhwoAjwgASgCHCgCwC1rNgIECyABKAIcKAI4IAEoAhwoAsAtakEAIAEoAgQQMiABKAIcIgAgASgCBCAAKALALWo2AsAtCwsLIAFBIGokAAuGBQEBfyMAQSBrIgQkACAEIAA2AhwgBCABNgIYIAQgAjYCFCAEIAM2AhAgBEEDNgIMAkAgBCgCHCgCvC1BECAEKAIMa0oEQCAEIAQoAhA2AgggBCgCHCIAIAAvAbgtIAQoAghB//8DcSAEKAIcKAK8LXRyOwG4LSAEKAIcLwG4LUH/AXEhASAEKAIcKAIIIQIgBCgCHCIDKAIUIQAgAyAAQQFqNgIUIAAgAmogAToAACAEKAIcLwG4LUEIdiEBIAQoAhwoAgghAiAEKAIcIgMoAhQhACADIABBAWo2AhQgACACaiABOgAAIAQoAhwgBCgCCEH//wNxQRAgBCgCHCgCvC1rdTsBuC0gBCgCHCIAIAAoArwtIAQoAgxBEGtqNgK8LQwBCyAEKAIcIgAgAC8BuC0gBCgCEEH//wNxIAQoAhwoArwtdHI7AbgtIAQoAhwiACAEKAIMIAAoArwtajYCvC0LIAQoAhwQvAEgBCgCFEH/AXEhASAEKAIcKAIIIQIgBCgCHCIDKAIUIQAgAyAAQQFqNgIUIAAgAmogAToAACAEKAIUQf//A3FBCHYhASAEKAIcKAIIIQIgBCgCHCIDKAIUIQAgAyAAQQFqNgIUIAAgAmogAToAACAEKAIUQX9zQf8BcSEBIAQoAhwoAgghAiAEKAIcIgMoAhQhACADIABBAWo2AhQgACACaiABOgAAIAQoAhRBf3NB//8DcUEIdiEBIAQoAhwoAgghAiAEKAIcIgMoAhQhACADIABBAWo2AhQgACACaiABOgAAIAQoAhwoAgggBCgCHCgCFGogBCgCGCAEKAIUEBkaIAQoAhwiACAEKAIUIAAoAhRqNgIUIARBIGokAAuJAgEBfyMAQRBrIgEkACABIAA2AgwCQCABKAIMLQAFQQFxBEAgASgCDCgCAEECcUUNAQsgASgCDCgCMBAlIAEoAgxBADYCMAsCQCABKAIMLQAFQQFxBEAgASgCDCgCAEEIcUUNAQsgASgCDCgCNBAjIAEoAgxBADYCNAsCQCABKAIMLQAFQQFxBEAgASgCDCgCAEEEcUUNAQsgASgCDCgCOBAlIAEoAgxBADYCOAsCQCABKAIMLQAFQQFxBEAgASgCDCgCAEGAAXFFDQELIAEoAgwoAlQEQCABKAIMKAJUQQAgASgCDCgCVBArEDILIAEoAgwoAlQQFSABKAIMQQA2AlQLIAFBEGokAAt3AQF/IwBBEGsiAiAANgIIIAIgATYCBAJAAkACQCACKAIIKQMoQv////8PWg0AIAIoAggpAyBC/////w9aDQAgAigCBEGABHFFDQEgAigCCCkDSEL/////D1QNAQsgAkEBOgAPDAELIAJBADoADwsgAi0AD0EBcQv/AQEBfyMAQSBrIgUkACAFIAA2AhggBSABNgIUIAUgAjsBEiAFQQA7ARAgBSADNgIMIAUgBDYCCCAFQQA2AgQCQANAIAUoAhgEQAJAIAUoAhgvAQggBS8BEkcNACAFKAIYKAIEIAUoAgxxQYAGcUUNACAFKAIEIAUvARBIBEAgBSAFKAIEQQFqNgIEDAELIAUoAhQEQCAFKAIUIAUoAhgvAQo7AQALIAUoAhgvAQoEQCAFIAUoAhgoAgw2AhwMBAsgBUGR2QA2AhwMAwsgBSAFKAIYKAIANgIYDAELCyAFKAIIQQlBABAUIAVBADYCHAsgBSgCHCEAIAVBIGokACAAC/8CAQF/IwBBMGsiBSQAIAUgADYCKCAFIAE2AiQgBSACNgIgIAUgAzoAHyAFIAQ2AhgCQAJAIAUoAiANACAFLQAfQQFxDQAgBUEANgIsDAELIAUgBSgCICAFLQAfQQFxahAYNgIUIAUoAhRFBEAgBSgCGEEOQQAQFCAFQQA2AiwMAQsCQCAFKAIoBEAgBSAFKAIoIAUoAiCtEB42AhAgBSgCEEUEQCAFKAIYQQ5BABAUIAUoAhQQFSAFQQA2AiwMAwsgBSgCFCAFKAIQIAUoAiAQGRoMAQsgBSgCJCAFKAIUIAUoAiCtIAUoAhgQYUEASARAIAUoAhQQFSAFQQA2AiwMAgsLIAUtAB9BAXEEQCAFKAIUIAUoAiBqQQA6AAAgBSAFKAIUNgIMA0AgBSgCDCAFKAIUIAUoAiBqSQRAIAUoAgwtAABFBEAgBSgCDEEgOgAACyAFIAUoAgxBAWo2AgwMAQsLCyAFIAUoAhQ2AiwLIAUoAiwhACAFQTBqJAAgAAvCAQEBfyMAQTBrIgQkACAEIAA2AiggBCABNgIkIAQgAjcDGCAEIAM2AhQCQCAEKQMYQv///////////wBWBEAgBCgCFEEUQQAQFCAEQX82AiwMAQsgBCAEKAIoIAQoAiQgBCkDGBAuIgI3AwggAkIAUwRAIAQoAhQgBCgCKBAXIARBfzYCLAwBCyAEKQMIIAQpAxhTBEAgBCgCFEERQQAQFCAEQX82AiwMAQsgBEEANgIsCyAEKAIsIQAgBEEwaiQAIAALNgEBfyMAQRBrIgEkACABIAA2AgwgASgCDBBjIAEoAgwoAgAQOSABKAIMKAIEEDkgAUEQaiQAC6sBAQF/IwBBEGsiASQAIAEgADYCDCABKAIMKAIIBEAgASgCDCgCCBAbIAEoAgxBADYCCAsCQCABKAIMKAIERQ0AIAEoAgwoAgQoAgBBAXFFDQAgASgCDCgCBCgCEEF+Rw0AIAEoAgwoAgQiACAAKAIAQX5xNgIAIAEoAgwoAgQoAgBFBEAgASgCDCgCBBA5IAEoAgxBADYCBAsLIAEoAgxBADoADCABQRBqJAAL8QMBAX8jAEHQAGsiCCQAIAggADYCSCAIIAE3A0AgCCACNwM4IAggAzYCNCAIIAQ6ADMgCCAFNgIsIAggBjcDICAIIAc2AhwCQAJAAkAgCCgCSEUNACAIKQNAIAgpA0AgCCkDOHxWDQAgCCgCLA0BIAgpAyBQDQELIAgoAhxBEkEAEBQgCEEANgJMDAELIAhBgAEQGCIANgIYIABFBEAgCCgCHEEOQQAQFCAIQQA2AkwMAQsgCCgCGCAIKQNANwMAIAgoAhggCCkDQCAIKQM4fDcDCCAIKAIYQShqEDsgCCgCGCAILQAzOgBgIAgoAhggCCgCLDYCECAIKAIYIAgpAyA3AxgjAEEQayIAIAgoAhhB5ABqNgIMIAAoAgxBADYCACAAKAIMQQA2AgQgACgCDEEANgIIIwBBEGsiACAIKAJINgIMIAAoAgwpAxhC/4EBgyEBIAhBfzYCCCAIQQc2AgQgCEEONgIAQRAgCBA2IAGEIQEgCCgCGCABNwNwIAgoAhggCCgCGCkDcELAAINCAFI6AHggCCgCNARAIAgoAhhBKGogCCgCNCAIKAIcEJUBQQBIBEAgCCgCGBAVIAhBADYCTAwCCwsgCCAIKAJIQQEgCCgCGCAIKAIcEJIBNgJMCyAIKAJMIQAgCEHQAGokACAAC9MEAQJ/IwBBMGsiAyQAIAMgADYCJCADIAE3AxggAyACNgIUAkAgAygCJCgCQCADKQMYp0EEdGooAgBFBEAgAygCFEEUQQAQFCADQgA3AygMAQsgAyADKAIkKAJAIAMpAxinQQR0aigCACkDSDcDCCADKAIkKAIAIAMpAwhBABAnQQBIBEAgAygCFCADKAIkKAIAEBcgA0IANwMoDAELIAMoAiQoAgAhAiADKAIUIQQjAEEwayIAJAAgACACNgIoIABBgAI7ASYgACAENgIgIAAgAC8BJkGAAnFBAEc6ABsgAEEeQS4gAC0AG0EBcRs2AhwCQCAAKAIoQRpBHCAALQAbQQFxG6xBARAnQQBIBEAgACgCICAAKAIoEBcgAEF/NgIsDAELIAAgACgCKEEEQQYgAC0AG0EBcRusIABBDmogACgCIBBBIgI2AgggAkUEQCAAQX82AiwMAQsgAEEANgIUA0AgACgCFEECQQMgAC0AG0EBcRtIBEAgACAAKAIIEB1B//8DcSAAKAIcajYCHCAAIAAoAhRBAWo2AhQMAQsLIAAoAggQR0EBcUUEQCAAKAIgQRRBABAUIAAoAggQFiAAQX82AiwMAQsgACgCCBAWIAAgACgCHDYCLAsgACgCLCECIABBMGokACADIAIiADYCBCAAQQBIBEAgA0IANwMoDAELIAMpAwggAygCBK18Qv///////////wBWBEAgAygCFEEEQRYQFCADQgA3AygMAQsgAyADKQMIIAMoAgStfDcDKAsgAykDKCEBIANBMGokACABC20BAX8jAEEgayIEJAAgBCAANgIYIAQgATYCFCAEIAI2AhAgBCADNgIMAkAgBCgCGEUEQCAEQQA2AhwMAQsgBCAEKAIUIAQoAhAgBCgCDCAEKAIYQQhqEJIBNgIcCyAEKAIcIQAgBEEgaiQAIAALVQEBfyMAQRBrIgEkACABIAA2AgwCQAJAIAEoAgwoAiRBAUYNACABKAIMKAIkQQJGDQAMAQsgASgCDEEAQgBBChAhGiABKAIMQQA2AiQLIAFBEGokAAumAQEBfyMAQRBrIgIkACACIAA2AgggAiABNgIEAkAgAigCCC0AKEEBcQRAIAJBfzYCDAwBCyACKAIIKAIABEAgAigCCCgCACACKAIEEGhBAEgEQCACKAIIQQxqIAIoAggoAgAQFyACQX82AgwMAgsLIAIoAgggAkEEakIEQRMQIUIAUwRAIAJBfzYCDAwBCyACQQA2AgwLIAIoAgwhACACQRBqJAAgAAuNCAIBfwF+IwBBkAFrIgMkACADIAA2AoQBIAMgATYCgAEgAyACNgJ8IAMQTwJAIAMoAoABKQMIQgBSBEAgAyADKAKAASgCACgCACkDSDcDYCADIAMoAoABKAIAKAIAKQNINwNoDAELIANCADcDYCADQgA3A2gLIANCADcDcAJAA0AgAykDcCADKAKAASkDCFQEQCADKAKAASgCACADKQNwp0EEdGooAgApA0ggAykDaFQEQCADIAMoAoABKAIAIAMpA3CnQQR0aigCACkDSDcDaAsgAykDaCADKAKAASkDIFYEQCADKAJ8QRNBABAUIANCfzcDiAEMAwsgAyADKAKAASgCACADKQNwp0EEdGooAgApA0ggAygCgAEoAgAgAykDcKdBBHRqKAIAKQMgfCADKAKAASgCACADKQNwp0EEdGooAgAoAjAQU0H//wNxrXxC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DEECdGooAgBBAnRqLwEASA0AAkAgAygCGCADKAIQQQJ0ai8BACADKAIYIAMoAhxB3BZqIAMoAgxBAnRqKAIAQQJ0ai8BAEcNACADKAIQIAMoAhxB2Chqai0AACADKAIcQdwWaiADKAIMQQJ0aigCACADKAIcQdgoamotAABKDQAMAQsgAygCHEHcFmogAygCFEECdGogAygCHEHcFmogAygCDEECdGooAgA2AgAgAyADKAIMNgIUIAMgAygCDEEBdDYCDAwBCwsgAygCHEHcFmogAygCFEECdGogAygCEDYCAAvXEwEDfyMAQTBrIgIkACACIAA2AiwgAiABNgIoIAIgAigCKCgCADYCJCACIAIoAigoAggoAgA2AiAgAiACKAIoKAIIKAIMNgIcIAJBfzYCECACKAIsQQA2AtAoIAIoAixBvQQ2AtQoIAJBADYCGANAIAIoAhggAigCHEgEQAJAIAIoAiQgAigCGEECdGovAQAEQCACIAIoAhgiATYCECACKAIsQdwWaiEDIAIoAiwiBCgC0ChBAWohACAEIAA2AtAoIABBAnQgA2ogATYCACACKAIYIAIoAixB2ChqakEAOgAADAELIAIoAiQgAigCGEECdGpBADsBAgsgAiACKAIYQQFqNgIYDAELCwNAIAIoAiwoAtAoQQJIBEACQCACKAIQQQJIBEAgAiACKAIQQQFqIgA2AhAMAQtBACEACyACKAIsQdwWaiEDIAIoAiwiBCgC0ChBAWohASAEIAE2AtAoIAFBAnQgA2ogADYCACACIAA2AgwgAigCJCACKAIMQQJ0akEBOwEAIAIoAgwgAigCLEHYKGpqQQA6AAAgAigCLCIAIAAoAqgtQQFrNgKoLSACKAIgBEAgAigCLCIAIAAoAqwtIAIoAiAgAigCDEECdGovAQJrNgKsLQsMAQsLIAIoAiggAigCEDYCBCACIAIoAiwoAtAoQQJtNgIYA0AgAigCGEEBTgRAIAIoAiwgAigCJCACKAIYEHogAiACKAIYQQFrNgIYDAELCyACIAIoAhw2AgwDQCACIAIoAiwoAuAWNgIYIAIoAixB3BZqIQEgAigCLCIDKALQKCEAIAMgAEEBazYC0CggAigCLCAAQQJ0IAFqKAIANgLgFiACKAIsIAIoAiRBARB6IAIgAigCLCgC4BY2AhQgAigCGCEBIAIoAixB3BZqIQMgAigCLCIEKALUKEEBayEAIAQgADYC1CggAEECdCADaiABNgIAIAIoAhQhASACKAIsQdwWaiEDIAIoAiwiBCgC1ChBAWshACAEIAA2AtQoIABBAnQgA2ogATYCACACKAIkIAIoAgxBAnRqIAIoAiQgAigCGEECdGovAQAgAigCJCACKAIUQQJ0ai8BAGo7AQAgAigCDCACKAIsQdgoamoCfyACKAIYIAIoAixB2Chqai0AACACKAIUIAIoAixB2Chqai0AAE4EQCACKAIYIAIoAixB2Chqai0AAAwBCyACKAIUIAIoAixB2Chqai0AAAtBAWo6AAAgAigCJCACKAIUQQJ0aiACKAIMIgA7AQIgAigCJCACKAIYQQJ0aiAAOwECIAIgAigCDCIAQQFqNgIMIAIoAiwgADYC4BYgAigCLCACKAIkQQEQeiACKAIsKALQKEECTg0ACyACKAIsKALgFiEBIAIoAixB3BZqIQMgAigCLCIEKALUKEEBayEAIAQgADYC1CggAEECdCADaiABNgIAIAIoAighASMAQUBqIgAgAigCLDYCPCAAIAE2AjggACAAKAI4KAIANgI0IAAgACgCOCgCBDYCMCAAIAAoAjgoAggoAgA2AiwgACAAKAI4KAIIKAIENgIoIAAgACgCOCgCCCgCCDYCJCAAIAAoAjgoAggoAhA2AiAgAEEANgIEIABBADYCEANAIAAoAhBBD0wEQCAAKAI8QbwWaiAAKAIQQQF0akEAOwEAIAAgACgCEEEBajYCEAwBCwsgACgCNCAAKAI8QdwWaiAAKAI8KALUKEECdGooAgBBAnRqQQA7AQIgACAAKAI8KALUKEEBajYCHANAIAAoAhxBvQRIBEAgACAAKAI8QdwWaiAAKAIcQQJ0aigCADYCGCAAIAAoAjQgACgCNCAAKAIYQQJ0ai8BAkECdGovAQJBAWo2AhAgACgCECAAKAIgSgRAIAAgACgCIDYCECAAIAAoAgRBAWo2AgQLIAAoAjQgACgCGEECdGogACgCEDsBAiAAKAIYIAAoAjBMBEAgACgCPCAAKAIQQQF0akG8FmoiASABLwEAQQFqOwEAIABBADYCDCAAKAIYIAAoAiROBEAgACAAKAIoIAAoAhggACgCJGtBAnRqKAIANgIMCyAAIAAoAjQgACgCGEECdGovAQA7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EANAIAMpAxAgAykDCFpFBEAgAygCKCgCACADKQMQp0EEdGoQkAEgAyADKQMQQgF8NwMQDAELCyADKAIoIAMpAwgiATcDECADKAIoIAE3AwggA0EBOgAvCyADLQAvQQFxIQAgA0EwaiQAIAALzAEBAX8jAEEgayICJAAgAiAANwMQIAIgATYCDCACQTAQGCIBNgIIAkAgAUUEQCACKAIMQQ5BABAUIAJBADYCHAwBCyACKAIIQQA2AgAgAigCCEIANwMQIAIoAghCADcDCCACKAIIQgA3AyAgAigCCEIANwMYIAIoAghBADYCKCACKAIIQQA6ACwgAigCCCACKQMQIAIoAgwQgwFBAXFFBEAgAigCCBAkIAJBADYCHAwBCyACIAIoAgg2AhwLIAIoAhwhASACQSBqJAAgAQvWAgEBfyMAQSBrIgMkACADIAA2AhggAyABNgIUIAMgAjYCECADIANBDGpCBBApNgIIAkAgAygCCEUEQCADQX82AhwMAQsDQCADKAIUBEAgAygCFCgCBCADKAIQcUGABnEEQCADKAIIQgAQLBogAygCCCADKAIULwEIEB8gAygCCCADKAIULwEKEB8CfyMAQRBrIgAgAygCCDYCDCAAKAIMLQAAQQFxRQsEQCADKAIYQQhqQRRBABAUIAMoAggQFiADQX82AhwMBAsgAygCGCADQQxqQgQQNUEASARAIAMoAggQFiADQX82AhwMBAsgAygCFC8BCgRAIAMoAhggAygCFCgCDCADKAIULwEKrRA1QQBIBEAgAygCCBAWIANBfzYCHAwFCwsLIAMgAygCFCgCADYCFAwBCwsgAygCCBAWIANBADYCHAsgAygCHCEAIANBIGokACAAC2gBAX8jAEEQayICIAA2AgwgAiABNgIIIAJBADsBBgNAIAIoAgwEQCACKAIMKAIEIAIoAghxQYAGcQRAIAIgAigCDC8BCiACLwEGQQRqajsBBgsgAiACKAIMKAIANgIMDAELCyACLwEGC/ABAQF/IwBBEGsiASQAIAEgADYCDCABIAEoAgw2AgggAUEANgIEA0AgASgCDARAAkACQCABKAIMLwEIQfXGAUYNACABKAIMLwEIQfXgAUYNACABKAIMLwEIQYGyAkYNACABKAIMLwEIQQFHDQELIAEgASgCDCgCADYCACABKAIIIAEoAgxGBEAg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IAEpA4ABIAEpAzB8IAEpA5gBIAEpAzh8VgRAIAEoApABQRVBABAUIAFBADYCrAEMAQsCQCABKAKUAUEEcUUNACABKQOAASABKQMwfCABKQOYASABKQM4fFENACABKAKQAUEVQQAQFCABQQA2AqwBDAELIAEpAyggASkDMEIugFYEQCABKAKQAUEVQQAQFCABQQA2AqwBDAELIAEgASkDKCABKAKQARCEASIFNgKMASAFRQRAIAFBADYCrAEMAQsgASgCjAFBAToALCABKAKMASABKQMwNwMYIAEoAowBIAEpA4ABNwMgIAEgASgCjAE2AqwBCyABKAKsASEFIAFBsAFqJAAgACAFNgJQDAELIAAoAmQgACkDMBAsGiAAKAJkIQUgACkDWCEJIAAoAmgoAhQhBiAAKAJUIQcjAEHQAGsiASQAIAEgBTYCSCABIAk3A0AgASAGNgI8IAEgBzYCOAJAIAEoAkgQL0IWVARAIAEoAjhBFUEAEBQgAUEANgJMDAELIwBBEGsiBSABKAJINgIMIAECfiAFKAIMLQAAQQFxBEAgBSgCDCkDEAwBC0IACzcDCCABKAJIQgQQHhogASgCSBAqBEAgASgCOEEBQQAQFCABQQA2AkwMAQsgASABKAJIEB1B//8Dca03AyggASABKAJIEB1B//8Dca03AyAgASkDICABKQMoUgRAIAEoAjhBE0EAEBQgAUEANgJMDAELIAEgASgCSBAqrTcDGCABIAEoAkgQKq03AxAgASkDECABKQMQIAEpAxh8VgRAIAEoAjhBBEEWEBQgAUEANgJMDAELIAEpAxAgASkDGHwgASkDQCABKQMIfFYEQCABKAI4QRVBABAUIAFBADYCTAwBCwJAIAEoAjxBBHFFDQAgASkDECABKQMYfCABKQNAIAEpAwh8UQ0AIAEoAjhBFUEAEBQgAUEANgJMDAELIAEgASkDICABKAI4EIQBIgU2AjQgBUUEQCABQQA2AkwMAQsgASgCNEEAOgAsIAEoAjQgASkDGDcDGCABKAI0IAEpAxA3AyAgASABKAI0NgJMCyABKAJMIQUgAUHQAGokACAAIAU2AlALIAAoAlBFBEAgAEEANgJsDAELIAAoAmQgACkDMEIUfBAsGiAAIAAoAmQQHTsBTiAAKAJQKQMgIAAoAlApAxh8IAApA1ggACkDMHxWBEAg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IAIgAigCLCIAQQFqNgIsIAAtAAEhASACIAIoAigiAEEBajYCKEEAIAAtAAEgAUcNABogAiACKAIsIgBBAWo2AiwgAC0AASEBIAIgAigCKCIAQQFqNgIoQQAgAC0AASABRw0AGiACIAIoAiwiAEEBajYCLCAALQABIQEgAiACKAIoIgBBAWo2AihBACAALQABIAFHDQAaIAIgAigCLCIAQQFqNgIsIAAtAAEhASACIAIoAigiAEEBajYCKEEAIAAtAAEgAUcNABogAiACKAIsIgBBAWo2AiwgAC0AASEBIAIgAigCKCIAQQFqNgIoQQAgAC0AASABRw0AGiACKAIsIAIoAgxJC0EBcQ0ACyACQYICIAIoAgwgAigCLGtrNgIkIAIgAigCDEGCAms2AiwgAigCJCACKAIgSgRAIAIoAjggAigCNDYCcCACIAIoAiQ2AiAgAigCJCACKAIcTg0CIAIgAigCLCACKAIgQQFrai0AADoACyACIAIoAiwgAigCIGotAAA6AAoLCyACIAIoAhQgAigCNCACKAIQcUEBdGovAQAiATYCNEEAIQAgASACKAIYSwR/IAIgAigCMEEBayIANgIwIABBAEcFQQALQQFxDQELCwJAIAIoAiAgAigCOCgCdE0EQCACIAIoAiA2AjwMAQsgAiACKAI4KAJ0NgI8CyACKAI8C5IQAQF/IwBBMGsiAiQAIAIgADYCKCACIAE2AiQgAgJ/IAIoAigoAiwgAigCKCgCDEEFa0kEQCACKAIoKAIsDAELIAIoAigoAgxBBWsLNgIgIAJBADYCECACIAIoAigoAgAoAgQ2AgwDQAJAIAJB//8DNgIcIAIgAigCKCgCvC1BKmpBA3U2AhQgAigCKCgCACgCECACKAIUSQ0AIAIgAigCKCgCACgCECACKAIUazYCFCACIAIoAigoAmwgAigCKCgCXGs2AhggAigCHCACKAIYIAIoAigoAgAoAgRqSwRAIAIgAigCGCACKAIoKAIAKAIEajYCHAsgAigCHCACKAIUSwRAIAIgAigCFDYCHAsCQCACKAIcIAIoAiBPDQACQCACKAIcRQRAIAIoAiRBBEcNAQsgAigCJEUNACACKAIcIAIoAhggAigCKCgCACgCBGpGDQELDAELQQAhACACIAIoAiRBBEYEfyACKAIcIAIoAhggAigCKCgCACgCBGpGBUEAC0EBcTYCECACKAIoQQBBACACKAIQEFwgAigCKCgCCCACKAIoKAIUQQRraiACKAIcOgAAIAIoAigoAgggAigCKCgCFEEDa2ogAigCHEEIdjoAACACKAIoKAIIIAIoAigoAhRBAmtqIAIoAhxBf3M6AAAgAigCKCgCCCACKAIoKAIUQQFraiACKAIcQX9zQQh2OgAAIAIoAigoAgAQHCACKAIYBEAgAigCGCACKAIcSwRAIAIgAigCHDYCGAsgAigCKCgCACgCDCACKAIoKAI4IAIoAigoAlxqIAIoAhgQGRogAigCKCgCACIAIAIoAhggACgCDGo2AgwgAigCKCgCACIAIAAoAhAgAigCGGs2AhAgAigCKCgCACIAIAIoAhggACgCFGo2AhQgAigCKCIAIAIoAhggACgCXGo2AlwgAiACKAIcIAIoAhhrNgIcCyACKAIcBEAgAigCKCgCACACKAIoKAIAKAIMIAIoAhwQeBogAigCKCgCACIAIAIoAhwgACgCDGo2AgwgAigCKCgCACIAIAAoAhAgAigCHGs2AhAgAigCKCgCACIAIAIoAhwgACgCFGo2AhQLIAIoAhBFDQELCyACIAIoAgwgAigCKCgCACgCBGs2AgwgAigCDARAAkAgAigCDCACKAIoKAIsTwRAIAIoAihBAjYCsC0gAigCKCgCOCACKAIoKAIAKAIAIAIoAigoAixrIAIoAigoAiwQGRogAigCKCACKAIoKAIsNgJsDAELIAIoAgwgAigCKCgCPCACKAIoKAJsa08EQCACKAIoIgAgACgCbCACKAIoKAIsazYCbCACKAIoKAI4IAIoAigoAjggAigCKCgCLGogAigCKCgCbBAZGiACKAIoKAKwLUECSQRAIAIoAigiACAAKAKwLUEBajYCsC0LCyACKAIoKAI4IAIoAigoAmxqIAIoAigoAgAoAgAgAigCDGsgAigCDBAZGiACKAIoIgAgAigCDCAAKAJsajYCbAsgAigCKCACKAIoKAJsNgJcIAIoAigiAQJ/IAIoAgwgAigCKCgCLCACKAIoKAK0LWtLBEAgAigCKCgCLCACKAIoKAK0LWsMAQsgAigCDAsgASgCtC1qNgK0LQsgAigCKCgCwC0gAigCKCgCbEkEQCACKAIoIAIoAigoAmw2AsAtCwJAIAIoAhAEQCACQQM2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mwFCADcDAEGYmwFCADcDAEGQmwFCADcDAEGImwFCADcDAEGAmwFCADcDAEH4mgFCADcDAEHwmgFCADcDAEHwmgEL1QQBBX8jAEGwAWsiASQAIAEgADYCqAEgASgCqAEQNwJAAkAgASgCqAEoAgBBAE4EQCABKAKoASgCAEGAFCgCAEgNAQsgASABKAKoASgCADYCECABQSBqQY8SIAFBEGoQcCABQQA2AqQBIAEgAUEgajYCoAEMAQsgASABKAKoASgCAEECdEGAE2ooAgA2AqQBAkACQAJAAkAgASgCqAEoAgBBAnRBkBRqKAIAQQFrDgIAAQILIAEoAqgBKAIEIQJBkJkBKAIAIQRBACEAAkACQANAIAIgAEGgiAFqLQAARwRAQdcAIQMgAEEBaiIAQdcARw0BDAILCyAAIgMNAEGAiQEhAgwBC0GAiQEhAANAIAAtAAAhBSAAQQFqIgIhACAFDQAgAiEAIANBAWsiAw0ACwsgBCgCFBogASACNgKgAQwCCyMAQRBrIgAgASgCqAEoAgQ2AgwgAUEAIAAoAgxrQQJ0QajZAGooAgA2AqABDAELIAFBADYCoAELCwJAIAEoAqABRQRAIAEgASgCpAE2AqwBDAELIAEgASgCoAEQKwJ/IAEoAqQBBEAgASgCpAEQK0ECagwBC0EAC2pBAWoQGCIANgIcIABFBEAgAUG4EygCADYCrAEMAQsgASgCHCEAAn8gASgCpAEEQCABKAKkAQwBC0H6EgshA0HfEkH6EiABKAKkARshAiABIAEoAqABNgIIIAEgAjYCBCABIAM2AgAgAEG+CiABEHAgASgCqAEgASgCHDYCCCABIAEoAhw2AqwBCyABKAKsASEAIAFBsAFqJAAgAAszAQF/IAAoAhQiAyABIAIgACgCECADayIBIAEgAksbIgEQGRogACAAKAIUIAFqNgIUIAILjwUCBn4BfyABIAEoAgBBD2pBcHEiAUEQajYCACAAAnwgASkDACEDIAEpAwghBiMAQSBrIggkAAJAIAZC////////////AIMiBEKAgICAgIDAgDx9IARCgICAgICAwP/DAH1UBEAgBkIEhiADQjyIhCEEIANC//////////8PgyIDQoGAgICAgICACFoEQCAEQoGAgICAgICAwAB8IQIMAgsgBEKAgICAgICAgEB9IQIgA0KAgICAgICAgAiFQgBSDQEgAiAEQgGDfCECDAELIANQIARCgICAgICAwP//AFQgBEKAgICAgIDA//8AURtFBEAgBkIEhiADQjyIhEL/////////A4NCgICAgICAgPz/AIQhAgwBC0KAgICAgICA+P8AIQIgBEL///////+//8MAVg0AQgAhAiAEQjCIpyIAQZH3AEkNACADIQIgBkL///////8/g0KAgICAgIDAAIQiBSEHAkAgAEGB9wBrIgFBwABxBEAgAiABQUBqrYYhB0IAIQIMAQsgAUUNACAHIAGtIgSGIAJBwAAgAWutiIQhByACIASGIQILIAggAjcDECAIIAc3AxgCQEGB+AAgAGsiAEHAAHEEQCAFIABBQGqtiCEDQgAhBQwBCyAARQ0AIAVBwAAgAGuthiADIACtIgKIhCEDIAUgAoghBQsgCCADNwMAIAggBTcDCCAIKQMIQgSGIAgpAwAiA0I8iIQhAiAIKQMQIAgpAxiEQgBSrSADQv//////////D4OEIgNCgYCAgICAgIAIWgRAIAJCAXwhAgwBCyADQoCAgICAgICACIVCAFINACACQgGDIAJ8IQILIAhBIGokACACIAZCgICAgICAgICAf4OEvws5AwALrRcDEn8CfgF8IwBBsARrIgkkACAJQQA2AiwCQCABvSIYQn9XBEBBASESQa4IIRMgAZoiAb0hGAwBCyAEQYAQcQRAQQEhEkGxCCETDAELQbQIQa8IIARBAXEiEhshEyASRSEXCwJAIBhCgICAgICAgPj/AINCgICAgICAgPj/AFEEQCAAQSAgAiASQQNqIg0gBEH//3txECYgACATIBIQIiAAQeQLQbUSIAVBIHEiAxtBjw1BuRIgAxsgASABYhtBAxAiDAELIAlBEGohEAJAAn8CQCABIAlBLGoQqQEiASABoCIBRAAAAAAAAAAAYgRAIAkgCSgCLCIGQQFrNgIsIAVBIHIiFEHhAEcNAQwDCyAFQSByIhRB4QBGDQIgCSgCLCELQQYgAyADQQBIGwwBCyAJIAZBHWsiCzYCLCABRAAAAAAAALBBoiEBQQYgAyADQQBIGwshCiAJQTBqIAlB0AJqIAtBAEgbIg4hBwNAIAcCfyABRAAAAAAAAPBBYyABRAAAAAAAAAAAZnEEQCABqwwBC0EACyIDNgIAIAdBBGohByABIAO4oUQA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HCECIAEgASgCGCIDQQFqNgIYQQAgAy0AASACRw0AGiABKAIcIQIgASABKAIYIgNBAWo2AhhBACADLQABIAJHDQAaIAEoAhwhAiABIAEoAhgiA0EBajYCGEEAIAMtAAEgAkcNABogASgCHCECIAEgASgCGCIDQQFqNgIYQQAgAy0AASACRw0AGiABKAIcIQIgASABKAIYIgNBAWo2AhhBACADLQABIAJHDQAaIAEoAhwhAiABIAEoAhgiA0EBajYCGEEAIAMtAAEgAkcNABogASgCGCABKAIUSQtBAXENAAsgASgCKEGCAiABKAIUIAEoAhhrazYCYCABKAIoKAJgIAEoAigoAnRLBEAgASgCKCABKAIoKAJ0NgJgCwsLAkAgASgCKCgCYEEDTwRAIAEgASgCKCgCYEEDazoAEyABQQE7ARAgASgCKCICKAKkLSACKAKgLUEBdGogAS8BEDsBACABLQATIQMgASgCKCICKAKYLSEEIAIgAigCoC0iAkEBajYCoC0gAiAEaiADOgAAIAEgAS8BEEEBazsBECABKAIoIAEtABNB0N0Aai0AAEECdGpBmAlqIgIgAi8BAEEBajsBACABKAIoQYgTagJ/IAEvARBBgAJJBEAgAS8BEC0A0FkMAQsgAS8BEEEHdkGAAmotANBZC0ECdGoiAiACLwEAQQFqOwEAIAEgASgCKCgCoC0gASgCKCgCnC1BAWtGNgIgIAEoAigiAiACKAJ0IAEoAigoAmBrNgJ0IAEoAigiAiABKAIoKAJgIAIoAmxqNgJsIAEoAihBADYCYAwBCyABIAEoAigiAigCOCACKAJsai0AADoADyABKAIoIgIoAqQtIAIoAqAtQQF0akEAOwEAIAEtAA8hAyABKAIoIgIoApgtIQQgAiACKAKgLSICQQFqNgKgLSACIARqIAM6AAAgASgCKCABLQAPQQJ0aiICIAIvAZQBQQFqOwGUASABIAEoAigoAqAtIAEoAigoApwtQQFrRjYCICABKAIoIgIgAigCdEEBazYCdCABKAIoIgIgAigCbEEBajYCbAsgASgCIARAIAEoAigCfyABKAIoKAJcQQBOBEAgASgCKCgCOCABKAIoKAJcagwBC0EACyABKAIoKAJsIAEoAigoAlxrQQAQKCABKAIoIAEoAigoAmw2AlwgASgCKCgCABAcIAEoAigo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QCABKAIoQQ9JBEAgASABKAJQIgJBAWo2AlAgASABKAIsIAItAAAgASgCKHRqNgIsIAEgASgCKEEIajYCKCABIAEoAlAiAkEBajYCUCABIAEoAiwgAi0AACABKAIodGo2AiwgASABKAIoQQhqNgIoCyABIAEoAiQgASgCLCABKAIccUECdGooAQA2ARACQAJAA0AgASABLQARNgIMIAEgASgCLCABKAIMdjYCLCABIAEoAiggASgCDGs2AiggASABLQAQNgIMIAEoAgxFBEAgAS8BEiECIAEgASgCSCIDQQFqNgJIIAMgAjoAAAwCCyABKAIMQRBxBEAgASABLwESNgIIIAEgASgCDEEPcTYCDCABKAIMBEAgASgCKCABKAIMSQRAIAEgASgCUCICQQFqNgJQIAEgASgCLCACLQAAIAEoAih0ajYCLCABIAEoAihBCGo2AigLIAEgASgCCCABKAIsQQEgASgCDHRBAWtxajYCCCABIAEoAiwgASgCDHY2AiwgASABKAIoIAEoAgxrNgIoCyABKAIoQQ9JBEAgASABKAJQIgJBAWo2AlAgASABKAIsIAItAAAgASgCKHRqNgIsIAEgASgCKEEIajYCKCABIAEoAlAiAkEBajYCUCABIAEoAiwgAi0AACABKAIodGo2AiwgASABKAIoQQhqNgIoCyABIAEoAiAgASgCLCABKAIYcUECdGooAQA2ARACQANAIAEgAS0AETYCDCABIAEoAiwgASgCDHY2AiwgASABKAIoIAEoAgxrNgIoIAEgAS0AEDYCDCABKAIMQRBxBEAgASABLwESNgIEIAEgASgCDEEPcTYCDCABKAIoIAEoAgxJBEAgASABKAJQIgJBAWo2AlAgASABKAIsIAItAAAgASgCKHRqNgIsIAEgASgCKEEIajYCKCABKAIoIAEoAgxJBEAgASABKAJQIgJBAWo2AlAgASABKAIsIAItAAAgASgCKHRqNgIsIAEgASgCKEEIajYCKAsLIAEgASgCBCABKAIsQQEgASgCDHRBAWtxajYCBCABIAEoAiwgASgCDHY2AiwgASABKAIoIAEoAgxrNgIoIAEgASgCSCABKAJEazYCDAJAIAEoAgQgASgCDEsEQCABIAEoAgQgASgCDGs2AgwgASgCDCABKAI4SwRAIAEoAlQoAsQ3BEAgASgCXEHdDDYCGCABKAJUQdH+ADYCBAwKCwsgASABKAIwNgIAAkAgASgCNEUEQCABIAEoAgAgASgCPCABKAIMa2o2AgAgASgCDCABKAIISQRAIAEgASgCCCABKAIMazYCCANAIAEgASgCACICQQFqNgIAIAItAAAhAiABIAEoAkgiA0EBajYCSCADIAI6AAAgASABKAIMQQFrIgI2AgwgAg0ACyABIAEoAkggASgCBGs2AgALDAELAkAgASgCNCABKAIMSQRAIAEgASgCACABKAI8IAEoAjRqIAEoAgxrajYCACABIAEoAgwgASgCNGs2AgwgASgCDCABKAIISQRAIAEgASgCCCABKAIMazYCCANAIAEgASgCACICQQFqNgIAIAItAAAhAiABIAEoAkgiA0EBajYCSCADIAI6AAAgASABKAIMQQFrIgI2AgwgAg0ACyABIAEoAjA2AgAgASgCNCABKAIISQRAIAEgASgCNDYCDCABIAEoAgggASgCDGs2AggDQCABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAAIAEgASgCDEEBayICNgIMIAINAAsgASABKAJIIAEoAgRrNgIACwsMAQsgASABKAIAIAEoAjQgASgCDGtqNgIAIAEoAgwgASgCCEkEQCABIAEoAgggASgCDGs2AggDQCABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAAIAEgASgCDEEBayICNgIMIAINAAsgASABKAJIIAEoAgRrNgIACwsLA0AgASgCCEECSwRAIAEgASgCACICQQFqNgIAIAItAAAhAiABIAEoAkgiA0EBajYCSCADIAI6AAAgASABKAIAIgJBAWo2AgAgAi0AACECIAEgASgCSCIDQQFqNgJIIAMgAjoAACABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAAIAEgASgCCEEDazYCCAwBCwsMAQsgASABKAJIIAEoAgRrNgIAA0AgASABKAIAIgJBAWo2AgAgAi0AACECIAEgASgCSCIDQQFqNgJIIAMgAjoAACABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAAIAEgASgCACICQQFqNgIAIAItAAAhAiABIAEoAkgi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ZWFkIGVycm9yAFpsaWIgZXJyb3IAZGF0YSBlcnJvcgBDUkMgZXJyb3IAaW5jb21wYXRpYmxlIHZlcnNpb24AbmFuAC9kZXYvdXJhbmRvbQBpbnZhbGlkIGNvZGUgLS0gbWlzc2luZyBlbmQtb2YtYmxvY2sAaW5jb3JyZWN0IGhlYWRlciBjaGVjawBpbmNvcnJlY3QgbGVuZ3RoIGNoZWNrAGluY29ycmVjdCBkYXRhIGNoZWNrAGludmFsaWQgZGlzdGFuY2UgdG9vIGZhciBiYWNrAGhlYWRlciBjcmMgbWlzbWF0Y2gAaW5mAGludmFsaWQgd2luZG93IHNpemUAUmVhZC1vbmx5IGFyY2hpdmUATm90IGEgemlwIGFyY2hpdmUAUmVzb3VyY2Ugc3RpbGwgaW4gdXNlAE1hbGxvYyBmYWlsdXJlAGludmFsaWQgYmxvY2sgdHlwZQBGYWlsdXJlIHRvIGNyZWF0ZSB0ZW1wb3JhcnkgZmlsZQBDYW4ndCBvcGVuIGZpbGUATm8gc3VjaCBmaWxlAFByZW1hdHVyZSBlbmQgb2YgZmlsZQBDYW4ndCByZW1vdmUgZmlsZQBpbnZhbGlkIGxpdGVyYWwvbGVuZ3RoIGNvZGUAaW52YWxpZCBkaXN0YW5jZSBjb2RlAHVua25vd24gY29tcHJlc3Npb24gbWV0aG9kAHN0cmVhbSBlbmQAQ29tcHJlc3NlZCBkYXRhIGludmFsaWQATXVsdGktZGlzayB6aXAgYXJjaGl2ZXMgbm90IHN1cHBvcnRlZABPcGVyYXRpb24gbm90IHN1cHBvcnRlZABFbmNyeXB0aW9uIG1ldGhvZCBub3Qgc3VwcG9ydGVkAENvbXByZXNzaW9uIG1ldGhvZCBub3Qgc3VwcG9ydGVkAEVudHJ5IGhhcyBiZWVuIGRlbGV0ZWQAQ29udGFpbmluZyB6aXAgYXJjaGl2ZSB3YXMgY2xvc2VkAENsb3NpbmcgemlwIGFyY2hpdmUgZmFpbGVkAFJlbmFtaW5nIHRlbXBvcmFyeSBmaWxlIGZhaWxlZABFbnRyeSBoYXMgYmVlbiBjaGFuZ2VkAE5vIHBhc3N3b3JkIHByb3ZpZGVkAFdyb25nIHBhc3N3b3JkIHByb3ZpZGVkAFVua25vd24gZXJyb3IgJWQAcmIAcitiAHJ3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CADcAAgAPAAIALwACAB8AAgA/AAIAAIACACCAAgAQgAIAMIACAAiAAgAogAIAGIACADiAAgAEgAIAJIACABSAAgA0gAIADIACACyAAgAcgAIAPIACAAKAAgAigAIAEoACADKAAgAKgAIAKoACABqAAgA6gAIABoACACaAAgAWgAIANoACAA6AAgAugAIAHoACAD6AAgABgAIAIYACABGAAgAxgAIACYACACmAAgAZgAIAOYACAAWAAgAlgAIAFYACADWAAgANgAIALYACAB2AAgA9gAIAA4ACACOAAgATgAIAM4ACAAuAAgArgAIAG4ACADuAAgAHgAIAJ4ACABeAAgA3gAIAD4ACAC+AAgAfgAIAP4ACAABAAgAgQAIAEEACADBAAgAIQAIAKEACABhAAgA4QAIABEACACRAAgAUQAIANEACAAxAAgAsQAIAHEACADxAAgACQAIAIkACABJAAgAyQAIACkACACpAAgAaQAIAOkACAAZAAgAmQAIAFkACADZAAgAOQAIALkACAB5AAgA+QAIAAUACACFAAgARQAIAMUACAAlAAgApQAIAGUACADlAAgAFQAIAJUACABVAAgA1QAIADUACAC1AAgAdQAIAPUACAANAAgAjQAIAE0ACADNAAgALQAIAK0ACABtAAgA7QAIAB0ACACdAAgAXQAIAN0ACAA9AAgAvQAIAH0ACAD9AAgAEwAJABMBCQCTAAkAkwEJAFMACQBTAQkA0wAJANMBCQAzAAkAMwEJALMACQCzAQkAcwAJAHMBCQDzAAkA8wEJAAsACQALAQkAiwAJAIsBCQBLAAkASwEJAMsACQDLAQkAKwAJACsBCQCrAAkAqwEJAGsACQBrAQkA6wAJAOsBCQAbAAkAGwEJAJsACQCbAQkAWwAJAFsBCQDbAAkA2wEJADsACQA7AQkAuwAJALsBCQB7AAkAewEJAPsACQD7AQkABwAJAAcBCQCHAAkAhwEJAEcACQBHAQkAxwAJAMcBCQAnAAkAJwEJAKcACQCnAQkAZwAJAGcBCQDnAAkA5wEJABcACQAXAQkAlwAJAJcBCQBXAAkAVwEJANcACQDXAQkANwAJADcBCQC3AAkAtwEJAHcACQB3AQkA9wAJAPcBCQAPAAkADwEJAI8ACQCPAQkATwAJAE8BCQDPAAkAzwEJAC8ACQAvAQkArwAJAK8BCQBvAAkAbwEJAO8ACQDvAQkAHwAJAB8BCQCfAAkAnwEJAF8ACQBfAQkA3wAJAN8BCQA/AAkAPwEJAL8ACQC/AQkAfwAJAH8BCQD/AAkA/wEJAAAABwBAAAcAIAAHAGAABwAQAAcAUAAHADAABwBwAAcACAAHAEgABwAoAAcAaAAHABgABwBYAAcAOAAHAHgABwAEAAcARAAHACQABwBkAAcAFAAHAFQABwA0AAcAdAAHAAMACACDAAgAQwAIAMMACAAjAAgAowAIAGMACADjAAgAAAAFABAABQAIAAUAGAAFAAQABQAUAAUADAAFABwABQACAAUAEgAFAAoABQAaAAUABgAFABYABQAOAAUAHgAFAAEABQARAAUACQAFABkABQAFAAUAFQAFAA0ABQAdAAUAAwAFABMABQALAAUAGwAFAAcABQAXAAUAQbDqAAtNAQAAAAEAAAABAAAAAQAAAAIAAAACAAAAAgAAAAIAAAADAAAAAwAAAAMAAAADAAAABAAAAAQAAAAEAAAABAAAAAUAAAAFAAAABQAAAAUAQaDrAAtlAQAAAAEAAAACAAAAAgAAAAMAAAADAAAABAAAAAQAAAAFAAAABQAAAAYAAAAGAAAABwAAAAcAAAAIAAAACAAAAAkAAAAJAAAACgAAAAoAAAALAAAACwAAAAwAAAAMAAAADQAAAA0AQdDsAAsjAgAAAAMAAAAHAAAAAAAAABAREgAIBwkGCgULBAwDDQIOAQ8AQYTtAAtpAQAAAAIAAAADAAAABAAAAAUAAAAGAAAABwAAAAgAAAAKAAAADAAAAA4AAAAQAAAAFAAAABgAAAAcAAAAIAAAACgAAAAwAAAAOAAAAEAAAABQAAAAYAAAAHAAAACAAAAAoAAAAMAAAADgAEGE7gALegEAAAACAAAAAwAAAAQAAAAGAAAACAAAAAwAAAAQAAAAGAAAACAAAAAwAAAAQAAAAGAAAACAAAAAwAAAAAABAACAAQAAAAIAAAADAAAABAAAAAYAAAAIAAAADAAAABAAAAAYAAAAIAAAADAAAABAAAAAYAAAMS4yLjExAEGI7wALbQcAAAAEAAQACAAEAAgAAAAEAAUAEAAIAAgAAAAEAAYAIAAgAAgAAAAEAAQAEAAQAAkAAAAIABAAIAAgAAkAAAAIABAAgACAAAkAAAAIACAAgAAAAQkAAAAgAIAAAgEABAkAAAAgAAIBAgEAEAkAQYDwAAulAgMABAAFAAYABwAIAAkACgALAA0ADwARABMAFwAbAB8AIwArADMAOwBDAFMAYwBzAIMAowDDAOMAAgEAAAAAAAAQABAAEAAQABAAEAAQABAAEQARABEAEQASABIAEgASABMAEwATABMAFAAUABQAFAAVABUAFQAVABAATQDKAAAAAQACAAMABAAFAAcACQANABEAGQAhADEAQQBhAIEAwQABAYEBAQIBAwEEAQYBCAEMARABGAEgATABQAFgAAAAABAAEAAQABAAEQARABIAEgATABMAFAAUABUAFQAWABYAFwAXABgAGAAZABkAGgAaABsAGwAcABwAHQAdAEAAQAAQABEAEgAAAAgABwAJAAYACgAFAAsABAAMAAMADQACAA4AAQAPAEGw8gALwRFgBwAAAAhQAAAIEAAUCHMAEgcfAAAIcAAACDAAAAnAABAHCgAACGAAAAggAAAJoAAACAAAAAiAAAAIQAAACeAAEAcGAAAIWAAACBgAAAmQABMHOwAACHgAAAg4AAAJ0AARBxEAAAhoAAAIKAAACbAAAAgIAAAIiAAACEgAAAnwABAHBAAACFQAAAgUABUI4wATBysAAAh0AAAINAAACcgAEQcNAAAIZAAACCQAAAmoAAAIBAAACIQAAAhEAAAJ6AAQBwgAAAhcAAAIHAAACZgAFAdTAAAIfAAACDwAAAnYABIHFwAACGwAAAgsAAAJuAAACAwAAAiMAAAITAAACfgAEAcDAAAIUgAACBIAFQijABMHIwAACHIAAAgyAAAJxAARBwsAAAhiAAAIIgAACaQAAAgCAAAIggAACEIAAAnkABAHBwAACFoAAAgaAAAJlAAUB0MAAAh6AAAIOgAACdQAEgcTAAAIagAACCoAAAm0AAAICgAACIoAAAhKAAAJ9AAQBwUAAAhWAAAIFgBACAAAEwczAAAIdgAACDYAAAnMABEHDwAACGYAAAgmAAAJrAAACAYAAAiGAAAIRgAACewAEAcJAAAIXgAACB4AAAmcABQHYwAACH4AAAg+AAAJ3AASBxsAAAhuAAAILgAACbwAAAgOAAAIjgAACE4AAAn8AGAHAAAACFEAAAgRABUIgwASBx8AAAhxAAAIMQAACcIAEAcKAAAIYQAACCEAAAmiAAAIAQAACIEAAAhBAAAJ4gAQBwYAAAhZAAAIGQAACZIAEwc7AAAIeQAACDkAAAnSABEHEQAACGkAAAgpAAAJsgAACAkAAAiJAAAISQAACfIAEAcEAAAIVQAACBUAEAgCARMHKwAACHUAAAg1AAAJygARBw0AAAhlAAAIJQAACaoAAAgFAAAIhQAACEUAAAnqABAHCAAACF0AAAgdAAAJmgAUB1MAAAh9AAAIPQAACdoAEgcXAAAIbQAACC0AAAm6AAAIDQAACI0AAAhNAAAJ+gAQBwMAAAhTAAAIEwAVCMMAEwcjAAAIcwAACDMAAAnGABEHCwAACGMAAAgjAAAJpgAACAMAAAiDAAAIQwAACeYAEAcHAAAIWwAACBsAAAmWABQHQwAACHsAAAg7AAAJ1gASBxMAAAhrAAAIKwAACbYAAAgLAAAIiwAACEsAAAn2ABAHBQAACFcAAAgXAEAIAAATBzMAAAh3AAAINwAACc4AEQcPAAAIZwAACCcAAAmuAAAIBwAACIcAAAhHAAAJ7gAQBwkAAAhfAAAIHwAACZ4AFAdjAAAIfwAACD8AAAneABIHGwAACG8AAAgvAAAJvgAACA8AAAiPAAAITwAACf4AYAcAAAAIUAAACBAAFAhzABIHHwAACHAAAAgwAAAJwQAQBwoAAAhgAAAIIAAACaEAAAgAAAAIgAAACEAAAAnhABAHBgAACFgAAAgYAAAJkQATBzsAAAh4AAAIOAAACdEAEQcRAAAIaAAACCgAAAmxAAAICAAACIgAAAhIAAAJ8QAQBwQAAAhUAAAIFAAVCOMAEwcrAAAIdAAACDQAAAnJABEHDQAACGQAAAgkAAAJqQAACAQAAAiEAAAIRAAACekAEAcIAAAIXAAACBwAAAmZABQHUwAACHwAAAg8AAAJ2QASBxcAAAhsAAAILAAACbkAAAgMAAAIjAAACEwAAAn5ABAHAwAACFIAAAgSABUIowATByMAAAhyAAAIMgAACcUAEQcLAAAIYgAACCIAAAmlAAAIAgAACIIAAAhCAAAJ5QAQBwcAAAhaAAAIGgAACZUAFAdDAAAIegAACDoAAAnVABIHEwAACGoAAAgqAAAJtQAACAoAAAiKAAAISgAACfUAEAcFAAAIVgAACBYAQAgAABMHMwAACHYAAAg2AAAJzQARBw8AAAhmAAAIJgAACa0AAAgGAAAIhgAACEYAAAntABAHCQAACF4AAAgeAAAJnQAUB2MAAAh+AAAIPgAACd0AEgcbAAAIbgAACC4AAAm9AAAIDgAACI4AAAhOAAAJ/QBgBwAAAAhRAAAIEQAVCIMAEgcfAAAIcQAACDEAAAnDABAHCgAACGEAAAghAAAJowAACAEAAAiBAAAIQQAACeMAEAcGAAAIWQAACBkAAAmTABMHOwAACHkAAAg5AAAJ0wARBxEAAAhpAAAIKQAACbMAAAgJAAAIiQAACEkAAAnzABAHBAAACFUAAAgVABAIAgETBysAAAh1AAAINQAACcsAEQcNAAAIZQAACCUAAAmrAAAIBQAACIUAAAhFAAAJ6wAQBwgAAAhdAAAIHQAACZsAFAdTAAAIfQAACD0AAAnbABIHFwAACG0AAAgtAAAJuwAACA0AAAiNAAAITQAACfsAEAcDAAAIUwAACBMAFQjDABMHIwAACHMAAAgzAAAJxwARBwsAAAhjAAAIIwAACacAAAgDAAAIgwAACEMAAAnnABAHBwAACFsAAAgbAAAJlwAUB0MAAAh7AAAIOwAACdcAEgcTAAAIawAACCsAAAm3AAAICwAACIsAAAhLAAAJ9wAQBwUAAAhXAAAIFwBACAAAEwczAAAIdwAACDcAAAnPABEHDwAACGcAAAgnAAAJrwAACAcAAAiHAAAIRwAACe8AEAcJAAAIXwAACB8AAAmfABQHYwAACH8AAAg/AAAJ3wASBxsAAAhvAAAILwAACb8AAAgPAAAIjwAACE8AAAn/ABAFAQAXBQEBEwURABsFARARBQUAGQUBBBUFQQAdBQFAEAUDABgFAQIUBSEAHAUBIBIFCQAaBQEIFgWBAEAFAAAQBQIAFwWBARMFGQAbBQEYEQUHABkFAQYVBWEAHQUBYBAFBAAYBQEDFAUxABwFATASBQ0AGgUBDBYFwQBABQAAEQAKABEREQAAAAAFAAAAAAAACQAAAAALAAAAAAAAAAARAA8KERERAwoHAAEACQsLAAAJBgsAAAsABhEAAAAREREAQYGEAQshCwAAAAAAAAAAEQAKChEREQAKAAACAAkLAAAACQALAAALAEG7hAELAQwAQceEAQsVDAAAAAAMAAAAAAkMAAAAAAAMAAAMAEH1hAELAQ4AQYGFAQsVDQAAAAQNAAAAAAkOAAAAAAAOAAAOAEGvhQELARAAQbuFAQseDwAAAAAPAAAAAAkQAAAAAAAQAAAQAAASAAAAEhISAEHyhQELDhIAAAASEhIAAAAAAAAJAEGjhgELAQsAQa+GAQsVCgAAAAAKAAAAAAkLAAAAAAALAAALAEHdhgELAQwAQemGAQsnDAAAAAAMAAAAAAkMAAAAAAAMAAAMAAAwMTIzNDU2Nzg5QUJDREVGAEG0hwELARkAQduHAQsF//////8AQaCIAQtXGRJEOwI/LEcUPTMwChsGRktFNw9JDo4XA0AdPGkrNh9KLRwBICUpIQgMFRYiLhA4Pgs0MRhkdHV2L0EJfzkRI0MyQomKiwUEJignDSoeNYwHGkiTE5SVAEGAiQELig5JbGxlZ2FsIGJ5dGUgc2VxdWVuY2UARG9tYWluIGVycm9yAFJlc3VsdCBub3QgcmVwcmVzZW50YWJsZQBOb3QgYSB0dHkAUGVybWlzc2lvbiBkZW5pZWQAT3BlcmF0aW9uIG5vdCBwZXJtaXR0ZWQATm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQBObyBzdWNoIHByb2Nlc3MARmlsZSBleGlzdHMAVmFsdWUgdG9vIGxhcmdlIGZvciBkYXRhIHR5cGUATm8gc3BhY2UgbGVmdCBvbiBkZXZpY2UAT3V0IG9mIG1lbW9yeQBSZXNvdXJjZSBidXN5AEludGVycnVwdGVkIHN5c3RlbSBjYWxsAFJlc291cmNlIHRlbXBvcmFyaWx5IHVuYXZhaWxhYmxlAEludmFsaWQgc2VlawBDcm9zcy1kZXZpY2UgbGluawBSZWFkLW9ubHkgZmlsZSBzeXN0ZW0ARGlyZWN0b3J5IG5vdCBlbXB0eQBDb25uZWN0aW9uIHJlc2V0IGJ5IHBlZXIAT3BlcmF0aW9uIHRpbWVkIG91dABDb25uZWN0aW9uIHJlZnVzZWQASG9zdCBpcyBkb3duAEhvc3QgaXMgdW5yZWFjaGFibGUAQWRkcmVzcyBpbiB1c2UAQnJva2VuIHBpcGUASS9PIGVycm9yAE5vIHN1Y2ggZGV2aWNlIG9yIGFkZHJlc3MAQmxvY2sgZGV2aWNlIHJlcXVpcmVkAE5vIHN1Y2ggZGV2aWNlAE5vdCBhIGRpcmVjdG9yeQBJcyBhIGRpcmVjdG9yeQBUZXh0IGZpbGUgYnVzeQBFeGVjIGZvcm1hdCBlcnJvcgBJbnZhbGlkIGFyZ3VtZW50AEFyZ3VtZW50IGxpc3QgdG9vIGxvbmcAU3ltYm9saWMgbGluayBsb29wAEZpbGVuYW1lIHRvbyBsb25nAFRvbyBtYW55IG9wZW4gZmlsZXMgaW4gc3lzdGVtAE5vIGZpbGUgZGVzY3JpcHRvcnMgYXZhaWxhYmxlAEJhZCBmaWxlIGRlc2NyaXB0b3IATm8gY2hpbGQgcHJvY2VzcwBCYWQgYWRkcmVzcwBGaWxlIHRvbyBsYXJnZQBUb28gbWFueSBsaW5rcwBObyBsb2NrcyBhdmFpbGFibGUAUmVzb3VyY2UgZGVhZGxvY2sgd291bGQgb2NjdXIAU3RhdGUgbm90IHJlY292ZXJhYmxlAFByZXZpb3VzIG93bmVyIGRpZWQAT3BlcmF0aW9uIGNhbmNlbGVkAEZ1bmN0aW9uIG5vdCBpbXBsZW1lbnRlZABObyBtZXNzYWdlIG9mIGRlc2lyZWQgdHlwZQBJZGVudGlmaWVyIHJlbW92ZWQARGV2aWNlIG5vdCBhIHN0cmVhbQBObyBkYXRhIGF2YWlsYWJsZQBEZXZpY2UgdGltZW91dABPdXQgb2Ygc3RyZWFtcyByZXNvdXJjZXMATGluayBoYXMgYmVlbiBzZXZlcmVkAFByb3RvY29sIGVycm9yAEJhZCBtZXNzYWdlAEZpbGUgZGVzY3JpcHRvciBpbiBiYWQgc3RhdGUATm90IGEgc29ja2V0AERlc3RpbmF0aW9uIGFkZHJlc3MgcmVxdWlyZWQATWVzc2FnZSB0b28gbGFyZ2UAUHJvdG9jb2wgd3JvbmcgdHlwZSBmb3Igc29ja2V0AFByb3RvY29sIG5vdCBhdmFpbGFibGUAUHJvdG9jb2wgbm90IHN1cHBvcnRlZABTb2NrZXQgdHlwZSBub3Qgc3VwcG9ydGVkAE5vdCBzdXBwb3J0ZWQAUHJvdG9jb2wgZmFtaWx5IG5vdCBzdXBwb3J0ZWQAQWRkcmVzcyBmYW1pbHkgbm90IHN1cHBvcnRlZCBieSBwcm90b2NvbABBZGRyZXNzIG5vdCBhdmFpbGFibGUATmV0d29yayBpcyBkb3duAE5ldHdvcmsgdW5yZWFjaGFibGUAQ29ubmVjdGlvbiByZXNldCBieSBuZXR3b3JrAENvbm5lY3Rpb24gYWJvcnRlZABObyBidWZmZXIgc3BhY2UgYXZhaWxhYmxlAFNvY2tldCBpcyBjb25uZWN0ZWQAU29ja2V0IG5vdCBjb25uZWN0ZWQAQ2Fubm90IHNlbmQgYWZ0ZXIgc29ja2V0IHNodXRkb3duAE9wZXJhdGlvbiBhbHJlYWR5IGluIHByb2dyZXNzAE9wZXJhdGlvbiBpbiBwcm9ncmVzcwBTdGFsZSBmaWxlIGhhbmRsZQBSZW1vdGUgSS9PIGVycm9yAFF1b3RhIGV4Y2VlZGVkAE5vIG1lZGl1bSBmb3VuZABXcm9uZyBtZWRpdW0gdHlwZQBObyBlcnJvciBpbmZvcm1hdGlvbgBBkJcBC1JQUFAACgAAAAsAAAAMAAAADQAAAA4AAAAPAAAAEAAAABEAAAASAAAACwAAAAwAAAANAAAADgAAAA8AAAAQAAAAEQAAAAEAAAAIAAAAlEsAALRLAEGQmQELAgxQAEHImQELCR8AAADkTAAAAwBB5JkBC4wBLfRRWM+MscBG9rXLKTEDxwRbcDC0Xf0geH+LmthZKVBoSImrp1YDbP+3zYg/1He0K6WjcPG65Kj8QYP92W/hinovLXSWBx8NCV4Ddixw90ClLKdvV0GoqnTfoFhkA0rHxDxTrq9fGAQVseNtKIarDKS/Q/DpUIE5VxZSN/////////////////////8="; +if (!isDataURI(wasmBinaryFile)) { + wasmBinaryFile = locateFile(wasmBinaryFile); +} +function getBinary(file) { + try { + if (file == wasmBinaryFile && wasmBinary) { + return new Uint8Array(wasmBinary); + } + var binary = tryParseAsDataURI(file); + if (binary) { + return binary; + } + if (readBinary) { + return readBinary(file); + } else { + throw "sync fetching of the wasm failed: you can preload it to Module['wasmBinary'] manually, or emcc.py will do that for you when generating HTML (but not JS)"; + } + } catch (err) { + abort(err); + } +} +function instantiateSync(file, info) { + var instance; + var module; + var binary; + try { + binary = getBinary(file); + module = new WebAssembly.Module(binary); + instance = new WebAssembly.Instance(module, info); + } catch (e) { + var str = e.toString(); + err("failed to compile wasm module: " + str); + if (str.includes("imported Memory") || str.includes("memory import")) { + err( + "Memory size incompatibility issues may be due to changing INITIAL_MEMORY at runtime to something too large. Use ALLOW_MEMORY_GROWTH to allow any size memory (and also make sure not to set INITIAL_MEMORY at runtime to something smaller than it was at compile time)." + ); + } + throw e; + } + return [instance, module]; +} +function createWasm() { + var info = { a: asmLibraryArg }; + function receiveInstance(instance, module) { + var exports = instance.exports; + Module["asm"] = exports; + wasmMemory = Module["asm"]["u"]; + updateGlobalBufferAndViews(wasmMemory.buffer); + wasmTable = Module["asm"]["za"]; + addOnInit(Module["asm"]["v"]); + removeRunDependency("wasm-instantiate"); + } + addRunDependency("wasm-instantiate"); + if (Module["instantiateWasm"]) { + try { + var exports = Module["instantiateWasm"](info, receiveInstance); + return exports; + } catch (e) { + err("Module.instantiateWasm callback failed with error: " + e); + return false; + } + } + var result = instantiateSync(wasmBinaryFile, info); + receiveInstance(result[0]); + return Module["asm"]; +} +var tempDouble; +var tempI64; +function callRuntimeCallbacks(callbacks) { + while (callbacks.length > 0) { + var callback = callbacks.shift(); + if (typeof callback == "function") { + callback(Module); + continue; + } + var func = callback.func; + if (typeof func === "number") { + if (callback.arg === undefined) { + wasmTable.get(func)(); + } else { + wasmTable.get(func)(callback.arg); + } + } else { + func(callback.arg === undefined ? null : callback.arg); + } + } +} +function _gmtime_r(time, tmPtr) { + var date = new Date(HEAP32[time >> 2] * 1e3); + HEAP32[tmPtr >> 2] = date.getUTCSeconds(); + HEAP32[(tmPtr + 4) >> 2] = date.getUTCMinutes(); + HEAP32[(tmPtr + 8) >> 2] = date.getUTCHours(); + HEAP32[(tmPtr + 12) >> 2] = date.getUTCDate(); + HEAP32[(tmPtr + 16) >> 2] = date.getUTCMonth(); + HEAP32[(tmPtr + 20) >> 2] = date.getUTCFullYear() - 1900; + HEAP32[(tmPtr + 24) >> 2] = date.getUTCDay(); + HEAP32[(tmPtr + 36) >> 2] = 0; + HEAP32[(tmPtr + 32) >> 2] = 0; + var start = Date.UTC(date.getUTCFullYear(), 0, 1, 0, 0, 0, 0); + var yday = ((date.getTime() - start) / (1e3 * 60 * 60 * 24)) | 0; + HEAP32[(tmPtr + 28) >> 2] = yday; + if (!_gmtime_r.GMTString) _gmtime_r.GMTString = allocateUTF8("GMT"); + HEAP32[(tmPtr + 40) >> 2] = _gmtime_r.GMTString; + return tmPtr; +} +function ___gmtime_r(a0, a1) { + return _gmtime_r(a0, a1); +} +var PATH = { + splitPath: function(filename) { + var splitPathRe = /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/; + return splitPathRe.exec(filename).slice(1); + }, + normalizeArray: function(parts, allowAboveRoot) { + var up = 0; + for (var i = parts.length - 1; i >= 0; i--) { + var last = parts[i]; + if (last === ".") { + parts.splice(i, 1); + } else if (last === "..") { + parts.splice(i, 1); + up++; + } else if (up) { + parts.splice(i, 1); + up--; + } + } + if (allowAboveRoot) { + for (; up; up--) { + parts.unshift(".."); + } + } + return parts; + }, + normalize: function(path) { + var isAbsolute = path.charAt(0) === "/", + trailingSlash = path.substr(-1) === "/"; + path = PATH.normalizeArray( + path.split("/").filter(function(p) { + return !!p; + }), + !isAbsolute + ).join("/"); + if (!path && !isAbsolute) { + path = "."; + } + if (path && trailingSlash) { + path += "/"; + } + return (isAbsolute ? "/" : "") + path; + }, + dirname: function(path) { + var result = PATH.splitPath(path), + root = result[0], + dir = result[1]; + if (!root && !dir) { + return "."; + } + if (dir) { + dir = dir.substr(0, dir.length - 1); + } + return root + dir; + }, + basename: function(path) { + if (path === "/") return "/"; + path = PATH.normalize(path); + path = path.replace(/\/$/, ""); + var lastSlash = path.lastIndexOf("/"); + if (lastSlash === -1) return path; + return path.substr(lastSlash + 1); + }, + extname: function(path) { + return PATH.splitPath(path)[3]; + }, + join: function() { + var paths = Array.prototype.slice.call(arguments, 0); + return PATH.normalize(paths.join("/")); + }, + join2: function(l, r) { + return PATH.normalize(l + "/" + r); + } +}; +function getRandomDevice() { + if ( + typeof crypto === "object" && + typeof crypto["getRandomValues"] === "function" + ) { + var randomBuffer = new Uint8Array(1); + return function() { + crypto.getRandomValues(randomBuffer); + return randomBuffer[0]; + }; + } else if (ENVIRONMENT_IS_NODE) { + try { + var crypto_module = __webpack_require__(417); + return function() { + return crypto_module["randomBytes"](1)[0]; + }; + } catch (e) {} + } + return function() { + abort("randomDevice"); + }; +} +var PATH_FS = { + resolve: function() { + var resolvedPath = "", + resolvedAbsolute = false; + for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) { + var path = i >= 0 ? arguments[i] : FS.cwd(); + if (typeof path !== "string") { + throw new TypeError("Arguments to path.resolve must be strings"); + } else if (!path) { + return ""; + } + resolvedPath = path + "/" + resolvedPath; + resolvedAbsolute = path.charAt(0) === "/"; + } + resolvedPath = PATH.normalizeArray( + resolvedPath.split("/").filter(function(p) { + return !!p; + }), + !resolvedAbsolute + ).join("/"); + return (resolvedAbsolute ? "/" : "") + resolvedPath || "."; + }, + relative: function(from, to) { + from = PATH_FS.resolve(from).substr(1); + to = PATH_FS.resolve(to).substr(1); + function trim(arr) { + var start = 0; + for (; start < arr.length; start++) { + if (arr[start] !== "") break; + } + var end = arr.length - 1; + for (; end >= 0; end--) { + if (arr[end] !== "") break; + } + if (start > end) return []; + return arr.slice(start, end - start + 1); + } + var fromParts = trim(from.split("/")); + var toParts = trim(to.split("/")); + var length = Math.min(fromParts.length, toParts.length); + var samePartsLength = length; + for (var i = 0; i < length; i++) { + if (fromParts[i] !== toParts[i]) { + samePartsLength = i; + break; + } + } + var outputParts = []; + for (var i = samePartsLength; i < fromParts.length; i++) { + outputParts.push(".."); + } + outputParts = outputParts.concat(toParts.slice(samePartsLength)); + return outputParts.join("/"); + } +}; +var TTY = { + ttys: [], + init: function() {}, + shutdown: function() {}, + register: function(dev, ops) { + TTY.ttys[dev] = { input: [], output: [], ops: ops }; + FS.registerDevice(dev, TTY.stream_ops); + }, + stream_ops: { + open: function(stream) { + var tty = TTY.ttys[stream.node.rdev]; + if (!tty) { + throw new FS.ErrnoError(43); + } + stream.tty = tty; + stream.seekable = false; + }, + close: function(stream) { + stream.tty.ops.flush(stream.tty); + }, + flush: function(stream) { + stream.tty.ops.flush(stream.tty); + }, + read: function(stream, buffer, offset, length, pos) { + if (!stream.tty || !stream.tty.ops.get_char) { + throw new FS.ErrnoError(60); + } + var bytesRead = 0; + for (var i = 0; i < length; i++) { + var result; + try { + result = stream.tty.ops.get_char(stream.tty); + } catch (e) { + throw new FS.ErrnoError(29); + } + if (result === undefined && bytesRead === 0) { + throw new FS.ErrnoError(6); + } + if (result === null || result === undefined) break; + bytesRead++; + buffer[offset + i] = result; + } + if (bytesRead) { + stream.node.timestamp = Date.now(); + } + return bytesRead; + }, + write: function(stream, buffer, offset, length, pos) { + if (!stream.tty || !stream.tty.ops.put_char) { + throw new FS.ErrnoError(60); + } + try { + for (var i = 0; i < length; i++) { + stream.tty.ops.put_char(stream.tty, buffer[offset + i]); + } + } catch (e) { + throw new FS.ErrnoError(29); + } + if (length) { + stream.node.timestamp = Date.now(); + } + return i; + } + }, + default_tty_ops: { + get_char: function(tty) { + if (!tty.input.length) { + var result = null; + if (ENVIRONMENT_IS_NODE) { + var BUFSIZE = 256; + var buf = Buffer.alloc ? Buffer.alloc(BUFSIZE) : new Buffer(BUFSIZE); + var bytesRead = 0; + try { + bytesRead = nodeFS.readSync( + process.stdin.fd, + buf, + 0, + BUFSIZE, + null + ); + } catch (e) { + if (e.toString().includes("EOF")) bytesRead = 0; + else throw e; + } + if (bytesRead > 0) { + result = buf.slice(0, bytesRead).toString("utf-8"); + } else { + result = null; + } + } else if ( + typeof window != "undefined" && + typeof window.prompt == "function" + ) { + result = window.prompt("Input: "); + if (result !== null) { + result += "\n"; + } + } else if (typeof readline == "function") { + result = readline(); + if (result !== null) { + result += "\n"; + } + } + if (!result) { + return null; + } + tty.input = intArrayFromString(result, true); + } + return tty.input.shift(); + }, + put_char: function(tty, val) { + if (val === null || val === 10) { + out(UTF8ArrayToString(tty.output, 0)); + tty.output = []; + } else { + if (val != 0) tty.output.push(val); + } + }, + flush: function(tty) { + if (tty.output && tty.output.length > 0) { + out(UTF8ArrayToString(tty.output, 0)); + tty.output = []; + } + } + }, + default_tty1_ops: { + put_char: function(tty, val) { + if (val === null || val === 10) { + err(UTF8ArrayToString(tty.output, 0)); + tty.output = []; + } else { + if (val != 0) tty.output.push(val); + } + }, + flush: function(tty) { + if (tty.output && tty.output.length > 0) { + err(UTF8ArrayToString(tty.output, 0)); + tty.output = []; + } + } + } +}; +function mmapAlloc(size) { + var alignedSize = alignMemory(size, 65536); + var ptr = _malloc(alignedSize); + while (size < alignedSize) HEAP8[ptr + size++] = 0; + return ptr; +} +var MEMFS = { + ops_table: null, + mount: function(mount) { + return MEMFS.createNode(null, "/", 16384 | 511, 0); + }, + createNode: function(parent, name, mode, dev) { + if (FS.isBlkdev(mode) || FS.isFIFO(mode)) { + throw new FS.ErrnoError(63); + } + if (!MEMFS.ops_table) { + MEMFS.ops_table = { + dir: { + node: { + getattr: MEMFS.node_ops.getattr, + setattr: MEMFS.node_ops.setattr, + lookup: MEMFS.node_ops.lookup, + mknod: MEMFS.node_ops.mknod, + rename: MEMFS.node_ops.rename, + unlink: MEMFS.node_ops.unlink, + rmdir: MEMFS.node_ops.rmdir, + readdir: MEMFS.node_ops.readdir, + symlink: MEMFS.node_ops.symlink + }, + stream: { llseek: MEMFS.stream_ops.llseek } + }, + file: { + node: { + getattr: MEMFS.node_ops.getattr, + setattr: MEMFS.node_ops.setattr + }, + stream: { + llseek: MEMFS.stream_ops.llseek, + read: MEMFS.stream_ops.read, + write: MEMFS.stream_ops.write, + allocate: MEMFS.stream_ops.allocate, + mmap: MEMFS.stream_ops.mmap, + msync: MEMFS.stream_ops.msync + } + }, + link: { + node: { + getattr: MEMFS.node_ops.getattr, + setattr: MEMFS.node_ops.setattr, + readlink: MEMFS.node_ops.readlink + }, + stream: {} + }, + chrdev: { + node: { + getattr: MEMFS.node_ops.getattr, + setattr: MEMFS.node_ops.setattr + }, + stream: FS.chrdev_stream_ops + } + }; + } + var node = FS.createNode(parent, name, mode, dev); + if (FS.isDir(node.mode)) { + node.node_ops = MEMFS.ops_table.dir.node; + node.stream_ops = MEMFS.ops_table.dir.stream; + node.contents = {}; + } else if (FS.isFile(node.mode)) { + node.node_ops = MEMFS.ops_table.file.node; + node.stream_ops = MEMFS.ops_table.file.stream; + node.usedBytes = 0; + node.contents = null; + } else if (FS.isLink(node.mode)) { + node.node_ops = MEMFS.ops_table.link.node; + node.stream_ops = MEMFS.ops_table.link.stream; + } else if (FS.isChrdev(node.mode)) { + node.node_ops = MEMFS.ops_table.chrdev.node; + node.stream_ops = MEMFS.ops_table.chrdev.stream; + } + node.timestamp = Date.now(); + if (parent) { + parent.contents[name] = node; + parent.timestamp = node.timestamp; + } + return node; + }, + getFileDataAsTypedArray: function(node) { + if (!node.contents) return new Uint8Array(0); + if (node.contents.subarray) + return node.contents.subarray(0, node.usedBytes); + return new Uint8Array(node.contents); + }, + expandFileStorage: function(node, newCapacity) { + var prevCapacity = node.contents ? node.contents.length : 0; + if (prevCapacity >= newCapacity) return; + var CAPACITY_DOUBLING_MAX = 1024 * 1024; + newCapacity = Math.max( + newCapacity, + (prevCapacity * (prevCapacity < CAPACITY_DOUBLING_MAX ? 2 : 1.125)) >>> 0 + ); + if (prevCapacity != 0) newCapacity = Math.max(newCapacity, 256); + var oldContents = node.contents; + node.contents = new Uint8Array(newCapacity); + if (node.usedBytes > 0) + node.contents.set(oldContents.subarray(0, node.usedBytes), 0); + }, + resizeFileStorage: function(node, newSize) { + if (node.usedBytes == newSize) return; + if (newSize == 0) { + node.contents = null; + node.usedBytes = 0; + } else { + var oldContents = node.contents; + node.contents = new Uint8Array(newSize); + if (oldContents) { + node.contents.set( + oldContents.subarray(0, Math.min(newSize, node.usedBytes)) + ); + } + node.usedBytes = newSize; + } + }, + node_ops: { + getattr: function(node) { + var attr = {}; + attr.dev = FS.isChrdev(node.mode) ? node.id : 1; + attr.ino = node.id; + attr.mode = node.mode; + attr.nlink = 1; + attr.uid = 0; + attr.gid = 0; + attr.rdev = node.rdev; + if (FS.isDir(node.mode)) { + attr.size = 4096; + } else if (FS.isFile(node.mode)) { + attr.size = node.usedBytes; + } else if (FS.isLink(node.mode)) { + attr.size = node.link.length; + } else { + attr.size = 0; + } + attr.atime = new Date(node.timestamp); + attr.mtime = new Date(node.timestamp); + attr.ctime = new Date(node.timestamp); + attr.blksize = 4096; + attr.blocks = Math.ceil(attr.size / attr.blksize); + return attr; + }, + setattr: function(node, attr) { + if (attr.mode !== undefined) { + node.mode = attr.mode; + } + if (attr.timestamp !== undefined) { + node.timestamp = attr.timestamp; + } + if (attr.size !== undefined) { + MEMFS.resizeFileStorage(node, attr.size); + } + }, + lookup: function(parent, name) { + throw FS.genericErrors[44]; + }, + mknod: function(parent, name, mode, dev) { + return MEMFS.createNode(parent, name, mode, dev); + }, + rename: function(old_node, new_dir, new_name) { + if (FS.isDir(old_node.mode)) { + var new_node; + try { + new_node = FS.lookupNode(new_dir, new_name); + } catch (e) {} + if (new_node) { + for (var i in new_node.contents) { + throw new FS.ErrnoError(55); + } + } + } + delete old_node.parent.contents[old_node.name]; + old_node.parent.timestamp = Date.now(); + old_node.name = new_name; + new_dir.contents[new_name] = old_node; + new_dir.timestamp = old_node.parent.timestamp; + old_node.parent = new_dir; + }, + unlink: function(parent, name) { + delete parent.contents[name]; + parent.timestamp = Date.now(); + }, + rmdir: function(parent, name) { + var node = FS.lookupNode(parent, name); + for (var i in node.contents) { + throw new FS.ErrnoError(55); + } + delete parent.contents[name]; + parent.timestamp = Date.now(); + }, + readdir: function(node) { + var entries = [".", ".."]; + for (var key in node.contents) { + if (!node.contents.hasOwnProperty(key)) { + continue; + } + entries.push(key); + } + return entries; + }, + symlink: function(parent, newname, oldpath) { + var node = MEMFS.createNode(parent, newname, 511 | 40960, 0); + node.link = oldpath; + return node; + }, + readlink: function(node) { + if (!FS.isLink(node.mode)) { + throw new FS.ErrnoError(28); + } + return node.link; + } + }, + stream_ops: { + read: function(stream, buffer, offset, length, position) { + var contents = stream.node.contents; + if (position >= stream.node.usedBytes) return 0; + var size = Math.min(stream.node.usedBytes - position, length); + if (size > 8 && contents.subarray) { + buffer.set(contents.subarray(position, position + size), offset); + } else { + for (var i = 0; i < size; i++) + buffer[offset + i] = contents[position + i]; + } + return size; + }, + write: function(stream, buffer, offset, length, position, canOwn) { + if (buffer.buffer === HEAP8.buffer) { + canOwn = false; + } + if (!length) return 0; + var node = stream.node; + node.timestamp = Date.now(); + if (buffer.subarray && (!node.contents || node.contents.subarray)) { + if (canOwn) { + node.contents = buffer.subarray(offset, offset + length); + node.usedBytes = length; + return length; + } else if (node.usedBytes === 0 && position === 0) { + node.contents = buffer.slice(offset, offset + length); + node.usedBytes = length; + return length; + } else if (position + length <= node.usedBytes) { + node.contents.set(buffer.subarray(offset, offset + length), position); + return length; + } + } + MEMFS.expandFileStorage(node, position + length); + if (node.contents.subarray && buffer.subarray) { + node.contents.set(buffer.subarray(offset, offset + length), position); + } else { + for (var i = 0; i < length; i++) { + node.contents[position + i] = buffer[offset + i]; + } + } + node.usedBytes = Math.max(node.usedBytes, position + length); + return length; + }, + llseek: function(stream, offset, whence) { + var position = offset; + if (whence === 1) { + position += stream.position; + } else if (whence === 2) { + if (FS.isFile(stream.node.mode)) { + position += stream.node.usedBytes; + } + } + if (position < 0) { + throw new FS.ErrnoError(28); + } + return position; + }, + allocate: function(stream, offset, length) { + MEMFS.expandFileStorage(stream.node, offset + length); + stream.node.usedBytes = Math.max(stream.node.usedBytes, offset + length); + }, + mmap: function(stream, address, length, position, prot, flags) { + if (address !== 0) { + throw new FS.ErrnoError(28); + } + if (!FS.isFile(stream.node.mode)) { + throw new FS.ErrnoError(43); + } + var ptr; + var allocated; + var contents = stream.node.contents; + if (!(flags & 2) && contents.buffer === buffer) { + allocated = false; + ptr = contents.byteOffset; + } else { + if (position > 0 || position + length < contents.length) { + if (contents.subarray) { + contents = contents.subarray(position, position + length); + } else { + contents = Array.prototype.slice.call( + contents, + position, + position + length + ); + } + } + allocated = true; + ptr = mmapAlloc(length); + if (!ptr) { + throw new FS.ErrnoError(48); + } + HEAP8.set(contents, ptr); + } + return { ptr: ptr, allocated: allocated }; + }, + msync: function(stream, buffer, offset, length, mmapFlags) { + if (!FS.isFile(stream.node.mode)) { + throw new FS.ErrnoError(43); + } + if (mmapFlags & 2) { + return 0; + } + var bytesWritten = MEMFS.stream_ops.write( + stream, + buffer, + 0, + length, + offset, + false + ); + return 0; + } + } +}; +var ERRNO_CODES = { + EPERM: 63, + ENOENT: 44, + ESRCH: 71, + EINTR: 27, + EIO: 29, + ENXIO: 60, + E2BIG: 1, + ENOEXEC: 45, + EBADF: 8, + ECHILD: 12, + EAGAIN: 6, + EWOULDBLOCK: 6, + ENOMEM: 48, + EACCES: 2, + EFAULT: 21, + ENOTBLK: 105, + EBUSY: 10, + EEXIST: 20, + EXDEV: 75, + ENODEV: 43, + ENOTDIR: 54, + EISDIR: 31, + EINVAL: 28, + ENFILE: 41, + EMFILE: 33, + ENOTTY: 59, + ETXTBSY: 74, + EFBIG: 22, + ENOSPC: 51, + ESPIPE: 70, + EROFS: 69, + EMLINK: 34, + EPIPE: 64, + EDOM: 18, + ERANGE: 68, + ENOMSG: 49, + EIDRM: 24, + ECHRNG: 106, + EL2NSYNC: 156, + EL3HLT: 107, + EL3RST: 108, + ELNRNG: 109, + EUNATCH: 110, + ENOCSI: 111, + EL2HLT: 112, + EDEADLK: 16, + ENOLCK: 46, + EBADE: 113, + EBADR: 114, + EXFULL: 115, + ENOANO: 104, + EBADRQC: 103, + EBADSLT: 102, + EDEADLOCK: 16, + EBFONT: 101, + ENOSTR: 100, + ENODATA: 116, + ETIME: 117, + ENOSR: 118, + ENONET: 119, + ENOPKG: 120, + EREMOTE: 121, + ENOLINK: 47, + EADV: 122, + ESRMNT: 123, + ECOMM: 124, + EPROTO: 65, + EMULTIHOP: 36, + EDOTDOT: 125, + EBADMSG: 9, + ENOTUNIQ: 126, + EBADFD: 127, + EREMCHG: 128, + ELIBACC: 129, + ELIBBAD: 130, + ELIBSCN: 131, + ELIBMAX: 132, + ELIBEXEC: 133, + ENOSYS: 52, + ENOTEMPTY: 55, + ENAMETOOLONG: 37, + ELOOP: 32, + EOPNOTSUPP: 138, + EPFNOSUPPORT: 139, + ECONNRESET: 15, + ENOBUFS: 42, + EAFNOSUPPORT: 5, + EPROTOTYPE: 67, + ENOTSOCK: 57, + ENOPROTOOPT: 50, + ESHUTDOWN: 140, + ECONNREFUSED: 14, + EADDRINUSE: 3, + ECONNABORTED: 13, + ENETUNREACH: 40, + ENETDOWN: 38, + ETIMEDOUT: 73, + EHOSTDOWN: 142, + EHOSTUNREACH: 23, + EINPROGRESS: 26, + EALREADY: 7, + EDESTADDRREQ: 17, + EMSGSIZE: 35, + EPROTONOSUPPORT: 66, + ESOCKTNOSUPPORT: 137, + EADDRNOTAVAIL: 4, + ENETRESET: 39, + EISCONN: 30, + ENOTCONN: 53, + ETOOMANYREFS: 141, + EUSERS: 136, + EDQUOT: 19, + ESTALE: 72, + ENOTSUP: 138, + ENOMEDIUM: 148, + EILSEQ: 25, + EOVERFLOW: 61, + ECANCELED: 11, + ENOTRECOVERABLE: 56, + EOWNERDEAD: 62, + ESTRPIPE: 135 +}; +var NODEFS = { + isWindows: false, + staticInit: function() { + NODEFS.isWindows = !!process.platform.match(/^win/); + var flags = { fs: fs.constants }; + if (flags["fs"]) { + flags = flags["fs"]; + } + NODEFS.flagsForNodeMap = { + 1024: flags["O_APPEND"], + 64: flags["O_CREAT"], + 128: flags["O_EXCL"], + 256: flags["O_NOCTTY"], + 0: flags["O_RDONLY"], + 2: flags["O_RDWR"], + 4096: flags["O_SYNC"], + 512: flags["O_TRUNC"], + 1: flags["O_WRONLY"] + }; + }, + bufferFrom: function(arrayBuffer) { + return Buffer["alloc"] ? Buffer.from(arrayBuffer) : new Buffer(arrayBuffer); + }, + convertNodeCode: function(e) { + var code = e.code; + return ERRNO_CODES[code]; + }, + mount: function(mount) { + return NODEFS.createNode(null, "/", NODEFS.getMode(mount.opts.root), 0); + }, + createNode: function(parent, name, mode, dev) { + if (!FS.isDir(mode) && !FS.isFile(mode) && !FS.isLink(mode)) { + throw new FS.ErrnoError(28); + } + var node = FS.createNode(parent, name, mode); + node.node_ops = NODEFS.node_ops; + node.stream_ops = NODEFS.stream_ops; + return node; + }, + getMode: function(path) { + var stat; + try { + stat = fs.lstatSync(path); + if (NODEFS.isWindows) { + stat.mode = stat.mode | ((stat.mode & 292) >> 2); + } + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)); + } + return stat.mode; + }, + realPath: function(node) { + var parts = []; + while (node.parent !== node) { + parts.push(node.name); + node = node.parent; + } + parts.push(node.mount.opts.root); + parts.reverse(); + return PATH.join.apply(null, parts); + }, + flagsForNode: function(flags) { + flags &= ~2097152; + flags &= ~2048; + flags &= ~32768; + flags &= ~524288; + var newFlags = 0; + for (var k in NODEFS.flagsForNodeMap) { + if (flags & k) { + newFlags |= NODEFS.flagsForNodeMap[k]; + flags ^= k; + } + } + if (!flags) { + return newFlags; + } else { + throw new FS.ErrnoError(28); + } + }, + node_ops: { + getattr: function(node) { + var path = NODEFS.realPath(node); + var stat; + try { + stat = fs.lstatSync(path); + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)); + } + if (NODEFS.isWindows && !stat.blksize) { + stat.blksize = 4096; + } + if (NODEFS.isWindows && !stat.blocks) { + stat.blocks = ((stat.size + stat.blksize - 1) / stat.blksize) | 0; + } + return { + dev: stat.dev, + ino: stat.ino, + mode: stat.mode, + nlink: stat.nlink, + uid: stat.uid, + gid: stat.gid, + rdev: stat.rdev, + size: stat.size, + atime: stat.atime, + mtime: stat.mtime, + ctime: stat.ctime, + blksize: stat.blksize, + blocks: stat.blocks + }; + }, + setattr: function(node, attr) { + var path = NODEFS.realPath(node); + try { + if (attr.mode !== undefined) { + fs.chmodSync(path, attr.mode); + node.mode = attr.mode; + } + if (attr.timestamp !== undefined) { + var date = new Date(attr.timestamp); + fs.utimesSync(path, date, date); + } + if (attr.size !== undefined) { + fs.truncateSync(path, attr.size); + } + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)); + } + }, + lookup: function(parent, name) { + var path = PATH.join2(NODEFS.realPath(parent), name); + var mode = NODEFS.getMode(path); + return NODEFS.createNode(parent, name, mode); + }, + mknod: function(parent, name, mode, dev) { + var node = NODEFS.createNode(parent, name, mode, dev); + var path = NODEFS.realPath(node); + try { + if (FS.isDir(node.mode)) { + fs.mkdirSync(path, node.mode); + } else { + fs.writeFileSync(path, "", { mode: node.mode }); + } + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)); + } + return node; + }, + rename: function(oldNode, newDir, newName) { + var oldPath = NODEFS.realPath(oldNode); + var newPath = PATH.join2(NODEFS.realPath(newDir), newName); + try { + fs.renameSync(oldPath, newPath); + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)); + } + oldNode.name = newName; + }, + unlink: function(parent, name) { + var path = PATH.join2(NODEFS.realPath(parent), name); + try { + fs.unlinkSync(path); + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)); + } + }, + rmdir: function(parent, name) { + var path = PATH.join2(NODEFS.realPath(parent), name); + try { + fs.rmdirSync(path); + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)); + } + }, + readdir: function(node) { + var path = NODEFS.realPath(node); + try { + return fs.readdirSync(path); + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)); + } + }, + symlink: function(parent, newName, oldPath) { + var newPath = PATH.join2(NODEFS.realPath(parent), newName); + try { + fs.symlinkSync(oldPath, newPath); + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)); + } + }, + readlink: function(node) { + var path = NODEFS.realPath(node); + try { + path = fs.readlinkSync(path); + path = NODEJS_PATH.relative( + NODEJS_PATH.resolve(node.mount.opts.root), + path + ); + return path; + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)); + } + } + }, + stream_ops: { + open: function(stream) { + var path = NODEFS.realPath(stream.node); + try { + if (FS.isFile(stream.node.mode)) { + stream.nfd = fs.openSync(path, NODEFS.flagsForNode(stream.flags)); + } + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)); + } + }, + close: function(stream) { + try { + if (FS.isFile(stream.node.mode) && stream.nfd) { + fs.closeSync(stream.nfd); + } + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)); + } + }, + read: function(stream, buffer, offset, length, position) { + if (length === 0) return 0; + try { + return fs.readSync( + stream.nfd, + NODEFS.bufferFrom(buffer.buffer), + offset, + length, + position + ); + } catch (e) { + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)); + } + }, + write: function(stream, buffer, offset, length, position) { + try { + return fs.writeSync( + stream.nfd, + NODEFS.bufferFrom(buffer.buffer), + offset, + length, + position + ); + } catch (e) { + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)); + } + }, + llseek: function(stream, offset, whence) { + var position = offset; + if (whence === 1) { + position += stream.position; + } else if (whence === 2) { + if (FS.isFile(stream.node.mode)) { + try { + var stat = fs.fstatSync(stream.nfd); + position += stat.size; + } catch (e) { + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)); + } + } + } + if (position < 0) { + throw new FS.ErrnoError(28); + } + return position; + }, + mmap: function(stream, address, length, position, prot, flags) { + if (address !== 0) { + throw new FS.ErrnoError(28); + } + if (!FS.isFile(stream.node.mode)) { + throw new FS.ErrnoError(43); + } + var ptr = mmapAlloc(length); + NODEFS.stream_ops.read(stream, HEAP8, ptr, length, position); + return { ptr: ptr, allocated: true }; + }, + msync: function(stream, buffer, offset, length, mmapFlags) { + if (!FS.isFile(stream.node.mode)) { + throw new FS.ErrnoError(43); + } + if (mmapFlags & 2) { + return 0; + } + var bytesWritten = NODEFS.stream_ops.write( + stream, + buffer, + 0, + length, + offset, + false + ); + return 0; + } + } +}; +var NODERAWFS = { + lookupPath: function(path) { + return { path: path, node: { mode: NODEFS.getMode(path) } }; + }, + createStandardStreams: function() { + FS.streams[0] = { + fd: 0, + nfd: 0, + position: 0, + path: "", + flags: 0, + tty: true, + seekable: false + }; + for (var i = 1; i < 3; i++) { + FS.streams[i] = { + fd: i, + nfd: i, + position: 0, + path: "", + flags: 577, + tty: true, + seekable: false + }; + } + }, + cwd: function() { + return process.cwd(); + }, + chdir: function() { + process.chdir.apply(void 0, arguments); + }, + mknod: function(path, mode) { + if (FS.isDir(path)) { + fs.mkdirSync(path, mode); + } else { + fs.writeFileSync(path, "", { mode: mode }); + } + }, + mkdir: function() { + fs.mkdirSync.apply(void 0, arguments); + }, + symlink: function() { + fs.symlinkSync.apply(void 0, arguments); + }, + rename: function() { + fs.renameSync.apply(void 0, arguments); + }, + rmdir: function() { + fs.rmdirSync.apply(void 0, arguments); + }, + readdir: function() { + fs.readdirSync.apply(void 0, arguments); + }, + unlink: function() { + fs.unlinkSync.apply(void 0, arguments); + }, + readlink: function() { + return fs.readlinkSync.apply(void 0, arguments); + }, + stat: function() { + return fs.statSync.apply(void 0, arguments); + }, + lstat: function() { + return fs.lstatSync.apply(void 0, arguments); + }, + chmod: function() { + fs.chmodSync.apply(void 0, arguments); + }, + fchmod: function() { + fs.fchmodSync.apply(void 0, arguments); + }, + chown: function() { + fs.chownSync.apply(void 0, arguments); + }, + fchown: function() { + fs.fchownSync.apply(void 0, arguments); + }, + truncate: function() { + fs.truncateSync.apply(void 0, arguments); + }, + ftruncate: function(fd, len) { + if (len < 0) { + throw new FS.ErrnoError(28); + } + fs.ftruncateSync.apply(void 0, arguments); + }, + utime: function() { + fs.utimesSync.apply(void 0, arguments); + }, + open: function(path, flags, mode, suggestFD) { + if (typeof flags === "string") { + flags = VFS.modeStringToFlags(flags); + } + var nfd = fs.openSync(path, NODEFS.flagsForNode(flags), mode); + var fd = suggestFD != null ? suggestFD : FS.nextfd(nfd); + var stream = { + fd: fd, + nfd: nfd, + position: 0, + path: path, + flags: flags, + seekable: true + }; + FS.streams[fd] = stream; + return stream; + }, + close: function(stream) { + if (!stream.stream_ops) { + fs.closeSync(stream.nfd); + } + FS.closeStream(stream.fd); + }, + llseek: function(stream, offset, whence) { + if (stream.stream_ops) { + return VFS.llseek(stream, offset, whence); + } + var position = offset; + if (whence === 1) { + position += stream.position; + } else if (whence === 2) { + position += fs.fstatSync(stream.nfd).size; + } else if (whence !== 0) { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + } + if (position < 0) { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + } + stream.position = position; + return position; + }, + read: function(stream, buffer, offset, length, position) { + if (stream.stream_ops) { + return VFS.read(stream, buffer, offset, length, position); + } + var seeking = typeof position !== "undefined"; + if (!seeking && stream.seekable) position = stream.position; + var bytesRead = fs.readSync( + stream.nfd, + NODEFS.bufferFrom(buffer.buffer), + offset, + length, + position + ); + if (!seeking) stream.position += bytesRead; + return bytesRead; + }, + write: function(stream, buffer, offset, length, position) { + if (stream.stream_ops) { + return VFS.write(stream, buffer, offset, length, position); + } + if (stream.flags & +"1024") { + FS.llseek(stream, 0, +"2"); + } + var seeking = typeof position !== "undefined"; + if (!seeking && stream.seekable) position = stream.position; + var bytesWritten = fs.writeSync( + stream.nfd, + NODEFS.bufferFrom(buffer.buffer), + offset, + length, + position + ); + if (!seeking) stream.position += bytesWritten; + return bytesWritten; + }, + allocate: function() { + throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP); + }, + mmap: function(stream, address, length, position, prot, flags) { + if (stream.stream_ops) { + return VFS.mmap(stream, address, length, position, prot, flags); + } + if (address !== 0) { + throw new FS.ErrnoError(28); + } + var ptr = mmapAlloc(length); + FS.read(stream, HEAP8, ptr, length, position); + return { ptr: ptr, allocated: true }; + }, + msync: function(stream, buffer, offset, length, mmapFlags) { + if (stream.stream_ops) { + return VFS.msync(stream, buffer, offset, length, mmapFlags); + } + if (mmapFlags & 2) { + return 0; + } + FS.write(stream, buffer, 0, length, offset); + return 0; + }, + munmap: function() { + return 0; + }, + ioctl: function() { + throw new FS.ErrnoError(ERRNO_CODES.ENOTTY); + } +}; +var FS = { + root: null, + mounts: [], + devices: {}, + streams: [], + nextInode: 1, + nameTable: null, + currentPath: "/", + initialized: false, + ignorePermissions: true, + trackingDelegate: {}, + tracking: { openFlags: { READ: 1, WRITE: 2 } }, + ErrnoError: null, + genericErrors: {}, + filesystems: null, + syncFSRequests: 0, + lookupPath: function(path, opts) { + path = PATH_FS.resolve(FS.cwd(), path); + opts = opts || {}; + if (!path) return { path: "", node: null }; + var defaults = { follow_mount: true, recurse_count: 0 }; + for (var key in defaults) { + if (opts[key] === undefined) { + opts[key] = defaults[key]; + } + } + if (opts.recurse_count > 8) { + throw new FS.ErrnoError(32); + } + var parts = PATH.normalizeArray( + path.split("/").filter(function(p) { + return !!p; + }), + false + ); + var current = FS.root; + var current_path = "/"; + for (var i = 0; i < parts.length; i++) { + var islast = i === parts.length - 1; + if (islast && opts.parent) { + break; + } + current = FS.lookupNode(current, parts[i]); + current_path = PATH.join2(current_path, parts[i]); + if (FS.isMountpoint(current)) { + if (!islast || (islast && opts.follow_mount)) { + current = current.mounted.root; + } + } + if (!islast || opts.follow) { + var count = 0; + while (FS.isLink(current.mode)) { + var link = FS.readlink(current_path); + current_path = PATH_FS.resolve(PATH.dirname(current_path), link); + var lookup = FS.lookupPath(current_path, { + recurse_count: opts.recurse_count + }); + current = lookup.node; + if (count++ > 40) { + throw new FS.ErrnoError(32); + } + } + } + } + return { path: current_path, node: current }; + }, + getPath: function(node) { + var path; + while (true) { + if (FS.isRoot(node)) { + var mount = node.mount.mountpoint; + if (!path) return mount; + return mount[mount.length - 1] !== "/" + ? mount + "/" + path + : mount + path; + } + path = path ? node.name + "/" + path : node.name; + node = node.parent; + } + }, + hashName: function(parentid, name) { + var hash = 0; + for (var i = 0; i < name.length; i++) { + hash = ((hash << 5) - hash + name.charCodeAt(i)) | 0; + } + return ((parentid + hash) >>> 0) % FS.nameTable.length; + }, + hashAddNode: function(node) { + var hash = FS.hashName(node.parent.id, node.name); + node.name_next = FS.nameTable[hash]; + FS.nameTable[hash] = node; + }, + hashRemoveNode: function(node) { + var hash = FS.hashName(node.parent.id, node.name); + if (FS.nameTable[hash] === node) { + FS.nameTable[hash] = node.name_next; + } else { + var current = FS.nameTable[hash]; + while (current) { + if (current.name_next === node) { + current.name_next = node.name_next; + break; + } + current = current.name_next; + } + } + }, + lookupNode: function(parent, name) { + var errCode = FS.mayLookup(parent); + if (errCode) { + throw new FS.ErrnoError(errCode, parent); + } + var hash = FS.hashName(parent.id, name); + for (var node = FS.nameTable[hash]; node; node = node.name_next) { + var nodeName = node.name; + if (node.parent.id === parent.id && nodeName === name) { + return node; + } + } + return FS.lookup(parent, name); + }, + createNode: function(parent, name, mode, rdev) { + var node = new FS.FSNode(parent, name, mode, rdev); + FS.hashAddNode(node); + return node; + }, + destroyNode: function(node) { + FS.hashRemoveNode(node); + }, + isRoot: function(node) { + return node === node.parent; + }, + isMountpoint: function(node) { + return !!node.mounted; + }, + isFile: function(mode) { + return (mode & 61440) === 32768; + }, + isDir: function(mode) { + return (mode & 61440) === 16384; + }, + isLink: function(mode) { + return (mode & 61440) === 40960; + }, + isChrdev: function(mode) { + return (mode & 61440) === 8192; + }, + isBlkdev: function(mode) { + return (mode & 61440) === 24576; + }, + isFIFO: function(mode) { + return (mode & 61440) === 4096; + }, + isSocket: function(mode) { + return (mode & 49152) === 49152; + }, + flagModes: { r: 0, "r+": 2, w: 577, "w+": 578, a: 1089, "a+": 1090 }, + modeStringToFlags: function(str) { + var flags = FS.flagModes[str]; + if (typeof flags === "undefined") { + throw new Error("Unknown file open mode: " + str); + } + return flags; + }, + flagsToPermissionString: function(flag) { + var perms = ["r", "w", "rw"][flag & 3]; + if (flag & 512) { + perms += "w"; + } + return perms; + }, + nodePermissions: function(node, perms) { + if (FS.ignorePermissions) { + return 0; + } + if (perms.includes("r") && !(node.mode & 292)) { + return 2; + } else if (perms.includes("w") && !(node.mode & 146)) { + return 2; + } else if (perms.includes("x") && !(node.mode & 73)) { + return 2; + } + return 0; + }, + mayLookup: function(dir) { + var errCode = FS.nodePermissions(dir, "x"); + if (errCode) return errCode; + if (!dir.node_ops.lookup) return 2; + return 0; + }, + mayCreate: function(dir, name) { + try { + var node = FS.lookupNode(dir, name); + return 20; + } catch (e) {} + return FS.nodePermissions(dir, "wx"); + }, + mayDelete: function(dir, name, isdir) { + var node; + try { + node = FS.lookupNode(dir, name); + } catch (e) { + return e.errno; + } + var errCode = FS.nodePermissions(dir, "wx"); + if (errCode) { + return errCode; + } + if (isdir) { + if (!FS.isDir(node.mode)) { + return 54; + } + if (FS.isRoot(node) || FS.getPath(node) === FS.cwd()) { + return 10; + } + } else { + if (FS.isDir(node.mode)) { + return 31; + } + } + return 0; + }, + mayOpen: function(node, flags) { + if (!node) { + return 44; + } + if (FS.isLink(node.mode)) { + return 32; + } else if (FS.isDir(node.mode)) { + if (FS.flagsToPermissionString(flags) !== "r" || flags & 512) { + return 31; + } + } + return FS.nodePermissions(node, FS.flagsToPermissionString(flags)); + }, + MAX_OPEN_FDS: 4096, + nextfd: function(fd_start, fd_end) { + fd_start = fd_start || 0; + fd_end = fd_end || FS.MAX_OPEN_FDS; + for (var fd = fd_start; fd <= fd_end; fd++) { + if (!FS.streams[fd]) { + return fd; + } + } + throw new FS.ErrnoError(33); + }, + getStream: function(fd) { + return FS.streams[fd]; + }, + createStream: function(stream, fd_start, fd_end) { + if (!FS.FSStream) { + FS.FSStream = function() {}; + FS.FSStream.prototype = { + object: { + get: function() { + return this.node; + }, + set: function(val) { + this.node = val; + } + }, + isRead: { + get: function() { + return (this.flags & 2097155) !== 1; + } + }, + isWrite: { + get: function() { + return (this.flags & 2097155) !== 0; + } + }, + isAppend: { + get: function() { + return this.flags & 1024; + } + } + }; + } + var newStream = new FS.FSStream(); + for (var p in stream) { + newStream[p] = stream[p]; + } + stream = newStream; + var fd = FS.nextfd(fd_start, fd_end); + stream.fd = fd; + FS.streams[fd] = stream; + return stream; + }, + closeStream: function(fd) { + FS.streams[fd] = null; + }, + chrdev_stream_ops: { + open: function(stream) { + var device = FS.getDevice(stream.node.rdev); + stream.stream_ops = device.stream_ops; + if (stream.stream_ops.open) { + stream.stream_ops.open(stream); + } + }, + llseek: function() { + throw new FS.ErrnoError(70); + } + }, + major: function(dev) { + return dev >> 8; + }, + minor: function(dev) { + return dev & 255; + }, + makedev: function(ma, mi) { + return (ma << 8) | mi; + }, + registerDevice: function(dev, ops) { + FS.devices[dev] = { stream_ops: ops }; + }, + getDevice: function(dev) { + return FS.devices[dev]; + }, + getMounts: function(mount) { + var mounts = []; + var check = [mount]; + while (check.length) { + var m = check.pop(); + mounts.push(m); + check.push.apply(check, m.mounts); + } + return mounts; + }, + syncfs: function(populate, callback) { + if (typeof populate === "function") { + callback = populate; + populate = false; + } + FS.syncFSRequests++; + if (FS.syncFSRequests > 1) { + err( + "warning: " + + FS.syncFSRequests + + " FS.syncfs operations in flight at once, probably just doing extra work" + ); + } + var mounts = FS.getMounts(FS.root.mount); + var completed = 0; + function doCallback(errCode) { + FS.syncFSRequests--; + return callback(errCode); + } + function done(errCode) { + if (errCode) { + if (!done.errored) { + done.errored = true; + return doCallback(errCode); + } + return; + } + if (++completed >= mounts.length) { + doCallback(null); + } + } + mounts.forEach(function(mount) { + if (!mount.type.syncfs) { + return done(null); + } + mount.type.syncfs(mount, populate, done); + }); + }, + mount: function(type, opts, mountpoint) { + var root = mountpoint === "/"; + var pseudo = !mountpoint; + var node; + if (root && FS.root) { + throw new FS.ErrnoError(10); + } else if (!root && !pseudo) { + var lookup = FS.lookupPath(mountpoint, { follow_mount: false }); + mountpoint = lookup.path; + node = lookup.node; + if (FS.isMountpoint(node)) { + throw new FS.ErrnoError(10); + } + if (!FS.isDir(node.mode)) { + throw new FS.ErrnoError(54); + } + } + var mount = { type: type, opts: opts, mountpoint: mountpoint, mounts: [] }; + var mountRoot = type.mount(mount); + mountRoot.mount = mount; + mount.root = mountRoot; + if (root) { + FS.root = mountRoot; + } else if (node) { + node.mounted = mount; + if (node.mount) { + node.mount.mounts.push(mount); + } + } + return mountRoot; + }, + unmount: function(mountpoint) { + var lookup = FS.lookupPath(mountpoint, { follow_mount: false }); + if (!FS.isMountpoint(lookup.node)) { + throw new FS.ErrnoError(28); + } + var node = lookup.node; + var mount = node.mounted; + var mounts = FS.getMounts(mount); + Object.keys(FS.nameTable).forEach(function(hash) { + var current = FS.nameTable[hash]; + while (current) { + var next = current.name_next; + if (mounts.includes(current.mount)) { + FS.destroyNode(current); + } + current = next; + } + }); + node.mounted = null; + var idx = node.mount.mounts.indexOf(mount); + node.mount.mounts.splice(idx, 1); + }, + lookup: function(parent, name) { + return parent.node_ops.lookup(parent, name); + }, + mknod: function(path, mode, dev) { + var lookup = FS.lookupPath(path, { parent: true }); + var parent = lookup.node; + var name = PATH.basename(path); + if (!name || name === "." || name === "..") { + throw new FS.ErrnoError(28); + } + var errCode = FS.mayCreate(parent, name); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + if (!parent.node_ops.mknod) { + throw new FS.ErrnoError(63); + } + return parent.node_ops.mknod(parent, name, mode, dev); + }, + create: function(path, mode) { + mode = mode !== undefined ? mode : 438; + mode &= 4095; + mode |= 32768; + return FS.mknod(path, mode, 0); + }, + mkdir: function(path, mode) { + mode = mode !== undefined ? mode : 511; + mode &= 511 | 512; + mode |= 16384; + return FS.mknod(path, mode, 0); + }, + mkdirTree: function(path, mode) { + var dirs = path.split("/"); + var d = ""; + for (var i = 0; i < dirs.length; ++i) { + if (!dirs[i]) continue; + d += "/" + dirs[i]; + try { + FS.mkdir(d, mode); + } catch (e) { + if (e.errno != 20) throw e; + } + } + }, + mkdev: function(path, mode, dev) { + if (typeof dev === "undefined") { + dev = mode; + mode = 438; + } + mode |= 8192; + return FS.mknod(path, mode, dev); + }, + symlink: function(oldpath, newpath) { + if (!PATH_FS.resolve(oldpath)) { + throw new FS.ErrnoError(44); + } + var lookup = FS.lookupPath(newpath, { parent: true }); + var parent = lookup.node; + if (!parent) { + throw new FS.ErrnoError(44); + } + var newname = PATH.basename(newpath); + var errCode = FS.mayCreate(parent, newname); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + if (!parent.node_ops.symlink) { + throw new FS.ErrnoError(63); + } + return parent.node_ops.symlink(parent, newname, oldpath); + }, + rename: function(old_path, new_path) { + var old_dirname = PATH.dirname(old_path); + var new_dirname = PATH.dirname(new_path); + var old_name = PATH.basename(old_path); + var new_name = PATH.basename(new_path); + var lookup, old_dir, new_dir; + lookup = FS.lookupPath(old_path, { parent: true }); + old_dir = lookup.node; + lookup = FS.lookupPath(new_path, { parent: true }); + new_dir = lookup.node; + if (!old_dir || !new_dir) throw new FS.ErrnoError(44); + if (old_dir.mount !== new_dir.mount) { + throw new FS.ErrnoError(75); + } + var old_node = FS.lookupNode(old_dir, old_name); + var relative = PATH_FS.relative(old_path, new_dirname); + if (relative.charAt(0) !== ".") { + throw new FS.ErrnoError(28); + } + relative = PATH_FS.relative(new_path, old_dirname); + if (relative.charAt(0) !== ".") { + throw new FS.ErrnoError(55); + } + var new_node; + try { + new_node = FS.lookupNode(new_dir, new_name); + } catch (e) {} + if (old_node === new_node) { + return; + } + var isdir = FS.isDir(old_node.mode); + var errCode = FS.mayDelete(old_dir, old_name, isdir); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + errCode = new_node + ? FS.mayDelete(new_dir, new_name, isdir) + : FS.mayCreate(new_dir, new_name); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + if (!old_dir.node_ops.rename) { + throw new FS.ErrnoError(63); + } + if (FS.isMountpoint(old_node) || (new_node && FS.isMountpoint(new_node))) { + throw new FS.ErrnoError(10); + } + if (new_dir !== old_dir) { + errCode = FS.nodePermissions(old_dir, "w"); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + } + try { + if (FS.trackingDelegate["willMovePath"]) { + FS.trackingDelegate["willMovePath"](old_path, new_path); + } + } catch (e) { + err( + "FS.trackingDelegate['willMovePath']('" + + old_path + + "', '" + + new_path + + "') threw an exception: " + + e.message + ); + } + FS.hashRemoveNode(old_node); + try { + old_dir.node_ops.rename(old_node, new_dir, new_name); + } catch (e) { + throw e; + } finally { + FS.hashAddNode(old_node); + } + try { + if (FS.trackingDelegate["onMovePath"]) + FS.trackingDelegate["onMovePath"](old_path, new_path); + } catch (e) { + err( + "FS.trackingDelegate['onMovePath']('" + + old_path + + "', '" + + new_path + + "') threw an exception: " + + e.message + ); + } + }, + rmdir: function(path) { + var lookup = FS.lookupPath(path, { parent: true }); + var parent = lookup.node; + var name = PATH.basename(path); + var node = FS.lookupNode(parent, name); + var errCode = FS.mayDelete(parent, name, true); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + if (!parent.node_ops.rmdir) { + throw new FS.ErrnoError(63); + } + if (FS.isMountpoint(node)) { + throw new FS.ErrnoError(10); + } + try { + if (FS.trackingDelegate["willDeletePath"]) { + FS.trackingDelegate["willDeletePath"](path); + } + } catch (e) { + err( + "FS.trackingDelegate['willDeletePath']('" + + path + + "') threw an exception: " + + e.message + ); + } + parent.node_ops.rmdir(parent, name); + FS.destroyNode(node); + try { + if (FS.trackingDelegate["onDeletePath"]) + FS.trackingDelegate["onDeletePath"](path); + } catch (e) { + err( + "FS.trackingDelegate['onDeletePath']('" + + path + + "') threw an exception: " + + e.message + ); + } + }, + readdir: function(path) { + var lookup = FS.lookupPath(path, { follow: true }); + var node = lookup.node; + if (!node.node_ops.readdir) { + throw new FS.ErrnoError(54); + } + return node.node_ops.readdir(node); + }, + unlink: function(path) { + var lookup = FS.lookupPath(path, { parent: true }); + var parent = lookup.node; + var name = PATH.basename(path); + var node = FS.lookupNode(parent, name); + var errCode = FS.mayDelete(parent, name, false); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + if (!parent.node_ops.unlink) { + throw new FS.ErrnoError(63); + } + if (FS.isMountpoint(node)) { + throw new FS.ErrnoError(10); + } + try { + if (FS.trackingDelegate["willDeletePath"]) { + FS.trackingDelegate["willDeletePath"](path); + } + } catch (e) { + err( + "FS.trackingDelegate['willDeletePath']('" + + path + + "') threw an exception: " + + e.message + ); + } + parent.node_ops.unlink(parent, name); + FS.destroyNode(node); + try { + if (FS.trackingDelegate["onDeletePath"]) + FS.trackingDelegate["onDeletePath"](path); + } catch (e) { + err( + "FS.trackingDelegate['onDeletePath']('" + + path + + "') threw an exception: " + + e.message + ); + } + }, + readlink: function(path) { + var lookup = FS.lookupPath(path); + var link = lookup.node; + if (!link) { + throw new FS.ErrnoError(44); + } + if (!link.node_ops.readlink) { + throw new FS.ErrnoError(28); + } + return PATH_FS.resolve( + FS.getPath(link.parent), + link.node_ops.readlink(link) + ); + }, + stat: function(path, dontFollow) { + var lookup = FS.lookupPath(path, { follow: !dontFollow }); + var node = lookup.node; + if (!node) { + throw new FS.ErrnoError(44); + } + if (!node.node_ops.getattr) { + throw new FS.ErrnoError(63); + } + return node.node_ops.getattr(node); + }, + lstat: function(path) { + return FS.stat(path, true); + }, + chmod: function(path, mode, dontFollow) { + var node; + if (typeof path === "string") { + var lookup = FS.lookupPath(path, { follow: !dontFollow }); + node = lookup.node; + } else { + node = path; + } + if (!node.node_ops.setattr) { + throw new FS.ErrnoError(63); + } + node.node_ops.setattr(node, { + mode: (mode & 4095) | (node.mode & ~4095), + timestamp: Date.now() + }); + }, + lchmod: function(path, mode) { + FS.chmod(path, mode, true); + }, + fchmod: function(fd, mode) { + var stream = FS.getStream(fd); + if (!stream) { + throw new FS.ErrnoError(8); + } + FS.chmod(stream.node, mode); + }, + chown: function(path, uid, gid, dontFollow) { + var node; + if (typeof path === "string") { + var lookup = FS.lookupPath(path, { follow: !dontFollow }); + node = lookup.node; + } else { + node = path; + } + if (!node.node_ops.setattr) { + throw new FS.ErrnoError(63); + } + node.node_ops.setattr(node, { timestamp: Date.now() }); + }, + lchown: function(path, uid, gid) { + FS.chown(path, uid, gid, true); + }, + fchown: function(fd, uid, gid) { + var stream = FS.getStream(fd); + if (!stream) { + throw new FS.ErrnoError(8); + } + FS.chown(stream.node, uid, gid); + }, + truncate: function(path, len) { + if (len < 0) { + throw new FS.ErrnoError(28); + } + var node; + if (typeof path === "string") { + var lookup = FS.lookupPath(path, { follow: true }); + node = lookup.node; + } else { + node = path; + } + if (!node.node_ops.setattr) { + throw new FS.ErrnoError(63); + } + if (FS.isDir(node.mode)) { + throw new FS.ErrnoError(31); + } + if (!FS.isFile(node.mode)) { + throw new FS.ErrnoError(28); + } + var errCode = FS.nodePermissions(node, "w"); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + node.node_ops.setattr(node, { size: len, timestamp: Date.now() }); + }, + ftruncate: function(fd, len) { + var stream = FS.getStream(fd); + if (!stream) { + throw new FS.ErrnoError(8); + } + if ((stream.flags & 2097155) === 0) { + throw new FS.ErrnoError(28); + } + FS.truncate(stream.node, len); + }, + utime: function(path, atime, mtime) { + var lookup = FS.lookupPath(path, { follow: true }); + var node = lookup.node; + node.node_ops.setattr(node, { timestamp: Math.max(atime, mtime) }); + }, + open: function(path, flags, mode, fd_start, fd_end) { + if (path === "") { + throw new FS.ErrnoError(44); + } + flags = typeof flags === "string" ? FS.modeStringToFlags(flags) : flags; + mode = typeof mode === "undefined" ? 438 : mode; + if (flags & 64) { + mode = (mode & 4095) | 32768; + } else { + mode = 0; + } + var node; + if (typeof path === "object") { + node = path; + } else { + path = PATH.normalize(path); + try { + var lookup = FS.lookupPath(path, { follow: !(flags & 131072) }); + node = lookup.node; + } catch (e) {} + } + var created = false; + if (flags & 64) { + if (node) { + if (flags & 128) { + throw new FS.ErrnoError(20); + } + } else { + node = FS.mknod(path, mode, 0); + created = true; + } + } + if (!node) { + throw new FS.ErrnoError(44); + } + if (FS.isChrdev(node.mode)) { + flags &= ~512; + } + if (flags & 65536 && !FS.isDir(node.mode)) { + throw new FS.ErrnoError(54); + } + if (!created) { + var errCode = FS.mayOpen(node, flags); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + } + if (flags & 512) { + FS.truncate(node, 0); + } + flags &= ~(128 | 512 | 131072); + var stream = FS.createStream( + { + node: node, + path: FS.getPath(node), + flags: flags, + seekable: true, + position: 0, + stream_ops: node.stream_ops, + ungotten: [], + error: false + }, + fd_start, + fd_end + ); + if (stream.stream_ops.open) { + stream.stream_ops.open(stream); + } + if (Module["logReadFiles"] && !(flags & 1)) { + if (!FS.readFiles) FS.readFiles = {}; + if (!(path in FS.readFiles)) { + FS.readFiles[path] = 1; + err("FS.trackingDelegate error on read file: " + path); + } + } + try { + if (FS.trackingDelegate["onOpenFile"]) { + var trackingFlags = 0; + if ((flags & 2097155) !== 1) { + trackingFlags |= FS.tracking.openFlags.READ; + } + if ((flags & 2097155) !== 0) { + trackingFlags |= FS.tracking.openFlags.WRITE; + } + FS.trackingDelegate["onOpenFile"](path, trackingFlags); + } + } catch (e) { + err( + "FS.trackingDelegate['onOpenFile']('" + + path + + "', flags) threw an exception: " + + e.message + ); + } + return stream; + }, + close: function(stream) { + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8); + } + if (stream.getdents) stream.getdents = null; + try { + if (stream.stream_ops.close) { + stream.stream_ops.close(stream); + } + } catch (e) { + throw e; + } finally { + FS.closeStream(stream.fd); + } + stream.fd = null; + }, + isClosed: function(stream) { + return stream.fd === null; + }, + llseek: function(stream, offset, whence) { + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8); + } + if (!stream.seekable || !stream.stream_ops.llseek) { + throw new FS.ErrnoError(70); + } + if (whence != 0 && whence != 1 && whence != 2) { + throw new FS.ErrnoError(28); + } + stream.position = stream.stream_ops.llseek(stream, offset, whence); + stream.ungotten = []; + return stream.position; + }, + read: function(stream, buffer, offset, length, position) { + if (length < 0 || position < 0) { + throw new FS.ErrnoError(28); + } + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8); + } + if ((stream.flags & 2097155) === 1) { + throw new FS.ErrnoError(8); + } + if (FS.isDir(stream.node.mode)) { + throw new FS.ErrnoError(31); + } + if (!stream.stream_ops.read) { + throw new FS.ErrnoError(28); + } + var seeking = typeof position !== "undefined"; + if (!seeking) { + position = stream.position; + } else if (!stream.seekable) { + throw new FS.ErrnoError(70); + } + var bytesRead = stream.stream_ops.read( + stream, + buffer, + offset, + length, + position + ); + if (!seeking) stream.position += bytesRead; + return bytesRead; + }, + write: function(stream, buffer, offset, length, position, canOwn) { + if (length < 0 || position < 0) { + throw new FS.ErrnoError(28); + } + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8); + } + if ((stream.flags & 2097155) === 0) { + throw new FS.ErrnoError(8); + } + if (FS.isDir(stream.node.mode)) { + throw new FS.ErrnoError(31); + } + if (!stream.stream_ops.write) { + throw new FS.ErrnoError(28); + } + if (stream.seekable && stream.flags & 1024) { + FS.llseek(stream, 0, 2); + } + var seeking = typeof position !== "undefined"; + if (!seeking) { + position = stream.position; + } else if (!stream.seekable) { + throw new FS.ErrnoError(70); + } + var bytesWritten = stream.stream_ops.write( + stream, + buffer, + offset, + length, + position, + canOwn + ); + if (!seeking) stream.position += bytesWritten; + try { + if (stream.path && FS.trackingDelegate["onWriteToFile"]) + FS.trackingDelegate["onWriteToFile"](stream.path); + } catch (e) { + err( + "FS.trackingDelegate['onWriteToFile']('" + + stream.path + + "') threw an exception: " + + e.message + ); + } + return bytesWritten; + }, + allocate: function(stream, offset, length) { + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8); + } + if (offset < 0 || length <= 0) { + throw new FS.ErrnoError(28); + } + if ((stream.flags & 2097155) === 0) { + throw new FS.ErrnoError(8); + } + if (!FS.isFile(stream.node.mode) && !FS.isDir(stream.node.mode)) { + throw new FS.ErrnoError(43); + } + if (!stream.stream_ops.allocate) { + throw new FS.ErrnoError(138); + } + stream.stream_ops.allocate(stream, offset, length); + }, + mmap: function(stream, address, length, position, prot, flags) { + if ( + (prot & 2) !== 0 && + (flags & 2) === 0 && + (stream.flags & 2097155) !== 2 + ) { + throw new FS.ErrnoError(2); + } + if ((stream.flags & 2097155) === 1) { + throw new FS.ErrnoError(2); + } + if (!stream.stream_ops.mmap) { + throw new FS.ErrnoError(43); + } + return stream.stream_ops.mmap( + stream, + address, + length, + position, + prot, + flags + ); + }, + msync: function(stream, buffer, offset, length, mmapFlags) { + if (!stream || !stream.stream_ops.msync) { + return 0; + } + return stream.stream_ops.msync(stream, buffer, offset, length, mmapFlags); + }, + munmap: function(stream) { + return 0; + }, + ioctl: function(stream, cmd, arg) { + if (!stream.stream_ops.ioctl) { + throw new FS.ErrnoError(59); + } + return stream.stream_ops.ioctl(stream, cmd, arg); + }, + readFile: function(path, opts) { + opts = opts || {}; + opts.flags = opts.flags || 0; + opts.encoding = opts.encoding || "binary"; + if (opts.encoding !== "utf8" && opts.encoding !== "binary") { + throw new Error('Invalid encoding type "' + opts.encoding + '"'); + } + var ret; + var stream = FS.open(path, opts.flags); + var stat = FS.stat(path); + var length = stat.size; + var buf = new Uint8Array(length); + FS.read(stream, buf, 0, length, 0); + if (opts.encoding === "utf8") { + ret = UTF8ArrayToString(buf, 0); + } else if (opts.encoding === "binary") { + ret = buf; + } + FS.close(stream); + return ret; + }, + writeFile: function(path, data, opts) { + opts = opts || {}; + opts.flags = opts.flags || 577; + var stream = FS.open(path, opts.flags, opts.mode); + if (typeof data === "string") { + var buf = new Uint8Array(lengthBytesUTF8(data) + 1); + var actualNumBytes = stringToUTF8Array(data, buf, 0, buf.length); + FS.write(stream, buf, 0, actualNumBytes, undefined, opts.canOwn); + } else if (ArrayBuffer.isView(data)) { + FS.write(stream, data, 0, data.byteLength, undefined, opts.canOwn); + } else { + throw new Error("Unsupported data type"); + } + FS.close(stream); + }, + cwd: function() { + return FS.currentPath; + }, + chdir: function(path) { + var lookup = FS.lookupPath(path, { follow: true }); + if (lookup.node === null) { + throw new FS.ErrnoError(44); + } + if (!FS.isDir(lookup.node.mode)) { + throw new FS.ErrnoError(54); + } + var errCode = FS.nodePermissions(lookup.node, "x"); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + FS.currentPath = lookup.path; + }, + createDefaultDirectories: function() { + FS.mkdir("/tmp"); + FS.mkdir("/home"); + FS.mkdir("/home/web_user"); + }, + createDefaultDevices: function() { + FS.mkdir("/dev"); + FS.registerDevice(FS.makedev(1, 3), { + read: function() { + return 0; + }, + write: function(stream, buffer, offset, length, pos) { + return length; + } + }); + FS.mkdev("/dev/null", FS.makedev(1, 3)); + TTY.register(FS.makedev(5, 0), TTY.default_tty_ops); + TTY.register(FS.makedev(6, 0), TTY.default_tty1_ops); + FS.mkdev("/dev/tty", FS.makedev(5, 0)); + FS.mkdev("/dev/tty1", FS.makedev(6, 0)); + var random_device = getRandomDevice(); + FS.createDevice("/dev", "random", random_device); + FS.createDevice("/dev", "urandom", random_device); + FS.mkdir("/dev/shm"); + FS.mkdir("/dev/shm/tmp"); + }, + createSpecialDirectories: function() { + FS.mkdir("/proc"); + var proc_self = FS.mkdir("/proc/self"); + FS.mkdir("/proc/self/fd"); + FS.mount( + { + mount: function() { + var node = FS.createNode(proc_self, "fd", 16384 | 511, 73); + node.node_ops = { + lookup: function(parent, name) { + var fd = +name; + var stream = FS.getStream(fd); + if (!stream) throw new FS.ErrnoError(8); + var ret = { + parent: null, + mount: { mountpoint: "fake" }, + node_ops: { + readlink: function() { + return stream.path; + } + } + }; + ret.parent = ret; + return ret; + } + }; + return node; + } + }, + {}, + "/proc/self/fd" + ); + }, + createStandardStreams: function() { + if (Module["stdin"]) { + FS.createDevice("/dev", "stdin", Module["stdin"]); + } else { + FS.symlink("/dev/tty", "/dev/stdin"); + } + if (Module["stdout"]) { + FS.createDevice("/dev", "stdout", null, Module["stdout"]); + } else { + FS.symlink("/dev/tty", "/dev/stdout"); + } + if (Module["stderr"]) { + FS.createDevice("/dev", "stderr", null, Module["stderr"]); + } else { + FS.symlink("/dev/tty1", "/dev/stderr"); + } + var stdin = FS.open("/dev/stdin", 0); + var stdout = FS.open("/dev/stdout", 1); + var stderr = FS.open("/dev/stderr", 1); + }, + ensureErrnoError: function() { + if (FS.ErrnoError) return; + FS.ErrnoError = function ErrnoError(errno, node) { + this.node = node; + this.setErrno = function(errno) { + this.errno = errno; + }; + this.setErrno(errno); + this.message = "FS error"; + }; + FS.ErrnoError.prototype = new Error(); + FS.ErrnoError.prototype.constructor = FS.ErrnoError; + [44].forEach(function(code) { + FS.genericErrors[code] = new FS.ErrnoError(code); + FS.genericErrors[code].stack = ""; + }); + }, + staticInit: function() { + FS.ensureErrnoError(); + FS.nameTable = new Array(4096); + FS.mount(MEMFS, {}, "/"); + FS.createDefaultDirectories(); + FS.createDefaultDevices(); + FS.createSpecialDirectories(); + FS.filesystems = { MEMFS: MEMFS, NODEFS: NODEFS }; + }, + init: function(input, output, error) { + FS.init.initialized = true; + FS.ensureErrnoError(); + Module["stdin"] = input || Module["stdin"]; + Module["stdout"] = output || Module["stdout"]; + Module["stderr"] = error || Module["stderr"]; + FS.createStandardStreams(); + }, + quit: function() { + FS.init.initialized = false; + var fflush = Module["_fflush"]; + if (fflush) fflush(0); + for (var i = 0; i < FS.streams.length; i++) { + var stream = FS.streams[i]; + if (!stream) { + continue; + } + FS.close(stream); + } + }, + getMode: function(canRead, canWrite) { + var mode = 0; + if (canRead) mode |= 292 | 73; + if (canWrite) mode |= 146; + return mode; + }, + findObject: function(path, dontResolveLastLink) { + var ret = FS.analyzePath(path, dontResolveLastLink); + if (ret.exists) { + return ret.object; + } else { + return null; + } + }, + analyzePath: function(path, dontResolveLastLink) { + try { + var lookup = FS.lookupPath(path, { follow: !dontResolveLastLink }); + path = lookup.path; + } catch (e) {} + var ret = { + isRoot: false, + exists: false, + error: 0, + name: null, + path: null, + object: null, + parentExists: false, + parentPath: null, + parentObject: null + }; + try { + var lookup = FS.lookupPath(path, { parent: true }); + ret.parentExists = true; + ret.parentPath = lookup.path; + ret.parentObject = lookup.node; + ret.name = PATH.basename(path); + lookup = FS.lookupPath(path, { follow: !dontResolveLastLink }); + ret.exists = true; + ret.path = lookup.path; + ret.object = lookup.node; + ret.name = lookup.node.name; + ret.isRoot = lookup.path === "/"; + } catch (e) { + ret.error = e.errno; + } + return ret; + }, + createPath: function(parent, path, canRead, canWrite) { + parent = typeof parent === "string" ? parent : FS.getPath(parent); + var parts = path.split("/").reverse(); + while (parts.length) { + var part = parts.pop(); + if (!part) continue; + var current = PATH.join2(parent, part); + try { + FS.mkdir(current); + } catch (e) {} + parent = current; + } + return current; + }, + createFile: function(parent, name, properties, canRead, canWrite) { + var path = PATH.join2( + typeof parent === "string" ? parent : FS.getPath(parent), + name + ); + var mode = FS.getMode(canRead, canWrite); + return FS.create(path, mode); + }, + createDataFile: function(parent, name, data, canRead, canWrite, canOwn) { + var path = name + ? PATH.join2( + typeof parent === "string" ? parent : FS.getPath(parent), + name + ) + : parent; + var mode = FS.getMode(canRead, canWrite); + var node = FS.create(path, mode); + if (data) { + if (typeof data === "string") { + var arr = new Array(data.length); + for (var i = 0, len = data.length; i < len; ++i) + arr[i] = data.charCodeAt(i); + data = arr; + } + FS.chmod(node, mode | 146); + var stream = FS.open(node, 577); + FS.write(stream, data, 0, data.length, 0, canOwn); + FS.close(stream); + FS.chmod(node, mode); + } + return node; + }, + createDevice: function(parent, name, input, output) { + var path = PATH.join2( + typeof parent === "string" ? parent : FS.getPath(parent), + name + ); + var mode = FS.getMode(!!input, !!output); + if (!FS.createDevice.major) FS.createDevice.major = 64; + var dev = FS.makedev(FS.createDevice.major++, 0); + FS.registerDevice(dev, { + open: function(stream) { + stream.seekable = false; + }, + close: function(stream) { + if (output && output.buffer && output.buffer.length) { + output(10); + } + }, + read: function(stream, buffer, offset, length, pos) { + var bytesRead = 0; + for (var i = 0; i < length; i++) { + var result; + try { + result = input(); + } catch (e) { + throw new FS.ErrnoError(29); + } + if (result === undefined && bytesRead === 0) { + throw new FS.ErrnoError(6); + } + if (result === null || result === undefined) break; + bytesRead++; + buffer[offset + i] = result; + } + if (bytesRead) { + stream.node.timestamp = Date.now(); + } + return bytesRead; + }, + write: function(stream, buffer, offset, length, pos) { + for (var i = 0; i < length; i++) { + try { + output(buffer[offset + i]); + } catch (e) { + throw new FS.ErrnoError(29); + } + } + if (length) { + stream.node.timestamp = Date.now(); + } + return i; + } + }); + return FS.mkdev(path, mode, dev); + }, + forceLoadFile: function(obj) { + if (obj.isDevice || obj.isFolder || obj.link || obj.contents) return true; + if (typeof XMLHttpRequest !== "undefined") { + throw new Error( + "Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread." + ); + } else if (read_) { + try { + obj.contents = intArrayFromString(read_(obj.url), true); + obj.usedBytes = obj.contents.length; + } catch (e) { + throw new FS.ErrnoError(29); + } + } else { + throw new Error("Cannot load without read() or XMLHttpRequest."); + } + }, + createLazyFile: function(parent, name, url, canRead, canWrite) { + function LazyUint8Array() { + this.lengthKnown = false; + this.chunks = []; + } + LazyUint8Array.prototype.get = function LazyUint8Array_get(idx) { + if (idx > this.length - 1 || idx < 0) { + return undefined; + } + var chunkOffset = idx % this.chunkSize; + var chunkNum = (idx / this.chunkSize) | 0; + return this.getter(chunkNum)[chunkOffset]; + }; + LazyUint8Array.prototype.setDataGetter = function LazyUint8Array_setDataGetter( + getter + ) { + this.getter = getter; + }; + LazyUint8Array.prototype.cacheLength = function LazyUint8Array_cacheLength() { + var xhr = new XMLHttpRequest(); + xhr.open("HEAD", url, false); + xhr.send(null); + if (!((xhr.status >= 200 && xhr.status < 300) || xhr.status === 304)) + throw new Error("Couldn't load " + url + ". Status: " + xhr.status); + var datalength = Number(xhr.getResponseHeader("Content-length")); + var header; + var hasByteServing = + (header = xhr.getResponseHeader("Accept-Ranges")) && header === "bytes"; + var usesGzip = + (header = xhr.getResponseHeader("Content-Encoding")) && + header === "gzip"; + var chunkSize = 1024 * 1024; + if (!hasByteServing) chunkSize = datalength; + var doXHR = function(from, to) { + if (from > to) + throw new Error( + "invalid range (" + from + ", " + to + ") or no bytes requested!" + ); + if (to > datalength - 1) + throw new Error( + "only " + datalength + " bytes available! programmer error!" + ); + var xhr = new XMLHttpRequest(); + xhr.open("GET", url, false); + if (datalength !== chunkSize) + xhr.setRequestHeader("Range", "bytes=" + from + "-" + to); + if (typeof Uint8Array != "undefined") xhr.responseType = "arraybuffer"; + if (xhr.overrideMimeType) { + xhr.overrideMimeType("text/plain; charset=x-user-defined"); + } + xhr.send(null); + if (!((xhr.status >= 200 && xhr.status < 300) || xhr.status === 304)) + throw new Error("Couldn't load " + url + ". Status: " + xhr.status); + if (xhr.response !== undefined) { + return new Uint8Array(xhr.response || []); + } else { + return intArrayFromString(xhr.responseText || "", true); + } + }; + var lazyArray = this; + lazyArray.setDataGetter(function(chunkNum) { + var start = chunkNum * chunkSize; + var end = (chunkNum + 1) * chunkSize - 1; + end = Math.min(end, datalength - 1); + if (typeof lazyArray.chunks[chunkNum] === "undefined") { + lazyArray.chunks[chunkNum] = doXHR(start, end); + } + if (typeof lazyArray.chunks[chunkNum] === "undefined") + throw new Error("doXHR failed!"); + return lazyArray.chunks[chunkNum]; + }); + if (usesGzip || !datalength) { + chunkSize = datalength = 1; + datalength = this.getter(0).length; + chunkSize = datalength; + out( + "LazyFiles on gzip forces download of the whole file when length is accessed" + ); + } + this._length = datalength; + this._chunkSize = chunkSize; + this.lengthKnown = true; + }; + if (typeof XMLHttpRequest !== "undefined") { + if (!ENVIRONMENT_IS_WORKER) + throw "Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc"; + var lazyArray = new LazyUint8Array(); + Object.defineProperties(lazyArray, { + length: { + get: function() { + if (!this.lengthKnown) { + this.cacheLength(); + } + return this._length; + } + }, + chunkSize: { + get: function() { + if (!this.lengthKnown) { + this.cacheLength(); + } + return this._chunkSize; + } + } + }); + var properties = { isDevice: false, contents: lazyArray }; + } else { + var properties = { isDevice: false, url: url }; + } + var node = FS.createFile(parent, name, properties, canRead, canWrite); + if (properties.contents) { + node.contents = properties.contents; + } else if (properties.url) { + node.contents = null; + node.url = properties.url; + } + Object.defineProperties(node, { + usedBytes: { + get: function() { + return this.contents.length; + } + } + }); + var stream_ops = {}; + var keys = Object.keys(node.stream_ops); + keys.forEach(function(key) { + var fn = node.stream_ops[key]; + stream_ops[key] = function forceLoadLazyFile() { + FS.forceLoadFile(node); + return fn.apply(null, arguments); + }; + }); + stream_ops.read = function stream_ops_read( + stream, + buffer, + offset, + length, + position + ) { + FS.forceLoadFile(node); + var contents = stream.node.contents; + if (position >= contents.length) return 0; + var size = Math.min(contents.length - position, length); + if (contents.slice) { + for (var i = 0; i < size; i++) { + buffer[offset + i] = contents[position + i]; + } + } else { + for (var i = 0; i < size; i++) { + buffer[offset + i] = contents.get(position + i); + } + } + return size; + }; + node.stream_ops = stream_ops; + return node; + }, + createPreloadedFile: function( + parent, + name, + url, + canRead, + canWrite, + onload, + onerror, + dontCreateFile, + canOwn, + preFinish + ) { + Browser.init(); + var fullname = name ? PATH_FS.resolve(PATH.join2(parent, name)) : parent; + var dep = getUniqueRunDependency("cp " + fullname); + function processData(byteArray) { + function finish(byteArray) { + if (preFinish) preFinish(); + if (!dontCreateFile) { + FS.createDataFile(parent, name, byteArray, canRead, canWrite, canOwn); + } + if (onload) onload(); + removeRunDependency(dep); + } + var handled = false; + Module["preloadPlugins"].forEach(function(plugin) { + if (handled) return; + if (plugin["canHandle"](fullname)) { + plugin["handle"](byteArray, fullname, finish, function() { + if (onerror) onerror(); + removeRunDependency(dep); + }); + handled = true; + } + }); + if (!handled) finish(byteArray); + } + addRunDependency(dep); + if (typeof url == "string") { + Browser.asyncLoad( + url, + function(byteArray) { + processData(byteArray); + }, + onerror + ); + } else { + processData(url); + } + }, + indexedDB: function() { + return ( + window.indexedDB || + window.mozIndexedDB || + window.webkitIndexedDB || + window.msIndexedDB + ); + }, + DB_NAME: function() { + return "EM_FS_" + window.location.pathname; + }, + DB_VERSION: 20, + DB_STORE_NAME: "FILE_DATA", + saveFilesToDB: function(paths, onload, onerror) { + onload = onload || function() {}; + onerror = onerror || function() {}; + var indexedDB = FS.indexedDB(); + try { + var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION); + } catch (e) { + return onerror(e); + } + openRequest.onupgradeneeded = function openRequest_onupgradeneeded() { + out("creating db"); + var db = openRequest.result; + db.createObjectStore(FS.DB_STORE_NAME); + }; + openRequest.onsuccess = function openRequest_onsuccess() { + var db = openRequest.result; + var transaction = db.transaction([FS.DB_STORE_NAME], "readwrite"); + var files = transaction.objectStore(FS.DB_STORE_NAME); + var ok = 0, + fail = 0, + total = paths.length; + function finish() { + if (fail == 0) onload(); + else onerror(); + } + paths.forEach(function(path) { + var putRequest = files.put(FS.analyzePath(path).object.contents, path); + putRequest.onsuccess = function putRequest_onsuccess() { + ok++; + if (ok + fail == total) finish(); + }; + putRequest.onerror = function putRequest_onerror() { + fail++; + if (ok + fail == total) finish(); + }; + }); + transaction.onerror = onerror; + }; + openRequest.onerror = onerror; + }, + loadFilesFromDB: function(paths, onload, onerror) { + onload = onload || function() {}; + onerror = onerror || function() {}; + var indexedDB = FS.indexedDB(); + try { + var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION); + } catch (e) { + return onerror(e); + } + openRequest.onupgradeneeded = onerror; + openRequest.onsuccess = function openRequest_onsuccess() { + var db = openRequest.result; + try { + var transaction = db.transaction([FS.DB_STORE_NAME], "readonly"); + } catch (e) { + onerror(e); + return; + } + var files = transaction.objectStore(FS.DB_STORE_NAME); + var ok = 0, + fail = 0, + total = paths.length; + function finish() { + if (fail == 0) onload(); + else onerror(); + } + paths.forEach(function(path) { + var getRequest = files.get(path); + getRequest.onsuccess = function getRequest_onsuccess() { + if (FS.analyzePath(path).exists) { + FS.unlink(path); + } + FS.createDataFile( + PATH.dirname(path), + PATH.basename(path), + getRequest.result, + true, + true, + true + ); + ok++; + if (ok + fail == total) finish(); + }; + getRequest.onerror = function getRequest_onerror() { + fail++; + if (ok + fail == total) finish(); + }; + }); + transaction.onerror = onerror; + }; + openRequest.onerror = onerror; + } +}; +var SYSCALLS = { + mappings: {}, + DEFAULT_POLLMASK: 5, + umask: 511, + calculateAt: function(dirfd, path, allowEmpty) { + if (path[0] === "/") { + return path; + } + var dir; + if (dirfd === -100) { + dir = FS.cwd(); + } else { + var dirstream = FS.getStream(dirfd); + if (!dirstream) throw new FS.ErrnoError(8); + dir = dirstream.path; + } + if (path.length == 0) { + if (!allowEmpty) { + throw new FS.ErrnoError(44); + } + return dir; + } + return PATH.join2(dir, path); + }, + doStat: function(func, path, buf) { + try { + var stat = func(path); + } catch (e) { + if ( + e && + e.node && + PATH.normalize(path) !== PATH.normalize(FS.getPath(e.node)) + ) { + return -54; + } + throw e; + } + HEAP32[buf >> 2] = stat.dev; + HEAP32[(buf + 4) >> 2] = 0; + HEAP32[(buf + 8) >> 2] = stat.ino; + HEAP32[(buf + 12) >> 2] = stat.mode; + HEAP32[(buf + 16) >> 2] = stat.nlink; + HEAP32[(buf + 20) >> 2] = stat.uid; + HEAP32[(buf + 24) >> 2] = stat.gid; + HEAP32[(buf + 28) >> 2] = stat.rdev; + HEAP32[(buf + 32) >> 2] = 0; + (tempI64 = [ + stat.size >>> 0, + ((tempDouble = stat.size), + +Math.abs(tempDouble) >= 1 + ? tempDouble > 0 + ? (Math.min(+Math.floor(tempDouble / 4294967296), 4294967295) | 0) >>> + 0 + : ~~+Math.ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> + 0 + : 0) + ]), + (HEAP32[(buf + 40) >> 2] = tempI64[0]), + (HEAP32[(buf + 44) >> 2] = tempI64[1]); + HEAP32[(buf + 48) >> 2] = 4096; + HEAP32[(buf + 52) >> 2] = stat.blocks; + HEAP32[(buf + 56) >> 2] = (stat.atime.getTime() / 1e3) | 0; + HEAP32[(buf + 60) >> 2] = 0; + HEAP32[(buf + 64) >> 2] = (stat.mtime.getTime() / 1e3) | 0; + HEAP32[(buf + 68) >> 2] = 0; + HEAP32[(buf + 72) >> 2] = (stat.ctime.getTime() / 1e3) | 0; + HEAP32[(buf + 76) >> 2] = 0; + (tempI64 = [ + stat.ino >>> 0, + ((tempDouble = stat.ino), + +Math.abs(tempDouble) >= 1 + ? tempDouble > 0 + ? (Math.min(+Math.floor(tempDouble / 4294967296), 4294967295) | 0) >>> + 0 + : ~~+Math.ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> + 0 + : 0) + ]), + (HEAP32[(buf + 80) >> 2] = tempI64[0]), + (HEAP32[(buf + 84) >> 2] = tempI64[1]); + return 0; + }, + doMsync: function(addr, stream, len, flags, offset) { + var buffer = HEAPU8.slice(addr, addr + len); + FS.msync(stream, buffer, offset, len, flags); + }, + doMkdir: function(path, mode) { + path = PATH.normalize(path); + if (path[path.length - 1] === "/") path = path.substr(0, path.length - 1); + FS.mkdir(path, mode, 0); + return 0; + }, + doMknod: function(path, mode, dev) { + switch (mode & 61440) { + case 32768: + case 8192: + case 24576: + case 4096: + case 49152: + break; + default: + return -28; + } + FS.mknod(path, mode, dev); + return 0; + }, + doReadlink: function(path, buf, bufsize) { + if (bufsize <= 0) return -28; + var ret = FS.readlink(path); + var len = Math.min(bufsize, lengthBytesUTF8(ret)); + var endChar = HEAP8[buf + len]; + stringToUTF8(ret, buf, bufsize + 1); + HEAP8[buf + len] = endChar; + return len; + }, + doAccess: function(path, amode) { + if (amode & ~7) { + return -28; + } + var node; + var lookup = FS.lookupPath(path, { follow: true }); + node = lookup.node; + if (!node) { + return -44; + } + var perms = ""; + if (amode & 4) perms += "r"; + if (amode & 2) perms += "w"; + if (amode & 1) perms += "x"; + if (perms && FS.nodePermissions(node, perms)) { + return -2; + } + return 0; + }, + doDup: function(path, flags, suggestFD) { + var suggest = FS.getStream(suggestFD); + if (suggest) FS.close(suggest); + return FS.open(path, flags, 0, suggestFD, suggestFD).fd; + }, + doReadv: function(stream, iov, iovcnt, offset) { + var ret = 0; + for (var i = 0; i < iovcnt; i++) { + var ptr = HEAP32[(iov + i * 8) >> 2]; + var len = HEAP32[(iov + (i * 8 + 4)) >> 2]; + var curr = FS.read(stream, HEAP8, ptr, len, offset); + if (curr < 0) return -1; + ret += curr; + if (curr < len) break; + } + return ret; + }, + doWritev: function(stream, iov, iovcnt, offset) { + var ret = 0; + for (var i = 0; i < iovcnt; i++) { + var ptr = HEAP32[(iov + i * 8) >> 2]; + var len = HEAP32[(iov + (i * 8 + 4)) >> 2]; + var curr = FS.write(stream, HEAP8, ptr, len, offset); + if (curr < 0) return -1; + ret += curr; + } + return ret; + }, + varargs: undefined, + get: function() { + SYSCALLS.varargs += 4; + var ret = HEAP32[(SYSCALLS.varargs - 4) >> 2]; + return ret; + }, + getStr: function(ptr) { + var ret = UTF8ToString(ptr); + return ret; + }, + getStreamFromFD: function(fd) { + var stream = FS.getStream(fd); + if (!stream) throw new FS.ErrnoError(8); + return stream; + }, + get64: function(low, high) { + return low; + } +}; +function ___sys_chmod(path, mode) { + try { + path = SYSCALLS.getStr(path); + FS.chmod(path, mode); + return 0; + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; + } +} +function setErrNo(value) { + HEAP32[___errno_location() >> 2] = value; + return value; +} +function ___sys_fcntl64(fd, cmd, varargs) { + SYSCALLS.varargs = varargs; + try { + var stream = SYSCALLS.getStreamFromFD(fd); + switch (cmd) { + case 0: { + var arg = SYSCALLS.get(); + if (arg < 0) { + return -28; + } + var newStream; + newStream = FS.open(stream.path, stream.flags, 0, arg); + return newStream.fd; + } + case 1: + case 2: + return 0; + case 3: + return stream.flags; + case 4: { + var arg = SYSCALLS.get(); + stream.flags |= arg; + return 0; + } + case 12: { + var arg = SYSCALLS.get(); + var offset = 0; + HEAP16[(arg + offset) >> 1] = 2; + return 0; + } + case 13: + case 14: + return 0; + case 16: + case 8: + return -28; + case 9: + setErrNo(28); + return -1; + default: { + return -28; + } + } + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; + } +} +function ___sys_fstat64(fd, buf) { + try { + var stream = SYSCALLS.getStreamFromFD(fd); + return SYSCALLS.doStat(FS.stat, stream.path, buf); + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; + } +} +function ___sys_ioctl(fd, op, varargs) { + SYSCALLS.varargs = varargs; + try { + var stream = SYSCALLS.getStreamFromFD(fd); + switch (op) { + case 21509: + case 21505: { + if (!stream.tty) return -59; + return 0; + } + case 21510: + case 21511: + case 21512: + case 21506: + case 21507: + case 21508: { + if (!stream.tty) return -59; + return 0; + } + case 21519: { + if (!stream.tty) return -59; + var argp = SYSCALLS.get(); + HEAP32[argp >> 2] = 0; + return 0; + } + case 21520: { + if (!stream.tty) return -59; + return -28; + } + case 21531: { + var argp = SYSCALLS.get(); + return FS.ioctl(stream, op, argp); + } + case 21523: { + if (!stream.tty) return -59; + return 0; + } + case 21524: { + if (!stream.tty) return -59; + return 0; + } + default: + abort("bad ioctl syscall " + op); + } + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; + } +} +function ___sys_open(path, flags, varargs) { + SYSCALLS.varargs = varargs; + try { + var pathname = SYSCALLS.getStr(path); + var mode = varargs ? SYSCALLS.get() : 0; + var stream = FS.open(pathname, flags, mode); + return stream.fd; + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; + } +} +function ___sys_rename(old_path, new_path) { + try { + old_path = SYSCALLS.getStr(old_path); + new_path = SYSCALLS.getStr(new_path); + FS.rename(old_path, new_path); + return 0; + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; + } +} +function ___sys_rmdir(path) { + try { + path = SYSCALLS.getStr(path); + FS.rmdir(path); + return 0; + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; + } +} +function ___sys_stat64(path, buf) { + try { + path = SYSCALLS.getStr(path); + return SYSCALLS.doStat(FS.stat, path, buf); + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; + } +} +function ___sys_unlink(path) { + try { + path = SYSCALLS.getStr(path); + FS.unlink(path); + return 0; + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; + } +} +function _emscripten_memcpy_big(dest, src, num) { + HEAPU8.copyWithin(dest, src, src + num); +} +function emscripten_realloc_buffer(size) { + try { + wasmMemory.grow((size - buffer.byteLength + 65535) >>> 16); + updateGlobalBufferAndViews(wasmMemory.buffer); + return 1; + } catch (e) {} +} +function _emscripten_resize_heap(requestedSize) { + var oldSize = HEAPU8.length; + requestedSize = requestedSize >>> 0; + var maxHeapSize = 2147483648; + if (requestedSize > maxHeapSize) { + return false; + } + for (var cutDown = 1; cutDown <= 4; cutDown *= 2) { + var overGrownHeapSize = oldSize * (1 + 0.2 / cutDown); + overGrownHeapSize = Math.min(overGrownHeapSize, requestedSize + 100663296); + var newSize = Math.min( + maxHeapSize, + alignUp(Math.max(requestedSize, overGrownHeapSize), 65536) + ); + var replacement = emscripten_realloc_buffer(newSize); + if (replacement) { + return true; + } + } + return false; +} +function _fd_close(fd) { + try { + var stream = SYSCALLS.getStreamFromFD(fd); + FS.close(stream); + return 0; + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); + return e.errno; + } +} +function _fd_fdstat_get(fd, pbuf) { + try { + var stream = SYSCALLS.getStreamFromFD(fd); + var type = stream.tty + ? 2 + : FS.isDir(stream.mode) + ? 3 + : FS.isLink(stream.mode) + ? 7 + : 4; + HEAP8[pbuf >> 0] = type; + return 0; + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); + return e.errno; + } +} +function _fd_read(fd, iov, iovcnt, pnum) { + try { + var stream = SYSCALLS.getStreamFromFD(fd); + var num = SYSCALLS.doReadv(stream, iov, iovcnt); + HEAP32[pnum >> 2] = num; + return 0; + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); + return e.errno; + } +} +function _fd_seek(fd, offset_low, offset_high, whence, newOffset) { + try { + var stream = SYSCALLS.getStreamFromFD(fd); + var HIGH_OFFSET = 4294967296; + var offset = offset_high * HIGH_OFFSET + (offset_low >>> 0); + var DOUBLE_LIMIT = 9007199254740992; + if (offset <= -DOUBLE_LIMIT || offset >= DOUBLE_LIMIT) { + return -61; + } + FS.llseek(stream, offset, whence); + (tempI64 = [ + stream.position >>> 0, + ((tempDouble = stream.position), + +Math.abs(tempDouble) >= 1 + ? tempDouble > 0 + ? (Math.min(+Math.floor(tempDouble / 4294967296), 4294967295) | 0) >>> + 0 + : ~~+Math.ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> + 0 + : 0) + ]), + (HEAP32[newOffset >> 2] = tempI64[0]), + (HEAP32[(newOffset + 4) >> 2] = tempI64[1]); + if (stream.getdents && offset === 0 && whence === 0) stream.getdents = null; + return 0; + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); + return e.errno; + } +} +function _fd_write(fd, iov, iovcnt, pnum) { + try { + var stream = SYSCALLS.getStreamFromFD(fd); + var num = SYSCALLS.doWritev(stream, iov, iovcnt); + HEAP32[pnum >> 2] = num; + return 0; + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); + return e.errno; + } +} +function _setTempRet0(val) { + setTempRet0(val); +} +function _time(ptr) { + var ret = (Date.now() / 1e3) | 0; + if (ptr) { + HEAP32[ptr >> 2] = ret; + } + return ret; +} +function _tzset() { + if (_tzset.called) return; + _tzset.called = true; + var currentYear = new Date().getFullYear(); + var winter = new Date(currentYear, 0, 1); + var summer = new Date(currentYear, 6, 1); + var winterOffset = winter.getTimezoneOffset(); + var summerOffset = summer.getTimezoneOffset(); + var stdTimezoneOffset = Math.max(winterOffset, summerOffset); + HEAP32[__get_timezone() >> 2] = stdTimezoneOffset * 60; + HEAP32[__get_daylight() >> 2] = Number(winterOffset != summerOffset); + function extractZone(date) { + var match = date.toTimeString().match(/\(([A-Za-z ]+)\)$/); + return match ? match[1] : "GMT"; + } + var winterName = extractZone(winter); + var summerName = extractZone(summer); + var winterNamePtr = allocateUTF8(winterName); + var summerNamePtr = allocateUTF8(summerName); + if (summerOffset < winterOffset) { + HEAP32[__get_tzname() >> 2] = winterNamePtr; + HEAP32[(__get_tzname() + 4) >> 2] = summerNamePtr; + } else { + HEAP32[__get_tzname() >> 2] = summerNamePtr; + HEAP32[(__get_tzname() + 4) >> 2] = winterNamePtr; + } +} +function _timegm(tmPtr) { + _tzset(); + var time = Date.UTC( + HEAP32[(tmPtr + 20) >> 2] + 1900, + HEAP32[(tmPtr + 16) >> 2], + HEAP32[(tmPtr + 12) >> 2], + HEAP32[(tmPtr + 8) >> 2], + HEAP32[(tmPtr + 4) >> 2], + HEAP32[tmPtr >> 2], + 0 + ); + var date = new Date(time); + HEAP32[(tmPtr + 24) >> 2] = date.getUTCDay(); + var start = Date.UTC(date.getUTCFullYear(), 0, 1, 0, 0, 0, 0); + var yday = ((date.getTime() - start) / (1e3 * 60 * 60 * 24)) | 0; + HEAP32[(tmPtr + 28) >> 2] = yday; + return (date.getTime() / 1e3) | 0; +} +var FSNode = function(parent, name, mode, rdev) { + if (!parent) { + parent = this; + } + this.parent = parent; + this.mount = parent.mount; + this.mounted = null; + this.id = FS.nextInode++; + this.name = name; + this.mode = mode; + this.node_ops = {}; + this.stream_ops = {}; + this.rdev = rdev; +}; +var readMode = 292 | 73; +var writeMode = 146; +Object.defineProperties(FSNode.prototype, { + read: { + get: function() { + return (this.mode & readMode) === readMode; + }, + set: function(val) { + val ? (this.mode |= readMode) : (this.mode &= ~readMode); + } + }, + write: { + get: function() { + return (this.mode & writeMode) === writeMode; + }, + set: function(val) { + val ? (this.mode |= writeMode) : (this.mode &= ~writeMode); + } + }, + isFolder: { + get: function() { + return FS.isDir(this.mode); + } + }, + isDevice: { + get: function() { + return FS.isChrdev(this.mode); + } + } +}); +FS.FSNode = FSNode; +FS.staticInit(); +if (ENVIRONMENT_IS_NODE) { + var fs = frozenFs; + var NODEJS_PATH = __webpack_require__(622); + NODEFS.staticInit(); +} +if (ENVIRONMENT_IS_NODE) { + var _wrapNodeError = function(func) { + return function() { + try { + return func.apply(this, arguments); + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(ERRNO_CODES[e.code]); + } + }; + }; + var VFS = Object.assign({}, FS); + for (var _key in NODERAWFS) FS[_key] = _wrapNodeError(NODERAWFS[_key]); +} else { + throw new Error( + "NODERAWFS is currently only supported on Node.js environment." + ); +} +function intArrayFromString(stringy, dontAddNull, length) { + var len = length > 0 ? length : lengthBytesUTF8(stringy) + 1; + var u8array = new Array(len); + var numBytesWritten = stringToUTF8Array(stringy, u8array, 0, u8array.length); + if (dontAddNull) u8array.length = numBytesWritten; + return u8array; +} +var decodeBase64 = + typeof atob === "function" + ? atob + : function(input) { + var keyStr = + "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="; + var output = ""; + var chr1, chr2, chr3; + var enc1, enc2, enc3, enc4; + var i = 0; + input = input.replace(/[^A-Za-z0-9\+\/\=]/g, ""); + do { + enc1 = keyStr.indexOf(input.charAt(i++)); + enc2 = keyStr.indexOf(input.charAt(i++)); + enc3 = keyStr.indexOf(input.charAt(i++)); + enc4 = keyStr.indexOf(input.charAt(i++)); + chr1 = (enc1 << 2) | (enc2 >> 4); + chr2 = ((enc2 & 15) << 4) | (enc3 >> 2); + chr3 = ((enc3 & 3) << 6) | enc4; + output = output + String.fromCharCode(chr1); + if (enc3 !== 64) { + output = output + String.fromCharCode(chr2); + } + if (enc4 !== 64) { + output = output + String.fromCharCode(chr3); + } + } while (i < input.length); + return output; + }; +function intArrayFromBase64(s) { + if (typeof ENVIRONMENT_IS_NODE === "boolean" && ENVIRONMENT_IS_NODE) { + var buf; + try { + buf = Buffer.from(s, "base64"); + } catch (_) { + buf = new Buffer(s, "base64"); + } + return new Uint8Array(buf["buffer"], buf["byteOffset"], buf["byteLength"]); + } + try { + var decoded = decodeBase64(s); + var bytes = new Uint8Array(decoded.length); + for (var i = 0; i < decoded.length; ++i) { + bytes[i] = decoded.charCodeAt(i); + } + return bytes; + } catch (_) { + throw new Error("Converting base64 string to bytes failed."); + } +} +function tryParseAsDataURI(filename) { + if (!isDataURI(filename)) { + return; + } + return intArrayFromBase64(filename.slice(dataURIPrefix.length)); +} +var asmLibraryArg = { + l: ___gmtime_r, + p: ___sys_chmod, + e: ___sys_fcntl64, + k: ___sys_fstat64, + o: ___sys_ioctl, + q: ___sys_open, + i: ___sys_rename, + r: ___sys_rmdir, + c: ___sys_stat64, + h: ___sys_unlink, + s: _emscripten_memcpy_big, + t: _emscripten_resize_heap, + f: _fd_close, + j: _fd_fdstat_get, + g: _fd_read, + n: _fd_seek, + d: _fd_write, + a: _setTempRet0, + b: _time, + m: _timegm +}; +var asm = createWasm(); +var ___wasm_call_ctors = (Module["___wasm_call_ctors"] = asm["v"]); +var _zipstruct_stat = (Module["_zipstruct_stat"] = asm["w"]); +var _zipstruct_statS = (Module["_zipstruct_statS"] = asm["x"]); +var _zipstruct_stat_name = (Module["_zipstruct_stat_name"] = asm["y"]); +var _zipstruct_stat_index = (Module["_zipstruct_stat_index"] = asm["z"]); +var _zipstruct_stat_size = (Module["_zipstruct_stat_size"] = asm["A"]); +var _zipstruct_stat_mtime = (Module["_zipstruct_stat_mtime"] = asm["B"]); +var _zipstruct_stat_crc = (Module["_zipstruct_stat_crc"] = asm["C"]); +var _zipstruct_error = (Module["_zipstruct_error"] = asm["D"]); +var _zipstruct_errorS = (Module["_zipstruct_errorS"] = asm["E"]); +var _zipstruct_error_code_zip = (Module["_zipstruct_error_code_zip"] = + asm["F"]); +var _zipstruct_stat_comp_size = (Module["_zipstruct_stat_comp_size"] = + asm["G"]); +var _zipstruct_stat_comp_method = (Module["_zipstruct_stat_comp_method"] = + asm["H"]); +var _zip_close = (Module["_zip_close"] = asm["I"]); +var _zip_delete = (Module["_zip_delete"] = asm["J"]); +var _zip_dir_add = (Module["_zip_dir_add"] = asm["K"]); +var _zip_discard = (Module["_zip_discard"] = asm["L"]); +var _zip_error_init_with_code = (Module["_zip_error_init_with_code"] = + asm["M"]); +var _zip_get_error = (Module["_zip_get_error"] = asm["N"]); +var _zip_file_get_error = (Module["_zip_file_get_error"] = asm["O"]); +var _zip_error_strerror = (Module["_zip_error_strerror"] = asm["P"]); +var _zip_fclose = (Module["_zip_fclose"] = asm["Q"]); +var _zip_file_add = (Module["_zip_file_add"] = asm["R"]); +var _zip_file_get_external_attributes = (Module[ + "_zip_file_get_external_attributes" +] = asm["S"]); +var _zip_file_set_external_attributes = (Module[ + "_zip_file_set_external_attributes" +] = asm["T"]); +var _zip_file_set_mtime = (Module["_zip_file_set_mtime"] = asm["U"]); +var _zip_fopen = (Module["_zip_fopen"] = asm["V"]); +var _zip_fopen_index = (Module["_zip_fopen_index"] = asm["W"]); +var _zip_fread = (Module["_zip_fread"] = asm["X"]); +var _zip_get_name = (Module["_zip_get_name"] = asm["Y"]); +var _zip_get_num_entries = (Module["_zip_get_num_entries"] = asm["Z"]); +var _zip_name_locate = (Module["_zip_name_locate"] = asm["_"]); +var _zip_open = (Module["_zip_open"] = asm["$"]); +var _zip_open_from_source = (Module["_zip_open_from_source"] = asm["aa"]); +var _zip_set_file_compression = (Module["_zip_set_file_compression"] = + asm["ba"]); +var _zip_source_buffer = (Module["_zip_source_buffer"] = asm["ca"]); +var _zip_source_buffer_create = (Module["_zip_source_buffer_create"] = + asm["da"]); +var _zip_source_close = (Module["_zip_source_close"] = asm["ea"]); +var _zip_source_error = (Module["_zip_source_error"] = asm["fa"]); +var _zip_source_free = (Module["_zip_source_free"] = asm["ga"]); +var _zip_source_keep = (Module["_zip_source_keep"] = asm["ha"]); +var _zip_source_open = (Module["_zip_source_open"] = asm["ia"]); +var _zip_source_read = (Module["_zip_source_read"] = asm["ja"]); +var _zip_source_seek = (Module["_zip_source_seek"] = asm["ka"]); +var _zip_source_set_mtime = (Module["_zip_source_set_mtime"] = asm["la"]); +var _zip_source_tell = (Module["_zip_source_tell"] = asm["ma"]); +var _zip_stat = (Module["_zip_stat"] = asm["na"]); +var _zip_stat_index = (Module["_zip_stat_index"] = asm["oa"]); +var _zip_ext_count_symlinks = (Module["_zip_ext_count_symlinks"] = asm["pa"]); +var ___errno_location = (Module["___errno_location"] = asm["qa"]); +var __get_tzname = (Module["__get_tzname"] = asm["ra"]); +var __get_daylight = (Module["__get_daylight"] = asm["sa"]); +var __get_timezone = (Module["__get_timezone"] = asm["ta"]); +var stackSave = (Module["stackSave"] = asm["ua"]); +var stackRestore = (Module["stackRestore"] = asm["va"]); +var stackAlloc = (Module["stackAlloc"] = asm["wa"]); +var _malloc = (Module["_malloc"] = asm["xa"]); +var _free = (Module["_free"] = asm["ya"]); +Module["cwrap"] = cwrap; +Module["getValue"] = getValue; +var calledRun; +dependenciesFulfilled = function runCaller() { + if (!calledRun) run(); + if (!calledRun) dependenciesFulfilled = runCaller; +}; +function run(args) { + args = args || arguments_; + if (runDependencies > 0) { + return; + } + preRun(); + if (runDependencies > 0) { + return; + } + function doRun() { + if (calledRun) return; + calledRun = true; + Module["calledRun"] = true; + if (ABORT) return; + initRuntime(); + if (Module["onRuntimeInitialized"]) Module["onRuntimeInitialized"](); + postRun(); + } + if (Module["setStatus"]) { + Module["setStatus"]("Running..."); + setTimeout(function() { + setTimeout(function() { + Module["setStatus"](""); + }, 1); + doRun(); + }, 1); + } else { + doRun(); + } +} +Module["run"] = run; +if (Module["preInit"]) { + if (typeof Module["preInit"] == "function") + Module["preInit"] = [Module["preInit"]]; + while (Module["preInit"].length > 0) { + Module["preInit"].pop()(); + } +} +run(); + + +/***/ }), + +/***/ 417: +/***/ ((module) => { + +"use strict"; +module.exports = require("crypto");; + +/***/ }), + +/***/ 747: +/***/ ((module) => { + +"use strict"; +module.exports = require("fs");; + +/***/ }), + +/***/ 282: +/***/ ((module) => { + +"use strict"; +module.exports = require("module");; + +/***/ }), + +/***/ 622: +/***/ ((module) => { + +"use strict"; +module.exports = require("path");; + +/***/ }) + +/******/ }); +/************************************************************************/ +/******/ // The module cache +/******/ var __webpack_module_cache__ = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ // Check if module is in cache +/******/ var cachedModule = __webpack_module_cache__[moduleId]; +/******/ if (cachedModule !== undefined) { +/******/ return cachedModule.exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = __webpack_module_cache__[moduleId] = { +/******/ // no module.id needed +/******/ // no module.loaded needed +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/************************************************************************/ +/******/ /* webpack/runtime/compat get default export */ +/******/ (() => { +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = (module) => { +/******/ var getter = module && module.__esModule ? +/******/ () => (module['default']) : +/******/ () => (module); +/******/ __webpack_require__.d(getter, { a: getter }); +/******/ return getter; +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/define property getters */ +/******/ (() => { +/******/ // define getter functions for harmony exports +/******/ __webpack_require__.d = (exports, definition) => { +/******/ for(var key in definition) { +/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { +/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); +/******/ } +/******/ } +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/hasOwnProperty shorthand */ +/******/ (() => { +/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop)) +/******/ })(); +/******/ +/************************************************************************/ +var __webpack_exports__ = {}; +// This entry need to be wrapped in an IIFE because it need to be in strict mode. +(() => { +"use strict"; + +// EXPORTS +__webpack_require__.d(__webpack_exports__, { + "default": () => (/* binding */ _entryPoint) +}); + +// EXTERNAL MODULE: external "fs" +var external_fs_ = __webpack_require__(747); +var external_fs_default = /*#__PURE__*/__webpack_require__.n(external_fs_); +;// CONCATENATED MODULE: external "os" +const external_os_namespaceObject = require("os");; +;// CONCATENATED MODULE: ../yarnpkg-fslib/sources/constants.ts +const constants_S_IFMT = 0o170000; +const constants_S_IFDIR = 0o040000; +const constants_S_IFREG = 0o100000; +const constants_S_IFLNK = 0o120000; +/** + * Unix timestamp for `1984-06-22T21:50:00.000Z` + * + * It needs to be after 1980-01-01 because that's what Zip supports, and it + * needs to have a slight offset to account for different timezones (because + * zip assumes that all times are local to whoever writes the file, which is + * really silly). + */ + +const SAFE_TIME = 456789000; +// EXTERNAL MODULE: external "path" +var external_path_ = __webpack_require__(622); +var external_path_default = /*#__PURE__*/__webpack_require__.n(external_path_); +;// CONCATENATED MODULE: ../yarnpkg-fslib/sources/path.ts + +var PathType; + +(function (PathType) { + PathType[PathType["File"] = 0] = "File"; + PathType[PathType["Portable"] = 1] = "Portable"; + PathType[PathType["Native"] = 2] = "Native"; +})(PathType || (PathType = {})); + +const PortablePath = { + root: `/`, + dot: `.` +}; +const Filename = { + nodeModules: `node_modules`, + manifest: `package.json`, + lockfile: `yarn.lock`, + virtual: `__virtual__`, + + /** + * @deprecated + */ + pnpJs: `.pnp.js`, + pnpCjs: `.pnp.cjs`, + rc: `.yarnrc.yml` +}; +const npath = Object.create((external_path_default())); +const ppath = Object.create((external_path_default()).posix); + +npath.cwd = () => process.cwd(); + +ppath.cwd = () => toPortablePath(process.cwd()); + +ppath.resolve = (...segments) => { + if (segments.length > 0 && ppath.isAbsolute(segments[0])) { + return external_path_default().posix.resolve(...segments); + } else { + return external_path_default().posix.resolve(ppath.cwd(), ...segments); + } +}; + +const contains = function (pathUtils, from, to) { + from = pathUtils.normalize(from); + to = pathUtils.normalize(to); + if (from === to) return `.`; + if (!from.endsWith(pathUtils.sep)) from = from + pathUtils.sep; + + if (to.startsWith(from)) { + return to.slice(from.length); + } else { + return null; + } +}; + +npath.fromPortablePath = fromPortablePath; +npath.toPortablePath = toPortablePath; + +npath.contains = (from, to) => contains(npath, from, to); + +ppath.contains = (from, to) => contains(ppath, from, to); + +const WINDOWS_PATH_REGEXP = /^([a-zA-Z]:.*)$/; +const UNC_WINDOWS_PATH_REGEXP = /^\\\\(\.\\)?(.*)$/; +const PORTABLE_PATH_REGEXP = /^\/([a-zA-Z]:.*)$/; +const UNC_PORTABLE_PATH_REGEXP = /^\/unc\/(\.dot\/)?(.*)$/; // Path should look like "/N:/berry/scripts/plugin-pack.js" +// And transform to "N:\berry\scripts\plugin-pack.js" + +function fromPortablePath(p) { + if (process.platform !== `win32`) return p; + let portablePathMatch, uncPortablePathMatch; + if (portablePathMatch = p.match(PORTABLE_PATH_REGEXP)) p = portablePathMatch[1];else if (uncPortablePathMatch = p.match(UNC_PORTABLE_PATH_REGEXP)) p = `\\\\${uncPortablePathMatch[1] ? `.\\` : ``}${uncPortablePathMatch[2]}`;else return p; + return p.replace(/\//g, `\\`); +} // Path should look like "N:/berry/scripts/plugin-pack.js" +// And transform to "/N:/berry/scripts/plugin-pack.js" + + +function toPortablePath(p) { + if (process.platform !== `win32`) return p; + let windowsPathMatch, uncWindowsPathMatch; + if (windowsPathMatch = p.match(WINDOWS_PATH_REGEXP)) p = `/${windowsPathMatch[1]}`;else if (uncWindowsPathMatch = p.match(UNC_WINDOWS_PATH_REGEXP)) p = `/unc/${uncWindowsPathMatch[1] ? `.dot/` : ``}${uncWindowsPathMatch[2]}`; + return p.replace(/\\/g, `/`); +} + +function convertPath(targetPathUtils, sourcePath) { + return targetPathUtils === npath ? fromPortablePath(sourcePath) : toPortablePath(sourcePath); +} +function toFilename(filename) { + if (npath.parse(filename).dir !== `` || ppath.parse(filename).dir !== ``) throw new Error(`Invalid filename: "${filename}"`); + return filename; +} +;// CONCATENATED MODULE: ../yarnpkg-fslib/sources/algorithms/copyPromise.ts + + + +const defaultTime = new Date(SAFE_TIME * 1000); +var LinkStrategy; + +(function (LinkStrategy) { + LinkStrategy["Allow"] = "allow"; + LinkStrategy["ReadOnly"] = "readOnly"; +})(LinkStrategy || (LinkStrategy = {})); + +async function copyPromise(destinationFs, destination, sourceFs, source, opts) { + const normalizedDestination = destinationFs.pathUtils.normalize(destination); + const normalizedSource = sourceFs.pathUtils.normalize(source); + const prelayout = []; + const postlayout = []; + const referenceTime = opts.stableTime ? { + mtime: defaultTime, + atime: defaultTime + } : await sourceFs.lstatPromise(normalizedSource); + await destinationFs.mkdirpPromise(destinationFs.pathUtils.dirname(destination), { + utimes: [referenceTime.atime, referenceTime.mtime] + }); + const updateTime = typeof destinationFs.lutimesPromise === `function` ? destinationFs.lutimesPromise.bind(destinationFs) : destinationFs.utimesPromise.bind(destinationFs); + await copyImpl(prelayout, postlayout, updateTime, destinationFs, normalizedDestination, sourceFs, normalizedSource, opts); + + for (const operation of prelayout) await operation(); + + await Promise.all(postlayout.map(operation => { + return operation(); + })); +} + +async function copyImpl(prelayout, postlayout, updateTime, destinationFs, destination, sourceFs, source, opts) { + var _a, _b; + + const destinationStat = await maybeLStat(destinationFs, destination); + const sourceStat = await sourceFs.lstatPromise(source); + const referenceTime = opts.stableTime ? { + mtime: defaultTime, + atime: defaultTime + } : sourceStat; + let updated; + + switch (true) { + case sourceStat.isDirectory(): + { + updated = await copyFolder(prelayout, postlayout, updateTime, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts); + } + break; + + case sourceStat.isFile(): + { + updated = await copyFile(prelayout, postlayout, updateTime, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts); + } + break; + + case sourceStat.isSymbolicLink(): + { + updated = await copySymlink(prelayout, postlayout, updateTime, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts); + } + break; + + default: + { + throw new Error(`Unsupported file type (${sourceStat.mode})`); + } + break; + } + + if (updated || ((_a = destinationStat === null || destinationStat === void 0 ? void 0 : destinationStat.mtime) === null || _a === void 0 ? void 0 : _a.getTime()) !== referenceTime.mtime.getTime() || ((_b = destinationStat === null || destinationStat === void 0 ? void 0 : destinationStat.atime) === null || _b === void 0 ? void 0 : _b.getTime()) !== referenceTime.atime.getTime()) { + postlayout.push(() => updateTime(destination, referenceTime.atime, referenceTime.mtime)); + updated = true; + } + + if (destinationStat === null || (destinationStat.mode & 0o777) !== (sourceStat.mode & 0o777)) { + postlayout.push(() => destinationFs.chmodPromise(destination, sourceStat.mode & 0o777)); + updated = true; + } + + return updated; +} + +async function maybeLStat(baseFs, p) { + try { + return await baseFs.lstatPromise(p); + } catch (e) { + return null; + } +} + +async function copyFolder(prelayout, postlayout, updateTime, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts) { + if (destinationStat !== null && !destinationStat.isDirectory()) { + if (opts.overwrite) { + prelayout.push(async () => destinationFs.removePromise(destination)); + destinationStat = null; + } else { + return false; + } + } + + let updated = false; + + if (destinationStat === null) { + prelayout.push(async () => { + try { + await destinationFs.mkdirPromise(destination, { + mode: sourceStat.mode + }); + } catch (err) { + if (err.code !== `EEXIST`) { + throw err; + } + } + }); + updated = true; + } + + const entries = await sourceFs.readdirPromise(source); + + if (opts.stableSort) { + for (const entry of entries.sort()) { + if (await copyImpl(prelayout, postlayout, updateTime, destinationFs, destinationFs.pathUtils.join(destination, entry), sourceFs, sourceFs.pathUtils.join(source, entry), opts)) { + updated = true; + } + } + } else { + const entriesUpdateStatus = await Promise.all(entries.map(async entry => { + await copyImpl(prelayout, postlayout, updateTime, destinationFs, destinationFs.pathUtils.join(destination, entry), sourceFs, sourceFs.pathUtils.join(source, entry), opts); + })); + + if (entriesUpdateStatus.some(status => status)) { + updated = true; + } + } + + return updated; +} + +const isCloneSupportedCache = new WeakMap(); + +function makeLinkOperation(opFs, destination, source, sourceStat, linkStrategy) { + return async () => { + await opFs.linkPromise(source, destination); + + if (linkStrategy === LinkStrategy.ReadOnly) { + // We mutate the stat, otherwise it'll be reset by copyImpl + sourceStat.mode &= ~0o222; + await opFs.chmodPromise(destination, sourceStat.mode); + } + }; +} + +function makeCloneLinkOperation(opFs, destination, source, sourceStat, linkStrategy) { + const isCloneSupported = isCloneSupportedCache.get(opFs); + + if (typeof isCloneSupported === `undefined`) { + return async () => { + try { + await opFs.copyFilePromise(source, destination, (external_fs_default()).constants.COPYFILE_FICLONE_FORCE); + isCloneSupportedCache.set(opFs, true); + } catch (err) { + if (err.code === `ENOSYS` || err.code === `ENOTSUP`) { + isCloneSupportedCache.set(opFs, false); + await makeLinkOperation(opFs, destination, source, sourceStat, linkStrategy)(); + } else { + throw err; + } + } + }; + } else { + if (isCloneSupported) { + return async () => opFs.copyFilePromise(source, destination, (external_fs_default()).constants.COPYFILE_FICLONE_FORCE); + } else { + return makeLinkOperation(opFs, destination, source, sourceStat, linkStrategy); + } + } +} + +async function copyFile(prelayout, postlayout, updateTime, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts) { + var _a; + + if (destinationStat !== null) { + if (opts.overwrite) { + prelayout.push(async () => destinationFs.removePromise(destination)); + destinationStat = null; + } else { + return false; + } + } + + const linkStrategy = (_a = opts.linkStrategy) !== null && _a !== void 0 ? _a : null; + const op = destinationFs === sourceFs ? linkStrategy !== null ? makeCloneLinkOperation(destinationFs, destination, source, sourceStat, linkStrategy) : async () => destinationFs.copyFilePromise(source, destination, (external_fs_default()).constants.COPYFILE_FICLONE) : linkStrategy !== null ? makeLinkOperation(destinationFs, destination, source, sourceStat, linkStrategy) : async () => destinationFs.writeFilePromise(destination, await sourceFs.readFilePromise(source)); + prelayout.push(async () => op()); + return true; +} + +async function copySymlink(prelayout, postlayout, updateTime, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts) { + if (destinationStat !== null) { + if (opts.overwrite) { + prelayout.push(async () => destinationFs.removePromise(destination)); + destinationStat = null; + } else { + return false; + } + } + + prelayout.push(async () => { + await destinationFs.symlinkPromise(convertPath(destinationFs.pathUtils, await sourceFs.readlinkPromise(source)), destination); + }); + return true; +} +;// CONCATENATED MODULE: ../yarnpkg-fslib/sources/FakeFS.ts + + + +class FakeFS { + constructor(pathUtils) { + this.pathUtils = pathUtils; + } + + async *genTraversePromise(init, { + stableSort = false + } = {}) { + const stack = [init]; + + while (stack.length > 0) { + const p = stack.shift(); + const entry = await this.lstatPromise(p); + + if (entry.isDirectory()) { + const entries = await this.readdirPromise(p); + + if (stableSort) { + for (const entry of entries.sort()) { + stack.push(this.pathUtils.join(p, entry)); + } + } else { + throw new Error(`Not supported`); + } + } else { + yield p; + } + } + } + + async removePromise(p, { + recursive = true, + maxRetries = 5 + } = {}) { + let stat; + + try { + stat = await this.lstatPromise(p); + } catch (error) { + if (error.code === `ENOENT`) { + return; + } else { + throw error; + } + } + + if (stat.isDirectory()) { + if (recursive) { + const entries = await this.readdirPromise(p); + await Promise.all(entries.map(entry => { + return this.removePromise(this.pathUtils.resolve(p, entry)); + })); + } // 5 gives 1s worth of retries at worst + + + let t = 0; + + do { + try { + await this.rmdirPromise(p); + break; + } catch (error) { + if (error.code === `EBUSY` || error.code === `ENOTEMPTY`) { + if (maxRetries === 0) { + break; + } else { + await new Promise(resolve => setTimeout(resolve, t * 100)); + continue; + } + } else { + throw error; + } + } + } while (t++ < maxRetries); + } else { + await this.unlinkPromise(p); + } + } + + removeSync(p, { + recursive = true + } = {}) { + let stat; + + try { + stat = this.lstatSync(p); + } catch (error) { + if (error.code === `ENOENT`) { + return; + } else { + throw error; + } + } + + if (stat.isDirectory()) { + if (recursive) for (const entry of this.readdirSync(p)) this.removeSync(this.pathUtils.resolve(p, entry)); + this.rmdirSync(p); + } else { + this.unlinkSync(p); + } + } + + async mkdirpPromise(p, { + chmod, + utimes + } = {}) { + p = this.resolve(p); + if (p === this.pathUtils.dirname(p)) return; + const parts = p.split(this.pathUtils.sep); + + for (let u = 2; u <= parts.length; ++u) { + const subPath = parts.slice(0, u).join(this.pathUtils.sep); + + if (!this.existsSync(subPath)) { + try { + await this.mkdirPromise(subPath); + } catch (error) { + if (error.code === `EEXIST`) { + continue; + } else { + throw error; + } + } + + if (chmod != null) await this.chmodPromise(subPath, chmod); + + if (utimes != null) { + await this.utimesPromise(subPath, utimes[0], utimes[1]); + } else { + const parentStat = await this.statPromise(this.pathUtils.dirname(subPath)); + await this.utimesPromise(subPath, parentStat.atime, parentStat.mtime); + } + } + } + } + + mkdirpSync(p, { + chmod, + utimes + } = {}) { + p = this.resolve(p); + if (p === this.pathUtils.dirname(p)) return; + const parts = p.split(this.pathUtils.sep); + + for (let u = 2; u <= parts.length; ++u) { + const subPath = parts.slice(0, u).join(this.pathUtils.sep); + + if (!this.existsSync(subPath)) { + try { + this.mkdirSync(subPath); + } catch (error) { + if (error.code === `EEXIST`) { + continue; + } else { + throw error; + } + } + + if (chmod != null) this.chmodSync(subPath, chmod); + + if (utimes != null) { + this.utimesSync(subPath, utimes[0], utimes[1]); + } else { + const parentStat = this.statSync(this.pathUtils.dirname(subPath)); + this.utimesSync(subPath, parentStat.atime, parentStat.mtime); + } + } + } + } + + async copyPromise(destination, source, { + baseFs = this, + overwrite = true, + stableSort = false, + stableTime = false, + linkStrategy = null + } = {}) { + return await copyPromise(this, destination, baseFs, source, { + overwrite, + stableSort, + stableTime, + linkStrategy + }); + } + + copySync(destination, source, { + baseFs = this, + overwrite = true + } = {}) { + const stat = baseFs.lstatSync(source); + const exists = this.existsSync(destination); + + if (stat.isDirectory()) { + this.mkdirpSync(destination); + const directoryListing = baseFs.readdirSync(source); + + for (const entry of directoryListing) { + this.copySync(this.pathUtils.join(destination, entry), baseFs.pathUtils.join(source, entry), { + baseFs, + overwrite + }); + } + } else if (stat.isFile()) { + if (!exists || overwrite) { + if (exists) this.removeSync(destination); + const content = baseFs.readFileSync(source); + this.writeFileSync(destination, content); + } + } else if (stat.isSymbolicLink()) { + if (!exists || overwrite) { + if (exists) this.removeSync(destination); + const target = baseFs.readlinkSync(source); + this.symlinkSync(convertPath(this.pathUtils, target), destination); + } + } else { + throw new Error(`Unsupported file type (file: ${source}, mode: 0o${stat.mode.toString(8).padStart(6, `0`)})`); + } + + const mode = stat.mode & 0o777; + this.chmodSync(destination, mode); + } + + async changeFilePromise(p, content, opts = {}) { + if (Buffer.isBuffer(content)) { + return this.changeFileBufferPromise(p, content, opts); + } else { + return this.changeFileTextPromise(p, content, opts); + } + } + + async changeFileBufferPromise(p, content, { + mode + } = {}) { + let current = Buffer.alloc(0); + + try { + current = await this.readFilePromise(p); + } catch (error) {// ignore errors, no big deal + } + + if (Buffer.compare(current, content) === 0) return; + await this.writeFilePromise(p, content, { + mode + }); + } + + async changeFileTextPromise(p, content, { + automaticNewlines, + mode + } = {}) { + let current = ``; + + try { + current = await this.readFilePromise(p, `utf8`); + } catch (error) {// ignore errors, no big deal + } + + const normalizedContent = automaticNewlines ? normalizeLineEndings(current, content) : content; + if (current === normalizedContent) return; + await this.writeFilePromise(p, normalizedContent, { + mode + }); + } + + changeFileSync(p, content, opts = {}) { + if (Buffer.isBuffer(content)) { + return this.changeFileBufferSync(p, content, opts); + } else { + return this.changeFileTextSync(p, content, opts); + } + } + + changeFileBufferSync(p, content, { + mode + } = {}) { + let current = Buffer.alloc(0); + + try { + current = this.readFileSync(p); + } catch (error) {// ignore errors, no big deal + } + + if (Buffer.compare(current, content) === 0) return; + this.writeFileSync(p, content, { + mode + }); + } + + changeFileTextSync(p, content, { + automaticNewlines = false, + mode + } = {}) { + let current = ``; + + try { + current = this.readFileSync(p, `utf8`); + } catch (error) {// ignore errors, no big deal + } + + const normalizedContent = automaticNewlines ? normalizeLineEndings(current, content) : content; + if (current === normalizedContent) return; + this.writeFileSync(p, normalizedContent, { + mode + }); + } + + async movePromise(fromP, toP) { + try { + await this.renamePromise(fromP, toP); + } catch (error) { + if (error.code === `EXDEV`) { + await this.copyPromise(toP, fromP); + await this.removePromise(fromP); + } else { + throw error; + } + } + } + + moveSync(fromP, toP) { + try { + this.renameSync(fromP, toP); + } catch (error) { + if (error.code === `EXDEV`) { + this.copySync(toP, fromP); + this.removeSync(fromP); + } else { + throw error; + } + } + } + + async lockPromise(affectedPath, callback) { + const lockPath = `${affectedPath}.flock`; + const interval = 1000 / 60; + const startTime = Date.now(); + let fd = null; // Even when we detect that a lock file exists, we still look inside to see + // whether the pid that created it is still alive. It's not foolproof + // (there are false positive), but there are no false negative and that's + // all that matters in 99% of the cases. + + const isAlive = async () => { + let pid; + + try { + [pid] = await this.readJsonPromise(lockPath); + } catch (error) { + // If we can't read the file repeatedly, we assume the process was + // aborted before even writing finishing writing the payload. + return Date.now() - startTime < 500; + } + + try { + // "As a special case, a signal of 0 can be used to test for the + // existence of a process" - so we check whether it's alive. + process.kill(pid, 0); + return true; + } catch (error) { + return false; + } + }; + + while (fd === null) { + try { + fd = await this.openPromise(lockPath, `wx`); + } catch (error) { + if (error.code === `EEXIST`) { + if (!(await isAlive())) { + try { + await this.unlinkPromise(lockPath); + continue; + } catch (error) {// No big deal if we can't remove it. Just fallback to wait for + // it to be eventually released by its owner. + } + } + + if (Date.now() - startTime < 60 * 1000) { + await new Promise(resolve => setTimeout(resolve, interval)); + } else { + throw new Error(`Couldn't acquire a lock in a reasonable time (via ${lockPath})`); + } + } else { + throw error; + } + } + } + + await this.writePromise(fd, JSON.stringify([process.pid])); + + try { + return await callback(); + } finally { + try { + // closePromise needs to come before unlinkPromise otherwise another process can attempt + // to get the file handle after the unlink but before close resuling in + // EPERM: operation not permitted, open + await this.closePromise(fd); + await this.unlinkPromise(lockPath); + } catch (error) {// noop + } + } + } + + async readJsonPromise(p) { + const content = await this.readFilePromise(p, `utf8`); + + try { + return JSON.parse(content); + } catch (error) { + error.message += ` (in ${p})`; + throw error; + } + } + + readJsonSync(p) { + const content = this.readFileSync(p, `utf8`); + + try { + return JSON.parse(content); + } catch (error) { + error.message += ` (in ${p})`; + throw error; + } + } + + async writeJsonPromise(p, data) { + return await this.writeFilePromise(p, `${JSON.stringify(data, null, 2)}\n`); + } + + writeJsonSync(p, data) { + return this.writeFileSync(p, `${JSON.stringify(data, null, 2)}\n`); + } + + async preserveTimePromise(p, cb) { + const stat = await this.lstatPromise(p); + const result = await cb(); + if (typeof result !== `undefined`) p = result; + + if (this.lutimesPromise) { + await this.lutimesPromise(p, stat.atime, stat.mtime); + } else if (!stat.isSymbolicLink()) { + await this.utimesPromise(p, stat.atime, stat.mtime); + } + } + + async preserveTimeSync(p, cb) { + const stat = this.lstatSync(p); + const result = cb(); + if (typeof result !== `undefined`) p = result; + + if (this.lutimesSync) { + this.lutimesSync(p, stat.atime, stat.mtime); + } else if (!stat.isSymbolicLink()) { + this.utimesSync(p, stat.atime, stat.mtime); + } + } + +} +class BasePortableFakeFS extends FakeFS { + constructor() { + super(ppath); + } + +} + +function getEndOfLine(content) { + const matches = content.match(/\r?\n/g); + if (matches === null) return external_os_namespaceObject.EOL; + const crlf = matches.filter(nl => nl === `\r\n`).length; + const lf = matches.length - crlf; + return crlf > lf ? `\r\n` : `\n`; +} + +function normalizeLineEndings(originalContent, newContent) { + return newContent.replace(/\r?\n/g, getEndOfLine(originalContent)); +} +;// CONCATENATED MODULE: ../yarnpkg-fslib/sources/errors.ts +function makeError(code, message) { + return Object.assign(new Error(`${code}: ${message}`), { + code + }); +} + +function EBUSY(message) { + return makeError(`EBUSY`, message); +} +function ENOSYS(message, reason) { + return makeError(`ENOSYS`, `${message}, ${reason}`); +} +function EINVAL(reason) { + return makeError(`EINVAL`, `invalid argument, ${reason}`); +} +function EBADF(reason) { + return makeError(`EBADF`, `bad file descriptor, ${reason}`); +} +function ENOENT(reason) { + return makeError(`ENOENT`, `no such file or directory, ${reason}`); +} +function ENOTDIR(reason) { + return makeError(`ENOTDIR`, `not a directory, ${reason}`); +} +function EISDIR(reason) { + return makeError(`EISDIR`, `illegal operation on a directory, ${reason}`); +} +function EEXIST(reason) { + return makeError(`EEXIST`, `file already exists, ${reason}`); +} +function EROFS(reason) { + return makeError(`EROFS`, `read-only filesystem, ${reason}`); +} +function ENOTEMPTY(reason) { + return makeError(`ENOTEMPTY`, `directory not empty, ${reason}`); +} +function EOPNOTSUPP(reason) { + return makeError(`EOPNOTSUPP`, `operation not supported, ${reason}`); +} // ------------------------------------------------------------------------ + +function ERR_DIR_CLOSED() { + return makeError(`ERR_DIR_CLOSED`, `Directory handle was closed`); +} // ------------------------------------------------------------------------ + +class LibzipError extends Error { + constructor(message, code) { + super(message); + this.name = `Libzip Error`; + this.code = code; + } + +} +;// CONCATENATED MODULE: ../yarnpkg-fslib/sources/NodeFS.ts + + + + +class NodeFS extends BasePortableFakeFS { + constructor(realFs = (external_fs_default())) { + super(); + this.realFs = realFs; // @ts-expect-error + + if (typeof this.realFs.lutimes !== `undefined`) { + this.lutimesPromise = this.lutimesPromiseImpl; + this.lutimesSync = this.lutimesSyncImpl; + } + } + + getExtractHint() { + return false; + } + + getRealPath() { + return PortablePath.root; + } + + resolve(p) { + return ppath.resolve(p); + } + + async openPromise(p, flags, mode) { + return await new Promise((resolve, reject) => { + this.realFs.open(npath.fromPortablePath(p), flags, mode, this.makeCallback(resolve, reject)); + }); + } + + openSync(p, flags, mode) { + return this.realFs.openSync(npath.fromPortablePath(p), flags, mode); + } + + async opendirPromise(p, opts) { + return await new Promise((resolve, reject) => { + if (typeof opts !== `undefined`) { + this.realFs.opendir(npath.fromPortablePath(p), opts, this.makeCallback(resolve, reject)); + } else { + this.realFs.opendir(npath.fromPortablePath(p), this.makeCallback(resolve, reject)); + } + }).then(dir => { + return Object.defineProperty(dir, `path`, { + value: p, + configurable: true, + writable: true + }); + }); + } + + opendirSync(p, opts) { + const dir = typeof opts !== `undefined` ? this.realFs.opendirSync(npath.fromPortablePath(p), opts) : this.realFs.opendirSync(npath.fromPortablePath(p)); + return Object.defineProperty(dir, `path`, { + value: p, + configurable: true, + writable: true + }); + } + + async readPromise(fd, buffer, offset = 0, length = 0, position = -1) { + return await new Promise((resolve, reject) => { + this.realFs.read(fd, buffer, offset, length, position, (error, bytesRead) => { + if (error) { + reject(error); + } else { + resolve(bytesRead); + } + }); + }); + } + + readSync(fd, buffer, offset, length, position) { + return this.realFs.readSync(fd, buffer, offset, length, position); + } + + async writePromise(fd, buffer, offset, length, position) { + return await new Promise((resolve, reject) => { + if (typeof buffer === `string`) { + return this.realFs.write(fd, buffer, offset, this.makeCallback(resolve, reject)); + } else { + return this.realFs.write(fd, buffer, offset, length, position, this.makeCallback(resolve, reject)); + } + }); + } + + writeSync(fd, buffer, offset, length, position) { + if (typeof buffer === `string`) { + return this.realFs.writeSync(fd, buffer, offset); + } else { + return this.realFs.writeSync(fd, buffer, offset, length, position); + } + } + + async closePromise(fd) { + await new Promise((resolve, reject) => { + this.realFs.close(fd, this.makeCallback(resolve, reject)); + }); + } + + closeSync(fd) { + this.realFs.closeSync(fd); + } + + createReadStream(p, opts) { + const realPath = p !== null ? npath.fromPortablePath(p) : p; + return this.realFs.createReadStream(realPath, opts); + } + + createWriteStream(p, opts) { + const realPath = p !== null ? npath.fromPortablePath(p) : p; + return this.realFs.createWriteStream(realPath, opts); + } + + async realpathPromise(p) { + return await new Promise((resolve, reject) => { + this.realFs.realpath(npath.fromPortablePath(p), {}, this.makeCallback(resolve, reject)); + }).then(path => { + return npath.toPortablePath(path); + }); + } + + realpathSync(p) { + return npath.toPortablePath(this.realFs.realpathSync(npath.fromPortablePath(p), {})); + } + + async existsPromise(p) { + return await new Promise(resolve => { + this.realFs.exists(npath.fromPortablePath(p), resolve); + }); + } + + accessSync(p, mode) { + return this.realFs.accessSync(npath.fromPortablePath(p), mode); + } + + async accessPromise(p, mode) { + return await new Promise((resolve, reject) => { + this.realFs.access(npath.fromPortablePath(p), mode, this.makeCallback(resolve, reject)); + }); + } + + existsSync(p) { + return this.realFs.existsSync(npath.fromPortablePath(p)); + } + + async statPromise(p, opts) { + return await new Promise((resolve, reject) => { + if (opts) { + this.realFs.stat(npath.fromPortablePath(p), opts, this.makeCallback(resolve, reject)); + } else { + this.realFs.stat(npath.fromPortablePath(p), this.makeCallback(resolve, reject)); + } + }); + } + + statSync(p, opts) { + if (opts) { + return this.realFs.statSync(npath.fromPortablePath(p), opts); + } else { + return this.realFs.statSync(npath.fromPortablePath(p)); + } + } + + async fstatPromise(fd, opts) { + return await new Promise((resolve, reject) => { + if (opts) { + // @ts-expect-error - The node typings doesn't know about the options + this.realFs.fstat(fd, opts, this.makeCallback(resolve, reject)); + } else { + this.realFs.fstat(fd, this.makeCallback(resolve, reject)); + } + }); + } + + fstatSync(fd, opts) { + if (opts) { + // @ts-expect-error - The node typings doesn't know about the options + return this.realFs.fstatSync(fd, opts); + } else { + return this.realFs.fstatSync(fd); + } + } + + async lstatPromise(p, opts) { + return await new Promise((resolve, reject) => { + if (opts) { + // @ts-expect-error - TS does not know this takes options + this.realFs.lstat(npath.fromPortablePath(p), opts, this.makeCallback(resolve, reject)); + } else { + this.realFs.lstat(npath.fromPortablePath(p), this.makeCallback(resolve, reject)); + } + }); + } + + lstatSync(p, opts) { + if (opts) { + // @ts-expect-error - TS does not know this takes options + return this.realFs.lstatSync(npath.fromPortablePath(p), opts); + } else { + return this.realFs.lstatSync(npath.fromPortablePath(p)); + } + } + + async chmodPromise(p, mask) { + return await new Promise((resolve, reject) => { + this.realFs.chmod(npath.fromPortablePath(p), mask, this.makeCallback(resolve, reject)); + }); + } + + chmodSync(p, mask) { + return this.realFs.chmodSync(npath.fromPortablePath(p), mask); + } + + async chownPromise(p, uid, gid) { + return await new Promise((resolve, reject) => { + this.realFs.chown(npath.fromPortablePath(p), uid, gid, this.makeCallback(resolve, reject)); + }); + } + + chownSync(p, uid, gid) { + return this.realFs.chownSync(npath.fromPortablePath(p), uid, gid); + } + + async renamePromise(oldP, newP) { + return await new Promise((resolve, reject) => { + this.realFs.rename(npath.fromPortablePath(oldP), npath.fromPortablePath(newP), this.makeCallback(resolve, reject)); + }); + } + + renameSync(oldP, newP) { + return this.realFs.renameSync(npath.fromPortablePath(oldP), npath.fromPortablePath(newP)); + } + + async copyFilePromise(sourceP, destP, flags = 0) { + return await new Promise((resolve, reject) => { + this.realFs.copyFile(npath.fromPortablePath(sourceP), npath.fromPortablePath(destP), flags, this.makeCallback(resolve, reject)); + }); + } + + copyFileSync(sourceP, destP, flags = 0) { + return this.realFs.copyFileSync(npath.fromPortablePath(sourceP), npath.fromPortablePath(destP), flags); + } + + async appendFilePromise(p, content, opts) { + return await new Promise((resolve, reject) => { + const fsNativePath = typeof p === `string` ? npath.fromPortablePath(p) : p; + + if (opts) { + this.realFs.appendFile(fsNativePath, content, opts, this.makeCallback(resolve, reject)); + } else { + this.realFs.appendFile(fsNativePath, content, this.makeCallback(resolve, reject)); + } + }); + } + + appendFileSync(p, content, opts) { + const fsNativePath = typeof p === `string` ? npath.fromPortablePath(p) : p; + + if (opts) { + this.realFs.appendFileSync(fsNativePath, content, opts); + } else { + this.realFs.appendFileSync(fsNativePath, content); + } + } + + async writeFilePromise(p, content, opts) { + return await new Promise((resolve, reject) => { + const fsNativePath = typeof p === `string` ? npath.fromPortablePath(p) : p; + + if (opts) { + this.realFs.writeFile(fsNativePath, content, opts, this.makeCallback(resolve, reject)); + } else { + this.realFs.writeFile(fsNativePath, content, this.makeCallback(resolve, reject)); + } + }); + } + + writeFileSync(p, content, opts) { + const fsNativePath = typeof p === `string` ? npath.fromPortablePath(p) : p; + + if (opts) { + this.realFs.writeFileSync(fsNativePath, content, opts); + } else { + this.realFs.writeFileSync(fsNativePath, content); + } + } + + async unlinkPromise(p) { + return await new Promise((resolve, reject) => { + this.realFs.unlink(npath.fromPortablePath(p), this.makeCallback(resolve, reject)); + }); + } + + unlinkSync(p) { + return this.realFs.unlinkSync(npath.fromPortablePath(p)); + } + + async utimesPromise(p, atime, mtime) { + return await new Promise((resolve, reject) => { + this.realFs.utimes(npath.fromPortablePath(p), atime, mtime, this.makeCallback(resolve, reject)); + }); + } + + utimesSync(p, atime, mtime) { + this.realFs.utimesSync(npath.fromPortablePath(p), atime, mtime); + } + + async lutimesPromiseImpl(p, atime, mtime) { + // @ts-expect-error: Not yet in DefinitelyTyped + const lutimes = this.realFs.lutimes; + if (typeof lutimes === `undefined`) throw ENOSYS(`unavailable Node binding`, `lutimes '${p}'`); + return await new Promise((resolve, reject) => { + lutimes.call(this.realFs, npath.fromPortablePath(p), atime, mtime, this.makeCallback(resolve, reject)); + }); + } + + lutimesSyncImpl(p, atime, mtime) { + // @ts-expect-error: Not yet in DefinitelyTyped + const lutimesSync = this.realFs.lutimesSync; + if (typeof lutimesSync === `undefined`) throw ENOSYS(`unavailable Node binding`, `lutimes '${p}'`); + lutimesSync.call(this.realFs, npath.fromPortablePath(p), atime, mtime); + } + + async mkdirPromise(p, opts) { + return await new Promise((resolve, reject) => { + this.realFs.mkdir(npath.fromPortablePath(p), opts, this.makeCallback(resolve, reject)); + }); + } + + mkdirSync(p, opts) { + return this.realFs.mkdirSync(npath.fromPortablePath(p), opts); + } + + async rmdirPromise(p, opts) { + return await new Promise((resolve, reject) => { + // TODO: always pass opts when min node version is 12.10+ + if (opts) { + this.realFs.rmdir(npath.fromPortablePath(p), opts, this.makeCallback(resolve, reject)); + } else { + this.realFs.rmdir(npath.fromPortablePath(p), this.makeCallback(resolve, reject)); + } + }); + } + + rmdirSync(p, opts) { + return this.realFs.rmdirSync(npath.fromPortablePath(p), opts); + } + + async linkPromise(existingP, newP) { + return await new Promise((resolve, reject) => { + this.realFs.link(npath.fromPortablePath(existingP), npath.fromPortablePath(newP), this.makeCallback(resolve, reject)); + }); + } + + linkSync(existingP, newP) { + return this.realFs.linkSync(npath.fromPortablePath(existingP), npath.fromPortablePath(newP)); + } + + async symlinkPromise(target, p, type) { + return await new Promise((resolve, reject) => { + this.realFs.symlink(npath.fromPortablePath(target.replace(/\/+$/, ``)), npath.fromPortablePath(p), type, this.makeCallback(resolve, reject)); + }); + } + + symlinkSync(target, p, type) { + return this.realFs.symlinkSync(npath.fromPortablePath(target.replace(/\/+$/, ``)), npath.fromPortablePath(p), type); + } + + async readFilePromise(p, encoding) { + return await new Promise((resolve, reject) => { + const fsNativePath = typeof p === `string` ? npath.fromPortablePath(p) : p; + this.realFs.readFile(fsNativePath, encoding, this.makeCallback(resolve, reject)); + }); + } + + readFileSync(p, encoding) { + const fsNativePath = typeof p === `string` ? npath.fromPortablePath(p) : p; + return this.realFs.readFileSync(fsNativePath, encoding); + } + + async readdirPromise(p, opts) { + return await new Promise((resolve, reject) => { + if (opts === null || opts === void 0 ? void 0 : opts.withFileTypes) { + this.realFs.readdir(npath.fromPortablePath(p), { + withFileTypes: true + }, this.makeCallback(resolve, reject)); + } else { + this.realFs.readdir(npath.fromPortablePath(p), this.makeCallback(value => resolve(value), reject)); + } + }); + } + + readdirSync(p, opts) { + if (opts === null || opts === void 0 ? void 0 : opts.withFileTypes) { + return this.realFs.readdirSync(npath.fromPortablePath(p), { + withFileTypes: true + }); + } else { + return this.realFs.readdirSync(npath.fromPortablePath(p)); + } + } + + async readlinkPromise(p) { + return await new Promise((resolve, reject) => { + this.realFs.readlink(npath.fromPortablePath(p), this.makeCallback(resolve, reject)); + }).then(path => { + return npath.toPortablePath(path); + }); + } + + readlinkSync(p) { + return npath.toPortablePath(this.realFs.readlinkSync(npath.fromPortablePath(p))); + } + + async truncatePromise(p, len) { + return await new Promise((resolve, reject) => { + this.realFs.truncate(npath.fromPortablePath(p), len, this.makeCallback(resolve, reject)); + }); + } + + truncateSync(p, len) { + return this.realFs.truncateSync(npath.fromPortablePath(p), len); + } + + watch(p, a, b) { + return this.realFs.watch(npath.fromPortablePath(p), // @ts-expect-error + a, b); + } + + watchFile(p, a, b) { + return this.realFs.watchFile(npath.fromPortablePath(p), // @ts-expect-error + a, b); + } + + unwatchFile(p, cb) { + return this.realFs.unwatchFile(npath.fromPortablePath(p), cb); + } + + makeCallback(resolve, reject) { + return (err, result) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }; + } + +} +;// CONCATENATED MODULE: ../yarnpkg-fslib/sources/ProxiedFS.ts + +class ProxiedFS extends FakeFS { + getExtractHint(hints) { + return this.baseFs.getExtractHint(hints); + } + + resolve(path) { + return this.mapFromBase(this.baseFs.resolve(this.mapToBase(path))); + } + + getRealPath() { + return this.mapFromBase(this.baseFs.getRealPath()); + } + + async openPromise(p, flags, mode) { + return this.baseFs.openPromise(this.mapToBase(p), flags, mode); + } + + openSync(p, flags, mode) { + return this.baseFs.openSync(this.mapToBase(p), flags, mode); + } + + async opendirPromise(p, opts) { + return Object.assign(await this.baseFs.opendirPromise(this.mapToBase(p), opts), { + path: p + }); + } + + opendirSync(p, opts) { + return Object.assign(this.baseFs.opendirSync(this.mapToBase(p), opts), { + path: p + }); + } + + async readPromise(fd, buffer, offset, length, position) { + return await this.baseFs.readPromise(fd, buffer, offset, length, position); + } + + readSync(fd, buffer, offset, length, position) { + return this.baseFs.readSync(fd, buffer, offset, length, position); + } + + async writePromise(fd, buffer, offset, length, position) { + if (typeof buffer === `string`) { + return await this.baseFs.writePromise(fd, buffer, offset); + } else { + return await this.baseFs.writePromise(fd, buffer, offset, length, position); + } + } + + writeSync(fd, buffer, offset, length, position) { + if (typeof buffer === `string`) { + return this.baseFs.writeSync(fd, buffer, offset); + } else { + return this.baseFs.writeSync(fd, buffer, offset, length, position); + } + } + + async closePromise(fd) { + return this.baseFs.closePromise(fd); + } + + closeSync(fd) { + this.baseFs.closeSync(fd); + } + + createReadStream(p, opts) { + return this.baseFs.createReadStream(p !== null ? this.mapToBase(p) : p, opts); + } + + createWriteStream(p, opts) { + return this.baseFs.createWriteStream(p !== null ? this.mapToBase(p) : p, opts); + } + + async realpathPromise(p) { + return this.mapFromBase(await this.baseFs.realpathPromise(this.mapToBase(p))); + } + + realpathSync(p) { + return this.mapFromBase(this.baseFs.realpathSync(this.mapToBase(p))); + } + + async existsPromise(p) { + return this.baseFs.existsPromise(this.mapToBase(p)); + } + + existsSync(p) { + return this.baseFs.existsSync(this.mapToBase(p)); + } + + accessSync(p, mode) { + return this.baseFs.accessSync(this.mapToBase(p), mode); + } + + async accessPromise(p, mode) { + return this.baseFs.accessPromise(this.mapToBase(p), mode); + } + + async statPromise(p, opts) { + return this.baseFs.statPromise(this.mapToBase(p), opts); + } + + statSync(p, opts) { + return this.baseFs.statSync(this.mapToBase(p), opts); + } + + async fstatPromise(fd, opts) { + return this.baseFs.fstatPromise(fd, opts); + } + + fstatSync(fd, opts) { + return this.baseFs.fstatSync(fd, opts); + } + + async lstatPromise(p, opts) { + return this.baseFs.lstatPromise(this.mapToBase(p), opts); + } + + lstatSync(p, opts) { + return this.baseFs.lstatSync(this.mapToBase(p), opts); + } + + async chmodPromise(p, mask) { + return this.baseFs.chmodPromise(this.mapToBase(p), mask); + } + + chmodSync(p, mask) { + return this.baseFs.chmodSync(this.mapToBase(p), mask); + } + + async chownPromise(p, uid, gid) { + return this.baseFs.chownPromise(this.mapToBase(p), uid, gid); + } + + chownSync(p, uid, gid) { + return this.baseFs.chownSync(this.mapToBase(p), uid, gid); + } + + async renamePromise(oldP, newP) { + return this.baseFs.renamePromise(this.mapToBase(oldP), this.mapToBase(newP)); + } + + renameSync(oldP, newP) { + return this.baseFs.renameSync(this.mapToBase(oldP), this.mapToBase(newP)); + } + + async copyFilePromise(sourceP, destP, flags = 0) { + return this.baseFs.copyFilePromise(this.mapToBase(sourceP), this.mapToBase(destP), flags); + } + + copyFileSync(sourceP, destP, flags = 0) { + return this.baseFs.copyFileSync(this.mapToBase(sourceP), this.mapToBase(destP), flags); + } + + async appendFilePromise(p, content, opts) { + return this.baseFs.appendFilePromise(this.fsMapToBase(p), content, opts); + } + + appendFileSync(p, content, opts) { + return this.baseFs.appendFileSync(this.fsMapToBase(p), content, opts); + } + + async writeFilePromise(p, content, opts) { + return this.baseFs.writeFilePromise(this.fsMapToBase(p), content, opts); + } + + writeFileSync(p, content, opts) { + return this.baseFs.writeFileSync(this.fsMapToBase(p), content, opts); + } + + async unlinkPromise(p) { + return this.baseFs.unlinkPromise(this.mapToBase(p)); + } + + unlinkSync(p) { + return this.baseFs.unlinkSync(this.mapToBase(p)); + } + + async utimesPromise(p, atime, mtime) { + return this.baseFs.utimesPromise(this.mapToBase(p), atime, mtime); + } + + utimesSync(p, atime, mtime) { + return this.baseFs.utimesSync(this.mapToBase(p), atime, mtime); + } + + async mkdirPromise(p, opts) { + return this.baseFs.mkdirPromise(this.mapToBase(p), opts); + } + + mkdirSync(p, opts) { + return this.baseFs.mkdirSync(this.mapToBase(p), opts); + } + + async rmdirPromise(p, opts) { + return this.baseFs.rmdirPromise(this.mapToBase(p), opts); + } + + rmdirSync(p, opts) { + return this.baseFs.rmdirSync(this.mapToBase(p), opts); + } + + async linkPromise(existingP, newP) { + return this.baseFs.linkPromise(this.mapToBase(existingP), this.mapToBase(newP)); + } + + linkSync(existingP, newP) { + return this.baseFs.linkSync(this.mapToBase(existingP), this.mapToBase(newP)); + } + + async symlinkPromise(target, p, type) { + const mappedP = this.mapToBase(p); + if (this.pathUtils.isAbsolute(target)) return this.baseFs.symlinkPromise(this.mapToBase(target), mappedP, type); + const mappedAbsoluteTarget = this.mapToBase(this.pathUtils.join(this.pathUtils.dirname(p), target)); + const mappedTarget = this.baseFs.pathUtils.relative(this.baseFs.pathUtils.dirname(mappedP), mappedAbsoluteTarget); + return this.baseFs.symlinkPromise(mappedTarget, mappedP, type); + } + + symlinkSync(target, p, type) { + const mappedP = this.mapToBase(p); + if (this.pathUtils.isAbsolute(target)) return this.baseFs.symlinkSync(this.mapToBase(target), mappedP, type); + const mappedAbsoluteTarget = this.mapToBase(this.pathUtils.join(this.pathUtils.dirname(p), target)); + const mappedTarget = this.baseFs.pathUtils.relative(this.baseFs.pathUtils.dirname(mappedP), mappedAbsoluteTarget); + return this.baseFs.symlinkSync(mappedTarget, mappedP, type); + } + + async readFilePromise(p, encoding) { + // This weird condition is required to tell TypeScript that the signatures are proper (otherwise it thinks that only the generic one is covered) + if (encoding === `utf8`) { + return this.baseFs.readFilePromise(this.fsMapToBase(p), encoding); + } else { + return this.baseFs.readFilePromise(this.fsMapToBase(p), encoding); + } + } + + readFileSync(p, encoding) { + // This weird condition is required to tell TypeScript that the signatures are proper (otherwise it thinks that only the generic one is covered) + if (encoding === `utf8`) { + return this.baseFs.readFileSync(this.fsMapToBase(p), encoding); + } else { + return this.baseFs.readFileSync(this.fsMapToBase(p), encoding); + } + } + + async readdirPromise(p, opts) { + return this.baseFs.readdirPromise(this.mapToBase(p), opts); + } + + readdirSync(p, opts) { + return this.baseFs.readdirSync(this.mapToBase(p), opts); + } + + async readlinkPromise(p) { + return this.mapFromBase(await this.baseFs.readlinkPromise(this.mapToBase(p))); + } + + readlinkSync(p) { + return this.mapFromBase(this.baseFs.readlinkSync(this.mapToBase(p))); + } + + async truncatePromise(p, len) { + return this.baseFs.truncatePromise(this.mapToBase(p), len); + } + + truncateSync(p, len) { + return this.baseFs.truncateSync(this.mapToBase(p), len); + } + + watch(p, a, b) { + return this.baseFs.watch(this.mapToBase(p), // @ts-expect-error + a, b); + } + + watchFile(p, a, b) { + return this.baseFs.watchFile(this.mapToBase(p), // @ts-expect-error + a, b); + } + + unwatchFile(p, cb) { + return this.baseFs.unwatchFile(this.mapToBase(p), cb); + } + + fsMapToBase(p) { + if (typeof p === `number`) { + return p; + } else { + return this.mapToBase(p); + } + } + +} +;// CONCATENATED MODULE: ../yarnpkg-fslib/sources/VirtualFS.ts + + + +const NUMBER_REGEXP = /^[0-9]+$/; // $0: full path +// $1: virtual folder +// $2: virtual segment +// $3: hash +// $4: depth +// $5: subpath + +const VIRTUAL_REGEXP = /^(\/(?:[^/]+\/)*?(?:\$\$virtual|__virtual__))((?:\/((?:[^/]+-)?[a-f0-9]+)(?:\/([^/]+))?)?((?:\/.*)?))$/; +const VALID_COMPONENT = /^([^/]+-)?[a-f0-9]+$/; +class VirtualFS extends ProxiedFS { + constructor({ + baseFs = new NodeFS() + } = {}) { + super(ppath); + this.baseFs = baseFs; + } + + static makeVirtualPath(base, component, to) { + if (ppath.basename(base) !== `__virtual__`) throw new Error(`Assertion failed: Virtual folders must be named "__virtual__"`); + if (!ppath.basename(component).match(VALID_COMPONENT)) throw new Error(`Assertion failed: Virtual components must be ended by an hexadecimal hash`); // Obtains the relative distance between the virtual path and its actual target + + const target = ppath.relative(ppath.dirname(base), to); + const segments = target.split(`/`); // Counts how many levels we need to go back to start applying the rest of the path + + let depth = 0; + + while (depth < segments.length && segments[depth] === `..`) depth += 1; + + const finalSegments = segments.slice(depth); + const fullVirtualPath = ppath.join(base, component, String(depth), ...finalSegments); + return fullVirtualPath; + } + + static resolveVirtual(p) { + const match = p.match(VIRTUAL_REGEXP); + if (!match || !match[3] && match[5]) return p; + const target = ppath.dirname(match[1]); + if (!match[3] || !match[4]) return target; + const isnum = NUMBER_REGEXP.test(match[4]); + if (!isnum) return p; + const depth = Number(match[4]); + const backstep = `../`.repeat(depth); + const subpath = match[5] || `.`; + return VirtualFS.resolveVirtual(ppath.join(target, backstep, subpath)); + } + + getExtractHint(hints) { + return this.baseFs.getExtractHint(hints); + } + + getRealPath() { + return this.baseFs.getRealPath(); + } + + realpathSync(p) { + const match = p.match(VIRTUAL_REGEXP); + if (!match) return this.baseFs.realpathSync(p); + if (!match[5]) return p; + const realpath = this.baseFs.realpathSync(this.mapToBase(p)); + return VirtualFS.makeVirtualPath(match[1], match[3], realpath); + } + + async realpathPromise(p) { + const match = p.match(VIRTUAL_REGEXP); + if (!match) return await this.baseFs.realpathPromise(p); + if (!match[5]) return p; + const realpath = await this.baseFs.realpathPromise(this.mapToBase(p)); + return VirtualFS.makeVirtualPath(match[1], match[3], realpath); + } + + mapToBase(p) { + if (p === ``) return p; + if (this.pathUtils.isAbsolute(p)) return VirtualFS.resolveVirtual(p); + const resolvedRoot = VirtualFS.resolveVirtual(this.baseFs.resolve(PortablePath.dot)); + const resolvedP = VirtualFS.resolveVirtual(this.baseFs.resolve(p)); + return ppath.relative(resolvedRoot, resolvedP) || PortablePath.dot; + } + + mapFromBase(p) { + return p; + } + +} +;// CONCATENATED MODULE: external "stream" +const external_stream_namespaceObject = require("stream");; +;// CONCATENATED MODULE: external "util" +const external_util_namespaceObject = require("util");; +;// CONCATENATED MODULE: external "zlib" +const external_zlib_namespaceObject = require("zlib");; +var external_zlib_default = /*#__PURE__*/__webpack_require__.n(external_zlib_namespaceObject); +;// CONCATENATED MODULE: ../yarnpkg-fslib/sources/algorithms/opendir.ts + +class CustomDir { + constructor(path, nextDirent, opts = {}) { + this.path = path; + this.nextDirent = nextDirent; + this.opts = opts; + this.closed = false; + } + + throwIfClosed() { + if (this.closed) { + throw ERR_DIR_CLOSED(); + } + } + + async *[Symbol.asyncIterator]() { + try { + let dirent; // eslint-disable-next-line no-cond-assign + + while ((dirent = await this.read()) !== null) { + yield dirent; + } + } finally { + await this.close(); + } + } + + read(cb) { + const dirent = this.readSync(); + if (typeof cb !== `undefined`) return cb(null, dirent); + return Promise.resolve(dirent); + } + + readSync() { + this.throwIfClosed(); + return this.nextDirent(); + } + + close(cb) { + this.closeSync(); + if (typeof cb !== `undefined`) return cb(null); + return Promise.resolve(); + } + + closeSync() { + var _a, _b; + + this.throwIfClosed(); + (_b = (_a = this.opts).onClose) === null || _b === void 0 ? void 0 : _b.call(_a); + this.closed = true; + } + +} +function opendir(fakeFs, path, entries, opts) { + const nextDirent = () => { + const filename = entries.shift(); + if (typeof filename === `undefined`) return null; + return Object.assign(fakeFs.statSync(fakeFs.pathUtils.join(path, filename)), { + name: filename + }); + }; + + return new CustomDir(path, nextDirent, opts); +} +;// CONCATENATED MODULE: external "events" +const external_events_namespaceObject = require("events");; +;// CONCATENATED MODULE: ../yarnpkg-fslib/sources/statUtils.ts + + +const DEFAULT_MODE = constants_S_IFREG | 0o644; +class DirEntry { + constructor() { + this.name = ``; + this.mode = 0; + } + + isBlockDevice() { + return false; + } + + isCharacterDevice() { + return false; + } + + isDirectory() { + return (this.mode & S_IFMT) === S_IFDIR; + } + + isFIFO() { + return false; + } + + isFile() { + return (this.mode & S_IFMT) === S_IFREG; + } + + isSocket() { + return false; + } + + isSymbolicLink() { + return (this.mode & S_IFMT) === S_IFLNK; + } + +} +class StatEntry { + constructor() { + this.uid = 0; + this.gid = 0; + this.size = 0; + this.blksize = 0; + this.atimeMs = 0; + this.mtimeMs = 0; + this.ctimeMs = 0; + this.birthtimeMs = 0; + this.atime = new Date(0); + this.mtime = new Date(0); + this.ctime = new Date(0); + this.birthtime = new Date(0); + this.dev = 0; + this.ino = 0; + this.mode = DEFAULT_MODE; + this.nlink = 1; + this.rdev = 0; + this.blocks = 1; + } + + isBlockDevice() { + return false; + } + + isCharacterDevice() { + return false; + } + + isDirectory() { + return (this.mode & constants_S_IFMT) === constants_S_IFDIR; + } + + isFIFO() { + return false; + } + + isFile() { + return (this.mode & constants_S_IFMT) === constants_S_IFREG; + } + + isSocket() { + return false; + } + + isSymbolicLink() { + return (this.mode & constants_S_IFMT) === constants_S_IFLNK; + } + +} +class BigIntStatsEntry { + constructor() { + this.uid = BigInt(0); + this.gid = BigInt(0); + this.size = BigInt(0); + this.blksize = BigInt(0); + this.atimeMs = BigInt(0); + this.mtimeMs = BigInt(0); + this.ctimeMs = BigInt(0); + this.birthtimeMs = BigInt(0); + this.atimeNs = BigInt(0); + this.mtimeNs = BigInt(0); + this.ctimeNs = BigInt(0); + this.birthtimeNs = BigInt(0); + this.atime = new Date(0); + this.mtime = new Date(0); + this.ctime = new Date(0); + this.birthtime = new Date(0); + this.dev = BigInt(0); + this.ino = BigInt(0); + this.mode = BigInt(DEFAULT_MODE); + this.nlink = BigInt(1); + this.rdev = BigInt(0); + this.blocks = BigInt(1); + } + + isBlockDevice() { + return false; + } + + isCharacterDevice() { + return false; + } + + isDirectory() { + return (this.mode & BigInt(constants_S_IFMT)) === BigInt(constants_S_IFDIR); + } + + isFIFO() { + return false; + } + + isFile() { + return (this.mode & BigInt(constants_S_IFMT)) === BigInt(constants_S_IFREG); + } + + isSocket() { + return false; + } + + isSymbolicLink() { + return (this.mode & BigInt(constants_S_IFMT)) === BigInt(constants_S_IFLNK); + } + +} +function makeDefaultStats() { + return new StatEntry(); +} +function makeEmptyStats() { + return clearStats(makeDefaultStats()); +} +/** + * Mutates the provided stats object to zero it out then returns it for convenience + */ + +function clearStats(stats) { + for (const key in stats) { + if (Object.prototype.hasOwnProperty.call(stats, key)) { + const element = stats[key]; + + if (typeof element === `number`) { + // @ts-expect-error Typescript can't tell that stats[key] is a number + stats[key] = 0; + } else if (typeof element === `bigint`) { + // @ts-expect-error Typescript can't tell that stats[key] is a bigint + stats[key] = BigInt(0); + } else if (external_util_namespaceObject.types.isDate(element)) { + // @ts-expect-error Typescript can't tell that stats[key] is a bigint + stats[key] = new Date(0); + } + } + } + + return stats; +} +function convertToBigIntStats(stats) { + const bigintStats = new BigIntStatsEntry(); + + for (const key in stats) { + if (Object.prototype.hasOwnProperty.call(stats, key)) { + const element = stats[key]; + + if (typeof element === `number`) { + // @ts-expect-error Typescript isn't able to tell this is valid + bigintStats[key] = BigInt(element); + } else if (external_util_namespaceObject.types.isDate(element)) { + // @ts-expect-error Typescript isn't able to tell this is valid + bigintStats[key] = new Date(element); + } + } + } + + bigintStats.atimeNs = bigintStats.atimeMs * BigInt(1e6); + bigintStats.mtimeNs = bigintStats.mtimeMs * BigInt(1e6); + bigintStats.ctimeNs = bigintStats.ctimeMs * BigInt(1e6); + bigintStats.birthtimeNs = bigintStats.birthtimeMs * BigInt(1e6); + return bigintStats; +} +function areStatsEqual(a, b) { + if (a.atimeMs !== b.atimeMs) return false; + if (a.birthtimeMs !== b.birthtimeMs) return false; + if (a.blksize !== b.blksize) return false; + if (a.blocks !== b.blocks) return false; + if (a.ctimeMs !== b.ctimeMs) return false; + if (a.dev !== b.dev) return false; + if (a.gid !== b.gid) return false; + if (a.ino !== b.ino) return false; + if (a.isBlockDevice() !== b.isBlockDevice()) return false; + if (a.isCharacterDevice() !== b.isCharacterDevice()) return false; + if (a.isDirectory() !== b.isDirectory()) return false; + if (a.isFIFO() !== b.isFIFO()) return false; + if (a.isFile() !== b.isFile()) return false; + if (a.isSocket() !== b.isSocket()) return false; + if (a.isSymbolicLink() !== b.isSymbolicLink()) return false; + if (a.mode !== b.mode) return false; + if (a.mtimeMs !== b.mtimeMs) return false; + if (a.nlink !== b.nlink) return false; + if (a.rdev !== b.rdev) return false; + if (a.size !== b.size) return false; + if (a.uid !== b.uid) return false; + const aN = a; + const bN = b; + if (aN.atimeNs !== bN.atimeNs) return false; + if (aN.mtimeNs !== bN.mtimeNs) return false; + if (aN.ctimeNs !== bN.ctimeNs) return false; + if (aN.birthtimeNs !== bN.birthtimeNs) return false; + return true; +} +;// CONCATENATED MODULE: ../yarnpkg-fslib/sources/algorithms/watchFile/CustomStatWatcher.ts + + +var Event; + +(function (Event) { + Event["Change"] = "change"; + Event["Stop"] = "stop"; +})(Event || (Event = {})); + +var Status; + +(function (Status) { + Status["Ready"] = "ready"; + Status["Running"] = "running"; + Status["Stopped"] = "stopped"; +})(Status || (Status = {})); + +function assertStatus(current, expected) { + if (current !== expected) { + throw new Error(`Invalid StatWatcher status: expected '${expected}', got '${current}'`); + } +} +class CustomStatWatcher extends external_events_namespaceObject.EventEmitter { + constructor(fakeFs, path, { + bigint = false + } = {}) { + super(); + this.status = Status.Ready; + this.changeListeners = new Map(); + this.startTimeout = null; + this.fakeFs = fakeFs; + this.path = path; + this.bigint = bigint; + this.lastStats = this.stat(); + } + + static create(fakeFs, path, opts) { + const statWatcher = new CustomStatWatcher(fakeFs, path, opts); + statWatcher.start(); + return statWatcher; + } + + start() { + assertStatus(this.status, Status.Ready); + this.status = Status.Running; // Node allows other listeners to be registered up to 3 milliseconds + // after the watcher has been started, so that's what we're doing too + + this.startTimeout = setTimeout(() => { + this.startTimeout = null; // Per the Node FS docs: + // "When an fs.watchFile operation results in an ENOENT error, + // it will invoke the listener once, with all the fields zeroed + // (or, for dates, the Unix Epoch)." + + if (!this.fakeFs.existsSync(this.path)) { + this.emit(Event.Change, this.lastStats, this.lastStats); + } + }, 3); + } + + stop() { + assertStatus(this.status, Status.Running); + this.status = Status.Stopped; + + if (this.startTimeout !== null) { + clearTimeout(this.startTimeout); + this.startTimeout = null; + } + + this.emit(Event.Stop); + } + + stat() { + try { + return this.fakeFs.statSync(this.path, { + bigint: this.bigint + }); + } catch (error) { + // From observation, all errors seem to be mostly ignored by Node. + // Checked with ENOENT, ENOTDIR, EPERM + const statInstance = this.bigint ? new BigIntStatsEntry() : new StatEntry(); + return clearStats(statInstance); + } + } + /** + * Creates an interval whose callback compares the current stats with the previous stats and notifies all listeners in case of changes. + * + * @param opts.persistent Decides whether the interval should be immediately unref-ed. + */ + + + makeInterval(opts) { + const interval = setInterval(() => { + const currentStats = this.stat(); + const previousStats = this.lastStats; + if (areStatsEqual(currentStats, previousStats)) return; + this.lastStats = currentStats; + this.emit(Event.Change, currentStats, previousStats); + }, opts.interval); + return opts.persistent ? interval : interval.unref(); + } + /** + * Registers a listener and assigns it an interval. + */ + + + registerChangeListener(listener, opts) { + this.addListener(Event.Change, listener); + this.changeListeners.set(listener, this.makeInterval(opts)); + } + /** + * Unregisters the listener and clears the assigned interval. + */ + + + unregisterChangeListener(listener) { + this.removeListener(Event.Change, listener); + const interval = this.changeListeners.get(listener); + if (typeof interval !== `undefined`) clearInterval(interval); + this.changeListeners.delete(listener); + } + /** + * Unregisters all listeners and clears all assigned intervals. + */ + + + unregisterAllChangeListeners() { + for (const listener of this.changeListeners.keys()) { + this.unregisterChangeListener(listener); + } + } + + hasChangeListeners() { + return this.changeListeners.size > 0; + } + /** + * Refs all stored intervals. + */ + + + ref() { + for (const interval of this.changeListeners.values()) interval.ref(); + + return this; + } + /** + * Unrefs all stored intervals. + */ + + + unref() { + for (const interval of this.changeListeners.values()) interval.unref(); + + return this; + } + +} +;// CONCATENATED MODULE: ../yarnpkg-fslib/sources/algorithms/watchFile.ts + +const statWatchersByFakeFS = new WeakMap(); +function watchFile(fakeFs, path, a, b) { + let bigint; + let persistent; + let interval; + let listener; + + switch (typeof a) { + case `function`: + { + bigint = false; + persistent = true; + interval = 5007; + listener = a; + } + break; + + default: + { + ({ + bigint = false, + persistent = true, + interval = 5007 + } = a); + listener = b; + } + break; + } + + let statWatchers = statWatchersByFakeFS.get(fakeFs); + if (typeof statWatchers === `undefined`) statWatchersByFakeFS.set(fakeFs, statWatchers = new Map()); + let statWatcher = statWatchers.get(path); + + if (typeof statWatcher === `undefined`) { + statWatcher = CustomStatWatcher.create(fakeFs, path, { + bigint + }); + statWatchers.set(path, statWatcher); + } + + statWatcher.registerChangeListener(listener, { + persistent, + interval + }); + return statWatcher; +} +function unwatchFile(fakeFs, path, cb) { + const statWatchers = statWatchersByFakeFS.get(fakeFs); + if (typeof statWatchers === `undefined`) return; + const statWatcher = statWatchers.get(path); + if (typeof statWatcher === `undefined`) return; + if (typeof cb === `undefined`) statWatcher.unregisterAllChangeListeners();else statWatcher.unregisterChangeListener(cb); + + if (!statWatcher.hasChangeListeners()) { + statWatcher.stop(); + statWatchers.delete(path); + } +} +function unwatchAllFiles(fakeFs) { + const statWatchers = statWatchersByFakeFS.get(fakeFs); + if (typeof statWatchers === `undefined`) return; + + for (const path of statWatchers.keys()) { + unwatchFile(fakeFs, path); + } +} +;// CONCATENATED MODULE: ../yarnpkg-fslib/sources/ZipFS.ts + + + + + + + + + + + + +const DEFAULT_COMPRESSION_LEVEL = `mixed`; + +function toUnixTimestamp(time) { + if (typeof time === `string` && String(+time) === time) return +time; + + if (Number.isFinite(time)) { + if (time < 0) { + return Date.now() / 1000; + } else { + return time; + } + } // convert to 123.456 UNIX timestamp + + + if ((0,external_util_namespaceObject.isDate)(time)) return time.getTime() / 1000; + throw new Error(`Invalid time`); +} + +function makeEmptyArchive() { + return Buffer.from([0x50, 0x4B, 0x05, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00]); +} +class ZipFS extends BasePortableFakeFS { + constructor(source, opts) { + super(); + this.lzSource = null; + this.listings = new Map(); + this.entries = new Map(); + /** + * A cache of indices mapped to file sources. + * Populated by `setFileSource` calls. + * Required for supporting read after write. + */ + + this.fileSources = new Map(); + this.fds = new Map(); + this.nextFd = 0; + this.ready = false; + this.readOnly = false; + this.libzip = opts.libzip; + const pathOptions = opts; + this.level = typeof pathOptions.level !== `undefined` ? pathOptions.level : DEFAULT_COMPRESSION_LEVEL; + source !== null && source !== void 0 ? source : source = makeEmptyArchive(); + + if (typeof source === `string`) { + const { + baseFs = new NodeFS() + } = pathOptions; + this.baseFs = baseFs; + this.path = source; + } else { + this.path = null; + this.baseFs = null; + } + + if (opts.stats) { + this.stats = opts.stats; + } else { + if (typeof source === `string`) { + try { + this.stats = this.baseFs.statSync(source); + } catch (error) { + if (error.code === `ENOENT` && pathOptions.create) { + this.stats = makeDefaultStats(); + } else { + throw error; + } + } + } else { + this.stats = makeDefaultStats(); + } + } + + const errPtr = this.libzip.malloc(4); + + try { + let flags = 0; + if (typeof source === `string` && pathOptions.create) flags |= this.libzip.ZIP_CREATE | this.libzip.ZIP_TRUNCATE; + + if (opts.readOnly) { + flags |= this.libzip.ZIP_RDONLY; + this.readOnly = true; + } + + if (typeof source === `string`) { + this.zip = this.libzip.open(npath.fromPortablePath(source), flags, errPtr); + } else { + const lzSource = this.allocateUnattachedSource(source); + + try { + this.zip = this.libzip.openFromSource(lzSource, flags, errPtr); + this.lzSource = lzSource; + } catch (error) { + this.libzip.source.free(lzSource); + throw error; + } + } + + if (this.zip === 0) { + const error = this.libzip.struct.errorS(); + this.libzip.error.initWithCode(error, this.libzip.getValue(errPtr, `i32`)); + throw this.makeLibzipError(error); + } + } finally { + this.libzip.free(errPtr); + } + + this.listings.set(PortablePath.root, new Set()); + const entryCount = this.libzip.getNumEntries(this.zip, 0); + + for (let t = 0; t < entryCount; ++t) { + const raw = this.libzip.getName(this.zip, t, 0); + if (ppath.isAbsolute(raw)) continue; + const p = ppath.resolve(PortablePath.root, raw); + this.registerEntry(p, t); // If the raw path is a directory, register it + // to prevent empty folder being skipped + + if (raw.endsWith(`/`)) { + this.registerListing(p); + } + } + + this.symlinkCount = this.libzip.ext.countSymlinks(this.zip); + if (this.symlinkCount === -1) throw this.makeLibzipError(this.libzip.getError(this.zip)); + this.ready = true; + } + + makeLibzipError(error) { + const errorCode = this.libzip.struct.errorCodeZip(error); + const strerror = this.libzip.error.strerror(error); + const libzipError = new LibzipError(strerror, this.libzip.errors[errorCode]); // This error should never come up because of the file source cache + + if (errorCode === this.libzip.errors.ZIP_ER_CHANGED) throw new Error(`Assertion failed: Unexpected libzip error: ${libzipError.message}`); + return libzipError; + } + + getExtractHint(hints) { + for (const fileName of this.entries.keys()) { + const ext = this.pathUtils.extname(fileName); + + if (hints.relevantExtensions.has(ext)) { + return true; + } + } + + return false; + } + + getAllFiles() { + return Array.from(this.entries.keys()); + } + + getRealPath() { + if (!this.path) throw new Error(`ZipFS don't have real paths when loaded from a buffer`); + return this.path; + } + + getBufferAndClose() { + this.prepareClose(); + if (!this.lzSource) throw new Error(`ZipFS was not created from a Buffer`); + + try { + // Prevent close from cleaning up the source + this.libzip.source.keep(this.lzSource); // Close the zip archive + + if (this.libzip.close(this.zip) === -1) throw this.makeLibzipError(this.libzip.getError(this.zip)); // Open the source for reading + + if (this.libzip.source.open(this.lzSource) === -1) throw this.makeLibzipError(this.libzip.source.error(this.lzSource)); // Move to the end of source + + if (this.libzip.source.seek(this.lzSource, 0, 0, this.libzip.SEEK_END) === -1) throw this.makeLibzipError(this.libzip.source.error(this.lzSource)); // Get the size of source + + const size = this.libzip.source.tell(this.lzSource); + if (size === -1) throw this.makeLibzipError(this.libzip.source.error(this.lzSource)); // Move to the start of source + + if (this.libzip.source.seek(this.lzSource, 0, 0, this.libzip.SEEK_SET) === -1) throw this.makeLibzipError(this.libzip.source.error(this.lzSource)); + const buffer = this.libzip.malloc(size); + if (!buffer) throw new Error(`Couldn't allocate enough memory`); + + try { + const rc = this.libzip.source.read(this.lzSource, buffer, size); + if (rc === -1) throw this.makeLibzipError(this.libzip.source.error(this.lzSource));else if (rc < size) throw new Error(`Incomplete read`);else if (rc > size) throw new Error(`Overread`); + const memory = this.libzip.HEAPU8.subarray(buffer, buffer + size); + return Buffer.from(memory); + } finally { + this.libzip.free(buffer); + } + } finally { + this.libzip.source.close(this.lzSource); + this.libzip.source.free(this.lzSource); + this.ready = false; + } + } + + prepareClose() { + if (!this.ready) throw EBUSY(`archive closed, close`); + unwatchAllFiles(this); + } + + saveAndClose() { + if (!this.path || !this.baseFs) throw new Error(`ZipFS cannot be saved and must be discarded when loaded from a buffer`); + this.prepareClose(); + + if (this.readOnly) { + this.discardAndClose(); + return; + } + + const newMode = this.baseFs.existsSync(this.path) || this.stats.mode === DEFAULT_MODE ? undefined : this.stats.mode; // zip_close doesn't persist empty archives + + if (this.entries.size === 0) { + this.discardAndClose(); + this.baseFs.writeFileSync(this.path, makeEmptyArchive(), { + mode: newMode + }); + } else { + const rc = this.libzip.close(this.zip); + if (rc === -1) throw this.makeLibzipError(this.libzip.getError(this.zip)); + + if (typeof newMode !== `undefined`) { + this.baseFs.chmodSync(this.path, newMode); + } + } + + this.ready = false; + } + + discardAndClose() { + this.prepareClose(); + this.libzip.discard(this.zip); + this.ready = false; + } + + resolve(p) { + return ppath.resolve(PortablePath.root, p); + } + + async openPromise(p, flags, mode) { + return this.openSync(p, flags, mode); + } + + openSync(p, flags, mode) { + const fd = this.nextFd++; + this.fds.set(fd, { + cursor: 0, + p + }); + return fd; + } + + hasOpenFileHandles() { + return !!this.fds.size; + } + + async opendirPromise(p, opts) { + return this.opendirSync(p, opts); + } + + opendirSync(p, opts = {}) { + const resolvedP = this.resolveFilename(`opendir '${p}'`, p); + if (!this.entries.has(resolvedP) && !this.listings.has(resolvedP)) throw ENOENT(`opendir '${p}'`); + const directoryListing = this.listings.get(resolvedP); + if (!directoryListing) throw ENOTDIR(`opendir '${p}'`); + const entries = [...directoryListing]; + const fd = this.openSync(resolvedP, `r`); + + const onClose = () => { + this.closeSync(fd); + }; + + return opendir(this, resolvedP, entries, { + onClose + }); + } + + async readPromise(fd, buffer, offset, length, position) { + return this.readSync(fd, buffer, offset, length, position); + } + + readSync(fd, buffer, offset = 0, length = buffer.byteLength, position = -1) { + const entry = this.fds.get(fd); + if (typeof entry === `undefined`) throw EBADF(`read`); + let realPosition; + if (position === -1 || position === null) realPosition = entry.cursor;else realPosition = position; + const source = this.readFileSync(entry.p); + source.copy(buffer, offset, realPosition, realPosition + length); + const bytesRead = Math.max(0, Math.min(source.length - realPosition, length)); + if (position === -1 || position === null) entry.cursor += bytesRead; + return bytesRead; + } + + async writePromise(fd, buffer, offset, length, position) { + if (typeof buffer === `string`) { + return this.writeSync(fd, buffer, position); + } else { + return this.writeSync(fd, buffer, offset, length, position); + } + } + + writeSync(fd, buffer, offset, length, position) { + const entry = this.fds.get(fd); + if (typeof entry === `undefined`) throw EBADF(`read`); + throw new Error(`Unimplemented`); + } + + async closePromise(fd) { + return this.closeSync(fd); + } + + closeSync(fd) { + const entry = this.fds.get(fd); + if (typeof entry === `undefined`) throw EBADF(`read`); + this.fds.delete(fd); + } + + createReadStream(p, { + encoding + } = {}) { + if (p === null) throw new Error(`Unimplemented`); + const fd = this.openSync(p, `r`); + const stream = Object.assign(new external_stream_namespaceObject.PassThrough({ + emitClose: true, + autoDestroy: true, + destroy: (error, callback) => { + clearImmediate(immediate); + this.closeSync(fd); + callback(error); + } + }), { + close() { + stream.destroy(); + }, + + bytesRead: 0, + path: p + }); + const immediate = setImmediate(async () => { + try { + const data = await this.readFilePromise(p, encoding); + stream.bytesRead = data.length; + stream.end(data); + } catch (error) { + stream.destroy(error); + } + }); + return stream; + } + + createWriteStream(p, { + encoding + } = {}) { + if (this.readOnly) throw EROFS(`open '${p}'`); + if (p === null) throw new Error(`Unimplemented`); + const chunks = []; + const fd = this.openSync(p, `w`); + const stream = Object.assign(new external_stream_namespaceObject.PassThrough({ + autoDestroy: true, + emitClose: true, + destroy: (error, callback) => { + try { + if (error) { + callback(error); + } else { + this.writeFileSync(p, Buffer.concat(chunks), encoding); + callback(null); + } + } catch (err) { + callback(err); + } finally { + this.closeSync(fd); + } + } + }), { + bytesWritten: 0, + path: p, + + close() { + stream.destroy(); + } + + }); + stream.on(`data`, chunk => { + const chunkBuffer = Buffer.from(chunk); + stream.bytesWritten += chunkBuffer.length; + chunks.push(chunkBuffer); + }); + return stream; + } + + async realpathPromise(p) { + return this.realpathSync(p); + } + + realpathSync(p) { + const resolvedP = this.resolveFilename(`lstat '${p}'`, p); + if (!this.entries.has(resolvedP) && !this.listings.has(resolvedP)) throw ENOENT(`lstat '${p}'`); + return resolvedP; + } + + async existsPromise(p) { + return this.existsSync(p); + } + + existsSync(p) { + if (!this.ready) throw EBUSY(`archive closed, existsSync '${p}'`); + + if (this.symlinkCount === 0) { + const resolvedP = ppath.resolve(PortablePath.root, p); + return this.entries.has(resolvedP) || this.listings.has(resolvedP); + } + + let resolvedP; + + try { + resolvedP = this.resolveFilename(`stat '${p}'`, p); + } catch (error) { + return false; + } + + return this.entries.has(resolvedP) || this.listings.has(resolvedP); + } + + async accessPromise(p, mode) { + return this.accessSync(p, mode); + } + + accessSync(p, mode = external_fs_.constants.F_OK) { + const resolvedP = this.resolveFilename(`access '${p}'`, p); + if (!this.entries.has(resolvedP) && !this.listings.has(resolvedP)) throw ENOENT(`access '${p}'`); + + if (this.readOnly && mode & external_fs_.constants.W_OK) { + throw EROFS(`access '${p}'`); + } + } + + async statPromise(p, opts) { + return this.statSync(p, opts); + } + + statSync(p, opts) { + const resolvedP = this.resolveFilename(`stat '${p}'`, p); + if (!this.entries.has(resolvedP) && !this.listings.has(resolvedP)) throw ENOENT(`stat '${p}'`); + if (p[p.length - 1] === `/` && !this.listings.has(resolvedP)) throw ENOTDIR(`stat '${p}'`); + return this.statImpl(`stat '${p}'`, resolvedP, opts); + } + + async fstatPromise(fd, opts) { + return this.fstatSync(fd, opts); + } + + fstatSync(fd, opts) { + const entry = this.fds.get(fd); + if (typeof entry === `undefined`) throw EBADF(`fstatSync`); + const { + p + } = entry; + const resolvedP = this.resolveFilename(`stat '${p}'`, p); + if (!this.entries.has(resolvedP) && !this.listings.has(resolvedP)) throw ENOENT(`stat '${p}'`); + if (p[p.length - 1] === `/` && !this.listings.has(resolvedP)) throw ENOTDIR(`stat '${p}'`); + return this.statImpl(`fstat '${p}'`, resolvedP, opts); + } + + async lstatPromise(p, opts) { + return this.lstatSync(p, opts); + } + + lstatSync(p, opts) { + const resolvedP = this.resolveFilename(`lstat '${p}'`, p, false); + if (!this.entries.has(resolvedP) && !this.listings.has(resolvedP)) throw ENOENT(`lstat '${p}'`); + if (p[p.length - 1] === `/` && !this.listings.has(resolvedP)) throw ENOTDIR(`lstat '${p}'`); + return this.statImpl(`lstat '${p}'`, resolvedP, opts); + } + + statImpl(reason, p, opts = {}) { + const entry = this.entries.get(p); // File, or explicit directory + + if (typeof entry !== `undefined`) { + const stat = this.libzip.struct.statS(); + const rc = this.libzip.statIndex(this.zip, entry, 0, 0, stat); + if (rc === -1) throw this.makeLibzipError(this.libzip.getError(this.zip)); + const uid = this.stats.uid; + const gid = this.stats.gid; + const size = this.libzip.struct.statSize(stat) >>> 0; + const blksize = 512; + const blocks = Math.ceil(size / blksize); + const mtimeMs = (this.libzip.struct.statMtime(stat) >>> 0) * 1000; + const atimeMs = mtimeMs; + const birthtimeMs = mtimeMs; + const ctimeMs = mtimeMs; + const atime = new Date(atimeMs); + const birthtime = new Date(birthtimeMs); + const ctime = new Date(ctimeMs); + const mtime = new Date(mtimeMs); + const type = this.listings.has(p) ? constants_S_IFDIR : this.isSymbolicLink(entry) ? constants_S_IFLNK : constants_S_IFREG; + const defaultMode = type === constants_S_IFDIR ? 0o755 : 0o644; + const mode = type | this.getUnixMode(entry, defaultMode) & 0o777; + const crc = this.libzip.struct.statCrc(stat); + const statInstance = Object.assign(new StatEntry(), { + uid, + gid, + size, + blksize, + blocks, + atime, + birthtime, + ctime, + mtime, + atimeMs, + birthtimeMs, + ctimeMs, + mtimeMs, + mode, + crc + }); + return opts.bigint === true ? convertToBigIntStats(statInstance) : statInstance; + } // Implicit directory + + + if (this.listings.has(p)) { + const uid = this.stats.uid; + const gid = this.stats.gid; + const size = 0; + const blksize = 512; + const blocks = 0; + const atimeMs = this.stats.mtimeMs; + const birthtimeMs = this.stats.mtimeMs; + const ctimeMs = this.stats.mtimeMs; + const mtimeMs = this.stats.mtimeMs; + const atime = new Date(atimeMs); + const birthtime = new Date(birthtimeMs); + const ctime = new Date(ctimeMs); + const mtime = new Date(mtimeMs); + const mode = constants_S_IFDIR | 0o755; + const crc = 0; + const statInstance = Object.assign(new StatEntry(), { + uid, + gid, + size, + blksize, + blocks, + atime, + birthtime, + ctime, + mtime, + atimeMs, + birthtimeMs, + ctimeMs, + mtimeMs, + mode, + crc + }); + return opts.bigint === true ? convertToBigIntStats(statInstance) : statInstance; + } + + throw new Error(`Unreachable`); + } + + getUnixMode(index, defaultMode) { + const rc = this.libzip.file.getExternalAttributes(this.zip, index, 0, 0, this.libzip.uint08S, this.libzip.uint32S); + if (rc === -1) throw this.makeLibzipError(this.libzip.getError(this.zip)); + const opsys = this.libzip.getValue(this.libzip.uint08S, `i8`) >>> 0; + if (opsys !== this.libzip.ZIP_OPSYS_UNIX) return defaultMode; + return this.libzip.getValue(this.libzip.uint32S, `i32`) >>> 16; + } + + registerListing(p) { + let listing = this.listings.get(p); + if (listing) return listing; + const parentListing = this.registerListing(ppath.dirname(p)); + listing = new Set(); + parentListing.add(ppath.basename(p)); + this.listings.set(p, listing); + return listing; + } + + registerEntry(p, index) { + const parentListing = this.registerListing(ppath.dirname(p)); + parentListing.add(ppath.basename(p)); + this.entries.set(p, index); + } + + unregisterListing(p) { + this.listings.delete(p); + const parentListing = this.listings.get(ppath.dirname(p)); + parentListing === null || parentListing === void 0 ? void 0 : parentListing.delete(ppath.basename(p)); + } + + unregisterEntry(p) { + this.unregisterListing(p); + const entry = this.entries.get(p); + this.entries.delete(p); + if (typeof entry === `undefined`) return; + this.fileSources.delete(entry); + + if (this.isSymbolicLink(entry)) { + this.symlinkCount--; + } + } + + deleteEntry(p, index) { + this.unregisterEntry(p); + const rc = this.libzip.delete(this.zip, index); + + if (rc === -1) { + throw this.makeLibzipError(this.libzip.getError(this.zip)); + } + } + + resolveFilename(reason, p, resolveLastComponent = true) { + if (!this.ready) throw EBUSY(`archive closed, ${reason}`); + let resolvedP = ppath.resolve(PortablePath.root, p); + if (resolvedP === `/`) return PortablePath.root; + const fileIndex = this.entries.get(resolvedP); + + if (resolveLastComponent && fileIndex !== undefined) { + if (this.symlinkCount !== 0 && this.isSymbolicLink(fileIndex)) { + const target = this.getFileSource(fileIndex).toString(); + return this.resolveFilename(reason, ppath.resolve(ppath.dirname(resolvedP), target), true); + } else { + return resolvedP; + } + } + + while (true) { + const parentP = this.resolveFilename(reason, ppath.dirname(resolvedP), true); + const isDir = this.listings.has(parentP); + const doesExist = this.entries.has(parentP); + if (!isDir && !doesExist) throw ENOENT(reason); + if (!isDir) throw ENOTDIR(reason); + resolvedP = ppath.resolve(parentP, ppath.basename(resolvedP)); + if (!resolveLastComponent || this.symlinkCount === 0) break; + const index = this.libzip.name.locate(this.zip, resolvedP.slice(1)); + if (index === -1) break; + + if (this.isSymbolicLink(index)) { + const target = this.getFileSource(index).toString(); + resolvedP = ppath.resolve(ppath.dirname(resolvedP), target); + } else { + break; + } + } + + return resolvedP; + } + + allocateBuffer(content) { + if (!Buffer.isBuffer(content)) content = Buffer.from(content); + const buffer = this.libzip.malloc(content.byteLength); + if (!buffer) throw new Error(`Couldn't allocate enough memory`); // Copy the file into the Emscripten heap + + const heap = new Uint8Array(this.libzip.HEAPU8.buffer, buffer, content.byteLength); + heap.set(content); + return { + buffer, + byteLength: content.byteLength + }; + } + + allocateUnattachedSource(content) { + const error = this.libzip.struct.errorS(); + const { + buffer, + byteLength + } = this.allocateBuffer(content); + const source = this.libzip.source.fromUnattachedBuffer(buffer, byteLength, 0, true, error); + + if (source === 0) { + this.libzip.free(error); + throw this.makeLibzipError(error); + } + + return source; + } + + allocateSource(content) { + const { + buffer, + byteLength + } = this.allocateBuffer(content); + const source = this.libzip.source.fromBuffer(this.zip, buffer, byteLength, 0, true); + + if (source === 0) { + this.libzip.free(buffer); + throw this.makeLibzipError(this.libzip.getError(this.zip)); + } + + return source; + } + + setFileSource(p, content) { + const buffer = Buffer.isBuffer(content) ? content : Buffer.from(content); + const target = ppath.relative(PortablePath.root, p); + const lzSource = this.allocateSource(content); + + try { + const newIndex = this.libzip.file.add(this.zip, target, lzSource, this.libzip.ZIP_FL_OVERWRITE); + if (newIndex === -1) throw this.makeLibzipError(this.libzip.getError(this.zip)); + + if (this.level !== `mixed`) { + // Use store for level 0, and deflate for 1..9 + let method; + if (this.level === 0) method = this.libzip.ZIP_CM_STORE;else method = this.libzip.ZIP_CM_DEFLATE; + const rc = this.libzip.file.setCompression(this.zip, newIndex, 0, method, this.level); + + if (rc === -1) { + throw this.makeLibzipError(this.libzip.getError(this.zip)); + } + } + + this.fileSources.set(newIndex, buffer); + return newIndex; + } catch (error) { + this.libzip.source.free(lzSource); + throw error; + } + } + + isSymbolicLink(index) { + if (this.symlinkCount === 0) return false; + const attrs = this.libzip.file.getExternalAttributes(this.zip, index, 0, 0, this.libzip.uint08S, this.libzip.uint32S); + if (attrs === -1) throw this.makeLibzipError(this.libzip.getError(this.zip)); + const opsys = this.libzip.getValue(this.libzip.uint08S, `i8`) >>> 0; + if (opsys !== this.libzip.ZIP_OPSYS_UNIX) return false; + const attributes = this.libzip.getValue(this.libzip.uint32S, `i32`) >>> 16; + return (attributes & constants_S_IFMT) === constants_S_IFLNK; + } + + getFileSource(index, opts = { + asyncDecompress: false + }) { + const cachedFileSource = this.fileSources.get(index); + if (typeof cachedFileSource !== `undefined`) return cachedFileSource; + const stat = this.libzip.struct.statS(); + const rc = this.libzip.statIndex(this.zip, index, 0, 0, stat); + if (rc === -1) throw this.makeLibzipError(this.libzip.getError(this.zip)); + const size = this.libzip.struct.statCompSize(stat); + const compressionMethod = this.libzip.struct.statCompMethod(stat); + const buffer = this.libzip.malloc(size); + + try { + const file = this.libzip.fopenIndex(this.zip, index, 0, this.libzip.ZIP_FL_COMPRESSED); + if (file === 0) throw this.makeLibzipError(this.libzip.getError(this.zip)); + + try { + const rc = this.libzip.fread(file, buffer, size, 0); + if (rc === -1) throw this.makeLibzipError(this.libzip.file.getError(file));else if (rc < size) throw new Error(`Incomplete read`);else if (rc > size) throw new Error(`Overread`); + const memory = this.libzip.HEAPU8.subarray(buffer, buffer + size); + const data = Buffer.from(memory); + + if (compressionMethod === 0) { + this.fileSources.set(index, data); + return data; + } else if (opts.asyncDecompress) { + return new Promise((resolve, reject) => { + external_zlib_default().inflateRaw(data, (error, result) => { + if (error) { + reject(error); + } else { + this.fileSources.set(index, result); + resolve(result); + } + }); + }); + } else { + const decompressedData = external_zlib_default().inflateRawSync(data); + this.fileSources.set(index, decompressedData); + return decompressedData; + } + } finally { + this.libzip.fclose(file); + } + } finally { + this.libzip.free(buffer); + } + } + + async chmodPromise(p, mask) { + return this.chmodSync(p, mask); + } + + chmodSync(p, mask) { + if (this.readOnly) throw EROFS(`chmod '${p}'`); // We don't allow to make the extracted entries group-writable + + mask &= 0o755; + const resolvedP = this.resolveFilename(`chmod '${p}'`, p, false); + const entry = this.entries.get(resolvedP); + if (typeof entry === `undefined`) throw new Error(`Assertion failed: The entry should have been registered (${resolvedP})`); + const oldMod = this.getUnixMode(entry, constants_S_IFREG | 0o000); + const newMod = oldMod & ~0o777 | mask; + const rc = this.libzip.file.setExternalAttributes(this.zip, entry, 0, 0, this.libzip.ZIP_OPSYS_UNIX, newMod << 16); + + if (rc === -1) { + throw this.makeLibzipError(this.libzip.getError(this.zip)); + } + } + + async chownPromise(p, uid, gid) { + return this.chownSync(p, uid, gid); + } + + chownSync(p, uid, gid) { + throw new Error(`Unimplemented`); + } + + async renamePromise(oldP, newP) { + return this.renameSync(oldP, newP); + } + + renameSync(oldP, newP) { + throw new Error(`Unimplemented`); + } + + async copyFilePromise(sourceP, destP, flags) { + const { + indexSource, + indexDest, + resolvedDestP + } = this.prepareCopyFile(sourceP, destP, flags); + const source = await this.getFileSource(indexSource, { + asyncDecompress: true + }); + const newIndex = this.setFileSource(resolvedDestP, source); + + if (newIndex !== indexDest) { + this.registerEntry(resolvedDestP, newIndex); + } + } + + copyFileSync(sourceP, destP, flags = 0) { + const { + indexSource, + indexDest, + resolvedDestP + } = this.prepareCopyFile(sourceP, destP, flags); + const source = this.getFileSource(indexSource); + const newIndex = this.setFileSource(resolvedDestP, source); + + if (newIndex !== indexDest) { + this.registerEntry(resolvedDestP, newIndex); + } + } + + prepareCopyFile(sourceP, destP, flags = 0) { + if (this.readOnly) throw EROFS(`copyfile '${sourceP} -> '${destP}'`); + if ((flags & external_fs_.constants.COPYFILE_FICLONE_FORCE) !== 0) throw ENOSYS(`unsupported clone operation`, `copyfile '${sourceP}' -> ${destP}'`); + const resolvedSourceP = this.resolveFilename(`copyfile '${sourceP} -> ${destP}'`, sourceP); + const indexSource = this.entries.get(resolvedSourceP); + if (typeof indexSource === `undefined`) throw EINVAL(`copyfile '${sourceP}' -> '${destP}'`); + const resolvedDestP = this.resolveFilename(`copyfile '${sourceP}' -> ${destP}'`, destP); + const indexDest = this.entries.get(resolvedDestP); + if ((flags & (external_fs_.constants.COPYFILE_EXCL | external_fs_.constants.COPYFILE_FICLONE_FORCE)) !== 0 && typeof indexDest !== `undefined`) throw EEXIST(`copyfile '${sourceP}' -> '${destP}'`); + return { + indexSource, + resolvedDestP, + indexDest + }; + } + + async appendFilePromise(p, content, opts) { + if (this.readOnly) throw EROFS(`open '${p}'`); + if (typeof opts === `undefined`) opts = { + flag: `a` + };else if (typeof opts === `string`) opts = { + flag: `a`, + encoding: opts + };else if (typeof opts.flag === `undefined`) opts = { + flag: `a`, + ...opts + }; + return this.writeFilePromise(p, content, opts); + } + + appendFileSync(p, content, opts = {}) { + if (this.readOnly) throw EROFS(`open '${p}'`); + if (typeof opts === `undefined`) opts = { + flag: `a` + };else if (typeof opts === `string`) opts = { + flag: `a`, + encoding: opts + };else if (typeof opts.flag === `undefined`) opts = { + flag: `a`, + ...opts + }; + return this.writeFileSync(p, content, opts); + } + + fdToPath(fd, reason) { + var _a; + + const path = (_a = this.fds.get(fd)) === null || _a === void 0 ? void 0 : _a.p; + if (typeof path === `undefined`) throw EBADF(reason); + return path; + } + + async writeFilePromise(p, content, opts) { + const { + encoding, + mode, + index, + resolvedP + } = this.prepareWriteFile(p, opts); + if (index !== undefined && typeof opts === `object` && opts.flag && opts.flag.includes(`a`)) content = Buffer.concat([await this.getFileSource(index, { + asyncDecompress: true + }), Buffer.from(content)]); + if (encoding !== null) content = content.toString(encoding); + const newIndex = this.setFileSource(resolvedP, content); + if (newIndex !== index) this.registerEntry(resolvedP, newIndex); + + if (mode !== null) { + await this.chmodPromise(resolvedP, mode); + } + } + + writeFileSync(p, content, opts) { + const { + encoding, + mode, + index, + resolvedP + } = this.prepareWriteFile(p, opts); + if (index !== undefined && typeof opts === `object` && opts.flag && opts.flag.includes(`a`)) content = Buffer.concat([this.getFileSource(index), Buffer.from(content)]); + if (encoding !== null) content = content.toString(encoding); + const newIndex = this.setFileSource(resolvedP, content); + if (newIndex !== index) this.registerEntry(resolvedP, newIndex); + + if (mode !== null) { + this.chmodSync(resolvedP, mode); + } + } + + prepareWriteFile(p, opts) { + if (typeof p === `number`) p = this.fdToPath(p, `read`); + if (this.readOnly) throw EROFS(`open '${p}'`); + const resolvedP = this.resolveFilename(`open '${p}'`, p); + if (this.listings.has(resolvedP)) throw EISDIR(`open '${p}'`); + let encoding = null, + mode = null; + + if (typeof opts === `string`) { + encoding = opts; + } else if (typeof opts === `object`) { + ({ + encoding = null, + mode = null + } = opts); + } + + const index = this.entries.get(resolvedP); + return { + encoding, + mode, + resolvedP, + index + }; + } + + async unlinkPromise(p) { + return this.unlinkSync(p); + } + + unlinkSync(p) { + if (this.readOnly) throw EROFS(`unlink '${p}'`); + const resolvedP = this.resolveFilename(`unlink '${p}'`, p); + if (this.listings.has(resolvedP)) throw EISDIR(`unlink '${p}'`); + const index = this.entries.get(resolvedP); + if (typeof index === `undefined`) throw EINVAL(`unlink '${p}'`); + this.deleteEntry(resolvedP, index); + } + + async utimesPromise(p, atime, mtime) { + return this.utimesSync(p, atime, mtime); + } + + utimesSync(p, atime, mtime) { + if (this.readOnly) throw EROFS(`utimes '${p}'`); + const resolvedP = this.resolveFilename(`utimes '${p}'`, p); + this.utimesImpl(resolvedP, mtime); + } + + async lutimesPromise(p, atime, mtime) { + return this.lutimesSync(p, atime, mtime); + } + + lutimesSync(p, atime, mtime) { + if (this.readOnly) throw EROFS(`lutimes '${p}'`); + const resolvedP = this.resolveFilename(`utimes '${p}'`, p, false); + this.utimesImpl(resolvedP, mtime); + } + + utimesImpl(resolvedP, mtime) { + if (this.listings.has(resolvedP)) if (!this.entries.has(resolvedP)) this.hydrateDirectory(resolvedP); + const entry = this.entries.get(resolvedP); + if (entry === undefined) throw new Error(`Unreachable`); + const rc = this.libzip.file.setMtime(this.zip, entry, 0, toUnixTimestamp(mtime), 0); + + if (rc === -1) { + throw this.makeLibzipError(this.libzip.getError(this.zip)); + } + } + + async mkdirPromise(p, opts) { + return this.mkdirSync(p, opts); + } + + mkdirSync(p, { + mode = 0o755, + recursive = false + } = {}) { + if (recursive) { + this.mkdirpSync(p, { + chmod: mode + }); + return; + } + + if (this.readOnly) throw EROFS(`mkdir '${p}'`); + const resolvedP = this.resolveFilename(`mkdir '${p}'`, p); + if (this.entries.has(resolvedP) || this.listings.has(resolvedP)) throw EEXIST(`mkdir '${p}'`); + this.hydrateDirectory(resolvedP); + this.chmodSync(resolvedP, mode); + } + + async rmdirPromise(p, opts) { + return this.rmdirSync(p, opts); + } + + rmdirSync(p, { + recursive = false + } = {}) { + if (this.readOnly) throw EROFS(`rmdir '${p}'`); + + if (recursive) { + this.removeSync(p); + return; + } + + const resolvedP = this.resolveFilename(`rmdir '${p}'`, p); + const directoryListing = this.listings.get(resolvedP); + if (!directoryListing) throw ENOTDIR(`rmdir '${p}'`); + if (directoryListing.size > 0) throw ENOTEMPTY(`rmdir '${p}'`); + const index = this.entries.get(resolvedP); + if (typeof index === `undefined`) throw EINVAL(`rmdir '${p}'`); + this.deleteEntry(p, index); + } + + hydrateDirectory(resolvedP) { + const index = this.libzip.dir.add(this.zip, ppath.relative(PortablePath.root, resolvedP)); + if (index === -1) throw this.makeLibzipError(this.libzip.getError(this.zip)); + this.registerListing(resolvedP); + this.registerEntry(resolvedP, index); + return index; + } + + async linkPromise(existingP, newP) { + return this.linkSync(existingP, newP); + } + + linkSync(existingP, newP) { + // Zip archives don't support hard links: + // https://stackoverflow.com/questions/8859616/are-hard-links-possible-within-a-zip-archive + throw EOPNOTSUPP(`link '${existingP}' -> '${newP}'`); + } + + async symlinkPromise(target, p) { + return this.symlinkSync(target, p); + } + + symlinkSync(target, p) { + if (this.readOnly) throw EROFS(`symlink '${target}' -> '${p}'`); + const resolvedP = this.resolveFilename(`symlink '${target}' -> '${p}'`, p); + if (this.listings.has(resolvedP)) throw EISDIR(`symlink '${target}' -> '${p}'`); + if (this.entries.has(resolvedP)) throw EEXIST(`symlink '${target}' -> '${p}'`); + const index = this.setFileSource(resolvedP, target); + this.registerEntry(resolvedP, index); + const rc = this.libzip.file.setExternalAttributes(this.zip, index, 0, 0, this.libzip.ZIP_OPSYS_UNIX, (constants_S_IFLNK | 0o777) << 16); + if (rc === -1) throw this.makeLibzipError(this.libzip.getError(this.zip)); + this.symlinkCount += 1; + } + + async readFilePromise(p, encoding) { + // This is messed up regarding the TS signatures + if (typeof encoding === `object`) // @ts-expect-error + encoding = encoding ? encoding.encoding : undefined; + const data = await this.readFileBuffer(p, { + asyncDecompress: true + }); + return encoding ? data.toString(encoding) : data; + } + + readFileSync(p, encoding) { + // This is messed up regarding the TS signatures + if (typeof encoding === `object`) // @ts-expect-error + encoding = encoding ? encoding.encoding : undefined; + const data = this.readFileBuffer(p); + return encoding ? data.toString(encoding) : data; + } + + readFileBuffer(p, opts = { + asyncDecompress: false + }) { + if (typeof p === `number`) p = this.fdToPath(p, `read`); + const resolvedP = this.resolveFilename(`open '${p}'`, p); + if (!this.entries.has(resolvedP) && !this.listings.has(resolvedP)) throw ENOENT(`open '${p}'`); // Ensures that the last component is a directory, if the user said so (even if it is we'll throw right after with EISDIR anyway) + + if (p[p.length - 1] === `/` && !this.listings.has(resolvedP)) throw ENOTDIR(`open '${p}'`); + if (this.listings.has(resolvedP)) throw EISDIR(`read`); + const entry = this.entries.get(resolvedP); + if (entry === undefined) throw new Error(`Unreachable`); + return this.getFileSource(entry, opts); + } + + async readdirPromise(p, opts) { + return this.readdirSync(p, opts); + } + + readdirSync(p, opts) { + const resolvedP = this.resolveFilename(`scandir '${p}'`, p); + if (!this.entries.has(resolvedP) && !this.listings.has(resolvedP)) throw ENOENT(`scandir '${p}'`); + const directoryListing = this.listings.get(resolvedP); + if (!directoryListing) throw ENOTDIR(`scandir '${p}'`); + const entries = [...directoryListing]; + if (!(opts === null || opts === void 0 ? void 0 : opts.withFileTypes)) return entries; + return entries.map(name => { + return Object.assign(this.statImpl(`lstat`, ppath.join(p, name)), { + name + }); + }); + } + + async readlinkPromise(p) { + const entry = this.prepareReadlink(p); + return (await this.getFileSource(entry, { + asyncDecompress: true + })).toString(); + } + + readlinkSync(p) { + const entry = this.prepareReadlink(p); + return this.getFileSource(entry).toString(); + } + + prepareReadlink(p) { + const resolvedP = this.resolveFilename(`readlink '${p}'`, p, false); + if (!this.entries.has(resolvedP) && !this.listings.has(resolvedP)) throw ENOENT(`readlink '${p}'`); // Ensure that the last component is a directory (if it is we'll throw right after with EISDIR anyway) + + if (p[p.length - 1] === `/` && !this.listings.has(resolvedP)) throw ENOTDIR(`open '${p}'`); + if (this.listings.has(resolvedP)) throw EINVAL(`readlink '${p}'`); + const entry = this.entries.get(resolvedP); + if (entry === undefined) throw new Error(`Unreachable`); + if (!this.isSymbolicLink(entry)) throw EINVAL(`readlink '${p}'`); + return entry; + } + + async truncatePromise(p, len = 0) { + const resolvedP = this.resolveFilename(`open '${p}'`, p); + const index = this.entries.get(resolvedP); + if (typeof index === `undefined`) throw EINVAL(`open '${p}'`); + const source = await this.getFileSource(index, { + asyncDecompress: true + }); + const truncated = Buffer.alloc(len, 0x00); + source.copy(truncated); + return await this.writeFilePromise(p, truncated); + } + + truncateSync(p, len = 0) { + const resolvedP = this.resolveFilename(`open '${p}'`, p); + const index = this.entries.get(resolvedP); + if (typeof index === `undefined`) throw EINVAL(`open '${p}'`); + const source = this.getFileSource(index); + const truncated = Buffer.alloc(len, 0x00); + source.copy(truncated); + return this.writeFileSync(p, truncated); + } + + watch(p, a, b) { + let persistent; + + switch (typeof a) { + case `function`: + case `string`: + case `undefined`: + { + persistent = true; + } + break; + + default: + { + ({ + persistent = true + } = a); + } + break; + } + + if (!persistent) return { + on: () => {}, + close: () => {} + }; + const interval = setInterval(() => {}, 24 * 60 * 60 * 1000); + return { + on: () => {}, + close: () => { + clearInterval(interval); + } + }; + } + + watchFile(p, a, b) { + const resolvedP = ppath.resolve(PortablePath.root, p); + return watchFile(this, resolvedP, a, b); + } + + unwatchFile(p, cb) { + const resolvedP = ppath.resolve(PortablePath.root, p); + return unwatchFile(this, resolvedP, cb); + } + +} +;// CONCATENATED MODULE: ../yarnpkg-fslib/sources/ZipOpenFS.ts + + + + + + + +const ZIP_FD = 0x80000000; +/** + * Extracts the archive part (ending in the first instance of `extension`) from a path. + * + * The indexOf-based implementation is ~3.7x faster than a RegExp-based implementation. + */ + +const getArchivePart = (path, extension) => { + let idx = path.indexOf(extension); + if (idx <= 0) return null; + let nextCharIdx = idx; + + while (idx >= 0) { + nextCharIdx = idx + extension.length; + if (path[nextCharIdx] === ppath.sep) break; // Disallow files named ".zip" + + if (path[idx - 1] === ppath.sep) return null; + idx = path.indexOf(extension, nextCharIdx); + } // The path either has to end in ".zip" or contain an archive subpath (".zip/...") + + + if (path.length > nextCharIdx && path[nextCharIdx] !== ppath.sep) return null; + return path.slice(0, nextCharIdx); +}; +class ZipOpenFS extends BasePortableFakeFS { + constructor({ + libzip, + baseFs = new NodeFS(), + filter = null, + maxOpenFiles = Infinity, + readOnlyArchives = false, + useCache = true, + maxAge = 5000, + fileExtensions = null + }) { + super(); + this.fdMap = new Map(); + this.nextFd = 3; + this.isZip = new Set(); + this.notZip = new Set(); + this.realPaths = new Map(); + this.limitOpenFilesTimeout = null; + this.libzipFactory = typeof libzip !== `function` ? () => libzip : libzip; + this.baseFs = baseFs; + this.zipInstances = useCache ? new Map() : null; + this.filter = filter; + this.maxOpenFiles = maxOpenFiles; + this.readOnlyArchives = readOnlyArchives; + this.maxAge = maxAge; + this.fileExtensions = fileExtensions; + } + + static async openPromise(fn, opts) { + const zipOpenFs = new ZipOpenFS(opts); + + try { + return await fn(zipOpenFs); + } finally { + zipOpenFs.saveAndClose(); + } + } + + get libzip() { + if (typeof this.libzipInstance === `undefined`) this.libzipInstance = this.libzipFactory(); + return this.libzipInstance; + } + + getExtractHint(hints) { + return this.baseFs.getExtractHint(hints); + } + + getRealPath() { + return this.baseFs.getRealPath(); + } + + saveAndClose() { + unwatchAllFiles(this); + + if (this.zipInstances) { + for (const [path, { + zipFs + }] of this.zipInstances.entries()) { + zipFs.saveAndClose(); + this.zipInstances.delete(path); + } + } + } + + discardAndClose() { + unwatchAllFiles(this); + + if (this.zipInstances) { + for (const [path, { + zipFs + }] of this.zipInstances.entries()) { + zipFs.discardAndClose(); + this.zipInstances.delete(path); + } + } + } + + resolve(p) { + return this.baseFs.resolve(p); + } + + remapFd(zipFs, fd) { + const remappedFd = this.nextFd++ | ZIP_FD; + this.fdMap.set(remappedFd, [zipFs, fd]); + return remappedFd; + } + + async openPromise(p, flags, mode) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.openPromise(p, flags, mode); + }, async (zipFs, { + subPath + }) => { + return this.remapFd(zipFs, await zipFs.openPromise(subPath, flags, mode)); + }); + } + + openSync(p, flags, mode) { + return this.makeCallSync(p, () => { + return this.baseFs.openSync(p, flags, mode); + }, (zipFs, { + subPath + }) => { + return this.remapFd(zipFs, zipFs.openSync(subPath, flags, mode)); + }); + } + + async opendirPromise(p, opts) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.opendirPromise(p, opts); + }, async (zipFs, { + subPath + }) => { + return await zipFs.opendirPromise(subPath, opts); + }, { + requireSubpath: false + }); + } + + opendirSync(p, opts) { + return this.makeCallSync(p, () => { + return this.baseFs.opendirSync(p, opts); + }, (zipFs, { + subPath + }) => { + return zipFs.opendirSync(subPath, opts); + }, { + requireSubpath: false + }); + } + + async readPromise(fd, buffer, offset, length, position) { + if ((fd & ZIP_FD) === 0) return await this.baseFs.readPromise(fd, buffer, offset, length, position); + const entry = this.fdMap.get(fd); + if (typeof entry === `undefined`) throw EBADF(`read`); + const [zipFs, realFd] = entry; + return await zipFs.readPromise(realFd, buffer, offset, length, position); + } + + readSync(fd, buffer, offset, length, position) { + if ((fd & ZIP_FD) === 0) return this.baseFs.readSync(fd, buffer, offset, length, position); + const entry = this.fdMap.get(fd); + if (typeof entry === `undefined`) throw EBADF(`readSync`); + const [zipFs, realFd] = entry; + return zipFs.readSync(realFd, buffer, offset, length, position); + } + + async writePromise(fd, buffer, offset, length, position) { + if ((fd & ZIP_FD) === 0) { + if (typeof buffer === `string`) { + return await this.baseFs.writePromise(fd, buffer, offset); + } else { + return await this.baseFs.writePromise(fd, buffer, offset, length, position); + } + } + + const entry = this.fdMap.get(fd); + if (typeof entry === `undefined`) throw EBADF(`write`); + const [zipFs, realFd] = entry; + + if (typeof buffer === `string`) { + return await zipFs.writePromise(realFd, buffer, offset); + } else { + return await zipFs.writePromise(realFd, buffer, offset, length, position); + } + } + + writeSync(fd, buffer, offset, length, position) { + if ((fd & ZIP_FD) === 0) { + if (typeof buffer === `string`) { + return this.baseFs.writeSync(fd, buffer, offset); + } else { + return this.baseFs.writeSync(fd, buffer, offset, length, position); + } + } + + const entry = this.fdMap.get(fd); + if (typeof entry === `undefined`) throw EBADF(`writeSync`); + const [zipFs, realFd] = entry; + + if (typeof buffer === `string`) { + return zipFs.writeSync(realFd, buffer, offset); + } else { + return zipFs.writeSync(realFd, buffer, offset, length, position); + } + } + + async closePromise(fd) { + if ((fd & ZIP_FD) === 0) return await this.baseFs.closePromise(fd); + const entry = this.fdMap.get(fd); + if (typeof entry === `undefined`) throw EBADF(`close`); + this.fdMap.delete(fd); + const [zipFs, realFd] = entry; + return await zipFs.closePromise(realFd); + } + + closeSync(fd) { + if ((fd & ZIP_FD) === 0) return this.baseFs.closeSync(fd); + const entry = this.fdMap.get(fd); + if (typeof entry === `undefined`) throw EBADF(`closeSync`); + this.fdMap.delete(fd); + const [zipFs, realFd] = entry; + return zipFs.closeSync(realFd); + } + + createReadStream(p, opts) { + if (p === null) return this.baseFs.createReadStream(p, opts); + return this.makeCallSync(p, () => { + return this.baseFs.createReadStream(p, opts); + }, (zipFs, { + subPath + }) => { + return zipFs.createReadStream(subPath, opts); + }); + } + + createWriteStream(p, opts) { + if (p === null) return this.baseFs.createWriteStream(p, opts); + return this.makeCallSync(p, () => { + return this.baseFs.createWriteStream(p, opts); + }, (zipFs, { + subPath + }) => { + return zipFs.createWriteStream(subPath, opts); + }); + } + + async realpathPromise(p) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.realpathPromise(p); + }, async (zipFs, { + archivePath, + subPath + }) => { + let realArchivePath = this.realPaths.get(archivePath); + + if (typeof realArchivePath === `undefined`) { + realArchivePath = await this.baseFs.realpathPromise(archivePath); + this.realPaths.set(archivePath, realArchivePath); + } + + return this.pathUtils.join(realArchivePath, this.pathUtils.relative(PortablePath.root, await zipFs.realpathPromise(subPath))); + }); + } + + realpathSync(p) { + return this.makeCallSync(p, () => { + return this.baseFs.realpathSync(p); + }, (zipFs, { + archivePath, + subPath + }) => { + let realArchivePath = this.realPaths.get(archivePath); + + if (typeof realArchivePath === `undefined`) { + realArchivePath = this.baseFs.realpathSync(archivePath); + this.realPaths.set(archivePath, realArchivePath); + } + + return this.pathUtils.join(realArchivePath, this.pathUtils.relative(PortablePath.root, zipFs.realpathSync(subPath))); + }); + } + + async existsPromise(p) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.existsPromise(p); + }, async (zipFs, { + subPath + }) => { + return await zipFs.existsPromise(subPath); + }); + } + + existsSync(p) { + return this.makeCallSync(p, () => { + return this.baseFs.existsSync(p); + }, (zipFs, { + subPath + }) => { + return zipFs.existsSync(subPath); + }); + } + + async accessPromise(p, mode) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.accessPromise(p, mode); + }, async (zipFs, { + subPath + }) => { + return await zipFs.accessPromise(subPath, mode); + }); + } + + accessSync(p, mode) { + return this.makeCallSync(p, () => { + return this.baseFs.accessSync(p, mode); + }, (zipFs, { + subPath + }) => { + return zipFs.accessSync(subPath, mode); + }); + } + + async statPromise(p, opts) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.statPromise(p, opts); + }, async (zipFs, { + subPath + }) => { + return await zipFs.statPromise(subPath, opts); + }); + } + + statSync(p, opts) { + return this.makeCallSync(p, () => { + return this.baseFs.statSync(p, opts); + }, (zipFs, { + subPath + }) => { + return zipFs.statSync(subPath, opts); + }); + } + + async fstatPromise(fd, opts) { + if ((fd & ZIP_FD) === 0) return this.baseFs.fstatPromise(fd, opts); + const entry = this.fdMap.get(fd); + if (typeof entry === `undefined`) throw EBADF(`fstat`); + const [zipFs, realFd] = entry; + return zipFs.fstatPromise(realFd, opts); + } + + fstatSync(fd, opts) { + if ((fd & ZIP_FD) === 0) return this.baseFs.fstatSync(fd, opts); + const entry = this.fdMap.get(fd); + if (typeof entry === `undefined`) throw EBADF(`fstatSync`); + const [zipFs, realFd] = entry; + return zipFs.fstatSync(realFd, opts); + } + + async lstatPromise(p, opts) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.lstatPromise(p, opts); + }, async (zipFs, { + subPath + }) => { + return await zipFs.lstatPromise(subPath, opts); + }); + } + + lstatSync(p, opts) { + return this.makeCallSync(p, () => { + return this.baseFs.lstatSync(p, opts); + }, (zipFs, { + subPath + }) => { + return zipFs.lstatSync(subPath, opts); + }); + } + + async chmodPromise(p, mask) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.chmodPromise(p, mask); + }, async (zipFs, { + subPath + }) => { + return await zipFs.chmodPromise(subPath, mask); + }); + } + + chmodSync(p, mask) { + return this.makeCallSync(p, () => { + return this.baseFs.chmodSync(p, mask); + }, (zipFs, { + subPath + }) => { + return zipFs.chmodSync(subPath, mask); + }); + } + + async chownPromise(p, uid, gid) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.chownPromise(p, uid, gid); + }, async (zipFs, { + subPath + }) => { + return await zipFs.chownPromise(subPath, uid, gid); + }); + } + + chownSync(p, uid, gid) { + return this.makeCallSync(p, () => { + return this.baseFs.chownSync(p, uid, gid); + }, (zipFs, { + subPath + }) => { + return zipFs.chownSync(subPath, uid, gid); + }); + } + + async renamePromise(oldP, newP) { + return await this.makeCallPromise(oldP, async () => { + return await this.makeCallPromise(newP, async () => { + return await this.baseFs.renamePromise(oldP, newP); + }, async () => { + throw Object.assign(new Error(`EEXDEV: cross-device link not permitted`), { + code: `EEXDEV` + }); + }); + }, async (zipFsO, { + subPath: subPathO + }) => { + return await this.makeCallPromise(newP, async () => { + throw Object.assign(new Error(`EEXDEV: cross-device link not permitted`), { + code: `EEXDEV` + }); + }, async (zipFsN, { + subPath: subPathN + }) => { + if (zipFsO !== zipFsN) { + throw Object.assign(new Error(`EEXDEV: cross-device link not permitted`), { + code: `EEXDEV` + }); + } else { + return await zipFsO.renamePromise(subPathO, subPathN); + } + }); + }); + } + + renameSync(oldP, newP) { + return this.makeCallSync(oldP, () => { + return this.makeCallSync(newP, () => { + return this.baseFs.renameSync(oldP, newP); + }, () => { + throw Object.assign(new Error(`EEXDEV: cross-device link not permitted`), { + code: `EEXDEV` + }); + }); + }, (zipFsO, { + subPath: subPathO + }) => { + return this.makeCallSync(newP, () => { + throw Object.assign(new Error(`EEXDEV: cross-device link not permitted`), { + code: `EEXDEV` + }); + }, (zipFsN, { + subPath: subPathN + }) => { + if (zipFsO !== zipFsN) { + throw Object.assign(new Error(`EEXDEV: cross-device link not permitted`), { + code: `EEXDEV` + }); + } else { + return zipFsO.renameSync(subPathO, subPathN); + } + }); + }); + } + + async copyFilePromise(sourceP, destP, flags = 0) { + const fallback = async (sourceFs, sourceP, destFs, destP) => { + if ((flags & external_fs_.constants.COPYFILE_FICLONE_FORCE) !== 0) throw Object.assign(new Error(`EXDEV: cross-device clone not permitted, copyfile '${sourceP}' -> ${destP}'`), { + code: `EXDEV` + }); + if (flags & external_fs_.constants.COPYFILE_EXCL && (await this.existsPromise(sourceP))) throw Object.assign(new Error(`EEXIST: file already exists, copyfile '${sourceP}' -> '${destP}'`), { + code: `EEXIST` + }); + let content; + + try { + content = await sourceFs.readFilePromise(sourceP); + } catch (error) { + throw Object.assign(new Error(`EINVAL: invalid argument, copyfile '${sourceP}' -> '${destP}'`), { + code: `EINVAL` + }); + } + + await destFs.writeFilePromise(destP, content); + }; + + return await this.makeCallPromise(sourceP, async () => { + return await this.makeCallPromise(destP, async () => { + return await this.baseFs.copyFilePromise(sourceP, destP, flags); + }, async (zipFsD, { + subPath: subPathD + }) => { + return await fallback(this.baseFs, sourceP, zipFsD, subPathD); + }); + }, async (zipFsS, { + subPath: subPathS + }) => { + return await this.makeCallPromise(destP, async () => { + return await fallback(zipFsS, subPathS, this.baseFs, destP); + }, async (zipFsD, { + subPath: subPathD + }) => { + if (zipFsS !== zipFsD) { + return await fallback(zipFsS, subPathS, zipFsD, subPathD); + } else { + return await zipFsS.copyFilePromise(subPathS, subPathD, flags); + } + }); + }); + } + + copyFileSync(sourceP, destP, flags = 0) { + const fallback = (sourceFs, sourceP, destFs, destP) => { + if ((flags & external_fs_.constants.COPYFILE_FICLONE_FORCE) !== 0) throw Object.assign(new Error(`EXDEV: cross-device clone not permitted, copyfile '${sourceP}' -> ${destP}'`), { + code: `EXDEV` + }); + if (flags & external_fs_.constants.COPYFILE_EXCL && this.existsSync(sourceP)) throw Object.assign(new Error(`EEXIST: file already exists, copyfile '${sourceP}' -> '${destP}'`), { + code: `EEXIST` + }); + let content; + + try { + content = sourceFs.readFileSync(sourceP); + } catch (error) { + throw Object.assign(new Error(`EINVAL: invalid argument, copyfile '${sourceP}' -> '${destP}'`), { + code: `EINVAL` + }); + } + + destFs.writeFileSync(destP, content); + }; + + return this.makeCallSync(sourceP, () => { + return this.makeCallSync(destP, () => { + return this.baseFs.copyFileSync(sourceP, destP, flags); + }, (zipFsD, { + subPath: subPathD + }) => { + return fallback(this.baseFs, sourceP, zipFsD, subPathD); + }); + }, (zipFsS, { + subPath: subPathS + }) => { + return this.makeCallSync(destP, () => { + return fallback(zipFsS, subPathS, this.baseFs, destP); + }, (zipFsD, { + subPath: subPathD + }) => { + if (zipFsS !== zipFsD) { + return fallback(zipFsS, subPathS, zipFsD, subPathD); + } else { + return zipFsS.copyFileSync(subPathS, subPathD, flags); + } + }); + }); + } + + async appendFilePromise(p, content, opts) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.appendFilePromise(p, content, opts); + }, async (zipFs, { + subPath + }) => { + return await zipFs.appendFilePromise(subPath, content, opts); + }); + } + + appendFileSync(p, content, opts) { + return this.makeCallSync(p, () => { + return this.baseFs.appendFileSync(p, content, opts); + }, (zipFs, { + subPath + }) => { + return zipFs.appendFileSync(subPath, content, opts); + }); + } + + async writeFilePromise(p, content, opts) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.writeFilePromise(p, content, opts); + }, async (zipFs, { + subPath + }) => { + return await zipFs.writeFilePromise(subPath, content, opts); + }); + } + + writeFileSync(p, content, opts) { + return this.makeCallSync(p, () => { + return this.baseFs.writeFileSync(p, content, opts); + }, (zipFs, { + subPath + }) => { + return zipFs.writeFileSync(subPath, content, opts); + }); + } + + async unlinkPromise(p) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.unlinkPromise(p); + }, async (zipFs, { + subPath + }) => { + return await zipFs.unlinkPromise(subPath); + }); + } + + unlinkSync(p) { + return this.makeCallSync(p, () => { + return this.baseFs.unlinkSync(p); + }, (zipFs, { + subPath + }) => { + return zipFs.unlinkSync(subPath); + }); + } + + async utimesPromise(p, atime, mtime) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.utimesPromise(p, atime, mtime); + }, async (zipFs, { + subPath + }) => { + return await zipFs.utimesPromise(subPath, atime, mtime); + }); + } + + utimesSync(p, atime, mtime) { + return this.makeCallSync(p, () => { + return this.baseFs.utimesSync(p, atime, mtime); + }, (zipFs, { + subPath + }) => { + return zipFs.utimesSync(subPath, atime, mtime); + }); + } + + async mkdirPromise(p, opts) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.mkdirPromise(p, opts); + }, async (zipFs, { + subPath + }) => { + return await zipFs.mkdirPromise(subPath, opts); + }); + } + + mkdirSync(p, opts) { + return this.makeCallSync(p, () => { + return this.baseFs.mkdirSync(p, opts); + }, (zipFs, { + subPath + }) => { + return zipFs.mkdirSync(subPath, opts); + }); + } + + async rmdirPromise(p, opts) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.rmdirPromise(p, opts); + }, async (zipFs, { + subPath + }) => { + return await zipFs.rmdirPromise(subPath, opts); + }); + } + + rmdirSync(p, opts) { + return this.makeCallSync(p, () => { + return this.baseFs.rmdirSync(p, opts); + }, (zipFs, { + subPath + }) => { + return zipFs.rmdirSync(subPath, opts); + }); + } + + async linkPromise(existingP, newP) { + return await this.makeCallPromise(newP, async () => { + return await this.baseFs.linkPromise(existingP, newP); + }, async (zipFs, { + subPath + }) => { + return await zipFs.linkPromise(existingP, subPath); + }); + } + + linkSync(existingP, newP) { + return this.makeCallSync(newP, () => { + return this.baseFs.linkSync(existingP, newP); + }, (zipFs, { + subPath + }) => { + return zipFs.linkSync(existingP, subPath); + }); + } + + async symlinkPromise(target, p, type) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.symlinkPromise(target, p, type); + }, async (zipFs, { + subPath + }) => { + return await zipFs.symlinkPromise(target, subPath); + }); + } + + symlinkSync(target, p, type) { + return this.makeCallSync(p, () => { + return this.baseFs.symlinkSync(target, p, type); + }, (zipFs, { + subPath + }) => { + return zipFs.symlinkSync(target, subPath); + }); + } + + async readFilePromise(p, encoding) { + return this.makeCallPromise(p, async () => { + // This weird switch is required to tell TypeScript that the signatures are proper (otherwise it thinks that only the generic one is covered) + switch (encoding) { + case `utf8`: + return await this.baseFs.readFilePromise(p, encoding); + + default: + return await this.baseFs.readFilePromise(p, encoding); + } + }, async (zipFs, { + subPath + }) => { + return await zipFs.readFilePromise(subPath, encoding); + }); + } + + readFileSync(p, encoding) { + return this.makeCallSync(p, () => { + // This weird switch is required to tell TypeScript that the signatures are proper (otherwise it thinks that only the generic one is covered) + switch (encoding) { + case `utf8`: + return this.baseFs.readFileSync(p, encoding); + + default: + return this.baseFs.readFileSync(p, encoding); + } + }, (zipFs, { + subPath + }) => { + return zipFs.readFileSync(subPath, encoding); + }); + } + + async readdirPromise(p, opts) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.readdirPromise(p, opts); + }, async (zipFs, { + subPath + }) => { + return await zipFs.readdirPromise(subPath, opts); + }, { + requireSubpath: false + }); + } + + readdirSync(p, opts) { + return this.makeCallSync(p, () => { + return this.baseFs.readdirSync(p, opts); + }, (zipFs, { + subPath + }) => { + return zipFs.readdirSync(subPath, opts); + }, { + requireSubpath: false + }); + } + + async readlinkPromise(p) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.readlinkPromise(p); + }, async (zipFs, { + subPath + }) => { + return await zipFs.readlinkPromise(subPath); + }); + } + + readlinkSync(p) { + return this.makeCallSync(p, () => { + return this.baseFs.readlinkSync(p); + }, (zipFs, { + subPath + }) => { + return zipFs.readlinkSync(subPath); + }); + } + + async truncatePromise(p, len) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.truncatePromise(p, len); + }, async (zipFs, { + subPath + }) => { + return await zipFs.truncatePromise(subPath, len); + }); + } + + truncateSync(p, len) { + return this.makeCallSync(p, () => { + return this.baseFs.truncateSync(p, len); + }, (zipFs, { + subPath + }) => { + return zipFs.truncateSync(subPath, len); + }); + } + + watch(p, a, b) { + return this.makeCallSync(p, () => { + return this.baseFs.watch(p, // @ts-expect-error + a, b); + }, (zipFs, { + subPath + }) => { + return zipFs.watch(subPath, // @ts-expect-error + a, b); + }); + } + + watchFile(p, a, b) { + return this.makeCallSync(p, () => { + return this.baseFs.watchFile(p, // @ts-expect-error + a, b); + }, () => { + return watchFile(this, p, a, b); + }); + } + + unwatchFile(p, cb) { + return this.makeCallSync(p, () => { + return this.baseFs.unwatchFile(p, cb); + }, () => { + return unwatchFile(this, p, cb); + }); + } + + async makeCallPromise(p, discard, accept, { + requireSubpath = true + } = {}) { + if (typeof p !== `string`) return await discard(); + const normalizedP = this.resolve(p); + const zipInfo = this.findZip(normalizedP); + if (!zipInfo) return await discard(); + if (requireSubpath && zipInfo.subPath === `/`) return await discard(); + return await this.getZipPromise(zipInfo.archivePath, async zipFs => await accept(zipFs, zipInfo)); + } + + makeCallSync(p, discard, accept, { + requireSubpath = true + } = {}) { + if (typeof p !== `string`) return discard(); + const normalizedP = this.resolve(p); + const zipInfo = this.findZip(normalizedP); + if (!zipInfo) return discard(); + if (requireSubpath && zipInfo.subPath === `/`) return discard(); + return this.getZipSync(zipInfo.archivePath, zipFs => accept(zipFs, zipInfo)); + } + + findZip(p) { + if (this.filter && !this.filter.test(p)) return null; + let filePath = ``; + + while (true) { + const pathPartWithArchive = p.substr(filePath.length); + let archivePart; + + if (!this.fileExtensions) { + archivePart = getArchivePart(pathPartWithArchive, `.zip`); + } else { + for (const ext of this.fileExtensions) { + archivePart = getArchivePart(pathPartWithArchive, ext); + + if (archivePart) { + break; + } + } + } + + if (!archivePart) return null; + filePath = this.pathUtils.join(filePath, archivePart); + + if (this.isZip.has(filePath) === false) { + if (this.notZip.has(filePath)) continue; + + try { + if (!this.baseFs.lstatSync(filePath).isFile()) { + this.notZip.add(filePath); + continue; + } + } catch { + return null; + } + + this.isZip.add(filePath); + } + + return { + archivePath: filePath, + subPath: this.pathUtils.join(PortablePath.root, p.substr(filePath.length)) + }; + } + } + + limitOpenFiles(max) { + if (this.zipInstances === null) return; + const now = Date.now(); + let nextExpiresAt = now + this.maxAge; + let closeCount = max === null ? 0 : this.zipInstances.size - max; + + for (const [path, { + zipFs, + expiresAt, + refCount + }] of this.zipInstances.entries()) { + if (refCount !== 0 || zipFs.hasOpenFileHandles()) { + continue; + } else if (now >= expiresAt) { + zipFs.saveAndClose(); + this.zipInstances.delete(path); + closeCount -= 1; + continue; + } else if (max === null || closeCount <= 0) { + nextExpiresAt = expiresAt; + break; + } + + zipFs.saveAndClose(); + this.zipInstances.delete(path); + closeCount -= 1; + } + + if (this.limitOpenFilesTimeout === null && (max === null && this.zipInstances.size > 0 || max !== null)) { + this.limitOpenFilesTimeout = setTimeout(() => { + this.limitOpenFilesTimeout = null; + this.limitOpenFiles(null); + }, nextExpiresAt - now).unref(); + } + } + + async getZipPromise(p, accept) { + const getZipOptions = async () => ({ + baseFs: this.baseFs, + libzip: this.libzip, + readOnly: this.readOnlyArchives, + stats: await this.baseFs.statPromise(p) + }); + + if (this.zipInstances) { + let cachedZipFs = this.zipInstances.get(p); + + if (!cachedZipFs) { + const zipOptions = await getZipOptions(); // We need to recheck because concurrent getZipPromise calls may + // have instantiated the zip archive while we were waiting + + cachedZipFs = this.zipInstances.get(p); + + if (!cachedZipFs) { + cachedZipFs = { + zipFs: new ZipFS(p, zipOptions), + expiresAt: 0, + refCount: 0 + }; + } + } // Removing then re-adding the field allows us to easily implement + // a basic LRU garbage collection strategy + + + this.zipInstances.delete(p); + this.limitOpenFiles(this.maxOpenFiles - 1); + this.zipInstances.set(p, cachedZipFs); + cachedZipFs.expiresAt = Date.now() + this.maxAge; + cachedZipFs.refCount += 1; + + try { + return await accept(cachedZipFs.zipFs); + } finally { + cachedZipFs.refCount -= 1; + } + } else { + const zipFs = new ZipFS(p, await getZipOptions()); + + try { + return await accept(zipFs); + } finally { + zipFs.saveAndClose(); + } + } + } + + getZipSync(p, accept) { + const getZipOptions = () => ({ + baseFs: this.baseFs, + libzip: this.libzip, + readOnly: this.readOnlyArchives, + stats: this.baseFs.statSync(p) + }); + + if (this.zipInstances) { + let cachedZipFs = this.zipInstances.get(p); + + if (!cachedZipFs) { + cachedZipFs = { + zipFs: new ZipFS(p, getZipOptions()), + expiresAt: 0, + refCount: 0 + }; + } // Removing then re-adding the field allows us to easily implement + // a basic LRU garbage collection strategy + + + this.zipInstances.delete(p); + this.limitOpenFiles(this.maxOpenFiles - 1); + this.zipInstances.set(p, cachedZipFs); + cachedZipFs.expiresAt = Date.now() + this.maxAge; + return accept(cachedZipFs.zipFs); + } else { + const zipFs = new ZipFS(p, getZipOptions()); + + try { + return accept(zipFs); + } finally { + zipFs.saveAndClose(); + } + } + } + +} +;// CONCATENATED MODULE: ../yarnpkg-libzip/sources/makeInterface.ts +const number64 = [`number`, `number` // high +]; +var Errors; + +(function (Errors) { + Errors[Errors["ZIP_ER_OK"] = 0] = "ZIP_ER_OK"; + Errors[Errors["ZIP_ER_MULTIDISK"] = 1] = "ZIP_ER_MULTIDISK"; + Errors[Errors["ZIP_ER_RENAME"] = 2] = "ZIP_ER_RENAME"; + Errors[Errors["ZIP_ER_CLOSE"] = 3] = "ZIP_ER_CLOSE"; + Errors[Errors["ZIP_ER_SEEK"] = 4] = "ZIP_ER_SEEK"; + Errors[Errors["ZIP_ER_READ"] = 5] = "ZIP_ER_READ"; + Errors[Errors["ZIP_ER_WRITE"] = 6] = "ZIP_ER_WRITE"; + Errors[Errors["ZIP_ER_CRC"] = 7] = "ZIP_ER_CRC"; + Errors[Errors["ZIP_ER_ZIPCLOSED"] = 8] = "ZIP_ER_ZIPCLOSED"; + Errors[Errors["ZIP_ER_NOENT"] = 9] = "ZIP_ER_NOENT"; + Errors[Errors["ZIP_ER_EXISTS"] = 10] = "ZIP_ER_EXISTS"; + Errors[Errors["ZIP_ER_OPEN"] = 11] = "ZIP_ER_OPEN"; + Errors[Errors["ZIP_ER_TMPOPEN"] = 12] = "ZIP_ER_TMPOPEN"; + Errors[Errors["ZIP_ER_ZLIB"] = 13] = "ZIP_ER_ZLIB"; + Errors[Errors["ZIP_ER_MEMORY"] = 14] = "ZIP_ER_MEMORY"; + Errors[Errors["ZIP_ER_CHANGED"] = 15] = "ZIP_ER_CHANGED"; + Errors[Errors["ZIP_ER_COMPNOTSUPP"] = 16] = "ZIP_ER_COMPNOTSUPP"; + Errors[Errors["ZIP_ER_EOF"] = 17] = "ZIP_ER_EOF"; + Errors[Errors["ZIP_ER_INVAL"] = 18] = "ZIP_ER_INVAL"; + Errors[Errors["ZIP_ER_NOZIP"] = 19] = "ZIP_ER_NOZIP"; + Errors[Errors["ZIP_ER_INTERNAL"] = 20] = "ZIP_ER_INTERNAL"; + Errors[Errors["ZIP_ER_INCONS"] = 21] = "ZIP_ER_INCONS"; + Errors[Errors["ZIP_ER_REMOVE"] = 22] = "ZIP_ER_REMOVE"; + Errors[Errors["ZIP_ER_DELETED"] = 23] = "ZIP_ER_DELETED"; + Errors[Errors["ZIP_ER_ENCRNOTSUPP"] = 24] = "ZIP_ER_ENCRNOTSUPP"; + Errors[Errors["ZIP_ER_RDONLY"] = 25] = "ZIP_ER_RDONLY"; + Errors[Errors["ZIP_ER_NOPASSWD"] = 26] = "ZIP_ER_NOPASSWD"; + Errors[Errors["ZIP_ER_WRONGPASSWD"] = 27] = "ZIP_ER_WRONGPASSWD"; + Errors[Errors["ZIP_ER_OPNOTSUPP"] = 28] = "ZIP_ER_OPNOTSUPP"; + Errors[Errors["ZIP_ER_INUSE"] = 29] = "ZIP_ER_INUSE"; + Errors[Errors["ZIP_ER_TELL"] = 30] = "ZIP_ER_TELL"; + Errors[Errors["ZIP_ER_COMPRESSED_DATA"] = 31] = "ZIP_ER_COMPRESSED_DATA"; +})(Errors || (Errors = {})); + +const makeInterface = libzip => ({ + // Those are getters because they can change after memory growth + get HEAP8() { + return libzip.HEAP8; + }, + + get HEAPU8() { + return libzip.HEAPU8; + }, + + errors: Errors, + SEEK_SET: 0, + SEEK_CUR: 1, + SEEK_END: 2, + ZIP_CHECKCONS: 4, + ZIP_CREATE: 1, + ZIP_EXCL: 2, + ZIP_TRUNCATE: 8, + ZIP_RDONLY: 16, + ZIP_FL_OVERWRITE: 8192, + ZIP_FL_COMPRESSED: 4, + ZIP_OPSYS_DOS: 0x00, + ZIP_OPSYS_AMIGA: 0x01, + ZIP_OPSYS_OPENVMS: 0x02, + ZIP_OPSYS_UNIX: 0x03, + ZIP_OPSYS_VM_CMS: 0x04, + ZIP_OPSYS_ATARI_ST: 0x05, + ZIP_OPSYS_OS_2: 0x06, + ZIP_OPSYS_MACINTOSH: 0x07, + ZIP_OPSYS_Z_SYSTEM: 0x08, + ZIP_OPSYS_CPM: 0x09, + ZIP_OPSYS_WINDOWS_NTFS: 0x0a, + ZIP_OPSYS_MVS: 0x0b, + ZIP_OPSYS_VSE: 0x0c, + ZIP_OPSYS_ACORN_RISC: 0x0d, + ZIP_OPSYS_VFAT: 0x0e, + ZIP_OPSYS_ALTERNATE_MVS: 0x0f, + ZIP_OPSYS_BEOS: 0x10, + ZIP_OPSYS_TANDEM: 0x11, + ZIP_OPSYS_OS_400: 0x12, + ZIP_OPSYS_OS_X: 0x13, + ZIP_CM_DEFAULT: -1, + ZIP_CM_STORE: 0, + ZIP_CM_DEFLATE: 8, + uint08S: libzip._malloc(1), + uint16S: libzip._malloc(2), + uint32S: libzip._malloc(4), + uint64S: libzip._malloc(8), + malloc: libzip._malloc, + free: libzip._free, + getValue: libzip.getValue, + open: libzip.cwrap(`zip_open`, `number`, [`string`, `number`, `number`]), + openFromSource: libzip.cwrap(`zip_open_from_source`, `number`, [`number`, `number`, `number`]), + close: libzip.cwrap(`zip_close`, `number`, [`number`]), + discard: libzip.cwrap(`zip_discard`, null, [`number`]), + getError: libzip.cwrap(`zip_get_error`, `number`, [`number`]), + getName: libzip.cwrap(`zip_get_name`, `string`, [`number`, `number`, `number`]), + getNumEntries: libzip.cwrap(`zip_get_num_entries`, `number`, [`number`, `number`]), + delete: libzip.cwrap(`zip_delete`, `number`, [`number`, `number`]), + stat: libzip.cwrap(`zip_stat`, `number`, [`number`, `string`, `number`, `number`]), + statIndex: libzip.cwrap(`zip_stat_index`, `number`, [`number`, ...number64, `number`, `number`]), + fopen: libzip.cwrap(`zip_fopen`, `number`, [`number`, `string`, `number`]), + fopenIndex: libzip.cwrap(`zip_fopen_index`, `number`, [`number`, ...number64, `number`]), + fread: libzip.cwrap(`zip_fread`, `number`, [`number`, `number`, `number`, `number`]), + fclose: libzip.cwrap(`zip_fclose`, `number`, [`number`]), + dir: { + add: libzip.cwrap(`zip_dir_add`, `number`, [`number`, `string`]) + }, + file: { + add: libzip.cwrap(`zip_file_add`, `number`, [`number`, `string`, `number`, `number`]), + getError: libzip.cwrap(`zip_file_get_error`, `number`, [`number`]), + getExternalAttributes: libzip.cwrap(`zip_file_get_external_attributes`, `number`, [`number`, ...number64, `number`, `number`, `number`]), + setExternalAttributes: libzip.cwrap(`zip_file_set_external_attributes`, `number`, [`number`, ...number64, `number`, `number`, `number`]), + setMtime: libzip.cwrap(`zip_file_set_mtime`, `number`, [`number`, ...number64, `number`, `number`]), + setCompression: libzip.cwrap(`zip_set_file_compression`, `number`, [`number`, ...number64, `number`, `number`]) + }, + ext: { + countSymlinks: libzip.cwrap(`zip_ext_count_symlinks`, `number`, [`number`]) + }, + error: { + initWithCode: libzip.cwrap(`zip_error_init_with_code`, null, [`number`, `number`]), + strerror: libzip.cwrap(`zip_error_strerror`, `string`, [`number`]) + }, + name: { + locate: libzip.cwrap(`zip_name_locate`, `number`, [`number`, `string`, `number`]) + }, + source: { + fromUnattachedBuffer: libzip.cwrap(`zip_source_buffer_create`, `number`, [`number`, `number`, `number`, `number`]), + fromBuffer: libzip.cwrap(`zip_source_buffer`, `number`, [`number`, `number`, ...number64, `number`]), + free: libzip.cwrap(`zip_source_free`, null, [`number`]), + keep: libzip.cwrap(`zip_source_keep`, null, [`number`]), + open: libzip.cwrap(`zip_source_open`, `number`, [`number`]), + close: libzip.cwrap(`zip_source_close`, `number`, [`number`]), + seek: libzip.cwrap(`zip_source_seek`, `number`, [`number`, ...number64, `number`]), + tell: libzip.cwrap(`zip_source_tell`, `number`, [`number`]), + read: libzip.cwrap(`zip_source_read`, `number`, [`number`, `number`, `number`]), + error: libzip.cwrap(`zip_source_error`, `number`, [`number`]), + setMtime: libzip.cwrap(`zip_source_set_mtime`, `number`, [`number`, `number`]) + }, + struct: { + stat: libzip.cwrap(`zipstruct_stat`, `number`, []), + statS: libzip.cwrap(`zipstruct_statS`, `number`, []), + statName: libzip.cwrap(`zipstruct_stat_name`, `string`, [`number`]), + statIndex: libzip.cwrap(`zipstruct_stat_index`, `number`, [`number`]), + statSize: libzip.cwrap(`zipstruct_stat_size`, `number`, [`number`]), + statCompSize: libzip.cwrap(`zipstruct_stat_comp_size`, `number`, [`number`]), + statCompMethod: libzip.cwrap(`zipstruct_stat_comp_method`, `number`, [`number`]), + statMtime: libzip.cwrap(`zipstruct_stat_mtime`, `number`, [`number`]), + statCrc: libzip.cwrap(`zipstruct_stat_crc`, `number`, [`number`]), + error: libzip.cwrap(`zipstruct_error`, `number`, []), + errorS: libzip.cwrap(`zipstruct_errorS`, `number`, []), + errorCodeZip: libzip.cwrap(`zipstruct_error_code_zip`, `number`, [`number`]) + } +}); +;// CONCATENATED MODULE: ../yarnpkg-libzip/sources/sync.ts + +let mod = null; +function getLibzipSync() { + if (mod === null) mod = makeInterface(__webpack_require__(368)); + return mod; +} +async function getLibzipPromise() { + return getLibzipSync(); +} +// EXTERNAL MODULE: external "module" +var external_module_ = __webpack_require__(282); +var external_module_default = /*#__PURE__*/__webpack_require__.n(external_module_); +;// CONCATENATED MODULE: external "string_decoder" +const external_string_decoder_namespaceObject = require("string_decoder");; +var external_string_decoder_default = /*#__PURE__*/__webpack_require__.n(external_string_decoder_namespaceObject); +;// CONCATENATED MODULE: external "url" +const external_url_namespaceObject = require("url");; +;// CONCATENATED MODULE: ../yarnpkg-fslib/sources/URLFS.ts + + + +/** + * Adds support for file URLs to the wrapped `baseFs`, but *not* inside the typings. + * + * Only exists for compatibility with Node's behavior. + * + * Automatically wraps all FS instances passed to `patchFs` & `extendFs`. + * + * Don't use it! + */ + +class URLFS extends ProxiedFS { + constructor(baseFs) { + super(npath); + this.baseFs = baseFs; + } + + mapFromBase(path) { + return path; + } + + mapToBase(path) { + if (path instanceof external_url_namespaceObject.URL) return (0,external_url_namespaceObject.fileURLToPath)(path); + return path; + } + +} +;// CONCATENATED MODULE: ../yarnpkg-fslib/sources/patchFs.ts + + +const SYNC_IMPLEMENTATIONS = new Set([`accessSync`, `appendFileSync`, `createReadStream`, `createWriteStream`, `chmodSync`, `chownSync`, `closeSync`, `copyFileSync`, `linkSync`, `lstatSync`, `fstatSync`, `lutimesSync`, `mkdirSync`, `openSync`, `opendirSync`, `readSync`, `readlinkSync`, `readFileSync`, `readdirSync`, `readlinkSync`, `realpathSync`, `renameSync`, `rmdirSync`, `statSync`, `symlinkSync`, `truncateSync`, `unlinkSync`, `unwatchFile`, `utimesSync`, `watch`, `watchFile`, `writeFileSync`, `writeSync`]); +const ASYNC_IMPLEMENTATIONS = new Set([`accessPromise`, `appendFilePromise`, `chmodPromise`, `chownPromise`, `closePromise`, `copyFilePromise`, `linkPromise`, `fstatPromise`, `lstatPromise`, `lutimesPromise`, `mkdirPromise`, `openPromise`, `opendirPromise`, `readdirPromise`, `realpathPromise`, `readFilePromise`, `readdirPromise`, `readlinkPromise`, `renamePromise`, `rmdirPromise`, `statPromise`, `symlinkPromise`, `truncatePromise`, `unlinkPromise`, `utimesPromise`, `writeFilePromise`, `writeSync`]); +const FILEHANDLE_IMPLEMENTATIONS = new Set([`appendFilePromise`, `chmodPromise`, `chownPromise`, `closePromise`, `readPromise`, `readFilePromise`, `statPromise`, `truncatePromise`, `utimesPromise`, `writePromise`, `writeFilePromise`]); +function patchFs(patchedFs, fakeFs) { + // We wrap the `fakeFs` with a `URLFS` to add support for URL instances + fakeFs = new URLFS(fakeFs); + + const setupFn = (target, name, replacement) => { + const orig = target[name]; + target[name] = replacement; // Preserve any util.promisify implementations + + if (typeof (orig === null || orig === void 0 ? void 0 : orig[external_util_namespaceObject.promisify.custom]) !== `undefined`) { + replacement[external_util_namespaceObject.promisify.custom] = orig[external_util_namespaceObject.promisify.custom]; + } + }; + /** Callback implementations */ + + + { + setupFn(patchedFs, `exists`, (p, ...args) => { + const hasCallback = typeof args[args.length - 1] === `function`; + const callback = hasCallback ? args.pop() : () => {}; + process.nextTick(() => { + fakeFs.existsPromise(p).then(exists => { + callback(exists); + }, () => { + callback(false); + }); + }); + }); + setupFn(patchedFs, `read`, (p, buffer, ...args) => { + const hasCallback = typeof args[args.length - 1] === `function`; + const callback = hasCallback ? args.pop() : () => {}; + process.nextTick(() => { + fakeFs.readPromise(p, buffer, ...args).then(bytesRead => { + callback(null, bytesRead, buffer); + }, error => { + // https://github.com/nodejs/node/blob/1317252dfe8824fd9cfee125d2aaa94004db2f3b/lib/fs.js#L655-L658 + // Known issue: bytesRead could theoretically be > than 0, but we currently always return 0 + callback(error, 0, buffer); + }); + }); + }); + + for (const fnName of ASYNC_IMPLEMENTATIONS) { + const origName = fnName.replace(/Promise$/, ``); + if (typeof patchedFs[origName] === `undefined`) continue; + const fakeImpl = fakeFs[fnName]; + if (typeof fakeImpl === `undefined`) continue; + + const wrapper = (...args) => { + const hasCallback = typeof args[args.length - 1] === `function`; + const callback = hasCallback ? args.pop() : () => {}; + process.nextTick(() => { + fakeImpl.apply(fakeFs, args).then(result => { + callback(null, result); + }, error => { + callback(error); + }); + }); + }; + + setupFn(patchedFs, origName, wrapper); + } + + patchedFs.realpath.native = patchedFs.realpath; + } + /** Sync implementations */ + + { + setupFn(patchedFs, `existsSync`, p => { + try { + return fakeFs.existsSync(p); + } catch (error) { + return false; + } + }); + + for (const fnName of SYNC_IMPLEMENTATIONS) { + const origName = fnName; + if (typeof patchedFs[origName] === `undefined`) continue; + const fakeImpl = fakeFs[fnName]; + if (typeof fakeImpl === `undefined`) continue; + setupFn(patchedFs, origName, fakeImpl.bind(fakeFs)); + } + + patchedFs.realpathSync.native = patchedFs.realpathSync; + } + /** Promise implementations */ + + { + // `fs.promises` is a getter that returns a reference to require(`fs/promises`), + // so we can just patch `fs.promises` and both will be updated + const origEmitWarning = process.emitWarning; + + process.emitWarning = () => {}; + + let patchedFsPromises; + + try { + patchedFsPromises = patchedFs.promises; + } finally { + process.emitWarning = origEmitWarning; + } + + if (typeof patchedFsPromises !== `undefined`) { + // `fs.promises.exists` doesn't exist + for (const fnName of ASYNC_IMPLEMENTATIONS) { + const origName = fnName.replace(/Promise$/, ``); + if (typeof patchedFsPromises[origName] === `undefined`) continue; + const fakeImpl = fakeFs[fnName]; + if (typeof fakeImpl === `undefined`) continue; // Open is a bit particular with fs.promises: it returns a file handle + // instance instead of the traditional file descriptor number + + if (fnName === `open`) continue; + setupFn(patchedFsPromises, origName, fakeImpl.bind(fakeFs)); + } + + class FileHandle { + constructor(fd) { + this.fd = fd; + } + + } + + for (const fnName of FILEHANDLE_IMPLEMENTATIONS) { + const origName = fnName.replace(/Promise$/, ``); + const fakeImpl = fakeFs[fnName]; + if (typeof fakeImpl === `undefined`) continue; + setupFn(FileHandle.prototype, origName, function (...args) { + return fakeImpl.call(fakeFs, this.fd, ...args); + }); + } + + setupFn(patchedFsPromises, `open`, async (...args) => { + // @ts-expect-error + const fd = await fakeFs.openPromise(...args); + return new FileHandle(fd); + }); // `fs.promises.realpath` doesn't have a `native` property + } + } + /** util.promisify implementations */ + + { + // Override the promisified version of `fs.read` to return an object as per + // https://github.com/nodejs/node/blob/dc79f3f37caf6f25b8efee4623bec31e2c20f595/lib/fs.js#L559-L560 + // and + // https://github.com/nodejs/node/blob/ba684805b6c0eded76e5cd89ee00328ac7a59365/lib/internal/util.js#L293 + // @ts-expect-error + patchedFs.read[external_util_namespaceObject.promisify.custom] = async (p, buffer, ...args) => { + const res = fakeFs.readPromise(p, buffer, ...args); + return { + bytesRead: await res, + buffer + }; + }; + } +} +function extendFs(realFs, fakeFs) { + const patchedFs = Object.create(realFs); + patchFs(patchedFs, fakeFs); + return patchedFs; +} +;// CONCATENATED MODULE: ../yarnpkg-fslib/sources/PosixFS.ts + + +class PosixFS extends ProxiedFS { + constructor(baseFs) { + super(npath); + this.baseFs = baseFs; + } + + mapFromBase(path) { + return npath.fromPortablePath(path); + } + + mapToBase(path) { + return npath.toPortablePath(path); + } + +} +;// CONCATENATED MODULE: ./sources/loader/internalTools.ts + +var ErrorCode; + +(function (ErrorCode) { + ErrorCode["API_ERROR"] = "API_ERROR"; + ErrorCode["BUILTIN_NODE_RESOLUTION_FAILED"] = "BUILTIN_NODE_RESOLUTION_FAILED"; + ErrorCode["MISSING_DEPENDENCY"] = "MISSING_DEPENDENCY"; + ErrorCode["MISSING_PEER_DEPENDENCY"] = "MISSING_PEER_DEPENDENCY"; + ErrorCode["QUALIFIED_PATH_RESOLUTION_FAILED"] = "QUALIFIED_PATH_RESOLUTION_FAILED"; + ErrorCode["INTERNAL"] = "INTERNAL"; + ErrorCode["UNDECLARED_DEPENDENCY"] = "UNDECLARED_DEPENDENCY"; + ErrorCode["UNSUPPORTED"] = "UNSUPPORTED"; +})(ErrorCode || (ErrorCode = {})); // Some errors are exposed as MODULE_NOT_FOUND for compatibility with packages +// that expect this umbrella error when the resolution fails + + +const MODULE_NOT_FOUND_ERRORS = new Set([ErrorCode.BUILTIN_NODE_RESOLUTION_FAILED, ErrorCode.MISSING_DEPENDENCY, ErrorCode.MISSING_PEER_DEPENDENCY, ErrorCode.QUALIFIED_PATH_RESOLUTION_FAILED, ErrorCode.UNDECLARED_DEPENDENCY]); +/** + * Simple helper function that assign an error code to an error, so that it can more easily be caught and used + * by third-parties. + */ + +function internalTools_makeError(pnpCode, message, data = {}) { + const code = MODULE_NOT_FOUND_ERRORS.has(pnpCode) ? `MODULE_NOT_FOUND` : pnpCode; + const propertySpec = { + configurable: true, + writable: true, + enumerable: false + }; + return Object.defineProperties(new Error(message), { + code: { ...propertySpec, + value: code + }, + pnpCode: { ...propertySpec, + value: pnpCode + }, + data: { ...propertySpec, + value: data + } + }); +} +/** + * Returns the module that should be used to resolve require calls. It's usually the direct parent, except if we're + * inside an eval expression. + */ + +function getIssuerModule(parent) { + let issuer = parent; + + while (issuer && (issuer.id === `[eval]` || issuer.id === `` || !issuer.filename)) issuer = issuer.parent; + + return issuer || null; +} +function getPathForDisplay(p) { + return npath.normalize(npath.fromPortablePath(p)); +} +;// CONCATENATED MODULE: ./sources/loader/nodeUtils.ts + + + // @ts-expect-error + +const builtinModules = new Set(external_module_.Module.builtinModules || Object.keys(process.binding(`natives`))); +const isBuiltinModule = request => request.startsWith(`node:`) || builtinModules.has(request); // https://github.com/nodejs/node/blob/e817ba70f56c4bfd5d4a68dce8b165142312e7b6/lib/internal/modules/run_main.js#L11-L24 + +function resolveMainPath(main) { + let mainPath = external_module_.Module._findPath(npath.resolve(main), null, true); + + if (!mainPath) return false; // const preserveSymlinksMain = getOptionValue(`--preserve-symlinks-main`); + // if (!preserveSymlinksMain) + + mainPath = external_fs_default().realpathSync(mainPath); + return mainPath; +} // https://github.com/nodejs/node/blob/e817ba70f56c4bfd5d4a68dce8b165142312e7b6/lib/internal/modules/run_main.js#L26-L41 + +function shouldUseESMLoader(mainPath) { + // const userLoader = getOptionValue(`--experimental-loader`); + // if (userLoader) + // return true; + // const esModuleSpecifierResolution = + // getOptionValue(`--experimental-specifier-resolution`); + // if (esModuleSpecifierResolution === `node`) + // return true; + // Determine the module format of the main + if (mainPath && mainPath.endsWith(`.mjs`)) return true; + if (!mainPath || mainPath.endsWith(`.cjs`)) return false; + const pkg = readPackageScope(mainPath); + return pkg && pkg.data.type === `module`; +} // https://github.com/nodejs/node/blob/e817ba70f56c4bfd5d4a68dce8b165142312e7b6/lib/internal/modules/cjs/loader.js#L315-L330 + +function readPackageScope(checkPath) { + const rootSeparatorIndex = checkPath.indexOf(npath.sep); + let separatorIndex; + + do { + separatorIndex = checkPath.lastIndexOf(npath.sep); + checkPath = checkPath.slice(0, separatorIndex); + if (checkPath.endsWith(`${npath.sep}node_modules`)) return false; + const pjson = readPackage(checkPath + npath.sep); + + if (pjson) { + return { + data: pjson, + path: checkPath + }; + } + } while (separatorIndex > rootSeparatorIndex); + + return false; +} // https://github.com/nodejs/node/blob/e817ba70f56c4bfd5d4a68dce8b165142312e7b6/lib/internal/modules/cjs/loader.js#L284-L313 + +function readPackage(requestPath) { + const jsonPath = npath.resolve(requestPath, `package.json`); + if (!external_fs_default().existsSync(jsonPath)) return null; + return JSON.parse(external_fs_default().readFileSync(jsonPath, `utf8`)); +} +;// CONCATENATED MODULE: ./sources/loader/applyPatch.ts + + + + + + +function applyPatch(pnpapi, opts) { + /** + * The cache that will be used for all accesses occurring outside of a PnP context. + */ + const defaultCache = {}; + /** + * Used to disable the resolution hooks (for when we want to fallback to the previous resolution - we then need + * a way to "reset" the environment temporarily) + */ + + let enableNativeHooks = true; // @ts-expect-error + + process.versions.pnp = String(pnpapi.VERSIONS.std); + + const moduleExports = __webpack_require__(282); + + moduleExports.findPnpApi = lookupSource => { + const lookupPath = lookupSource instanceof external_url_namespaceObject.URL ? (0,external_url_namespaceObject.fileURLToPath)(lookupSource) : lookupSource; + const apiPath = opts.manager.findApiPathFor(lookupPath); + if (apiPath === null) return null; + const apiEntry = opts.manager.getApiEntry(apiPath, true); // Check if the path is ignored + + return apiEntry.instance.findPackageLocator(lookupPath) ? apiEntry.instance : null; + }; + + function getRequireStack(parent) { + const requireStack = []; + + for (let cursor = parent; cursor; cursor = cursor.parent) requireStack.push(cursor.filename || cursor.id); + + return requireStack; + } // A small note: we don't replace the cache here (and instead use the native one). This is an effort to not + // break code similar to "delete require.cache[require.resolve(FOO)]", where FOO is a package located outside + // of the Yarn dependency tree. In this case, we defer the load to the native loader. If we were to replace the + // cache by our own, the native loader would populate its own cache, which wouldn't be exposed anymore, so the + // delete call would be broken. + + + const originalModuleLoad = external_module_.Module._load; + + external_module_.Module._load = function (request, parent, isMain) { + if (!enableNativeHooks) return originalModuleLoad.call(external_module_.Module, request, parent, isMain); // Builtins are managed by the regular Node loader + + if (isBuiltinModule(request)) { + try { + enableNativeHooks = false; + return originalModuleLoad.call(external_module_.Module, request, parent, isMain); + } finally { + enableNativeHooks = true; + } + } + + const parentApiPath = opts.manager.getApiPathFromParent(parent); + const parentApi = parentApiPath !== null ? opts.manager.getApiEntry(parentApiPath, true).instance : null; // Requests that aren't covered by the PnP runtime goes through the + // parent `_load` implementation. This is required for VSCode, for example, + // which override `_load` to provide additional builtins to its extensions. + + if (parentApi === null) return originalModuleLoad(request, parent, isMain); // The 'pnpapi' name is reserved to return the PnP api currently in use + // by the program + + if (request === `pnpapi`) return parentApi; // Request `Module._resolveFilename` (ie. `resolveRequest`) to tell us + // which file we should load + + const modulePath = external_module_.Module._resolveFilename(request, parent, isMain); // We check whether the module is owned by the dependency tree of the + // module that required it. If it isn't, then we need to create a new + // store and possibly load its sandboxed PnP runtime. + + + const isOwnedByRuntime = parentApi !== null ? parentApi.findPackageLocator(modulePath) !== null : false; + const moduleApiPath = isOwnedByRuntime ? parentApiPath : opts.manager.findApiPathFor(npath.dirname(modulePath)); + const entry = moduleApiPath !== null ? opts.manager.getApiEntry(moduleApiPath) : { + instance: null, + cache: defaultCache + }; // Check if the module has already been created for the given file + + const cacheEntry = entry.cache[modulePath]; + + if (cacheEntry) { + // When a dynamic import is used in CJS files Node adds the module + // to the cache but doesn't load it so we do it here. + // + // Keep track of and check if the module is already loading to + // handle circular requires. + // + // The explicit checks are required since `@babel/register` et al. + // create modules without the `loaded` and `load` properties + if (cacheEntry.loaded === false && cacheEntry.isLoading !== true) { + try { + cacheEntry.isLoading = true; + cacheEntry.load(modulePath); + } finally { + cacheEntry.isLoading = false; + } + } + + return cacheEntry.exports; + } // Create a new module and store it into the cache + + + const module = new external_module_.Module(modulePath, parent !== null && parent !== void 0 ? parent : undefined); + module.pnpApiPath = moduleApiPath; + entry.cache[modulePath] = module; // The main module is exposed as global variable + + if (isMain) { + process.mainModule = module; + module.id = `.`; + } // Try to load the module, and remove it from the cache if it fails + + + let hasThrown = true; + + try { + module.isLoading = true; + module.load(modulePath); + hasThrown = false; + } finally { + module.isLoading = false; + + if (hasThrown) { + delete external_module_.Module._cache[modulePath]; + } + } + + return module.exports; + }; + + function getIssuerSpecsFromPaths(paths) { + return paths.map(path => ({ + apiPath: opts.manager.findApiPathFor(path), + path, + module: null + })); + } + + function getIssuerSpecsFromModule(module) { + var _a; + + if (module && module.id !== `` && module.id !== `internal/preload` && !module.parent && !module.filename && module.paths.length > 0) { + return [{ + apiPath: opts.manager.findApiPathFor(module.paths[0]), + path: module.paths[0], + module + }]; + } + + const issuer = getIssuerModule(module); + + if (issuer !== null) { + const path = npath.dirname(issuer.filename); + const apiPath = opts.manager.getApiPathFromParent(issuer); + return [{ + apiPath, + path, + module + }]; + } else { + const path = process.cwd(); + const apiPath = (_a = opts.manager.findApiPathFor(npath.join(path, `[file]`))) !== null && _a !== void 0 ? _a : opts.manager.getApiPathFromParent(null); + return [{ + apiPath, + path, + module + }]; + } + } + + function makeFakeParent(path) { + const fakeParent = new external_module_.Module(``); + const fakeFilePath = npath.join(path, `[file]`); + fakeParent.paths = external_module_.Module._nodeModulePaths(fakeFilePath); + return fakeParent; + } // Splits a require request into its components, or return null if the request is a file path + + + const pathRegExp = /^(?![a-zA-Z]:[\\/]|\\\\|\.{0,2}(?:\/|$))((?:@[^/]+\/)?[^/]+)\/*(.*|)$/; + const originalModuleResolveFilename = external_module_.Module._resolveFilename; + + external_module_.Module._resolveFilename = function (request, parent, isMain, options) { + if (isBuiltinModule(request)) return request; + if (!enableNativeHooks) return originalModuleResolveFilename.call(external_module_.Module, request, parent, isMain, options); + + if (options && options.plugnplay === false) { + const { + plugnplay, + ...rest + } = options; // Workaround a bug present in some version of Node (now fixed) + // https://github.com/nodejs/node/pull/28078 + + const forwardedOptions = Object.keys(rest).length > 0 ? rest : undefined; + + try { + enableNativeHooks = false; + return originalModuleResolveFilename.call(external_module_.Module, request, parent, isMain, forwardedOptions); + } finally { + enableNativeHooks = true; + } + } // We check that all the options present here are supported; better + // to fail fast than to introduce subtle bugs in the runtime. + + + if (options) { + const optionNames = new Set(Object.keys(options)); + optionNames.delete(`paths`); + optionNames.delete(`plugnplay`); + + if (optionNames.size > 0) { + throw internalTools_makeError(ErrorCode.UNSUPPORTED, `Some options passed to require() aren't supported by PnP yet (${Array.from(optionNames).join(`, `)})`); + } + } + + const issuerSpecs = options && options.paths ? getIssuerSpecsFromPaths(options.paths) : getIssuerSpecsFromModule(parent); + + if (request.match(pathRegExp) === null) { + const parentDirectory = (parent === null || parent === void 0 ? void 0 : parent.filename) != null ? npath.dirname(parent.filename) : null; + const absoluteRequest = npath.isAbsolute(request) ? request : parentDirectory !== null ? npath.resolve(parentDirectory, request) : null; + + if (absoluteRequest !== null) { + const apiPath = parentDirectory === npath.dirname(absoluteRequest) && (parent === null || parent === void 0 ? void 0 : parent.pnpApiPath) ? parent.pnpApiPath : opts.manager.findApiPathFor(absoluteRequest); + + if (apiPath !== null) { + issuerSpecs.unshift({ + apiPath, + path: parentDirectory, + module: null + }); + } + } + } + + let firstError; + + for (const { + apiPath, + path, + module + } of issuerSpecs) { + let resolution; + const issuerApi = apiPath !== null ? opts.manager.getApiEntry(apiPath, true).instance : null; + + try { + if (issuerApi !== null) { + resolution = issuerApi.resolveRequest(request, path !== null ? `${path}/` : null); + } else { + if (path === null) throw new Error(`Assertion failed: Expected the path to be set`); + resolution = originalModuleResolveFilename.call(external_module_.Module, request, module || makeFakeParent(path), isMain); + } + } catch (error) { + firstError = firstError || error; + continue; + } + + if (resolution !== null) { + return resolution; + } + } + + const requireStack = getRequireStack(parent); + Object.defineProperty(firstError, `requireStack`, { + configurable: true, + writable: true, + enumerable: false, + value: requireStack + }); + if (requireStack.length > 0) firstError.message += `\nRequire stack:\n- ${requireStack.join(`\n- `)}`; + if (typeof firstError.pnpCode === `string`) Error.captureStackTrace(firstError); + throw firstError; + }; + + const originalFindPath = external_module_.Module._findPath; + + external_module_.Module._findPath = function (request, paths, isMain) { + if (request === `pnpapi`) return false; + if (!enableNativeHooks) return originalFindPath.call(external_module_.Module, request, paths, isMain); // https://github.com/nodejs/node/blob/e817ba70f56c4bfd5d4a68dce8b165142312e7b6/lib/internal/modules/cjs/loader.js#L490-L494 + + const isAbsolute = npath.isAbsolute(request); + if (isAbsolute) paths = [``];else if (!paths || paths.length === 0) return false; + + for (const path of paths) { + let resolution; + + try { + const pnpApiPath = opts.manager.findApiPathFor(isAbsolute ? request : path); + + if (pnpApiPath !== null) { + const api = opts.manager.getApiEntry(pnpApiPath, true).instance; + resolution = api.resolveRequest(request, path) || false; + } else { + resolution = originalFindPath.call(external_module_.Module, request, [path], isMain); + } + } catch (error) { + continue; + } + + if (resolution) { + return resolution; + } + } + + return false; + }; // Specifying the `--experimental-loader` flag makes Node enter ESM mode so we change it to not do that + // https://github.com/nodejs/node/blob/e817ba70f56c4bfd5d4a68dce8b165142312e7b6/lib/internal/modules/run_main.js#L72-L81 + // Tested by https://github.com/yarnpkg/berry/blob/d80ee2dc5298d31eb864288d77671a2264713371/packages/acceptance-tests/pkg-tests-specs/sources/pnp-esm.test.ts#L226-L244 + // Upstream issue https://github.com/nodejs/node/issues/33226 + + + const originalRunMain = moduleExports.runMain; + + moduleExports.runMain = function (main = process.argv[1]) { + const resolvedMain = resolveMainPath(main); + const useESMLoader = resolvedMain ? shouldUseESMLoader(resolvedMain) : false; + + if (useESMLoader) { + originalRunMain(main); + } else { + external_module_.Module._load(main, null, true); + } + }; + + patchFs((external_fs_default()), new PosixFS(opts.fakeFs)); +} +;// CONCATENATED MODULE: ./sources/loader/hydrateRuntimeState.ts + +function hydrateRuntimeState(data, { + basePath +}) { + const portablePath = npath.toPortablePath(basePath); + const absolutePortablePath = ppath.resolve(portablePath); + const ignorePattern = data.ignorePatternData !== null ? new RegExp(data.ignorePatternData) : null; + const packageLocatorsByLocations = new Map(); + const packageRegistry = new Map(data.packageRegistryData.map(([packageName, packageStoreData]) => { + return [packageName, new Map(packageStoreData.map(([packageReference, packageInformationData]) => { + var _a; + + if (packageName === null !== (packageReference === null)) throw new Error(`Assertion failed: The name and reference should be null, or neither should`); + const discardFromLookup = (_a = packageInformationData.discardFromLookup) !== null && _a !== void 0 ? _a : false; // @ts-expect-error: TypeScript isn't smart enough to understand the type assertion + + const packageLocator = { + name: packageName, + reference: packageReference + }; + const entry = packageLocatorsByLocations.get(packageInformationData.packageLocation); + + if (!entry) { + packageLocatorsByLocations.set(packageInformationData.packageLocation, { + locator: packageLocator, + discardFromLookup + }); + } else { + entry.discardFromLookup = entry.discardFromLookup && discardFromLookup; + + if (!discardFromLookup) { + entry.locator = packageLocator; + } + } + + let resolvedPackageLocation = null; + return [packageReference, { + packageDependencies: new Map(packageInformationData.packageDependencies), + packagePeers: new Set(packageInformationData.packagePeers), + linkType: packageInformationData.linkType, + discardFromLookup, + + // we only need this for packages that are used by the currently running script + // this is a lazy getter because `ppath.join` has some overhead + get packageLocation() { + // We use ppath.join instead of ppath.resolve because: + // 1) packageInformationData.packageLocation is a relative path when part of the SerializedState + // 2) ppath.join preserves trailing slashes + return resolvedPackageLocation || (resolvedPackageLocation = ppath.join(absolutePortablePath, packageInformationData.packageLocation)); + } + + }]; + }))]; + })); + const fallbackExclusionList = new Map(data.fallbackExclusionList.map(([packageName, packageReferences]) => { + return [packageName, new Set(packageReferences)]; + })); + const fallbackPool = new Map(data.fallbackPool); + const dependencyTreeRoots = data.dependencyTreeRoots; + const enableTopLevelFallback = data.enableTopLevelFallback; + return { + basePath: portablePath, + dependencyTreeRoots, + enableTopLevelFallback, + fallbackExclusionList, + fallbackPool, + ignorePattern, + packageLocatorsByLocations, + packageRegistry + }; +} +;// CONCATENATED MODULE: ../../.yarn/cache/resolve.exports-npm-1.1.0-81756e03ba-52865af8ed.zip/node_modules/resolve.exports/dist/index.mjs +/** + * @param {object} exports + * @param {Set} keys + */ +function loop(exports, keys) { + if (typeof exports === 'string') { + return exports; + } + + if (exports) { + let idx, tmp; + if (Array.isArray(exports)) { + for (idx=0; idx < exports.length; idx++) { + if (tmp = loop(exports[idx], keys)) return tmp; + } + } else { + for (idx in exports) { + if (keys.has(idx)) { + return loop(exports[idx], keys); + } + } + } + } +} + +/** + * @param {string} name The package name + * @param {string} entry The target entry, eg "." + * @param {number} [condition] Unmatched condition? + */ +function bail(name, entry, condition) { + throw new Error( + condition + ? `No known conditions for "${entry}" entry in "${name}" package` + : `Missing "${entry}" export in "${name}" package` + ); +} + +/** + * @param {string} name the package name + * @param {string} entry the target path/import + */ +function toName(name, entry) { + return entry === name ? '.' + : entry[0] === '.' ? entry + : entry.replace(new RegExp('^' + name + '\/'), './'); +} + +/** + * @param {object} pkg package.json contents + * @param {string} [entry] entry name or import path + * @param {object} [options] + * @param {boolean} [options.browser] + * @param {boolean} [options.require] + * @param {string[]} [options.conditions] + * @param {boolean} [options.unsafe] + */ +function resolve(pkg, entry='.', options={}) { + let { name, exports } = pkg; + + if (exports) { + let { browser, require, unsafe, conditions=[] } = options; + + let target = toName(name, entry); + if (target[0] !== '.') target = './' + target; + + if (typeof exports === 'string') { + return target === '.' ? exports : bail(name, target); + } + + let allows = new Set(['default', ...conditions]); + unsafe || allows.add(require ? 'require' : 'import'); + unsafe || allows.add(browser ? 'browser' : 'node'); + + let key, tmp, isSingle=false; + + for (key in exports) { + isSingle = key[0] !== '.'; + break; + } + + if (isSingle) { + return target === '.' + ? loop(exports, allows) || bail(name, target, 1) + : bail(name, target); + } + + if (tmp = exports[target]) { + return loop(tmp, allows) || bail(name, target, 1); + } + + for (key in exports) { + tmp = key[key.length - 1]; + if (tmp === '/' && target.startsWith(key)) { + return (tmp = loop(exports[key], allows)) + ? (tmp + target.substring(key.length)) + : bail(name, target, 1); + } + if (tmp === '*' && target.startsWith(key.slice(0, -1))) { + // do not trigger if no *content* to inject + if (target.substring(key.length - 1).length > 0) { + return (tmp = loop(exports[key], allows)) + ? tmp.replace('*', target.substring(key.length - 1)) + : bail(name, target, 1); + } + } + } + + return bail(name, target); + } +} + +/** + * @param {object} pkg + * @param {object} [options] + * @param {string|boolean} [options.browser] + * @param {string[]} [options.fields] + */ +function legacy(pkg, options={}) { + let i=0, value, + browser = options.browser, + fields = options.fields || ['module', 'main']; + + if (browser && !fields.includes('browser')) { + fields.unshift('browser'); + } + + for (; i < fields.length; i++) { + if (value = pkg[fields[i]]) { + if (typeof value == 'string') { + // + } else if (typeof value == 'object' && fields[i] == 'browser') { + if (typeof browser == 'string') { + value = value[browser=toName(pkg.name, browser)]; + if (value == null) return browser; + } + } else { + continue; + } + + return typeof value == 'string' + ? ('./' + value.replace(/^\.?\//, '')) + : value; + } + } +} + +;// CONCATENATED MODULE: ./sources/loader/makeApi.ts + + + + + + +function makeApi(runtimeState, opts) { + const alwaysWarnOnFallback = Number(process.env.PNP_ALWAYS_WARN_ON_FALLBACK) > 0; + const debugLevel = Number(process.env.PNP_DEBUG_LEVEL); // @ts-expect-error + + const builtinModules = new Set(external_module_.Module.builtinModules || Object.keys(process.binding(`natives`))); + + const isBuiltinModule = request => builtinModules.has(request) || request.startsWith(`node:`); // Splits a require request into its components, or return null if the request is a file path + + + const pathRegExp = /^(?![a-zA-Z]:[\\/]|\\\\|\.{0,2}(?:\/|$))((?:node:)?(?:@[^/]+\/)?[^/]+)\/*(.*|)$/; // Matches if the path starts with a valid path qualifier (./, ../, /) + // eslint-disable-next-line no-unused-vars + + const isStrictRegExp = /^(\/|\.{1,2}(\/|$))/; // Matches if the path must point to a directory (ie ends with /) + + const isDirRegExp = /\/$/; // Matches if the path starts with a relative path qualifier (./, ../) + + const isRelativeRegexp = /^\.{0,2}\//; // We only instantiate one of those so that we can use strict-equal comparisons + + const topLevelLocator = { + name: null, + reference: null + }; // Used for compatibility purposes - cf setupCompatibilityLayer + + const fallbackLocators = []; // To avoid emitting the same warning multiple times + + const emittedWarnings = new Set(); + if (runtimeState.enableTopLevelFallback === true) fallbackLocators.push(topLevelLocator); + + if (opts.compatibilityMode !== false) { + // ESLint currently doesn't have any portable way for shared configs to + // specify their own plugins that should be used (cf issue #10125). This + // will likely get fixed at some point but it'll take time, so in the + // meantime we'll just add additional fallback entries for common shared + // configs. + // Similarly, Gatsby generates files within the `public` folder located + // within the project, but doesn't pre-resolve the `require` calls to use + // its own dependencies. Meaning that when PnP see a file from the `public` + // folder making a require, it thinks that your project forgot to list one + // of your dependencies. + for (const name of [`react-scripts`, `gatsby`]) { + const packageStore = runtimeState.packageRegistry.get(name); + + if (packageStore) { + for (const reference of packageStore.keys()) { + if (reference === null) { + throw new Error(`Assertion failed: This reference shouldn't be null`); + } else { + fallbackLocators.push({ + name, + reference + }); + } + } + } + } + } + /** + * The setup code will be injected here. The tables listed below are guaranteed to be filled after the call to + * the $$DYNAMICALLY_GENERATED_CODE function. + */ + + + const { + ignorePattern, + packageRegistry, + packageLocatorsByLocations + } = runtimeState; + /** + * Allows to print useful logs just be setting a value in the environment + */ + + function makeLogEntry(name, args) { + return { + fn: name, + args, + error: null, + result: null + }; + } + + function trace(entry) { + var _a, _b, _c, _d, _e, _f; + + const colors = (_c = (_b = (_a = process.stderr) === null || _a === void 0 ? void 0 : _a.hasColors) === null || _b === void 0 ? void 0 : _b.call(_a)) !== null && _c !== void 0 ? _c : process.stdout.isTTY; + + const c = (n, str) => `\u001b[${n}m${str}\u001b[0m`; + + const error = entry.error; + if (error) console.error(c(`31;1`, `✖ ${(_d = entry.error) === null || _d === void 0 ? void 0 : _d.message.replace(/\n.*/s, ``)}`));else console.error(c(`33;1`, `‼ Resolution`)); + if (entry.args.length > 0) console.error(); + + for (const arg of entry.args) console.error(` ${c(`37;1`, `In ←`)} ${(0,external_util_namespaceObject.inspect)(arg, { + colors, + compact: true + })}`); + + if (entry.result) { + console.error(); + console.error(` ${c(`37;1`, `Out →`)} ${(0,external_util_namespaceObject.inspect)(entry.result, { + colors, + compact: true + })}`); + } + + const stack = (_f = (_e = new Error().stack.match(/(?<=^ +)at.*/gm)) === null || _e === void 0 ? void 0 : _e.slice(2)) !== null && _f !== void 0 ? _f : []; + + if (stack.length > 0) { + console.error(); + + for (const line of stack) { + console.error(` ${c(`38;5;244`, line)}`); + } + } + + console.error(); + } + + function maybeLog(name, fn) { + if (opts.allowDebug === false) return fn; + + if (Number.isFinite(debugLevel)) { + if (debugLevel >= 2) { + return (...args) => { + const logEntry = makeLogEntry(name, args); + + try { + return logEntry.result = fn(...args); + } catch (error) { + throw logEntry.error = error; + } finally { + trace(logEntry); + } + }; + } else if (debugLevel >= 1) { + return (...args) => { + try { + return fn(...args); + } catch (error) { + const logEntry = makeLogEntry(name, args); + logEntry.error = error; + trace(logEntry); + throw error; + } + }; + } + } + + return fn; + } + /** + * Returns information about a package in a safe way (will throw if they cannot be retrieved) + */ + + + function getPackageInformationSafe(packageLocator) { + const packageInformation = getPackageInformation(packageLocator); + + if (!packageInformation) { + throw internalTools_makeError(ErrorCode.INTERNAL, `Couldn't find a matching entry in the dependency tree for the specified parent (this is probably an internal error)`); + } + + return packageInformation; + } + /** + * Returns whether the specified locator is a dependency tree root (in which case it's part of the project) or not + */ + + + function isDependencyTreeRoot(packageLocator) { + if (packageLocator.name === null) return true; + + for (const dependencyTreeRoot of runtimeState.dependencyTreeRoots) if (dependencyTreeRoot.name === packageLocator.name && dependencyTreeRoot.reference === packageLocator.reference) return true; + + return false; + } + + const defaultExportsConditions = new Set([`default`, `node`, `require`]); + /** + * Implements the node resolution for the "exports" field + * + * @returns The remapped path or `null` if the package doesn't have a package.json or an "exports" field + */ + + function applyNodeExportsResolution(unqualifiedPath, conditions = defaultExportsConditions) { + const locator = findPackageLocator(ppath.join(unqualifiedPath, `internal.js`), { + resolveIgnored: true, + includeDiscardFromLookup: true + }); + + if (locator === null) { + throw internalTools_makeError(ErrorCode.INTERNAL, `The locator that owns the "${unqualifiedPath}" path can't be found inside the dependency tree (this is probably an internal error)`); + } + + const { + packageLocation + } = getPackageInformationSafe(locator); + const manifestPath = ppath.join(packageLocation, Filename.manifest); + if (!opts.fakeFs.existsSync(manifestPath)) return null; + const pkgJson = JSON.parse(opts.fakeFs.readFileSync(manifestPath, `utf8`)); + let subpath = ppath.contains(packageLocation, unqualifiedPath); + + if (subpath === null) { + throw internalTools_makeError(ErrorCode.INTERNAL, `unqualifiedPath doesn't contain the packageLocation (this is probably an internal error)`); + } + + if (!isRelativeRegexp.test(subpath)) subpath = `./${subpath}`; + const resolvedExport = resolve(pkgJson, ppath.normalize(subpath), { + // TODO: implement support for the --conditions flag + // Waiting on https://github.com/nodejs/node/issues/36935 + // @ts-expect-error - Type should be Iterable + conditions, + unsafe: true + }); + if (typeof resolvedExport === `string`) return ppath.join(packageLocation, resolvedExport); + return null; + } + /** + * Implements the node resolution for folder access and extension selection + */ + + + function applyNodeExtensionResolution(unqualifiedPath, candidates, { + extensions + }) { + let stat; + + try { + candidates.push(unqualifiedPath); + stat = opts.fakeFs.statSync(unqualifiedPath); + } catch (error) {} // If the file exists and is a file, we can stop right there + + + if (stat && !stat.isDirectory()) return opts.fakeFs.realpathSync(unqualifiedPath); // If the file is a directory, we must check if it contains a package.json with a "main" entry + + if (stat && stat.isDirectory()) { + let pkgJson; + + try { + pkgJson = JSON.parse(opts.fakeFs.readFileSync(ppath.join(unqualifiedPath, Filename.manifest), `utf8`)); + } catch (error) {} + + let nextUnqualifiedPath; + if (pkgJson && pkgJson.main) nextUnqualifiedPath = ppath.resolve(unqualifiedPath, pkgJson.main); // If the "main" field changed the path, we start again from this new location + + if (nextUnqualifiedPath && nextUnqualifiedPath !== unqualifiedPath) { + const resolution = applyNodeExtensionResolution(nextUnqualifiedPath, candidates, { + extensions + }); + + if (resolution !== null) { + return resolution; + } + } + } // Otherwise we check if we find a file that match one of the supported extensions + + + for (let i = 0, length = extensions.length; i < length; i++) { + const candidateFile = `${unqualifiedPath}${extensions[i]}`; + candidates.push(candidateFile); + + if (opts.fakeFs.existsSync(candidateFile)) { + return candidateFile; + } + } // Otherwise, we check if the path is a folder - in such a case, we try to use its index + + + if (stat && stat.isDirectory()) { + for (let i = 0, length = extensions.length; i < length; i++) { + const candidateFile = ppath.format({ + dir: unqualifiedPath, + name: `index`, + ext: extensions[i] + }); + candidates.push(candidateFile); + + if (opts.fakeFs.existsSync(candidateFile)) { + return candidateFile; + } + } + } // Otherwise there's nothing else we can do :( + + + return null; + } + /** + * This function creates fake modules that can be used with the _resolveFilename function. + * Ideally it would be nice to be able to avoid this, since it causes useless allocations + * and cannot be cached efficiently (we recompute the nodeModulePaths every time). + * + * Fortunately, this should only affect the fallback, and there hopefully shouldn't have a + * lot of them. + */ + + + function makeFakeModule(path) { + // @ts-expect-error + const fakeModule = new external_module_.Module(path, null); + fakeModule.filename = path; + fakeModule.paths = external_module_.Module._nodeModulePaths(path); + return fakeModule; + } + /** + * Forward the resolution to the next resolver (usually the native one) + */ + + + function callNativeResolution(request, issuer) { + if (issuer.endsWith(`/`)) issuer = ppath.join(issuer, `internal.js`); // Since we would need to create a fake module anyway (to call _resolveLookupPath that + // would give us the paths to give to _resolveFilename), we can as well not use + // the {paths} option at all, since it internally makes _resolveFilename create another + // fake module anyway. + + return external_module_.Module._resolveFilename(npath.fromPortablePath(request), makeFakeModule(npath.fromPortablePath(issuer)), false, { + plugnplay: false + }); + } + /** + * + */ + + + function isPathIgnored(path) { + if (ignorePattern === null) return false; + const subPath = ppath.contains(runtimeState.basePath, path); + if (subPath === null) return false; + + if (ignorePattern.test(subPath.replace(/\/$/, ``))) { + return true; + } else { + return false; + } + } + /** + * This key indicates which version of the standard is implemented by this resolver. The `std` key is the + * Plug'n'Play standard, and any other key are third-party extensions. Third-party extensions are not allowed + * to override the standard, and can only offer new methods. + * + * If a new version of the Plug'n'Play standard is released and some extensions conflict with newly added + * functions, they'll just have to fix the conflicts and bump their own version number. + */ + + + const VERSIONS = { + std: 3, + resolveVirtual: 1, + getAllLocators: 1 + }; + /** + * We export a special symbol for easy access to the top level locator. + */ + + const topLevel = topLevelLocator; + /** + * Gets the package information for a given locator. Returns null if they cannot be retrieved. + */ + + function getPackageInformation({ + name, + reference + }) { + const packageInformationStore = packageRegistry.get(name); + if (!packageInformationStore) return null; + const packageInformation = packageInformationStore.get(reference); + if (!packageInformation) return null; + return packageInformation; + } + /** + * Find all packages that depend on the specified one. + * + * Note: This is a private function; we expect consumers to implement it + * themselves. We keep it that way because this implementation isn't + * optimized at all, since we only need it when printing errors. + */ + + + function findPackageDependents({ + name, + reference + }) { + const dependents = []; + + for (const [dependentName, packageInformationStore] of packageRegistry) { + if (dependentName === null) continue; + + for (const [dependentReference, packageInformation] of packageInformationStore) { + if (dependentReference === null) continue; + const dependencyReference = packageInformation.packageDependencies.get(name); + if (dependencyReference !== reference) continue; // Don't forget that all packages depend on themselves + + if (dependentName === name && dependentReference === reference) continue; + dependents.push({ + name: dependentName, + reference: dependentReference + }); + } + } + + return dependents; + } + /** + * Find all packages that broke the peer dependency on X, starting from Y. + * + * Note: This is a private function; we expect consumers to implement it + * themselves. We keep it that way because this implementation isn't + * optimized at all, since we only need it when printing errors. + */ + + + function findBrokenPeerDependencies(dependency, initialPackage) { + const brokenPackages = new Map(); + const alreadyVisited = new Set(); + + const traversal = currentPackage => { + const identifier = JSON.stringify(currentPackage.name); + if (alreadyVisited.has(identifier)) return; + alreadyVisited.add(identifier); + const dependents = findPackageDependents(currentPackage); + + for (const dependent of dependents) { + const dependentInformation = getPackageInformationSafe(dependent); + + if (dependentInformation.packagePeers.has(dependency)) { + traversal(dependent); + } else { + let brokenSet = brokenPackages.get(dependent.name); + if (typeof brokenSet === `undefined`) brokenPackages.set(dependent.name, brokenSet = new Set()); + brokenSet.add(dependent.reference); + } + } + }; + + traversal(initialPackage); + const brokenList = []; + + for (const name of [...brokenPackages.keys()].sort()) for (const reference of [...brokenPackages.get(name)].sort()) brokenList.push({ + name, + reference + }); + + return brokenList; + } + /** + * Finds the package locator that owns the specified path. If none is found, returns null instead. + */ + + + function findPackageLocator(location, { + resolveIgnored = false, + includeDiscardFromLookup = false + } = {}) { + if (isPathIgnored(location) && !resolveIgnored) return null; + let relativeLocation = ppath.relative(runtimeState.basePath, location); + if (!relativeLocation.match(isStrictRegExp)) relativeLocation = `./${relativeLocation}`; + if (!relativeLocation.endsWith(`/`)) relativeLocation = `${relativeLocation}/`; + + do { + const entry = packageLocatorsByLocations.get(relativeLocation); + + if (typeof entry === `undefined` || entry.discardFromLookup && !includeDiscardFromLookup) { + relativeLocation = relativeLocation.substring(0, relativeLocation.lastIndexOf(`/`, relativeLocation.length - 2) + 1); + continue; + } + + return entry.locator; + } while (relativeLocation !== ``); + + return null; + } + /** + * Transforms a request (what's typically passed as argument to the require function) into an unqualified path. + * This path is called "unqualified" because it only changes the package name to the package location on the disk, + * which means that the end result still cannot be directly accessed (for example, it doesn't try to resolve the + * file extension, or to resolve directories to their "index.js" content). Use the "resolveUnqualified" function + * to convert them to fully-qualified paths, or just use "resolveRequest" that do both operations in one go. + * + * Note that it is extremely important that the `issuer` path ends with a forward slash if the issuer is to be + * treated as a folder (ie. "/tmp/foo/" rather than "/tmp/foo" if "foo" is a directory). Otherwise relative + * imports won't be computed correctly (they'll get resolved relative to "/tmp/" instead of "/tmp/foo/"). + */ + + + function resolveToUnqualified(request, issuer, { + considerBuiltins = true + } = {}) { + // The 'pnpapi' request is reserved and will always return the path to the PnP file, from everywhere + if (request === `pnpapi`) return npath.toPortablePath(opts.pnpapiResolution); // Bailout if the request is a native module + + if (considerBuiltins && isBuiltinModule(request)) return null; + const requestForDisplay = getPathForDisplay(request); + const issuerForDisplay = issuer && getPathForDisplay(issuer); // We allow disabling the pnp resolution for some subpaths. + // This is because some projects, often legacy, contain multiple + // levels of dependencies (ie. a yarn.lock inside a subfolder of + // a yarn.lock). This is typically solved using workspaces, but + // not all of them have been converted already. + + if (issuer && isPathIgnored(issuer)) { + // Absolute paths that seem to belong to a PnP tree are still + // handled by our runtime even if the issuer isn't. This is + // because the native Node resolution uses a special version + // of the `stat` syscall which would otherwise bypass the + // filesystem layer we require to access the files. + if (!ppath.isAbsolute(request) || findPackageLocator(request) === null) { + const result = callNativeResolution(request, issuer); + + if (result === false) { + throw internalTools_makeError(ErrorCode.BUILTIN_NODE_RESOLUTION_FAILED, `The builtin node resolution algorithm was unable to resolve the requested module (it didn't go through the pnp resolver because the issuer was explicitely ignored by the regexp)\n\nRequire request: "${requestForDisplay}"\nRequired by: ${issuerForDisplay}\n`, { + request: requestForDisplay, + issuer: issuerForDisplay + }); + } + + return npath.toPortablePath(result); + } + } + + let unqualifiedPath; // If the request is a relative or absolute path, we just return it normalized + + const dependencyNameMatch = request.match(pathRegExp); + + if (!dependencyNameMatch) { + if (ppath.isAbsolute(request)) { + unqualifiedPath = ppath.normalize(request); + } else { + if (!issuer) { + throw internalTools_makeError(ErrorCode.API_ERROR, `The resolveToUnqualified function must be called with a valid issuer when the path isn't a builtin nor absolute`, { + request: requestForDisplay, + issuer: issuerForDisplay + }); + } // We use ppath.join instead of ppath.resolve because: + // 1) The request is a relative path in this branch + // 2) ppath.join preserves trailing slashes + + + const absoluteIssuer = ppath.resolve(issuer); + + if (issuer.match(isDirRegExp)) { + unqualifiedPath = ppath.normalize(ppath.join(absoluteIssuer, request)); + } else { + unqualifiedPath = ppath.normalize(ppath.join(ppath.dirname(absoluteIssuer), request)); + } + } + } else { + // Things are more hairy if it's a package require - we then need to figure out which package is needed, and in + // particular the exact version for the given location on the dependency tree + if (!issuer) { + throw internalTools_makeError(ErrorCode.API_ERROR, `The resolveToUnqualified function must be called with a valid issuer when the path isn't a builtin nor absolute`, { + request: requestForDisplay, + issuer: issuerForDisplay + }); + } + + const [, dependencyName, subPath] = dependencyNameMatch; + const issuerLocator = findPackageLocator(issuer); // If the issuer file doesn't seem to be owned by a package managed through pnp, then we resort to using the next + // resolution algorithm in the chain, usually the native Node resolution one + + if (!issuerLocator) { + const result = callNativeResolution(request, issuer); + + if (result === false) { + throw internalTools_makeError(ErrorCode.BUILTIN_NODE_RESOLUTION_FAILED, `The builtin node resolution algorithm was unable to resolve the requested module (it didn't go through the pnp resolver because the issuer doesn't seem to be part of the Yarn-managed dependency tree).\n\nRequire path: "${requestForDisplay}"\nRequired by: ${issuerForDisplay}\n`, { + request: requestForDisplay, + issuer: issuerForDisplay + }); + } + + return npath.toPortablePath(result); + } + + const issuerInformation = getPackageInformationSafe(issuerLocator); // We obtain the dependency reference in regard to the package that request it + + let dependencyReference = issuerInformation.packageDependencies.get(dependencyName); + let fallbackReference = null; // If we can't find it, we check if we can potentially load it from the packages that have been defined as potential fallbacks. + // It's a bit of a hack, but it improves compatibility with the existing Node ecosystem. Hopefully we should eventually be able + // to kill this logic and become stricter once pnp gets enough traction and the affected packages fix themselves. + + if (dependencyReference == null) { + if (issuerLocator.name !== null) { + // To allow programs to become gradually stricter, starting from the v2 we enforce that workspaces cannot depend on fallbacks. + // This works by having a list containing all their locators, and checking when a fallback is required whether it's one of them. + const exclusionEntry = runtimeState.fallbackExclusionList.get(issuerLocator.name); + const canUseFallbacks = !exclusionEntry || !exclusionEntry.has(issuerLocator.reference); + + if (canUseFallbacks) { + for (let t = 0, T = fallbackLocators.length; t < T; ++t) { + const fallbackInformation = getPackageInformationSafe(fallbackLocators[t]); + const reference = fallbackInformation.packageDependencies.get(dependencyName); + if (reference == null) continue; + if (alwaysWarnOnFallback) fallbackReference = reference;else dependencyReference = reference; + break; + } + + if (runtimeState.enableTopLevelFallback) { + if (dependencyReference == null && fallbackReference === null) { + const reference = runtimeState.fallbackPool.get(dependencyName); + + if (reference != null) { + fallbackReference = reference; + } + } + } + } + } + } // If we can't find the path, and if the package making the request is the top-level, we can offer nicer error messages + + + let error = null; + + if (dependencyReference === null) { + if (isDependencyTreeRoot(issuerLocator)) { + error = internalTools_makeError(ErrorCode.MISSING_PEER_DEPENDENCY, `Your application tried to access ${dependencyName} (a peer dependency); this isn't allowed as there is no ancestor to satisfy the requirement. Use a devDependency if needed.\n\nRequired package: ${dependencyName}${dependencyName !== requestForDisplay ? ` (via "${requestForDisplay}")` : ``}\nRequired by: ${issuerForDisplay}\n`, { + request: requestForDisplay, + issuer: issuerForDisplay, + dependencyName + }); + } else { + const brokenAncestors = findBrokenPeerDependencies(dependencyName, issuerLocator); + + if (brokenAncestors.every(ancestor => isDependencyTreeRoot(ancestor))) { + error = internalTools_makeError(ErrorCode.MISSING_PEER_DEPENDENCY, `${issuerLocator.name} tried to access ${dependencyName} (a peer dependency) but it isn't provided by your application; this makes the require call ambiguous and unsound.\n\nRequired package: ${dependencyName}${dependencyName !== requestForDisplay ? ` (via "${requestForDisplay}")` : ``}\nRequired by: ${issuerLocator.name}@${issuerLocator.reference} (via ${issuerForDisplay})\n${brokenAncestors.map(ancestorLocator => `Ancestor breaking the chain: ${ancestorLocator.name}@${ancestorLocator.reference}\n`).join(``)}\n`, { + request: requestForDisplay, + issuer: issuerForDisplay, + issuerLocator: Object.assign({}, issuerLocator), + dependencyName, + brokenAncestors + }); + } else { + error = internalTools_makeError(ErrorCode.MISSING_PEER_DEPENDENCY, `${issuerLocator.name} tried to access ${dependencyName} (a peer dependency) but it isn't provided by its ancestors; this makes the require call ambiguous and unsound.\n\nRequired package: ${dependencyName}${dependencyName !== requestForDisplay ? ` (via "${requestForDisplay}")` : ``}\nRequired by: ${issuerLocator.name}@${issuerLocator.reference} (via ${issuerForDisplay})\n\n${brokenAncestors.map(ancestorLocator => `Ancestor breaking the chain: ${ancestorLocator.name}@${ancestorLocator.reference}\n`).join(``)}\n`, { + request: requestForDisplay, + issuer: issuerForDisplay, + issuerLocator: Object.assign({}, issuerLocator), + dependencyName, + brokenAncestors + }); + } + } + } else if (dependencyReference === undefined) { + if (!considerBuiltins && isBuiltinModule(request)) { + if (isDependencyTreeRoot(issuerLocator)) { + error = internalTools_makeError(ErrorCode.UNDECLARED_DEPENDENCY, `Your application tried to access ${dependencyName}. While this module is usually interpreted as a Node builtin, your resolver is running inside a non-Node resolution context where such builtins are ignored. Since ${dependencyName} isn't otherwise declared in your dependencies, this makes the require call ambiguous and unsound.\n\nRequired package: ${dependencyName}${dependencyName !== requestForDisplay ? ` (via "${requestForDisplay}")` : ``}\nRequired by: ${issuerForDisplay}\n`, { + request: requestForDisplay, + issuer: issuerForDisplay, + dependencyName + }); + } else { + error = internalTools_makeError(ErrorCode.UNDECLARED_DEPENDENCY, `${issuerLocator.name} tried to access ${dependencyName}. While this module is usually interpreted as a Node builtin, your resolver is running inside a non-Node resolution context where such builtins are ignored. Since ${dependencyName} isn't otherwise declared in ${issuerLocator.name}'s dependencies, this makes the require call ambiguous and unsound.\n\nRequired package: ${dependencyName}${dependencyName !== requestForDisplay ? ` (via "${requestForDisplay}")` : ``}\nRequired by: ${issuerForDisplay}\n`, { + request: requestForDisplay, + issuer: issuerForDisplay, + issuerLocator: Object.assign({}, issuerLocator), + dependencyName + }); + } + } else { + if (isDependencyTreeRoot(issuerLocator)) { + error = internalTools_makeError(ErrorCode.UNDECLARED_DEPENDENCY, `Your application tried to access ${dependencyName}, but it isn't declared in your dependencies; this makes the require call ambiguous and unsound.\n\nRequired package: ${dependencyName}${dependencyName !== requestForDisplay ? ` (via "${requestForDisplay}")` : ``}\nRequired by: ${issuerForDisplay}\n`, { + request: requestForDisplay, + issuer: issuerForDisplay, + dependencyName + }); + } else { + error = internalTools_makeError(ErrorCode.UNDECLARED_DEPENDENCY, `${issuerLocator.name} tried to access ${dependencyName}, but it isn't declared in its dependencies; this makes the require call ambiguous and unsound.\n\nRequired package: ${dependencyName}${dependencyName !== requestForDisplay ? ` (via "${requestForDisplay}")` : ``}\nRequired by: ${issuerLocator.name}@${issuerLocator.reference} (via ${issuerForDisplay})\n`, { + request: requestForDisplay, + issuer: issuerForDisplay, + issuerLocator: Object.assign({}, issuerLocator), + dependencyName + }); + } + } + } + + if (dependencyReference == null) { + if (fallbackReference === null || error === null) throw error || new Error(`Assertion failed: Expected an error to have been set`); + dependencyReference = fallbackReference; + const message = error.message.replace(/\n.*/g, ``); + error.message = message; + + if (!emittedWarnings.has(message) && debugLevel !== 0) { + emittedWarnings.add(message); + process.emitWarning(error); + } + } // We need to check that the package exists on the filesystem, because it might not have been installed + + + const dependencyLocator = Array.isArray(dependencyReference) ? { + name: dependencyReference[0], + reference: dependencyReference[1] + } : { + name: dependencyName, + reference: dependencyReference + }; + const dependencyInformation = getPackageInformationSafe(dependencyLocator); + + if (!dependencyInformation.packageLocation) { + throw internalTools_makeError(ErrorCode.MISSING_DEPENDENCY, `A dependency seems valid but didn't get installed for some reason. This might be caused by a partial install, such as dev vs prod.\n\nRequired package: ${dependencyLocator.name}@${dependencyLocator.reference}${dependencyLocator.name !== requestForDisplay ? ` (via "${requestForDisplay}")` : ``}\nRequired by: ${issuerLocator.name}@${issuerLocator.reference} (via ${issuerForDisplay})\n`, { + request: requestForDisplay, + issuer: issuerForDisplay, + dependencyLocator: Object.assign({}, dependencyLocator) + }); + } // Now that we know which package we should resolve to, we only have to find out the file location + // packageLocation is always absolute as it's returned by getPackageInformationSafe + + + const dependencyLocation = dependencyInformation.packageLocation; + + if (subPath) { + // We use ppath.join instead of ppath.resolve because: + // 1) subPath is always a relative path + // 2) ppath.join preserves trailing slashes + unqualifiedPath = ppath.join(dependencyLocation, subPath); + } else { + unqualifiedPath = dependencyLocation; + } + } + + return ppath.normalize(unqualifiedPath); + } + + function resolveUnqualifiedExport(request, unqualifiedPath, conditions = defaultExportsConditions) { + // "exports" only apply when requiring a package, not when requiring via an absolute / relative path + if (isStrictRegExp.test(request)) return unqualifiedPath; + const unqualifiedExportPath = applyNodeExportsResolution(unqualifiedPath, conditions); + + if (unqualifiedExportPath) { + return ppath.normalize(unqualifiedExportPath); + } else { + return unqualifiedPath; + } + } + /** + * Transforms an unqualified path into a qualified path by using the Node resolution algorithm (which automatically + * appends ".js" / ".json", and transforms directory accesses into "index.js"). + */ + + + function resolveUnqualified(unqualifiedPath, { + extensions = Object.keys(external_module_.Module._extensions) + } = {}) { + const candidates = []; + const qualifiedPath = applyNodeExtensionResolution(unqualifiedPath, candidates, { + extensions + }); + + if (qualifiedPath) { + return ppath.normalize(qualifiedPath); + } else { + const unqualifiedPathForDisplay = getPathForDisplay(unqualifiedPath); + const containingPackage = findPackageLocator(unqualifiedPath); + + if (containingPackage) { + const { + packageLocation + } = getPackageInformationSafe(containingPackage); + + if (!opts.fakeFs.existsSync(packageLocation)) { + const errorMessage = packageLocation.includes(`/unplugged/`) ? `Required unplugged package missing from disk. This may happen when switching branches without running installs (unplugged packages must be fully materialized on disk to work).` : `Required package missing from disk. If you keep your packages inside your repository then restarting the Node process may be enough. Otherwise, try to run an install first.`; + throw internalTools_makeError(ErrorCode.QUALIFIED_PATH_RESOLUTION_FAILED, `${errorMessage}\n\nMissing package: ${containingPackage.name}@${containingPackage.reference}\nExpected package location: ${getPathForDisplay(packageLocation)}\n`, { + unqualifiedPath: unqualifiedPathForDisplay + }); + } + } + + throw internalTools_makeError(ErrorCode.QUALIFIED_PATH_RESOLUTION_FAILED, `Qualified path resolution failed - none of those files can be found on the disk.\n\nSource path: ${unqualifiedPathForDisplay}\n${candidates.map(candidate => `Not found: ${getPathForDisplay(candidate)}\n`).join(``)}`, { + unqualifiedPath: unqualifiedPathForDisplay + }); + } + } + /** + * Transforms a request into a fully qualified path. + * + * Note that it is extremely important that the `issuer` path ends with a forward slash if the issuer is to be + * treated as a folder (ie. "/tmp/foo/" rather than "/tmp/foo" if "foo" is a directory). Otherwise relative + * imports won't be computed correctly (they'll get resolved relative to "/tmp/" instead of "/tmp/foo/"). + */ + + + function resolveRequest(request, issuer, { + considerBuiltins, + extensions, + conditions + } = {}) { + const unqualifiedPath = resolveToUnqualified(request, issuer, { + considerBuiltins + }); // If the request is the pnpapi, we can just return the unqualifiedPath + // without having to apply the exports resolution or the extension resolution + // (opts.pnpapiResolution is always a full path - makeManager enforces this by stat-ing it) + + if (request === `pnpapi`) return unqualifiedPath; + if (unqualifiedPath === null) return null; + + const isIssuerIgnored = () => issuer !== null ? isPathIgnored(issuer) : false; + + const remappedPath = (!considerBuiltins || !isBuiltinModule(request)) && !isIssuerIgnored() ? resolveUnqualifiedExport(request, unqualifiedPath, conditions) : unqualifiedPath; + + try { + return resolveUnqualified(remappedPath, { + extensions + }); + } catch (resolutionError) { + if (resolutionError.pnpCode === `QUALIFIED_PATH_RESOLUTION_FAILED`) Object.assign(resolutionError.data, { + request: getPathForDisplay(request), + issuer: issuer && getPathForDisplay(issuer) + }); + throw resolutionError; + } + } + + function resolveVirtual(request) { + const normalized = ppath.normalize(request); + const resolved = VirtualFS.resolveVirtual(normalized); + return resolved !== normalized ? resolved : null; + } + + return { + VERSIONS, + topLevel, + getLocator: (name, referencish) => { + if (Array.isArray(referencish)) { + return { + name: referencish[0], + reference: referencish[1] + }; + } else { + return { + name, + reference: referencish + }; + } + }, + getDependencyTreeRoots: () => { + return [...runtimeState.dependencyTreeRoots]; + }, + + getAllLocators() { + const locators = []; + + for (const [name, entry] of packageRegistry) for (const reference of entry.keys()) if (name !== null && reference !== null) locators.push({ + name, + reference + }); + + return locators; + }, + + getPackageInformation: locator => { + const info = getPackageInformation(locator); + if (info === null) return null; + const packageLocation = npath.fromPortablePath(info.packageLocation); + const nativeInfo = { ...info, + packageLocation + }; + return nativeInfo; + }, + findPackageLocator: path => { + return findPackageLocator(npath.toPortablePath(path)); + }, + resolveToUnqualified: maybeLog(`resolveToUnqualified`, (request, issuer, opts) => { + const portableIssuer = issuer !== null ? npath.toPortablePath(issuer) : null; + const resolution = resolveToUnqualified(npath.toPortablePath(request), portableIssuer, opts); + if (resolution === null) return null; + return npath.fromPortablePath(resolution); + }), + resolveUnqualified: maybeLog(`resolveUnqualified`, (unqualifiedPath, opts) => { + return npath.fromPortablePath(resolveUnqualified(npath.toPortablePath(unqualifiedPath), opts)); + }), + resolveRequest: maybeLog(`resolveRequest`, (request, issuer, opts) => { + const portableIssuer = issuer !== null ? npath.toPortablePath(issuer) : null; + const resolution = resolveRequest(npath.toPortablePath(request), portableIssuer, opts); + if (resolution === null) return null; + return npath.fromPortablePath(resolution); + }), + resolveVirtual: maybeLog(`resolveVirtual`, path => { + const result = resolveVirtual(npath.toPortablePath(path)); + + if (result !== null) { + return npath.fromPortablePath(result); + } else { + return null; + } + }) + }; +} +;// CONCATENATED MODULE: ./sources/loader/makeManager.ts + + +function makeManager(pnpapi, opts) { + const initialApiPath = npath.toPortablePath(pnpapi.resolveToUnqualified(`pnpapi`, null)); + const initialApiStats = opts.fakeFs.statSync(npath.toPortablePath(initialApiPath)); + const apiMetadata = new Map([[initialApiPath, { + cache: external_module_.Module._cache, + instance: pnpapi, + stats: initialApiStats, + lastRefreshCheck: Date.now() + }]]); + + function loadApiInstance(pnpApiPath) { + const nativePath = npath.fromPortablePath(pnpApiPath); // @ts-expect-error + + const module = new external_module_.Module(nativePath, null); // @ts-expect-error + + module.load(nativePath); + return module.exports; + } + + function refreshApiEntry(pnpApiPath, apiEntry) { + const timeNow = Date.now(); + if (timeNow - apiEntry.lastRefreshCheck < 500) return; + apiEntry.lastRefreshCheck = timeNow; + const stats = opts.fakeFs.statSync(pnpApiPath); + + if (stats.mtime > apiEntry.stats.mtime) { + process.emitWarning(`[Warning] The runtime detected new informations in a PnP file; reloading the API instance (${npath.fromPortablePath(pnpApiPath)})`); + apiEntry.stats = stats; + apiEntry.instance = loadApiInstance(pnpApiPath); + } + } + + function getApiEntry(pnpApiPath, refresh = false) { + let apiEntry = apiMetadata.get(pnpApiPath); + + if (typeof apiEntry !== `undefined`) { + if (refresh) { + refreshApiEntry(pnpApiPath, apiEntry); + } + } else { + apiMetadata.set(pnpApiPath, apiEntry = { + cache: {}, + instance: loadApiInstance(pnpApiPath), + stats: opts.fakeFs.statSync(pnpApiPath), + lastRefreshCheck: Date.now() + }); + } + + return apiEntry; + } + + const findApiPathCache = new Map(); + + function addToCacheAndReturn(start, end, target) { + if (target !== null) target = VirtualFS.resolveVirtual(target); + let curr; + let next = start; + + do { + curr = next; + findApiPathCache.set(curr, target); + next = ppath.dirname(curr); + } while (curr !== end); + + return target; + } + + function findApiPathFor(modulePath) { + let bestCandidate = null; + + for (const [apiPath, apiEntry] of apiMetadata) { + const locator = apiEntry.instance.findPackageLocator(modulePath); + if (!locator) continue; // No need to go the slow way when there's a single API + + if (apiMetadata.size === 1) return apiPath; + const packageInformation = apiEntry.instance.getPackageInformation(locator); + if (!packageInformation) throw new Error(`Assertion failed: Couldn't get package information for '${modulePath}'`); + if (!bestCandidate) bestCandidate = { + packageLocation: packageInformation.packageLocation, + apiPaths: [] + }; + + if (packageInformation.packageLocation === bestCandidate.packageLocation) { + bestCandidate.apiPaths.push(apiPath); + } else if (packageInformation.packageLocation.length > bestCandidate.packageLocation.length) { + bestCandidate = { + packageLocation: packageInformation.packageLocation, + apiPaths: [apiPath] + }; + } + } + + if (bestCandidate) { + if (bestCandidate.apiPaths.length === 1) return bestCandidate.apiPaths[0]; + const controlSegment = bestCandidate.apiPaths.map(apiPath => ` ${npath.fromPortablePath(apiPath)}`).join(`\n`); + throw new Error(`Unable to locate pnpapi, the module '${modulePath}' is controlled by multiple pnpapi instances.\nThis is usually caused by using the global cache (enableGlobalCache: true)\n\nControlled by:\n${controlSegment}\n`); + } + + const start = ppath.resolve(npath.toPortablePath(modulePath)); + let curr; + let next = start; + + do { + curr = next; + const cached = findApiPathCache.get(curr); + if (cached !== undefined) return addToCacheAndReturn(start, curr, cached); + const cjsCandidate = ppath.join(curr, Filename.pnpCjs); + if (opts.fakeFs.existsSync(cjsCandidate) && opts.fakeFs.statSync(cjsCandidate).isFile()) return addToCacheAndReturn(start, curr, cjsCandidate); // We still support .pnp.js files to improve multi-project compatibility. + // TODO: Remove support for .pnp.js files after they stop being used. + + const legacyCjsCandidate = ppath.join(curr, Filename.pnpJs); + if (opts.fakeFs.existsSync(legacyCjsCandidate) && opts.fakeFs.statSync(legacyCjsCandidate).isFile()) return addToCacheAndReturn(start, curr, legacyCjsCandidate); + next = ppath.dirname(curr); + } while (curr !== PortablePath.root); + + return addToCacheAndReturn(start, curr, null); + } + + function getApiPathFromParent(parent) { + if (parent == null) return initialApiPath; + + if (typeof parent.pnpApiPath === `undefined`) { + if (parent.filename !== null) { + return parent.pnpApiPath = findApiPathFor(parent.filename); + } else { + return initialApiPath; + } + } + + if (parent.pnpApiPath !== null) return parent.pnpApiPath; + return null; + } + + return { + getApiPathFromParent, + findApiPathFor, + getApiEntry + }; +} +;// CONCATENATED MODULE: ./sources/loader/_entryPoint.ts + + + + + + + + + // We must copy the fs into a local, because otherwise +// 1. we would make the NodeFS instance use the function that we patched (infinite loop) +// 2. Object.create(fs) isn't enough, since it won't prevent the proto from being modified + +const localFs = { ...(external_fs_default()) +}; +const nodeFs = new NodeFS(localFs); +const defaultRuntimeState = $$SETUP_STATE(hydrateRuntimeState); +const defaultPnpapiResolution = __filename; // We create a virtual filesystem that will do three things: +// 1. all requests inside a folder named "__virtual___" will be remapped according the virtual folder rules +// 2. all requests going inside a Zip archive will be handled by the Zip fs implementation +// 3. any remaining request will be forwarded to Node as-is + +const defaultFsLayer = new VirtualFS({ + baseFs: new ZipOpenFS({ + baseFs: nodeFs, + libzip: () => getLibzipSync(), + maxOpenFiles: 80, + readOnlyArchives: true + }) +}); + +class DynamicFS extends ProxiedFS { + constructor() { + super(ppath); + this.baseFs = defaultFsLayer; + } + + mapToBase(p) { + return p; + } + + mapFromBase(p) { + return p; + } + +} + +const dynamicFsLayer = new DynamicFS(); +let manager; +const defaultApi = Object.assign(makeApi(defaultRuntimeState, { + fakeFs: dynamicFsLayer, + pnpapiResolution: defaultPnpapiResolution +}), { + /** + * Can be used to generate a different API than the default one (for example + * to map it on `/` rather than the local directory path, or to use a + * different FS layer than the default one). + */ + makeApi: ({ + basePath = undefined, + fakeFs = dynamicFsLayer, + pnpapiResolution = defaultPnpapiResolution, + ...rest + }) => { + const apiRuntimeState = typeof basePath !== `undefined` ? $$SETUP_STATE(hydrateRuntimeState, basePath) : defaultRuntimeState; + return makeApi(apiRuntimeState, { + fakeFs, + pnpapiResolution, + ...rest + }); + }, + + /** + * Will inject the specified API into the environment, monkey-patching FS. Is + * automatically called when the hook is loaded through `--require`. + */ + setup: api => { + applyPatch(api || defaultApi, { + fakeFs: defaultFsLayer, + manager + }); // Now that the `fs` module is patched we can swap the `baseFs` to + // a NodeFS with a live `fs` binding to pick up changes to the `fs` + // module allowing users to patch it + + dynamicFsLayer.baseFs = new NodeFS((external_fs_default())); + } +}); +manager = makeManager(defaultApi, { + fakeFs: dynamicFsLayer +}); // eslint-disable-next-line arca/no-default-export + +/* harmony default export */ const _entryPoint = (defaultApi); + +if (__non_webpack_module__.parent && __non_webpack_module__.parent.id === `internal/preload`) { + defaultApi.setup(); + + if (__non_webpack_module__.filename) { + // We delete it from the cache in order to support the case where the CLI resolver is invoked from "yarn run" + // It's annoying because it might cause some issues when the file is multiple times in NODE_OPTIONS, but it shouldn't happen anyway. + delete (external_module_default())._cache[__non_webpack_module__.filename]; + } +} + +if (process.mainModule === __non_webpack_module__) { + const reportError = (code, message, data) => { + process.stdout.write(`${JSON.stringify([{ + code, + message, + data + }, null])}\n`); + }; + + const reportSuccess = resolution => { + process.stdout.write(`${JSON.stringify([null, resolution])}\n`); + }; + + const processResolution = (request, issuer) => { + try { + reportSuccess(defaultApi.resolveRequest(request, issuer)); + } catch (error) { + reportError(error.code, error.message, error.data); + } + }; + + const processRequest = data => { + try { + const [request, issuer] = JSON.parse(data); + processResolution(request, issuer); + } catch (error) { + reportError(`INVALID_JSON`, error.message, error.data); + } + }; + + if (process.argv.length > 2) { + if (process.argv.length !== 4) { + process.stderr.write(`Usage: ${process.argv[0]} ${process.argv[1]} \n`); + process.exitCode = 64; + /* EX_USAGE */ + } else { + processResolution(process.argv[2], process.argv[3]); + } + } else { + let buffer = ``; + const decoder = new (external_string_decoder_default()).StringDecoder(); + process.stdin.on(`data`, chunk => { + buffer += decoder.write(chunk); + + do { + const index = buffer.indexOf(`\n`); + if (index === -1) break; + const line = buffer.slice(0, index); + buffer = buffer.slice(index + 1); + processRequest(line); + } while (true); + }); + } +} +})(); + +__webpack_exports__ = __webpack_exports__.default; +/******/ return __webpack_exports__; +/******/ })() +; +}); \ No newline at end of file diff --git a/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/cache/accepts-npm-1.3.8-9a812371c9-50c43d32e7.zip b/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/cache/accepts-npm-1.3.8-9a812371c9-50c43d32e7.zip new file mode 100644 index 000000000..416f55bd5 Binary files /dev/null and b/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/cache/accepts-npm-1.3.8-9a812371c9-50c43d32e7.zip differ diff --git a/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/cache/array-flatten-npm-1.1.1-9d94ad5f1d-a9925bf351.zip b/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/cache/array-flatten-npm-1.1.1-9d94ad5f1d-a9925bf351.zip new file mode 100644 index 000000000..c6a8b5333 Binary files /dev/null and b/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/cache/array-flatten-npm-1.1.1-9d94ad5f1d-a9925bf351.zip differ diff --git a/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/cache/body-parser-npm-1.19.1-ae102dea05-9197a300a6.zip b/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/cache/body-parser-npm-1.19.1-ae102dea05-9197a300a6.zip new file mode 100644 index 000000000..fc8da0b91 Binary files /dev/null and b/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/cache/body-parser-npm-1.19.1-ae102dea05-9197a300a6.zip differ diff --git a/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/cache/bytes-npm-3.1.1-f2d0e8c583-949ab99a38.zip b/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/cache/bytes-npm-3.1.1-f2d0e8c583-949ab99a38.zip new file mode 100644 index 000000000..6306ab1d8 Binary files /dev/null and b/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/cache/bytes-npm-3.1.1-f2d0e8c583-949ab99a38.zip differ diff --git a/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/cache/content-disposition-npm-0.5.4-2d93678616-afb9d545e2.zip b/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/cache/content-disposition-npm-0.5.4-2d93678616-afb9d545e2.zip new file mode 100644 index 000000000..5f9dc26d3 Binary files /dev/null and b/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/cache/content-disposition-npm-0.5.4-2d93678616-afb9d545e2.zip differ diff --git a/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/cache/content-type-npm-1.0.4-3b1a5ca16b-3d93585fda.zip b/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/cache/content-type-npm-1.0.4-3b1a5ca16b-3d93585fda.zip new file mode 100644 index 000000000..9e1b5d890 Binary files /dev/null and b/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/cache/content-type-npm-1.0.4-3b1a5ca16b-3d93585fda.zip differ diff --git a/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/cache/cookie-npm-0.4.1-cc5e2ebb42-bd7c47f5d9.zip b/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/cache/cookie-npm-0.4.1-cc5e2ebb42-bd7c47f5d9.zip new file mode 100644 index 000000000..67c675ed5 Binary files /dev/null and b/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/cache/cookie-npm-0.4.1-cc5e2ebb42-bd7c47f5d9.zip differ diff --git a/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/cache/cookie-signature-npm-1.0.6-93f325f7f0-f4e1b0a98a.zip b/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/cache/cookie-signature-npm-1.0.6-93f325f7f0-f4e1b0a98a.zip new file mode 100644 index 000000000..bf40b1449 Binary files /dev/null and b/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/cache/cookie-signature-npm-1.0.6-93f325f7f0-f4e1b0a98a.zip differ diff --git a/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/cache/debug-npm-2.6.9-7d4cb597dc-d2f51589ca.zip b/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/cache/debug-npm-2.6.9-7d4cb597dc-d2f51589ca.zip new file mode 100644 index 000000000..5a1127607 Binary files /dev/null and b/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/cache/debug-npm-2.6.9-7d4cb597dc-d2f51589ca.zip differ diff --git a/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/cache/depd-npm-1.1.2-b0c8414da7-6b406620d2.zip b/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/cache/depd-npm-1.1.2-b0c8414da7-6b406620d2.zip new file mode 100644 index 000000000..082e92548 Binary files /dev/null and b/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/cache/depd-npm-1.1.2-b0c8414da7-6b406620d2.zip differ diff --git a/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/cache/destroy-npm-1.0.4-a2203e01cb-da9ab4961d.zip b/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/cache/destroy-npm-1.0.4-a2203e01cb-da9ab4961d.zip new file mode 100644 index 000000000..3c79469d7 Binary files /dev/null and b/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/cache/destroy-npm-1.0.4-a2203e01cb-da9ab4961d.zip differ diff --git a/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/cache/ee-first-npm-1.1.1-33f8535b39-1b4cac778d.zip b/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/cache/ee-first-npm-1.1.1-33f8535b39-1b4cac778d.zip new file mode 100644 index 000000000..458439cba Binary files /dev/null and b/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/cache/ee-first-npm-1.1.1-33f8535b39-1b4cac778d.zip differ diff --git a/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/cache/encodeurl-npm-1.0.2-f8c8454c41-e50e3d508c.zip b/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/cache/encodeurl-npm-1.0.2-f8c8454c41-e50e3d508c.zip new file mode 100644 index 000000000..e9badb765 Binary files /dev/null and b/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/cache/encodeurl-npm-1.0.2-f8c8454c41-e50e3d508c.zip differ diff --git a/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/cache/escape-html-npm-1.0.3-376c22ee74-6213ca9ae0.zip b/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/cache/escape-html-npm-1.0.3-376c22ee74-6213ca9ae0.zip new file mode 100644 index 000000000..d12a72b12 Binary files /dev/null and b/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/cache/escape-html-npm-1.0.3-376c22ee74-6213ca9ae0.zip differ diff --git a/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/cache/etag-npm-1.8.1-54a3b989d9-571aeb3dbe.zip b/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/cache/etag-npm-1.8.1-54a3b989d9-571aeb3dbe.zip new file mode 100644 index 000000000..e4f07e5fb Binary files /dev/null and b/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/cache/etag-npm-1.8.1-54a3b989d9-571aeb3dbe.zip differ diff --git a/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/cache/express-npm-4.17.2-fd936fc165-1535d56d20.zip b/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/cache/express-npm-4.17.2-fd936fc165-1535d56d20.zip new file mode 100644 index 000000000..dfa35a6b2 Binary files /dev/null and b/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/cache/express-npm-4.17.2-fd936fc165-1535d56d20.zip differ diff --git a/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/cache/finalhandler-npm-1.1.2-55a75d6b53-617880460c.zip b/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/cache/finalhandler-npm-1.1.2-55a75d6b53-617880460c.zip new file mode 100644 index 000000000..3d0f6f375 Binary files /dev/null and b/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/cache/finalhandler-npm-1.1.2-55a75d6b53-617880460c.zip differ diff --git a/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/cache/forwarded-npm-0.2.0-6473dabe35-fd27e2394d.zip b/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/cache/forwarded-npm-0.2.0-6473dabe35-fd27e2394d.zip new file mode 100644 index 000000000..64cd57a06 Binary files /dev/null and b/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/cache/forwarded-npm-0.2.0-6473dabe35-fd27e2394d.zip differ diff --git a/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/cache/fresh-npm-0.5.2-ad2bb4c0a2-13ea8b08f9.zip b/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/cache/fresh-npm-0.5.2-ad2bb4c0a2-13ea8b08f9.zip new file mode 100644 index 000000000..643fb82ff Binary files /dev/null and b/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/cache/fresh-npm-0.5.2-ad2bb4c0a2-13ea8b08f9.zip differ diff --git a/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/cache/http-errors-npm-1.8.1-fb60d9f6ae-d3c7e7e776.zip b/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/cache/http-errors-npm-1.8.1-fb60d9f6ae-d3c7e7e776.zip new file mode 100644 index 000000000..2fb70ddd0 Binary files /dev/null and b/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/cache/http-errors-npm-1.8.1-fb60d9f6ae-d3c7e7e776.zip differ diff --git a/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/cache/iconv-lite-npm-0.4.24-c5c4ac6695-bd9f120f5a.zip b/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/cache/iconv-lite-npm-0.4.24-c5c4ac6695-bd9f120f5a.zip new file mode 100644 index 000000000..9cae309cf Binary files /dev/null and b/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/cache/iconv-lite-npm-0.4.24-c5c4ac6695-bd9f120f5a.zip differ diff --git a/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/cache/inherits-npm-2.0.4-c66b3957a0-4a48a73384.zip b/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/cache/inherits-npm-2.0.4-c66b3957a0-4a48a73384.zip new file mode 100644 index 000000000..62c31cb78 Binary files /dev/null and b/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/cache/inherits-npm-2.0.4-c66b3957a0-4a48a73384.zip differ diff --git a/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/cache/ipaddr.js-npm-1.9.1-19ae7878b4-f88d382598.zip b/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/cache/ipaddr.js-npm-1.9.1-19ae7878b4-f88d382598.zip new file mode 100644 index 000000000..fe2963443 Binary files /dev/null and b/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/cache/ipaddr.js-npm-1.9.1-19ae7878b4-f88d382598.zip differ diff --git a/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/cache/media-typer-npm-0.3.0-8674f8f0f5-af1b38516c.zip b/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/cache/media-typer-npm-0.3.0-8674f8f0f5-af1b38516c.zip new file mode 100644 index 000000000..1bc097808 Binary files /dev/null and b/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/cache/media-typer-npm-0.3.0-8674f8f0f5-af1b38516c.zip differ diff --git a/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/cache/merge-descriptors-npm-1.0.1-615287aaa8-5abc259d2a.zip b/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/cache/merge-descriptors-npm-1.0.1-615287aaa8-5abc259d2a.zip new file mode 100644 index 000000000..8bba31611 Binary files /dev/null and b/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/cache/merge-descriptors-npm-1.0.1-615287aaa8-5abc259d2a.zip differ diff --git a/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/cache/methods-npm-1.1.2-92f6fdb39b-0917ff4041.zip b/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/cache/methods-npm-1.1.2-92f6fdb39b-0917ff4041.zip new file mode 100644 index 000000000..bce73c59e Binary files /dev/null and b/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/cache/methods-npm-1.1.2-92f6fdb39b-0917ff4041.zip differ diff --git a/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/cache/mime-db-npm-1.51.0-d5e42b45ad-613b1ac9d6.zip b/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/cache/mime-db-npm-1.51.0-d5e42b45ad-613b1ac9d6.zip new file mode 100644 index 000000000..08bd4c6ee Binary files /dev/null and b/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/cache/mime-db-npm-1.51.0-d5e42b45ad-613b1ac9d6.zip differ diff --git a/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/cache/mime-npm-1.6.0-60ae95038a-fef25e3926.zip b/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/cache/mime-npm-1.6.0-60ae95038a-fef25e3926.zip new file mode 100644 index 000000000..498dc2d37 Binary files /dev/null and b/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/cache/mime-npm-1.6.0-60ae95038a-fef25e3926.zip differ diff --git a/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/cache/mime-types-npm-2.1.34-3cd0bb907c-67013de9e9.zip b/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/cache/mime-types-npm-2.1.34-3cd0bb907c-67013de9e9.zip new file mode 100644 index 000000000..f3bdb304a Binary files /dev/null and b/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/cache/mime-types-npm-2.1.34-3cd0bb907c-67013de9e9.zip differ diff --git a/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/cache/ms-npm-2.0.0-9e1101a471-0e6a22b8b7.zip b/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/cache/ms-npm-2.0.0-9e1101a471-0e6a22b8b7.zip new file mode 100644 index 000000000..1cb6ffa5d Binary files /dev/null and b/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/cache/ms-npm-2.0.0-9e1101a471-0e6a22b8b7.zip differ diff --git a/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/cache/ms-npm-2.1.3-81ff3cfac1-aa92de6080.zip b/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/cache/ms-npm-2.1.3-81ff3cfac1-aa92de6080.zip new file mode 100644 index 000000000..2b635f28e Binary files /dev/null and b/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/cache/ms-npm-2.1.3-81ff3cfac1-aa92de6080.zip differ diff --git a/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/cache/negotiator-npm-0.6.3-9d50e36171-b8ffeb1e26.zip b/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/cache/negotiator-npm-0.6.3-9d50e36171-b8ffeb1e26.zip new file mode 100644 index 000000000..e8c5cf489 Binary files /dev/null and b/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/cache/negotiator-npm-0.6.3-9d50e36171-b8ffeb1e26.zip differ diff --git a/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/cache/on-finished-npm-2.3.0-4ce92f72c6-1db595bd96.zip b/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/cache/on-finished-npm-2.3.0-4ce92f72c6-1db595bd96.zip new file mode 100644 index 000000000..3afaa2a9b Binary files /dev/null and b/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/cache/on-finished-npm-2.3.0-4ce92f72c6-1db595bd96.zip differ diff --git a/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/cache/parseurl-npm-1.3.3-1542397e00-407cee8e0a.zip b/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/cache/parseurl-npm-1.3.3-1542397e00-407cee8e0a.zip new file mode 100644 index 000000000..794eb17d7 Binary files /dev/null and b/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/cache/parseurl-npm-1.3.3-1542397e00-407cee8e0a.zip differ diff --git a/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/cache/path-to-regexp-npm-0.1.7-2605347373-69a14ea24d.zip b/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/cache/path-to-regexp-npm-0.1.7-2605347373-69a14ea24d.zip new file mode 100644 index 000000000..c89765e69 Binary files /dev/null and b/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/cache/path-to-regexp-npm-0.1.7-2605347373-69a14ea24d.zip differ diff --git a/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/cache/proxy-addr-npm-2.0.7-dae6552872-29c6990ce9.zip b/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/cache/proxy-addr-npm-2.0.7-dae6552872-29c6990ce9.zip new file mode 100644 index 000000000..cd0d662a3 Binary files /dev/null and b/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/cache/proxy-addr-npm-2.0.7-dae6552872-29c6990ce9.zip differ diff --git a/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/cache/qs-npm-6.9.6-fee5de1427-cb6df402bb.zip b/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/cache/qs-npm-6.9.6-fee5de1427-cb6df402bb.zip new file mode 100644 index 000000000..c4c5cd452 Binary files /dev/null and b/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/cache/qs-npm-6.9.6-fee5de1427-cb6df402bb.zip differ diff --git a/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/cache/range-parser-npm-1.2.1-1a470fa390-0a268d4fea.zip b/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/cache/range-parser-npm-1.2.1-1a470fa390-0a268d4fea.zip new file mode 100644 index 000000000..7b40d5913 Binary files /dev/null and b/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/cache/range-parser-npm-1.2.1-1a470fa390-0a268d4fea.zip differ diff --git a/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/cache/raw-body-npm-2.4.2-f70aad454d-c6f8d6a75c.zip b/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/cache/raw-body-npm-2.4.2-f70aad454d-c6f8d6a75c.zip new file mode 100644 index 000000000..998ef6dca Binary files /dev/null and b/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/cache/raw-body-npm-2.4.2-f70aad454d-c6f8d6a75c.zip differ diff --git a/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/cache/safe-buffer-npm-5.2.1-3481c8aa9b-b99c4b41fd.zip b/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/cache/safe-buffer-npm-5.2.1-3481c8aa9b-b99c4b41fd.zip new file mode 100644 index 000000000..c80798aec Binary files /dev/null and b/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/cache/safe-buffer-npm-5.2.1-3481c8aa9b-b99c4b41fd.zip differ diff --git a/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/cache/safer-buffer-npm-2.1.2-8d5c0b705e-cab8f25ae6.zip b/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/cache/safer-buffer-npm-2.1.2-8d5c0b705e-cab8f25ae6.zip new file mode 100644 index 000000000..1a93be642 Binary files /dev/null and b/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/cache/safer-buffer-npm-2.1.2-8d5c0b705e-cab8f25ae6.zip differ diff --git a/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/cache/send-npm-0.17.2-73a3dbeba6-c28f36deb4.zip b/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/cache/send-npm-0.17.2-73a3dbeba6-c28f36deb4.zip new file mode 100644 index 000000000..8bdb189a1 Binary files /dev/null and b/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/cache/send-npm-0.17.2-73a3dbeba6-c28f36deb4.zip differ diff --git a/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/cache/serve-static-npm-1.14.2-3ce50bb5ff-d97f3183b1.zip b/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/cache/serve-static-npm-1.14.2-3ce50bb5ff-d97f3183b1.zip new file mode 100644 index 000000000..a94104227 Binary files /dev/null and b/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/cache/serve-static-npm-1.14.2-3ce50bb5ff-d97f3183b1.zip differ diff --git a/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/cache/setprototypeof-npm-1.2.0-0fedbdcd3a-be18cbbf70.zip b/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/cache/setprototypeof-npm-1.2.0-0fedbdcd3a-be18cbbf70.zip new file mode 100644 index 000000000..f6bd1cbd7 Binary files /dev/null and b/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/cache/setprototypeof-npm-1.2.0-0fedbdcd3a-be18cbbf70.zip differ diff --git a/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/cache/statuses-npm-1.5.0-f88f91b2e9-c469b9519d.zip b/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/cache/statuses-npm-1.5.0-f88f91b2e9-c469b9519d.zip new file mode 100644 index 000000000..5517a9447 Binary files /dev/null and b/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/cache/statuses-npm-1.5.0-f88f91b2e9-c469b9519d.zip differ diff --git a/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/cache/toidentifier-npm-1.0.1-f759712599-952c29e2a8.zip b/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/cache/toidentifier-npm-1.0.1-f759712599-952c29e2a8.zip new file mode 100644 index 000000000..595363e93 Binary files /dev/null and b/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/cache/toidentifier-npm-1.0.1-f759712599-952c29e2a8.zip differ diff --git a/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/cache/type-is-npm-1.6.18-6dee4d4961-2c8e47675d.zip b/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/cache/type-is-npm-1.6.18-6dee4d4961-2c8e47675d.zip new file mode 100644 index 000000000..3bfed96dc Binary files /dev/null and b/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/cache/type-is-npm-1.6.18-6dee4d4961-2c8e47675d.zip differ diff --git a/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/cache/unpipe-npm-1.0.0-2ed2a3c2bf-4fa18d8d8d.zip b/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/cache/unpipe-npm-1.0.0-2ed2a3c2bf-4fa18d8d8d.zip new file mode 100644 index 000000000..380809cf6 Binary files /dev/null and b/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/cache/unpipe-npm-1.0.0-2ed2a3c2bf-4fa18d8d8d.zip differ diff --git a/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/cache/utils-merge-npm-1.0.1-363bbdfbca-c810954932.zip b/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/cache/utils-merge-npm-1.0.1-363bbdfbca-c810954932.zip new file mode 100644 index 000000000..8164f0572 Binary files /dev/null and b/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/cache/utils-merge-npm-1.0.1-363bbdfbca-c810954932.zip differ diff --git a/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/cache/vary-npm-1.1.2-b49f70ae63-ae0123222c.zip b/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/cache/vary-npm-1.1.2-b49f70ae63-ae0123222c.zip new file mode 100644 index 000000000..6ef083146 Binary files /dev/null and b/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/cache/vary-npm-1.1.2-b49f70ae63-ae0123222c.zip differ diff --git a/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/releases/yarn-3.1.1.cjs b/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/releases/yarn-3.1.1.cjs new file mode 100755 index 000000000..f5f2adca8 --- /dev/null +++ b/spec/fixtures/repos/yarn2-pnp-zero-install/.yarn/releases/yarn-3.1.1.cjs @@ -0,0 +1,768 @@ +#!/usr/bin/env node +/* eslint-disable */ +//prettier-ignore +(()=>{var Mfe=Object.create,Vf=Object.defineProperty,Ofe=Object.defineProperties,Kfe=Object.getOwnPropertyDescriptor,Ufe=Object.getOwnPropertyDescriptors,Hfe=Object.getOwnPropertyNames,hE=Object.getOwnPropertySymbols,Gfe=Object.getPrototypeOf,eb=Object.prototype.hasOwnProperty,lO=Object.prototype.propertyIsEnumerable;var cO=(t,e,r)=>e in t?Vf(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,P=(t,e)=>{for(var r in e||(e={}))eb.call(e,r)&&cO(t,r,e[r]);if(hE)for(var r of hE(e))lO.call(e,r)&&cO(t,r,e[r]);return t},_=(t,e)=>Ofe(t,Ufe(e)),jfe=t=>Vf(t,"__esModule",{value:!0});var qr=(t,e)=>{var r={};for(var i in t)eb.call(t,i)&&e.indexOf(i)<0&&(r[i]=t[i]);if(t!=null&&hE)for(var i of hE(t))e.indexOf(i)<0&&lO.call(t,i)&&(r[i]=t[i]);return r},Yfe=(t,e)=>()=>(t&&(e=t(t=0)),e),E=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),it=(t,e)=>{for(var r in e)Vf(t,r,{get:e[r],enumerable:!0})},qfe=(t,e,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of Hfe(e))!eb.call(t,i)&&i!=="default"&&Vf(t,i,{get:()=>e[i],enumerable:!(r=Kfe(e,i))||r.enumerable});return t},ie=t=>qfe(jfe(Vf(t!=null?Mfe(Gfe(t)):{},"default",t&&t.__esModule&&"default"in t?{get:()=>t.default,enumerable:!0}:{value:t,enumerable:!0})),t);var MO=E((i$e,FO)=>{FO.exports=NO;NO.sync=Ahe;var LO=require("fs");function lhe(t,e){var r=e.pathExt!==void 0?e.pathExt:process.env.PATHEXT;if(!r||(r=r.split(";"),r.indexOf("")!==-1))return!0;for(var i=0;i{OO.exports=KO;KO.sync=che;var UO=require("fs");function KO(t,e,r){UO.stat(t,function(i,n){r(i,i?!1:HO(n,e))})}function che(t,e){return HO(UO.statSync(t),e)}function HO(t,e){return t.isFile()&&uhe(t,e)}function uhe(t,e){var r=t.mode,i=t.uid,n=t.gid,s=e.uid!==void 0?e.uid:process.getuid&&process.getuid(),o=e.gid!==void 0?e.gid:process.getgid&&process.getgid(),a=parseInt("100",8),l=parseInt("010",8),c=parseInt("001",8),u=a|l,g=r&c||r&l&&n===o||r&a&&i===s||r&u&&s===0;return g}});var YO=E((o$e,jO)=>{var s$e=require("fs"),xE;process.platform==="win32"||global.TESTING_WINDOWS?xE=MO():xE=GO();jO.exports=db;db.sync=ghe;function db(t,e,r){if(typeof e=="function"&&(r=e,e={}),!r){if(typeof Promise!="function")throw new TypeError("callback not provided");return new Promise(function(i,n){db(t,e||{},function(s,o){s?n(s):i(o)})})}xE(t,e||{},function(i,n){i&&(i.code==="EACCES"||e&&e.ignoreErrors)&&(i=null,n=!1),r(i,n)})}function ghe(t,e){try{return xE.sync(t,e||{})}catch(r){if(e&&e.ignoreErrors||r.code==="EACCES")return!1;throw r}}});var XO=E((a$e,qO)=>{var eu=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys",JO=require("path"),fhe=eu?";":":",WO=YO(),zO=t=>Object.assign(new Error(`not found: ${t}`),{code:"ENOENT"}),VO=(t,e)=>{let r=e.colon||fhe,i=t.match(/\//)||eu&&t.match(/\\/)?[""]:[...eu?[process.cwd()]:[],...(e.path||process.env.PATH||"").split(r)],n=eu?e.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",s=eu?n.split(r):[""];return eu&&t.indexOf(".")!==-1&&s[0]!==""&&s.unshift(""),{pathEnv:i,pathExt:s,pathExtExe:n}},_O=(t,e,r)=>{typeof e=="function"&&(r=e,e={}),e||(e={});let{pathEnv:i,pathExt:n,pathExtExe:s}=VO(t,e),o=[],a=c=>new Promise((u,g)=>{if(c===i.length)return e.all&&o.length?u(o):g(zO(t));let f=i[c],h=/^".*"$/.test(f)?f.slice(1,-1):f,p=JO.join(h,t),d=!h&&/^\.[\\\/]/.test(t)?t.slice(0,2)+p:p;u(l(d,c,0))}),l=(c,u,g)=>new Promise((f,h)=>{if(g===n.length)return f(a(u+1));let p=n[g];WO(c+p,{pathExt:s},(d,m)=>{if(!d&&m)if(e.all)o.push(c+p);else return f(c+p);return f(l(c,u,g+1))})});return r?a(0).then(c=>r(null,c),r):a(0)},hhe=(t,e)=>{e=e||{};let{pathEnv:r,pathExt:i,pathExtExe:n}=VO(t,e),s=[];for(let o=0;o{"use strict";var ZO=(t={})=>{let e=t.env||process.env;return(t.platform||process.platform)!=="win32"?"PATH":Object.keys(e).reverse().find(i=>i.toUpperCase()==="PATH")||"Path"};Cb.exports=ZO;Cb.exports.default=ZO});var iK=E((l$e,eK)=>{"use strict";var tK=require("path"),phe=XO(),dhe=$O();function rK(t,e){let r=t.options.env||process.env,i=process.cwd(),n=t.options.cwd!=null,s=n&&process.chdir!==void 0&&!process.chdir.disabled;if(s)try{process.chdir(t.options.cwd)}catch(a){}let o;try{o=phe.sync(t.command,{path:r[dhe({env:r})],pathExt:e?tK.delimiter:void 0})}catch(a){}finally{s&&process.chdir(i)}return o&&(o=tK.resolve(n?t.options.cwd:"",o)),o}function Che(t){return rK(t)||rK(t,!0)}eK.exports=Che});var nK=E((c$e,mb)=>{"use strict";var Eb=/([()\][%!^"`<>&|;, *?])/g;function mhe(t){return t=t.replace(Eb,"^$1"),t}function Ehe(t,e){return t=`${t}`,t=t.replace(/(\\*)"/g,'$1$1\\"'),t=t.replace(/(\\*)$/,"$1$1"),t=`"${t}"`,t=t.replace(Eb,"^$1"),e&&(t=t.replace(Eb,"^$1")),t}mb.exports.command=mhe;mb.exports.argument=Ehe});var oK=E((u$e,sK)=>{"use strict";sK.exports=/^#!(.*)/});var AK=E((g$e,aK)=>{"use strict";var Ihe=oK();aK.exports=(t="")=>{let e=t.match(Ihe);if(!e)return null;let[r,i]=e[0].replace(/#! ?/,"").split(" "),n=r.split("/").pop();return n==="env"?i:i?`${n} ${i}`:n}});var cK=E((f$e,lK)=>{"use strict";var Ib=require("fs"),yhe=AK();function whe(t){let e=150,r=Buffer.alloc(e),i;try{i=Ib.openSync(t,"r"),Ib.readSync(i,r,0,e,0),Ib.closeSync(i)}catch(n){}return yhe(r.toString())}lK.exports=whe});var hK=E((h$e,uK)=>{"use strict";var Bhe=require("path"),gK=iK(),fK=nK(),Qhe=cK(),bhe=process.platform==="win32",vhe=/\.(?:com|exe)$/i,She=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function xhe(t){t.file=gK(t);let e=t.file&&Qhe(t.file);return e?(t.args.unshift(t.file),t.command=e,gK(t)):t.file}function khe(t){if(!bhe)return t;let e=xhe(t),r=!vhe.test(e);if(t.options.forceShell||r){let i=She.test(e);t.command=Bhe.normalize(t.command),t.command=fK.command(t.command),t.args=t.args.map(s=>fK.argument(s,i));let n=[t.command].concat(t.args).join(" ");t.args=["/d","/s","/c",`"${n}"`],t.command=process.env.comspec||"cmd.exe",t.options.windowsVerbatimArguments=!0}return t}function Phe(t,e,r){e&&!Array.isArray(e)&&(r=e,e=null),e=e?e.slice(0):[],r=Object.assign({},r);let i={command:t,args:e,options:r,file:void 0,original:{command:t,args:e}};return r.shell?i:khe(i)}uK.exports=Phe});var CK=E((p$e,pK)=>{"use strict";var yb=process.platform==="win32";function wb(t,e){return Object.assign(new Error(`${e} ${t.command} ENOENT`),{code:"ENOENT",errno:"ENOENT",syscall:`${e} ${t.command}`,path:t.command,spawnargs:t.args})}function Dhe(t,e){if(!yb)return;let r=t.emit;t.emit=function(i,n){if(i==="exit"){let s=dK(n,e,"spawn");if(s)return r.call(t,"error",s)}return r.apply(t,arguments)}}function dK(t,e){return yb&&t===1&&!e.file?wb(e.original,"spawn"):null}function Rhe(t,e){return yb&&t===1&&!e.file?wb(e.original,"spawnSync"):null}pK.exports={hookChildProcess:Dhe,verifyENOENT:dK,verifyENOENTSync:Rhe,notFoundError:wb}});var bb=E((d$e,tu)=>{"use strict";var mK=require("child_process"),Bb=hK(),Qb=CK();function EK(t,e,r){let i=Bb(t,e,r),n=mK.spawn(i.command,i.args,i.options);return Qb.hookChildProcess(n,i),n}function Fhe(t,e,r){let i=Bb(t,e,r),n=mK.spawnSync(i.command,i.args,i.options);return n.error=n.error||Qb.verifyENOENTSync(n.status,i),n}tu.exports=EK;tu.exports.spawn=EK;tu.exports.sync=Fhe;tu.exports._parse=Bb;tu.exports._enoent=Qb});var yK=E((y$e,IK)=>{"use strict";IK.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}});var Nb=E((w$e,wK)=>{var gh=yK(),BK={};for(let t of Object.keys(gh))BK[gh[t]]=t;var Xe={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};wK.exports=Xe;for(let t of Object.keys(Xe)){if(!("channels"in Xe[t]))throw new Error("missing channels property: "+t);if(!("labels"in Xe[t]))throw new Error("missing channel labels property: "+t);if(Xe[t].labels.length!==Xe[t].channels)throw new Error("channel and label counts mismatch: "+t);let{channels:e,labels:r}=Xe[t];delete Xe[t].channels,delete Xe[t].labels,Object.defineProperty(Xe[t],"channels",{value:e}),Object.defineProperty(Xe[t],"labels",{value:r})}Xe.rgb.hsl=function(t){let e=t[0]/255,r=t[1]/255,i=t[2]/255,n=Math.min(e,r,i),s=Math.max(e,r,i),o=s-n,a,l;s===n?a=0:e===s?a=(r-i)/o:r===s?a=2+(i-e)/o:i===s&&(a=4+(e-r)/o),a=Math.min(a*60,360),a<0&&(a+=360);let c=(n+s)/2;return s===n?l=0:c<=.5?l=o/(s+n):l=o/(2-s-n),[a,l*100,c*100]};Xe.rgb.hsv=function(t){let e,r,i,n,s,o=t[0]/255,a=t[1]/255,l=t[2]/255,c=Math.max(o,a,l),u=c-Math.min(o,a,l),g=function(f){return(c-f)/6/u+1/2};return u===0?(n=0,s=0):(s=u/c,e=g(o),r=g(a),i=g(l),o===c?n=i-r:a===c?n=1/3+e-i:l===c&&(n=2/3+r-e),n<0?n+=1:n>1&&(n-=1)),[n*360,s*100,c*100]};Xe.rgb.hwb=function(t){let e=t[0],r=t[1],i=t[2],n=Xe.rgb.hsl(t)[0],s=1/255*Math.min(e,Math.min(r,i));return i=1-1/255*Math.max(e,Math.max(r,i)),[n,s*100,i*100]};Xe.rgb.cmyk=function(t){let e=t[0]/255,r=t[1]/255,i=t[2]/255,n=Math.min(1-e,1-r,1-i),s=(1-e-n)/(1-n)||0,o=(1-r-n)/(1-n)||0,a=(1-i-n)/(1-n)||0;return[s*100,o*100,a*100,n*100]};function The(t,e){return(t[0]-e[0])**2+(t[1]-e[1])**2+(t[2]-e[2])**2}Xe.rgb.keyword=function(t){let e=BK[t];if(e)return e;let r=Infinity,i;for(let n of Object.keys(gh)){let s=gh[n],o=The(t,s);o.04045?((e+.055)/1.055)**2.4:e/12.92,r=r>.04045?((r+.055)/1.055)**2.4:r/12.92,i=i>.04045?((i+.055)/1.055)**2.4:i/12.92;let n=e*.4124+r*.3576+i*.1805,s=e*.2126+r*.7152+i*.0722,o=e*.0193+r*.1192+i*.9505;return[n*100,s*100,o*100]};Xe.rgb.lab=function(t){let e=Xe.rgb.xyz(t),r=e[0],i=e[1],n=e[2];r/=95.047,i/=100,n/=108.883,r=r>.008856?r**(1/3):7.787*r+16/116,i=i>.008856?i**(1/3):7.787*i+16/116,n=n>.008856?n**(1/3):7.787*n+16/116;let s=116*i-16,o=500*(r-i),a=200*(i-n);return[s,o,a]};Xe.hsl.rgb=function(t){let e=t[0]/360,r=t[1]/100,i=t[2]/100,n,s,o;if(r===0)return o=i*255,[o,o,o];i<.5?n=i*(1+r):n=i+r-i*r;let a=2*i-n,l=[0,0,0];for(let c=0;c<3;c++)s=e+1/3*-(c-1),s<0&&s++,s>1&&s--,6*s<1?o=a+(n-a)*6*s:2*s<1?o=n:3*s<2?o=a+(n-a)*(2/3-s)*6:o=a,l[c]=o*255;return l};Xe.hsl.hsv=function(t){let e=t[0],r=t[1]/100,i=t[2]/100,n=r,s=Math.max(i,.01);i*=2,r*=i<=1?i:2-i,n*=s<=1?s:2-s;let o=(i+r)/2,a=i===0?2*n/(s+n):2*r/(i+r);return[e,a*100,o*100]};Xe.hsv.rgb=function(t){let e=t[0]/60,r=t[1]/100,i=t[2]/100,n=Math.floor(e)%6,s=e-Math.floor(e),o=255*i*(1-r),a=255*i*(1-r*s),l=255*i*(1-r*(1-s));switch(i*=255,n){case 0:return[i,l,o];case 1:return[a,i,o];case 2:return[o,i,l];case 3:return[o,a,i];case 4:return[l,o,i];case 5:return[i,o,a]}};Xe.hsv.hsl=function(t){let e=t[0],r=t[1]/100,i=t[2]/100,n=Math.max(i,.01),s,o;o=(2-r)*i;let a=(2-r)*n;return s=r*n,s/=a<=1?a:2-a,s=s||0,o/=2,[e,s*100,o*100]};Xe.hwb.rgb=function(t){let e=t[0]/360,r=t[1]/100,i=t[2]/100,n=r+i,s;n>1&&(r/=n,i/=n);let o=Math.floor(6*e),a=1-i;s=6*e-o,(o&1)!=0&&(s=1-s);let l=r+s*(a-r),c,u,g;switch(o){default:case 6:case 0:c=a,u=l,g=r;break;case 1:c=l,u=a,g=r;break;case 2:c=r,u=a,g=l;break;case 3:c=r,u=l,g=a;break;case 4:c=l,u=r,g=a;break;case 5:c=a,u=r,g=l;break}return[c*255,u*255,g*255]};Xe.cmyk.rgb=function(t){let e=t[0]/100,r=t[1]/100,i=t[2]/100,n=t[3]/100,s=1-Math.min(1,e*(1-n)+n),o=1-Math.min(1,r*(1-n)+n),a=1-Math.min(1,i*(1-n)+n);return[s*255,o*255,a*255]};Xe.xyz.rgb=function(t){let e=t[0]/100,r=t[1]/100,i=t[2]/100,n,s,o;return n=e*3.2406+r*-1.5372+i*-.4986,s=e*-.9689+r*1.8758+i*.0415,o=e*.0557+r*-.204+i*1.057,n=n>.0031308?1.055*n**(1/2.4)-.055:n*12.92,s=s>.0031308?1.055*s**(1/2.4)-.055:s*12.92,o=o>.0031308?1.055*o**(1/2.4)-.055:o*12.92,n=Math.min(Math.max(0,n),1),s=Math.min(Math.max(0,s),1),o=Math.min(Math.max(0,o),1),[n*255,s*255,o*255]};Xe.xyz.lab=function(t){let e=t[0],r=t[1],i=t[2];e/=95.047,r/=100,i/=108.883,e=e>.008856?e**(1/3):7.787*e+16/116,r=r>.008856?r**(1/3):7.787*r+16/116,i=i>.008856?i**(1/3):7.787*i+16/116;let n=116*r-16,s=500*(e-r),o=200*(r-i);return[n,s,o]};Xe.lab.xyz=function(t){let e=t[0],r=t[1],i=t[2],n,s,o;s=(e+16)/116,n=r/500+s,o=s-i/200;let a=s**3,l=n**3,c=o**3;return s=a>.008856?a:(s-16/116)/7.787,n=l>.008856?l:(n-16/116)/7.787,o=c>.008856?c:(o-16/116)/7.787,n*=95.047,s*=100,o*=108.883,[n,s,o]};Xe.lab.lch=function(t){let e=t[0],r=t[1],i=t[2],n;n=Math.atan2(i,r)*360/2/Math.PI,n<0&&(n+=360);let o=Math.sqrt(r*r+i*i);return[e,o,n]};Xe.lch.lab=function(t){let e=t[0],r=t[1],n=t[2]/360*2*Math.PI,s=r*Math.cos(n),o=r*Math.sin(n);return[e,s,o]};Xe.rgb.ansi16=function(t,e=null){let[r,i,n]=t,s=e===null?Xe.rgb.hsv(t)[2]:e;if(s=Math.round(s/50),s===0)return 30;let o=30+(Math.round(n/255)<<2|Math.round(i/255)<<1|Math.round(r/255));return s===2&&(o+=60),o};Xe.hsv.ansi16=function(t){return Xe.rgb.ansi16(Xe.hsv.rgb(t),t[2])};Xe.rgb.ansi256=function(t){let e=t[0],r=t[1],i=t[2];return e===r&&r===i?e<8?16:e>248?231:Math.round((e-8)/247*24)+232:16+36*Math.round(e/255*5)+6*Math.round(r/255*5)+Math.round(i/255*5)};Xe.ansi16.rgb=function(t){let e=t%10;if(e===0||e===7)return t>50&&(e+=3.5),e=e/10.5*255,[e,e,e];let r=(~~(t>50)+1)*.5,i=(e&1)*r*255,n=(e>>1&1)*r*255,s=(e>>2&1)*r*255;return[i,n,s]};Xe.ansi256.rgb=function(t){if(t>=232){let s=(t-232)*10+8;return[s,s,s]}t-=16;let e,r=Math.floor(t/36)/5*255,i=Math.floor((e=t%36)/6)/5*255,n=e%6/5*255;return[r,i,n]};Xe.rgb.hex=function(t){let r=(((Math.round(t[0])&255)<<16)+((Math.round(t[1])&255)<<8)+(Math.round(t[2])&255)).toString(16).toUpperCase();return"000000".substring(r.length)+r};Xe.hex.rgb=function(t){let e=t.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!e)return[0,0,0];let r=e[0];e[0].length===3&&(r=r.split("").map(a=>a+a).join(""));let i=parseInt(r,16),n=i>>16&255,s=i>>8&255,o=i&255;return[n,s,o]};Xe.rgb.hcg=function(t){let e=t[0]/255,r=t[1]/255,i=t[2]/255,n=Math.max(Math.max(e,r),i),s=Math.min(Math.min(e,r),i),o=n-s,a,l;return o<1?a=s/(1-o):a=0,o<=0?l=0:n===e?l=(r-i)/o%6:n===r?l=2+(i-e)/o:l=4+(e-r)/o,l/=6,l%=1,[l*360,o*100,a*100]};Xe.hsl.hcg=function(t){let e=t[1]/100,r=t[2]/100,i=r<.5?2*e*r:2*e*(1-r),n=0;return i<1&&(n=(r-.5*i)/(1-i)),[t[0],i*100,n*100]};Xe.hsv.hcg=function(t){let e=t[1]/100,r=t[2]/100,i=e*r,n=0;return i<1&&(n=(r-i)/(1-i)),[t[0],i*100,n*100]};Xe.hcg.rgb=function(t){let e=t[0]/360,r=t[1]/100,i=t[2]/100;if(r===0)return[i*255,i*255,i*255];let n=[0,0,0],s=e%1*6,o=s%1,a=1-o,l=0;switch(Math.floor(s)){case 0:n[0]=1,n[1]=o,n[2]=0;break;case 1:n[0]=a,n[1]=1,n[2]=0;break;case 2:n[0]=0,n[1]=1,n[2]=o;break;case 3:n[0]=0,n[1]=a,n[2]=1;break;case 4:n[0]=o,n[1]=0,n[2]=1;break;default:n[0]=1,n[1]=0,n[2]=a}return l=(1-r)*i,[(r*n[0]+l)*255,(r*n[1]+l)*255,(r*n[2]+l)*255]};Xe.hcg.hsv=function(t){let e=t[1]/100,r=t[2]/100,i=e+r*(1-e),n=0;return i>0&&(n=e/i),[t[0],n*100,i*100]};Xe.hcg.hsl=function(t){let e=t[1]/100,i=t[2]/100*(1-e)+.5*e,n=0;return i>0&&i<.5?n=e/(2*i):i>=.5&&i<1&&(n=e/(2*(1-i))),[t[0],n*100,i*100]};Xe.hcg.hwb=function(t){let e=t[1]/100,r=t[2]/100,i=e+r*(1-e);return[t[0],(i-e)*100,(1-i)*100]};Xe.hwb.hcg=function(t){let e=t[1]/100,r=t[2]/100,i=1-r,n=i-e,s=0;return n<1&&(s=(i-n)/(1-n)),[t[0],n*100,s*100]};Xe.apple.rgb=function(t){return[t[0]/65535*255,t[1]/65535*255,t[2]/65535*255]};Xe.rgb.apple=function(t){return[t[0]/255*65535,t[1]/255*65535,t[2]/255*65535]};Xe.gray.rgb=function(t){return[t[0]/100*255,t[0]/100*255,t[0]/100*255]};Xe.gray.hsl=function(t){return[0,0,t[0]]};Xe.gray.hsv=Xe.gray.hsl;Xe.gray.hwb=function(t){return[0,100,t[0]]};Xe.gray.cmyk=function(t){return[0,0,0,t[0]]};Xe.gray.lab=function(t){return[t[0],0,0]};Xe.gray.hex=function(t){let e=Math.round(t[0]/100*255)&255,i=((e<<16)+(e<<8)+e).toString(16).toUpperCase();return"000000".substring(i.length)+i};Xe.rgb.gray=function(t){return[(t[0]+t[1]+t[2])/3/255*100]}});var bK=E((B$e,QK)=>{var kE=Nb();function Mhe(){let t={},e=Object.keys(kE);for(let r=e.length,i=0;i{var Lb=Nb(),Hhe=bK(),ru={},Ghe=Object.keys(Lb);function jhe(t){let e=function(...r){let i=r[0];return i==null?i:(i.length>1&&(r=i),t(r))};return"conversion"in t&&(e.conversion=t.conversion),e}function Yhe(t){let e=function(...r){let i=r[0];if(i==null)return i;i.length>1&&(r=i);let n=t(r);if(typeof n=="object")for(let s=n.length,o=0;o{ru[t]={},Object.defineProperty(ru[t],"channels",{value:Lb[t].channels}),Object.defineProperty(ru[t],"labels",{value:Lb[t].labels});let e=Hhe(t);Object.keys(e).forEach(i=>{let n=e[i];ru[t][i]=Yhe(n),ru[t][i].raw=jhe(n)})});vK.exports=ru});var FK=E((b$e,xK)=>{"use strict";var kK=(t,e)=>(...r)=>`[${t(...r)+e}m`,PK=(t,e)=>(...r)=>{let i=t(...r);return`[${38+e};5;${i}m`},DK=(t,e)=>(...r)=>{let i=t(...r);return`[${38+e};2;${i[0]};${i[1]};${i[2]}m`},PE=t=>t,RK=(t,e,r)=>[t,e,r],iu=(t,e,r)=>{Object.defineProperty(t,e,{get:()=>{let i=r();return Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0}),i},enumerable:!0,configurable:!0})},Tb,nu=(t,e,r,i)=>{Tb===void 0&&(Tb=SK());let n=i?10:0,s={};for(let[o,a]of Object.entries(Tb)){let l=o==="ansi16"?"ansi":o;o===e?s[l]=t(r,n):typeof a=="object"&&(s[l]=t(a[e],n))}return s};function qhe(){let t=new Map,e={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};e.color.gray=e.color.blackBright,e.bgColor.bgGray=e.bgColor.bgBlackBright,e.color.grey=e.color.blackBright,e.bgColor.bgGrey=e.bgColor.bgBlackBright;for(let[r,i]of Object.entries(e)){for(let[n,s]of Object.entries(i))e[n]={open:`[${s[0]}m`,close:`[${s[1]}m`},i[n]=e[n],t.set(s[0],s[1]);Object.defineProperty(e,r,{value:i,enumerable:!1})}return Object.defineProperty(e,"codes",{value:t,enumerable:!1}),e.color.close="",e.bgColor.close="",iu(e.color,"ansi",()=>nu(kK,"ansi16",PE,!1)),iu(e.color,"ansi256",()=>nu(PK,"ansi256",PE,!1)),iu(e.color,"ansi16m",()=>nu(DK,"rgb",RK,!1)),iu(e.bgColor,"ansi",()=>nu(kK,"ansi16",PE,!0)),iu(e.bgColor,"ansi256",()=>nu(PK,"ansi256",PE,!0)),iu(e.bgColor,"ansi16m",()=>nu(DK,"rgb",RK,!0)),e}Object.defineProperty(xK,"exports",{enumerable:!0,get:qhe})});var LK=E((v$e,NK)=>{"use strict";NK.exports=(t,e=process.argv)=>{let r=t.startsWith("-")?"":t.length===1?"-":"--",i=e.indexOf(r+t),n=e.indexOf("--");return i!==-1&&(n===-1||i{"use strict";var Jhe=require("os"),MK=require("tty"),Wn=LK(),{env:Wr}=process,tA;Wn("no-color")||Wn("no-colors")||Wn("color=false")||Wn("color=never")?tA=0:(Wn("color")||Wn("colors")||Wn("color=true")||Wn("color=always"))&&(tA=1);"FORCE_COLOR"in Wr&&(Wr.FORCE_COLOR==="true"?tA=1:Wr.FORCE_COLOR==="false"?tA=0:tA=Wr.FORCE_COLOR.length===0?1:Math.min(parseInt(Wr.FORCE_COLOR,10),3));function Mb(t){return t===0?!1:{level:t,hasBasic:!0,has256:t>=2,has16m:t>=3}}function Ob(t,e){if(tA===0)return 0;if(Wn("color=16m")||Wn("color=full")||Wn("color=truecolor"))return 3;if(Wn("color=256"))return 2;if(t&&!e&&tA===void 0)return 0;let r=tA||0;if(Wr.TERM==="dumb")return r;if(process.platform==="win32"){let i=Jhe.release().split(".");return Number(i[0])>=10&&Number(i[2])>=10586?Number(i[2])>=14931?3:2:1}if("CI"in Wr)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI"].some(i=>i in Wr)||Wr.CI_NAME==="codeship"?1:r;if("TEAMCITY_VERSION"in Wr)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(Wr.TEAMCITY_VERSION)?1:0;if("GITHUB_ACTIONS"in Wr)return 1;if(Wr.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in Wr){let i=parseInt((Wr.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(Wr.TERM_PROGRAM){case"iTerm.app":return i>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(Wr.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(Wr.TERM)||"COLORTERM"in Wr?1:r}function Whe(t){let e=Ob(t,t&&t.isTTY);return Mb(e)}TK.exports={supportsColor:Whe,stdout:Mb(Ob(!0,MK.isatty(1))),stderr:Mb(Ob(!0,MK.isatty(2)))}});var UK=E((x$e,KK)=>{"use strict";var zhe=(t,e,r)=>{let i=t.indexOf(e);if(i===-1)return t;let n=e.length,s=0,o="";do o+=t.substr(s,i-s)+e+r,s=i+n,i=t.indexOf(e,s);while(i!==-1);return o+=t.substr(s),o},Vhe=(t,e,r,i)=>{let n=0,s="";do{let o=t[i-1]==="\r";s+=t.substr(n,(o?i-1:i)-n)+e+(o?`\r +`:` +`)+r,n=i+1,i=t.indexOf(` +`,n)}while(i!==-1);return s+=t.substr(n),s};KK.exports={stringReplaceAll:zhe,stringEncaseCRLFWithFirstIndex:Vhe}});var qK=E((k$e,HK)=>{"use strict";var _he=/(?:\\(u(?:[a-f\d]{4}|\{[a-f\d]{1,6}\})|x[a-f\d]{2}|.))|(?:\{(~)?(\w+(?:\([^)]*\))?(?:\.\w+(?:\([^)]*\))?)*)(?:[ \t]|(?=\r?\n)))|(\})|((?:.|[\r\n\f])+?)/gi,GK=/(?:^|\.)(\w+)(?:\(([^)]*)\))?/g,Xhe=/^(['"])((?:\\.|(?!\1)[^\\])*)\1$/,Zhe=/\\(u(?:[a-f\d]{4}|\{[a-f\d]{1,6}\})|x[a-f\d]{2}|.)|([^\\])/gi,$he=new Map([["n",` +`],["r","\r"],["t"," "],["b","\b"],["f","\f"],["v","\v"],["0","\0"],["\\","\\"],["e",""],["a","\x07"]]);function jK(t){let e=t[0]==="u",r=t[1]==="{";return e&&!r&&t.length===5||t[0]==="x"&&t.length===3?String.fromCharCode(parseInt(t.slice(1),16)):e&&r?String.fromCodePoint(parseInt(t.slice(2,-1),16)):$he.get(t)||t}function epe(t,e){let r=[],i=e.trim().split(/\s*,\s*/g),n;for(let s of i){let o=Number(s);if(!Number.isNaN(o))r.push(o);else if(n=s.match(Xhe))r.push(n[2].replace(Zhe,(a,l,c)=>l?jK(l):c));else throw new Error(`Invalid Chalk template style argument: ${s} (in style '${t}')`)}return r}function tpe(t){GK.lastIndex=0;let e=[],r;for(;(r=GK.exec(t))!==null;){let i=r[1];if(r[2]){let n=epe(i,r[2]);e.push([i].concat(n))}else e.push([i])}return e}function YK(t,e){let r={};for(let n of e)for(let s of n.styles)r[s[0]]=n.inverse?null:s.slice(1);let i=t;for(let[n,s]of Object.entries(r))if(!!Array.isArray(s)){if(!(n in i))throw new Error(`Unknown Chalk style: ${n}`);i=s.length>0?i[n](...s):i[n]}return i}HK.exports=(t,e)=>{let r=[],i=[],n=[];if(e.replace(_he,(s,o,a,l,c,u)=>{if(o)n.push(jK(o));else if(l){let g=n.join("");n=[],i.push(r.length===0?g:YK(t,r)(g)),r.push({inverse:a,styles:tpe(l)})}else if(c){if(r.length===0)throw new Error("Found extraneous } in Chalk template literal");i.push(YK(t,r)(n.join(""))),n=[],r.pop()}else n.push(u)}),i.push(n.join("")),r.length>0){let s=`Chalk template literal is missing ${r.length} closing bracket${r.length===1?"":"s"} (\`}\`)`;throw new Error(s)}return i.join("")}});var jb=E((P$e,JK)=>{"use strict";var fh=FK(),{stdout:Kb,stderr:Ub}=OK(),{stringReplaceAll:rpe,stringEncaseCRLFWithFirstIndex:ipe}=UK(),WK=["ansi","ansi","ansi256","ansi16m"],su=Object.create(null),npe=(t,e={})=>{if(e.level>3||e.level<0)throw new Error("The `level` option should be an integer from 0 to 3");let r=Kb?Kb.level:0;t.level=e.level===void 0?r:e.level},zK=class{constructor(e){return VK(e)}},VK=t=>{let e={};return npe(e,t),e.template=(...r)=>spe(e.template,...r),Object.setPrototypeOf(e,DE.prototype),Object.setPrototypeOf(e.template,e),e.template.constructor=()=>{throw new Error("`chalk.constructor()` is deprecated. Use `new chalk.Instance()` instead.")},e.template.Instance=zK,e.template};function DE(t){return VK(t)}for(let[t,e]of Object.entries(fh))su[t]={get(){let r=RE(this,Hb(e.open,e.close,this._styler),this._isEmpty);return Object.defineProperty(this,t,{value:r}),r}};su.visible={get(){let t=RE(this,this._styler,!0);return Object.defineProperty(this,"visible",{value:t}),t}};var _K=["rgb","hex","keyword","hsl","hsv","hwb","ansi","ansi256"];for(let t of _K)su[t]={get(){let{level:e}=this;return function(...r){let i=Hb(fh.color[WK[e]][t](...r),fh.color.close,this._styler);return RE(this,i,this._isEmpty)}}};for(let t of _K){let e="bg"+t[0].toUpperCase()+t.slice(1);su[e]={get(){let{level:r}=this;return function(...i){let n=Hb(fh.bgColor[WK[r]][t](...i),fh.bgColor.close,this._styler);return RE(this,n,this._isEmpty)}}}}var ope=Object.defineProperties(()=>{},_(P({},su),{level:{enumerable:!0,get(){return this._generator.level},set(t){this._generator.level=t}}})),Hb=(t,e,r)=>{let i,n;return r===void 0?(i=t,n=e):(i=r.openAll+t,n=e+r.closeAll),{open:t,close:e,openAll:i,closeAll:n,parent:r}},RE=(t,e,r)=>{let i=(...n)=>ape(i,n.length===1?""+n[0]:n.join(" "));return i.__proto__=ope,i._generator=t,i._styler=e,i._isEmpty=r,i},ape=(t,e)=>{if(t.level<=0||!e)return t._isEmpty?"":e;let r=t._styler;if(r===void 0)return e;let{openAll:i,closeAll:n}=r;if(e.indexOf("")!==-1)for(;r!==void 0;)e=rpe(e,r.close,r.open),r=r.parent;let s=e.indexOf(` +`);return s!==-1&&(e=ipe(e,n,i,s)),i+e+n},Gb,spe=(t,...e)=>{let[r]=e;if(!Array.isArray(r))return e.join(" ");let i=e.slice(1),n=[r.raw[0]];for(let s=1;s{XK.exports=[{name:"AppVeyor",constant:"APPVEYOR",env:"APPVEYOR",pr:"APPVEYOR_PULL_REQUEST_NUMBER"},{name:"Azure Pipelines",constant:"AZURE_PIPELINES",env:"SYSTEM_TEAMFOUNDATIONCOLLECTIONURI",pr:"SYSTEM_PULLREQUEST_PULLREQUESTID"},{name:"Appcircle",constant:"APPCIRCLE",env:"AC_APPCIRCLE"},{name:"Bamboo",constant:"BAMBOO",env:"bamboo_planKey"},{name:"Bitbucket Pipelines",constant:"BITBUCKET",env:"BITBUCKET_COMMIT",pr:"BITBUCKET_PR_ID"},{name:"Bitrise",constant:"BITRISE",env:"BITRISE_IO",pr:"BITRISE_PULL_REQUEST"},{name:"Buddy",constant:"BUDDY",env:"BUDDY_WORKSPACE_ID",pr:"BUDDY_EXECUTION_PULL_REQUEST_ID"},{name:"Buildkite",constant:"BUILDKITE",env:"BUILDKITE",pr:{env:"BUILDKITE_PULL_REQUEST",ne:"false"}},{name:"CircleCI",constant:"CIRCLE",env:"CIRCLECI",pr:"CIRCLE_PULL_REQUEST"},{name:"Cirrus CI",constant:"CIRRUS",env:"CIRRUS_CI",pr:"CIRRUS_PR"},{name:"AWS CodeBuild",constant:"CODEBUILD",env:"CODEBUILD_BUILD_ARN"},{name:"Codefresh",constant:"CODEFRESH",env:"CF_BUILD_ID",pr:{any:["CF_PULL_REQUEST_NUMBER","CF_PULL_REQUEST_ID"]}},{name:"Codeship",constant:"CODESHIP",env:{CI_NAME:"codeship"}},{name:"Drone",constant:"DRONE",env:"DRONE",pr:{DRONE_BUILD_EVENT:"pull_request"}},{name:"dsari",constant:"DSARI",env:"DSARI"},{name:"GitHub Actions",constant:"GITHUB_ACTIONS",env:"GITHUB_ACTIONS",pr:{GITHUB_EVENT_NAME:"pull_request"}},{name:"GitLab CI",constant:"GITLAB",env:"GITLAB_CI",pr:"CI_MERGE_REQUEST_ID"},{name:"GoCD",constant:"GOCD",env:"GO_PIPELINE_LABEL"},{name:"LayerCI",constant:"LAYERCI",env:"LAYERCI",pr:"LAYERCI_PULL_REQUEST"},{name:"Hudson",constant:"HUDSON",env:"HUDSON_URL"},{name:"Jenkins",constant:"JENKINS",env:["JENKINS_URL","BUILD_ID"],pr:{any:["ghprbPullId","CHANGE_ID"]}},{name:"Magnum CI",constant:"MAGNUM",env:"MAGNUM"},{name:"Netlify CI",constant:"NETLIFY",env:"NETLIFY",pr:{env:"PULL_REQUEST",ne:"false"}},{name:"Nevercode",constant:"NEVERCODE",env:"NEVERCODE",pr:{env:"NEVERCODE_PULL_REQUEST",ne:"false"}},{name:"Render",constant:"RENDER",env:"RENDER",pr:{IS_PULL_REQUEST:"true"}},{name:"Sail CI",constant:"SAIL",env:"SAILCI",pr:"SAIL_PULL_REQUEST_NUMBER"},{name:"Semaphore",constant:"SEMAPHORE",env:"SEMAPHORE",pr:"PULL_REQUEST_NUMBER"},{name:"Screwdriver",constant:"SCREWDRIVER",env:"SCREWDRIVER",pr:{env:"SD_PULL_REQUEST",ne:"false"}},{name:"Shippable",constant:"SHIPPABLE",env:"SHIPPABLE",pr:{IS_PULL_REQUEST:"true"}},{name:"Solano CI",constant:"SOLANO",env:"TDDIUM",pr:"TDDIUM_PR_ID"},{name:"Strider CD",constant:"STRIDER",env:"STRIDER"},{name:"TaskCluster",constant:"TASKCLUSTER",env:["TASK_ID","RUN_ID"]},{name:"TeamCity",constant:"TEAMCITY",env:"TEAMCITY_VERSION"},{name:"Travis CI",constant:"TRAVIS",env:"TRAVIS",pr:{env:"TRAVIS_PULL_REQUEST",ne:"false"}},{name:"Vercel",constant:"VERCEL",env:"NOW_BUILDER"},{name:"Visual Studio App Center",constant:"APPCENTER",env:"APPCENTER_BUILD_ID"}]});var ml=E(Dn=>{"use strict";var $K=ZK(),ro=process.env;Object.defineProperty(Dn,"_vendors",{value:$K.map(function(t){return t.constant})});Dn.name=null;Dn.isPR=null;$K.forEach(function(t){let r=(Array.isArray(t.env)?t.env:[t.env]).every(function(i){return e1(i)});if(Dn[t.constant]=r,r)switch(Dn.name=t.name,typeof t.pr){case"string":Dn.isPR=!!ro[t.pr];break;case"object":"env"in t.pr?Dn.isPR=t.pr.env in ro&&ro[t.pr.env]!==t.pr.ne:"any"in t.pr?Dn.isPR=t.pr.any.some(function(i){return!!ro[i]}):Dn.isPR=e1(t.pr);break;default:Dn.isPR=null}});Dn.isCI=!!(ro.CI||ro.CONTINUOUS_INTEGRATION||ro.BUILD_NUMBER||ro.RUN_ID||Dn.name);function e1(t){return typeof t=="string"?!!ro[t]:Object.keys(t).every(function(e){return ro[e]===t[e]})}});var FE=E(zn=>{"use strict";zn.isInteger=t=>typeof t=="number"?Number.isInteger(t):typeof t=="string"&&t.trim()!==""?Number.isInteger(Number(t)):!1;zn.find=(t,e)=>t.nodes.find(r=>r.type===e);zn.exceedsLimit=(t,e,r=1,i)=>i===!1||!zn.isInteger(t)||!zn.isInteger(e)?!1:(Number(e)-Number(t))/Number(r)>=i;zn.escapeNode=(t,e=0,r)=>{let i=t.nodes[e];!i||(r&&i.type===r||i.type==="open"||i.type==="close")&&i.escaped!==!0&&(i.value="\\"+i.value,i.escaped=!0)};zn.encloseBrace=t=>t.type!=="brace"?!1:t.commas>>0+t.ranges>>0==0?(t.invalid=!0,!0):!1;zn.isInvalidBrace=t=>t.type!=="brace"?!1:t.invalid===!0||t.dollar?!0:t.commas>>0+t.ranges>>0==0||t.open!==!0||t.close!==!0?(t.invalid=!0,!0):!1;zn.isOpenOrClose=t=>t.type==="open"||t.type==="close"?!0:t.open===!0||t.close===!0;zn.reduce=t=>t.reduce((e,r)=>(r.type==="text"&&e.push(r.value),r.type==="range"&&(r.type="text"),e),[]);zn.flatten=(...t)=>{let e=[],r=i=>{for(let n=0;n{"use strict";var r1=FE();t1.exports=(t,e={})=>{let r=(i,n={})=>{let s=e.escapeInvalid&&r1.isInvalidBrace(n),o=i.invalid===!0&&e.escapeInvalid===!0,a="";if(i.value)return(s||o)&&r1.isOpenOrClose(i)?"\\"+i.value:i.value;if(i.value)return i.value;if(i.nodes)for(let l of i.nodes)a+=r(l);return a};return r(t)}});var n1=E((L$e,i1)=>{"use strict";i1.exports=function(t){return typeof t=="number"?t-t==0:typeof t=="string"&&t.trim()!==""?Number.isFinite?Number.isFinite(+t):isFinite(+t):!1}});var f1=E((T$e,s1)=>{"use strict";var o1=n1(),El=(t,e,r)=>{if(o1(t)===!1)throw new TypeError("toRegexRange: expected the first argument to be a number");if(e===void 0||t===e)return String(t);if(o1(e)===!1)throw new TypeError("toRegexRange: expected the second argument to be a number.");let i=P({relaxZeros:!0},r);typeof i.strictZeros=="boolean"&&(i.relaxZeros=i.strictZeros===!1);let n=String(i.relaxZeros),s=String(i.shorthand),o=String(i.capture),a=String(i.wrap),l=t+":"+e+"="+n+s+o+a;if(El.cache.hasOwnProperty(l))return El.cache[l].result;let c=Math.min(t,e),u=Math.max(t,e);if(Math.abs(c-u)===1){let d=t+"|"+e;return i.capture?`(${d})`:i.wrap===!1?d:`(?:${d})`}let g=A1(t)||A1(e),f={min:t,max:e,a:c,b:u},h=[],p=[];if(g&&(f.isPadded=g,f.maxLen=String(f.max).length),c<0){let d=u<0?Math.abs(u):1;p=a1(d,Math.abs(c),f,i),c=f.a=0}return u>=0&&(h=a1(c,u,f,i)),f.negatives=p,f.positives=h,f.result=Ape(p,h,i),i.capture===!0?f.result=`(${f.result})`:i.wrap!==!1&&h.length+p.length>1&&(f.result=`(?:${f.result})`),El.cache[l]=f,f.result};function Ape(t,e,r){let i=Yb(t,e,"-",!1,r)||[],n=Yb(e,t,"",!1,r)||[],s=Yb(t,e,"-?",!0,r)||[];return i.concat(s).concat(n).join("|")}function cpe(t,e){let r=1,i=1,n=l1(t,r),s=new Set([e]);for(;t<=n&&n<=e;)s.add(n),r+=1,n=l1(t,r);for(n=c1(e+1,i)-1;t1&&a.count.pop(),a.count.push(u.count[0]),a.string=a.pattern+u1(a.count),o=c+1;continue}r.isPadded&&(g=hpe(c,r,i)),u.string=g+u.pattern+u1(u.count),s.push(u),o=c+1,a=u}return s}function Yb(t,e,r,i,n){let s=[];for(let o of t){let{string:a}=o;!i&&!g1(e,"string",a)&&s.push(r+a),i&&g1(e,"string",a)&&s.push(r+a)}return s}function upe(t,e){let r=[];for(let i=0;ie?1:e>t?-1:0}function g1(t,e,r){return t.some(i=>i[e]===r)}function l1(t,e){return Number(String(t).slice(0,-e)+"9".repeat(e))}function c1(t,e){return t-t%Math.pow(10,e)}function u1(t){let[e=0,r=""]=t;return r||e>1?`{${e+(r?","+r:"")}}`:""}function gpe(t,e,r){return`[${t}${e-t==1?"":"-"}${e}]`}function A1(t){return/^-?(0+)\d/.test(t)}function hpe(t,e,r){if(!e.isPadded)return t;let i=Math.abs(e.maxLen-String(t).length),n=r.relaxZeros!==!1;switch(i){case 0:return"";case 1:return n?"0?":"0";case 2:return n?"0{0,2}":"00";default:return n?`0{0,${i}}`:`0{${i}}`}}El.cache={};El.clearCache=()=>El.cache={};s1.exports=El});var Wb=E((M$e,h1)=>{"use strict";var ppe=require("util"),p1=f1(),d1=t=>t!==null&&typeof t=="object"&&!Array.isArray(t),dpe=t=>e=>t===!0?Number(e):String(e),qb=t=>typeof t=="number"||typeof t=="string"&&t!=="",ph=t=>Number.isInteger(+t),Jb=t=>{let e=`${t}`,r=-1;if(e[0]==="-"&&(e=e.slice(1)),e==="0")return!1;for(;e[++r]==="0";);return r>0},Cpe=(t,e,r)=>typeof t=="string"||typeof e=="string"?!0:r.stringify===!0,mpe=(t,e,r)=>{if(e>0){let i=t[0]==="-"?"-":"";i&&(t=t.slice(1)),t=i+t.padStart(i?e-1:e,"0")}return r===!1?String(t):t},C1=(t,e)=>{let r=t[0]==="-"?"-":"";for(r&&(t=t.slice(1),e--);t.length{t.negatives.sort((o,a)=>oa?1:0),t.positives.sort((o,a)=>oa?1:0);let r=e.capture?"":"?:",i="",n="",s;return t.positives.length&&(i=t.positives.join("|")),t.negatives.length&&(n=`-(${r}${t.negatives.join("|")})`),i&&n?s=`${i}|${n}`:s=i||n,e.wrap?`(${r}${s})`:s},m1=(t,e,r,i)=>{if(r)return p1(t,e,P({wrap:!1},i));let n=String.fromCharCode(t);if(t===e)return n;let s=String.fromCharCode(e);return`[${n}-${s}]`},E1=(t,e,r)=>{if(Array.isArray(t)){let i=r.wrap===!0,n=r.capture?"":"?:";return i?`(${n}${t.join("|")})`:t.join("|")}return p1(t,e,r)},I1=(...t)=>new RangeError("Invalid range arguments: "+ppe.inspect(...t)),y1=(t,e,r)=>{if(r.strictRanges===!0)throw I1([t,e]);return[]},Ipe=(t,e)=>{if(e.strictRanges===!0)throw new TypeError(`Expected step "${t}" to be a number`);return[]},ype=(t,e,r=1,i={})=>{let n=Number(t),s=Number(e);if(!Number.isInteger(n)||!Number.isInteger(s)){if(i.strictRanges===!0)throw I1([t,e]);return[]}n===0&&(n=0),s===0&&(s=0);let o=n>s,a=String(t),l=String(e),c=String(r);r=Math.max(Math.abs(r),1);let u=Jb(a)||Jb(l)||Jb(c),g=u?Math.max(a.length,l.length,c.length):0,f=u===!1&&Cpe(t,e,i)===!1,h=i.transform||dpe(f);if(i.toRegex&&r===1)return m1(C1(t,g),C1(e,g),!0,i);let p={negatives:[],positives:[]},d=B=>p[B<0?"negatives":"positives"].push(Math.abs(B)),m=[],I=0;for(;o?n>=s:n<=s;)i.toRegex===!0&&r>1?d(n):m.push(mpe(h(n,I),g,f)),n=o?n-r:n+r,I++;return i.toRegex===!0?r>1?Epe(p,i):E1(m,null,P({wrap:!1},i)):m},wpe=(t,e,r=1,i={})=>{if(!ph(t)&&t.length>1||!ph(e)&&e.length>1)return y1(t,e,i);let n=i.transform||(f=>String.fromCharCode(f)),s=`${t}`.charCodeAt(0),o=`${e}`.charCodeAt(0),a=s>o,l=Math.min(s,o),c=Math.max(s,o);if(i.toRegex&&r===1)return m1(l,c,!1,i);let u=[],g=0;for(;a?s>=o:s<=o;)u.push(n(s,g)),s=a?s-r:s+r,g++;return i.toRegex===!0?E1(u,null,{wrap:!1,options:i}):u},LE=(t,e,r,i={})=>{if(e==null&&qb(t))return[t];if(!qb(t)||!qb(e))return y1(t,e,i);if(typeof r=="function")return LE(t,e,1,{transform:r});if(d1(r))return LE(t,e,0,r);let n=P({},i);return n.capture===!0&&(n.wrap=!0),r=r||n.step||1,ph(r)?ph(t)&&ph(e)?ype(t,e,r,n):wpe(t,e,Math.max(Math.abs(r),1),n):r!=null&&!d1(r)?Ipe(r,n):LE(t,e,1,r)};h1.exports=LE});var Q1=E((O$e,w1)=>{"use strict";var Bpe=Wb(),B1=FE(),Qpe=(t,e={})=>{let r=(i,n={})=>{let s=B1.isInvalidBrace(n),o=i.invalid===!0&&e.escapeInvalid===!0,a=s===!0||o===!0,l=e.escapeInvalid===!0?"\\":"",c="";if(i.isOpen===!0||i.isClose===!0)return l+i.value;if(i.type==="open")return a?l+i.value:"(";if(i.type==="close")return a?l+i.value:")";if(i.type==="comma")return i.prev.type==="comma"?"":a?i.value:"|";if(i.value)return i.value;if(i.nodes&&i.ranges>0){let u=B1.reduce(i.nodes),g=Bpe(...u,_(P({},e),{wrap:!1,toRegex:!0}));if(g.length!==0)return u.length>1&&g.length>1?`(${g})`:g}if(i.nodes)for(let u of i.nodes)c+=r(u,i);return c};return r(t)};w1.exports=Qpe});var S1=E((K$e,b1)=>{"use strict";var bpe=Wb(),v1=NE(),ou=FE(),Il=(t="",e="",r=!1)=>{let i=[];if(t=[].concat(t),e=[].concat(e),!e.length)return t;if(!t.length)return r?ou.flatten(e).map(n=>`{${n}}`):e;for(let n of t)if(Array.isArray(n))for(let s of n)i.push(Il(s,e,r));else for(let s of e)r===!0&&typeof s=="string"&&(s=`{${s}}`),i.push(Array.isArray(s)?Il(n,s,r):n+s);return ou.flatten(i)},vpe=(t,e={})=>{let r=e.rangeLimit===void 0?1e3:e.rangeLimit,i=(n,s={})=>{n.queue=[];let o=s,a=s.queue;for(;o.type!=="brace"&&o.type!=="root"&&o.parent;)o=o.parent,a=o.queue;if(n.invalid||n.dollar){a.push(Il(a.pop(),v1(n,e)));return}if(n.type==="brace"&&n.invalid!==!0&&n.nodes.length===2){a.push(Il(a.pop(),["{}"]));return}if(n.nodes&&n.ranges>0){let g=ou.reduce(n.nodes);if(ou.exceedsLimit(...g,e.step,r))throw new RangeError("expanded array length exceeds range limit. Use options.rangeLimit to increase or disable the limit.");let f=bpe(...g,e);f.length===0&&(f=v1(n,e)),a.push(Il(a.pop(),f)),n.nodes=[];return}let l=ou.encloseBrace(n),c=n.queue,u=n;for(;u.type!=="brace"&&u.type!=="root"&&u.parent;)u=u.parent,c=u.queue;for(let g=0;g{"use strict";x1.exports={MAX_LENGTH:1024*64,CHAR_0:"0",CHAR_9:"9",CHAR_UPPERCASE_A:"A",CHAR_LOWERCASE_A:"a",CHAR_UPPERCASE_Z:"Z",CHAR_LOWERCASE_Z:"z",CHAR_LEFT_PARENTHESES:"(",CHAR_RIGHT_PARENTHESES:")",CHAR_ASTERISK:"*",CHAR_AMPERSAND:"&",CHAR_AT:"@",CHAR_BACKSLASH:"\\",CHAR_BACKTICK:"`",CHAR_CARRIAGE_RETURN:"\r",CHAR_CIRCUMFLEX_ACCENT:"^",CHAR_COLON:":",CHAR_COMMA:",",CHAR_DOLLAR:"$",CHAR_DOT:".",CHAR_DOUBLE_QUOTE:'"',CHAR_EQUAL:"=",CHAR_EXCLAMATION_MARK:"!",CHAR_FORM_FEED:"\f",CHAR_FORWARD_SLASH:"/",CHAR_HASH:"#",CHAR_HYPHEN_MINUS:"-",CHAR_LEFT_ANGLE_BRACKET:"<",CHAR_LEFT_CURLY_BRACE:"{",CHAR_LEFT_SQUARE_BRACKET:"[",CHAR_LINE_FEED:` +`,CHAR_NO_BREAK_SPACE:"\xA0",CHAR_PERCENT:"%",CHAR_PLUS:"+",CHAR_QUESTION_MARK:"?",CHAR_RIGHT_ANGLE_BRACKET:">",CHAR_RIGHT_CURLY_BRACE:"}",CHAR_RIGHT_SQUARE_BRACKET:"]",CHAR_SEMICOLON:";",CHAR_SINGLE_QUOTE:"'",CHAR_SPACE:" ",CHAR_TAB:" ",CHAR_UNDERSCORE:"_",CHAR_VERTICAL_LINE:"|",CHAR_ZERO_WIDTH_NOBREAK_SPACE:"\uFEFF"}});var N1=E((H$e,P1)=>{"use strict";var Spe=NE(),{MAX_LENGTH:D1,CHAR_BACKSLASH:zb,CHAR_BACKTICK:xpe,CHAR_COMMA:kpe,CHAR_DOT:Ppe,CHAR_LEFT_PARENTHESES:Dpe,CHAR_RIGHT_PARENTHESES:Rpe,CHAR_LEFT_CURLY_BRACE:Fpe,CHAR_RIGHT_CURLY_BRACE:Npe,CHAR_LEFT_SQUARE_BRACKET:R1,CHAR_RIGHT_SQUARE_BRACKET:F1,CHAR_DOUBLE_QUOTE:Lpe,CHAR_SINGLE_QUOTE:Tpe,CHAR_NO_BREAK_SPACE:Mpe,CHAR_ZERO_WIDTH_NOBREAK_SPACE:Ope}=k1(),Kpe=(t,e={})=>{if(typeof t!="string")throw new TypeError("Expected a string");let r=e||{},i=typeof r.maxLength=="number"?Math.min(D1,r.maxLength):D1;if(t.length>i)throw new SyntaxError(`Input length (${t.length}), exceeds max characters (${i})`);let n={type:"root",input:t,nodes:[]},s=[n],o=n,a=n,l=0,c=t.length,u=0,g=0,f,h={},p=()=>t[u++],d=m=>{if(m.type==="text"&&a.type==="dot"&&(a.type="text"),a&&a.type==="text"&&m.type==="text"){a.value+=m.value;return}return o.nodes.push(m),m.parent=o,m.prev=a,a=m,m};for(d({type:"bos"});u0){if(o.ranges>0){o.ranges=0;let m=o.nodes.shift();o.nodes=[m,{type:"text",value:Spe(o)}]}d({type:"comma",value:f}),o.commas++;continue}if(f===Ppe&&g>0&&o.commas===0){let m=o.nodes;if(g===0||m.length===0){d({type:"text",value:f});continue}if(a.type==="dot"){if(o.range=[],a.value+=f,a.type="range",o.nodes.length!==3&&o.nodes.length!==5){o.invalid=!0,o.ranges=0,a.type="text";continue}o.ranges++,o.args=[];continue}if(a.type==="range"){m.pop();let I=m[m.length-1];I.value+=a.value+f,a=I,o.ranges--;continue}d({type:"dot",value:f});continue}d({type:"text",value:f})}do if(o=s.pop(),o.type!=="root"){o.nodes.forEach(B=>{B.nodes||(B.type==="open"&&(B.isOpen=!0),B.type==="close"&&(B.isClose=!0),B.nodes||(B.type="text"),B.invalid=!0)});let m=s[s.length-1],I=m.nodes.indexOf(o);m.nodes.splice(I,1,...o.nodes)}while(s.length>0);return d({type:"eos"}),n};P1.exports=Kpe});var M1=E((G$e,L1)=>{"use strict";var T1=NE(),Upe=Q1(),Hpe=S1(),Gpe=N1(),Rn=(t,e={})=>{let r=[];if(Array.isArray(t))for(let i of t){let n=Rn.create(i,e);Array.isArray(n)?r.push(...n):r.push(n)}else r=[].concat(Rn.create(t,e));return e&&e.expand===!0&&e.nodupes===!0&&(r=[...new Set(r)]),r};Rn.parse=(t,e={})=>Gpe(t,e);Rn.stringify=(t,e={})=>typeof t=="string"?T1(Rn.parse(t,e),e):T1(t,e);Rn.compile=(t,e={})=>(typeof t=="string"&&(t=Rn.parse(t,e)),Upe(t,e));Rn.expand=(t,e={})=>{typeof t=="string"&&(t=Rn.parse(t,e));let r=Hpe(t,e);return e.noempty===!0&&(r=r.filter(Boolean)),e.nodupes===!0&&(r=[...new Set(r)]),r};Rn.create=(t,e={})=>t===""||t.length<3?[t]:e.expand!==!0?Rn.compile(t,e):Rn.expand(t,e);L1.exports=Rn});var dh=E((j$e,O1)=>{"use strict";var jpe=require("path"),io="\\\\/",K1=`[^${io}]`,ea="\\.",Ype="\\+",qpe="\\?",TE="\\/",Jpe="(?=.)",U1="[^/]",Vb=`(?:${TE}|$)`,H1=`(?:^|${TE})`,_b=`${ea}{1,2}${Vb}`,Wpe=`(?!${ea})`,zpe=`(?!${H1}${_b})`,Vpe=`(?!${ea}{0,1}${Vb})`,_pe=`(?!${_b})`,Xpe=`[^.${TE}]`,Zpe=`${U1}*?`,G1={DOT_LITERAL:ea,PLUS_LITERAL:Ype,QMARK_LITERAL:qpe,SLASH_LITERAL:TE,ONE_CHAR:Jpe,QMARK:U1,END_ANCHOR:Vb,DOTS_SLASH:_b,NO_DOT:Wpe,NO_DOTS:zpe,NO_DOT_SLASH:Vpe,NO_DOTS_SLASH:_pe,QMARK_NO_DOT:Xpe,STAR:Zpe,START_ANCHOR:H1},$pe=_(P({},G1),{SLASH_LITERAL:`[${io}]`,QMARK:K1,STAR:`${K1}*?`,DOTS_SLASH:`${ea}{1,2}(?:[${io}]|$)`,NO_DOT:`(?!${ea})`,NO_DOTS:`(?!(?:^|[${io}])${ea}{1,2}(?:[${io}]|$))`,NO_DOT_SLASH:`(?!${ea}{0,1}(?:[${io}]|$))`,NO_DOTS_SLASH:`(?!${ea}{1,2}(?:[${io}]|$))`,QMARK_NO_DOT:`[^.${io}]`,START_ANCHOR:`(?:^|[${io}])`,END_ANCHOR:`(?:[${io}]|$)`}),ede={alnum:"a-zA-Z0-9",alpha:"a-zA-Z",ascii:"\\x00-\\x7F",blank:" \\t",cntrl:"\\x00-\\x1F\\x7F",digit:"0-9",graph:"\\x21-\\x7E",lower:"a-z",print:"\\x20-\\x7E ",punct:"\\-!\"#$%&'()\\*+,./:;<=>?@[\\]^_`{|}~",space:" \\t\\r\\n\\v\\f",upper:"A-Z",word:"A-Za-z0-9_",xdigit:"A-Fa-f0-9"};O1.exports={MAX_LENGTH:1024*64,POSIX_REGEX_SOURCE:ede,REGEX_BACKSLASH:/\\(?![*+?^${}(|)[\]])/g,REGEX_NON_SPECIAL_CHARS:/^[^@![\].,$*+?^{}()|\\/]+/,REGEX_SPECIAL_CHARS:/[-*+?.^${}(|)[\]]/,REGEX_SPECIAL_CHARS_BACKREF:/(\\?)((\W)(\3*))/g,REGEX_SPECIAL_CHARS_GLOBAL:/([-*+?.^${}(|)[\]])/g,REGEX_REMOVE_BACKSLASH:/(?:\[.*?[^\\]\]|\\(?=.))/g,REPLACEMENTS:{"***":"*","**/**":"**","**/**/**":"**"},CHAR_0:48,CHAR_9:57,CHAR_UPPERCASE_A:65,CHAR_LOWERCASE_A:97,CHAR_UPPERCASE_Z:90,CHAR_LOWERCASE_Z:122,CHAR_LEFT_PARENTHESES:40,CHAR_RIGHT_PARENTHESES:41,CHAR_ASTERISK:42,CHAR_AMPERSAND:38,CHAR_AT:64,CHAR_BACKWARD_SLASH:92,CHAR_CARRIAGE_RETURN:13,CHAR_CIRCUMFLEX_ACCENT:94,CHAR_COLON:58,CHAR_COMMA:44,CHAR_DOT:46,CHAR_DOUBLE_QUOTE:34,CHAR_EQUAL:61,CHAR_EXCLAMATION_MARK:33,CHAR_FORM_FEED:12,CHAR_FORWARD_SLASH:47,CHAR_GRAVE_ACCENT:96,CHAR_HASH:35,CHAR_HYPHEN_MINUS:45,CHAR_LEFT_ANGLE_BRACKET:60,CHAR_LEFT_CURLY_BRACE:123,CHAR_LEFT_SQUARE_BRACKET:91,CHAR_LINE_FEED:10,CHAR_NO_BREAK_SPACE:160,CHAR_PERCENT:37,CHAR_PLUS:43,CHAR_QUESTION_MARK:63,CHAR_RIGHT_ANGLE_BRACKET:62,CHAR_RIGHT_CURLY_BRACE:125,CHAR_RIGHT_SQUARE_BRACKET:93,CHAR_SEMICOLON:59,CHAR_SINGLE_QUOTE:39,CHAR_SPACE:32,CHAR_TAB:9,CHAR_UNDERSCORE:95,CHAR_VERTICAL_LINE:124,CHAR_ZERO_WIDTH_NOBREAK_SPACE:65279,SEP:jpe.sep,extglobChars(t){return{"!":{type:"negate",open:"(?:(?!(?:",close:`))${t.STAR})`},"?":{type:"qmark",open:"(?:",close:")?"},"+":{type:"plus",open:"(?:",close:")+"},"*":{type:"star",open:"(?:",close:")*"},"@":{type:"at",open:"(?:",close:")"}}},globChars(t){return t===!0?$pe:G1}}});var Ch=E(cn=>{"use strict";var tde=require("path"),rde=process.platform==="win32",{REGEX_BACKSLASH:ide,REGEX_REMOVE_BACKSLASH:nde,REGEX_SPECIAL_CHARS:sde,REGEX_SPECIAL_CHARS_GLOBAL:ode}=dh();cn.isObject=t=>t!==null&&typeof t=="object"&&!Array.isArray(t);cn.hasRegexChars=t=>sde.test(t);cn.isRegexChar=t=>t.length===1&&cn.hasRegexChars(t);cn.escapeRegex=t=>t.replace(ode,"\\$1");cn.toPosixSlashes=t=>t.replace(ide,"/");cn.removeBackslashes=t=>t.replace(nde,e=>e==="\\"?"":e);cn.supportsLookbehinds=()=>{let t=process.version.slice(1).split(".").map(Number);return t.length===3&&t[0]>=9||t[0]===8&&t[1]>=10};cn.isWindows=t=>t&&typeof t.windows=="boolean"?t.windows:rde===!0||tde.sep==="\\";cn.escapeLast=(t,e,r)=>{let i=t.lastIndexOf(e,r);return i===-1?t:t[i-1]==="\\"?cn.escapeLast(t,e,i-1):`${t.slice(0,i)}\\${t.slice(i)}`};cn.removePrefix=(t,e={})=>{let r=t;return r.startsWith("./")&&(r=r.slice(2),e.prefix="./"),r};cn.wrapOutput=(t,e={},r={})=>{let i=r.contains?"":"^",n=r.contains?"":"$",s=`${i}(?:${t})${n}`;return e.negated===!0&&(s=`(?:^(?!${s}).*$)`),s}});var X1=E((q$e,j1)=>{"use strict";var Y1=Ch(),{CHAR_ASTERISK:Xb,CHAR_AT:ade,CHAR_BACKWARD_SLASH:mh,CHAR_COMMA:Ade,CHAR_DOT:Zb,CHAR_EXCLAMATION_MARK:q1,CHAR_FORWARD_SLASH:J1,CHAR_LEFT_CURLY_BRACE:$b,CHAR_LEFT_PARENTHESES:ev,CHAR_LEFT_SQUARE_BRACKET:lde,CHAR_PLUS:cde,CHAR_QUESTION_MARK:W1,CHAR_RIGHT_CURLY_BRACE:ude,CHAR_RIGHT_PARENTHESES:z1,CHAR_RIGHT_SQUARE_BRACKET:gde}=dh(),V1=t=>t===J1||t===mh,_1=t=>{t.isPrefix!==!0&&(t.depth=t.isGlobstar?Infinity:1)},fde=(t,e)=>{let r=e||{},i=t.length-1,n=r.parts===!0||r.scanToEnd===!0,s=[],o=[],a=[],l=t,c=-1,u=0,g=0,f=!1,h=!1,p=!1,d=!1,m=!1,I=!1,B=!1,b=!1,R=!1,H=0,L,K,J={value:"",depth:0,isGlob:!1},ne=()=>c>=i,q=()=>l.charCodeAt(c+1),A=()=>(L=K,l.charCodeAt(++c));for(;c0&&(W=l.slice(0,u),l=l.slice(u),g-=u),V&&p===!0&&g>0?(V=l.slice(0,g),X=l.slice(g)):p===!0?(V="",X=l):V=l,V&&V!==""&&V!=="/"&&V!==l&&V1(V.charCodeAt(V.length-1))&&(V=V.slice(0,-1)),r.unescape===!0&&(X&&(X=Y1.removeBackslashes(X)),V&&B===!0&&(V=Y1.removeBackslashes(V)));let F={prefix:W,input:t,start:u,base:V,glob:X,isBrace:f,isBracket:h,isGlob:p,isExtglob:d,isGlobstar:m,negated:b};if(r.tokens===!0&&(F.maxDepth=0,V1(K)||o.push(J),F.tokens=o),r.parts===!0||r.tokens===!0){let D;for(let he=0;he{"use strict";var ME=dh(),Fn=Ch(),{MAX_LENGTH:OE,POSIX_REGEX_SOURCE:hde,REGEX_NON_SPECIAL_CHARS:pde,REGEX_SPECIAL_CHARS_BACKREF:dde,REPLACEMENTS:$1}=ME,Cde=(t,e)=>{if(typeof e.expandRange=="function")return e.expandRange(...t,e);t.sort();let r=`[${t.join("-")}]`;try{new RegExp(r)}catch(i){return t.map(n=>Fn.escapeRegex(n)).join("..")}return r},au=(t,e)=>`Missing ${t}: "${e}" - use "\\\\${e}" to match literal characters`,eU=(t,e)=>{if(typeof t!="string")throw new TypeError("Expected a string");t=$1[t]||t;let r=P({},e),i=typeof r.maxLength=="number"?Math.min(OE,r.maxLength):OE,n=t.length;if(n>i)throw new SyntaxError(`Input length: ${n}, exceeds maximum allowed length: ${i}`);let s={type:"bos",value:"",output:r.prepend||""},o=[s],a=r.capture?"":"?:",l=Fn.isWindows(e),c=ME.globChars(l),u=ME.extglobChars(c),{DOT_LITERAL:g,PLUS_LITERAL:f,SLASH_LITERAL:h,ONE_CHAR:p,DOTS_SLASH:d,NO_DOT:m,NO_DOT_SLASH:I,NO_DOTS_SLASH:B,QMARK:b,QMARK_NO_DOT:R,STAR:H,START_ANCHOR:L}=c,K=G=>`(${a}(?:(?!${L}${G.dot?d:g}).)*?)`,J=r.dot?"":m,ne=r.dot?b:R,q=r.bash===!0?K(r):H;r.capture&&(q=`(${q})`),typeof r.noext=="boolean"&&(r.noextglob=r.noext);let A={input:t,index:-1,start:0,dot:r.dot===!0,consumed:"",output:"",prefix:"",backtrack:!1,negated:!1,brackets:0,braces:0,parens:0,quotes:0,globstar:!1,tokens:o};t=Fn.removePrefix(t,A),n=t.length;let V=[],W=[],X=[],F=s,D,he=()=>A.index===n-1,pe=A.peek=(G=1)=>t[A.index+G],Ne=A.advance=()=>t[++A.index],Pe=()=>t.slice(A.index+1),qe=(G="",Ce=0)=>{A.consumed+=G,A.index+=Ce},re=G=>{A.output+=G.output!=null?G.output:G.value,qe(G.value)},se=()=>{let G=1;for(;pe()==="!"&&(pe(2)!=="("||pe(3)==="?");)Ne(),A.start++,G++;return G%2==0?!1:(A.negated=!0,A.start++,!0)},be=G=>{A[G]++,X.push(G)},ae=G=>{A[G]--,X.pop()},Ae=G=>{if(F.type==="globstar"){let Ce=A.braces>0&&(G.type==="comma"||G.type==="brace"),ee=G.extglob===!0||V.length&&(G.type==="pipe"||G.type==="paren");G.type!=="slash"&&G.type!=="paren"&&!Ce&&!ee&&(A.output=A.output.slice(0,-F.output.length),F.type="star",F.value="*",F.output=q,A.output+=F.output)}if(V.length&&G.type!=="paren"&&!u[G.value]&&(V[V.length-1].inner+=G.value),(G.value||G.output)&&re(G),F&&F.type==="text"&&G.type==="text"){F.value+=G.value,F.output=(F.output||"")+G.value;return}G.prev=F,o.push(G),F=G},De=(G,Ce)=>{let ee=_(P({},u[Ce]),{conditions:1,inner:""});ee.prev=F,ee.parens=A.parens,ee.output=A.output;let Ue=(r.capture?"(":"")+ee.open;be("parens"),Ae({type:G,value:Ce,output:A.output?"":p}),Ae({type:"paren",extglob:!0,value:Ne(),output:Ue}),V.push(ee)},$=G=>{let Ce=G.close+(r.capture?")":"");if(G.type==="negate"){let ee=q;G.inner&&G.inner.length>1&&G.inner.includes("/")&&(ee=K(r)),(ee!==q||he()||/^\)+$/.test(Pe()))&&(Ce=G.close=`)$))${ee}`),G.prev.type==="bos"&&(A.negatedExtglob=!0)}Ae({type:"paren",extglob:!0,value:D,output:Ce}),ae("parens")};if(r.fastpaths!==!1&&!/(^[*!]|[/()[\]{}"])/.test(t)){let G=!1,Ce=t.replace(dde,(ee,Ue,Oe,vt,dt,ri)=>vt==="\\"?(G=!0,ee):vt==="?"?Ue?Ue+vt+(dt?b.repeat(dt.length):""):ri===0?ne+(dt?b.repeat(dt.length):""):b.repeat(Oe.length):vt==="."?g.repeat(Oe.length):vt==="*"?Ue?Ue+vt+(dt?q:""):q:Ue?ee:`\\${ee}`);return G===!0&&(r.unescape===!0?Ce=Ce.replace(/\\/g,""):Ce=Ce.replace(/\\+/g,ee=>ee.length%2==0?"\\\\":ee?"\\":"")),Ce===t&&r.contains===!0?(A.output=t,A):(A.output=Fn.wrapOutput(Ce,A,e),A)}for(;!he();){if(D=Ne(),D==="\0")continue;if(D==="\\"){let ee=pe();if(ee==="/"&&r.bash!==!0||ee==="."||ee===";")continue;if(!ee){D+="\\",Ae({type:"text",value:D});continue}let Ue=/^\\+/.exec(Pe()),Oe=0;if(Ue&&Ue[0].length>2&&(Oe=Ue[0].length,A.index+=Oe,Oe%2!=0&&(D+="\\")),r.unescape===!0?D=Ne()||"":D+=Ne()||"",A.brackets===0){Ae({type:"text",value:D});continue}}if(A.brackets>0&&(D!=="]"||F.value==="["||F.value==="[^")){if(r.posix!==!1&&D===":"){let ee=F.value.slice(1);if(ee.includes("[")&&(F.posix=!0,ee.includes(":"))){let Ue=F.value.lastIndexOf("["),Oe=F.value.slice(0,Ue),vt=F.value.slice(Ue+2),dt=hde[vt];if(dt){F.value=Oe+dt,A.backtrack=!0,Ne(),!s.output&&o.indexOf(F)===1&&(s.output=p);continue}}}(D==="["&&pe()!==":"||D==="-"&&pe()==="]")&&(D=`\\${D}`),D==="]"&&(F.value==="["||F.value==="[^")&&(D=`\\${D}`),r.posix===!0&&D==="!"&&F.value==="["&&(D="^"),F.value+=D,re({value:D});continue}if(A.quotes===1&&D!=='"'){D=Fn.escapeRegex(D),F.value+=D,re({value:D});continue}if(D==='"'){A.quotes=A.quotes===1?0:1,r.keepQuotes===!0&&Ae({type:"text",value:D});continue}if(D==="("){be("parens"),Ae({type:"paren",value:D});continue}if(D===")"){if(A.parens===0&&r.strictBrackets===!0)throw new SyntaxError(au("opening","("));let ee=V[V.length-1];if(ee&&A.parens===ee.parens+1){$(V.pop());continue}Ae({type:"paren",value:D,output:A.parens?")":"\\)"}),ae("parens");continue}if(D==="["){if(r.nobracket===!0||!Pe().includes("]")){if(r.nobracket!==!0&&r.strictBrackets===!0)throw new SyntaxError(au("closing","]"));D=`\\${D}`}else be("brackets");Ae({type:"bracket",value:D});continue}if(D==="]"){if(r.nobracket===!0||F&&F.type==="bracket"&&F.value.length===1){Ae({type:"text",value:D,output:`\\${D}`});continue}if(A.brackets===0){if(r.strictBrackets===!0)throw new SyntaxError(au("opening","["));Ae({type:"text",value:D,output:`\\${D}`});continue}ae("brackets");let ee=F.value.slice(1);if(F.posix!==!0&&ee[0]==="^"&&!ee.includes("/")&&(D=`/${D}`),F.value+=D,re({value:D}),r.literalBrackets===!1||Fn.hasRegexChars(ee))continue;let Ue=Fn.escapeRegex(F.value);if(A.output=A.output.slice(0,-F.value.length),r.literalBrackets===!0){A.output+=Ue,F.value=Ue;continue}F.value=`(${a}${Ue}|${F.value})`,A.output+=F.value;continue}if(D==="{"&&r.nobrace!==!0){be("braces");let ee={type:"brace",value:D,output:"(",outputIndex:A.output.length,tokensIndex:A.tokens.length};W.push(ee),Ae(ee);continue}if(D==="}"){let ee=W[W.length-1];if(r.nobrace===!0||!ee){Ae({type:"text",value:D,output:D});continue}let Ue=")";if(ee.dots===!0){let Oe=o.slice(),vt=[];for(let dt=Oe.length-1;dt>=0&&(o.pop(),Oe[dt].type!=="brace");dt--)Oe[dt].type!=="dots"&&vt.unshift(Oe[dt].value);Ue=Cde(vt,r),A.backtrack=!0}if(ee.comma!==!0&&ee.dots!==!0){let Oe=A.output.slice(0,ee.outputIndex),vt=A.tokens.slice(ee.tokensIndex);ee.value=ee.output="\\{",D=Ue="\\}",A.output=Oe;for(let dt of vt)A.output+=dt.output||dt.value}Ae({type:"brace",value:D,output:Ue}),ae("braces"),W.pop();continue}if(D==="|"){V.length>0&&V[V.length-1].conditions++,Ae({type:"text",value:D});continue}if(D===","){let ee=D,Ue=W[W.length-1];Ue&&X[X.length-1]==="braces"&&(Ue.comma=!0,ee="|"),Ae({type:"comma",value:D,output:ee});continue}if(D==="/"){if(F.type==="dot"&&A.index===A.start+1){A.start=A.index+1,A.consumed="",A.output="",o.pop(),F=s;continue}Ae({type:"slash",value:D,output:h});continue}if(D==="."){if(A.braces>0&&F.type==="dot"){F.value==="."&&(F.output=g);let ee=W[W.length-1];F.type="dots",F.output+=D,F.value+=D,ee.dots=!0;continue}if(A.braces+A.parens===0&&F.type!=="bos"&&F.type!=="slash"){Ae({type:"text",value:D,output:g});continue}Ae({type:"dot",value:D,output:g});continue}if(D==="?"){if(!(F&&F.value==="(")&&r.noextglob!==!0&&pe()==="("&&pe(2)!=="?"){De("qmark",D);continue}if(F&&F.type==="paren"){let Ue=pe(),Oe=D;if(Ue==="<"&&!Fn.supportsLookbehinds())throw new Error("Node.js v10 or higher is required for regex lookbehinds");(F.value==="("&&!/[!=<:]/.test(Ue)||Ue==="<"&&!/<([!=]|\w+>)/.test(Pe()))&&(Oe=`\\${D}`),Ae({type:"text",value:D,output:Oe});continue}if(r.dot!==!0&&(F.type==="slash"||F.type==="bos")){Ae({type:"qmark",value:D,output:R});continue}Ae({type:"qmark",value:D,output:b});continue}if(D==="!"){if(r.noextglob!==!0&&pe()==="("&&(pe(2)!=="?"||!/[!=<:]/.test(pe(3)))){De("negate",D);continue}if(r.nonegate!==!0&&A.index===0){se();continue}}if(D==="+"){if(r.noextglob!==!0&&pe()==="("&&pe(2)!=="?"){De("plus",D);continue}if(F&&F.value==="("||r.regex===!1){Ae({type:"plus",value:D,output:f});continue}if(F&&(F.type==="bracket"||F.type==="paren"||F.type==="brace")||A.parens>0){Ae({type:"plus",value:D});continue}Ae({type:"plus",value:f});continue}if(D==="@"){if(r.noextglob!==!0&&pe()==="("&&pe(2)!=="?"){Ae({type:"at",extglob:!0,value:D,output:""});continue}Ae({type:"text",value:D});continue}if(D!=="*"){(D==="$"||D==="^")&&(D=`\\${D}`);let ee=pde.exec(Pe());ee&&(D+=ee[0],A.index+=ee[0].length),Ae({type:"text",value:D});continue}if(F&&(F.type==="globstar"||F.star===!0)){F.type="star",F.star=!0,F.value+=D,F.output=q,A.backtrack=!0,A.globstar=!0,qe(D);continue}let G=Pe();if(r.noextglob!==!0&&/^\([^?]/.test(G)){De("star",D);continue}if(F.type==="star"){if(r.noglobstar===!0){qe(D);continue}let ee=F.prev,Ue=ee.prev,Oe=ee.type==="slash"||ee.type==="bos",vt=Ue&&(Ue.type==="star"||Ue.type==="globstar");if(r.bash===!0&&(!Oe||G[0]&&G[0]!=="/")){Ae({type:"star",value:D,output:""});continue}let dt=A.braces>0&&(ee.type==="comma"||ee.type==="brace"),ri=V.length&&(ee.type==="pipe"||ee.type==="paren");if(!Oe&&ee.type!=="paren"&&!dt&&!ri){Ae({type:"star",value:D,output:""});continue}for(;G.slice(0,3)==="/**";){let ii=t[A.index+4];if(ii&&ii!=="/")break;G=G.slice(3),qe("/**",3)}if(ee.type==="bos"&&he()){F.type="globstar",F.value+=D,F.output=K(r),A.output=F.output,A.globstar=!0,qe(D);continue}if(ee.type==="slash"&&ee.prev.type!=="bos"&&!vt&&he()){A.output=A.output.slice(0,-(ee.output+F.output).length),ee.output=`(?:${ee.output}`,F.type="globstar",F.output=K(r)+(r.strictSlashes?")":"|$)"),F.value+=D,A.globstar=!0,A.output+=ee.output+F.output,qe(D);continue}if(ee.type==="slash"&&ee.prev.type!=="bos"&&G[0]==="/"){let ii=G[1]!==void 0?"|$":"";A.output=A.output.slice(0,-(ee.output+F.output).length),ee.output=`(?:${ee.output}`,F.type="globstar",F.output=`${K(r)}${h}|${h}${ii})`,F.value+=D,A.output+=ee.output+F.output,A.globstar=!0,qe(D+Ne()),Ae({type:"slash",value:"/",output:""});continue}if(ee.type==="bos"&&G[0]==="/"){F.type="globstar",F.value+=D,F.output=`(?:^|${h}|${K(r)}${h})`,A.output=F.output,A.globstar=!0,qe(D+Ne()),Ae({type:"slash",value:"/",output:""});continue}A.output=A.output.slice(0,-F.output.length),F.type="globstar",F.output=K(r),F.value+=D,A.output+=F.output,A.globstar=!0,qe(D);continue}let Ce={type:"star",value:D,output:q};if(r.bash===!0){Ce.output=".*?",(F.type==="bos"||F.type==="slash")&&(Ce.output=J+Ce.output),Ae(Ce);continue}if(F&&(F.type==="bracket"||F.type==="paren")&&r.regex===!0){Ce.output=D,Ae(Ce);continue}(A.index===A.start||F.type==="slash"||F.type==="dot")&&(F.type==="dot"?(A.output+=I,F.output+=I):r.dot===!0?(A.output+=B,F.output+=B):(A.output+=J,F.output+=J),pe()!=="*"&&(A.output+=p,F.output+=p)),Ae(Ce)}for(;A.brackets>0;){if(r.strictBrackets===!0)throw new SyntaxError(au("closing","]"));A.output=Fn.escapeLast(A.output,"["),ae("brackets")}for(;A.parens>0;){if(r.strictBrackets===!0)throw new SyntaxError(au("closing",")"));A.output=Fn.escapeLast(A.output,"("),ae("parens")}for(;A.braces>0;){if(r.strictBrackets===!0)throw new SyntaxError(au("closing","}"));A.output=Fn.escapeLast(A.output,"{"),ae("braces")}if(r.strictSlashes!==!0&&(F.type==="star"||F.type==="bracket")&&Ae({type:"maybe_slash",value:"",output:`${h}?`}),A.backtrack===!0){A.output="";for(let G of A.tokens)A.output+=G.output!=null?G.output:G.value,G.suffix&&(A.output+=G.suffix)}return A};eU.fastpaths=(t,e)=>{let r=P({},e),i=typeof r.maxLength=="number"?Math.min(OE,r.maxLength):OE,n=t.length;if(n>i)throw new SyntaxError(`Input length: ${n}, exceeds maximum allowed length: ${i}`);t=$1[t]||t;let s=Fn.isWindows(e),{DOT_LITERAL:o,SLASH_LITERAL:a,ONE_CHAR:l,DOTS_SLASH:c,NO_DOT:u,NO_DOTS:g,NO_DOTS_SLASH:f,STAR:h,START_ANCHOR:p}=ME.globChars(s),d=r.dot?g:u,m=r.dot?f:u,I=r.capture?"":"?:",B={negated:!1,prefix:""},b=r.bash===!0?".*?":h;r.capture&&(b=`(${b})`);let R=J=>J.noglobstar===!0?b:`(${I}(?:(?!${p}${J.dot?c:o}).)*?)`,H=J=>{switch(J){case"*":return`${d}${l}${b}`;case".*":return`${o}${l}${b}`;case"*.*":return`${d}${b}${o}${l}${b}`;case"*/*":return`${d}${b}${a}${l}${m}${b}`;case"**":return d+R(r);case"**/*":return`(?:${d}${R(r)}${a})?${m}${l}${b}`;case"**/*.*":return`(?:${d}${R(r)}${a})?${m}${b}${o}${l}${b}`;case"**/.*":return`(?:${d}${R(r)}${a})?${o}${l}${b}`;default:{let ne=/^(.*?)\.(\w+)$/.exec(J);if(!ne)return;let q=H(ne[1]);return q?q+o+ne[2]:void 0}}},L=Fn.removePrefix(t,B),K=H(L);return K&&r.strictSlashes!==!0&&(K+=`${a}?`),K};Z1.exports=eU});var iU=E((W$e,rU)=>{"use strict";var mde=require("path"),Ede=X1(),tv=tU(),rv=Ch(),Ide=dh(),yde=t=>t&&typeof t=="object"&&!Array.isArray(t),Dr=(t,e,r=!1)=>{if(Array.isArray(t)){let u=t.map(f=>Dr(f,e,r));return f=>{for(let h of u){let p=h(f);if(p)return p}return!1}}let i=yde(t)&&t.tokens&&t.input;if(t===""||typeof t!="string"&&!i)throw new TypeError("Expected pattern to be a non-empty string");let n=e||{},s=rv.isWindows(e),o=i?Dr.compileRe(t,e):Dr.makeRe(t,e,!1,!0),a=o.state;delete o.state;let l=()=>!1;if(n.ignore){let u=_(P({},e),{ignore:null,onMatch:null,onResult:null});l=Dr(n.ignore,u,r)}let c=(u,g=!1)=>{let{isMatch:f,match:h,output:p}=Dr.test(u,o,e,{glob:t,posix:s}),d={glob:t,state:a,regex:o,posix:s,input:u,output:p,match:h,isMatch:f};return typeof n.onResult=="function"&&n.onResult(d),f===!1?(d.isMatch=!1,g?d:!1):l(u)?(typeof n.onIgnore=="function"&&n.onIgnore(d),d.isMatch=!1,g?d:!1):(typeof n.onMatch=="function"&&n.onMatch(d),g?d:!0)};return r&&(c.state=a),c};Dr.test=(t,e,r,{glob:i,posix:n}={})=>{if(typeof t!="string")throw new TypeError("Expected input to be a string");if(t==="")return{isMatch:!1,output:""};let s=r||{},o=s.format||(n?rv.toPosixSlashes:null),a=t===i,l=a&&o?o(t):t;return a===!1&&(l=o?o(t):t,a=l===i),(a===!1||s.capture===!0)&&(s.matchBase===!0||s.basename===!0?a=Dr.matchBase(t,e,r,n):a=e.exec(l)),{isMatch:Boolean(a),match:a,output:l}};Dr.matchBase=(t,e,r,i=rv.isWindows(r))=>(e instanceof RegExp?e:Dr.makeRe(e,r)).test(mde.basename(t));Dr.isMatch=(t,e,r)=>Dr(e,r)(t);Dr.parse=(t,e)=>Array.isArray(t)?t.map(r=>Dr.parse(r,e)):tv(t,_(P({},e),{fastpaths:!1}));Dr.scan=(t,e)=>Ede(t,e);Dr.compileRe=(t,e,r=!1,i=!1)=>{if(r===!0)return t.output;let n=e||{},s=n.contains?"":"^",o=n.contains?"":"$",a=`${s}(?:${t.output})${o}`;t&&t.negated===!0&&(a=`^(?!${a}).*$`);let l=Dr.toRegex(a,e);return i===!0&&(l.state=t),l};Dr.makeRe=(t,e,r=!1,i=!1)=>{if(!t||typeof t!="string")throw new TypeError("Expected a non-empty string");let n=e||{},s={negated:!1,fastpaths:!0},o="",a;return t.startsWith("./")&&(t=t.slice(2),o=s.prefix="./"),n.fastpaths!==!1&&(t[0]==="."||t[0]==="*")&&(a=tv.fastpaths(t,e)),a===void 0?(s=tv(t,e),s.prefix=o+(s.prefix||"")):s.output=a,Dr.compileRe(s,e,r,i)};Dr.toRegex=(t,e)=>{try{let r=e||{};return new RegExp(t,r.flags||(r.nocase?"i":""))}catch(r){if(e&&e.debug===!0)throw r;return/$^/}};Dr.constants=Ide;rU.exports=Dr});var iv=E((z$e,nU)=>{"use strict";nU.exports=iU()});var Nn=E((V$e,sU)=>{"use strict";var oU=require("util"),aU=M1(),no=iv(),nv=Ch(),AU=t=>typeof t=="string"&&(t===""||t==="./"),pr=(t,e,r)=>{e=[].concat(e),t=[].concat(t);let i=new Set,n=new Set,s=new Set,o=0,a=u=>{s.add(u.output),r&&r.onResult&&r.onResult(u)};for(let u=0;u!i.has(u));if(r&&c.length===0){if(r.failglob===!0)throw new Error(`No matches found for "${e.join(", ")}"`);if(r.nonull===!0||r.nullglob===!0)return r.unescape?e.map(u=>u.replace(/\\/g,"")):e}return c};pr.match=pr;pr.matcher=(t,e)=>no(t,e);pr.isMatch=(t,e,r)=>no(e,r)(t);pr.any=pr.isMatch;pr.not=(t,e,r={})=>{e=[].concat(e).map(String);let i=new Set,n=[],s=a=>{r.onResult&&r.onResult(a),n.push(a.output)},o=pr(t,e,_(P({},r),{onResult:s}));for(let a of n)o.includes(a)||i.add(a);return[...i]};pr.contains=(t,e,r)=>{if(typeof t!="string")throw new TypeError(`Expected a string: "${oU.inspect(t)}"`);if(Array.isArray(e))return e.some(i=>pr.contains(t,i,r));if(typeof e=="string"){if(AU(t)||AU(e))return!1;if(t.includes(e)||t.startsWith("./")&&t.slice(2).includes(e))return!0}return pr.isMatch(t,e,_(P({},r),{contains:!0}))};pr.matchKeys=(t,e,r)=>{if(!nv.isObject(t))throw new TypeError("Expected the first argument to be an object");let i=pr(Object.keys(t),e,r),n={};for(let s of i)n[s]=t[s];return n};pr.some=(t,e,r)=>{let i=[].concat(t);for(let n of[].concat(e)){let s=no(String(n),r);if(i.some(o=>s(o)))return!0}return!1};pr.every=(t,e,r)=>{let i=[].concat(t);for(let n of[].concat(e)){let s=no(String(n),r);if(!i.every(o=>s(o)))return!1}return!0};pr.all=(t,e,r)=>{if(typeof t!="string")throw new TypeError(`Expected a string: "${oU.inspect(t)}"`);return[].concat(e).every(i=>no(i,r)(t))};pr.capture=(t,e,r)=>{let i=nv.isWindows(r),s=no.makeRe(String(t),_(P({},r),{capture:!0})).exec(i?nv.toPosixSlashes(e):e);if(s)return s.slice(1).map(o=>o===void 0?"":o)};pr.makeRe=(...t)=>no.makeRe(...t);pr.scan=(...t)=>no.scan(...t);pr.parse=(t,e)=>{let r=[];for(let i of[].concat(t||[]))for(let n of aU(String(i),e))r.push(no.parse(n,e));return r};pr.braces=(t,e)=>{if(typeof t!="string")throw new TypeError("Expected a string");return e&&e.nobrace===!0||!/\{.*\}/.test(t)?[t]:aU(t,e)};pr.braceExpand=(t,e)=>{if(typeof t!="string")throw new TypeError("Expected a string");return pr.braces(t,_(P({},e),{expand:!0}))};sU.exports=pr});var cU=E((_$e,lU)=>{"use strict";lU.exports=({onlyFirst:t=!1}={})=>{let e=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:[a-zA-Z\\d]*(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(e,t?void 0:"g")}});var gU=E((X$e,uU)=>{"use strict";var wde=cU();uU.exports=t=>typeof t=="string"?t.replace(wde(),""):t});var lu={};it(lu,{KeyRelationship:()=>Bl,applyCascade:()=>fv,base64RegExp:()=>CU,colorStringAlphaRegExp:()=>dU,colorStringRegExp:()=>pU,computeKey:()=>rA,getPrintable:()=>Mr,hasExactLength:()=>wU,hasForbiddenKeys:()=>eCe,hasKeyRelationship:()=>pv,hasMaxLength:()=>Mde,hasMinLength:()=>Tde,hasMutuallyExclusiveKeys:()=>tCe,hasRequiredKeys:()=>$de,hasUniqueItems:()=>Ode,isArray:()=>xde,isAtLeast:()=>Hde,isAtMost:()=>Gde,isBase64:()=>Xde,isBoolean:()=>bde,isDate:()=>Sde,isDict:()=>Pde,isEnum:()=>Yi,isHexColor:()=>_de,isISO8601:()=>Vde,isInExclusiveRange:()=>Yde,isInInclusiveRange:()=>jde,isInstanceOf:()=>Rde,isInteger:()=>qde,isJSON:()=>Zde,isLiteral:()=>Bde,isLowerCase:()=>Jde,isNegative:()=>Kde,isNullable:()=>Lde,isNumber:()=>vde,isObject:()=>Dde,isOneOf:()=>Fde,isOptional:()=>Nde,isPositive:()=>Ude,isString:()=>gv,isTuple:()=>kde,isUUID4:()=>zde,isUnknown:()=>yU,isUpperCase:()=>Wde,iso8601RegExp:()=>uv,makeCoercionFn:()=>wl,makeSetter:()=>IU,makeTrait:()=>EU,makeValidator:()=>Ct,matchesRegExp:()=>hv,plural:()=>GE,pushError:()=>at,simpleKeyRegExp:()=>hU,uuid4RegExp:()=>mU});function Ct({test:t}){return EU(t)()}function Mr(t){return t===null?"null":t===void 0?"undefined":t===""?"an empty string":JSON.stringify(t)}function rA(t,e){var r,i,n;return typeof e=="number"?`${(r=t==null?void 0:t.p)!==null&&r!==void 0?r:"."}[${e}]`:hU.test(e)?`${(i=t==null?void 0:t.p)!==null&&i!==void 0?i:""}.${e}`:`${(n=t==null?void 0:t.p)!==null&&n!==void 0?n:"."}[${JSON.stringify(e)}]`}function wl(t,e){return r=>{let i=t[e];return t[e]=r,wl(t,e).bind(null,i)}}function IU(t,e){return r=>{t[e]=r}}function GE(t,e,r){return t===1?e:r}function at({errors:t,p:e}={},r){return t==null||t.push(`${e!=null?e:"."}: ${r}`),!1}function Bde(t){return Ct({test:(e,r)=>e!==t?at(r,`Expected a literal (got ${Mr(t)})`):!0})}function Yi(t){let e=Array.isArray(t)?t:Object.values(t),r=new Set(e);return Ct({test:(i,n)=>r.has(i)?!0:at(n,`Expected a valid enumeration value (got ${Mr(i)})`)})}var hU,pU,dU,CU,mU,uv,EU,yU,gv,Qde,bde,vde,Sde,xde,kde,Pde,Dde,Rde,Fde,fv,Nde,Lde,Tde,Mde,wU,Ode,Kde,Ude,Hde,Gde,jde,Yde,qde,hv,Jde,Wde,zde,Vde,_de,Xde,Zde,$de,eCe,tCe,Bl,rCe,pv,Ss=Yfe(()=>{hU=/^[a-zA-Z_][a-zA-Z0-9_]*$/,pU=/^#[0-9a-f]{6}$/i,dU=/^#[0-9a-f]{6}([0-9a-f]{2})?$/i,CU=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/,mU=/^[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89aAbB][a-f0-9]{3}-[a-f0-9]{12}$/i,uv=/^(?:[1-9]\d{3}(-?)(?:(?:0[1-9]|1[0-2])\1(?:0[1-9]|1\d|2[0-8])|(?:0[13-9]|1[0-2])\1(?:29|30)|(?:0[13578]|1[02])(?:\1)31|00[1-9]|0[1-9]\d|[12]\d{2}|3(?:[0-5]\d|6[0-5]))|(?:[1-9]\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)(?:(-?)02(?:\2)29|-?366))T(?:[01]\d|2[0-3])(:?)[0-5]\d(?:\3[0-5]\d)?(?:Z|[+-][01]\d(?:\3[0-5]\d)?)$/,EU=t=>()=>t;yU=()=>Ct({test:(t,e)=>!0});gv=()=>Ct({test:(t,e)=>typeof t!="string"?at(e,`Expected a string (got ${Mr(t)})`):!0});Qde=new Map([["true",!0],["True",!0],["1",!0],[1,!0],["false",!1],["False",!1],["0",!1],[0,!1]]),bde=()=>Ct({test:(t,e)=>{var r;if(typeof t!="boolean"){if(typeof(e==null?void 0:e.coercions)!="undefined"){if(typeof(e==null?void 0:e.coercion)=="undefined")return at(e,"Unbound coercion result");let i=Qde.get(t);if(typeof i!="undefined")return e.coercions.push([(r=e.p)!==null&&r!==void 0?r:".",e.coercion.bind(null,i)]),!0}return at(e,`Expected a boolean (got ${Mr(t)})`)}return!0}}),vde=()=>Ct({test:(t,e)=>{var r;if(typeof t!="number"){if(typeof(e==null?void 0:e.coercions)!="undefined"){if(typeof(e==null?void 0:e.coercion)=="undefined")return at(e,"Unbound coercion result");let i;if(typeof t=="string"){let n;try{n=JSON.parse(t)}catch(s){}if(typeof n=="number")if(JSON.stringify(n)===t)i=n;else return at(e,`Received a number that can't be safely represented by the runtime (${t})`)}if(typeof i!="undefined")return e.coercions.push([(r=e.p)!==null&&r!==void 0?r:".",e.coercion.bind(null,i)]),!0}return at(e,`Expected a number (got ${Mr(t)})`)}return!0}}),Sde=()=>Ct({test:(t,e)=>{var r;if(!(t instanceof Date)){if(typeof(e==null?void 0:e.coercions)!="undefined"){if(typeof(e==null?void 0:e.coercion)=="undefined")return at(e,"Unbound coercion result");let i;if(typeof t=="string"&&uv.test(t))i=new Date(t);else{let n;if(typeof t=="string"){let s;try{s=JSON.parse(t)}catch(o){}typeof s=="number"&&(n=s)}else typeof t=="number"&&(n=t);if(typeof n!="undefined")if(Number.isSafeInteger(n)||!Number.isSafeInteger(n*1e3))i=new Date(n*1e3);else return at(e,`Received a timestamp that can't be safely represented by the runtime (${t})`)}if(typeof i!="undefined")return e.coercions.push([(r=e.p)!==null&&r!==void 0?r:".",e.coercion.bind(null,i)]),!0}return at(e,`Expected a date (got ${Mr(t)})`)}return!0}}),xde=(t,{delimiter:e}={})=>Ct({test:(r,i)=>{var n;if(typeof r=="string"&&typeof e!="undefined"&&typeof(i==null?void 0:i.coercions)!="undefined"){if(typeof(i==null?void 0:i.coercion)=="undefined")return at(i,"Unbound coercion result");r=r.split(e),i.coercions.push([(n=i.p)!==null&&n!==void 0?n:".",i.coercion.bind(null,r)])}if(!Array.isArray(r))return at(i,`Expected an array (got ${Mr(r)})`);let s=!0;for(let o=0,a=r.length;o{let r=wU(t.length);return Ct({test:(i,n)=>{var s;if(typeof i=="string"&&typeof e!="undefined"&&typeof(n==null?void 0:n.coercions)!="undefined"){if(typeof(n==null?void 0:n.coercion)=="undefined")return at(n,"Unbound coercion result");i=i.split(e),n.coercions.push([(s=n.p)!==null&&s!==void 0?s:".",n.coercion.bind(null,i)])}if(!Array.isArray(i))return at(n,`Expected a tuple (got ${Mr(i)})`);let o=r(i,Object.assign({},n));for(let a=0,l=i.length;aCt({test:(r,i)=>{if(typeof r!="object"||r===null)return at(i,`Expected an object (got ${Mr(r)})`);let n=Object.keys(r),s=!0;for(let o=0,a=n.length;o{let r=Object.keys(t);return Ct({test:(i,n)=>{if(typeof i!="object"||i===null)return at(n,`Expected an object (got ${Mr(i)})`);let s=new Set([...r,...Object.keys(i)]),o={},a=!0;for(let l of s){if(l==="constructor"||l==="__proto__")a=at(Object.assign(Object.assign({},n),{p:rA(n,l)}),"Unsafe property name");else{let c=Object.prototype.hasOwnProperty.call(t,l)?t[l]:void 0,u=Object.prototype.hasOwnProperty.call(i,l)?i[l]:void 0;typeof c!="undefined"?a=c(u,Object.assign(Object.assign({},n),{p:rA(n,l),coercion:wl(i,l)}))&&a:e===null?a=at(Object.assign(Object.assign({},n),{p:rA(n,l)}),`Extraneous property (got ${Mr(u)})`):Object.defineProperty(o,l,{enumerable:!0,get:()=>u,set:IU(i,l)})}if(!a&&(n==null?void 0:n.errors)==null)break}return e!==null&&(a||(n==null?void 0:n.errors)!=null)&&(a=e(o,n)&&a),a}})},Rde=t=>Ct({test:(e,r)=>e instanceof t?!0:at(r,`Expected an instance of ${t.name} (got ${Mr(e)})`)}),Fde=(t,{exclusive:e=!1}={})=>Ct({test:(r,i)=>{var n,s,o;let a=[],l=typeof(i==null?void 0:i.errors)!="undefined"?[]:void 0;for(let c=0,u=t.length;c1?at(i,`Expected to match exactly a single predicate (matched ${a.join(", ")})`):(o=i==null?void 0:i.errors)===null||o===void 0||o.push(...l),!1}}),fv=(t,e)=>Ct({test:(r,i)=>{var n,s;let o={value:r},a=typeof(i==null?void 0:i.coercions)!="undefined"?wl(o,"value"):void 0,l=typeof(i==null?void 0:i.coercions)!="undefined"?[]:void 0;if(!t(r,Object.assign(Object.assign({},i),{coercion:a,coercions:l})))return!1;let c=[];if(typeof l!="undefined")for(let[,u]of l)c.push(u());try{if(typeof(i==null?void 0:i.coercions)!="undefined"){if(o.value!==r){if(typeof(i==null?void 0:i.coercion)=="undefined")return at(i,"Unbound coercion result");i.coercions.push([(n=i.p)!==null&&n!==void 0?n:".",i.coercion.bind(null,o.value)])}(s=i==null?void 0:i.coercions)===null||s===void 0||s.push(...l)}return e.every(u=>u(o.value,i))}finally{for(let u of c)u()}}}),Nde=t=>Ct({test:(e,r)=>typeof e=="undefined"?!0:t(e,r)}),Lde=t=>Ct({test:(e,r)=>e===null?!0:t(e,r)}),Tde=t=>Ct({test:(e,r)=>e.length>=t?!0:at(r,`Expected to have a length of at least ${t} elements (got ${e.length})`)}),Mde=t=>Ct({test:(e,r)=>e.length<=t?!0:at(r,`Expected to have a length of at most ${t} elements (got ${e.length})`)}),wU=t=>Ct({test:(e,r)=>e.length!==t?at(r,`Expected to have a length of exactly ${t} elements (got ${e.length})`):!0}),Ode=({map:t}={})=>Ct({test:(e,r)=>{let i=new Set,n=new Set;for(let s=0,o=e.length;sCt({test:(t,e)=>t<=0?!0:at(e,`Expected to be negative (got ${t})`)}),Ude=()=>Ct({test:(t,e)=>t>=0?!0:at(e,`Expected to be positive (got ${t})`)}),Hde=t=>Ct({test:(e,r)=>e>=t?!0:at(r,`Expected to be at least ${t} (got ${e})`)}),Gde=t=>Ct({test:(e,r)=>e<=t?!0:at(r,`Expected to be at most ${t} (got ${e})`)}),jde=(t,e)=>Ct({test:(r,i)=>r>=t&&r<=e?!0:at(i,`Expected to be in the [${t}; ${e}] range (got ${r})`)}),Yde=(t,e)=>Ct({test:(r,i)=>r>=t&&rCt({test:(e,r)=>e!==Math.round(e)?at(r,`Expected to be an integer (got ${e})`):Number.isSafeInteger(e)?!0:at(r,`Expected to be a safe integer (got ${e})`)}),hv=t=>Ct({test:(e,r)=>t.test(e)?!0:at(r,`Expected to match the pattern ${t.toString()} (got ${Mr(e)})`)}),Jde=()=>Ct({test:(t,e)=>t!==t.toLowerCase()?at(e,`Expected to be all-lowercase (got ${t})`):!0}),Wde=()=>Ct({test:(t,e)=>t!==t.toUpperCase()?at(e,`Expected to be all-uppercase (got ${t})`):!0}),zde=()=>Ct({test:(t,e)=>mU.test(t)?!0:at(e,`Expected to be a valid UUID v4 (got ${Mr(t)})`)}),Vde=()=>Ct({test:(t,e)=>uv.test(t)?!1:at(e,`Expected to be a valid ISO 8601 date string (got ${Mr(t)})`)}),_de=({alpha:t=!1})=>Ct({test:(e,r)=>(t?pU.test(e):dU.test(e))?!0:at(r,`Expected to be a valid hexadecimal color string (got ${Mr(e)})`)}),Xde=()=>Ct({test:(t,e)=>CU.test(t)?!0:at(e,`Expected to be a valid base 64 string (got ${Mr(t)})`)}),Zde=(t=yU())=>Ct({test:(e,r)=>{let i;try{i=JSON.parse(e)}catch(n){return at(r,`Expected to be a valid JSON string (got ${Mr(e)})`)}return t(i,r)}}),$de=t=>{let e=new Set(t);return Ct({test:(r,i)=>{let n=new Set(Object.keys(r)),s=[];for(let o of e)n.has(o)||s.push(o);return s.length>0?at(i,`Missing required ${GE(s.length,"property","properties")} ${s.map(o=>`"${o}"`).join(", ")}`):!0}})},eCe=t=>{let e=new Set(t);return Ct({test:(r,i)=>{let n=new Set(Object.keys(r)),s=[];for(let o of e)n.has(o)&&s.push(o);return s.length>0?at(i,`Forbidden ${GE(s.length,"property","properties")} ${s.map(o=>`"${o}"`).join(", ")}`):!0}})},tCe=t=>{let e=new Set(t);return Ct({test:(r,i)=>{let n=new Set(Object.keys(r)),s=[];for(let o of e)n.has(o)&&s.push(o);return s.length>1?at(i,`Mutually exclusive properties ${s.map(o=>`"${o}"`).join(", ")}`):!0}})};(function(t){t.Forbids="Forbids",t.Requires="Requires"})(Bl||(Bl={}));rCe={[Bl.Forbids]:{expect:!1,message:"forbids using"},[Bl.Requires]:{expect:!0,message:"requires using"}},pv=(t,e,r,{ignore:i=[]}={})=>{let n=new Set(i),s=new Set(r),o=rCe[e];return Ct({test:(a,l)=>{let c=new Set(Object.keys(a));if(!c.has(t)||n.has(a[t]))return!0;let u=[];for(let g of s)(c.has(g)&&!n.has(a[g]))!==o.expect&&u.push(g);return u.length>=1?at(l,`Property "${t}" ${o.message} ${GE(u.length,"property","properties")} ${u.map(g=>`"${g}"`).join(", ")}`):!0}})}});var Sh=E(($et,OU)=>{var mCe="2.0.0",ECe=256,ICe=Number.MAX_SAFE_INTEGER||9007199254740991,yCe=16;OU.exports={SEMVER_SPEC_VERSION:mCe,MAX_LENGTH:ECe,MAX_SAFE_INTEGER:ICe,MAX_SAFE_COMPONENT_LENGTH:yCe}});var xh=E((ett,KU)=>{var wCe=typeof process=="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...t)=>console.error("SEMVER",...t):()=>{};KU.exports=wCe});var Ql=E((iA,UU)=>{var{MAX_SAFE_COMPONENT_LENGTH:yv}=Sh(),BCe=xh();iA=UU.exports={};var QCe=iA.re=[],Je=iA.src=[],We=iA.t={},bCe=0,mt=(t,e,r)=>{let i=bCe++;BCe(i,e),We[t]=i,Je[i]=e,QCe[i]=new RegExp(e,r?"g":void 0)};mt("NUMERICIDENTIFIER","0|[1-9]\\d*");mt("NUMERICIDENTIFIERLOOSE","[0-9]+");mt("NONNUMERICIDENTIFIER","\\d*[a-zA-Z-][a-zA-Z0-9-]*");mt("MAINVERSION",`(${Je[We.NUMERICIDENTIFIER]})\\.(${Je[We.NUMERICIDENTIFIER]})\\.(${Je[We.NUMERICIDENTIFIER]})`);mt("MAINVERSIONLOOSE",`(${Je[We.NUMERICIDENTIFIERLOOSE]})\\.(${Je[We.NUMERICIDENTIFIERLOOSE]})\\.(${Je[We.NUMERICIDENTIFIERLOOSE]})`);mt("PRERELEASEIDENTIFIER",`(?:${Je[We.NUMERICIDENTIFIER]}|${Je[We.NONNUMERICIDENTIFIER]})`);mt("PRERELEASEIDENTIFIERLOOSE",`(?:${Je[We.NUMERICIDENTIFIERLOOSE]}|${Je[We.NONNUMERICIDENTIFIER]})`);mt("PRERELEASE",`(?:-(${Je[We.PRERELEASEIDENTIFIER]}(?:\\.${Je[We.PRERELEASEIDENTIFIER]})*))`);mt("PRERELEASELOOSE",`(?:-?(${Je[We.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${Je[We.PRERELEASEIDENTIFIERLOOSE]})*))`);mt("BUILDIDENTIFIER","[0-9A-Za-z-]+");mt("BUILD",`(?:\\+(${Je[We.BUILDIDENTIFIER]}(?:\\.${Je[We.BUILDIDENTIFIER]})*))`);mt("FULLPLAIN",`v?${Je[We.MAINVERSION]}${Je[We.PRERELEASE]}?${Je[We.BUILD]}?`);mt("FULL",`^${Je[We.FULLPLAIN]}$`);mt("LOOSEPLAIN",`[v=\\s]*${Je[We.MAINVERSIONLOOSE]}${Je[We.PRERELEASELOOSE]}?${Je[We.BUILD]}?`);mt("LOOSE",`^${Je[We.LOOSEPLAIN]}$`);mt("GTLT","((?:<|>)?=?)");mt("XRANGEIDENTIFIERLOOSE",`${Je[We.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`);mt("XRANGEIDENTIFIER",`${Je[We.NUMERICIDENTIFIER]}|x|X|\\*`);mt("XRANGEPLAIN",`[v=\\s]*(${Je[We.XRANGEIDENTIFIER]})(?:\\.(${Je[We.XRANGEIDENTIFIER]})(?:\\.(${Je[We.XRANGEIDENTIFIER]})(?:${Je[We.PRERELEASE]})?${Je[We.BUILD]}?)?)?`);mt("XRANGEPLAINLOOSE",`[v=\\s]*(${Je[We.XRANGEIDENTIFIERLOOSE]})(?:\\.(${Je[We.XRANGEIDENTIFIERLOOSE]})(?:\\.(${Je[We.XRANGEIDENTIFIERLOOSE]})(?:${Je[We.PRERELEASELOOSE]})?${Je[We.BUILD]}?)?)?`);mt("XRANGE",`^${Je[We.GTLT]}\\s*${Je[We.XRANGEPLAIN]}$`);mt("XRANGELOOSE",`^${Je[We.GTLT]}\\s*${Je[We.XRANGEPLAINLOOSE]}$`);mt("COERCE",`(^|[^\\d])(\\d{1,${yv}})(?:\\.(\\d{1,${yv}}))?(?:\\.(\\d{1,${yv}}))?(?:$|[^\\d])`);mt("COERCERTL",Je[We.COERCE],!0);mt("LONETILDE","(?:~>?)");mt("TILDETRIM",`(\\s*)${Je[We.LONETILDE]}\\s+`,!0);iA.tildeTrimReplace="$1~";mt("TILDE",`^${Je[We.LONETILDE]}${Je[We.XRANGEPLAIN]}$`);mt("TILDELOOSE",`^${Je[We.LONETILDE]}${Je[We.XRANGEPLAINLOOSE]}$`);mt("LONECARET","(?:\\^)");mt("CARETTRIM",`(\\s*)${Je[We.LONECARET]}\\s+`,!0);iA.caretTrimReplace="$1^";mt("CARET",`^${Je[We.LONECARET]}${Je[We.XRANGEPLAIN]}$`);mt("CARETLOOSE",`^${Je[We.LONECARET]}${Je[We.XRANGEPLAINLOOSE]}$`);mt("COMPARATORLOOSE",`^${Je[We.GTLT]}\\s*(${Je[We.LOOSEPLAIN]})$|^$`);mt("COMPARATOR",`^${Je[We.GTLT]}\\s*(${Je[We.FULLPLAIN]})$|^$`);mt("COMPARATORTRIM",`(\\s*)${Je[We.GTLT]}\\s*(${Je[We.LOOSEPLAIN]}|${Je[We.XRANGEPLAIN]})`,!0);iA.comparatorTrimReplace="$1$2$3";mt("HYPHENRANGE",`^\\s*(${Je[We.XRANGEPLAIN]})\\s+-\\s+(${Je[We.XRANGEPLAIN]})\\s*$`);mt("HYPHENRANGELOOSE",`^\\s*(${Je[We.XRANGEPLAINLOOSE]})\\s+-\\s+(${Je[We.XRANGEPLAINLOOSE]})\\s*$`);mt("STAR","(<|>)?=?\\s*\\*");mt("GTE0","^\\s*>=\\s*0.0.0\\s*$");mt("GTE0PRE","^\\s*>=\\s*0.0.0-0\\s*$")});var kh=E((ttt,HU)=>{var vCe=["includePrerelease","loose","rtl"],SCe=t=>t?typeof t!="object"?{loose:!0}:vCe.filter(e=>t[e]).reduce((e,r)=>(e[r]=!0,e),{}):{};HU.exports=SCe});var zE=E((rtt,GU)=>{var jU=/^[0-9]+$/,YU=(t,e)=>{let r=jU.test(t),i=jU.test(e);return r&&i&&(t=+t,e=+e),t===e?0:r&&!i?-1:i&&!r?1:tYU(e,t);GU.exports={compareIdentifiers:YU,rcompareIdentifiers:xCe}});var bi=E((itt,qU)=>{var VE=xh(),{MAX_LENGTH:JU,MAX_SAFE_INTEGER:_E}=Sh(),{re:WU,t:zU}=Ql(),kCe=kh(),{compareIdentifiers:Ph}=zE(),_n=class{constructor(e,r){if(r=kCe(r),e instanceof _n){if(e.loose===!!r.loose&&e.includePrerelease===!!r.includePrerelease)return e;e=e.version}else if(typeof e!="string")throw new TypeError(`Invalid Version: ${e}`);if(e.length>JU)throw new TypeError(`version is longer than ${JU} characters`);VE("SemVer",e,r),this.options=r,this.loose=!!r.loose,this.includePrerelease=!!r.includePrerelease;let i=e.trim().match(r.loose?WU[zU.LOOSE]:WU[zU.FULL]);if(!i)throw new TypeError(`Invalid Version: ${e}`);if(this.raw=e,this.major=+i[1],this.minor=+i[2],this.patch=+i[3],this.major>_E||this.major<0)throw new TypeError("Invalid major version");if(this.minor>_E||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>_E||this.patch<0)throw new TypeError("Invalid patch version");i[4]?this.prerelease=i[4].split(".").map(n=>{if(/^[0-9]+$/.test(n)){let s=+n;if(s>=0&&s<_E)return s}return n}):this.prerelease=[],this.build=i[5]?i[5].split("."):[],this.format()}format(){return this.version=`${this.major}.${this.minor}.${this.patch}`,this.prerelease.length&&(this.version+=`-${this.prerelease.join(".")}`),this.version}toString(){return this.version}compare(e){if(VE("SemVer.compare",this.version,this.options,e),!(e instanceof _n)){if(typeof e=="string"&&e===this.version)return 0;e=new _n(e,this.options)}return e.version===this.version?0:this.compareMain(e)||this.comparePre(e)}compareMain(e){return e instanceof _n||(e=new _n(e,this.options)),Ph(this.major,e.major)||Ph(this.minor,e.minor)||Ph(this.patch,e.patch)}comparePre(e){if(e instanceof _n||(e=new _n(e,this.options)),this.prerelease.length&&!e.prerelease.length)return-1;if(!this.prerelease.length&&e.prerelease.length)return 1;if(!this.prerelease.length&&!e.prerelease.length)return 0;let r=0;do{let i=this.prerelease[r],n=e.prerelease[r];if(VE("prerelease compare",r,i,n),i===void 0&&n===void 0)return 0;if(n===void 0)return 1;if(i===void 0)return-1;if(i===n)continue;return Ph(i,n)}while(++r)}compareBuild(e){e instanceof _n||(e=new _n(e,this.options));let r=0;do{let i=this.build[r],n=e.build[r];if(VE("prerelease compare",r,i,n),i===void 0&&n===void 0)return 0;if(n===void 0)return 1;if(i===void 0)return-1;if(i===n)continue;return Ph(i,n)}while(++r)}inc(e,r){switch(e){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",r);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",r);break;case"prepatch":this.prerelease.length=0,this.inc("patch",r),this.inc("pre",r);break;case"prerelease":this.prerelease.length===0&&this.inc("patch",r),this.inc("pre",r);break;case"major":(this.minor!==0||this.patch!==0||this.prerelease.length===0)&&this.major++,this.minor=0,this.patch=0,this.prerelease=[];break;case"minor":(this.patch!==0||this.prerelease.length===0)&&this.minor++,this.patch=0,this.prerelease=[];break;case"patch":this.prerelease.length===0&&this.patch++,this.prerelease=[];break;case"pre":if(this.prerelease.length===0)this.prerelease=[0];else{let i=this.prerelease.length;for(;--i>=0;)typeof this.prerelease[i]=="number"&&(this.prerelease[i]++,i=-2);i===-1&&this.prerelease.push(0)}r&&(this.prerelease[0]===r?isNaN(this.prerelease[1])&&(this.prerelease=[r,0]):this.prerelease=[r,0]);break;default:throw new Error(`invalid increment argument: ${e}`)}return this.format(),this.raw=this.version,this}};qU.exports=_n});var bl=E((ntt,VU)=>{var{MAX_LENGTH:PCe}=Sh(),{re:_U,t:XU}=Ql(),ZU=bi(),DCe=kh(),RCe=(t,e)=>{if(e=DCe(e),t instanceof ZU)return t;if(typeof t!="string"||t.length>PCe||!(e.loose?_U[XU.LOOSE]:_U[XU.FULL]).test(t))return null;try{return new ZU(t,e)}catch(i){return null}};VU.exports=RCe});var e2=E((stt,$U)=>{var FCe=bl(),NCe=(t,e)=>{let r=FCe(t,e);return r?r.version:null};$U.exports=NCe});var r2=E((ott,t2)=>{var LCe=bl(),TCe=(t,e)=>{let r=LCe(t.trim().replace(/^[=v]+/,""),e);return r?r.version:null};t2.exports=TCe});var n2=E((att,i2)=>{var MCe=bi(),OCe=(t,e,r,i)=>{typeof r=="string"&&(i=r,r=void 0);try{return new MCe(t,r).inc(e,i).version}catch(n){return null}};i2.exports=OCe});var Xn=E((Att,s2)=>{var o2=bi(),KCe=(t,e,r)=>new o2(t,r).compare(new o2(e,r));s2.exports=KCe});var XE=E((ltt,a2)=>{var UCe=Xn(),HCe=(t,e,r)=>UCe(t,e,r)===0;a2.exports=HCe});var c2=E((ctt,A2)=>{var l2=bl(),GCe=XE(),jCe=(t,e)=>{if(GCe(t,e))return null;{let r=l2(t),i=l2(e),n=r.prerelease.length||i.prerelease.length,s=n?"pre":"",o=n?"prerelease":"";for(let a in r)if((a==="major"||a==="minor"||a==="patch")&&r[a]!==i[a])return s+a;return o}};A2.exports=jCe});var g2=E((utt,u2)=>{var YCe=bi(),qCe=(t,e)=>new YCe(t,e).major;u2.exports=qCe});var h2=E((gtt,f2)=>{var JCe=bi(),WCe=(t,e)=>new JCe(t,e).minor;f2.exports=WCe});var d2=E((ftt,p2)=>{var zCe=bi(),VCe=(t,e)=>new zCe(t,e).patch;p2.exports=VCe});var m2=E((htt,C2)=>{var _Ce=bl(),XCe=(t,e)=>{let r=_Ce(t,e);return r&&r.prerelease.length?r.prerelease:null};C2.exports=XCe});var I2=E((ptt,E2)=>{var ZCe=Xn(),$Ce=(t,e,r)=>ZCe(e,t,r);E2.exports=$Ce});var w2=E((dtt,y2)=>{var eme=Xn(),tme=(t,e)=>eme(t,e,!0);y2.exports=tme});var ZE=E((Ctt,B2)=>{var Q2=bi(),rme=(t,e,r)=>{let i=new Q2(t,r),n=new Q2(e,r);return i.compare(n)||i.compareBuild(n)};B2.exports=rme});var v2=E((mtt,b2)=>{var ime=ZE(),nme=(t,e)=>t.sort((r,i)=>ime(r,i,e));b2.exports=nme});var x2=E((Ett,S2)=>{var sme=ZE(),ome=(t,e)=>t.sort((r,i)=>sme(i,r,e));S2.exports=ome});var Dh=E((Itt,k2)=>{var ame=Xn(),Ame=(t,e,r)=>ame(t,e,r)>0;k2.exports=Ame});var $E=E((ytt,P2)=>{var lme=Xn(),cme=(t,e,r)=>lme(t,e,r)<0;P2.exports=cme});var wv=E((wtt,D2)=>{var ume=Xn(),gme=(t,e,r)=>ume(t,e,r)!==0;D2.exports=gme});var eI=E((Btt,R2)=>{var fme=Xn(),hme=(t,e,r)=>fme(t,e,r)>=0;R2.exports=hme});var tI=E((Qtt,F2)=>{var pme=Xn(),dme=(t,e,r)=>pme(t,e,r)<=0;F2.exports=dme});var Bv=E((btt,N2)=>{var Cme=XE(),mme=wv(),Eme=Dh(),Ime=eI(),yme=$E(),wme=tI(),Bme=(t,e,r,i)=>{switch(e){case"===":return typeof t=="object"&&(t=t.version),typeof r=="object"&&(r=r.version),t===r;case"!==":return typeof t=="object"&&(t=t.version),typeof r=="object"&&(r=r.version),t!==r;case"":case"=":case"==":return Cme(t,r,i);case"!=":return mme(t,r,i);case">":return Eme(t,r,i);case">=":return Ime(t,r,i);case"<":return yme(t,r,i);case"<=":return wme(t,r,i);default:throw new TypeError(`Invalid operator: ${e}`)}};N2.exports=Bme});var T2=E((vtt,L2)=>{var Qme=bi(),bme=bl(),{re:rI,t:iI}=Ql(),vme=(t,e)=>{if(t instanceof Qme)return t;if(typeof t=="number"&&(t=String(t)),typeof t!="string")return null;e=e||{};let r=null;if(!e.rtl)r=t.match(rI[iI.COERCE]);else{let i;for(;(i=rI[iI.COERCERTL].exec(t))&&(!r||r.index+r[0].length!==t.length);)(!r||i.index+i[0].length!==r.index+r[0].length)&&(r=i),rI[iI.COERCERTL].lastIndex=i.index+i[1].length+i[2].length;rI[iI.COERCERTL].lastIndex=-1}return r===null?null:bme(`${r[2]}.${r[3]||"0"}.${r[4]||"0"}`,e)};L2.exports=vme});var O2=E((Stt,M2)=>{"use strict";M2.exports=function(t){t.prototype[Symbol.iterator]=function*(){for(let e=this.head;e;e=e.next)yield e.value}}});var Rh=E((xtt,K2)=>{"use strict";K2.exports=Pt;Pt.Node=vl;Pt.create=Pt;function Pt(t){var e=this;if(e instanceof Pt||(e=new Pt),e.tail=null,e.head=null,e.length=0,t&&typeof t.forEach=="function")t.forEach(function(n){e.push(n)});else if(arguments.length>0)for(var r=0,i=arguments.length;r1)r=e;else if(this.head)i=this.head.next,r=this.head.value;else throw new TypeError("Reduce of empty list with no initial value");for(var n=0;i!==null;n++)r=t(r,i.value,n),i=i.next;return r};Pt.prototype.reduceReverse=function(t,e){var r,i=this.tail;if(arguments.length>1)r=e;else if(this.tail)i=this.tail.prev,r=this.tail.value;else throw new TypeError("Reduce of empty list with no initial value");for(var n=this.length-1;i!==null;n--)r=t(r,i.value,n),i=i.prev;return r};Pt.prototype.toArray=function(){for(var t=new Array(this.length),e=0,r=this.head;r!==null;e++)t[e]=r.value,r=r.next;return t};Pt.prototype.toArrayReverse=function(){for(var t=new Array(this.length),e=0,r=this.tail;r!==null;e++)t[e]=r.value,r=r.prev;return t};Pt.prototype.slice=function(t,e){e=e||this.length,e<0&&(e+=this.length),t=t||0,t<0&&(t+=this.length);var r=new Pt;if(ethis.length&&(e=this.length);for(var i=0,n=this.head;n!==null&&ithis.length&&(e=this.length);for(var i=this.length,n=this.tail;n!==null&&i>e;i--)n=n.prev;for(;n!==null&&i>t;i--,n=n.prev)r.push(n.value);return r};Pt.prototype.splice=function(t,e,...r){t>this.length&&(t=this.length-1),t<0&&(t=this.length+t);for(var i=0,n=this.head;n!==null&&i{"use strict";var Pme=Rh(),Sl=Symbol("max"),ra=Symbol("length"),uu=Symbol("lengthCalculator"),Fh=Symbol("allowStale"),xl=Symbol("maxAge"),ia=Symbol("dispose"),H2=Symbol("noDisposeOnSet"),si=Symbol("lruList"),ks=Symbol("cache"),G2=Symbol("updateAgeOnGet"),Qv=()=>1,j2=class{constructor(e){if(typeof e=="number"&&(e={max:e}),e||(e={}),e.max&&(typeof e.max!="number"||e.max<0))throw new TypeError("max must be a non-negative number");let r=this[Sl]=e.max||Infinity,i=e.length||Qv;if(this[uu]=typeof i!="function"?Qv:i,this[Fh]=e.stale||!1,e.maxAge&&typeof e.maxAge!="number")throw new TypeError("maxAge must be a number");this[xl]=e.maxAge||0,this[ia]=e.dispose,this[H2]=e.noDisposeOnSet||!1,this[G2]=e.updateAgeOnGet||!1,this.reset()}set max(e){if(typeof e!="number"||e<0)throw new TypeError("max must be a non-negative number");this[Sl]=e||Infinity,Nh(this)}get max(){return this[Sl]}set allowStale(e){this[Fh]=!!e}get allowStale(){return this[Fh]}set maxAge(e){if(typeof e!="number")throw new TypeError("maxAge must be a non-negative number");this[xl]=e,Nh(this)}get maxAge(){return this[xl]}set lengthCalculator(e){typeof e!="function"&&(e=Qv),e!==this[uu]&&(this[uu]=e,this[ra]=0,this[si].forEach(r=>{r.length=this[uu](r.value,r.key),this[ra]+=r.length})),Nh(this)}get lengthCalculator(){return this[uu]}get length(){return this[ra]}get itemCount(){return this[si].length}rforEach(e,r){r=r||this;for(let i=this[si].tail;i!==null;){let n=i.prev;q2(this,e,i,r),i=n}}forEach(e,r){r=r||this;for(let i=this[si].head;i!==null;){let n=i.next;q2(this,e,i,r),i=n}}keys(){return this[si].toArray().map(e=>e.key)}values(){return this[si].toArray().map(e=>e.value)}reset(){this[ia]&&this[si]&&this[si].length&&this[si].forEach(e=>this[ia](e.key,e.value)),this[ks]=new Map,this[si]=new Pme,this[ra]=0}dump(){return this[si].map(e=>nI(this,e)?!1:{k:e.key,v:e.value,e:e.now+(e.maxAge||0)}).toArray().filter(e=>e)}dumpLru(){return this[si]}set(e,r,i){if(i=i||this[xl],i&&typeof i!="number")throw new TypeError("maxAge must be a number");let n=i?Date.now():0,s=this[uu](r,e);if(this[ks].has(e)){if(s>this[Sl])return gu(this,this[ks].get(e)),!1;let l=this[ks].get(e).value;return this[ia]&&(this[H2]||this[ia](e,l.value)),l.now=n,l.maxAge=i,l.value=r,this[ra]+=s-l.length,l.length=s,this.get(e),Nh(this),!0}let o=new Y2(e,r,s,n,i);return o.length>this[Sl]?(this[ia]&&this[ia](e,r),!1):(this[ra]+=o.length,this[si].unshift(o),this[ks].set(e,this[si].head),Nh(this),!0)}has(e){if(!this[ks].has(e))return!1;let r=this[ks].get(e).value;return!nI(this,r)}get(e){return bv(this,e,!0)}peek(e){return bv(this,e,!1)}pop(){let e=this[si].tail;return e?(gu(this,e),e.value):null}del(e){gu(this,this[ks].get(e))}load(e){this.reset();let r=Date.now();for(let i=e.length-1;i>=0;i--){let n=e[i],s=n.e||0;if(s===0)this.set(n.k,n.v);else{let o=s-r;o>0&&this.set(n.k,n.v,o)}}}prune(){this[ks].forEach((e,r)=>bv(this,r,!1))}},bv=(t,e,r)=>{let i=t[ks].get(e);if(i){let n=i.value;if(nI(t,n)){if(gu(t,i),!t[Fh])return}else r&&(t[G2]&&(i.value.now=Date.now()),t[si].unshiftNode(i));return n.value}},nI=(t,e)=>{if(!e||!e.maxAge&&!t[xl])return!1;let r=Date.now()-e.now;return e.maxAge?r>e.maxAge:t[xl]&&r>t[xl]},Nh=t=>{if(t[ra]>t[Sl])for(let e=t[si].tail;t[ra]>t[Sl]&&e!==null;){let r=e.prev;gu(t,e),e=r}},gu=(t,e)=>{if(e){let r=e.value;t[ia]&&t[ia](r.key,r.value),t[ra]-=r.length,t[ks].delete(r.key),t[si].removeNode(e)}},Y2=class{constructor(e,r,i,n,s){this.key=e,this.value=r,this.length=i,this.now=n,this.maxAge=s||0}},q2=(t,e,r,i)=>{let n=r.value;nI(t,n)&&(gu(t,r),t[Fh]||(n=void 0)),n&&e.call(i,n.value,n.key,t)};U2.exports=j2});var Zn=E((Ptt,W2)=>{var fu=class{constructor(e,r){if(r=Dme(r),e instanceof fu)return e.loose===!!r.loose&&e.includePrerelease===!!r.includePrerelease?e:new fu(e.raw,r);if(e instanceof vv)return this.raw=e.value,this.set=[[e]],this.format(),this;if(this.options=r,this.loose=!!r.loose,this.includePrerelease=!!r.includePrerelease,this.raw=e,this.set=e.split(/\s*\|\|\s*/).map(i=>this.parseRange(i.trim())).filter(i=>i.length),!this.set.length)throw new TypeError(`Invalid SemVer Range: ${e}`);if(this.set.length>1){let i=this.set[0];if(this.set=this.set.filter(n=>!V2(n[0])),this.set.length===0)this.set=[i];else if(this.set.length>1){for(let n of this.set)if(n.length===1&&Tme(n[0])){this.set=[n];break}}}this.format()}format(){return this.range=this.set.map(e=>e.join(" ").trim()).join("||").trim(),this.range}toString(){return this.range}parseRange(e){e=e.trim();let i=`parseRange:${Object.keys(this.options).join(",")}:${e}`,n=z2.get(i);if(n)return n;let s=this.options.loose,o=s?vi[di.HYPHENRANGELOOSE]:vi[di.HYPHENRANGE];e=e.replace(o,Kme(this.options.includePrerelease)),Rr("hyphen replace",e),e=e.replace(vi[di.COMPARATORTRIM],Fme),Rr("comparator trim",e,vi[di.COMPARATORTRIM]),e=e.replace(vi[di.TILDETRIM],Nme),e=e.replace(vi[di.CARETTRIM],Lme),e=e.split(/\s+/).join(" ");let a=s?vi[di.COMPARATORLOOSE]:vi[di.COMPARATOR],l=e.split(" ").map(f=>Mme(f,this.options)).join(" ").split(/\s+/).map(f=>Ome(f,this.options)).filter(this.options.loose?f=>!!f.match(a):()=>!0).map(f=>new vv(f,this.options)),c=l.length,u=new Map;for(let f of l){if(V2(f))return[f];u.set(f.value,f)}u.size>1&&u.has("")&&u.delete("");let g=[...u.values()];return z2.set(i,g),g}intersects(e,r){if(!(e instanceof fu))throw new TypeError("a Range is required");return this.set.some(i=>_2(i,r)&&e.set.some(n=>_2(n,r)&&i.every(s=>n.every(o=>s.intersects(o,r)))))}test(e){if(!e)return!1;if(typeof e=="string")try{e=new Rme(e,this.options)}catch(r){return!1}for(let r=0;rt.value==="<0.0.0-0",Tme=t=>t.value==="",_2=(t,e)=>{let r=!0,i=t.slice(),n=i.pop();for(;r&&i.length;)r=i.every(s=>n.intersects(s,e)),n=i.pop();return r},Mme=(t,e)=>(Rr("comp",t,e),t=jme(t,e),Rr("caret",t),t=Gme(t,e),Rr("tildes",t),t=Yme(t,e),Rr("xrange",t),t=qme(t,e),Rr("stars",t),t),Ji=t=>!t||t.toLowerCase()==="x"||t==="*",Gme=(t,e)=>t.trim().split(/\s+/).map(r=>Jme(r,e)).join(" "),Jme=(t,e)=>{let r=e.loose?vi[di.TILDELOOSE]:vi[di.TILDE];return t.replace(r,(i,n,s,o,a)=>{Rr("tilde",t,i,n,s,o,a);let l;return Ji(n)?l="":Ji(s)?l=`>=${n}.0.0 <${+n+1}.0.0-0`:Ji(o)?l=`>=${n}.${s}.0 <${n}.${+s+1}.0-0`:a?(Rr("replaceTilde pr",a),l=`>=${n}.${s}.${o}-${a} <${n}.${+s+1}.0-0`):l=`>=${n}.${s}.${o} <${n}.${+s+1}.0-0`,Rr("tilde return",l),l})},jme=(t,e)=>t.trim().split(/\s+/).map(r=>Wme(r,e)).join(" "),Wme=(t,e)=>{Rr("caret",t,e);let r=e.loose?vi[di.CARETLOOSE]:vi[di.CARET],i=e.includePrerelease?"-0":"";return t.replace(r,(n,s,o,a,l)=>{Rr("caret",t,n,s,o,a,l);let c;return Ji(s)?c="":Ji(o)?c=`>=${s}.0.0${i} <${+s+1}.0.0-0`:Ji(a)?s==="0"?c=`>=${s}.${o}.0${i} <${s}.${+o+1}.0-0`:c=`>=${s}.${o}.0${i} <${+s+1}.0.0-0`:l?(Rr("replaceCaret pr",l),s==="0"?o==="0"?c=`>=${s}.${o}.${a}-${l} <${s}.${o}.${+a+1}-0`:c=`>=${s}.${o}.${a}-${l} <${s}.${+o+1}.0-0`:c=`>=${s}.${o}.${a}-${l} <${+s+1}.0.0-0`):(Rr("no pr"),s==="0"?o==="0"?c=`>=${s}.${o}.${a}${i} <${s}.${o}.${+a+1}-0`:c=`>=${s}.${o}.${a}${i} <${s}.${+o+1}.0-0`:c=`>=${s}.${o}.${a} <${+s+1}.0.0-0`),Rr("caret return",c),c})},Yme=(t,e)=>(Rr("replaceXRanges",t,e),t.split(/\s+/).map(r=>zme(r,e)).join(" ")),zme=(t,e)=>{t=t.trim();let r=e.loose?vi[di.XRANGELOOSE]:vi[di.XRANGE];return t.replace(r,(i,n,s,o,a,l)=>{Rr("xRange",t,i,n,s,o,a,l);let c=Ji(s),u=c||Ji(o),g=u||Ji(a),f=g;return n==="="&&f&&(n=""),l=e.includePrerelease?"-0":"",c?n===">"||n==="<"?i="<0.0.0-0":i="*":n&&f?(u&&(o=0),a=0,n===">"?(n=">=",u?(s=+s+1,o=0,a=0):(o=+o+1,a=0)):n==="<="&&(n="<",u?s=+s+1:o=+o+1),n==="<"&&(l="-0"),i=`${n+s}.${o}.${a}${l}`):u?i=`>=${s}.0.0${l} <${+s+1}.0.0-0`:g&&(i=`>=${s}.${o}.0${l} <${s}.${+o+1}.0-0`),Rr("xRange return",i),i})},qme=(t,e)=>(Rr("replaceStars",t,e),t.trim().replace(vi[di.STAR],"")),Ome=(t,e)=>(Rr("replaceGTE0",t,e),t.trim().replace(vi[e.includePrerelease?di.GTE0PRE:di.GTE0],"")),Kme=t=>(e,r,i,n,s,o,a,l,c,u,g,f,h)=>(Ji(i)?r="":Ji(n)?r=`>=${i}.0.0${t?"-0":""}`:Ji(s)?r=`>=${i}.${n}.0${t?"-0":""}`:o?r=`>=${r}`:r=`>=${r}${t?"-0":""}`,Ji(c)?l="":Ji(u)?l=`<${+c+1}.0.0-0`:Ji(g)?l=`<${c}.${+u+1}.0-0`:f?l=`<=${c}.${u}.${g}-${f}`:t?l=`<${c}.${u}.${+g+1}-0`:l=`<=${l}`,`${r} ${l}`.trim()),Ume=(t,e,r)=>{for(let i=0;i0){let n=t[i].semver;if(n.major===e.major&&n.minor===e.minor&&n.patch===e.patch)return!0}return!1}return!0}});var Lh=E((Dtt,X2)=>{var Th=Symbol("SemVer ANY"),Mh=class{static get ANY(){return Th}constructor(e,r){if(r=Vme(r),e instanceof Mh){if(e.loose===!!r.loose)return e;e=e.value}xv("comparator",e,r),this.options=r,this.loose=!!r.loose,this.parse(e),this.semver===Th?this.value="":this.value=this.operator+this.semver.version,xv("comp",this)}parse(e){let r=this.options.loose?Z2[$2.COMPARATORLOOSE]:Z2[$2.COMPARATOR],i=e.match(r);if(!i)throw new TypeError(`Invalid comparator: ${e}`);this.operator=i[1]!==void 0?i[1]:"",this.operator==="="&&(this.operator=""),i[2]?this.semver=new eH(i[2],this.options.loose):this.semver=Th}toString(){return this.value}test(e){if(xv("Comparator.test",e,this.options.loose),this.semver===Th||e===Th)return!0;if(typeof e=="string")try{e=new eH(e,this.options)}catch(r){return!1}return Sv(e,this.operator,this.semver,this.options)}intersects(e,r){if(!(e instanceof Mh))throw new TypeError("a Comparator is required");if((!r||typeof r!="object")&&(r={loose:!!r,includePrerelease:!1}),this.operator==="")return this.value===""?!0:new tH(e.value,r).test(this.value);if(e.operator==="")return e.value===""?!0:new tH(this.value,r).test(e.semver);let i=(this.operator===">="||this.operator===">")&&(e.operator===">="||e.operator===">"),n=(this.operator==="<="||this.operator==="<")&&(e.operator==="<="||e.operator==="<"),s=this.semver.version===e.semver.version,o=(this.operator===">="||this.operator==="<=")&&(e.operator===">="||e.operator==="<="),a=Sv(this.semver,"<",e.semver,r)&&(this.operator===">="||this.operator===">")&&(e.operator==="<="||e.operator==="<"),l=Sv(this.semver,">",e.semver,r)&&(this.operator==="<="||this.operator==="<")&&(e.operator===">="||e.operator===">");return i||n||s&&o||a||l}};X2.exports=Mh;var Vme=kh(),{re:Z2,t:$2}=Ql(),Sv=Bv(),xv=xh(),eH=bi(),tH=Zn()});var Oh=E((Rtt,rH)=>{var _me=Zn(),Xme=(t,e,r)=>{try{e=new _me(e,r)}catch(i){return!1}return e.test(t)};rH.exports=Xme});var nH=E((Ftt,iH)=>{var Zme=Zn(),$me=(t,e)=>new Zme(t,e).set.map(r=>r.map(i=>i.value).join(" ").trim().split(" "));iH.exports=$me});var oH=E((Ntt,sH)=>{var eEe=bi(),tEe=Zn(),rEe=(t,e,r)=>{let i=null,n=null,s=null;try{s=new tEe(e,r)}catch(o){return null}return t.forEach(o=>{s.test(o)&&(!i||n.compare(o)===-1)&&(i=o,n=new eEe(i,r))}),i};sH.exports=rEe});var AH=E((Ltt,aH)=>{var iEe=bi(),nEe=Zn(),sEe=(t,e,r)=>{let i=null,n=null,s=null;try{s=new nEe(e,r)}catch(o){return null}return t.forEach(o=>{s.test(o)&&(!i||n.compare(o)===1)&&(i=o,n=new iEe(i,r))}),i};aH.exports=sEe});var uH=E((Ttt,lH)=>{var kv=bi(),oEe=Zn(),cH=Dh(),aEe=(t,e)=>{t=new oEe(t,e);let r=new kv("0.0.0");if(t.test(r)||(r=new kv("0.0.0-0"),t.test(r)))return r;r=null;for(let i=0;i{let a=new kv(o.semver.version);switch(o.operator){case">":a.prerelease.length===0?a.patch++:a.prerelease.push(0),a.raw=a.format();case"":case">=":(!s||cH(a,s))&&(s=a);break;case"<":case"<=":break;default:throw new Error(`Unexpected operation: ${o.operator}`)}}),s&&(!r||cH(r,s))&&(r=s)}return r&&t.test(r)?r:null};lH.exports=aEe});var fH=E((Mtt,gH)=>{var AEe=Zn(),lEe=(t,e)=>{try{return new AEe(t,e).range||"*"}catch(r){return null}};gH.exports=lEe});var sI=E((Ott,hH)=>{var cEe=bi(),pH=Lh(),{ANY:uEe}=pH,gEe=Zn(),fEe=Oh(),dH=Dh(),CH=$E(),hEe=tI(),pEe=eI(),dEe=(t,e,r,i)=>{t=new cEe(t,i),e=new gEe(e,i);let n,s,o,a,l;switch(r){case">":n=dH,s=hEe,o=CH,a=">",l=">=";break;case"<":n=CH,s=pEe,o=dH,a="<",l="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(fEe(t,e,i))return!1;for(let c=0;c{h.semver===uEe&&(h=new pH(">=0.0.0")),g=g||h,f=f||h,n(h.semver,g.semver,i)?g=h:o(h.semver,f.semver,i)&&(f=h)}),g.operator===a||g.operator===l||(!f.operator||f.operator===a)&&s(t,f.semver))return!1;if(f.operator===l&&o(t,f.semver))return!1}return!0};hH.exports=dEe});var EH=E((Ktt,mH)=>{var CEe=sI(),mEe=(t,e,r)=>CEe(t,e,">",r);mH.exports=mEe});var yH=E((Utt,IH)=>{var EEe=sI(),IEe=(t,e,r)=>EEe(t,e,"<",r);IH.exports=IEe});var QH=E((Htt,wH)=>{var BH=Zn(),yEe=(t,e,r)=>(t=new BH(t,r),e=new BH(e,r),t.intersects(e));wH.exports=yEe});var vH=E((Gtt,bH)=>{var wEe=Oh(),BEe=Xn();bH.exports=(t,e,r)=>{let i=[],n=null,s=null,o=t.sort((u,g)=>BEe(u,g,r));for(let u of o)wEe(u,e,r)?(s=u,n||(n=u)):(s&&i.push([n,s]),s=null,n=null);n&&i.push([n,null]);let a=[];for(let[u,g]of i)u===g?a.push(u):!g&&u===o[0]?a.push("*"):g?u===o[0]?a.push(`<=${g}`):a.push(`${u} - ${g}`):a.push(`>=${u}`);let l=a.join(" || "),c=typeof e.raw=="string"?e.raw:String(e);return l.length{var xH=Zn(),oI=Lh(),{ANY:Pv}=oI,Kh=Oh(),Dv=Xn(),bEe=(t,e,r={})=>{if(t===e)return!0;t=new xH(t,r),e=new xH(e,r);let i=!1;e:for(let n of t.set){for(let s of e.set){let o=QEe(n,s,r);if(i=i||o!==null,o)continue e}if(i)return!1}return!0},QEe=(t,e,r)=>{if(t===e)return!0;if(t.length===1&&t[0].semver===Pv){if(e.length===1&&e[0].semver===Pv)return!0;r.includePrerelease?t=[new oI(">=0.0.0-0")]:t=[new oI(">=0.0.0")]}if(e.length===1&&e[0].semver===Pv){if(r.includePrerelease)return!0;e=[new oI(">=0.0.0")]}let i=new Set,n,s;for(let h of t)h.operator===">"||h.operator===">="?n=kH(n,h,r):h.operator==="<"||h.operator==="<="?s=PH(s,h,r):i.add(h.semver);if(i.size>1)return null;let o;if(n&&s){if(o=Dv(n.semver,s.semver,r),o>0)return null;if(o===0&&(n.operator!==">="||s.operator!=="<="))return null}for(let h of i){if(n&&!Kh(h,String(n),r)||s&&!Kh(h,String(s),r))return null;for(let p of e)if(!Kh(h,String(p),r))return!1;return!0}let a,l,c,u,g=s&&!r.includePrerelease&&s.semver.prerelease.length?s.semver:!1,f=n&&!r.includePrerelease&&n.semver.prerelease.length?n.semver:!1;g&&g.prerelease.length===1&&s.operator==="<"&&g.prerelease[0]===0&&(g=!1);for(let h of e){if(u=u||h.operator===">"||h.operator===">=",c=c||h.operator==="<"||h.operator==="<=",n){if(f&&h.semver.prerelease&&h.semver.prerelease.length&&h.semver.major===f.major&&h.semver.minor===f.minor&&h.semver.patch===f.patch&&(f=!1),h.operator===">"||h.operator===">="){if(a=kH(n,h,r),a===h&&a!==n)return!1}else if(n.operator===">="&&!Kh(n.semver,String(h),r))return!1}if(s){if(g&&h.semver.prerelease&&h.semver.prerelease.length&&h.semver.major===g.major&&h.semver.minor===g.minor&&h.semver.patch===g.patch&&(g=!1),h.operator==="<"||h.operator==="<="){if(l=PH(s,h,r),l===h&&l!==s)return!1}else if(s.operator==="<="&&!Kh(s.semver,String(h),r))return!1}if(!h.operator&&(s||n)&&o!==0)return!1}return!(n&&c&&!s&&o!==0||s&&u&&!n&&o!==0||f||g)},kH=(t,e,r)=>{if(!t)return e;let i=Dv(t.semver,e.semver,r);return i>0?t:i<0||e.operator===">"&&t.operator===">="?e:t},PH=(t,e,r)=>{if(!t)return e;let i=Dv(t.semver,e.semver,r);return i<0?t:i>0||e.operator==="<"&&t.operator==="<="?e:t};SH.exports=bEe});var Or=E((Ytt,RH)=>{var Rv=Ql();RH.exports={re:Rv.re,src:Rv.src,tokens:Rv.t,SEMVER_SPEC_VERSION:Sh().SEMVER_SPEC_VERSION,SemVer:bi(),compareIdentifiers:zE().compareIdentifiers,rcompareIdentifiers:zE().rcompareIdentifiers,parse:bl(),valid:e2(),clean:r2(),inc:n2(),diff:c2(),major:g2(),minor:h2(),patch:d2(),prerelease:m2(),compare:Xn(),rcompare:I2(),compareLoose:w2(),compareBuild:ZE(),sort:v2(),rsort:x2(),gt:Dh(),lt:$E(),eq:XE(),neq:wv(),gte:eI(),lte:tI(),cmp:Bv(),coerce:T2(),Comparator:Lh(),Range:Zn(),satisfies:Oh(),toComparators:nH(),maxSatisfying:oH(),minSatisfying:AH(),minVersion:uH(),validRange:fH(),outside:sI(),gtr:EH(),ltr:yH(),intersects:QH(),simplifyRange:vH(),subset:DH()}});var Uv=E(AI=>{"use strict";Object.defineProperty(AI,"__esModule",{value:!0});AI.VERSION=void 0;AI.VERSION="9.1.0"});var Dt=E((exports,module)=>{"use strict";var __spreadArray=exports&&exports.__spreadArray||function(t,e,r){if(r||arguments.length===2)for(var i=0,n=e.length,s;i{(function(t,e){typeof define=="function"&&define.amd?define([],e):typeof lI=="object"&&lI.exports?lI.exports=e():t.regexpToAst=e()})(typeof self!="undefined"?self:YH,function(){function t(){}t.prototype.saveState=function(){return{idx:this.idx,input:this.input,groupIdx:this.groupIdx}},t.prototype.restoreState=function(p){this.idx=p.idx,this.input=p.input,this.groupIdx=p.groupIdx},t.prototype.pattern=function(p){this.idx=0,this.input=p,this.groupIdx=0,this.consumeChar("/");var d=this.disjunction();this.consumeChar("/");for(var m={type:"Flags",loc:{begin:this.idx,end:p.length},global:!1,ignoreCase:!1,multiLine:!1,unicode:!1,sticky:!1};this.isRegExpFlag();)switch(this.popChar()){case"g":o(m,"global");break;case"i":o(m,"ignoreCase");break;case"m":o(m,"multiLine");break;case"u":o(m,"unicode");break;case"y":o(m,"sticky");break}if(this.idx!==this.input.length)throw Error("Redundant input: "+this.input.substring(this.idx));return{type:"Pattern",flags:m,value:d,loc:this.loc(0)}},t.prototype.disjunction=function(){var p=[],d=this.idx;for(p.push(this.alternative());this.peekChar()==="|";)this.consumeChar("|"),p.push(this.alternative());return{type:"Disjunction",value:p,loc:this.loc(d)}},t.prototype.alternative=function(){for(var p=[],d=this.idx;this.isTerm();)p.push(this.term());return{type:"Alternative",value:p,loc:this.loc(d)}},t.prototype.term=function(){return this.isAssertion()?this.assertion():this.atom()},t.prototype.assertion=function(){var p=this.idx;switch(this.popChar()){case"^":return{type:"StartAnchor",loc:this.loc(p)};case"$":return{type:"EndAnchor",loc:this.loc(p)};case"\\":switch(this.popChar()){case"b":return{type:"WordBoundary",loc:this.loc(p)};case"B":return{type:"NonWordBoundary",loc:this.loc(p)}}throw Error("Invalid Assertion Escape");case"(":this.consumeChar("?");var d;switch(this.popChar()){case"=":d="Lookahead";break;case"!":d="NegativeLookahead";break}a(d);var m=this.disjunction();return this.consumeChar(")"),{type:d,value:m,loc:this.loc(p)}}l()},t.prototype.quantifier=function(p){var d,m=this.idx;switch(this.popChar()){case"*":d={atLeast:0,atMost:Infinity};break;case"+":d={atLeast:1,atMost:Infinity};break;case"?":d={atLeast:0,atMost:1};break;case"{":var I=this.integerIncludingZero();switch(this.popChar()){case"}":d={atLeast:I,atMost:I};break;case",":var B;this.isDigit()?(B=this.integerIncludingZero(),d={atLeast:I,atMost:B}):d={atLeast:I,atMost:Infinity},this.consumeChar("}");break}if(p===!0&&d===void 0)return;a(d);break}if(!(p===!0&&d===void 0))return a(d),this.peekChar(0)==="?"?(this.consumeChar("?"),d.greedy=!1):d.greedy=!0,d.type="Quantifier",d.loc=this.loc(m),d},t.prototype.atom=function(){var p,d=this.idx;switch(this.peekChar()){case".":p=this.dotAll();break;case"\\":p=this.atomEscape();break;case"[":p=this.characterClass();break;case"(":p=this.group();break}return p===void 0&&this.isPatternCharacter()&&(p=this.patternCharacter()),a(p),p.loc=this.loc(d),this.isQuantifier()&&(p.quantifier=this.quantifier()),p},t.prototype.dotAll=function(){return this.consumeChar("."),{type:"Set",complement:!0,value:[n(` +`),n("\r"),n("\u2028"),n("\u2029")]}},t.prototype.atomEscape=function(){switch(this.consumeChar("\\"),this.peekChar()){case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":return this.decimalEscapeAtom();case"d":case"D":case"s":case"S":case"w":case"W":return this.characterClassEscape();case"f":case"n":case"r":case"t":case"v":return this.controlEscapeAtom();case"c":return this.controlLetterEscapeAtom();case"0":return this.nulCharacterAtom();case"x":return this.hexEscapeSequenceAtom();case"u":return this.regExpUnicodeEscapeSequenceAtom();default:return this.identityEscapeAtom()}},t.prototype.decimalEscapeAtom=function(){var p=this.positiveInteger();return{type:"GroupBackReference",value:p}},t.prototype.characterClassEscape=function(){var p,d=!1;switch(this.popChar()){case"d":p=u;break;case"D":p=u,d=!0;break;case"s":p=f;break;case"S":p=f,d=!0;break;case"w":p=g;break;case"W":p=g,d=!0;break}return a(p),{type:"Set",value:p,complement:d}},t.prototype.controlEscapeAtom=function(){var p;switch(this.popChar()){case"f":p=n("\f");break;case"n":p=n(` +`);break;case"r":p=n("\r");break;case"t":p=n(" ");break;case"v":p=n("\v");break}return a(p),{type:"Character",value:p}},t.prototype.controlLetterEscapeAtom=function(){this.consumeChar("c");var p=this.popChar();if(/[a-zA-Z]/.test(p)===!1)throw Error("Invalid ");var d=p.toUpperCase().charCodeAt(0)-64;return{type:"Character",value:d}},t.prototype.nulCharacterAtom=function(){return this.consumeChar("0"),{type:"Character",value:n("\0")}},t.prototype.hexEscapeSequenceAtom=function(){return this.consumeChar("x"),this.parseHexDigits(2)},t.prototype.regExpUnicodeEscapeSequenceAtom=function(){return this.consumeChar("u"),this.parseHexDigits(4)},t.prototype.identityEscapeAtom=function(){var p=this.popChar();return{type:"Character",value:n(p)}},t.prototype.classPatternCharacterAtom=function(){switch(this.peekChar()){case` +`:case"\r":case"\u2028":case"\u2029":case"\\":case"]":throw Error("TBD");default:var p=this.popChar();return{type:"Character",value:n(p)}}},t.prototype.characterClass=function(){var p=[],d=!1;for(this.consumeChar("["),this.peekChar(0)==="^"&&(this.consumeChar("^"),d=!0);this.isClassAtom();){var m=this.classAtom(),I=m.type==="Character";if(I&&this.isRangeDash()){this.consumeChar("-");var B=this.classAtom(),b=B.type==="Character";if(b){if(B.value=this.input.length)throw Error("Unexpected end of input");this.idx++},t.prototype.loc=function(p){return{begin:p,end:this.idx}};var e=/[0-9a-fA-F]/,r=/[0-9]/,i=/[1-9]/;function n(p){return p.charCodeAt(0)}function s(p,d){p.length!==void 0?p.forEach(function(m){d.push(m)}):d.push(p)}function o(p,d){if(p[d]===!0)throw"duplicate flag "+d;p[d]=!0}function a(p){if(p===void 0)throw Error("Internal Error - Should never get here!")}function l(){throw Error("Internal Error - Should never get here!")}var c,u=[];for(c=n("0");c<=n("9");c++)u.push(c);var g=[n("_")].concat(u);for(c=n("a");c<=n("z");c++)g.push(c);for(c=n("A");c<=n("Z");c++)g.push(c);var f=[n(" "),n("\f"),n(` +`),n("\r"),n(" "),n("\v"),n(" "),n("\xA0"),n("\u1680"),n("\u2000"),n("\u2001"),n("\u2002"),n("\u2003"),n("\u2004"),n("\u2005"),n("\u2006"),n("\u2007"),n("\u2008"),n("\u2009"),n("\u200A"),n("\u2028"),n("\u2029"),n("\u202F"),n("\u205F"),n("\u3000"),n("\uFEFF")];function h(){}return h.prototype.visitChildren=function(p){for(var d in p){var m=p[d];p.hasOwnProperty(d)&&(m.type!==void 0?this.visit(m):Array.isArray(m)&&m.forEach(function(I){this.visit(I)},this))}},h.prototype.visit=function(p){switch(p.type){case"Pattern":this.visitPattern(p);break;case"Flags":this.visitFlags(p);break;case"Disjunction":this.visitDisjunction(p);break;case"Alternative":this.visitAlternative(p);break;case"StartAnchor":this.visitStartAnchor(p);break;case"EndAnchor":this.visitEndAnchor(p);break;case"WordBoundary":this.visitWordBoundary(p);break;case"NonWordBoundary":this.visitNonWordBoundary(p);break;case"Lookahead":this.visitLookahead(p);break;case"NegativeLookahead":this.visitNegativeLookahead(p);break;case"Character":this.visitCharacter(p);break;case"Set":this.visitSet(p);break;case"Group":this.visitGroup(p);break;case"GroupBackReference":this.visitGroupBackReference(p);break;case"Quantifier":this.visitQuantifier(p);break}this.visitChildren(p)},h.prototype.visitPattern=function(p){},h.prototype.visitFlags=function(p){},h.prototype.visitDisjunction=function(p){},h.prototype.visitAlternative=function(p){},h.prototype.visitStartAnchor=function(p){},h.prototype.visitEndAnchor=function(p){},h.prototype.visitWordBoundary=function(p){},h.prototype.visitNonWordBoundary=function(p){},h.prototype.visitLookahead=function(p){},h.prototype.visitNegativeLookahead=function(p){},h.prototype.visitCharacter=function(p){},h.prototype.visitSet=function(p){},h.prototype.visitGroup=function(p){},h.prototype.visitGroupBackReference=function(p){},h.prototype.visitQuantifier=function(p){},{RegExpParser:t,BaseRegExpVisitor:h,VERSION:"0.5.0"}})});var gI=E(Eu=>{"use strict";Object.defineProperty(Eu,"__esModule",{value:!0});Eu.clearRegExpParserCache=Eu.getRegExpAst=void 0;var FEe=cI(),uI={},NEe=new FEe.RegExpParser;function LEe(t){var e=t.toString();if(uI.hasOwnProperty(e))return uI[e];var r=NEe.pattern(e);return uI[e]=r,r}Eu.getRegExpAst=LEe;function TEe(){uI={}}Eu.clearRegExpParserCache=TEe});var VH=E(fn=>{"use strict";var MEe=fn&&fn.__extends||function(){var t=function(e,r){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},t(e,r)};return function(e,r){if(typeof r!="function"&&r!==null)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");t(e,r);function i(){this.constructor=e}e.prototype=r===null?Object.create(r):(i.prototype=r.prototype,new i)}}();Object.defineProperty(fn,"__esModule",{value:!0});fn.canMatchCharCode=fn.firstCharOptimizedIndices=fn.getOptimizedStartCodesIndices=fn.failedOptimizationPrefixMsg=void 0;var qH=cI(),$n=Dt(),JH=gI(),sa=Hv(),WH="Complement Sets are not supported for first char optimization";fn.failedOptimizationPrefixMsg=`Unable to use "first char" lexer optimizations: +`;function OEe(t,e){e===void 0&&(e=!1);try{var r=(0,JH.getRegExpAst)(t),i=fI(r.value,{},r.flags.ignoreCase);return i}catch(s){if(s.message===WH)e&&(0,$n.PRINT_WARNING)(""+fn.failedOptimizationPrefixMsg+(" Unable to optimize: < "+t.toString()+` > +`)+` Complement Sets cannot be automatically optimized. + This will disable the lexer's first char optimizations. + See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#COMPLEMENT for details.`);else{var n="";e&&(n=` + This will disable the lexer's first char optimizations. + See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#REGEXP_PARSING for details.`),(0,$n.PRINT_ERROR)(fn.failedOptimizationPrefixMsg+` +`+(" Failed parsing: < "+t.toString()+` > +`)+(" Using the regexp-to-ast library version: "+qH.VERSION+` +`)+" Please open an issue at: https://github.com/bd82/regexp-to-ast/issues"+n)}}return[]}fn.getOptimizedStartCodesIndices=OEe;function fI(t,e,r){switch(t.type){case"Disjunction":for(var i=0;i=sa.minOptimizationVal)for(var f=u.from>=sa.minOptimizationVal?u.from:sa.minOptimizationVal,h=u.to,p=(0,sa.charCodeToOptimizedIndex)(f),d=(0,sa.charCodeToOptimizedIndex)(h),m=p;m<=d;m++)e[m]=m}}});break;case"Group":fI(o.value,e,r);break;default:throw Error("Non Exhaustive Match")}var a=o.quantifier!==void 0&&o.quantifier.atLeast===0;if(o.type==="Group"&&Gv(o)===!1||o.type!=="Group"&&a===!1)break}break;default:throw Error("non exhaustive match!")}return(0,$n.values)(e)}fn.firstCharOptimizedIndices=fI;function hI(t,e,r){var i=(0,sa.charCodeToOptimizedIndex)(t);e[i]=i,r===!0&&KEe(t,e)}function KEe(t,e){var r=String.fromCharCode(t),i=r.toUpperCase();if(i!==r){var n=(0,sa.charCodeToOptimizedIndex)(i.charCodeAt(0));e[n]=n}else{var s=r.toLowerCase();if(s!==r){var n=(0,sa.charCodeToOptimizedIndex)(s.charCodeAt(0));e[n]=n}}}function zH(t,e){return(0,$n.find)(t.value,function(r){if(typeof r=="number")return(0,$n.contains)(e,r);var i=r;return(0,$n.find)(e,function(n){return i.from<=n&&n<=i.to})!==void 0})}function Gv(t){return t.quantifier&&t.quantifier.atLeast===0?!0:t.value?(0,$n.isArray)(t.value)?(0,$n.every)(t.value,Gv):Gv(t.value):!1}var UEe=function(t){MEe(e,t);function e(r){var i=t.call(this)||this;return i.targetCharCodes=r,i.found=!1,i}return e.prototype.visitChildren=function(r){if(this.found!==!0){switch(r.type){case"Lookahead":this.visitLookahead(r);return;case"NegativeLookahead":this.visitNegativeLookahead(r);return}t.prototype.visitChildren.call(this,r)}},e.prototype.visitCharacter=function(r){(0,$n.contains)(this.targetCharCodes,r.value)&&(this.found=!0)},e.prototype.visitSet=function(r){r.complement?zH(r,this.targetCharCodes)===void 0&&(this.found=!0):zH(r,this.targetCharCodes)!==void 0&&(this.found=!0)},e}(qH.BaseRegExpVisitor);function HEe(t,e){if(e instanceof RegExp){var r=(0,JH.getRegExpAst)(e),i=new UEe(t);return i.visit(r),i.found}else return(0,$n.find)(e,function(n){return(0,$n.contains)(t,n.charCodeAt(0))})!==void 0}fn.canMatchCharCode=HEe});var Hv=E(je=>{"use strict";var _H=je&&je.__extends||function(){var t=function(e,r){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},t(e,r)};return function(e,r){if(typeof r!="function"&&r!==null)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");t(e,r);function i(){this.constructor=e}e.prototype=r===null?Object.create(r):(i.prototype=r.prototype,new i)}}();Object.defineProperty(je,"__esModule",{value:!0});je.charCodeToOptimizedIndex=je.minOptimizationVal=je.buildLineBreakIssueMessage=je.LineTerminatorOptimizedTester=je.isShortPattern=je.isCustomPattern=je.cloneEmptyGroups=je.performWarningRuntimeChecks=je.performRuntimeChecks=je.addStickyFlag=je.addStartOfInput=je.findUnreachablePatterns=je.findModesThatDoNotExist=je.findInvalidGroupType=je.findDuplicatePatterns=je.findUnsupportedFlags=je.findStartOfInputAnchor=je.findEmptyMatchRegExps=je.findEndOfInputAnchor=je.findInvalidPatterns=je.findMissingPatterns=je.validatePatterns=je.analyzeTokenTypes=je.enableSticky=je.disableSticky=je.SUPPORT_STICKY=je.MODES=je.DEFAULT_MODE=void 0;var XH=cI(),zt=Gh(),Ie=Dt(),Iu=VH(),ZH=gI(),ao="PATTERN";je.DEFAULT_MODE="defaultMode";je.MODES="modes";je.SUPPORT_STICKY=typeof new RegExp("(?:)").sticky=="boolean";function GEe(){je.SUPPORT_STICKY=!1}je.disableSticky=GEe;function jEe(){je.SUPPORT_STICKY=!0}je.enableSticky=jEe;function qEe(t,e){e=(0,Ie.defaults)(e,{useSticky:je.SUPPORT_STICKY,debug:!1,safeMode:!1,positionTracking:"full",lineTerminatorCharacters:["\r",` +`],tracer:function(B,b){return b()}});var r=e.tracer;r("initCharCodeToOptimizedIndexMap",function(){YEe()});var i;r("Reject Lexer.NA",function(){i=(0,Ie.reject)(t,function(B){return B[ao]===zt.Lexer.NA})});var n=!1,s;r("Transform Patterns",function(){n=!1,s=(0,Ie.map)(i,function(B){var b=B[ao];if((0,Ie.isRegExp)(b)){var R=b.source;return R.length===1&&R!=="^"&&R!=="$"&&R!=="."&&!b.ignoreCase?R:R.length===2&&R[0]==="\\"&&!(0,Ie.contains)(["d","D","s","S","t","r","n","t","0","c","b","B","f","v","w","W"],R[1])?R[1]:e.useSticky?Yv(b):jv(b)}else{if((0,Ie.isFunction)(b))return n=!0,{exec:b};if((0,Ie.has)(b,"exec"))return n=!0,b;if(typeof b=="string"){if(b.length===1)return b;var H=b.replace(/[\\^$.*+?()[\]{}|]/g,"\\$&"),L=new RegExp(H);return e.useSticky?Yv(L):jv(L)}else throw Error("non exhaustive match")}})});var o,a,l,c,u;r("misc mapping",function(){o=(0,Ie.map)(i,function(B){return B.tokenTypeIdx}),a=(0,Ie.map)(i,function(B){var b=B.GROUP;if(b!==zt.Lexer.SKIPPED){if((0,Ie.isString)(b))return b;if((0,Ie.isUndefined)(b))return!1;throw Error("non exhaustive match")}}),l=(0,Ie.map)(i,function(B){var b=B.LONGER_ALT;if(b){var R=(0,Ie.isArray)(b)?(0,Ie.map)(b,function(H){return(0,Ie.indexOf)(i,H)}):[(0,Ie.indexOf)(i,b)];return R}}),c=(0,Ie.map)(i,function(B){return B.PUSH_MODE}),u=(0,Ie.map)(i,function(B){return(0,Ie.has)(B,"POP_MODE")})});var g;r("Line Terminator Handling",function(){var B=tG(e.lineTerminatorCharacters);g=(0,Ie.map)(i,function(b){return!1}),e.positionTracking!=="onlyOffset"&&(g=(0,Ie.map)(i,function(b){if((0,Ie.has)(b,"LINE_BREAKS"))return b.LINE_BREAKS;if(eG(b,B)===!1)return(0,Iu.canMatchCharCode)(B,b.PATTERN)}))});var f,h,p,d;r("Misc Mapping #2",function(){f=(0,Ie.map)(i,qv),h=(0,Ie.map)(s,$H),p=(0,Ie.reduce)(i,function(B,b){var R=b.GROUP;return(0,Ie.isString)(R)&&R!==zt.Lexer.SKIPPED&&(B[R]=[]),B},{}),d=(0,Ie.map)(s,function(B,b){return{pattern:s[b],longerAlt:l[b],canLineTerminator:g[b],isCustom:f[b],short:h[b],group:a[b],push:c[b],pop:u[b],tokenTypeIdx:o[b],tokenType:i[b]}})});var m=!0,I=[];return e.safeMode||r("First Char Optimization",function(){I=(0,Ie.reduce)(i,function(B,b,R){if(typeof b.PATTERN=="string"){var H=b.PATTERN.charCodeAt(0),L=Wv(H);Jv(B,L,d[R])}else if((0,Ie.isArray)(b.START_CHARS_HINT)){var K;(0,Ie.forEach)(b.START_CHARS_HINT,function(ne){var q=typeof ne=="string"?ne.charCodeAt(0):ne,A=Wv(q);K!==A&&(K=A,Jv(B,A,d[R]))})}else if((0,Ie.isRegExp)(b.PATTERN))if(b.PATTERN.unicode)m=!1,e.ensureOptimizations&&(0,Ie.PRINT_ERROR)(""+Iu.failedOptimizationPrefixMsg+(" Unable to analyze < "+b.PATTERN.toString()+` > pattern. +`)+` The regexp unicode flag is not currently supported by the regexp-to-ast library. + This will disable the lexer's first char optimizations. + For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNICODE_OPTIMIZE`);else{var J=(0,Iu.getOptimizedStartCodesIndices)(b.PATTERN,e.ensureOptimizations);(0,Ie.isEmpty)(J)&&(m=!1),(0,Ie.forEach)(J,function(ne){Jv(B,ne,d[R])})}else e.ensureOptimizations&&(0,Ie.PRINT_ERROR)(""+Iu.failedOptimizationPrefixMsg+(" TokenType: <"+b.name+`> is using a custom token pattern without providing parameter. +`)+` This will disable the lexer's first char optimizations. + For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_OPTIMIZE`),m=!1;return B},[])}),r("ArrayPacking",function(){I=(0,Ie.packArray)(I)}),{emptyGroups:p,patternIdxToConfig:d,charCodeToPatternIdxToConfig:I,hasCustom:n,canBeOptimized:m}}je.analyzeTokenTypes=qEe;function WEe(t,e){var r=[],i=rG(t);r=r.concat(i.errors);var n=iG(i.valid),s=n.valid;return r=r.concat(n.errors),r=r.concat(JEe(s)),r=r.concat(nG(s)),r=r.concat(sG(s,e)),r=r.concat(oG(s)),r}je.validatePatterns=WEe;function JEe(t){var e=[],r=(0,Ie.filter)(t,function(i){return(0,Ie.isRegExp)(i[ao])});return e=e.concat(aG(r)),e=e.concat(lG(r)),e=e.concat(cG(r)),e=e.concat(uG(r)),e=e.concat(AG(r)),e}function rG(t){var e=(0,Ie.filter)(t,function(n){return!(0,Ie.has)(n,ao)}),r=(0,Ie.map)(e,function(n){return{message:"Token Type: ->"+n.name+"<- missing static 'PATTERN' property",type:zt.LexerDefinitionErrorType.MISSING_PATTERN,tokenTypes:[n]}}),i=(0,Ie.difference)(t,e);return{errors:r,valid:i}}je.findMissingPatterns=rG;function iG(t){var e=(0,Ie.filter)(t,function(n){var s=n[ao];return!(0,Ie.isRegExp)(s)&&!(0,Ie.isFunction)(s)&&!(0,Ie.has)(s,"exec")&&!(0,Ie.isString)(s)}),r=(0,Ie.map)(e,function(n){return{message:"Token Type: ->"+n.name+"<- static 'PATTERN' can only be a RegExp, a Function matching the {CustomPatternMatcherFunc} type or an Object matching the {ICustomPattern} interface.",type:zt.LexerDefinitionErrorType.INVALID_PATTERN,tokenTypes:[n]}}),i=(0,Ie.difference)(t,e);return{errors:r,valid:i}}je.findInvalidPatterns=iG;var zEe=/[^\\][\$]/;function aG(t){var e=function(n){_H(s,n);function s(){var o=n!==null&&n.apply(this,arguments)||this;return o.found=!1,o}return s.prototype.visitEndAnchor=function(o){this.found=!0},s}(XH.BaseRegExpVisitor),r=(0,Ie.filter)(t,function(n){var s=n[ao];try{var o=(0,ZH.getRegExpAst)(s),a=new e;return a.visit(o),a.found}catch(l){return zEe.test(s.source)}}),i=(0,Ie.map)(r,function(n){return{message:`Unexpected RegExp Anchor Error: + Token Type: ->`+n.name+`<- static 'PATTERN' cannot contain end of input anchor '$' + See chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:zt.LexerDefinitionErrorType.EOI_ANCHOR_FOUND,tokenTypes:[n]}});return i}je.findEndOfInputAnchor=aG;function AG(t){var e=(0,Ie.filter)(t,function(i){var n=i[ao];return n.test("")}),r=(0,Ie.map)(e,function(i){return{message:"Token Type: ->"+i.name+"<- static 'PATTERN' must not match an empty string",type:zt.LexerDefinitionErrorType.EMPTY_MATCH_PATTERN,tokenTypes:[i]}});return r}je.findEmptyMatchRegExps=AG;var VEe=/[^\\[][\^]|^\^/;function lG(t){var e=function(n){_H(s,n);function s(){var o=n!==null&&n.apply(this,arguments)||this;return o.found=!1,o}return s.prototype.visitStartAnchor=function(o){this.found=!0},s}(XH.BaseRegExpVisitor),r=(0,Ie.filter)(t,function(n){var s=n[ao];try{var o=(0,ZH.getRegExpAst)(s),a=new e;return a.visit(o),a.found}catch(l){return VEe.test(s.source)}}),i=(0,Ie.map)(r,function(n){return{message:`Unexpected RegExp Anchor Error: + Token Type: ->`+n.name+`<- static 'PATTERN' cannot contain start of input anchor '^' + See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:zt.LexerDefinitionErrorType.SOI_ANCHOR_FOUND,tokenTypes:[n]}});return i}je.findStartOfInputAnchor=lG;function cG(t){var e=(0,Ie.filter)(t,function(i){var n=i[ao];return n instanceof RegExp&&(n.multiline||n.global)}),r=(0,Ie.map)(e,function(i){return{message:"Token Type: ->"+i.name+"<- static 'PATTERN' may NOT contain global('g') or multiline('m')",type:zt.LexerDefinitionErrorType.UNSUPPORTED_FLAGS_FOUND,tokenTypes:[i]}});return r}je.findUnsupportedFlags=cG;function uG(t){var e=[],r=(0,Ie.map)(t,function(s){return(0,Ie.reduce)(t,function(o,a){return s.PATTERN.source===a.PATTERN.source&&!(0,Ie.contains)(e,a)&&a.PATTERN!==zt.Lexer.NA&&(e.push(a),o.push(a)),o},[])});r=(0,Ie.compact)(r);var i=(0,Ie.filter)(r,function(s){return s.length>1}),n=(0,Ie.map)(i,function(s){var o=(0,Ie.map)(s,function(l){return l.name}),a=(0,Ie.first)(s).PATTERN;return{message:"The same RegExp pattern ->"+a+"<-"+("has been used in all of the following Token Types: "+o.join(", ")+" <-"),type:zt.LexerDefinitionErrorType.DUPLICATE_PATTERNS_FOUND,tokenTypes:s}});return n}je.findDuplicatePatterns=uG;function nG(t){var e=(0,Ie.filter)(t,function(i){if(!(0,Ie.has)(i,"GROUP"))return!1;var n=i.GROUP;return n!==zt.Lexer.SKIPPED&&n!==zt.Lexer.NA&&!(0,Ie.isString)(n)}),r=(0,Ie.map)(e,function(i){return{message:"Token Type: ->"+i.name+"<- static 'GROUP' can only be Lexer.SKIPPED/Lexer.NA/A String",type:zt.LexerDefinitionErrorType.INVALID_GROUP_TYPE_FOUND,tokenTypes:[i]}});return r}je.findInvalidGroupType=nG;function sG(t,e){var r=(0,Ie.filter)(t,function(n){return n.PUSH_MODE!==void 0&&!(0,Ie.contains)(e,n.PUSH_MODE)}),i=(0,Ie.map)(r,function(n){var s="Token Type: ->"+n.name+"<- static 'PUSH_MODE' value cannot refer to a Lexer Mode ->"+n.PUSH_MODE+"<-which does not exist";return{message:s,type:zt.LexerDefinitionErrorType.PUSH_MODE_DOES_NOT_EXIST,tokenTypes:[n]}});return i}je.findModesThatDoNotExist=sG;function oG(t){var e=[],r=(0,Ie.reduce)(t,function(i,n,s){var o=n.PATTERN;return o===zt.Lexer.NA||((0,Ie.isString)(o)?i.push({str:o,idx:s,tokenType:n}):(0,Ie.isRegExp)(o)&&XEe(o)&&i.push({str:o.source,idx:s,tokenType:n})),i},[]);return(0,Ie.forEach)(t,function(i,n){(0,Ie.forEach)(r,function(s){var o=s.str,a=s.idx,l=s.tokenType;if(n"+i.name+"<-")+`in the lexer's definition. +See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNREACHABLE`;e.push({message:c,type:zt.LexerDefinitionErrorType.UNREACHABLE_PATTERN,tokenTypes:[i,l]})}})}),e}je.findUnreachablePatterns=oG;function _Ee(t,e){if((0,Ie.isRegExp)(e)){var r=e.exec(t);return r!==null&&r.index===0}else{if((0,Ie.isFunction)(e))return e(t,0,[],{});if((0,Ie.has)(e,"exec"))return e.exec(t,0,[],{});if(typeof e=="string")return e===t;throw Error("non exhaustive match")}}function XEe(t){var e=[".","\\","[","]","|","^","$","(",")","?","*","+","{"];return(0,Ie.find)(e,function(r){return t.source.indexOf(r)!==-1})===void 0}function jv(t){var e=t.ignoreCase?"i":"";return new RegExp("^(?:"+t.source+")",e)}je.addStartOfInput=jv;function Yv(t){var e=t.ignoreCase?"iy":"y";return new RegExp(""+t.source,e)}je.addStickyFlag=Yv;function ZEe(t,e,r){var i=[];return(0,Ie.has)(t,je.DEFAULT_MODE)||i.push({message:"A MultiMode Lexer cannot be initialized without a <"+je.DEFAULT_MODE+`> property in its definition +`,type:zt.LexerDefinitionErrorType.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE}),(0,Ie.has)(t,je.MODES)||i.push({message:"A MultiMode Lexer cannot be initialized without a <"+je.MODES+`> property in its definition +`,type:zt.LexerDefinitionErrorType.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY}),(0,Ie.has)(t,je.MODES)&&(0,Ie.has)(t,je.DEFAULT_MODE)&&!(0,Ie.has)(t.modes,t.defaultMode)&&i.push({message:"A MultiMode Lexer cannot be initialized with a "+je.DEFAULT_MODE+": <"+t.defaultMode+`>which does not exist +`,type:zt.LexerDefinitionErrorType.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST}),(0,Ie.has)(t,je.MODES)&&(0,Ie.forEach)(t.modes,function(n,s){(0,Ie.forEach)(n,function(o,a){(0,Ie.isUndefined)(o)&&i.push({message:"A Lexer cannot be initialized using an undefined Token Type. Mode:"+("<"+s+"> at index: <"+a+`> +`),type:zt.LexerDefinitionErrorType.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED})})}),i}je.performRuntimeChecks=ZEe;function $Ee(t,e,r){var i=[],n=!1,s=(0,Ie.compact)((0,Ie.flatten)((0,Ie.mapValues)(t.modes,function(l){return l}))),o=(0,Ie.reject)(s,function(l){return l[ao]===zt.Lexer.NA}),a=tG(r);return e&&(0,Ie.forEach)(o,function(l){var c=eG(l,a);if(c!==!1){var u=gG(l,c),g={message:u,type:c.issue,tokenType:l};i.push(g)}else(0,Ie.has)(l,"LINE_BREAKS")?l.LINE_BREAKS===!0&&(n=!0):(0,Iu.canMatchCharCode)(a,l.PATTERN)&&(n=!0)}),e&&!n&&i.push({message:`Warning: No LINE_BREAKS Found. + This Lexer has been defined to track line and column information, + But none of the Token Types can be identified as matching a line terminator. + See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#LINE_BREAKS + for details.`,type:zt.LexerDefinitionErrorType.NO_LINE_BREAKS_FLAGS}),i}je.performWarningRuntimeChecks=$Ee;function eIe(t){var e={},r=(0,Ie.keys)(t);return(0,Ie.forEach)(r,function(i){var n=t[i];if((0,Ie.isArray)(n))e[i]=[];else throw Error("non exhaustive match")}),e}je.cloneEmptyGroups=eIe;function qv(t){var e=t.PATTERN;if((0,Ie.isRegExp)(e))return!1;if((0,Ie.isFunction)(e))return!0;if((0,Ie.has)(e,"exec"))return!0;if((0,Ie.isString)(e))return!1;throw Error("non exhaustive match")}je.isCustomPattern=qv;function $H(t){return(0,Ie.isString)(t)&&t.length===1?t.charCodeAt(0):!1}je.isShortPattern=$H;je.LineTerminatorOptimizedTester={test:function(t){for(var e=t.length,r=this.lastIndex;r Token Type +`)+(" Root cause: "+e.errMsg+`. +`)+" For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#IDENTIFY_TERMINATOR";if(e.issue===zt.LexerDefinitionErrorType.CUSTOM_LINE_BREAK)return`Warning: A Custom Token Pattern should specify the option. +`+(" The problem is in the <"+t.name+`> Token Type +`)+" For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_LINE_BREAK";throw Error("non exhaustive match")}je.buildLineBreakIssueMessage=gG;function tG(t){var e=(0,Ie.map)(t,function(r){return(0,Ie.isString)(r)&&r.length>0?r.charCodeAt(0):r});return e}function Jv(t,e,r){t[e]===void 0?t[e]=[r]:t[e].push(r)}je.minOptimizationVal=256;var pI=[];function Wv(t){return t255?255+~~(t/255):t}}});var yu=E(Bt=>{"use strict";Object.defineProperty(Bt,"__esModule",{value:!0});Bt.isTokenType=Bt.hasExtendingTokensTypesMapProperty=Bt.hasExtendingTokensTypesProperty=Bt.hasCategoriesProperty=Bt.hasShortKeyProperty=Bt.singleAssignCategoriesToksMap=Bt.assignCategoriesMapProp=Bt.assignCategoriesTokensProp=Bt.assignTokenDefaultProps=Bt.expandCategories=Bt.augmentTokenTypes=Bt.tokenIdxToClass=Bt.tokenShortNameIdx=Bt.tokenStructuredMatcherNoCategories=Bt.tokenStructuredMatcher=void 0;var Kr=Dt();function tIe(t,e){var r=t.tokenTypeIdx;return r===e.tokenTypeIdx?!0:e.isParent===!0&&e.categoryMatchesMap[r]===!0}Bt.tokenStructuredMatcher=tIe;function rIe(t,e){return t.tokenTypeIdx===e.tokenTypeIdx}Bt.tokenStructuredMatcherNoCategories=rIe;Bt.tokenShortNameIdx=1;Bt.tokenIdxToClass={};function iIe(t){var e=fG(t);hG(e),dG(e),pG(e),(0,Kr.forEach)(e,function(r){r.isParent=r.categoryMatches.length>0})}Bt.augmentTokenTypes=iIe;function fG(t){for(var e=(0,Kr.cloneArr)(t),r=t,i=!0;i;){r=(0,Kr.compact)((0,Kr.flatten)((0,Kr.map)(r,function(s){return s.CATEGORIES})));var n=(0,Kr.difference)(r,e);e=e.concat(n),(0,Kr.isEmpty)(n)?i=!1:r=n}return e}Bt.expandCategories=fG;function hG(t){(0,Kr.forEach)(t,function(e){CG(e)||(Bt.tokenIdxToClass[Bt.tokenShortNameIdx]=e,e.tokenTypeIdx=Bt.tokenShortNameIdx++),zv(e)&&!(0,Kr.isArray)(e.CATEGORIES)&&(e.CATEGORIES=[e.CATEGORIES]),zv(e)||(e.CATEGORIES=[]),mG(e)||(e.categoryMatches=[]),EG(e)||(e.categoryMatchesMap={})})}Bt.assignTokenDefaultProps=hG;function pG(t){(0,Kr.forEach)(t,function(e){e.categoryMatches=[],(0,Kr.forEach)(e.categoryMatchesMap,function(r,i){e.categoryMatches.push(Bt.tokenIdxToClass[i].tokenTypeIdx)})})}Bt.assignCategoriesTokensProp=pG;function dG(t){(0,Kr.forEach)(t,function(e){Vv([],e)})}Bt.assignCategoriesMapProp=dG;function Vv(t,e){(0,Kr.forEach)(t,function(r){e.categoryMatchesMap[r.tokenTypeIdx]=!0}),(0,Kr.forEach)(e.CATEGORIES,function(r){var i=t.concat(e);(0,Kr.contains)(i,r)||Vv(i,r)})}Bt.singleAssignCategoriesToksMap=Vv;function CG(t){return(0,Kr.has)(t,"tokenTypeIdx")}Bt.hasShortKeyProperty=CG;function zv(t){return(0,Kr.has)(t,"CATEGORIES")}Bt.hasCategoriesProperty=zv;function mG(t){return(0,Kr.has)(t,"categoryMatches")}Bt.hasExtendingTokensTypesProperty=mG;function EG(t){return(0,Kr.has)(t,"categoryMatchesMap")}Bt.hasExtendingTokensTypesMapProperty=EG;function nIe(t){return(0,Kr.has)(t,"tokenTypeIdx")}Bt.isTokenType=nIe});var _v=E(dI=>{"use strict";Object.defineProperty(dI,"__esModule",{value:!0});dI.defaultLexerErrorProvider=void 0;dI.defaultLexerErrorProvider={buildUnableToPopLexerModeMessage:function(t){return"Unable to pop Lexer Mode after encountering Token ->"+t.image+"<- The Mode Stack is empty"},buildUnexpectedCharactersMessage:function(t,e,r,i,n){return"unexpected character: ->"+t.charAt(e)+"<- at offset: "+e+","+(" skipped "+r+" characters.")}}});var Gh=E(Rl=>{"use strict";Object.defineProperty(Rl,"__esModule",{value:!0});Rl.Lexer=Rl.LexerDefinitionErrorType=void 0;var Ps=Hv(),Vt=Dt(),sIe=yu(),oIe=_v(),aIe=gI(),AIe;(function(t){t[t.MISSING_PATTERN=0]="MISSING_PATTERN",t[t.INVALID_PATTERN=1]="INVALID_PATTERN",t[t.EOI_ANCHOR_FOUND=2]="EOI_ANCHOR_FOUND",t[t.UNSUPPORTED_FLAGS_FOUND=3]="UNSUPPORTED_FLAGS_FOUND",t[t.DUPLICATE_PATTERNS_FOUND=4]="DUPLICATE_PATTERNS_FOUND",t[t.INVALID_GROUP_TYPE_FOUND=5]="INVALID_GROUP_TYPE_FOUND",t[t.PUSH_MODE_DOES_NOT_EXIST=6]="PUSH_MODE_DOES_NOT_EXIST",t[t.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE=7]="MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE",t[t.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY=8]="MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY",t[t.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST=9]="MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST",t[t.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED=10]="LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED",t[t.SOI_ANCHOR_FOUND=11]="SOI_ANCHOR_FOUND",t[t.EMPTY_MATCH_PATTERN=12]="EMPTY_MATCH_PATTERN",t[t.NO_LINE_BREAKS_FLAGS=13]="NO_LINE_BREAKS_FLAGS",t[t.UNREACHABLE_PATTERN=14]="UNREACHABLE_PATTERN",t[t.IDENTIFY_TERMINATOR=15]="IDENTIFY_TERMINATOR",t[t.CUSTOM_LINE_BREAK=16]="CUSTOM_LINE_BREAK"})(AIe=Rl.LexerDefinitionErrorType||(Rl.LexerDefinitionErrorType={}));var jh={deferDefinitionErrorsHandling:!1,positionTracking:"full",lineTerminatorsPattern:/\n|\r\n?/g,lineTerminatorCharacters:[` +`,"\r"],ensureOptimizations:!1,safeMode:!1,errorMessageProvider:oIe.defaultLexerErrorProvider,traceInitPerf:!1,skipValidations:!1};Object.freeze(jh);var lIe=function(){function t(e,r){var i=this;if(r===void 0&&(r=jh),this.lexerDefinition=e,this.lexerDefinitionErrors=[],this.lexerDefinitionWarning=[],this.patternIdxToConfig={},this.charCodeToPatternIdxToConfig={},this.modes=[],this.emptyGroups={},this.config=void 0,this.trackStartLines=!0,this.trackEndLines=!0,this.hasCustom=!1,this.canModeBeOptimized={},typeof r=="boolean")throw Error(`The second argument to the Lexer constructor is now an ILexerConfig Object. +a boolean 2nd argument is no longer supported`);this.config=(0,Vt.merge)(jh,r);var n=this.config.traceInitPerf;n===!0?(this.traceInitMaxIdent=Infinity,this.traceInitPerf=!0):typeof n=="number"&&(this.traceInitMaxIdent=n,this.traceInitPerf=!0),this.traceInitIndent=-1,this.TRACE_INIT("Lexer Constructor",function(){var s,o=!0;i.TRACE_INIT("Lexer Config handling",function(){if(i.config.lineTerminatorsPattern===jh.lineTerminatorsPattern)i.config.lineTerminatorsPattern=Ps.LineTerminatorOptimizedTester;else if(i.config.lineTerminatorCharacters===jh.lineTerminatorCharacters)throw Error(`Error: Missing property on the Lexer config. + For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#MISSING_LINE_TERM_CHARS`);if(r.safeMode&&r.ensureOptimizations)throw Error('"safeMode" and "ensureOptimizations" flags are mutually exclusive.');i.trackStartLines=/full|onlyStart/i.test(i.config.positionTracking),i.trackEndLines=/full/i.test(i.config.positionTracking),(0,Vt.isArray)(e)?(s={modes:{}},s.modes[Ps.DEFAULT_MODE]=(0,Vt.cloneArr)(e),s[Ps.DEFAULT_MODE]=Ps.DEFAULT_MODE):(o=!1,s=(0,Vt.cloneObj)(e))}),i.config.skipValidations===!1&&(i.TRACE_INIT("performRuntimeChecks",function(){i.lexerDefinitionErrors=i.lexerDefinitionErrors.concat((0,Ps.performRuntimeChecks)(s,i.trackStartLines,i.config.lineTerminatorCharacters))}),i.TRACE_INIT("performWarningRuntimeChecks",function(){i.lexerDefinitionWarning=i.lexerDefinitionWarning.concat((0,Ps.performWarningRuntimeChecks)(s,i.trackStartLines,i.config.lineTerminatorCharacters))})),s.modes=s.modes?s.modes:{},(0,Vt.forEach)(s.modes,function(u,g){s.modes[g]=(0,Vt.reject)(u,function(f){return(0,Vt.isUndefined)(f)})});var a=(0,Vt.keys)(s.modes);if((0,Vt.forEach)(s.modes,function(u,g){i.TRACE_INIT("Mode: <"+g+"> processing",function(){if(i.modes.push(g),i.config.skipValidations===!1&&i.TRACE_INIT("validatePatterns",function(){i.lexerDefinitionErrors=i.lexerDefinitionErrors.concat((0,Ps.validatePatterns)(u,a))}),(0,Vt.isEmpty)(i.lexerDefinitionErrors)){(0,sIe.augmentTokenTypes)(u);var f;i.TRACE_INIT("analyzeTokenTypes",function(){f=(0,Ps.analyzeTokenTypes)(u,{lineTerminatorCharacters:i.config.lineTerminatorCharacters,positionTracking:r.positionTracking,ensureOptimizations:r.ensureOptimizations,safeMode:r.safeMode,tracer:i.TRACE_INIT.bind(i)})}),i.patternIdxToConfig[g]=f.patternIdxToConfig,i.charCodeToPatternIdxToConfig[g]=f.charCodeToPatternIdxToConfig,i.emptyGroups=(0,Vt.merge)(i.emptyGroups,f.emptyGroups),i.hasCustom=f.hasCustom||i.hasCustom,i.canModeBeOptimized[g]=f.canBeOptimized}})}),i.defaultMode=s.defaultMode,!(0,Vt.isEmpty)(i.lexerDefinitionErrors)&&!i.config.deferDefinitionErrorsHandling){var l=(0,Vt.map)(i.lexerDefinitionErrors,function(u){return u.message}),c=l.join(`----------------------- +`);throw new Error(`Errors detected in definition of Lexer: +`+c)}(0,Vt.forEach)(i.lexerDefinitionWarning,function(u){(0,Vt.PRINT_WARNING)(u.message)}),i.TRACE_INIT("Choosing sub-methods implementations",function(){if(Ps.SUPPORT_STICKY?(i.chopInput=Vt.IDENTITY,i.match=i.matchWithTest):(i.updateLastIndex=Vt.NOOP,i.match=i.matchWithExec),o&&(i.handleModes=Vt.NOOP),i.trackStartLines===!1&&(i.computeNewColumn=Vt.IDENTITY),i.trackEndLines===!1&&(i.updateTokenEndLineColumnLocation=Vt.NOOP),/full/i.test(i.config.positionTracking))i.createTokenInstance=i.createFullToken;else if(/onlyStart/i.test(i.config.positionTracking))i.createTokenInstance=i.createStartOnlyToken;else if(/onlyOffset/i.test(i.config.positionTracking))i.createTokenInstance=i.createOffsetOnlyToken;else throw Error('Invalid config option: "'+i.config.positionTracking+'"');i.hasCustom?(i.addToken=i.addTokenUsingPush,i.handlePayload=i.handlePayloadWithCustom):(i.addToken=i.addTokenUsingMemberAccess,i.handlePayload=i.handlePayloadNoCustom)}),i.TRACE_INIT("Failed Optimization Warnings",function(){var u=(0,Vt.reduce)(i.canModeBeOptimized,function(g,f,h){return f===!1&&g.push(h),g},[]);if(r.ensureOptimizations&&!(0,Vt.isEmpty)(u))throw Error("Lexer Modes: < "+u.join(", ")+` > cannot be optimized. + Disable the "ensureOptimizations" lexer config flag to silently ignore this and run the lexer in an un-optimized mode. + Or inspect the console log for details on how to resolve these issues.`)}),i.TRACE_INIT("clearRegExpParserCache",function(){(0,aIe.clearRegExpParserCache)()}),i.TRACE_INIT("toFastProperties",function(){(0,Vt.toFastProperties)(i)})})}return t.prototype.tokenize=function(e,r){if(r===void 0&&(r=this.defaultMode),!(0,Vt.isEmpty)(this.lexerDefinitionErrors)){var i=(0,Vt.map)(this.lexerDefinitionErrors,function(o){return o.message}),n=i.join(`----------------------- +`);throw new Error(`Unable to Tokenize because Errors detected in definition of Lexer: +`+n)}var s=this.tokenizeInternal(e,r);return s},t.prototype.tokenizeInternal=function(e,r){var i=this,n,s,o,a,l,c,u,g,f,h,p,d,m,I,B,b,R=e,H=R.length,L=0,K=0,J=this.hasCustom?0:Math.floor(e.length/10),ne=new Array(J),q=[],A=this.trackStartLines?1:void 0,V=this.trackStartLines?1:void 0,W=(0,Ps.cloneEmptyGroups)(this.emptyGroups),X=this.trackStartLines,F=this.config.lineTerminatorsPattern,D=0,he=[],pe=[],Ne=[],Pe=[];Object.freeze(Pe);var qe=void 0;function re(){return he}function se(wr){var Ui=(0,Ps.charCodeToOptimizedIndex)(wr),ws=pe[Ui];return ws===void 0?Pe:ws}var be=function(wr){if(Ne.length===1&&wr.tokenType.PUSH_MODE===void 0){var Ui=i.config.errorMessageProvider.buildUnableToPopLexerModeMessage(wr);q.push({offset:wr.startOffset,line:wr.startLine!==void 0?wr.startLine:void 0,column:wr.startColumn!==void 0?wr.startColumn:void 0,length:wr.image.length,message:Ui})}else{Ne.pop();var ws=(0,Vt.last)(Ne);he=i.patternIdxToConfig[ws],pe=i.charCodeToPatternIdxToConfig[ws],D=he.length;var Tf=i.canModeBeOptimized[ws]&&i.config.safeMode===!1;pe&&Tf?qe=se:qe=re}};function ae(wr){Ne.push(wr),pe=this.charCodeToPatternIdxToConfig[wr],he=this.patternIdxToConfig[wr],D=he.length,D=he.length;var Ui=this.canModeBeOptimized[wr]&&this.config.safeMode===!1;pe&&Ui?qe=se:qe=re}ae.call(this,r);for(var Ae;Lc.length){c=a,u=g,Ae=Oe;break}}}break}}if(c!==null){if(f=c.length,h=Ae.group,h!==void 0&&(p=Ae.tokenTypeIdx,d=this.createTokenInstance(c,L,p,Ae.tokenType,A,V,f),this.handlePayload(d,u),h===!1?K=this.addToken(ne,K,d):W[h].push(d)),e=this.chopInput(e,f),L=L+f,V=this.computeNewColumn(V,f),X===!0&&Ae.canLineTerminator===!0){var dt=0,ri=void 0,ii=void 0;F.lastIndex=0;do ri=F.test(c),ri===!0&&(ii=F.lastIndex-1,dt++);while(ri===!0);dt!==0&&(A=A+dt,V=f-ii,this.updateTokenEndLineColumnLocation(d,h,ii,dt,A,V,f))}this.handleModes(Ae,be,ae,d)}else{for(var an=L,yr=A,Ki=V,Qi=!1;!Qi&&L <"+e+">");var n=(0,Vt.timer)(r),s=n.time,o=n.value,a=s>10?console.warn:console.log;return this.traceInitIndent time: "+s+"ms"),this.traceInitIndent--,o}else return r()},t.SKIPPED="This marks a skipped Token pattern, this means each token identified by it willbe consumed and then thrown into oblivion, this can be used to for example to completely ignore whitespace.",t.NA=/NOT_APPLICABLE/,t}();Rl.Lexer=lIe});var nA=E(Ci=>{"use strict";Object.defineProperty(Ci,"__esModule",{value:!0});Ci.tokenMatcher=Ci.createTokenInstance=Ci.EOF=Ci.createToken=Ci.hasTokenLabel=Ci.tokenName=Ci.tokenLabel=void 0;var Ds=Dt(),cIe=Gh(),Xv=yu();function uIe(t){return IG(t)?t.LABEL:t.name}Ci.tokenLabel=uIe;function gIe(t){return t.name}Ci.tokenName=gIe;function IG(t){return(0,Ds.isString)(t.LABEL)&&t.LABEL!==""}Ci.hasTokenLabel=IG;var fIe="parent",yG="categories",wG="label",BG="group",QG="push_mode",bG="pop_mode",vG="longer_alt",SG="line_breaks",xG="start_chars_hint";function kG(t){return hIe(t)}Ci.createToken=kG;function hIe(t){var e=t.pattern,r={};if(r.name=t.name,(0,Ds.isUndefined)(e)||(r.PATTERN=e),(0,Ds.has)(t,fIe))throw`The parent property is no longer supported. +See: https://github.com/chevrotain/chevrotain/issues/564#issuecomment-349062346 for details.`;return(0,Ds.has)(t,yG)&&(r.CATEGORIES=t[yG]),(0,Xv.augmentTokenTypes)([r]),(0,Ds.has)(t,wG)&&(r.LABEL=t[wG]),(0,Ds.has)(t,BG)&&(r.GROUP=t[BG]),(0,Ds.has)(t,bG)&&(r.POP_MODE=t[bG]),(0,Ds.has)(t,QG)&&(r.PUSH_MODE=t[QG]),(0,Ds.has)(t,vG)&&(r.LONGER_ALT=t[vG]),(0,Ds.has)(t,SG)&&(r.LINE_BREAKS=t[SG]),(0,Ds.has)(t,xG)&&(r.START_CHARS_HINT=t[xG]),r}Ci.EOF=kG({name:"EOF",pattern:cIe.Lexer.NA});(0,Xv.augmentTokenTypes)([Ci.EOF]);function pIe(t,e,r,i,n,s,o,a){return{image:e,startOffset:r,endOffset:i,startLine:n,endLine:s,startColumn:o,endColumn:a,tokenTypeIdx:t.tokenTypeIdx,tokenType:t}}Ci.createTokenInstance=pIe;function dIe(t,e){return(0,Xv.tokenStructuredMatcher)(t,e)}Ci.tokenMatcher=dIe});var hn=E(Tt=>{"use strict";var oa=Tt&&Tt.__extends||function(){var t=function(e,r){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},t(e,r)};return function(e,r){if(typeof r!="function"&&r!==null)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");t(e,r);function i(){this.constructor=e}e.prototype=r===null?Object.create(r):(i.prototype=r.prototype,new i)}}();Object.defineProperty(Tt,"__esModule",{value:!0});Tt.serializeProduction=Tt.serializeGrammar=Tt.Terminal=Tt.Alternation=Tt.RepetitionWithSeparator=Tt.Repetition=Tt.RepetitionMandatoryWithSeparator=Tt.RepetitionMandatory=Tt.Option=Tt.Alternative=Tt.Rule=Tt.NonTerminal=Tt.AbstractProduction=void 0;var $t=Dt(),CIe=nA(),Ao=function(){function t(e){this._definition=e}return Object.defineProperty(t.prototype,"definition",{get:function(){return this._definition},set:function(e){this._definition=e},enumerable:!1,configurable:!0}),t.prototype.accept=function(e){e.visit(this),(0,$t.forEach)(this.definition,function(r){r.accept(e)})},t}();Tt.AbstractProduction=Ao;var PG=function(t){oa(e,t);function e(r){var i=t.call(this,[])||this;return i.idx=1,(0,$t.assign)(i,(0,$t.pick)(r,function(n){return n!==void 0})),i}return Object.defineProperty(e.prototype,"definition",{get:function(){return this.referencedRule!==void 0?this.referencedRule.definition:[]},set:function(r){},enumerable:!1,configurable:!0}),e.prototype.accept=function(r){r.visit(this)},e}(Ao);Tt.NonTerminal=PG;var DG=function(t){oa(e,t);function e(r){var i=t.call(this,r.definition)||this;return i.orgText="",(0,$t.assign)(i,(0,$t.pick)(r,function(n){return n!==void 0})),i}return e}(Ao);Tt.Rule=DG;var RG=function(t){oa(e,t);function e(r){var i=t.call(this,r.definition)||this;return i.ignoreAmbiguities=!1,(0,$t.assign)(i,(0,$t.pick)(r,function(n){return n!==void 0})),i}return e}(Ao);Tt.Alternative=RG;var FG=function(t){oa(e,t);function e(r){var i=t.call(this,r.definition)||this;return i.idx=1,(0,$t.assign)(i,(0,$t.pick)(r,function(n){return n!==void 0})),i}return e}(Ao);Tt.Option=FG;var NG=function(t){oa(e,t);function e(r){var i=t.call(this,r.definition)||this;return i.idx=1,(0,$t.assign)(i,(0,$t.pick)(r,function(n){return n!==void 0})),i}return e}(Ao);Tt.RepetitionMandatory=NG;var LG=function(t){oa(e,t);function e(r){var i=t.call(this,r.definition)||this;return i.idx=1,(0,$t.assign)(i,(0,$t.pick)(r,function(n){return n!==void 0})),i}return e}(Ao);Tt.RepetitionMandatoryWithSeparator=LG;var TG=function(t){oa(e,t);function e(r){var i=t.call(this,r.definition)||this;return i.idx=1,(0,$t.assign)(i,(0,$t.pick)(r,function(n){return n!==void 0})),i}return e}(Ao);Tt.Repetition=TG;var MG=function(t){oa(e,t);function e(r){var i=t.call(this,r.definition)||this;return i.idx=1,(0,$t.assign)(i,(0,$t.pick)(r,function(n){return n!==void 0})),i}return e}(Ao);Tt.RepetitionWithSeparator=MG;var OG=function(t){oa(e,t);function e(r){var i=t.call(this,r.definition)||this;return i.idx=1,i.ignoreAmbiguities=!1,i.hasPredicates=!1,(0,$t.assign)(i,(0,$t.pick)(r,function(n){return n!==void 0})),i}return Object.defineProperty(e.prototype,"definition",{get:function(){return this._definition},set:function(r){this._definition=r},enumerable:!1,configurable:!0}),e}(Ao);Tt.Alternation=OG;var CI=function(){function t(e){this.idx=1,(0,$t.assign)(this,(0,$t.pick)(e,function(r){return r!==void 0}))}return t.prototype.accept=function(e){e.visit(this)},t}();Tt.Terminal=CI;function mIe(t){return(0,$t.map)(t,Yh)}Tt.serializeGrammar=mIe;function Yh(t){function e(s){return(0,$t.map)(s,Yh)}if(t instanceof PG){var r={type:"NonTerminal",name:t.nonTerminalName,idx:t.idx};return(0,$t.isString)(t.label)&&(r.label=t.label),r}else{if(t instanceof RG)return{type:"Alternative",definition:e(t.definition)};if(t instanceof FG)return{type:"Option",idx:t.idx,definition:e(t.definition)};if(t instanceof NG)return{type:"RepetitionMandatory",idx:t.idx,definition:e(t.definition)};if(t instanceof LG)return{type:"RepetitionMandatoryWithSeparator",idx:t.idx,separator:Yh(new CI({terminalType:t.separator})),definition:e(t.definition)};if(t instanceof MG)return{type:"RepetitionWithSeparator",idx:t.idx,separator:Yh(new CI({terminalType:t.separator})),definition:e(t.definition)};if(t instanceof TG)return{type:"Repetition",idx:t.idx,definition:e(t.definition)};if(t instanceof OG)return{type:"Alternation",idx:t.idx,definition:e(t.definition)};if(t instanceof CI){var i={type:"Terminal",name:t.terminalType.name,label:(0,CIe.tokenLabel)(t.terminalType),idx:t.idx};(0,$t.isString)(t.label)&&(i.terminalLabel=t.label);var n=t.terminalType.PATTERN;return t.terminalType.PATTERN&&(i.pattern=(0,$t.isRegExp)(n)?n.source:n),i}else{if(t instanceof DG)return{type:"Rule",name:t.name,orgText:t.orgText,definition:e(t.definition)};throw Error("non exhaustive match")}}}Tt.serializeProduction=Yh});var EI=E(mI=>{"use strict";Object.defineProperty(mI,"__esModule",{value:!0});mI.RestWalker=void 0;var Zv=Dt(),pn=hn(),EIe=function(){function t(){}return t.prototype.walk=function(e,r){var i=this;r===void 0&&(r=[]),(0,Zv.forEach)(e.definition,function(n,s){var o=(0,Zv.drop)(e.definition,s+1);if(n instanceof pn.NonTerminal)i.walkProdRef(n,o,r);else if(n instanceof pn.Terminal)i.walkTerminal(n,o,r);else if(n instanceof pn.Alternative)i.walkFlat(n,o,r);else if(n instanceof pn.Option)i.walkOption(n,o,r);else if(n instanceof pn.RepetitionMandatory)i.walkAtLeastOne(n,o,r);else if(n instanceof pn.RepetitionMandatoryWithSeparator)i.walkAtLeastOneSep(n,o,r);else if(n instanceof pn.RepetitionWithSeparator)i.walkManySep(n,o,r);else if(n instanceof pn.Repetition)i.walkMany(n,o,r);else if(n instanceof pn.Alternation)i.walkOr(n,o,r);else throw Error("non exhaustive match")})},t.prototype.walkTerminal=function(e,r,i){},t.prototype.walkProdRef=function(e,r,i){},t.prototype.walkFlat=function(e,r,i){var n=r.concat(i);this.walk(e,n)},t.prototype.walkOption=function(e,r,i){var n=r.concat(i);this.walk(e,n)},t.prototype.walkAtLeastOne=function(e,r,i){var n=[new pn.Option({definition:e.definition})].concat(r,i);this.walk(e,n)},t.prototype.walkAtLeastOneSep=function(e,r,i){var n=KG(e,r,i);this.walk(e,n)},t.prototype.walkMany=function(e,r,i){var n=[new pn.Option({definition:e.definition})].concat(r,i);this.walk(e,n)},t.prototype.walkManySep=function(e,r,i){var n=KG(e,r,i);this.walk(e,n)},t.prototype.walkOr=function(e,r,i){var n=this,s=r.concat(i);(0,Zv.forEach)(e.definition,function(o){var a=new pn.Alternative({definition:[o]});n.walk(a,s)})},t}();mI.RestWalker=EIe;function KG(t,e,r){var i=[new pn.Option({definition:[new pn.Terminal({terminalType:t.separator})].concat(t.definition)})],n=i.concat(e,r);return n}});var wu=E(II=>{"use strict";Object.defineProperty(II,"__esModule",{value:!0});II.GAstVisitor=void 0;var lo=hn(),IIe=function(){function t(){}return t.prototype.visit=function(e){var r=e;switch(r.constructor){case lo.NonTerminal:return this.visitNonTerminal(r);case lo.Alternative:return this.visitAlternative(r);case lo.Option:return this.visitOption(r);case lo.RepetitionMandatory:return this.visitRepetitionMandatory(r);case lo.RepetitionMandatoryWithSeparator:return this.visitRepetitionMandatoryWithSeparator(r);case lo.RepetitionWithSeparator:return this.visitRepetitionWithSeparator(r);case lo.Repetition:return this.visitRepetition(r);case lo.Alternation:return this.visitAlternation(r);case lo.Terminal:return this.visitTerminal(r);case lo.Rule:return this.visitRule(r);default:throw Error("non exhaustive match")}},t.prototype.visitNonTerminal=function(e){},t.prototype.visitAlternative=function(e){},t.prototype.visitOption=function(e){},t.prototype.visitRepetition=function(e){},t.prototype.visitRepetitionMandatory=function(e){},t.prototype.visitRepetitionMandatoryWithSeparator=function(e){},t.prototype.visitRepetitionWithSeparator=function(e){},t.prototype.visitAlternation=function(e){},t.prototype.visitTerminal=function(e){},t.prototype.visitRule=function(e){},t}();II.GAstVisitor=IIe});var Jh=E(Si=>{"use strict";var yIe=Si&&Si.__extends||function(){var t=function(e,r){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},t(e,r)};return function(e,r){if(typeof r!="function"&&r!==null)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");t(e,r);function i(){this.constructor=e}e.prototype=r===null?Object.create(r):(i.prototype=r.prototype,new i)}}();Object.defineProperty(Si,"__esModule",{value:!0});Si.collectMethods=Si.DslMethodsCollectorVisitor=Si.getProductionDslName=Si.isBranchingProd=Si.isOptionalProd=Si.isSequenceProd=void 0;var qh=Dt(),dr=hn(),wIe=wu();function BIe(t){return t instanceof dr.Alternative||t instanceof dr.Option||t instanceof dr.Repetition||t instanceof dr.RepetitionMandatory||t instanceof dr.RepetitionMandatoryWithSeparator||t instanceof dr.RepetitionWithSeparator||t instanceof dr.Terminal||t instanceof dr.Rule}Si.isSequenceProd=BIe;function $v(t,e){e===void 0&&(e=[]);var r=t instanceof dr.Option||t instanceof dr.Repetition||t instanceof dr.RepetitionWithSeparator;return r?!0:t instanceof dr.Alternation?(0,qh.some)(t.definition,function(i){return $v(i,e)}):t instanceof dr.NonTerminal&&(0,qh.contains)(e,t)?!1:t instanceof dr.AbstractProduction?(t instanceof dr.NonTerminal&&e.push(t),(0,qh.every)(t.definition,function(i){return $v(i,e)})):!1}Si.isOptionalProd=$v;function QIe(t){return t instanceof dr.Alternation}Si.isBranchingProd=QIe;function bIe(t){if(t instanceof dr.NonTerminal)return"SUBRULE";if(t instanceof dr.Option)return"OPTION";if(t instanceof dr.Alternation)return"OR";if(t instanceof dr.RepetitionMandatory)return"AT_LEAST_ONE";if(t instanceof dr.RepetitionMandatoryWithSeparator)return"AT_LEAST_ONE_SEP";if(t instanceof dr.RepetitionWithSeparator)return"MANY_SEP";if(t instanceof dr.Repetition)return"MANY";if(t instanceof dr.Terminal)return"CONSUME";throw Error("non exhaustive match")}Si.getProductionDslName=bIe;var UG=function(t){yIe(e,t);function e(){var r=t!==null&&t.apply(this,arguments)||this;return r.separator="-",r.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]},r}return e.prototype.reset=function(){this.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]}},e.prototype.visitTerminal=function(r){var i=r.terminalType.name+this.separator+"Terminal";(0,qh.has)(this.dslMethods,i)||(this.dslMethods[i]=[]),this.dslMethods[i].push(r)},e.prototype.visitNonTerminal=function(r){var i=r.nonTerminalName+this.separator+"Terminal";(0,qh.has)(this.dslMethods,i)||(this.dslMethods[i]=[]),this.dslMethods[i].push(r)},e.prototype.visitOption=function(r){this.dslMethods.option.push(r)},e.prototype.visitRepetitionWithSeparator=function(r){this.dslMethods.repetitionWithSeparator.push(r)},e.prototype.visitRepetitionMandatory=function(r){this.dslMethods.repetitionMandatory.push(r)},e.prototype.visitRepetitionMandatoryWithSeparator=function(r){this.dslMethods.repetitionMandatoryWithSeparator.push(r)},e.prototype.visitRepetition=function(r){this.dslMethods.repetition.push(r)},e.prototype.visitAlternation=function(r){this.dslMethods.alternation.push(r)},e}(wIe.GAstVisitor);Si.DslMethodsCollectorVisitor=UG;var yI=new UG;function vIe(t){yI.reset(),t.accept(yI);var e=yI.dslMethods;return yI.reset(),e}Si.collectMethods=vIe});var tS=E(co=>{"use strict";Object.defineProperty(co,"__esModule",{value:!0});co.firstForTerminal=co.firstForBranching=co.firstForSequence=co.first=void 0;var wI=Dt(),HG=hn(),eS=Jh();function BI(t){if(t instanceof HG.NonTerminal)return BI(t.referencedRule);if(t instanceof HG.Terminal)return YG(t);if((0,eS.isSequenceProd)(t))return GG(t);if((0,eS.isBranchingProd)(t))return jG(t);throw Error("non exhaustive match")}co.first=BI;function GG(t){for(var e=[],r=t.definition,i=0,n=r.length>i,s,o=!0;n&&o;)s=r[i],o=(0,eS.isOptionalProd)(s),e=e.concat(BI(s)),i=i+1,n=r.length>i;return(0,wI.uniq)(e)}co.firstForSequence=GG;function jG(t){var e=(0,wI.map)(t.definition,function(r){return BI(r)});return(0,wI.uniq)((0,wI.flatten)(e))}co.firstForBranching=jG;function YG(t){return[t.terminalType]}co.firstForTerminal=YG});var rS=E(QI=>{"use strict";Object.defineProperty(QI,"__esModule",{value:!0});QI.IN=void 0;QI.IN="_~IN~_"});var VG=E(es=>{"use strict";var SIe=es&&es.__extends||function(){var t=function(e,r){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},t(e,r)};return function(e,r){if(typeof r!="function"&&r!==null)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");t(e,r);function i(){this.constructor=e}e.prototype=r===null?Object.create(r):(i.prototype=r.prototype,new i)}}();Object.defineProperty(es,"__esModule",{value:!0});es.buildInProdFollowPrefix=es.buildBetweenProdsFollowPrefix=es.computeAllProdsFollows=es.ResyncFollowsWalker=void 0;var xIe=EI(),kIe=tS(),qG=Dt(),JG=rS(),PIe=hn(),zG=function(t){SIe(e,t);function e(r){var i=t.call(this)||this;return i.topProd=r,i.follows={},i}return e.prototype.startWalking=function(){return this.walk(this.topProd),this.follows},e.prototype.walkTerminal=function(r,i,n){},e.prototype.walkProdRef=function(r,i,n){var s=WG(r.referencedRule,r.idx)+this.topProd.name,o=i.concat(n),a=new PIe.Alternative({definition:o}),l=(0,kIe.first)(a);this.follows[s]=l},e}(xIe.RestWalker);es.ResyncFollowsWalker=zG;function DIe(t){var e={};return(0,qG.forEach)(t,function(r){var i=new zG(r).startWalking();(0,qG.assign)(e,i)}),e}es.computeAllProdsFollows=DIe;function WG(t,e){return t.name+e+JG.IN}es.buildBetweenProdsFollowPrefix=WG;function RIe(t){var e=t.terminalType.name;return e+t.idx+JG.IN}es.buildInProdFollowPrefix=RIe});var Wh=E(aa=>{"use strict";Object.defineProperty(aa,"__esModule",{value:!0});aa.defaultGrammarValidatorErrorProvider=aa.defaultGrammarResolverErrorProvider=aa.defaultParserErrorProvider=void 0;var Bu=nA(),FIe=Dt(),Rs=Dt(),iS=hn(),_G=Jh();aa.defaultParserErrorProvider={buildMismatchTokenMessage:function(t){var e=t.expected,r=t.actual,i=t.previous,n=t.ruleName,s=(0,Bu.hasTokenLabel)(e),o=s?"--> "+(0,Bu.tokenLabel)(e)+" <--":"token of type --> "+e.name+" <--",a="Expecting "+o+" but found --> '"+r.image+"' <--";return a},buildNotAllInputParsedMessage:function(t){var e=t.firstRedundant,r=t.ruleName;return"Redundant input, expecting EOF but found: "+e.image},buildNoViableAltMessage:function(t){var e=t.expectedPathsPerAlt,r=t.actual,i=t.previous,n=t.customUserDescription,s=t.ruleName,o="Expecting: ",a=(0,Rs.first)(r).image,l=` +but found: '`+a+"'";if(n)return o+n+l;var c=(0,Rs.reduce)(e,function(h,p){return h.concat(p)},[]),u=(0,Rs.map)(c,function(h){return"["+(0,Rs.map)(h,function(p){return(0,Bu.tokenLabel)(p)}).join(", ")+"]"}),g=(0,Rs.map)(u,function(h,p){return" "+(p+1)+". "+h}),f=`one of these possible Token sequences: +`+g.join(` +`);return o+f+l},buildEarlyExitMessage:function(t){var e=t.expectedIterationPaths,r=t.actual,i=t.customUserDescription,n=t.ruleName,s="Expecting: ",o=(0,Rs.first)(r).image,a=` +but found: '`+o+"'";if(i)return s+i+a;var l=(0,Rs.map)(e,function(u){return"["+(0,Rs.map)(u,function(g){return(0,Bu.tokenLabel)(g)}).join(",")+"]"}),c=`expecting at least one iteration which starts with one of these possible Token sequences:: + `+("<"+l.join(" ,")+">");return s+c+a}};Object.freeze(aa.defaultParserErrorProvider);aa.defaultGrammarResolverErrorProvider={buildRuleNotFoundError:function(t,e){var r="Invalid grammar, reference to a rule which is not defined: ->"+e.nonTerminalName+`<- +inside top level rule: ->`+t.name+"<-";return r}};aa.defaultGrammarValidatorErrorProvider={buildDuplicateFoundError:function(t,e){function r(u){return u instanceof iS.Terminal?u.terminalType.name:u instanceof iS.NonTerminal?u.nonTerminalName:""}var i=t.name,n=(0,Rs.first)(e),s=n.idx,o=(0,_G.getProductionDslName)(n),a=r(n),l=s>0,c="->"+o+(l?s:"")+"<- "+(a?"with argument: ->"+a+"<-":"")+` + appears more than once (`+e.length+" times) in the top level rule: ->"+i+`<-. + For further details see: https://chevrotain.io/docs/FAQ.html#NUMERICAL_SUFFIXES + `;return c=c.replace(/[ \t]+/g," "),c=c.replace(/\s\s+/g,` +`),c},buildNamespaceConflictError:function(t){var e=`Namespace conflict found in grammar. +`+("The grammar has both a Terminal(Token) and a Non-Terminal(Rule) named: <"+t.name+`>. +`)+`To resolve this make sure each Terminal and Non-Terminal names are unique +This is easy to accomplish by using the convention that Terminal names start with an uppercase letter +and Non-Terminal names start with a lower case letter.`;return e},buildAlternationPrefixAmbiguityError:function(t){var e=(0,Rs.map)(t.prefixPath,function(n){return(0,Bu.tokenLabel)(n)}).join(", "),r=t.alternation.idx===0?"":t.alternation.idx,i="Ambiguous alternatives: <"+t.ambiguityIndices.join(" ,")+`> due to common lookahead prefix +`+("in inside <"+t.topLevelRule.name+`> Rule, +`)+("<"+e+`> may appears as a prefix path in all these alternatives. +`)+`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#COMMON_PREFIX +For Further details.`;return i},buildAlternationAmbiguityError:function(t){var e=(0,Rs.map)(t.prefixPath,function(n){return(0,Bu.tokenLabel)(n)}).join(", "),r=t.alternation.idx===0?"":t.alternation.idx,i="Ambiguous Alternatives Detected: <"+t.ambiguityIndices.join(" ,")+"> in "+(" inside <"+t.topLevelRule.name+`> Rule, +`)+("<"+e+`> may appears as a prefix path in all these alternatives. +`);return i=i+`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES +For Further details.`,i},buildEmptyRepetitionError:function(t){var e=(0,_G.getProductionDslName)(t.repetition);t.repetition.idx!==0&&(e+=t.repetition.idx);var r="The repetition <"+e+"> within Rule <"+t.topLevelRule.name+`> can never consume any tokens. +This could lead to an infinite loop.`;return r},buildTokenNameError:function(t){return"deprecated"},buildEmptyAlternationError:function(t){var e="Ambiguous empty alternative: <"+(t.emptyChoiceIdx+1)+">"+(" in inside <"+t.topLevelRule.name+`> Rule. +`)+"Only the last alternative may be an empty alternative.";return e},buildTooManyAlternativesError:function(t){var e=`An Alternation cannot have more than 256 alternatives: +`+(" inside <"+t.topLevelRule.name+`> Rule. + has `+(t.alternation.definition.length+1)+" alternatives.");return e},buildLeftRecursionError:function(t){var e=t.topLevelRule.name,r=FIe.map(t.leftRecursionPath,function(s){return s.name}),i=e+" --> "+r.concat([e]).join(" --> "),n=`Left Recursion found in grammar. +`+("rule: <"+e+`> can be invoked from itself (directly or indirectly) +`)+(`without consuming any Tokens. The grammar path that causes this is: + `+i+` +`)+` To fix this refactor your grammar to remove the left recursion. +see: https://en.wikipedia.org/wiki/LL_parser#Left_Factoring.`;return n},buildInvalidRuleNameError:function(t){return"deprecated"},buildDuplicateRuleNameError:function(t){var e;t.topLevelRule instanceof iS.Rule?e=t.topLevelRule.name:e=t.topLevelRule;var r="Duplicate definition, rule: ->"+e+"<- is already defined in the grammar: ->"+t.grammarName+"<-";return r}}});var $G=E(sA=>{"use strict";var NIe=sA&&sA.__extends||function(){var t=function(e,r){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},t(e,r)};return function(e,r){if(typeof r!="function"&&r!==null)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");t(e,r);function i(){this.constructor=e}e.prototype=r===null?Object.create(r):(i.prototype=r.prototype,new i)}}();Object.defineProperty(sA,"__esModule",{value:!0});sA.GastRefResolverVisitor=sA.resolveGrammar=void 0;var LIe=Tn(),XG=Dt(),TIe=wu();function MIe(t,e){var r=new ZG(t,e);return r.resolveRefs(),r.errors}sA.resolveGrammar=MIe;var ZG=function(t){NIe(e,t);function e(r,i){var n=t.call(this)||this;return n.nameToTopRule=r,n.errMsgProvider=i,n.errors=[],n}return e.prototype.resolveRefs=function(){var r=this;(0,XG.forEach)((0,XG.values)(this.nameToTopRule),function(i){r.currTopLevel=i,i.accept(r)})},e.prototype.visitNonTerminal=function(r){var i=this.nameToTopRule[r.nonTerminalName];if(i)r.referencedRule=i;else{var n=this.errMsgProvider.buildRuleNotFoundError(this.currTopLevel,r);this.errors.push({message:n,type:LIe.ParserDefinitionErrorType.UNRESOLVED_SUBRULE_REF,ruleName:this.currTopLevel.name,unresolvedRefName:r.nonTerminalName})}},e}(TIe.GAstVisitor);sA.GastRefResolverVisitor=ZG});var Vh=E(Br=>{"use strict";var Fl=Br&&Br.__extends||function(){var t=function(e,r){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},t(e,r)};return function(e,r){if(typeof r!="function"&&r!==null)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");t(e,r);function i(){this.constructor=e}e.prototype=r===null?Object.create(r):(i.prototype=r.prototype,new i)}}();Object.defineProperty(Br,"__esModule",{value:!0});Br.nextPossibleTokensAfter=Br.possiblePathsFrom=Br.NextTerminalAfterAtLeastOneSepWalker=Br.NextTerminalAfterAtLeastOneWalker=Br.NextTerminalAfterManySepWalker=Br.NextTerminalAfterManyWalker=Br.AbstractNextTerminalAfterProductionWalker=Br.NextAfterTokenWalker=Br.AbstractNextPossibleTokensWalker=void 0;var ej=EI(),xt=Dt(),OIe=tS(),It=hn(),tj=function(t){Fl(e,t);function e(r,i){var n=t.call(this)||this;return n.topProd=r,n.path=i,n.possibleTokTypes=[],n.nextProductionName="",n.nextProductionOccurrence=0,n.found=!1,n.isAtEndOfPath=!1,n}return e.prototype.startWalking=function(){if(this.found=!1,this.path.ruleStack[0]!==this.topProd.name)throw Error("The path does not start with the walker's top Rule!");return this.ruleStack=(0,xt.cloneArr)(this.path.ruleStack).reverse(),this.occurrenceStack=(0,xt.cloneArr)(this.path.occurrenceStack).reverse(),this.ruleStack.pop(),this.occurrenceStack.pop(),this.updateExpectedNext(),this.walk(this.topProd),this.possibleTokTypes},e.prototype.walk=function(r,i){i===void 0&&(i=[]),this.found||t.prototype.walk.call(this,r,i)},e.prototype.walkProdRef=function(r,i,n){if(r.referencedRule.name===this.nextProductionName&&r.idx===this.nextProductionOccurrence){var s=i.concat(n);this.updateExpectedNext(),this.walk(r.referencedRule,s)}},e.prototype.updateExpectedNext=function(){(0,xt.isEmpty)(this.ruleStack)?(this.nextProductionName="",this.nextProductionOccurrence=0,this.isAtEndOfPath=!0):(this.nextProductionName=this.ruleStack.pop(),this.nextProductionOccurrence=this.occurrenceStack.pop())},e}(ej.RestWalker);Br.AbstractNextPossibleTokensWalker=tj;var KIe=function(t){Fl(e,t);function e(r,i){var n=t.call(this,r,i)||this;return n.path=i,n.nextTerminalName="",n.nextTerminalOccurrence=0,n.nextTerminalName=n.path.lastTok.name,n.nextTerminalOccurrence=n.path.lastTokOccurrence,n}return e.prototype.walkTerminal=function(r,i,n){if(this.isAtEndOfPath&&r.terminalType.name===this.nextTerminalName&&r.idx===this.nextTerminalOccurrence&&!this.found){var s=i.concat(n),o=new It.Alternative({definition:s});this.possibleTokTypes=(0,OIe.first)(o),this.found=!0}},e}(tj);Br.NextAfterTokenWalker=KIe;var zh=function(t){Fl(e,t);function e(r,i){var n=t.call(this)||this;return n.topRule=r,n.occurrence=i,n.result={token:void 0,occurrence:void 0,isEndOfRule:void 0},n}return e.prototype.startWalking=function(){return this.walk(this.topRule),this.result},e}(ej.RestWalker);Br.AbstractNextTerminalAfterProductionWalker=zh;var UIe=function(t){Fl(e,t);function e(){return t!==null&&t.apply(this,arguments)||this}return e.prototype.walkMany=function(r,i,n){if(r.idx===this.occurrence){var s=(0,xt.first)(i.concat(n));this.result.isEndOfRule=s===void 0,s instanceof It.Terminal&&(this.result.token=s.terminalType,this.result.occurrence=s.idx)}else t.prototype.walkMany.call(this,r,i,n)},e}(zh);Br.NextTerminalAfterManyWalker=UIe;var HIe=function(t){Fl(e,t);function e(){return t!==null&&t.apply(this,arguments)||this}return e.prototype.walkManySep=function(r,i,n){if(r.idx===this.occurrence){var s=(0,xt.first)(i.concat(n));this.result.isEndOfRule=s===void 0,s instanceof It.Terminal&&(this.result.token=s.terminalType,this.result.occurrence=s.idx)}else t.prototype.walkManySep.call(this,r,i,n)},e}(zh);Br.NextTerminalAfterManySepWalker=HIe;var GIe=function(t){Fl(e,t);function e(){return t!==null&&t.apply(this,arguments)||this}return e.prototype.walkAtLeastOne=function(r,i,n){if(r.idx===this.occurrence){var s=(0,xt.first)(i.concat(n));this.result.isEndOfRule=s===void 0,s instanceof It.Terminal&&(this.result.token=s.terminalType,this.result.occurrence=s.idx)}else t.prototype.walkAtLeastOne.call(this,r,i,n)},e}(zh);Br.NextTerminalAfterAtLeastOneWalker=GIe;var jIe=function(t){Fl(e,t);function e(){return t!==null&&t.apply(this,arguments)||this}return e.prototype.walkAtLeastOneSep=function(r,i,n){if(r.idx===this.occurrence){var s=(0,xt.first)(i.concat(n));this.result.isEndOfRule=s===void 0,s instanceof It.Terminal&&(this.result.token=s.terminalType,this.result.occurrence=s.idx)}else t.prototype.walkAtLeastOneSep.call(this,r,i,n)},e}(zh);Br.NextTerminalAfterAtLeastOneSepWalker=jIe;function rj(t,e,r){r===void 0&&(r=[]),r=(0,xt.cloneArr)(r);var i=[],n=0;function s(c){return c.concat((0,xt.drop)(t,n+1))}function o(c){var u=rj(s(c),e,r);return i.concat(u)}for(;r.length=0;W--){var X=I.definition[W],F={idx:p,def:X.definition.concat((0,xt.drop)(h)),ruleStack:d,occurrenceStack:m};g.push(F),g.push(o)}else if(I instanceof It.Alternative)g.push({idx:p,def:I.definition.concat((0,xt.drop)(h)),ruleStack:d,occurrenceStack:m});else if(I instanceof It.Rule)g.push(YIe(I,p,d,m));else throw Error("non exhaustive match")}}return u}Br.nextPossibleTokensAfter=qIe;function YIe(t,e,r,i){var n=(0,xt.cloneArr)(r);n.push(t.name);var s=(0,xt.cloneArr)(i);return s.push(1),{idx:e,def:t.definition,ruleStack:n,occurrenceStack:s}}});var _h=E(Gt=>{"use strict";var ij=Gt&&Gt.__extends||function(){var t=function(e,r){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},t(e,r)};return function(e,r){if(typeof r!="function"&&r!==null)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");t(e,r);function i(){this.constructor=e}e.prototype=r===null?Object.create(r):(i.prototype=r.prototype,new i)}}();Object.defineProperty(Gt,"__esModule",{value:!0});Gt.areTokenCategoriesNotUsed=Gt.isStrictPrefixOfPath=Gt.containsPath=Gt.getLookaheadPathsForOptionalProd=Gt.getLookaheadPathsForOr=Gt.lookAheadSequenceFromAlternatives=Gt.buildSingleAlternativeLookaheadFunction=Gt.buildAlternativesLookAheadFunc=Gt.buildLookaheadFuncForOptionalProd=Gt.buildLookaheadFuncForOr=Gt.getProdType=Gt.PROD_TYPE=void 0;var _t=Dt(),nj=Vh(),JIe=EI(),bI=yu(),oA=hn(),WIe=wu(),zr;(function(t){t[t.OPTION=0]="OPTION",t[t.REPETITION=1]="REPETITION",t[t.REPETITION_MANDATORY=2]="REPETITION_MANDATORY",t[t.REPETITION_MANDATORY_WITH_SEPARATOR=3]="REPETITION_MANDATORY_WITH_SEPARATOR",t[t.REPETITION_WITH_SEPARATOR=4]="REPETITION_WITH_SEPARATOR",t[t.ALTERNATION=5]="ALTERNATION"})(zr=Gt.PROD_TYPE||(Gt.PROD_TYPE={}));function zIe(t){if(t instanceof oA.Option)return zr.OPTION;if(t instanceof oA.Repetition)return zr.REPETITION;if(t instanceof oA.RepetitionMandatory)return zr.REPETITION_MANDATORY;if(t instanceof oA.RepetitionMandatoryWithSeparator)return zr.REPETITION_MANDATORY_WITH_SEPARATOR;if(t instanceof oA.RepetitionWithSeparator)return zr.REPETITION_WITH_SEPARATOR;if(t instanceof oA.Alternation)return zr.ALTERNATION;throw Error("non exhaustive match")}Gt.getProdType=zIe;function VIe(t,e,r,i,n,s){var o=sj(t,e,r),a=nS(o)?bI.tokenStructuredMatcherNoCategories:bI.tokenStructuredMatcher;return s(o,i,a,n)}Gt.buildLookaheadFuncForOr=VIe;function _Ie(t,e,r,i,n,s){var o=oj(t,e,n,r),a=nS(o)?bI.tokenStructuredMatcherNoCategories:bI.tokenStructuredMatcher;return s(o[0],a,i)}Gt.buildLookaheadFuncForOptionalProd=_Ie;function XIe(t,e,r,i){var n=t.length,s=(0,_t.every)(t,function(l){return(0,_t.every)(l,function(c){return c.length===1})});if(e)return function(l){for(var c=(0,_t.map)(l,function(b){return b.GATE}),u=0;u{"use strict";var aS=Mt&&Mt.__extends||function(){var t=function(e,r){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},t(e,r)};return function(e,r){if(typeof r!="function"&&r!==null)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");t(e,r);function i(){this.constructor=e}e.prototype=r===null?Object.create(r):(i.prototype=r.prototype,new i)}}();Object.defineProperty(Mt,"__esModule",{value:!0});Mt.checkPrefixAlternativesAmbiguities=Mt.validateSomeNonEmptyLookaheadPath=Mt.validateTooManyAlts=Mt.RepetionCollector=Mt.validateAmbiguousAlternationAlternatives=Mt.validateEmptyOrAlternative=Mt.getFirstNoneTerminal=Mt.validateNoLeftRecursion=Mt.validateRuleIsOverridden=Mt.validateRuleDoesNotAlreadyExist=Mt.OccurrenceValidationCollector=Mt.identifyProductionForDuplicates=Mt.validateGrammar=void 0;var jt=Dt(),Cr=Dt(),uo=Tn(),AS=Jh(),Qu=_h(),rye=Vh(),Fs=hn(),lS=wu();function sye(t,e,r,i,n){var s=jt.map(t,function(h){return iye(h,i)}),o=jt.map(t,function(h){return cS(h,h,i)}),a=[],l=[],c=[];(0,Cr.every)(o,Cr.isEmpty)&&(a=(0,Cr.map)(t,function(h){return uj(h,i)}),l=(0,Cr.map)(t,function(h){return gj(h,e,i)}),c=hj(t,e,i));var u=nye(t,r,i),g=(0,Cr.map)(t,function(h){return fj(h,i)}),f=(0,Cr.map)(t,function(h){return cj(h,t,n,i)});return jt.flatten(s.concat(c,o,a,l,u,g,f))}Mt.validateGrammar=sye;function iye(t,e){var r=new Cj;t.accept(r);var i=r.allProductions,n=jt.groupBy(i,pj),s=jt.pick(n,function(a){return a.length>1}),o=jt.map(jt.values(s),function(a){var l=jt.first(a),c=e.buildDuplicateFoundError(t,a),u=(0,AS.getProductionDslName)(l),g={message:c,type:uo.ParserDefinitionErrorType.DUPLICATE_PRODUCTIONS,ruleName:t.name,dslName:u,occurrence:l.idx},f=dj(l);return f&&(g.parameter=f),g});return o}function pj(t){return(0,AS.getProductionDslName)(t)+"_#_"+t.idx+"_#_"+dj(t)}Mt.identifyProductionForDuplicates=pj;function dj(t){return t instanceof Fs.Terminal?t.terminalType.name:t instanceof Fs.NonTerminal?t.nonTerminalName:""}var Cj=function(t){aS(e,t);function e(){var r=t!==null&&t.apply(this,arguments)||this;return r.allProductions=[],r}return e.prototype.visitNonTerminal=function(r){this.allProductions.push(r)},e.prototype.visitOption=function(r){this.allProductions.push(r)},e.prototype.visitRepetitionWithSeparator=function(r){this.allProductions.push(r)},e.prototype.visitRepetitionMandatory=function(r){this.allProductions.push(r)},e.prototype.visitRepetitionMandatoryWithSeparator=function(r){this.allProductions.push(r)},e.prototype.visitRepetition=function(r){this.allProductions.push(r)},e.prototype.visitAlternation=function(r){this.allProductions.push(r)},e.prototype.visitTerminal=function(r){this.allProductions.push(r)},e}(lS.GAstVisitor);Mt.OccurrenceValidationCollector=Cj;function cj(t,e,r,i){var n=[],s=(0,Cr.reduce)(e,function(a,l){return l.name===t.name?a+1:a},0);if(s>1){var o=i.buildDuplicateRuleNameError({topLevelRule:t,grammarName:r});n.push({message:o,type:uo.ParserDefinitionErrorType.DUPLICATE_RULE_NAME,ruleName:t.name})}return n}Mt.validateRuleDoesNotAlreadyExist=cj;function oye(t,e,r){var i=[],n;return jt.contains(e,t)||(n="Invalid rule override, rule: ->"+t+"<- cannot be overridden in the grammar: ->"+r+"<-as it is not defined in any of the super grammars ",i.push({message:n,type:uo.ParserDefinitionErrorType.INVALID_RULE_OVERRIDE,ruleName:t})),i}Mt.validateRuleIsOverridden=oye;function cS(t,e,r,i){i===void 0&&(i=[]);var n=[],s=Xh(e.definition);if(jt.isEmpty(s))return[];var o=t.name,a=jt.contains(s,t);a&&n.push({message:r.buildLeftRecursionError({topLevelRule:t,leftRecursionPath:i}),type:uo.ParserDefinitionErrorType.LEFT_RECURSION,ruleName:o});var l=jt.difference(s,i.concat([t])),c=jt.map(l,function(u){var g=jt.cloneArr(i);return g.push(u),cS(t,u,r,g)});return n.concat(jt.flatten(c))}Mt.validateNoLeftRecursion=cS;function Xh(t){var e=[];if(jt.isEmpty(t))return e;var r=jt.first(t);if(r instanceof Fs.NonTerminal)e.push(r.referencedRule);else if(r instanceof Fs.Alternative||r instanceof Fs.Option||r instanceof Fs.RepetitionMandatory||r instanceof Fs.RepetitionMandatoryWithSeparator||r instanceof Fs.RepetitionWithSeparator||r instanceof Fs.Repetition)e=e.concat(Xh(r.definition));else if(r instanceof Fs.Alternation)e=jt.flatten(jt.map(r.definition,function(o){return Xh(o.definition)}));else if(!(r instanceof Fs.Terminal))throw Error("non exhaustive match");var i=(0,AS.isOptionalProd)(r),n=t.length>1;if(i&&n){var s=jt.drop(t);return e.concat(Xh(s))}else return e}Mt.getFirstNoneTerminal=Xh;var uS=function(t){aS(e,t);function e(){var r=t!==null&&t.apply(this,arguments)||this;return r.alternations=[],r}return e.prototype.visitAlternation=function(r){this.alternations.push(r)},e}(lS.GAstVisitor);function uj(t,e){var r=new uS;t.accept(r);var i=r.alternations,n=jt.reduce(i,function(s,o){var a=jt.dropRight(o.definition),l=jt.map(a,function(c,u){var g=(0,rye.nextPossibleTokensAfter)([c],[],null,1);return jt.isEmpty(g)?{message:e.buildEmptyAlternationError({topLevelRule:t,alternation:o,emptyChoiceIdx:u}),type:uo.ParserDefinitionErrorType.NONE_LAST_EMPTY_ALT,ruleName:t.name,occurrence:o.idx,alternative:u+1}:null});return s.concat(jt.compact(l))},[]);return n}Mt.validateEmptyOrAlternative=uj;function gj(t,e,r){var i=new uS;t.accept(i);var n=i.alternations;n=(0,Cr.reject)(n,function(o){return o.ignoreAmbiguities===!0});var s=jt.reduce(n,function(o,a){var l=a.idx,c=a.maxLookahead||e,u=(0,Qu.getLookaheadPathsForOr)(l,t,c,a),g=aye(u,a,t,r),f=mj(u,a,t,r);return o.concat(g,f)},[]);return s}Mt.validateAmbiguousAlternationAlternatives=gj;var Ej=function(t){aS(e,t);function e(){var r=t!==null&&t.apply(this,arguments)||this;return r.allProductions=[],r}return e.prototype.visitRepetitionWithSeparator=function(r){this.allProductions.push(r)},e.prototype.visitRepetitionMandatory=function(r){this.allProductions.push(r)},e.prototype.visitRepetitionMandatoryWithSeparator=function(r){this.allProductions.push(r)},e.prototype.visitRepetition=function(r){this.allProductions.push(r)},e}(lS.GAstVisitor);Mt.RepetionCollector=Ej;function fj(t,e){var r=new uS;t.accept(r);var i=r.alternations,n=jt.reduce(i,function(s,o){return o.definition.length>255&&s.push({message:e.buildTooManyAlternativesError({topLevelRule:t,alternation:o}),type:uo.ParserDefinitionErrorType.TOO_MANY_ALTS,ruleName:t.name,occurrence:o.idx}),s},[]);return n}Mt.validateTooManyAlts=fj;function hj(t,e,r){var i=[];return(0,Cr.forEach)(t,function(n){var s=new Ej;n.accept(s);var o=s.allProductions;(0,Cr.forEach)(o,function(a){var l=(0,Qu.getProdType)(a),c=a.maxLookahead||e,u=a.idx,g=(0,Qu.getLookaheadPathsForOptionalProd)(u,n,l,c),f=g[0];if((0,Cr.isEmpty)((0,Cr.flatten)(f))){var h=r.buildEmptyRepetitionError({topLevelRule:n,repetition:a});i.push({message:h,type:uo.ParserDefinitionErrorType.NO_NON_EMPTY_LOOKAHEAD,ruleName:n.name})}})}),i}Mt.validateSomeNonEmptyLookaheadPath=hj;function aye(t,e,r,i){var n=[],s=(0,Cr.reduce)(t,function(a,l,c){return e.definition[c].ignoreAmbiguities===!0||(0,Cr.forEach)(l,function(u){var g=[c];(0,Cr.forEach)(t,function(f,h){c!==h&&(0,Qu.containsPath)(f,u)&&e.definition[h].ignoreAmbiguities!==!0&&g.push(h)}),g.length>1&&!(0,Qu.containsPath)(n,u)&&(n.push(u),a.push({alts:g,path:u}))}),a},[]),o=jt.map(s,function(a){var l=(0,Cr.map)(a.alts,function(u){return u+1}),c=i.buildAlternationAmbiguityError({topLevelRule:r,alternation:e,ambiguityIndices:l,prefixPath:a.path});return{message:c,type:uo.ParserDefinitionErrorType.AMBIGUOUS_ALTS,ruleName:r.name,occurrence:e.idx,alternatives:[a.alts]}});return o}function mj(t,e,r,i){var n=[],s=(0,Cr.reduce)(t,function(o,a,l){var c=(0,Cr.map)(a,function(u){return{idx:l,path:u}});return o.concat(c)},[]);return(0,Cr.forEach)(s,function(o){var a=e.definition[o.idx];if(a.ignoreAmbiguities!==!0){var l=o.idx,c=o.path,u=(0,Cr.findAll)(s,function(f){return e.definition[f.idx].ignoreAmbiguities!==!0&&f.idx{"use strict";Object.defineProperty(bu,"__esModule",{value:!0});bu.validateGrammar=bu.resolveGrammar=void 0;var fS=Dt(),Aye=$G(),lye=gS(),Ij=Wh();function cye(t){t=(0,fS.defaults)(t,{errMsgProvider:Ij.defaultGrammarResolverErrorProvider});var e={};return(0,fS.forEach)(t.rules,function(r){e[r.name]=r}),(0,Aye.resolveGrammar)(e,t.errMsgProvider)}bu.resolveGrammar=cye;function uye(t){return t=(0,fS.defaults)(t,{errMsgProvider:Ij.defaultGrammarValidatorErrorProvider}),(0,lye.validateGrammar)(t.rules,t.maxLookahead,t.tokenTypes,t.errMsgProvider,t.grammarName)}bu.validateGrammar=uye});var vu=E(dn=>{"use strict";var Zh=dn&&dn.__extends||function(){var t=function(e,r){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},t(e,r)};return function(e,r){if(typeof r!="function"&&r!==null)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");t(e,r);function i(){this.constructor=e}e.prototype=r===null?Object.create(r):(i.prototype=r.prototype,new i)}}();Object.defineProperty(dn,"__esModule",{value:!0});dn.EarlyExitException=dn.NotAllInputParsedException=dn.NoViableAltException=dn.MismatchedTokenException=dn.isRecognitionException=void 0;var gye=Dt(),wj="MismatchedTokenException",Bj="NoViableAltException",Qj="EarlyExitException",bj="NotAllInputParsedException",vj=[wj,Bj,Qj,bj];Object.freeze(vj);function fye(t){return(0,gye.contains)(vj,t.name)}dn.isRecognitionException=fye;var vI=function(t){Zh(e,t);function e(r,i){var n=this.constructor,s=t.call(this,r)||this;return s.token=i,s.resyncedTokens=[],Object.setPrototypeOf(s,n.prototype),Error.captureStackTrace&&Error.captureStackTrace(s,s.constructor),s}return e}(Error),hye=function(t){Zh(e,t);function e(r,i,n){var s=t.call(this,r,i)||this;return s.previousToken=n,s.name=wj,s}return e}(vI);dn.MismatchedTokenException=hye;var pye=function(t){Zh(e,t);function e(r,i,n){var s=t.call(this,r,i)||this;return s.previousToken=n,s.name=Bj,s}return e}(vI);dn.NoViableAltException=pye;var dye=function(t){Zh(e,t);function e(r,i){var n=t.call(this,r,i)||this;return n.name=bj,n}return e}(vI);dn.NotAllInputParsedException=dye;var Cye=function(t){Zh(e,t);function e(r,i,n){var s=t.call(this,r,i)||this;return s.previousToken=n,s.name=Qj,s}return e}(vI);dn.EarlyExitException=Cye});var pS=E(xi=>{"use strict";Object.defineProperty(xi,"__esModule",{value:!0});xi.attemptInRepetitionRecovery=xi.Recoverable=xi.InRuleRecoveryException=xi.IN_RULE_RECOVERY_EXCEPTION=xi.EOF_FOLLOW_KEY=void 0;var SI=nA(),ts=Dt(),mye=vu(),Eye=rS(),Iye=Tn();xi.EOF_FOLLOW_KEY={};xi.IN_RULE_RECOVERY_EXCEPTION="InRuleRecoveryException";function hS(t){this.name=xi.IN_RULE_RECOVERY_EXCEPTION,this.message=t}xi.InRuleRecoveryException=hS;hS.prototype=Error.prototype;var yye=function(){function t(){}return t.prototype.initRecoverable=function(e){this.firstAfterRepMap={},this.resyncFollows={},this.recoveryEnabled=(0,ts.has)(e,"recoveryEnabled")?e.recoveryEnabled:Iye.DEFAULT_PARSER_CONFIG.recoveryEnabled,this.recoveryEnabled&&(this.attemptInRepetitionRecovery=Sj)},t.prototype.getTokenToInsert=function(e){var r=(0,SI.createTokenInstance)(e,"",NaN,NaN,NaN,NaN,NaN,NaN);return r.isInsertedInRecovery=!0,r},t.prototype.canTokenTypeBeInsertedInRecovery=function(e){return!0},t.prototype.tryInRepetitionRecovery=function(e,r,i,n){for(var s=this,o=this.findReSyncTokenType(),a=this.exportLexerState(),l=[],c=!1,u=this.LA(1),g=this.LA(1),f=function(){var h=s.LA(0),p=s.errorMessageProvider.buildMismatchTokenMessage({expected:n,actual:u,previous:h,ruleName:s.getCurrRuleFullName()}),d=new mye.MismatchedTokenException(p,u,s.LA(0));d.resyncedTokens=(0,ts.dropRight)(l),s.SAVE_ERROR(d)};!c;)if(this.tokenMatcher(g,n)){f();return}else if(i.call(this)){f(),e.apply(this,r);return}else this.tokenMatcher(g,o)?c=!0:(g=this.SKIP_TOKEN(),this.addToResyncTokens(g,l));this.importLexerState(a)},t.prototype.shouldInRepetitionRecoveryBeTried=function(e,r,i){return!(i===!1||e===void 0||r===void 0||this.tokenMatcher(this.LA(1),e)||this.isBackTracking()||this.canPerformInRuleRecovery(e,this.getFollowsForInRuleRecovery(e,r)))},t.prototype.getFollowsForInRuleRecovery=function(e,r){var i=this.getCurrentGrammarPath(e,r),n=this.getNextPossibleTokenTypes(i);return n},t.prototype.tryInRuleRecovery=function(e,r){if(this.canRecoverWithSingleTokenInsertion(e,r)){var i=this.getTokenToInsert(e);return i}if(this.canRecoverWithSingleTokenDeletion(e)){var n=this.SKIP_TOKEN();return this.consumeToken(),n}throw new hS("sad sad panda")},t.prototype.canPerformInRuleRecovery=function(e,r){return this.canRecoverWithSingleTokenInsertion(e,r)||this.canRecoverWithSingleTokenDeletion(e)},t.prototype.canRecoverWithSingleTokenInsertion=function(e,r){var i=this;if(!this.canTokenTypeBeInsertedInRecovery(e)||(0,ts.isEmpty)(r))return!1;var n=this.LA(1),s=(0,ts.find)(r,function(o){return i.tokenMatcher(n,o)})!==void 0;return s},t.prototype.canRecoverWithSingleTokenDeletion=function(e){var r=this.tokenMatcher(this.LA(2),e);return r},t.prototype.isInCurrentRuleReSyncSet=function(e){var r=this.getCurrFollowKey(),i=this.getFollowSetFromFollowKey(r);return(0,ts.contains)(i,e)},t.prototype.findReSyncTokenType=function(){for(var e=this.flattenFollowSet(),r=this.LA(1),i=2;;){var n=r.tokenType;if((0,ts.contains)(e,n))return n;r=this.LA(i),i++}},t.prototype.getCurrFollowKey=function(){if(this.RULE_STACK.length===1)return xi.EOF_FOLLOW_KEY;var e=this.getLastExplicitRuleShortName(),r=this.getLastExplicitRuleOccurrenceIndex(),i=this.getPreviousExplicitRuleShortName();return{ruleName:this.shortRuleNameToFullName(e),idxInCallingRule:r,inRule:this.shortRuleNameToFullName(i)}},t.prototype.buildFullFollowKeyStack=function(){var e=this,r=this.RULE_STACK,i=this.RULE_OCCURRENCE_STACK;return(0,ts.map)(r,function(n,s){return s===0?xi.EOF_FOLLOW_KEY:{ruleName:e.shortRuleNameToFullName(n),idxInCallingRule:i[s],inRule:e.shortRuleNameToFullName(r[s-1])}})},t.prototype.flattenFollowSet=function(){var e=this,r=(0,ts.map)(this.buildFullFollowKeyStack(),function(i){return e.getFollowSetFromFollowKey(i)});return(0,ts.flatten)(r)},t.prototype.getFollowSetFromFollowKey=function(e){if(e===xi.EOF_FOLLOW_KEY)return[SI.EOF];var r=e.ruleName+e.idxInCallingRule+Eye.IN+e.inRule;return this.resyncFollows[r]},t.prototype.addToResyncTokens=function(e,r){return this.tokenMatcher(e,SI.EOF)||r.push(e),r},t.prototype.reSyncTo=function(e){for(var r=[],i=this.LA(1);this.tokenMatcher(i,e)===!1;)i=this.SKIP_TOKEN(),this.addToResyncTokens(i,r);return(0,ts.dropRight)(r)},t.prototype.attemptInRepetitionRecovery=function(e,r,i,n,s,o,a){},t.prototype.getCurrentGrammarPath=function(e,r){var i=this.getHumanReadableRuleStack(),n=(0,ts.cloneArr)(this.RULE_OCCURRENCE_STACK),s={ruleStack:i,occurrenceStack:n,lastTok:e,lastTokOccurrence:r};return s},t.prototype.getHumanReadableRuleStack=function(){var e=this;return(0,ts.map)(this.RULE_STACK,function(r){return e.shortRuleNameToFullName(r)})},t}();xi.Recoverable=yye;function Sj(t,e,r,i,n,s,o){var a=this.getKeyForAutomaticLookahead(i,n),l=this.firstAfterRepMap[a];if(l===void 0){var c=this.getCurrRuleFullName(),u=this.getGAstProductions()[c],g=new s(u,n);l=g.startWalking(),this.firstAfterRepMap[a]=l}var f=l.token,h=l.occurrence,p=l.isEndOfRule;this.RULE_STACK.length===1&&p&&f===void 0&&(f=SI.EOF,h=1),this.shouldInRepetitionRecoveryBeTried(f,h,o)&&this.tryInRepetitionRecovery(t,e,r,f)}xi.attemptInRepetitionRecovery=Sj});var xI=E(Nt=>{"use strict";Object.defineProperty(Nt,"__esModule",{value:!0});Nt.getKeyForAutomaticLookahead=Nt.AT_LEAST_ONE_SEP_IDX=Nt.MANY_SEP_IDX=Nt.AT_LEAST_ONE_IDX=Nt.MANY_IDX=Nt.OPTION_IDX=Nt.OR_IDX=Nt.BITS_FOR_ALT_IDX=Nt.BITS_FOR_RULE_IDX=Nt.BITS_FOR_OCCURRENCE_IDX=Nt.BITS_FOR_METHOD_TYPE=void 0;Nt.BITS_FOR_METHOD_TYPE=4;Nt.BITS_FOR_OCCURRENCE_IDX=8;Nt.BITS_FOR_RULE_IDX=12;Nt.BITS_FOR_ALT_IDX=8;Nt.OR_IDX=1<{"use strict";Object.defineProperty(kI,"__esModule",{value:!0});kI.LooksAhead=void 0;var Aa=_h(),Ns=Dt(),xj=Tn(),la=xI(),Nl=Jh(),Bye=function(){function t(){}return t.prototype.initLooksAhead=function(e){this.dynamicTokensEnabled=(0,Ns.has)(e,"dynamicTokensEnabled")?e.dynamicTokensEnabled:xj.DEFAULT_PARSER_CONFIG.dynamicTokensEnabled,this.maxLookahead=(0,Ns.has)(e,"maxLookahead")?e.maxLookahead:xj.DEFAULT_PARSER_CONFIG.maxLookahead,this.lookAheadFuncsCache=(0,Ns.isES2015MapSupported)()?new Map:[],(0,Ns.isES2015MapSupported)()?(this.getLaFuncFromCache=this.getLaFuncFromMap,this.setLaFuncCache=this.setLaFuncCacheUsingMap):(this.getLaFuncFromCache=this.getLaFuncFromObj,this.setLaFuncCache=this.setLaFuncUsingObj)},t.prototype.preComputeLookaheadFunctions=function(e){var r=this;(0,Ns.forEach)(e,function(i){r.TRACE_INIT(i.name+" Rule Lookahead",function(){var n=(0,Nl.collectMethods)(i),s=n.alternation,o=n.repetition,a=n.option,l=n.repetitionMandatory,c=n.repetitionMandatoryWithSeparator,u=n.repetitionWithSeparator;(0,Ns.forEach)(s,function(g){var f=g.idx===0?"":g.idx;r.TRACE_INIT(""+(0,Nl.getProductionDslName)(g)+f,function(){var h=(0,Aa.buildLookaheadFuncForOr)(g.idx,i,g.maxLookahead||r.maxLookahead,g.hasPredicates,r.dynamicTokensEnabled,r.lookAheadBuilderForAlternatives),p=(0,la.getKeyForAutomaticLookahead)(r.fullRuleNameToShort[i.name],la.OR_IDX,g.idx);r.setLaFuncCache(p,h)})}),(0,Ns.forEach)(o,function(g){r.computeLookaheadFunc(i,g.idx,la.MANY_IDX,Aa.PROD_TYPE.REPETITION,g.maxLookahead,(0,Nl.getProductionDslName)(g))}),(0,Ns.forEach)(a,function(g){r.computeLookaheadFunc(i,g.idx,la.OPTION_IDX,Aa.PROD_TYPE.OPTION,g.maxLookahead,(0,Nl.getProductionDslName)(g))}),(0,Ns.forEach)(l,function(g){r.computeLookaheadFunc(i,g.idx,la.AT_LEAST_ONE_IDX,Aa.PROD_TYPE.REPETITION_MANDATORY,g.maxLookahead,(0,Nl.getProductionDslName)(g))}),(0,Ns.forEach)(c,function(g){r.computeLookaheadFunc(i,g.idx,la.AT_LEAST_ONE_SEP_IDX,Aa.PROD_TYPE.REPETITION_MANDATORY_WITH_SEPARATOR,g.maxLookahead,(0,Nl.getProductionDslName)(g))}),(0,Ns.forEach)(u,function(g){r.computeLookaheadFunc(i,g.idx,la.MANY_SEP_IDX,Aa.PROD_TYPE.REPETITION_WITH_SEPARATOR,g.maxLookahead,(0,Nl.getProductionDslName)(g))})})})},t.prototype.computeLookaheadFunc=function(e,r,i,n,s,o){var a=this;this.TRACE_INIT(""+o+(r===0?"":r),function(){var l=(0,Aa.buildLookaheadFuncForOptionalProd)(r,e,s||a.maxLookahead,a.dynamicTokensEnabled,n,a.lookAheadBuilderForOptional),c=(0,la.getKeyForAutomaticLookahead)(a.fullRuleNameToShort[e.name],i,r);a.setLaFuncCache(c,l)})},t.prototype.lookAheadBuilderForOptional=function(e,r,i){return(0,Aa.buildSingleAlternativeLookaheadFunction)(e,r,i)},t.prototype.lookAheadBuilderForAlternatives=function(e,r,i,n){return(0,Aa.buildAlternativesLookAheadFunc)(e,r,i,n)},t.prototype.getKeyForAutomaticLookahead=function(e,r){var i=this.getLastExplicitRuleShortName();return(0,la.getKeyForAutomaticLookahead)(i,e,r)},t.prototype.getLaFuncFromCache=function(e){},t.prototype.getLaFuncFromMap=function(e){return this.lookAheadFuncsCache.get(e)},t.prototype.getLaFuncFromObj=function(e){return this.lookAheadFuncsCache[e]},t.prototype.setLaFuncCache=function(e,r){},t.prototype.setLaFuncCacheUsingMap=function(e,r){this.lookAheadFuncsCache.set(e,r)},t.prototype.setLaFuncUsingObj=function(e,r){this.lookAheadFuncsCache[e]=r},t}();kI.LooksAhead=Bye});var Pj=E(go=>{"use strict";Object.defineProperty(go,"__esModule",{value:!0});go.addNoneTerminalToCst=go.addTerminalToCst=go.setNodeLocationFull=go.setNodeLocationOnlyOffset=void 0;function Qye(t,e){isNaN(t.startOffset)===!0?(t.startOffset=e.startOffset,t.endOffset=e.endOffset):t.endOffset{"use strict";Object.defineProperty(aA,"__esModule",{value:!0});aA.defineNameProp=aA.functionName=aA.classNameFromInstance=void 0;var xye=Dt();function kye(t){return Dj(t.constructor)}aA.classNameFromInstance=kye;var Rj="name";function Dj(t){var e=t.name;return e||"anonymous"}aA.functionName=Dj;function Pye(t,e){var r=Object.getOwnPropertyDescriptor(t,Rj);return(0,xye.isUndefined)(r)||r.configurable?(Object.defineProperty(t,Rj,{enumerable:!1,configurable:!0,writable:!1,value:e}),!0):!1}aA.defineNameProp=Pye});var Mj=E(mi=>{"use strict";Object.defineProperty(mi,"__esModule",{value:!0});mi.validateRedundantMethods=mi.validateMissingCstMethods=mi.validateVisitor=mi.CstVisitorDefinitionError=mi.createBaseVisitorConstructorWithDefaults=mi.createBaseSemanticVisitorConstructor=mi.defaultVisit=void 0;var rs=Dt(),$h=dS();function Fj(t,e){for(var r=(0,rs.keys)(t),i=r.length,n=0;n: + `+(""+s.join(` + +`).replace(/\n/g,` + `)))}}};return r.prototype=i,r.prototype.constructor=r,r._RULE_NAMES=e,r}mi.createBaseSemanticVisitorConstructor=Dye;function Rye(t,e,r){var i=function(){};(0,$h.defineNameProp)(i,t+"BaseSemanticsWithDefaults");var n=Object.create(r.prototype);return(0,rs.forEach)(e,function(s){n[s]=Fj}),i.prototype=n,i.prototype.constructor=i,i}mi.createBaseVisitorConstructorWithDefaults=Rye;var CS;(function(t){t[t.REDUNDANT_METHOD=0]="REDUNDANT_METHOD",t[t.MISSING_METHOD=1]="MISSING_METHOD"})(CS=mi.CstVisitorDefinitionError||(mi.CstVisitorDefinitionError={}));function Nj(t,e){var r=Lj(t,e),i=Tj(t,e);return r.concat(i)}mi.validateVisitor=Nj;function Lj(t,e){var r=(0,rs.map)(e,function(i){if(!(0,rs.isFunction)(t[i]))return{msg:"Missing visitor method: <"+i+"> on "+(0,$h.functionName)(t.constructor)+" CST Visitor.",type:CS.MISSING_METHOD,methodName:i}});return(0,rs.compact)(r)}mi.validateMissingCstMethods=Lj;var Fye=["constructor","visit","validateVisitor"];function Tj(t,e){var r=[];for(var i in t)(0,rs.isFunction)(t[i])&&!(0,rs.contains)(Fye,i)&&!(0,rs.contains)(e,i)&&r.push({msg:"Redundant visitor method: <"+i+"> on "+(0,$h.functionName)(t.constructor)+` CST Visitor +There is no Grammar Rule corresponding to this method's name. +`,type:CS.REDUNDANT_METHOD,methodName:i});return r}mi.validateRedundantMethods=Tj});var Kj=E(PI=>{"use strict";Object.defineProperty(PI,"__esModule",{value:!0});PI.TreeBuilder=void 0;var Su=Pj(),Ur=Dt(),Oj=Mj(),Nye=Tn(),Lye=function(){function t(){}return t.prototype.initTreeBuilder=function(e){if(this.CST_STACK=[],this.outputCst=e.outputCst,this.nodeLocationTracking=(0,Ur.has)(e,"nodeLocationTracking")?e.nodeLocationTracking:Nye.DEFAULT_PARSER_CONFIG.nodeLocationTracking,!this.outputCst)this.cstInvocationStateUpdate=Ur.NOOP,this.cstFinallyStateUpdate=Ur.NOOP,this.cstPostTerminal=Ur.NOOP,this.cstPostNonTerminal=Ur.NOOP,this.cstPostRule=Ur.NOOP;else if(/full/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=Su.setNodeLocationFull,this.setNodeLocationFromNode=Su.setNodeLocationFull,this.cstPostRule=Ur.NOOP,this.setInitialNodeLocation=this.setInitialNodeLocationFullRecovery):(this.setNodeLocationFromToken=Ur.NOOP,this.setNodeLocationFromNode=Ur.NOOP,this.cstPostRule=this.cstPostRuleFull,this.setInitialNodeLocation=this.setInitialNodeLocationFullRegular);else if(/onlyOffset/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=Su.setNodeLocationOnlyOffset,this.setNodeLocationFromNode=Su.setNodeLocationOnlyOffset,this.cstPostRule=Ur.NOOP,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRecovery):(this.setNodeLocationFromToken=Ur.NOOP,this.setNodeLocationFromNode=Ur.NOOP,this.cstPostRule=this.cstPostRuleOnlyOffset,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRegular);else if(/none/i.test(this.nodeLocationTracking))this.setNodeLocationFromToken=Ur.NOOP,this.setNodeLocationFromNode=Ur.NOOP,this.cstPostRule=Ur.NOOP,this.setInitialNodeLocation=Ur.NOOP;else throw Error('Invalid config option: "'+e.nodeLocationTracking+'"')},t.prototype.setInitialNodeLocationOnlyOffsetRecovery=function(e){e.location={startOffset:NaN,endOffset:NaN}},t.prototype.setInitialNodeLocationOnlyOffsetRegular=function(e){e.location={startOffset:this.LA(1).startOffset,endOffset:NaN}},t.prototype.setInitialNodeLocationFullRecovery=function(e){e.location={startOffset:NaN,startLine:NaN,startColumn:NaN,endOffset:NaN,endLine:NaN,endColumn:NaN}},t.prototype.setInitialNodeLocationFullRegular=function(e){var r=this.LA(1);e.location={startOffset:r.startOffset,startLine:r.startLine,startColumn:r.startColumn,endOffset:NaN,endLine:NaN,endColumn:NaN}},t.prototype.cstInvocationStateUpdate=function(e,r){var i={name:e,children:{}};this.setInitialNodeLocation(i),this.CST_STACK.push(i)},t.prototype.cstFinallyStateUpdate=function(){this.CST_STACK.pop()},t.prototype.cstPostRuleFull=function(e){var r=this.LA(0),i=e.location;i.startOffset<=r.startOffset?(i.endOffset=r.endOffset,i.endLine=r.endLine,i.endColumn=r.endColumn):(i.startOffset=NaN,i.startLine=NaN,i.startColumn=NaN)},t.prototype.cstPostRuleOnlyOffset=function(e){var r=this.LA(0),i=e.location;i.startOffset<=r.startOffset?i.endOffset=r.endOffset:i.startOffset=NaN},t.prototype.cstPostTerminal=function(e,r){var i=this.CST_STACK[this.CST_STACK.length-1];(0,Su.addTerminalToCst)(i,r,e),this.setNodeLocationFromToken(i.location,r)},t.prototype.cstPostNonTerminal=function(e,r){var i=this.CST_STACK[this.CST_STACK.length-1];(0,Su.addNoneTerminalToCst)(i,r,e),this.setNodeLocationFromNode(i.location,e.location)},t.prototype.getBaseCstVisitorConstructor=function(){if((0,Ur.isUndefined)(this.baseCstVisitorConstructor)){var e=(0,Oj.createBaseSemanticVisitorConstructor)(this.className,(0,Ur.keys)(this.gastProductionsCache));return this.baseCstVisitorConstructor=e,e}return this.baseCstVisitorConstructor},t.prototype.getBaseCstVisitorConstructorWithDefaults=function(){if((0,Ur.isUndefined)(this.baseCstVisitorWithDefaultsConstructor)){var e=(0,Oj.createBaseVisitorConstructorWithDefaults)(this.className,(0,Ur.keys)(this.gastProductionsCache),this.getBaseCstVisitorConstructor());return this.baseCstVisitorWithDefaultsConstructor=e,e}return this.baseCstVisitorWithDefaultsConstructor},t.prototype.getLastExplicitRuleShortName=function(){var e=this.RULE_STACK;return e[e.length-1]},t.prototype.getPreviousExplicitRuleShortName=function(){var e=this.RULE_STACK;return e[e.length-2]},t.prototype.getLastExplicitRuleOccurrenceIndex=function(){var e=this.RULE_OCCURRENCE_STACK;return e[e.length-1]},t}();PI.TreeBuilder=Lye});var Hj=E(DI=>{"use strict";Object.defineProperty(DI,"__esModule",{value:!0});DI.LexerAdapter=void 0;var Uj=Tn(),Tye=function(){function t(){}return t.prototype.initLexerAdapter=function(){this.tokVector=[],this.tokVectorLength=0,this.currIdx=-1},Object.defineProperty(t.prototype,"input",{get:function(){return this.tokVector},set:function(e){if(this.selfAnalysisDone!==!0)throw Error("Missing invocation at the end of the Parser's constructor.");this.reset(),this.tokVector=e,this.tokVectorLength=e.length},enumerable:!1,configurable:!0}),t.prototype.SKIP_TOKEN=function(){return this.currIdx<=this.tokVector.length-2?(this.consumeToken(),this.LA(1)):Uj.END_OF_FILE},t.prototype.LA=function(e){var r=this.currIdx+e;return r<0||this.tokVectorLength<=r?Uj.END_OF_FILE:this.tokVector[r]},t.prototype.consumeToken=function(){this.currIdx++},t.prototype.exportLexerState=function(){return this.currIdx},t.prototype.importLexerState=function(e){this.currIdx=e},t.prototype.resetLexerState=function(){this.currIdx=-1},t.prototype.moveToTerminatedState=function(){this.currIdx=this.tokVector.length-1},t.prototype.getLexerPosition=function(){return this.exportLexerState()},t}();DI.LexerAdapter=Tye});var jj=E(RI=>{"use strict";Object.defineProperty(RI,"__esModule",{value:!0});RI.RecognizerApi=void 0;var Gj=Dt(),Mye=vu(),mS=Tn(),Oye=Wh(),Kye=gS(),Uye=hn(),Hye=function(){function t(){}return t.prototype.ACTION=function(e){return e.call(this)},t.prototype.consume=function(e,r,i){return this.consumeInternal(r,e,i)},t.prototype.subrule=function(e,r,i){return this.subruleInternal(r,e,i)},t.prototype.option=function(e,r){return this.optionInternal(r,e)},t.prototype.or=function(e,r){return this.orInternal(r,e)},t.prototype.many=function(e,r){return this.manyInternal(e,r)},t.prototype.atLeastOne=function(e,r){return this.atLeastOneInternal(e,r)},t.prototype.CONSUME=function(e,r){return this.consumeInternal(e,0,r)},t.prototype.CONSUME1=function(e,r){return this.consumeInternal(e,1,r)},t.prototype.CONSUME2=function(e,r){return this.consumeInternal(e,2,r)},t.prototype.CONSUME3=function(e,r){return this.consumeInternal(e,3,r)},t.prototype.CONSUME4=function(e,r){return this.consumeInternal(e,4,r)},t.prototype.CONSUME5=function(e,r){return this.consumeInternal(e,5,r)},t.prototype.CONSUME6=function(e,r){return this.consumeInternal(e,6,r)},t.prototype.CONSUME7=function(e,r){return this.consumeInternal(e,7,r)},t.prototype.CONSUME8=function(e,r){return this.consumeInternal(e,8,r)},t.prototype.CONSUME9=function(e,r){return this.consumeInternal(e,9,r)},t.prototype.SUBRULE=function(e,r){return this.subruleInternal(e,0,r)},t.prototype.SUBRULE1=function(e,r){return this.subruleInternal(e,1,r)},t.prototype.SUBRULE2=function(e,r){return this.subruleInternal(e,2,r)},t.prototype.SUBRULE3=function(e,r){return this.subruleInternal(e,3,r)},t.prototype.SUBRULE4=function(e,r){return this.subruleInternal(e,4,r)},t.prototype.SUBRULE5=function(e,r){return this.subruleInternal(e,5,r)},t.prototype.SUBRULE6=function(e,r){return this.subruleInternal(e,6,r)},t.prototype.SUBRULE7=function(e,r){return this.subruleInternal(e,7,r)},t.prototype.SUBRULE8=function(e,r){return this.subruleInternal(e,8,r)},t.prototype.SUBRULE9=function(e,r){return this.subruleInternal(e,9,r)},t.prototype.OPTION=function(e){return this.optionInternal(e,0)},t.prototype.OPTION1=function(e){return this.optionInternal(e,1)},t.prototype.OPTION2=function(e){return this.optionInternal(e,2)},t.prototype.OPTION3=function(e){return this.optionInternal(e,3)},t.prototype.OPTION4=function(e){return this.optionInternal(e,4)},t.prototype.OPTION5=function(e){return this.optionInternal(e,5)},t.prototype.OPTION6=function(e){return this.optionInternal(e,6)},t.prototype.OPTION7=function(e){return this.optionInternal(e,7)},t.prototype.OPTION8=function(e){return this.optionInternal(e,8)},t.prototype.OPTION9=function(e){return this.optionInternal(e,9)},t.prototype.OR=function(e){return this.orInternal(e,0)},t.prototype.OR1=function(e){return this.orInternal(e,1)},t.prototype.OR2=function(e){return this.orInternal(e,2)},t.prototype.OR3=function(e){return this.orInternal(e,3)},t.prototype.OR4=function(e){return this.orInternal(e,4)},t.prototype.OR5=function(e){return this.orInternal(e,5)},t.prototype.OR6=function(e){return this.orInternal(e,6)},t.prototype.OR7=function(e){return this.orInternal(e,7)},t.prototype.OR8=function(e){return this.orInternal(e,8)},t.prototype.OR9=function(e){return this.orInternal(e,9)},t.prototype.MANY=function(e){this.manyInternal(0,e)},t.prototype.MANY1=function(e){this.manyInternal(1,e)},t.prototype.MANY2=function(e){this.manyInternal(2,e)},t.prototype.MANY3=function(e){this.manyInternal(3,e)},t.prototype.MANY4=function(e){this.manyInternal(4,e)},t.prototype.MANY5=function(e){this.manyInternal(5,e)},t.prototype.MANY6=function(e){this.manyInternal(6,e)},t.prototype.MANY7=function(e){this.manyInternal(7,e)},t.prototype.MANY8=function(e){this.manyInternal(8,e)},t.prototype.MANY9=function(e){this.manyInternal(9,e)},t.prototype.MANY_SEP=function(e){this.manySepFirstInternal(0,e)},t.prototype.MANY_SEP1=function(e){this.manySepFirstInternal(1,e)},t.prototype.MANY_SEP2=function(e){this.manySepFirstInternal(2,e)},t.prototype.MANY_SEP3=function(e){this.manySepFirstInternal(3,e)},t.prototype.MANY_SEP4=function(e){this.manySepFirstInternal(4,e)},t.prototype.MANY_SEP5=function(e){this.manySepFirstInternal(5,e)},t.prototype.MANY_SEP6=function(e){this.manySepFirstInternal(6,e)},t.prototype.MANY_SEP7=function(e){this.manySepFirstInternal(7,e)},t.prototype.MANY_SEP8=function(e){this.manySepFirstInternal(8,e)},t.prototype.MANY_SEP9=function(e){this.manySepFirstInternal(9,e)},t.prototype.AT_LEAST_ONE=function(e){this.atLeastOneInternal(0,e)},t.prototype.AT_LEAST_ONE1=function(e){return this.atLeastOneInternal(1,e)},t.prototype.AT_LEAST_ONE2=function(e){this.atLeastOneInternal(2,e)},t.prototype.AT_LEAST_ONE3=function(e){this.atLeastOneInternal(3,e)},t.prototype.AT_LEAST_ONE4=function(e){this.atLeastOneInternal(4,e)},t.prototype.AT_LEAST_ONE5=function(e){this.atLeastOneInternal(5,e)},t.prototype.AT_LEAST_ONE6=function(e){this.atLeastOneInternal(6,e)},t.prototype.AT_LEAST_ONE7=function(e){this.atLeastOneInternal(7,e)},t.prototype.AT_LEAST_ONE8=function(e){this.atLeastOneInternal(8,e)},t.prototype.AT_LEAST_ONE9=function(e){this.atLeastOneInternal(9,e)},t.prototype.AT_LEAST_ONE_SEP=function(e){this.atLeastOneSepFirstInternal(0,e)},t.prototype.AT_LEAST_ONE_SEP1=function(e){this.atLeastOneSepFirstInternal(1,e)},t.prototype.AT_LEAST_ONE_SEP2=function(e){this.atLeastOneSepFirstInternal(2,e)},t.prototype.AT_LEAST_ONE_SEP3=function(e){this.atLeastOneSepFirstInternal(3,e)},t.prototype.AT_LEAST_ONE_SEP4=function(e){this.atLeastOneSepFirstInternal(4,e)},t.prototype.AT_LEAST_ONE_SEP5=function(e){this.atLeastOneSepFirstInternal(5,e)},t.prototype.AT_LEAST_ONE_SEP6=function(e){this.atLeastOneSepFirstInternal(6,e)},t.prototype.AT_LEAST_ONE_SEP7=function(e){this.atLeastOneSepFirstInternal(7,e)},t.prototype.AT_LEAST_ONE_SEP8=function(e){this.atLeastOneSepFirstInternal(8,e)},t.prototype.AT_LEAST_ONE_SEP9=function(e){this.atLeastOneSepFirstInternal(9,e)},t.prototype.RULE=function(e,r,i){if(i===void 0&&(i=mS.DEFAULT_RULE_CONFIG),(0,Gj.contains)(this.definedRulesNames,e)){var n=Oye.defaultGrammarValidatorErrorProvider.buildDuplicateRuleNameError({topLevelRule:e,grammarName:this.className}),s={message:n,type:mS.ParserDefinitionErrorType.DUPLICATE_RULE_NAME,ruleName:e};this.definitionErrors.push(s)}this.definedRulesNames.push(e);var o=this.defineRule(e,r,i);return this[e]=o,o},t.prototype.OVERRIDE_RULE=function(e,r,i){i===void 0&&(i=mS.DEFAULT_RULE_CONFIG);var n=[];n=n.concat((0,Kye.validateRuleIsOverridden)(e,this.definedRulesNames,this.className)),this.definitionErrors=this.definitionErrors.concat(n);var s=this.defineRule(e,r,i);return this[e]=s,s},t.prototype.BACKTRACK=function(e,r){return function(){this.isBackTrackingStack.push(1);var i=this.saveRecogState();try{return e.apply(this,r),!0}catch(n){if((0,Mye.isRecognitionException)(n))return!1;throw n}finally{this.reloadRecogState(i),this.isBackTrackingStack.pop()}}},t.prototype.getGAstProductions=function(){return this.gastProductionsCache},t.prototype.getSerializedGastProductions=function(){return(0,Uye.serializeGrammar)((0,Gj.values)(this.gastProductionsCache))},t}();RI.RecognizerApi=Hye});var Wj=E(FI=>{"use strict";Object.defineProperty(FI,"__esModule",{value:!0});FI.RecognizerEngine=void 0;var Er=Dt(),Mn=xI(),NI=vu(),Yj=_h(),xu=Vh(),qj=Tn(),Gye=pS(),Jj=nA(),ep=yu(),jye=dS(),Yye=function(){function t(){}return t.prototype.initRecognizerEngine=function(e,r){if(this.className=(0,jye.classNameFromInstance)(this),this.shortRuleNameToFull={},this.fullRuleNameToShort={},this.ruleShortNameIdx=256,this.tokenMatcher=ep.tokenStructuredMatcherNoCategories,this.definedRulesNames=[],this.tokensMap={},this.isBackTrackingStack=[],this.RULE_STACK=[],this.RULE_OCCURRENCE_STACK=[],this.gastProductionsCache={},(0,Er.has)(r,"serializedGrammar"))throw Error(`The Parser's configuration can no longer contain a property. + See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_6-0-0 + For Further details.`);if((0,Er.isArray)(e)){if((0,Er.isEmpty)(e))throw Error(`A Token Vocabulary cannot be empty. + Note that the first argument for the parser constructor + is no longer a Token vector (since v4.0).`);if(typeof e[0].startOffset=="number")throw Error(`The Parser constructor no longer accepts a token vector as the first argument. + See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_4-0-0 + For Further details.`)}if((0,Er.isArray)(e))this.tokensMap=(0,Er.reduce)(e,function(o,a){return o[a.name]=a,o},{});else if((0,Er.has)(e,"modes")&&(0,Er.every)((0,Er.flatten)((0,Er.values)(e.modes)),ep.isTokenType)){var i=(0,Er.flatten)((0,Er.values)(e.modes)),n=(0,Er.uniq)(i);this.tokensMap=(0,Er.reduce)(n,function(o,a){return o[a.name]=a,o},{})}else if((0,Er.isObject)(e))this.tokensMap=(0,Er.cloneObj)(e);else throw new Error(" argument must be An Array of Token constructors, A dictionary of Token constructors or an IMultiModeLexerDefinition");this.tokensMap.EOF=Jj.EOF;var s=(0,Er.every)((0,Er.values)(e),function(o){return(0,Er.isEmpty)(o.categoryMatches)});this.tokenMatcher=s?ep.tokenStructuredMatcherNoCategories:ep.tokenStructuredMatcher,(0,ep.augmentTokenTypes)((0,Er.values)(this.tokensMap))},t.prototype.defineRule=function(e,r,i){if(this.selfAnalysisDone)throw Error("Grammar rule <"+e+`> may not be defined after the 'performSelfAnalysis' method has been called' +Make sure that all grammar rule definitions are done before 'performSelfAnalysis' is called.`);var n=(0,Er.has)(i,"resyncEnabled")?i.resyncEnabled:qj.DEFAULT_RULE_CONFIG.resyncEnabled,s=(0,Er.has)(i,"recoveryValueFunc")?i.recoveryValueFunc:qj.DEFAULT_RULE_CONFIG.recoveryValueFunc,o=this.ruleShortNameIdx<r},t.prototype.orInternal=function(e,r){var i=this.getKeyForAutomaticLookahead(Mn.OR_IDX,r),n=(0,Er.isArray)(e)?e:e.DEF,s=this.getLaFuncFromCache(i),o=s.call(this,n);if(o!==void 0){var a=n[o];return a.ALT.call(this)}this.raiseNoAltException(r,e.ERR_MSG)},t.prototype.ruleFinallyStateUpdate=function(){if(this.RULE_STACK.pop(),this.RULE_OCCURRENCE_STACK.pop(),this.cstFinallyStateUpdate(),this.RULE_STACK.length===0&&this.isAtEndOfInput()===!1){var e=this.LA(1),r=this.errorMessageProvider.buildNotAllInputParsedMessage({firstRedundant:e,ruleName:this.getCurrRuleFullName()});this.SAVE_ERROR(new NI.NotAllInputParsedException(r,e))}},t.prototype.subruleInternal=function(e,r,i){var n;try{var s=i!==void 0?i.ARGS:void 0;return n=e.call(this,r,s),this.cstPostNonTerminal(n,i!==void 0&&i.LABEL!==void 0?i.LABEL:e.ruleName),n}catch(o){this.subruleInternalError(o,i,e.ruleName)}},t.prototype.subruleInternalError=function(e,r,i){throw(0,NI.isRecognitionException)(e)&&e.partialCstResult!==void 0&&(this.cstPostNonTerminal(e.partialCstResult,r!==void 0&&r.LABEL!==void 0?r.LABEL:i),delete e.partialCstResult),e},t.prototype.consumeInternal=function(e,r,i){var n;try{var s=this.LA(1);this.tokenMatcher(s,e)===!0?(this.consumeToken(),n=s):this.consumeInternalError(e,s,i)}catch(o){n=this.consumeInternalRecovery(e,r,o)}return this.cstPostTerminal(i!==void 0&&i.LABEL!==void 0?i.LABEL:e.name,n),n},t.prototype.consumeInternalError=function(e,r,i){var n,s=this.LA(0);throw i!==void 0&&i.ERR_MSG?n=i.ERR_MSG:n=this.errorMessageProvider.buildMismatchTokenMessage({expected:e,actual:r,previous:s,ruleName:this.getCurrRuleFullName()}),this.SAVE_ERROR(new NI.MismatchedTokenException(n,r,s))},t.prototype.consumeInternalRecovery=function(e,r,i){if(this.recoveryEnabled&&i.name==="MismatchedTokenException"&&!this.isBackTracking()){var n=this.getFollowsForInRuleRecovery(e,r);try{return this.tryInRuleRecovery(e,n)}catch(s){throw s.name===Gye.IN_RULE_RECOVERY_EXCEPTION?i:s}}else throw i},t.prototype.saveRecogState=function(){var e=this.errors,r=(0,Er.cloneArr)(this.RULE_STACK);return{errors:e,lexerState:this.exportLexerState(),RULE_STACK:r,CST_STACK:this.CST_STACK}},t.prototype.reloadRecogState=function(e){this.errors=e.errors,this.importLexerState(e.lexerState),this.RULE_STACK=e.RULE_STACK},t.prototype.ruleInvocationStateUpdate=function(e,r,i){this.RULE_OCCURRENCE_STACK.push(i),this.RULE_STACK.push(e),this.cstInvocationStateUpdate(r,e)},t.prototype.isBackTracking=function(){return this.isBackTrackingStack.length!==0},t.prototype.getCurrRuleFullName=function(){var e=this.getLastExplicitRuleShortName();return this.shortRuleNameToFull[e]},t.prototype.shortRuleNameToFullName=function(e){return this.shortRuleNameToFull[e]},t.prototype.isAtEndOfInput=function(){return this.tokenMatcher(this.LA(1),Jj.EOF)},t.prototype.reset=function(){this.resetLexerState(),this.isBackTrackingStack=[],this.errors=[],this.RULE_STACK=[],this.CST_STACK=[],this.RULE_OCCURRENCE_STACK=[]},t}();FI.RecognizerEngine=Yye});var Vj=E(LI=>{"use strict";Object.defineProperty(LI,"__esModule",{value:!0});LI.ErrorHandler=void 0;var ES=vu(),IS=Dt(),zj=_h(),qye=Tn(),Jye=function(){function t(){}return t.prototype.initErrorHandler=function(e){this._errors=[],this.errorMessageProvider=(0,IS.has)(e,"errorMessageProvider")?e.errorMessageProvider:qye.DEFAULT_PARSER_CONFIG.errorMessageProvider},t.prototype.SAVE_ERROR=function(e){if((0,ES.isRecognitionException)(e))return e.context={ruleStack:this.getHumanReadableRuleStack(),ruleOccurrenceStack:(0,IS.cloneArr)(this.RULE_OCCURRENCE_STACK)},this._errors.push(e),e;throw Error("Trying to save an Error which is not a RecognitionException")},Object.defineProperty(t.prototype,"errors",{get:function(){return(0,IS.cloneArr)(this._errors)},set:function(e){this._errors=e},enumerable:!1,configurable:!0}),t.prototype.raiseEarlyExitException=function(e,r,i){for(var n=this.getCurrRuleFullName(),s=this.getGAstProductions()[n],o=(0,zj.getLookaheadPathsForOptionalProd)(e,s,r,this.maxLookahead),a=o[0],l=[],c=1;c<=this.maxLookahead;c++)l.push(this.LA(c));var u=this.errorMessageProvider.buildEarlyExitMessage({expectedIterationPaths:a,actual:l,previous:this.LA(0),customUserDescription:i,ruleName:n});throw this.SAVE_ERROR(new ES.EarlyExitException(u,this.LA(1),this.LA(0)))},t.prototype.raiseNoAltException=function(e,r){for(var i=this.getCurrRuleFullName(),n=this.getGAstProductions()[i],s=(0,zj.getLookaheadPathsForOr)(e,n,this.maxLookahead),o=[],a=1;a<=this.maxLookahead;a++)o.push(this.LA(a));var l=this.LA(0),c=this.errorMessageProvider.buildNoViableAltMessage({expectedPathsPerAlt:s,actual:o,previous:l,customUserDescription:r,ruleName:this.getCurrRuleFullName()});throw this.SAVE_ERROR(new ES.NoViableAltException(c,this.LA(1),l))},t}();LI.ErrorHandler=Jye});var Zj=E(TI=>{"use strict";Object.defineProperty(TI,"__esModule",{value:!0});TI.ContentAssist=void 0;var _j=Vh(),Xj=Dt(),Wye=function(){function t(){}return t.prototype.initContentAssist=function(){},t.prototype.computeContentAssist=function(e,r){var i=this.gastProductionsCache[e];if((0,Xj.isUndefined)(i))throw Error("Rule ->"+e+"<- does not exist in this grammar.");return(0,_j.nextPossibleTokensAfter)([i],r,this.tokenMatcher,this.maxLookahead)},t.prototype.getNextPossibleTokenTypes=function(e){var r=(0,Xj.first)(e.ruleStack),i=this.getGAstProductions(),n=i[r],s=new _j.NextAfterTokenWalker(n,e).startWalking();return s},t}();TI.ContentAssist=Wye});var oY=E(MI=>{"use strict";Object.defineProperty(MI,"__esModule",{value:!0});MI.GastRecorder=void 0;var Cn=Dt(),fo=hn(),zye=Gh(),$j=yu(),eY=nA(),Vye=Tn(),_ye=xI(),OI={description:"This Object indicates the Parser is during Recording Phase"};Object.freeze(OI);var tY=!0,rY=Math.pow(2,_ye.BITS_FOR_OCCURRENCE_IDX)-1,iY=(0,eY.createToken)({name:"RECORDING_PHASE_TOKEN",pattern:zye.Lexer.NA});(0,$j.augmentTokenTypes)([iY]);var nY=(0,eY.createTokenInstance)(iY,`This IToken indicates the Parser is in Recording Phase + See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,-1,-1,-1,-1,-1,-1);Object.freeze(nY);var Xye={name:`This CSTNode indicates the Parser is in Recording Phase + See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,children:{}},$ye=function(){function t(){}return t.prototype.initGastRecorder=function(e){this.recordingProdStack=[],this.RECORDING_PHASE=!1},t.prototype.enableRecording=function(){var e=this;this.RECORDING_PHASE=!0,this.TRACE_INIT("Enable Recording",function(){for(var r=function(n){var s=n>0?n:"";e["CONSUME"+s]=function(o,a){return this.consumeInternalRecord(o,n,a)},e["SUBRULE"+s]=function(o,a){return this.subruleInternalRecord(o,n,a)},e["OPTION"+s]=function(o){return this.optionInternalRecord(o,n)},e["OR"+s]=function(o){return this.orInternalRecord(o,n)},e["MANY"+s]=function(o){this.manyInternalRecord(n,o)},e["MANY_SEP"+s]=function(o){this.manySepFirstInternalRecord(n,o)},e["AT_LEAST_ONE"+s]=function(o){this.atLeastOneInternalRecord(n,o)},e["AT_LEAST_ONE_SEP"+s]=function(o){this.atLeastOneSepFirstInternalRecord(n,o)}},i=0;i<10;i++)r(i);e.consume=function(n,s,o){return this.consumeInternalRecord(s,n,o)},e.subrule=function(n,s,o){return this.subruleInternalRecord(s,n,o)},e.option=function(n,s){return this.optionInternalRecord(s,n)},e.or=function(n,s){return this.orInternalRecord(s,n)},e.many=function(n,s){this.manyInternalRecord(n,s)},e.atLeastOne=function(n,s){this.atLeastOneInternalRecord(n,s)},e.ACTION=e.ACTION_RECORD,e.BACKTRACK=e.BACKTRACK_RECORD,e.LA=e.LA_RECORD})},t.prototype.disableRecording=function(){var e=this;this.RECORDING_PHASE=!1,this.TRACE_INIT("Deleting Recording methods",function(){for(var r=0;r<10;r++){var i=r>0?r:"";delete e["CONSUME"+i],delete e["SUBRULE"+i],delete e["OPTION"+i],delete e["OR"+i],delete e["MANY"+i],delete e["MANY_SEP"+i],delete e["AT_LEAST_ONE"+i],delete e["AT_LEAST_ONE_SEP"+i]}delete e.consume,delete e.subrule,delete e.option,delete e.or,delete e.many,delete e.atLeastOne,delete e.ACTION,delete e.BACKTRACK,delete e.LA})},t.prototype.ACTION_RECORD=function(e){},t.prototype.BACKTRACK_RECORD=function(e,r){return function(){return!0}},t.prototype.LA_RECORD=function(e){return Vye.END_OF_FILE},t.prototype.topLevelRuleRecord=function(e,r){try{var i=new fo.Rule({definition:[],name:e});return i.name=e,this.recordingProdStack.push(i),r.call(this),this.recordingProdStack.pop(),i}catch(n){if(n.KNOWN_RECORDER_ERROR!==!0)try{n.message=n.message+` + This error was thrown during the "grammar recording phase" For more info see: + https://chevrotain.io/docs/guide/internals.html#grammar-recording`}catch(s){throw n}throw n}},t.prototype.optionInternalRecord=function(e,r){return tp.call(this,fo.Option,e,r)},t.prototype.atLeastOneInternalRecord=function(e,r){tp.call(this,fo.RepetitionMandatory,r,e)},t.prototype.atLeastOneSepFirstInternalRecord=function(e,r){tp.call(this,fo.RepetitionMandatoryWithSeparator,r,e,tY)},t.prototype.manyInternalRecord=function(e,r){tp.call(this,fo.Repetition,r,e)},t.prototype.manySepFirstInternalRecord=function(e,r){tp.call(this,fo.RepetitionWithSeparator,r,e,tY)},t.prototype.orInternalRecord=function(e,r){return Zye.call(this,e,r)},t.prototype.subruleInternalRecord=function(e,r,i){if(KI(r),!e||(0,Cn.has)(e,"ruleName")===!1){var n=new Error(" argument is invalid"+(" expecting a Parser method reference but got: <"+JSON.stringify(e)+">")+(` + inside top level rule: <`+this.recordingProdStack[0].name+">"));throw n.KNOWN_RECORDER_ERROR=!0,n}var s=(0,Cn.peek)(this.recordingProdStack),o=e.ruleName,a=new fo.NonTerminal({idx:r,nonTerminalName:o,label:i==null?void 0:i.LABEL,referencedRule:void 0});return s.definition.push(a),this.outputCst?Xye:OI},t.prototype.consumeInternalRecord=function(e,r,i){if(KI(r),!(0,$j.hasShortKeyProperty)(e)){var n=new Error(" argument is invalid"+(" expecting a TokenType reference but got: <"+JSON.stringify(e)+">")+(` + inside top level rule: <`+this.recordingProdStack[0].name+">"));throw n.KNOWN_RECORDER_ERROR=!0,n}var s=(0,Cn.peek)(this.recordingProdStack),o=new fo.Terminal({idx:r,terminalType:e,label:i==null?void 0:i.LABEL});return s.definition.push(o),nY},t}();MI.GastRecorder=$ye;function tp(t,e,r,i){i===void 0&&(i=!1),KI(r);var n=(0,Cn.peek)(this.recordingProdStack),s=(0,Cn.isFunction)(e)?e:e.DEF,o=new t({definition:[],idx:r});return i&&(o.separator=e.SEP),(0,Cn.has)(e,"MAX_LOOKAHEAD")&&(o.maxLookahead=e.MAX_LOOKAHEAD),this.recordingProdStack.push(o),s.call(this),n.definition.push(o),this.recordingProdStack.pop(),OI}function Zye(t,e){var r=this;KI(e);var i=(0,Cn.peek)(this.recordingProdStack),n=(0,Cn.isArray)(t)===!1,s=n===!1?t:t.DEF,o=new fo.Alternation({definition:[],idx:e,ignoreAmbiguities:n&&t.IGNORE_AMBIGUITIES===!0});(0,Cn.has)(t,"MAX_LOOKAHEAD")&&(o.maxLookahead=t.MAX_LOOKAHEAD);var a=(0,Cn.some)(s,function(l){return(0,Cn.isFunction)(l.GATE)});return o.hasPredicates=a,i.definition.push(o),(0,Cn.forEach)(s,function(l){var c=new fo.Alternative({definition:[]});o.definition.push(c),(0,Cn.has)(l,"IGNORE_AMBIGUITIES")?c.ignoreAmbiguities=l.IGNORE_AMBIGUITIES:(0,Cn.has)(l,"GATE")&&(c.ignoreAmbiguities=!0),r.recordingProdStack.push(c),l.ALT.call(r),r.recordingProdStack.pop()}),OI}function sY(t){return t===0?"":""+t}function KI(t){if(t<0||t>rY){var e=new Error("Invalid DSL Method idx value: <"+t+`> + `+("Idx value must be a none negative value smaller than "+(rY+1)));throw e.KNOWN_RECORDER_ERROR=!0,e}}});var AY=E(UI=>{"use strict";Object.defineProperty(UI,"__esModule",{value:!0});UI.PerformanceTracer=void 0;var aY=Dt(),ewe=Tn(),twe=function(){function t(){}return t.prototype.initPerformanceTracer=function(e){if((0,aY.has)(e,"traceInitPerf")){var r=e.traceInitPerf,i=typeof r=="number";this.traceInitMaxIdent=i?r:Infinity,this.traceInitPerf=i?r>0:r}else this.traceInitMaxIdent=0,this.traceInitPerf=ewe.DEFAULT_PARSER_CONFIG.traceInitPerf;this.traceInitIndent=-1},t.prototype.TRACE_INIT=function(e,r){if(this.traceInitPerf===!0){this.traceInitIndent++;var i=new Array(this.traceInitIndent+1).join(" ");this.traceInitIndent <"+e+">");var n=(0,aY.timer)(r),s=n.time,o=n.value,a=s>10?console.warn:console.log;return this.traceInitIndent time: "+s+"ms"),this.traceInitIndent--,o}else return r()},t}();UI.PerformanceTracer=twe});var lY=E(HI=>{"use strict";Object.defineProperty(HI,"__esModule",{value:!0});HI.applyMixins=void 0;function rwe(t,e){e.forEach(function(r){var i=r.prototype;Object.getOwnPropertyNames(i).forEach(function(n){if(n!=="constructor"){var s=Object.getOwnPropertyDescriptor(i,n);s&&(s.get||s.set)?Object.defineProperty(t.prototype,n,s):t.prototype[n]=r.prototype[n]}})})}HI.applyMixins=rwe});var Tn=E(or=>{"use strict";var cY=or&&or.__extends||function(){var t=function(e,r){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},t(e,r)};return function(e,r){if(typeof r!="function"&&r!==null)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");t(e,r);function i(){this.constructor=e}e.prototype=r===null?Object.create(r):(i.prototype=r.prototype,new i)}}();Object.defineProperty(or,"__esModule",{value:!0});or.EmbeddedActionsParser=or.CstParser=or.Parser=or.EMPTY_ALT=or.ParserDefinitionErrorType=or.DEFAULT_RULE_CONFIG=or.DEFAULT_PARSER_CONFIG=or.END_OF_FILE=void 0;var Wi=Dt(),iwe=VG(),uY=nA(),gY=Wh(),fY=yj(),nwe=pS(),swe=kj(),owe=Kj(),awe=Hj(),Awe=jj(),lwe=Wj(),cwe=Vj(),uwe=Zj(),gwe=oY(),fwe=AY(),hwe=lY();or.END_OF_FILE=(0,uY.createTokenInstance)(uY.EOF,"",NaN,NaN,NaN,NaN,NaN,NaN);Object.freeze(or.END_OF_FILE);or.DEFAULT_PARSER_CONFIG=Object.freeze({recoveryEnabled:!1,maxLookahead:3,dynamicTokensEnabled:!1,outputCst:!0,errorMessageProvider:gY.defaultParserErrorProvider,nodeLocationTracking:"none",traceInitPerf:!1,skipValidations:!1});or.DEFAULT_RULE_CONFIG=Object.freeze({recoveryValueFunc:function(){},resyncEnabled:!0});var pwe;(function(t){t[t.INVALID_RULE_NAME=0]="INVALID_RULE_NAME",t[t.DUPLICATE_RULE_NAME=1]="DUPLICATE_RULE_NAME",t[t.INVALID_RULE_OVERRIDE=2]="INVALID_RULE_OVERRIDE",t[t.DUPLICATE_PRODUCTIONS=3]="DUPLICATE_PRODUCTIONS",t[t.UNRESOLVED_SUBRULE_REF=4]="UNRESOLVED_SUBRULE_REF",t[t.LEFT_RECURSION=5]="LEFT_RECURSION",t[t.NONE_LAST_EMPTY_ALT=6]="NONE_LAST_EMPTY_ALT",t[t.AMBIGUOUS_ALTS=7]="AMBIGUOUS_ALTS",t[t.CONFLICT_TOKENS_RULES_NAMESPACE=8]="CONFLICT_TOKENS_RULES_NAMESPACE",t[t.INVALID_TOKEN_NAME=9]="INVALID_TOKEN_NAME",t[t.NO_NON_EMPTY_LOOKAHEAD=10]="NO_NON_EMPTY_LOOKAHEAD",t[t.AMBIGUOUS_PREFIX_ALTS=11]="AMBIGUOUS_PREFIX_ALTS",t[t.TOO_MANY_ALTS=12]="TOO_MANY_ALTS"})(pwe=or.ParserDefinitionErrorType||(or.ParserDefinitionErrorType={}));function dwe(t){return t===void 0&&(t=void 0),function(){return t}}or.EMPTY_ALT=dwe;var GI=function(){function t(e,r){this.definitionErrors=[],this.selfAnalysisDone=!1;var i=this;if(i.initErrorHandler(r),i.initLexerAdapter(),i.initLooksAhead(r),i.initRecognizerEngine(e,r),i.initRecoverable(r),i.initTreeBuilder(r),i.initContentAssist(),i.initGastRecorder(r),i.initPerformanceTracer(r),(0,Wi.has)(r,"ignoredIssues"))throw new Error(`The IParserConfig property has been deprecated. + Please use the flag on the relevant DSL method instead. + See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#IGNORING_AMBIGUITIES + For further details.`);this.skipValidations=(0,Wi.has)(r,"skipValidations")?r.skipValidations:or.DEFAULT_PARSER_CONFIG.skipValidations}return t.performSelfAnalysis=function(e){throw Error("The **static** `performSelfAnalysis` method has been deprecated. \nUse the **instance** method with the same name instead.")},t.prototype.performSelfAnalysis=function(){var e=this;this.TRACE_INIT("performSelfAnalysis",function(){var r;e.selfAnalysisDone=!0;var i=e.className;e.TRACE_INIT("toFastProps",function(){(0,Wi.toFastProperties)(e)}),e.TRACE_INIT("Grammar Recording",function(){try{e.enableRecording(),(0,Wi.forEach)(e.definedRulesNames,function(s){var o=e[s],a=o.originalGrammarAction,l=void 0;e.TRACE_INIT(s+" Rule",function(){l=e.topLevelRuleRecord(s,a)}),e.gastProductionsCache[s]=l})}finally{e.disableRecording()}});var n=[];if(e.TRACE_INIT("Grammar Resolving",function(){n=(0,fY.resolveGrammar)({rules:(0,Wi.values)(e.gastProductionsCache)}),e.definitionErrors=e.definitionErrors.concat(n)}),e.TRACE_INIT("Grammar Validations",function(){if((0,Wi.isEmpty)(n)&&e.skipValidations===!1){var s=(0,fY.validateGrammar)({rules:(0,Wi.values)(e.gastProductionsCache),maxLookahead:e.maxLookahead,tokenTypes:(0,Wi.values)(e.tokensMap),errMsgProvider:gY.defaultGrammarValidatorErrorProvider,grammarName:i});e.definitionErrors=e.definitionErrors.concat(s)}}),(0,Wi.isEmpty)(e.definitionErrors)&&(e.recoveryEnabled&&e.TRACE_INIT("computeAllProdsFollows",function(){var s=(0,iwe.computeAllProdsFollows)((0,Wi.values)(e.gastProductionsCache));e.resyncFollows=s}),e.TRACE_INIT("ComputeLookaheadFunctions",function(){e.preComputeLookaheadFunctions((0,Wi.values)(e.gastProductionsCache))})),!t.DEFER_DEFINITION_ERRORS_HANDLING&&!(0,Wi.isEmpty)(e.definitionErrors))throw r=(0,Wi.map)(e.definitionErrors,function(s){return s.message}),new Error(`Parser Definition Errors detected: + `+r.join(` +------------------------------- +`))})},t.DEFER_DEFINITION_ERRORS_HANDLING=!1,t}();or.Parser=GI;(0,hwe.applyMixins)(GI,[nwe.Recoverable,swe.LooksAhead,owe.TreeBuilder,awe.LexerAdapter,lwe.RecognizerEngine,Awe.RecognizerApi,cwe.ErrorHandler,uwe.ContentAssist,gwe.GastRecorder,fwe.PerformanceTracer]);var Cwe=function(t){cY(e,t);function e(r,i){i===void 0&&(i=or.DEFAULT_PARSER_CONFIG);var n=this,s=(0,Wi.cloneObj)(i);return s.outputCst=!0,n=t.call(this,r,s)||this,n}return e}(GI);or.CstParser=Cwe;var mwe=function(t){cY(e,t);function e(r,i){i===void 0&&(i=or.DEFAULT_PARSER_CONFIG);var n=this,s=(0,Wi.cloneObj)(i);return s.outputCst=!1,n=t.call(this,r,s)||this,n}return e}(GI);or.EmbeddedActionsParser=mwe});var pY=E(jI=>{"use strict";Object.defineProperty(jI,"__esModule",{value:!0});jI.createSyntaxDiagramsCode=void 0;var hY=Uv();function Ewe(t,e){var r=e===void 0?{}:e,i=r.resourceBase,n=i===void 0?"https://unpkg.com/chevrotain@"+hY.VERSION+"/diagrams/":i,s=r.css,o=s===void 0?"https://unpkg.com/chevrotain@"+hY.VERSION+"/diagrams/diagrams.css":s,a=` + + + + + +`,l=` + +`,c=` + + + + +`,u=` +
+`,g=` + +`,f=` + +`;return a+l+c+u+g+f}jI.createSyntaxDiagramsCode=Ewe});var mY=E(He=>{"use strict";Object.defineProperty(He,"__esModule",{value:!0});He.Parser=He.createSyntaxDiagramsCode=He.clearCache=He.GAstVisitor=He.serializeProduction=He.serializeGrammar=He.Terminal=He.Rule=He.RepetitionWithSeparator=He.RepetitionMandatoryWithSeparator=He.RepetitionMandatory=He.Repetition=He.Option=He.NonTerminal=He.Alternative=He.Alternation=He.defaultLexerErrorProvider=He.NoViableAltException=He.NotAllInputParsedException=He.MismatchedTokenException=He.isRecognitionException=He.EarlyExitException=He.defaultParserErrorProvider=He.tokenName=He.tokenMatcher=He.tokenLabel=He.EOF=He.createTokenInstance=He.createToken=He.LexerDefinitionErrorType=He.Lexer=He.EMPTY_ALT=He.ParserDefinitionErrorType=He.EmbeddedActionsParser=He.CstParser=He.VERSION=void 0;var Iwe=Uv();Object.defineProperty(He,"VERSION",{enumerable:!0,get:function(){return Iwe.VERSION}});var YI=Tn();Object.defineProperty(He,"CstParser",{enumerable:!0,get:function(){return YI.CstParser}});Object.defineProperty(He,"EmbeddedActionsParser",{enumerable:!0,get:function(){return YI.EmbeddedActionsParser}});Object.defineProperty(He,"ParserDefinitionErrorType",{enumerable:!0,get:function(){return YI.ParserDefinitionErrorType}});Object.defineProperty(He,"EMPTY_ALT",{enumerable:!0,get:function(){return YI.EMPTY_ALT}});var dY=Gh();Object.defineProperty(He,"Lexer",{enumerable:!0,get:function(){return dY.Lexer}});Object.defineProperty(He,"LexerDefinitionErrorType",{enumerable:!0,get:function(){return dY.LexerDefinitionErrorType}});var ku=nA();Object.defineProperty(He,"createToken",{enumerable:!0,get:function(){return ku.createToken}});Object.defineProperty(He,"createTokenInstance",{enumerable:!0,get:function(){return ku.createTokenInstance}});Object.defineProperty(He,"EOF",{enumerable:!0,get:function(){return ku.EOF}});Object.defineProperty(He,"tokenLabel",{enumerable:!0,get:function(){return ku.tokenLabel}});Object.defineProperty(He,"tokenMatcher",{enumerable:!0,get:function(){return ku.tokenMatcher}});Object.defineProperty(He,"tokenName",{enumerable:!0,get:function(){return ku.tokenName}});var ywe=Wh();Object.defineProperty(He,"defaultParserErrorProvider",{enumerable:!0,get:function(){return ywe.defaultParserErrorProvider}});var rp=vu();Object.defineProperty(He,"EarlyExitException",{enumerable:!0,get:function(){return rp.EarlyExitException}});Object.defineProperty(He,"isRecognitionException",{enumerable:!0,get:function(){return rp.isRecognitionException}});Object.defineProperty(He,"MismatchedTokenException",{enumerable:!0,get:function(){return rp.MismatchedTokenException}});Object.defineProperty(He,"NotAllInputParsedException",{enumerable:!0,get:function(){return rp.NotAllInputParsedException}});Object.defineProperty(He,"NoViableAltException",{enumerable:!0,get:function(){return rp.NoViableAltException}});var wwe=_v();Object.defineProperty(He,"defaultLexerErrorProvider",{enumerable:!0,get:function(){return wwe.defaultLexerErrorProvider}});var ho=hn();Object.defineProperty(He,"Alternation",{enumerable:!0,get:function(){return ho.Alternation}});Object.defineProperty(He,"Alternative",{enumerable:!0,get:function(){return ho.Alternative}});Object.defineProperty(He,"NonTerminal",{enumerable:!0,get:function(){return ho.NonTerminal}});Object.defineProperty(He,"Option",{enumerable:!0,get:function(){return ho.Option}});Object.defineProperty(He,"Repetition",{enumerable:!0,get:function(){return ho.Repetition}});Object.defineProperty(He,"RepetitionMandatory",{enumerable:!0,get:function(){return ho.RepetitionMandatory}});Object.defineProperty(He,"RepetitionMandatoryWithSeparator",{enumerable:!0,get:function(){return ho.RepetitionMandatoryWithSeparator}});Object.defineProperty(He,"RepetitionWithSeparator",{enumerable:!0,get:function(){return ho.RepetitionWithSeparator}});Object.defineProperty(He,"Rule",{enumerable:!0,get:function(){return ho.Rule}});Object.defineProperty(He,"Terminal",{enumerable:!0,get:function(){return ho.Terminal}});var CY=hn();Object.defineProperty(He,"serializeGrammar",{enumerable:!0,get:function(){return CY.serializeGrammar}});Object.defineProperty(He,"serializeProduction",{enumerable:!0,get:function(){return CY.serializeProduction}});var Bwe=wu();Object.defineProperty(He,"GAstVisitor",{enumerable:!0,get:function(){return Bwe.GAstVisitor}});function Qwe(){console.warn(`The clearCache function was 'soft' removed from the Chevrotain API. + It performs no action other than printing this message. + Please avoid using it as it will be completely removed in the future`)}He.clearCache=Qwe;var bwe=pY();Object.defineProperty(He,"createSyntaxDiagramsCode",{enumerable:!0,get:function(){return bwe.createSyntaxDiagramsCode}});var vwe=function(){function t(){throw new Error(`The Parser class has been deprecated, use CstParser or EmbeddedActionsParser instead. +See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_7-0-0`)}return t}();He.Parser=vwe});var yY=E((Trt,EY)=>{var qI=mY(),ca=qI.createToken,IY=qI.tokenMatcher,yS=qI.Lexer,Swe=qI.EmbeddedActionsParser;EY.exports=t=>{let e=ca({name:"LogicalOperator",pattern:yS.NA}),r=ca({name:"Or",pattern:/\|/,categories:e}),i=ca({name:"Xor",pattern:/\^/,categories:e}),n=ca({name:"And",pattern:/&/,categories:e}),s=ca({name:"Not",pattern:/!/}),o=ca({name:"LParen",pattern:/\(/}),a=ca({name:"RParen",pattern:/\)/}),l=ca({name:"Query",pattern:t}),u=[ca({name:"WhiteSpace",pattern:/\s+/,group:yS.SKIPPED}),r,i,n,o,a,s,e,l],g=new yS(u);class f extends Swe{constructor(p){super(u);this.RULE("expression",()=>this.SUBRULE(this.logicalExpression)),this.RULE("logicalExpression",()=>{let m=this.SUBRULE(this.atomicExpression);return this.MANY(()=>{let I=m,B=this.CONSUME(e),b=this.SUBRULE2(this.atomicExpression);IY(B,r)?m=R=>I(R)||b(R):IY(B,i)?m=R=>!!(I(R)^b(R)):m=R=>I(R)&&b(R)}),m}),this.RULE("atomicExpression",()=>this.OR([{ALT:()=>this.SUBRULE(this.parenthesisExpression)},{ALT:()=>{let{image:d}=this.CONSUME(l);return m=>m(d)}},{ALT:()=>{this.CONSUME(s);let d=this.SUBRULE(this.atomicExpression);return m=>!d(m)}}])),this.RULE("parenthesisExpression",()=>{let d;return this.CONSUME(o),d=this.SUBRULE(this.expression),this.CONSUME(a),d}),this.performSelfAnalysis()}}return{TinylogicLexer:g,TinylogicParser:f}}});var wY=E(JI=>{var xwe=yY();JI.makeParser=(t=/[a-z]+/)=>{let{TinylogicLexer:e,TinylogicParser:r}=xwe(t),i=new r;return(n,s)=>{let o=e.tokenize(n);return i.input=o.tokens,i.expression()(s)}};JI.parse=JI.makeParser()});var QY=E((Ort,BY)=>{"use strict";BY.exports=(...t)=>[...new Set([].concat(...t))]});var wS=E((Krt,bY)=>{"use strict";var kwe=require("stream"),vY=kwe.PassThrough,Pwe=Array.prototype.slice;bY.exports=Dwe;function Dwe(){let t=[],e=!1,r=Pwe.call(arguments),i=r[r.length-1];i&&!Array.isArray(i)&&i.pipe==null?r.pop():i={};let n=i.end!==!1;i.objectMode==null&&(i.objectMode=!0),i.highWaterMark==null&&(i.highWaterMark=64*1024);let s=vY(i);function o(){for(let c=0,u=arguments.length;c0||(e=!1,a())}function f(h){function p(){h.removeListener("merge2UnpipeEnd",p),h.removeListener("end",p),g()}if(h._readableState.endEmitted)return g();h.on("merge2UnpipeEnd",p),h.on("end",p),h.pipe(s,{end:!1}),h.resume()}for(let h=0;h{"use strict";Object.defineProperty(WI,"__esModule",{value:!0});function Rwe(t){return t.reduce((e,r)=>[].concat(e,r),[])}WI.flatten=Rwe;function Fwe(t,e){let r=[[]],i=0;for(let n of t)e(n)?(i++,r[i]=[]):r[i].push(n);return r}WI.splitWhen=Fwe});var kY=E(BS=>{"use strict";Object.defineProperty(BS,"__esModule",{value:!0});function Nwe(t){return t.code==="ENOENT"}BS.isEnoentCodeError=Nwe});var DY=E(QS=>{"use strict";Object.defineProperty(QS,"__esModule",{value:!0});var PY=class{constructor(e,r){this.name=e,this.isBlockDevice=r.isBlockDevice.bind(r),this.isCharacterDevice=r.isCharacterDevice.bind(r),this.isDirectory=r.isDirectory.bind(r),this.isFIFO=r.isFIFO.bind(r),this.isFile=r.isFile.bind(r),this.isSocket=r.isSocket.bind(r),this.isSymbolicLink=r.isSymbolicLink.bind(r)}};function Lwe(t,e){return new PY(t,e)}QS.createDirentFromStats=Lwe});var RY=E(Pu=>{"use strict";Object.defineProperty(Pu,"__esModule",{value:!0});var Twe=require("path"),Mwe=2,Owe=/(\\?)([()*?[\]{|}]|^!|[!+@](?=\())/g;function Kwe(t){return t.replace(/\\/g,"/")}Pu.unixify=Kwe;function Uwe(t,e){return Twe.resolve(t,e)}Pu.makeAbsolute=Uwe;function Hwe(t){return t.replace(Owe,"\\$2")}Pu.escape=Hwe;function Gwe(t){if(t.charAt(0)==="."){let e=t.charAt(1);if(e==="/"||e==="\\")return t.slice(Mwe)}return t}Pu.removeLeadingDotSegment=Gwe});var NY=E((Yrt,FY)=>{FY.exports=function(e){if(typeof e!="string"||e==="")return!1;for(var r;r=/(\\).|([@?!+*]\(.*\))/g.exec(e);){if(r[2])return!0;e=e.slice(r.index+r[0].length)}return!1}});var TY=E((qrt,LY)=>{var jwe=NY(),Ywe={"{":"}","(":")","[":"]"},qwe=/\\(.)|(^!|\*|[\].+)]\?|\[[^\\\]]+\]|\{[^\\}]+\}|\(\?[:!=][^\\)]+\)|\([^|]+\|[^\\)]+\))/,Jwe=/\\(.)|(^!|[*?{}()[\]]|\(\?)/;LY.exports=function(e,r){if(typeof e!="string"||e==="")return!1;if(jwe(e))return!0;var i=qwe,n;for(r&&r.strict===!1&&(i=Jwe);n=i.exec(e);){if(n[2])return!0;var s=n.index+n[0].length,o=n[1],a=o?Ywe[o]:null;if(o&&a){var l=e.indexOf(a,s);l!==-1&&(s=l+1)}e=e.slice(s)}return!1}});var OY=E((Jrt,MY)=>{"use strict";var Wwe=TY(),zwe=require("path").posix.dirname,Vwe=require("os").platform()==="win32",bS="/",_we=/\\/g,Xwe=/[\{\[].*[\}\]]$/,Zwe=/(^|[^\\])([\{\[]|\([^\)]+$)/,$we=/\\([\!\*\?\|\[\]\(\)\{\}])/g;MY.exports=function(e,r){var i=Object.assign({flipBackslashes:!0},r);i.flipBackslashes&&Vwe&&e.indexOf(bS)<0&&(e=e.replace(_we,bS)),Xwe.test(e)&&(e+=bS),e+="a";do e=zwe(e);while(Wwe(e)||Zwe.test(e));return e.replace($we,"$1")}});var WY=E(Hr=>{"use strict";Object.defineProperty(Hr,"__esModule",{value:!0});var eBe=require("path"),tBe=OY(),KY=Nn(),rBe=iv(),UY="**",iBe="\\",nBe=/[*?]|^!/,sBe=/\[.*]/,oBe=/(?:^|[^!*+?@])\(.*\|.*\)/,aBe=/[!*+?@]\(.*\)/,ABe=/{.*(?:,|\.\.).*}/;function GY(t,e={}){return!HY(t,e)}Hr.isStaticPattern=GY;function HY(t,e={}){return!!(e.caseSensitiveMatch===!1||t.includes(iBe)||nBe.test(t)||sBe.test(t)||oBe.test(t)||e.extglob!==!1&&aBe.test(t)||e.braceExpansion!==!1&&ABe.test(t))}Hr.isDynamicPattern=HY;function lBe(t){return zI(t)?t.slice(1):t}Hr.convertToPositivePattern=lBe;function cBe(t){return"!"+t}Hr.convertToNegativePattern=cBe;function zI(t){return t.startsWith("!")&&t[1]!=="("}Hr.isNegativePattern=zI;function jY(t){return!zI(t)}Hr.isPositivePattern=jY;function uBe(t){return t.filter(zI)}Hr.getNegativePatterns=uBe;function gBe(t){return t.filter(jY)}Hr.getPositivePatterns=gBe;function fBe(t){return tBe(t,{flipBackslashes:!1})}Hr.getBaseDirectory=fBe;function hBe(t){return t.includes(UY)}Hr.hasGlobStar=hBe;function YY(t){return t.endsWith("/"+UY)}Hr.endsWithSlashGlobStar=YY;function pBe(t){let e=eBe.basename(t);return YY(t)||GY(e)}Hr.isAffectDepthOfReadingPattern=pBe;function dBe(t){return t.reduce((e,r)=>e.concat(qY(r)),[])}Hr.expandPatternsWithBraceExpansion=dBe;function qY(t){return KY.braces(t,{expand:!0,nodupes:!0})}Hr.expandBraceExpansion=qY;function CBe(t,e){let r=rBe.scan(t,Object.assign(Object.assign({},e),{parts:!0}));return r.parts.length===0?[t]:r.parts}Hr.getPatternParts=CBe;function JY(t,e){return KY.makeRe(t,e)}Hr.makeRe=JY;function mBe(t,e){return t.map(r=>JY(r,e))}Hr.convertPatternsToRe=mBe;function EBe(t,e){return e.some(r=>r.test(t))}Hr.matchAny=EBe});var VY=E(vS=>{"use strict";Object.defineProperty(vS,"__esModule",{value:!0});var IBe=wS();function yBe(t){let e=IBe(t);return t.forEach(r=>{r.once("error",i=>e.emit("error",i))}),e.once("close",()=>zY(t)),e.once("end",()=>zY(t)),e}vS.merge=yBe;function zY(t){t.forEach(e=>e.emit("close"))}});var _Y=E(VI=>{"use strict";Object.defineProperty(VI,"__esModule",{value:!0});function wBe(t){return typeof t=="string"}VI.isString=wBe;function BBe(t){return t===""}VI.isEmpty=BBe});var ga=E(ua=>{"use strict";Object.defineProperty(ua,"__esModule",{value:!0});var QBe=xY();ua.array=QBe;var bBe=kY();ua.errno=bBe;var vBe=DY();ua.fs=vBe;var SBe=RY();ua.path=SBe;var xBe=WY();ua.pattern=xBe;var kBe=VY();ua.stream=kBe;var PBe=_Y();ua.string=PBe});var tq=E(fa=>{"use strict";Object.defineProperty(fa,"__esModule",{value:!0});var Ll=ga();function DBe(t,e){let r=XY(t),i=ZY(t,e.ignore),n=r.filter(l=>Ll.pattern.isStaticPattern(l,e)),s=r.filter(l=>Ll.pattern.isDynamicPattern(l,e)),o=SS(n,i,!1),a=SS(s,i,!0);return o.concat(a)}fa.generate=DBe;function SS(t,e,r){let i=$Y(t);return"."in i?[xS(".",t,e,r)]:eq(i,e,r)}fa.convertPatternsToTasks=SS;function XY(t){return Ll.pattern.getPositivePatterns(t)}fa.getPositivePatterns=XY;function ZY(t,e){return Ll.pattern.getNegativePatterns(t).concat(e).map(Ll.pattern.convertToPositivePattern)}fa.getNegativePatternsAsPositive=ZY;function $Y(t){let e={};return t.reduce((r,i)=>{let n=Ll.pattern.getBaseDirectory(i);return n in r?r[n].push(i):r[n]=[i],r},e)}fa.groupPatternsByBaseDirectory=$Y;function eq(t,e,r){return Object.keys(t).map(i=>xS(i,t[i],e,r))}fa.convertPatternGroupsToTasks=eq;function xS(t,e,r,i){return{dynamic:i,positive:e,negative:r,base:t,patterns:[].concat(e,r.map(Ll.pattern.convertToNegativePattern))}}fa.convertPatternGroupToTask=xS});var iq=E(_I=>{"use strict";Object.defineProperty(_I,"__esModule",{value:!0});_I.read=void 0;function RBe(t,e,r){e.fs.lstat(t,(i,n)=>{if(i!==null){rq(r,i);return}if(!n.isSymbolicLink()||!e.followSymbolicLink){kS(r,n);return}e.fs.stat(t,(s,o)=>{if(s!==null){if(e.throwErrorOnBrokenSymbolicLink){rq(r,s);return}kS(r,n);return}e.markSymbolicLink&&(o.isSymbolicLink=()=>!0),kS(r,o)})})}_I.read=RBe;function rq(t,e){t(e)}function kS(t,e){t(null,e)}});var nq=E(XI=>{"use strict";Object.defineProperty(XI,"__esModule",{value:!0});XI.read=void 0;function FBe(t,e){let r=e.fs.lstatSync(t);if(!r.isSymbolicLink()||!e.followSymbolicLink)return r;try{let i=e.fs.statSync(t);return e.markSymbolicLink&&(i.isSymbolicLink=()=>!0),i}catch(i){if(!e.throwErrorOnBrokenSymbolicLink)return r;throw i}}XI.read=FBe});var sq=E(AA=>{"use strict";Object.defineProperty(AA,"__esModule",{value:!0});AA.createFileSystemAdapter=AA.FILE_SYSTEM_ADAPTER=void 0;var ZI=require("fs");AA.FILE_SYSTEM_ADAPTER={lstat:ZI.lstat,stat:ZI.stat,lstatSync:ZI.lstatSync,statSync:ZI.statSync};function NBe(t){return t===void 0?AA.FILE_SYSTEM_ADAPTER:Object.assign(Object.assign({},AA.FILE_SYSTEM_ADAPTER),t)}AA.createFileSystemAdapter=NBe});var aq=E(PS=>{"use strict";Object.defineProperty(PS,"__esModule",{value:!0});var LBe=sq(),oq=class{constructor(e={}){this._options=e,this.followSymbolicLink=this._getValue(this._options.followSymbolicLink,!0),this.fs=LBe.createFileSystemAdapter(this._options.fs),this.markSymbolicLink=this._getValue(this._options.markSymbolicLink,!1),this.throwErrorOnBrokenSymbolicLink=this._getValue(this._options.throwErrorOnBrokenSymbolicLink,!0)}_getValue(e,r){return e!=null?e:r}};PS.default=oq});var Tl=E(lA=>{"use strict";Object.defineProperty(lA,"__esModule",{value:!0});lA.statSync=lA.stat=lA.Settings=void 0;var Aq=iq(),TBe=nq(),DS=aq();lA.Settings=DS.default;function MBe(t,e,r){if(typeof e=="function"){Aq.read(t,RS(),e);return}Aq.read(t,RS(e),r)}lA.stat=MBe;function OBe(t,e){let r=RS(e);return TBe.read(t,r)}lA.statSync=OBe;function RS(t={}){return t instanceof DS.default?t:new DS.default(t)}});var cq=E((iit,lq)=>{lq.exports=KBe;function KBe(t,e){var r,i,n,s=!0;Array.isArray(t)?(r=[],i=t.length):(n=Object.keys(t),r={},i=n.length);function o(l){function c(){e&&e(l,r),e=null}s?process.nextTick(c):c()}function a(l,c,u){r[l]=u,(--i==0||c)&&o(c)}i?n?n.forEach(function(l){t[l](function(c,u){a(l,c,u)})}):t.forEach(function(l,c){l(function(u,g){a(c,u,g)})}):o(null),s=!1}});var FS=E($I=>{"use strict";Object.defineProperty($I,"__esModule",{value:!0});$I.IS_SUPPORT_READDIR_WITH_FILE_TYPES=void 0;var ey=process.versions.node.split(".");if(ey[0]===void 0||ey[1]===void 0)throw new Error(`Unexpected behavior. The 'process.versions.node' variable has invalid value: ${process.versions.node}`);var uq=Number.parseInt(ey[0],10),UBe=Number.parseInt(ey[1],10),gq=10,HBe=10,GBe=uq>gq,jBe=uq===gq&&UBe>=HBe;$I.IS_SUPPORT_READDIR_WITH_FILE_TYPES=GBe||jBe});var hq=E(ty=>{"use strict";Object.defineProperty(ty,"__esModule",{value:!0});ty.createDirentFromStats=void 0;var fq=class{constructor(e,r){this.name=e,this.isBlockDevice=r.isBlockDevice.bind(r),this.isCharacterDevice=r.isCharacterDevice.bind(r),this.isDirectory=r.isDirectory.bind(r),this.isFIFO=r.isFIFO.bind(r),this.isFile=r.isFile.bind(r),this.isSocket=r.isSocket.bind(r),this.isSymbolicLink=r.isSymbolicLink.bind(r)}};function YBe(t,e){return new fq(t,e)}ty.createDirentFromStats=YBe});var NS=E(ry=>{"use strict";Object.defineProperty(ry,"__esModule",{value:!0});ry.fs=void 0;var qBe=hq();ry.fs=qBe});var LS=E(iy=>{"use strict";Object.defineProperty(iy,"__esModule",{value:!0});iy.joinPathSegments=void 0;function JBe(t,e,r){return t.endsWith(r)?t+e:t+r+e}iy.joinPathSegments=JBe});var Iq=E(cA=>{"use strict";Object.defineProperty(cA,"__esModule",{value:!0});cA.readdir=cA.readdirWithFileTypes=cA.read=void 0;var WBe=Tl(),pq=cq(),zBe=FS(),dq=NS(),Cq=LS();function VBe(t,e,r){if(!e.stats&&zBe.IS_SUPPORT_READDIR_WITH_FILE_TYPES){mq(t,e,r);return}Eq(t,e,r)}cA.read=VBe;function mq(t,e,r){e.fs.readdir(t,{withFileTypes:!0},(i,n)=>{if(i!==null){ny(r,i);return}let s=n.map(a=>({dirent:a,name:a.name,path:Cq.joinPathSegments(t,a.name,e.pathSegmentSeparator)}));if(!e.followSymbolicLinks){TS(r,s);return}let o=s.map(a=>_Be(a,e));pq(o,(a,l)=>{if(a!==null){ny(r,a);return}TS(r,l)})})}cA.readdirWithFileTypes=mq;function _Be(t,e){return r=>{if(!t.dirent.isSymbolicLink()){r(null,t);return}e.fs.stat(t.path,(i,n)=>{if(i!==null){if(e.throwErrorOnBrokenSymbolicLink){r(i);return}r(null,t);return}t.dirent=dq.fs.createDirentFromStats(t.name,n),r(null,t)})}}function Eq(t,e,r){e.fs.readdir(t,(i,n)=>{if(i!==null){ny(r,i);return}let s=n.map(o=>{let a=Cq.joinPathSegments(t,o,e.pathSegmentSeparator);return l=>{WBe.stat(a,e.fsStatSettings,(c,u)=>{if(c!==null){l(c);return}let g={name:o,path:a,dirent:dq.fs.createDirentFromStats(o,u)};e.stats&&(g.stats=u),l(null,g)})}});pq(s,(o,a)=>{if(o!==null){ny(r,o);return}TS(r,a)})})}cA.readdir=Eq;function ny(t,e){t(e)}function TS(t,e){t(null,e)}});var bq=E(uA=>{"use strict";Object.defineProperty(uA,"__esModule",{value:!0});uA.readdir=uA.readdirWithFileTypes=uA.read=void 0;var XBe=Tl(),ZBe=FS(),yq=NS(),wq=LS();function $Be(t,e){return!e.stats&&ZBe.IS_SUPPORT_READDIR_WITH_FILE_TYPES?Bq(t,e):Qq(t,e)}uA.read=$Be;function Bq(t,e){return e.fs.readdirSync(t,{withFileTypes:!0}).map(i=>{let n={dirent:i,name:i.name,path:wq.joinPathSegments(t,i.name,e.pathSegmentSeparator)};if(n.dirent.isSymbolicLink()&&e.followSymbolicLinks)try{let s=e.fs.statSync(n.path);n.dirent=yq.fs.createDirentFromStats(n.name,s)}catch(s){if(e.throwErrorOnBrokenSymbolicLink)throw s}return n})}uA.readdirWithFileTypes=Bq;function Qq(t,e){return e.fs.readdirSync(t).map(i=>{let n=wq.joinPathSegments(t,i,e.pathSegmentSeparator),s=XBe.statSync(n,e.fsStatSettings),o={name:i,path:n,dirent:yq.fs.createDirentFromStats(i,s)};return e.stats&&(o.stats=s),o})}uA.readdir=Qq});var vq=E(gA=>{"use strict";Object.defineProperty(gA,"__esModule",{value:!0});gA.createFileSystemAdapter=gA.FILE_SYSTEM_ADAPTER=void 0;var Du=require("fs");gA.FILE_SYSTEM_ADAPTER={lstat:Du.lstat,stat:Du.stat,lstatSync:Du.lstatSync,statSync:Du.statSync,readdir:Du.readdir,readdirSync:Du.readdirSync};function e0e(t){return t===void 0?gA.FILE_SYSTEM_ADAPTER:Object.assign(Object.assign({},gA.FILE_SYSTEM_ADAPTER),t)}gA.createFileSystemAdapter=e0e});var xq=E(MS=>{"use strict";Object.defineProperty(MS,"__esModule",{value:!0});var t0e=require("path"),r0e=Tl(),i0e=vq(),Sq=class{constructor(e={}){this._options=e,this.followSymbolicLinks=this._getValue(this._options.followSymbolicLinks,!1),this.fs=i0e.createFileSystemAdapter(this._options.fs),this.pathSegmentSeparator=this._getValue(this._options.pathSegmentSeparator,t0e.sep),this.stats=this._getValue(this._options.stats,!1),this.throwErrorOnBrokenSymbolicLink=this._getValue(this._options.throwErrorOnBrokenSymbolicLink,!0),this.fsStatSettings=new r0e.Settings({followSymbolicLink:this.followSymbolicLinks,fs:this.fs,throwErrorOnBrokenSymbolicLink:this.throwErrorOnBrokenSymbolicLink})}_getValue(e,r){return e!=null?e:r}};MS.default=Sq});var sy=E(fA=>{"use strict";Object.defineProperty(fA,"__esModule",{value:!0});fA.Settings=fA.scandirSync=fA.scandir=void 0;var kq=Iq(),n0e=bq(),OS=xq();fA.Settings=OS.default;function s0e(t,e,r){if(typeof e=="function"){kq.read(t,KS(),e);return}kq.read(t,KS(e),r)}fA.scandir=s0e;function o0e(t,e){let r=KS(e);return n0e.read(t,r)}fA.scandirSync=o0e;function KS(t={}){return t instanceof OS.default?t:new OS.default(t)}});var Dq=E((fit,Pq)=>{"use strict";function a0e(t){var e=new t,r=e;function i(){var s=e;return s.next?e=s.next:(e=new t,r=e),s.next=null,s}function n(s){r.next=s,r=s}return{get:i,release:n}}Pq.exports=a0e});var Fq=E((hit,US)=>{"use strict";var A0e=Dq();function Rq(t,e,r){if(typeof t=="function"&&(r=e,e=t,t=null),r<1)throw new Error("fastqueue concurrency must be greater than 1");var i=A0e(l0e),n=null,s=null,o=0,a=null,l={push:d,drain:po,saturated:po,pause:u,paused:!1,concurrency:r,running:c,resume:h,idle:p,length:g,getQueue:f,unshift:m,empty:po,kill:B,killAndDrain:b,error:R};return l;function c(){return o}function u(){l.paused=!0}function g(){for(var H=n,L=0;H;)H=H.next,L++;return L}function f(){for(var H=n,L=[];H;)L.push(H.value),H=H.next;return L}function h(){if(!!l.paused){l.paused=!1;for(var H=0;H{"use strict";Object.defineProperty(Co,"__esModule",{value:!0});Co.joinPathSegments=Co.replacePathSegmentSeparator=Co.isAppliedFilter=Co.isFatalError=void 0;function u0e(t,e){return t.errorFilter===null?!0:!t.errorFilter(e)}Co.isFatalError=u0e;function g0e(t,e){return t===null||t(e)}Co.isAppliedFilter=g0e;function f0e(t,e){return t.split(/[/\\]/).join(e)}Co.replacePathSegmentSeparator=f0e;function h0e(t,e,r){return t===""?e:t.endsWith(r)?t+e:t+r+e}Co.joinPathSegments=h0e});var GS=E(HS=>{"use strict";Object.defineProperty(HS,"__esModule",{value:!0});var p0e=oy(),Nq=class{constructor(e,r){this._root=e,this._settings=r,this._root=p0e.replacePathSegmentSeparator(e,r.pathSegmentSeparator)}};HS.default=Nq});var YS=E(jS=>{"use strict";Object.defineProperty(jS,"__esModule",{value:!0});var d0e=require("events"),C0e=sy(),m0e=Fq(),ay=oy(),E0e=GS(),Lq=class extends E0e.default{constructor(e,r){super(e,r);this._settings=r,this._scandir=C0e.scandir,this._emitter=new d0e.EventEmitter,this._queue=m0e(this._worker.bind(this),this._settings.concurrency),this._isFatalError=!1,this._isDestroyed=!1,this._queue.drain=()=>{this._isFatalError||this._emitter.emit("end")}}read(){return this._isFatalError=!1,this._isDestroyed=!1,setImmediate(()=>{this._pushToQueue(this._root,this._settings.basePath)}),this._emitter}get isDestroyed(){return this._isDestroyed}destroy(){if(this._isDestroyed)throw new Error("The reader is already destroyed");this._isDestroyed=!0,this._queue.killAndDrain()}onEntry(e){this._emitter.on("entry",e)}onError(e){this._emitter.once("error",e)}onEnd(e){this._emitter.once("end",e)}_pushToQueue(e,r){let i={directory:e,base:r};this._queue.push(i,n=>{n!==null&&this._handleError(n)})}_worker(e,r){this._scandir(e.directory,this._settings.fsScandirSettings,(i,n)=>{if(i!==null){r(i,void 0);return}for(let s of n)this._handleEntry(s,e.base);r(null,void 0)})}_handleError(e){this._isDestroyed||!ay.isFatalError(this._settings,e)||(this._isFatalError=!0,this._isDestroyed=!0,this._emitter.emit("error",e))}_handleEntry(e,r){if(this._isDestroyed||this._isFatalError)return;let i=e.path;r!==void 0&&(e.path=ay.joinPathSegments(r,e.name,this._settings.pathSegmentSeparator)),ay.isAppliedFilter(this._settings.entryFilter,e)&&this._emitEntry(e),e.dirent.isDirectory()&&ay.isAppliedFilter(this._settings.deepFilter,e)&&this._pushToQueue(i,e.path)}_emitEntry(e){this._emitter.emit("entry",e)}};jS.default=Lq});var Mq=E(qS=>{"use strict";Object.defineProperty(qS,"__esModule",{value:!0});var I0e=YS(),Tq=class{constructor(e,r){this._root=e,this._settings=r,this._reader=new I0e.default(this._root,this._settings),this._storage=new Set}read(e){this._reader.onError(r=>{y0e(e,r)}),this._reader.onEntry(r=>{this._storage.add(r)}),this._reader.onEnd(()=>{w0e(e,[...this._storage])}),this._reader.read()}};qS.default=Tq;function y0e(t,e){t(e)}function w0e(t,e){t(null,e)}});var Kq=E(JS=>{"use strict";Object.defineProperty(JS,"__esModule",{value:!0});var B0e=require("stream"),Q0e=YS(),Oq=class{constructor(e,r){this._root=e,this._settings=r,this._reader=new Q0e.default(this._root,this._settings),this._stream=new B0e.Readable({objectMode:!0,read:()=>{},destroy:()=>{this._reader.isDestroyed||this._reader.destroy()}})}read(){return this._reader.onError(e=>{this._stream.emit("error",e)}),this._reader.onEntry(e=>{this._stream.push(e)}),this._reader.onEnd(()=>{this._stream.push(null)}),this._reader.read(),this._stream}};JS.default=Oq});var Hq=E(WS=>{"use strict";Object.defineProperty(WS,"__esModule",{value:!0});var b0e=sy(),Ay=oy(),v0e=GS(),Uq=class extends v0e.default{constructor(){super(...arguments);this._scandir=b0e.scandirSync,this._storage=new Set,this._queue=new Set}read(){return this._pushToQueue(this._root,this._settings.basePath),this._handleQueue(),[...this._storage]}_pushToQueue(e,r){this._queue.add({directory:e,base:r})}_handleQueue(){for(let e of this._queue.values())this._handleDirectory(e.directory,e.base)}_handleDirectory(e,r){try{let i=this._scandir(e,this._settings.fsScandirSettings);for(let n of i)this._handleEntry(n,r)}catch(i){this._handleError(i)}}_handleError(e){if(!!Ay.isFatalError(this._settings,e))throw e}_handleEntry(e,r){let i=e.path;r!==void 0&&(e.path=Ay.joinPathSegments(r,e.name,this._settings.pathSegmentSeparator)),Ay.isAppliedFilter(this._settings.entryFilter,e)&&this._pushToStorage(e),e.dirent.isDirectory()&&Ay.isAppliedFilter(this._settings.deepFilter,e)&&this._pushToQueue(i,e.path)}_pushToStorage(e){this._storage.add(e)}};WS.default=Uq});var jq=E(zS=>{"use strict";Object.defineProperty(zS,"__esModule",{value:!0});var S0e=Hq(),Gq=class{constructor(e,r){this._root=e,this._settings=r,this._reader=new S0e.default(this._root,this._settings)}read(){return this._reader.read()}};zS.default=Gq});var qq=E(VS=>{"use strict";Object.defineProperty(VS,"__esModule",{value:!0});var x0e=require("path"),k0e=sy(),Yq=class{constructor(e={}){this._options=e,this.basePath=this._getValue(this._options.basePath,void 0),this.concurrency=this._getValue(this._options.concurrency,Number.POSITIVE_INFINITY),this.deepFilter=this._getValue(this._options.deepFilter,null),this.entryFilter=this._getValue(this._options.entryFilter,null),this.errorFilter=this._getValue(this._options.errorFilter,null),this.pathSegmentSeparator=this._getValue(this._options.pathSegmentSeparator,x0e.sep),this.fsScandirSettings=new k0e.Settings({followSymbolicLinks:this._options.followSymbolicLinks,fs:this._options.fs,pathSegmentSeparator:this._options.pathSegmentSeparator,stats:this._options.stats,throwErrorOnBrokenSymbolicLink:this._options.throwErrorOnBrokenSymbolicLink})}_getValue(e,r){return e!=null?e:r}};VS.default=Yq});var XS=E(mo=>{"use strict";Object.defineProperty(mo,"__esModule",{value:!0});mo.Settings=mo.walkStream=mo.walkSync=mo.walk=void 0;var Jq=Mq(),P0e=Kq(),D0e=jq(),_S=qq();mo.Settings=_S.default;function R0e(t,e,r){if(typeof e=="function"){new Jq.default(t,ly()).read(e);return}new Jq.default(t,ly(e)).read(r)}mo.walk=R0e;function F0e(t,e){let r=ly(e);return new D0e.default(t,r).read()}mo.walkSync=F0e;function N0e(t,e){let r=ly(e);return new P0e.default(t,r).read()}mo.walkStream=N0e;function ly(t={}){return t instanceof _S.default?t:new _S.default(t)}});var $S=E(ZS=>{"use strict";Object.defineProperty(ZS,"__esModule",{value:!0});var L0e=require("path"),T0e=Tl(),Wq=ga(),zq=class{constructor(e){this._settings=e,this._fsStatSettings=new T0e.Settings({followSymbolicLink:this._settings.followSymbolicLinks,fs:this._settings.fs,throwErrorOnBrokenSymbolicLink:this._settings.followSymbolicLinks})}_getFullEntryPath(e){return L0e.resolve(this._settings.cwd,e)}_makeEntry(e,r){let i={name:r,path:r,dirent:Wq.fs.createDirentFromStats(r,e)};return this._settings.stats&&(i.stats=e),i}_isFatalError(e){return!Wq.errno.isEnoentCodeError(e)&&!this._settings.suppressErrors}};ZS.default=zq});var tx=E(ex=>{"use strict";Object.defineProperty(ex,"__esModule",{value:!0});var M0e=require("stream"),O0e=Tl(),K0e=XS(),U0e=$S(),Vq=class extends U0e.default{constructor(){super(...arguments);this._walkStream=K0e.walkStream,this._stat=O0e.stat}dynamic(e,r){return this._walkStream(e,r)}static(e,r){let i=e.map(this._getFullEntryPath,this),n=new M0e.PassThrough({objectMode:!0});n._write=(s,o,a)=>this._getEntry(i[s],e[s],r).then(l=>{l!==null&&r.entryFilter(l)&&n.push(l),s===i.length-1&&n.end(),a()}).catch(a);for(let s=0;sthis._makeEntry(n,r)).catch(n=>{if(i.errorFilter(n))return null;throw n})}_getStat(e){return new Promise((r,i)=>{this._stat(e,this._fsStatSettings,(n,s)=>n===null?r(s):i(n))})}};ex.default=Vq});var Xq=E(rx=>{"use strict";Object.defineProperty(rx,"__esModule",{value:!0});var Ru=ga(),_q=class{constructor(e,r,i){this._patterns=e,this._settings=r,this._micromatchOptions=i,this._storage=[],this._fillStorage()}_fillStorage(){let e=Ru.pattern.expandPatternsWithBraceExpansion(this._patterns);for(let r of e){let i=this._getPatternSegments(r),n=this._splitSegmentsIntoSections(i);this._storage.push({complete:n.length<=1,pattern:r,segments:i,sections:n})}}_getPatternSegments(e){return Ru.pattern.getPatternParts(e,this._micromatchOptions).map(i=>Ru.pattern.isDynamicPattern(i,this._settings)?{dynamic:!0,pattern:i,patternRe:Ru.pattern.makeRe(i,this._micromatchOptions)}:{dynamic:!1,pattern:i})}_splitSegmentsIntoSections(e){return Ru.array.splitWhen(e,r=>r.dynamic&&Ru.pattern.hasGlobStar(r.pattern))}};rx.default=_q});var $q=E(ix=>{"use strict";Object.defineProperty(ix,"__esModule",{value:!0});var H0e=Xq(),Zq=class extends H0e.default{match(e){let r=e.split("/"),i=r.length,n=this._storage.filter(s=>!s.complete||s.segments.length>i);for(let s of n){let o=s.sections[0];if(!s.complete&&i>o.length||r.every((l,c)=>{let u=s.segments[c];return!!(u.dynamic&&u.patternRe.test(l)||!u.dynamic&&u.pattern===l)}))return!0}return!1}};ix.default=Zq});var tJ=E(nx=>{"use strict";Object.defineProperty(nx,"__esModule",{value:!0});var cy=ga(),G0e=$q(),eJ=class{constructor(e,r){this._settings=e,this._micromatchOptions=r}getFilter(e,r,i){let n=this._getMatcher(r),s=this._getNegativePatternsRe(i);return o=>this._filter(e,o,n,s)}_getMatcher(e){return new G0e.default(e,this._settings,this._micromatchOptions)}_getNegativePatternsRe(e){let r=e.filter(cy.pattern.isAffectDepthOfReadingPattern);return cy.pattern.convertPatternsToRe(r,this._micromatchOptions)}_filter(e,r,i,n){let s=this._getEntryLevel(e,r.path);if(this._isSkippedByDeep(s)||this._isSkippedSymbolicLink(r))return!1;let o=cy.path.removeLeadingDotSegment(r.path);return this._isSkippedByPositivePatterns(o,i)?!1:this._isSkippedByNegativePatterns(o,n)}_isSkippedByDeep(e){return e>=this._settings.deep}_isSkippedSymbolicLink(e){return!this._settings.followSymbolicLinks&&e.dirent.isSymbolicLink()}_getEntryLevel(e,r){let i=e.split("/").length;return r.split("/").length-(e===""?0:i)}_isSkippedByPositivePatterns(e,r){return!this._settings.baseNameMatch&&!r.match(e)}_isSkippedByNegativePatterns(e,r){return!cy.pattern.matchAny(e,r)}};nx.default=eJ});var iJ=E(sx=>{"use strict";Object.defineProperty(sx,"__esModule",{value:!0});var ip=ga(),rJ=class{constructor(e,r){this._settings=e,this._micromatchOptions=r,this.index=new Map}getFilter(e,r){let i=ip.pattern.convertPatternsToRe(e,this._micromatchOptions),n=ip.pattern.convertPatternsToRe(r,this._micromatchOptions);return s=>this._filter(s,i,n)}_filter(e,r,i){if(this._settings.unique){if(this._isDuplicateEntry(e))return!1;this._createIndexRecord(e)}if(this._onlyFileFilter(e)||this._onlyDirectoryFilter(e)||this._isSkippedByAbsoluteNegativePatterns(e,i))return!1;let n=this._settings.baseNameMatch?e.name:e.path;return this._isMatchToPatterns(n,r)&&!this._isMatchToPatterns(e.path,i)}_isDuplicateEntry(e){return this.index.has(e.path)}_createIndexRecord(e){this.index.set(e.path,void 0)}_onlyFileFilter(e){return this._settings.onlyFiles&&!e.dirent.isFile()}_onlyDirectoryFilter(e){return this._settings.onlyDirectories&&!e.dirent.isDirectory()}_isSkippedByAbsoluteNegativePatterns(e,r){if(!this._settings.absolute)return!1;let i=ip.path.makeAbsolute(this._settings.cwd,e.path);return this._isMatchToPatterns(i,r)}_isMatchToPatterns(e,r){let i=ip.path.removeLeadingDotSegment(e);return ip.pattern.matchAny(i,r)}};sx.default=rJ});var sJ=E(ox=>{"use strict";Object.defineProperty(ox,"__esModule",{value:!0});var j0e=ga(),nJ=class{constructor(e){this._settings=e}getFilter(){return e=>this._isNonFatalError(e)}_isNonFatalError(e){return j0e.errno.isEnoentCodeError(e)||this._settings.suppressErrors}};ox.default=nJ});var AJ=E(ax=>{"use strict";Object.defineProperty(ax,"__esModule",{value:!0});var oJ=ga(),aJ=class{constructor(e){this._settings=e}getTransformer(){return e=>this._transform(e)}_transform(e){let r=e.path;return this._settings.absolute&&(r=oJ.path.makeAbsolute(this._settings.cwd,r),r=oJ.path.unixify(r)),this._settings.markDirectories&&e.dirent.isDirectory()&&(r+="/"),this._settings.objectMode?Object.assign(Object.assign({},e),{path:r}):r}};ax.default=aJ});var uy=E(Ax=>{"use strict";Object.defineProperty(Ax,"__esModule",{value:!0});var Y0e=require("path"),q0e=tJ(),J0e=iJ(),W0e=sJ(),z0e=AJ(),lJ=class{constructor(e){this._settings=e,this.errorFilter=new W0e.default(this._settings),this.entryFilter=new J0e.default(this._settings,this._getMicromatchOptions()),this.deepFilter=new q0e.default(this._settings,this._getMicromatchOptions()),this.entryTransformer=new z0e.default(this._settings)}_getRootDirectory(e){return Y0e.resolve(this._settings.cwd,e.base)}_getReaderOptions(e){let r=e.base==="."?"":e.base;return{basePath:r,pathSegmentSeparator:"/",concurrency:this._settings.concurrency,deepFilter:this.deepFilter.getFilter(r,e.positive,e.negative),entryFilter:this.entryFilter.getFilter(e.positive,e.negative),errorFilter:this.errorFilter.getFilter(),followSymbolicLinks:this._settings.followSymbolicLinks,fs:this._settings.fs,stats:this._settings.stats,throwErrorOnBrokenSymbolicLink:this._settings.throwErrorOnBrokenSymbolicLink,transform:this.entryTransformer.getTransformer()}}_getMicromatchOptions(){return{dot:this._settings.dot,matchBase:this._settings.baseNameMatch,nobrace:!this._settings.braceExpansion,nocase:!this._settings.caseSensitiveMatch,noext:!this._settings.extglob,noglobstar:!this._settings.globstar,posix:!0,strictSlashes:!1}}};Ax.default=lJ});var uJ=E(lx=>{"use strict";Object.defineProperty(lx,"__esModule",{value:!0});var V0e=tx(),_0e=uy(),cJ=class extends _0e.default{constructor(){super(...arguments);this._reader=new V0e.default(this._settings)}read(e){let r=this._getRootDirectory(e),i=this._getReaderOptions(e),n=[];return new Promise((s,o)=>{let a=this.api(r,e,i);a.once("error",o),a.on("data",l=>n.push(i.transform(l))),a.once("end",()=>s(n))})}api(e,r,i){return r.dynamic?this._reader.dynamic(e,i):this._reader.static(r.patterns,i)}};lx.default=cJ});var fJ=E(cx=>{"use strict";Object.defineProperty(cx,"__esModule",{value:!0});var X0e=require("stream"),Z0e=tx(),$0e=uy(),gJ=class extends $0e.default{constructor(){super(...arguments);this._reader=new Z0e.default(this._settings)}read(e){let r=this._getRootDirectory(e),i=this._getReaderOptions(e),n=this.api(r,e,i),s=new X0e.Readable({objectMode:!0,read:()=>{}});return n.once("error",o=>s.emit("error",o)).on("data",o=>s.emit("data",i.transform(o))).once("end",()=>s.emit("end")),s.once("close",()=>n.destroy()),s}api(e,r,i){return r.dynamic?this._reader.dynamic(e,i):this._reader.static(r.patterns,i)}};cx.default=gJ});var pJ=E(ux=>{"use strict";Object.defineProperty(ux,"__esModule",{value:!0});var eQe=Tl(),tQe=XS(),rQe=$S(),hJ=class extends rQe.default{constructor(){super(...arguments);this._walkSync=tQe.walkSync,this._statSync=eQe.statSync}dynamic(e,r){return this._walkSync(e,r)}static(e,r){let i=[];for(let n of e){let s=this._getFullEntryPath(n),o=this._getEntry(s,n,r);o===null||!r.entryFilter(o)||i.push(o)}return i}_getEntry(e,r,i){try{let n=this._getStat(e);return this._makeEntry(n,r)}catch(n){if(i.errorFilter(n))return null;throw n}}_getStat(e){return this._statSync(e,this._fsStatSettings)}};ux.default=hJ});var CJ=E(gx=>{"use strict";Object.defineProperty(gx,"__esModule",{value:!0});var iQe=pJ(),nQe=uy(),dJ=class extends nQe.default{constructor(){super(...arguments);this._reader=new iQe.default(this._settings)}read(e){let r=this._getRootDirectory(e),i=this._getReaderOptions(e);return this.api(r,e,i).map(i.transform)}api(e,r,i){return r.dynamic?this._reader.dynamic(e,i):this._reader.static(r.patterns,i)}};gx.default=dJ});var EJ=E(np=>{"use strict";Object.defineProperty(np,"__esModule",{value:!0});var Fu=require("fs"),sQe=require("os"),oQe=sQe.cpus().length;np.DEFAULT_FILE_SYSTEM_ADAPTER={lstat:Fu.lstat,lstatSync:Fu.lstatSync,stat:Fu.stat,statSync:Fu.statSync,readdir:Fu.readdir,readdirSync:Fu.readdirSync};var mJ=class{constructor(e={}){this._options=e,this.absolute=this._getValue(this._options.absolute,!1),this.baseNameMatch=this._getValue(this._options.baseNameMatch,!1),this.braceExpansion=this._getValue(this._options.braceExpansion,!0),this.caseSensitiveMatch=this._getValue(this._options.caseSensitiveMatch,!0),this.concurrency=this._getValue(this._options.concurrency,oQe),this.cwd=this._getValue(this._options.cwd,process.cwd()),this.deep=this._getValue(this._options.deep,Infinity),this.dot=this._getValue(this._options.dot,!1),this.extglob=this._getValue(this._options.extglob,!0),this.followSymbolicLinks=this._getValue(this._options.followSymbolicLinks,!0),this.fs=this._getFileSystemMethods(this._options.fs),this.globstar=this._getValue(this._options.globstar,!0),this.ignore=this._getValue(this._options.ignore,[]),this.markDirectories=this._getValue(this._options.markDirectories,!1),this.objectMode=this._getValue(this._options.objectMode,!1),this.onlyDirectories=this._getValue(this._options.onlyDirectories,!1),this.onlyFiles=this._getValue(this._options.onlyFiles,!0),this.stats=this._getValue(this._options.stats,!1),this.suppressErrors=this._getValue(this._options.suppressErrors,!1),this.throwErrorOnBrokenSymbolicLink=this._getValue(this._options.throwErrorOnBrokenSymbolicLink,!1),this.unique=this._getValue(this._options.unique,!0),this.onlyDirectories&&(this.onlyFiles=!1),this.stats&&(this.objectMode=!0)}_getValue(e,r){return e===void 0?r:e}_getFileSystemMethods(e={}){return Object.assign(Object.assign({},np.DEFAULT_FILE_SYSTEM_ADAPTER),e)}};np.default=mJ});var gy=E((Oit,IJ)=>{"use strict";var yJ=tq(),aQe=uJ(),AQe=fJ(),lQe=CJ(),fx=EJ(),Ml=ga();async function px(t,e){Nu(t);let r=hx(t,aQe.default,e),i=await Promise.all(r);return Ml.array.flatten(i)}(function(t){function e(o,a){Nu(o);let l=hx(o,lQe.default,a);return Ml.array.flatten(l)}t.sync=e;function r(o,a){Nu(o);let l=hx(o,AQe.default,a);return Ml.stream.merge(l)}t.stream=r;function i(o,a){Nu(o);let l=[].concat(o),c=new fx.default(a);return yJ.generate(l,c)}t.generateTasks=i;function n(o,a){Nu(o);let l=new fx.default(a);return Ml.pattern.isDynamicPattern(o,l)}t.isDynamicPattern=n;function s(o){return Nu(o),Ml.path.escape(o)}t.escapePath=s})(px||(px={}));function hx(t,e,r){let i=[].concat(t),n=new fx.default(r),s=yJ.generate(i,n),o=new e(n);return s.map(o.read,o)}function Nu(t){if(![].concat(t).every(i=>Ml.string.isString(i)&&!Ml.string.isEmpty(i)))throw new TypeError("Patterns must be a string (non empty) or an array of strings")}IJ.exports=px});var BJ=E(Ol=>{"use strict";var{promisify:cQe}=require("util"),wJ=require("fs");async function dx(t,e,r){if(typeof r!="string")throw new TypeError(`Expected a string, got ${typeof r}`);try{return(await cQe(wJ[t])(r))[e]()}catch(i){if(i.code==="ENOENT")return!1;throw i}}function Cx(t,e,r){if(typeof r!="string")throw new TypeError(`Expected a string, got ${typeof r}`);try{return wJ[t](r)[e]()}catch(i){if(i.code==="ENOENT")return!1;throw i}}Ol.isFile=dx.bind(null,"stat","isFile");Ol.isDirectory=dx.bind(null,"stat","isDirectory");Ol.isSymlink=dx.bind(null,"lstat","isSymbolicLink");Ol.isFileSync=Cx.bind(null,"statSync","isFile");Ol.isDirectorySync=Cx.bind(null,"statSync","isDirectory");Ol.isSymlinkSync=Cx.bind(null,"lstatSync","isSymbolicLink")});var xJ=E((Uit,mx)=>{"use strict";var Kl=require("path"),QJ=BJ(),bJ=t=>t.length>1?`{${t.join(",")}}`:t[0],vJ=(t,e)=>{let r=t[0]==="!"?t.slice(1):t;return Kl.isAbsolute(r)?r:Kl.join(e,r)},uQe=(t,e)=>Kl.extname(t)?`**/${t}`:`**/${t}.${bJ(e)}`,SJ=(t,e)=>{if(e.files&&!Array.isArray(e.files))throw new TypeError(`Expected \`files\` to be of type \`Array\` but received type \`${typeof e.files}\``);if(e.extensions&&!Array.isArray(e.extensions))throw new TypeError(`Expected \`extensions\` to be of type \`Array\` but received type \`${typeof e.extensions}\``);return e.files&&e.extensions?e.files.map(r=>Kl.posix.join(t,uQe(r,e.extensions))):e.files?e.files.map(r=>Kl.posix.join(t,`**/${r}`)):e.extensions?[Kl.posix.join(t,`**/*.${bJ(e.extensions)}`)]:[Kl.posix.join(t,"**")]};mx.exports=async(t,e)=>{if(e=P({cwd:process.cwd()},e),typeof e.cwd!="string")throw new TypeError(`Expected \`cwd\` to be of type \`string\` but received type \`${typeof e.cwd}\``);let r=await Promise.all([].concat(t).map(async i=>await QJ.isDirectory(vJ(i,e.cwd))?SJ(i,e):i));return[].concat.apply([],r)};mx.exports.sync=(t,e)=>{if(e=P({cwd:process.cwd()},e),typeof e.cwd!="string")throw new TypeError(`Expected \`cwd\` to be of type \`string\` but received type \`${typeof e.cwd}\``);let r=[].concat(t).map(i=>QJ.isDirectorySync(vJ(i,e.cwd))?SJ(i,e):i);return[].concat.apply([],r)}});var TJ=E((Hit,kJ)=>{function PJ(t){return Array.isArray(t)?t:[t]}var gQe=/^\s+$/,fQe=/^\\!/,hQe=/^\\#/,pQe=/\r?\n/g,dQe=/^\.*\/|^\.+$/,Ex="/",DJ=typeof Symbol!="undefined"?Symbol.for("node-ignore"):"node-ignore",CQe=(t,e,r)=>Object.defineProperty(t,e,{value:r}),mQe=/([0-z])-([0-z])/g,EQe=t=>t.replace(mQe,(e,r,i)=>r.charCodeAt(0)<=i.charCodeAt(0)?e:""),IQe=[[/\\?\s+$/,t=>t.indexOf("\\")===0?" ":""],[/\\\s/g,()=>" "],[/[\\^$.|*+(){]/g,t=>`\\${t}`],[/\[([^\]/]*)($|\])/g,(t,e,r)=>r==="]"?`[${EQe(e)}]`:`\\${t}`],[/(?!\\)\?/g,()=>"[^/]"],[/^\//,()=>"^"],[/\//g,()=>"\\/"],[/^\^*\\\*\\\*\\\//,()=>"^(?:.*\\/)?"],[/(?:[^*])$/,t=>/\/$/.test(t)?`${t}$`:`${t}(?=$|\\/$)`],[/^(?=[^^])/,function(){return/\/(?!$)/.test(this)?"^":"(?:^|\\/)"}],[/\\\/\\\*\\\*(?=\\\/|$)/g,(t,e,r)=>e+6`${e}[^\\/]*`],[/(\^|\\\/)?\\\*$/,(t,e)=>`${e?`${e}[^/]+`:"[^/]*"}(?=$|\\/$)`],[/\\\\\\/g,()=>"\\"]],RJ=Object.create(null),yQe=(t,e,r)=>{let i=RJ[t];if(i)return i;let n=IQe.reduce((s,o)=>s.replace(o[0],o[1].bind(t)),t);return RJ[t]=r?new RegExp(n,"i"):new RegExp(n)},Ix=t=>typeof t=="string",wQe=t=>t&&Ix(t)&&!gQe.test(t)&&t.indexOf("#")!==0,BQe=t=>t.split(pQe),FJ=class{constructor(e,r,i,n){this.origin=e,this.pattern=r,this.negative=i,this.regex=n}},QQe=(t,e)=>{let r=t,i=!1;t.indexOf("!")===0&&(i=!0,t=t.substr(1)),t=t.replace(fQe,"!").replace(hQe,"#");let n=yQe(t,i,e);return new FJ(r,t,i,n)},bQe=(t,e)=>{throw new e(t)},ha=(t,e,r)=>Ix(t)?t?ha.isNotRelative(t)?r(`path should be a \`path.relative()\`d string, but got "${e}"`,RangeError):!0:r("path must not be empty",TypeError):r(`path must be a string, but got \`${e}\``,TypeError),NJ=t=>dQe.test(t);ha.isNotRelative=NJ;ha.convert=t=>t;var LJ=class{constructor({ignorecase:e=!0}={}){this._rules=[],this._ignorecase=e,CQe(this,DJ,!0),this._initCache()}_initCache(){this._ignoreCache=Object.create(null),this._testCache=Object.create(null)}_addPattern(e){if(e&&e[DJ]){this._rules=this._rules.concat(e._rules),this._added=!0;return}if(wQe(e)){let r=QQe(e,this._ignorecase);this._added=!0,this._rules.push(r)}}add(e){return this._added=!1,PJ(Ix(e)?BQe(e):e).forEach(this._addPattern,this),this._added&&this._initCache(),this}addPattern(e){return this.add(e)}_testOne(e,r){let i=!1,n=!1;return this._rules.forEach(s=>{let{negative:o}=s;if(n===o&&i!==n||o&&!i&&!n&&!r)return;s.regex.test(e)&&(i=!o,n=o)}),{ignored:i,unignored:n}}_test(e,r,i,n){let s=e&&ha.convert(e);return ha(s,e,bQe),this._t(s,r,i,n)}_t(e,r,i,n){if(e in r)return r[e];if(n||(n=e.split(Ex)),n.pop(),!n.length)return r[e]=this._testOne(e,i);let s=this._t(n.join(Ex)+Ex,r,i,n);return r[e]=s.ignored?s:this._testOne(e,i)}ignores(e){return this._test(e,this._ignoreCache,!1).ignored}createFilter(){return e=>!this.ignores(e)}filter(e){return PJ(e).filter(this.createFilter())}test(e){return this._test(e,this._testCache,!0)}},fy=t=>new LJ(t),vQe=()=>!1,SQe=t=>ha(t&&ha.convert(t),t,vQe);fy.isPathValid=SQe;fy.default=fy;kJ.exports=fy;if(typeof process!="undefined"&&(process.env&&process.env.IGNORE_TEST_WIN32||process.platform==="win32")){let t=r=>/^\\\\\?\\/.test(r)||/["<>|\u0000-\u001F]+/u.test(r)?r:r.replace(/\\/g,"/");ha.convert=t;let e=/^[a-z]:\//i;ha.isNotRelative=r=>e.test(r)||NJ(r)}});var OJ=E((Git,MJ)=>{"use strict";MJ.exports=t=>{let e=/^\\\\\?\\/.test(t),r=/[^\u0000-\u0080]+/.test(t);return e||r?t:t.replace(/\\/g,"/")}});var qJ=E((jit,yx)=>{"use strict";var{promisify:xQe}=require("util"),KJ=require("fs"),pa=require("path"),UJ=gy(),kQe=TJ(),sp=OJ(),HJ=["**/node_modules/**","**/flow-typed/**","**/coverage/**","**/.git"],PQe=xQe(KJ.readFile),DQe=t=>e=>e.startsWith("!")?"!"+pa.posix.join(t,e.slice(1)):pa.posix.join(t,e),RQe=(t,e)=>{let r=sp(pa.relative(e.cwd,pa.dirname(e.fileName)));return t.split(/\r?\n/).filter(Boolean).filter(i=>!i.startsWith("#")).map(DQe(r))},GJ=t=>{let e=kQe();for(let r of t)e.add(RQe(r.content,{cwd:r.cwd,fileName:r.filePath}));return e},FQe=(t,e)=>{if(t=sp(t),pa.isAbsolute(e)){if(sp(e).startsWith(t))return e;throw new Error(`Path ${e} is not in cwd ${t}`)}return pa.join(t,e)},jJ=(t,e)=>r=>t.ignores(sp(pa.relative(e,FQe(e,r.path||r)))),NQe=async(t,e)=>{let r=pa.join(e,t),i=await PQe(r,"utf8");return{cwd:e,filePath:r,content:i}},LQe=(t,e)=>{let r=pa.join(e,t),i=KJ.readFileSync(r,"utf8");return{cwd:e,filePath:r,content:i}},YJ=({ignore:t=[],cwd:e=sp(process.cwd())}={})=>({ignore:t,cwd:e});yx.exports=async t=>{t=YJ(t);let e=await UJ("**/.gitignore",{ignore:HJ.concat(t.ignore),cwd:t.cwd}),r=await Promise.all(e.map(n=>NQe(n,t.cwd))),i=GJ(r);return jJ(i,t.cwd)};yx.exports.sync=t=>{t=YJ(t);let r=UJ.sync("**/.gitignore",{ignore:HJ.concat(t.ignore),cwd:t.cwd}).map(n=>LQe(n,t.cwd)),i=GJ(r);return jJ(i,t.cwd)}});var VJ=E((Yit,JJ)=>{"use strict";var{Transform:TQe}=require("stream"),wx=class extends TQe{constructor(){super({objectMode:!0})}},WJ=class extends wx{constructor(e){super();this._filter=e}_transform(e,r,i){this._filter(e)&&this.push(e),i()}},zJ=class extends wx{constructor(){super();this._pushed=new Set}_transform(e,r,i){this._pushed.has(e)||(this.push(e),this._pushed.add(e)),i()}};JJ.exports={FilterStream:WJ,UniqueStream:zJ}});var vx=E((qit,Ul)=>{"use strict";var _J=require("fs"),hy=QY(),MQe=wS(),py=gy(),dy=xJ(),Bx=qJ(),{FilterStream:OQe,UniqueStream:KQe}=VJ(),XJ=()=>!1,ZJ=t=>t[0]==="!",UQe=t=>{if(!t.every(e=>typeof e=="string"))throw new TypeError("Patterns must be a string or an array of strings")},HQe=(t={})=>{if(!t.cwd)return;let e;try{e=_J.statSync(t.cwd)}catch{return}if(!e.isDirectory())throw new Error("The `cwd` option must be a path to a directory")},GQe=t=>t.stats instanceof _J.Stats?t.path:t,Cy=(t,e)=>{t=hy([].concat(t)),UQe(t),HQe(e);let r=[];e=P({ignore:[],expandDirectories:!0},e);for(let[i,n]of t.entries()){if(ZJ(n))continue;let s=t.slice(i).filter(a=>ZJ(a)).map(a=>a.slice(1)),o=_(P({},e),{ignore:e.ignore.concat(s)});r.push({pattern:n,options:o})}return r},jQe=(t,e)=>{let r={};return t.options.cwd&&(r.cwd=t.options.cwd),Array.isArray(t.options.expandDirectories)?r=_(P({},r),{files:t.options.expandDirectories}):typeof t.options.expandDirectories=="object"&&(r=P(P({},r),t.options.expandDirectories)),e(t.pattern,r)},Qx=(t,e)=>t.options.expandDirectories?jQe(t,e):[t.pattern],$J=t=>t&&t.gitignore?Bx.sync({cwd:t.cwd,ignore:t.ignore}):XJ,bx=t=>e=>{let{options:r}=t;return r.ignore&&Array.isArray(r.ignore)&&r.expandDirectories&&(r.ignore=dy.sync(r.ignore)),{pattern:e,options:r}};Ul.exports=async(t,e)=>{let r=Cy(t,e),i=async()=>e&&e.gitignore?Bx({cwd:e.cwd,ignore:e.ignore}):XJ,n=async()=>{let l=await Promise.all(r.map(async c=>{let u=await Qx(c,dy);return Promise.all(u.map(bx(c)))}));return hy(...l)},[s,o]=await Promise.all([i(),n()]),a=await Promise.all(o.map(l=>py(l.pattern,l.options)));return hy(...a).filter(l=>!s(GQe(l)))};Ul.exports.sync=(t,e)=>{let r=Cy(t,e),i=[];for(let o of r){let a=Qx(o,dy.sync).map(bx(o));i.push(...a)}let n=$J(e),s=[];for(let o of i)s=hy(s,py.sync(o.pattern,o.options));return s.filter(o=>!n(o))};Ul.exports.stream=(t,e)=>{let r=Cy(t,e),i=[];for(let a of r){let l=Qx(a,dy.sync).map(bx(a));i.push(...l)}let n=$J(e),s=new OQe(a=>!n(a)),o=new KQe;return MQe(i.map(a=>py.stream(a.pattern,a.options))).pipe(s).pipe(o)};Ul.exports.generateGlobTasks=Cy;Ul.exports.hasMagic=(t,e)=>[].concat(t).some(r=>py.isDynamicPattern(r,e));Ul.exports.gitignore=Bx});var Ca=E((da,Dy)=>{"use strict";Object.defineProperty(da,"__esModule",{value:!0});var A3=["Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array","BigInt64Array","BigUint64Array"];function ibe(t){return A3.includes(t)}var nbe=["Function","Generator","AsyncGenerator","GeneratorFunction","AsyncGeneratorFunction","AsyncFunction","Observable","Array","Buffer","Object","RegExp","Date","Error","Map","Set","WeakMap","WeakSet","ArrayBuffer","SharedArrayBuffer","DataView","Promise","URL","FormData","URLSearchParams","HTMLElement",...A3];function sbe(t){return nbe.includes(t)}var obe=["null","undefined","string","number","bigint","boolean","symbol"];function abe(t){return obe.includes(t)}function Hu(t){return e=>typeof e===t}var{toString:l3}=Object.prototype,mp=t=>{let e=l3.call(t).slice(8,-1);if(/HTML\w+Element/.test(e)&&j.domElement(t))return"HTMLElement";if(sbe(e))return e},er=t=>e=>mp(e)===t;function j(t){if(t===null)return"null";switch(typeof t){case"undefined":return"undefined";case"string":return"string";case"number":return"number";case"boolean":return"boolean";case"function":return"Function";case"bigint":return"bigint";case"symbol":return"symbol";default:}if(j.observable(t))return"Observable";if(j.array(t))return"Array";if(j.buffer(t))return"Buffer";let e=mp(t);if(e)return e;if(t instanceof String||t instanceof Boolean||t instanceof Number)throw new TypeError("Please don't use object wrappers for primitive types");return"Object"}j.undefined=Hu("undefined");j.string=Hu("string");var Abe=Hu("number");j.number=t=>Abe(t)&&!j.nan(t);j.bigint=Hu("bigint");j.function_=Hu("function");j.null_=t=>t===null;j.class_=t=>j.function_(t)&&t.toString().startsWith("class ");j.boolean=t=>t===!0||t===!1;j.symbol=Hu("symbol");j.numericString=t=>j.string(t)&&!j.emptyStringOrWhitespace(t)&&!Number.isNaN(Number(t));j.array=(t,e)=>Array.isArray(t)?j.function_(e)?t.every(e):!0:!1;j.buffer=t=>{var e,r,i,n;return(n=(i=(r=(e=t)===null||e===void 0?void 0:e.constructor)===null||r===void 0?void 0:r.isBuffer)===null||i===void 0?void 0:i.call(r,t))!==null&&n!==void 0?n:!1};j.nullOrUndefined=t=>j.null_(t)||j.undefined(t);j.object=t=>!j.null_(t)&&(typeof t=="object"||j.function_(t));j.iterable=t=>{var e;return j.function_((e=t)===null||e===void 0?void 0:e[Symbol.iterator])};j.asyncIterable=t=>{var e;return j.function_((e=t)===null||e===void 0?void 0:e[Symbol.asyncIterator])};j.generator=t=>j.iterable(t)&&j.function_(t.next)&&j.function_(t.throw);j.asyncGenerator=t=>j.asyncIterable(t)&&j.function_(t.next)&&j.function_(t.throw);j.nativePromise=t=>er("Promise")(t);var lbe=t=>{var e,r;return j.function_((e=t)===null||e===void 0?void 0:e.then)&&j.function_((r=t)===null||r===void 0?void 0:r.catch)};j.promise=t=>j.nativePromise(t)||lbe(t);j.generatorFunction=er("GeneratorFunction");j.asyncGeneratorFunction=t=>mp(t)==="AsyncGeneratorFunction";j.asyncFunction=t=>mp(t)==="AsyncFunction";j.boundFunction=t=>j.function_(t)&&!t.hasOwnProperty("prototype");j.regExp=er("RegExp");j.date=er("Date");j.error=er("Error");j.map=t=>er("Map")(t);j.set=t=>er("Set")(t);j.weakMap=t=>er("WeakMap")(t);j.weakSet=t=>er("WeakSet")(t);j.int8Array=er("Int8Array");j.uint8Array=er("Uint8Array");j.uint8ClampedArray=er("Uint8ClampedArray");j.int16Array=er("Int16Array");j.uint16Array=er("Uint16Array");j.int32Array=er("Int32Array");j.uint32Array=er("Uint32Array");j.float32Array=er("Float32Array");j.float64Array=er("Float64Array");j.bigInt64Array=er("BigInt64Array");j.bigUint64Array=er("BigUint64Array");j.arrayBuffer=er("ArrayBuffer");j.sharedArrayBuffer=er("SharedArrayBuffer");j.dataView=er("DataView");j.directInstanceOf=(t,e)=>Object.getPrototypeOf(t)===e.prototype;j.urlInstance=t=>er("URL")(t);j.urlString=t=>{if(!j.string(t))return!1;try{return new URL(t),!0}catch(e){return!1}};j.truthy=t=>Boolean(t);j.falsy=t=>!t;j.nan=t=>Number.isNaN(t);j.primitive=t=>j.null_(t)||abe(typeof t);j.integer=t=>Number.isInteger(t);j.safeInteger=t=>Number.isSafeInteger(t);j.plainObject=t=>{if(l3.call(t)!=="[object Object]")return!1;let e=Object.getPrototypeOf(t);return e===null||e===Object.getPrototypeOf({})};j.typedArray=t=>ibe(mp(t));var cbe=t=>j.safeInteger(t)&&t>=0;j.arrayLike=t=>!j.nullOrUndefined(t)&&!j.function_(t)&&cbe(t.length);j.inRange=(t,e)=>{if(j.number(e))return t>=Math.min(0,e)&&t<=Math.max(e,0);if(j.array(e)&&e.length===2)return t>=Math.min(...e)&&t<=Math.max(...e);throw new TypeError(`Invalid range: ${JSON.stringify(e)}`)};var ube=1,gbe=["innerHTML","ownerDocument","style","attributes","nodeValue"];j.domElement=t=>j.object(t)&&t.nodeType===ube&&j.string(t.nodeName)&&!j.plainObject(t)&&gbe.every(e=>e in t);j.observable=t=>{var e,r,i,n;return t?t===((r=(e=t)[Symbol.observable])===null||r===void 0?void 0:r.call(e))||t===((n=(i=t)["@@observable"])===null||n===void 0?void 0:n.call(i)):!1};j.nodeStream=t=>j.object(t)&&j.function_(t.pipe)&&!j.observable(t);j.infinite=t=>t===Infinity||t===-Infinity;var c3=t=>e=>j.integer(e)&&Math.abs(e%2)===t;j.evenInteger=c3(0);j.oddInteger=c3(1);j.emptyArray=t=>j.array(t)&&t.length===0;j.nonEmptyArray=t=>j.array(t)&&t.length>0;j.emptyString=t=>j.string(t)&&t.length===0;j.nonEmptyString=t=>j.string(t)&&t.length>0;var fbe=t=>j.string(t)&&!/\S/.test(t);j.emptyStringOrWhitespace=t=>j.emptyString(t)||fbe(t);j.emptyObject=t=>j.object(t)&&!j.map(t)&&!j.set(t)&&Object.keys(t).length===0;j.nonEmptyObject=t=>j.object(t)&&!j.map(t)&&!j.set(t)&&Object.keys(t).length>0;j.emptySet=t=>j.set(t)&&t.size===0;j.nonEmptySet=t=>j.set(t)&&t.size>0;j.emptyMap=t=>j.map(t)&&t.size===0;j.nonEmptyMap=t=>j.map(t)&&t.size>0;j.propertyKey=t=>j.any([j.string,j.number,j.symbol],t);j.formData=t=>er("FormData")(t);j.urlSearchParams=t=>er("URLSearchParams")(t);var u3=(t,e,r)=>{if(!j.function_(e))throw new TypeError(`Invalid predicate: ${JSON.stringify(e)}`);if(r.length===0)throw new TypeError("Invalid number of values");return t.call(r,e)};j.any=(t,...e)=>(j.array(t)?t:[t]).some(i=>u3(Array.prototype.some,i,e));j.all=(t,...e)=>u3(Array.prototype.every,t,e);var Te=(t,e,r,i={})=>{if(!t){let{multipleValues:n}=i,s=n?`received values of types ${[...new Set(r.map(o=>`\`${j(o)}\``))].join(", ")}`:`received value of type \`${j(r)}\``;throw new TypeError(`Expected value which is \`${e}\`, ${s}.`)}};da.assert={undefined:t=>Te(j.undefined(t),"undefined",t),string:t=>Te(j.string(t),"string",t),number:t=>Te(j.number(t),"number",t),bigint:t=>Te(j.bigint(t),"bigint",t),function_:t=>Te(j.function_(t),"Function",t),null_:t=>Te(j.null_(t),"null",t),class_:t=>Te(j.class_(t),"Class",t),boolean:t=>Te(j.boolean(t),"boolean",t),symbol:t=>Te(j.symbol(t),"symbol",t),numericString:t=>Te(j.numericString(t),"string with a number",t),array:(t,e)=>{Te(j.array(t),"Array",t),e&&t.forEach(e)},buffer:t=>Te(j.buffer(t),"Buffer",t),nullOrUndefined:t=>Te(j.nullOrUndefined(t),"null or undefined",t),object:t=>Te(j.object(t),"Object",t),iterable:t=>Te(j.iterable(t),"Iterable",t),asyncIterable:t=>Te(j.asyncIterable(t),"AsyncIterable",t),generator:t=>Te(j.generator(t),"Generator",t),asyncGenerator:t=>Te(j.asyncGenerator(t),"AsyncGenerator",t),nativePromise:t=>Te(j.nativePromise(t),"native Promise",t),promise:t=>Te(j.promise(t),"Promise",t),generatorFunction:t=>Te(j.generatorFunction(t),"GeneratorFunction",t),asyncGeneratorFunction:t=>Te(j.asyncGeneratorFunction(t),"AsyncGeneratorFunction",t),asyncFunction:t=>Te(j.asyncFunction(t),"AsyncFunction",t),boundFunction:t=>Te(j.boundFunction(t),"Function",t),regExp:t=>Te(j.regExp(t),"RegExp",t),date:t=>Te(j.date(t),"Date",t),error:t=>Te(j.error(t),"Error",t),map:t=>Te(j.map(t),"Map",t),set:t=>Te(j.set(t),"Set",t),weakMap:t=>Te(j.weakMap(t),"WeakMap",t),weakSet:t=>Te(j.weakSet(t),"WeakSet",t),int8Array:t=>Te(j.int8Array(t),"Int8Array",t),uint8Array:t=>Te(j.uint8Array(t),"Uint8Array",t),uint8ClampedArray:t=>Te(j.uint8ClampedArray(t),"Uint8ClampedArray",t),int16Array:t=>Te(j.int16Array(t),"Int16Array",t),uint16Array:t=>Te(j.uint16Array(t),"Uint16Array",t),int32Array:t=>Te(j.int32Array(t),"Int32Array",t),uint32Array:t=>Te(j.uint32Array(t),"Uint32Array",t),float32Array:t=>Te(j.float32Array(t),"Float32Array",t),float64Array:t=>Te(j.float64Array(t),"Float64Array",t),bigInt64Array:t=>Te(j.bigInt64Array(t),"BigInt64Array",t),bigUint64Array:t=>Te(j.bigUint64Array(t),"BigUint64Array",t),arrayBuffer:t=>Te(j.arrayBuffer(t),"ArrayBuffer",t),sharedArrayBuffer:t=>Te(j.sharedArrayBuffer(t),"SharedArrayBuffer",t),dataView:t=>Te(j.dataView(t),"DataView",t),urlInstance:t=>Te(j.urlInstance(t),"URL",t),urlString:t=>Te(j.urlString(t),"string with a URL",t),truthy:t=>Te(j.truthy(t),"truthy",t),falsy:t=>Te(j.falsy(t),"falsy",t),nan:t=>Te(j.nan(t),"NaN",t),primitive:t=>Te(j.primitive(t),"primitive",t),integer:t=>Te(j.integer(t),"integer",t),safeInteger:t=>Te(j.safeInteger(t),"integer",t),plainObject:t=>Te(j.plainObject(t),"plain object",t),typedArray:t=>Te(j.typedArray(t),"TypedArray",t),arrayLike:t=>Te(j.arrayLike(t),"array-like",t),domElement:t=>Te(j.domElement(t),"HTMLElement",t),observable:t=>Te(j.observable(t),"Observable",t),nodeStream:t=>Te(j.nodeStream(t),"Node.js Stream",t),infinite:t=>Te(j.infinite(t),"infinite number",t),emptyArray:t=>Te(j.emptyArray(t),"empty array",t),nonEmptyArray:t=>Te(j.nonEmptyArray(t),"non-empty array",t),emptyString:t=>Te(j.emptyString(t),"empty string",t),nonEmptyString:t=>Te(j.nonEmptyString(t),"non-empty string",t),emptyStringOrWhitespace:t=>Te(j.emptyStringOrWhitespace(t),"empty string or whitespace",t),emptyObject:t=>Te(j.emptyObject(t),"empty object",t),nonEmptyObject:t=>Te(j.nonEmptyObject(t),"non-empty object",t),emptySet:t=>Te(j.emptySet(t),"empty set",t),nonEmptySet:t=>Te(j.nonEmptySet(t),"non-empty set",t),emptyMap:t=>Te(j.emptyMap(t),"empty map",t),nonEmptyMap:t=>Te(j.nonEmptyMap(t),"non-empty map",t),propertyKey:t=>Te(j.propertyKey(t),"PropertyKey",t),formData:t=>Te(j.formData(t),"FormData",t),urlSearchParams:t=>Te(j.urlSearchParams(t),"URLSearchParams",t),evenInteger:t=>Te(j.evenInteger(t),"even integer",t),oddInteger:t=>Te(j.oddInteger(t),"odd integer",t),directInstanceOf:(t,e)=>Te(j.directInstanceOf(t,e),"T",t),inRange:(t,e)=>Te(j.inRange(t,e),"in range",t),any:(t,...e)=>Te(j.any(t,...e),"predicate returns truthy for any value",e,{multipleValues:!0}),all:(t,...e)=>Te(j.all(t,...e),"predicate returns truthy for all values",e,{multipleValues:!0})};Object.defineProperties(j,{class:{value:j.class_},function:{value:j.function_},null:{value:j.null_}});Object.defineProperties(da.assert,{class:{value:da.assert.class_},function:{value:da.assert.function_},null:{value:da.assert.null_}});da.default=j;Dy.exports=j;Dy.exports.default=j;Dy.exports.assert=da.assert});var g3=E((gnt,Ux)=>{"use strict";var Hx=class extends Error{constructor(e){super(e||"Promise was canceled");this.name="CancelError"}get isCanceled(){return!0}},Ep=class{static fn(e){return(...r)=>new Ep((i,n,s)=>{r.push(s),e(...r).then(i,n)})}constructor(e){this._cancelHandlers=[],this._isPending=!0,this._isCanceled=!1,this._rejectOnCancel=!0,this._promise=new Promise((r,i)=>{this._reject=i;let n=a=>{this._isPending=!1,r(a)},s=a=>{this._isPending=!1,i(a)},o=a=>{if(!this._isPending)throw new Error("The `onCancel` handler was attached after the promise settled.");this._cancelHandlers.push(a)};return Object.defineProperties(o,{shouldReject:{get:()=>this._rejectOnCancel,set:a=>{this._rejectOnCancel=a}}}),e(n,s,o)})}then(e,r){return this._promise.then(e,r)}catch(e){return this._promise.catch(e)}finally(e){return this._promise.finally(e)}cancel(e){if(!(!this._isPending||this._isCanceled)){if(this._cancelHandlers.length>0)try{for(let r of this._cancelHandlers)r()}catch(r){this._reject(r)}this._isCanceled=!0,this._rejectOnCancel&&this._reject(new Hx(e))}}get isCanceled(){return this._isCanceled}};Object.setPrototypeOf(Ep.prototype,Promise.prototype);Ux.exports=Ep;Ux.exports.CancelError=Hx});var f3=E((Gx,jx)=>{"use strict";Object.defineProperty(Gx,"__esModule",{value:!0});var hbe=require("tls"),Yx=(t,e)=>{let r;typeof e=="function"?r={connect:e}:r=e;let i=typeof r.connect=="function",n=typeof r.secureConnect=="function",s=typeof r.close=="function",o=()=>{i&&r.connect(),t instanceof hbe.TLSSocket&&n&&(t.authorized?r.secureConnect():t.authorizationError||t.once("secureConnect",r.secureConnect)),s&&t.once("close",r.close)};t.writable&&!t.connecting?o():t.connecting?t.once("connect",o):t.destroyed&&s&&r.close(t._hadError)};Gx.default=Yx;jx.exports=Yx;jx.exports.default=Yx});var h3=E((qx,Jx)=>{"use strict";Object.defineProperty(qx,"__esModule",{value:!0});var pbe=f3(),dbe=Number(process.versions.node.split(".")[0]),Wx=t=>{let e={start:Date.now(),socket:void 0,lookup:void 0,connect:void 0,secureConnect:void 0,upload:void 0,response:void 0,end:void 0,error:void 0,abort:void 0,phases:{wait:void 0,dns:void 0,tcp:void 0,tls:void 0,request:void 0,firstByte:void 0,download:void 0,total:void 0}};t.timings=e;let r=o=>{let a=o.emit.bind(o);o.emit=(l,...c)=>(l==="error"&&(e.error=Date.now(),e.phases.total=e.error-e.start,o.emit=a),a(l,...c))};r(t),t.prependOnceListener("abort",()=>{e.abort=Date.now(),(!e.response||dbe>=13)&&(e.phases.total=Date.now()-e.start)});let i=o=>{e.socket=Date.now(),e.phases.wait=e.socket-e.start;let a=()=>{e.lookup=Date.now(),e.phases.dns=e.lookup-e.socket};o.prependOnceListener("lookup",a),pbe.default(o,{connect:()=>{e.connect=Date.now(),e.lookup===void 0&&(o.removeListener("lookup",a),e.lookup=e.connect,e.phases.dns=e.lookup-e.socket),e.phases.tcp=e.connect-e.lookup},secureConnect:()=>{e.secureConnect=Date.now(),e.phases.tls=e.secureConnect-e.connect}})};t.socket?i(t.socket):t.prependOnceListener("socket",i);let n=()=>{var o;e.upload=Date.now(),e.phases.request=e.upload-(o=e.secureConnect,o!=null?o:e.connect)};return(()=>typeof t.writableFinished=="boolean"?t.writableFinished:t.finished&&t.outputSize===0&&(!t.socket||t.socket.writableLength===0))()?n():t.prependOnceListener("finish",n),t.prependOnceListener("response",o=>{e.response=Date.now(),e.phases.firstByte=e.response-e.upload,o.timings=e,r(o),o.prependOnceListener("end",()=>{e.end=Date.now(),e.phases.download=e.end-e.response,e.phases.total=e.end-e.start})}),e};qx.default=Wx;Jx.exports=Wx;Jx.exports.default=Wx});var y3=E((fnt,zx)=>{"use strict";var{V4MAPPED:Cbe,ADDRCONFIG:mbe,ALL:p3,promises:{Resolver:d3},lookup:Ebe}=require("dns"),{promisify:Vx}=require("util"),Ibe=require("os"),Gu=Symbol("cacheableLookupCreateConnection"),_x=Symbol("cacheableLookupInstance"),C3=Symbol("expires"),ybe=typeof p3=="number",m3=t=>{if(!(t&&typeof t.createConnection=="function"))throw new Error("Expected an Agent instance as the first argument")},wbe=t=>{for(let e of t)e.family!==6&&(e.address=`::ffff:${e.address}`,e.family=6)},E3=()=>{let t=!1,e=!1;for(let r of Object.values(Ibe.networkInterfaces()))for(let i of r)if(!i.internal&&(i.family==="IPv6"?e=!0:t=!0,t&&e))return{has4:t,has6:e};return{has4:t,has6:e}},Bbe=t=>Symbol.iterator in t,I3={ttl:!0},Qbe={all:!0},Xx=class{constructor({cache:e=new Map,maxTtl:r=Infinity,fallbackDuration:i=3600,errorTtl:n=.15,resolver:s=new d3,lookup:o=Ebe}={}){if(this.maxTtl=r,this.errorTtl=n,this._cache=e,this._resolver=s,this._dnsLookup=Vx(o),this._resolver instanceof d3?(this._resolve4=this._resolver.resolve4.bind(this._resolver),this._resolve6=this._resolver.resolve6.bind(this._resolver)):(this._resolve4=Vx(this._resolver.resolve4.bind(this._resolver)),this._resolve6=Vx(this._resolver.resolve6.bind(this._resolver))),this._iface=E3(),this._pending={},this._nextRemovalTime=!1,this._hostnamesToFallback=new Set,i<1)this._fallback=!1;else{this._fallback=!0;let a=setInterval(()=>{this._hostnamesToFallback.clear()},i*1e3);a.unref&&a.unref()}this.lookup=this.lookup.bind(this),this.lookupAsync=this.lookupAsync.bind(this)}set servers(e){this.clear(),this._resolver.setServers(e)}get servers(){return this._resolver.getServers()}lookup(e,r,i){if(typeof r=="function"?(i=r,r={}):typeof r=="number"&&(r={family:r}),!i)throw new Error("Callback must be a function.");this.lookupAsync(e,r).then(n=>{r.all?i(null,n):i(null,n.address,n.family,n.expires,n.ttl)},i)}async lookupAsync(e,r={}){typeof r=="number"&&(r={family:r});let i=await this.query(e);if(r.family===6){let n=i.filter(s=>s.family===6);r.hints&Cbe&&(ybe&&r.hints&p3||n.length===0)?wbe(i):i=n}else r.family===4&&(i=i.filter(n=>n.family===4));if(r.hints&mbe){let{_iface:n}=this;i=i.filter(s=>s.family===6?n.has6:n.has4)}if(i.length===0){let n=new Error(`cacheableLookup ENOTFOUND ${e}`);throw n.code="ENOTFOUND",n.hostname=e,n}return r.all?i:i[0]}async query(e){let r=await this._cache.get(e);if(!r){let i=this._pending[e];if(i)r=await i;else{let n=this.queryAndCache(e);this._pending[e]=n,r=await n}}return r=r.map(i=>P({},i)),r}async _resolve(e){let r=async c=>{try{return await c}catch(u){if(u.code==="ENODATA"||u.code==="ENOTFOUND")return[];throw u}},[i,n]=await Promise.all([this._resolve4(e,I3),this._resolve6(e,I3)].map(c=>r(c))),s=0,o=0,a=0,l=Date.now();for(let c of i)c.family=4,c.expires=l+c.ttl*1e3,s=Math.max(s,c.ttl);for(let c of n)c.family=6,c.expires=l+c.ttl*1e3,o=Math.max(o,c.ttl);return i.length>0?n.length>0?a=Math.min(s,o):a=s:a=o,{entries:[...i,...n],cacheTtl:a}}async _lookup(e){try{return{entries:await this._dnsLookup(e,{all:!0}),cacheTtl:0}}catch(r){return{entries:[],cacheTtl:0}}}async _set(e,r,i){if(this.maxTtl>0&&i>0){i=Math.min(i,this.maxTtl)*1e3,r[C3]=Date.now()+i;try{await this._cache.set(e,r,i)}catch(n){this.lookupAsync=async()=>{let s=new Error("Cache Error. Please recreate the CacheableLookup instance.");throw s.cause=n,s}}Bbe(this._cache)&&this._tick(i)}}async queryAndCache(e){if(this._hostnamesToFallback.has(e))return this._dnsLookup(e,Qbe);try{let r=await this._resolve(e);r.entries.length===0&&this._fallback&&(r=await this._lookup(e),r.entries.length!==0&&this._hostnamesToFallback.add(e));let i=r.entries.length===0?this.errorTtl:r.cacheTtl;return await this._set(e,r.entries,i),delete this._pending[e],r.entries}catch(r){throw delete this._pending[e],r}}_tick(e){let r=this._nextRemovalTime;(!r||e{this._nextRemovalTime=!1;let i=Infinity,n=Date.now();for(let[s,o]of this._cache){let a=o[C3];n>=a?this._cache.delete(s):a("lookup"in r||(r.lookup=this.lookup),e[Gu](r,i))}uninstall(e){if(m3(e),e[Gu]){if(e[_x]!==this)throw new Error("The agent is not owned by this CacheableLookup instance");e.createConnection=e[Gu],delete e[Gu],delete e[_x]}}updateInterfaceInfo(){let{_iface:e}=this;this._iface=E3(),(e.has4&&!this._iface.has4||e.has6&&!this._iface.has6)&&this._cache.clear()}clear(e){if(e){this._cache.delete(e);return}this._cache.clear()}};zx.exports=Xx;zx.exports.default=Xx});var Q3=E((hnt,Zx)=>{"use strict";var bbe=typeof URL=="undefined"?require("url").URL:URL,vbe="text/plain",Sbe="us-ascii",w3=(t,e)=>e.some(r=>r instanceof RegExp?r.test(t):r===t),xbe=(t,{stripHash:e})=>{let r=t.match(/^data:([^,]*?),([^#]*?)(?:#(.*))?$/);if(!r)throw new Error(`Invalid URL: ${t}`);let i=r[1].split(";"),n=r[2],s=e?"":r[3],o=!1;i[i.length-1]==="base64"&&(i.pop(),o=!0);let a=(i.shift()||"").toLowerCase(),c=[...i.map(u=>{let[g,f=""]=u.split("=").map(h=>h.trim());return g==="charset"&&(f=f.toLowerCase(),f===Sbe)?"":`${g}${f?`=${f}`:""}`}).filter(Boolean)];return o&&c.push("base64"),(c.length!==0||a&&a!==vbe)&&c.unshift(a),`data:${c.join(";")},${o?n.trim():n}${s?`#${s}`:""}`},B3=(t,e)=>{if(e=P({defaultProtocol:"http:",normalizeProtocol:!0,forceHttp:!1,forceHttps:!1,stripAuthentication:!0,stripHash:!1,stripWWW:!0,removeQueryParameters:[/^utm_\w+/i],removeTrailingSlash:!0,removeDirectoryIndex:!1,sortQueryParameters:!0},e),Reflect.has(e,"normalizeHttps"))throw new Error("options.normalizeHttps is renamed to options.forceHttp");if(Reflect.has(e,"normalizeHttp"))throw new Error("options.normalizeHttp is renamed to options.forceHttps");if(Reflect.has(e,"stripFragment"))throw new Error("options.stripFragment is renamed to options.stripHash");if(t=t.trim(),/^data:/i.test(t))return xbe(t,e);let r=t.startsWith("//");!r&&/^\.*\//.test(t)||(t=t.replace(/^(?!(?:\w+:)?\/\/)|^\/\//,e.defaultProtocol));let n=new bbe(t);if(e.forceHttp&&e.forceHttps)throw new Error("The `forceHttp` and `forceHttps` options cannot be used together");if(e.forceHttp&&n.protocol==="https:"&&(n.protocol="http:"),e.forceHttps&&n.protocol==="http:"&&(n.protocol="https:"),e.stripAuthentication&&(n.username="",n.password=""),e.stripHash&&(n.hash=""),n.pathname&&(n.pathname=n.pathname.replace(/((?!:).|^)\/{2,}/g,(s,o)=>/^(?!\/)/g.test(o)?`${o}/`:"/")),n.pathname&&(n.pathname=decodeURI(n.pathname)),e.removeDirectoryIndex===!0&&(e.removeDirectoryIndex=[/^index\.[a-z]+$/]),Array.isArray(e.removeDirectoryIndex)&&e.removeDirectoryIndex.length>0){let s=n.pathname.split("/"),o=s[s.length-1];w3(o,e.removeDirectoryIndex)&&(s=s.slice(0,s.length-1),n.pathname=s.slice(1).join("/")+"/")}if(n.hostname&&(n.hostname=n.hostname.replace(/\.$/,""),e.stripWWW&&/^www\.([a-z\-\d]{2,63})\.([a-z.]{2,5})$/.test(n.hostname)&&(n.hostname=n.hostname.replace(/^www\./,""))),Array.isArray(e.removeQueryParameters))for(let s of[...n.searchParams.keys()])w3(s,e.removeQueryParameters)&&n.searchParams.delete(s);return e.sortQueryParameters&&n.searchParams.sort(),e.removeTrailingSlash&&(n.pathname=n.pathname.replace(/\/$/,"")),t=n.toString(),(e.removeTrailingSlash||n.pathname==="/")&&n.hash===""&&(t=t.replace(/\/$/,"")),r&&!e.normalizeProtocol&&(t=t.replace(/^http:\/\//,"//")),e.stripProtocol&&(t=t.replace(/^(?:https?:)?\/\//,"")),t};Zx.exports=B3;Zx.exports.default=B3});var S3=E((pnt,b3)=>{b3.exports=v3;function v3(t,e){if(t&&e)return v3(t)(e);if(typeof t!="function")throw new TypeError("need wrapper function");return Object.keys(t).forEach(function(i){r[i]=t[i]}),r;function r(){for(var i=new Array(arguments.length),n=0;n{var x3=S3();$x.exports=x3(Ry);$x.exports.strict=x3(k3);Ry.proto=Ry(function(){Object.defineProperty(Function.prototype,"once",{value:function(){return Ry(this)},configurable:!0}),Object.defineProperty(Function.prototype,"onceStrict",{value:function(){return k3(this)},configurable:!0})});function Ry(t){var e=function(){return e.called?e.value:(e.called=!0,e.value=t.apply(this,arguments))};return e.called=!1,e}function k3(t){var e=function(){if(e.called)throw new Error(e.onceError);return e.called=!0,e.value=t.apply(this,arguments)},r=t.name||"Function wrapped with `once`";return e.onceError=r+" shouldn't be called more than once",e.called=!1,e}});var tk=E((Cnt,P3)=>{var kbe=ek(),Pbe=function(){},Dbe=function(t){return t.setHeader&&typeof t.abort=="function"},Rbe=function(t){return t.stdio&&Array.isArray(t.stdio)&&t.stdio.length===3},D3=function(t,e,r){if(typeof e=="function")return D3(t,null,e);e||(e={}),r=kbe(r||Pbe);var i=t._writableState,n=t._readableState,s=e.readable||e.readable!==!1&&t.readable,o=e.writable||e.writable!==!1&&t.writable,a=function(){t.writable||l()},l=function(){o=!1,s||r.call(t)},c=function(){s=!1,o||r.call(t)},u=function(p){r.call(t,p?new Error("exited with error code: "+p):null)},g=function(p){r.call(t,p)},f=function(){if(s&&!(n&&n.ended))return r.call(t,new Error("premature close"));if(o&&!(i&&i.ended))return r.call(t,new Error("premature close"))},h=function(){t.req.on("finish",l)};return Dbe(t)?(t.on("complete",l),t.on("abort",f),t.req?h():t.on("request",h)):o&&!i&&(t.on("end",a),t.on("close",a)),Rbe(t)&&t.on("exit",u),t.on("end",c),t.on("finish",l),e.error!==!1&&t.on("error",g),t.on("close",f),function(){t.removeListener("complete",l),t.removeListener("abort",f),t.removeListener("request",h),t.req&&t.req.removeListener("finish",l),t.removeListener("end",a),t.removeListener("close",a),t.removeListener("finish",l),t.removeListener("exit",u),t.removeListener("end",c),t.removeListener("error",g),t.removeListener("close",f)}};P3.exports=D3});var N3=E((mnt,R3)=>{var Fbe=ek(),Nbe=tk(),rk=require("fs"),Ip=function(){},Lbe=/^v?\.0/.test(process.version),Fy=function(t){return typeof t=="function"},Tbe=function(t){return!Lbe||!rk?!1:(t instanceof(rk.ReadStream||Ip)||t instanceof(rk.WriteStream||Ip))&&Fy(t.close)},Mbe=function(t){return t.setHeader&&Fy(t.abort)},Obe=function(t,e,r,i){i=Fbe(i);var n=!1;t.on("close",function(){n=!0}),Nbe(t,{readable:e,writable:r},function(o){if(o)return i(o);n=!0,i()});var s=!1;return function(o){if(!n&&!s){if(s=!0,Tbe(t))return t.close(Ip);if(Mbe(t))return t.abort();if(Fy(t.destroy))return t.destroy();i(o||new Error("stream was destroyed"))}}},F3=function(t){t()},Kbe=function(t,e){return t.pipe(e)},Ube=function(){var t=Array.prototype.slice.call(arguments),e=Fy(t[t.length-1]||Ip)&&t.pop()||Ip;if(Array.isArray(t[0])&&(t=t[0]),t.length<2)throw new Error("pump requires two streams per minimum");var r,i=t.map(function(n,s){var o=s0;return Obe(n,o,a,function(l){r||(r=l),l&&i.forEach(F3),!o&&(i.forEach(F3),e(r))})});return t.reduce(Kbe)};R3.exports=Ube});var T3=E((Ent,L3)=>{"use strict";var{PassThrough:Hbe}=require("stream");L3.exports=t=>{t=P({},t);let{array:e}=t,{encoding:r}=t,i=r==="buffer",n=!1;e?n=!(r||i):r=r||"utf8",i&&(r=null);let s=new Hbe({objectMode:n});r&&s.setEncoding(r);let o=0,a=[];return s.on("data",l=>{a.push(l),n?o=a.length:o+=l.length}),s.getBufferedValue=()=>e?a:i?Buffer.concat(a,o):a.join(""),s.getBufferedLength=()=>o,s}});var M3=E((Int,ju)=>{"use strict";var Gbe=N3(),jbe=T3(),ik=class extends Error{constructor(){super("maxBuffer exceeded");this.name="MaxBufferError"}};async function Ny(t,e){if(!t)return Promise.reject(new Error("Expected a stream"));e=P({maxBuffer:Infinity},e);let{maxBuffer:r}=e,i;return await new Promise((n,s)=>{let o=a=>{a&&(a.bufferedData=i.getBufferedValue()),s(a)};i=Gbe(t,jbe(e),a=>{if(a){o(a);return}n()}),i.on("data",()=>{i.getBufferedLength()>r&&o(new ik)})}),i.getBufferedValue()}ju.exports=Ny;ju.exports.default=Ny;ju.exports.buffer=(t,e)=>Ny(t,_(P({},e),{encoding:"buffer"}));ju.exports.array=(t,e)=>Ny(t,_(P({},e),{array:!0}));ju.exports.MaxBufferError=ik});var K3=E((wnt,O3)=>{"use strict";var Ybe=[200,203,204,206,300,301,404,405,410,414,501],qbe=[200,203,204,300,301,302,303,307,308,404,405,410,414,501],Jbe={date:!0,connection:!0,"keep-alive":!0,"proxy-authenticate":!0,"proxy-authorization":!0,te:!0,trailer:!0,"transfer-encoding":!0,upgrade:!0},Wbe={"content-length":!0,"content-encoding":!0,"transfer-encoding":!0,"content-range":!0};function nk(t){let e={};if(!t)return e;let r=t.trim().split(/\s*,\s*/);for(let i of r){let[n,s]=i.split(/\s*=\s*/,2);e[n]=s===void 0?!0:s.replace(/^"|"$/g,"")}return e}function zbe(t){let e=[];for(let r in t){let i=t[r];e.push(i===!0?r:r+"="+i)}if(!!e.length)return e.join(", ")}O3.exports=class{constructor(e,r,{shared:i,cacheHeuristic:n,immutableMinTimeToLive:s,ignoreCargoCult:o,trustServerDate:a,_fromObject:l}={}){if(l){this._fromObject(l);return}if(!r||!r.headers)throw Error("Response headers missing");this._assertRequestHasHeaders(e),this._responseTime=this.now(),this._isShared=i!==!1,this._trustServerDate=a!==void 0?a:!0,this._cacheHeuristic=n!==void 0?n:.1,this._immutableMinTtl=s!==void 0?s:24*3600*1e3,this._status="status"in r?r.status:200,this._resHeaders=r.headers,this._rescc=nk(r.headers["cache-control"]),this._method="method"in e?e.method:"GET",this._url=e.url,this._host=e.headers.host,this._noAuthorization=!e.headers.authorization,this._reqHeaders=r.headers.vary?e.headers:null,this._reqcc=nk(e.headers["cache-control"]),o&&"pre-check"in this._rescc&&"post-check"in this._rescc&&(delete this._rescc["pre-check"],delete this._rescc["post-check"],delete this._rescc["no-cache"],delete this._rescc["no-store"],delete this._rescc["must-revalidate"],this._resHeaders=Object.assign({},this._resHeaders,{"cache-control":zbe(this._rescc)}),delete this._resHeaders.expires,delete this._resHeaders.pragma),!r.headers["cache-control"]&&/no-cache/.test(r.headers.pragma)&&(this._rescc["no-cache"]=!0)}now(){return Date.now()}storable(){return!!(!this._reqcc["no-store"]&&(this._method==="GET"||this._method==="HEAD"||this._method==="POST"&&this._hasExplicitExpiration())&&qbe.indexOf(this._status)!==-1&&!this._rescc["no-store"]&&(!this._isShared||!this._rescc.private)&&(!this._isShared||this._noAuthorization||this._allowsStoringAuthenticated())&&(this._resHeaders.expires||this._rescc.public||this._rescc["max-age"]||this._rescc["s-maxage"]||Ybe.indexOf(this._status)!==-1))}_hasExplicitExpiration(){return this._isShared&&this._rescc["s-maxage"]||this._rescc["max-age"]||this._resHeaders.expires}_assertRequestHasHeaders(e){if(!e||!e.headers)throw Error("Request headers missing")}satisfiesWithoutRevalidation(e){this._assertRequestHasHeaders(e);let r=nk(e.headers["cache-control"]);return r["no-cache"]||/no-cache/.test(e.headers.pragma)||r["max-age"]&&this.age()>r["max-age"]||r["min-fresh"]&&this.timeToLive()<1e3*r["min-fresh"]||this.stale()&&!(r["max-stale"]&&!this._rescc["must-revalidate"]&&(r["max-stale"]===!0||r["max-stale"]>this.age()-this.maxAge()))?!1:this._requestMatches(e,!1)}_requestMatches(e,r){return(!this._url||this._url===e.url)&&this._host===e.headers.host&&(!e.method||this._method===e.method||r&&e.method==="HEAD")&&this._varyMatches(e)}_allowsStoringAuthenticated(){return this._rescc["must-revalidate"]||this._rescc.public||this._rescc["s-maxage"]}_varyMatches(e){if(!this._resHeaders.vary)return!0;if(this._resHeaders.vary==="*")return!1;let r=this._resHeaders.vary.trim().toLowerCase().split(/\s*,\s*/);for(let i of r)if(e.headers[i]!==this._reqHeaders[i])return!1;return!0}_copyWithoutHopByHopHeaders(e){let r={};for(let i in e)Jbe[i]||(r[i]=e[i]);if(e.connection){let i=e.connection.trim().split(/\s*,\s*/);for(let n of i)delete r[n]}if(r.warning){let i=r.warning.split(/,/).filter(n=>!/^\s*1[0-9][0-9]/.test(n));i.length?r.warning=i.join(",").trim():delete r.warning}return r}responseHeaders(){let e=this._copyWithoutHopByHopHeaders(this._resHeaders),r=this.age();return r>3600*24&&!this._hasExplicitExpiration()&&this.maxAge()>3600*24&&(e.warning=(e.warning?`${e.warning}, `:"")+'113 - "rfc7234 5.5.4"'),e.age=`${Math.round(r)}`,e.date=new Date(this.now()).toUTCString(),e}date(){return this._trustServerDate?this._serverDate():this._responseTime}_serverDate(){let e=Date.parse(this._resHeaders.date);if(isFinite(e)){let r=8*3600*1e3;if(Math.abs(this._responseTime-e)e&&(e=i)}let r=(this.now()-this._responseTime)/1e3;return e+r}_ageValue(){let e=parseInt(this._resHeaders.age);return isFinite(e)?e:0}maxAge(){if(!this.storable()||this._rescc["no-cache"]||this._isShared&&this._resHeaders["set-cookie"]&&!this._rescc.public&&!this._rescc.immutable||this._resHeaders.vary==="*")return 0;if(this._isShared){if(this._rescc["proxy-revalidate"])return 0;if(this._rescc["s-maxage"])return parseInt(this._rescc["s-maxage"],10)}if(this._rescc["max-age"])return parseInt(this._rescc["max-age"],10);let e=this._rescc.immutable?this._immutableMinTtl:0,r=this._serverDate();if(this._resHeaders.expires){let i=Date.parse(this._resHeaders.expires);return Number.isNaN(i)||ii)return Math.max(e,(r-i)/1e3*this._cacheHeuristic)}return e}timeToLive(){return Math.max(0,this.maxAge()-this.age())*1e3}stale(){return this.maxAge()<=this.age()}static fromObject(e){return new this(void 0,void 0,{_fromObject:e})}_fromObject(e){if(this._responseTime)throw Error("Reinitialized");if(!e||e.v!==1)throw Error("Invalid serialization");this._responseTime=e.t,this._isShared=e.sh,this._cacheHeuristic=e.ch,this._immutableMinTtl=e.imm!==void 0?e.imm:24*3600*1e3,this._status=e.st,this._resHeaders=e.resh,this._rescc=e.rescc,this._method=e.m,this._url=e.u,this._host=e.h,this._noAuthorization=e.a,this._reqHeaders=e.reqh,this._reqcc=e.reqcc}toObject(){return{v:1,t:this._responseTime,sh:this._isShared,ch:this._cacheHeuristic,imm:this._immutableMinTtl,st:this._status,resh:this._resHeaders,rescc:this._rescc,m:this._method,u:this._url,h:this._host,a:this._noAuthorization,reqh:this._reqHeaders,reqcc:this._reqcc}}revalidationHeaders(e){this._assertRequestHasHeaders(e);let r=this._copyWithoutHopByHopHeaders(e.headers);if(delete r["if-range"],!this._requestMatches(e,!0)||!this.storable())return delete r["if-none-match"],delete r["if-modified-since"],r;if(this._resHeaders.etag&&(r["if-none-match"]=r["if-none-match"]?`${r["if-none-match"]}, ${this._resHeaders.etag}`:this._resHeaders.etag),r["accept-ranges"]||r["if-match"]||r["if-unmodified-since"]||this._method&&this._method!="GET"){if(delete r["if-modified-since"],r["if-none-match"]){let n=r["if-none-match"].split(/,/).filter(s=>!/^\s*W\//.test(s));n.length?r["if-none-match"]=n.join(",").trim():delete r["if-none-match"]}}else this._resHeaders["last-modified"]&&!r["if-modified-since"]&&(r["if-modified-since"]=this._resHeaders["last-modified"]);return r}revalidatedPolicy(e,r){if(this._assertRequestHasHeaders(e),!r||!r.headers)throw Error("Response headers missing");let i=!1;if(r.status!==void 0&&r.status!=304?i=!1:r.headers.etag&&!/^\s*W\//.test(r.headers.etag)?i=this._resHeaders.etag&&this._resHeaders.etag.replace(/^\s*W\//,"")===r.headers.etag:this._resHeaders.etag&&r.headers.etag?i=this._resHeaders.etag.replace(/^\s*W\//,"")===r.headers.etag.replace(/^\s*W\//,""):this._resHeaders["last-modified"]?i=this._resHeaders["last-modified"]===r.headers["last-modified"]:!this._resHeaders.etag&&!this._resHeaders["last-modified"]&&!r.headers.etag&&!r.headers["last-modified"]&&(i=!0),!i)return{policy:new this.constructor(e,r),modified:r.status!=304,matches:!1};let n={};for(let o in this._resHeaders)n[o]=o in r.headers&&!Wbe[o]?r.headers[o]:this._resHeaders[o];let s=Object.assign({},r,{status:this._status,method:this._method,headers:n});return{policy:new this.constructor(e,s,{shared:this._isShared,cacheHeuristic:this._cacheHeuristic,immutableMinTimeToLive:this._immutableMinTtl,trustServerDate:this._trustServerDate}),modified:!1,matches:!0}}}});var Ly=E((Bnt,U3)=>{"use strict";U3.exports=t=>{let e={};for(let[r,i]of Object.entries(t))e[r.toLowerCase()]=i;return e}});var j3=E((Qnt,H3)=>{"use strict";var Vbe=require("stream").Readable,_be=Ly(),G3=class extends Vbe{constructor(e,r,i,n){if(typeof e!="number")throw new TypeError("Argument `statusCode` should be a number");if(typeof r!="object")throw new TypeError("Argument `headers` should be an object");if(!(i instanceof Buffer))throw new TypeError("Argument `body` should be a buffer");if(typeof n!="string")throw new TypeError("Argument `url` should be a string");super();this.statusCode=e,this.headers=_be(r),this.body=i,this.url=n}_read(){this.push(this.body),this.push(null)}};H3.exports=G3});var q3=E((bnt,Y3)=>{"use strict";var Xbe=["destroy","setTimeout","socket","headers","trailers","rawHeaders","statusCode","httpVersion","httpVersionMinor","httpVersionMajor","rawTrailers","statusMessage"];Y3.exports=(t,e)=>{let r=new Set(Object.keys(t).concat(Xbe));for(let i of r)i in e||(e[i]=typeof t[i]=="function"?t[i].bind(t):t[i])}});var W3=E((vnt,J3)=>{"use strict";var Zbe=require("stream").PassThrough,$be=q3(),eve=t=>{if(!(t&&t.pipe))throw new TypeError("Parameter `response` must be a response stream.");let e=new Zbe;return $be(t,e),t.pipe(e)};J3.exports=eve});var z3=E(sk=>{sk.stringify=function t(e){if(typeof e=="undefined")return e;if(e&&Buffer.isBuffer(e))return JSON.stringify(":base64:"+e.toString("base64"));if(e&&e.toJSON&&(e=e.toJSON()),e&&typeof e=="object"){var r="",i=Array.isArray(e);r=i?"[":"{";var n=!0;for(var s in e){var o=typeof e[s]=="function"||!i&&typeof e[s]=="undefined";Object.hasOwnProperty.call(e,s)&&!o&&(n||(r+=","),n=!1,i?e[s]==null?r+="null":r+=t(e[s]):e[s]!==void 0&&(r+=t(s)+":"+t(e[s])))}return r+=i?"]":"}",r}else return typeof e=="string"?JSON.stringify(/^:/.test(e)?":"+e:e):typeof e=="undefined"?"null":JSON.stringify(e)};sk.parse=function(t){return JSON.parse(t,function(e,r){return typeof r=="string"?/^:base64:/.test(r)?Buffer.from(r.substring(8),"base64"):/^:/.test(r)?r.substring(1):r:r})}});var Z3=E((xnt,V3)=>{"use strict";var tve=require("events"),_3=z3(),rve=t=>{let e={redis:"@keyv/redis",mongodb:"@keyv/mongo",mongo:"@keyv/mongo",sqlite:"@keyv/sqlite",postgresql:"@keyv/postgres",postgres:"@keyv/postgres",mysql:"@keyv/mysql"};if(t.adapter||t.uri){let r=t.adapter||/^[^:]*/.exec(t.uri)[0];return new(require(e[r]))(t)}return new Map},X3=class extends tve{constructor(e,r){super();if(this.opts=Object.assign({namespace:"keyv",serialize:_3.stringify,deserialize:_3.parse},typeof e=="string"?{uri:e}:e,r),!this.opts.store){let i=Object.assign({},this.opts);this.opts.store=rve(i)}typeof this.opts.store.on=="function"&&this.opts.store.on("error",i=>this.emit("error",i)),this.opts.store.namespace=this.opts.namespace}_getKeyPrefix(e){return`${this.opts.namespace}:${e}`}get(e,r){e=this._getKeyPrefix(e);let{store:i}=this.opts;return Promise.resolve().then(()=>i.get(e)).then(n=>typeof n=="string"?this.opts.deserialize(n):n).then(n=>{if(n!==void 0){if(typeof n.expires=="number"&&Date.now()>n.expires){this.delete(e);return}return r&&r.raw?n:n.value}})}set(e,r,i){e=this._getKeyPrefix(e),typeof i=="undefined"&&(i=this.opts.ttl),i===0&&(i=void 0);let{store:n}=this.opts;return Promise.resolve().then(()=>{let s=typeof i=="number"?Date.now()+i:null;return r={value:r,expires:s},this.opts.serialize(r)}).then(s=>n.set(e,s,i)).then(()=>!0)}delete(e){e=this._getKeyPrefix(e);let{store:r}=this.opts;return Promise.resolve().then(()=>r.delete(e))}clear(){let{store:e}=this.opts;return Promise.resolve().then(()=>e.clear())}};V3.exports=X3});var tW=E((knt,$3)=>{"use strict";var ive=require("events"),Ty=require("url"),nve=Q3(),sve=M3(),ok=K3(),eW=j3(),ove=Ly(),ave=W3(),Ave=Z3(),yo=class{constructor(e,r){if(typeof e!="function")throw new TypeError("Parameter `request` must be a function");return this.cache=new Ave({uri:typeof r=="string"&&r,store:typeof r!="string"&&r,namespace:"cacheable-request"}),this.createCacheableRequest(e)}createCacheableRequest(e){return(r,i)=>{let n;if(typeof r=="string")n=ak(Ty.parse(r)),r={};else if(r instanceof Ty.URL)n=ak(Ty.parse(r.toString())),r={};else{let[g,...f]=(r.path||"").split("?"),h=f.length>0?`?${f.join("?")}`:"";n=ak(_(P({},r),{pathname:g,search:h}))}r=P(P({headers:{},method:"GET",cache:!0,strictTtl:!1,automaticFailover:!1},r),lve(n)),r.headers=ove(r.headers);let s=new ive,o=nve(Ty.format(n),{stripWWW:!1,removeTrailingSlash:!1,stripAuthentication:!1}),a=`${r.method}:${o}`,l=!1,c=!1,u=g=>{c=!0;let f=!1,h,p=new Promise(m=>{h=()=>{f||(f=!0,m())}}),d=m=>{if(l&&!g.forceRefresh){m.status=m.statusCode;let B=ok.fromObject(l.cachePolicy).revalidatedPolicy(g,m);if(!B.modified){let b=B.policy.responseHeaders();m=new eW(l.statusCode,b,l.body,l.url),m.cachePolicy=B.policy,m.fromCache=!0}}m.fromCache||(m.cachePolicy=new ok(g,m,g),m.fromCache=!1);let I;g.cache&&m.cachePolicy.storable()?(I=ave(m),(async()=>{try{let B=sve.buffer(m);if(await Promise.race([p,new Promise(L=>m.once("end",L))]),f)return;let b=await B,R={cachePolicy:m.cachePolicy.toObject(),url:m.url,statusCode:m.fromCache?l.statusCode:m.statusCode,body:b},H=g.strictTtl?m.cachePolicy.timeToLive():void 0;g.maxTtl&&(H=H?Math.min(H,g.maxTtl):g.maxTtl),await this.cache.set(a,R,H)}catch(B){s.emit("error",new yo.CacheError(B))}})()):g.cache&&l&&(async()=>{try{await this.cache.delete(a)}catch(B){s.emit("error",new yo.CacheError(B))}})(),s.emit("response",I||m),typeof i=="function"&&i(I||m)};try{let m=e(g,d);m.once("error",h),m.once("abort",h),s.emit("request",m)}catch(m){s.emit("error",new yo.RequestError(m))}};return(async()=>{let g=async h=>{await Promise.resolve();let p=h.cache?await this.cache.get(a):void 0;if(typeof p=="undefined")return u(h);let d=ok.fromObject(p.cachePolicy);if(d.satisfiesWithoutRevalidation(h)&&!h.forceRefresh){let m=d.responseHeaders(),I=new eW(p.statusCode,m,p.body,p.url);I.cachePolicy=d,I.fromCache=!0,s.emit("response",I),typeof i=="function"&&i(I)}else l=p,h.headers=d.revalidationHeaders(h),u(h)},f=h=>s.emit("error",new yo.CacheError(h));this.cache.once("error",f),s.on("response",()=>this.cache.removeListener("error",f));try{await g(r)}catch(h){r.automaticFailover&&!c&&u(r),s.emit("error",new yo.CacheError(h))}})(),s}}};function lve(t){let e=P({},t);return e.path=`${t.pathname||"/"}${t.search||""}`,delete e.pathname,delete e.search,e}function ak(t){return{protocol:t.protocol,auth:t.auth,hostname:t.hostname||t.host||"localhost",port:t.port,pathname:t.pathname,search:t.search}}yo.RequestError=class extends Error{constructor(t){super(t.message);this.name="RequestError",Object.assign(this,t)}};yo.CacheError=class extends Error{constructor(t){super(t.message);this.name="CacheError",Object.assign(this,t)}};$3.exports=yo});var iW=E((Pnt,rW)=>{"use strict";var cve=["aborted","complete","headers","httpVersion","httpVersionMinor","httpVersionMajor","method","rawHeaders","rawTrailers","setTimeout","socket","statusCode","statusMessage","trailers","url"];rW.exports=(t,e)=>{if(e._readableState.autoDestroy)throw new Error("The second stream must have the `autoDestroy` option set to `false`");let r=new Set(Object.keys(t).concat(cve)),i={};for(let n of r)n in e||(i[n]={get(){let s=t[n];return typeof s=="function"?s.bind(t):s},set(s){t[n]=s},enumerable:!0,configurable:!1});return Object.defineProperties(e,i),t.once("aborted",()=>{e.destroy(),e.emit("aborted")}),t.once("close",()=>{t.complete&&e.readable?e.once("end",()=>{e.emit("close")}):e.emit("close")}),e}});var sW=E((Dnt,nW)=>{"use strict";var{Transform:uve,PassThrough:gve}=require("stream"),Ak=require("zlib"),fve=iW();nW.exports=t=>{let e=(t.headers["content-encoding"]||"").toLowerCase();if(!["gzip","deflate","br"].includes(e))return t;let r=e==="br";if(r&&typeof Ak.createBrotliDecompress!="function")return t.destroy(new Error("Brotli is not supported on Node.js < 12")),t;let i=!0,n=new uve({transform(a,l,c){i=!1,c(null,a)},flush(a){a()}}),s=new gve({autoDestroy:!1,destroy(a,l){t.destroy(),l(a)}}),o=r?Ak.createBrotliDecompress():Ak.createUnzip();return o.once("error",a=>{if(i&&!t.readable){s.end();return}s.destroy(a)}),fve(t,s),t.pipe(n).pipe(o).pipe(s),s}});var lk=E((Rnt,oW)=>{"use strict";var aW=class{constructor(e={}){if(!(e.maxSize&&e.maxSize>0))throw new TypeError("`maxSize` must be a number greater than 0");this.maxSize=e.maxSize,this.onEviction=e.onEviction,this.cache=new Map,this.oldCache=new Map,this._size=0}_set(e,r){if(this.cache.set(e,r),this._size++,this._size>=this.maxSize){if(this._size=0,typeof this.onEviction=="function")for(let[i,n]of this.oldCache.entries())this.onEviction(i,n);this.oldCache=this.cache,this.cache=new Map}}get(e){if(this.cache.has(e))return this.cache.get(e);if(this.oldCache.has(e)){let r=this.oldCache.get(e);return this.oldCache.delete(e),this._set(e,r),r}}set(e,r){return this.cache.has(e)?this.cache.set(e,r):this._set(e,r),this}has(e){return this.cache.has(e)||this.oldCache.has(e)}peek(e){if(this.cache.has(e))return this.cache.get(e);if(this.oldCache.has(e))return this.oldCache.get(e)}delete(e){let r=this.cache.delete(e);return r&&this._size--,this.oldCache.delete(e)||r}clear(){this.cache.clear(),this.oldCache.clear(),this._size=0}*keys(){for(let[e]of this)yield e}*values(){for(let[,e]of this)yield e}*[Symbol.iterator](){for(let e of this.cache)yield e;for(let e of this.oldCache){let[r]=e;this.cache.has(r)||(yield e)}}get size(){let e=0;for(let r of this.oldCache.keys())this.cache.has(r)||e++;return Math.min(this._size+e,this.maxSize)}};oW.exports=aW});var uk=E((Fnt,AW)=>{"use strict";var hve=require("events"),pve=require("tls"),dve=require("http2"),Cve=lk(),_i=Symbol("currentStreamsCount"),lW=Symbol("request"),ns=Symbol("cachedOriginSet"),Yu=Symbol("gracefullyClosing"),mve=["maxDeflateDynamicTableSize","maxSessionMemory","maxHeaderListPairs","maxOutstandingPings","maxReservedRemoteStreams","maxSendHeaderBlockLength","paddingStrategy","localAddress","path","rejectUnauthorized","minDHSize","ca","cert","clientCertEngine","ciphers","key","pfx","servername","minVersion","maxVersion","secureProtocol","crl","honorCipherOrder","ecdhCurve","dhparam","secureOptions","sessionIdContext"],Eve=(t,e,r)=>{let i=0,n=t.length;for(;i>>1;r(t[s],e)?i=s+1:n=s}return i},Ive=(t,e)=>t.remoteSettings.maxConcurrentStreams>e.remoteSettings.maxConcurrentStreams,ck=(t,e)=>{for(let r of t)r[ns].lengthe[ns].includes(i))&&r[_i]+e[_i]<=e.remoteSettings.maxConcurrentStreams&&cW(r)},yve=(t,e)=>{for(let r of t)e[ns].lengthr[ns].includes(i))&&e[_i]+r[_i]<=r.remoteSettings.maxConcurrentStreams&&cW(e)},uW=({agent:t,isFree:e})=>{let r={};for(let i in t.sessions){let s=t.sessions[i].filter(o=>{let a=o[ma.kCurrentStreamsCount]{t[Yu]=!0,t[_i]===0&&t.close()},ma=class extends hve{constructor({timeout:e=6e4,maxSessions:r=Infinity,maxFreeSessions:i=10,maxCachedTlsSessions:n=100}={}){super();this.sessions={},this.queue={},this.timeout=e,this.maxSessions=r,this.maxFreeSessions=i,this._freeSessionsCount=0,this._sessionsCount=0,this.settings={enablePush:!1},this.tlsSessionCache=new Cve({maxSize:n})}static normalizeOrigin(e,r){return typeof e=="string"&&(e=new URL(e)),r&&e.hostname!==r&&(e.hostname=r),e.origin}normalizeOptions(e){let r="";if(e)for(let i of mve)e[i]&&(r+=`:${e[i]}`);return r}_tryToCreateNewSession(e,r){if(!(e in this.queue)||!(r in this.queue[e]))return;let i=this.queue[e][r];this._sessionsCount{Array.isArray(i)?(i=[...i],n()):i=[{resolve:n,reject:s}];let o=this.normalizeOptions(r),a=ma.normalizeOrigin(e,r&&r.servername);if(a===void 0){for(let{reject:u}of i)u(new TypeError("The `origin` argument needs to be a string or an URL object"));return}if(o in this.sessions){let u=this.sessions[o],g=-1,f=-1,h;for(let p of u){let d=p.remoteSettings.maxConcurrentStreams;if(d=d||p[Yu]||p.destroyed)continue;h||(g=d),m>f&&(h=p,f=m)}}if(h){if(i.length!==1){for(let{reject:p}of i){let d=new Error(`Expected the length of listeners to be 1, got ${i.length}. +Please report this to https://github.com/szmarczak/http2-wrapper/`);p(d)}return}i[0].resolve(h);return}}if(o in this.queue){if(a in this.queue[o]){this.queue[o][a].listeners.push(...i),this._tryToCreateNewSession(o,a);return}}else this.queue[o]={};let l=()=>{o in this.queue&&this.queue[o][a]===c&&(delete this.queue[o][a],Object.keys(this.queue[o]).length===0&&delete this.queue[o])},c=()=>{let u=`${a}:${o}`,g=!1;try{let f=dve.connect(e,P({createConnection:this.createConnection,settings:this.settings,session:this.tlsSessionCache.get(u)},r));f[_i]=0,f[Yu]=!1;let h=()=>f[_i]{this.tlsSessionCache.set(u,m)}),f.once("error",m=>{for(let{reject:I}of i)I(m);this.tlsSessionCache.delete(u)}),f.setTimeout(this.timeout,()=>{f.destroy()}),f.once("close",()=>{if(g){p&&this._freeSessionsCount--,this._sessionsCount--;let m=this.sessions[o];m.splice(m.indexOf(f),1),m.length===0&&delete this.sessions[o]}else{let m=new Error("Session closed without receiving a SETTINGS frame");m.code="HTTP2WRAPPER_NOSETTINGS";for(let{reject:I}of i)I(m);l()}this._tryToCreateNewSession(o,a)});let d=()=>{if(!(!(o in this.queue)||!h())){for(let m of f[ns])if(m in this.queue[o]){let{listeners:I}=this.queue[o][m];for(;I.length!==0&&h();)I.shift().resolve(f);let B=this.queue[o];if(B[m].listeners.length===0&&(delete B[m],Object.keys(B).length===0)){delete this.queue[o];break}if(!h())break}}};f.on("origin",()=>{f[ns]=f.originSet,!!h()&&(d(),ck(this.sessions[o],f))}),f.once("remoteSettings",()=>{if(f.ref(),f.unref(),this._sessionsCount++,c.destroyed){let m=new Error("Agent has been destroyed");for(let I of i)I.reject(m);f.destroy();return}f[ns]=f.originSet;{let m=this.sessions;if(o in m){let I=m[o];I.splice(Eve(I,f,Ive),0,f)}else m[o]=[f]}this._freeSessionsCount+=1,g=!0,this.emit("session",f),d(),l(),f[_i]===0&&this._freeSessionsCount>this.maxFreeSessions&&f.close(),i.length!==0&&(this.getSession(a,r,i),i.length=0),f.on("remoteSettings",()=>{d(),ck(this.sessions[o],f)})}),f[lW]=f.request,f.request=(m,I)=>{if(f[Yu])throw new Error("The session is gracefully closing. No new streams are allowed.");let B=f[lW](m,I);return f.ref(),++f[_i],f[_i]===f.remoteSettings.maxConcurrentStreams&&this._freeSessionsCount--,B.once("close",()=>{if(p=h(),--f[_i],!f.destroyed&&!f.closed&&(yve(this.sessions[o],f),h()&&!f.closed)){p||(this._freeSessionsCount++,p=!0);let b=f[_i]===0;b&&f.unref(),b&&(this._freeSessionsCount>this.maxFreeSessions||f[Yu])?f.close():(ck(this.sessions[o],f),d())}}),B}}catch(f){for(let h of i)h.reject(f);l()}};c.listeners=i,c.completed=!1,c.destroyed=!1,this.queue[o][a]=c,this._tryToCreateNewSession(o,a)})}request(e,r,i,n){return new Promise((s,o)=>{this.getSession(e,r,[{reject:o,resolve:a=>{try{s(a.request(i,n))}catch(l){o(l)}}}])})}createConnection(e,r){return ma.connect(e,r)}static connect(e,r){r.ALPNProtocols=["h2"];let i=e.port||443,n=e.hostname||e.host;return typeof r.servername=="undefined"&&(r.servername=n),pve.connect(i,n,r)}closeFreeSessions(){for(let e of Object.values(this.sessions))for(let r of e)r[_i]===0&&r.close()}destroy(e){for(let r of Object.values(this.sessions))for(let i of r)i.destroy(e);for(let r of Object.values(this.queue))for(let i of Object.values(r))i.destroyed=!0;this.queue={}}get freeSessions(){return uW({agent:this,isFree:!0})}get busySessions(){return uW({agent:this,isFree:!1})}};ma.kCurrentStreamsCount=_i;ma.kGracefullyClosing=Yu;AW.exports={Agent:ma,globalAgent:new ma}});var gk=E((Nnt,gW)=>{"use strict";var{Readable:wve}=require("stream"),fW=class extends wve{constructor(e,r){super({highWaterMark:r,autoDestroy:!1});this.statusCode=null,this.statusMessage="",this.httpVersion="2.0",this.httpVersionMajor=2,this.httpVersionMinor=0,this.headers={},this.trailers={},this.req=null,this.aborted=!1,this.complete=!1,this.upgrade=null,this.rawHeaders=[],this.rawTrailers=[],this.socket=e,this.connection=e,this._dumped=!1}_destroy(e){this.req._request.destroy(e)}setTimeout(e,r){return this.req.setTimeout(e,r),this}_dump(){this._dumped||(this._dumped=!0,this.removeAllListeners("data"),this.resume())}_read(){this.req&&this.req._request.resume()}};gW.exports=fW});var fk=E((Lnt,hW)=>{"use strict";hW.exports=t=>{let e={protocol:t.protocol,hostname:typeof t.hostname=="string"&&t.hostname.startsWith("[")?t.hostname.slice(1,-1):t.hostname,host:t.host,hash:t.hash,search:t.search,pathname:t.pathname,href:t.href,path:`${t.pathname||""}${t.search||""}`};return typeof t.port=="string"&&t.port.length!==0&&(e.port=Number(t.port)),(t.username||t.password)&&(e.auth=`${t.username||""}:${t.password||""}`),e}});var dW=E((Tnt,pW)=>{"use strict";pW.exports=(t,e,r)=>{for(let i of r)t.on(i,(...n)=>e.emit(i,...n))}});var mW=E((Mnt,CW)=>{"use strict";CW.exports=t=>{switch(t){case":method":case":scheme":case":authority":case":path":return!0;default:return!1}}});var IW=E((Knt,EW)=>{"use strict";var qu=(t,e,r)=>{EW.exports[e]=class extends t{constructor(...n){super(typeof r=="string"?r:r(n));this.name=`${super.name} [${e}]`,this.code=e}}};qu(TypeError,"ERR_INVALID_ARG_TYPE",t=>{let e=t[0].includes(".")?"property":"argument",r=t[1],i=Array.isArray(r);return i&&(r=`${r.slice(0,-1).join(", ")} or ${r.slice(-1)}`),`The "${t[0]}" ${e} must be ${i?"one of":"of"} type ${r}. Received ${typeof t[2]}`});qu(TypeError,"ERR_INVALID_PROTOCOL",t=>`Protocol "${t[0]}" not supported. Expected "${t[1]}"`);qu(Error,"ERR_HTTP_HEADERS_SENT",t=>`Cannot ${t[0]} headers after they are sent to the client`);qu(TypeError,"ERR_INVALID_HTTP_TOKEN",t=>`${t[0]} must be a valid HTTP token [${t[1]}]`);qu(TypeError,"ERR_HTTP_INVALID_HEADER_VALUE",t=>`Invalid value "${t[0]} for header "${t[1]}"`);qu(TypeError,"ERR_INVALID_CHAR",t=>`Invalid character in ${t[0]} [${t[1]}]`)});var Ck=E((Unt,yW)=>{"use strict";var Bve=require("http2"),{Writable:Qve}=require("stream"),{Agent:wW,globalAgent:bve}=uk(),vve=gk(),Sve=fk(),xve=dW(),kve=mW(),{ERR_INVALID_ARG_TYPE:hk,ERR_INVALID_PROTOCOL:Pve,ERR_HTTP_HEADERS_SENT:BW,ERR_INVALID_HTTP_TOKEN:Dve,ERR_HTTP_INVALID_HEADER_VALUE:Rve,ERR_INVALID_CHAR:Fve}=IW(),{HTTP2_HEADER_STATUS:QW,HTTP2_HEADER_METHOD:bW,HTTP2_HEADER_PATH:vW,HTTP2_METHOD_CONNECT:Nve}=Bve.constants,Pi=Symbol("headers"),pk=Symbol("origin"),dk=Symbol("session"),SW=Symbol("options"),My=Symbol("flushedHeaders"),yp=Symbol("jobs"),Lve=/^[\^`\-\w!#$%&*+.|~]+$/,Tve=/[^\t\u0020-\u007E\u0080-\u00FF]/,xW=class extends Qve{constructor(e,r,i){super({autoDestroy:!1});let n=typeof e=="string"||e instanceof URL;if(n&&(e=Sve(e instanceof URL?e:new URL(e))),typeof r=="function"||r===void 0?(i=r,r=n?e:P({},e)):r=P(P({},e),r),r.h2session)this[dk]=r.h2session;else if(r.agent===!1)this.agent=new wW({maxFreeSessions:0});else if(typeof r.agent=="undefined"||r.agent===null)typeof r.createConnection=="function"?(this.agent=new wW({maxFreeSessions:0}),this.agent.createConnection=r.createConnection):this.agent=bve;else if(typeof r.agent.request=="function")this.agent=r.agent;else throw new hk("options.agent",["Agent-like Object","undefined","false"],r.agent);if(r.protocol&&r.protocol!=="https:")throw new Pve(r.protocol,"https:");let s=r.port||r.defaultPort||this.agent&&this.agent.defaultPort||443,o=r.hostname||r.host||"localhost";delete r.hostname,delete r.host,delete r.port;let{timeout:a}=r;if(r.timeout=void 0,this[Pi]=Object.create(null),this[yp]=[],this.socket=null,this.connection=null,this.method=r.method||"GET",this.path=r.path,this.res=null,this.aborted=!1,this.reusedSocket=!1,r.headers)for(let[l,c]of Object.entries(r.headers))this.setHeader(l,c);r.auth&&!("authorization"in this[Pi])&&(this[Pi].authorization="Basic "+Buffer.from(r.auth).toString("base64")),r.session=r.tlsSession,r.path=r.socketPath,this[SW]=r,s===443?(this[pk]=`https://${o}`,":authority"in this[Pi]||(this[Pi][":authority"]=o)):(this[pk]=`https://${o}:${s}`,":authority"in this[Pi]||(this[Pi][":authority"]=`${o}:${s}`)),a&&this.setTimeout(a),i&&this.once("response",i),this[My]=!1}get method(){return this[Pi][bW]}set method(e){e&&(this[Pi][bW]=e.toUpperCase())}get path(){return this[Pi][vW]}set path(e){e&&(this[Pi][vW]=e)}get _mustNotHaveABody(){return this.method==="GET"||this.method==="HEAD"||this.method==="DELETE"}_write(e,r,i){if(this._mustNotHaveABody){i(new Error("The GET, HEAD and DELETE methods must NOT have a body"));return}this.flushHeaders();let n=()=>this._request.write(e,r,i);this._request?n():this[yp].push(n)}_final(e){if(this.destroyed)return;this.flushHeaders();let r=()=>{if(this._mustNotHaveABody){e();return}this._request.end(e)};this._request?r():this[yp].push(r)}abort(){this.res&&this.res.complete||(this.aborted||process.nextTick(()=>this.emit("abort")),this.aborted=!0,this.destroy())}_destroy(e,r){this.res&&this.res._dump(),this._request&&this._request.destroy(),r(e)}async flushHeaders(){if(this[My]||this.destroyed)return;this[My]=!0;let e=this.method===Nve,r=i=>{if(this._request=i,this.destroyed){i.destroy();return}e||xve(i,this,["timeout","continue","close","error"]);let n=o=>(...a)=>{!this.writable&&!this.destroyed?o(...a):this.once("finish",()=>{o(...a)})};i.once("response",n((o,a,l)=>{let c=new vve(this.socket,i.readableHighWaterMark);this.res=c,c.req=this,c.statusCode=o[QW],c.headers=o,c.rawHeaders=l,c.once("end",()=>{this.aborted?(c.aborted=!0,c.emit("aborted")):(c.complete=!0,c.socket=null,c.connection=null)}),e?(c.upgrade=!0,this.emit("connect",c,i,Buffer.alloc(0))?this.emit("close"):i.destroy()):(i.on("data",u=>{!c._dumped&&!c.push(u)&&i.pause()}),i.once("end",()=>{c.push(null)}),this.emit("response",c)||c._dump())})),i.once("headers",n(o=>this.emit("information",{statusCode:o[QW]}))),i.once("trailers",n((o,a,l)=>{let{res:c}=this;c.trailers=o,c.rawTrailers=l}));let{socket:s}=i.session;this.socket=s,this.connection=s;for(let o of this[yp])o();this.emit("socket",this.socket)};if(this[dk])try{r(this[dk].request(this[Pi]))}catch(i){this.emit("error",i)}else{this.reusedSocket=!0;try{r(await this.agent.request(this[pk],this[SW],this[Pi]))}catch(i){this.emit("error",i)}}}getHeader(e){if(typeof e!="string")throw new hk("name","string",e);return this[Pi][e.toLowerCase()]}get headersSent(){return this[My]}removeHeader(e){if(typeof e!="string")throw new hk("name","string",e);if(this.headersSent)throw new BW("remove");delete this[Pi][e.toLowerCase()]}setHeader(e,r){if(this.headersSent)throw new BW("set");if(typeof e!="string"||!Lve.test(e)&&!kve(e))throw new Dve("Header name",e);if(typeof r=="undefined")throw new Rve(r,e);if(Tve.test(r))throw new Fve("header content",e);this[Pi][e.toLowerCase()]=r}setNoDelay(){}setSocketKeepAlive(){}setTimeout(e,r){let i=()=>this._request.setTimeout(e,r);return this._request?i():this[yp].push(i),this}get maxHeadersCount(){if(!this.destroyed&&this._request)return this._request.session.localSettings.maxHeaderListSize}set maxHeadersCount(e){}};yW.exports=xW});var PW=E((Hnt,kW)=>{"use strict";var Mve=require("tls");kW.exports=(t={})=>new Promise((e,r)=>{let i=Mve.connect(t,()=>{t.resolveSocket?(i.off("error",r),e({alpnProtocol:i.alpnProtocol,socket:i})):(i.destroy(),e({alpnProtocol:i.alpnProtocol}))});i.on("error",r)})});var RW=E((Gnt,DW)=>{"use strict";var Ove=require("net");DW.exports=t=>{let e=t.host,r=t.headers&&t.headers.host;return r&&(r.startsWith("[")?r.indexOf("]")===-1?e=r:e=r.slice(1,-1):e=r.split(":",1)[0]),Ove.isIP(e)?"":e}});var LW=E((jnt,mk)=>{"use strict";var FW=require("http"),Ek=require("https"),Kve=PW(),Uve=lk(),Hve=Ck(),Gve=RW(),jve=fk(),Oy=new Uve({maxSize:100}),wp=new Map,NW=(t,e,r)=>{e._httpMessage={shouldKeepAlive:!0};let i=()=>{t.emit("free",e,r)};e.on("free",i);let n=()=>{t.removeSocket(e,r)};e.on("close",n);let s=()=>{t.removeSocket(e,r),e.off("close",n),e.off("free",i),e.off("agentRemove",s)};e.on("agentRemove",s),t.emit("free",e,r)},Yve=async t=>{let e=`${t.host}:${t.port}:${t.ALPNProtocols.sort()}`;if(!Oy.has(e)){if(wp.has(e))return(await wp.get(e)).alpnProtocol;let{path:r,agent:i}=t;t.path=t.socketPath;let n=Kve(t);wp.set(e,n);try{let{socket:s,alpnProtocol:o}=await n;if(Oy.set(e,o),t.path=r,o==="h2")s.destroy();else{let{globalAgent:a}=Ek,l=Ek.Agent.prototype.createConnection;i?i.createConnection===l?NW(i,s,t):s.destroy():a.createConnection===l?NW(a,s,t):s.destroy()}return wp.delete(e),o}catch(s){throw wp.delete(e),s}}return Oy.get(e)};mk.exports=async(t,e,r)=>{if((typeof t=="string"||t instanceof URL)&&(t=jve(new URL(t))),typeof e=="function"&&(r=e,e=void 0),e=_(P(P({ALPNProtocols:["h2","http/1.1"]},t),e),{resolveSocket:!0}),!Array.isArray(e.ALPNProtocols)||e.ALPNProtocols.length===0)throw new Error("The `ALPNProtocols` option must be an Array with at least one entry");e.protocol=e.protocol||"https:";let i=e.protocol==="https:";e.host=e.hostname||e.host||"localhost",e.session=e.tlsSession,e.servername=e.servername||Gve(e),e.port=e.port||(i?443:80),e._defaultAgent=i?Ek.globalAgent:FW.globalAgent;let n=e.agent;if(n){if(n.addRequest)throw new Error("The `options.agent` object can contain only `http`, `https` or `http2` properties");e.agent=n[i?"https":"http"]}return i&&await Yve(e)==="h2"?(n&&(e.agent=n.http2),new Hve(e,r)):FW.request(e,r)};mk.exports.protocolCache=Oy});var MW=E((Ynt,TW)=>{"use strict";var qve=require("http2"),Jve=uk(),Ik=Ck(),Wve=gk(),zve=LW(),Vve=(t,e,r)=>new Ik(t,e,r),_ve=(t,e,r)=>{let i=new Ik(t,e,r);return i.end(),i};TW.exports=_(P(_(P({},qve),{ClientRequest:Ik,IncomingMessage:Wve}),Jve),{request:Vve,get:_ve,auto:zve})});var wk=E(yk=>{"use strict";Object.defineProperty(yk,"__esModule",{value:!0});var OW=Ca();yk.default=t=>OW.default.nodeStream(t)&&OW.default.function_(t.getBoundary)});var GW=E(Bk=>{"use strict";Object.defineProperty(Bk,"__esModule",{value:!0});var KW=require("fs"),UW=require("util"),HW=Ca(),Xve=wk(),Zve=UW.promisify(KW.stat);Bk.default=async(t,e)=>{if(e&&"content-length"in e)return Number(e["content-length"]);if(!t)return 0;if(HW.default.string(t))return Buffer.byteLength(t);if(HW.default.buffer(t))return t.length;if(Xve.default(t))return UW.promisify(t.getLength.bind(t))();if(t instanceof KW.ReadStream){let{size:r}=await Zve(t.path);return r===0?void 0:r}}});var bk=E(Qk=>{"use strict";Object.defineProperty(Qk,"__esModule",{value:!0});function $ve(t,e,r){let i={};for(let n of r)i[n]=(...s)=>{e.emit(n,...s)},t.on(n,i[n]);return()=>{for(let n of r)t.off(n,i[n])}}Qk.default=$ve});var jW=E(vk=>{"use strict";Object.defineProperty(vk,"__esModule",{value:!0});vk.default=()=>{let t=[];return{once(e,r,i){e.once(r,i),t.push({origin:e,event:r,fn:i})},unhandleAll(){for(let e of t){let{origin:r,event:i,fn:n}=e;r.removeListener(i,n)}t.length=0}}}});var qW=E(Bp=>{"use strict";Object.defineProperty(Bp,"__esModule",{value:!0});Bp.TimeoutError=void 0;var eSe=require("net"),tSe=jW(),YW=Symbol("reentry"),rSe=()=>{},Sk=class extends Error{constructor(e,r){super(`Timeout awaiting '${r}' for ${e}ms`);this.event=r,this.name="TimeoutError",this.code="ETIMEDOUT"}};Bp.TimeoutError=Sk;Bp.default=(t,e,r)=>{if(YW in t)return rSe;t[YW]=!0;let i=[],{once:n,unhandleAll:s}=tSe.default(),o=(g,f,h)=>{var p;let d=setTimeout(f,g,g,h);(p=d.unref)===null||p===void 0||p.call(d);let m=()=>{clearTimeout(d)};return i.push(m),m},{host:a,hostname:l}=r,c=(g,f)=>{t.destroy(new Sk(g,f))},u=()=>{for(let g of i)g();s()};if(t.once("error",g=>{if(u(),t.listenerCount("error")===0)throw g}),t.once("close",u),n(t,"response",g=>{n(g,"end",u)}),typeof e.request!="undefined"&&o(e.request,c,"request"),typeof e.socket!="undefined"){let g=()=>{c(e.socket,"socket")};t.setTimeout(e.socket,g),i.push(()=>{t.removeListener("timeout",g)})}return n(t,"socket",g=>{var f;let{socketPath:h}=t;if(g.connecting){let p=Boolean(h!=null?h:eSe.isIP((f=l!=null?l:a)!==null&&f!==void 0?f:"")!==0);if(typeof e.lookup!="undefined"&&!p&&typeof g.address().address=="undefined"){let d=o(e.lookup,c,"lookup");n(g,"lookup",d)}if(typeof e.connect!="undefined"){let d=()=>o(e.connect,c,"connect");p?n(g,"connect",d()):n(g,"lookup",m=>{m===null&&n(g,"connect",d())})}typeof e.secureConnect!="undefined"&&r.protocol==="https:"&&n(g,"connect",()=>{let d=o(e.secureConnect,c,"secureConnect");n(g,"secureConnect",d)})}if(typeof e.send!="undefined"){let p=()=>o(e.send,c,"send");g.connecting?n(g,"connect",()=>{n(t,"upload-complete",p())}):n(t,"upload-complete",p())}}),typeof e.response!="undefined"&&n(t,"upload-complete",()=>{let g=o(e.response,c,"response");n(t,"response",g)}),u}});var WW=E(xk=>{"use strict";Object.defineProperty(xk,"__esModule",{value:!0});var JW=Ca();xk.default=t=>{t=t;let e={protocol:t.protocol,hostname:JW.default.string(t.hostname)&&t.hostname.startsWith("[")?t.hostname.slice(1,-1):t.hostname,host:t.host,hash:t.hash,search:t.search,pathname:t.pathname,href:t.href,path:`${t.pathname||""}${t.search||""}`};return JW.default.string(t.port)&&t.port.length>0&&(e.port=Number(t.port)),(t.username||t.password)&&(e.auth=`${t.username||""}:${t.password||""}`),e}});var zW=E(kk=>{"use strict";Object.defineProperty(kk,"__esModule",{value:!0});var iSe=require("url"),nSe=["protocol","host","hostname","port","pathname","search"];kk.default=(t,e)=>{var r,i;if(e.path){if(e.pathname)throw new TypeError("Parameters `path` and `pathname` are mutually exclusive.");if(e.search)throw new TypeError("Parameters `path` and `search` are mutually exclusive.");if(e.searchParams)throw new TypeError("Parameters `path` and `searchParams` are mutually exclusive.")}if(e.search&&e.searchParams)throw new TypeError("Parameters `search` and `searchParams` are mutually exclusive.");if(!t){if(!e.protocol)throw new TypeError("No URL protocol specified");t=`${e.protocol}//${(i=(r=e.hostname)!==null&&r!==void 0?r:e.host)!==null&&i!==void 0?i:""}`}let n=new iSe.URL(t);if(e.path){let s=e.path.indexOf("?");s===-1?e.pathname=e.path:(e.pathname=e.path.slice(0,s),e.search=e.path.slice(s+1)),delete e.path}for(let s of nSe)e[s]&&(n[s]=e[s].toString());return n}});var _W=E(Pk=>{"use strict";Object.defineProperty(Pk,"__esModule",{value:!0});var VW=class{constructor(){this.weakMap=new WeakMap,this.map=new Map}set(e,r){typeof e=="object"?this.weakMap.set(e,r):this.map.set(e,r)}get(e){return typeof e=="object"?this.weakMap.get(e):this.map.get(e)}has(e){return typeof e=="object"?this.weakMap.has(e):this.map.has(e)}};Pk.default=VW});var Rk=E(Dk=>{"use strict";Object.defineProperty(Dk,"__esModule",{value:!0});var sSe=async t=>{let e=[],r=0;for await(let i of t)e.push(i),r+=Buffer.byteLength(i);return Buffer.isBuffer(e[0])?Buffer.concat(e,r):Buffer.from(e.join(""))};Dk.default=sSe});var ZW=E(ql=>{"use strict";Object.defineProperty(ql,"__esModule",{value:!0});ql.dnsLookupIpVersionToFamily=ql.isDnsLookupIpVersion=void 0;var XW={auto:0,ipv4:4,ipv6:6};ql.isDnsLookupIpVersion=t=>t in XW;ql.dnsLookupIpVersionToFamily=t=>{if(ql.isDnsLookupIpVersion(t))return XW[t];throw new Error("Invalid DNS lookup IP version")}});var Fk=E(Ky=>{"use strict";Object.defineProperty(Ky,"__esModule",{value:!0});Ky.isResponseOk=void 0;Ky.isResponseOk=t=>{let{statusCode:e}=t,r=t.request.options.followRedirect?299:399;return e>=200&&e<=r||e===304}});var e8=E(Nk=>{"use strict";Object.defineProperty(Nk,"__esModule",{value:!0});var $W=new Set;Nk.default=t=>{$W.has(t)||($W.add(t),process.emitWarning(`Got: ${t}`,{type:"DeprecationWarning"}))}});var t8=E(Lk=>{"use strict";Object.defineProperty(Lk,"__esModule",{value:!0});var ar=Ca(),oSe=(t,e)=>{if(ar.default.null_(t.encoding))throw new TypeError("To get a Buffer, set `options.responseType` to `buffer` instead");ar.assert.any([ar.default.string,ar.default.undefined],t.encoding),ar.assert.any([ar.default.boolean,ar.default.undefined],t.resolveBodyOnly),ar.assert.any([ar.default.boolean,ar.default.undefined],t.methodRewriting),ar.assert.any([ar.default.boolean,ar.default.undefined],t.isStream),ar.assert.any([ar.default.string,ar.default.undefined],t.responseType),t.responseType===void 0&&(t.responseType="text");let{retry:r}=t;if(e?t.retry=P({},e.retry):t.retry={calculateDelay:i=>i.computedValue,limit:0,methods:[],statusCodes:[],errorCodes:[],maxRetryAfter:void 0},ar.default.object(r)?(t.retry=P(P({},t.retry),r),t.retry.methods=[...new Set(t.retry.methods.map(i=>i.toUpperCase()))],t.retry.statusCodes=[...new Set(t.retry.statusCodes)],t.retry.errorCodes=[...new Set(t.retry.errorCodes)]):ar.default.number(r)&&(t.retry.limit=r),ar.default.undefined(t.retry.maxRetryAfter)&&(t.retry.maxRetryAfter=Math.min(...[t.timeout.request,t.timeout.connect].filter(ar.default.number))),ar.default.object(t.pagination)){e&&(t.pagination=P(P({},e.pagination),t.pagination));let{pagination:i}=t;if(!ar.default.function_(i.transform))throw new Error("`options.pagination.transform` must be implemented");if(!ar.default.function_(i.shouldContinue))throw new Error("`options.pagination.shouldContinue` must be implemented");if(!ar.default.function_(i.filter))throw new TypeError("`options.pagination.filter` must be implemented");if(!ar.default.function_(i.paginate))throw new Error("`options.pagination.paginate` must be implemented")}return t.responseType==="json"&&t.headers.accept===void 0&&(t.headers.accept="application/json"),t};Lk.default=oSe});var r8=E(Qp=>{"use strict";Object.defineProperty(Qp,"__esModule",{value:!0});Qp.retryAfterStatusCodes=void 0;Qp.retryAfterStatusCodes=new Set([413,429,503]);var aSe=({attemptCount:t,retryOptions:e,error:r,retryAfter:i})=>{if(t>e.limit)return 0;let n=e.methods.includes(r.options.method),s=e.errorCodes.includes(r.code),o=r.response&&e.statusCodes.includes(r.response.statusCode);if(!n||!s&&!o)return 0;if(r.response){if(i)return e.maxRetryAfter===void 0||i>e.maxRetryAfter?0:i;if(r.response.statusCode===413)return 0}let a=Math.random()*100;return 2**(t-1)*1e3+a};Qp.default=aSe});var vp=E(Rt=>{"use strict";Object.defineProperty(Rt,"__esModule",{value:!0});Rt.UnsupportedProtocolError=Rt.ReadError=Rt.TimeoutError=Rt.UploadError=Rt.CacheError=Rt.HTTPError=Rt.MaxRedirectsError=Rt.RequestError=Rt.setNonEnumerableProperties=Rt.knownHookEvents=Rt.withoutBody=Rt.kIsNormalizedAlready=void 0;var i8=require("util"),n8=require("stream"),ASe=require("fs"),dA=require("url"),s8=require("http"),Tk=require("http"),lSe=require("https"),cSe=h3(),uSe=y3(),o8=tW(),gSe=sW(),fSe=MW(),hSe=Ly(),ce=Ca(),pSe=GW(),a8=wk(),dSe=bk(),A8=qW(),CSe=WW(),l8=zW(),mSe=_W(),ESe=Rk(),c8=ZW(),ISe=Fk(),CA=e8(),ySe=t8(),wSe=r8(),Mk,Ei=Symbol("request"),Uy=Symbol("response"),Ju=Symbol("responseSize"),Wu=Symbol("downloadedSize"),zu=Symbol("bodySize"),Vu=Symbol("uploadedSize"),Hy=Symbol("serverResponsesPiped"),u8=Symbol("unproxyEvents"),g8=Symbol("isFromCache"),Ok=Symbol("cancelTimeouts"),f8=Symbol("startedReading"),_u=Symbol("stopReading"),Gy=Symbol("triggerRead"),mA=Symbol("body"),bp=Symbol("jobs"),h8=Symbol("originalResponse"),p8=Symbol("retryTimeout");Rt.kIsNormalizedAlready=Symbol("isNormalizedAlready");var BSe=ce.default.string(process.versions.brotli);Rt.withoutBody=new Set(["GET","HEAD"]);Rt.knownHookEvents=["init","beforeRequest","beforeRedirect","beforeError","beforeRetry","afterResponse"];function QSe(t){for(let e in t){let r=t[e];if(!ce.default.string(r)&&!ce.default.number(r)&&!ce.default.boolean(r)&&!ce.default.null_(r)&&!ce.default.undefined(r))throw new TypeError(`The \`searchParams\` value '${String(r)}' must be a string, number, boolean or null`)}}function bSe(t){return ce.default.object(t)&&!("statusCode"in t)}var Kk=new mSe.default,vSe=async t=>new Promise((e,r)=>{let i=n=>{r(n)};t.pending||e(),t.once("error",i),t.once("ready",()=>{t.off("error",i),e()})}),SSe=new Set([300,301,302,303,304,307,308]),xSe=["context","body","json","form"];Rt.setNonEnumerableProperties=(t,e)=>{let r={};for(let i of t)if(!!i)for(let n of xSe)n in i&&(r[n]={writable:!0,configurable:!0,enumerable:!1,value:i[n]});Object.defineProperties(e,r)};var _r=class extends Error{constructor(e,r,i){var n;super(e);if(Error.captureStackTrace(this,this.constructor),this.name="RequestError",this.code=r.code,i instanceof Uk?(Object.defineProperty(this,"request",{enumerable:!1,value:i}),Object.defineProperty(this,"response",{enumerable:!1,value:i[Uy]}),Object.defineProperty(this,"options",{enumerable:!1,value:i.options})):Object.defineProperty(this,"options",{enumerable:!1,value:i}),this.timings=(n=this.request)===null||n===void 0?void 0:n.timings,ce.default.string(r.stack)&&ce.default.string(this.stack)){let s=this.stack.indexOf(this.message)+this.message.length,o=this.stack.slice(s).split(` +`).reverse(),a=r.stack.slice(r.stack.indexOf(r.message)+r.message.length).split(` +`).reverse();for(;a.length!==0&&a[0]===o[0];)o.shift();this.stack=`${this.stack.slice(0,s)}${o.reverse().join(` +`)}${a.reverse().join(` +`)}`}}};Rt.RequestError=_r;var Hk=class extends _r{constructor(e){super(`Redirected ${e.options.maxRedirects} times. Aborting.`,{},e);this.name="MaxRedirectsError"}};Rt.MaxRedirectsError=Hk;var Gk=class extends _r{constructor(e){super(`Response code ${e.statusCode} (${e.statusMessage})`,{},e.request);this.name="HTTPError"}};Rt.HTTPError=Gk;var jk=class extends _r{constructor(e,r){super(e.message,e,r);this.name="CacheError"}};Rt.CacheError=jk;var Yk=class extends _r{constructor(e,r){super(e.message,e,r);this.name="UploadError"}};Rt.UploadError=Yk;var qk=class extends _r{constructor(e,r,i){super(e.message,e,i);this.name="TimeoutError",this.event=e.event,this.timings=r}};Rt.TimeoutError=qk;var jy=class extends _r{constructor(e,r){super(e.message,e,r);this.name="ReadError"}};Rt.ReadError=jy;var Jk=class extends _r{constructor(e){super(`Unsupported protocol "${e.url.protocol}"`,{},e);this.name="UnsupportedProtocolError"}};Rt.UnsupportedProtocolError=Jk;var kSe=["socket","connect","continue","information","upgrade","timeout"],Uk=class extends n8.Duplex{constructor(e,r={},i){super({autoDestroy:!1,highWaterMark:0});this[Wu]=0,this[Vu]=0,this.requestInitialized=!1,this[Hy]=new Set,this.redirects=[],this[_u]=!1,this[Gy]=!1,this[bp]=[],this.retryCount=0,this._progressCallbacks=[];let n=()=>this._unlockWrite(),s=()=>this._lockWrite();this.on("pipe",c=>{c.prependListener("data",n),c.on("data",s),c.prependListener("end",n),c.on("end",s)}),this.on("unpipe",c=>{c.off("data",n),c.off("data",s),c.off("end",n),c.off("end",s)}),this.on("pipe",c=>{c instanceof Tk.IncomingMessage&&(this.options.headers=P(P({},c.headers),this.options.headers))});let{json:o,body:a,form:l}=r;if((o||a||l)&&this._lockWrite(),Rt.kIsNormalizedAlready in r)this.options=r;else try{this.options=this.constructor.normalizeArguments(e,r,i)}catch(c){ce.default.nodeStream(r.body)&&r.body.destroy(),this.destroy(c);return}(async()=>{var c;try{this.options.body instanceof ASe.ReadStream&&await vSe(this.options.body);let{url:u}=this.options;if(!u)throw new TypeError("Missing `url` property");if(this.requestUrl=u.toString(),decodeURI(this.requestUrl),await this._finalizeBody(),await this._makeRequest(),this.destroyed){(c=this[Ei])===null||c===void 0||c.destroy();return}for(let g of this[bp])g();this[bp].length=0,this.requestInitialized=!0}catch(u){if(u instanceof _r){this._beforeError(u);return}this.destroyed||this.destroy(u)}})()}static normalizeArguments(e,r,i){var n,s,o,a,l;let c=r;if(ce.default.object(e)&&!ce.default.urlInstance(e))r=P(P(P({},i),e),r);else{if(e&&r&&r.url!==void 0)throw new TypeError("The `url` option is mutually exclusive with the `input` argument");r=P(P({},i),r),e!==void 0&&(r.url=e),ce.default.urlInstance(r.url)&&(r.url=new dA.URL(r.url.toString()))}if(r.cache===!1&&(r.cache=void 0),r.dnsCache===!1&&(r.dnsCache=void 0),ce.assert.any([ce.default.string,ce.default.undefined],r.method),ce.assert.any([ce.default.object,ce.default.undefined],r.headers),ce.assert.any([ce.default.string,ce.default.urlInstance,ce.default.undefined],r.prefixUrl),ce.assert.any([ce.default.object,ce.default.undefined],r.cookieJar),ce.assert.any([ce.default.object,ce.default.string,ce.default.undefined],r.searchParams),ce.assert.any([ce.default.object,ce.default.string,ce.default.undefined],r.cache),ce.assert.any([ce.default.object,ce.default.number,ce.default.undefined],r.timeout),ce.assert.any([ce.default.object,ce.default.undefined],r.context),ce.assert.any([ce.default.object,ce.default.undefined],r.hooks),ce.assert.any([ce.default.boolean,ce.default.undefined],r.decompress),ce.assert.any([ce.default.boolean,ce.default.undefined],r.ignoreInvalidCookies),ce.assert.any([ce.default.boolean,ce.default.undefined],r.followRedirect),ce.assert.any([ce.default.number,ce.default.undefined],r.maxRedirects),ce.assert.any([ce.default.boolean,ce.default.undefined],r.throwHttpErrors),ce.assert.any([ce.default.boolean,ce.default.undefined],r.http2),ce.assert.any([ce.default.boolean,ce.default.undefined],r.allowGetBody),ce.assert.any([ce.default.string,ce.default.undefined],r.localAddress),ce.assert.any([c8.isDnsLookupIpVersion,ce.default.undefined],r.dnsLookupIpVersion),ce.assert.any([ce.default.object,ce.default.undefined],r.https),ce.assert.any([ce.default.boolean,ce.default.undefined],r.rejectUnauthorized),r.https&&(ce.assert.any([ce.default.boolean,ce.default.undefined],r.https.rejectUnauthorized),ce.assert.any([ce.default.function_,ce.default.undefined],r.https.checkServerIdentity),ce.assert.any([ce.default.string,ce.default.object,ce.default.array,ce.default.undefined],r.https.certificateAuthority),ce.assert.any([ce.default.string,ce.default.object,ce.default.array,ce.default.undefined],r.https.key),ce.assert.any([ce.default.string,ce.default.object,ce.default.array,ce.default.undefined],r.https.certificate),ce.assert.any([ce.default.string,ce.default.undefined],r.https.passphrase),ce.assert.any([ce.default.string,ce.default.buffer,ce.default.array,ce.default.undefined],r.https.pfx)),ce.assert.any([ce.default.object,ce.default.undefined],r.cacheOptions),ce.default.string(r.method)?r.method=r.method.toUpperCase():r.method="GET",r.headers===(i==null?void 0:i.headers)?r.headers=P({},r.headers):r.headers=hSe(P(P({},i==null?void 0:i.headers),r.headers)),"slashes"in r)throw new TypeError("The legacy `url.Url` has been deprecated. Use `URL` instead.");if("auth"in r)throw new TypeError("Parameter `auth` is deprecated. Use `username` / `password` instead.");if("searchParams"in r&&r.searchParams&&r.searchParams!==(i==null?void 0:i.searchParams)){let h;if(ce.default.string(r.searchParams)||r.searchParams instanceof dA.URLSearchParams)h=new dA.URLSearchParams(r.searchParams);else{QSe(r.searchParams),h=new dA.URLSearchParams;for(let p in r.searchParams){let d=r.searchParams[p];d===null?h.append(p,""):d!==void 0&&h.append(p,d)}}(n=i==null?void 0:i.searchParams)===null||n===void 0||n.forEach((p,d)=>{h.has(d)||h.append(d,p)}),r.searchParams=h}if(r.username=(s=r.username)!==null&&s!==void 0?s:"",r.password=(o=r.password)!==null&&o!==void 0?o:"",ce.default.undefined(r.prefixUrl)?r.prefixUrl=(a=i==null?void 0:i.prefixUrl)!==null&&a!==void 0?a:"":(r.prefixUrl=r.prefixUrl.toString(),r.prefixUrl!==""&&!r.prefixUrl.endsWith("/")&&(r.prefixUrl+="/")),ce.default.string(r.url)){if(r.url.startsWith("/"))throw new Error("`input` must not start with a slash when using `prefixUrl`");r.url=l8.default(r.prefixUrl+r.url,r)}else(ce.default.undefined(r.url)&&r.prefixUrl!==""||r.protocol)&&(r.url=l8.default(r.prefixUrl,r));if(r.url){"port"in r&&delete r.port;let{prefixUrl:h}=r;Object.defineProperty(r,"prefixUrl",{set:d=>{let m=r.url;if(!m.href.startsWith(d))throw new Error(`Cannot change \`prefixUrl\` from ${h} to ${d}: ${m.href}`);r.url=new dA.URL(d+m.href.slice(h.length)),h=d},get:()=>h});let{protocol:p}=r.url;if(p==="unix:"&&(p="http:",r.url=new dA.URL(`http://unix${r.url.pathname}${r.url.search}`)),r.searchParams&&(r.url.search=r.searchParams.toString()),p!=="http:"&&p!=="https:")throw new Jk(r);r.username===""?r.username=r.url.username:r.url.username=r.username,r.password===""?r.password=r.url.password:r.url.password=r.password}let{cookieJar:u}=r;if(u){let{setCookie:h,getCookieString:p}=u;ce.assert.function_(h),ce.assert.function_(p),h.length===4&&p.length===0&&(h=i8.promisify(h.bind(r.cookieJar)),p=i8.promisify(p.bind(r.cookieJar)),r.cookieJar={setCookie:h,getCookieString:p})}let{cache:g}=r;if(g&&(Kk.has(g)||Kk.set(g,new o8((h,p)=>{let d=h[Ei](h,p);return ce.default.promise(d)&&(d.once=(m,I)=>{if(m==="error")d.catch(I);else if(m==="abort")(async()=>{try{(await d).once("abort",I)}catch(B){}})();else throw new Error(`Unknown HTTP2 promise event: ${m}`);return d}),d},g))),r.cacheOptions=P({},r.cacheOptions),r.dnsCache===!0)Mk||(Mk=new uSe.default),r.dnsCache=Mk;else if(!ce.default.undefined(r.dnsCache)&&!r.dnsCache.lookup)throw new TypeError(`Parameter \`dnsCache\` must be a CacheableLookup instance or a boolean, got ${ce.default(r.dnsCache)}`);ce.default.number(r.timeout)?r.timeout={request:r.timeout}:i&&r.timeout!==i.timeout?r.timeout=P(P({},i.timeout),r.timeout):r.timeout=P({},r.timeout),r.context||(r.context={});let f=r.hooks===(i==null?void 0:i.hooks);r.hooks=P({},r.hooks);for(let h of Rt.knownHookEvents)if(h in r.hooks)if(ce.default.array(r.hooks[h]))r.hooks[h]=[...r.hooks[h]];else throw new TypeError(`Parameter \`${h}\` must be an Array, got ${ce.default(r.hooks[h])}`);else r.hooks[h]=[];if(i&&!f)for(let h of Rt.knownHookEvents)i.hooks[h].length>0&&(r.hooks[h]=[...i.hooks[h],...r.hooks[h]]);if("family"in r&&CA.default('"options.family" was never documented, please use "options.dnsLookupIpVersion"'),(i==null?void 0:i.https)&&(r.https=P(P({},i.https),r.https)),"rejectUnauthorized"in r&&CA.default('"options.rejectUnauthorized" is now deprecated, please use "options.https.rejectUnauthorized"'),"checkServerIdentity"in r&&CA.default('"options.checkServerIdentity" was never documented, please use "options.https.checkServerIdentity"'),"ca"in r&&CA.default('"options.ca" was never documented, please use "options.https.certificateAuthority"'),"key"in r&&CA.default('"options.key" was never documented, please use "options.https.key"'),"cert"in r&&CA.default('"options.cert" was never documented, please use "options.https.certificate"'),"passphrase"in r&&CA.default('"options.passphrase" was never documented, please use "options.https.passphrase"'),"pfx"in r&&CA.default('"options.pfx" was never documented, please use "options.https.pfx"'),"followRedirects"in r)throw new TypeError("The `followRedirects` option does not exist. Use `followRedirect` instead.");if(r.agent){for(let h in r.agent)if(h!=="http"&&h!=="https"&&h!=="http2")throw new TypeError(`Expected the \`options.agent\` properties to be \`http\`, \`https\` or \`http2\`, got \`${h}\``)}return r.maxRedirects=(l=r.maxRedirects)!==null&&l!==void 0?l:0,Rt.setNonEnumerableProperties([i,c],r),ySe.default(r,i)}_lockWrite(){let e=()=>{throw new TypeError("The payload has been already provided")};this.write=e,this.end=e}_unlockWrite(){this.write=super.write,this.end=super.end}async _finalizeBody(){let{options:e}=this,{headers:r}=e,i=!ce.default.undefined(e.form),n=!ce.default.undefined(e.json),s=!ce.default.undefined(e.body),o=i||n||s,a=Rt.withoutBody.has(e.method)&&!(e.method==="GET"&&e.allowGetBody);if(this._cannotHaveBody=a,o){if(a)throw new TypeError(`The \`${e.method}\` method cannot be used with a body`);if([s,i,n].filter(l=>l).length>1)throw new TypeError("The `body`, `json` and `form` options are mutually exclusive");if(s&&!(e.body instanceof n8.Readable)&&!ce.default.string(e.body)&&!ce.default.buffer(e.body)&&!a8.default(e.body))throw new TypeError("The `body` option must be a stream.Readable, string or Buffer");if(i&&!ce.default.object(e.form))throw new TypeError("The `form` option must be an Object");{let l=!ce.default.string(r["content-type"]);s?(a8.default(e.body)&&l&&(r["content-type"]=`multipart/form-data; boundary=${e.body.getBoundary()}`),this[mA]=e.body):i?(l&&(r["content-type"]="application/x-www-form-urlencoded"),this[mA]=new dA.URLSearchParams(e.form).toString()):(l&&(r["content-type"]="application/json"),this[mA]=e.stringifyJson(e.json));let c=await pSe.default(this[mA],e.headers);ce.default.undefined(r["content-length"])&&ce.default.undefined(r["transfer-encoding"])&&!a&&!ce.default.undefined(c)&&(r["content-length"]=String(c))}}else a?this._lockWrite():this._unlockWrite();this[zu]=Number(r["content-length"])||void 0}async _onResponseBase(e){let{options:r}=this,{url:i}=r;this[h8]=e,r.decompress&&(e=gSe(e));let n=e.statusCode,s=e;s.statusMessage=s.statusMessage?s.statusMessage:s8.STATUS_CODES[n],s.url=r.url.toString(),s.requestUrl=this.requestUrl,s.redirectUrls=this.redirects,s.request=this,s.isFromCache=e.fromCache||!1,s.ip=this.ip,s.retryCount=this.retryCount,this[g8]=s.isFromCache,this[Ju]=Number(e.headers["content-length"])||void 0,this[Uy]=e,e.once("end",()=>{this[Ju]=this[Wu],this.emit("downloadProgress",this.downloadProgress)}),e.once("error",a=>{e.destroy(),this._beforeError(new jy(a,this))}),e.once("aborted",()=>{this._beforeError(new jy({name:"Error",message:"The server aborted pending request",code:"ECONNRESET"},this))}),this.emit("downloadProgress",this.downloadProgress);let o=e.headers["set-cookie"];if(ce.default.object(r.cookieJar)&&o){let a=o.map(async l=>r.cookieJar.setCookie(l,i.toString()));r.ignoreInvalidCookies&&(a=a.map(async l=>l.catch(()=>{})));try{await Promise.all(a)}catch(l){this._beforeError(l);return}}if(r.followRedirect&&e.headers.location&&SSe.has(n)){if(e.resume(),this[Ei]&&(this[Ok](),delete this[Ei],this[u8]()),(n===303&&r.method!=="GET"&&r.method!=="HEAD"||!r.methodRewriting)&&(r.method="GET","body"in r&&delete r.body,"json"in r&&delete r.json,"form"in r&&delete r.form,this[mA]=void 0,delete r.headers["content-length"]),this.redirects.length>=r.maxRedirects){this._beforeError(new Hk(this));return}try{let l=Buffer.from(e.headers.location,"binary").toString(),c=new dA.URL(l,i),u=c.toString();decodeURI(u),c.hostname!==i.hostname||c.port!==i.port?("host"in r.headers&&delete r.headers.host,"cookie"in r.headers&&delete r.headers.cookie,"authorization"in r.headers&&delete r.headers.authorization,(r.username||r.password)&&(r.username="",r.password="")):(c.username=r.username,c.password=r.password),this.redirects.push(u),r.url=c;for(let g of r.hooks.beforeRedirect)await g(r,s);this.emit("redirect",s,r),await this._makeRequest()}catch(l){this._beforeError(l);return}return}if(r.isStream&&r.throwHttpErrors&&!ISe.isResponseOk(s)){this._beforeError(new Gk(s));return}e.on("readable",()=>{this[Gy]&&this._read()}),this.on("resume",()=>{e.resume()}),this.on("pause",()=>{e.pause()}),e.once("end",()=>{this.push(null)}),this.emit("response",e);for(let a of this[Hy])if(!a.headersSent){for(let l in e.headers){let c=r.decompress?l!=="content-encoding":!0,u=e.headers[l];c&&a.setHeader(l,u)}a.statusCode=n}}async _onResponse(e){try{await this._onResponseBase(e)}catch(r){this._beforeError(r)}}_onRequest(e){let{options:r}=this,{timeout:i,url:n}=r;cSe.default(e),this[Ok]=A8.default(e,i,n);let s=r.cache?"cacheableResponse":"response";e.once(s,l=>{this._onResponse(l)}),e.once("error",l=>{var c;e.destroy(),(c=e.res)===null||c===void 0||c.removeAllListeners("end"),l=l instanceof A8.TimeoutError?new qk(l,this.timings,this):new _r(l.message,l,this),this._beforeError(l)}),this[u8]=dSe.default(e,this,kSe),this[Ei]=e,this.emit("uploadProgress",this.uploadProgress);let o=this[mA],a=this.redirects.length===0?this:e;ce.default.nodeStream(o)?(o.pipe(a),o.once("error",l=>{this._beforeError(new Yk(l,this))})):(this._unlockWrite(),ce.default.undefined(o)?(this._cannotHaveBody||this._noPipe)&&(a.end(),this._lockWrite()):(this._writeRequest(o,void 0,()=>{}),a.end(),this._lockWrite())),this.emit("request",e)}async _createCacheableRequest(e,r){return new Promise((i,n)=>{Object.assign(r,CSe.default(e)),delete r.url;let s,o=Kk.get(r.cache)(r,async a=>{a._readableState.autoDestroy=!1,s&&(await s).emit("cacheableResponse",a),i(a)});r.url=e,o.once("error",n),o.once("request",async a=>{s=a,i(s)})})}async _makeRequest(){var e,r,i,n,s;let{options:o}=this,{headers:a}=o;for(let I in a)if(ce.default.undefined(a[I]))delete a[I];else if(ce.default.null_(a[I]))throw new TypeError(`Use \`undefined\` instead of \`null\` to delete the \`${I}\` header`);if(o.decompress&&ce.default.undefined(a["accept-encoding"])&&(a["accept-encoding"]=BSe?"gzip, deflate, br":"gzip, deflate"),o.cookieJar){let I=await o.cookieJar.getCookieString(o.url.toString());ce.default.nonEmptyString(I)&&(o.headers.cookie=I)}for(let I of o.hooks.beforeRequest){let B=await I(o);if(!ce.default.undefined(B)){o.request=()=>B;break}}o.body&&this[mA]!==o.body&&(this[mA]=o.body);let{agent:l,request:c,timeout:u,url:g}=o;if(o.dnsCache&&!("lookup"in o)&&(o.lookup=o.dnsCache.lookup),g.hostname==="unix"){let I=/(?.+?):(?.+)/.exec(`${g.pathname}${g.search}`);if(I==null?void 0:I.groups){let{socketPath:B,path:b}=I.groups;Object.assign(o,{socketPath:B,path:b,host:""})}}let f=g.protocol==="https:",h;o.http2?h=fSe.auto:h=f?lSe.request:s8.request;let p=(e=o.request)!==null&&e!==void 0?e:h,d=o.cache?this._createCacheableRequest:p;l&&!o.http2&&(o.agent=l[f?"https":"http"]),o[Ei]=p,delete o.request,delete o.timeout;let m=o;if(m.shared=(r=o.cacheOptions)===null||r===void 0?void 0:r.shared,m.cacheHeuristic=(i=o.cacheOptions)===null||i===void 0?void 0:i.cacheHeuristic,m.immutableMinTimeToLive=(n=o.cacheOptions)===null||n===void 0?void 0:n.immutableMinTimeToLive,m.ignoreCargoCult=(s=o.cacheOptions)===null||s===void 0?void 0:s.ignoreCargoCult,o.dnsLookupIpVersion!==void 0)try{m.family=c8.dnsLookupIpVersionToFamily(o.dnsLookupIpVersion)}catch(I){throw new Error("Invalid `dnsLookupIpVersion` option value")}o.https&&("rejectUnauthorized"in o.https&&(m.rejectUnauthorized=o.https.rejectUnauthorized),o.https.checkServerIdentity&&(m.checkServerIdentity=o.https.checkServerIdentity),o.https.certificateAuthority&&(m.ca=o.https.certificateAuthority),o.https.certificate&&(m.cert=o.https.certificate),o.https.key&&(m.key=o.https.key),o.https.passphrase&&(m.passphrase=o.https.passphrase),o.https.pfx&&(m.pfx=o.https.pfx));try{let I=await d(g,m);ce.default.undefined(I)&&(I=h(g,m)),o.request=c,o.timeout=u,o.agent=l,o.https&&("rejectUnauthorized"in o.https&&delete m.rejectUnauthorized,o.https.checkServerIdentity&&delete m.checkServerIdentity,o.https.certificateAuthority&&delete m.ca,o.https.certificate&&delete m.cert,o.https.key&&delete m.key,o.https.passphrase&&delete m.passphrase,o.https.pfx&&delete m.pfx),bSe(I)?this._onRequest(I):this.writable?(this.once("finish",()=>{this._onResponse(I)}),this._unlockWrite(),this.end(),this._lockWrite()):this._onResponse(I)}catch(I){throw I instanceof o8.CacheError?new jk(I,this):new _r(I.message,I,this)}}async _error(e){try{for(let r of this.options.hooks.beforeError)e=await r(e)}catch(r){e=new _r(r.message,r,this)}this.destroy(e)}_beforeError(e){if(this[_u])return;let{options:r}=this,i=this.retryCount+1;this[_u]=!0,e instanceof _r||(e=new _r(e.message,e,this));let n=e,{response:s}=n;(async()=>{if(s&&!s.body){s.setEncoding(this._readableState.encoding);try{s.rawBody=await ESe.default(s),s.body=s.rawBody.toString()}catch(o){}}if(this.listenerCount("retry")!==0){let o;try{let a;s&&"retry-after"in s.headers&&(a=Number(s.headers["retry-after"]),Number.isNaN(a)?(a=Date.parse(s.headers["retry-after"])-Date.now(),a<=0&&(a=1)):a*=1e3),o=await r.retry.calculateDelay({attemptCount:i,retryOptions:r.retry,error:n,retryAfter:a,computedValue:wSe.default({attemptCount:i,retryOptions:r.retry,error:n,retryAfter:a,computedValue:0})})}catch(a){this._error(new _r(a.message,a,this));return}if(o){let a=async()=>{try{for(let l of this.options.hooks.beforeRetry)await l(this.options,n,i)}catch(l){this._error(new _r(l.message,e,this));return}this.destroyed||(this.destroy(),this.emit("retry",i,e))};this[p8]=setTimeout(a,o);return}}this._error(n)})()}_read(){this[Gy]=!0;let e=this[Uy];if(e&&!this[_u]){e.readableLength&&(this[Gy]=!1);let r;for(;(r=e.read())!==null;){this[Wu]+=r.length,this[f8]=!0;let i=this.downloadProgress;i.percent<1&&this.emit("downloadProgress",i),this.push(r)}}}_write(e,r,i){let n=()=>{this._writeRequest(e,r,i)};this.requestInitialized?n():this[bp].push(n)}_writeRequest(e,r,i){this[Ei].destroyed||(this._progressCallbacks.push(()=>{this[Vu]+=Buffer.byteLength(e,r);let n=this.uploadProgress;n.percent<1&&this.emit("uploadProgress",n)}),this[Ei].write(e,r,n=>{!n&&this._progressCallbacks.length>0&&this._progressCallbacks.shift()(),i(n)}))}_final(e){let r=()=>{for(;this._progressCallbacks.length!==0;)this._progressCallbacks.shift()();if(!(Ei in this)){e();return}if(this[Ei].destroyed){e();return}this[Ei].end(i=>{i||(this[zu]=this[Vu],this.emit("uploadProgress",this.uploadProgress),this[Ei].emit("upload-complete")),e(i)})};this.requestInitialized?r():this[bp].push(r)}_destroy(e,r){var i;this[_u]=!0,clearTimeout(this[p8]),Ei in this&&(this[Ok](),((i=this[Uy])===null||i===void 0?void 0:i.complete)||this[Ei].destroy()),e!==null&&!ce.default.undefined(e)&&!(e instanceof _r)&&(e=new _r(e.message,e,this)),r(e)}get _isAboutToError(){return this[_u]}get ip(){var e;return(e=this.socket)===null||e===void 0?void 0:e.remoteAddress}get aborted(){var e,r,i;return((r=(e=this[Ei])===null||e===void 0?void 0:e.destroyed)!==null&&r!==void 0?r:this.destroyed)&&!((i=this[h8])===null||i===void 0?void 0:i.complete)}get socket(){var e,r;return(r=(e=this[Ei])===null||e===void 0?void 0:e.socket)!==null&&r!==void 0?r:void 0}get downloadProgress(){let e;return this[Ju]?e=this[Wu]/this[Ju]:this[Ju]===this[Wu]?e=1:e=0,{percent:e,transferred:this[Wu],total:this[Ju]}}get uploadProgress(){let e;return this[zu]?e=this[Vu]/this[zu]:this[zu]===this[Vu]?e=1:e=0,{percent:e,transferred:this[Vu],total:this[zu]}}get timings(){var e;return(e=this[Ei])===null||e===void 0?void 0:e.timings}get isFromCache(){return this[g8]}pipe(e,r){if(this[f8])throw new Error("Failed to pipe. The response has been emitted already.");return e instanceof Tk.ServerResponse&&this[Hy].add(e),super.pipe(e,r)}unpipe(e){return e instanceof Tk.ServerResponse&&this[Hy].delete(e),super.unpipe(e),this}};Rt.default=Uk});var Sp=E(Ms=>{"use strict";var PSe=Ms&&Ms.__createBinding||(Object.create?function(t,e,r,i){i===void 0&&(i=r),Object.defineProperty(t,i,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,i){i===void 0&&(i=r),t[i]=e[r]}),DSe=Ms&&Ms.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&PSe(e,t,r)};Object.defineProperty(Ms,"__esModule",{value:!0});Ms.CancelError=Ms.ParseError=void 0;var d8=vp(),C8=class extends d8.RequestError{constructor(e,r){let{options:i}=r.request;super(`${e.message} in "${i.url.toString()}"`,e,r.request);this.name="ParseError"}};Ms.ParseError=C8;var m8=class extends d8.RequestError{constructor(e){super("Promise was canceled",{},e);this.name="CancelError"}get isCanceled(){return!0}};Ms.CancelError=m8;DSe(vp(),Ms)});var I8=E(Wk=>{"use strict";Object.defineProperty(Wk,"__esModule",{value:!0});var E8=Sp(),RSe=(t,e,r,i)=>{let{rawBody:n}=t;try{if(e==="text")return n.toString(i);if(e==="json")return n.length===0?"":r(n.toString());if(e==="buffer")return n;throw new E8.ParseError({message:`Unknown body type '${e}'`,name:"Error"},t)}catch(s){throw new E8.ParseError(s,t)}};Wk.default=RSe});var zk=E(EA=>{"use strict";var FSe=EA&&EA.__createBinding||(Object.create?function(t,e,r,i){i===void 0&&(i=r),Object.defineProperty(t,i,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,i){i===void 0&&(i=r),t[i]=e[r]}),NSe=EA&&EA.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&FSe(e,t,r)};Object.defineProperty(EA,"__esModule",{value:!0});var LSe=require("events"),TSe=Ca(),MSe=g3(),Yy=Sp(),y8=I8(),w8=vp(),OSe=bk(),KSe=Rk(),B8=Fk(),USe=["request","response","redirect","uploadProgress","downloadProgress"];function Q8(t){let e,r,i=new LSe.EventEmitter,n=new MSe((o,a,l)=>{let c=u=>{let g=new w8.default(void 0,t);g.retryCount=u,g._noPipe=!0,l(()=>g.destroy()),l.shouldReject=!1,l(()=>a(new Yy.CancelError(g))),e=g,g.once("response",async p=>{var d;if(p.retryCount=u,p.request.aborted)return;let m;try{m=await KSe.default(g),p.rawBody=m}catch(R){return}if(g._isAboutToError)return;let I=((d=p.headers["content-encoding"])!==null&&d!==void 0?d:"").toLowerCase(),B=["gzip","deflate","br"].includes(I),{options:b}=g;if(B&&!b.decompress)p.body=m;else try{p.body=y8.default(p,b.responseType,b.parseJson,b.encoding)}catch(R){if(p.body=m.toString(),B8.isResponseOk(p)){g._beforeError(R);return}}try{for(let[R,H]of b.hooks.afterResponse.entries())p=await H(p,async L=>{let K=w8.default.normalizeArguments(void 0,_(P({},L),{retry:{calculateDelay:()=>0},throwHttpErrors:!1,resolveBodyOnly:!1}),b);K.hooks.afterResponse=K.hooks.afterResponse.slice(0,R);for(let ne of K.hooks.beforeRetry)await ne(K);let J=Q8(K);return l(()=>{J.catch(()=>{}),J.cancel()}),J})}catch(R){g._beforeError(new Yy.RequestError(R.message,R,g));return}if(!B8.isResponseOk(p)){g._beforeError(new Yy.HTTPError(p));return}r=p,o(g.options.resolveBodyOnly?p.body:p)});let f=p=>{if(n.isCanceled)return;let{options:d}=g;if(p instanceof Yy.HTTPError&&!d.throwHttpErrors){let{response:m}=p;o(g.options.resolveBodyOnly?m.body:m);return}a(p)};g.once("error",f);let h=g.options.body;g.once("retry",(p,d)=>{var m,I;if(h===((m=d.request)===null||m===void 0?void 0:m.options.body)&&TSe.default.nodeStream((I=d.request)===null||I===void 0?void 0:I.options.body)){f(d);return}c(p)}),OSe.default(g,i,USe)};c(0)});n.on=(o,a)=>(i.on(o,a),n);let s=o=>{let a=(async()=>{await n;let{options:l}=r.request;return y8.default(r,o,l.parseJson,l.encoding)})();return Object.defineProperties(a,Object.getOwnPropertyDescriptors(n)),a};return n.json=()=>{let{headers:o}=e.options;return!e.writableFinished&&o.accept===void 0&&(o.accept="application/json"),s("json")},n.buffer=()=>s("buffer"),n.text=()=>s("text"),n}EA.default=Q8;NSe(Sp(),EA)});var b8=E(Vk=>{"use strict";Object.defineProperty(Vk,"__esModule",{value:!0});var HSe=Sp();function GSe(t,...e){let r=(async()=>{if(t instanceof HSe.RequestError)try{for(let n of e)if(n)for(let s of n)t=await s(t)}catch(n){t=n}throw t})(),i=()=>r;return r.json=i,r.text=i,r.buffer=i,r.on=i,r}Vk.default=GSe});var x8=E(_k=>{"use strict";Object.defineProperty(_k,"__esModule",{value:!0});var v8=Ca();function S8(t){for(let e of Object.values(t))(v8.default.plainObject(e)||v8.default.array(e))&&S8(e);return Object.freeze(t)}_k.default=S8});var P8=E(k8=>{"use strict";Object.defineProperty(k8,"__esModule",{value:!0})});var Xk=E(ss=>{"use strict";var jSe=ss&&ss.__createBinding||(Object.create?function(t,e,r,i){i===void 0&&(i=r),Object.defineProperty(t,i,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,i){i===void 0&&(i=r),t[i]=e[r]}),YSe=ss&&ss.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&jSe(e,t,r)};Object.defineProperty(ss,"__esModule",{value:!0});ss.defaultHandler=void 0;var D8=Ca(),os=zk(),qSe=b8(),qy=vp(),JSe=x8(),WSe={RequestError:os.RequestError,CacheError:os.CacheError,ReadError:os.ReadError,HTTPError:os.HTTPError,MaxRedirectsError:os.MaxRedirectsError,TimeoutError:os.TimeoutError,ParseError:os.ParseError,CancelError:os.CancelError,UnsupportedProtocolError:os.UnsupportedProtocolError,UploadError:os.UploadError},zSe=async t=>new Promise(e=>{setTimeout(e,t)}),{normalizeArguments:Jy}=qy.default,R8=(...t)=>{let e;for(let r of t)e=Jy(void 0,r,e);return e},VSe=t=>t.isStream?new qy.default(void 0,t):os.default(t),_Se=t=>"defaults"in t&&"options"in t.defaults,XSe=["get","post","put","patch","head","delete"];ss.defaultHandler=(t,e)=>e(t);var F8=(t,e)=>{if(t)for(let r of t)r(e)},N8=t=>{t._rawHandlers=t.handlers,t.handlers=t.handlers.map(i=>(n,s)=>{let o,a=i(n,l=>(o=s(l),o));if(a!==o&&!n.isStream&&o){let l=a,{then:c,catch:u,finally:g}=l;Object.setPrototypeOf(l,Object.getPrototypeOf(o)),Object.defineProperties(l,Object.getOwnPropertyDescriptors(o)),l.then=c,l.catch=u,l.finally=g}return a});let e=(i,n={},s)=>{var o,a;let l=0,c=u=>t.handlers[l++](u,l===t.handlers.length?VSe:c);if(D8.default.plainObject(i)){let u=P(P({},i),n);qy.setNonEnumerableProperties([i,n],u),n=u,i=void 0}try{let u;try{F8(t.options.hooks.init,n),F8((o=n.hooks)===null||o===void 0?void 0:o.init,n)}catch(f){u=f}let g=Jy(i,n,s!=null?s:t.options);if(g[qy.kIsNormalizedAlready]=!0,u)throw new os.RequestError(u.message,u,g);return c(g)}catch(u){if(n.isStream)throw u;return qSe.default(u,t.options.hooks.beforeError,(a=n.hooks)===null||a===void 0?void 0:a.beforeError)}};e.extend=(...i)=>{let n=[t.options],s=[...t._rawHandlers],o;for(let a of i)_Se(a)?(n.push(a.defaults.options),s.push(...a.defaults._rawHandlers),o=a.defaults.mutableDefaults):(n.push(a),"handlers"in a&&s.push(...a.handlers),o=a.mutableDefaults);return s=s.filter(a=>a!==ss.defaultHandler),s.length===0&&s.push(ss.defaultHandler),N8({options:R8(...n),handlers:s,mutableDefaults:Boolean(o)})};let r=async function*(i,n){let s=Jy(i,n,t.options);s.resolveBodyOnly=!1;let o=s.pagination;if(!D8.default.object(o))throw new TypeError("`options.pagination` must be implemented");let a=[],{countLimit:l}=o,c=0;for(;c{let s=[];for await(let o of r(i,n))s.push(o);return s},e.paginate.each=r,e.stream=(i,n)=>e(i,_(P({},n),{isStream:!0}));for(let i of XSe)e[i]=(n,s)=>e(n,_(P({},s),{method:i})),e.stream[i]=(n,s)=>e(n,_(P({},s),{method:i,isStream:!0}));return Object.assign(e,WSe),Object.defineProperty(e,"defaults",{value:t.mutableDefaults?t:JSe.default(t),writable:t.mutableDefaults,configurable:t.mutableDefaults,enumerable:!0}),e.mergeOptions=R8,e};ss.default=N8;YSe(P8(),ss)});var zy=E((Ea,Wy)=>{"use strict";var ZSe=Ea&&Ea.__createBinding||(Object.create?function(t,e,r,i){i===void 0&&(i=r),Object.defineProperty(t,i,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,i){i===void 0&&(i=r),t[i]=e[r]}),L8=Ea&&Ea.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&ZSe(e,t,r)};Object.defineProperty(Ea,"__esModule",{value:!0});var $Se=require("url"),T8=Xk(),exe={options:{method:"GET",retry:{limit:2,methods:["GET","PUT","HEAD","DELETE","OPTIONS","TRACE"],statusCodes:[408,413,429,500,502,503,504,521,522,524],errorCodes:["ETIMEDOUT","ECONNRESET","EADDRINUSE","ECONNREFUSED","EPIPE","ENOTFOUND","ENETUNREACH","EAI_AGAIN"],maxRetryAfter:void 0,calculateDelay:({computedValue:t})=>t},timeout:{},headers:{"user-agent":"got (https://github.com/sindresorhus/got)"},hooks:{init:[],beforeRequest:[],beforeRedirect:[],beforeRetry:[],beforeError:[],afterResponse:[]},cache:void 0,dnsCache:void 0,decompress:!0,throwHttpErrors:!0,followRedirect:!0,isStream:!1,responseType:"text",resolveBodyOnly:!1,maxRedirects:10,prefixUrl:"",methodRewriting:!0,ignoreInvalidCookies:!1,context:{},http2:!1,allowGetBody:!1,https:void 0,pagination:{transform:t=>t.request.options.responseType==="json"?t.body:JSON.parse(t.body),paginate:t=>{if(!Reflect.has(t.headers,"link"))return!1;let e=t.headers.link.split(","),r;for(let i of e){let n=i.split(";");if(n[1].includes("next")){r=n[0].trimStart().trim(),r=r.slice(1,-1);break}}return r?{url:new $Se.URL(r)}:!1},filter:()=>!0,shouldContinue:()=>!0,countLimit:Infinity,backoff:0,requestLimit:1e4,stackAllItems:!0},parseJson:t=>JSON.parse(t),stringifyJson:t=>JSON.stringify(t),cacheOptions:{}},handlers:[T8.defaultHandler],mutableDefaults:!1},Zk=T8.default(exe);Ea.default=Zk;Wy.exports=Zk;Wy.exports.default=Zk;Wy.exports.__esModule=!0;L8(Xk(),Ea);L8(zk(),Ea)});var U8=E(Xu=>{"use strict";var fst=require("net"),txe=require("tls"),$k=require("http"),M8=require("https"),rxe=require("events"),hst=require("assert"),ixe=require("util");Xu.httpOverHttp=nxe;Xu.httpsOverHttp=sxe;Xu.httpOverHttps=oxe;Xu.httpsOverHttps=axe;function nxe(t){var e=new Ia(t);return e.request=$k.request,e}function sxe(t){var e=new Ia(t);return e.request=$k.request,e.createSocket=O8,e.defaultPort=443,e}function oxe(t){var e=new Ia(t);return e.request=M8.request,e}function axe(t){var e=new Ia(t);return e.request=M8.request,e.createSocket=O8,e.defaultPort=443,e}function Ia(t){var e=this;e.options=t||{},e.proxyOptions=e.options.proxy||{},e.maxSockets=e.options.maxSockets||$k.Agent.defaultMaxSockets,e.requests=[],e.sockets=[],e.on("free",function(i,n,s,o){for(var a=K8(n,s,o),l=0,c=e.requests.length;l=this.maxSockets){s.requests.push(o);return}s.createSocket(o,function(a){a.on("free",l),a.on("close",c),a.on("agentRemove",c),e.onSocket(a);function l(){s.emit("free",a,o)}function c(u){s.removeSocket(a),a.removeListener("free",l),a.removeListener("close",c),a.removeListener("agentRemove",c)}})};Ia.prototype.createSocket=function(e,r){var i=this,n={};i.sockets.push(n);var s=eP({},i.proxyOptions,{method:"CONNECT",path:e.host+":"+e.port,agent:!1,headers:{host:e.host+":"+e.port}});e.localAddress&&(s.localAddress=e.localAddress),s.proxyAuth&&(s.headers=s.headers||{},s.headers["Proxy-Authorization"]="Basic "+new Buffer(s.proxyAuth).toString("base64")),IA("making CONNECT request");var o=i.request(s);o.useChunkedEncodingByDefault=!1,o.once("response",a),o.once("upgrade",l),o.once("connect",c),o.once("error",u),o.end();function a(g){g.upgrade=!0}function l(g,f,h){process.nextTick(function(){c(g,f,h)})}function c(g,f,h){if(o.removeAllListeners(),f.removeAllListeners(),g.statusCode!==200){IA("tunneling socket could not be established, statusCode=%d",g.statusCode),f.destroy();var p=new Error("tunneling socket could not be established, statusCode="+g.statusCode);p.code="ECONNRESET",e.request.emit("error",p),i.removeSocket(n);return}if(h.length>0){IA("got illegal response body from proxy"),f.destroy();var p=new Error("got illegal response body from proxy");p.code="ECONNRESET",e.request.emit("error",p),i.removeSocket(n);return}return IA("tunneling connection has established"),i.sockets[i.sockets.indexOf(n)]=f,r(f)}function u(g){o.removeAllListeners(),IA(`tunneling socket could not be established, cause=%s +`,g.message,g.stack);var f=new Error("tunneling socket could not be established, cause="+g.message);f.code="ECONNRESET",e.request.emit("error",f),i.removeSocket(n)}};Ia.prototype.removeSocket=function(e){var r=this.sockets.indexOf(e);if(r!==-1){this.sockets.splice(r,1);var i=this.requests.shift();i&&this.createSocket(i,function(n){i.request.onSocket(n)})}};function O8(t,e){var r=this;Ia.prototype.createSocket.call(r,t,function(i){var n=t.request.getHeader("host"),s=eP({},r.options,{socket:i,servername:n?n.replace(/:.*$/,""):t.host}),o=txe.connect(0,s);r.sockets[r.sockets.indexOf(i)]=o,e(o)})}function K8(t,e,r){return typeof t=="string"?{host:t,port:e,localAddress:r}:t}function eP(t){for(var e=1,r=arguments.length;e{H8.exports=U8()});var b4=E((xot,sP)=>{var e4=Object.assign({},require("fs")),oe=typeof oe!="undefined"?oe:{},kp={},wA;for(wA in oe)oe.hasOwnProperty(wA)&&(kp[wA]=oe[wA]);var oP=[],t4="./this.program",r4=function(t,e){throw e},i4=!1,Wl=!0,Pp="";function dxe(t){return oe.locateFile?oe.locateFile(t,Pp):Pp+t}var Xy,aP,Zy,AP;Wl&&(i4?Pp=require("path").dirname(Pp)+"/":Pp=__dirname+"/",Xy=function(e,r){var i=s4(e);return i?r?i:i.toString():(Zy||(Zy=e4),AP||(AP=require("path")),e=AP.normalize(e),Zy.readFileSync(e,r?null:"utf8"))},aP=function(e){var r=Xy(e,!0);return r.buffer||(r=new Uint8Array(r)),n4(r.buffer),r},process.argv.length>1&&(t4=process.argv[1].replace(/\\/g,"/")),oP=process.argv.slice(2),typeof sP!="undefined"&&(sP.exports=oe),r4=function(t){process.exit(t)},oe.inspect=function(){return"[Emscripten Module object]"});var $y=oe.print||console.log.bind(console),Di=oe.printErr||console.warn.bind(console);for(wA in kp)kp.hasOwnProperty(wA)&&(oe[wA]=kp[wA]);kp=null;oe.arguments&&(oP=oe.arguments);oe.thisProgram&&(t4=oe.thisProgram);oe.quit&&(r4=oe.quit);var Cxe=16;function mxe(t,e){return e||(e=Cxe),Math.ceil(t/e)*e}var Exe=0,Ixe=function(t){Exe=t},lP;oe.wasmBinary&&(lP=oe.wasmBinary);var Pst=oe.noExitRuntime||!0;typeof WebAssembly!="object"&&Gr("no native wasm support detected");function yxe(t,e,r){switch(e=e||"i8",e.charAt(e.length-1)==="*"&&(e="i32"),e){case"i1":return Zi[t>>0];case"i8":return Zi[t>>0];case"i16":return cP[t>>1];case"i32":return _e[t>>2];case"i64":return _e[t>>2];case"float":return o4[t>>2];case"double":return a4[t>>3];default:Gr("invalid type for getValue: "+e)}return null}var ew,A4=!1,wxe;function n4(t,e){t||Gr("Assertion failed: "+e)}function l4(t){var e=oe["_"+t];return n4(e,"Cannot call unknown function "+t+", make sure it is exported"),e}function vxe(t,e,r,i,n){var s={string:function(h){var p=0;if(h!=null&&h!==0){var d=(h.length<<2)+1;p=g4(d),u4(h,p,d)}return p},array:function(h){var p=g4(h.length);return Bxe(h,p),p}};function o(h){return e==="string"?c4(h):e==="boolean"?Boolean(h):h}var a=l4(t),l=[],c=0;if(i)for(var u=0;u=i);)++n;if(n-e>16&&t.subarray&&f4)return f4.decode(t.subarray(e,n));for(var s="";e>10,56320|c&1023)}}return s}function c4(t,e){return t?Zu($u,t,e):""}function tw(t,e,r,i){if(!(i>0))return 0;for(var n=r,s=r+i-1,o=0;o=55296&&a<=57343){var l=t.charCodeAt(++o);a=65536+((a&1023)<<10)|l&1023}if(a<=127){if(r>=s)break;e[r++]=a}else if(a<=2047){if(r+1>=s)break;e[r++]=192|a>>6,e[r++]=128|a&63}else if(a<=65535){if(r+2>=s)break;e[r++]=224|a>>12,e[r++]=128|a>>6&63,e[r++]=128|a&63}else{if(r+3>=s)break;e[r++]=240|a>>18,e[r++]=128|a>>12&63,e[r++]=128|a>>6&63,e[r++]=128|a&63}}return e[r]=0,r-n}function u4(t,e,r){return tw(t,$u,e,r)}function rw(t){for(var e=0,r=0;r=55296&&i<=57343&&(i=65536+((i&1023)<<10)|t.charCodeAt(++r)&1023),i<=127?++e:i<=2047?e+=2:i<=65535?e+=3:e+=4}return e}function uP(t){var e=rw(t)+1,r=h4(e);return r&&tw(t,Zi,r,e),r}function Bxe(t,e){Zi.set(t,e)}function xxe(t,e){return t%e>0&&(t+=e-t%e),t}var gP,Zi,$u,cP,kxe,_e,Pxe,o4,a4;function p4(t){gP=t,oe.HEAP8=Zi=new Int8Array(t),oe.HEAP16=cP=new Int16Array(t),oe.HEAP32=_e=new Int32Array(t),oe.HEAPU8=$u=new Uint8Array(t),oe.HEAPU16=kxe=new Uint16Array(t),oe.HEAPU32=Pxe=new Uint32Array(t),oe.HEAPF32=o4=new Float32Array(t),oe.HEAPF64=a4=new Float64Array(t)}var Dst=oe.INITIAL_MEMORY||16777216,fP,d4=[],C4=[],m4=[],Dxe=!1;function Fxe(){if(oe.preRun)for(typeof oe.preRun=="function"&&(oe.preRun=[oe.preRun]);oe.preRun.length;)Rxe(oe.preRun.shift());hP(d4)}function Nxe(){Dxe=!0,!oe.noFSInit&&!y.init.initialized&&y.init(),BA.init(),hP(C4)}function Txe(){if(oe.postRun)for(typeof oe.postRun=="function"&&(oe.postRun=[oe.postRun]);oe.postRun.length;)Lxe(oe.postRun.shift());hP(m4)}function Rxe(t){d4.unshift(t)}function Mxe(t){C4.unshift(t)}function Lxe(t){m4.unshift(t)}var zl=0,pP=null,Dp=null;function Oxe(t){return t}function E4(t){zl++,oe.monitorRunDependencies&&oe.monitorRunDependencies(zl)}function dP(t){if(zl--,oe.monitorRunDependencies&&oe.monitorRunDependencies(zl),zl==0&&(pP!==null&&(clearInterval(pP),pP=null),Dp)){var e=Dp;Dp=null,e()}}oe.preloadedImages={};oe.preloadedAudios={};function Gr(t){oe.onAbort&&oe.onAbort(t),t+="",Di(t),A4=!0,wxe=1,t="abort("+t+"). Build with -s ASSERTIONS=1 for more info.";var e=new WebAssembly.RuntimeError(t);throw e}var I4="data:application/octet-stream;base64,";function y4(t){return t.startsWith(I4)}var Rp="data:application/octet-stream;base64,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AkEEaiEBIAIoAgAiA0F/cyADQYGChAhrcUGAgYKEeHFFDQALIANB/wFxRQRAIAIgAGsPCwNAIAItAAEhAyACQQFqIgEhAiADDQALCyABIABrC2EBAX8jAEEQayICIAA2AgggAiABNwMAAkAgAikDACACKAIIKQMIVgRAIAIoAghBADoAACACQX82AgwMAQsgAigCCEEBOgAAIAIoAgggAikDADcDECACQQA2AgwLIAIoAgwL7wEBAX8jAEEgayICJAAgAiAANgIYIAIgATcDECACIAIoAhhCCBAeNgIMAkAgAigCDEUEQCACQX82AhwMAQsgAigCDCACKQMQQv8BgzwAACACKAIMIAIpAxBCCIhC/wGDPAABIAIoAgwgAikDEEIQiEL/AYM8AAIgAigCDCACKQMQQhiIQv8BgzwAAyACKAIMIAIpAxBCIIhC/wGDPAAEIAIoAgwgAikDEEIoiEL/AYM8AAUgAigCDCACKQMQQjCIQv8BgzwABiACKAIMIAIpAxBCOIhC/wGDPAAHIAJBADYCHAsgAigCHBogAkEgaiQAC4cDAQF/IwBBMGsiAyQAIAMgADYCJCADIAE2AiAgAyACNwMYAkAgAygCJC0AKEEBcQRAIANCfzcDKAwBCwJAAkAgAygCJCgCIEUNACADKQMYQv///////////wBWDQAgAykDGFANASADKAIgDQELIAMoAiRBDGpBEkEAEBQgA0J/NwMoDAELIAMoAiQtADVBAXEEQCADQn83AygMAQsCfyMAQRBrIgAgAygCJDYCDCAAKAIMLQA0QQFxCwRAIANCADcDKAwBCyADKQMYUARAIANCADcDKAwBCyADQgA3AxADQCADKQMQIAMpAxhUBEAgAyADKAIkIAMoAiAgAykDEKdqIAMpAxggAykDEH1BARAhIgI3AwggAkIAUwRAIAMoAiRBAToANSADKQMQUARAIANCfzcDKAwECyADIAMpAxA3AygMAwsgAykDCFAEQCADKAIkQQE6ADQFIAMgAykDCCADKQMQfDcDEAwCCwsLIAMgAykDEDcDKAsgAykDKCECIANBMGokACACCzYBAX8jAEEQayIBIAA2AgwCfiABKAIMLQAAQQFxBEAgASgCDCkDCCABKAIMKQMQfQwBC0IACwuyAQIBfwF+IwBBEGsiASQAIAEgADYCBCABIAEoAgRC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AkEBNgIQIAJBADYCCANAAkAgAigCCCACKAIYLwEETw0AAkAgAigCDCACKAIIai0AAEEfSwRAIAIoAgwgAigCCGotAABBgAFJDQELIAIoAgwgAigCCGotAABBDUYNACACKAIMIAIoAghqLQAAQQpGDQAgAigCDCACKAIIai0AAEEJRgRADAELIAJBAzYCEAJAIAIoAgwgAigCCGotAABB4AFxQcABRgRAIAJBATYCAAwBCwJAIAIoAgwgAigCCGotAABB8AFxQeABRgRAIAJBAjYCAAwBCwJAIAIoAgwgAigCCGotAABB+AFxQfABRgRAIAJBAzYCAAwBCyACQQQ2AhAMBAsLCyACKAIYLwEEIAIoAgggAigCAGpNBEAgAkEENgIQDAILIAJBATYCBANAIAIoAgQgAigCAE0EQCACKAIMIAIoAgggAigCBGpqLQAAQcABcUGAAUcEQCACQQQ2AhAMBgUgAiACKAIEQQFqNgIEDAILAAsLIAIgAigCACACKAIIajYCCAsgAiACKAIIQQFqNgIIDAELCwsgAigCGCACKAIQNgIIIAIoAhQEQAJAIAIoAhRBAkcNACACKAIQQQNHDQAgAkECNgIQIAIoAhhBAjYCCAsCQCACKAIUIAIoAhBGDQAgAigCEEEBRg0AIAJBBTYCHAwCCwsgAiACKAIQNgIcCyACKAIcC2oBAX8jAEEQayIBIAA2AgwgASgCDEIANwMAIAEoAgxBADYCCCABKAIMQn83AxAgASgCDEEANgIsIAEoAgxBfzYCKCABKAIMQgA3AxggASgCDEIANwMgIAEoAgxBADsBMCABKAIMQQA7ATILUgECf0GQlwEoAgAiASAAQQNqQXxxIgJqIQACQCACQQAgACABTRsNACAAPwBBEHRLBEAgABATRQ0BC0GQlwEgADYCACABDwtBtJsBQTA2AgBBfwuNBQEDfyMAQRBrIgEkACABIAA2AgwgASgCDARAIAEoAgwoAgAEQCABKAIMKAIAEDEaIAEoAgwoAgAQGwsgASgCDCgCHBAVIAEoAgwoAiAQJSABKAIMKAIkECUgASgCDCgCUCECIwBBEGsiACQAIAAgAjYCDCAAKAIMBEAgACgCDCgCEARAIABBADYCCANAIAAoAgggACgCDCgCAEkEQCAAKAIMKAIQIAAoAghBAnRqKAIABEAgACgCDCgC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A3EQHwsgAygCpAEoAhQgA0GeAWogA0GcAWoQgQEgAygCTCADLwGeARAfIAMoAkwgAy8BnAEQHwJAAkAgAy0AhQFBAXFFDQAgAygCpAEpAyhCFFoNACADKAJMQQAQIAwBCyADKAJMIAMoAqQBKAIYECALAkACQCADKAKgAUGAAnFBgAJHDQAgAygCpAEpAyBC/////w9UBEAgAygCpAEpAyhC/////w9UDQELIAMoAkxBfxAgIAMoAkxBfxAgDAELAkAgAygCpAEpAyBC/////w9UBEAgAygCTCADKAKkASkDIKcQIAwBCyADKAJMQX8QIAsCQCADKAKkASkDKEL/////D1QEQCADKAJMIAMoAqQBKQMopxAgDAELIAMoAkxBfxAgCwsgAygCTCADKAKkASgCMBBTQf//A3EQHyADIAMoAqQBKAI0IAMoAqABEIYBQf//A3EgAygCkAFBgAYQhgFB//8DcWo2AogBIAMoAkwgAygCiAFB//8DcRAfIAMoAqABQYACcUUEQCADKAJMIAMoAqQBKAI4EFNB//8DcRAfIAMoAkwgAygCpAEoAjxB//8DcRAfIAMoAkwgAygCpAEvAUAQHyADKAJMIAMoAqQBKAJEECACQCADKAKkASkDSEL/////D1QEQCADKAJMIAMoAqQBKQNIpxAgDAELIAMoAkxBfxAgCwsCfyMAQRBrIgAgAygCTDYCDCAAKAIMLQAAQQFxRQsEQCADKAKoAUEIakEUQQAQFCADKAJMEBYgAygCkAEQIyADQX82AqwBDAELIAMoAqgBIANB0ABqAn4jAEEQayIAIAMoAkw2AgwCfiAAKAIMLQAAQQFxBEAgACgCDCkDEAwBC0IACwsQNUEASARAIAMoAkwQFiADKAKQARAjIANBfzYCrAEMAQsgAygCTBAWIAMoAqQBKAIwBEAgAygCqAEgAygCpAEoAjAQigFBAEgEQCADKAKQARAjIANBfzYCrAEMAgsLIAMoApABBEAgAygCqAEgAygCkAFBgAYQhQFBAEgEQCADKAKQARAjIANBfzYCrAEMAgsLIAMoApABECMgAygCpAEoAjQEQCADKAKoASADKAKkASgCNCADKAKgARCFAUEASARAIANBfzYCrAEMAgsLIAMoAqABQYACcUUEQCADKAKkASgCOARAIAMoAqgBIAMoAqQBKAI4EIoB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HCAAIAAoAhRBAWo2AhQMAQsLIAAoAggQR0EBcUUEQCAAKAIgQRRBABAUIAAoAggQFiAAQX82AiwMAQsgACgCCBAWIAAgACgCHDYCLAsgACgCLCECIABBMGokACADIAIiADYCBCAAQQBIBEAgA0IANwMoDAELIAMpAwggAygCBK18Qv///////////wBWBEAgAygCFEEEQRYQFCADQgA3AygMAQsgAyADKQMIIAMoAgStfDcDKAsgAykDKCEBIANBMGokACABC20BAX8jAEEgayIEJAAgBCAANgIYIAQgATYCFCAEIAI2AhAgBCADNgIMAkAgBCgCGEUEQCAEQQA2AhwMAQsgBCAEKAIUIAQoAhAgBCgCDCAEKAIYQQhqEJIBNgIcCyAEKAIcIQAgBEEgaiQAIAALVQEBfyMAQRBrIgEkACABIAA2AgwCQAJAIAEoAgwoAiRBAUYNACABKAIMKAIkQQJGDQAMAQsgASgCDEEAQgBBChAhGiABKAIMQQA2AiQLIAFBEGokAAumAQEBfyMAQRBrIgIkACACIAA2AgggAiABNgIEAkAgAigCCC0AKEEBcQRAIAJBfzYCDAwBCyACKAIIKAIABEAgAigCCCgCACACKAIEEGhBAEgEQCACKAIIQQxqIAIoAggoAgAQFyACQX82AgwMAgsLIAIoAgggAkEEakIEQRMQIUIAUwRAIAJBfzYCDAwBCyACQQA2AgwLIAIoAgwhACACQRBqJAAgAAuNCAIBfwF+IwBBkAFrIgMkACADIAA2AoQBIAMgATYCgAEgAyACNgJ8IAMQTwJAIAMoAoABKQMIQgBSBEAgAyADKAKAASgCACgCACkDSDcDYCADIAMoAoABKAIAKAIAKQNINwNoDAELIANCADcDYCADQgA3A2gLIANCADcDcAJAA0AgAykDcCADKAKAASkDCFQEQCADKAKAASgCACADKQNwp0EEdGooAgApA0ggAykDaFQEQCADIAMoAoABKAIAIAMpA3CnQQR0aigCACkDSDcDaAsgAykDaCADKAKAASkDIFYEQCADKAJ8QRNBABAUIANCfzcDiAEMAwsgAyADKAKAASgCACADKQNwp0EEdGooAgApA0ggAygCgAEoAgAgAykDcKdBBHRqKAIAKQMgfCADKAKAASgCACADKQNwp0EEdGooAgAoAjAQU0H//wNxrXxC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DEECdGooAgBBAnRqLwEASA0AAkAgAygCGCADKAIQQQJ0ai8BACADKAIYIAMoAhxB3BZqIAMoAgxBAnRqKAIAQQJ0ai8BAEcNACADKAIQIAMoAhxB2Chqai0AACADKAIcQdwWaiADKAIMQQJ0aigCACADKAIcQdgoamotAABKDQAMAQsgAygCHEHcFmogAygCFEECdGogAygCHEHcFmogAygCDEECdGooAgA2AgAgAyADKAIMNgIUIAMgAygCDEEBdDYCDAwBCwsgAygCHEHcFmogAygCFEECdGogAygCEDYCAAvXEwEDfyMAQTBrIgIkACACIAA2AiwgAiABNgIoIAIgAigCKCgCADYCJCACIAIoAigoAggoAgA2AiAgAiACKAIoKAIIKAIMNgIcIAJBfzYCECACKAIsQQA2AtAoIAIoAixBvQQ2AtQoIAJBADYCGANAIAIoAhggAigCHEgEQAJAIAIoAiQgAigCGEECdGovAQAEQCACIAIoAhgiATYCECACKAIsQdwWaiEDIAIoAiwiBCgC0ChBAWohACAEIAA2AtAoIABBAnQgA2ogATYCACACKAIYIAIoAixB2ChqakEAOgAADAELIAIoAiQgAigCGEECdGpBADsBAgsgAiACKAIYQQFqNgIYDAELCwNAIAIoAiwoAtAoQQJIBEACQCACKAIQQQJIBEAgAiACKAIQQQFqIgA2AhAMAQtBACEACyACKAIsQdwWaiEDIAIoAiwiBCgC0ChBAWohASAEIAE2AtAoIAFBAnQgA2ogADYCACACIAA2AgwgAigCJCACKAIMQQJ0akEBOwEAIAIoAgwgAigCLEHYKGpqQQA6AAAgAigCLCIAIAAoAqgtQQFrNgKoLSACKAIgBEAgAigCLCIAIAAoAqwtIAIoAiAgAigCDEECdGovAQJrNgKsLQsMAQsLIAIoAiggAigCEDYCBCACIAIoAiwoAtAoQQJtNgIYA0AgAigCGEEBTgRAIAIoAiwgAigCJCACKAIYEHogAiACKAIYQQFrNgIYDAELCyACIAIoAhw2AgwDQCACIAIoAiwoAuAWNgIYIAIoAixB3BZqIQEgAigCLCIDKALQKCEAIAMgAEEBazYC0CggAigCLCAAQQJ0IAFqKAIANgLgFiACKAIsIAIoAiRBARB6IAIgAigCLCgC4BY2AhQgAigCGCEBIAIoAixB3BZqIQMgAigCLCIEKALUKEEBayEAIAQgADYC1CggAEECdCADaiABNgIAIAIoAhQhASACKAIsQdwWaiEDIAIoAiwiBCgC1ChBAWshACAEIAA2AtQoIABBAnQgA2ogATYCACACKAIkIAIoAgxBAnRqIAIoAiQgAigCGEECdGovAQAgAigCJCACKAIUQQJ0ai8BAGo7AQAgAigCDCACKAIsQdgoamoCfyACKAIYIAIoAixB2Chqai0AACACKAIUIAIoAixB2Chqai0AAE4EQCACKAIYIAIoAixB2Chqai0AAAwBCyACKAIUIAIoAixB2Chqai0AAAtBAWo6AAAgAigCJCACKAIUQQJ0aiACKAIMIgA7AQIgAigCJCACKAIYQQJ0aiAAOwECIAIgAigCDCIAQQFqNgIMIAIoAiwgADYC4BYgAigCLCACKAIkQQEQeiACKAIsKALQKEECTg0ACyACKAIsKALgFiEBIAIoAixB3BZqIQMgAigCLCIEKALUKEEBayEAIAQgADYC1CggAEECdCADaiABNgIAIAIoAighASMAQUBqIgAgAigCLDYCPCAAIAE2AjggACAAKAI4KAIANgI0IAAgACgCOCgCBDYCMCAAIAAoAjgoAggoAgA2AiwgACAAKAI4KAIIKAIENgIoIAAgACgCOCgCCCgCCDYCJCAAIAAoAjgoAggoAhA2AiAgAEEANgIEIABBADYCEANAIAAoAhBBD0wEQCAAKAI8QbwWaiAAKAIQQQF0akEAOwEAIAAgACgCEEEBajYCEAwBCwsgACgCNCAAKAI8QdwWaiAAKAI8KALUKEECdGooAgBBAnRqQQA7AQIgACAAKAI8KALUKEEBajYCHANAIAAoAhxBvQRIBEAgACAAKAI8QdwWaiAAKAIcQQJ0aigCADYCGCAAIAAoAjQgACgCNCAAKAIYQQJ0ai8BAkECdGovAQJBAWo2AhAgACgCECAAKAIgSgRAIAAgACgCIDYCECAAIAAoAgRBAWo2AgQLIAAoAjQgACgCGEECdGogACgCEDsBAiAAKAIYIAAoAjBMBEAgACgCPCAAKAIQQQF0akG8FmoiASABLwEAQQFqOwEAIABBADYCDCAAKAIYIAAoAiROBEAgACAAKAIoIAAoAhggACgCJGtBAnRqKAIANgIMCyAAIAAoAjQgACgCGEECdGovAQA7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EANAIAMpAxAgAykDCFpFBEAgAygCKCgCACADKQMQp0EEdGoQkAEgAyADKQMQQgF8NwMQDAELCyADKAIoIAMpAwgiATcDECADKAIoIAE3AwggA0EBOgAvCyADLQAvQQFxIQAgA0EwaiQAIAALzAEBAX8jAEEgayICJAAgAiAANwMQIAIgATYCDCACQTAQGCIBNgIIAkAgAUUEQCACKAIMQQ5BABAUIAJBADYCHAwBCyACKAIIQQA2AgAgAigCCEIANwMQIAIoAghCADcDCCACKAIIQgA3AyAgAigCCEIANwMYIAIoAghBADYCKCACKAIIQQA6ACwgAigCCCACKQMQIAIoAgwQgwFBAXFFBEAgAigCCBAkIAJBADYCHAwBCyACIAIoAgg2AhwLIAIoAhwhASACQSBqJAAgAQvWAgEBfyMAQSBrIgMkACADIAA2AhggAyABNgIUIAMgAjYCECADIANBDGpCBBApNgIIAkAgAygCCEUEQCADQX82AhwMAQsDQCADKAIUBEAgAygCFCgCBCADKAIQcUGABnEEQCADKAIIQgAQLBogAygCCCADKAIULwEIEB8gAygCCCADKAIULwEKEB8CfyMAQRBrIgAgAygCCDYCDCAAKAIMLQAAQQFxRQsEQCADKAIYQQhqQRRBABAUIAMoAggQFiADQX82AhwMBAsgAygCGCADQQxqQgQQNUEASARAIAMoAggQFiADQX82AhwMBAsgAygCFC8BCgRAIAMoAhggAygCFCgCDCADKAIULwEKrRA1QQBIBEAgAygCCBAWIANBfzYCHAwFCwsLIAMgAygCFCgCADYCFAwBCwsgAygCCBAWIANBADYCHAsgAygCHCEAIANBIGokACAAC2gBAX8jAEEQayICIAA2AgwgAiABNgIIIAJBADsBBgNAIAIoAgwEQCACKAIMKAIEIAIoAghxQYAGcQRAIAIgAigCDC8BCiACLwEGQQRqajsBBgsgAiACKAIMKAIANgIMDAELCyACLwEGC/ABAQF/IwBBEGsiASQAIAEgADYCDCABIAEoAgw2AgggAUEANgIEA0AgASgCDARAAkACQCABKAIMLwEIQfXGAUYNACABKAIMLwEIQfXgAUYNACABKAIMLwEIQYGyAkYNACABKAIMLwEIQQFHDQELIAEgASgCDCgCADYCACABKAIIIAEoAgxGBEAg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IAEpA4ABIAEpAzB8IAEpA5gBIAEpAzh8VgRAIAEoApABQRVBABAUIAFBADYCrAEMAQsCQCABKAKUAUEEcUUNACABKQOAASABKQMwfCABKQOYASABKQM4fFENACABKAKQAUEVQQAQFCABQQA2AqwBDAELIAEpAyggASkDMEIugFYEQCABKAKQAUEVQQAQFCABQQA2AqwBDAELIAEgASkDKCABKAKQARCEASIFNgKMASAFRQRAIAFBADYCrAEMAQsgASgCjAFBAToALCABKAKMASABKQMwNwMYIAEoAowBIAEpA4ABNwMgIAEgASgCjAE2AqwBCyABKAKsASEFIAFBsAFqJAAgACAFNgJQDAELIAAoAmQgACkDMBAsGiAAKAJkIQUgACkDWCEJIAAoAmgoAhQhBiAAKAJUIQcjAEHQAGsiASQAIAEgBTYCSCABIAk3A0AgASAGNgI8IAEgBzYCOAJAIAEoAkgQL0IWVARAIAEoAjhBFUEAEBQgAUEANgJMDAELIwBBEGsiBSABKAJINgIMIAECfiAFKAIMLQAAQQFxBEAgBSgCDCkDEAwBC0IACzcDCCABKAJIQgQQHhogASgCSBAqBEAgASgCOEEBQQAQFCABQQA2AkwMAQsgASABKAJIEB1B//8Dca03AyggASABKAJIEB1B//8Dca03AyAgASkDICABKQMoUgRAIAEoAjhBE0EAEBQgAUEANgJMDAELIAEgASgCSBAqrTcDGCABIAEoAkgQKq03AxAgASkDECABKQMQIAEpAxh8VgRAIAEoAjhBBEEWEBQgAUEANgJMDAELIAEpAxAgASkDGHwgASkDQCABKQMIfFYEQCABKAI4QRVBABAUIAFBADYCTAwBCwJAIAEoAjxBBHFFDQAgASkDECABKQMYfCABKQNAIAEpAwh8UQ0AIAEoAjhBFUEAEBQgAUEANgJMDAELIAEgASkDICABKAI4EIQBIgU2AjQgBUUEQCABQQA2AkwMAQsgASgCNEEAOgAsIAEoAjQgASkDGDcDGCABKAI0IAEpAxA3AyAgASABKAI0NgJMCyABKAJMIQUgAUHQAGokACAAIAU2AlALIAAoAlBFBEAgAEEANgJsDAELIAAoAmQgACkDMEIUfBAsGiAAIAAoAmQQHTsBTiAAKAJQKQMgIAAoAlApAxh8IAApA1ggACkDMHxWBEAg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IAIgAigCLCIAQQFqNgIsIAAtAAEhASACIAIoAigiAEEBajYCKEEAIAAtAAEgAUcNABogAiACKAIsIgBBAWo2AiwgAC0AASEBIAIgAigCKCIAQQFqNgIoQQAgAC0AASABRw0AGiACIAIoAiwiAEEBajYCLCAALQABIQEgAiACKAIoIgBBAWo2AihBACAALQABIAFHDQAaIAIgAigCLCIAQQFqNgIsIAAtAAEhASACIAIoAigiAEEBajYCKEEAIAAtAAEgAUcNABogAiACKAIsIgBBAWo2AiwgAC0AASEBIAIgAigCKCIAQQFqNgIoQQAgAC0AASABRw0AGiACKAIsIAIoAgxJC0EBcQ0ACyACQYICIAIoAgwgAigCLGtrNgIkIAIgAigCDEGCAms2AiwgAigCJCACKAIgSgRAIAIoAjggAigCNDYCcCACIAIoAiQ2AiAgAigCJCACKAIcTg0CIAIgAigCLCACKAIgQQFrai0AADoACyACIAIoAiwgAigCIGotAAA6AAoLCyACIAIoAhQgAigCNCACKAIQcUEBdGovAQAiATYCNEEAIQAgASACKAIYSwR/IAIgAigCMEEBayIANgIwIABBAEcFQQALQQFxDQELCwJAIAIoAiAgAigCOCgCdE0EQCACIAIoAiA2AjwMAQsgAiACKAI4KAJ0NgI8CyACKAI8C5IQAQF/IwBBMGsiAiQAIAIgADYCKCACIAE2AiQgAgJ/IAIoAigoAiwgAigCKCgCDEEFa0kEQCACKAIoKAIsDAELIAIoAigoAgxBBWsLNgIgIAJBADYCECACIAIoAigoAgAoAgQ2AgwDQAJAIAJB//8DNgIcIAIgAigCKCgCvC1BKmpBA3U2AhQgAigCKCgCACgCECACKAIUSQ0AIAIgAigCKCgCACgCECACKAIUazYCFCACIAIoAigoAmwgAigCKCgCXGs2AhggAigCHCACKAIYIAIoAigoAgAoAgRqSwRAIAIgAigCGCACKAIoKAIAKAIEajYCHAsgAigCHCACKAIUSwRAIAIgAigCFDYCHAsCQCACKAIcIAIoAiBPDQACQCACKAIcRQRAIAIoAiRBBEcNAQsgAigCJEUNACACKAIcIAIoAhggAigCKCgCACgCBGpGDQELDAELQQAhACACIAIoAiRBBEYEfyACKAIcIAIoAhggAigCKCgCACgCBGpGBUEAC0EBcTYCECACKAIoQQBBACACKAIQEFwgAigCKCgCCCACKAIoKAIUQQRraiACKAIcOgAAIAIoAigoAgggAigCKCgCFEEDa2ogAigCHEEIdjoAACACKAIoKAIIIAIoAigoAhRBAmtqIAIoAhxBf3M6AAAgAigCKCgCCCACKAIoKAIUQQFraiACKAIcQX9zQQh2OgAAIAIoAigoAgAQHCACKAIYBEAgAigCGCACKAIcSwRAIAIgAigCHDYCGAsgAigCKCgCACgCDCACKAIoKAI4IAIoAigoAlxqIAIoAhgQGRogAigCKCgCACIAIAIoAhggACgCDGo2AgwgAigCKCgCACIAIAAoAhAgAigCGGs2AhAgAigCKCgCACIAIAIoAhggACgCFGo2AhQgAigCKCIAIAIoAhggACgCXGo2AlwgAiACKAIcIAIoAhhrNgIcCyACKAIcBEAgAigCKCgCACACKAIoKAIAKAIMIAIoAhwQeBogAigCKCgCACIAIAIoAhwgACgCDGo2AgwgAigCKCgCACIAIAAoAhAgAigCHGs2AhAgAigCKCgCACIAIAIoAhwgACgCFGo2AhQLIAIoAhBFDQELCyACIAIoAgwgAigCKCgCACgCBGs2AgwgAigCDARAAkAgAigCDCACKAIoKAIsTwRAIAIoAihBAjYCsC0gAigCKCgCOCACKAIoKAIAKAIAIAIoAigoAixrIAIoAigoAiwQGRogAigCKCACKAIoKAIsNgJsDAELIAIoAgwgAigCKCgCPCACKAIoKAJsa08EQCACKAIoIgAgACgCbCACKAIoKAIsazYCbCACKAIoKAI4IAIoAigoAjggAigCKCgCLGogAigCKCgCbBAZGiACKAIoKAKwLUECSQRAIAIoAigiACAAKAKwLUEBajYCsC0LCyACKAIoKAI4IAIoAigoAmxqIAIoAigoAgAoAgAgAigCDGsgAigCDBAZGiACKAIoIgAgAigCDCAAKAJsajYCbAsgAigCKCACKAIoKAJsNgJcIAIoAigiAQJ/IAIoAgwgAigCKCgCLCACKAIoKAK0LWtLBEAgAigCKCgCLCACKAIoKAK0LWsMAQsgAigCDAsgASgCtC1qNgK0LQsgAigCKCgCwC0gAigCKCgCbEkEQCACKAIoIAIoAigoAmw2AsAtCwJAIAIoAhAEQCACQQM2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mwFCADcDAEGYmwFCADcDAEGQmwFCADcDAEGImwFCADcDAEGAmwFCADcDAEH4mgFCADcDAEHwmgFCADcDAEHwmgEL1QQBBX8jAEGwAWsiASQAIAEgADYCqAEgASgCqAEQNwJAAkAgASgCqAEoAgBBAE4EQCABKAKoASgCAEGAFCgCAEgNAQsgASABKAKoASgCADYCECABQSBqQY8SIAFBEGoQcCABQQA2AqQBIAEgAUEgajYCoAEMAQsgASABKAKoASgCAEECdEGAE2ooAgA2AqQBAkACQAJAAkAgASgCqAEoAgBBAnRBkBRqKAIAQQFrDgIAAQILIAEoAqgBKAIEIQJBkJkBKAIAIQRBACEAAkACQANAIAIgAEGgiAFqLQAARwRAQdcAIQMgAEEBaiIAQdcARw0BDAILCyAAIgMNAEGAiQEhAgwBC0GAiQEhAANAIAAtAAAhBSAAQQFqIgIhACAFDQAgAiEAIANBAWsiAw0ACwsgBCgCFBogASACNgKgAQwCCyMAQRBrIgAgASgCqAEoAgQ2AgwgAUEAIAAoAgxrQQJ0QajZAGooAgA2AqABDAELIAFBADYCoAELCwJAIAEoAqABRQRAIAEgASgCpAE2AqwBDAELIAEgASgCoAEQKwJ/IAEoAqQBBEAgASgCpAEQK0ECagwBC0EAC2pBAWoQGCIANgIcIABFBEAgAUG4EygCADYCrAEMAQsgASgCHCEAAn8gASgCpAEEQCABKAKkAQwBC0H6EgshA0HfEkH6EiABKAKkARshAiABIAEoAqABNgIIIAEgAjYCBCABIAM2AgAgAEG+CiABEHAgASgCqAEgASgCHDYCCCABIAEoAhw2AqwBCyABKAKsASEAIAFBsAFqJAAgAAszAQF/IAAoAhQiAyABIAIgACgCECADayIBIAEgAksbIgEQGRogACAAKAIUIAFqNgIUIAILjwUCBn4BfyABIAEoAgBBD2pBcHEiAUEQajYCACAAAnwgASkDACEDIAEpAwghBiMAQSBrIggkAAJAIAZC////////////AIMiBEKAgICAgIDAgDx9IARCgICAgICAwP/DAH1UBEAgBkIEhiADQjyIhCEEIANC//////////8PgyIDQoGAgICAgICACFoEQCAEQoGAgICAgICAwAB8IQIMAgsgBEKAgICAgICAgEB9IQIgA0KAgICAgICAgAiFQgBSDQEgAiAEQgGDfCECDAELIANQIARCgICAgICAwP//AFQgBEKAgICAgIDA//8AURtFBEAgBkIEhiADQjyIhEL/////////A4NCgICAgICAgPz/AIQhAgwBC0KAgICAgICA+P8AIQIgBEL///////+//8MAVg0AQgAhAiAEQjCIpyIAQZH3AEkNACADIQIgBkL///////8/g0KAgICAgIDAAIQiBSEHAkAgAEGB9wBrIgFBwABxBEAgAiABQUBqrYYhB0IAIQIMAQsgAUUNACAHIAGtIgSGIAJBwAAgAWutiIQhByACIASGIQILIAggAjcDECAIIAc3AxgCQEGB+AAgAGsiAEHAAHEEQCAFIABBQGqtiCEDQgAhBQwBCyAARQ0AIAVBwAAgAGuthiADIACtIgKIhCEDIAUgAoghBQsgCCADNwMAIAggBTcDCCAIKQMIQgSGIAgpAwAiA0I8iIQhAiAIKQMQIAgpAxiEQgBSrSADQv//////////D4OEIgNCgYCAgICAgIAIWgRAIAJCAXwhAgwBCyADQoCAgICAgICACIVCAFINACACQgGDIAJ8IQILIAhBIGokACACIAZCgICAgICAgICAf4OEvws5AwALrRcDEn8CfgF8IwBBsARrIgkkACAJQQA2AiwCQCABvSIYQn9XBEBBASESQa4IIRMgAZoiAb0hGAwBCyAEQYAQcQRAQQEhEkGxCCETDAELQbQIQa8IIARBAXEiEhshEyASRSEXCwJAIBhCgICAgICAgPj/AINCgICAgICAgPj/AFEEQCAAQSAgAiASQQNqIg0gBEH//3txECYgACATIBIQIiAAQeQLQbUSIAVBIHEiAxtBjw1BuRIgAxsgASABYhtBAxAiDAELIAlBEGohEAJAAn8CQCABIAlBLGoQqQEiASABoCIBRAAAAAAAAAAAYgRAIAkgCSgCLCIGQQFrNgIsIAVBIHIiFEHhAEcNAQwDCyAFQSByIhRB4QBGDQIgCSgCLCELQQYgAyADQQBIGwwBCyAJIAZBHWsiCzYCLCABRAAAAAAAALBBoiEBQQYgAyADQQBIGwshCiAJQTBqIAlB0AJqIAtBAEgbIg4hBwNAIAcCfyABRAAAAAAAAPBBYyABRAAAAAAAAAAAZnEEQCABqwwBC0EACyIDNgIAIAdBBGohByABIAO4oUQA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HCECIAEgASgCGCIDQQFqNgIYQQAgAy0AASACRw0AGiABKAIcIQIgASABKAIYIgNBAWo2AhhBACADLQABIAJHDQAaIAEoAhwhAiABIAEoAhgiA0EBajYCGEEAIAMtAAEgAkcNABogASgCHCECIAEgASgCGCIDQQFqNgIYQQAgAy0AASACRw0AGiABKAIcIQIgASABKAIYIgNBAWo2AhhBACADLQABIAJHDQAaIAEoAhwhAiABIAEoAhgiA0EBajYCGEEAIAMtAAEgAkcNABogASgCGCABKAIUSQtBAXENAAsgASgCKEGCAiABKAIUIAEoAhhrazYCYCABKAIoKAJgIAEoAigoAnRLBEAgASgCKCABKAIoKAJ0NgJgCwsLAkAgASgCKCgCYEEDTwRAIAEgASgCKCgCYEEDazoAEyABQQE7ARAgASgCKCICKAKkLSACKAKgLUEBdGogAS8BEDsBACABLQATIQMgASgCKCICKAKYLSEEIAIgAigCoC0iAkEBajYCoC0gAiAEaiADOgAAIAEgAS8BEEEBazsBECABKAIoIAEtABNB0N0Aai0AAEECdGpBmAlqIgIgAi8BAEEBajsBACABKAIoQYgTagJ/IAEvARBBgAJJBEAgAS8BEC0A0FkMAQsgAS8BEEEHdkGAAmotANBZC0ECdGoiAiACLwEAQQFqOwEAIAEgASgCKCgCoC0gASgCKCgCnC1BAWtGNgIgIAEoAigiAiACKAJ0IAEoAigoAmBrNgJ0IAEoAigiAiABKAIoKAJgIAIoAmxqNgJsIAEoAihBADYCYAwBCyABIAEoAigiAigCOCACKAJsai0AADoADyABKAIoIgIoAqQtIAIoAqAtQQF0akEAOwEAIAEtAA8hAyABKAIoIgIoApgtIQQgAiACKAKgLSICQQFqNgKgLSACIARqIAM6AAAgASgCKCABLQAPQQJ0aiICIAIvAZQBQQFqOwGUASABIAEoAigoAqAtIAEoAigoApwtQQFrRjYCICABKAIoIgIgAigCdEEBazYCdCABKAIoIgIgAigCbEEBajYCbAsgASgCIARAIAEoAigCfyABKAIoKAJcQQBOBEAgASgCKCgCOCABKAIoKAJcagwBC0EACyABKAIoKAJsIAEoAigoAlxrQQAQKCABKAIoIAEoAigoAmw2AlwgASgCKCgCABAcIAEoAigo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QCABKAIoQQ9JBEAgASABKAJQIgJBAWo2AlAgASABKAIsIAItAAAgASgCKHRqNgIsIAEgASgCKEEIajYCKCABIAEoAlAiAkEBajYCUCABIAEoAiwgAi0AACABKAIodGo2AiwgASABKAIoQQhqNgIoCyABIAEoAiQgASgCLCABKAIccUECdGooAQA2ARACQAJAA0AgASABLQARNgIMIAEgASgCLCABKAIMdjYCLCABIAEoAiggASgCDGs2AiggASABLQAQNgIMIAEoAgxFBEAgAS8BEiECIAEgASgCSCIDQQFqNgJIIAMgAjoAAAwCCyABKAIMQRBxBEAgASABLwESNgIIIAEgASgCDEEPcTYCDCABKAIMBEAgASgCKCABKAIMSQRAIAEgASgCUCICQQFqNgJQIAEgASgCLCACLQAAIAEoAih0ajYCLCABIAEoAihBCGo2AigLIAEgASgCCCABKAIsQQEgASgCDHRBAWtxajYCCCABIAEoAiwgASgCDHY2AiwgASABKAIoIAEoAgxrNgIoCyABKAIoQQ9JBEAgASABKAJQIgJBAWo2AlAgASABKAIsIAItAAAgASgCKHRqNgIsIAEgASgCKEEIajYCKCABIAEoAlAiAkEBajYCUCABIAEoAiwgAi0AACABKAIodGo2AiwgASABKAIoQQhqNgIoCyABIAEoAiAgASgCLCABKAIYcUECdGooAQA2ARACQANAIAEgAS0AETYCDCABIAEoAiwgASgCDHY2AiwgASABKAIoIAEoAgxrNgIoIAEgAS0AEDYCDCABKAIMQRBxBEAgASABLwESNgIEIAEgASgCDEEPcTYCDCABKAIoIAEoAgxJBEAgASABKAJQIgJBAWo2AlAgASABKAIsIAItAAAgASgCKHRqNgIsIAEgASgCKEEIajYCKCABKAIoIAEoAgxJBEAgASABKAJQIgJBAWo2AlAgASABKAIsIAItAAAgASgCKHRqNgIsIAEgASgCKEEIajYCKAsLIAEgASgCBCABKAIsQQEgASgCDHRBAWtxajYCBCABIAEoAiwgASgCDHY2AiwgASABKAIoIAEoAgxrNgIoIAEgASgCSCABKAJEazYCDAJAIAEoAgQgASgCDEsEQCABIAEoAgQgASgCDGs2AgwgASgCDCABKAI4SwRAIAEoAlQoAsQ3BEAgASgCXEHdDDYCGCABKAJUQdH+ADYCBAwKCwsgASABKAIwNgIAAkAgASgCNEUEQCABIAEoAgAgASgCPCABKAIMa2o2AgAgASgCDCABKAIISQRAIAEgASgCCCABKAIMazYCCANAIAEgASgCACICQQFqNgIAIAItAAAhAiABIAEoAkgiA0EBajYCSCADIAI6AAAgASABKAIMQQFrIgI2AgwgAg0ACyABIAEoAkggASgCBGs2AgALDAELAkAgASgCNCABKAIMSQRAIAEgASgCACABKAI8IAEoAjRqIAEoAgxrajYCACABIAEoAgwgASgCNGs2AgwgASgCDCABKAIISQRAIAEgASgCCCABKAIMazYCCANAIAEgASgCACICQQFqNgIAIAItAAAhAiABIAEoAkgiA0EBajYCSCADIAI6AAAgASABKAIMQQFrIgI2AgwgAg0ACyABIAEoAjA2AgAgASgCNCABKAIISQRAIAEgASgCNDYCDCABIAEoAgggASgCDGs2AggDQCABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAAIAEgASgCDEEBayICNgIMIAINAAsgASABKAJIIAEoAgRrNgIACwsMAQsgASABKAIAIAEoAjQgASgCDGtqNgIAIAEoAgwgASgCCEkEQCABIAEoAgggASgCDGs2AggDQCABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAAIAEgASgCDEEBayICNgIMIAINAAsgASABKAJIIAEoAgRrNgIACwsLA0AgASgCCEECSwRAIAEgASgCACICQQFqNgIAIAItAAAhAiABIAEoAkgiA0EBajYCSCADIAI6AAAgASABKAIAIgJBAWo2AgAgAi0AACECIAEgASgCSCIDQQFqNgJIIAMgAjoAACABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAAIAEgASgCCEEDazYCCAwBCwsMAQsgASABKAJIIAEoAgRrNgIAA0AgASABKAIAIgJBAWo2AgAgAi0AACECIAEgASgCSCIDQQFqNgJIIAMgAjoAACABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAAIAEgASgCACICQQFqNgIAIAItAAAhAiABIAEoAkgi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ZWFkIGVycm9yAFpsaWIgZXJyb3IAZGF0YSBlcnJvcgBDUkMgZXJyb3IAaW5jb21wYXRpYmxlIHZlcnNpb24AbmFuAC9kZXYvdXJhbmRvbQBpbnZhbGlkIGNvZGUgLS0gbWlzc2luZyBlbmQtb2YtYmxvY2sAaW5jb3JyZWN0IGhlYWRlciBjaGVjawBpbmNvcnJlY3QgbGVuZ3RoIGNoZWNrAGluY29ycmVjdCBkYXRhIGNoZWNrAGludmFsaWQgZGlzdGFuY2UgdG9vIGZhciBiYWNrAGhlYWRlciBjcmMgbWlzbWF0Y2gAaW5mAGludmFsaWQgd2luZG93IHNpemUAUmVhZC1vbmx5IGFyY2hpdmUATm90IGEgemlwIGFyY2hpdmUAUmVzb3VyY2Ugc3RpbGwgaW4gdXNlAE1hbGxvYyBmYWlsdXJlAGludmFsaWQgYmxvY2sgdHlwZQBGYWlsdXJlIHRvIGNyZWF0ZSB0ZW1wb3JhcnkgZmlsZQBDYW4ndCBvcGVuIGZpbGUATm8gc3VjaCBmaWxlAFByZW1hdHVyZSBlbmQgb2YgZmlsZQBDYW4ndCByZW1vdmUgZmlsZQBpbnZhbGlkIGxpdGVyYWwvbGVuZ3RoIGNvZGUAaW52YWxpZCBkaXN0YW5jZSBjb2RlAHVua25vd24gY29tcHJlc3Npb24gbWV0aG9kAHN0cmVhbSBlbmQAQ29tcHJlc3NlZCBkYXRhIGludmFsaWQATXVsdGktZGlzayB6aXAgYXJjaGl2ZXMgbm90IHN1cHBvcnRlZABPcGVyYXRpb24gbm90IHN1cHBvcnRlZABFbmNyeXB0aW9uIG1ldGhvZCBub3Qgc3VwcG9ydGVkAENvbXByZXNzaW9uIG1ldGhvZCBub3Qgc3VwcG9ydGVkAEVudHJ5IGhhcyBiZWVuIGRlbGV0ZWQAQ29udGFpbmluZyB6aXAgYXJjaGl2ZSB3YXMgY2xvc2VkAENsb3NpbmcgemlwIGFyY2hpdmUgZmFpbGVkAFJlbmFtaW5nIHRlbXBvcmFyeSBmaWxlIGZhaWxlZABFbnRyeSBoYXMgYmVlbiBjaGFuZ2VkAE5vIHBhc3N3b3JkIHByb3ZpZGVkAFdyb25nIHBhc3N3b3JkIHByb3ZpZGVkAFVua25vd24gZXJyb3IgJWQAcmIAcitiAHJ3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CADcAAgAPAAIALwACAB8AAgA/AAIAAIACACCAAgAQgAIAMIACAAiAAgAogAIAGIACADiAAgAEgAIAJIACABSAAgA0gAIADIACACyAAgAcgAIAPIACAAKAAgAigAIAEoACADKAAgAKgAIAKoACABqAAgA6gAIABoACACaAAgAWgAIANoACAA6AAgAugAIAHoACAD6AAgABgAIAIYACABGAAgAxgAIACYACACmAAgAZgAIAOYACAAWAAgAlgAIAFYACADWAAgANgAIALYACAB2AAgA9gAIAA4ACACOAAgATgAIAM4ACAAuAAgArgAIAG4ACADuAAgAHgAIAJ4ACABeAAgA3gAIAD4ACAC+AAgAfgAIAP4ACAABAAgAgQAIAEEACADBAAgAIQAIAKEACABhAAgA4QAIABEACACRAAgAUQAIANEACAAxAAgAsQAIAHEACADxAAgACQAIAIkACABJAAgAyQAIACkACACpAAgAaQAIAOkACAAZAAgAmQAIAFkACADZAAgAOQAIALkACAB5AAgA+QAIAAUACACFAAgARQAIAMUACAAlAAgApQAIAGUACADlAAgAFQAIAJUACABVAAgA1QAIADUACAC1AAgAdQAIAPUACAANAAgAjQAIAE0ACADNAAgALQAIAK0ACABtAAgA7QAIAB0ACACdAAgAXQAIAN0ACAA9AAgAvQAIAH0ACAD9AAgAEwAJABMBCQCTAAkAkwEJAFMACQBTAQkA0wAJANMBCQAzAAkAMwEJALMACQCzAQkAcwAJAHMBCQDzAAkA8wEJAAsACQALAQkAiwAJAIsBCQBLAAkASwEJAMsACQDLAQkAKwAJACsBCQCrAAkAqwEJAGsACQBrAQkA6wAJAOsBCQAbAAkAGwEJAJsACQCbAQkAWwAJAFsBCQDbAAkA2wEJADsACQA7AQkAuwAJALsBCQB7AAkAewEJAPsACQD7AQkABwAJAAcBCQCHAAkAhwEJAEcACQBHAQkAxwAJAMcBCQAnAAkAJwEJAKcACQCnAQkAZwAJAGcBCQDnAAkA5wEJABcACQAXAQkAlwAJAJcBCQBXAAkAVwEJANcACQDXAQkANwAJADcBCQC3AAkAtwEJAHcACQB3AQkA9wAJAPcBCQAPAAkADwEJAI8ACQCPAQkATwAJAE8BCQDPAAkAzwEJAC8ACQAvAQkArwAJAK8BCQBvAAkAbwEJAO8ACQDvAQkAHwAJAB8BCQCfAAkAnwEJAF8ACQBfAQkA3wAJAN8BCQA/AAkAPwEJAL8ACQC/AQkAfwAJAH8BCQD/AAkA/wEJAAAABwBAAAcAIAAHAGAABwAQAAcAUAAHADAABwBwAAcACAAHAEgABwAoAAcAaAAHABgABwBYAAcAOAAHAHgABwAEAAcARAAHACQABwBkAAcAFAAHAFQABwA0AAcAdAAHAAMACACDAAgAQwAIAMMACAAjAAgAowAIAGMACADjAAgAAAAFABAABQAIAAUAGAAFAAQABQAUAAUADAAFABwABQACAAUAEgAFAAoABQAaAAUABgAFABYABQAOAAUAHgAFAAEABQARAAUACQAFABkABQAFAAUAFQAFAA0ABQAdAAUAAwAFABMABQALAAUAGwAFAAcABQAXAAUAQbDqAAtNAQAAAAEAAAABAAAAAQAAAAIAAAACAAAAAgAAAAIAAAADAAAAAwAAAAMAAAADAAAABAAAAAQAAAAEAAAABAAAAAUAAAAFAAAABQAAAAUAQaDrAAtlAQAAAAEAAAACAAAAAgAAAAMAAAADAAAABAAAAAQAAAAFAAAABQAAAAYAAAAGAAAABwAAAAcAAAAIAAAACAAAAAkAAAAJAAAACgAAAAoAAAALAAAACwAAAAwAAAAMAAAADQAAAA0AQdDsAAsjAgAAAAMAAAAHAAAAAAAAABAREgAIBwkGCgULBAwDDQIOAQ8AQYTtAAtpAQAAAAIAAAADAAAABAAAAAUAAAAGAAAABwAAAAgAAAAKAAAADAAAAA4AAAAQAAAAFAAAABgAAAAcAAAAIAAAACgAAAAwAAAAOAAAAEAAAABQAAAAYAAAAHAAAACAAAAAoAAAAMAAAADgAEGE7gALegEAAAACAAAAAwAAAAQAAAAGAAAACAAAAAwAAAAQAAAAGAAAACAAAAAwAAAAQAAAAGAAAACAAAAAwAAAAAABAACAAQAAAAIAAAADAAAABAAAAAYAAAAIAAAADAAAABAAAAAYAAAAIAAAADAAAABAAAAAYAAAMS4yLjExAEGI7wALbQcAAAAEAAQACAAEAAgAAAAEAAUAEAAIAAgAAAAEAAYAIAAgAAgAAAAEAAQAEAAQAAkAAAAIABAAIAAgAAkAAAAIABAAgACAAAkAAAAIACAAgAAAAQkAAAAgAIAAAgEABAkAAAAgAAIBAgEAEAkAQYDwAAulAgMABAAFAAYABwAIAAkACgALAA0ADwARABMAFwAbAB8AIwArADMAOwBDAFMAYwBzAIMAowDDAOMAAgEAAAAAAAAQABAAEAAQABAAEAAQABAAEQARABEAEQASABIAEgASABMAEwATABMAFAAUABQAFAAVABUAFQAVABAATQDKAAAAAQACAAMABAAFAAcACQANABEAGQAhADEAQQBhAIEAwQABAYEBAQIBAwEEAQYBCAEMARABGAEgATABQAFgAAAAABAAEAAQABAAEQARABIAEgATABMAFAAUABUAFQAWABYAFwAXABgAGAAZABkAGgAaABsAGwAcABwAHQAdAEAAQAAQABEAEgAAAAgABwAJAAYACgAFAAsABAAMAAMADQACAA4AAQAPAEGw8gALwRFgBwAAAAhQAAAIEAAUCHMAEgcfAAAIcAAACDAAAAnAABAHCgAACGAAAAggAAAJoAAACAAAAAiAAAAIQAAACeAAEAcGAAAIWAAACBgAAAmQABMHOwAACHgAAAg4AAAJ0AARBxEAAAhoAAAIKAAACbAAAAgIAAAIiAAACEgAAAnwABAHBAAACFQAAAgUABUI4wATBysAAAh0AAAINAAACcgAEQcNAAAIZAAACCQAAAmoAAAIBAAACIQAAAhEAAAJ6AAQBwgAAAhcAAAIHAAACZgAFAdTAAAIfAAACDwAAAnYABIHFwAACGwAAAgsAAAJuAAACAwAAAiMAAAITAAACfgAEAcDAAAIUgAACBIAFQijABMHIwAACHIAAAgyAAAJxAARBwsAAAhiAAAIIgAACaQAAAgCAAAIggAACEIAAAnkABAHBwAACFoAAAgaAAAJlAAUB0MAAAh6AAAIOgAACdQAEgcTAAAIagAACCoAAAm0AAAICgAACIoAAAhKAAAJ9AAQBwUAAAhWAAAIFgBACAAAEwczAAAIdgAACDYAAAnMABEHDwAACGYAAAgmAAAJrAAACAYAAAiGAAAIRgAACewAEAcJAAAIXgAACB4AAAmcABQHYwAACH4AAAg+AAAJ3AASBxsAAAhuAAAILgAACbwAAAgOAAAIjgAACE4AAAn8AGAHAAAACFEAAAgRABUIgwASBx8AAAhxAAAIMQAACcIAEAcKAAAIYQAACCEAAAmiAAAIAQAACIEAAAhBAAAJ4gAQBwYAAAhZAAAIGQAACZIAEwc7AAAIeQAACDkAAAnSABEHEQAACGkAAAgpAAAJsgAACAkAAAiJAAAISQAACfIAEAcEAAAIVQAACBUAEAgCARMHKwAACHUAAAg1AAAJygARBw0AAAhlAAAIJQAACaoAAAgFAAAIhQAACEUAAAnqABAHCAAACF0AAAgdAAAJmgAUB1MAAAh9AAAIPQAACdoAEgcXAAAIbQAACC0AAAm6AAAIDQAACI0AAAhNAAAJ+gAQBwMAAAhTAAAIEwAVCMMAEwcjAAAIcwAACDMAAAnGABEHCwAACGMAAAgjAAAJpgAACAMAAAiDAAAIQwAACeYAEAcHAAAIWwAACBsAAAmWABQHQwAACHsAAAg7AAAJ1gASBxMAAAhrAAAIKwAACbYAAAgLAAAIiwAACEsAAAn2ABAHBQAACFcAAAgXAEAIAAATBzMAAAh3AAAINwAACc4AEQcPAAAIZwAACCcAAAmuAAAIBwAACIcAAAhHAAAJ7gAQBwkAAAhfAAAIHwAACZ4AFAdjAAAIfwAACD8AAAneABIHGwAACG8AAAgvAAAJvgAACA8AAAiPAAAITwAACf4AYAcAAAAIUAAACBAAFAhzABIHHwAACHAAAAgwAAAJwQAQBwoAAAhgAAAIIAAACaEAAAgAAAAIgAAACEAAAAnhABAHBgAACFgAAAgYAAAJkQATBzsAAAh4AAAIOAAACdEAEQcRAAAIaAAACCgAAAmxAAAICAAACIgAAAhIAAAJ8QAQBwQAAAhUAAAIFAAVCOMAEwcrAAAIdAAACDQAAAnJABEHDQAACGQAAAgkAAAJqQAACAQAAAiEAAAIRAAACekAEAcIAAAIXAAACBwAAAmZABQHUwAACHwAAAg8AAAJ2QASBxcAAAhsAAAILAAACbkAAAgMAAAIjAAACEwAAAn5ABAHAwAACFIAAAgSABUIowATByMAAAhyAAAIMgAACcUAEQcLAAAIYgAACCIAAAmlAAAIAgAACIIAAAhCAAAJ5QAQBwcAAAhaAAAIGgAACZUAFAdDAAAIegAACDoAAAnVABIHEwAACGoAAAgqAAAJtQAACAoAAAiKAAAISgAACfUAEAcFAAAIVgAACBYAQAgAABMHMwAACHYAAAg2AAAJzQARBw8AAAhmAAAIJgAACa0AAAgGAAAIhgAACEYAAAntABAHCQAACF4AAAgeAAAJnQAUB2MAAAh+AAAIPgAACd0AEgcbAAAIbgAACC4AAAm9AAAIDgAACI4AAAhOAAAJ/QBgBwAAAAhRAAAIEQAVCIMAEgcfAAAIcQAACDEAAAnDABAHCgAACGEAAAghAAAJowAACAEAAAiBAAAIQQAACeMAEAcGAAAIWQAACBkAAAmTABMHOwAACHkAAAg5AAAJ0wARBxEAAAhpAAAIKQAACbMAAAgJAAAIiQAACEkAAAnzABAHBAAACFUAAAgVABAIAgETBysAAAh1AAAINQAACcsAEQcNAAAIZQAACCUAAAmrAAAIBQAACIUAAAhFAAAJ6wAQBwgAAAhdAAAIHQAACZsAFAdTAAAIfQAACD0AAAnbABIHFwAACG0AAAgtAAAJuwAACA0AAAiNAAAITQAACfsAEAcDAAAIUwAACBMAFQjDABMHIwAACHMAAAgzAAAJxwARBwsAAAhjAAAIIwAACacAAAgDAAAIgwAACEMAAAnnABAHBwAACFsAAAgbAAAJlwAUB0MAAAh7AAAIOwAACdcAEgcTAAAIawAACCsAAAm3AAAICwAACIsAAAhLAAAJ9wAQBwUAAAhXAAAIFwBACAAAEwczAAAIdwAACDcAAAnPABEHDwAACGcAAAgnAAAJrwAACAcAAAiHAAAIRwAACe8AEAcJAAAIXwAACB8AAAmfABQHYwAACH8AAAg/AAAJ3wASBxsAAAhvAAAILwAACb8AAAgPAAAIjwAACE8AAAn/ABAFAQAXBQEBEwURABsFARARBQUAGQUBBBUFQQAdBQFAEAUDABgFAQIUBSEAHAUBIBIFCQAaBQEIFgWBAEAFAAAQBQIAFwWBARMFGQAbBQEYEQUHABkFAQYVBWEAHQUBYBAFBAAYBQEDFAUxABwFATASBQ0AGgUBDBYFwQBABQAAEQAKABEREQAAAAAFAAAAAAAACQAAAAALAAAAAAAAAAARAA8KERERAwoHAAEACQsLAAAJBgsAAAsABhEAAAAREREAQYGEAQshCwAAAAAAAAAAEQAKChEREQAKAAACAAkLAAAACQALAAALAEG7hAELAQwAQceEAQsVDAAAAAAMAAAAAAkMAAAAAAAMAAAMAEH1hAELAQ4AQYGFAQsVDQAAAAQNAAAAAAkOAAAAAAAOAAAOAEGvhQELARAAQbuFAQseDwAAAAAPAAAAAAkQAAAAAAAQAAAQAAASAAAAEhISAEHyhQELDhIAAAASEhIAAAAAAAAJAEGjhgELAQsAQa+GAQsVCgAAAAAKAAAAAAkLAAAAAAALAAALAEHdhgELAQwAQemGAQsnDAAAAAAMAAAAAAkMAAAAAAAMAAAMAAAwMTIzNDU2Nzg5QUJDREVGAEG0hwELARkAQduHAQsF//////8AQaCIAQtXGRJEOwI/LEcUPTMwChsGRktFNw9JDo4XA0AdPGkrNh9KLRwBICUpIQgMFRYiLhA4Pgs0MRhkdHV2L0EJfzkRI0MyQomKiwUEJignDSoeNYwHGkiTE5SVAEGAiQELig5JbGxlZ2FsIGJ5dGUgc2VxdWVuY2UARG9tYWluIGVycm9yAFJlc3VsdCBub3QgcmVwcmVzZW50YWJsZQBOb3QgYSB0dHkAUGVybWlzc2lvbiBkZW5pZWQAT3BlcmF0aW9uIG5vdCBwZXJtaXR0ZWQATm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQBObyBzdWNoIHByb2Nlc3MARmlsZSBleGlzdHMAVmFsdWUgdG9vIGxhcmdlIGZvciBkYXRhIHR5cGUATm8gc3BhY2UgbGVmdCBvbiBkZXZpY2UAT3V0IG9mIG1lbW9yeQBSZXNvdXJjZSBidXN5AEludGVycnVwdGVkIHN5c3RlbSBjYWxsAFJlc291cmNlIHRlbXBvcmFyaWx5IHVuYXZhaWxhYmxlAEludmFsaWQgc2VlawBDcm9zcy1kZXZpY2UgbGluawBSZWFkLW9ubHkgZmlsZSBzeXN0ZW0ARGlyZWN0b3J5IG5vdCBlbXB0eQBDb25uZWN0aW9uIHJlc2V0IGJ5IHBlZXIAT3BlcmF0aW9uIHRpbWVkIG91dABDb25uZWN0aW9uIHJlZnVzZWQASG9zdCBpcyBkb3duAEhvc3QgaXMgdW5yZWFjaGFibGUAQWRkcmVzcyBpbiB1c2UAQnJva2VuIHBpcGUASS9PIGVycm9yAE5vIHN1Y2ggZGV2aWNlIG9yIGFkZHJlc3MAQmxvY2sgZGV2aWNlIHJlcXVpcmVkAE5vIHN1Y2ggZGV2aWNlAE5vdCBhIGRpcmVjdG9yeQBJcyBhIGRpcmVjdG9yeQBUZXh0IGZpbGUgYnVzeQBFeGVjIGZvcm1hdCBlcnJvcgBJbnZhbGlkIGFyZ3VtZW50AEFyZ3VtZW50IGxpc3QgdG9vIGxvbmcAU3ltYm9saWMgbGluayBsb29wAEZpbGVuYW1lIHRvbyBsb25nAFRvbyBtYW55IG9wZW4gZmlsZXMgaW4gc3lzdGVtAE5vIGZpbGUgZGVzY3JpcHRvcnMgYXZhaWxhYmxlAEJhZCBmaWxlIGRlc2NyaXB0b3IATm8gY2hpbGQgcHJvY2VzcwBCYWQgYWRkcmVzcwBGaWxlIHRvbyBsYXJnZQBUb28gbWFueSBsaW5rcwBObyBsb2NrcyBhdmFpbGFibGUAUmVzb3VyY2UgZGVhZGxvY2sgd291bGQgb2NjdXIAU3RhdGUgbm90IHJlY292ZXJhYmxlAFByZXZpb3VzIG93bmVyIGRpZWQAT3BlcmF0aW9uIGNhbmNlbGVkAEZ1bmN0aW9uIG5vdCBpbXBsZW1lbnRlZABObyBtZXNzYWdlIG9mIGRlc2lyZWQgdHlwZQBJZGVudGlmaWVyIHJlbW92ZWQARGV2aWNlIG5vdCBhIHN0cmVhbQBObyBkYXRhIGF2YWlsYWJsZQBEZXZpY2UgdGltZW91dABPdXQgb2Ygc3RyZWFtcyByZXNvdXJjZXMATGluayBoYXMgYmVlbiBzZXZlcmVkAFByb3RvY29sIGVycm9yAEJhZCBtZXNzYWdlAEZpbGUgZGVzY3JpcHRvciBpbiBiYWQgc3RhdGUATm90IGEgc29ja2V0AERlc3RpbmF0aW9uIGFkZHJlc3MgcmVxdWlyZWQATWVzc2FnZSB0b28gbGFyZ2UAUHJvdG9jb2wgd3JvbmcgdHlwZSBmb3Igc29ja2V0AFByb3RvY29sIG5vdCBhdmFpbGFibGUAUHJvdG9jb2wgbm90IHN1cHBvcnRlZABTb2NrZXQgdHlwZSBub3Qgc3VwcG9ydGVkAE5vdCBzdXBwb3J0ZWQAUHJvdG9jb2wgZmFtaWx5IG5vdCBzdXBwb3J0ZWQAQWRkcmVzcyBmYW1pbHkgbm90IHN1cHBvcnRlZCBieSBwcm90b2NvbABBZGRyZXNzIG5vdCBhdmFpbGFibGUATmV0d29yayBpcyBkb3duAE5ldHdvcmsgdW5yZWFjaGFibGUAQ29ubmVjdGlvbiByZXNldCBieSBuZXR3b3JrAENvbm5lY3Rpb24gYWJvcnRlZABObyBidWZmZXIgc3BhY2UgYXZhaWxhYmxlAFNvY2tldCBpcyBjb25uZWN0ZWQAU29ja2V0IG5vdCBjb25uZWN0ZWQAQ2Fubm90IHNlbmQgYWZ0ZXIgc29ja2V0IHNodXRkb3duAE9wZXJhdGlvbiBhbHJlYWR5IGluIHByb2dyZXNzAE9wZXJhdGlvbiBpbiBwcm9ncmVzcwBTdGFsZSBmaWxlIGhhbmRsZQBSZW1vdGUgSS9PIGVycm9yAFF1b3RhIGV4Y2VlZGVkAE5vIG1lZGl1bSBmb3VuZABXcm9uZyBtZWRpdW0gdHlwZQBObyBlcnJvciBpbmZvcm1hdGlvbgBBkJcBC1JQUFAACgAAAAsAAAAMAAAADQAAAA4AAAAPAAAAEAAAABEAAAASAAAACwAAAAwAAAANAAAADgAAAA8AAAAQAAAAEQAAAAEAAAAIAAAAlEsAALRLAEGQmQELAgxQAEHImQELCR8AAADkTAAAAwBB5JkBC4wBLfRRWM+MscBG9rXLKTEDxwRbcDC0Xf0geH+LmthZKVBoSImrp1YDbP+3zYg/1He0K6WjcPG65Kj8QYP92W/hinovLXSWBx8NCV4Ddixw90ClLKdvV0GoqnTfoFhkA0rHxDxTrq9fGAQVseNtKIarDKS/Q/DpUIE5VxZSN/////////////////////8=";y4(Rp)||(Rp=dxe(Rp));function Kxe(t){try{if(t==Rp&&lP)return new Uint8Array(lP);var e=s4(t);if(e)return e;if(aP)return aP(t);throw"sync fetching of the wasm failed: you can preload it to Module['wasmBinary'] manually, or emcc.py will do that for you when generating HTML (but not JS)"}catch(r){Gr(r)}}function Uxe(t,e){var r,i,n;try{n=Kxe(t),i=new WebAssembly.Module(n),r=new WebAssembly.Instance(i,e)}catch(o){var s=o.toString();throw Di("failed to compile wasm module: "+s),(s.includes("imported Memory")||s.includes("memory import"))&&Di("Memory size incompatibility issues may be due to changing INITIAL_MEMORY at runtime to something too large. Use ALLOW_MEMORY_GROWTH to allow any size memory (and also make sure not to set INITIAL_MEMORY at runtime to something smaller than it was at compile time)."),o}return[r,i]}function Gxe(){var t={a:Hxe};function e(n,s){var o=n.exports;oe.asm=o,ew=oe.asm.u,p4(ew.buffer),fP=oe.asm.za,Mxe(oe.asm.v),dP("wasm-instantiate")}if(E4("wasm-instantiate"),oe.instantiateWasm)try{var r=oe.instantiateWasm(t,e);return r}catch(n){return Di("Module.instantiateWasm callback failed with error: "+n),!1}var i=Uxe(Rp,t);return e(i[0]),oe.asm}var ai,ya;function hP(t){for(;t.length>0;){var e=t.shift();if(typeof e=="function"){e(oe);continue}var r=e.func;typeof r=="number"?e.arg===void 0?fP.get(r)():fP.get(r)(e.arg):r(e.arg===void 0?null:e.arg)}}function iw(t,e){var r=new Date(_e[t>>2]*1e3);_e[e>>2]=r.getUTCSeconds(),_e[e+4>>2]=r.getUTCMinutes(),_e[e+8>>2]=r.getUTCHours(),_e[e+12>>2]=r.getUTCDate(),_e[e+16>>2]=r.getUTCMonth(),_e[e+20>>2]=r.getUTCFullYear()-1900,_e[e+24>>2]=r.getUTCDay(),_e[e+36>>2]=0,_e[e+32>>2]=0;var i=Date.UTC(r.getUTCFullYear(),0,1,0,0,0,0),n=(r.getTime()-i)/(1e3*60*60*24)|0;return _e[e+28>>2]=n,iw.GMTString||(iw.GMTString=uP("GMT")),_e[e+40>>2]=iw.GMTString,e}function jxe(t,e){return iw(t,e)}var yt={splitPath:function(t){var e=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return e.exec(t).slice(1)},normalizeArray:function(t,e){for(var r=0,i=t.length-1;i>=0;i--){var n=t[i];n==="."?t.splice(i,1):n===".."?(t.splice(i,1),r++):r&&(t.splice(i,1),r--)}if(e)for(;r;r--)t.unshift("..");return t},normalize:function(t){var e=t.charAt(0)==="/",r=t.substr(-1)==="/";return t=yt.normalizeArray(t.split("/").filter(function(i){return!!i}),!e).join("/"),!t&&!e&&(t="."),t&&r&&(t+="/"),(e?"/":"")+t},dirname:function(t){var e=yt.splitPath(t),r=e[0],i=e[1];return!r&&!i?".":(i&&(i=i.substr(0,i.length-1)),r+i)},basename:function(t){if(t==="/")return"/";t=yt.normalize(t),t=t.replace(/\/$/,"");var e=t.lastIndexOf("/");return e===-1?t:t.substr(e+1)},extname:function(t){return yt.splitPath(t)[3]},join:function(){var t=Array.prototype.slice.call(arguments,0);return yt.normalize(t.join("/"))},join2:function(t,e){return yt.normalize(t+"/"+e)}};function Yxe(){if(typeof crypto=="object"&&typeof crypto.getRandomValues=="function"){var t=new Uint8Array(1);return function(){return crypto.getRandomValues(t),t[0]}}else if(Wl)try{var e=require("crypto");return function(){return e.randomBytes(1)[0]}}catch(r){}return function(){Gr("randomDevice")}}var wa={resolve:function(){for(var t="",e=!1,r=arguments.length-1;r>=-1&&!e;r--){var i=r>=0?arguments[r]:y.cwd();if(typeof i!="string")throw new TypeError("Arguments to path.resolve must be strings");if(!i)return"";t=i+"/"+t,e=i.charAt(0)==="/"}return t=yt.normalizeArray(t.split("/").filter(function(n){return!!n}),!e).join("/"),(e?"/":"")+t||"."},relative:function(t,e){t=wa.resolve(t).substr(1),e=wa.resolve(e).substr(1);function r(c){for(var u=0;u=0&&c[g]==="";g--);return u>g?[]:c.slice(u,g-u+1)}for(var i=r(t.split("/")),n=r(e.split("/")),s=Math.min(i.length,n.length),o=s,a=0;a0?e=i.slice(0,n).toString("utf-8"):e=null}else typeof window!="undefined"&&typeof window.prompt=="function"?(e=window.prompt("Input: "),e!==null&&(e+=` +`)):typeof readline=="function"&&(e=readline(),e!==null&&(e+=` +`));if(!e)return null;t.input=CP(e,!0)}return t.input.shift()},put_char:function(t,e){e===null||e===10?($y(Zu(t.output,0)),t.output=[]):e!=0&&t.output.push(e)},flush:function(t){t.output&&t.output.length>0&&($y(Zu(t.output,0)),t.output=[])}},default_tty1_ops:{put_char:function(t,e){e===null||e===10?(Di(Zu(t.output,0)),t.output=[]):e!=0&&t.output.push(e)},flush:function(t){t.output&&t.output.length>0&&(Di(Zu(t.output,0)),t.output=[])}}};function mP(t){for(var e=mxe(t,65536),r=h4(e);t=e)){var i=1024*1024;e=Math.max(e,r*(r>>0),r!=0&&(e=Math.max(e,256));var n=t.contents;t.contents=new Uint8Array(e),t.usedBytes>0&&t.contents.set(n.subarray(0,t.usedBytes),0)}},resizeFileStorage:function(t,e){if(t.usedBytes!=e)if(e==0)t.contents=null,t.usedBytes=0;else{var r=t.contents;t.contents=new Uint8Array(e),r&&t.contents.set(r.subarray(0,Math.min(e,t.usedBytes))),t.usedBytes=e}},node_ops:{getattr:function(t){var e={};return e.dev=y.isChrdev(t.mode)?t.id:1,e.ino=t.id,e.mode=t.mode,e.nlink=1,e.uid=0,e.gid=0,e.rdev=t.rdev,y.isDir(t.mode)?e.size=4096:y.isFile(t.mode)?e.size=t.usedBytes:y.isLink(t.mode)?e.size=t.link.length:e.size=0,e.atime=new Date(t.timestamp),e.mtime=new Date(t.timestamp),e.ctime=new Date(t.timestamp),e.blksize=4096,e.blocks=Math.ceil(e.size/e.blksize),e},setattr:function(t,e){e.mode!==void 0&&(t.mode=e.mode),e.timestamp!==void 0&&(t.timestamp=e.timestamp),e.size!==void 0&&pt.resizeFileStorage(t,e.size)},lookup:function(t,e){throw y.genericErrors[44]},mknod:function(t,e,r,i){return pt.createNode(t,e,r,i)},rename:function(t,e,r){if(y.isDir(t.mode)){var i;try{i=y.lookupNode(e,r)}catch(s){}if(i)for(var n in i.contents)throw new y.ErrnoError(55)}delete t.parent.contents[t.name],t.parent.timestamp=Date.now(),t.name=r,e.contents[r]=t,e.timestamp=t.parent.timestamp,t.parent=e},unlink:function(t,e){delete t.contents[e],t.timestamp=Date.now()},rmdir:function(t,e){var r=y.lookupNode(t,e);for(var i in r.contents)throw new y.ErrnoError(55);delete t.contents[e],t.timestamp=Date.now()},readdir:function(t){var e=[".",".."];for(var r in t.contents)!t.contents.hasOwnProperty(r)||e.push(r);return e},symlink:function(t,e,r){var i=pt.createNode(t,e,511|40960,0);return i.link=r,i},readlink:function(t){if(!y.isLink(t.mode))throw new y.ErrnoError(28);return t.link}},stream_ops:{read:function(t,e,r,i,n){var s=t.node.contents;if(n>=t.node.usedBytes)return 0;var o=Math.min(t.node.usedBytes-n,i);if(o>8&&s.subarray)e.set(s.subarray(n,n+o),r);else for(var a=0;a0||i+r>2)}catch(r){throw r.code?new y.ErrnoError(tt.convertNodeCode(r)):r}return e.mode},realPath:function(t){for(var e=[];t.parent!==t;)e.push(t.name),t=t.parent;return e.push(t.mount.opts.root),e.reverse(),yt.join.apply(null,e)},flagsForNode:function(t){t&=~2097152,t&=~2048,t&=~32768,t&=~524288;var e=0;for(var r in tt.flagsForNodeMap)t&r&&(e|=tt.flagsForNodeMap[r],t^=r);if(t)throw new y.ErrnoError(28);return e},node_ops:{getattr:function(t){var e=tt.realPath(t),r;try{r=ft.lstatSync(e)}catch(i){throw i.code?new y.ErrnoError(tt.convertNodeCode(i)):i}return tt.isWindows&&!r.blksize&&(r.blksize=4096),tt.isWindows&&!r.blocks&&(r.blocks=(r.size+r.blksize-1)/r.blksize|0),{dev:r.dev,ino:r.ino,mode:r.mode,nlink:r.nlink,uid:r.uid,gid:r.gid,rdev:r.rdev,size:r.size,atime:r.atime,mtime:r.mtime,ctime:r.ctime,blksize:r.blksize,blocks:r.blocks}},setattr:function(t,e){var r=tt.realPath(t);try{if(e.mode!==void 0&&(ft.chmodSync(r,e.mode),t.mode=e.mode),e.timestamp!==void 0){var i=new Date(e.timestamp);ft.utimesSync(r,i,i)}e.size!==void 0&&ft.truncateSync(r,e.size)}catch(n){throw n.code?new y.ErrnoError(tt.convertNodeCode(n)):n}},lookup:function(t,e){var r=yt.join2(tt.realPath(t),e),i=tt.getMode(r);return tt.createNode(t,e,i)},mknod:function(t,e,r,i){var n=tt.createNode(t,e,r,i),s=tt.realPath(n);try{y.isDir(n.mode)?ft.mkdirSync(s,n.mode):ft.writeFileSync(s,"",{mode:n.mode})}catch(o){throw o.code?new y.ErrnoError(tt.convertNodeCode(o)):o}return n},rename:function(t,e,r){var i=tt.realPath(t),n=yt.join2(tt.realPath(e),r);try{ft.renameSync(i,n)}catch(s){throw s.code?new y.ErrnoError(tt.convertNodeCode(s)):s}t.name=r},unlink:function(t,e){var r=yt.join2(tt.realPath(t),e);try{ft.unlinkSync(r)}catch(i){throw i.code?new y.ErrnoError(tt.convertNodeCode(i)):i}},rmdir:function(t,e){var r=yt.join2(tt.realPath(t),e);try{ft.rmdirSync(r)}catch(i){throw i.code?new y.ErrnoError(tt.convertNodeCode(i)):i}},readdir:function(t){var e=tt.realPath(t);try{return ft.readdirSync(e)}catch(r){throw r.code?new y.ErrnoError(tt.convertNodeCode(r)):r}},symlink:function(t,e,r){var i=yt.join2(tt.realPath(t),e);try{ft.symlinkSync(r,i)}catch(n){throw n.code?new y.ErrnoError(tt.convertNodeCode(n)):n}},readlink:function(t){var e=tt.realPath(t);try{return e=ft.readlinkSync(e),e=EP.relative(EP.resolve(t.mount.opts.root),e),e}catch(r){throw r.code?new y.ErrnoError(tt.convertNodeCode(r)):r}}},stream_ops:{open:function(t){var e=tt.realPath(t.node);try{y.isFile(t.node.mode)&&(t.nfd=ft.openSync(e,tt.flagsForNode(t.flags)))}catch(r){throw r.code?new y.ErrnoError(tt.convertNodeCode(r)):r}},close:function(t){try{y.isFile(t.node.mode)&&t.nfd&&ft.closeSync(t.nfd)}catch(e){throw e.code?new y.ErrnoError(tt.convertNodeCode(e)):e}},read:function(t,e,r,i,n){if(i===0)return 0;try{return ft.readSync(t.nfd,tt.bufferFrom(e.buffer),r,i,n)}catch(s){throw new y.ErrnoError(tt.convertNodeCode(s))}},write:function(t,e,r,i,n){try{return ft.writeSync(t.nfd,tt.bufferFrom(e.buffer),r,i,n)}catch(s){throw new y.ErrnoError(tt.convertNodeCode(s))}},llseek:function(t,e,r){var i=e;if(r===1)i+=t.position;else if(r===2&&y.isFile(t.node.mode))try{var n=ft.fstatSync(t.nfd);i+=n.size}catch(s){throw new y.ErrnoError(tt.convertNodeCode(s))}if(i<0)throw new y.ErrnoError(28);return i},mmap:function(t,e,r,i,n,s){if(e!==0)throw new y.ErrnoError(28);if(!y.isFile(t.node.mode))throw new y.ErrnoError(43);var o=mP(r);return tt.stream_ops.read(t,Zi,o,r,i),{ptr:o,allocated:!0}},msync:function(t,e,r,i,n){if(!y.isFile(t.node.mode))throw new y.ErrnoError(43);if(n&2)return 0;var s=tt.stream_ops.write(t,e,0,i,r,!1);return 0}}},w4={lookupPath:function(t){return{path:t,node:{mode:tt.getMode(t)}}},createStandardStreams:function(){y.streams[0]={fd:0,nfd:0,position:0,path:"",flags:0,tty:!0,seekable:!1};for(var t=1;t<3;t++)y.streams[t]={fd:t,nfd:t,position:0,path:"",flags:577,tty:!0,seekable:!1}},cwd:function(){return process.cwd()},chdir:function(){process.chdir.apply(void 0,arguments)},mknod:function(t,e){y.isDir(t)?ft.mkdirSync(t,e):ft.writeFileSync(t,"",{mode:e})},mkdir:function(){ft.mkdirSync.apply(void 0,arguments)},symlink:function(){ft.symlinkSync.apply(void 0,arguments)},rename:function(){ft.renameSync.apply(void 0,arguments)},rmdir:function(){ft.rmdirSync.apply(void 0,arguments)},readdir:function(){ft.readdirSync.apply(void 0,arguments)},unlink:function(){ft.unlinkSync.apply(void 0,arguments)},readlink:function(){return ft.readlinkSync.apply(void 0,arguments)},stat:function(){return ft.statSync.apply(void 0,arguments)},lstat:function(){return ft.lstatSync.apply(void 0,arguments)},chmod:function(){ft.chmodSync.apply(void 0,arguments)},fchmod:function(){ft.fchmodSync.apply(void 0,arguments)},chown:function(){ft.chownSync.apply(void 0,arguments)},fchown:function(){ft.fchownSync.apply(void 0,arguments)},truncate:function(){ft.truncateSync.apply(void 0,arguments)},ftruncate:function(t,e){if(e<0)throw new y.ErrnoError(28);ft.ftruncateSync.apply(void 0,arguments)},utime:function(){ft.utimesSync.apply(void 0,arguments)},open:function(t,e,r,i){typeof e=="string"&&(e=Vl.modeStringToFlags(e));var n=ft.openSync(t,tt.flagsForNode(e),r),s=i!=null?i:y.nextfd(n),o={fd:s,nfd:n,position:0,path:t,flags:e,seekable:!0};return y.streams[s]=o,o},close:function(t){t.stream_ops||ft.closeSync(t.nfd),y.closeStream(t.fd)},llseek:function(t,e,r){if(t.stream_ops)return Vl.llseek(t,e,r);var i=e;if(r===1)i+=t.position;else if(r===2)i+=ft.fstatSync(t.nfd).size;else if(r!==0)throw new y.ErrnoError(eg.EINVAL);if(i<0)throw new y.ErrnoError(eg.EINVAL);return t.position=i,i},read:function(t,e,r,i,n){if(t.stream_ops)return Vl.read(t,e,r,i,n);var s=typeof n!="undefined";!s&&t.seekable&&(n=t.position);var o=ft.readSync(t.nfd,tt.bufferFrom(e.buffer),r,i,n);return s||(t.position+=o),o},write:function(t,e,r,i,n){if(t.stream_ops)return Vl.write(t,e,r,i,n);t.flags&+"1024"&&y.llseek(t,0,+"2");var s=typeof n!="undefined";!s&&t.seekable&&(n=t.position);var o=ft.writeSync(t.nfd,tt.bufferFrom(e.buffer),r,i,n);return s||(t.position+=o),o},allocate:function(){throw new y.ErrnoError(eg.EOPNOTSUPP)},mmap:function(t,e,r,i,n,s){if(t.stream_ops)return Vl.mmap(t,e,r,i,n,s);if(e!==0)throw new y.ErrnoError(28);var o=mP(r);return y.read(t,Zi,o,r,i),{ptr:o,allocated:!0}},msync:function(t,e,r,i,n){return t.stream_ops?Vl.msync(t,e,r,i,n):(n&2||y.write(t,e,0,i,r),0)},munmap:function(){return 0},ioctl:function(){throw new y.ErrnoError(eg.ENOTTY)}},y={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,lookupPath:function(t,e){if(t=wa.resolve(y.cwd(),t),e=e||{},!t)return{path:"",node:null};var r={follow_mount:!0,recurse_count:0};for(var i in r)e[i]===void 0&&(e[i]=r[i]);if(e.recurse_count>8)throw new y.ErrnoError(32);for(var n=yt.normalizeArray(t.split("/").filter(function(f){return!!f}),!1),s=y.root,o="/",a=0;a40)throw new y.ErrnoError(32)}}return{path:o,node:s}},getPath:function(t){for(var e;;){if(y.isRoot(t)){var r=t.mount.mountpoint;return e?r[r.length-1]!=="/"?r+"/"+e:r+e:r}e=e?t.name+"/"+e:t.name,t=t.parent}},hashName:function(t,e){for(var r=0,i=0;i>>0)%y.nameTable.length},hashAddNode:function(t){var e=y.hashName(t.parent.id,t.name);t.name_next=y.nameTable[e],y.nameTable[e]=t},hashRemoveNode:function(t){var e=y.hashName(t.parent.id,t.name);if(y.nameTable[e]===t)y.nameTable[e]=t.name_next;else for(var r=y.nameTable[e];r;){if(r.name_next===t){r.name_next=t.name_next;break}r=r.name_next}},lookupNode:function(t,e){var r=y.mayLookup(t);if(r)throw new y.ErrnoError(r,t);for(var i=y.hashName(t.id,e),n=y.nameTable[i];n;n=n.name_next){var s=n.name;if(n.parent.id===t.id&&s===e)return n}return y.lookup(t,e)},createNode:function(t,e,r,i){var n=new y.FSNode(t,e,r,i);return y.hashAddNode(n),n},destroyNode:function(t){y.hashRemoveNode(t)},isRoot:function(t){return t===t.parent},isMountpoint:function(t){return!!t.mounted},isFile:function(t){return(t&61440)==32768},isDir:function(t){return(t&61440)==16384},isLink:function(t){return(t&61440)==40960},isChrdev:function(t){return(t&61440)==8192},isBlkdev:function(t){return(t&61440)==24576},isFIFO:function(t){return(t&61440)==4096},isSocket:function(t){return(t&49152)==49152},flagModes:{r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090},modeStringToFlags:function(t){var e=y.flagModes[t];if(typeof e=="undefined")throw new Error("Unknown file open mode: "+t);return e},flagsToPermissionString:function(t){var e=["r","w","rw"][t&3];return t&512&&(e+="w"),e},nodePermissions:function(t,e){return y.ignorePermissions?0:e.includes("r")&&!(t.mode&292)||e.includes("w")&&!(t.mode&146)||e.includes("x")&&!(t.mode&73)?2:0},mayLookup:function(t){var e=y.nodePermissions(t,"x");return e||(t.node_ops.lookup?0:2)},mayCreate:function(t,e){try{var r=y.lookupNode(t,e);return 20}catch(i){}return y.nodePermissions(t,"wx")},mayDelete:function(t,e,r){var i;try{i=y.lookupNode(t,e)}catch(s){return s.errno}var n=y.nodePermissions(t,"wx");if(n)return n;if(r){if(!y.isDir(i.mode))return 54;if(y.isRoot(i)||y.getPath(i)===y.cwd())return 10}else if(y.isDir(i.mode))return 31;return 0},mayOpen:function(t,e){return t?y.isLink(t.mode)?32:y.isDir(t.mode)&&(y.flagsToPermissionString(e)!=="r"||e&512)?31:y.nodePermissions(t,y.flagsToPermissionString(e)):44},MAX_OPEN_FDS:4096,nextfd:function(t,e){t=t||0,e=e||y.MAX_OPEN_FDS;for(var r=t;r<=e;r++)if(!y.streams[r])return r;throw new y.ErrnoError(33)},getStream:function(t){return y.streams[t]},createStream:function(t,e,r){y.FSStream||(y.FSStream=function(){},y.FSStream.prototype={object:{get:function(){return this.node},set:function(o){this.node=o}},isRead:{get:function(){return(this.flags&2097155)!=1}},isWrite:{get:function(){return(this.flags&2097155)!=0}},isAppend:{get:function(){return this.flags&1024}}});var i=new y.FSStream;for(var n in t)i[n]=t[n];t=i;var s=y.nextfd(e,r);return t.fd=s,y.streams[s]=t,t},closeStream:function(t){y.streams[t]=null},chrdev_stream_ops:{open:function(t){var e=y.getDevice(t.node.rdev);t.stream_ops=e.stream_ops,t.stream_ops.open&&t.stream_ops.open(t)},llseek:function(){throw new y.ErrnoError(70)}},major:function(t){return t>>8},minor:function(t){return t&255},makedev:function(t,e){return t<<8|e},registerDevice:function(t,e){y.devices[t]={stream_ops:e}},getDevice:function(t){return y.devices[t]},getMounts:function(t){for(var e=[],r=[t];r.length;){var i=r.pop();e.push(i),r.push.apply(r,i.mounts)}return e},syncfs:function(t,e){typeof t=="function"&&(e=t,t=!1),y.syncFSRequests++,y.syncFSRequests>1&&Di("warning: "+y.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work");var r=y.getMounts(y.root.mount),i=0;function n(o){return y.syncFSRequests--,e(o)}function s(o){if(o)return s.errored?void 0:(s.errored=!0,n(o));++i>=r.length&&n(null)}r.forEach(function(o){if(!o.type.syncfs)return s(null);o.type.syncfs(o,t,s)})},mount:function(t,e,r){var i=r==="/",n=!r,s;if(i&&y.root)throw new y.ErrnoError(10);if(!i&&!n){var o=y.lookupPath(r,{follow_mount:!1});if(r=o.path,s=o.node,y.isMountpoint(s))throw new y.ErrnoError(10);if(!y.isDir(s.mode))throw new y.ErrnoError(54)}var a={type:t,opts:e,mountpoint:r,mounts:[]},l=t.mount(a);return l.mount=a,a.root=l,i?y.root=l:s&&(s.mounted=a,s.mount&&s.mount.mounts.push(a)),l},unmount:function(t){var e=y.lookupPath(t,{follow_mount:!1});if(!y.isMountpoint(e.node))throw new y.ErrnoError(28);var r=e.node,i=r.mounted,n=y.getMounts(i);Object.keys(y.nameTable).forEach(function(o){for(var a=y.nameTable[o];a;){var l=a.name_next;n.includes(a.mount)&&y.destroyNode(a),a=l}}),r.mounted=null;var s=r.mount.mounts.indexOf(i);r.mount.mounts.splice(s,1)},lookup:function(t,e){return t.node_ops.lookup(t,e)},mknod:function(t,e,r){var i=y.lookupPath(t,{parent:!0}),n=i.node,s=yt.basename(t);if(!s||s==="."||s==="..")throw new y.ErrnoError(28);var o=y.mayCreate(n,s);if(o)throw new y.ErrnoError(o);if(!n.node_ops.mknod)throw new y.ErrnoError(63);return n.node_ops.mknod(n,s,e,r)},create:function(t,e){return e=e!==void 0?e:438,e&=4095,e|=32768,y.mknod(t,e,0)},mkdir:function(t,e){return e=e!==void 0?e:511,e&=511|512,e|=16384,y.mknod(t,e,0)},mkdirTree:function(t,e){for(var r=t.split("/"),i="",n=0;nthis.length-1||f<0)){var h=f%this.chunkSize,p=f/this.chunkSize|0;return this.getter(p)[h]}},s.prototype.setDataGetter=function(f){this.getter=f},s.prototype.cacheLength=function(){var f=new XMLHttpRequest;if(f.open("HEAD",r,!1),f.send(null),!(f.status>=200&&f.status<300||f.status===304))throw new Error("Couldn't load "+r+". Status: "+f.status);var h=Number(f.getResponseHeader("Content-length")),p,d=(p=f.getResponseHeader("Accept-Ranges"))&&p==="bytes",m=(p=f.getResponseHeader("Content-Encoding"))&&p==="gzip",I=1024*1024;d||(I=h);var B=function(R,H){if(R>H)throw new Error("invalid range ("+R+", "+H+") or no bytes requested!");if(H>h-1)throw new Error("only "+h+" bytes available! programmer error!");var L=new XMLHttpRequest;if(L.open("GET",r,!1),h!==I&&L.setRequestHeader("Range","bytes="+R+"-"+H),typeof Uint8Array!="undefined"&&(L.responseType="arraybuffer"),L.overrideMimeType&&L.overrideMimeType("text/plain; charset=x-user-defined"),L.send(null),!(L.status>=200&&L.status<300||L.status===304))throw new Error("Couldn't load "+r+". Status: "+L.status);return L.response!==void 0?new Uint8Array(L.response||[]):CP(L.responseText||"",!0)},b=this;b.setDataGetter(function(R){var H=R*I,L=(R+1)*I-1;if(L=Math.min(L,h-1),typeof b.chunks[R]=="undefined"&&(b.chunks[R]=B(H,L)),typeof b.chunks[R]=="undefined")throw new Error("doXHR failed!");return b.chunks[R]}),(m||!h)&&(I=h=1,h=this.getter(0).length,I=h,$y("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=h,this._chunkSize=I,this.lengthKnown=!0},typeof XMLHttpRequest!="undefined"){if(!i4)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var o=new s;Object.defineProperties(o,{length:{get:function(){return this.lengthKnown||this.cacheLength(),this._length}},chunkSize:{get:function(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}});var a={isDevice:!1,contents:o}}else var a={isDevice:!1,url:r};var l=y.createFile(t,e,a,i,n);a.contents?l.contents=a.contents:a.url&&(l.contents=null,l.url=a.url),Object.defineProperties(l,{usedBytes:{get:function(){return this.contents.length}}});var c={},u=Object.keys(l.stream_ops);return u.forEach(function(g){var f=l.stream_ops[g];c[g]=function(){return y.forceLoadFile(l),f.apply(null,arguments)}}),c.read=function(f,h,p,d,m){y.forceLoadFile(l);var I=f.node.contents;if(m>=I.length)return 0;var B=Math.min(I.length-m,d);if(I.slice)for(var b=0;b>2]=i.dev,_e[r+4>>2]=0,_e[r+8>>2]=i.ino,_e[r+12>>2]=i.mode,_e[r+16>>2]=i.nlink,_e[r+20>>2]=i.uid,_e[r+24>>2]=i.gid,_e[r+28>>2]=i.rdev,_e[r+32>>2]=0,ya=[i.size>>>0,(ai=i.size,+Math.abs(ai)>=1?ai>0?(Math.min(+Math.floor(ai/4294967296),4294967295)|0)>>>0:~~+Math.ceil((ai-+(~~ai>>>0))/4294967296)>>>0:0)],_e[r+40>>2]=ya[0],_e[r+44>>2]=ya[1],_e[r+48>>2]=4096,_e[r+52>>2]=i.blocks,_e[r+56>>2]=i.atime.getTime()/1e3|0,_e[r+60>>2]=0,_e[r+64>>2]=i.mtime.getTime()/1e3|0,_e[r+68>>2]=0,_e[r+72>>2]=i.ctime.getTime()/1e3|0,_e[r+76>>2]=0,ya=[i.ino>>>0,(ai=i.ino,+Math.abs(ai)>=1?ai>0?(Math.min(+Math.floor(ai/4294967296),4294967295)|0)>>>0:~~+Math.ceil((ai-+(~~ai>>>0))/4294967296)>>>0:0)],_e[r+80>>2]=ya[0],_e[r+84>>2]=ya[1],0},doMsync:function(t,e,r,i,n){var s=$u.slice(t,t+r);y.msync(e,s,n,r,i)},doMkdir:function(t,e){return t=yt.normalize(t),t[t.length-1]==="/"&&(t=t.substr(0,t.length-1)),y.mkdir(t,e,0),0},doMknod:function(t,e,r){switch(e&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-28}return y.mknod(t,e,r),0},doReadlink:function(t,e,r){if(r<=0)return-28;var i=y.readlink(t),n=Math.min(r,rw(i)),s=Zi[e+n];return u4(i,e,r+1),Zi[e+n]=s,n},doAccess:function(t,e){if(e&~7)return-28;var r,i=y.lookupPath(t,{follow:!0});if(r=i.node,!r)return-44;var n="";return e&4&&(n+="r"),e&2&&(n+="w"),e&1&&(n+="x"),n&&y.nodePermissions(r,n)?-2:0},doDup:function(t,e,r){var i=y.getStream(r);return i&&y.close(i),y.open(t,e,0,r,r).fd},doReadv:function(t,e,r,i){for(var n=0,s=0;s>2],a=_e[e+(s*8+4)>>2],l=y.read(t,Zi,o,a,i);if(l<0)return-1;if(n+=l,l>2],a=_e[e+(s*8+4)>>2],l=y.write(t,Zi,o,a,i);if(l<0)return-1;n+=l}return n},varargs:void 0,get:function(){Ot.varargs+=4;var t=_e[Ot.varargs-4>>2];return t},getStr:function(t){var e=c4(t);return e},getStreamFromFD:function(t){var e=y.getStream(t);if(!e)throw new y.ErrnoError(8);return e},get64:function(t,e){return t}};function qxe(t,e){try{return t=Ot.getStr(t),y.chmod(t,e),0}catch(r){return(typeof y=="undefined"||!(r instanceof y.ErrnoError))&&Gr(r),-r.errno}}function Wxe(t){return _e[Jxe()>>2]=t,t}function zxe(t,e,r){Ot.varargs=r;try{var i=Ot.getStreamFromFD(t);switch(e){case 0:{var n=Ot.get();if(n<0)return-28;var s;return s=y.open(i.path,i.flags,0,n),s.fd}case 1:case 2:return 0;case 3:return i.flags;case 4:{var n=Ot.get();return i.flags|=n,0}case 12:{var n=Ot.get(),o=0;return cP[n+o>>1]=2,0}case 13:case 14:return 0;case 16:case 8:return-28;case 9:return Wxe(28),-1;default:return-28}}catch(a){return(typeof y=="undefined"||!(a instanceof y.ErrnoError))&&Gr(a),-a.errno}}function Vxe(t,e){try{var r=Ot.getStreamFromFD(t);return Ot.doStat(y.stat,r.path,e)}catch(i){return(typeof y=="undefined"||!(i instanceof y.ErrnoError))&&Gr(i),-i.errno}}function _xe(t,e,r){Ot.varargs=r;try{var i=Ot.getStreamFromFD(t);switch(e){case 21509:case 21505:return i.tty?0:-59;case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:return i.tty?0:-59;case 21519:{if(!i.tty)return-59;var n=Ot.get();return _e[n>>2]=0,0}case 21520:return i.tty?-28:-59;case 21531:{var n=Ot.get();return y.ioctl(i,e,n)}case 21523:return i.tty?0:-59;case 21524:return i.tty?0:-59;default:Gr("bad ioctl syscall "+e)}}catch(s){return(typeof y=="undefined"||!(s instanceof y.ErrnoError))&&Gr(s),-s.errno}}function Xxe(t,e,r){Ot.varargs=r;try{var i=Ot.getStr(t),n=r?Ot.get():0,s=y.open(i,e,n);return s.fd}catch(o){return(typeof y=="undefined"||!(o instanceof y.ErrnoError))&&Gr(o),-o.errno}}function Zxe(t,e){try{return t=Ot.getStr(t),e=Ot.getStr(e),y.rename(t,e),0}catch(r){return(typeof y=="undefined"||!(r instanceof y.ErrnoError))&&Gr(r),-r.errno}}function $xe(t){try{return t=Ot.getStr(t),y.rmdir(t),0}catch(e){return(typeof y=="undefined"||!(e instanceof y.ErrnoError))&&Gr(e),-e.errno}}function eke(t,e){try{return t=Ot.getStr(t),Ot.doStat(y.stat,t,e)}catch(r){return(typeof y=="undefined"||!(r instanceof y.ErrnoError))&&Gr(r),-r.errno}}function tke(t){try{return t=Ot.getStr(t),y.unlink(t),0}catch(e){return(typeof y=="undefined"||!(e instanceof y.ErrnoError))&&Gr(e),-e.errno}}function rke(t,e,r){$u.copyWithin(t,e,e+r)}function ike(t){try{return ew.grow(t-gP.byteLength+65535>>>16),p4(ew.buffer),1}catch(e){}}function nke(t){var e=$u.length;t=t>>>0;var r=2147483648;if(t>r)return!1;for(var i=1;i<=4;i*=2){var n=e*(1+.2/i);n=Math.min(n,t+100663296);var s=Math.min(r,xxe(Math.max(t,n),65536)),o=ike(s);if(o)return!0}return!1}function ske(t){try{var e=Ot.getStreamFromFD(t);return y.close(e),0}catch(r){return(typeof y=="undefined"||!(r instanceof y.ErrnoError))&&Gr(r),r.errno}}function oke(t,e){try{var r=Ot.getStreamFromFD(t),i=r.tty?2:y.isDir(r.mode)?3:y.isLink(r.mode)?7:4;return Zi[e>>0]=i,0}catch(n){return(typeof y=="undefined"||!(n instanceof y.ErrnoError))&&Gr(n),n.errno}}function ake(t,e,r,i){try{var n=Ot.getStreamFromFD(t),s=Ot.doReadv(n,e,r);return _e[i>>2]=s,0}catch(o){return(typeof y=="undefined"||!(o instanceof y.ErrnoError))&&Gr(o),o.errno}}function Ake(t,e,r,i,n){try{var s=Ot.getStreamFromFD(t),o=4294967296,a=r*o+(e>>>0),l=9007199254740992;return a<=-l||a>=l?-61:(y.llseek(s,a,i),ya=[s.position>>>0,(ai=s.position,+Math.abs(ai)>=1?ai>0?(Math.min(+Math.floor(ai/4294967296),4294967295)|0)>>>0:~~+Math.ceil((ai-+(~~ai>>>0))/4294967296)>>>0:0)],_e[n>>2]=ya[0],_e[n+4>>2]=ya[1],s.getdents&&a===0&&i===0&&(s.getdents=null),0)}catch(c){return(typeof y=="undefined"||!(c instanceof y.ErrnoError))&&Gr(c),c.errno}}function lke(t,e,r,i){try{var n=Ot.getStreamFromFD(t),s=Ot.doWritev(n,e,r);return _e[i>>2]=s,0}catch(o){return(typeof y=="undefined"||!(o instanceof y.ErrnoError))&&Gr(o),o.errno}}function cke(t){Ixe(t)}function uke(t){var e=Date.now()/1e3|0;return t&&(_e[t>>2]=e),e}function IP(){if(IP.called)return;IP.called=!0;var t=new Date().getFullYear(),e=new Date(t,0,1),r=new Date(t,6,1),i=e.getTimezoneOffset(),n=r.getTimezoneOffset(),s=Math.max(i,n);_e[fke()>>2]=s*60,_e[gke()>>2]=Number(i!=n);function o(g){var f=g.toTimeString().match(/\(([A-Za-z ]+)\)$/);return f?f[1]:"GMT"}var a=o(e),l=o(r),c=uP(a),u=uP(l);n>2]=c,_e[nw()+4>>2]=u):(_e[nw()>>2]=u,_e[nw()+4>>2]=c)}function hke(t){IP();var e=Date.UTC(_e[t+20>>2]+1900,_e[t+16>>2],_e[t+12>>2],_e[t+8>>2],_e[t+4>>2],_e[t>>2],0),r=new Date(e);_e[t+24>>2]=r.getUTCDay();var i=Date.UTC(r.getUTCFullYear(),0,1,0,0,0,0),n=(r.getTime()-i)/(1e3*60*60*24)|0;return _e[t+28>>2]=n,r.getTime()/1e3|0}var B4=function(t,e,r,i){t||(t=this),this.parent=t,this.mount=t.mount,this.mounted=null,this.id=y.nextInode++,this.name=e,this.mode=r,this.node_ops={},this.stream_ops={},this.rdev=i},sw=292|73,ow=146;Object.defineProperties(B4.prototype,{read:{get:function(){return(this.mode&sw)===sw},set:function(t){t?this.mode|=sw:this.mode&=~sw}},write:{get:function(){return(this.mode&ow)===ow},set:function(t){t?this.mode|=ow:this.mode&=~ow}},isFolder:{get:function(){return y.isDir(this.mode)}},isDevice:{get:function(){return y.isChrdev(this.mode)}}});y.FSNode=B4;y.staticInit();Wl&&(ft=e4,EP=require("path"),tt.staticInit());var ft,EP;if(Wl){Q4=function(t){return function(){try{return t.apply(this,arguments)}catch(e){throw e.code?new y.ErrnoError(eg[e.code]):e}}},Vl=Object.assign({},y);for(yP in w4)y[yP]=Q4(w4[yP])}else throw new Error("NODERAWFS is currently only supported on Node.js environment.");var Q4,Vl,yP;function CP(t,e,r){var i=r>0?r:rw(t)+1,n=new Array(i),s=tw(t,n,0,n.length);return e&&(n.length=s),n}var pke=typeof atob=="function"?atob:function(t){var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",r="",i,n,s,o,a,l,c,u=0;t=t.replace(/[^A-Za-z0-9\+\/\=]/g,"");do o=e.indexOf(t.charAt(u++)),a=e.indexOf(t.charAt(u++)),l=e.indexOf(t.charAt(u++)),c=e.indexOf(t.charAt(u++)),i=o<<2|a>>4,n=(a&15)<<4|l>>2,s=(l&3)<<6|c,r=r+String.fromCharCode(i),l!==64&&(r=r+String.fromCharCode(n)),c!==64&&(r=r+String.fromCharCode(s));while(u0||(Fxe(),zl>0))return;function e(){aw||(aw=!0,oe.calledRun=!0,!A4&&(Nxe(),oe.onRuntimeInitialized&&oe.onRuntimeInitialized(),Txe()))}oe.setStatus?(oe.setStatus("Running..."),setTimeout(function(){setTimeout(function(){oe.setStatus("")},1),e()},1)):e()}oe.run=wP;if(oe.preInit)for(typeof oe.preInit=="function"&&(oe.preInit=[oe.preInit]);oe.preInit.length>0;)oe.preInit.pop()();wP()});var x4=E((Dot,S4)=>{"use strict";function Cke(t,e){function r(){this.constructor=t}r.prototype=e.prototype,t.prototype=new r}function _l(t,e,r,i){this.message=t,this.expected=e,this.found=r,this.location=i,this.name="SyntaxError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,_l)}Cke(_l,Error);_l.buildMessage=function(t,e){var r={literal:function(c){return'"'+n(c.text)+'"'},class:function(c){var u="",g;for(g=0;g0){for(g=1,f=1;g>",ee=At(">>",!1),Ue=">&",Oe=At(">&",!1),vt=">",dt=At(">",!1),ri="<<<",ii=At("<<<",!1),an="<&",yr=At("<&",!1),Ki="<",Qi=At("<",!1),Go=function(C){return{type:"argument",segments:[].concat(...C)}},wr=function(C){return C},Ui="'",ws=At("'",!1),Tf=function(C){return[{type:"text",text:C}]},Mf='"',Rm=At('"',!1),Fm=function(C){return C},Nm=function(C){return{type:"arithmetic",arithmetic:C,quoted:!0}},DQ=function(C){return{type:"shell",shell:C,quoted:!0}},RQ=function(C){return _(P({type:"variable"},C),{quoted:!0})},Of=function(C){return{type:"text",text:C}},FQ=function(C){return{type:"arithmetic",arithmetic:C,quoted:!1}},NQ=function(C){return{type:"shell",shell:C,quoted:!1}},Lm=function(C){return _(P({type:"variable"},C),{quoted:!1})},LQ=function(C){return{type:"glob",pattern:C}},Va="\\",jo=At("\\",!1),Tm=/^[\\']/,Mm=Qs(["\\","'"],!1,!1),te=function(C){return C},Om=/^[^']/,Km=Qs(["'"],!0,!1),il=function(C){return C.join("")},Um=/^[\\$"]/,Hm=Qs(["\\","$",'"'],!1,!1),Kf=/^[^$"]/,Gm=Qs(["$",'"'],!0,!1),jm="\\0",TQ=At("\\0",!1),MQ=function(){return"\0"},Ym="\\a",qm=At("\\a",!1),Jm=function(){return"a"},Wm="\\b",zm=At("\\b",!1),Vm=function(){return"\b"},Uf="\\e",OQ=At("\\e",!1),KQ=function(){return""},_m="\\f",UQ=At("\\f",!1),HQ=function(){return"\f"},O="\\n",ht=At("\\n",!1),Vc=function(){return` +`},xn="\\r",Hf=At("\\r",!1),Ye=function(){return"\r"},nl="\\t",Xm=At("\\t",!1),MM=function(){return" "},GQ="\\v",OM=At("\\v",!1),fr=function(){return"\v"},Bs="\\x",jQ=At("\\x",!1),Zm=function(C){return String.fromCharCode(parseInt(C,16))},Yo="\\u",$m=At("\\u",!1),_a="\\U",et=At("\\U",!1),YQ=function(C){return String.fromCodePoint(parseInt(C,16))},eE=/^[0-9a-fA-f]/,tE=Qs([["0","9"],["a","f"],["A","f"]],!1,!1),Xa=Cfe(),sl="-",ol=At("-",!1),al="+",qo=At("+",!1),Al=".",qQ=At(".",!1),rE=function(C,Q,k){return{type:"number",value:(C==="-"?-1:1)*parseFloat(Q.join("")+"."+k.join(""))}},iE=function(C,Q){return{type:"number",value:(C==="-"?-1:1)*parseInt(Q.join(""))}},JQ=function(C){return P({type:"variable"},C)},ll=function(C){return{type:"variable",name:C}},WQ=function(C){return C},nE="*",Gf=At("*",!1),_c="/",jf=At("/",!1),sE=function(C,Q,k){return{type:Q==="*"?"multiplication":"division",right:k}},cl=function(C,Q){return Q.reduce((k,N)=>P({left:k},N),C)},oE=function(C,Q,k){return{type:Q==="+"?"addition":"subtraction",right:k}},Yf="$((",Xc=At("$((",!1),xr="))",KM=At("))",!1),Jo=function(C){return C},Zs="$(",aE=At("$(",!1),Zc=function(C){return C},x="${",U=At("${",!1),le=":-",xe=At(":-",!1),Qe=function(C,Q){return{name:C,defaultValue:Q}},Ge=":-}",ct=At(":-}",!1),sr=function(C){return{name:C,defaultValue:[]}},Wo=function(C){return{name:C}},Afe="$",lfe=At("$",!1),cfe=function(C){return e.isGlobPattern(C)},ufe=function(C){return C},UM=/^[a-zA-Z0-9_]/,HM=Qs([["a","z"],["A","Z"],["0","9"],"_"],!1,!1),GM=function(){return dfe()},jM=/^[$@*?#a-zA-Z0-9_\-]/,YM=Qs(["$","@","*","?","#",["a","z"],["A","Z"],["0","9"],"_","-"],!1,!1),gfe=/^[(){}<>$|&; \t"']/,ffe=Qs(["(",")","{","}","<",">","$","|","&",";"," "," ",'"',"'"],!1,!1),hfe=/^[<>&; \t"']/,pfe=Qs(["<",">","&",";"," "," ",'"',"'"],!1,!1),qM=/^[ \t]/,JM=Qs([" "," "],!1,!1),w=0,Re=0,AE=[{line:1,column:1}],$s=0,zQ=[],we=0,lE;if("startRule"in e){if(!(e.startRule in i))throw new Error(`Can't start parsing from rule "`+e.startRule+'".');n=i[e.startRule]}function dfe(){return t.substring(Re,w)}function P_e(){return qf(Re,w)}function D_e(C,Q){throw Q=Q!==void 0?Q:qf(Re,w),zM([Efe(C)],t.substring(Re,w),Q)}function R_e(C,Q){throw Q=Q!==void 0?Q:qf(Re,w),Ife(C,Q)}function At(C,Q){return{type:"literal",text:C,ignoreCase:Q}}function Qs(C,Q,k){return{type:"class",parts:C,inverted:Q,ignoreCase:k}}function Cfe(){return{type:"any"}}function mfe(){return{type:"end"}}function Efe(C){return{type:"other",description:C}}function WM(C){var Q=AE[C],k;if(Q)return Q;for(k=C-1;!AE[k];)k--;for(Q=AE[k],Q={line:Q.line,column:Q.column};k$s&&($s=w,zQ=[]),zQ.push(C))}function Ife(C,Q){return new _l(C,null,null,Q)}function zM(C,Q,k){return new _l(_l.buildMessage(C,Q),C,Q,k)}function VM(){var C,Q;return C=w,Q=Jf(),Q===r&&(Q=null),Q!==r&&(Re=C,Q=s(Q)),C=Q,C}function Jf(){var C,Q,k,N,Z;if(C=w,Q=VQ(),Q!==r){for(k=[],N=ke();N!==r;)k.push(N),N=ke();k!==r?(N=_M(),N!==r?(Z=yfe(),Z===r&&(Z=null),Z!==r?(Re=C,Q=o(Q,N,Z),C=Q):(w=C,C=r)):(w=C,C=r)):(w=C,C=r)}else w=C,C=r;if(C===r)if(C=w,Q=VQ(),Q!==r){for(k=[],N=ke();N!==r;)k.push(N),N=ke();k!==r?(N=_M(),N===r&&(N=null),N!==r?(Re=C,Q=a(Q,N),C=Q):(w=C,C=r)):(w=C,C=r)}else w=C,C=r;return C}function yfe(){var C,Q,k,N,Z;for(C=w,Q=[],k=ke();k!==r;)Q.push(k),k=ke();if(Q!==r)if(k=Jf(),k!==r){for(N=[],Z=ke();Z!==r;)N.push(Z),Z=ke();N!==r?(Re=C,Q=l(k),C=Q):(w=C,C=r)}else w=C,C=r;else w=C,C=r;return C}function _M(){var C;return t.charCodeAt(w)===59?(C=c,w++):(C=r,we===0&&ve(u)),C===r&&(t.charCodeAt(w)===38?(C=g,w++):(C=r,we===0&&ve(f))),C}function VQ(){var C,Q,k;return C=w,Q=XM(),Q!==r?(k=wfe(),k===r&&(k=null),k!==r?(Re=C,Q=h(Q,k),C=Q):(w=C,C=r)):(w=C,C=r),C}function wfe(){var C,Q,k,N,Z,Ee,ot;for(C=w,Q=[],k=ke();k!==r;)Q.push(k),k=ke();if(Q!==r)if(k=Bfe(),k!==r){for(N=[],Z=ke();Z!==r;)N.push(Z),Z=ke();if(N!==r)if(Z=VQ(),Z!==r){for(Ee=[],ot=ke();ot!==r;)Ee.push(ot),ot=ke();Ee!==r?(Re=C,Q=p(k,Z),C=Q):(w=C,C=r)}else w=C,C=r;else w=C,C=r}else w=C,C=r;else w=C,C=r;return C}function Bfe(){var C;return t.substr(w,2)===d?(C=d,w+=2):(C=r,we===0&&ve(m)),C===r&&(t.substr(w,2)===I?(C=I,w+=2):(C=r,we===0&&ve(B))),C}function XM(){var C,Q,k;return C=w,Q=vfe(),Q!==r?(k=Qfe(),k===r&&(k=null),k!==r?(Re=C,Q=b(Q,k),C=Q):(w=C,C=r)):(w=C,C=r),C}function Qfe(){var C,Q,k,N,Z,Ee,ot;for(C=w,Q=[],k=ke();k!==r;)Q.push(k),k=ke();if(Q!==r)if(k=bfe(),k!==r){for(N=[],Z=ke();Z!==r;)N.push(Z),Z=ke();if(N!==r)if(Z=XM(),Z!==r){for(Ee=[],ot=ke();ot!==r;)Ee.push(ot),ot=ke();Ee!==r?(Re=C,Q=R(k,Z),C=Q):(w=C,C=r)}else w=C,C=r;else w=C,C=r}else w=C,C=r;else w=C,C=r;return C}function bfe(){var C;return t.substr(w,2)===H?(C=H,w+=2):(C=r,we===0&&ve(L)),C===r&&(t.charCodeAt(w)===124?(C=K,w++):(C=r,we===0&&ve(J))),C}function cE(){var C,Q,k,N,Z,Ee;if(C=w,Q=oO(),Q!==r)if(t.charCodeAt(w)===61?(k=ne,w++):(k=r,we===0&&ve(q)),k!==r)if(N=$M(),N!==r){for(Z=[],Ee=ke();Ee!==r;)Z.push(Ee),Ee=ke();Z!==r?(Re=C,Q=A(Q,N),C=Q):(w=C,C=r)}else w=C,C=r;else w=C,C=r;else w=C,C=r;if(C===r)if(C=w,Q=oO(),Q!==r)if(t.charCodeAt(w)===61?(k=ne,w++):(k=r,we===0&&ve(q)),k!==r){for(N=[],Z=ke();Z!==r;)N.push(Z),Z=ke();N!==r?(Re=C,Q=V(Q),C=Q):(w=C,C=r)}else w=C,C=r;else w=C,C=r;return C}function vfe(){var C,Q,k,N,Z,Ee,ot,ut,Tr,ni,Yn;for(C=w,Q=[],k=ke();k!==r;)Q.push(k),k=ke();if(Q!==r)if(t.charCodeAt(w)===40?(k=W,w++):(k=r,we===0&&ve(X)),k!==r){for(N=[],Z=ke();Z!==r;)N.push(Z),Z=ke();if(N!==r)if(Z=Jf(),Z!==r){for(Ee=[],ot=ke();ot!==r;)Ee.push(ot),ot=ke();if(Ee!==r)if(t.charCodeAt(w)===41?(ot=F,w++):(ot=r,we===0&&ve(D)),ot!==r){for(ut=[],Tr=ke();Tr!==r;)ut.push(Tr),Tr=ke();if(ut!==r){for(Tr=[],ni=Wf();ni!==r;)Tr.push(ni),ni=Wf();if(Tr!==r){for(ni=[],Yn=ke();Yn!==r;)ni.push(Yn),Yn=ke();ni!==r?(Re=C,Q=he(Z,Tr),C=Q):(w=C,C=r)}else w=C,C=r}else w=C,C=r}else w=C,C=r;else w=C,C=r}else w=C,C=r;else w=C,C=r}else w=C,C=r;else w=C,C=r;if(C===r){for(C=w,Q=[],k=ke();k!==r;)Q.push(k),k=ke();if(Q!==r)if(t.charCodeAt(w)===123?(k=pe,w++):(k=r,we===0&&ve(Ne)),k!==r){for(N=[],Z=ke();Z!==r;)N.push(Z),Z=ke();if(N!==r)if(Z=Jf(),Z!==r){for(Ee=[],ot=ke();ot!==r;)Ee.push(ot),ot=ke();if(Ee!==r)if(t.charCodeAt(w)===125?(ot=Pe,w++):(ot=r,we===0&&ve(qe)),ot!==r){for(ut=[],Tr=ke();Tr!==r;)ut.push(Tr),Tr=ke();if(ut!==r){for(Tr=[],ni=Wf();ni!==r;)Tr.push(ni),ni=Wf();if(Tr!==r){for(ni=[],Yn=ke();Yn!==r;)ni.push(Yn),Yn=ke();ni!==r?(Re=C,Q=re(Z,Tr),C=Q):(w=C,C=r)}else w=C,C=r}else w=C,C=r}else w=C,C=r;else w=C,C=r}else w=C,C=r;else w=C,C=r}else w=C,C=r;else w=C,C=r;if(C===r){for(C=w,Q=[],k=ke();k!==r;)Q.push(k),k=ke();if(Q!==r){for(k=[],N=cE();N!==r;)k.push(N),N=cE();if(k!==r){for(N=[],Z=ke();Z!==r;)N.push(Z),Z=ke();if(N!==r){if(Z=[],Ee=ZM(),Ee!==r)for(;Ee!==r;)Z.push(Ee),Ee=ZM();else Z=r;if(Z!==r){for(Ee=[],ot=ke();ot!==r;)Ee.push(ot),ot=ke();Ee!==r?(Re=C,Q=se(k,Z),C=Q):(w=C,C=r)}else w=C,C=r}else w=C,C=r}else w=C,C=r}else w=C,C=r;if(C===r){for(C=w,Q=[],k=ke();k!==r;)Q.push(k),k=ke();if(Q!==r){if(k=[],N=cE(),N!==r)for(;N!==r;)k.push(N),N=cE();else k=r;if(k!==r){for(N=[],Z=ke();Z!==r;)N.push(Z),Z=ke();N!==r?(Re=C,Q=be(k),C=Q):(w=C,C=r)}else w=C,C=r}else w=C,C=r}}}return C}function Sfe(){var C,Q,k,N,Z;for(C=w,Q=[],k=ke();k!==r;)Q.push(k),k=ke();if(Q!==r){if(k=[],N=uE(),N!==r)for(;N!==r;)k.push(N),N=uE();else k=r;if(k!==r){for(N=[],Z=ke();Z!==r;)N.push(Z),Z=ke();N!==r?(Re=C,Q=ae(k),C=Q):(w=C,C=r)}else w=C,C=r}else w=C,C=r;return C}function ZM(){var C,Q,k;for(C=w,Q=[],k=ke();k!==r;)Q.push(k),k=ke();if(Q!==r?(k=Wf(),k!==r?(Re=C,Q=Ae(k),C=Q):(w=C,C=r)):(w=C,C=r),C===r){for(C=w,Q=[],k=ke();k!==r;)Q.push(k),k=ke();Q!==r?(k=uE(),k!==r?(Re=C,Q=Ae(k),C=Q):(w=C,C=r)):(w=C,C=r)}return C}function Wf(){var C,Q,k,N,Z;for(C=w,Q=[],k=ke();k!==r;)Q.push(k),k=ke();return Q!==r?(De.test(t.charAt(w))?(k=t.charAt(w),w++):(k=r,we===0&&ve($)),k===r&&(k=null),k!==r?(N=xfe(),N!==r?(Z=uE(),Z!==r?(Re=C,Q=G(k,N,Z),C=Q):(w=C,C=r)):(w=C,C=r)):(w=C,C=r)):(w=C,C=r),C}function xfe(){var C;return t.substr(w,2)===Ce?(C=Ce,w+=2):(C=r,we===0&&ve(ee)),C===r&&(t.substr(w,2)===Ue?(C=Ue,w+=2):(C=r,we===0&&ve(Oe)),C===r&&(t.charCodeAt(w)===62?(C=vt,w++):(C=r,we===0&&ve(dt)),C===r&&(t.substr(w,3)===ri?(C=ri,w+=3):(C=r,we===0&&ve(ii)),C===r&&(t.substr(w,2)===an?(C=an,w+=2):(C=r,we===0&&ve(yr)),C===r&&(t.charCodeAt(w)===60?(C=Ki,w++):(C=r,we===0&&ve(Qi))))))),C}function uE(){var C,Q,k;for(C=w,Q=[],k=ke();k!==r;)Q.push(k),k=ke();return Q!==r?(k=$M(),k!==r?(Re=C,Q=Ae(k),C=Q):(w=C,C=r)):(w=C,C=r),C}function $M(){var C,Q,k;if(C=w,Q=[],k=eO(),k!==r)for(;k!==r;)Q.push(k),k=eO();else Q=r;return Q!==r&&(Re=C,Q=Go(Q)),C=Q,C}function eO(){var C,Q;return C=w,Q=kfe(),Q!==r&&(Re=C,Q=wr(Q)),C=Q,C===r&&(C=w,Q=Pfe(),Q!==r&&(Re=C,Q=wr(Q)),C=Q,C===r&&(C=w,Q=Dfe(),Q!==r&&(Re=C,Q=wr(Q)),C=Q)),C}function kfe(){var C,Q,k,N;return C=w,t.charCodeAt(w)===39?(Q=Ui,w++):(Q=r,we===0&&ve(ws)),Q!==r?(k=Rfe(),k!==r?(t.charCodeAt(w)===39?(N=Ui,w++):(N=r,we===0&&ve(ws)),N!==r?(Re=C,Q=Tf(k),C=Q):(w=C,C=r)):(w=C,C=r)):(w=C,C=r),C}function Pfe(){var C,Q,k,N;if(C=w,t.charCodeAt(w)===34?(Q=Mf,w++):(Q=r,we===0&&ve(Rm)),Q!==r){for(k=[],N=tO();N!==r;)k.push(N),N=tO();k!==r?(t.charCodeAt(w)===34?(N=Mf,w++):(N=r,we===0&&ve(Rm)),N!==r?(Re=C,Q=Fm(k),C=Q):(w=C,C=r)):(w=C,C=r)}else w=C,C=r;return C}function Dfe(){var C,Q,k;if(C=w,Q=[],k=rO(),k!==r)for(;k!==r;)Q.push(k),k=rO();else Q=r;return Q!==r&&(Re=C,Q=Fm(Q)),C=Q,C}function tO(){var C,Q;return C=w,Q=nO(),Q!==r&&(Re=C,Q=Nm(Q)),C=Q,C===r&&(C=w,Q=sO(),Q!==r&&(Re=C,Q=DQ(Q)),C=Q,C===r&&(C=w,Q=ZQ(),Q!==r&&(Re=C,Q=RQ(Q)),C=Q,C===r&&(C=w,Q=Ffe(),Q!==r&&(Re=C,Q=Of(Q)),C=Q))),C}function rO(){var C,Q;return C=w,Q=nO(),Q!==r&&(Re=C,Q=FQ(Q)),C=Q,C===r&&(C=w,Q=sO(),Q!==r&&(Re=C,Q=NQ(Q)),C=Q,C===r&&(C=w,Q=ZQ(),Q!==r&&(Re=C,Q=Lm(Q)),C=Q,C===r&&(C=w,Q=Lfe(),Q!==r&&(Re=C,Q=LQ(Q)),C=Q,C===r&&(C=w,Q=Nfe(),Q!==r&&(Re=C,Q=Of(Q)),C=Q)))),C}function Rfe(){var C,Q,k,N,Z;for(C=w,Q=[],k=gE(),k===r&&(k=fE(),k===r&&(k=w,t.charCodeAt(w)===92?(N=Va,w++):(N=r,we===0&&ve(jo)),N!==r?(Tm.test(t.charAt(w))?(Z=t.charAt(w),w++):(Z=r,we===0&&ve(Mm)),Z!==r?(Re=k,N=te(Z),k=N):(w=k,k=r)):(w=k,k=r),k===r&&(Om.test(t.charAt(w))?(k=t.charAt(w),w++):(k=r,we===0&&ve(Km)))));k!==r;)Q.push(k),k=gE(),k===r&&(k=fE(),k===r&&(k=w,t.charCodeAt(w)===92?(N=Va,w++):(N=r,we===0&&ve(jo)),N!==r?(Tm.test(t.charAt(w))?(Z=t.charAt(w),w++):(Z=r,we===0&&ve(Mm)),Z!==r?(Re=k,N=te(Z),k=N):(w=k,k=r)):(w=k,k=r),k===r&&(Om.test(t.charAt(w))?(k=t.charAt(w),w++):(k=r,we===0&&ve(Km)))));return Q!==r&&(Re=C,Q=il(Q)),C=Q,C}function Ffe(){var C,Q,k,N,Z;if(C=w,Q=[],k=gE(),k===r&&(k=fE(),k===r&&(k=w,t.charCodeAt(w)===92?(N=Va,w++):(N=r,we===0&&ve(jo)),N!==r?(Um.test(t.charAt(w))?(Z=t.charAt(w),w++):(Z=r,we===0&&ve(Hm)),Z!==r?(Re=k,N=te(Z),k=N):(w=k,k=r)):(w=k,k=r),k===r&&(Kf.test(t.charAt(w))?(k=t.charAt(w),w++):(k=r,we===0&&ve(Gm))))),k!==r)for(;k!==r;)Q.push(k),k=gE(),k===r&&(k=fE(),k===r&&(k=w,t.charCodeAt(w)===92?(N=Va,w++):(N=r,we===0&&ve(jo)),N!==r?(Um.test(t.charAt(w))?(Z=t.charAt(w),w++):(Z=r,we===0&&ve(Hm)),Z!==r?(Re=k,N=te(Z),k=N):(w=k,k=r)):(w=k,k=r),k===r&&(Kf.test(t.charAt(w))?(k=t.charAt(w),w++):(k=r,we===0&&ve(Gm)))));else Q=r;return Q!==r&&(Re=C,Q=il(Q)),C=Q,C}function gE(){var C,Q;return C=w,t.substr(w,2)===jm?(Q=jm,w+=2):(Q=r,we===0&&ve(TQ)),Q!==r&&(Re=C,Q=MQ()),C=Q,C===r&&(C=w,t.substr(w,2)===Ym?(Q=Ym,w+=2):(Q=r,we===0&&ve(qm)),Q!==r&&(Re=C,Q=Jm()),C=Q,C===r&&(C=w,t.substr(w,2)===Wm?(Q=Wm,w+=2):(Q=r,we===0&&ve(zm)),Q!==r&&(Re=C,Q=Vm()),C=Q,C===r&&(C=w,t.substr(w,2)===Uf?(Q=Uf,w+=2):(Q=r,we===0&&ve(OQ)),Q!==r&&(Re=C,Q=KQ()),C=Q,C===r&&(C=w,t.substr(w,2)===_m?(Q=_m,w+=2):(Q=r,we===0&&ve(UQ)),Q!==r&&(Re=C,Q=HQ()),C=Q,C===r&&(C=w,t.substr(w,2)===O?(Q=O,w+=2):(Q=r,we===0&&ve(ht)),Q!==r&&(Re=C,Q=Vc()),C=Q,C===r&&(C=w,t.substr(w,2)===xn?(Q=xn,w+=2):(Q=r,we===0&&ve(Hf)),Q!==r&&(Re=C,Q=Ye()),C=Q,C===r&&(C=w,t.substr(w,2)===nl?(Q=nl,w+=2):(Q=r,we===0&&ve(Xm)),Q!==r&&(Re=C,Q=MM()),C=Q,C===r&&(C=w,t.substr(w,2)===GQ?(Q=GQ,w+=2):(Q=r,we===0&&ve(OM)),Q!==r&&(Re=C,Q=fr()),C=Q)))))))),C}function fE(){var C,Q,k,N,Z,Ee,ot,ut,Tr,ni,Yn,$Q;return C=w,t.substr(w,2)===Bs?(Q=Bs,w+=2):(Q=r,we===0&&ve(jQ)),Q!==r?(k=w,N=w,Z=An(),Z!==r?(Ee=An(),Ee!==r?(Z=[Z,Ee],N=Z):(w=N,N=r)):(w=N,N=r),N!==r?k=t.substring(k,w):k=N,k!==r?(Re=C,Q=Zm(k),C=Q):(w=C,C=r)):(w=C,C=r),C===r&&(C=w,t.substr(w,2)===Yo?(Q=Yo,w+=2):(Q=r,we===0&&ve($m)),Q!==r?(k=w,N=w,Z=An(),Z!==r?(Ee=An(),Ee!==r?(ot=An(),ot!==r?(ut=An(),ut!==r?(Z=[Z,Ee,ot,ut],N=Z):(w=N,N=r)):(w=N,N=r)):(w=N,N=r)):(w=N,N=r),N!==r?k=t.substring(k,w):k=N,k!==r?(Re=C,Q=Zm(k),C=Q):(w=C,C=r)):(w=C,C=r),C===r&&(C=w,t.substr(w,2)===_a?(Q=_a,w+=2):(Q=r,we===0&&ve(et)),Q!==r?(k=w,N=w,Z=An(),Z!==r?(Ee=An(),Ee!==r?(ot=An(),ot!==r?(ut=An(),ut!==r?(Tr=An(),Tr!==r?(ni=An(),ni!==r?(Yn=An(),Yn!==r?($Q=An(),$Q!==r?(Z=[Z,Ee,ot,ut,Tr,ni,Yn,$Q],N=Z):(w=N,N=r)):(w=N,N=r)):(w=N,N=r)):(w=N,N=r)):(w=N,N=r)):(w=N,N=r)):(w=N,N=r)):(w=N,N=r),N!==r?k=t.substring(k,w):k=N,k!==r?(Re=C,Q=YQ(k),C=Q):(w=C,C=r)):(w=C,C=r))),C}function An(){var C;return eE.test(t.charAt(w))?(C=t.charAt(w),w++):(C=r,we===0&&ve(tE)),C}function Nfe(){var C,Q,k,N,Z;if(C=w,Q=[],k=w,t.charCodeAt(w)===92?(N=Va,w++):(N=r,we===0&&ve(jo)),N!==r?(t.length>w?(Z=t.charAt(w),w++):(Z=r,we===0&&ve(Xa)),Z!==r?(Re=k,N=te(Z),k=N):(w=k,k=r)):(w=k,k=r),k===r&&(k=w,N=w,we++,Z=aO(),we--,Z===r?N=void 0:(w=N,N=r),N!==r?(t.length>w?(Z=t.charAt(w),w++):(Z=r,we===0&&ve(Xa)),Z!==r?(Re=k,N=te(Z),k=N):(w=k,k=r)):(w=k,k=r)),k!==r)for(;k!==r;)Q.push(k),k=w,t.charCodeAt(w)===92?(N=Va,w++):(N=r,we===0&&ve(jo)),N!==r?(t.length>w?(Z=t.charAt(w),w++):(Z=r,we===0&&ve(Xa)),Z!==r?(Re=k,N=te(Z),k=N):(w=k,k=r)):(w=k,k=r),k===r&&(k=w,N=w,we++,Z=aO(),we--,Z===r?N=void 0:(w=N,N=r),N!==r?(t.length>w?(Z=t.charAt(w),w++):(Z=r,we===0&&ve(Xa)),Z!==r?(Re=k,N=te(Z),k=N):(w=k,k=r)):(w=k,k=r));else Q=r;return Q!==r&&(Re=C,Q=il(Q)),C=Q,C}function _Q(){var C,Q,k,N,Z,Ee;if(C=w,t.charCodeAt(w)===45?(Q=sl,w++):(Q=r,we===0&&ve(ol)),Q===r&&(t.charCodeAt(w)===43?(Q=al,w++):(Q=r,we===0&&ve(qo))),Q===r&&(Q=null),Q!==r){if(k=[],De.test(t.charAt(w))?(N=t.charAt(w),w++):(N=r,we===0&&ve($)),N!==r)for(;N!==r;)k.push(N),De.test(t.charAt(w))?(N=t.charAt(w),w++):(N=r,we===0&&ve($));else k=r;if(k!==r)if(t.charCodeAt(w)===46?(N=Al,w++):(N=r,we===0&&ve(qQ)),N!==r){if(Z=[],De.test(t.charAt(w))?(Ee=t.charAt(w),w++):(Ee=r,we===0&&ve($)),Ee!==r)for(;Ee!==r;)Z.push(Ee),De.test(t.charAt(w))?(Ee=t.charAt(w),w++):(Ee=r,we===0&&ve($));else Z=r;Z!==r?(Re=C,Q=rE(Q,k,Z),C=Q):(w=C,C=r)}else w=C,C=r;else w=C,C=r}else w=C,C=r;if(C===r){if(C=w,t.charCodeAt(w)===45?(Q=sl,w++):(Q=r,we===0&&ve(ol)),Q===r&&(t.charCodeAt(w)===43?(Q=al,w++):(Q=r,we===0&&ve(qo))),Q===r&&(Q=null),Q!==r){if(k=[],De.test(t.charAt(w))?(N=t.charAt(w),w++):(N=r,we===0&&ve($)),N!==r)for(;N!==r;)k.push(N),De.test(t.charAt(w))?(N=t.charAt(w),w++):(N=r,we===0&&ve($));else k=r;k!==r?(Re=C,Q=iE(Q,k),C=Q):(w=C,C=r)}else w=C,C=r;if(C===r&&(C=w,Q=ZQ(),Q!==r&&(Re=C,Q=JQ(Q)),C=Q,C===r&&(C=w,Q=zf(),Q!==r&&(Re=C,Q=ll(Q)),C=Q,C===r)))if(C=w,t.charCodeAt(w)===40?(Q=W,w++):(Q=r,we===0&&ve(X)),Q!==r){for(k=[],N=ke();N!==r;)k.push(N),N=ke();if(k!==r)if(N=iO(),N!==r){for(Z=[],Ee=ke();Ee!==r;)Z.push(Ee),Ee=ke();Z!==r?(t.charCodeAt(w)===41?(Ee=F,w++):(Ee=r,we===0&&ve(D)),Ee!==r?(Re=C,Q=WQ(N),C=Q):(w=C,C=r)):(w=C,C=r)}else w=C,C=r;else w=C,C=r}else w=C,C=r}return C}function XQ(){var C,Q,k,N,Z,Ee,ot,ut;if(C=w,Q=_Q(),Q!==r){for(k=[],N=w,Z=[],Ee=ke();Ee!==r;)Z.push(Ee),Ee=ke();if(Z!==r)if(t.charCodeAt(w)===42?(Ee=nE,w++):(Ee=r,we===0&&ve(Gf)),Ee===r&&(t.charCodeAt(w)===47?(Ee=_c,w++):(Ee=r,we===0&&ve(jf))),Ee!==r){for(ot=[],ut=ke();ut!==r;)ot.push(ut),ut=ke();ot!==r?(ut=_Q(),ut!==r?(Re=N,Z=sE(Q,Ee,ut),N=Z):(w=N,N=r)):(w=N,N=r)}else w=N,N=r;else w=N,N=r;for(;N!==r;){for(k.push(N),N=w,Z=[],Ee=ke();Ee!==r;)Z.push(Ee),Ee=ke();if(Z!==r)if(t.charCodeAt(w)===42?(Ee=nE,w++):(Ee=r,we===0&&ve(Gf)),Ee===r&&(t.charCodeAt(w)===47?(Ee=_c,w++):(Ee=r,we===0&&ve(jf))),Ee!==r){for(ot=[],ut=ke();ut!==r;)ot.push(ut),ut=ke();ot!==r?(ut=_Q(),ut!==r?(Re=N,Z=sE(Q,Ee,ut),N=Z):(w=N,N=r)):(w=N,N=r)}else w=N,N=r;else w=N,N=r}k!==r?(Re=C,Q=cl(Q,k),C=Q):(w=C,C=r)}else w=C,C=r;return C}function iO(){var C,Q,k,N,Z,Ee,ot,ut;if(C=w,Q=XQ(),Q!==r){for(k=[],N=w,Z=[],Ee=ke();Ee!==r;)Z.push(Ee),Ee=ke();if(Z!==r)if(t.charCodeAt(w)===43?(Ee=al,w++):(Ee=r,we===0&&ve(qo)),Ee===r&&(t.charCodeAt(w)===45?(Ee=sl,w++):(Ee=r,we===0&&ve(ol))),Ee!==r){for(ot=[],ut=ke();ut!==r;)ot.push(ut),ut=ke();ot!==r?(ut=XQ(),ut!==r?(Re=N,Z=oE(Q,Ee,ut),N=Z):(w=N,N=r)):(w=N,N=r)}else w=N,N=r;else w=N,N=r;for(;N!==r;){for(k.push(N),N=w,Z=[],Ee=ke();Ee!==r;)Z.push(Ee),Ee=ke();if(Z!==r)if(t.charCodeAt(w)===43?(Ee=al,w++):(Ee=r,we===0&&ve(qo)),Ee===r&&(t.charCodeAt(w)===45?(Ee=sl,w++):(Ee=r,we===0&&ve(ol))),Ee!==r){for(ot=[],ut=ke();ut!==r;)ot.push(ut),ut=ke();ot!==r?(ut=XQ(),ut!==r?(Re=N,Z=oE(Q,Ee,ut),N=Z):(w=N,N=r)):(w=N,N=r)}else w=N,N=r;else w=N,N=r}k!==r?(Re=C,Q=cl(Q,k),C=Q):(w=C,C=r)}else w=C,C=r;return C}function nO(){var C,Q,k,N,Z,Ee;if(C=w,t.substr(w,3)===Yf?(Q=Yf,w+=3):(Q=r,we===0&&ve(Xc)),Q!==r){for(k=[],N=ke();N!==r;)k.push(N),N=ke();if(k!==r)if(N=iO(),N!==r){for(Z=[],Ee=ke();Ee!==r;)Z.push(Ee),Ee=ke();Z!==r?(t.substr(w,2)===xr?(Ee=xr,w+=2):(Ee=r,we===0&&ve(KM)),Ee!==r?(Re=C,Q=Jo(N),C=Q):(w=C,C=r)):(w=C,C=r)}else w=C,C=r;else w=C,C=r}else w=C,C=r;return C}function sO(){var C,Q,k,N;return C=w,t.substr(w,2)===Zs?(Q=Zs,w+=2):(Q=r,we===0&&ve(aE)),Q!==r?(k=Jf(),k!==r?(t.charCodeAt(w)===41?(N=F,w++):(N=r,we===0&&ve(D)),N!==r?(Re=C,Q=Zc(k),C=Q):(w=C,C=r)):(w=C,C=r)):(w=C,C=r),C}function ZQ(){var C,Q,k,N,Z,Ee;return C=w,t.substr(w,2)===x?(Q=x,w+=2):(Q=r,we===0&&ve(U)),Q!==r?(k=zf(),k!==r?(t.substr(w,2)===le?(N=le,w+=2):(N=r,we===0&&ve(xe)),N!==r?(Z=Sfe(),Z!==r?(t.charCodeAt(w)===125?(Ee=Pe,w++):(Ee=r,we===0&&ve(qe)),Ee!==r?(Re=C,Q=Qe(k,Z),C=Q):(w=C,C=r)):(w=C,C=r)):(w=C,C=r)):(w=C,C=r)):(w=C,C=r),C===r&&(C=w,t.substr(w,2)===x?(Q=x,w+=2):(Q=r,we===0&&ve(U)),Q!==r?(k=zf(),k!==r?(t.substr(w,3)===Ge?(N=Ge,w+=3):(N=r,we===0&&ve(ct)),N!==r?(Re=C,Q=sr(k),C=Q):(w=C,C=r)):(w=C,C=r)):(w=C,C=r),C===r&&(C=w,t.substr(w,2)===x?(Q=x,w+=2):(Q=r,we===0&&ve(U)),Q!==r?(k=zf(),k!==r?(t.charCodeAt(w)===125?(N=Pe,w++):(N=r,we===0&&ve(qe)),N!==r?(Re=C,Q=Wo(k),C=Q):(w=C,C=r)):(w=C,C=r)):(w=C,C=r),C===r&&(C=w,t.charCodeAt(w)===36?(Q=Afe,w++):(Q=r,we===0&&ve(lfe)),Q!==r?(k=zf(),k!==r?(Re=C,Q=Wo(k),C=Q):(w=C,C=r)):(w=C,C=r)))),C}function Lfe(){var C,Q,k;return C=w,Q=Tfe(),Q!==r?(Re=w,k=cfe(Q),k?k=void 0:k=r,k!==r?(Re=C,Q=ufe(Q),C=Q):(w=C,C=r)):(w=C,C=r),C}function Tfe(){var C,Q,k,N,Z;if(C=w,Q=[],k=w,N=w,we++,Z=AO(),we--,Z===r?N=void 0:(w=N,N=r),N!==r?(t.length>w?(Z=t.charAt(w),w++):(Z=r,we===0&&ve(Xa)),Z!==r?(Re=k,N=te(Z),k=N):(w=k,k=r)):(w=k,k=r),k!==r)for(;k!==r;)Q.push(k),k=w,N=w,we++,Z=AO(),we--,Z===r?N=void 0:(w=N,N=r),N!==r?(t.length>w?(Z=t.charAt(w),w++):(Z=r,we===0&&ve(Xa)),Z!==r?(Re=k,N=te(Z),k=N):(w=k,k=r)):(w=k,k=r);else Q=r;return Q!==r&&(Re=C,Q=il(Q)),C=Q,C}function oO(){var C,Q,k;if(C=w,Q=[],UM.test(t.charAt(w))?(k=t.charAt(w),w++):(k=r,we===0&&ve(HM)),k!==r)for(;k!==r;)Q.push(k),UM.test(t.charAt(w))?(k=t.charAt(w),w++):(k=r,we===0&&ve(HM));else Q=r;return Q!==r&&(Re=C,Q=GM()),C=Q,C}function zf(){var C,Q,k;if(C=w,Q=[],jM.test(t.charAt(w))?(k=t.charAt(w),w++):(k=r,we===0&&ve(YM)),k!==r)for(;k!==r;)Q.push(k),jM.test(t.charAt(w))?(k=t.charAt(w),w++):(k=r,we===0&&ve(YM));else Q=r;return Q!==r&&(Re=C,Q=GM()),C=Q,C}function aO(){var C;return gfe.test(t.charAt(w))?(C=t.charAt(w),w++):(C=r,we===0&&ve(ffe)),C}function AO(){var C;return hfe.test(t.charAt(w))?(C=t.charAt(w),w++):(C=r,we===0&&ve(pfe)),C}function ke(){var C,Q;if(C=[],qM.test(t.charAt(w))?(Q=t.charAt(w),w++):(Q=r,we===0&&ve(JM)),Q!==r)for(;Q!==r;)C.push(Q),qM.test(t.charAt(w))?(Q=t.charAt(w),w++):(Q=r,we===0&&ve(JM));else C=r;return C}if(lE=n(),lE!==r&&w===t.length)return lE;throw lE!==r&&w{"use strict";function Eke(t,e){function r(){this.constructor=t}r.prototype=e.prototype,t.prototype=new r}function Xl(t,e,r,i){this.message=t,this.expected=e,this.found=r,this.location=i,this.name="SyntaxError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,Xl)}Eke(Xl,Error);Xl.buildMessage=function(t,e){var r={literal:function(c){return'"'+n(c.text)+'"'},class:function(c){var u="",g;for(g=0;g0){for(g=1,f=1;gH&&(H=B,L=[]),L.push($))}function qe($,G){return new Xl($,null,null,G)}function re($,G,Ce){return new Xl(Xl.buildMessage($,G),$,G,Ce)}function se(){var $,G,Ce,ee;return $=B,G=be(),G!==r?(t.charCodeAt(B)===47?(Ce=s,B++):(Ce=r,K===0&&Pe(o)),Ce!==r?(ee=be(),ee!==r?(b=$,G=a(G,ee),$=G):(B=$,$=r)):(B=$,$=r)):(B=$,$=r),$===r&&($=B,G=be(),G!==r&&(b=$,G=l(G)),$=G),$}function be(){var $,G,Ce,ee;return $=B,G=ae(),G!==r?(t.charCodeAt(B)===64?(Ce=c,B++):(Ce=r,K===0&&Pe(u)),Ce!==r?(ee=De(),ee!==r?(b=$,G=g(G,ee),$=G):(B=$,$=r)):(B=$,$=r)):(B=$,$=r),$===r&&($=B,G=ae(),G!==r&&(b=$,G=f(G)),$=G),$}function ae(){var $,G,Ce,ee,Ue;return $=B,t.charCodeAt(B)===64?(G=c,B++):(G=r,K===0&&Pe(u)),G!==r?(Ce=Ae(),Ce!==r?(t.charCodeAt(B)===47?(ee=s,B++):(ee=r,K===0&&Pe(o)),ee!==r?(Ue=Ae(),Ue!==r?(b=$,G=h(),$=G):(B=$,$=r)):(B=$,$=r)):(B=$,$=r)):(B=$,$=r),$===r&&($=B,G=Ae(),G!==r&&(b=$,G=h()),$=G),$}function Ae(){var $,G,Ce;if($=B,G=[],p.test(t.charAt(B))?(Ce=t.charAt(B),B++):(Ce=r,K===0&&Pe(d)),Ce!==r)for(;Ce!==r;)G.push(Ce),p.test(t.charAt(B))?(Ce=t.charAt(B),B++):(Ce=r,K===0&&Pe(d));else G=r;return G!==r&&(b=$,G=h()),$=G,$}function De(){var $,G,Ce;if($=B,G=[],m.test(t.charAt(B))?(Ce=t.charAt(B),B++):(Ce=r,K===0&&Pe(I)),Ce!==r)for(;Ce!==r;)G.push(Ce),m.test(t.charAt(B))?(Ce=t.charAt(B),B++):(Ce=r,K===0&&Pe(I));else G=r;return G!==r&&(b=$,G=h()),$=G,$}if(J=n(),J!==r&&B===t.length)return J;throw J!==r&&B{"use strict";function F4(t){return typeof t=="undefined"||t===null}function yke(t){return typeof t=="object"&&t!==null}function wke(t){return Array.isArray(t)?t:F4(t)?[]:[t]}function Bke(t,e){var r,i,n,s;if(e)for(s=Object.keys(e),r=0,i=s.length;r{"use strict";function Lp(t,e){Error.call(this),this.name="YAMLException",this.reason=t,this.mark=e,this.message=(this.reason||"(unknown reason)")+(this.mark?" "+this.mark.toString():""),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack||""}Lp.prototype=Object.create(Error.prototype);Lp.prototype.constructor=Lp;Lp.prototype.toString=function(e){var r=this.name+": ";return r+=this.reason||"(unknown reason)",!e&&this.mark&&(r+=" "+this.mark.toString()),r};N4.exports=Lp});var M4=E((Vot,L4)=>{"use strict";var T4=$l();function kP(t,e,r,i,n){this.name=t,this.buffer=e,this.position=r,this.line=i,this.column=n}kP.prototype.getSnippet=function(e,r){var i,n,s,o,a;if(!this.buffer)return null;for(e=e||4,r=r||75,i="",n=this.position;n>0&&`\0\r +\x85\u2028\u2029`.indexOf(this.buffer.charAt(n-1))===-1;)if(n-=1,this.position-n>r/2-1){i=" ... ",n+=5;break}for(s="",o=this.position;or/2-1){s=" ... ",o-=5;break}return a=this.buffer.slice(n,o),T4.repeat(" ",e)+i+a+s+` +`+T4.repeat(" ",e+this.position-n+i.length)+"^"};kP.prototype.toString=function(e){var r,i="";return this.name&&(i+='in "'+this.name+'" '),i+="at line "+(this.line+1)+", column "+(this.column+1),e||(r=this.getSnippet(),r&&(i+=`: +`+r)),i};L4.exports=kP});var Xr=E((_ot,O4)=>{"use strict";var K4=ng(),vke=["kind","resolve","construct","instanceOf","predicate","represent","defaultStyle","styleAliases"],Ske=["scalar","sequence","mapping"];function xke(t){var e={};return t!==null&&Object.keys(t).forEach(function(r){t[r].forEach(function(i){e[String(i)]=r})}),e}function kke(t,e){if(e=e||{},Object.keys(e).forEach(function(r){if(vke.indexOf(r)===-1)throw new K4('Unknown option "'+r+'" is met in definition of "'+t+'" YAML type.')}),this.tag=t,this.kind=e.kind||null,this.resolve=e.resolve||function(){return!0},this.construct=e.construct||function(r){return r},this.instanceOf=e.instanceOf||null,this.predicate=e.predicate||null,this.represent=e.represent||null,this.defaultStyle=e.defaultStyle||null,this.styleAliases=xke(e.styleAliases||null),Ske.indexOf(this.kind)===-1)throw new K4('Unknown kind "'+this.kind+'" is specified for "'+t+'" YAML type.')}O4.exports=kke});var ec=E((Xot,U4)=>{"use strict";var H4=$l(),hw=ng(),Pke=Xr();function PP(t,e,r){var i=[];return t.include.forEach(function(n){r=PP(n,e,r)}),t[e].forEach(function(n){r.forEach(function(s,o){s.tag===n.tag&&s.kind===n.kind&&i.push(o)}),r.push(n)}),r.filter(function(n,s){return i.indexOf(s)===-1})}function Dke(){var t={scalar:{},sequence:{},mapping:{},fallback:{}},e,r;function i(n){t[n.kind][n.tag]=t.fallback[n.tag]=n}for(e=0,r=arguments.length;e{"use strict";var Rke=Xr();G4.exports=new Rke("tag:yaml.org,2002:str",{kind:"scalar",construct:function(t){return t!==null?t:""}})});var q4=E(($ot,Y4)=>{"use strict";var Fke=Xr();Y4.exports=new Fke("tag:yaml.org,2002:seq",{kind:"sequence",construct:function(t){return t!==null?t:[]}})});var W4=E((eat,J4)=>{"use strict";var Nke=Xr();J4.exports=new Nke("tag:yaml.org,2002:map",{kind:"mapping",construct:function(t){return t!==null?t:{}}})});var pw=E((tat,z4)=>{"use strict";var Lke=ec();z4.exports=new Lke({explicit:[j4(),q4(),W4()]})});var _4=E((rat,V4)=>{"use strict";var Tke=Xr();function Mke(t){if(t===null)return!0;var e=t.length;return e===1&&t==="~"||e===4&&(t==="null"||t==="Null"||t==="NULL")}function Oke(){return null}function Kke(t){return t===null}V4.exports=new Tke("tag:yaml.org,2002:null",{kind:"scalar",resolve:Mke,construct:Oke,predicate:Kke,represent:{canonical:function(){return"~"},lowercase:function(){return"null"},uppercase:function(){return"NULL"},camelcase:function(){return"Null"}},defaultStyle:"lowercase"})});var Z4=E((iat,X4)=>{"use strict";var Uke=Xr();function Hke(t){if(t===null)return!1;var e=t.length;return e===4&&(t==="true"||t==="True"||t==="TRUE")||e===5&&(t==="false"||t==="False"||t==="FALSE")}function Gke(t){return t==="true"||t==="True"||t==="TRUE"}function jke(t){return Object.prototype.toString.call(t)==="[object Boolean]"}X4.exports=new Uke("tag:yaml.org,2002:bool",{kind:"scalar",resolve:Hke,construct:Gke,predicate:jke,represent:{lowercase:function(t){return t?"true":"false"},uppercase:function(t){return t?"TRUE":"FALSE"},camelcase:function(t){return t?"True":"False"}},defaultStyle:"lowercase"})});var ez=E((nat,$4)=>{"use strict";var Yke=$l(),qke=Xr();function Jke(t){return 48<=t&&t<=57||65<=t&&t<=70||97<=t&&t<=102}function Wke(t){return 48<=t&&t<=55}function zke(t){return 48<=t&&t<=57}function Vke(t){if(t===null)return!1;var e=t.length,r=0,i=!1,n;if(!e)return!1;if(n=t[r],(n==="-"||n==="+")&&(n=t[++r]),n==="0"){if(r+1===e)return!0;if(n=t[++r],n==="b"){for(r++;r=0?"0b"+t.toString(2):"-0b"+t.toString(2).slice(1)},octal:function(t){return t>=0?"0"+t.toString(8):"-0"+t.toString(8).slice(1)},decimal:function(t){return t.toString(10)},hexadecimal:function(t){return t>=0?"0x"+t.toString(16).toUpperCase():"-0x"+t.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}})});var iz=E((sat,tz)=>{"use strict";var rz=$l(),Zke=Xr(),$ke=new RegExp("^(?:[-+]?(?:0|[1-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\\.[0-9_]*|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");function ePe(t){return!(t===null||!$ke.test(t)||t[t.length-1]==="_")}function tPe(t){var e,r,i,n;return e=t.replace(/_/g,"").toLowerCase(),r=e[0]==="-"?-1:1,n=[],"+-".indexOf(e[0])>=0&&(e=e.slice(1)),e===".inf"?r===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:e===".nan"?NaN:e.indexOf(":")>=0?(e.split(":").forEach(function(s){n.unshift(parseFloat(s,10))}),e=0,i=1,n.forEach(function(s){e+=s*i,i*=60}),r*e):r*parseFloat(e,10)}var rPe=/^[-+]?[0-9]+e/;function iPe(t,e){var r;if(isNaN(t))switch(e){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===t)switch(e){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===t)switch(e){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(rz.isNegativeZero(t))return"-0.0";return r=t.toString(10),rPe.test(r)?r.replace("e",".e"):r}function nPe(t){return Object.prototype.toString.call(t)==="[object Number]"&&(t%1!=0||rz.isNegativeZero(t))}tz.exports=new Zke("tag:yaml.org,2002:float",{kind:"scalar",resolve:ePe,construct:tPe,predicate:nPe,represent:iPe,defaultStyle:"lowercase"})});var DP=E((oat,nz)=>{"use strict";var sPe=ec();nz.exports=new sPe({include:[pw()],implicit:[_4(),Z4(),ez(),iz()]})});var RP=E((aat,sz)=>{"use strict";var oPe=ec();sz.exports=new oPe({include:[DP()]})});var lz=E((Aat,oz)=>{"use strict";var aPe=Xr(),az=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),Az=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");function APe(t){return t===null?!1:az.exec(t)!==null||Az.exec(t)!==null}function lPe(t){var e,r,i,n,s,o,a,l=0,c=null,u,g,f;if(e=az.exec(t),e===null&&(e=Az.exec(t)),e===null)throw new Error("Date resolve error");if(r=+e[1],i=+e[2]-1,n=+e[3],!e[4])return new Date(Date.UTC(r,i,n));if(s=+e[4],o=+e[5],a=+e[6],e[7]){for(l=e[7].slice(0,3);l.length<3;)l+="0";l=+l}return e[9]&&(u=+e[10],g=+(e[11]||0),c=(u*60+g)*6e4,e[9]==="-"&&(c=-c)),f=new Date(Date.UTC(r,i,n,s,o,a,l)),c&&f.setTime(f.getTime()-c),f}function cPe(t){return t.toISOString()}oz.exports=new aPe("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:APe,construct:lPe,instanceOf:Date,represent:cPe})});var uz=E((lat,cz)=>{"use strict";var uPe=Xr();function gPe(t){return t==="<<"||t===null}cz.exports=new uPe("tag:yaml.org,2002:merge",{kind:"scalar",resolve:gPe})});var hz=E((cat,gz)=>{"use strict";var tc;try{fz=require,tc=fz("buffer").Buffer}catch(t){}var fz,fPe=Xr(),FP=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/= +\r`;function hPe(t){if(t===null)return!1;var e,r,i=0,n=t.length,s=FP;for(r=0;r64)){if(e<0)return!1;i+=6}return i%8==0}function pPe(t){var e,r,i=t.replace(/[\r\n=]/g,""),n=i.length,s=FP,o=0,a=[];for(e=0;e>16&255),a.push(o>>8&255),a.push(o&255)),o=o<<6|s.indexOf(i.charAt(e));return r=n%4*6,r===0?(a.push(o>>16&255),a.push(o>>8&255),a.push(o&255)):r===18?(a.push(o>>10&255),a.push(o>>2&255)):r===12&&a.push(o>>4&255),tc?tc.from?tc.from(a):new tc(a):a}function dPe(t){var e="",r=0,i,n,s=t.length,o=FP;for(i=0;i>18&63],e+=o[r>>12&63],e+=o[r>>6&63],e+=o[r&63]),r=(r<<8)+t[i];return n=s%3,n===0?(e+=o[r>>18&63],e+=o[r>>12&63],e+=o[r>>6&63],e+=o[r&63]):n===2?(e+=o[r>>10&63],e+=o[r>>4&63],e+=o[r<<2&63],e+=o[64]):n===1&&(e+=o[r>>2&63],e+=o[r<<4&63],e+=o[64],e+=o[64]),e}function CPe(t){return tc&&tc.isBuffer(t)}gz.exports=new fPe("tag:yaml.org,2002:binary",{kind:"scalar",resolve:hPe,construct:pPe,predicate:CPe,represent:dPe})});var dz=E((uat,pz)=>{"use strict";var mPe=Xr(),EPe=Object.prototype.hasOwnProperty,IPe=Object.prototype.toString;function yPe(t){if(t===null)return!0;var e=[],r,i,n,s,o,a=t;for(r=0,i=a.length;r{"use strict";var BPe=Xr(),QPe=Object.prototype.toString;function bPe(t){if(t===null)return!0;var e,r,i,n,s,o=t;for(s=new Array(o.length),e=0,r=o.length;e{"use strict";var SPe=Xr(),xPe=Object.prototype.hasOwnProperty;function kPe(t){if(t===null)return!0;var e,r=t;for(e in r)if(xPe.call(r,e)&&r[e]!==null)return!1;return!0}function PPe(t){return t!==null?t:{}}Ez.exports=new SPe("tag:yaml.org,2002:set",{kind:"mapping",resolve:kPe,construct:PPe})});var og=E((hat,yz)=>{"use strict";var DPe=ec();yz.exports=new DPe({include:[RP()],implicit:[lz(),uz()],explicit:[hz(),dz(),mz(),Iz()]})});var Bz=E((pat,wz)=>{"use strict";var RPe=Xr();function FPe(){return!0}function NPe(){}function LPe(){return""}function TPe(t){return typeof t=="undefined"}wz.exports=new RPe("tag:yaml.org,2002:js/undefined",{kind:"scalar",resolve:FPe,construct:NPe,predicate:TPe,represent:LPe})});var bz=E((dat,Qz)=>{"use strict";var MPe=Xr();function OPe(t){if(t===null||t.length===0)return!1;var e=t,r=/\/([gim]*)$/.exec(t),i="";return!(e[0]==="/"&&(r&&(i=r[1]),i.length>3||e[e.length-i.length-1]!=="/"))}function KPe(t){var e=t,r=/\/([gim]*)$/.exec(t),i="";return e[0]==="/"&&(r&&(i=r[1]),e=e.slice(1,e.length-i.length-1)),new RegExp(e,i)}function UPe(t){var e="/"+t.source+"/";return t.global&&(e+="g"),t.multiline&&(e+="m"),t.ignoreCase&&(e+="i"),e}function HPe(t){return Object.prototype.toString.call(t)==="[object RegExp]"}Qz.exports=new MPe("tag:yaml.org,2002:js/regexp",{kind:"scalar",resolve:OPe,construct:KPe,predicate:HPe,represent:UPe})});var xz=E((Cat,vz)=>{"use strict";var dw;try{Sz=require,dw=Sz("esprima")}catch(t){typeof window!="undefined"&&(dw=window.esprima)}var Sz,GPe=Xr();function jPe(t){if(t===null)return!1;try{var e="("+t+")",r=dw.parse(e,{range:!0});return!(r.type!=="Program"||r.body.length!==1||r.body[0].type!=="ExpressionStatement"||r.body[0].expression.type!=="ArrowFunctionExpression"&&r.body[0].expression.type!=="FunctionExpression")}catch(i){return!1}}function YPe(t){var e="("+t+")",r=dw.parse(e,{range:!0}),i=[],n;if(r.type!=="Program"||r.body.length!==1||r.body[0].type!=="ExpressionStatement"||r.body[0].expression.type!=="ArrowFunctionExpression"&&r.body[0].expression.type!=="FunctionExpression")throw new Error("Failed to resolve function");return r.body[0].expression.params.forEach(function(s){i.push(s.name)}),n=r.body[0].expression.body.range,r.body[0].expression.body.type==="BlockStatement"?new Function(i,e.slice(n[0]+1,n[1]-1)):new Function(i,"return "+e.slice(n[0],n[1]))}function qPe(t){return t.toString()}function JPe(t){return Object.prototype.toString.call(t)==="[object Function]"}vz.exports=new GPe("tag:yaml.org,2002:js/function",{kind:"scalar",resolve:jPe,construct:YPe,predicate:JPe,represent:qPe})});var Tp=E((mat,kz)=>{"use strict";var Pz=ec();kz.exports=Pz.DEFAULT=new Pz({include:[og()],explicit:[Bz(),bz(),xz()]})});var Vz=E((Eat,Mp)=>{"use strict";var Ba=$l(),Dz=ng(),WPe=M4(),Rz=og(),zPe=Tp(),QA=Object.prototype.hasOwnProperty,Cw=1,Fz=2,Nz=3,mw=4,NP=1,VPe=2,Lz=3,_Pe=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,XPe=/[\x85\u2028\u2029]/,ZPe=/[,\[\]\{\}]/,Tz=/^(?:!|!!|![a-z\-]+!)$/i,Mz=/^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i;function Oz(t){return Object.prototype.toString.call(t)}function wo(t){return t===10||t===13}function rc(t){return t===9||t===32}function yn(t){return t===9||t===32||t===10||t===13}function ag(t){return t===44||t===91||t===93||t===123||t===125}function $Pe(t){var e;return 48<=t&&t<=57?t-48:(e=t|32,97<=e&&e<=102?e-97+10:-1)}function eDe(t){return t===120?2:t===117?4:t===85?8:0}function tDe(t){return 48<=t&&t<=57?t-48:-1}function Kz(t){return t===48?"\0":t===97?"\x07":t===98?"\b":t===116||t===9?" ":t===110?` +`:t===118?"\v":t===102?"\f":t===114?"\r":t===101?"":t===32?" ":t===34?'"':t===47?"/":t===92?"\\":t===78?"\x85":t===95?"\xA0":t===76?"\u2028":t===80?"\u2029":""}function rDe(t){return t<=65535?String.fromCharCode(t):String.fromCharCode((t-65536>>10)+55296,(t-65536&1023)+56320)}var Uz=new Array(256),Hz=new Array(256);for(var Ag=0;Ag<256;Ag++)Uz[Ag]=Kz(Ag)?1:0,Hz[Ag]=Kz(Ag);function iDe(t,e){this.input=t,this.filename=e.filename||null,this.schema=e.schema||zPe,this.onWarning=e.onWarning||null,this.legacy=e.legacy||!1,this.json=e.json||!1,this.listener=e.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=t.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.documents=[]}function Gz(t,e){return new Dz(e,new WPe(t.filename,t.input,t.position,t.line,t.position-t.lineStart))}function st(t,e){throw Gz(t,e)}function Ew(t,e){t.onWarning&&t.onWarning.call(null,Gz(t,e))}var jz={YAML:function(e,r,i){var n,s,o;e.version!==null&&st(e,"duplication of %YAML directive"),i.length!==1&&st(e,"YAML directive accepts exactly one argument"),n=/^([0-9]+)\.([0-9]+)$/.exec(i[0]),n===null&&st(e,"ill-formed argument of the YAML directive"),s=parseInt(n[1],10),o=parseInt(n[2],10),s!==1&&st(e,"unacceptable YAML version of the document"),e.version=i[0],e.checkLineBreaks=o<2,o!==1&&o!==2&&Ew(e,"unsupported YAML version of the document")},TAG:function(e,r,i){var n,s;i.length!==2&&st(e,"TAG directive accepts exactly two arguments"),n=i[0],s=i[1],Tz.test(n)||st(e,"ill-formed tag handle (first argument) of the TAG directive"),QA.call(e.tagMap,n)&&st(e,'there is a previously declared suffix for "'+n+'" tag handle'),Mz.test(s)||st(e,"ill-formed tag prefix (second argument) of the TAG directive"),e.tagMap[n]=s}};function bA(t,e,r,i){var n,s,o,a;if(e1&&(t.result+=Ba.repeat(` +`,e-1))}function nDe(t,e,r){var i,n,s,o,a,l,c,u,g=t.kind,f=t.result,h;if(h=t.input.charCodeAt(t.position),yn(h)||ag(h)||h===35||h===38||h===42||h===33||h===124||h===62||h===39||h===34||h===37||h===64||h===96||(h===63||h===45)&&(n=t.input.charCodeAt(t.position+1),yn(n)||r&&ag(n)))return!1;for(t.kind="scalar",t.result="",s=o=t.position,a=!1;h!==0;){if(h===58){if(n=t.input.charCodeAt(t.position+1),yn(n)||r&&ag(n))break}else if(h===35){if(i=t.input.charCodeAt(t.position-1),yn(i))break}else{if(t.position===t.lineStart&&Iw(t)||r&&ag(h))break;if(wo(h))if(l=t.line,c=t.lineStart,u=t.lineIndent,jr(t,!1,-1),t.lineIndent>=e){a=!0,h=t.input.charCodeAt(t.position);continue}else{t.position=o,t.line=l,t.lineStart=c,t.lineIndent=u;break}}a&&(bA(t,s,o,!1),TP(t,t.line-l),s=o=t.position,a=!1),rc(h)||(o=t.position+1),h=t.input.charCodeAt(++t.position)}return bA(t,s,o,!1),t.result?!0:(t.kind=g,t.result=f,!1)}function sDe(t,e){var r,i,n;if(r=t.input.charCodeAt(t.position),r!==39)return!1;for(t.kind="scalar",t.result="",t.position++,i=n=t.position;(r=t.input.charCodeAt(t.position))!==0;)if(r===39)if(bA(t,i,t.position,!0),r=t.input.charCodeAt(++t.position),r===39)i=t.position,t.position++,n=t.position;else return!0;else wo(r)?(bA(t,i,n,!0),TP(t,jr(t,!1,e)),i=n=t.position):t.position===t.lineStart&&Iw(t)?st(t,"unexpected end of the document within a single quoted scalar"):(t.position++,n=t.position);st(t,"unexpected end of the stream within a single quoted scalar")}function oDe(t,e){var r,i,n,s,o,a;if(a=t.input.charCodeAt(t.position),a!==34)return!1;for(t.kind="scalar",t.result="",t.position++,r=i=t.position;(a=t.input.charCodeAt(t.position))!==0;){if(a===34)return bA(t,r,t.position,!0),t.position++,!0;if(a===92){if(bA(t,r,t.position,!0),a=t.input.charCodeAt(++t.position),wo(a))jr(t,!1,e);else if(a<256&&Uz[a])t.result+=Hz[a],t.position++;else if((o=eDe(a))>0){for(n=o,s=0;n>0;n--)a=t.input.charCodeAt(++t.position),(o=$Pe(a))>=0?s=(s<<4)+o:st(t,"expected hexadecimal character");t.result+=rDe(s),t.position++}else st(t,"unknown escape sequence");r=i=t.position}else wo(a)?(bA(t,r,i,!0),TP(t,jr(t,!1,e)),r=i=t.position):t.position===t.lineStart&&Iw(t)?st(t,"unexpected end of the document within a double quoted scalar"):(t.position++,i=t.position)}st(t,"unexpected end of the stream within a double quoted scalar")}function aDe(t,e){var r=!0,i,n=t.tag,s,o=t.anchor,a,l,c,u,g,f={},h,p,d,m;if(m=t.input.charCodeAt(t.position),m===91)l=93,g=!1,s=[];else if(m===123)l=125,g=!0,s={};else return!1;for(t.anchor!==null&&(t.anchorMap[t.anchor]=s),m=t.input.charCodeAt(++t.position);m!==0;){if(jr(t,!0,e),m=t.input.charCodeAt(t.position),m===l)return t.position++,t.tag=n,t.anchor=o,t.kind=g?"mapping":"sequence",t.result=s,!0;r||st(t,"missed comma between flow collection entries"),p=h=d=null,c=u=!1,m===63&&(a=t.input.charCodeAt(t.position+1),yn(a)&&(c=u=!0,t.position++,jr(t,!0,e))),i=t.line,cg(t,e,Cw,!1,!0),p=t.tag,h=t.result,jr(t,!0,e),m=t.input.charCodeAt(t.position),(u||t.line===i)&&m===58&&(c=!0,m=t.input.charCodeAt(++t.position),jr(t,!0,e),cg(t,e,Cw,!1,!0),d=t.result),g?lg(t,s,f,p,h,d):c?s.push(lg(t,null,f,p,h,d)):s.push(h),jr(t,!0,e),m=t.input.charCodeAt(t.position),m===44?(r=!0,m=t.input.charCodeAt(++t.position)):r=!1}st(t,"unexpected end of the stream within a flow collection")}function ADe(t,e){var r,i,n=NP,s=!1,o=!1,a=e,l=0,c=!1,u,g;if(g=t.input.charCodeAt(t.position),g===124)i=!1;else if(g===62)i=!0;else return!1;for(t.kind="scalar",t.result="";g!==0;)if(g=t.input.charCodeAt(++t.position),g===43||g===45)NP===n?n=g===43?Lz:VPe:st(t,"repeat of a chomping mode identifier");else if((u=tDe(g))>=0)u===0?st(t,"bad explicit indentation width of a block scalar; it cannot be less than one"):o?st(t,"repeat of an indentation width identifier"):(a=e+u-1,o=!0);else break;if(rc(g)){do g=t.input.charCodeAt(++t.position);while(rc(g));if(g===35)do g=t.input.charCodeAt(++t.position);while(!wo(g)&&g!==0)}for(;g!==0;){for(LP(t),t.lineIndent=0,g=t.input.charCodeAt(t.position);(!o||t.lineIndenta&&(a=t.lineIndent),wo(g)){l++;continue}if(t.lineIndente)&&l!==0)st(t,"bad indentation of a sequence entry");else if(t.lineIndente)&&(cg(t,e,mw,!0,n)&&(p?f=t.result:h=t.result),p||(lg(t,c,u,g,f,h,s,o),g=f=h=null),jr(t,!0,-1),m=t.input.charCodeAt(t.position)),t.lineIndent>e&&m!==0)st(t,"bad indentation of a mapping entry");else if(t.lineIndente?l=1:t.lineIndent===e?l=0:t.lineIndente?l=1:t.lineIndent===e?l=0:t.lineIndent tag; it should be "scalar", not "'+t.kind+'"'),g=0,f=t.implicitTypes.length;g tag; it should be "'+h.kind+'", not "'+t.kind+'"'),h.resolve(t.result)?(t.result=h.construct(t.result),t.anchor!==null&&(t.anchorMap[t.anchor]=t.result)):st(t,"cannot resolve a node with !<"+t.tag+"> explicit tag")):st(t,"unknown tag !<"+t.tag+">");return t.listener!==null&&t.listener("close",t),t.tag!==null||t.anchor!==null||u}function fDe(t){var e=t.position,r,i,n,s=!1,o;for(t.version=null,t.checkLineBreaks=t.legacy,t.tagMap={},t.anchorMap={};(o=t.input.charCodeAt(t.position))!==0&&(jr(t,!0,-1),o=t.input.charCodeAt(t.position),!(t.lineIndent>0||o!==37));){for(s=!0,o=t.input.charCodeAt(++t.position),r=t.position;o!==0&&!yn(o);)o=t.input.charCodeAt(++t.position);for(i=t.input.slice(r,t.position),n=[],i.length<1&&st(t,"directive name must not be less than one character in length");o!==0;){for(;rc(o);)o=t.input.charCodeAt(++t.position);if(o===35){do o=t.input.charCodeAt(++t.position);while(o!==0&&!wo(o));break}if(wo(o))break;for(r=t.position;o!==0&&!yn(o);)o=t.input.charCodeAt(++t.position);n.push(t.input.slice(r,t.position))}o!==0&&LP(t),QA.call(jz,i)?jz[i](t,i,n):Ew(t,'unknown document directive "'+i+'"')}if(jr(t,!0,-1),t.lineIndent===0&&t.input.charCodeAt(t.position)===45&&t.input.charCodeAt(t.position+1)===45&&t.input.charCodeAt(t.position+2)===45?(t.position+=3,jr(t,!0,-1)):s&&st(t,"directives end mark is expected"),cg(t,t.lineIndent-1,mw,!1,!0),jr(t,!0,-1),t.checkLineBreaks&&XPe.test(t.input.slice(e,t.position))&&Ew(t,"non-ASCII line breaks are interpreted as content"),t.documents.push(t.result),t.position===t.lineStart&&Iw(t)){t.input.charCodeAt(t.position)===46&&(t.position+=3,jr(t,!0,-1));return}if(t.position{"use strict";var Op=$l(),Kp=ng(),dDe=Tp(),CDe=og(),_z=Object.prototype.toString,Xz=Object.prototype.hasOwnProperty,mDe=9,Up=10,EDe=13,IDe=32,yDe=33,wDe=34,Zz=35,BDe=37,QDe=38,bDe=39,vDe=42,$z=44,SDe=45,e5=58,xDe=61,kDe=62,PDe=63,DDe=64,t5=91,r5=93,RDe=96,i5=123,FDe=124,n5=125,Ri={};Ri[0]="\\0";Ri[7]="\\a";Ri[8]="\\b";Ri[9]="\\t";Ri[10]="\\n";Ri[11]="\\v";Ri[12]="\\f";Ri[13]="\\r";Ri[27]="\\e";Ri[34]='\\"';Ri[92]="\\\\";Ri[133]="\\N";Ri[160]="\\_";Ri[8232]="\\L";Ri[8233]="\\P";var NDe=["y","Y","yes","Yes","YES","on","On","ON","n","N","no","No","NO","off","Off","OFF"];function LDe(t,e){var r,i,n,s,o,a,l;if(e===null)return{};for(r={},i=Object.keys(e),n=0,s=i.length;n0?t.charCodeAt(s-1):null,f=f&&a5(o,a)}else{for(s=0;si&&t[g+1]!==" ",g=s);else if(!ug(o))return yw;a=s>0?t.charCodeAt(s-1):null,f=f&&a5(o,a)}c=c||u&&s-g-1>i&&t[g+1]!==" "}return!l&&!c?f&&!n(t)?l5:c5:r>9&&A5(t)?yw:c?g5:u5}function jDe(t,e,r,i){t.dump=function(){if(e.length===0)return"''";if(!t.noCompatMode&&NDe.indexOf(e)!==-1)return"'"+e+"'";var n=t.indent*Math.max(1,r),s=t.lineWidth===-1?-1:Math.max(Math.min(t.lineWidth,40),t.lineWidth-n),o=i||t.flowLevel>-1&&r>=t.flowLevel;function a(l){return MDe(t,l)}switch(UDe(e,o,t.indent,s,a)){case l5:return e;case c5:return"'"+e.replace(/'/g,"''")+"'";case u5:return"|"+f5(e,t.indent)+h5(o5(e,n));case g5:return">"+f5(e,t.indent)+h5(o5(HDe(e,s),n));case yw:return'"'+GDe(e,s)+'"';default:throw new Kp("impossible error: invalid scalar style")}}()}function f5(t,e){var r=A5(t)?String(e):"",i=t[t.length-1]===` +`,n=i&&(t[t.length-2]===` +`||t===` +`),s=n?"+":i?"":"-";return r+s+` +`}function h5(t){return t[t.length-1]===` +`?t.slice(0,-1):t}function HDe(t,e){for(var r=/(\n+)([^\n]*)/g,i=function(){var c=t.indexOf(` +`);return c=c!==-1?c:t.length,r.lastIndex=c,p5(t.slice(0,c),e)}(),n=t[0]===` +`||t[0]===" ",s,o;o=r.exec(t);){var a=o[1],l=o[2];s=l[0]===" ",i+=a+(!n&&!s&&l!==""?` +`:"")+p5(l,e),n=s}return i}function p5(t,e){if(t===""||t[0]===" ")return t;for(var r=/ [^ ]/g,i,n=0,s,o=0,a=0,l="";i=r.exec(t);)a=i.index,a-n>e&&(s=o>n?o:a,l+=` +`+t.slice(n,s),n=s+1),o=a;return l+=` +`,t.length-n>e&&o>n?l+=t.slice(n,o)+` +`+t.slice(o+1):l+=t.slice(n),l.slice(1)}function GDe(t){for(var e="",r,i,n,s=0;s=55296&&r<=56319&&(i=t.charCodeAt(s+1),i>=56320&&i<=57343)){e+=s5((r-55296)*1024+i-56320+65536),s++;continue}n=Ri[r],e+=!n&&ug(r)?t[s]:n||s5(r)}return e}function YDe(t,e,r){var i="",n=t.tag,s,o;for(s=0,o=r.length;s1024&&(u+="? "),u+=t.dump+(t.condenseFlow?'"':"")+":"+(t.condenseFlow?"":" "),!!ic(t,e,c,!1,!1)&&(u+=t.dump,i+=u));t.tag=n,t.dump="{"+i+"}"}function WDe(t,e,r,i){var n="",s=t.tag,o=Object.keys(r),a,l,c,u,g,f;if(t.sortKeys===!0)o.sort();else if(typeof t.sortKeys=="function")o.sort(t.sortKeys);else if(t.sortKeys)throw new Kp("sortKeys must be a boolean or a function");for(a=0,l=o.length;a1024,g&&(t.dump&&Up===t.dump.charCodeAt(0)?f+="?":f+="? "),f+=t.dump,g&&(f+=OP(t,e)),!!ic(t,e+1,u,!0,g)&&(t.dump&&Up===t.dump.charCodeAt(0)?f+=":":f+=": ",f+=t.dump,n+=f));t.tag=s,t.dump=n||"{}"}function d5(t,e,r){var i,n,s,o,a,l;for(n=r?t.explicitTypes:t.implicitTypes,s=0,o=n.length;s tag resolver accepts not "'+l+'" style');t.dump=i}return!0}return!1}function ic(t,e,r,i,n,s){t.tag=null,t.dump=r,d5(t,r,!1)||d5(t,r,!0);var o=_z.call(t.dump);i&&(i=t.flowLevel<0||t.flowLevel>e);var a=o==="[object Object]"||o==="[object Array]",l,c;if(a&&(l=t.duplicates.indexOf(r),c=l!==-1),(t.tag!==null&&t.tag!=="?"||c||t.indent!==2&&e>0)&&(n=!1),c&&t.usedDuplicates[l])t.dump="*ref_"+l;else{if(a&&c&&!t.usedDuplicates[l]&&(t.usedDuplicates[l]=!0),o==="[object Object]")i&&Object.keys(t.dump).length!==0?(WDe(t,e,t.dump,n),c&&(t.dump="&ref_"+l+t.dump)):(JDe(t,e,t.dump),c&&(t.dump="&ref_"+l+" "+t.dump));else if(o==="[object Array]"){var u=t.noArrayIndent&&e>0?e-1:e;i&&t.dump.length!==0?(qDe(t,u,t.dump,n),c&&(t.dump="&ref_"+l+t.dump)):(YDe(t,u,t.dump),c&&(t.dump="&ref_"+l+" "+t.dump))}else if(o==="[object String]")t.tag!=="?"&&jDe(t,t.dump,e,s);else{if(t.skipInvalid)return!1;throw new Kp("unacceptable kind of an object to dump "+o)}t.tag!==null&&t.tag!=="?"&&(t.dump="!<"+t.tag+"> "+t.dump)}return!0}function zDe(t,e){var r=[],i=[],n,s;for(UP(t,r,i),n=0,s=i.length;n{"use strict";var ww=Vz(),E5=m5();function Bw(t){return function(){throw new Error("Function "+t+" is deprecated and cannot be used.")}}Qr.exports.Type=Xr();Qr.exports.Schema=ec();Qr.exports.FAILSAFE_SCHEMA=pw();Qr.exports.JSON_SCHEMA=DP();Qr.exports.CORE_SCHEMA=RP();Qr.exports.DEFAULT_SAFE_SCHEMA=og();Qr.exports.DEFAULT_FULL_SCHEMA=Tp();Qr.exports.load=ww.load;Qr.exports.loadAll=ww.loadAll;Qr.exports.safeLoad=ww.safeLoad;Qr.exports.safeLoadAll=ww.safeLoadAll;Qr.exports.dump=E5.dump;Qr.exports.safeDump=E5.safeDump;Qr.exports.YAMLException=ng();Qr.exports.MINIMAL_SCHEMA=pw();Qr.exports.SAFE_SCHEMA=og();Qr.exports.DEFAULT_SCHEMA=Tp();Qr.exports.scan=Bw("scan");Qr.exports.parse=Bw("parse");Qr.exports.compose=Bw("compose");Qr.exports.addConstructor=Bw("addConstructor")});var w5=E((wat,y5)=>{"use strict";var _De=I5();y5.exports=_De});var Q5=E((Bat,B5)=>{"use strict";function XDe(t,e){function r(){this.constructor=t}r.prototype=e.prototype,t.prototype=new r}function nc(t,e,r,i){this.message=t,this.expected=e,this.found=r,this.location=i,this.name="SyntaxError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,nc)}XDe(nc,Error);nc.buildMessage=function(t,e){var r={literal:function(c){return'"'+n(c.text)+'"'},class:function(c){var u="",g;for(g=0;g0){for(g=1,f=1;g({[xe]:le})))},H=function(x){return x},L=function(x){return x},K=Yo("correct indentation"),J=" ",ne=fr(" ",!1),q=function(x){return x.length===Zc*aE},A=function(x){return x.length===(Zc+1)*aE},V=function(){return Zc++,!0},W=function(){return Zc--,!0},X=function(){return Xm()},F=Yo("pseudostring"),D=/^[^\r\n\t ?:,\][{}#&*!|>'"%@`\-]/,he=Bs(["\r",` +`," "," ","?",":",",","]","[","{","}","#","&","*","!","|",">","'",'"',"%","@","`","-"],!0,!1),pe=/^[^\r\n\t ,\][{}:#"']/,Ne=Bs(["\r",` +`," "," ",",","]","[","{","}",":","#",'"',"'"],!0,!1),Pe=function(){return Xm().replace(/^ *| *$/g,"")},qe="--",re=fr("--",!1),se=/^[a-zA-Z\/0-9]/,be=Bs([["a","z"],["A","Z"],"/",["0","9"]],!1,!1),ae=/^[^\r\n\t :,]/,Ae=Bs(["\r",` +`," "," ",":",","],!0,!1),De="null",$=fr("null",!1),G=function(){return null},Ce="true",ee=fr("true",!1),Ue=function(){return!0},Oe="false",vt=fr("false",!1),dt=function(){return!1},ri=Yo("string"),ii='"',an=fr('"',!1),yr=function(){return""},Ki=function(x){return x},Qi=function(x){return x.join("")},Go=/^[^"\\\0-\x1F\x7F]/,wr=Bs(['"',"\\",["\0",""],"\x7F"],!0,!1),Ui='\\"',ws=fr('\\"',!1),Tf=function(){return'"'},Mf="\\\\",Rm=fr("\\\\",!1),Fm=function(){return"\\"},Nm="\\/",DQ=fr("\\/",!1),RQ=function(){return"/"},Of="\\b",FQ=fr("\\b",!1),NQ=function(){return"\b"},Lm="\\f",LQ=fr("\\f",!1),Va=function(){return"\f"},jo="\\n",Tm=fr("\\n",!1),Mm=function(){return` +`},te="\\r",Om=fr("\\r",!1),Km=function(){return"\r"},il="\\t",Um=fr("\\t",!1),Hm=function(){return" "},Kf="\\u",Gm=fr("\\u",!1),jm=function(x,U,le,xe){return String.fromCharCode(parseInt(`0x${x}${U}${le}${xe}`))},TQ=/^[0-9a-fA-F]/,MQ=Bs([["0","9"],["a","f"],["A","F"]],!1,!1),Ym=Yo("blank space"),qm=/^[ \t]/,Jm=Bs([" "," "],!1,!1),Wm=Yo("white space"),zm=/^[ \t\n\r]/,Vm=Bs([" "," ",` +`,"\r"],!1,!1),Uf=`\r +`,OQ=fr(`\r +`,!1),KQ=` +`,_m=fr(` +`,!1),UQ="\r",HQ=fr("\r",!1),O=0,ht=0,Vc=[{line:1,column:1}],xn=0,Hf=[],Ye=0,nl;if("startRule"in e){if(!(e.startRule in i))throw new Error(`Can't start parsing from rule "`+e.startRule+'".');n=i[e.startRule]}function Xm(){return t.substring(ht,O)}function MM(){return _a(ht,O)}function GQ(x,U){throw U=U!==void 0?U:_a(ht,O),eE([Yo(x)],t.substring(ht,O),U)}function OM(x,U){throw U=U!==void 0?U:_a(ht,O),YQ(x,U)}function fr(x,U){return{type:"literal",text:x,ignoreCase:U}}function Bs(x,U,le){return{type:"class",parts:x,inverted:U,ignoreCase:le}}function jQ(){return{type:"any"}}function Zm(){return{type:"end"}}function Yo(x){return{type:"other",description:x}}function $m(x){var U=Vc[x],le;if(U)return U;for(le=x-1;!Vc[le];)le--;for(U=Vc[le],U={line:U.line,column:U.column};lexn&&(xn=O,Hf=[]),Hf.push(x))}function YQ(x,U){return new nc(x,null,null,U)}function eE(x,U,le){return new nc(nc.buildMessage(x,U),x,U,le)}function tE(){var x;return x=ol(),x}function Xa(){var x,U,le;for(x=O,U=[],le=sl();le!==r;)U.push(le),le=sl();return U!==r&&(ht=x,U=s(U)),x=U,x}function sl(){var x,U,le,xe,Qe;return x=O,U=Al(),U!==r?(t.charCodeAt(O)===45?(le=o,O++):(le=r,Ye===0&&et(a)),le!==r?(xe=xr(),xe!==r?(Qe=qo(),Qe!==r?(ht=x,U=l(Qe),x=U):(O=x,x=r)):(O=x,x=r)):(O=x,x=r)):(O=x,x=r),x}function ol(){var x,U,le;for(x=O,U=[],le=al();le!==r;)U.push(le),le=al();return U!==r&&(ht=x,U=c(U)),x=U,x}function al(){var x,U,le,xe,Qe,Ge,ct,sr,Wo;if(x=O,U=xr(),U===r&&(U=null),U!==r){if(le=O,t.charCodeAt(O)===35?(xe=u,O++):(xe=r,Ye===0&&et(g)),xe!==r){if(Qe=[],Ge=O,ct=O,Ye++,sr=Zs(),Ye--,sr===r?ct=void 0:(O=ct,ct=r),ct!==r?(t.length>O?(sr=t.charAt(O),O++):(sr=r,Ye===0&&et(f)),sr!==r?(ct=[ct,sr],Ge=ct):(O=Ge,Ge=r)):(O=Ge,Ge=r),Ge!==r)for(;Ge!==r;)Qe.push(Ge),Ge=O,ct=O,Ye++,sr=Zs(),Ye--,sr===r?ct=void 0:(O=ct,ct=r),ct!==r?(t.length>O?(sr=t.charAt(O),O++):(sr=r,Ye===0&&et(f)),sr!==r?(ct=[ct,sr],Ge=ct):(O=Ge,Ge=r)):(O=Ge,Ge=r);else Qe=r;Qe!==r?(xe=[xe,Qe],le=xe):(O=le,le=r)}else O=le,le=r;if(le===r&&(le=null),le!==r){if(xe=[],Qe=Jo(),Qe!==r)for(;Qe!==r;)xe.push(Qe),Qe=Jo();else xe=r;xe!==r?(ht=x,U=h(),x=U):(O=x,x=r)}else O=x,x=r}else O=x,x=r;if(x===r&&(x=O,U=Al(),U!==r?(le=JQ(),le!==r?(xe=xr(),xe===r&&(xe=null),xe!==r?(t.charCodeAt(O)===58?(Qe=p,O++):(Qe=r,Ye===0&&et(d)),Qe!==r?(Ge=xr(),Ge===r&&(Ge=null),Ge!==r?(ct=qo(),ct!==r?(ht=x,U=m(le,ct),x=U):(O=x,x=r)):(O=x,x=r)):(O=x,x=r)):(O=x,x=r)):(O=x,x=r)):(O=x,x=r),x===r&&(x=O,U=Al(),U!==r?(le=ll(),le!==r?(xe=xr(),xe===r&&(xe=null),xe!==r?(t.charCodeAt(O)===58?(Qe=p,O++):(Qe=r,Ye===0&&et(d)),Qe!==r?(Ge=xr(),Ge===r&&(Ge=null),Ge!==r?(ct=qo(),ct!==r?(ht=x,U=m(le,ct),x=U):(O=x,x=r)):(O=x,x=r)):(O=x,x=r)):(O=x,x=r)):(O=x,x=r)):(O=x,x=r),x===r))){if(x=O,U=Al(),U!==r)if(le=ll(),le!==r)if(xe=xr(),xe!==r)if(Qe=nE(),Qe!==r){if(Ge=[],ct=Jo(),ct!==r)for(;ct!==r;)Ge.push(ct),ct=Jo();else Ge=r;Ge!==r?(ht=x,U=m(le,Qe),x=U):(O=x,x=r)}else O=x,x=r;else O=x,x=r;else O=x,x=r;else O=x,x=r;if(x===r)if(x=O,U=Al(),U!==r)if(le=ll(),le!==r){if(xe=[],Qe=O,Ge=xr(),Ge===r&&(Ge=null),Ge!==r?(t.charCodeAt(O)===44?(ct=I,O++):(ct=r,Ye===0&&et(B)),ct!==r?(sr=xr(),sr===r&&(sr=null),sr!==r?(Wo=ll(),Wo!==r?(ht=Qe,Ge=b(le,Wo),Qe=Ge):(O=Qe,Qe=r)):(O=Qe,Qe=r)):(O=Qe,Qe=r)):(O=Qe,Qe=r),Qe!==r)for(;Qe!==r;)xe.push(Qe),Qe=O,Ge=xr(),Ge===r&&(Ge=null),Ge!==r?(t.charCodeAt(O)===44?(ct=I,O++):(ct=r,Ye===0&&et(B)),ct!==r?(sr=xr(),sr===r&&(sr=null),sr!==r?(Wo=ll(),Wo!==r?(ht=Qe,Ge=b(le,Wo),Qe=Ge):(O=Qe,Qe=r)):(O=Qe,Qe=r)):(O=Qe,Qe=r)):(O=Qe,Qe=r);else xe=r;xe!==r?(Qe=xr(),Qe===r&&(Qe=null),Qe!==r?(t.charCodeAt(O)===58?(Ge=p,O++):(Ge=r,Ye===0&&et(d)),Ge!==r?(ct=xr(),ct===r&&(ct=null),ct!==r?(sr=qo(),sr!==r?(ht=x,U=R(le,xe,sr),x=U):(O=x,x=r)):(O=x,x=r)):(O=x,x=r)):(O=x,x=r)):(O=x,x=r)}else O=x,x=r;else O=x,x=r}return x}function qo(){var x,U,le,xe,Qe,Ge,ct;if(x=O,U=O,Ye++,le=O,xe=Zs(),xe!==r?(Qe=qQ(),Qe!==r?(t.charCodeAt(O)===45?(Ge=o,O++):(Ge=r,Ye===0&&et(a)),Ge!==r?(ct=xr(),ct!==r?(xe=[xe,Qe,Ge,ct],le=xe):(O=le,le=r)):(O=le,le=r)):(O=le,le=r)):(O=le,le=r),Ye--,le!==r?(O=U,U=void 0):U=r,U!==r?(le=Jo(),le!==r?(xe=rE(),xe!==r?(Qe=Xa(),Qe!==r?(Ge=iE(),Ge!==r?(ht=x,U=H(Qe),x=U):(O=x,x=r)):(O=x,x=r)):(O=x,x=r)):(O=x,x=r)):(O=x,x=r),x===r&&(x=O,U=Zs(),U!==r?(le=rE(),le!==r?(xe=ol(),xe!==r?(Qe=iE(),Qe!==r?(ht=x,U=H(xe),x=U):(O=x,x=r)):(O=x,x=r)):(O=x,x=r)):(O=x,x=r),x===r))if(x=O,U=WQ(),U!==r){if(le=[],xe=Jo(),xe!==r)for(;xe!==r;)le.push(xe),xe=Jo();else le=r;le!==r?(ht=x,U=L(U),x=U):(O=x,x=r)}else O=x,x=r;return x}function Al(){var x,U,le;for(Ye++,x=O,U=[],t.charCodeAt(O)===32?(le=J,O++):(le=r,Ye===0&&et(ne));le!==r;)U.push(le),t.charCodeAt(O)===32?(le=J,O++):(le=r,Ye===0&&et(ne));return U!==r?(ht=O,le=q(U),le?le=void 0:le=r,le!==r?(U=[U,le],x=U):(O=x,x=r)):(O=x,x=r),Ye--,x===r&&(U=r,Ye===0&&et(K)),x}function qQ(){var x,U,le;for(x=O,U=[],t.charCodeAt(O)===32?(le=J,O++):(le=r,Ye===0&&et(ne));le!==r;)U.push(le),t.charCodeAt(O)===32?(le=J,O++):(le=r,Ye===0&&et(ne));return U!==r?(ht=O,le=A(U),le?le=void 0:le=r,le!==r?(U=[U,le],x=U):(O=x,x=r)):(O=x,x=r),x}function rE(){var x;return ht=O,x=V(),x?x=void 0:x=r,x}function iE(){var x;return ht=O,x=W(),x?x=void 0:x=r,x}function JQ(){var x;return x=cl(),x===r&&(x=Gf()),x}function ll(){var x,U,le;if(x=cl(),x===r){if(x=O,U=[],le=_c(),le!==r)for(;le!==r;)U.push(le),le=_c();else U=r;U!==r&&(ht=x,U=X()),x=U}return x}function WQ(){var x;return x=jf(),x===r&&(x=sE(),x===r&&(x=cl(),x===r&&(x=Gf()))),x}function nE(){var x;return x=jf(),x===r&&(x=cl(),x===r&&(x=_c())),x}function Gf(){var x,U,le,xe,Qe,Ge;if(Ye++,x=O,D.test(t.charAt(O))?(U=t.charAt(O),O++):(U=r,Ye===0&&et(he)),U!==r){for(le=[],xe=O,Qe=xr(),Qe===r&&(Qe=null),Qe!==r?(pe.test(t.charAt(O))?(Ge=t.charAt(O),O++):(Ge=r,Ye===0&&et(Ne)),Ge!==r?(Qe=[Qe,Ge],xe=Qe):(O=xe,xe=r)):(O=xe,xe=r);xe!==r;)le.push(xe),xe=O,Qe=xr(),Qe===r&&(Qe=null),Qe!==r?(pe.test(t.charAt(O))?(Ge=t.charAt(O),O++):(Ge=r,Ye===0&&et(Ne)),Ge!==r?(Qe=[Qe,Ge],xe=Qe):(O=xe,xe=r)):(O=xe,xe=r);le!==r?(ht=x,U=Pe(),x=U):(O=x,x=r)}else O=x,x=r;return Ye--,x===r&&(U=r,Ye===0&&et(F)),x}function _c(){var x,U,le,xe,Qe;if(x=O,t.substr(O,2)===qe?(U=qe,O+=2):(U=r,Ye===0&&et(re)),U===r&&(U=null),U!==r)if(se.test(t.charAt(O))?(le=t.charAt(O),O++):(le=r,Ye===0&&et(be)),le!==r){for(xe=[],ae.test(t.charAt(O))?(Qe=t.charAt(O),O++):(Qe=r,Ye===0&&et(Ae));Qe!==r;)xe.push(Qe),ae.test(t.charAt(O))?(Qe=t.charAt(O),O++):(Qe=r,Ye===0&&et(Ae));xe!==r?(ht=x,U=Pe(),x=U):(O=x,x=r)}else O=x,x=r;else O=x,x=r;return x}function jf(){var x,U;return x=O,t.substr(O,4)===De?(U=De,O+=4):(U=r,Ye===0&&et($)),U!==r&&(ht=x,U=G()),x=U,x}function sE(){var x,U;return x=O,t.substr(O,4)===Ce?(U=Ce,O+=4):(U=r,Ye===0&&et(ee)),U!==r&&(ht=x,U=Ue()),x=U,x===r&&(x=O,t.substr(O,5)===Oe?(U=Oe,O+=5):(U=r,Ye===0&&et(vt)),U!==r&&(ht=x,U=dt()),x=U),x}function cl(){var x,U,le,xe;return Ye++,x=O,t.charCodeAt(O)===34?(U=ii,O++):(U=r,Ye===0&&et(an)),U!==r?(t.charCodeAt(O)===34?(le=ii,O++):(le=r,Ye===0&&et(an)),le!==r?(ht=x,U=yr(),x=U):(O=x,x=r)):(O=x,x=r),x===r&&(x=O,t.charCodeAt(O)===34?(U=ii,O++):(U=r,Ye===0&&et(an)),U!==r?(le=oE(),le!==r?(t.charCodeAt(O)===34?(xe=ii,O++):(xe=r,Ye===0&&et(an)),xe!==r?(ht=x,U=Ki(le),x=U):(O=x,x=r)):(O=x,x=r)):(O=x,x=r)),Ye--,x===r&&(U=r,Ye===0&&et(ri)),x}function oE(){var x,U,le;if(x=O,U=[],le=Yf(),le!==r)for(;le!==r;)U.push(le),le=Yf();else U=r;return U!==r&&(ht=x,U=Qi(U)),x=U,x}function Yf(){var x,U,le,xe,Qe,Ge;return Go.test(t.charAt(O))?(x=t.charAt(O),O++):(x=r,Ye===0&&et(wr)),x===r&&(x=O,t.substr(O,2)===Ui?(U=Ui,O+=2):(U=r,Ye===0&&et(ws)),U!==r&&(ht=x,U=Tf()),x=U,x===r&&(x=O,t.substr(O,2)===Mf?(U=Mf,O+=2):(U=r,Ye===0&&et(Rm)),U!==r&&(ht=x,U=Fm()),x=U,x===r&&(x=O,t.substr(O,2)===Nm?(U=Nm,O+=2):(U=r,Ye===0&&et(DQ)),U!==r&&(ht=x,U=RQ()),x=U,x===r&&(x=O,t.substr(O,2)===Of?(U=Of,O+=2):(U=r,Ye===0&&et(FQ)),U!==r&&(ht=x,U=NQ()),x=U,x===r&&(x=O,t.substr(O,2)===Lm?(U=Lm,O+=2):(U=r,Ye===0&&et(LQ)),U!==r&&(ht=x,U=Va()),x=U,x===r&&(x=O,t.substr(O,2)===jo?(U=jo,O+=2):(U=r,Ye===0&&et(Tm)),U!==r&&(ht=x,U=Mm()),x=U,x===r&&(x=O,t.substr(O,2)===te?(U=te,O+=2):(U=r,Ye===0&&et(Om)),U!==r&&(ht=x,U=Km()),x=U,x===r&&(x=O,t.substr(O,2)===il?(U=il,O+=2):(U=r,Ye===0&&et(Um)),U!==r&&(ht=x,U=Hm()),x=U,x===r&&(x=O,t.substr(O,2)===Kf?(U=Kf,O+=2):(U=r,Ye===0&&et(Gm)),U!==r?(le=Xc(),le!==r?(xe=Xc(),xe!==r?(Qe=Xc(),Qe!==r?(Ge=Xc(),Ge!==r?(ht=x,U=jm(le,xe,Qe,Ge),x=U):(O=x,x=r)):(O=x,x=r)):(O=x,x=r)):(O=x,x=r)):(O=x,x=r)))))))))),x}function Xc(){var x;return TQ.test(t.charAt(O))?(x=t.charAt(O),O++):(x=r,Ye===0&&et(MQ)),x}function xr(){var x,U;if(Ye++,x=[],qm.test(t.charAt(O))?(U=t.charAt(O),O++):(U=r,Ye===0&&et(Jm)),U!==r)for(;U!==r;)x.push(U),qm.test(t.charAt(O))?(U=t.charAt(O),O++):(U=r,Ye===0&&et(Jm));else x=r;return Ye--,x===r&&(U=r,Ye===0&&et(Ym)),x}function KM(){var x,U;if(Ye++,x=[],zm.test(t.charAt(O))?(U=t.charAt(O),O++):(U=r,Ye===0&&et(Vm)),U!==r)for(;U!==r;)x.push(U),zm.test(t.charAt(O))?(U=t.charAt(O),O++):(U=r,Ye===0&&et(Vm));else x=r;return Ye--,x===r&&(U=r,Ye===0&&et(Wm)),x}function Jo(){var x,U,le,xe,Qe,Ge;if(x=O,U=Zs(),U!==r){for(le=[],xe=O,Qe=xr(),Qe===r&&(Qe=null),Qe!==r?(Ge=Zs(),Ge!==r?(Qe=[Qe,Ge],xe=Qe):(O=xe,xe=r)):(O=xe,xe=r);xe!==r;)le.push(xe),xe=O,Qe=xr(),Qe===r&&(Qe=null),Qe!==r?(Ge=Zs(),Ge!==r?(Qe=[Qe,Ge],xe=Qe):(O=xe,xe=r)):(O=xe,xe=r);le!==r?(U=[U,le],x=U):(O=x,x=r)}else O=x,x=r;return x}function Zs(){var x;return t.substr(O,2)===Uf?(x=Uf,O+=2):(x=r,Ye===0&&et(OQ)),x===r&&(t.charCodeAt(O)===10?(x=KQ,O++):(x=r,Ye===0&&et(_m)),x===r&&(t.charCodeAt(O)===13?(x=UQ,O++):(x=r,Ye===0&&et(HQ)))),x}let aE=2,Zc=0;if(nl=n(),nl!==r&&O===t.length)return nl;throw nl!==r&&O{var fRe=typeof global=="object"&&global&&global.Object===Object&&global;V5.exports=fRe});var Ks=E((Zat,_5)=>{var hRe=WP(),pRe=typeof self=="object"&&self&&self.Object===Object&&self,dRe=hRe||pRe||Function("return this")();_5.exports=dRe});var ac=E(($at,X5)=>{var CRe=Ks(),mRe=CRe.Symbol;X5.exports=mRe});var $5=E((eAt,Z5)=>{function ERe(t,e){for(var r=-1,i=t==null?0:t.length,n=Array(i);++r{var IRe=Array.isArray;e6.exports=IRe});var n6=E((rAt,t6)=>{var r6=ac(),i6=Object.prototype,yRe=i6.hasOwnProperty,wRe=i6.toString,Jp=r6?r6.toStringTag:void 0;function BRe(t){var e=yRe.call(t,Jp),r=t[Jp];try{t[Jp]=void 0;var i=!0}catch(s){}var n=wRe.call(t);return i&&(e?t[Jp]=r:delete t[Jp]),n}t6.exports=BRe});var o6=E((iAt,s6)=>{var QRe=Object.prototype,bRe=QRe.toString;function vRe(t){return bRe.call(t)}s6.exports=vRe});var Ac=E((nAt,a6)=>{var A6=ac(),SRe=n6(),xRe=o6(),kRe="[object Null]",PRe="[object Undefined]",l6=A6?A6.toStringTag:void 0;function DRe(t){return t==null?t===void 0?PRe:kRe:l6&&l6 in Object(t)?SRe(t):xRe(t)}a6.exports=DRe});var Qo=E((sAt,c6)=>{function RRe(t){return t!=null&&typeof t=="object"}c6.exports=RRe});var Nw=E((oAt,u6)=>{var FRe=Ac(),NRe=Qo(),LRe="[object Symbol]";function TRe(t){return typeof t=="symbol"||NRe(t)&&FRe(t)==LRe}u6.exports=TRe});var C6=E((aAt,g6)=>{var f6=ac(),MRe=$5(),ORe=As(),KRe=Nw(),URe=1/0,h6=f6?f6.prototype:void 0,p6=h6?h6.toString:void 0;function d6(t){if(typeof t=="string")return t;if(ORe(t))return MRe(t,d6)+"";if(KRe(t))return p6?p6.call(t):"";var e=t+"";return e=="0"&&1/t==-URe?"-0":e}g6.exports=d6});var gg=E((AAt,m6)=>{var HRe=C6();function GRe(t){return t==null?"":HRe(t)}m6.exports=GRe});var zP=E((lAt,E6)=>{function jRe(t,e,r){var i=-1,n=t.length;e<0&&(e=-e>n?0:n+e),r=r>n?n:r,r<0&&(r+=n),n=e>r?0:r-e>>>0,e>>>=0;for(var s=Array(n);++i{var YRe=zP();function qRe(t,e,r){var i=t.length;return r=r===void 0?i:r,!e&&r>=i?t:YRe(t,e,r)}I6.exports=qRe});var VP=E((uAt,w6)=>{var JRe="\\ud800-\\udfff",WRe="\\u0300-\\u036f",zRe="\\ufe20-\\ufe2f",VRe="\\u20d0-\\u20ff",_Re=WRe+zRe+VRe,XRe="\\ufe0e\\ufe0f",ZRe="\\u200d",$Re=RegExp("["+ZRe+JRe+_Re+XRe+"]");function eFe(t){return $Re.test(t)}w6.exports=eFe});var Q6=E((gAt,B6)=>{function tFe(t){return t.split("")}B6.exports=tFe});var R6=E((fAt,b6)=>{var v6="\\ud800-\\udfff",rFe="\\u0300-\\u036f",iFe="\\ufe20-\\ufe2f",nFe="\\u20d0-\\u20ff",sFe=rFe+iFe+nFe,oFe="\\ufe0e\\ufe0f",aFe="["+v6+"]",_P="["+sFe+"]",XP="\\ud83c[\\udffb-\\udfff]",AFe="(?:"+_P+"|"+XP+")",S6="[^"+v6+"]",x6="(?:\\ud83c[\\udde6-\\uddff]){2}",k6="[\\ud800-\\udbff][\\udc00-\\udfff]",lFe="\\u200d",P6=AFe+"?",D6="["+oFe+"]?",cFe="(?:"+lFe+"(?:"+[S6,x6,k6].join("|")+")"+D6+P6+")*",uFe=D6+P6+cFe,gFe="(?:"+[S6+_P+"?",_P,x6,k6,aFe].join("|")+")",fFe=RegExp(XP+"(?="+XP+")|"+gFe+uFe,"g");function hFe(t){return t.match(fFe)||[]}b6.exports=hFe});var N6=E((hAt,F6)=>{var pFe=Q6(),dFe=VP(),CFe=R6();function mFe(t){return dFe(t)?CFe(t):pFe(t)}F6.exports=mFe});var T6=E((pAt,L6)=>{var EFe=y6(),IFe=VP(),yFe=N6(),wFe=gg();function BFe(t){return function(e){e=wFe(e);var r=IFe(e)?yFe(e):void 0,i=r?r[0]:e.charAt(0),n=r?EFe(r,1).join(""):e.slice(1);return i[t]()+n}}L6.exports=BFe});var O6=E((dAt,M6)=>{var QFe=T6(),bFe=QFe("toUpperCase");M6.exports=bFe});var ZP=E((CAt,K6)=>{var vFe=gg(),SFe=O6();function xFe(t){return SFe(vFe(t).toLowerCase())}K6.exports=xFe});var H6=E((mAt,U6)=>{"use strict";U6.exports=(t,...e)=>new Promise(r=>{r(t(...e))})});var Wp=E((EAt,$P)=>{"use strict";var kFe=H6(),G6=t=>{if(t<1)throw new TypeError("Expected `concurrency` to be a number from 1 and up");let e=[],r=0,i=()=>{r--,e.length>0&&e.shift()()},n=(a,l,...c)=>{r++;let u=kFe(a,...c);l(u),u.then(i,i)},s=(a,l,...c)=>{rnew Promise(c=>s(a,c,...l));return Object.defineProperties(o,{activeCount:{get:()=>r},pendingCount:{get:()=>e.length}}),o};$P.exports=G6;$P.exports.default=G6});var X6=E((FAt,Mw)=>{function PFe(){var t=0,e=1,r=2,i=3,n=4,s=5,o=6,a=7,l=8,c=9,u=10,g=11,f=12,h=13,p=14,d=15,m=16,I=17,B=0,b=1,R=2,H=3,L=4;function K(A,V){return 55296<=A.charCodeAt(V)&&A.charCodeAt(V)<=56319&&56320<=A.charCodeAt(V+1)&&A.charCodeAt(V+1)<=57343}function J(A,V){V===void 0&&(V=0);var W=A.charCodeAt(V);if(55296<=W&&W<=56319&&V=1){var X=A.charCodeAt(V-1),F=W;return 55296<=X&&X<=56319?(X-55296)*1024+(F-56320)+65536:F}return W}function ne(A,V,W){var X=[A].concat(V).concat([W]),F=X[X.length-2],D=W,he=X.lastIndexOf(p);if(he>1&&X.slice(1,he).every(function(Pe){return Pe==i})&&[i,h,I].indexOf(A)==-1)return R;var pe=X.lastIndexOf(n);if(pe>0&&X.slice(1,pe).every(function(Pe){return Pe==n})&&[f,n].indexOf(F)==-1)return X.filter(function(Pe){return Pe==n}).length%2==1?H:L;if(F==t&&D==e)return B;if(F==r||F==t||F==e)return D==p&&V.every(function(Pe){return Pe==i})?R:b;if(D==r||D==t||D==e)return b;if(F==o&&(D==o||D==a||D==c||D==u))return B;if((F==c||F==a)&&(D==a||D==l))return B;if((F==u||F==l)&&D==l)return B;if(D==i||D==d)return B;if(D==s)return B;if(F==f)return B;var Ne=X.indexOf(i)!=-1?X.lastIndexOf(i)-1:X.length-2;return[h,I].indexOf(X[Ne])!=-1&&X.slice(Ne+1,-1).every(function(Pe){return Pe==i})&&D==p||F==d&&[m,I].indexOf(D)!=-1?B:V.indexOf(n)!=-1?R:F==n&&D==n?B:b}this.nextBreak=function(A,V){if(V===void 0&&(V=0),V<0)return 0;if(V>=A.length-1)return A.length;for(var W=q(J(A,V)),X=[],F=V+1;F{var DFe=X6(),RFe=/^(.*?)(\x1b\[[^m]+m|\x1b\]8;;.*?(\x1b\\|\u0007))/,FFe=new DFe;Z6.exports=(t,e=0,r=t.length)=>{if(e<0||r<0)throw new RangeError("Negative indices aren't supported by this implementation");let i=r-e,n="",s=0,o=0;for(;t.length>0;){let a=t.match(RFe)||[t,t,void 0],l=FFe.splitGraphemes(a[1]),c=Math.min(e-s,l.length);l=l.slice(c);let u=Math.min(i-o,l.length);n+=l.slice(0,u).join(""),s+=c,o+=u,typeof a[2]!="undefined"&&(n+=a[2]),t=t.slice(a[0].length)}return n}});var fg=E((alt,f9)=>{"use strict";var h9=new Map([["C","cwd"],["f","file"],["z","gzip"],["P","preservePaths"],["U","unlink"],["strip-components","strip"],["stripComponents","strip"],["keep-newer","newer"],["keepNewer","newer"],["keep-newer-files","newer"],["keepNewerFiles","newer"],["k","keep"],["keep-existing","keep"],["keepExisting","keep"],["m","noMtime"],["no-mtime","noMtime"],["p","preserveOwner"],["L","follow"],["h","follow"]]),olt=f9.exports=t=>t?Object.keys(t).map(e=>[h9.has(e)?h9.get(e):e,t[e]]).reduce((e,r)=>(e[r[0]]=r[1],e),Object.create(null)):{}});var hg=E((Alt,p9)=>{"use strict";var JFe=require("events"),d9=require("stream"),_p=Rh(),C9=require("string_decoder").StringDecoder,va=Symbol("EOF"),Xp=Symbol("maybeEmitEnd"),xA=Symbol("emittedEnd"),Gw=Symbol("emittingEnd"),jw=Symbol("closed"),m9=Symbol("read"),iD=Symbol("flush"),E9=Symbol("flushChunk"),Bn=Symbol("encoding"),Sa=Symbol("decoder"),Yw=Symbol("flowing"),Zp=Symbol("paused"),$p=Symbol("resume"),rn=Symbol("bufferLength"),I9=Symbol("bufferPush"),nD=Symbol("bufferShift"),Ni=Symbol("objectMode"),Li=Symbol("destroyed"),y9=global._MP_NO_ITERATOR_SYMBOLS_!=="1",WFe=y9&&Symbol.asyncIterator||Symbol("asyncIterator not implemented"),zFe=y9&&Symbol.iterator||Symbol("iterator not implemented"),w9=t=>t==="end"||t==="finish"||t==="prefinish",VFe=t=>t instanceof ArrayBuffer||typeof t=="object"&&t.constructor&&t.constructor.name==="ArrayBuffer"&&t.byteLength>=0,_Fe=t=>!Buffer.isBuffer(t)&&ArrayBuffer.isView(t);p9.exports=class B9 extends d9{constructor(e){super();this[Yw]=!1,this[Zp]=!1,this.pipes=new _p,this.buffer=new _p,this[Ni]=e&&e.objectMode||!1,this[Ni]?this[Bn]=null:this[Bn]=e&&e.encoding||null,this[Bn]==="buffer"&&(this[Bn]=null),this[Sa]=this[Bn]?new C9(this[Bn]):null,this[va]=!1,this[xA]=!1,this[Gw]=!1,this[jw]=!1,this.writable=!0,this.readable=!0,this[rn]=0,this[Li]=!1}get bufferLength(){return this[rn]}get encoding(){return this[Bn]}set encoding(e){if(this[Ni])throw new Error("cannot set encoding in objectMode");if(this[Bn]&&e!==this[Bn]&&(this[Sa]&&this[Sa].lastNeed||this[rn]))throw new Error("cannot change encoding");this[Bn]!==e&&(this[Sa]=e?new C9(e):null,this.buffer.length&&(this.buffer=this.buffer.map(r=>this[Sa].write(r)))),this[Bn]=e}setEncoding(e){this.encoding=e}get objectMode(){return this[Ni]}set objectMode(e){this[Ni]=this[Ni]||!!e}write(e,r,i){if(this[va])throw new Error("write after end");return this[Li]?(this.emit("error",Object.assign(new Error("Cannot call write after a stream was destroyed"),{code:"ERR_STREAM_DESTROYED"})),!0):(typeof r=="function"&&(i=r,r="utf8"),r||(r="utf8"),!this[Ni]&&!Buffer.isBuffer(e)&&(_Fe(e)?e=Buffer.from(e.buffer,e.byteOffset,e.byteLength):VFe(e)?e=Buffer.from(e):typeof e!="string"&&(this.objectMode=!0)),!this.objectMode&&!e.length?(this[rn]!==0&&this.emit("readable"),i&&i(),this.flowing):(typeof e=="string"&&!this[Ni]&&!(r===this[Bn]&&!this[Sa].lastNeed)&&(e=Buffer.from(e,r)),Buffer.isBuffer(e)&&this[Bn]&&(e=this[Sa].write(e)),this.flowing?(this[rn]!==0&&this[iD](!0),this.emit("data",e)):this[I9](e),this[rn]!==0&&this.emit("readable"),i&&i(),this.flowing))}read(e){if(this[Li])return null;try{return this[rn]===0||e===0||e>this[rn]?null:(this[Ni]&&(e=null),this.buffer.length>1&&!this[Ni]&&(this.encoding?this.buffer=new _p([Array.from(this.buffer).join("")]):this.buffer=new _p([Buffer.concat(Array.from(this.buffer),this[rn])])),this[m9](e||null,this.buffer.head.value))}finally{this[Xp]()}}[m9](e,r){return e===r.length||e===null?this[nD]():(this.buffer.head.value=r.slice(e),r=r.slice(0,e),this[rn]-=e),this.emit("data",r),!this.buffer.length&&!this[va]&&this.emit("drain"),r}end(e,r,i){return typeof e=="function"&&(i=e,e=null),typeof r=="function"&&(i=r,r="utf8"),e&&this.write(e,r),i&&this.once("end",i),this[va]=!0,this.writable=!1,(this.flowing||!this[Zp])&&this[Xp](),this}[$p](){this[Li]||(this[Zp]=!1,this[Yw]=!0,this.emit("resume"),this.buffer.length?this[iD]():this[va]?this[Xp]():this.emit("drain"))}resume(){return this[$p]()}pause(){this[Yw]=!1,this[Zp]=!0}get destroyed(){return this[Li]}get flowing(){return this[Yw]}get paused(){return this[Zp]}[I9](e){return this[Ni]?this[rn]+=1:this[rn]+=e.length,this.buffer.push(e)}[nD](){return this.buffer.length&&(this[Ni]?this[rn]-=1:this[rn]-=this.buffer.head.value.length),this.buffer.shift()}[iD](e){do;while(this[E9](this[nD]()));!e&&!this.buffer.length&&!this[va]&&this.emit("drain")}[E9](e){return e?(this.emit("data",e),this.flowing):!1}pipe(e,r){if(this[Li])return;let i=this[xA];r=r||{},e===process.stdout||e===process.stderr?r.end=!1:r.end=r.end!==!1;let n={dest:e,opts:r,ondrain:s=>this[$p]()};return this.pipes.push(n),e.on("drain",n.ondrain),this[$p](),i&&n.opts.end&&n.dest.end(),e}addListener(e,r){return this.on(e,r)}on(e,r){try{return super.on(e,r)}finally{e==="data"&&!this.pipes.length&&!this.flowing?this[$p]():w9(e)&&this[xA]&&(super.emit(e),this.removeAllListeners(e))}}get emittedEnd(){return this[xA]}[Xp](){!this[Gw]&&!this[xA]&&!this[Li]&&this.buffer.length===0&&this[va]&&(this[Gw]=!0,this.emit("end"),this.emit("prefinish"),this.emit("finish"),this[jw]&&this.emit("close"),this[Gw]=!1)}emit(e,r){if(e!=="error"&&e!=="close"&&e!==Li&&this[Li])return;if(e==="data"){if(!r)return;this.pipes.length&&this.pipes.forEach(n=>n.dest.write(r)===!1&&this.pause())}else if(e==="end"){if(this[xA]===!0)return;this[xA]=!0,this.readable=!1,this[Sa]&&(r=this[Sa].end(),r&&(this.pipes.forEach(n=>n.dest.write(r)),super.emit("data",r))),this.pipes.forEach(n=>{n.dest.removeListener("drain",n.ondrain),n.opts.end&&n.dest.end()})}else if(e==="close"&&(this[jw]=!0,!this[xA]&&!this[Li]))return;let i=new Array(arguments.length);if(i[0]=e,i[1]=r,arguments.length>2)for(let n=2;n{e.push(i),this[Ni]||(e.dataLength+=i.length)}),r.then(()=>e)}concat(){return this[Ni]?Promise.reject(new Error("cannot concat in objectMode")):this.collect().then(e=>this[Ni]?Promise.reject(new Error("cannot concat in objectMode")):this[Bn]?e.join(""):Buffer.concat(e,e.dataLength))}promise(){return new Promise((e,r)=>{this.on(Li,()=>r(new Error("stream destroyed"))),this.on("end",()=>e()),this.on("error",i=>r(i))})}[WFe](){return{next:()=>{let r=this.read();if(r!==null)return Promise.resolve({done:!1,value:r});if(this[va])return Promise.resolve({done:!0});let i=null,n=null,s=c=>{this.removeListener("data",o),this.removeListener("end",a),n(c)},o=c=>{this.removeListener("error",s),this.removeListener("end",a),this.pause(),i({value:c,done:!!this[va]})},a=()=>{this.removeListener("error",s),this.removeListener("data",o),i({done:!0})},l=()=>s(new Error("stream destroyed"));return new Promise((c,u)=>{n=u,i=c,this.once(Li,l),this.once("error",s),this.once("end",a),this.once("data",o)})}}}[zFe](){return{next:()=>{let r=this.read();return{value:r,done:r===null}}}}destroy(e){return this[Li]?(e?this.emit("error",e):this.emit(Li),this):(this[Li]=!0,this.buffer=new _p,this[rn]=0,typeof this.close=="function"&&!this[jw]&&this.close(),e?this.emit("error",e):this.emit(Li),this)}static isStream(e){return!!e&&(e instanceof B9||e instanceof d9||e instanceof JFe&&(typeof e.pipe=="function"||typeof e.write=="function"&&typeof e.end=="function"))}}});var b9=E((llt,Q9)=>{var XFe=require("zlib").constants||{ZLIB_VERNUM:4736};Q9.exports=Object.freeze(Object.assign(Object.create(null),{Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_VERSION_ERROR:-6,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,DEFLATE:1,INFLATE:2,GZIP:3,GUNZIP:4,DEFLATERAW:5,INFLATERAW:6,UNZIP:7,BROTLI_DECODE:8,BROTLI_ENCODE:9,Z_MIN_WINDOWBITS:8,Z_MAX_WINDOWBITS:15,Z_DEFAULT_WINDOWBITS:15,Z_MIN_CHUNK:64,Z_MAX_CHUNK:Infinity,Z_DEFAULT_CHUNK:16384,Z_MIN_MEMLEVEL:1,Z_MAX_MEMLEVEL:9,Z_DEFAULT_MEMLEVEL:8,Z_MIN_LEVEL:-1,Z_MAX_LEVEL:9,Z_DEFAULT_LEVEL:-1,BROTLI_OPERATION_PROCESS:0,BROTLI_OPERATION_FLUSH:1,BROTLI_OPERATION_FINISH:2,BROTLI_OPERATION_EMIT_METADATA:3,BROTLI_MODE_GENERIC:0,BROTLI_MODE_TEXT:1,BROTLI_MODE_FONT:2,BROTLI_DEFAULT_MODE:0,BROTLI_MIN_QUALITY:0,BROTLI_MAX_QUALITY:11,BROTLI_DEFAULT_QUALITY:11,BROTLI_MIN_WINDOW_BITS:10,BROTLI_MAX_WINDOW_BITS:24,BROTLI_LARGE_MAX_WINDOW_BITS:30,BROTLI_DEFAULT_WINDOW:22,BROTLI_MIN_INPUT_BLOCK_BITS:16,BROTLI_MAX_INPUT_BLOCK_BITS:24,BROTLI_PARAM_MODE:0,BROTLI_PARAM_QUALITY:1,BROTLI_PARAM_LGWIN:2,BROTLI_PARAM_LGBLOCK:3,BROTLI_PARAM_DISABLE_LITERAL_CONTEXT_MODELING:4,BROTLI_PARAM_SIZE_HINT:5,BROTLI_PARAM_LARGE_WINDOW:6,BROTLI_PARAM_NPOSTFIX:7,BROTLI_PARAM_NDIRECT:8,BROTLI_DECODER_RESULT_ERROR:0,BROTLI_DECODER_RESULT_SUCCESS:1,BROTLI_DECODER_RESULT_NEEDS_MORE_INPUT:2,BROTLI_DECODER_RESULT_NEEDS_MORE_OUTPUT:3,BROTLI_DECODER_PARAM_DISABLE_RING_BUFFER_REALLOCATION:0,BROTLI_DECODER_PARAM_LARGE_WINDOW:1,BROTLI_DECODER_NO_ERROR:0,BROTLI_DECODER_SUCCESS:1,BROTLI_DECODER_NEEDS_MORE_INPUT:2,BROTLI_DECODER_NEEDS_MORE_OUTPUT:3,BROTLI_DECODER_ERROR_FORMAT_EXUBERANT_NIBBLE:-1,BROTLI_DECODER_ERROR_FORMAT_RESERVED:-2,BROTLI_DECODER_ERROR_FORMAT_EXUBERANT_META_NIBBLE:-3,BROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_ALPHABET:-4,BROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_SAME:-5,BROTLI_DECODER_ERROR_FORMAT_CL_SPACE:-6,BROTLI_DECODER_ERROR_FORMAT_HUFFMAN_SPACE:-7,BROTLI_DECODER_ERROR_FORMAT_CONTEXT_MAP_REPEAT:-8,BROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_1:-9,BROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_2:-10,BROTLI_DECODER_ERROR_FORMAT_TRANSFORM:-11,BROTLI_DECODER_ERROR_FORMAT_DICTIONARY:-12,BROTLI_DECODER_ERROR_FORMAT_WINDOW_BITS:-13,BROTLI_DECODER_ERROR_FORMAT_PADDING_1:-14,BROTLI_DECODER_ERROR_FORMAT_PADDING_2:-15,BROTLI_DECODER_ERROR_FORMAT_DISTANCE:-16,BROTLI_DECODER_ERROR_DICTIONARY_NOT_SET:-19,BROTLI_DECODER_ERROR_INVALID_ARGUMENTS:-20,BROTLI_DECODER_ERROR_ALLOC_CONTEXT_MODES:-21,BROTLI_DECODER_ERROR_ALLOC_TREE_GROUPS:-22,BROTLI_DECODER_ERROR_ALLOC_CONTEXT_MAP:-25,BROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_1:-26,BROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_2:-27,BROTLI_DECODER_ERROR_ALLOC_BLOCK_TYPE_TREES:-30,BROTLI_DECODER_ERROR_UNREACHABLE:-31},XFe))});var fD=E(Un=>{"use strict";var sD=require("assert"),kA=require("buffer").Buffer,v9=require("zlib"),uc=Un.constants=b9(),ZFe=hg(),S9=kA.concat,gc=Symbol("_superWrite"),ed=class extends Error{constructor(e){super("zlib: "+e.message);this.code=e.code,this.errno=e.errno,this.code||(this.code="ZLIB_ERROR"),this.message="zlib: "+e.message,Error.captureStackTrace(this,this.constructor)}get name(){return"ZlibError"}},$Fe=Symbol("opts"),td=Symbol("flushFlag"),x9=Symbol("finishFlushFlag"),oD=Symbol("fullFlushFlag"),tr=Symbol("handle"),qw=Symbol("onError"),pg=Symbol("sawError"),aD=Symbol("level"),AD=Symbol("strategy"),lD=Symbol("ended"),clt=Symbol("_defaultFullFlush"),cD=class extends ZFe{constructor(e,r){if(!e||typeof e!="object")throw new TypeError("invalid options for ZlibBase constructor");super(e);this[pg]=!1,this[lD]=!1,this[$Fe]=e,this[td]=e.flush,this[x9]=e.finishFlush;try{this[tr]=new v9[r](e)}catch(i){throw new ed(i)}this[qw]=i=>{this[pg]||(this[pg]=!0,this.close(),this.emit("error",i))},this[tr].on("error",i=>this[qw](new ed(i))),this.once("end",()=>this.close)}close(){this[tr]&&(this[tr].close(),this[tr]=null,this.emit("close"))}reset(){if(!this[pg])return sD(this[tr],"zlib binding closed"),this[tr].reset()}flush(e){this.ended||(typeof e!="number"&&(e=this[oD]),this.write(Object.assign(kA.alloc(0),{[td]:e})))}end(e,r,i){return e&&this.write(e,r),this.flush(this[x9]),this[lD]=!0,super.end(null,null,i)}get ended(){return this[lD]}write(e,r,i){if(typeof r=="function"&&(i=r,r="utf8"),typeof e=="string"&&(e=kA.from(e,r)),this[pg])return;sD(this[tr],"zlib binding closed");let n=this[tr]._handle,s=n.close;n.close=()=>{};let o=this[tr].close;this[tr].close=()=>{},kA.concat=c=>c;let a;try{let c=typeof e[td]=="number"?e[td]:this[td];a=this[tr]._processChunk(e,c),kA.concat=S9}catch(c){kA.concat=S9,this[qw](new ed(c))}finally{this[tr]&&(this[tr]._handle=n,n.close=s,this[tr].close=o,this[tr].removeAllListeners("error"))}this[tr]&&this[tr].on("error",c=>this[qw](new ed(c)));let l;if(a)if(Array.isArray(a)&&a.length>0){l=this[gc](kA.from(a[0]));for(let c=1;c{this.flush(n),s()};try{this[tr].params(e,r)}finally{this[tr].flush=i}this[tr]&&(this[aD]=e,this[AD]=r)}}}},k9=class extends PA{constructor(e){super(e,"Deflate")}},P9=class extends PA{constructor(e){super(e,"Inflate")}},uD=Symbol("_portable"),D9=class extends PA{constructor(e){super(e,"Gzip");this[uD]=e&&!!e.portable}[gc](e){return this[uD]?(this[uD]=!1,e[9]=255,super[gc](e)):super[gc](e)}},R9=class extends PA{constructor(e){super(e,"Gunzip")}},F9=class extends PA{constructor(e){super(e,"DeflateRaw")}},N9=class extends PA{constructor(e){super(e,"InflateRaw")}},L9=class extends PA{constructor(e){super(e,"Unzip")}},gD=class extends cD{constructor(e,r){e=e||{},e.flush=e.flush||uc.BROTLI_OPERATION_PROCESS,e.finishFlush=e.finishFlush||uc.BROTLI_OPERATION_FINISH,super(e,r),this[oD]=uc.BROTLI_OPERATION_FLUSH}},T9=class extends gD{constructor(e){super(e,"BrotliCompress")}},M9=class extends gD{constructor(e){super(e,"BrotliDecompress")}};Un.Deflate=k9;Un.Inflate=P9;Un.Gzip=D9;Un.Gunzip=R9;Un.DeflateRaw=F9;Un.InflateRaw=N9;Un.Unzip=L9;typeof v9.BrotliCompress=="function"?(Un.BrotliCompress=T9,Un.BrotliDecompress=M9):Un.BrotliCompress=Un.BrotliDecompress=class{constructor(){throw new Error("Brotli is not supported in this version of Node.js")}}});var rd=E(Jw=>{"use strict";Jw.name=new Map([["0","File"],["","OldFile"],["1","Link"],["2","SymbolicLink"],["3","CharacterDevice"],["4","BlockDevice"],["5","Directory"],["6","FIFO"],["7","ContiguousFile"],["g","GlobalExtendedHeader"],["x","ExtendedHeader"],["A","SolarisACL"],["D","GNUDumpDir"],["I","Inode"],["K","NextFileHasLongLinkpath"],["L","NextFileHasLongPath"],["M","ContinuationFile"],["N","OldGnuLongPath"],["S","SparseFile"],["V","TapeVolumeHeader"],["X","OldExtendedHeader"]]);Jw.code=new Map(Array.from(Jw.name).map(t=>[t[1],t[0]]))});var id=E((plt,O9)=>{"use strict";var flt=rd(),eNe=hg(),hD=Symbol("slurp");O9.exports=class extends eNe{constructor(e,r,i){super();switch(this.pause(),this.extended=r,this.globalExtended=i,this.header=e,this.startBlockSize=512*Math.ceil(e.size/512),this.blockRemain=this.startBlockSize,this.remain=e.size,this.type=e.type,this.meta=!1,this.ignore=!1,this.type){case"File":case"OldFile":case"Link":case"SymbolicLink":case"CharacterDevice":case"BlockDevice":case"Directory":case"FIFO":case"ContiguousFile":case"GNUDumpDir":break;case"NextFileHasLongLinkpath":case"NextFileHasLongPath":case"OldGnuLongPath":case"GlobalExtendedHeader":case"ExtendedHeader":case"OldExtendedHeader":this.meta=!0;break;default:this.ignore=!0}this.path=e.path,this.mode=e.mode,this.mode&&(this.mode=this.mode&4095),this.uid=e.uid,this.gid=e.gid,this.uname=e.uname,this.gname=e.gname,this.size=e.size,this.mtime=e.mtime,this.atime=e.atime,this.ctime=e.ctime,this.linkpath=e.linkpath,this.uname=e.uname,this.gname=e.gname,r&&this[hD](r),i&&this[hD](i,!0)}write(e){let r=e.length;if(r>this.blockRemain)throw new Error("writing more to entry than is appropriate");let i=this.remain,n=this.blockRemain;return this.remain=Math.max(0,i-r),this.blockRemain=Math.max(0,n-r),this.ignore?!0:i>=r?super.write(e):super.write(e.slice(0,i))}[hD](e,r){for(let i in e)e[i]!==null&&e[i]!==void 0&&!(r&&i==="path")&&(this[i]=e[i])}}});var H9=E(pD=>{"use strict";var dlt=pD.encode=(t,e)=>{if(Number.isSafeInteger(t))t<0?rNe(t,e):tNe(t,e);else throw Error("cannot encode number outside of javascript safe integer range");return e},tNe=(t,e)=>{e[0]=128;for(var r=e.length;r>1;r--)e[r-1]=t&255,t=Math.floor(t/256)},rNe=(t,e)=>{e[0]=255;var r=!1;t=t*-1;for(var i=e.length;i>1;i--){var n=t&255;t=Math.floor(t/256),r?e[i-1]=K9(n):n===0?e[i-1]=0:(r=!0,e[i-1]=U9(n))}},Clt=pD.parse=t=>{var e=t[t.length-1],r=t[0],i;if(r===128)i=nNe(t.slice(1,t.length));else if(r===255)i=iNe(t);else throw Error("invalid base256 encoding");if(!Number.isSafeInteger(i))throw Error("parsed number outside of javascript safe integer range");return i},iNe=t=>{for(var e=t.length,r=0,i=!1,n=e-1;n>-1;n--){var s=t[n],o;i?o=K9(s):s===0?o=s:(i=!0,o=U9(s)),o!==0&&(r-=o*Math.pow(256,e-n-1))}return r},nNe=t=>{for(var e=t.length,r=0,i=e-1;i>-1;i--){var n=t[i];n!==0&&(r+=n*Math.pow(256,e-i-1))}return r},K9=t=>(255^t)&255,U9=t=>(255^t)+1&255});var Cg=E((Elt,G9)=>{"use strict";var dD=rd(),dg=require("path").posix,j9=H9(),CD=Symbol("slurp"),Hn=Symbol("type"),Y9=class{constructor(e,r,i,n){this.cksumValid=!1,this.needPax=!1,this.nullBlock=!1,this.block=null,this.path=null,this.mode=null,this.uid=null,this.gid=null,this.size=null,this.mtime=null,this.cksum=null,this[Hn]="0",this.linkpath=null,this.uname=null,this.gname=null,this.devmaj=0,this.devmin=0,this.atime=null,this.ctime=null,Buffer.isBuffer(e)?this.decode(e,r||0,i,n):e&&this.set(e)}decode(e,r,i,n){if(r||(r=0),!e||!(e.length>=r+512))throw new Error("need 512 bytes for header");if(this.path=fc(e,r,100),this.mode=DA(e,r+100,8),this.uid=DA(e,r+108,8),this.gid=DA(e,r+116,8),this.size=DA(e,r+124,12),this.mtime=mD(e,r+136,12),this.cksum=DA(e,r+148,12),this[CD](i),this[CD](n,!0),this[Hn]=fc(e,r+156,1),this[Hn]===""&&(this[Hn]="0"),this[Hn]==="0"&&this.path.substr(-1)==="/"&&(this[Hn]="5"),this[Hn]==="5"&&(this.size=0),this.linkpath=fc(e,r+157,100),e.slice(r+257,r+265).toString()==="ustar\x0000")if(this.uname=fc(e,r+265,32),this.gname=fc(e,r+297,32),this.devmaj=DA(e,r+329,8),this.devmin=DA(e,r+337,8),e[r+475]!==0){let o=fc(e,r+345,155);this.path=o+"/"+this.path}else{let o=fc(e,r+345,130);o&&(this.path=o+"/"+this.path),this.atime=mD(e,r+476,12),this.ctime=mD(e,r+488,12)}let s=8*32;for(let o=r;o=r+512))throw new Error("need 512 bytes for header");let i=this.ctime||this.atime?130:155,n=sNe(this.path||"",i),s=n[0],o=n[1];this.needPax=n[2],this.needPax=hc(e,r,100,s)||this.needPax,this.needPax=RA(e,r+100,8,this.mode)||this.needPax,this.needPax=RA(e,r+108,8,this.uid)||this.needPax,this.needPax=RA(e,r+116,8,this.gid)||this.needPax,this.needPax=RA(e,r+124,12,this.size)||this.needPax,this.needPax=ED(e,r+136,12,this.mtime)||this.needPax,e[r+156]=this[Hn].charCodeAt(0),this.needPax=hc(e,r+157,100,this.linkpath)||this.needPax,e.write("ustar\x0000",r+257,8),this.needPax=hc(e,r+265,32,this.uname)||this.needPax,this.needPax=hc(e,r+297,32,this.gname)||this.needPax,this.needPax=RA(e,r+329,8,this.devmaj)||this.needPax,this.needPax=RA(e,r+337,8,this.devmin)||this.needPax,this.needPax=hc(e,r+345,i,o)||this.needPax,e[r+475]!==0?this.needPax=hc(e,r+345,155,o)||this.needPax:(this.needPax=hc(e,r+345,130,o)||this.needPax,this.needPax=ED(e,r+476,12,this.atime)||this.needPax,this.needPax=ED(e,r+488,12,this.ctime)||this.needPax);let a=8*32;for(let l=r;l{let r=100,i=t,n="",s,o=dg.parse(t).root||".";if(Buffer.byteLength(i)r&&Buffer.byteLength(n)<=e?s=[i.substr(0,r-1),n,!0]:(i=dg.join(dg.basename(n),i),n=dg.dirname(n));while(n!==o&&!s);s||(s=[t.substr(0,r-1),"",!0])}return s},fc=(t,e,r)=>t.slice(e,e+r).toString("utf8").replace(/\0.*/,""),mD=(t,e,r)=>oNe(DA(t,e,r)),oNe=t=>t===null?null:new Date(t*1e3),DA=(t,e,r)=>t[e]&128?j9.parse(t.slice(e,e+r)):aNe(t,e,r),ANe=t=>isNaN(t)?null:t,aNe=(t,e,r)=>ANe(parseInt(t.slice(e,e+r).toString("utf8").replace(/\0.*$/,"").trim(),8)),lNe={12:8589934591,8:2097151},RA=(t,e,r,i)=>i===null?!1:i>lNe[r]||i<0?(j9.encode(i,t.slice(e,e+r)),!0):(cNe(t,e,r,i),!1),cNe=(t,e,r,i)=>t.write(uNe(i,r),e,r,"ascii"),uNe=(t,e)=>gNe(Math.floor(t).toString(8),e),gNe=(t,e)=>(t.length===e-1?t:new Array(e-t.length-1).join("0")+t+" ")+"\0",ED=(t,e,r,i)=>i===null?!1:RA(t,e,r,i.getTime()/1e3),fNe=new Array(156).join("\0"),hc=(t,e,r,i)=>i===null?!1:(t.write(i+fNe,e,r,"utf8"),i.length!==Buffer.byteLength(i)||i.length>r);G9.exports=Y9});var zw=E((Ilt,q9)=>{"use strict";var hNe=Cg(),pNe=require("path"),Ww=class{constructor(e,r){this.atime=e.atime||null,this.charset=e.charset||null,this.comment=e.comment||null,this.ctime=e.ctime||null,this.gid=e.gid||null,this.gname=e.gname||null,this.linkpath=e.linkpath||null,this.mtime=e.mtime||null,this.path=e.path||null,this.size=e.size||null,this.uid=e.uid||null,this.uname=e.uname||null,this.dev=e.dev||null,this.ino=e.ino||null,this.nlink=e.nlink||null,this.global=r||!1}encode(){let e=this.encodeBody();if(e==="")return null;let r=Buffer.byteLength(e),i=512*Math.ceil(1+r/512),n=Buffer.allocUnsafe(i);for(let s=0;s<512;s++)n[s]=0;new hNe({path:("PaxHeader/"+pNe.basename(this.path)).slice(0,99),mode:this.mode||420,uid:this.uid||null,gid:this.gid||null,size:r,mtime:this.mtime||null,type:this.global?"GlobalExtendedHeader":"ExtendedHeader",linkpath:"",uname:this.uname||"",gname:this.gname||"",devmaj:0,devmin:0,atime:this.atime||null,ctime:this.ctime||null}).encode(n),n.write(e,512,r,"utf8");for(let s=r+512;s=Math.pow(10,s)&&(s+=1),s+n+i}};Ww.parse=(t,e,r)=>new Ww(dNe(CNe(t),e),r);var dNe=(t,e)=>e?Object.keys(t).reduce((r,i)=>(r[i]=t[i],r),e):t,CNe=t=>t.replace(/\n$/,"").split(` +`).reduce(mNe,Object.create(null)),mNe=(t,e)=>{let r=parseInt(e,10);if(r!==Buffer.byteLength(e)+1)return t;e=e.substr((r+" ").length);let i=e.split("="),n=i.shift().replace(/^SCHILY\.(dev|ino|nlink)/,"$1");if(!n)return t;let s=i.join("=");return t[n]=/^([A-Z]+\.)?([mac]|birth|creation)time$/.test(n)?new Date(s*1e3):/^[0-9]+$/.test(s)?+s:s,t};q9.exports=Ww});var Vw=E((ylt,J9)=>{"use strict";J9.exports=t=>class extends t{warn(e,r,i={}){this.file&&(i.file=this.file),this.cwd&&(i.cwd=this.cwd),i.code=r instanceof Error&&r.code||e,i.tarCode=e,!this.strict&&i.recoverable!==!1?(r instanceof Error&&(i=Object.assign(r,i),r=r.message),this.emit("warn",i.tarCode,r,i)):r instanceof Error?this.emit("error",Object.assign(r,i)):this.emit("error",Object.assign(new Error(`${e}: ${r}`),i))}}});var yD=E((wlt,W9)=>{"use strict";var _w=["|","<",">","?",":"],ID=_w.map(t=>String.fromCharCode(61440+t.charCodeAt(0))),ENe=new Map(_w.map((t,e)=>[t,ID[e]])),INe=new Map(ID.map((t,e)=>[t,_w[e]]));W9.exports={encode:t=>_w.reduce((e,r)=>e.split(r).join(ENe.get(r)),t),decode:t=>ID.reduce((e,r)=>e.split(r).join(INe.get(r)),t)}});var V9=E((Blt,z9)=>{"use strict";z9.exports=(t,e,r)=>(t&=4095,r&&(t=(t|384)&~18),e&&(t&256&&(t|=64),t&32&&(t|=8),t&4&&(t|=1)),t)});var xD=E((xlt,_9)=>{"use strict";var X9=hg(),Z9=zw(),$9=Cg(),Qlt=id(),bo=require("fs"),mg=require("path"),blt=rd(),yNe=16*1024*1024,eV=Symbol("process"),tV=Symbol("file"),rV=Symbol("directory"),wD=Symbol("symlink"),iV=Symbol("hardlink"),nd=Symbol("header"),Xw=Symbol("read"),BD=Symbol("lstat"),Zw=Symbol("onlstat"),QD=Symbol("onread"),bD=Symbol("onreadlink"),vD=Symbol("openfile"),SD=Symbol("onopenfile"),pc=Symbol("close"),$w=Symbol("mode"),nV=Vw(),wNe=yD(),sV=V9(),eB=nV(class extends X9{constructor(e,r){if(r=r||{},super(r),typeof e!="string")throw new TypeError("path is required");this.path=e,this.portable=!!r.portable,this.myuid=process.getuid&&process.getuid(),this.myuser=process.env.USER||"",this.maxReadSize=r.maxReadSize||yNe,this.linkCache=r.linkCache||new Map,this.statCache=r.statCache||new Map,this.preservePaths=!!r.preservePaths,this.cwd=r.cwd||process.cwd(),this.strict=!!r.strict,this.noPax=!!r.noPax,this.noMtime=!!r.noMtime,this.mtime=r.mtime||null,typeof r.onwarn=="function"&&this.on("warn",r.onwarn);let i=!1;if(!this.preservePaths&&mg.win32.isAbsolute(e)){let n=mg.win32.parse(e);this.path=e.substr(n.root.length),i=n.root}this.win32=!!r.win32||process.platform==="win32",this.win32&&(this.path=wNe.decode(this.path.replace(/\\/g,"/")),e=e.replace(/\\/g,"/")),this.absolute=r.absolute||mg.resolve(this.cwd,e),this.path===""&&(this.path="./"),i&&this.warn("TAR_ENTRY_INFO",`stripping ${i} from absolute path`,{entry:this,path:i+this.path}),this.statCache.has(this.absolute)?this[Zw](this.statCache.get(this.absolute)):this[BD]()}[BD](){bo.lstat(this.absolute,(e,r)=>{if(e)return this.emit("error",e);this[Zw](r)})}[Zw](e){this.statCache.set(this.absolute,e),this.stat=e,e.isFile()||(e.size=0),this.type=BNe(e),this.emit("stat",e),this[eV]()}[eV](){switch(this.type){case"File":return this[tV]();case"Directory":return this[rV]();case"SymbolicLink":return this[wD]();default:return this.end()}}[$w](e){return sV(e,this.type==="Directory",this.portable)}[nd](){this.type==="Directory"&&this.portable&&(this.noMtime=!0),this.header=new $9({path:this.path,linkpath:this.linkpath,mode:this[$w](this.stat.mode),uid:this.portable?null:this.stat.uid,gid:this.portable?null:this.stat.gid,size:this.stat.size,mtime:this.noMtime?null:this.mtime||this.stat.mtime,type:this.type,uname:this.portable?null:this.stat.uid===this.myuid?this.myuser:"",atime:this.portable?null:this.stat.atime,ctime:this.portable?null:this.stat.ctime}),this.header.encode()&&!this.noPax&&this.write(new Z9({atime:this.portable?null:this.header.atime,ctime:this.portable?null:this.header.ctime,gid:this.portable?null:this.header.gid,mtime:this.noMtime?null:this.mtime||this.header.mtime,path:this.path,linkpath:this.linkpath,size:this.header.size,uid:this.portable?null:this.header.uid,uname:this.portable?null:this.header.uname,dev:this.portable?null:this.stat.dev,ino:this.portable?null:this.stat.ino,nlink:this.portable?null:this.stat.nlink}).encode()),this.write(this.header.block)}[rV](){this.path.substr(-1)!=="/"&&(this.path+="/"),this.stat.size=0,this[nd](),this.end()}[wD](){bo.readlink(this.absolute,(e,r)=>{if(e)return this.emit("error",e);this[bD](r)})}[bD](e){this.linkpath=e.replace(/\\/g,"/"),this[nd](),this.end()}[iV](e){this.type="Link",this.linkpath=mg.relative(this.cwd,e).replace(/\\/g,"/"),this.stat.size=0,this[nd](),this.end()}[tV](){if(this.stat.nlink>1){let e=this.stat.dev+":"+this.stat.ino;if(this.linkCache.has(e)){let r=this.linkCache.get(e);if(r.indexOf(this.cwd)===0)return this[iV](r)}this.linkCache.set(e,this.absolute)}if(this[nd](),this.stat.size===0)return this.end();this[vD]()}[vD](){bo.open(this.absolute,"r",(e,r)=>{if(e)return this.emit("error",e);this[SD](r)})}[SD](e){let r=512*Math.ceil(this.stat.size/512),i=Math.min(r,this.maxReadSize),n=Buffer.allocUnsafe(i);this[Xw](e,n,0,n.length,0,this.stat.size,r)}[Xw](e,r,i,n,s,o,a){bo.read(e,r,i,n,s,(l,c)=>{if(l)return this[pc](e,()=>this.emit("error",l));this[QD](e,r,i,n,s,o,a,c)})}[pc](e,r){bo.close(e,r)}[QD](e,r,i,n,s,o,a,l){if(l<=0&&o>0){let u=new Error("encountered unexpected EOF");return u.path=this.absolute,u.syscall="read",u.code="EOF",this[pc](e,()=>this.emit("error",u))}if(l>o){let u=new Error("did not encounter expected EOF");return u.path=this.absolute,u.syscall="read",u.code="EOF",this[pc](e,()=>this.emit("error",u))}if(l===o)for(let u=l;uu?this.emit("error",u):this.end());i>=n&&(r=Buffer.allocUnsafe(n),i=0),n=r.length-i,this[Xw](e,r,i,n,s,o,a)}}),oV=class extends eB{constructor(e,r){super(e,r)}[BD](){this[Zw](bo.lstatSync(this.absolute))}[wD](){this[bD](bo.readlinkSync(this.absolute))}[vD](){this[SD](bo.openSync(this.absolute,"r"))}[Xw](e,r,i,n,s,o,a){let l=!0;try{let c=bo.readSync(e,r,i,n,s);this[QD](e,r,i,n,s,o,a,c),l=!1}finally{if(l)try{this[pc](e,()=>{})}catch(c){}}}[pc](e,r){bo.closeSync(e),r()}},QNe=nV(class extends X9{constructor(e,r){r=r||{},super(r),this.preservePaths=!!r.preservePaths,this.portable=!!r.portable,this.strict=!!r.strict,this.noPax=!!r.noPax,this.noMtime=!!r.noMtime,this.readEntry=e,this.type=e.type,this.type==="Directory"&&this.portable&&(this.noMtime=!0),this.path=e.path,this.mode=this[$w](e.mode),this.uid=this.portable?null:e.uid,this.gid=this.portable?null:e.gid,this.uname=this.portable?null:e.uname,this.gname=this.portable?null:e.gname,this.size=e.size,this.mtime=this.noMtime?null:r.mtime||e.mtime,this.atime=this.portable?null:e.atime,this.ctime=this.portable?null:e.ctime,this.linkpath=e.linkpath,typeof r.onwarn=="function"&&this.on("warn",r.onwarn);let i=!1;if(mg.isAbsolute(this.path)&&!this.preservePaths){let n=mg.parse(this.path);i=n.root,this.path=this.path.substr(n.root.length)}this.remain=e.size,this.blockRemain=e.startBlockSize,this.header=new $9({path:this.path,linkpath:this.linkpath,mode:this.mode,uid:this.portable?null:this.uid,gid:this.portable?null:this.gid,size:this.size,mtime:this.noMtime?null:this.mtime,type:this.type,uname:this.portable?null:this.uname,atime:this.portable?null:this.atime,ctime:this.portable?null:this.ctime}),i&&this.warn("TAR_ENTRY_INFO",`stripping ${i} from absolute path`,{entry:this,path:i+this.path}),this.header.encode()&&!this.noPax&&super.write(new Z9({atime:this.portable?null:this.atime,ctime:this.portable?null:this.ctime,gid:this.portable?null:this.gid,mtime:this.noMtime?null:this.mtime,path:this.path,linkpath:this.linkpath,size:this.size,uid:this.portable?null:this.uid,uname:this.portable?null:this.uname,dev:this.portable?null:this.readEntry.dev,ino:this.portable?null:this.readEntry.ino,nlink:this.portable?null:this.readEntry.nlink}).encode()),super.write(this.header.block),e.pipe(this)}[$w](e){return sV(e,this.type==="Directory",this.portable)}write(e){let r=e.length;if(r>this.blockRemain)throw new Error("writing more to entry than is appropriate");return this.blockRemain-=r,super.write(e)}end(){return this.blockRemain&&this.write(Buffer.alloc(this.blockRemain)),super.end()}});eB.Sync=oV;eB.Tar=QNe;var BNe=t=>t.isFile()?"File":t.isDirectory()?"Directory":t.isSymbolicLink()?"SymbolicLink":"Unsupported";_9.exports=eB});var AB=E((Plt,aV)=>{"use strict";var kD=class{constructor(e,r){this.path=e||"./",this.absolute=r,this.entry=null,this.stat=null,this.readdir=null,this.pending=!1,this.ignore=!1,this.piped=!1}},bNe=hg(),vNe=fD(),SNe=id(),PD=xD(),xNe=PD.Sync,kNe=PD.Tar,PNe=Rh(),AV=Buffer.alloc(1024),tB=Symbol("onStat"),rB=Symbol("ended"),vo=Symbol("queue"),Eg=Symbol("current"),dc=Symbol("process"),iB=Symbol("processing"),lV=Symbol("processJob"),So=Symbol("jobs"),DD=Symbol("jobDone"),nB=Symbol("addFSEntry"),cV=Symbol("addTarEntry"),RD=Symbol("stat"),FD=Symbol("readdir"),sB=Symbol("onreaddir"),oB=Symbol("pipe"),uV=Symbol("entry"),ND=Symbol("entryOpt"),LD=Symbol("writeEntryClass"),gV=Symbol("write"),TD=Symbol("ondrain"),aB=require("fs"),fV=require("path"),DNe=Vw(),MD=DNe(class extends bNe{constructor(e){super(e);e=e||Object.create(null),this.opt=e,this.file=e.file||"",this.cwd=e.cwd||process.cwd(),this.maxReadSize=e.maxReadSize,this.preservePaths=!!e.preservePaths,this.strict=!!e.strict,this.noPax=!!e.noPax,this.prefix=(e.prefix||"").replace(/(\\|\/)+$/,""),this.linkCache=e.linkCache||new Map,this.statCache=e.statCache||new Map,this.readdirCache=e.readdirCache||new Map,this[LD]=PD,typeof e.onwarn=="function"&&this.on("warn",e.onwarn),this.portable=!!e.portable,this.zip=null,e.gzip?(typeof e.gzip!="object"&&(e.gzip={}),this.portable&&(e.gzip.portable=!0),this.zip=new vNe.Gzip(e.gzip),this.zip.on("data",r=>super.write(r)),this.zip.on("end",r=>super.end()),this.zip.on("drain",r=>this[TD]()),this.on("resume",r=>this.zip.resume())):this.on("drain",this[TD]),this.noDirRecurse=!!e.noDirRecurse,this.follow=!!e.follow,this.noMtime=!!e.noMtime,this.mtime=e.mtime||null,this.filter=typeof e.filter=="function"?e.filter:r=>!0,this[vo]=new PNe,this[So]=0,this.jobs=+e.jobs||4,this[iB]=!1,this[rB]=!1}[gV](e){return super.write(e)}add(e){return this.write(e),this}end(e){return e&&this.write(e),this[rB]=!0,this[dc](),this}write(e){if(this[rB])throw new Error("write after end");return e instanceof SNe?this[cV](e):this[nB](e),this.flowing}[cV](e){let r=fV.resolve(this.cwd,e.path);if(this.prefix&&(e.path=this.prefix+"/"+e.path.replace(/^\.(\/+|$)/,"")),!this.filter(e.path,e))e.resume();else{let i=new kD(e.path,r,!1);i.entry=new kNe(e,this[ND](i)),i.entry.on("end",n=>this[DD](i)),this[So]+=1,this[vo].push(i)}this[dc]()}[nB](e){let r=fV.resolve(this.cwd,e);this.prefix&&(e=this.prefix+"/"+e.replace(/^\.(\/+|$)/,"")),this[vo].push(new kD(e,r)),this[dc]()}[RD](e){e.pending=!0,this[So]+=1;let r=this.follow?"stat":"lstat";aB[r](e.absolute,(i,n)=>{e.pending=!1,this[So]-=1,i?this.emit("error",i):this[tB](e,n)})}[tB](e,r){this.statCache.set(e.absolute,r),e.stat=r,this.filter(e.path,r)||(e.ignore=!0),this[dc]()}[FD](e){e.pending=!0,this[So]+=1,aB.readdir(e.absolute,(r,i)=>{if(e.pending=!1,this[So]-=1,r)return this.emit("error",r);this[sB](e,i)})}[sB](e,r){this.readdirCache.set(e.absolute,r),e.readdir=r,this[dc]()}[dc](){if(!this[iB]){this[iB]=!0;for(let e=this[vo].head;e!==null&&this[So]this.warn(r,i,n),noPax:this.noPax,cwd:this.cwd,absolute:e.absolute,preservePaths:this.preservePaths,maxReadSize:this.maxReadSize,strict:this.strict,portable:this.portable,linkCache:this.linkCache,statCache:this.statCache,noMtime:this.noMtime,mtime:this.mtime}}[uV](e){this[So]+=1;try{return new this[LD](e.path,this[ND](e)).on("end",()=>this[DD](e)).on("error",r=>this.emit("error",r))}catch(r){this.emit("error",r)}}[TD](){this[Eg]&&this[Eg].entry&&this[Eg].entry.resume()}[oB](e){e.piped=!0,e.readdir&&e.readdir.forEach(n=>{let s=this.prefix?e.path.slice(this.prefix.length+1)||"./":e.path,o=s==="./"?"":s.replace(/\/*$/,"/");this[nB](o+n)});let r=e.entry,i=this.zip;i?r.on("data",n=>{i.write(n)||r.pause()}):r.on("data",n=>{super.write(n)||r.pause()})}pause(){return this.zip&&this.zip.pause(),super.pause()}}),hV=class extends MD{constructor(e){super(e);this[LD]=xNe}pause(){}resume(){}[RD](e){let r=this.follow?"statSync":"lstatSync";this[tB](e,aB[r](e.absolute))}[FD](e,r){this[sB](e,aB.readdirSync(e.absolute))}[oB](e){let r=e.entry,i=this.zip;e.readdir&&e.readdir.forEach(n=>{let s=this.prefix?e.path.slice(this.prefix.length+1)||"./":e.path,o=s==="./"?"":s.replace(/\/*$/,"/");this[nB](o+n)}),i?r.on("data",n=>{i.write(n)}):r.on("data",n=>{super[gV](n)})}};MD.Sync=hV;aV.exports=MD});var bg=E(sd=>{"use strict";var RNe=hg(),FNe=require("events").EventEmitter,ls=require("fs"),lB=process.binding("fs"),Dlt=lB.writeBuffers,NNe=lB.FSReqWrap||lB.FSReqCallback,Ig=Symbol("_autoClose"),xo=Symbol("_close"),od=Symbol("_ended"),Jt=Symbol("_fd"),pV=Symbol("_finished"),Cc=Symbol("_flags"),OD=Symbol("_flush"),KD=Symbol("_handleChunk"),UD=Symbol("_makeBuf"),HD=Symbol("_mode"),cB=Symbol("_needDrain"),yg=Symbol("_onerror"),wg=Symbol("_onopen"),GD=Symbol("_onread"),mc=Symbol("_onwrite"),FA=Symbol("_open"),NA=Symbol("_path"),Ec=Symbol("_pos"),ko=Symbol("_queue"),Bg=Symbol("_read"),dV=Symbol("_readSize"),LA=Symbol("_reading"),uB=Symbol("_remain"),CV=Symbol("_size"),gB=Symbol("_write"),Qg=Symbol("_writing"),fB=Symbol("_defaultFlag"),jD=class extends RNe{constructor(e,r){if(r=r||{},super(r),this.writable=!1,typeof e!="string")throw new TypeError("path must be a string");this[Jt]=typeof r.fd=="number"?r.fd:null,this[NA]=e,this[dV]=r.readSize||16*1024*1024,this[LA]=!1,this[CV]=typeof r.size=="number"?r.size:Infinity,this[uB]=this[CV],this[Ig]=typeof r.autoClose=="boolean"?r.autoClose:!0,typeof this[Jt]=="number"?this[Bg]():this[FA]()}get fd(){return this[Jt]}get path(){return this[NA]}write(){throw new TypeError("this is a readable stream")}end(){throw new TypeError("this is a readable stream")}[FA](){ls.open(this[NA],"r",(e,r)=>this[wg](e,r))}[wg](e,r){e?this[yg](e):(this[Jt]=r,this.emit("open",r),this[Bg]())}[UD](){return Buffer.allocUnsafe(Math.min(this[dV],this[uB]))}[Bg](){if(!this[LA]){this[LA]=!0;let e=this[UD]();if(e.length===0)return process.nextTick(()=>this[GD](null,0,e));ls.read(this[Jt],e,0,e.length,null,(r,i,n)=>this[GD](r,i,n))}}[GD](e,r,i){this[LA]=!1,e?this[yg](e):this[KD](r,i)&&this[Bg]()}[xo](){this[Ig]&&typeof this[Jt]=="number"&&(ls.close(this[Jt],e=>this.emit("close")),this[Jt]=null)}[yg](e){this[LA]=!0,this[xo](),this.emit("error",e)}[KD](e,r){let i=!1;return this[uB]-=e,e>0&&(i=super.write(ethis[wg](e,r))}[wg](e,r){this[fB]&&this[Cc]==="r+"&&e&&e.code==="ENOENT"?(this[Cc]="w",this[FA]()):e?this[yg](e):(this[Jt]=r,this.emit("open",r),this[OD]())}end(e,r){e&&this.write(e,r),this[od]=!0,!this[Qg]&&!this[ko].length&&typeof this[Jt]=="number"&&this[mc](null,0)}write(e,r){return typeof e=="string"&&(e=new Buffer(e,r)),this[od]?(this.emit("error",new Error("write() after end()")),!1):this[Jt]===null||this[Qg]||this[ko].length?(this[ko].push(e),this[cB]=!0,!1):(this[Qg]=!0,this[gB](e),!0)}[gB](e){ls.write(this[Jt],e,0,e.length,this[Ec],(r,i)=>this[mc](r,i))}[mc](e,r){e?this[yg](e):(this[Ec]!==null&&(this[Ec]+=r),this[ko].length?this[OD]():(this[Qg]=!1,this[od]&&!this[pV]?(this[pV]=!0,this[xo](),this.emit("finish")):this[cB]&&(this[cB]=!1,this.emit("drain"))))}[OD](){if(this[ko].length===0)this[od]&&this[mc](null,0);else if(this[ko].length===1)this[gB](this[ko].pop());else{let e=this[ko];this[ko]=[],LNe(this[Jt],e,this[Ec],(r,i)=>this[mc](r,i))}}[xo](){this[Ig]&&typeof this[Jt]=="number"&&(ls.close(this[Jt],e=>this.emit("close")),this[Jt]=null)}},EV=class extends YD{[FA](){let e;try{e=ls.openSync(this[NA],this[Cc],this[HD])}catch(r){if(this[fB]&&this[Cc]==="r+"&&r&&r.code==="ENOENT")return this[Cc]="w",this[FA]();throw r}this[wg](null,e)}[xo](){if(this[Ig]&&typeof this[Jt]=="number"){try{ls.closeSync(this[Jt])}catch(e){}this[Jt]=null,this.emit("close")}}[gB](e){try{this[mc](null,ls.writeSync(this[Jt],e,0,e.length,this[Ec]))}catch(r){this[mc](r,0)}}},LNe=(t,e,r,i)=>{let n=(o,a)=>i(o,a,e),s=new NNe;s.oncomplete=n,lB.writeBuffers(t,e,r,s)};sd.ReadStream=jD;sd.ReadStreamSync=mV;sd.WriteStream=YD;sd.WriteStreamSync=EV});var ld=E((Llt,IV)=>{"use strict";var TNe=Vw(),Flt=require("path"),MNe=Cg(),ONe=require("events"),KNe=Rh(),UNe=1024*1024,HNe=id(),yV=zw(),GNe=fD(),qD=Buffer.from([31,139]),cs=Symbol("state"),Ic=Symbol("writeEntry"),xa=Symbol("readEntry"),JD=Symbol("nextEntry"),wV=Symbol("processEntry"),us=Symbol("extendedHeader"),ad=Symbol("globalExtendedHeader"),TA=Symbol("meta"),BV=Symbol("emitMeta"),Ar=Symbol("buffer"),ka=Symbol("queue"),yc=Symbol("ended"),QV=Symbol("emittedEnd"),wc=Symbol("emit"),Qn=Symbol("unzip"),hB=Symbol("consumeChunk"),pB=Symbol("consumeChunkSub"),WD=Symbol("consumeBody"),bV=Symbol("consumeMeta"),vV=Symbol("consumeHeader"),dB=Symbol("consuming"),zD=Symbol("bufferConcat"),VD=Symbol("maybeEnd"),Ad=Symbol("writing"),MA=Symbol("aborted"),CB=Symbol("onDone"),Bc=Symbol("sawValidEntry"),mB=Symbol("sawNullBlock"),EB=Symbol("sawEOF"),jNe=t=>!0;IV.exports=TNe(class extends ONe{constructor(e){e=e||{},super(e),this.file=e.file||"",this[Bc]=null,this.on(CB,r=>{(this[cs]==="begin"||this[Bc]===!1)&&this.warn("TAR_BAD_ARCHIVE","Unrecognized archive format")}),e.ondone?this.on(CB,e.ondone):this.on(CB,r=>{this.emit("prefinish"),this.emit("finish"),this.emit("end"),this.emit("close")}),this.strict=!!e.strict,this.maxMetaEntrySize=e.maxMetaEntrySize||UNe,this.filter=typeof e.filter=="function"?e.filter:jNe,this.writable=!0,this.readable=!1,this[ka]=new KNe,this[Ar]=null,this[xa]=null,this[Ic]=null,this[cs]="begin",this[TA]="",this[us]=null,this[ad]=null,this[yc]=!1,this[Qn]=null,this[MA]=!1,this[mB]=!1,this[EB]=!1,typeof e.onwarn=="function"&&this.on("warn",e.onwarn),typeof e.onentry=="function"&&this.on("entry",e.onentry)}[vV](e,r){this[Bc]===null&&(this[Bc]=!1);let i;try{i=new MNe(e,r,this[us],this[ad])}catch(n){return this.warn("TAR_ENTRY_INVALID",n)}if(i.nullBlock)this[mB]?(this[EB]=!0,this[cs]==="begin"&&(this[cs]="header"),this[wc]("eof")):(this[mB]=!0,this[wc]("nullBlock"));else if(this[mB]=!1,!i.cksumValid)this.warn("TAR_ENTRY_INVALID","checksum failure",{header:i});else if(!i.path)this.warn("TAR_ENTRY_INVALID","path is required",{header:i});else{let n=i.type;if(/^(Symbolic)?Link$/.test(n)&&!i.linkpath)this.warn("TAR_ENTRY_INVALID","linkpath required",{header:i});else if(!/^(Symbolic)?Link$/.test(n)&&i.linkpath)this.warn("TAR_ENTRY_INVALID","linkpath forbidden",{header:i});else{let s=this[Ic]=new HNe(i,this[us],this[ad]);if(!this[Bc])if(s.remain){let o=()=>{s.invalid||(this[Bc]=!0)};s.on("end",o)}else this[Bc]=!0;s.meta?s.size>this.maxMetaEntrySize?(s.ignore=!0,this[wc]("ignoredEntry",s),this[cs]="ignore",s.resume()):s.size>0&&(this[TA]="",s.on("data",o=>this[TA]+=o),this[cs]="meta"):(this[us]=null,s.ignore=s.ignore||!this.filter(s.path,s),s.ignore?(this[wc]("ignoredEntry",s),this[cs]=s.remain?"ignore":"header",s.resume()):(s.remain?this[cs]="body":(this[cs]="header",s.end()),this[xa]?this[ka].push(s):(this[ka].push(s),this[JD]())))}}}[wV](e){let r=!0;return e?Array.isArray(e)?this.emit.apply(this,e):(this[xa]=e,this.emit("entry",e),e.emittedEnd||(e.on("end",i=>this[JD]()),r=!1)):(this[xa]=null,r=!1),r}[JD](){do;while(this[wV](this[ka].shift()));if(!this[ka].length){let e=this[xa];!e||e.flowing||e.size===e.remain?this[Ad]||this.emit("drain"):e.once("drain",i=>this.emit("drain"))}}[WD](e,r){let i=this[Ic],n=i.blockRemain,s=n>=e.length&&r===0?e:e.slice(r,r+n);return i.write(s),i.blockRemain||(this[cs]="header",this[Ic]=null,i.end()),s.length}[bV](e,r){let i=this[Ic],n=this[WD](e,r);return this[Ic]||this[BV](i),n}[wc](e,r,i){!this[ka].length&&!this[xa]?this.emit(e,r,i):this[ka].push([e,r,i])}[BV](e){switch(this[wc]("meta",this[TA]),e.type){case"ExtendedHeader":case"OldExtendedHeader":this[us]=yV.parse(this[TA],this[us],!1);break;case"GlobalExtendedHeader":this[ad]=yV.parse(this[TA],this[ad],!0);break;case"NextFileHasLongPath":case"OldGnuLongPath":this[us]=this[us]||Object.create(null),this[us].path=this[TA].replace(/\0.*/,"");break;case"NextFileHasLongLinkpath":this[us]=this[us]||Object.create(null),this[us].linkpath=this[TA].replace(/\0.*/,"");break;default:throw new Error("unknown meta: "+e.type)}}abort(e){this[MA]=!0,this.emit("abort",e),this.warn("TAR_ABORT",e,{recoverable:!1})}write(e){if(this[MA])return;if(this[Qn]===null&&e){if(this[Ar]&&(e=Buffer.concat([this[Ar],e]),this[Ar]=null),e.lengththis[hB](s)),this[Qn].on("error",s=>this.abort(s)),this[Qn].on("end",s=>{this[yc]=!0,this[hB]()}),this[Ad]=!0;let n=this[Qn][i?"end":"write"](e);return this[Ad]=!1,n}}this[Ad]=!0,this[Qn]?this[Qn].write(e):this[hB](e),this[Ad]=!1;let r=this[ka].length?!1:this[xa]?this[xa].flowing:!0;return!r&&!this[ka].length&&this[xa].once("drain",i=>this.emit("drain")),r}[zD](e){e&&!this[MA]&&(this[Ar]=this[Ar]?Buffer.concat([this[Ar],e]):e)}[VD](){if(this[yc]&&!this[QV]&&!this[MA]&&!this[dB]){this[QV]=!0;let e=this[Ic];if(e&&e.blockRemain){let r=this[Ar]?this[Ar].length:0;this.warn("TAR_BAD_ARCHIVE",`Truncated input (needed ${e.blockRemain} more bytes, only ${r} available)`,{entry:e}),this[Ar]&&e.write(this[Ar]),e.end()}this[wc](CB)}}[hB](e){if(this[dB])this[zD](e);else if(!e&&!this[Ar])this[VD]();else{if(this[dB]=!0,this[Ar]){this[zD](e);let r=this[Ar];this[Ar]=null,this[pB](r)}else this[pB](e);for(;this[Ar]&&this[Ar].length>=512&&!this[MA]&&!this[EB];){let r=this[Ar];this[Ar]=null,this[pB](r)}this[dB]=!1}(!this[Ar]||this[yc])&&this[VD]()}[pB](e){let r=0,i=e.length;for(;r+512<=i&&!this[MA]&&!this[EB];)switch(this[cs]){case"begin":case"header":this[vV](e,r),r+=512;break;case"ignore":case"body":r+=this[WD](e,r);break;case"meta":r+=this[bV](e,r);break;default:throw new Error("invalid state: "+this[cs])}r{"use strict";var YNe=fg(),xV=ld(),vg=require("fs"),qNe=bg(),kV=require("path"),Tlt=SV.exports=(t,e,r)=>{typeof t=="function"?(r=t,e=null,t={}):Array.isArray(t)&&(e=t,t={}),typeof e=="function"&&(r=e,e=null),e?e=Array.from(e):e=[];let i=YNe(t);if(i.sync&&typeof r=="function")throw new TypeError("callback not supported for sync tar functions");if(!i.file&&typeof r=="function")throw new TypeError("callback only supported with file option");return e.length&&WNe(i,e),i.noResume||JNe(i),i.file&&i.sync?zNe(i):i.file?VNe(i,r):PV(i)},JNe=t=>{let e=t.onentry;t.onentry=e?r=>{e(r),r.resume()}:r=>r.resume()},WNe=(t,e)=>{let r=new Map(e.map(s=>[s.replace(/\/+$/,""),!0])),i=t.filter,n=(s,o)=>{let a=o||kV.parse(s).root||".",l=s===a?!1:r.has(s)?r.get(s):n(kV.dirname(s),a);return r.set(s,l),l};t.filter=i?(s,o)=>i(s,o)&&n(s.replace(/\/+$/,"")):s=>n(s.replace(/\/+$/,""))},zNe=t=>{let e=PV(t),r=t.file,i=!0,n;try{let s=vg.statSync(r),o=t.maxReadSize||16*1024*1024;if(s.size{let r=new xV(t),i=t.maxReadSize||16*1024*1024,n=t.file,s=new Promise((o,a)=>{r.on("error",a),r.on("end",o),vg.stat(n,(l,c)=>{if(l)a(l);else{let u=new qNe.ReadStream(n,{readSize:i,size:c.size});u.on("error",a),u.pipe(r)}})});return e?s.then(e,e):s},PV=t=>new xV(t)});var TV=E((Ult,DV)=>{"use strict";var _Ne=fg(),yB=AB(),Olt=require("fs"),RV=bg(),FV=IB(),NV=require("path"),Klt=DV.exports=(t,e,r)=>{if(typeof e=="function"&&(r=e),Array.isArray(t)&&(e=t,t={}),!e||!Array.isArray(e)||!e.length)throw new TypeError("no files or directories specified");e=Array.from(e);let i=_Ne(t);if(i.sync&&typeof r=="function")throw new TypeError("callback not supported for sync tar functions");if(!i.file&&typeof r=="function")throw new TypeError("callback only supported with file option");return i.file&&i.sync?XNe(i,e):i.file?ZNe(i,e,r):i.sync?$Ne(i,e):eLe(i,e)},XNe=(t,e)=>{let r=new yB.Sync(t),i=new RV.WriteStreamSync(t.file,{mode:t.mode||438});r.pipe(i),LV(r,e)},ZNe=(t,e,r)=>{let i=new yB(t),n=new RV.WriteStream(t.file,{mode:t.mode||438});i.pipe(n);let s=new Promise((o,a)=>{n.on("error",a),n.on("close",o),i.on("error",a)});return _D(i,e),r?s.then(r,r):s},LV=(t,e)=>{e.forEach(r=>{r.charAt(0)==="@"?FV({file:NV.resolve(t.cwd,r.substr(1)),sync:!0,noResume:!0,onentry:i=>t.add(i)}):t.add(r)}),t.end()},_D=(t,e)=>{for(;e.length;){let r=e.shift();if(r.charAt(0)==="@")return FV({file:NV.resolve(t.cwd,r.substr(1)),noResume:!0,onentry:i=>t.add(i)}).then(i=>_D(t,e));t.add(r)}t.end()},$Ne=(t,e)=>{let r=new yB.Sync(t);return LV(r,e),r},eLe=(t,e)=>{let r=new yB(t);return _D(r,e),r}});var XD=E((jlt,MV)=>{"use strict";var tLe=fg(),OV=AB(),Hlt=ld(),gs=require("fs"),KV=bg(),UV=IB(),HV=require("path"),GV=Cg(),Glt=MV.exports=(t,e,r)=>{let i=tLe(t);if(!i.file)throw new TypeError("file is required");if(i.gzip)throw new TypeError("cannot append to compressed archives");if(!e||!Array.isArray(e)||!e.length)throw new TypeError("no files or directories specified");return e=Array.from(e),i.sync?rLe(i,e):iLe(i,e,r)},rLe=(t,e)=>{let r=new OV.Sync(t),i=!0,n,s;try{try{n=gs.openSync(t.file,"r+")}catch(l){if(l.code==="ENOENT")n=gs.openSync(t.file,"w+");else throw l}let o=gs.fstatSync(n),a=Buffer.alloc(512);e:for(s=0;so.size)break;s+=c,t.mtimeCache&&t.mtimeCache.set(l.path,l.mtime)}i=!1,nLe(t,r,s,n,e)}finally{if(i)try{gs.closeSync(n)}catch(o){}}},nLe=(t,e,r,i,n)=>{let s=new KV.WriteStreamSync(t.file,{fd:i,start:r});e.pipe(s),sLe(e,n)},iLe=(t,e,r)=>{e=Array.from(e);let i=new OV(t),n=(o,a,l)=>{let c=(p,d)=>{p?gs.close(o,m=>l(p)):l(null,d)},u=0;if(a===0)return c(null,0);let g=0,f=Buffer.alloc(512),h=(p,d)=>{if(p)return c(p);if(g+=d,g<512&&d)return gs.read(o,f,g,f.length-g,u+g,h);if(u===0&&f[0]===31&&f[1]===139)return c(new Error("cannot append to compressed archives"));if(g<512)return c(null,u);let m=new GV(f);if(!m.cksumValid)return c(null,u);let I=512*Math.ceil(m.size/512);if(u+I+512>a||(u+=I+512,u>=a))return c(null,u);t.mtimeCache&&t.mtimeCache.set(m.path,m.mtime),g=0,gs.read(o,f,0,512,u,h)};gs.read(o,f,0,512,u,h)},s=new Promise((o,a)=>{i.on("error",a);let l="r+",c=(u,g)=>{if(u&&u.code==="ENOENT"&&l==="r+")return l="w+",gs.open(t.file,l,c);if(u)return a(u);gs.fstat(g,(f,h)=>{if(f)return a(f);n(g,h.size,(p,d)=>{if(p)return a(p);let m=new KV.WriteStream(t.file,{fd:g,start:d});i.pipe(m),m.on("error",a),m.on("close",o),jV(i,e)})})};gs.open(t.file,l,c)});return r?s.then(r,r):s},sLe=(t,e)=>{e.forEach(r=>{r.charAt(0)==="@"?UV({file:HV.resolve(t.cwd,r.substr(1)),sync:!0,noResume:!0,onentry:i=>t.add(i)}):t.add(r)}),t.end()},jV=(t,e)=>{for(;e.length;){let r=e.shift();if(r.charAt(0)==="@")return UV({file:HV.resolve(t.cwd,r.substr(1)),noResume:!0,onentry:i=>t.add(i)}).then(i=>jV(t,e));t.add(r)}t.end()}});var qV=E((qlt,YV)=>{"use strict";var oLe=fg(),aLe=XD(),Ylt=YV.exports=(t,e,r)=>{let i=oLe(t);if(!i.file)throw new TypeError("file is required");if(i.gzip)throw new TypeError("cannot append to compressed archives");if(!e||!Array.isArray(e)||!e.length)throw new TypeError("no files or directories specified");return e=Array.from(e),ALe(i),aLe(i,e,r)},ALe=t=>{let e=t.filter;t.mtimeCache||(t.mtimeCache=new Map),t.filter=e?(r,i)=>e(r,i)&&!(t.mtimeCache.get(r)>i.mtime):(r,i)=>!(t.mtimeCache.get(r)>i.mtime)}});var zV=E((Jlt,JV)=>{var{promisify:WV}=require("util"),OA=require("fs"),lLe=t=>{if(!t)t={mode:511,fs:OA};else if(typeof t=="object")t=P({mode:511,fs:OA},t);else if(typeof t=="number")t={mode:t,fs:OA};else if(typeof t=="string")t={mode:parseInt(t,8),fs:OA};else throw new TypeError("invalid options argument");return t.mkdir=t.mkdir||t.fs.mkdir||OA.mkdir,t.mkdirAsync=WV(t.mkdir),t.stat=t.stat||t.fs.stat||OA.stat,t.statAsync=WV(t.stat),t.statSync=t.statSync||t.fs.statSync||OA.statSync,t.mkdirSync=t.mkdirSync||t.fs.mkdirSync||OA.mkdirSync,t};JV.exports=lLe});var _V=E((Wlt,VV)=>{var cLe=process.env.__TESTING_MKDIRP_PLATFORM__||process.platform,{resolve:uLe,parse:gLe}=require("path"),fLe=t=>{if(/\0/.test(t))throw Object.assign(new TypeError("path must be a string without null bytes"),{path:t,code:"ERR_INVALID_ARG_VALUE"});if(t=uLe(t),cLe==="win32"){let e=/[*|"<>?:]/,{root:r}=gLe(t);if(e.test(t.substr(r.length)))throw Object.assign(new Error("Illegal characters in path."),{path:t,code:"EINVAL"})}return t};VV.exports=fLe});var t7=E((zlt,XV)=>{var{dirname:ZV}=require("path"),$V=(t,e,r=void 0)=>r===e?Promise.resolve():t.statAsync(e).then(i=>i.isDirectory()?r:void 0,i=>i.code==="ENOENT"?$V(t,ZV(e),e):void 0),e7=(t,e,r=void 0)=>{if(r!==e)try{return t.statSync(e).isDirectory()?r:void 0}catch(i){return i.code==="ENOENT"?e7(t,ZV(e),e):void 0}};XV.exports={findMade:$V,findMadeSync:e7}});var eR=E((Vlt,r7)=>{var{dirname:i7}=require("path"),ZD=(t,e,r)=>{e.recursive=!1;let i=i7(t);return i===t?e.mkdirAsync(t,e).catch(n=>{if(n.code!=="EISDIR")throw n}):e.mkdirAsync(t,e).then(()=>r||t,n=>{if(n.code==="ENOENT")return ZD(i,e).then(s=>ZD(t,e,s));if(n.code!=="EEXIST"&&n.code!=="EROFS")throw n;return e.statAsync(t).then(s=>{if(s.isDirectory())return r;throw n},()=>{throw n})})},$D=(t,e,r)=>{let i=i7(t);if(e.recursive=!1,i===t)try{return e.mkdirSync(t,e)}catch(n){if(n.code!=="EISDIR")throw n;return}try{return e.mkdirSync(t,e),r||t}catch(n){if(n.code==="ENOENT")return $D(t,e,$D(i,e,r));if(n.code!=="EEXIST"&&n.code!=="EROFS")throw n;try{if(!e.statSync(t).isDirectory())throw n}catch(s){throw n}}};r7.exports={mkdirpManual:ZD,mkdirpManualSync:$D}});var o7=E((_lt,n7)=>{var{dirname:s7}=require("path"),{findMade:hLe,findMadeSync:pLe}=t7(),{mkdirpManual:dLe,mkdirpManualSync:CLe}=eR(),mLe=(t,e)=>(e.recursive=!0,s7(t)===t?e.mkdirAsync(t,e):hLe(e,t).then(i=>e.mkdirAsync(t,e).then(()=>i).catch(n=>{if(n.code==="ENOENT")return dLe(t,e);throw n}))),ELe=(t,e)=>{if(e.recursive=!0,s7(t)===t)return e.mkdirSync(t,e);let i=pLe(e,t);try{return e.mkdirSync(t,e),i}catch(n){if(n.code==="ENOENT")return CLe(t,e);throw n}};n7.exports={mkdirpNative:mLe,mkdirpNativeSync:ELe}});var c7=E((Xlt,a7)=>{var A7=require("fs"),ILe=process.env.__TESTING_MKDIRP_NODE_VERSION__||process.version,tR=ILe.replace(/^v/,"").split("."),l7=+tR[0]>10||+tR[0]==10&&+tR[1]>=12,yLe=l7?t=>t.mkdir===A7.mkdir:()=>!1,wLe=l7?t=>t.mkdirSync===A7.mkdirSync:()=>!1;a7.exports={useNative:yLe,useNativeSync:wLe}});var d7=E((Zlt,u7)=>{var Sg=zV(),xg=_V(),{mkdirpNative:g7,mkdirpNativeSync:f7}=o7(),{mkdirpManual:h7,mkdirpManualSync:p7}=eR(),{useNative:BLe,useNativeSync:QLe}=c7(),kg=(t,e)=>(t=xg(t),e=Sg(e),BLe(e)?g7(t,e):h7(t,e)),bLe=(t,e)=>(t=xg(t),e=Sg(e),QLe(e)?f7(t,e):p7(t,e));kg.sync=bLe;kg.native=(t,e)=>g7(xg(t),Sg(e));kg.manual=(t,e)=>h7(xg(t),Sg(e));kg.nativeSync=(t,e)=>f7(xg(t),Sg(e));kg.manualSync=(t,e)=>p7(xg(t),Sg(e));u7.exports=kg});var B7=E(($lt,C7)=>{"use strict";var fs=require("fs"),Qc=require("path"),vLe=fs.lchown?"lchown":"chown",SLe=fs.lchownSync?"lchownSync":"chownSync",m7=fs.lchown&&!process.version.match(/v1[1-9]+\./)&&!process.version.match(/v10\.[6-9]/),E7=(t,e,r)=>{try{return fs[SLe](t,e,r)}catch(i){if(i.code!=="ENOENT")throw i}},xLe=(t,e,r)=>{try{return fs.chownSync(t,e,r)}catch(i){if(i.code!=="ENOENT")throw i}},kLe=m7?(t,e,r,i)=>n=>{!n||n.code!=="EISDIR"?i(n):fs.chown(t,e,r,i)}:(t,e,r,i)=>i,rR=m7?(t,e,r)=>{try{return E7(t,e,r)}catch(i){if(i.code!=="EISDIR")throw i;xLe(t,e,r)}}:(t,e,r)=>E7(t,e,r),PLe=process.version,I7=(t,e,r)=>fs.readdir(t,e,r),DLe=(t,e)=>fs.readdirSync(t,e);/^v4\./.test(PLe)&&(I7=(t,e,r)=>fs.readdir(t,r));var wB=(t,e,r,i)=>{fs[vLe](t,e,r,kLe(t,e,r,n=>{i(n&&n.code!=="ENOENT"?n:null)}))},y7=(t,e,r,i,n)=>{if(typeof e=="string")return fs.lstat(Qc.resolve(t,e),(s,o)=>{if(s)return n(s.code!=="ENOENT"?s:null);o.name=e,y7(t,o,r,i,n)});if(e.isDirectory())iR(Qc.resolve(t,e.name),r,i,s=>{if(s)return n(s);let o=Qc.resolve(t,e.name);wB(o,r,i,n)});else{let s=Qc.resolve(t,e.name);wB(s,r,i,n)}},iR=(t,e,r,i)=>{I7(t,{withFileTypes:!0},(n,s)=>{if(n){if(n.code==="ENOENT")return i();if(n.code!=="ENOTDIR"&&n.code!=="ENOTSUP")return i(n)}if(n||!s.length)return wB(t,e,r,i);let o=s.length,a=null,l=c=>{if(!a){if(c)return i(a=c);if(--o==0)return wB(t,e,r,i)}};s.forEach(c=>y7(t,c,e,r,l))})},RLe=(t,e,r,i)=>{if(typeof e=="string")try{let n=fs.lstatSync(Qc.resolve(t,e));n.name=e,e=n}catch(n){if(n.code==="ENOENT")return;throw n}e.isDirectory()&&w7(Qc.resolve(t,e.name),r,i),rR(Qc.resolve(t,e.name),r,i)},w7=(t,e,r)=>{let i;try{i=DLe(t,{withFileTypes:!0})}catch(n){if(n.code==="ENOENT")return;if(n.code==="ENOTDIR"||n.code==="ENOTSUP")return rR(t,e,r);throw n}return i&&i.length&&i.forEach(n=>RLe(t,n,e,r)),rR(t,e,r)};C7.exports=iR;iR.sync=w7});var S7=E((rct,nR)=>{"use strict";var Q7=d7(),hs=require("fs"),BB=require("path"),b7=B7(),sR=class extends Error{constructor(e,r){super("Cannot extract through symbolic link");this.path=r,this.symlink=e}get name(){return"SylinkError"}},cd=class extends Error{constructor(e,r){super(r+": Cannot cd into '"+e+"'");this.path=e,this.code=r}get name(){return"CwdError"}},ect=nR.exports=(t,e,r)=>{let i=e.umask,n=e.mode|448,s=(n&i)!=0,o=e.uid,a=e.gid,l=typeof o=="number"&&typeof a=="number"&&(o!==e.processUid||a!==e.processGid),c=e.preserve,u=e.unlink,g=e.cache,f=e.cwd,h=(m,I)=>{m?r(m):(g.set(t,!0),I&&l?b7(I,o,a,B=>h(B)):s?hs.chmod(t,n,r):r())};if(g&&g.get(t)===!0)return h();if(t===f)return hs.stat(t,(m,I)=>{(m||!I.isDirectory())&&(m=new cd(t,m&&m.code||"ENOTDIR")),h(m)});if(c)return Q7(t,{mode:n}).then(m=>h(null,m),h);let d=BB.relative(f,t).split(/\/|\\/);QB(f,d,n,g,u,f,null,h)},QB=(t,e,r,i,n,s,o,a)=>{if(!e.length)return a(null,o);let l=e.shift(),c=t+"/"+l;if(i.get(c))return QB(c,e,r,i,n,s,o,a);hs.mkdir(c,r,v7(c,e,r,i,n,s,o,a))},v7=(t,e,r,i,n,s,o,a)=>l=>{if(l){if(l.path&&BB.dirname(l.path)===s&&(l.code==="ENOTDIR"||l.code==="ENOENT"))return a(new cd(s,l.code));hs.lstat(t,(c,u)=>{if(c)a(c);else if(u.isDirectory())QB(t,e,r,i,n,s,o,a);else if(n)hs.unlink(t,g=>{if(g)return a(g);hs.mkdir(t,r,v7(t,e,r,i,n,s,o,a))});else{if(u.isSymbolicLink())return a(new sR(t,t+"/"+e.join("/")));a(l)}})}else o=o||t,QB(t,e,r,i,n,s,o,a)},tct=nR.exports.sync=(t,e)=>{let r=e.umask,i=e.mode|448,n=(i&r)!=0,s=e.uid,o=e.gid,a=typeof s=="number"&&typeof o=="number"&&(s!==e.processUid||o!==e.processGid),l=e.preserve,c=e.unlink,u=e.cache,g=e.cwd,f=m=>{u.set(t,!0),m&&a&&b7.sync(m,s,o),n&&hs.chmodSync(t,i)};if(u&&u.get(t)===!0)return f();if(t===g){let m=!1,I="ENOTDIR";try{m=hs.statSync(t).isDirectory()}catch(B){I=B.code}finally{if(!m)throw new cd(t,I)}f();return}if(l)return f(Q7.sync(t,i));let p=BB.relative(g,t).split(/\/|\\/),d=null;for(let m=p.shift(),I=g;m&&(I+="/"+m);m=p.shift())if(!u.get(I))try{hs.mkdirSync(I,i),d=d||I,u.set(I,!0)}catch(B){if(B.path&&BB.dirname(B.path)===g&&(B.code==="ENOTDIR"||B.code==="ENOENT"))return new cd(g,B.code);let b=hs.lstatSync(I);if(b.isDirectory()){u.set(I,!0);continue}else if(c){hs.unlinkSync(I),hs.mkdirSync(I,i),d=d||I,u.set(I,!0);continue}else if(b.isSymbolicLink())return new sR(I,I+"/"+p.join("/"))}return f(d)}});var P7=E((ict,x7)=>{var k7=require("assert");x7.exports=()=>{let t=new Map,e=new Map,{join:r}=require("path"),i=u=>r(u).split(/[\\\/]/).slice(0,-1).reduce((g,f)=>g.length?g.concat(r(g[g.length-1],f)):[f],[]),n=new Set,s=u=>{let g=e.get(u);if(!g)throw new Error("function does not have any path reservations");return{paths:g.paths.map(f=>t.get(f)),dirs:[...g.dirs].map(f=>t.get(f))}},o=u=>{let{paths:g,dirs:f}=s(u);return g.every(h=>h[0]===u)&&f.every(h=>h[0]instanceof Set&&h[0].has(u))},a=u=>n.has(u)||!o(u)?!1:(n.add(u),u(()=>l(u)),!0),l=u=>{if(!n.has(u))return!1;let{paths:g,dirs:f}=e.get(u),h=new Set;return g.forEach(p=>{let d=t.get(p);k7.equal(d[0],u),d.length===1?t.delete(p):(d.shift(),typeof d[0]=="function"?h.add(d[0]):d[0].forEach(m=>h.add(m)))}),f.forEach(p=>{let d=t.get(p);k7(d[0]instanceof Set),d[0].size===1&&d.length===1?t.delete(p):d[0].size===1?(d.shift(),h.add(d[0])):d[0].delete(u)}),n.delete(u),h.forEach(p=>a(p)),!0};return{check:o,reserve:(u,g)=>{let f=new Set(u.map(h=>i(h)).reduce((h,p)=>h.concat(p)));return e.set(g,{dirs:f,paths:u}),u.forEach(h=>{let p=t.get(h);p?p.push(g):t.set(h,[g])}),f.forEach(h=>{let p=t.get(h);p?p[p.length-1]instanceof Set?p[p.length-1].add(g):p.push(new Set([g])):t.set(h,[new Set([g])])}),a(g)}}}});var F7=E((nct,D7)=>{var FLe=process.env.__FAKE_PLATFORM__||process.platform,NLe=FLe==="win32",LLe=global.__FAKE_TESTING_FS__||require("fs"),{O_CREAT:TLe,O_TRUNC:MLe,O_WRONLY:OLe,UV_FS_O_FILEMAP:R7=0}=LLe.constants,KLe=NLe&&!!R7,ULe=512*1024,HLe=R7|MLe|TLe|OLe;D7.exports=KLe?t=>t"w"});var hR=E((Act,N7)=>{"use strict";var GLe=require("assert"),sct=require("events").EventEmitter,jLe=ld(),Ut=require("fs"),YLe=bg(),Pa=require("path"),oR=S7(),oct=oR.sync,L7=yD(),qLe=P7(),T7=Symbol("onEntry"),aR=Symbol("checkFs"),M7=Symbol("checkFs2"),AR=Symbol("isReusable"),Da=Symbol("makeFs"),lR=Symbol("file"),cR=Symbol("directory"),bB=Symbol("link"),O7=Symbol("symlink"),K7=Symbol("hardlink"),U7=Symbol("unsupported"),act=Symbol("unknown"),H7=Symbol("checkPath"),Pg=Symbol("mkdir"),nn=Symbol("onError"),vB=Symbol("pending"),G7=Symbol("pend"),Dg=Symbol("unpend"),uR=Symbol("ended"),gR=Symbol("maybeClose"),fR=Symbol("skip"),ud=Symbol("doChown"),gd=Symbol("uid"),fd=Symbol("gid"),j7=require("crypto"),Y7=F7(),SB=()=>{throw new Error("sync function called cb somehow?!?")},JLe=(t,e)=>{if(process.platform!=="win32")return Ut.unlink(t,e);let r=t+".DELETE."+j7.randomBytes(16).toString("hex");Ut.rename(t,r,i=>{if(i)return e(i);Ut.unlink(r,e)})},WLe=t=>{if(process.platform!=="win32")return Ut.unlinkSync(t);let e=t+".DELETE."+j7.randomBytes(16).toString("hex");Ut.renameSync(t,e),Ut.unlinkSync(e)},q7=(t,e,r)=>t===t>>>0?t:e===e>>>0?e:r,xB=class extends jLe{constructor(e){if(e||(e={}),e.ondone=r=>{this[uR]=!0,this[gR]()},super(e),this.reservations=qLe(),this.transform=typeof e.transform=="function"?e.transform:null,this.writable=!0,this.readable=!1,this[vB]=0,this[uR]=!1,this.dirCache=e.dirCache||new Map,typeof e.uid=="number"||typeof e.gid=="number"){if(typeof e.uid!="number"||typeof e.gid!="number")throw new TypeError("cannot set owner without number uid and gid");if(e.preserveOwner)throw new TypeError("cannot preserve owner in archive and also set owner explicitly");this.uid=e.uid,this.gid=e.gid,this.setOwner=!0}else this.uid=null,this.gid=null,this.setOwner=!1;e.preserveOwner===void 0&&typeof e.uid!="number"?this.preserveOwner=process.getuid&&process.getuid()===0:this.preserveOwner=!!e.preserveOwner,this.processUid=(this.preserveOwner||this.setOwner)&&process.getuid?process.getuid():null,this.processGid=(this.preserveOwner||this.setOwner)&&process.getgid?process.getgid():null,this.forceChown=e.forceChown===!0,this.win32=!!e.win32||process.platform==="win32",this.newer=!!e.newer,this.keep=!!e.keep,this.noMtime=!!e.noMtime,this.preservePaths=!!e.preservePaths,this.unlink=!!e.unlink,this.cwd=Pa.resolve(e.cwd||process.cwd()),this.strip=+e.strip||0,this.processUmask=process.umask(),this.umask=typeof e.umask=="number"?e.umask:this.processUmask,this.dmode=e.dmode||511&~this.umask,this.fmode=e.fmode||438&~this.umask,this.on("entry",r=>this[T7](r))}warn(e,r,i={}){return(e==="TAR_BAD_ARCHIVE"||e==="TAR_ABORT")&&(i.recoverable=!1),super.warn(e,r,i)}[gR](){this[uR]&&this[vB]===0&&(this.emit("prefinish"),this.emit("finish"),this.emit("end"),this.emit("close"))}[H7](e){if(this.strip){let r=e.path.split(/\/|\\/);if(r.length=this.strip&&(e.linkpath=i.slice(this.strip).join("/"))}}if(!this.preservePaths){let r=e.path;if(r.match(/(^|\/|\\)\.\.(\\|\/|$)/))return this.warn("TAR_ENTRY_ERROR","path contains '..'",{entry:e,path:r}),!1;if(Pa.win32.isAbsolute(r)){let i=Pa.win32.parse(r);e.path=r.substr(i.root.length);let n=i.root;this.warn("TAR_ENTRY_INFO",`stripping ${n} from absolute path`,{entry:e,path:r})}}if(this.win32){let r=Pa.win32.parse(e.path);e.path=r.root===""?L7.encode(e.path):r.root+L7.encode(e.path.substr(r.root.length))}return Pa.isAbsolute(e.path)?e.absolute=e.path:e.absolute=Pa.resolve(this.cwd,e.path),!0}[T7](e){if(!this[H7](e))return e.resume();switch(GLe.equal(typeof e.absolute,"string"),e.type){case"Directory":case"GNUDumpDir":e.mode&&(e.mode=e.mode|448);case"File":case"OldFile":case"ContiguousFile":case"Link":case"SymbolicLink":return this[aR](e);case"CharacterDevice":case"BlockDevice":case"FIFO":return this[U7](e)}}[nn](e,r){e.name==="CwdError"?this.emit("error",e):(this.warn("TAR_ENTRY_ERROR",e,{entry:r}),this[Dg](),r.resume())}[Pg](e,r,i){oR(e,{uid:this.uid,gid:this.gid,processUid:this.processUid,processGid:this.processGid,umask:this.processUmask,preserve:this.preservePaths,unlink:this.unlink,cache:this.dirCache,cwd:this.cwd,mode:r},i)}[ud](e){return this.forceChown||this.preserveOwner&&(typeof e.uid=="number"&&e.uid!==this.processUid||typeof e.gid=="number"&&e.gid!==this.processGid)||typeof this.uid=="number"&&this.uid!==this.processUid||typeof this.gid=="number"&&this.gid!==this.processGid}[gd](e){return q7(this.uid,e.uid,this.processUid)}[fd](e){return q7(this.gid,e.gid,this.processGid)}[lR](e,r){let i=e.mode&4095||this.fmode,n=new YLe.WriteStream(e.absolute,{flags:Y7(e.size),mode:i,autoClose:!1});n.on("error",l=>this[nn](l,e));let s=1,o=l=>{if(l)return this[nn](l,e);--s==0&&Ut.close(n.fd,c=>{r(),c?this[nn](c,e):this[Dg]()})};n.on("finish",l=>{let c=e.absolute,u=n.fd;if(e.mtime&&!this.noMtime){s++;let g=e.atime||new Date,f=e.mtime;Ut.futimes(u,g,f,h=>h?Ut.utimes(c,g,f,p=>o(p&&h)):o())}if(this[ud](e)){s++;let g=this[gd](e),f=this[fd](e);Ut.fchown(u,g,f,h=>h?Ut.chown(c,g,f,p=>o(p&&h)):o())}o()});let a=this.transform&&this.transform(e)||e;a!==e&&(a.on("error",l=>this[nn](l,e)),e.pipe(a)),a.pipe(n)}[cR](e,r){let i=e.mode&4095||this.dmode;this[Pg](e.absolute,i,n=>{if(n)return r(),this[nn](n,e);let s=1,o=a=>{--s==0&&(r(),this[Dg](),e.resume())};e.mtime&&!this.noMtime&&(s++,Ut.utimes(e.absolute,e.atime||new Date,e.mtime,o)),this[ud](e)&&(s++,Ut.chown(e.absolute,this[gd](e),this[fd](e),o)),o()})}[U7](e){e.unsupported=!0,this.warn("TAR_ENTRY_UNSUPPORTED",`unsupported entry type: ${e.type}`,{entry:e}),e.resume()}[O7](e,r){this[bB](e,e.linkpath,"symlink",r)}[K7](e,r){this[bB](e,Pa.resolve(this.cwd,e.linkpath),"link",r)}[G7](){this[vB]++}[Dg](){this[vB]--,this[gR]()}[fR](e){this[Dg](),e.resume()}[AR](e,r){return e.type==="File"&&!this.unlink&&r.isFile()&&r.nlink<=1&&process.platform!=="win32"}[aR](e){this[G7]();let r=[e.path];e.linkpath&&r.push(e.linkpath),this.reservations.reserve(r,i=>this[M7](e,i))}[M7](e,r){this[Pg](Pa.dirname(e.absolute),this.dmode,i=>{if(i)return r(),this[nn](i,e);Ut.lstat(e.absolute,(n,s)=>{s&&(this.keep||this.newer&&s.mtime>e.mtime)?(this[fR](e),r()):n||this[AR](e,s)?this[Da](null,e,r):s.isDirectory()?e.type==="Directory"?!e.mode||(s.mode&4095)===e.mode?this[Da](null,e,r):Ut.chmod(e.absolute,e.mode,o=>this[Da](o,e,r)):Ut.rmdir(e.absolute,o=>this[Da](o,e,r)):JLe(e.absolute,o=>this[Da](o,e,r))})})}[Da](e,r,i){if(e)return this[nn](e,r);switch(r.type){case"File":case"OldFile":case"ContiguousFile":return this[lR](r,i);case"Link":return this[K7](r,i);case"SymbolicLink":return this[O7](r,i);case"Directory":case"GNUDumpDir":return this[cR](r,i)}}[bB](e,r,i,n){Ut[i](r,e.absolute,s=>{if(s)return this[nn](s,e);n(),this[Dg](),e.resume()})}},J7=class extends xB{constructor(e){super(e)}[aR](e){let r=this[Pg](Pa.dirname(e.absolute),this.dmode,SB);if(r)return this[nn](r,e);try{let i=Ut.lstatSync(e.absolute);if(this.keep||this.newer&&i.mtime>e.mtime)return this[fR](e);if(this[AR](e,i))return this[Da](null,e,SB);try{return i.isDirectory()?e.type==="Directory"?e.mode&&(i.mode&4095)!==e.mode&&Ut.chmodSync(e.absolute,e.mode):Ut.rmdirSync(e.absolute):WLe(e.absolute),this[Da](null,e,SB)}catch(n){return this[nn](n,e)}}catch(i){return this[Da](null,e,SB)}}[lR](e,r){let i=e.mode&4095||this.fmode,n=l=>{let c;try{Ut.closeSync(o)}catch(u){c=u}(l||c)&&this[nn](l||c,e)},s,o;try{o=Ut.openSync(e.absolute,Y7(e.size),i)}catch(l){return n(l)}let a=this.transform&&this.transform(e)||e;a!==e&&(a.on("error",l=>this[nn](l,e)),e.pipe(a)),a.on("data",l=>{try{Ut.writeSync(o,l,0,l.length)}catch(c){n(c)}}),a.on("end",l=>{let c=null;if(e.mtime&&!this.noMtime){let u=e.atime||new Date,g=e.mtime;try{Ut.futimesSync(o,u,g)}catch(f){try{Ut.utimesSync(e.absolute,u,g)}catch(h){c=f}}}if(this[ud](e)){let u=this[gd](e),g=this[fd](e);try{Ut.fchownSync(o,u,g)}catch(f){try{Ut.chownSync(e.absolute,u,g)}catch(h){c=c||f}}}n(c)})}[cR](e,r){let i=e.mode&4095||this.dmode,n=this[Pg](e.absolute,i);if(n)return this[nn](n,e);if(e.mtime&&!this.noMtime)try{Ut.utimesSync(e.absolute,e.atime||new Date,e.mtime)}catch(s){}if(this[ud](e))try{Ut.chownSync(e.absolute,this[gd](e),this[fd](e))}catch(s){}e.resume()}[Pg](e,r){try{return oR.sync(e,{uid:this.uid,gid:this.gid,processUid:this.processUid,processGid:this.processGid,umask:this.processUmask,preserve:this.preservePaths,unlink:this.unlink,cache:this.dirCache,cwd:this.cwd,mode:r})}catch(i){return i}}[bB](e,r,i,n){try{Ut[i+"Sync"](r,e.absolute),e.resume()}catch(s){return this[nn](s,e)}}};xB.Sync=J7;N7.exports=xB});var X7=E((cct,W7)=>{"use strict";var zLe=fg(),kB=hR(),z7=require("fs"),V7=bg(),_7=require("path"),lct=W7.exports=(t,e,r)=>{typeof t=="function"?(r=t,e=null,t={}):Array.isArray(t)&&(e=t,t={}),typeof e=="function"&&(r=e,e=null),e?e=Array.from(e):e=[];let i=zLe(t);if(i.sync&&typeof r=="function")throw new TypeError("callback not supported for sync tar functions");if(!i.file&&typeof r=="function")throw new TypeError("callback only supported with file option");return e.length&&VLe(i,e),i.file&&i.sync?_Le(i):i.file?XLe(i,r):i.sync?ZLe(i):$Le(i)},VLe=(t,e)=>{let r=new Map(e.map(s=>[s.replace(/\/+$/,""),!0])),i=t.filter,n=(s,o)=>{let a=o||_7.parse(s).root||".",l=s===a?!1:r.has(s)?r.get(s):n(_7.dirname(s),a);return r.set(s,l),l};t.filter=i?(s,o)=>i(s,o)&&n(s.replace(/\/+$/,"")):s=>n(s.replace(/\/+$/,""))},_Le=t=>{let e=new kB.Sync(t),r=t.file,i=!0,n,s=z7.statSync(r),o=t.maxReadSize||16*1024*1024;new V7.ReadStreamSync(r,{readSize:o,size:s.size}).pipe(e)},XLe=(t,e)=>{let r=new kB(t),i=t.maxReadSize||16*1024*1024,n=t.file,s=new Promise((o,a)=>{r.on("error",a),r.on("close",o),z7.stat(n,(l,c)=>{if(l)a(l);else{let u=new V7.ReadStream(n,{readSize:i,size:c.size});u.on("error",a),u.pipe(r)}})});return e?s.then(e,e):s},ZLe=t=>new kB.Sync(t),$Le=t=>new kB(t)});var Z7=E($r=>{"use strict";$r.c=$r.create=TV();$r.r=$r.replace=XD();$r.t=$r.list=IB();$r.u=$r.update=qV();$r.x=$r.extract=X7();$r.Pack=AB();$r.Unpack=hR();$r.Parse=ld();$r.ReadEntry=id();$r.WriteEntry=xD();$r.Header=Cg();$r.Pax=zw();$r.types=rd()});var e_=E((gct,pR)=>{"use strict";var eTe=Object.prototype.hasOwnProperty,sn="~";function hd(){}Object.create&&(hd.prototype=Object.create(null),new hd().__proto__||(sn=!1));function tTe(t,e,r){this.fn=t,this.context=e,this.once=r||!1}function $7(t,e,r,i,n){if(typeof r!="function")throw new TypeError("The listener must be a function");var s=new tTe(r,i||t,n),o=sn?sn+e:e;return t._events[o]?t._events[o].fn?t._events[o]=[t._events[o],s]:t._events[o].push(s):(t._events[o]=s,t._eventsCount++),t}function PB(t,e){--t._eventsCount==0?t._events=new hd:delete t._events[e]}function Ti(){this._events=new hd,this._eventsCount=0}Ti.prototype.eventNames=function(){var e=[],r,i;if(this._eventsCount===0)return e;for(i in r=this._events)eTe.call(r,i)&&e.push(sn?i.slice(1):i);return Object.getOwnPropertySymbols?e.concat(Object.getOwnPropertySymbols(r)):e};Ti.prototype.listeners=function(e){var r=sn?sn+e:e,i=this._events[r];if(!i)return[];if(i.fn)return[i.fn];for(var n=0,s=i.length,o=new Array(s);n{"use strict";t_.exports=(t,e)=>(e=e||(()=>{}),t.then(r=>new Promise(i=>{i(e())}).then(()=>r),r=>new Promise(i=>{i(e())}).then(()=>{throw r})))});var n_=E((hct,DB)=>{"use strict";var rTe=r_(),dR=class extends Error{constructor(e){super(e);this.name="TimeoutError"}},i_=(t,e,r)=>new Promise((i,n)=>{if(typeof e!="number"||e<0)throw new TypeError("Expected `milliseconds` to be a positive number");if(e===Infinity){i(t);return}let s=setTimeout(()=>{if(typeof r=="function"){try{i(r())}catch(l){n(l)}return}let o=typeof r=="string"?r:`Promise timed out after ${e} milliseconds`,a=r instanceof Error?r:new dR(o);typeof t.cancel=="function"&&t.cancel(),n(a)},e);rTe(t.then(i,n),()=>{clearTimeout(s)})});DB.exports=i_;DB.exports.default=i_;DB.exports.TimeoutError=dR});var s_=E(CR=>{"use strict";Object.defineProperty(CR,"__esModule",{value:!0});function iTe(t,e,r){let i=0,n=t.length;for(;n>0;){let s=n/2|0,o=i+s;r(t[o],e)<=0?(i=++o,n-=s+1):n=s}return i}CR.default=iTe});var a_=E(mR=>{"use strict";Object.defineProperty(mR,"__esModule",{value:!0});var nTe=s_(),o_=class{constructor(){this._queue=[]}enqueue(e,r){r=Object.assign({priority:0},r);let i={priority:r.priority,run:e};if(this.size&&this._queue[this.size-1].priority>=r.priority){this._queue.push(i);return}let n=nTe.default(this._queue,i,(s,o)=>o.priority-s.priority);this._queue.splice(n,0,i)}dequeue(){let e=this._queue.shift();return e==null?void 0:e.run}filter(e){return this._queue.filter(r=>r.priority===e.priority).map(r=>r.run)}get size(){return this._queue.length}};mR.default=o_});var c_=E(ER=>{"use strict";Object.defineProperty(ER,"__esModule",{value:!0});var sTe=e_(),A_=n_(),oTe=a_(),RB=()=>{},aTe=new A_.TimeoutError,l_=class extends sTe{constructor(e){var r,i,n,s;super();if(this._intervalCount=0,this._intervalEnd=0,this._pendingCount=0,this._resolveEmpty=RB,this._resolveIdle=RB,e=Object.assign({carryoverConcurrencyCount:!1,intervalCap:Infinity,interval:0,concurrency:Infinity,autoStart:!0,queueClass:oTe.default},e),!(typeof e.intervalCap=="number"&&e.intervalCap>=1))throw new TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${(i=(r=e.intervalCap)===null||r===void 0?void 0:r.toString())!==null&&i!==void 0?i:""}\` (${typeof e.intervalCap})`);if(e.interval===void 0||!(Number.isFinite(e.interval)&&e.interval>=0))throw new TypeError(`Expected \`interval\` to be a finite number >= 0, got \`${(s=(n=e.interval)===null||n===void 0?void 0:n.toString())!==null&&s!==void 0?s:""}\` (${typeof e.interval})`);this._carryoverConcurrencyCount=e.carryoverConcurrencyCount,this._isIntervalIgnored=e.intervalCap===Infinity||e.interval===0,this._intervalCap=e.intervalCap,this._interval=e.interval,this._queue=new e.queueClass,this._queueClass=e.queueClass,this.concurrency=e.concurrency,this._timeout=e.timeout,this._throwOnTimeout=e.throwOnTimeout===!0,this._isPaused=e.autoStart===!1}get _doesIntervalAllowAnother(){return this._isIntervalIgnored||this._intervalCount{this._onResumeInterval()},r)),!0}return!1}_tryToStartAnother(){if(this._queue.size===0)return this._intervalId&&clearInterval(this._intervalId),this._intervalId=void 0,this._resolvePromises(),!1;if(!this._isPaused){let e=!this._isIntervalPaused();if(this._doesIntervalAllowAnother&&this._doesConcurrentAllowAnother){let r=this._queue.dequeue();return r?(this.emit("active"),r(),e&&this._initializeIntervalIfNeeded(),!0):!1}}return!1}_initializeIntervalIfNeeded(){this._isIntervalIgnored||this._intervalId!==void 0||(this._intervalId=setInterval(()=>{this._onInterval()},this._interval),this._intervalEnd=Date.now()+this._interval)}_onInterval(){this._intervalCount===0&&this._pendingCount===0&&this._intervalId&&(clearInterval(this._intervalId),this._intervalId=void 0),this._intervalCount=this._carryoverConcurrencyCount?this._pendingCount:0,this._processQueue()}_processQueue(){for(;this._tryToStartAnother(););}get concurrency(){return this._concurrency}set concurrency(e){if(!(typeof e=="number"&&e>=1))throw new TypeError(`Expected \`concurrency\` to be a number from 1 and up, got \`${e}\` (${typeof e})`);this._concurrency=e,this._processQueue()}async add(e,r={}){return new Promise((i,n)=>{let s=async()=>{this._pendingCount++,this._intervalCount++;try{let o=this._timeout===void 0&&r.timeout===void 0?e():A_.default(Promise.resolve(e()),r.timeout===void 0?this._timeout:r.timeout,()=>{(r.throwOnTimeout===void 0?this._throwOnTimeout:r.throwOnTimeout)&&n(aTe)});i(await o)}catch(o){n(o)}this._next()};this._queue.enqueue(s,r),this._tryToStartAnother(),this.emit("add")})}async addAll(e,r){return Promise.all(e.map(async i=>this.add(i,r)))}start(){return this._isPaused?(this._isPaused=!1,this._processQueue(),this):this}pause(){this._isPaused=!0}clear(){this._queue=new this._queueClass}async onEmpty(){if(this._queue.size!==0)return new Promise(e=>{let r=this._resolveEmpty;this._resolveEmpty=()=>{r(),e()}})}async onIdle(){if(!(this._pendingCount===0&&this._queue.size===0))return new Promise(e=>{let r=this._resolveIdle;this._resolveIdle=()=>{r(),e()}})}get size(){return this._queue.size}sizeBy(e){return this._queue.filter(e).length}get pending(){return this._pendingCount}get isPaused(){return this._isPaused}get timeout(){return this._timeout}set timeout(e){this._timeout=e}};ER.default=l_});var p_=E((Ect,h_)=>{var yR;h_.exports.getContent=()=>(typeof yR=="undefined"&&(yR=require("zlib").brotliDecompressSync(Buffer.from("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","base64")).toString()),yR)});var y_=E((wR,I_)=>{(function(t,e){typeof wR=="object"?I_.exports=e():typeof define=="function"&&define.amd?define(e):t.treeify=e()})(wR,function(){function t(n,s){var o=s?"\u2514":"\u251C";return n?o+="\u2500 ":o+="\u2500\u2500\u2510",o}function e(n,s){var o=[];for(var a in n)!n.hasOwnProperty(a)||s&&typeof n[a]=="function"||o.push(a);return o}function r(n,s,o,a,l,c,u){var g="",f=0,h,p,d=a.slice(0);if(d.push([s,o])&&a.length>0&&(a.forEach(function(I,B){B>0&&(g+=(I[1]?" ":"\u2502")+" "),!p&&I[0]===s&&(p=!0)}),g+=t(n,o)+n,l&&(typeof s!="object"||s instanceof Date)&&(g+=": "+s),p&&(g+=" (circular ref.)"),u(g)),!p&&typeof s=="object"){var m=e(s,c);m.forEach(function(I){h=++f===m.length,r(I,s[I],h,d,l,c,u)})}}var i={};return i.asLines=function(n,s,o,a){var l=typeof o!="function"?o:!1;r(".",n,!1,[],s,l,a||o)},i.asTree=function(n,s,o){var a="";return r(".",n,!1,[],s,o,function(l){a+=l+` +`}),a},i})});var x_=E((Uct,bR)=>{"use strict";var pTe=t=>{let e=!1,r=!1,i=!1;for(let n=0;n{if(!(typeof t=="string"||Array.isArray(t)))throw new TypeError("Expected the input to be `string | string[]`");e=Object.assign({pascalCase:!1},e);let r=n=>e.pascalCase?n.charAt(0).toUpperCase()+n.slice(1):n;return Array.isArray(t)?t=t.map(n=>n.trim()).filter(n=>n.length).join("-"):t=t.trim(),t.length===0?"":t.length===1?e.pascalCase?t.toUpperCase():t.toLowerCase():(t!==t.toLowerCase()&&(t=pTe(t)),t=t.replace(/^[_.\- ]+/,"").toLowerCase().replace(/[_.\- ]+(\w|$)/g,(n,s)=>s.toUpperCase()).replace(/\d+(\w|$)/g,n=>n.toUpperCase()),r(t))};bR.exports=S_;bR.exports.default=S_});var Na=E(TR=>{"use strict";Object.defineProperty(TR,"__esModule",{value:!0});TR.default=L_;function L_(){}L_.prototype={diff:function(e,r){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},n=i.callback;typeof i=="function"&&(n=i,i={}),this.options=i;var s=this;function o(d){return n?(setTimeout(function(){n(void 0,d)},0),!0):d}e=this.castInput(e),r=this.castInput(r),e=this.removeEmpty(this.tokenize(e)),r=this.removeEmpty(this.tokenize(r));var a=r.length,l=e.length,c=1,u=a+l,g=[{newPos:-1,components:[]}],f=this.extractCommon(g[0],r,e,0);if(g[0].newPos+1>=a&&f+1>=l)return o([{value:this.join(r),count:r.length}]);function h(){for(var d=-1*c;d<=c;d+=2){var m=void 0,I=g[d-1],B=g[d+1],b=(B?B.newPos:0)-d;I&&(g[d-1]=void 0);var R=I&&I.newPos+1=a&&b+1>=l)return o(yTe(s,m.components,r,e,s.useLongestToken));g[d]=m}c++}if(n)(function d(){setTimeout(function(){if(c>u)return n();h()||d()},0)})();else for(;c<=u;){var p=h();if(p)return p}},pushComponent:function(e,r,i){var n=e[e.length-1];n&&n.added===r&&n.removed===i?e[e.length-1]={count:n.count+1,added:r,removed:i}:e.push({count:1,added:r,removed:i})},extractCommon:function(e,r,i,n){for(var s=r.length,o=i.length,a=e.newPos,l=a-n,c=0;a+1h.length?d:h}),c.value=t.join(u)}else c.value=t.join(r.slice(a,a+c.count));a+=c.count,c.added||(l+=c.count)}}var f=e[o-1];return o>1&&typeof f.value=="string"&&(f.added||f.removed)&&t.equals("",f.value)&&(e[o-2].value+=f.value,e.pop()),e}function wTe(t){return{newPos:t.newPos,components:t.components.slice(0)}}});var M_=E(Cd=>{"use strict";Object.defineProperty(Cd,"__esModule",{value:!0});Cd.diffChars=BTe;Cd.characterDiff=void 0;var bTe=QTe(Na());function QTe(t){return t&&t.__esModule?t:{default:t}}var T_=new bTe.default;Cd.characterDiff=T_;function BTe(t,e,r){return T_.diff(t,e,r)}});var OR=E(MR=>{"use strict";Object.defineProperty(MR,"__esModule",{value:!0});MR.generateOptions=vTe;function vTe(t,e){if(typeof t=="function")e.callback=t;else if(t)for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r]);return e}});var U_=E(Ng=>{"use strict";Object.defineProperty(Ng,"__esModule",{value:!0});Ng.diffWords=STe;Ng.diffWordsWithSpace=xTe;Ng.wordDiff=void 0;var PTe=kTe(Na()),DTe=OR();function kTe(t){return t&&t.__esModule?t:{default:t}}var O_=/^[A-Za-z\xC0-\u02C6\u02C8-\u02D7\u02DE-\u02FF\u1E00-\u1EFF]+$/,K_=/\S/,md=new PTe.default;Ng.wordDiff=md;md.equals=function(t,e){return this.options.ignoreCase&&(t=t.toLowerCase(),e=e.toLowerCase()),t===e||this.options.ignoreWhitespace&&!K_.test(t)&&!K_.test(e)};md.tokenize=function(t){for(var e=t.split(/(\s+|[()[\]{}'"]|\b)/),r=0;r{"use strict";Object.defineProperty(Lg,"__esModule",{value:!0});Lg.diffLines=RTe;Lg.diffTrimmedLines=FTe;Lg.lineDiff=void 0;var LTe=NTe(Na()),TTe=OR();function NTe(t){return t&&t.__esModule?t:{default:t}}var OB=new LTe.default;Lg.lineDiff=OB;OB.tokenize=function(t){var e=[],r=t.split(/(\n|\r\n)/);r[r.length-1]||r.pop();for(var i=0;i{"use strict";Object.defineProperty(Ed,"__esModule",{value:!0});Ed.diffSentences=MTe;Ed.sentenceDiff=void 0;var KTe=OTe(Na());function OTe(t){return t&&t.__esModule?t:{default:t}}var KR=new KTe.default;Ed.sentenceDiff=KR;KR.tokenize=function(t){return t.split(/(\S.+?[.!?])(?=\s+|$)/)};function MTe(t,e,r){return KR.diff(t,e,r)}});var G_=E(Id=>{"use strict";Object.defineProperty(Id,"__esModule",{value:!0});Id.diffCss=UTe;Id.cssDiff=void 0;var GTe=HTe(Na());function HTe(t){return t&&t.__esModule?t:{default:t}}var UR=new GTe.default;Id.cssDiff=UR;UR.tokenize=function(t){return t.split(/([{}:;,]|\s+)/)};function UTe(t,e,r){return UR.diff(t,e,r)}});var Y_=E(Tg=>{"use strict";Object.defineProperty(Tg,"__esModule",{value:!0});Tg.diffJson=jTe;Tg.canonicalize=UB;Tg.jsonDiff=void 0;var j_=YTe(Na()),qTe=KB();function YTe(t){return t&&t.__esModule?t:{default:t}}function HB(t){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?HB=function(r){return typeof r}:HB=function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},HB(t)}var JTe=Object.prototype.toString,bc=new j_.default;Tg.jsonDiff=bc;bc.useLongestToken=!0;bc.tokenize=qTe.lineDiff.tokenize;bc.castInput=function(t){var e=this.options,r=e.undefinedReplacement,i=e.stringifyReplacer,n=i===void 0?function(s,o){return typeof o=="undefined"?r:o}:i;return typeof t=="string"?t:JSON.stringify(UB(t,null,null,n),n," ")};bc.equals=function(t,e){return j_.default.prototype.equals.call(bc,t.replace(/,([\r\n])/g,"$1"),e.replace(/,([\r\n])/g,"$1"))};function jTe(t,e,r){return bc.diff(t,e,r)}function UB(t,e,r,i,n){e=e||[],r=r||[],i&&(t=i(n,t));var s;for(s=0;s{"use strict";Object.defineProperty(yd,"__esModule",{value:!0});yd.diffArrays=WTe;yd.arrayDiff=void 0;var VTe=zTe(Na());function zTe(t){return t&&t.__esModule?t:{default:t}}var wd=new VTe.default;yd.arrayDiff=wd;wd.tokenize=function(t){return t.slice()};wd.join=wd.removeEmpty=function(t){return t};function WTe(t,e,r){return wd.diff(t,e,r)}});var GB=E(HR=>{"use strict";Object.defineProperty(HR,"__esModule",{value:!0});HR.parsePatch=_Te;function _Te(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=t.split(/\r\n|[\n\v\f\r\x85]/),i=t.match(/\r\n|[\n\v\f\r\x85]/g)||[],n=[],s=0;function o(){var c={};for(n.push(c);s{"use strict";Object.defineProperty(GR,"__esModule",{value:!0});GR.default=XTe;function XTe(t,e,r){var i=!0,n=!1,s=!1,o=1;return function a(){if(i&&!s){if(n?o++:i=!1,t+o<=r)return o;s=!0}if(!n)return s||(i=!0),e<=t-o?-o++:(n=!0,a())}}});var V_=E(jB=>{"use strict";Object.defineProperty(jB,"__esModule",{value:!0});jB.applyPatch=W_;jB.applyPatches=ZTe;var z_=GB(),eMe=$Te(J_());function $Te(t){return t&&t.__esModule?t:{default:t}}function W_(t,e){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};if(typeof e=="string"&&(e=(0,z_.parsePatch)(e)),Array.isArray(e)){if(e.length>1)throw new Error("applyPatch only works with a single input.");e=e[0]}var i=t.split(/\r\n|[\n\v\f\r\x85]/),n=t.match(/\r\n|[\n\v\f\r\x85]/g)||[],s=e.hunks,o=r.compareLine||function(F,D,he,pe){return D===pe},a=0,l=r.fuzzFactor||0,c=0,u=0,g,f;function h(F,D){for(var he=0;he0?pe[0]:" ",Pe=pe.length>0?pe.substr(1):pe;if(Ne===" "||Ne==="-"){if(!o(D+1,i[D],Ne,Pe)&&(a++,a>l))return!1;D++}}return!0}for(var p=0;p0?ne[0]:" ",A=ne.length>0?ne.substr(1):ne,V=L.linedelimiters[J];if(q===" ")K++;else if(q==="-")i.splice(K,1),n.splice(K,1);else if(q==="+")i.splice(K,0,A),n.splice(K,0,V),K++;else if(q==="\\"){var W=L.lines[J-1]?L.lines[J-1][0]:null;W==="+"?g=!0:W==="-"&&(f=!0)}}}if(g)for(;!i[i.length-1];)i.pop(),n.pop();else f&&(i.push(""),n.push(` +`));for(var X=0;X{"use strict";Object.defineProperty(Bd,"__esModule",{value:!0});Bd.structuredPatch=__;Bd.createTwoFilesPatch=X_;Bd.createPatch=tMe;var rMe=KB();function jR(t){return sMe(t)||nMe(t)||iMe()}function iMe(){throw new TypeError("Invalid attempt to spread non-iterable instance")}function nMe(t){if(Symbol.iterator in Object(t)||Object.prototype.toString.call(t)==="[object Arguments]")return Array.from(t)}function sMe(t){if(Array.isArray(t)){for(var e=0,r=new Array(t.length);e0?l(L.lines.slice(-o.context)):[],u-=f.length,g-=f.length)}(H=f).push.apply(H,jR(R.map(function(X){return(b.added?"+":"-")+X}))),b.added?p+=R.length:h+=R.length}else{if(u)if(R.length<=o.context*2&&B=a.length-2&&R.length<=o.context){var A=/\n$/.test(r),V=/\n$/.test(i),W=R.length==0&&f.length>q.oldLines;!A&&W&&f.splice(q.oldLines,0,"\\ No newline at end of file"),(!A&&!W||!V)&&f.push("\\ No newline at end of file")}c.push(q),u=0,g=0,f=[]}h+=R.length,p+=R.length}},m=0;m{"use strict";Object.defineProperty(YB,"__esModule",{value:!0});YB.arrayEqual=oMe;YB.arrayStartsWith=Z_;function oMe(t,e){return t.length!==e.length?!1:Z_(t,e)}function Z_(t,e){if(e.length>t.length)return!1;for(var r=0;r{"use strict";Object.defineProperty(qB,"__esModule",{value:!0});qB.calcLineCount=eX;qB.merge=aMe;var AMe=YR(),lMe=GB(),qR=$_();function Mg(t){return gMe(t)||uMe(t)||cMe()}function cMe(){throw new TypeError("Invalid attempt to spread non-iterable instance")}function uMe(t){if(Symbol.iterator in Object(t)||Object.prototype.toString.call(t)==="[object Arguments]")return Array.from(t)}function gMe(t){if(Array.isArray(t)){for(var e=0,r=new Array(t.length);e{"use strict";Object.defineProperty(zR,"__esModule",{value:!0});zR.convertChangesToDMP=dMe;function dMe(t){for(var e=[],r,i,n=0;n{"use strict";Object.defineProperty(VR,"__esModule",{value:!0});VR.convertChangesToXML=CMe;function CMe(t){for(var e=[],r=0;r"):i.removed&&e.push(""),e.push(mMe(i.value)),i.added?e.push(""):i.removed&&e.push("")}return e.join("")}function mMe(t){var e=t;return e=e.replace(/&/g,"&"),e=e.replace(//g,">"),e=e.replace(/"/g,"""),e}});var CX=E(br=>{"use strict";Object.defineProperty(br,"__esModule",{value:!0});Object.defineProperty(br,"Diff",{enumerable:!0,get:function(){return EMe.default}});Object.defineProperty(br,"diffChars",{enumerable:!0,get:function(){return IMe.diffChars}});Object.defineProperty(br,"diffWords",{enumerable:!0,get:function(){return fX.diffWords}});Object.defineProperty(br,"diffWordsWithSpace",{enumerable:!0,get:function(){return fX.diffWordsWithSpace}});Object.defineProperty(br,"diffLines",{enumerable:!0,get:function(){return hX.diffLines}});Object.defineProperty(br,"diffTrimmedLines",{enumerable:!0,get:function(){return hX.diffTrimmedLines}});Object.defineProperty(br,"diffSentences",{enumerable:!0,get:function(){return yMe.diffSentences}});Object.defineProperty(br,"diffCss",{enumerable:!0,get:function(){return wMe.diffCss}});Object.defineProperty(br,"diffJson",{enumerable:!0,get:function(){return pX.diffJson}});Object.defineProperty(br,"canonicalize",{enumerable:!0,get:function(){return pX.canonicalize}});Object.defineProperty(br,"diffArrays",{enumerable:!0,get:function(){return BMe.diffArrays}});Object.defineProperty(br,"applyPatch",{enumerable:!0,get:function(){return dX.applyPatch}});Object.defineProperty(br,"applyPatches",{enumerable:!0,get:function(){return dX.applyPatches}});Object.defineProperty(br,"parsePatch",{enumerable:!0,get:function(){return QMe.parsePatch}});Object.defineProperty(br,"merge",{enumerable:!0,get:function(){return bMe.merge}});Object.defineProperty(br,"structuredPatch",{enumerable:!0,get:function(){return _R.structuredPatch}});Object.defineProperty(br,"createTwoFilesPatch",{enumerable:!0,get:function(){return _R.createTwoFilesPatch}});Object.defineProperty(br,"createPatch",{enumerable:!0,get:function(){return _R.createPatch}});Object.defineProperty(br,"convertChangesToDMP",{enumerable:!0,get:function(){return vMe.convertChangesToDMP}});Object.defineProperty(br,"convertChangesToXML",{enumerable:!0,get:function(){return SMe.convertChangesToXML}});var EMe=xMe(Na()),IMe=M_(),fX=U_(),hX=KB(),yMe=H_(),wMe=G_(),pX=Y_(),BMe=q_(),dX=V_(),QMe=GB(),bMe=cX(),_R=YR(),vMe=uX(),SMe=gX();function xMe(t){return t&&t.__esModule?t:{default:t}}});var WB=E((agt,mX)=>{var kMe=As(),PMe=Nw(),DMe=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,RMe=/^\w*$/;function FMe(t,e){if(kMe(t))return!1;var r=typeof t;return r=="number"||r=="symbol"||r=="boolean"||t==null||PMe(t)?!0:RMe.test(t)||!DMe.test(t)||e!=null&&t in Object(e)}mX.exports=FMe});var Gs=E((Agt,EX)=>{function NMe(t){var e=typeof t;return t!=null&&(e=="object"||e=="function")}EX.exports=NMe});var zB=E((lgt,IX)=>{var LMe=Ac(),TMe=Gs(),MMe="[object AsyncFunction]",OMe="[object Function]",KMe="[object GeneratorFunction]",UMe="[object Proxy]";function HMe(t){if(!TMe(t))return!1;var e=LMe(t);return e==OMe||e==KMe||e==MMe||e==UMe}IX.exports=HMe});var wX=E((cgt,yX)=>{var GMe=Ks(),jMe=GMe["__core-js_shared__"];yX.exports=jMe});var bX=E((ugt,BX)=>{var XR=wX(),QX=function(){var t=/[^.]+$/.exec(XR&&XR.keys&&XR.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""}();function YMe(t){return!!QX&&QX in t}BX.exports=YMe});var ZR=E((ggt,vX)=>{var qMe=Function.prototype,JMe=qMe.toString;function WMe(t){if(t!=null){try{return JMe.call(t)}catch(e){}try{return t+""}catch(e){}}return""}vX.exports=WMe});var xX=E((fgt,SX)=>{var zMe=zB(),VMe=bX(),_Me=Gs(),XMe=ZR(),ZMe=/[\\^$.*+?()[\]{}|]/g,$Me=/^\[object .+?Constructor\]$/,eOe=Function.prototype,tOe=Object.prototype,rOe=eOe.toString,iOe=tOe.hasOwnProperty,nOe=RegExp("^"+rOe.call(iOe).replace(ZMe,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function sOe(t){if(!_Me(t)||VMe(t))return!1;var e=zMe(t)?nOe:$Me;return e.test(XMe(t))}SX.exports=sOe});var PX=E((hgt,kX)=>{function oOe(t,e){return t==null?void 0:t[e]}kX.exports=oOe});var UA=E((pgt,DX)=>{var aOe=xX(),AOe=PX();function lOe(t,e){var r=AOe(t,e);return aOe(r)?r:void 0}DX.exports=lOe});var Qd=E((dgt,RX)=>{var cOe=UA(),uOe=cOe(Object,"create");RX.exports=uOe});var LX=E((Cgt,FX)=>{var NX=Qd();function gOe(){this.__data__=NX?NX(null):{},this.size=0}FX.exports=gOe});var MX=E((mgt,TX)=>{function fOe(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e}TX.exports=fOe});var KX=E((Egt,OX)=>{var hOe=Qd(),pOe="__lodash_hash_undefined__",dOe=Object.prototype,COe=dOe.hasOwnProperty;function mOe(t){var e=this.__data__;if(hOe){var r=e[t];return r===pOe?void 0:r}return COe.call(e,t)?e[t]:void 0}OX.exports=mOe});var HX=E((Igt,UX)=>{var EOe=Qd(),IOe=Object.prototype,yOe=IOe.hasOwnProperty;function wOe(t){var e=this.__data__;return EOe?e[t]!==void 0:yOe.call(e,t)}UX.exports=wOe});var jX=E((ygt,GX)=>{var BOe=Qd(),QOe="__lodash_hash_undefined__";function bOe(t,e){var r=this.__data__;return this.size+=this.has(t)?0:1,r[t]=BOe&&e===void 0?QOe:e,this}GX.exports=bOe});var qX=E((wgt,YX)=>{var vOe=LX(),SOe=MX(),xOe=KX(),kOe=HX(),POe=jX();function Og(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e{function DOe(){this.__data__=[],this.size=0}JX.exports=DOe});var Kg=E((Qgt,zX)=>{function ROe(t,e){return t===e||t!==t&&e!==e}zX.exports=ROe});var bd=E((bgt,VX)=>{var FOe=Kg();function NOe(t,e){for(var r=t.length;r--;)if(FOe(t[r][0],e))return r;return-1}VX.exports=NOe});var XX=E((vgt,_X)=>{var LOe=bd(),TOe=Array.prototype,MOe=TOe.splice;function OOe(t){var e=this.__data__,r=LOe(e,t);if(r<0)return!1;var i=e.length-1;return r==i?e.pop():MOe.call(e,r,1),--this.size,!0}_X.exports=OOe});var $X=E((Sgt,ZX)=>{var KOe=bd();function UOe(t){var e=this.__data__,r=KOe(e,t);return r<0?void 0:e[r][1]}ZX.exports=UOe});var tZ=E((xgt,eZ)=>{var HOe=bd();function GOe(t){return HOe(this.__data__,t)>-1}eZ.exports=GOe});var iZ=E((kgt,rZ)=>{var jOe=bd();function YOe(t,e){var r=this.__data__,i=jOe(r,t);return i<0?(++this.size,r.push([t,e])):r[i][1]=e,this}rZ.exports=YOe});var vd=E((Pgt,nZ)=>{var qOe=WX(),JOe=XX(),WOe=$X(),zOe=tZ(),VOe=iZ();function Ug(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e{var _Oe=UA(),XOe=Ks(),ZOe=_Oe(XOe,"Map");sZ.exports=ZOe});var AZ=E((Rgt,oZ)=>{var aZ=qX(),$Oe=vd(),eKe=VB();function tKe(){this.size=0,this.__data__={hash:new aZ,map:new(eKe||$Oe),string:new aZ}}oZ.exports=tKe});var cZ=E((Fgt,lZ)=>{function rKe(t){var e=typeof t;return e=="string"||e=="number"||e=="symbol"||e=="boolean"?t!=="__proto__":t===null}lZ.exports=rKe});var Sd=E((Ngt,uZ)=>{var iKe=cZ();function nKe(t,e){var r=t.__data__;return iKe(e)?r[typeof e=="string"?"string":"hash"]:r.map}uZ.exports=nKe});var fZ=E((Lgt,gZ)=>{var sKe=Sd();function oKe(t){var e=sKe(this,t).delete(t);return this.size-=e?1:0,e}gZ.exports=oKe});var pZ=E((Tgt,hZ)=>{var aKe=Sd();function AKe(t){return aKe(this,t).get(t)}hZ.exports=AKe});var CZ=E((Mgt,dZ)=>{var lKe=Sd();function cKe(t){return lKe(this,t).has(t)}dZ.exports=cKe});var EZ=E((Ogt,mZ)=>{var uKe=Sd();function gKe(t,e){var r=uKe(this,t),i=r.size;return r.set(t,e),this.size+=r.size==i?0:1,this}mZ.exports=gKe});var _B=E((Kgt,IZ)=>{var fKe=AZ(),hKe=fZ(),pKe=pZ(),dKe=CZ(),CKe=EZ();function Hg(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e{var wZ=_B(),mKe="Expected a function";function $R(t,e){if(typeof t!="function"||e!=null&&typeof e!="function")throw new TypeError(mKe);var r=function(){var i=arguments,n=e?e.apply(this,i):i[0],s=r.cache;if(s.has(n))return s.get(n);var o=t.apply(this,i);return r.cache=s.set(n,o)||s,o};return r.cache=new($R.Cache||wZ),r}$R.Cache=wZ;yZ.exports=$R});var bZ=E((Hgt,QZ)=>{var EKe=BZ(),IKe=500;function yKe(t){var e=EKe(t,function(i){return r.size===IKe&&r.clear(),i}),r=e.cache;return e}QZ.exports=yKe});var SZ=E((Ggt,vZ)=>{var wKe=bZ(),BKe=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,QKe=/\\(\\)?/g,bKe=wKe(function(t){var e=[];return t.charCodeAt(0)===46&&e.push(""),t.replace(BKe,function(r,i,n,s){e.push(n?s.replace(QKe,"$1"):i||r)}),e});vZ.exports=bKe});var Gg=E((jgt,xZ)=>{var vKe=As(),SKe=WB(),xKe=SZ(),kKe=gg();function PKe(t,e){return vKe(t)?t:SKe(t,e)?[t]:xKe(kKe(t))}xZ.exports=PKe});var Sc=E((Ygt,kZ)=>{var DKe=Nw(),RKe=1/0;function FKe(t){if(typeof t=="string"||DKe(t))return t;var e=t+"";return e=="0"&&1/t==-RKe?"-0":e}kZ.exports=FKe});var xd=E((qgt,PZ)=>{var NKe=Gg(),LKe=Sc();function TKe(t,e){e=NKe(e,t);for(var r=0,i=e.length;t!=null&&r{var MKe=UA(),OKe=function(){try{var t=MKe(Object,"defineProperty");return t({},"",{}),t}catch(e){}}();DZ.exports=OKe});var jg=E((Wgt,RZ)=>{var FZ=eF();function KKe(t,e,r){e=="__proto__"&&FZ?FZ(t,e,{configurable:!0,enumerable:!0,value:r,writable:!0}):t[e]=r}RZ.exports=KKe});var XB=E((zgt,NZ)=>{var UKe=jg(),HKe=Kg(),GKe=Object.prototype,jKe=GKe.hasOwnProperty;function YKe(t,e,r){var i=t[e];(!(jKe.call(t,e)&&HKe(i,r))||r===void 0&&!(e in t))&&UKe(t,e,r)}NZ.exports=YKe});var kd=E((Vgt,LZ)=>{var qKe=9007199254740991,JKe=/^(?:0|[1-9]\d*)$/;function WKe(t,e){var r=typeof t;return e=e==null?qKe:e,!!e&&(r=="number"||r!="symbol"&&JKe.test(t))&&t>-1&&t%1==0&&t{var zKe=XB(),VKe=Gg(),_Ke=kd(),MZ=Gs(),XKe=Sc();function ZKe(t,e,r,i){if(!MZ(t))return t;e=VKe(e,t);for(var n=-1,s=e.length,o=s-1,a=t;a!=null&&++n{var $Ke=xd(),e1e=tF(),t1e=Gg();function r1e(t,e,r){for(var i=-1,n=e.length,s={};++i{function i1e(t,e){return t!=null&&e in Object(t)}UZ.exports=i1e});var jZ=E(($gt,GZ)=>{var n1e=Ac(),s1e=Qo(),o1e="[object Arguments]";function a1e(t){return s1e(t)&&n1e(t)==o1e}GZ.exports=a1e});var Pd=E((eft,YZ)=>{var qZ=jZ(),A1e=Qo(),JZ=Object.prototype,l1e=JZ.hasOwnProperty,c1e=JZ.propertyIsEnumerable,u1e=qZ(function(){return arguments}())?qZ:function(t){return A1e(t)&&l1e.call(t,"callee")&&!c1e.call(t,"callee")};YZ.exports=u1e});var ZB=E((tft,WZ)=>{var g1e=9007199254740991;function f1e(t){return typeof t=="number"&&t>-1&&t%1==0&&t<=g1e}WZ.exports=f1e});var rF=E((rft,zZ)=>{var h1e=Gg(),p1e=Pd(),d1e=As(),C1e=kd(),m1e=ZB(),E1e=Sc();function I1e(t,e,r){e=h1e(e,t);for(var i=-1,n=e.length,s=!1;++i{var y1e=HZ(),w1e=rF();function B1e(t,e){return t!=null&&w1e(t,e,y1e)}VZ.exports=B1e});var XZ=E((nft,_Z)=>{var Q1e=KZ(),b1e=iF();function v1e(t,e){return Q1e(t,e,function(r,i){return b1e(t,i)})}_Z.exports=v1e});var $B=E((sft,ZZ)=>{function S1e(t,e){for(var r=-1,i=e.length,n=t.length;++r{var e$=ac(),x1e=Pd(),k1e=As(),t$=e$?e$.isConcatSpreadable:void 0;function P1e(t){return k1e(t)||x1e(t)||!!(t$&&t&&t[t$])}$Z.exports=P1e});var s$=E((aft,i$)=>{var D1e=$B(),R1e=r$();function n$(t,e,r,i,n){var s=-1,o=t.length;for(r||(r=R1e),n||(n=[]);++s0&&r(a)?e>1?n$(a,e-1,r,i,n):D1e(n,a):i||(n[n.length]=a)}return n}i$.exports=n$});var a$=E((Aft,o$)=>{var F1e=s$();function N1e(t){var e=t==null?0:t.length;return e?F1e(t,1):[]}o$.exports=N1e});var l$=E((lft,A$)=>{function L1e(t,e,r){switch(r.length){case 0:return t.call(e);case 1:return t.call(e,r[0]);case 2:return t.call(e,r[0],r[1]);case 3:return t.call(e,r[0],r[1],r[2])}return t.apply(e,r)}A$.exports=L1e});var nF=E((cft,c$)=>{var T1e=l$(),u$=Math.max;function M1e(t,e,r){return e=u$(e===void 0?t.length-1:e,0),function(){for(var i=arguments,n=-1,s=u$(i.length-e,0),o=Array(s);++n{function O1e(t){return function(){return t}}g$.exports=O1e});var e0=E((gft,h$)=>{function K1e(t){return t}h$.exports=K1e});var C$=E((fft,p$)=>{var U1e=f$(),d$=eF(),H1e=e0(),G1e=d$?function(t,e){return d$(t,"toString",{configurable:!0,enumerable:!1,value:U1e(e),writable:!0})}:H1e;p$.exports=G1e});var E$=E((hft,m$)=>{var j1e=800,Y1e=16,q1e=Date.now;function J1e(t){var e=0,r=0;return function(){var i=q1e(),n=Y1e-(i-r);if(r=i,n>0){if(++e>=j1e)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}m$.exports=J1e});var sF=E((pft,I$)=>{var W1e=C$(),z1e=E$(),V1e=z1e(W1e);I$.exports=V1e});var w$=E((dft,y$)=>{var _1e=a$(),X1e=nF(),Z1e=sF();function $1e(t){return Z1e(X1e(t,void 0,_1e),t+"")}y$.exports=$1e});var Q$=E((Cft,B$)=>{var eUe=XZ(),tUe=w$(),rUe=tUe(function(t,e){return t==null?{}:eUe(t,e)});B$.exports=rUe});var M$=E((lpt,N$)=>{"use strict";var pF;try{pF=Map}catch(t){}var dF;try{dF=Set}catch(t){}function L$(t,e,r){if(!t||typeof t!="object"||typeof t=="function")return t;if(t.nodeType&&"cloneNode"in t)return t.cloneNode(!0);if(t instanceof Date)return new Date(t.getTime());if(t instanceof RegExp)return new RegExp(t);if(Array.isArray(t))return t.map(T$);if(pF&&t instanceof pF)return new Map(Array.from(t.entries()));if(dF&&t instanceof dF)return new Set(Array.from(t.values()));if(t instanceof Object){e.push(t);var i=Object.create(t);r.push(i);for(var n in t){var s=e.findIndex(function(o){return o===t[n]});i[n]=s>-1?r[s]:L$(t[n],e,r)}return i}return t}function T$(t){return L$(t,[],[])}N$.exports=T$});var Nd=E(CF=>{"use strict";Object.defineProperty(CF,"__esModule",{value:!0});CF.default=uUe;var gUe=Object.prototype.toString,fUe=Error.prototype.toString,hUe=RegExp.prototype.toString,pUe=typeof Symbol!="undefined"?Symbol.prototype.toString:()=>"",dUe=/^Symbol\((.*)\)(.*)$/;function CUe(t){return t!=+t?"NaN":t===0&&1/t<0?"-0":""+t}function O$(t,e=!1){if(t==null||t===!0||t===!1)return""+t;let r=typeof t;if(r==="number")return CUe(t);if(r==="string")return e?`"${t}"`:t;if(r==="function")return"[Function "+(t.name||"anonymous")+"]";if(r==="symbol")return pUe.call(t).replace(dUe,"Symbol($1)");let i=gUe.call(t).slice(8,-1);return i==="Date"?isNaN(t.getTime())?""+t:t.toISOString(t):i==="Error"||t instanceof Error?"["+fUe.call(t)+"]":i==="RegExp"?hUe.call(t):null}function uUe(t,e){let r=O$(t,e);return r!==null?r:JSON.stringify(t,function(i,n){let s=O$(this[i],e);return s!==null?s:n},2)}});var La=E(ci=>{"use strict";Object.defineProperty(ci,"__esModule",{value:!0});ci.default=ci.array=ci.object=ci.boolean=ci.date=ci.number=ci.string=ci.mixed=void 0;var K$=mUe(Nd());function mUe(t){return t&&t.__esModule?t:{default:t}}var U$={default:"${path} is invalid",required:"${path} is a required field",oneOf:"${path} must be one of the following values: ${values}",notOneOf:"${path} must not be one of the following values: ${values}",notType:({path:t,type:e,value:r,originalValue:i})=>{let n=i!=null&&i!==r,s=`${t} must be a \`${e}\` type, but the final value was: \`${(0,K$.default)(r,!0)}\``+(n?` (cast from the value \`${(0,K$.default)(i,!0)}\`).`:".");return r===null&&(s+='\n If "null" is intended as an empty value be sure to mark the schema as `.nullable()`'),s},defined:"${path} must be defined"};ci.mixed=U$;var H$={length:"${path} must be exactly ${length} characters",min:"${path} must be at least ${min} characters",max:"${path} must be at most ${max} characters",matches:'${path} must match the following: "${regex}"',email:"${path} must be a valid email",url:"${path} must be a valid URL",uuid:"${path} must be a valid UUID",trim:"${path} must be a trimmed string",lowercase:"${path} must be a lowercase string",uppercase:"${path} must be a upper case string"};ci.string=H$;var G$={min:"${path} must be greater than or equal to ${min}",max:"${path} must be less than or equal to ${max}",lessThan:"${path} must be less than ${less}",moreThan:"${path} must be greater than ${more}",positive:"${path} must be a positive number",negative:"${path} must be a negative number",integer:"${path} must be an integer"};ci.number=G$;var j$={min:"${path} field must be later than ${min}",max:"${path} field must be at earlier than ${max}"};ci.date=j$;var Y$={isValue:"${path} field must be ${value}"};ci.boolean=Y$;var q$={noUnknown:"${path} field has unspecified keys: ${unknown}"};ci.object=q$;var J$={min:"${path} field must have at least ${min} items",max:"${path} field must have less than or equal to ${max} items",length:"${path} must be have ${length} items"};ci.array=J$;var EUe=Object.assign(Object.create(null),{mixed:U$,string:H$,number:G$,date:j$,object:q$,array:J$,boolean:Y$});ci.default=EUe});var z$=E((gpt,W$)=>{var IUe=Object.prototype,yUe=IUe.hasOwnProperty;function wUe(t,e){return t!=null&&yUe.call(t,e)}W$.exports=wUe});var Ld=E((fpt,V$)=>{var BUe=z$(),QUe=rF();function bUe(t,e){return t!=null&&QUe(t,e,BUe)}V$.exports=bUe});var qg=E(n0=>{"use strict";Object.defineProperty(n0,"__esModule",{value:!0});n0.default=void 0;var vUe=t=>t&&t.__isYupSchema__;n0.default=vUe});var Z$=E(s0=>{"use strict";Object.defineProperty(s0,"__esModule",{value:!0});s0.default=void 0;var SUe=_$(Ld()),xUe=_$(qg());function _$(t){return t&&t.__esModule?t:{default:t}}var X$=class{constructor(e,r){if(this.refs=e,this.refs=e,typeof r=="function"){this.fn=r;return}if(!(0,SUe.default)(r,"is"))throw new TypeError("`is:` is required for `when()` conditions");if(!r.then&&!r.otherwise)throw new TypeError("either `then:` or `otherwise:` is required for `when()` conditions");let{is:i,then:n,otherwise:s}=r,o=typeof i=="function"?i:(...a)=>a.every(l=>l===i);this.fn=function(...a){let l=a.pop(),c=a.pop(),u=o(...a)?n:s;if(!!u)return typeof u=="function"?u(c):c.concat(u.resolve(l))}}resolve(e,r){let i=this.refs.map(s=>s.getValue(r==null?void 0:r.value,r==null?void 0:r.parent,r==null?void 0:r.context)),n=this.fn.apply(e,i.concat(e,r));if(n===void 0||n===e)return e;if(!(0,xUe.default)(n))throw new TypeError("conditions must return a schema object");return n.resolve(r)}},kUe=X$;s0.default=kUe});var EF=E(mF=>{"use strict";Object.defineProperty(mF,"__esModule",{value:!0});mF.default=PUe;function PUe(t){return t==null?[]:[].concat(t)}});var xc=E(o0=>{"use strict";Object.defineProperty(o0,"__esModule",{value:!0});o0.default=void 0;var DUe=$$(Nd()),RUe=$$(EF());function $$(t){return t&&t.__esModule?t:{default:t}}function IF(){return IF=Object.assign||function(t){for(var e=1;e(0,DUe.default)(r[s])):typeof e=="function"?e(r):e}static isError(e){return e&&e.name==="ValidationError"}constructor(e,r,i,n){super();this.name="ValidationError",this.value=r,this.path=i,this.type=n,this.errors=[],this.inner=[],(0,RUe.default)(e).forEach(s=>{Td.isError(s)?(this.errors.push(...s.errors),this.inner=this.inner.concat(s.inner.length?s.inner:s)):this.errors.push(s)}),this.message=this.errors.length>1?`${this.errors.length} errors occurred`:this.errors[0],Error.captureStackTrace&&Error.captureStackTrace(this,Td)}};o0.default=Td});var a0=E(yF=>{"use strict";Object.defineProperty(yF,"__esModule",{value:!0});yF.default=NUe;var wF=LUe(xc());function LUe(t){return t&&t.__esModule?t:{default:t}}var TUe=t=>{let e=!1;return(...r)=>{e||(e=!0,t(...r))}};function NUe(t,e){let{endEarly:r,tests:i,args:n,value:s,errors:o,sort:a,path:l}=t,c=TUe(e),u=i.length,g=[];if(o=o||[],!u)return o.length?c(new wF.default(o,s,l)):c(null,s);for(let f=0;f{function MUe(t){return function(e,r,i){for(var n=-1,s=Object(e),o=i(e),a=o.length;a--;){var l=o[t?a:++n];if(r(s[l],l,s)===!1)break}return e}}eee.exports=MUe});var BF=E((Ipt,ree)=>{var OUe=tee(),KUe=OUe();ree.exports=KUe});var nee=E((ypt,iee)=>{function UUe(t,e){for(var r=-1,i=Array(t);++r{function HUe(){return!1}see.exports=HUe});var Od=E((Md,Jg)=>{var GUe=Ks(),jUe=oee(),aee=typeof Md=="object"&&Md&&!Md.nodeType&&Md,Aee=aee&&typeof Jg=="object"&&Jg&&!Jg.nodeType&&Jg,YUe=Aee&&Aee.exports===aee,lee=YUe?GUe.Buffer:void 0,qUe=lee?lee.isBuffer:void 0,JUe=qUe||jUe;Jg.exports=JUe});var uee=E((Bpt,cee)=>{var WUe=Ac(),zUe=ZB(),VUe=Qo(),_Ue="[object Arguments]",XUe="[object Array]",ZUe="[object Boolean]",$Ue="[object Date]",e2e="[object Error]",t2e="[object Function]",r2e="[object Map]",i2e="[object Number]",n2e="[object Object]",s2e="[object RegExp]",o2e="[object Set]",a2e="[object String]",A2e="[object WeakMap]",l2e="[object ArrayBuffer]",c2e="[object DataView]",u2e="[object Float32Array]",g2e="[object Float64Array]",f2e="[object Int8Array]",h2e="[object Int16Array]",p2e="[object Int32Array]",d2e="[object Uint8Array]",C2e="[object Uint8ClampedArray]",m2e="[object Uint16Array]",E2e="[object Uint32Array]",lr={};lr[u2e]=lr[g2e]=lr[f2e]=lr[h2e]=lr[p2e]=lr[d2e]=lr[C2e]=lr[m2e]=lr[E2e]=!0;lr[_Ue]=lr[XUe]=lr[l2e]=lr[ZUe]=lr[c2e]=lr[$Ue]=lr[e2e]=lr[t2e]=lr[r2e]=lr[i2e]=lr[n2e]=lr[s2e]=lr[o2e]=lr[a2e]=lr[A2e]=!1;function I2e(t){return VUe(t)&&zUe(t.length)&&!!lr[WUe(t)]}cee.exports=I2e});var A0=E((Qpt,gee)=>{function y2e(t){return function(e){return t(e)}}gee.exports=y2e});var l0=E((Kd,Wg)=>{var w2e=WP(),fee=typeof Kd=="object"&&Kd&&!Kd.nodeType&&Kd,Ud=fee&&typeof Wg=="object"&&Wg&&!Wg.nodeType&&Wg,B2e=Ud&&Ud.exports===fee,QF=B2e&&w2e.process,Q2e=function(){try{var t=Ud&&Ud.require&&Ud.require("util").types;return t||QF&&QF.binding&&QF.binding("util")}catch(e){}}();Wg.exports=Q2e});var c0=E((bpt,hee)=>{var b2e=uee(),v2e=A0(),pee=l0(),dee=pee&&pee.isTypedArray,S2e=dee?v2e(dee):b2e;hee.exports=S2e});var bF=E((vpt,Cee)=>{var x2e=nee(),k2e=Pd(),P2e=As(),D2e=Od(),R2e=kd(),F2e=c0(),N2e=Object.prototype,L2e=N2e.hasOwnProperty;function T2e(t,e){var r=P2e(t),i=!r&&k2e(t),n=!r&&!i&&D2e(t),s=!r&&!i&&!n&&F2e(t),o=r||i||n||s,a=o?x2e(t.length,String):[],l=a.length;for(var c in t)(e||L2e.call(t,c))&&!(o&&(c=="length"||n&&(c=="offset"||c=="parent")||s&&(c=="buffer"||c=="byteLength"||c=="byteOffset")||R2e(c,l)))&&a.push(c);return a}Cee.exports=T2e});var u0=E((Spt,mee)=>{var M2e=Object.prototype;function O2e(t){var e=t&&t.constructor,r=typeof e=="function"&&e.prototype||M2e;return t===r}mee.exports=O2e});var vF=E((xpt,Eee)=>{function K2e(t,e){return function(r){return t(e(r))}}Eee.exports=K2e});var yee=E((kpt,Iee)=>{var U2e=vF(),H2e=U2e(Object.keys,Object);Iee.exports=H2e});var Bee=E((Ppt,wee)=>{var G2e=u0(),j2e=yee(),Y2e=Object.prototype,q2e=Y2e.hasOwnProperty;function J2e(t){if(!G2e(t))return j2e(t);var e=[];for(var r in Object(t))q2e.call(t,r)&&r!="constructor"&&e.push(r);return e}wee.exports=J2e});var Hd=E((Dpt,Qee)=>{var W2e=zB(),z2e=ZB();function V2e(t){return t!=null&&z2e(t.length)&&!W2e(t)}Qee.exports=V2e});var zg=E((Rpt,bee)=>{var _2e=bF(),X2e=Bee(),Z2e=Hd();function $2e(t){return Z2e(t)?_2e(t):X2e(t)}bee.exports=$2e});var SF=E((Fpt,vee)=>{var eHe=BF(),tHe=zg();function rHe(t,e){return t&&eHe(t,e,tHe)}vee.exports=rHe});var xee=E((Npt,See)=>{var iHe=vd();function nHe(){this.__data__=new iHe,this.size=0}See.exports=nHe});var Pee=E((Lpt,kee)=>{function sHe(t){var e=this.__data__,r=e.delete(t);return this.size=e.size,r}kee.exports=sHe});var Ree=E((Tpt,Dee)=>{function oHe(t){return this.__data__.get(t)}Dee.exports=oHe});var Nee=E((Mpt,Fee)=>{function aHe(t){return this.__data__.has(t)}Fee.exports=aHe});var Tee=E((Opt,Lee)=>{var AHe=vd(),lHe=VB(),cHe=_B(),uHe=200;function gHe(t,e){var r=this.__data__;if(r instanceof AHe){var i=r.__data__;if(!lHe||i.length{var fHe=vd(),hHe=xee(),pHe=Pee(),dHe=Ree(),CHe=Nee(),mHe=Tee();function Vg(t){var e=this.__data__=new fHe(t);this.size=e.size}Vg.prototype.clear=hHe;Vg.prototype.delete=pHe;Vg.prototype.get=dHe;Vg.prototype.has=CHe;Vg.prototype.set=mHe;Mee.exports=Vg});var Kee=E((Upt,Oee)=>{var EHe="__lodash_hash_undefined__";function IHe(t){return this.__data__.set(t,EHe),this}Oee.exports=IHe});var Hee=E((Hpt,Uee)=>{function yHe(t){return this.__data__.has(t)}Uee.exports=yHe});var jee=E((Gpt,Gee)=>{var wHe=_B(),BHe=Kee(),QHe=Hee();function g0(t){var e=-1,r=t==null?0:t.length;for(this.__data__=new wHe;++e{function bHe(t,e){for(var r=-1,i=t==null?0:t.length;++r{function vHe(t,e){return t.has(e)}Jee.exports=vHe});var xF=E((qpt,zee)=>{var SHe=jee(),xHe=qee(),kHe=Wee(),PHe=1,DHe=2;function RHe(t,e,r,i,n,s){var o=r&PHe,a=t.length,l=e.length;if(a!=l&&!(o&&l>a))return!1;var c=s.get(t),u=s.get(e);if(c&&u)return c==e&&u==t;var g=-1,f=!0,h=r&DHe?new SHe:void 0;for(s.set(t,e),s.set(e,t);++g{var FHe=Ks(),NHe=FHe.Uint8Array;Vee.exports=NHe});var Xee=E((Wpt,_ee)=>{function LHe(t){var e=-1,r=Array(t.size);return t.forEach(function(i,n){r[++e]=[n,i]}),r}_ee.exports=LHe});var $ee=E((zpt,Zee)=>{function THe(t){var e=-1,r=Array(t.size);return t.forEach(function(i){r[++e]=i}),r}Zee.exports=THe});var nte=E((Vpt,ete)=>{var tte=ac(),rte=kF(),MHe=Kg(),OHe=xF(),KHe=Xee(),UHe=$ee(),HHe=1,GHe=2,jHe="[object Boolean]",YHe="[object Date]",qHe="[object Error]",JHe="[object Map]",WHe="[object Number]",zHe="[object RegExp]",VHe="[object Set]",_He="[object String]",XHe="[object Symbol]",ZHe="[object ArrayBuffer]",$He="[object DataView]",ite=tte?tte.prototype:void 0,PF=ite?ite.valueOf:void 0;function eGe(t,e,r,i,n,s,o){switch(r){case $He:if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return!1;t=t.buffer,e=e.buffer;case ZHe:return!(t.byteLength!=e.byteLength||!s(new rte(t),new rte(e)));case jHe:case YHe:case WHe:return MHe(+t,+e);case qHe:return t.name==e.name&&t.message==e.message;case zHe:case _He:return t==e+"";case JHe:var a=KHe;case VHe:var l=i&HHe;if(a||(a=UHe),t.size!=e.size&&!l)return!1;var c=o.get(t);if(c)return c==e;i|=GHe,o.set(t,e);var u=OHe(a(t),a(e),i,n,s,o);return o.delete(t),u;case XHe:if(PF)return PF.call(t)==PF.call(e)}return!1}ete.exports=eGe});var DF=E((_pt,ste)=>{var tGe=$B(),rGe=As();function iGe(t,e,r){var i=e(t);return rGe(t)?i:tGe(i,r(t))}ste.exports=iGe});var ate=E((Xpt,ote)=>{function nGe(t,e){for(var r=-1,i=t==null?0:t.length,n=0,s=[];++r{function sGe(){return[]}Ate.exports=sGe});var f0=E(($pt,lte)=>{var oGe=ate(),aGe=RF(),AGe=Object.prototype,lGe=AGe.propertyIsEnumerable,cte=Object.getOwnPropertySymbols,cGe=cte?function(t){return t==null?[]:(t=Object(t),oGe(cte(t),function(e){return lGe.call(t,e)}))}:aGe;lte.exports=cGe});var FF=E((edt,ute)=>{var uGe=DF(),gGe=f0(),fGe=zg();function hGe(t){return uGe(t,fGe,gGe)}ute.exports=hGe});var hte=E((tdt,gte)=>{var fte=FF(),pGe=1,dGe=Object.prototype,CGe=dGe.hasOwnProperty;function mGe(t,e,r,i,n,s){var o=r&pGe,a=fte(t),l=a.length,c=fte(e),u=c.length;if(l!=u&&!o)return!1;for(var g=l;g--;){var f=a[g];if(!(o?f in e:CGe.call(e,f)))return!1}var h=s.get(t),p=s.get(e);if(h&&p)return h==e&&p==t;var d=!0;s.set(t,e),s.set(e,t);for(var m=o;++g{var EGe=UA(),IGe=Ks(),yGe=EGe(IGe,"DataView");pte.exports=yGe});var mte=E((idt,Cte)=>{var wGe=UA(),BGe=Ks(),QGe=wGe(BGe,"Promise");Cte.exports=QGe});var Ite=E((ndt,Ete)=>{var bGe=UA(),vGe=Ks(),SGe=bGe(vGe,"Set");Ete.exports=SGe});var wte=E((sdt,yte)=>{var xGe=UA(),kGe=Ks(),PGe=xGe(kGe,"WeakMap");yte.exports=PGe});var jd=E((odt,Bte)=>{var NF=dte(),LF=VB(),TF=mte(),MF=Ite(),OF=wte(),Qte=Ac(),_g=ZR(),bte="[object Map]",DGe="[object Object]",vte="[object Promise]",Ste="[object Set]",xte="[object WeakMap]",kte="[object DataView]",RGe=_g(NF),FGe=_g(LF),NGe=_g(TF),LGe=_g(MF),TGe=_g(OF),kc=Qte;(NF&&kc(new NF(new ArrayBuffer(1)))!=kte||LF&&kc(new LF)!=bte||TF&&kc(TF.resolve())!=vte||MF&&kc(new MF)!=Ste||OF&&kc(new OF)!=xte)&&(kc=function(t){var e=Qte(t),r=e==DGe?t.constructor:void 0,i=r?_g(r):"";if(i)switch(i){case RGe:return kte;case FGe:return bte;case NGe:return vte;case LGe:return Ste;case TGe:return xte}return e});Bte.exports=kc});var Mte=E((adt,Pte)=>{var KF=Gd(),MGe=xF(),OGe=nte(),KGe=hte(),Dte=jd(),Rte=As(),Fte=Od(),UGe=c0(),HGe=1,Nte="[object Arguments]",Lte="[object Array]",h0="[object Object]",GGe=Object.prototype,Tte=GGe.hasOwnProperty;function jGe(t,e,r,i,n,s){var o=Rte(t),a=Rte(e),l=o?Lte:Dte(t),c=a?Lte:Dte(e);l=l==Nte?h0:l,c=c==Nte?h0:c;var u=l==h0,g=c==h0,f=l==c;if(f&&Fte(t)){if(!Fte(e))return!1;o=!0,u=!1}if(f&&!u)return s||(s=new KF),o||UGe(t)?MGe(t,e,r,i,n,s):OGe(t,e,l,r,i,n,s);if(!(r&HGe)){var h=u&&Tte.call(t,"__wrapped__"),p=g&&Tte.call(e,"__wrapped__");if(h||p){var d=h?t.value():t,m=p?e.value():e;return s||(s=new KF),n(d,m,r,i,s)}}return f?(s||(s=new KF),KGe(t,e,r,i,n,s)):!1}Pte.exports=jGe});var UF=E((Adt,Ote)=>{var YGe=Mte(),Kte=Qo();function Ute(t,e,r,i,n){return t===e?!0:t==null||e==null||!Kte(t)&&!Kte(e)?t!==t&&e!==e:YGe(t,e,r,i,Ute,n)}Ote.exports=Ute});var Gte=E((ldt,Hte)=>{var qGe=Gd(),JGe=UF(),WGe=1,zGe=2;function VGe(t,e,r,i){var n=r.length,s=n,o=!i;if(t==null)return!s;for(t=Object(t);n--;){var a=r[n];if(o&&a[2]?a[1]!==t[a[0]]:!(a[0]in t))return!1}for(;++n{var _Ge=Gs();function XGe(t){return t===t&&!_Ge(t)}jte.exports=XGe});var qte=E((udt,Yte)=>{var ZGe=HF(),$Ge=zg();function eje(t){for(var e=$Ge(t),r=e.length;r--;){var i=e[r],n=t[i];e[r]=[i,n,ZGe(n)]}return e}Yte.exports=eje});var GF=E((gdt,Jte)=>{function tje(t,e){return function(r){return r==null?!1:r[t]===e&&(e!==void 0||t in Object(r))}}Jte.exports=tje});var zte=E((fdt,Wte)=>{var rje=Gte(),ije=qte(),nje=GF();function sje(t){var e=ije(t);return e.length==1&&e[0][2]?nje(e[0][0],e[0][1]):function(r){return r===t||rje(r,t,e)}}Wte.exports=sje});var p0=E((hdt,Vte)=>{var oje=xd();function aje(t,e,r){var i=t==null?void 0:oje(t,e);return i===void 0?r:i}Vte.exports=aje});var Xte=E((pdt,_te)=>{var Aje=UF(),lje=p0(),cje=iF(),uje=WB(),gje=HF(),fje=GF(),hje=Sc(),pje=1,dje=2;function Cje(t,e){return uje(t)&&gje(e)?fje(hje(t),e):function(r){var i=lje(r,t);return i===void 0&&i===e?cje(r,t):Aje(e,i,pje|dje)}}_te.exports=Cje});var $te=E((ddt,Zte)=>{function mje(t){return function(e){return e==null?void 0:e[t]}}Zte.exports=mje});var tre=E((Cdt,ere)=>{var Eje=xd();function Ije(t){return function(e){return Eje(e,t)}}ere.exports=Ije});var ire=E((mdt,rre)=>{var yje=$te(),wje=tre(),Bje=WB(),Qje=Sc();function bje(t){return Bje(t)?yje(Qje(t)):wje(t)}rre.exports=bje});var jF=E((Edt,nre)=>{var vje=zte(),Sje=Xte(),xje=e0(),kje=As(),Pje=ire();function Dje(t){return typeof t=="function"?t:t==null?xje:typeof t=="object"?kje(t)?Sje(t[0],t[1]):vje(t):Pje(t)}nre.exports=Dje});var YF=E((Idt,sre)=>{var Rje=jg(),Fje=SF(),Nje=jF();function Lje(t,e){var r={};return e=Nje(e,3),Fje(t,function(i,n,s){Rje(r,n,e(i,n,s))}),r}sre.exports=Lje});var Yd=E((ydt,ore)=>{"use strict";function Pc(t){this._maxSize=t,this.clear()}Pc.prototype.clear=function(){this._size=0,this._values=Object.create(null)};Pc.prototype.get=function(t){return this._values[t]};Pc.prototype.set=function(t,e){return this._size>=this._maxSize&&this.clear(),t in this._values||this._size++,this._values[t]=e};var Tje=/[^.^\]^[]+|(?=\[\]|\.\.)/g,are=/^\d+$/,Mje=/^\d/,Oje=/[~`!#$%\^&*+=\-\[\]\\';,/{}|\\":<>\?]/g,Kje=/^\s*(['"]?)(.*?)(\1)\s*$/,qF=512,Are=new Pc(qF),lre=new Pc(qF),cre=new Pc(qF);ore.exports={Cache:Pc,split:WF,normalizePath:JF,setter:function(t){var e=JF(t);return lre.get(t)||lre.set(t,function(i,n){for(var s=0,o=e.length,a=i;s{"use strict";Object.defineProperty(qd,"__esModule",{value:!0});qd.create=Yje;qd.default=void 0;var qje=Yd(),d0={context:"$",value:"."};function Yje(t,e){return new C0(t,e)}var C0=class{constructor(e,r={}){if(typeof e!="string")throw new TypeError("ref must be a string, got: "+e);if(this.key=e.trim(),e==="")throw new TypeError("ref must be a non-empty string");this.isContext=this.key[0]===d0.context,this.isValue=this.key[0]===d0.value,this.isSibling=!this.isContext&&!this.isValue;let i=this.isContext?d0.context:this.isValue?d0.value:"";this.path=this.key.slice(i.length),this.getter=this.path&&(0,qje.getter)(this.path,!0),this.map=r.map}getValue(e,r,i){let n=this.isContext?i:this.isValue?e:r;return this.getter&&(n=this.getter(n||{})),this.map&&(n=this.map(n)),n}cast(e,r){return this.getValue(e,r==null?void 0:r.parent,r==null?void 0:r.context)}resolve(){return this}describe(){return{type:"ref",key:this.key}}toString(){return`Ref(${this.key})`}static isRef(e){return e&&e.__isYupRef}};qd.default=C0;C0.prototype.__isYupRef=!0});var ure=E(VF=>{"use strict";Object.defineProperty(VF,"__esModule",{value:!0});VF.default=Jje;var Wje=_F(YF()),m0=_F(xc()),zje=_F(Dc());function _F(t){return t&&t.__esModule?t:{default:t}}function E0(){return E0=Object.assign||function(t){for(var e=1;e=0)&&(r[n]=t[n]);return r}function Jje(t){function e(r,i){let{value:n,path:s="",label:o,options:a,originalValue:l,sync:c}=r,u=Vje(r,["value","path","label","options","originalValue","sync"]),{name:g,test:f,params:h,message:p}=t,{parent:d,context:m}=a;function I(L){return zje.default.isRef(L)?L.getValue(n,d,m):L}function B(L={}){let K=(0,Wje.default)(E0({value:n,originalValue:l,label:o,path:L.path||s},h,L.params),I),J=new m0.default(m0.default.formatError(L.message||p,K),n,K.path,L.type||g);return J.params=K,J}let b=E0({path:s,parent:d,type:g,createError:B,resolve:I,options:a,originalValue:l},u);if(!c){try{Promise.resolve(f.call(b,n,b)).then(L=>{m0.default.isError(L)?i(L):L?i(null,L):i(B())})}catch(L){i(L)}return}let R;try{var H;if(R=f.call(b,n,b),typeof((H=R)==null?void 0:H.then)=="function")throw new Error(`Validation test of type: "${b.type}" returned a Promise during a synchronous validate. This test will finish after the validate call has returned`)}catch(L){i(L);return}m0.default.isError(R)?i(R):R?i(null,R):i(B())}return e.OPTIONS=t,e}});var XF=E(Jd=>{"use strict";Object.defineProperty(Jd,"__esModule",{value:!0});Jd.getIn=gre;Jd.default=void 0;var _je=Yd(),Xje=t=>t.substr(0,t.length-1).substr(1);function gre(t,e,r,i=r){let n,s,o;return e?((0,_je.forEach)(e,(a,l,c)=>{let u=l?Xje(a):a;if(t=t.resolve({context:i,parent:n,value:r}),t.innerType){let g=c?parseInt(u,10):0;if(r&&g>=r.length)throw new Error(`Yup.reach cannot resolve an array item at index: ${a}, in the path: ${e}. because there is no value at that index. `);n=r,r=r&&r[g],t=t.innerType}if(!c){if(!t.fields||!t.fields[u])throw new Error(`The schema does not contain the path: ${e}. (failed at: ${o} which is a type: "${t._type}")`);n=r,r=r&&r[u],t=t.fields[u]}s=u,o=l?"["+a+"]":"."+a}),{schema:t,parent:n,parentPath:s}):{parent:n,parentPath:e,schema:t}}var Zje=(t,e,r,i)=>gre(t,e,r,i).schema,$je=Zje;Jd.default=$je});var hre=E(I0=>{"use strict";Object.defineProperty(I0,"__esModule",{value:!0});I0.default=void 0;var fre=eYe(Dc());function eYe(t){return t&&t.__esModule?t:{default:t}}var y0=class{constructor(){this.list=new Set,this.refs=new Map}get size(){return this.list.size+this.refs.size}describe(){let e=[];for(let r of this.list)e.push(r);for(let[,r]of this.refs)e.push(r.describe());return e}toArray(){return Array.from(this.list).concat(Array.from(this.refs.values()))}add(e){fre.default.isRef(e)?this.refs.set(e.key,e):this.list.add(e)}delete(e){fre.default.isRef(e)?this.refs.delete(e.key):this.list.delete(e)}has(e,r){if(this.list.has(e))return!0;let i,n=this.refs.values();for(;i=n.next(),!i.done;)if(r(i.value)===e)return!0;return!1}clone(){let e=new y0;return e.list=new Set(this.list),e.refs=new Map(this.refs),e}merge(e,r){let i=this.clone();return e.list.forEach(n=>i.add(n)),e.refs.forEach(n=>i.add(n)),r.list.forEach(n=>i.delete(n)),r.refs.forEach(n=>i.delete(n)),i}};I0.default=y0});var Ma=E(w0=>{"use strict";Object.defineProperty(w0,"__esModule",{value:!0});w0.default=void 0;var pre=Ta(M$()),Xg=La(),tYe=Ta(Z$()),dre=Ta(a0()),B0=Ta(ure()),Cre=Ta(Nd()),rYe=Ta(Dc()),iYe=XF(),nYe=Ta(EF()),mre=Ta(xc()),Ere=Ta(hre());function Ta(t){return t&&t.__esModule?t:{default:t}}function ds(){return ds=Object.assign||function(t){for(var e=1;e{this.typeError(Xg.mixed.notType)}),this.type=(e==null?void 0:e.type)||"mixed",this.spec=ds({strip:!1,strict:!1,abortEarly:!0,recursive:!0,nullable:!1,presence:"optional"},e==null?void 0:e.spec)}get _type(){return this.type}_typeCheck(e){return!0}clone(e){if(this._mutate)return e&&Object.assign(this.spec,e),this;let r=Object.create(Object.getPrototypeOf(this));return r.type=this.type,r._typeError=this._typeError,r._whitelistError=this._whitelistError,r._blacklistError=this._blacklistError,r._whitelist=this._whitelist.clone(),r._blacklist=this._blacklist.clone(),r.exclusiveTests=ds({},this.exclusiveTests),r.deps=[...this.deps],r.conditions=[...this.conditions],r.tests=[...this.tests],r.transforms=[...this.transforms],r.spec=(0,pre.default)(ds({},this.spec,e)),r}label(e){var r=this.clone();return r.spec.label=e,r}meta(...e){if(e.length===0)return this.spec.meta;let r=this.clone();return r.spec.meta=Object.assign(r.spec.meta||{},e[0]),r}withMutation(e){let r=this._mutate;this._mutate=!0;let i=e(this);return this._mutate=r,i}concat(e){if(!e||e===this)return this;if(e.type!==this.type&&this.type!=="mixed")throw new TypeError(`You cannot \`concat()\` schema's of different types: ${this.type} and ${e.type}`);let r=this,i=e.clone(),n=ds({},r.spec,i.spec);return i.spec=n,i._typeError||(i._typeError=r._typeError),i._whitelistError||(i._whitelistError=r._whitelistError),i._blacklistError||(i._blacklistError=r._blacklistError),i._whitelist=r._whitelist.merge(e._whitelist,e._blacklist),i._blacklist=r._blacklist.merge(e._blacklist,e._whitelist),i.tests=r.tests,i.exclusiveTests=r.exclusiveTests,i.withMutation(s=>{e.tests.forEach(o=>{s.test(o.OPTIONS)})}),i}isType(e){return this.spec.nullable&&e===null?!0:this._typeCheck(e)}resolve(e){let r=this;if(r.conditions.length){let i=r.conditions;r=r.clone(),r.conditions=[],r=i.reduce((n,s)=>s.resolve(n,e),r),r=r.resolve(e)}return r}cast(e,r={}){let i=this.resolve(ds({value:e},r)),n=i._cast(e,r);if(e!==void 0&&r.assert!==!1&&i.isType(n)!==!0){let s=(0,Cre.default)(e),o=(0,Cre.default)(n);throw new TypeError(`The value of ${r.path||"field"} could not be cast to a value that satisfies the schema type: "${i._type}". + +attempted value: ${s} +`+(o!==s?`result of cast: ${o}`:""))}return n}_cast(e,r){let i=e===void 0?e:this.transforms.reduce((n,s)=>s.call(this,n,e,this),e);return i===void 0&&(i=this.getDefault()),i}_validate(e,r={},i){let{sync:n,path:s,from:o=[],originalValue:a=e,strict:l=this.spec.strict,abortEarly:c=this.spec.abortEarly}=r,u=e;l||(u=this._cast(u,ds({assert:!1},r)));let g={value:u,path:s,options:r,originalValue:a,schema:this,label:this.spec.label,sync:n,from:o},f=[];this._typeError&&f.push(this._typeError),this._whitelistError&&f.push(this._whitelistError),this._blacklistError&&f.push(this._blacklistError),(0,dre.default)({args:g,value:u,path:s,sync:n,tests:f,endEarly:c},h=>{if(h)return void i(h,u);(0,dre.default)({tests:this.tests,args:g,path:s,sync:n,value:u,endEarly:c},i)})}validate(e,r,i){let n=this.resolve(ds({},r,{value:e}));return typeof i=="function"?n._validate(e,r,i):new Promise((s,o)=>n._validate(e,r,(a,l)=>{a?o(a):s(l)}))}validateSync(e,r){let i=this.resolve(ds({},r,{value:e})),n;return i._validate(e,ds({},r,{sync:!0}),(s,o)=>{if(s)throw s;n=o}),n}isValid(e,r){return this.validate(e,r).then(()=>!0,i=>{if(mre.default.isError(i))return!1;throw i})}isValidSync(e,r){try{return this.validateSync(e,r),!0}catch(i){if(mre.default.isError(i))return!1;throw i}}_getDefault(){let e=this.spec.default;return e==null?e:typeof e=="function"?e.call(this):(0,pre.default)(e)}getDefault(e){return this.resolve(e||{})._getDefault()}default(e){return arguments.length===0?this._getDefault():this.clone({default:e})}strict(e=!0){var r=this.clone();return r.spec.strict=e,r}_isPresent(e){return e!=null}defined(e=Xg.mixed.defined){return this.test({message:e,name:"defined",exclusive:!0,test(r){return r!==void 0}})}required(e=Xg.mixed.required){return this.clone({presence:"required"}).withMutation(r=>r.test({message:e,name:"required",exclusive:!0,test(i){return this.schema._isPresent(i)}}))}notRequired(){var e=this.clone({presence:"optional"});return e.tests=e.tests.filter(r=>r.OPTIONS.name!=="required"),e}nullable(e=!0){var r=this.clone({nullable:e!==!1});return r}transform(e){var r=this.clone();return r.transforms.push(e),r}test(...e){let r;if(e.length===1?typeof e[0]=="function"?r={test:e[0]}:r=e[0]:e.length===2?r={name:e[0],test:e[1]}:r={name:e[0],message:e[1],test:e[2]},r.message===void 0&&(r.message=Xg.mixed.default),typeof r.test!="function")throw new TypeError("`test` is a required parameters");let i=this.clone(),n=(0,B0.default)(r),s=r.exclusive||r.name&&i.exclusiveTests[r.name]===!0;if(r.exclusive&&!r.name)throw new TypeError("Exclusive tests must provide a unique `name` identifying the test");return r.name&&(i.exclusiveTests[r.name]=!!r.exclusive),i.tests=i.tests.filter(o=>!(o.OPTIONS.name===r.name&&(s||o.OPTIONS.test===n.OPTIONS.test))),i.tests.push(n),i}when(e,r){!Array.isArray(e)&&typeof e!="string"&&(r=e,e=".");let i=this.clone(),n=(0,nYe.default)(e).map(s=>new rYe.default(s));return n.forEach(s=>{s.isSibling&&i.deps.push(s.key)}),i.conditions.push(new tYe.default(n,r)),i}typeError(e){var r=this.clone();return r._typeError=(0,B0.default)({message:e,name:"typeError",test(i){return i!==void 0&&!this.schema.isType(i)?this.createError({params:{type:this.schema._type}}):!0}}),r}oneOf(e,r=Xg.mixed.oneOf){var i=this.clone();return e.forEach(n=>{i._whitelist.add(n),i._blacklist.delete(n)}),i._whitelistError=(0,B0.default)({message:r,name:"oneOf",test(n){if(n===void 0)return!0;let s=this.schema._whitelist;return s.has(n,this.resolve)?!0:this.createError({params:{values:s.toArray().join(", ")}})}}),i}notOneOf(e,r=Xg.mixed.notOneOf){var i=this.clone();return e.forEach(n=>{i._blacklist.add(n),i._whitelist.delete(n)}),i._blacklistError=(0,B0.default)({message:r,name:"notOneOf",test(n){let s=this.schema._blacklist;return s.has(n,this.resolve)?this.createError({params:{values:s.toArray().join(", ")}}):!0}}),i}strip(e=!0){let r=this.clone();return r.spec.strip=e,r}describe(){let e=this.clone(),{label:r,meta:i}=e.spec;return{meta:i,label:r,type:e.type,oneOf:e._whitelist.describe(),notOneOf:e._blacklist.describe(),tests:e.tests.map(s=>({name:s.OPTIONS.name,params:s.OPTIONS.params})).filter((s,o,a)=>a.findIndex(l=>l.name===s.name)===o)}}};w0.default=Do;Do.prototype.__isYupSchema__=!0;for(let t of["validate","validateSync"])Do.prototype[`${t}At`]=function(e,r,i={}){let{parent:n,parentPath:s,schema:o}=(0,iYe.getIn)(this,e,r,i.context);return o[t](n&&n[s],ds({},i,{parent:n,path:e}))};for(let t of["equals","is"])Do.prototype[t]=Do.prototype.oneOf;for(let t of["not","nope"])Do.prototype[t]=Do.prototype.notOneOf;Do.prototype.optional=Do.prototype.notRequired});var yre=E(Wd=>{"use strict";Object.defineProperty(Wd,"__esModule",{value:!0});Wd.create=Ire;Wd.default=void 0;var oYe=sYe(Ma());function sYe(t){return t&&t.__esModule?t:{default:t}}var ZF=oYe.default,aYe=ZF;Wd.default=aYe;function Ire(){return new ZF}Ire.prototype=ZF.prototype});var Zg=E(Q0=>{"use strict";Object.defineProperty(Q0,"__esModule",{value:!0});Q0.default=void 0;var AYe=t=>t==null;Q0.default=AYe});var vre=E(zd=>{"use strict";Object.defineProperty(zd,"__esModule",{value:!0});zd.create=wre;zd.default=void 0;var lYe=Bre(Ma()),Qre=La(),bre=Bre(Zg());function Bre(t){return t&&t.__esModule?t:{default:t}}function wre(){return new b0}var b0=class extends lYe.default{constructor(){super({type:"boolean"});this.withMutation(()=>{this.transform(function(e){if(!this.isType(e)){if(/^(true|1)$/i.test(String(e)))return!0;if(/^(false|0)$/i.test(String(e)))return!1}return e})})}_typeCheck(e){return e instanceof Boolean&&(e=e.valueOf()),typeof e=="boolean"}isTrue(e=Qre.boolean.isValue){return this.test({message:e,name:"is-value",exclusive:!0,params:{value:"true"},test(r){return(0,bre.default)(r)||r===!0}})}isFalse(e=Qre.boolean.isValue){return this.test({message:e,name:"is-value",exclusive:!0,params:{value:"false"},test(r){return(0,bre.default)(r)||r===!1}})}};zd.default=b0;wre.prototype=b0.prototype});var kre=E(Vd=>{"use strict";Object.defineProperty(Vd,"__esModule",{value:!0});Vd.create=Sre;Vd.default=void 0;var Ro=La(),Oa=xre(Zg()),cYe=xre(Ma());function xre(t){return t&&t.__esModule?t:{default:t}}var uYe=/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))$/i,gYe=/^((https?|ftp):)?\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i,fYe=/^(?:[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,hYe=t=>(0,Oa.default)(t)||t===t.trim(),pYe={}.toString();function Sre(){return new v0}var v0=class extends cYe.default{constructor(){super({type:"string"});this.withMutation(()=>{this.transform(function(e){if(this.isType(e)||Array.isArray(e))return e;let r=e!=null&&e.toString?e.toString():e;return r===pYe?e:r})})}_typeCheck(e){return e instanceof String&&(e=e.valueOf()),typeof e=="string"}_isPresent(e){return super._isPresent(e)&&!!e.length}length(e,r=Ro.string.length){return this.test({message:r,name:"length",exclusive:!0,params:{length:e},test(i){return(0,Oa.default)(i)||i.length===this.resolve(e)}})}min(e,r=Ro.string.min){return this.test({message:r,name:"min",exclusive:!0,params:{min:e},test(i){return(0,Oa.default)(i)||i.length>=this.resolve(e)}})}max(e,r=Ro.string.max){return this.test({name:"max",exclusive:!0,message:r,params:{max:e},test(i){return(0,Oa.default)(i)||i.length<=this.resolve(e)}})}matches(e,r){let i=!1,n,s;return r&&(typeof r=="object"?{excludeEmptyString:i=!1,message:n,name:s}=r:n=r),this.test({name:s||"matches",message:n||Ro.string.matches,params:{regex:e},test:o=>(0,Oa.default)(o)||o===""&&i||o.search(e)!==-1})}email(e=Ro.string.email){return this.matches(uYe,{name:"email",message:e,excludeEmptyString:!0})}url(e=Ro.string.url){return this.matches(gYe,{name:"url",message:e,excludeEmptyString:!0})}uuid(e=Ro.string.uuid){return this.matches(fYe,{name:"uuid",message:e,excludeEmptyString:!1})}ensure(){return this.default("").transform(e=>e===null?"":e)}trim(e=Ro.string.trim){return this.transform(r=>r!=null?r.trim():r).test({message:e,name:"trim",test:hYe})}lowercase(e=Ro.string.lowercase){return this.transform(r=>(0,Oa.default)(r)?r:r.toLowerCase()).test({message:e,name:"string_case",exclusive:!0,test:r=>(0,Oa.default)(r)||r===r.toLowerCase()})}uppercase(e=Ro.string.uppercase){return this.transform(r=>(0,Oa.default)(r)?r:r.toUpperCase()).test({message:e,name:"string_case",exclusive:!0,test:r=>(0,Oa.default)(r)||r===r.toUpperCase()})}};Vd.default=v0;Sre.prototype=v0.prototype});var Rre=E(_d=>{"use strict";Object.defineProperty(_d,"__esModule",{value:!0});_d.create=Pre;_d.default=void 0;var Rc=La(),Fc=Dre(Zg()),dYe=Dre(Ma());function Dre(t){return t&&t.__esModule?t:{default:t}}var CYe=t=>t!=+t;function Pre(){return new S0}var S0=class extends dYe.default{constructor(){super({type:"number"});this.withMutation(()=>{this.transform(function(e){let r=e;if(typeof r=="string"){if(r=r.replace(/\s/g,""),r==="")return NaN;r=+r}return this.isType(r)?r:parseFloat(r)})})}_typeCheck(e){return e instanceof Number&&(e=e.valueOf()),typeof e=="number"&&!CYe(e)}min(e,r=Rc.number.min){return this.test({message:r,name:"min",exclusive:!0,params:{min:e},test(i){return(0,Fc.default)(i)||i>=this.resolve(e)}})}max(e,r=Rc.number.max){return this.test({message:r,name:"max",exclusive:!0,params:{max:e},test(i){return(0,Fc.default)(i)||i<=this.resolve(e)}})}lessThan(e,r=Rc.number.lessThan){return this.test({message:r,name:"max",exclusive:!0,params:{less:e},test(i){return(0,Fc.default)(i)||ithis.resolve(e)}})}positive(e=Rc.number.positive){return this.moreThan(0,e)}negative(e=Rc.number.negative){return this.lessThan(0,e)}integer(e=Rc.number.integer){return this.test({name:"integer",message:e,test:r=>(0,Fc.default)(r)||Number.isInteger(r)})}truncate(){return this.transform(e=>(0,Fc.default)(e)?e:e|0)}round(e){var r,i=["ceil","floor","round","trunc"];if(e=((r=e)==null?void 0:r.toLowerCase())||"round",e==="trunc")return this.truncate();if(i.indexOf(e.toLowerCase())===-1)throw new TypeError("Only valid options for round() are: "+i.join(", "));return this.transform(n=>(0,Fc.default)(n)?n:Math[e](n))}};_d.default=S0;Pre.prototype=S0.prototype});var Fre=E($F=>{"use strict";Object.defineProperty($F,"__esModule",{value:!0});$F.default=mYe;var EYe=/^(\d{4}|[+\-]\d{6})(?:-?(\d{2})(?:-?(\d{2}))?)?(?:[ T]?(\d{2}):?(\d{2})(?::?(\d{2})(?:[,\.](\d{1,}))?)?(?:(Z)|([+\-])(\d{2})(?::?(\d{2}))?)?)?$/;function mYe(t){var e=[1,4,5,6,7,10,11],r=0,i,n;if(n=EYe.exec(t)){for(var s=0,o;o=e[s];++s)n[o]=+n[o]||0;n[2]=(+n[2]||1)-1,n[3]=+n[3]||1,n[7]=n[7]?String(n[7]).substr(0,3):0,(n[8]===void 0||n[8]==="")&&(n[9]===void 0||n[9]==="")?i=+new Date(n[1],n[2],n[3],n[4],n[5],n[6],n[7]):(n[8]!=="Z"&&n[9]!==void 0&&(r=n[10]*60+n[11],n[9]==="+"&&(r=0-r)),i=Date.UTC(n[1],n[2],n[3],n[4],n[5]+r,n[6],n[7]))}else i=Date.parse?Date.parse(t):NaN;return i}});var Tre=E(Xd=>{"use strict";Object.defineProperty(Xd,"__esModule",{value:!0});Xd.create=eN;Xd.default=void 0;var IYe=x0(Fre()),Nre=La(),Lre=x0(Zg()),yYe=x0(Dc()),wYe=x0(Ma());function x0(t){return t&&t.__esModule?t:{default:t}}var tN=new Date(""),BYe=t=>Object.prototype.toString.call(t)==="[object Date]";function eN(){return new Zd}var Zd=class extends wYe.default{constructor(){super({type:"date"});this.withMutation(()=>{this.transform(function(e){return this.isType(e)?e:(e=(0,IYe.default)(e),isNaN(e)?tN:new Date(e))})})}_typeCheck(e){return BYe(e)&&!isNaN(e.getTime())}prepareParam(e,r){let i;if(yYe.default.isRef(e))i=e;else{let n=this.cast(e);if(!this._typeCheck(n))throw new TypeError(`\`${r}\` must be a Date or a value that can be \`cast()\` to a Date`);i=n}return i}min(e,r=Nre.date.min){let i=this.prepareParam(e,"min");return this.test({message:r,name:"min",exclusive:!0,params:{min:e},test(n){return(0,Lre.default)(n)||n>=this.resolve(i)}})}max(e,r=Nre.date.max){var i=this.prepareParam(e,"max");return this.test({message:r,name:"max",exclusive:!0,params:{max:e},test(n){return(0,Lre.default)(n)||n<=this.resolve(i)}})}};Xd.default=Zd;Zd.INVALID_DATE=tN;eN.prototype=Zd.prototype;eN.INVALID_DATE=tN});var Ore=E((Ndt,Mre)=>{function QYe(t,e,r,i){var n=-1,s=t==null?0:t.length;for(i&&s&&(r=t[++n]);++n{function bYe(t){return function(e){return t==null?void 0:t[e]}}Kre.exports=bYe});var Gre=E((Tdt,Hre)=>{var vYe=Ure(),SYe={\u00C0:"A",\u00C1:"A",\u00C2:"A",\u00C3:"A",\u00C4:"A",\u00C5:"A",\u00E0:"a",\u00E1:"a",\u00E2:"a",\u00E3:"a",\u00E4:"a",\u00E5:"a",\u00C7:"C",\u00E7:"c",\u00D0:"D",\u00F0:"d",\u00C8:"E",\u00C9:"E",\u00CA:"E",\u00CB:"E",\u00E8:"e",\u00E9:"e",\u00EA:"e",\u00EB:"e",\u00CC:"I",\u00CD:"I",\u00CE:"I",\u00CF:"I",\u00EC:"i",\u00ED:"i",\u00EE:"i",\u00EF:"i",\u00D1:"N",\u00F1:"n",\u00D2:"O",\u00D3:"O",\u00D4:"O",\u00D5:"O",\u00D6:"O",\u00D8:"O",\u00F2:"o",\u00F3:"o",\u00F4:"o",\u00F5:"o",\u00F6:"o",\u00F8:"o",\u00D9:"U",\u00DA:"U",\u00DB:"U",\u00DC:"U",\u00F9:"u",\u00FA:"u",\u00FB:"u",\u00FC:"u",\u00DD:"Y",\u00FD:"y",\u00FF:"y",\u00C6:"Ae",\u00E6:"ae",\u00DE:"Th",\u00FE:"th",\u00DF:"ss",\u0100:"A",\u0102:"A",\u0104:"A",\u0101:"a",\u0103:"a",\u0105:"a",\u0106:"C",\u0108:"C",\u010A:"C",\u010C:"C",\u0107:"c",\u0109:"c",\u010B:"c",\u010D:"c",\u010E:"D",\u0110:"D",\u010F:"d",\u0111:"d",\u0112:"E",\u0114:"E",\u0116:"E",\u0118:"E",\u011A:"E",\u0113:"e",\u0115:"e",\u0117:"e",\u0119:"e",\u011B:"e",\u011C:"G",\u011E:"G",\u0120:"G",\u0122:"G",\u011D:"g",\u011F:"g",\u0121:"g",\u0123:"g",\u0124:"H",\u0126:"H",\u0125:"h",\u0127:"h",\u0128:"I",\u012A:"I",\u012C:"I",\u012E:"I",\u0130:"I",\u0129:"i",\u012B:"i",\u012D:"i",\u012F:"i",\u0131:"i",\u0134:"J",\u0135:"j",\u0136:"K",\u0137:"k",\u0138:"k",\u0139:"L",\u013B:"L",\u013D:"L",\u013F:"L",\u0141:"L",\u013A:"l",\u013C:"l",\u013E:"l",\u0140:"l",\u0142:"l",\u0143:"N",\u0145:"N",\u0147:"N",\u014A:"N",\u0144:"n",\u0146:"n",\u0148:"n",\u014B:"n",\u014C:"O",\u014E:"O",\u0150:"O",\u014D:"o",\u014F:"o",\u0151:"o",\u0154:"R",\u0156:"R",\u0158:"R",\u0155:"r",\u0157:"r",\u0159:"r",\u015A:"S",\u015C:"S",\u015E:"S",\u0160:"S",\u015B:"s",\u015D:"s",\u015F:"s",\u0161:"s",\u0162:"T",\u0164:"T",\u0166:"T",\u0163:"t",\u0165:"t",\u0167:"t",\u0168:"U",\u016A:"U",\u016C:"U",\u016E:"U",\u0170:"U",\u0172:"U",\u0169:"u",\u016B:"u",\u016D:"u",\u016F:"u",\u0171:"u",\u0173:"u",\u0174:"W",\u0175:"w",\u0176:"Y",\u0177:"y",\u0178:"Y",\u0179:"Z",\u017B:"Z",\u017D:"Z",\u017A:"z",\u017C:"z",\u017E:"z",\u0132:"IJ",\u0133:"ij",\u0152:"Oe",\u0153:"oe",\u0149:"'n",\u017F:"s"},xYe=vYe(SYe);Hre.exports=xYe});var Yre=E((Mdt,jre)=>{var kYe=Gre(),PYe=gg(),DYe=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,RYe="\\u0300-\\u036f",FYe="\\ufe20-\\ufe2f",NYe="\\u20d0-\\u20ff",LYe=RYe+FYe+NYe,TYe="["+LYe+"]",MYe=RegExp(TYe,"g");function OYe(t){return t=PYe(t),t&&t.replace(DYe,kYe).replace(MYe,"")}jre.exports=OYe});var Jre=E((Odt,qre)=>{var KYe=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g;function UYe(t){return t.match(KYe)||[]}qre.exports=UYe});var zre=E((Kdt,Wre)=>{var HYe=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;function GYe(t){return HYe.test(t)}Wre.exports=GYe});var fie=E((Udt,Vre)=>{var _re="\\ud800-\\udfff",jYe="\\u0300-\\u036f",YYe="\\ufe20-\\ufe2f",qYe="\\u20d0-\\u20ff",JYe=jYe+YYe+qYe,Xre="\\u2700-\\u27bf",Zre="a-z\\xdf-\\xf6\\xf8-\\xff",WYe="\\xac\\xb1\\xd7\\xf7",zYe="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",VYe="\\u2000-\\u206f",_Ye=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",$re="A-Z\\xc0-\\xd6\\xd8-\\xde",XYe="\\ufe0e\\ufe0f",eie=WYe+zYe+VYe+_Ye,tie="['\u2019]",rie="["+eie+"]",ZYe="["+JYe+"]",iie="\\d+",$Ye="["+Xre+"]",nie="["+Zre+"]",sie="[^"+_re+eie+iie+Xre+Zre+$re+"]",eqe="\\ud83c[\\udffb-\\udfff]",tqe="(?:"+ZYe+"|"+eqe+")",rqe="[^"+_re+"]",oie="(?:\\ud83c[\\udde6-\\uddff]){2}",aie="[\\ud800-\\udbff][\\udc00-\\udfff]",$g="["+$re+"]",iqe="\\u200d",Aie="(?:"+nie+"|"+sie+")",nqe="(?:"+$g+"|"+sie+")",lie="(?:"+tie+"(?:d|ll|m|re|s|t|ve))?",cie="(?:"+tie+"(?:D|LL|M|RE|S|T|VE))?",uie=tqe+"?",gie="["+XYe+"]?",sqe="(?:"+iqe+"(?:"+[rqe,oie,aie].join("|")+")"+gie+uie+")*",oqe="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",aqe="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",Aqe=gie+uie+sqe,lqe="(?:"+[$Ye,oie,aie].join("|")+")"+Aqe,cqe=RegExp([$g+"?"+nie+"+"+lie+"(?="+[rie,$g,"$"].join("|")+")",nqe+"+"+cie+"(?="+[rie,$g+Aie,"$"].join("|")+")",$g+"?"+Aie+"+"+lie,$g+"+"+cie,aqe,oqe,iie,lqe].join("|"),"g");function uqe(t){return t.match(cqe)||[]}Vre.exports=uqe});var pie=E((Hdt,hie)=>{var gqe=Jre(),fqe=zre(),hqe=gg(),pqe=fie();function dqe(t,e,r){return t=hqe(t),e=r?void 0:e,e===void 0?fqe(t)?pqe(t):gqe(t):t.match(e)||[]}hie.exports=dqe});var rN=E((Gdt,die)=>{var Cqe=Ore(),mqe=Yre(),Eqe=pie(),Iqe="['\u2019]",yqe=RegExp(Iqe,"g");function wqe(t){return function(e){return Cqe(Eqe(mqe(e).replace(yqe,"")),t,"")}}die.exports=wqe});var mie=E((jdt,Cie)=>{var Bqe=rN(),Qqe=Bqe(function(t,e,r){return t+(r?"_":"")+e.toLowerCase()});Cie.exports=Qqe});var Iie=E((Ydt,Eie)=>{var bqe=ZP(),vqe=rN(),Sqe=vqe(function(t,e,r){return e=e.toLowerCase(),t+(r?bqe(e):e)});Eie.exports=Sqe});var wie=E((qdt,yie)=>{var xqe=jg(),kqe=SF(),Pqe=jF();function Dqe(t,e){var r={};return e=Pqe(e,3),kqe(t,function(i,n,s){xqe(r,e(i,n,s),i)}),r}yie.exports=Dqe});var Qie=E((Jdt,iN)=>{iN.exports=function(t){return Bie(Rqe(t),t)};iN.exports.array=Bie;function Bie(t,e){var r=t.length,i=new Array(r),n={},s=r,o=Fqe(e),a=Nqe(t);for(e.forEach(function(c){if(!a.has(c[0])||!a.has(c[1]))throw new Error("Unknown node. There is an unknown node in the supplied edges.")});s--;)n[s]||l(t[s],s,new Set);return i;function l(c,u,g){if(g.has(c)){var f;try{f=", node was:"+JSON.stringify(c)}catch(d){f=""}throw new Error("Cyclic dependency"+f)}if(!a.has(c))throw new Error("Found unknown node. Make sure to provided all involved nodes. Unknown node: "+JSON.stringify(c));if(!n[u]){n[u]=!0;var h=o.get(c)||new Set;if(h=Array.from(h),u=h.length){g.add(c);do{var p=h[--u];l(p,a.get(p),g)}while(u);g.delete(c)}i[--r]=c}}}function Rqe(t){for(var e=new Set,r=0,i=t.length;r{"use strict";Object.defineProperty(nN,"__esModule",{value:!0});nN.default=Lqe;var Tqe=k0(Ld()),Mqe=k0(Qie()),Oqe=Yd(),Kqe=k0(Dc()),Uqe=k0(qg());function k0(t){return t&&t.__esModule?t:{default:t}}function Lqe(t,e=[]){let r=[],i=[];function n(s,o){var a=(0,Oqe.split)(s)[0];~i.indexOf(a)||i.push(a),~e.indexOf(`${o}-${a}`)||r.push([o,a])}for(let s in t)if((0,Tqe.default)(t,s)){let o=t[s];~i.indexOf(s)||i.push(s),Kqe.default.isRef(o)&&o.isSibling?n(o.path,s):(0,Uqe.default)(o)&&"deps"in o&&o.deps.forEach(a=>n(a,s))}return Mqe.default.array(i,r).reverse()}});var Sie=E(sN=>{"use strict";Object.defineProperty(sN,"__esModule",{value:!0});sN.default=Hqe;function vie(t,e){let r=Infinity;return t.some((i,n)=>{var s;if(((s=e.path)==null?void 0:s.indexOf(i))!==-1)return r=n,!0}),r}function Hqe(t){return(e,r)=>vie(t,e)-vie(t,r)}});var Nie=E($d=>{"use strict";Object.defineProperty($d,"__esModule",{value:!0});$d.create=xie;$d.default=void 0;var kie=Fo(Ld()),Pie=Fo(mie()),Gqe=Fo(Iie()),jqe=Fo(wie()),Yqe=Fo(YF()),qqe=Yd(),Die=La(),Jqe=Fo(bie()),Rie=Fo(Sie()),Wqe=Fo(a0()),zqe=Fo(xc()),oN=Fo(Ma());function Fo(t){return t&&t.__esModule?t:{default:t}}function ef(){return ef=Object.assign||function(t){for(var e=1;eObject.prototype.toString.call(t)==="[object Object]";function Vqe(t,e){let r=Object.keys(t.fields);return Object.keys(e).filter(i=>r.indexOf(i)===-1)}var _qe=(0,Rie.default)([]),P0=class extends oN.default{constructor(e){super({type:"object"});this.fields=Object.create(null),this._sortErrors=_qe,this._nodes=[],this._excludedEdges=[],this.withMutation(()=>{this.transform(function(i){if(typeof i=="string")try{i=JSON.parse(i)}catch(n){i=null}return this.isType(i)?i:null}),e&&this.shape(e)})}_typeCheck(e){return Fie(e)||typeof e=="function"}_cast(e,r={}){var i;let n=super._cast(e,r);if(n===void 0)return this.getDefault();if(!this._typeCheck(n))return n;let s=this.fields,o=(i=r.stripUnknown)!=null?i:this.spec.noUnknown,a=this._nodes.concat(Object.keys(n).filter(g=>this._nodes.indexOf(g)===-1)),l={},c=ef({},r,{parent:l,__validating:r.__validating||!1}),u=!1;for(let g of a){let f=s[g],h=(0,kie.default)(n,g);if(f){let p,d=n[g];c.path=(r.path?`${r.path}.`:"")+g,f=f.resolve({value:d,context:r.context,parent:l});let m="spec"in f?f.spec:void 0,I=m==null?void 0:m.strict;if(m==null?void 0:m.strip){u=u||g in n;continue}p=!r.__validating||!I?f.cast(n[g],c):n[g],p!==void 0&&(l[g]=p)}else h&&!o&&(l[g]=n[g]);l[g]!==n[g]&&(u=!0)}return u?l:n}_validate(e,r={},i){let n=[],{sync:s,from:o=[],originalValue:a=e,abortEarly:l=this.spec.abortEarly,recursive:c=this.spec.recursive}=r;o=[{schema:this,value:a},...o],r.__validating=!0,r.originalValue=a,r.from=o,super._validate(e,r,(u,g)=>{if(u){if(!zqe.default.isError(u)||l)return void i(u,g);n.push(u)}if(!c||!Fie(g)){i(n[0]||null,g);return}a=a||g;let f=this._nodes.map(h=>(p,d)=>{let m=h.indexOf(".")===-1?(r.path?`${r.path}.`:"")+h:`${r.path||""}["${h}"]`,I=this.fields[h];if(I&&"validate"in I){I.validate(g[h],ef({},r,{path:m,from:o,strict:!0,parent:g,originalValue:a[h]}),d);return}d(null)});(0,Wqe.default)({sync:s,tests:f,value:g,errors:n,endEarly:l,sort:this._sortErrors,path:r.path},i)})}clone(e){let r=super.clone(e);return r.fields=ef({},this.fields),r._nodes=this._nodes,r._excludedEdges=this._excludedEdges,r._sortErrors=this._sortErrors,r}concat(e){let r=super.concat(e),i=r.fields;for(let[n,s]of Object.entries(this.fields)){let o=i[n];o===void 0?i[n]=s:o instanceof oN.default&&s instanceof oN.default&&(i[n]=s.concat(o))}return r.withMutation(()=>r.shape(i))}getDefaultFromShape(){let e={};return this._nodes.forEach(r=>{let i=this.fields[r];e[r]="default"in i?i.getDefault():void 0}),e}_getDefault(){if("default"in this.spec)return super._getDefault();if(!!this._nodes.length)return this.getDefaultFromShape()}shape(e,r=[]){let i=this.clone(),n=Object.assign(i.fields,e);if(i.fields=n,i._sortErrors=(0,Rie.default)(Object.keys(n)),r.length){Array.isArray(r[0])||(r=[r]);let s=r.map(([o,a])=>`${o}-${a}`);i._excludedEdges=i._excludedEdges.concat(s)}return i._nodes=(0,Jqe.default)(n,i._excludedEdges),i}pick(e){let r={};for(let i of e)this.fields[i]&&(r[i]=this.fields[i]);return this.clone().withMutation(i=>(i.fields={},i.shape(r)))}omit(e){let r=this.clone(),i=r.fields;r.fields={};for(let n of e)delete i[n];return r.withMutation(()=>r.shape(i))}from(e,r,i){let n=(0,qqe.getter)(e,!0);return this.transform(s=>{if(s==null)return s;let o=s;return(0,kie.default)(s,e)&&(o=ef({},s),i||delete o[e],o[r]=n(s)),o})}noUnknown(e=!0,r=Die.object.noUnknown){typeof e=="string"&&(r=e,e=!0);let i=this.test({name:"noUnknown",exclusive:!0,message:r,test(n){if(n==null)return!0;let s=Vqe(this.schema,n);return!e||s.length===0||this.createError({params:{unknown:s.join(", ")}})}});return i.spec.noUnknown=e,i}unknown(e=!0,r=Die.object.noUnknown){return this.noUnknown(!e,r)}transformKeys(e){return this.transform(r=>r&&(0,jqe.default)(r,(i,n)=>e(n)))}camelCase(){return this.transformKeys(Gqe.default)}snakeCase(){return this.transformKeys(Pie.default)}constantCase(){return this.transformKeys(e=>(0,Pie.default)(e).toUpperCase())}describe(){let e=super.describe();return e.fields=(0,Yqe.default)(this.fields,r=>r.describe()),e}};$d.default=P0;function xie(t){return new P0(t)}xie.prototype=P0.prototype});var Tie=E(eC=>{"use strict";Object.defineProperty(eC,"__esModule",{value:!0});eC.create=Lie;eC.default=void 0;var aN=tf(Zg()),Xqe=tf(qg()),Zqe=tf(Nd()),AN=La(),$qe=tf(a0()),eJe=tf(xc()),tJe=tf(Ma());function tf(t){return t&&t.__esModule?t:{default:t}}function D0(){return D0=Object.assign||function(t){for(var e=1;e{this.transform(function(r){if(typeof r=="string")try{r=JSON.parse(r)}catch(i){r=null}return this.isType(r)?r:null})})}_typeCheck(e){return Array.isArray(e)}get _subType(){return this.innerType}_cast(e,r){let i=super._cast(e,r);if(!this._typeCheck(i)||!this.innerType)return i;let n=!1,s=i.map((o,a)=>{let l=this.innerType.cast(o,D0({},r,{path:`${r.path||""}[${a}]`}));return l!==o&&(n=!0),l});return n?s:i}_validate(e,r={},i){var n,s;let o=[],a=r.sync,l=r.path,c=this.innerType,u=(n=r.abortEarly)!=null?n:this.spec.abortEarly,g=(s=r.recursive)!=null?s:this.spec.recursive,f=r.originalValue!=null?r.originalValue:e;super._validate(e,r,(h,p)=>{if(h){if(!eJe.default.isError(h)||u)return void i(h,p);o.push(h)}if(!g||!c||!this._typeCheck(p)){i(o[0]||null,p);return}f=f||p;let d=new Array(p.length);for(let m=0;mc.validate(I,b,H)}(0,$qe.default)({sync:a,path:l,value:p,errors:o,endEarly:u,tests:d},i)})}clone(e){let r=super.clone(e);return r.innerType=this.innerType,r}concat(e){let r=super.concat(e);return r.innerType=this.innerType,e.innerType&&(r.innerType=r.innerType?r.innerType.concat(e.innerType):e.innerType),r}of(e){let r=this.clone();if(!(0,Xqe.default)(e))throw new TypeError("`array.of()` sub-schema must be a valid yup schema not: "+(0,Zqe.default)(e));return r.innerType=e,r}length(e,r=AN.array.length){return this.test({message:r,name:"length",exclusive:!0,params:{length:e},test(i){return(0,aN.default)(i)||i.length===this.resolve(e)}})}min(e,r){return r=r||AN.array.min,this.test({message:r,name:"min",exclusive:!0,params:{min:e},test(i){return(0,aN.default)(i)||i.length>=this.resolve(e)}})}max(e,r){return r=r||AN.array.max,this.test({message:r,name:"max",exclusive:!0,params:{max:e},test(i){return(0,aN.default)(i)||i.length<=this.resolve(e)}})}ensure(){return this.default(()=>[]).transform((e,r)=>this._typeCheck(e)?e:r==null?[]:[].concat(r))}compact(e){let r=e?(i,n,s)=>!e(i,n,s):i=>!!i;return this.transform(i=>i!=null?i.filter(r):i)}describe(){let e=super.describe();return this.innerType&&(e.innerType=this.innerType.describe()),e}nullable(e=!0){return super.nullable(e)}defined(){return super.defined()}required(e){return super.required(e)}};eC.default=R0;Lie.prototype=R0.prototype});var Mie=E(tC=>{"use strict";Object.defineProperty(tC,"__esModule",{value:!0});tC.create=rJe;tC.default=void 0;var nJe=iJe(qg());function iJe(t){return t&&t.__esModule?t:{default:t}}function rJe(t){return new lN(t)}var lN=class{constructor(e){this.type="lazy",this.__isYupSchema__=!0,this._resolve=(r,i={})=>{let n=this.builder(r,i);if(!(0,nJe.default)(n))throw new TypeError("lazy() functions must return a valid schema");return n.resolve(i)},this.builder=e}resolve(e){return this._resolve(e.value,e)}cast(e,r){return this._resolve(e,r).cast(e,r)}validate(e,r,i){return this._resolve(e,r).validate(e,r,i)}validateSync(e,r){return this._resolve(e,r).validateSync(e,r)}validateAt(e,r,i){return this._resolve(r,i).validateAt(e,r,i)}validateSyncAt(e,r,i){return this._resolve(r,i).validateSyncAt(e,r,i)}describe(){return null}isValid(e,r){return this._resolve(e,r).isValid(e,r)}isValidSync(e,r){return this._resolve(e,r).isValidSync(e,r)}},sJe=lN;tC.default=sJe});var Oie=E(cN=>{"use strict";Object.defineProperty(cN,"__esModule",{value:!0});cN.default=oJe;var AJe=aJe(La());function aJe(t){return t&&t.__esModule?t:{default:t}}function oJe(t){Object.keys(t).forEach(e=>{Object.keys(t[e]).forEach(r=>{AJe.default[e][r]=t[e][r]})})}});var gN=E(cr=>{"use strict";Object.defineProperty(cr,"__esModule",{value:!0});cr.addMethod=lJe;Object.defineProperty(cr,"MixedSchema",{enumerable:!0,get:function(){return Kie.default}});Object.defineProperty(cr,"mixed",{enumerable:!0,get:function(){return Kie.create}});Object.defineProperty(cr,"BooleanSchema",{enumerable:!0,get:function(){return uN.default}});Object.defineProperty(cr,"bool",{enumerable:!0,get:function(){return uN.create}});Object.defineProperty(cr,"boolean",{enumerable:!0,get:function(){return uN.create}});Object.defineProperty(cr,"StringSchema",{enumerable:!0,get:function(){return Uie.default}});Object.defineProperty(cr,"string",{enumerable:!0,get:function(){return Uie.create}});Object.defineProperty(cr,"NumberSchema",{enumerable:!0,get:function(){return Hie.default}});Object.defineProperty(cr,"number",{enumerable:!0,get:function(){return Hie.create}});Object.defineProperty(cr,"DateSchema",{enumerable:!0,get:function(){return Gie.default}});Object.defineProperty(cr,"date",{enumerable:!0,get:function(){return Gie.create}});Object.defineProperty(cr,"ObjectSchema",{enumerable:!0,get:function(){return jie.default}});Object.defineProperty(cr,"object",{enumerable:!0,get:function(){return jie.create}});Object.defineProperty(cr,"ArraySchema",{enumerable:!0,get:function(){return Yie.default}});Object.defineProperty(cr,"array",{enumerable:!0,get:function(){return Yie.create}});Object.defineProperty(cr,"ref",{enumerable:!0,get:function(){return cJe.create}});Object.defineProperty(cr,"lazy",{enumerable:!0,get:function(){return uJe.create}});Object.defineProperty(cr,"ValidationError",{enumerable:!0,get:function(){return gJe.default}});Object.defineProperty(cr,"reach",{enumerable:!0,get:function(){return fJe.default}});Object.defineProperty(cr,"isSchema",{enumerable:!0,get:function(){return qie.default}});Object.defineProperty(cr,"setLocale",{enumerable:!0,get:function(){return hJe.default}});Object.defineProperty(cr,"BaseSchema",{enumerable:!0,get:function(){return pJe.default}});var Kie=Nc(yre()),uN=Nc(vre()),Uie=Nc(kre()),Hie=Nc(Rre()),Gie=Nc(Tre()),jie=Nc(Nie()),Yie=Nc(Tie()),cJe=Dc(),uJe=Mie(),gJe=rC(xc()),fJe=rC(XF()),qie=rC(qg()),hJe=rC(Oie()),pJe=rC(Ma());function rC(t){return t&&t.__esModule?t:{default:t}}function Jie(){if(typeof WeakMap!="function")return null;var t=new WeakMap;return Jie=function(){return t},t}function Nc(t){if(t&&t.__esModule)return t;if(t===null||typeof t!="object"&&typeof t!="function")return{default:t};var e=Jie();if(e&&e.has(t))return e.get(t);var r={},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var n in t)if(Object.prototype.hasOwnProperty.call(t,n)){var s=i?Object.getOwnPropertyDescriptor(t,n):null;s&&(s.get||s.set)?Object.defineProperty(r,n,s):r[n]=t[n]}return r.default=t,e&&e.set(t,r),r}function lJe(t,e,r){if(!t||!(0,qie.default)(t.prototype))throw new TypeError("You must provide a yup schema constructor function");if(typeof e!="string")throw new TypeError("A Method name must be provided");if(typeof r!="function")throw new TypeError("Method function must be provided");t.prototype[e]=r}});var Xie=E((gCt,nC)=>{"use strict";var mJe=process.env.TERM_PROGRAM==="Hyper",EJe=process.platform==="win32",zie=process.platform==="linux",fN={ballotDisabled:"\u2612",ballotOff:"\u2610",ballotOn:"\u2611",bullet:"\u2022",bulletWhite:"\u25E6",fullBlock:"\u2588",heart:"\u2764",identicalTo:"\u2261",line:"\u2500",mark:"\u203B",middot:"\xB7",minus:"\uFF0D",multiplication:"\xD7",obelus:"\xF7",pencilDownRight:"\u270E",pencilRight:"\u270F",pencilUpRight:"\u2710",percent:"%",pilcrow2:"\u2761",pilcrow:"\xB6",plusMinus:"\xB1",section:"\xA7",starsOff:"\u2606",starsOn:"\u2605",upDownArrow:"\u2195"},Vie=Object.assign({},fN,{check:"\u221A",cross:"\xD7",ellipsisLarge:"...",ellipsis:"...",info:"i",question:"?",questionSmall:"?",pointer:">",pointerSmall:"\xBB",radioOff:"( )",radioOn:"(*)",warning:"\u203C"}),_ie=Object.assign({},fN,{ballotCross:"\u2718",check:"\u2714",cross:"\u2716",ellipsisLarge:"\u22EF",ellipsis:"\u2026",info:"\u2139",question:"?",questionFull:"\uFF1F",questionSmall:"\uFE56",pointer:zie?"\u25B8":"\u276F",pointerSmall:zie?"\u2023":"\u203A",radioOff:"\u25EF",radioOn:"\u25C9",warning:"\u26A0"});nC.exports=EJe&&!mJe?Vie:_ie;Reflect.defineProperty(nC.exports,"common",{enumerable:!1,value:fN});Reflect.defineProperty(nC.exports,"windows",{enumerable:!1,value:Vie});Reflect.defineProperty(nC.exports,"other",{enumerable:!1,value:_ie})});var js=E((fCt,hN)=>{"use strict";var IJe=t=>t!==null&&typeof t=="object"&&!Array.isArray(t),yJe=/[\u001b\u009b][[\]#;?()]*(?:(?:(?:[^\W_]*;?[^\W_]*)\u0007)|(?:(?:[0-9]{1,4}(;[0-9]{0,4})*)?[~0-9=<>cf-nqrtyA-PRZ]))/g,Zie=()=>{let t={enabled:!0,visible:!0,styles:{},keys:{}};"FORCE_COLOR"in process.env&&(t.enabled=process.env.FORCE_COLOR!=="0");let e=s=>{let o=s.open=`[${s.codes[0]}m`,a=s.close=`[${s.codes[1]}m`,l=s.regex=new RegExp(`\\u001b\\[${s.codes[1]}m`,"g");return s.wrap=(c,u)=>{c.includes(a)&&(c=c.replace(l,a+o));let g=o+c+a;return u?g.replace(/\r*\n/g,`${a}$&${o}`):g},s},r=(s,o,a)=>typeof s=="function"?s(o):s.wrap(o,a),i=(s,o)=>{if(s===""||s==null)return"";if(t.enabled===!1)return s;if(t.visible===!1)return"";let a=""+s,l=a.includes(` +`),c=o.length;for(c>0&&o.includes("unstyle")&&(o=[...new Set(["unstyle",...o])].reverse());c-- >0;)a=r(t.styles[o[c]],a,l);return a},n=(s,o,a)=>{t.styles[s]=e({name:s,codes:o}),(t.keys[a]||(t.keys[a]=[])).push(s),Reflect.defineProperty(t,s,{configurable:!0,enumerable:!0,set(c){t.alias(s,c)},get(){let c=u=>i(u,c.stack);return Reflect.setPrototypeOf(c,t),c.stack=this.stack?this.stack.concat(s):[s],c}})};return n("reset",[0,0],"modifier"),n("bold",[1,22],"modifier"),n("dim",[2,22],"modifier"),n("italic",[3,23],"modifier"),n("underline",[4,24],"modifier"),n("inverse",[7,27],"modifier"),n("hidden",[8,28],"modifier"),n("strikethrough",[9,29],"modifier"),n("black",[30,39],"color"),n("red",[31,39],"color"),n("green",[32,39],"color"),n("yellow",[33,39],"color"),n("blue",[34,39],"color"),n("magenta",[35,39],"color"),n("cyan",[36,39],"color"),n("white",[37,39],"color"),n("gray",[90,39],"color"),n("grey",[90,39],"color"),n("bgBlack",[40,49],"bg"),n("bgRed",[41,49],"bg"),n("bgGreen",[42,49],"bg"),n("bgYellow",[43,49],"bg"),n("bgBlue",[44,49],"bg"),n("bgMagenta",[45,49],"bg"),n("bgCyan",[46,49],"bg"),n("bgWhite",[47,49],"bg"),n("blackBright",[90,39],"bright"),n("redBright",[91,39],"bright"),n("greenBright",[92,39],"bright"),n("yellowBright",[93,39],"bright"),n("blueBright",[94,39],"bright"),n("magentaBright",[95,39],"bright"),n("cyanBright",[96,39],"bright"),n("whiteBright",[97,39],"bright"),n("bgBlackBright",[100,49],"bgBright"),n("bgRedBright",[101,49],"bgBright"),n("bgGreenBright",[102,49],"bgBright"),n("bgYellowBright",[103,49],"bgBright"),n("bgBlueBright",[104,49],"bgBright"),n("bgMagentaBright",[105,49],"bgBright"),n("bgCyanBright",[106,49],"bgBright"),n("bgWhiteBright",[107,49],"bgBright"),t.ansiRegex=yJe,t.hasColor=t.hasAnsi=s=>(t.ansiRegex.lastIndex=0,typeof s=="string"&&s!==""&&t.ansiRegex.test(s)),t.alias=(s,o)=>{let a=typeof o=="string"?t[o]:o;if(typeof a!="function")throw new TypeError("Expected alias to be the name of an existing color (string) or a function");a.stack||(Reflect.defineProperty(a,"name",{value:s}),t.styles[s]=a,a.stack=[s]),Reflect.defineProperty(t,s,{configurable:!0,enumerable:!0,set(l){t.alias(s,l)},get(){let l=c=>i(c,l.stack);return Reflect.setPrototypeOf(l,t),l.stack=this.stack?this.stack.concat(a.stack):a.stack,l}})},t.theme=s=>{if(!IJe(s))throw new TypeError("Expected theme to be an object");for(let o of Object.keys(s))t.alias(o,s[o]);return t},t.alias("unstyle",s=>typeof s=="string"&&s!==""?(t.ansiRegex.lastIndex=0,s.replace(t.ansiRegex,"")):""),t.alias("noop",s=>s),t.none=t.clear=t.noop,t.stripColor=t.unstyle,t.symbols=Xie(),t.define=n,t};hN.exports=Zie();hN.exports.create=Zie});var Mi=E(bt=>{"use strict";var wJe=Object.prototype.toString,Cs=js(),$ie=!1,pN=[],ene={yellow:"blue",cyan:"red",green:"magenta",black:"white",blue:"yellow",red:"cyan",magenta:"green",white:"black"};bt.longest=(t,e)=>t.reduce((r,i)=>Math.max(r,e?i[e].length:i.length),0);bt.hasColor=t=>!!t&&Cs.hasColor(t);var N0=bt.isObject=t=>t!==null&&typeof t=="object"&&!Array.isArray(t);bt.nativeType=t=>wJe.call(t).slice(8,-1).toLowerCase().replace(/\s/g,"");bt.isAsyncFn=t=>bt.nativeType(t)==="asyncfunction";bt.isPrimitive=t=>t!=null&&typeof t!="object"&&typeof t!="function";bt.resolve=(t,e,...r)=>typeof e=="function"?e.call(t,...r):e;bt.scrollDown=(t=[])=>[...t.slice(1),t[0]];bt.scrollUp=(t=[])=>[t.pop(),...t];bt.reorder=(t=[])=>{let e=t.slice();return e.sort((r,i)=>r.index>i.index?1:r.index{let i=t.length,n=r===i?0:r<0?i-1:r,s=t[e];t[e]=t[n],t[n]=s};bt.width=(t,e=80)=>{let r=t&&t.columns?t.columns:e;return t&&typeof t.getWindowSize=="function"&&(r=t.getWindowSize()[0]),process.platform==="win32"?r-1:r};bt.height=(t,e=20)=>{let r=t&&t.rows?t.rows:e;return t&&typeof t.getWindowSize=="function"&&(r=t.getWindowSize()[1]),r};bt.wordWrap=(t,e={})=>{if(!t)return t;typeof e=="number"&&(e={width:e});let{indent:r="",newline:i=` +`+r,width:n=80}=e;n-=((i+r).match(/[^\S\n]/g)||[]).length;let o=`.{1,${n}}([\\s\\u200B]+|$)|[^\\s\\u200B]+?([\\s\\u200B]+|$)`,a=t.trim(),l=new RegExp(o,"g"),c=a.match(l)||[];return c=c.map(u=>u.replace(/\n$/,"")),e.padEnd&&(c=c.map(u=>u.padEnd(n," "))),e.padStart&&(c=c.map(u=>u.padStart(n," "))),r+c.join(i)};bt.unmute=t=>{let e=t.stack.find(i=>Cs.keys.color.includes(i));return e?Cs[e]:t.stack.find(i=>i.slice(2)==="bg")?Cs[e.slice(2)]:i=>i};bt.pascal=t=>t?t[0].toUpperCase()+t.slice(1):"";bt.inverse=t=>{if(!t||!t.stack)return t;let e=t.stack.find(i=>Cs.keys.color.includes(i));if(e){let i=Cs["bg"+bt.pascal(e)];return i?i.black:t}let r=t.stack.find(i=>i.slice(0,2)==="bg");return r?Cs[r.slice(2).toLowerCase()]||t:Cs.none};bt.complement=t=>{if(!t||!t.stack)return t;let e=t.stack.find(i=>Cs.keys.color.includes(i)),r=t.stack.find(i=>i.slice(0,2)==="bg");if(e&&!r)return Cs[ene[e]||e];if(r){let i=r.slice(2).toLowerCase(),n=ene[i];return n&&Cs["bg"+bt.pascal(n)]||t}return Cs.none};bt.meridiem=t=>{let e=t.getHours(),r=t.getMinutes(),i=e>=12?"pm":"am";e=e%12;let n=e===0?12:e,s=r<10?"0"+r:r;return n+":"+s+" "+i};bt.set=(t={},e="",r)=>e.split(".").reduce((i,n,s,o)=>{let a=o.length-1>s?i[n]||{}:r;return!bt.isObject(a)&&s{let i=t[e]==null?e.split(".").reduce((n,s)=>n&&n[s],t):t[e];return i==null?r:i};bt.mixin=(t,e)=>{if(!N0(t))return e;if(!N0(e))return t;for(let r of Object.keys(e)){let i=Object.getOwnPropertyDescriptor(e,r);if(i.hasOwnProperty("value"))if(t.hasOwnProperty(r)&&N0(i.value)){let n=Object.getOwnPropertyDescriptor(t,r);N0(n.value)?t[r]=bt.merge({},t[r],e[r]):Reflect.defineProperty(t,r,i)}else Reflect.defineProperty(t,r,i);else Reflect.defineProperty(t,r,i)}return t};bt.merge=(...t)=>{let e={};for(let r of t)bt.mixin(e,r);return e};bt.mixinEmitter=(t,e)=>{let r=e.constructor.prototype;for(let i of Object.keys(r)){let n=r[i];typeof n=="function"?bt.define(t,i,n.bind(e)):bt.define(t,i,n)}};bt.onExit=t=>{let e=(r,i)=>{$ie||($ie=!0,pN.forEach(n=>n()),r===!0&&process.exit(128+i))};pN.length===0&&(process.once("SIGTERM",e.bind(null,!0,15)),process.once("SIGINT",e.bind(null,!0,2)),process.once("exit",e)),pN.push(t)};bt.define=(t,e,r)=>{Reflect.defineProperty(t,e,{value:r})};bt.defineExport=(t,e,r)=>{let i;Reflect.defineProperty(t,e,{enumerable:!0,configurable:!0,set(n){i=n},get(){return i?i():r()}})}});var tne=E(nf=>{"use strict";nf.ctrl={a:"first",b:"backward",c:"cancel",d:"deleteForward",e:"last",f:"forward",g:"reset",i:"tab",k:"cutForward",l:"reset",n:"newItem",m:"cancel",j:"submit",p:"search",r:"remove",s:"save",u:"undo",w:"cutLeft",x:"toggleCursor",v:"paste"};nf.shift={up:"shiftUp",down:"shiftDown",left:"shiftLeft",right:"shiftRight",tab:"prev"};nf.fn={up:"pageUp",down:"pageDown",left:"pageLeft",right:"pageRight",delete:"deleteForward"};nf.option={b:"backward",f:"forward",d:"cutRight",left:"cutLeft",up:"altUp",down:"altDown"};nf.keys={pageup:"pageUp",pagedown:"pageDown",home:"home",end:"end",cancel:"cancel",delete:"deleteForward",backspace:"delete",down:"down",enter:"submit",escape:"cancel",left:"left",space:"space",number:"number",return:"submit",right:"right",tab:"next",up:"up"}});var nne=E((dCt,rne)=>{"use strict";var ine=require("readline"),BJe=tne(),QJe=/^(?:\x1b)([a-zA-Z0-9])$/,bJe=/^(?:\x1b+)(O|N|\[|\[\[)(?:(\d+)(?:;(\d+))?([~^$])|(?:1;)?(\d+)?([a-zA-Z]))/,vJe={OP:"f1",OQ:"f2",OR:"f3",OS:"f4","[11~":"f1","[12~":"f2","[13~":"f3","[14~":"f4","[[A":"f1","[[B":"f2","[[C":"f3","[[D":"f4","[[E":"f5","[15~":"f5","[17~":"f6","[18~":"f7","[19~":"f8","[20~":"f9","[21~":"f10","[23~":"f11","[24~":"f12","[A":"up","[B":"down","[C":"right","[D":"left","[E":"clear","[F":"end","[H":"home",OA:"up",OB:"down",OC:"right",OD:"left",OE:"clear",OF:"end",OH:"home","[1~":"home","[2~":"insert","[3~":"delete","[4~":"end","[5~":"pageup","[6~":"pagedown","[[5~":"pageup","[[6~":"pagedown","[7~":"home","[8~":"end","[a":"up","[b":"down","[c":"right","[d":"left","[e":"clear","[2$":"insert","[3$":"delete","[5$":"pageup","[6$":"pagedown","[7$":"home","[8$":"end",Oa:"up",Ob:"down",Oc:"right",Od:"left",Oe:"clear","[2^":"insert","[3^":"delete","[5^":"pageup","[6^":"pagedown","[7^":"home","[8^":"end","[Z":"tab"};function SJe(t){return["[a","[b","[c","[d","[e","[2$","[3$","[5$","[6$","[7$","[8$","[Z"].includes(t)}function xJe(t){return["Oa","Ob","Oc","Od","Oe","[2^","[3^","[5^","[6^","[7^","[8^"].includes(t)}var L0=(t="",e={})=>{let r,i=P({name:e.name,ctrl:!1,meta:!1,shift:!1,option:!1,sequence:t,raw:t},e);if(Buffer.isBuffer(t)?t[0]>127&&t[1]===void 0?(t[0]-=128,t=""+String(t)):t=String(t):t!==void 0&&typeof t!="string"?t=String(t):t||(t=i.sequence||""),i.sequence=i.sequence||t||i.name,t==="\r")i.raw=void 0,i.name="return";else if(t===` +`)i.name="enter";else if(t===" ")i.name="tab";else if(t==="\b"||t==="\x7F"||t==="\x7F"||t==="\b")i.name="backspace",i.meta=t.charAt(0)==="";else if(t===""||t==="")i.name="escape",i.meta=t.length===2;else if(t===" "||t===" ")i.name="space",i.meta=t.length===2;else if(t<="")i.name=String.fromCharCode(t.charCodeAt(0)+"a".charCodeAt(0)-1),i.ctrl=!0;else if(t.length===1&&t>="0"&&t<="9")i.name="number";else if(t.length===1&&t>="a"&&t<="z")i.name=t;else if(t.length===1&&t>="A"&&t<="Z")i.name=t.toLowerCase(),i.shift=!0;else if(r=QJe.exec(t))i.meta=!0,i.shift=/^[A-Z]$/.test(r[1]);else if(r=bJe.exec(t)){let n=[...t];n[0]===""&&n[1]===""&&(i.option=!0);let s=[r[1],r[2],r[4],r[6]].filter(Boolean).join(""),o=(r[3]||r[5]||1)-1;i.ctrl=!!(o&4),i.meta=!!(o&10),i.shift=!!(o&1),i.code=s,i.name=vJe[s],i.shift=SJe(s)||i.shift,i.ctrl=xJe(s)||i.ctrl}return i};L0.listen=(t={},e)=>{let{stdin:r}=t;if(!r||r!==process.stdin&&!r.isTTY)throw new Error("Invalid stream passed");let i=ine.createInterface({terminal:!0,input:r});ine.emitKeypressEvents(r,i);let n=(a,l)=>e(a,L0(a,l),i),s=r.isRaw;return r.isTTY&&r.setRawMode(!0),r.on("keypress",n),i.resume(),()=>{r.isTTY&&r.setRawMode(s),r.removeListener("keypress",n),i.pause(),i.close()}};L0.action=(t,e,r)=>{let i=P(P({},BJe),r);return e.ctrl?(e.action=i.ctrl[e.name],e):e.option&&i.option?(e.action=i.option[e.name],e):e.shift?(e.action=i.shift[e.name],e):(e.action=i.keys[e.name],e)};rne.exports=L0});var one=E((CCt,sne)=>{"use strict";sne.exports=t=>{t.timers=t.timers||{};let e=t.options.timers;if(!!e)for(let r of Object.keys(e)){let i=e[r];typeof i=="number"&&(i={interval:i}),kJe(t,r,i)}};function kJe(t,e,r={}){let i=t.timers[e]={name:e,start:Date.now(),ms:0,tick:0},n=r.interval||120;i.frames=r.frames||[],i.loading=!0;let s=setInterval(()=>{i.ms=Date.now()-i.start,i.tick++,t.render()},n);return i.stop=()=>{i.loading=!1,clearInterval(s)},Reflect.defineProperty(i,"interval",{value:s}),t.once("close",()=>i.stop()),i.stop}});var lne=E((mCt,ane)=>{"use strict";var{define:PJe,width:DJe}=Mi(),Ane=class{constructor(e){let r=e.options;PJe(this,"_prompt",e),this.type=e.type,this.name=e.name,this.message="",this.header="",this.footer="",this.error="",this.hint="",this.input="",this.cursor=0,this.index=0,this.lines=0,this.tick=0,this.prompt="",this.buffer="",this.width=DJe(r.stdout||process.stdout),Object.assign(this,r),this.name=this.name||this.message,this.message=this.message||this.name,this.symbols=e.symbols,this.styles=e.styles,this.required=new Set,this.cancelled=!1,this.submitted=!1}clone(){let e=P({},this);return e.status=this.status,e.buffer=Buffer.from(e.buffer),delete e.clone,e}set color(e){this._color=e}get color(){let e=this.prompt.styles;if(this.cancelled)return e.cancelled;if(this.submitted)return e.submitted;let r=this._color||e[this.status];return typeof r=="function"?r:e.pending}set loading(e){this._loading=e}get loading(){return typeof this._loading=="boolean"?this._loading:this.loadingChoices?"choices":!1}get status(){return this.cancelled?"cancelled":this.submitted?"submitted":"pending"}};ane.exports=Ane});var une=E((ECt,cne)=>{"use strict";var dN=Mi(),yi=js(),CN={default:yi.noop,noop:yi.noop,set inverse(t){this._inverse=t},get inverse(){return this._inverse||dN.inverse(this.primary)},set complement(t){this._complement=t},get complement(){return this._complement||dN.complement(this.primary)},primary:yi.cyan,success:yi.green,danger:yi.magenta,strong:yi.bold,warning:yi.yellow,muted:yi.dim,disabled:yi.gray,dark:yi.dim.gray,underline:yi.underline,set info(t){this._info=t},get info(){return this._info||this.primary},set em(t){this._em=t},get em(){return this._em||this.primary.underline},set heading(t){this._heading=t},get heading(){return this._heading||this.muted.underline},set pending(t){this._pending=t},get pending(){return this._pending||this.primary},set submitted(t){this._submitted=t},get submitted(){return this._submitted||this.success},set cancelled(t){this._cancelled=t},get cancelled(){return this._cancelled||this.danger},set typing(t){this._typing=t},get typing(){return this._typing||this.dim},set placeholder(t){this._placeholder=t},get placeholder(){return this._placeholder||this.primary.dim},set highlight(t){this._highlight=t},get highlight(){return this._highlight||this.inverse}};CN.merge=(t={})=>{t.styles&&typeof t.styles.enabled=="boolean"&&(yi.enabled=t.styles.enabled),t.styles&&typeof t.styles.visible=="boolean"&&(yi.visible=t.styles.visible);let e=dN.merge({},CN,t.styles);delete e.merge;for(let r of Object.keys(yi))e.hasOwnProperty(r)||Reflect.defineProperty(e,r,{get:()=>yi[r]});for(let r of Object.keys(yi.styles))e.hasOwnProperty(r)||Reflect.defineProperty(e,r,{get:()=>yi[r]});return e};cne.exports=CN});var fne=E((ICt,gne)=>{"use strict";var mN=process.platform==="win32",Ka=js(),RJe=Mi(),EN=_(P({},Ka.symbols),{upDownDoubleArrow:"\u21D5",upDownDoubleArrow2:"\u2B0D",upDownArrow:"\u2195",asterisk:"*",asterism:"\u2042",bulletWhite:"\u25E6",electricArrow:"\u2301",ellipsisLarge:"\u22EF",ellipsisSmall:"\u2026",fullBlock:"\u2588",identicalTo:"\u2261",indicator:Ka.symbols.check,leftAngle:"\u2039",mark:"\u203B",minus:"\u2212",multiplication:"\xD7",obelus:"\xF7",percent:"%",pilcrow:"\xB6",pilcrow2:"\u2761",pencilUpRight:"\u2710",pencilDownRight:"\u270E",pencilRight:"\u270F",plus:"+",plusMinus:"\xB1",pointRight:"\u261E",rightAngle:"\u203A",section:"\xA7",hexagon:{off:"\u2B21",on:"\u2B22",disabled:"\u2B22"},ballot:{on:"\u2611",off:"\u2610",disabled:"\u2612"},stars:{on:"\u2605",off:"\u2606",disabled:"\u2606"},folder:{on:"\u25BC",off:"\u25B6",disabled:"\u25B6"},prefix:{pending:Ka.symbols.question,submitted:Ka.symbols.check,cancelled:Ka.symbols.cross},separator:{pending:Ka.symbols.pointerSmall,submitted:Ka.symbols.middot,cancelled:Ka.symbols.middot},radio:{off:mN?"( )":"\u25EF",on:mN?"(*)":"\u25C9",disabled:mN?"(|)":"\u24BE"},numbers:["\u24EA","\u2460","\u2461","\u2462","\u2463","\u2464","\u2465","\u2466","\u2467","\u2468","\u2469","\u246A","\u246B","\u246C","\u246D","\u246E","\u246F","\u2470","\u2471","\u2472","\u2473","\u3251","\u3252","\u3253","\u3254","\u3255","\u3256","\u3257","\u3258","\u3259","\u325A","\u325B","\u325C","\u325D","\u325E","\u325F","\u32B1","\u32B2","\u32B3","\u32B4","\u32B5","\u32B6","\u32B7","\u32B8","\u32B9","\u32BA","\u32BB","\u32BC","\u32BD","\u32BE","\u32BF"]});EN.merge=t=>{let e=RJe.merge({},Ka.symbols,EN,t.symbols);return delete e.merge,e};gne.exports=EN});var pne=E((yCt,hne)=>{"use strict";var FJe=une(),NJe=fne(),LJe=Mi();hne.exports=t=>{t.options=LJe.merge({},t.options.theme,t.options),t.symbols=NJe.merge(t.options),t.styles=FJe.merge(t.options)}});var Ine=E((dne,Cne)=>{"use strict";var mne=process.env.TERM_PROGRAM==="Apple_Terminal",TJe=js(),IN=Mi(),Ys=Cne.exports=dne,Ir="[",Ene="\x07",yN=!1,HA=Ys.code={bell:Ene,beep:Ene,beginning:`${Ir}G`,down:`${Ir}J`,esc:Ir,getPosition:`${Ir}6n`,hide:`${Ir}?25l`,line:`${Ir}2K`,lineEnd:`${Ir}K`,lineStart:`${Ir}1K`,restorePosition:Ir+(mne?"8":"u"),savePosition:Ir+(mne?"7":"s"),screen:`${Ir}2J`,show:`${Ir}?25h`,up:`${Ir}1J`},Lc=Ys.cursor={get hidden(){return yN},hide(){return yN=!0,HA.hide},show(){return yN=!1,HA.show},forward:(t=1)=>`${Ir}${t}C`,backward:(t=1)=>`${Ir}${t}D`,nextLine:(t=1)=>`${Ir}E`.repeat(t),prevLine:(t=1)=>`${Ir}F`.repeat(t),up:(t=1)=>t?`${Ir}${t}A`:"",down:(t=1)=>t?`${Ir}${t}B`:"",right:(t=1)=>t?`${Ir}${t}C`:"",left:(t=1)=>t?`${Ir}${t}D`:"",to(t,e){return e?`${Ir}${e+1};${t+1}H`:`${Ir}${t+1}G`},move(t=0,e=0){let r="";return r+=t<0?Lc.left(-t):t>0?Lc.right(t):"",r+=e<0?Lc.up(-e):e>0?Lc.down(e):"",r},restore(t={}){let{after:e,cursor:r,initial:i,input:n,prompt:s,size:o,value:a}=t;if(i=IN.isPrimitive(i)?String(i):"",n=IN.isPrimitive(n)?String(n):"",a=IN.isPrimitive(a)?String(a):"",o){let l=Ys.cursor.up(o)+Ys.cursor.to(s.length),c=n.length-r;return c>0&&(l+=Ys.cursor.left(c)),l}if(a||e){let l=!n&&!!i?-i.length:-n.length+r;return e&&(l-=e.length),n===""&&i&&!s.includes(i)&&(l+=i.length),Ys.cursor.move(l)}}},wN=Ys.erase={screen:HA.screen,up:HA.up,down:HA.down,line:HA.line,lineEnd:HA.lineEnd,lineStart:HA.lineStart,lines(t){let e="";for(let r=0;r{if(!e)return wN.line+Lc.to(0);let r=s=>[...TJe.unstyle(s)].length,i=t.split(/\r?\n/),n=0;for(let s of i)n+=1+Math.floor(Math.max(r(s)-1,0)/e);return(wN.line+Lc.prevLine()).repeat(n-1)+wN.line+Lc.to(0)}});var sf=E((wCt,yne)=>{"use strict";var MJe=require("events"),wne=js(),BN=nne(),OJe=one(),KJe=lne(),UJe=pne(),bn=Mi(),Tc=Ine(),T0=class extends MJe{constructor(e={}){super();this.name=e.name,this.type=e.type,this.options=e,UJe(this),OJe(this),this.state=new KJe(this),this.initial=[e.initial,e.default].find(r=>r!=null),this.stdout=e.stdout||process.stdout,this.stdin=e.stdin||process.stdin,this.scale=e.scale||1,this.term=this.options.term||process.env.TERM_PROGRAM,this.margin=GJe(this.options.margin),this.setMaxListeners(0),HJe(this)}async keypress(e,r={}){this.keypressed=!0;let i=BN.action(e,BN(e,r),this.options.actions);this.state.keypress=i,this.emit("keypress",e,i),this.emit("state",this.state.clone());let n=this.options[i.action]||this[i.action]||this.dispatch;if(typeof n=="function")return await n.call(this,e,i);this.alert()}alert(){delete this.state.alert,this.options.show===!1?this.emit("alert"):this.stdout.write(Tc.code.beep)}cursorHide(){this.stdout.write(Tc.cursor.hide()),bn.onExit(()=>this.cursorShow())}cursorShow(){this.stdout.write(Tc.cursor.show())}write(e){!e||(this.stdout&&this.state.show!==!1&&this.stdout.write(e),this.state.buffer+=e)}clear(e=0){let r=this.state.buffer;this.state.buffer="",!(!r&&!e||this.options.show===!1)&&this.stdout.write(Tc.cursor.down(e)+Tc.clear(r,this.width))}restore(){if(this.state.closed||this.options.show===!1)return;let{prompt:e,after:r,rest:i}=this.sections(),{cursor:n,initial:s="",input:o="",value:a=""}=this,l=this.state.size=i.length,c={after:r,cursor:n,initial:s,input:o,prompt:e,size:l,value:a},u=Tc.cursor.restore(c);u&&this.stdout.write(u)}sections(){let{buffer:e,input:r,prompt:i}=this.state;i=wne.unstyle(i);let n=wne.unstyle(e),s=n.indexOf(i),o=n.slice(0,s),l=n.slice(s).split(` +`),c=l[0],u=l[l.length-1],f=(i+(r?" "+r:"")).length,h=fe.call(this,this.value),this.result=()=>i.call(this,this.value),typeof r.initial=="function"&&(this.initial=await r.initial.call(this,this)),typeof r.onRun=="function"&&await r.onRun.call(this,this),typeof r.onSubmit=="function"){let n=r.onSubmit.bind(this),s=this.submit.bind(this);delete this.options.onSubmit,this.submit=async()=>(await n(this.name,this.value,this),s())}await this.start(),await this.render()}render(){throw new Error("expected prompt to have a custom render method")}run(){return new Promise(async(e,r)=>{if(this.once("submit",e),this.once("cancel",r),await this.skip())return this.render=()=>{},this.submit();await this.initialize(),this.emit("run")})}async element(e,r,i){let{options:n,state:s,symbols:o,timers:a}=this,l=a&&a[e];s.timer=l;let c=n[e]||s[e]||o[e],u=r&&r[e]!=null?r[e]:await c;if(u==="")return u;let g=await this.resolve(u,s,r,i);return!g&&r&&r[e]?this.resolve(c,s,r,i):g}async prefix(){let e=await this.element("prefix")||this.symbols,r=this.timers&&this.timers.prefix,i=this.state;return i.timer=r,bn.isObject(e)&&(e=e[i.status]||e.pending),bn.hasColor(e)?e:(this.styles[i.status]||this.styles.pending)(e)}async message(){let e=await this.element("message");return bn.hasColor(e)?e:this.styles.strong(e)}async separator(){let e=await this.element("separator")||this.symbols,r=this.timers&&this.timers.separator,i=this.state;i.timer=r;let n=e[i.status]||e.pending||i.separator,s=await this.resolve(n,i);return bn.isObject(s)&&(s=s[i.status]||s.pending),bn.hasColor(s)?s:this.styles.muted(s)}async pointer(e,r){let i=await this.element("pointer",e,r);if(typeof i=="string"&&bn.hasColor(i))return i;if(i){let n=this.styles,s=this.index===r,o=s?n.primary:c=>c,a=await this.resolve(i[s?"on":"off"]||i,this.state),l=bn.hasColor(a)?a:o(a);return s?l:" ".repeat(a.length)}}async indicator(e,r){let i=await this.element("indicator",e,r);if(typeof i=="string"&&bn.hasColor(i))return i;if(i){let n=this.styles,s=e.enabled===!0,o=s?n.success:n.dark,a=i[s?"on":"off"]||i;return bn.hasColor(a)?a:o(a)}return""}body(){return null}footer(){if(this.state.status==="pending")return this.element("footer")}header(){if(this.state.status==="pending")return this.element("header")}async hint(){if(this.state.status==="pending"&&!this.isValue(this.state.input)){let e=await this.element("hint");return bn.hasColor(e)?e:this.styles.muted(e)}}error(e){return this.state.submitted?"":e||this.state.error}format(e){return e}result(e){return e}validate(e){return this.options.required===!0?this.isValue(e):!0}isValue(e){return e!=null&&e!==""}resolve(e,...r){return bn.resolve(this,e,...r)}get base(){return T0.prototype}get style(){return this.styles[this.state.status]}get height(){return this.options.rows||bn.height(this.stdout,25)}get width(){return this.options.columns||bn.width(this.stdout,80)}get size(){return{width:this.width,height:this.height}}set cursor(e){this.state.cursor=e}get cursor(){return this.state.cursor}set input(e){this.state.input=e}get input(){return this.state.input}set value(e){this.state.value=e}get value(){let{input:e,value:r}=this.state,i=[r,e].find(this.isValue.bind(this));return this.isValue(i)?i:this.initial}static get prompt(){return e=>new this(e).run()}};function HJe(t){let e=n=>t[n]===void 0||typeof t[n]=="function",r=["actions","choices","initial","margin","roles","styles","symbols","theme","timers","value"],i=["body","footer","error","header","hint","indicator","message","prefix","separator","skip"];for(let n of Object.keys(t.options)){if(r.includes(n)||/^on[A-Z]/.test(n))continue;let s=t.options[n];typeof s=="function"&&e(n)?i.includes(n)||(t[n]=s.bind(t)):typeof t[n]!="function"&&(t[n]=s)}}function GJe(t){typeof t=="number"&&(t=[t,t,t,t]);let e=[].concat(t||[]),r=n=>n%2==0?` +`:" ",i=[];for(let n=0;n<4;n++){let s=r(n);e[n]?i.push(s.repeat(e[n])):i.push("")}return i}yne.exports=T0});var bne=E((BCt,Bne)=>{"use strict";var jJe=Mi(),Qne={default(t,e){return e},checkbox(t,e){throw new Error("checkbox role is not implemented yet")},editable(t,e){throw new Error("editable role is not implemented yet")},expandable(t,e){throw new Error("expandable role is not implemented yet")},heading(t,e){return e.disabled="",e.indicator=[e.indicator," "].find(r=>r!=null),e.message=e.message||"",e},input(t,e){throw new Error("input role is not implemented yet")},option(t,e){return Qne.default(t,e)},radio(t,e){throw new Error("radio role is not implemented yet")},separator(t,e){return e.disabled="",e.indicator=[e.indicator," "].find(r=>r!=null),e.message=e.message||t.symbols.line.repeat(5),e},spacer(t,e){return e}};Bne.exports=(t,e={})=>{let r=jJe.merge({},Qne,e.roles);return r[t]||r.default}});var sC=E((QCt,vne)=>{"use strict";var YJe=js(),qJe=sf(),JJe=bne(),M0=Mi(),{reorder:QN,scrollUp:WJe,scrollDown:zJe,isObject:Sne,swap:VJe}=M0,xne=class extends qJe{constructor(e){super(e);this.cursorHide(),this.maxSelected=e.maxSelected||Infinity,this.multiple=e.multiple||!1,this.initial=e.initial||0,this.delay=e.delay||0,this.longest=0,this.num=""}async initialize(){typeof this.options.initial=="function"&&(this.initial=await this.options.initial.call(this)),await this.reset(!0),await super.initialize()}async reset(){let{choices:e,initial:r,autofocus:i,suggest:n}=this.options;if(this.state._choices=[],this.state.choices=[],this.choices=await Promise.all(await this.toChoices(e)),this.choices.forEach(s=>s.enabled=!1),typeof n!="function"&&this.selectable.length===0)throw new Error("At least one choice must be selectable");Sne(r)&&(r=Object.keys(r)),Array.isArray(r)?(i!=null&&(this.index=this.findIndex(i)),r.forEach(s=>this.enable(this.find(s))),await this.render()):(i!=null&&(r=i),typeof r=="string"&&(r=this.findIndex(r)),typeof r=="number"&&r>-1&&(this.index=Math.max(0,Math.min(r,this.choices.length)),this.enable(this.find(this.index)))),this.isDisabled(this.focused)&&await this.down()}async toChoices(e,r){this.state.loadingChoices=!0;let i=[],n=0,s=async(o,a)=>{typeof o=="function"&&(o=await o.call(this)),o instanceof Promise&&(o=await o);for(let l=0;l(this.state.loadingChoices=!1,o))}async toChoice(e,r,i){if(typeof e=="function"&&(e=await e.call(this,this)),e instanceof Promise&&(e=await e),typeof e=="string"&&(e={name:e}),e.normalized)return e;e.normalized=!0;let n=e.value;if(e=JJe(e.role,this.options)(this,e),typeof e.disabled=="string"&&!e.hint&&(e.hint=e.disabled,e.disabled=!0),e.disabled===!0&&e.hint==null&&(e.hint="(disabled)"),e.index!=null)return e;e.name=e.name||e.key||e.title||e.value||e.message,e.message=e.message||e.name||"",e.value=[e.value,e.name].find(this.isValue.bind(this)),e.input="",e.index=r,e.cursor=0,M0.define(e,"parent",i),e.level=i?i.level+1:1,e.indent==null&&(e.indent=i?i.indent+" ":e.indent||""),e.path=i?i.path+"."+e.name:e.name,e.enabled=!!(this.multiple&&!this.isDisabled(e)&&(e.enabled||this.isSelected(e))),this.isDisabled(e)||(this.longest=Math.max(this.longest,YJe.unstyle(e.message).length));let o=P({},e);return e.reset=(a=o.input,l=o.value)=>{for(let c of Object.keys(o))e[c]=o[c];e.input=a,e.value=l},n==null&&typeof e.initial=="function"&&(e.input=await e.initial.call(this,this.state,e,r)),e}async onChoice(e,r){this.emit("choice",e,r,this),typeof e.onChoice=="function"&&await e.onChoice.call(this,this.state,e,r)}async addChoice(e,r,i){let n=await this.toChoice(e,r,i);return this.choices.push(n),this.index=this.choices.length-1,this.limit=this.choices.length,n}async newItem(e,r,i){let n=P({name:"New choice name?",editable:!0,newChoice:!0},e),s=await this.addChoice(n,r,i);return s.updateChoice=()=>{delete s.newChoice,s.name=s.message=s.input,s.input="",s.cursor=0},this.render()}indent(e){return e.indent==null?e.level>1?" ".repeat(e.level-1):"":e.indent}dispatch(e,r){if(this.multiple&&this[r.name])return this[r.name]();this.alert()}focus(e,r){return typeof r!="boolean"&&(r=e.enabled),r&&!e.enabled&&this.selected.length>=this.maxSelected?this.alert():(this.index=e.index,e.enabled=r&&!this.isDisabled(e),e)}space(){return this.multiple?(this.toggle(this.focused),this.render()):this.alert()}a(){if(this.maxSelectedr.enabled);return this.choices.forEach(r=>r.enabled=!e),this.render()}i(){return this.choices.length-this.selected.length>this.maxSelected?this.alert():(this.choices.forEach(e=>e.enabled=!e.enabled),this.render())}g(e=this.focused){return this.choices.some(r=>!!r.parent)?(this.toggle(e.parent&&!e.choices?e.parent:e),this.render()):this.a()}toggle(e,r){if(!e.enabled&&this.selected.length>=this.maxSelected)return this.alert();typeof r!="boolean"&&(r=!e.enabled),e.enabled=r,e.choices&&e.choices.forEach(n=>this.toggle(n,r));let i=e.parent;for(;i;){let n=i.choices.filter(s=>this.isDisabled(s));i.enabled=n.every(s=>s.enabled===!0),i=i.parent}return kne(this,this.choices),this.emit("toggle",e,this),e}enable(e){return this.selected.length>=this.maxSelected?this.alert():(e.enabled=!this.isDisabled(e),e.choices&&e.choices.forEach(this.enable.bind(this)),e)}disable(e){return e.enabled=!1,e.choices&&e.choices.forEach(this.disable.bind(this)),e}number(e){this.num+=e;let r=i=>{let n=Number(i);if(n>this.choices.length-1)return this.alert();let s=this.focused,o=this.choices.find(a=>n===a.index);if(!o.enabled&&this.selected.length>=this.maxSelected)return this.alert();if(this.visible.indexOf(o)===-1){let a=QN(this.choices),l=a.indexOf(o);if(s.index>l){let c=a.slice(l,l+this.limit),u=a.filter(g=>!c.includes(g));this.choices=c.concat(u)}else{let c=l-this.limit+1;this.choices=a.slice(c).concat(a.slice(0,c))}}return this.index=this.choices.indexOf(o),this.toggle(this.focused),this.render()};return clearTimeout(this.numberTimeout),new Promise(i=>{let n=this.choices.length,s=this.num,o=(a=!1,l)=>{clearTimeout(this.numberTimeout),a&&(l=r(s)),this.num="",i(l)};if(s==="0"||s.length===1&&Number(s+"0")>n)return o(!0);if(Number(s)>n)return o(!1,this.alert());this.numberTimeout=setTimeout(()=>o(!0),this.delay)})}home(){return this.choices=QN(this.choices),this.index=0,this.render()}end(){let e=this.choices.length-this.limit,r=QN(this.choices);return this.choices=r.slice(e).concat(r.slice(0,e)),this.index=this.limit-1,this.render()}first(){return this.index=0,this.render()}last(){return this.index=this.visible.length-1,this.render()}prev(){return this.visible.length<=1?this.alert():this.up()}next(){return this.visible.length<=1?this.alert():this.down()}right(){return this.cursor>=this.input.length?this.alert():(this.cursor++,this.render())}left(){return this.cursor<=0?this.alert():(this.cursor--,this.render())}up(){let e=this.choices.length,r=this.visible.length,i=this.index;return this.options.scroll===!1&&i===0?this.alert():e>r&&i===0?this.scrollUp():(this.index=(i-1%e+e)%e,this.isDisabled()?this.up():this.render())}down(){let e=this.choices.length,r=this.visible.length,i=this.index;return this.options.scroll===!1&&i===r-1?this.alert():e>r&&i===r-1?this.scrollDown():(this.index=(i+1)%e,this.isDisabled()?this.down():this.render())}scrollUp(e=0){return this.choices=WJe(this.choices),this.index=e,this.isDisabled()?this.up():this.render()}scrollDown(e=this.visible.length-1){return this.choices=zJe(this.choices),this.index=e,this.isDisabled()?this.down():this.render()}async shiftUp(){if(this.options.sort===!0){this.sorting=!0,this.swap(this.index-1),await this.up(),this.sorting=!1;return}return this.scrollUp(this.index)}async shiftDown(){if(this.options.sort===!0){this.sorting=!0,this.swap(this.index+1),await this.down(),this.sorting=!1;return}return this.scrollDown(this.index)}pageUp(){return this.visible.length<=1?this.alert():(this.limit=Math.max(this.limit-1,0),this.index=Math.min(this.limit-1,this.index),this._limit=this.limit,this.isDisabled()?this.up():this.render())}pageDown(){return this.visible.length>=this.choices.length?this.alert():(this.index=Math.max(0,this.index),this.limit=Math.min(this.limit+1,this.choices.length),this._limit=this.limit,this.isDisabled()?this.down():this.render())}swap(e){VJe(this.choices,this.index,e)}isDisabled(e=this.focused){return e&&["disabled","collapsed","hidden","completing","readonly"].some(i=>e[i]===!0)?!0:e&&e.role==="heading"}isEnabled(e=this.focused){if(Array.isArray(e))return e.every(r=>this.isEnabled(r));if(e.choices){let r=e.choices.filter(i=>!this.isDisabled(i));return e.enabled&&r.every(i=>this.isEnabled(i))}return e.enabled&&!this.isDisabled(e)}isChoice(e,r){return e.name===r||e.index===Number(r)}isSelected(e){return Array.isArray(this.initial)?this.initial.some(r=>this.isChoice(e,r)):this.isChoice(e,this.initial)}map(e=[],r="value"){return[].concat(e||[]).reduce((i,n)=>(i[n]=this.find(n,r),i),{})}filter(e,r){let i=(a,l)=>[a.name,l].includes(e),n=typeof e=="function"?e:i,o=(this.options.multiple?this.state._choices:this.choices).filter(n);return r?o.map(a=>a[r]):o}find(e,r){if(Sne(e))return r?e[r]:e;let i=(o,a)=>[o.name,a].includes(e),n=typeof e=="function"?e:i,s=this.choices.find(n);if(s)return r?s[r]:s}findIndex(e){return this.choices.indexOf(this.find(e))}async submit(){let e=this.focused;if(!e)return this.alert();if(e.newChoice)return e.input?(e.updateChoice(),this.render()):this.alert();if(this.choices.some(o=>o.newChoice))return this.alert();let{reorder:r,sort:i}=this.options,n=this.multiple===!0,s=this.selected;return s===void 0?this.alert():(Array.isArray(s)&&r!==!1&&i!==!0&&(s=M0.reorder(s)),this.value=n?s.map(o=>o.name):s.name,super.submit())}set choices(e=[]){this.state._choices=this.state._choices||[],this.state.choices=e;for(let r of e)this.state._choices.some(i=>i.name===r.name)||this.state._choices.push(r);if(!this._initial&&this.options.initial){this._initial=!0;let r=this.initial;if(typeof r=="string"||typeof r=="number"){let i=this.find(r);i&&(this.initial=i.index,this.focus(i,!0))}}}get choices(){return kne(this,this.state.choices||[])}set visible(e){this.state.visible=e}get visible(){return(this.state.visible||this.choices).slice(0,this.limit)}set limit(e){this.state.limit=e}get limit(){let{state:e,options:r,choices:i}=this,n=e.limit||this._limit||r.limit||i.length;return Math.min(n,this.height)}set value(e){super.value=e}get value(){return typeof super.value!="string"&&super.value===this.initial?this.input:super.value}set index(e){this.state.index=e}get index(){return Math.max(0,this.state?this.state.index:0)}get enabled(){return this.filter(this.isEnabled.bind(this))}get focused(){let e=this.choices[this.index];return e&&this.state.submitted&&this.multiple!==!0&&(e.enabled=!0),e}get selectable(){return this.choices.filter(e=>!this.isDisabled(e))}get selected(){return this.multiple?this.enabled:this.focused}};function kne(t,e){if(e instanceof Promise)return e;if(typeof e=="function"){if(M0.isAsyncFn(e))return e;e=e.call(t,t)}for(let r of e){if(Array.isArray(r.choices)){let i=r.choices.filter(n=>!t.isDisabled(n));r.enabled=i.every(n=>n.enabled===!0)}t.isDisabled(r)===!0&&delete r.enabled}return e}vne.exports=xne});var GA=E((bCt,Pne)=>{"use strict";var _Je=sC(),bN=Mi(),Dne=class extends _Je{constructor(e){super(e);this.emptyError=this.options.emptyError||"No items were selected"}async dispatch(e,r){if(this.multiple)return this[r.name]?await this[r.name](e,r):await super.dispatch(e,r);this.alert()}separator(){if(this.options.separator)return super.separator();let e=this.styles.muted(this.symbols.ellipsis);return this.state.submitted?super.separator():e}pointer(e,r){return!this.multiple||this.options.pointer?super.pointer(e,r):""}indicator(e,r){return this.multiple?super.indicator(e,r):""}choiceMessage(e,r){let i=this.resolve(e.message,this.state,e,r);return e.role==="heading"&&!bN.hasColor(i)&&(i=this.styles.strong(i)),this.resolve(i,this.state,e,r)}choiceSeparator(){return":"}async renderChoice(e,r){await this.onChoice(e,r);let i=this.index===r,n=await this.pointer(e,r),s=await this.indicator(e,r)+(e.pad||""),o=await this.resolve(e.hint,this.state,e,r);o&&!bN.hasColor(o)&&(o=this.styles.muted(o));let a=this.indent(e),l=await this.choiceMessage(e,r),c=()=>[this.margin[3],a+n+s,l,this.margin[1],o].filter(Boolean).join(" ");return e.role==="heading"?c():e.disabled?(bN.hasColor(l)||(l=this.styles.disabled(l)),c()):(i&&(l=this.styles.em(l)),c())}async renderChoices(){if(this.state.loading==="choices")return this.styles.warning("Loading choices");if(this.state.submitted)return"";let e=this.visible.map(async(s,o)=>await this.renderChoice(s,o)),r=await Promise.all(e);r.length||r.push(this.styles.danger("No matching choices"));let i=this.margin[0]+r.join(` +`),n;return this.options.choicesHeader&&(n=await this.resolve(this.options.choicesHeader,this.state)),[n,i].filter(Boolean).join(` +`)}format(){return!this.state.submitted||this.state.cancelled?"":Array.isArray(this.selected)?this.selected.map(e=>this.styles.primary(e.name)).join(", "):this.styles.primary(this.selected.name)}async render(){let{submitted:e,size:r}=this.state,i="",n=await this.header(),s=await this.prefix(),o=await this.separator(),a=await this.message();this.options.promptLine!==!1&&(i=[s,a,o,""].join(" "),this.state.prompt=i);let l=await this.format(),c=await this.error()||await this.hint(),u=await this.renderChoices(),g=await this.footer();l&&(i+=l),c&&!i.includes(c)&&(i+=" "+c),e&&!l&&!u.trim()&&this.multiple&&this.emptyError!=null&&(i+=this.styles.danger(this.emptyError)),this.clear(r),this.write([n,i,u,g].filter(Boolean).join(` +`)),this.write(this.margin[2]),this.restore()}};Pne.exports=Dne});var Nne=E((vCt,Rne)=>{"use strict";var XJe=GA(),ZJe=(t,e)=>{let r=t.toLowerCase();return i=>{let s=i.toLowerCase().indexOf(r),o=e(i.slice(s,s+r.length));return s>=0?i.slice(0,s)+o+i.slice(s+r.length):i}},Fne=class extends XJe{constructor(e){super(e);this.cursorShow()}moveCursor(e){this.state.cursor+=e}dispatch(e){return this.append(e)}space(e){return this.options.multiple?super.space(e):this.append(e)}append(e){let{cursor:r,input:i}=this.state;return this.input=i.slice(0,r)+e+i.slice(r),this.moveCursor(1),this.complete()}delete(){let{cursor:e,input:r}=this.state;return r?(this.input=r.slice(0,e-1)+r.slice(e),this.moveCursor(-1),this.complete()):this.alert()}deleteForward(){let{cursor:e,input:r}=this.state;return r[e]===void 0?this.alert():(this.input=`${r}`.slice(0,e)+`${r}`.slice(e+1),this.complete())}number(e){return this.append(e)}async complete(){this.completing=!0,this.choices=await this.suggest(this.input,this.state._choices),this.state.limit=void 0,this.index=Math.min(Math.max(this.visible.length-1,0),this.index),await this.render(),this.completing=!1}suggest(e=this.input,r=this.state._choices){if(typeof this.options.suggest=="function")return this.options.suggest.call(this,e,r);let i=e.toLowerCase();return r.filter(n=>n.message.toLowerCase().includes(i))}pointer(){return""}format(){if(!this.focused)return this.input;if(this.options.multiple&&this.state.submitted)return this.selected.map(e=>this.styles.primary(e.message)).join(", ");if(this.state.submitted){let e=this.value=this.input=this.focused.value;return this.styles.primary(e)}return this.input}async render(){if(this.state.status!=="pending")return super.render();let e=this.options.highlight?this.options.highlight.bind(this):this.styles.placeholder,r=ZJe(this.input,e),i=this.choices;this.choices=i.map(n=>_(P({},n),{message:r(n.message)})),await super.render(),this.choices=i}submit(){return this.options.multiple&&(this.value=this.selected.map(e=>e.name)),super.submit()}};Rne.exports=Fne});var SN=E((SCt,Lne)=>{"use strict";var vN=Mi();Lne.exports=(t,e={})=>{t.cursorHide();let{input:r="",initial:i="",pos:n,showCursor:s=!0,color:o}=e,a=o||t.styles.placeholder,l=vN.inverse(t.styles.primary),c=d=>l(t.styles.black(d)),u=r,g=" ",f=c(g);if(t.blink&&t.blink.off===!0&&(c=d=>d,f=""),s&&n===0&&i===""&&r==="")return c(g);if(s&&n===0&&(r===i||r===""))return c(i[0])+a(i.slice(1));i=vN.isPrimitive(i)?`${i}`:"",r=vN.isPrimitive(r)?`${r}`:"";let h=i&&i.startsWith(r)&&i!==r,p=h?c(i[r.length]):f;if(n!==r.length&&s===!0&&(u=r.slice(0,n)+c(r[n])+r.slice(n+1),p=""),s===!1&&(p=""),h){let d=t.styles.unstyle(u+p);return u+p+a(i.slice(d.length))}return u+p}});var O0=E((xCt,Tne)=>{"use strict";var $Je=js(),e3e=GA(),t3e=SN(),Mne=class extends e3e{constructor(e){super(_(P({},e),{multiple:!0}));this.type="form",this.initial=this.options.initial,this.align=[this.options.align,"right"].find(r=>r!=null),this.emptyError="",this.values={}}async reset(e){return await super.reset(),e===!0&&(this._index=this.index),this.index=this._index,this.values={},this.choices.forEach(r=>r.reset&&r.reset()),this.render()}dispatch(e){return!!e&&this.append(e)}append(e){let r=this.focused;if(!r)return this.alert();let{cursor:i,input:n}=r;return r.value=r.input=n.slice(0,i)+e+n.slice(i),r.cursor++,this.render()}delete(){let e=this.focused;if(!e||e.cursor<=0)return this.alert();let{cursor:r,input:i}=e;return e.value=e.input=i.slice(0,r-1)+i.slice(r),e.cursor--,this.render()}deleteForward(){let e=this.focused;if(!e)return this.alert();let{cursor:r,input:i}=e;if(i[r]===void 0)return this.alert();let n=`${i}`.slice(0,r)+`${i}`.slice(r+1);return e.value=e.input=n,this.render()}right(){let e=this.focused;return e?e.cursor>=e.input.length?this.alert():(e.cursor++,this.render()):this.alert()}left(){let e=this.focused;return e?e.cursor<=0?this.alert():(e.cursor--,this.render()):this.alert()}space(e,r){return this.dispatch(e,r)}number(e,r){return this.dispatch(e,r)}next(){let e=this.focused;if(!e)return this.alert();let{initial:r,input:i}=e;return r&&r.startsWith(i)&&i!==r?(e.value=e.input=r,e.cursor=e.value.length,this.render()):super.next()}prev(){let e=this.focused;return e?e.cursor===0?super.prev():(e.value=e.input="",e.cursor=0,this.render()):this.alert()}separator(){return""}format(e){return this.state.submitted?"":super.format(e)}pointer(){return""}indicator(e){return e.input?"\u29BF":"\u2299"}async choiceSeparator(e,r){let i=await this.resolve(e.separator,this.state,e,r)||":";return i?" "+this.styles.disabled(i):""}async renderChoice(e,r){await this.onChoice(e,r);let{state:i,styles:n}=this,{cursor:s,initial:o="",name:a,hint:l,input:c=""}=e,{muted:u,submitted:g,primary:f,danger:h}=n,p=l,d=this.index===r,m=e.validate||(()=>!0),I=await this.choiceSeparator(e,r),B=e.message;this.align==="right"&&(B=B.padStart(this.longest+1," ")),this.align==="left"&&(B=B.padEnd(this.longest+1," "));let b=this.values[a]=c||o,R=c?"success":"dark";await m.call(e,b,this.state)!==!0&&(R="danger");let L=n[R](await this.indicator(e,r))+(e.pad||""),K=this.indent(e),J=()=>[K,L,B+I,c,p].filter(Boolean).join(" ");if(i.submitted)return B=$Je.unstyle(B),c=g(c),p="",J();if(e.format)c=await e.format.call(this,c,e,r);else{let ne=this.styles.muted;c=t3e(this,{input:c,initial:o,pos:s,showCursor:d,color:ne})}return this.isValue(c)||(c=this.styles.muted(this.symbols.ellipsis)),e.result&&(this.values[a]=await e.result.call(this,b,e,r)),d&&(B=f(B)),e.error?c+=(c?" ":"")+h(e.error.trim()):e.hint&&(c+=(c?" ":"")+u(e.hint.trim())),J()}async submit(){return this.value=this.values,super.base.submit.call(this)}};Tne.exports=Mne});var xN=E((kCt,One)=>{"use strict";var r3e=O0(),i3e=()=>{throw new Error("expected prompt to have a custom authenticate method")},Kne=(t=i3e)=>{class e extends r3e{constructor(i){super(i)}async submit(){this.value=await t.call(this,this.values,this.state),super.base.submit.call(this)}static create(i){return Kne(i)}}return e};One.exports=Kne()});var Gne=E((PCt,Une)=>{"use strict";var n3e=xN();function s3e(t,e){return t.username===this.options.username&&t.password===this.options.password}var Hne=(t=s3e)=>{let e=[{name:"username",message:"username"},{name:"password",message:"password",format(i){return this.options.showPassword?i:(this.state.submitted?this.styles.primary:this.styles.muted)(this.symbols.asterisk.repeat(i.length))}}];class r extends n3e.create(t){constructor(n){super(_(P({},n),{choices:e}))}static create(n){return Hne(n)}}return r};Une.exports=Hne()});var K0=E((DCt,jne)=>{"use strict";var o3e=sf(),{isPrimitive:a3e,hasColor:A3e}=Mi(),Yne=class extends o3e{constructor(e){super(e);this.cursorHide()}async initialize(){let e=await this.resolve(this.initial,this.state);this.input=await this.cast(e),await super.initialize()}dispatch(e){return this.isValue(e)?(this.input=e,this.submit()):this.alert()}format(e){let{styles:r,state:i}=this;return i.submitted?r.success(e):r.primary(e)}cast(e){return this.isTrue(e)}isTrue(e){return/^[ty1]/i.test(e)}isFalse(e){return/^[fn0]/i.test(e)}isValue(e){return a3e(e)&&(this.isTrue(e)||this.isFalse(e))}async hint(){if(this.state.status==="pending"){let e=await this.element("hint");return A3e(e)?e:this.styles.muted(e)}}async render(){let{input:e,size:r}=this.state,i=await this.prefix(),n=await this.separator(),s=await this.message(),o=this.styles.muted(this.default),a=[i,s,o,n].filter(Boolean).join(" ");this.state.prompt=a;let l=await this.header(),c=this.value=this.cast(e),u=await this.format(c),g=await this.error()||await this.hint(),f=await this.footer();g&&!a.includes(g)&&(u+=" "+g),a+=" "+u,this.clear(r),this.write([l,a,f].filter(Boolean).join(` +`)),this.restore()}set value(e){super.value=e}get value(){return this.cast(super.value)}};jne.exports=Yne});var Wne=E((RCt,qne)=>{"use strict";var l3e=K0(),Jne=class extends l3e{constructor(e){super(e);this.default=this.options.default||(this.initial?"(Y/n)":"(y/N)")}};qne.exports=Jne});var _ne=E((FCt,zne)=>{"use strict";var c3e=GA(),u3e=O0(),of=u3e.prototype,Vne=class extends c3e{constructor(e){super(_(P({},e),{multiple:!0}));this.align=[this.options.align,"left"].find(r=>r!=null),this.emptyError="",this.values={}}dispatch(e,r){let i=this.focused,n=i.parent||{};return!i.editable&&!n.editable&&(e==="a"||e==="i")?super[e]():of.dispatch.call(this,e,r)}append(e,r){return of.append.call(this,e,r)}delete(e,r){return of.delete.call(this,e,r)}space(e){return this.focused.editable?this.append(e):super.space()}number(e){return this.focused.editable?this.append(e):super.number(e)}next(){return this.focused.editable?of.next.call(this):super.next()}prev(){return this.focused.editable?of.prev.call(this):super.prev()}async indicator(e,r){let i=e.indicator||"",n=e.editable?i:super.indicator(e,r);return await this.resolve(n,this.state,e,r)||""}indent(e){return e.role==="heading"?"":e.editable?" ":" "}async renderChoice(e,r){return e.indent="",e.editable?of.renderChoice.call(this,e,r):super.renderChoice(e,r)}error(){return""}footer(){return this.state.error}async validate(){let e=!0;for(let r of this.choices){if(typeof r.validate!="function"||r.role==="heading")continue;let i=r.parent?this.value[r.parent.name]:this.value;if(r.editable?i=r.value===r.name?r.initial||"":r.value:this.isDisabled(r)||(i=r.enabled===!0),e=await r.validate(i,this.state),e!==!0)break}return e!==!0&&(this.state.error=typeof e=="string"?e:"Invalid Input"),e}submit(){if(this.focused.newChoice===!0)return super.submit();if(this.choices.some(e=>e.newChoice))return this.alert();this.value={};for(let e of this.choices){let r=e.parent?this.value[e.parent.name]:this.value;if(e.role==="heading"){this.value[e.name]={};continue}e.editable?r[e.name]=e.value===e.name?e.initial||"":e.value:this.isDisabled(e)||(r[e.name]=e.enabled===!0)}return this.base.submit.call(this)}};zne.exports=Vne});var Mc=E((NCt,Xne)=>{"use strict";var g3e=sf(),f3e=SN(),{isPrimitive:h3e}=Mi(),Zne=class extends g3e{constructor(e){super(e);this.initial=h3e(this.initial)?String(this.initial):"",this.initial&&this.cursorHide(),this.state.prevCursor=0,this.state.clipboard=[]}async keypress(e,r={}){let i=this.state.prevKeypress;return this.state.prevKeypress=r,this.options.multiline===!0&&r.name==="return"&&(!i||i.name!=="return")?this.append(` +`,r):super.keypress(e,r)}moveCursor(e){this.cursor+=e}reset(){return this.input=this.value="",this.cursor=0,this.render()}dispatch(e,r){if(!e||r.ctrl||r.code)return this.alert();this.append(e)}append(e){let{cursor:r,input:i}=this.state;this.input=`${i}`.slice(0,r)+e+`${i}`.slice(r),this.moveCursor(String(e).length),this.render()}insert(e){this.append(e)}delete(){let{cursor:e,input:r}=this.state;if(e<=0)return this.alert();this.input=`${r}`.slice(0,e-1)+`${r}`.slice(e),this.moveCursor(-1),this.render()}deleteForward(){let{cursor:e,input:r}=this.state;if(r[e]===void 0)return this.alert();this.input=`${r}`.slice(0,e)+`${r}`.slice(e+1),this.render()}cutForward(){let e=this.cursor;if(this.input.length<=e)return this.alert();this.state.clipboard.push(this.input.slice(e)),this.input=this.input.slice(0,e),this.render()}cutLeft(){let e=this.cursor;if(e===0)return this.alert();let r=this.input.slice(0,e),i=this.input.slice(e),n=r.split(" ");this.state.clipboard.push(n.pop()),this.input=n.join(" "),this.cursor=this.input.length,this.input+=i,this.render()}paste(){if(!this.state.clipboard.length)return this.alert();this.insert(this.state.clipboard.pop()),this.render()}toggleCursor(){this.state.prevCursor?(this.cursor=this.state.prevCursor,this.state.prevCursor=0):(this.state.prevCursor=this.cursor,this.cursor=0),this.render()}first(){this.cursor=0,this.render()}last(){this.cursor=this.input.length-1,this.render()}next(){let e=this.initial!=null?String(this.initial):"";if(!e||!e.startsWith(this.input))return this.alert();this.input=this.initial,this.cursor=this.initial.length,this.render()}prev(){if(!this.input)return this.alert();this.reset()}backward(){return this.left()}forward(){return this.right()}right(){return this.cursor>=this.input.length?this.alert():(this.moveCursor(1),this.render())}left(){return this.cursor<=0?this.alert():(this.moveCursor(-1),this.render())}isValue(e){return!!e}async format(e=this.value){let r=await this.resolve(this.initial,this.state);return this.state.submitted?this.styles.submitted(e||r):f3e(this,{input:e,initial:r,pos:this.cursor})}async render(){let e=this.state.size,r=await this.prefix(),i=await this.separator(),n=await this.message(),s=[r,n,i].filter(Boolean).join(" ");this.state.prompt=s;let o=await this.header(),a=await this.format(),l=await this.error()||await this.hint(),c=await this.footer();l&&!a.includes(l)&&(a+=" "+l),s+=" "+a,this.clear(e),this.write([o,s,c].filter(Boolean).join(` +`)),this.restore()}};Xne.exports=Zne});var ese=E((LCt,$ne)=>{"use strict";var p3e=t=>t.filter((e,r)=>t.lastIndexOf(e)===r),U0=t=>p3e(t).filter(Boolean);$ne.exports=(t,e={},r="")=>{let{past:i=[],present:n=""}=e,s,o;switch(t){case"prev":case"undo":return s=i.slice(0,i.length-1),o=i[i.length-1]||"",{past:U0([r,...s]),present:o};case"next":case"redo":return s=i.slice(1),o=i[0]||"",{past:U0([...s,r]),present:o};case"save":return{past:U0([...i,r]),present:""};case"remove":return o=U0(i.filter(a=>a!==r)),n="",o.length&&(n=o.pop()),{past:o,present:n};default:throw new Error(`Invalid action: "${t}"`)}}});var kN=E((TCt,tse)=>{"use strict";var d3e=Mc(),rse=ese(),ise=class extends d3e{constructor(e){super(e);let r=this.options.history;if(r&&r.store){let i=r.values||this.initial;this.autosave=!!r.autosave,this.store=r.store,this.data=this.store.get("values")||{past:[],present:i},this.initial=this.data.present||this.data.past[this.data.past.length-1]}}completion(e){return this.store?(this.data=rse(e,this.data,this.input),this.data.present?(this.input=this.data.present,this.cursor=this.input.length,this.render()):this.alert()):this.alert()}altUp(){return this.completion("prev")}altDown(){return this.completion("next")}prev(){return this.save(),super.prev()}save(){!this.store||(this.data=rse("save",this.data,this.input),this.store.set("values",this.data))}submit(){return this.store&&this.autosave===!0&&this.save(),super.submit()}};tse.exports=ise});var ose=E((MCt,nse)=>{"use strict";var C3e=Mc(),sse=class extends C3e{format(){return""}};nse.exports=sse});var lse=E((OCt,ase)=>{"use strict";var m3e=Mc(),Ase=class extends m3e{constructor(e={}){super(e);this.sep=this.options.separator||/, */,this.initial=e.initial||""}split(e=this.value){return e?String(e).split(this.sep):[]}format(){let e=this.state.submitted?this.styles.primary:r=>r;return this.list.map(e).join(", ")}async submit(e){let r=this.state.error||await this.validate(this.list,this.state);return r!==!0?(this.state.error=r,super.submit()):(this.value=this.list,super.submit())}get list(){return this.split()}};ase.exports=Ase});var gse=E((KCt,cse)=>{"use strict";var E3e=GA(),use=class extends E3e{constructor(e){super(_(P({},e),{multiple:!0}))}};cse.exports=use});var PN=E((UCt,fse)=>{"use strict";var I3e=Mc(),hse=class extends I3e{constructor(e={}){super(P({style:"number"},e));this.min=this.isValue(e.min)?this.toNumber(e.min):-Infinity,this.max=this.isValue(e.max)?this.toNumber(e.max):Infinity,this.delay=e.delay!=null?e.delay:1e3,this.float=e.float!==!1,this.round=e.round===!0||e.float===!1,this.major=e.major||10,this.minor=e.minor||1,this.initial=e.initial!=null?e.initial:"",this.input=String(this.initial),this.cursor=this.input.length,this.cursorShow()}append(e){return!/[-+.]/.test(e)||e==="."&&this.input.includes(".")?this.alert("invalid number"):super.append(e)}number(e){return super.append(e)}next(){return this.input&&this.input!==this.initial?this.alert():this.isValue(this.initial)?(this.input=this.initial,this.cursor=String(this.initial).length,this.render()):this.alert()}up(e){let r=e||this.minor,i=this.toNumber(this.input);return i>this.max+r?this.alert():(this.input=`${i+r}`,this.render())}down(e){let r=e||this.minor,i=this.toNumber(this.input);return ithis.isValue(r));return this.value=this.toNumber(e||0),super.submit()}};fse.exports=hse});var dse=E((HCt,pse)=>{pse.exports=PN()});var Ese=E((GCt,Cse)=>{"use strict";var y3e=Mc(),mse=class extends y3e{constructor(e){super(e);this.cursorShow()}format(e=this.input){return this.keypressed?(this.state.submitted?this.styles.primary:this.styles.muted)(this.symbols.asterisk.repeat(e.length)):""}};Cse.exports=mse});var Bse=E((jCt,Ise)=>{"use strict";var w3e=js(),B3e=sC(),yse=Mi(),wse=class extends B3e{constructor(e={}){super(e);this.widths=[].concat(e.messageWidth||50),this.align=[].concat(e.align||"left"),this.linebreak=e.linebreak||!1,this.edgeLength=e.edgeLength||3,this.newline=e.newline||` + `;let r=e.startNumber||1;typeof this.scale=="number"&&(this.scaleKey=!1,this.scale=Array(this.scale).fill(0).map((i,n)=>({name:n+r})))}async reset(){return this.tableized=!1,await super.reset(),this.render()}tableize(){if(this.tableized===!0)return;this.tableized=!0;let e=0;for(let r of this.choices){e=Math.max(e,r.message.length),r.scaleIndex=r.initial||2,r.scale=[];for(let i=0;i=this.scale.length-1?this.alert():(e.scaleIndex++,this.render())}left(){let e=this.focused;return e.scaleIndex<=0?this.alert():(e.scaleIndex--,this.render())}indent(){return""}format(){return this.state.submitted?this.choices.map(r=>this.styles.info(r.index)).join(", "):""}pointer(){return""}renderScaleKey(){if(this.scaleKey===!1||this.state.submitted)return"";let e=this.scale.map(i=>` ${i.name} - ${i.message}`);return["",...e].map(i=>this.styles.muted(i)).join(` +`)}renderScaleHeading(e){let r=this.scale.map(l=>l.name);typeof this.options.renderScaleHeading=="function"&&(r=this.options.renderScaleHeading.call(this,e));let i=this.scaleLength-r.join("").length,n=Math.round(i/(r.length-1)),o=r.map(l=>this.styles.strong(l)).join(" ".repeat(n)),a=" ".repeat(this.widths[0]);return this.margin[3]+a+this.margin[1]+o}scaleIndicator(e,r,i){if(typeof this.options.scaleIndicator=="function")return this.options.scaleIndicator.call(this,e,r,i);let n=e.scaleIndex===r.index;return r.disabled?this.styles.hint(this.symbols.radio.disabled):n?this.styles.success(this.symbols.radio.on):this.symbols.radio.off}renderScale(e,r){let i=e.scale.map(s=>this.scaleIndicator(e,s,r)),n=this.term==="Hyper"?"":" ";return i.join(n+this.symbols.line.repeat(this.edgeLength))}async renderChoice(e,r){await this.onChoice(e,r);let i=this.index===r,n=await this.pointer(e,r),s=await e.hint;s&&!yse.hasColor(s)&&(s=this.styles.muted(s));let o=p=>this.margin[3]+p.replace(/\s+$/,"").padEnd(this.widths[0]," "),a=this.newline,l=this.indent(e),c=await this.resolve(e.message,this.state,e,r),u=await this.renderScale(e,r),g=this.margin[1]+this.margin[3];this.scaleLength=w3e.unstyle(u).length,this.widths[0]=Math.min(this.widths[0],this.width-this.scaleLength-g.length);let h=yse.wordWrap(c,{width:this.widths[0],newline:a}).split(` +`).map(p=>o(p)+this.margin[1]);return i&&(u=this.styles.info(u),h=h.map(p=>this.styles.info(p))),h[0]+=u,this.linebreak&&h.push(""),[l+n,h.join(` +`)].filter(Boolean)}async renderChoices(){if(this.state.submitted)return"";this.tableize();let e=this.visible.map(async(n,s)=>await this.renderChoice(n,s)),r=await Promise.all(e),i=await this.renderScaleHeading();return this.margin[0]+[i,...r.map(n=>n.join(" "))].join(` +`)}async render(){let{submitted:e,size:r}=this.state,i=await this.prefix(),n=await this.separator(),s=await this.message(),o="";this.options.promptLine!==!1&&(o=[i,s,n,""].join(" "),this.state.prompt=o);let a=await this.header(),l=await this.format(),c=await this.renderScaleKey(),u=await this.error()||await this.hint(),g=await this.renderChoices(),f=await this.footer(),h=this.emptyError;l&&(o+=l),u&&!o.includes(u)&&(o+=" "+u),e&&!l&&!g.trim()&&this.multiple&&h!=null&&(o+=this.styles.danger(h)),this.clear(r),this.write([a,o,c,g,f].filter(Boolean).join(` +`)),this.state.submitted||this.write(this.margin[2]),this.restore()}submit(){this.value={};for(let e of this.choices)this.value[e.name]=e.scaleIndex;return this.base.submit.call(this)}};Ise.exports=wse});var Sse=E((YCt,Qse)=>{"use strict";var bse=js(),Q3e=(t="")=>typeof t=="string"?t.replace(/^['"]|['"]$/g,""):"",vse=class{constructor(e){this.name=e.key,this.field=e.field||{},this.value=Q3e(e.initial||this.field.initial||""),this.message=e.message||this.name,this.cursor=0,this.input="",this.lines=[]}},b3e=async(t={},e={},r=i=>i)=>{let i=new Set,n=t.fields||[],s=t.template,o=[],a=[],l=[],c=1;typeof s=="function"&&(s=await s());let u=-1,g=()=>s[++u],f=()=>s[u+1],h=p=>{p.line=c,o.push(p)};for(h({type:"bos",value:""});uR.name===I.key);I.field=n.find(R=>R.name===I.key),b||(b=new vse(I),a.push(b)),b.lines.push(I.line-1);continue}let d=o[o.length-1];d.type==="text"&&d.line===c?d.value+=p:h({type:"text",value:p})}return h({type:"eos",value:""}),{input:s,tabstops:o,unique:i,keys:l,items:a}};Qse.exports=async t=>{let e=t.options,r=new Set(e.required===!0?[]:e.required||[]),i=P(P({},e.values),e.initial),{tabstops:n,items:s,keys:o}=await b3e(e,i),a=DN("result",t,e),l=DN("format",t,e),c=DN("validate",t,e,!0),u=t.isValue.bind(t);return async(g={},f=!1)=>{let h=0;g.required=r,g.items=s,g.keys=o,g.output="";let p=async(B,b,R,H)=>{let L=await c(B,b,R,H);return L===!1?"Invalid field "+R.name:L};for(let B of n){let b=B.value,R=B.key;if(B.type!=="template"){b&&(g.output+=b);continue}if(B.type==="template"){let H=s.find(q=>q.name===R);e.required===!0&&g.required.add(H.name);let L=[H.input,g.values[H.value],H.value,b].find(u),J=(H.field||{}).message||B.inner;if(f){let q=await p(g.values[R],g,H,h);if(q&&typeof q=="string"||q===!1){g.invalid.set(R,q);continue}g.invalid.delete(R);let A=await a(g.values[R],g,H,h);g.output+=bse.unstyle(A);continue}H.placeholder=!1;let ne=b;b=await l(b,g,H,h),L!==b?(g.values[R]=L,b=t.styles.typing(L),g.missing.delete(J)):(g.values[R]=void 0,L=`<${J}>`,b=t.styles.primary(L),H.placeholder=!0,g.required.has(R)&&g.missing.add(J)),g.missing.has(J)&&g.validating&&(b=t.styles.warning(L)),g.invalid.has(R)&&g.validating&&(b=t.styles.danger(L)),h===g.index&&(ne!==b?b=t.styles.underline(b):b=t.styles.heading(bse.unstyle(b))),h++}b&&(g.output+=b)}let d=g.output.split(` +`).map(B=>" "+B),m=s.length,I=0;for(let B of s)g.invalid.has(B.name)&&B.lines.forEach(b=>{d[b][0]===" "&&(d[b]=g.styles.danger(g.symbols.bullet)+d[b].slice(1))}),t.isValue(g.values[B.name])&&I++;return g.completed=(I/m*100).toFixed(0),g.output=d.join(` +`),g.output}};function DN(t,e,r,i){return(n,s,o,a)=>typeof o.field[t]=="function"?o.field[t].call(e,n,s,o,a):[i,n].find(l=>e.isValue(l))}});var Pse=E((qCt,xse)=>{"use strict";var v3e=js(),S3e=Sse(),x3e=sf(),kse=class extends x3e{constructor(e){super(e);this.cursorHide(),this.reset(!0)}async initialize(){this.interpolate=await S3e(this),await super.initialize()}async reset(e){this.state.keys=[],this.state.invalid=new Map,this.state.missing=new Set,this.state.completed=0,this.state.values={},e!==!0&&(await this.initialize(),await this.render())}moveCursor(e){let r=this.getItem();this.cursor+=e,r.cursor+=e}dispatch(e,r){if(!r.code&&!r.ctrl&&e!=null&&this.getItem()){this.append(e,r);return}this.alert()}append(e,r){let i=this.getItem(),n=i.input.slice(0,this.cursor),s=i.input.slice(this.cursor);this.input=i.input=`${n}${e}${s}`,this.moveCursor(1),this.render()}delete(){let e=this.getItem();if(this.cursor<=0||!e.input)return this.alert();let r=e.input.slice(this.cursor),i=e.input.slice(0,this.cursor-1);this.input=e.input=`${i}${r}`,this.moveCursor(-1),this.render()}increment(e){return e>=this.state.keys.length-1?0:e+1}decrement(e){return e<=0?this.state.keys.length-1:e-1}first(){this.state.index=0,this.render()}last(){this.state.index=this.state.keys.length-1,this.render()}right(){if(this.cursor>=this.input.length)return this.alert();this.moveCursor(1),this.render()}left(){if(this.cursor<=0)return this.alert();this.moveCursor(-1),this.render()}prev(){this.state.index=this.decrement(this.state.index),this.getItem(),this.render()}next(){this.state.index=this.increment(this.state.index),this.getItem(),this.render()}up(){this.prev()}down(){this.next()}format(e){let r=this.state.completed<100?this.styles.warning:this.styles.success;return this.state.submitted===!0&&this.state.completed!==100&&(r=this.styles.danger),r(`${this.state.completed}% completed`)}async render(){let{index:e,keys:r=[],submitted:i,size:n}=this.state,s=[this.options.newline,` +`].find(B=>B!=null),o=await this.prefix(),a=await this.separator(),l=await this.message(),c=[o,l,a].filter(Boolean).join(" ");this.state.prompt=c;let u=await this.header(),g=await this.error()||"",f=await this.hint()||"",h=i?"":await this.interpolate(this.state),p=this.state.key=r[e]||"",d=await this.format(p),m=await this.footer();d&&(c+=" "+d),f&&!d&&this.state.completed===0&&(c+=" "+f),this.clear(n);let I=[u,c,h,m,g.trim()];this.write(I.filter(Boolean).join(s)),this.restore()}getItem(e){let{items:r,keys:i,index:n}=this.state,s=r.find(o=>o.name===i[n]);return s&&s.input!=null&&(this.input=s.input,this.cursor=s.cursor),s}async submit(){typeof this.interpolate!="function"&&await this.initialize(),await this.interpolate(this.state,!0);let{invalid:e,missing:r,output:i,values:n}=this.state;if(e.size){let a="";for(let[l,c]of e)a+=`Invalid ${l}: ${c} +`;return this.state.error=a,super.submit()}if(r.size)return this.state.error="Required: "+[...r.keys()].join(", "),super.submit();let o=v3e.unstyle(i).split(` +`).map(a=>a.slice(1)).join(` +`);return this.value={values:n,result:o},super.submit()}};xse.exports=kse});var Fse=E((JCt,Dse)=>{"use strict";var k3e="(Use + to sort)",P3e=GA(),Rse=class extends P3e{constructor(e){super(_(P({},e),{reorder:!1,sort:!0,multiple:!0}));this.state.hint=[this.options.hint,k3e].find(this.isValue.bind(this))}indicator(){return""}async renderChoice(e,r){let i=await super.renderChoice(e,r),n=this.symbols.identicalTo+" ",s=this.index===r&&this.sorting?this.styles.muted(n):" ";return this.options.drag===!1&&(s=""),this.options.numbered===!0?s+`${r+1} - `+i:s+i}get selected(){return this.choices}submit(){return this.value=this.choices.map(e=>e.value),super.submit()}};Dse.exports=Rse});var Tse=E((WCt,Nse)=>{"use strict";var D3e=sC(),Lse=class extends D3e{constructor(e={}){super(e);if(this.emptyError=e.emptyError||"No items were selected",this.term=process.env.TERM_PROGRAM,!this.options.header){let r=["","4 - Strongly Agree","3 - Agree","2 - Neutral","1 - Disagree","0 - Strongly Disagree",""];r=r.map(i=>this.styles.muted(i)),this.state.header=r.join(` + `)}}async toChoices(...e){if(this.createdScales)return!1;this.createdScales=!0;let r=await super.toChoices(...e);for(let i of r)i.scale=R3e(5,this.options),i.scaleIdx=2;return r}dispatch(){this.alert()}space(){let e=this.focused,r=e.scale[e.scaleIdx],i=r.selected;return e.scale.forEach(n=>n.selected=!1),r.selected=!i,this.render()}indicator(){return""}pointer(){return""}separator(){return this.styles.muted(this.symbols.ellipsis)}right(){let e=this.focused;return e.scaleIdx>=e.scale.length-1?this.alert():(e.scaleIdx++,this.render())}left(){let e=this.focused;return e.scaleIdx<=0?this.alert():(e.scaleIdx--,this.render())}indent(){return" "}async renderChoice(e,r){await this.onChoice(e,r);let i=this.index===r,n=this.term==="Hyper",s=n?9:8,o=n?"":" ",a=this.symbols.line.repeat(s),l=" ".repeat(s+(n?0:1)),c=b=>(b?this.styles.success("\u25C9"):"\u25EF")+o,u=r+1+".",g=i?this.styles.heading:this.styles.noop,f=await this.resolve(e.message,this.state,e,r),h=this.indent(e),p=h+e.scale.map((b,R)=>c(R===e.scaleIdx)).join(a),d=b=>b===e.scaleIdx?g(b):b,m=h+e.scale.map((b,R)=>d(R)).join(l),I=()=>[u,f].filter(Boolean).join(" "),B=()=>[I(),p,m," "].filter(Boolean).join(` +`);return i&&(p=this.styles.cyan(p),m=this.styles.cyan(m)),B()}async renderChoices(){if(this.state.submitted)return"";let e=this.visible.map(async(i,n)=>await this.renderChoice(i,n)),r=await Promise.all(e);return r.length||r.push(this.styles.danger("No matching choices")),r.join(` +`)}format(){return this.state.submitted?this.choices.map(r=>this.styles.info(r.scaleIdx)).join(", "):""}async render(){let{submitted:e,size:r}=this.state,i=await this.prefix(),n=await this.separator(),s=await this.message(),o=[i,s,n].filter(Boolean).join(" ");this.state.prompt=o;let a=await this.header(),l=await this.format(),c=await this.error()||await this.hint(),u=await this.renderChoices(),g=await this.footer();(l||!c)&&(o+=" "+l),c&&!o.includes(c)&&(o+=" "+c),e&&!l&&!u&&this.multiple&&this.type!=="form"&&(o+=this.styles.danger(this.emptyError)),this.clear(r),this.write([o,a,u,g].filter(Boolean).join(` +`)),this.restore()}submit(){this.value={};for(let e of this.choices)this.value[e.name]=e.scaleIdx;return this.base.submit.call(this)}};function R3e(t,e={}){if(Array.isArray(e.scale))return e.scale.map(i=>P({},i));let r=[];for(let i=1;i{Mse.exports=kN()});var Hse=E((VCt,Kse)=>{"use strict";var F3e=K0(),Use=class extends F3e{async initialize(){await super.initialize(),this.value=this.initial=!!this.options.initial,this.disabled=this.options.disabled||"no",this.enabled=this.options.enabled||"yes",await this.render()}reset(){this.value=this.initial,this.render()}delete(){this.alert()}toggle(){this.value=!this.value,this.render()}enable(){if(this.value===!0)return this.alert();this.value=!0,this.render()}disable(){if(this.value===!1)return this.alert();this.value=!1,this.render()}up(){this.toggle()}down(){this.toggle()}right(){this.toggle()}left(){this.toggle()}next(){this.toggle()}prev(){this.toggle()}dispatch(e="",r){switch(e.toLowerCase()){case" ":return this.toggle();case"1":case"y":case"t":return this.enable();case"0":case"n":case"f":return this.disable();default:return this.alert()}}format(){let e=i=>this.styles.primary.underline(i);return[this.value?this.disabled:e(this.disabled),this.value?e(this.enabled):this.enabled].join(this.styles.muted(" / "))}async render(){let{size:e}=this.state,r=await this.header(),i=await this.prefix(),n=await this.separator(),s=await this.message(),o=await this.format(),a=await this.error()||await this.hint(),l=await this.footer(),c=[i,s,n,o].join(" ");this.state.prompt=c,a&&!c.includes(a)&&(c+=" "+a),this.clear(e),this.write([r,c,l].filter(Boolean).join(` +`)),this.write(this.margin[2]),this.restore()}};Kse.exports=Use});var Yse=E((_Ct,Gse)=>{"use strict";var N3e=GA(),jse=class extends N3e{constructor(e){super(e);if(typeof this.options.correctChoice!="number"||this.options.correctChoice<0)throw new Error("Please specify the index of the correct answer from the list of choices")}async toChoices(e,r){let i=await super.toChoices(e,r);if(i.length<2)throw new Error("Please give at least two choices to the user");if(this.options.correctChoice>i.length)throw new Error("Please specify the index of the correct answer from the list of choices");return i}check(e){return e.index===this.options.correctChoice}async result(e){return{selectedAnswer:e,correctAnswer:this.options.choices[this.options.correctChoice].value,correct:await this.check(this.state)}}};Gse.exports=jse});var Jse=E(RN=>{"use strict";var qse=Mi(),ti=(t,e)=>{qse.defineExport(RN,t,e),qse.defineExport(RN,t.toLowerCase(),e)};ti("AutoComplete",()=>Nne());ti("BasicAuth",()=>Gne());ti("Confirm",()=>Wne());ti("Editable",()=>_ne());ti("Form",()=>O0());ti("Input",()=>kN());ti("Invisible",()=>ose());ti("List",()=>lse());ti("MultiSelect",()=>gse());ti("Numeral",()=>dse());ti("Password",()=>Ese());ti("Scale",()=>Bse());ti("Select",()=>GA());ti("Snippet",()=>Pse());ti("Sort",()=>Fse());ti("Survey",()=>Tse());ti("Text",()=>Ose());ti("Toggle",()=>Hse());ti("Quiz",()=>Yse())});var zse=E((ZCt,Wse)=>{Wse.exports={ArrayPrompt:sC(),AuthPrompt:xN(),BooleanPrompt:K0(),NumberPrompt:PN(),StringPrompt:Mc()}});var aC=E(($Ct,Vse)=>{"use strict";var _se=require("assert"),FN=require("events"),jA=Mi(),No=class extends FN{constructor(e,r){super();this.options=jA.merge({},e),this.answers=P({},r)}register(e,r){if(jA.isObject(e)){for(let n of Object.keys(e))this.register(n,e[n]);return this}_se.equal(typeof r,"function","expected a function");let i=e.toLowerCase();return r.prototype instanceof this.Prompt?this.prompts[i]=r:this.prompts[i]=r(this.Prompt,this),this}async prompt(e=[]){for(let r of[].concat(e))try{typeof r=="function"&&(r=await r.call(this)),await this.ask(jA.merge({},this.options,r))}catch(i){return Promise.reject(i)}return this.answers}async ask(e){typeof e=="function"&&(e=await e.call(this));let r=jA.merge({},this.options,e),{type:i,name:n}=e,{set:s,get:o}=jA;if(typeof i=="function"&&(i=await i.call(this,e,this.answers)),!i)return this.answers[n];_se(this.prompts[i],`Prompt "${i}" is not registered`);let a=new this.prompts[i](r),l=o(this.answers,n);a.state.answers=this.answers,a.enquirer=this,n&&a.on("submit",u=>{this.emit("answer",n,u,a),s(this.answers,n,u)});let c=a.emit.bind(a);return a.emit=(...u)=>(this.emit.call(this,...u),c(...u)),this.emit("prompt",a,this),r.autofill&&l!=null?(a.value=a.input=l,r.autofill==="show"&&await a.submit()):l=a.value=await a.run(),l}use(e){return e.call(this,this),this}set Prompt(e){this._Prompt=e}get Prompt(){return this._Prompt||this.constructor.Prompt}get prompts(){return this.constructor.prompts}static set Prompt(e){this._Prompt=e}static get Prompt(){return this._Prompt||sf()}static get prompts(){return Jse()}static get types(){return zse()}static get prompt(){let e=(r,...i)=>{let n=new this(...i),s=n.emit.bind(n);return n.emit=(...o)=>(e.emit(...o),s(...o)),n.prompt(r)};return jA.mixinEmitter(e,new FN),e}};jA.mixinEmitter(No,new FN);var NN=No.prompts;for(let t of Object.keys(NN)){let e=t.toLowerCase(),r=i=>new NN[t](i).run();No.prompt[e]=r,No[e]=r,No[t]||Reflect.defineProperty(No,t,{get:()=>NN[t]})}var oC=t=>{jA.defineExport(No,t,()=>No.types[t])};oC("ArrayPrompt");oC("AuthPrompt");oC("BooleanPrompt");oC("NumberPrompt");oC("StringPrompt");Vse.exports=No});var loe=E((Gmt,Aoe)=>{function K3e(t,e){for(var r=-1,i=t==null?0:t.length;++r{var U3e=XB(),H3e=jg();function G3e(t,e,r,i){var n=!r;r||(r={});for(var s=-1,o=e.length;++s{var j3e=Af(),Y3e=zg();function q3e(t,e){return t&&j3e(e,Y3e(e),t)}uoe.exports=q3e});var hoe=E((qmt,foe)=>{function J3e(t){var e=[];if(t!=null)for(var r in Object(t))e.push(r);return e}foe.exports=J3e});var doe=E((Jmt,poe)=>{var W3e=Gs(),z3e=u0(),V3e=hoe(),_3e=Object.prototype,X3e=_3e.hasOwnProperty;function Z3e(t){if(!W3e(t))return V3e(t);var e=z3e(t),r=[];for(var i in t)i=="constructor"&&(e||!X3e.call(t,i))||r.push(i);return r}poe.exports=Z3e});var lf=E((Wmt,Coe)=>{var $3e=bF(),eWe=doe(),tWe=Hd();function rWe(t){return tWe(t)?$3e(t,!0):eWe(t)}Coe.exports=rWe});var Eoe=E((zmt,moe)=>{var iWe=Af(),nWe=lf();function sWe(t,e){return t&&iWe(e,nWe(e),t)}moe.exports=sWe});var UN=E((hC,cf)=>{var oWe=Ks(),Ioe=typeof hC=="object"&&hC&&!hC.nodeType&&hC,yoe=Ioe&&typeof cf=="object"&&cf&&!cf.nodeType&&cf,aWe=yoe&&yoe.exports===Ioe,woe=aWe?oWe.Buffer:void 0,Boe=woe?woe.allocUnsafe:void 0;function AWe(t,e){if(e)return t.slice();var r=t.length,i=Boe?Boe(r):new t.constructor(r);return t.copy(i),i}cf.exports=AWe});var HN=E((Vmt,Qoe)=>{function lWe(t,e){var r=-1,i=t.length;for(e||(e=Array(i));++r{var cWe=Af(),uWe=f0();function gWe(t,e){return cWe(t,uWe(t),e)}boe.exports=gWe});var H0=E((Xmt,Soe)=>{var fWe=vF(),hWe=fWe(Object.getPrototypeOf,Object);Soe.exports=hWe});var GN=E((Zmt,xoe)=>{var pWe=$B(),dWe=H0(),CWe=f0(),mWe=RF(),EWe=Object.getOwnPropertySymbols,IWe=EWe?function(t){for(var e=[];t;)pWe(e,CWe(t)),t=dWe(t);return e}:mWe;xoe.exports=IWe});var Poe=E(($mt,koe)=>{var yWe=Af(),wWe=GN();function BWe(t,e){return yWe(t,wWe(t),e)}koe.exports=BWe});var Roe=E((eEt,Doe)=>{var QWe=DF(),bWe=GN(),vWe=lf();function SWe(t){return QWe(t,vWe,bWe)}Doe.exports=SWe});var Noe=E((tEt,Foe)=>{var xWe=Object.prototype,kWe=xWe.hasOwnProperty;function PWe(t){var e=t.length,r=new t.constructor(e);return e&&typeof t[0]=="string"&&kWe.call(t,"index")&&(r.index=t.index,r.input=t.input),r}Foe.exports=PWe});var G0=E((rEt,Loe)=>{var Toe=kF();function DWe(t){var e=new t.constructor(t.byteLength);return new Toe(e).set(new Toe(t)),e}Loe.exports=DWe});var Ooe=E((iEt,Moe)=>{var RWe=G0();function FWe(t,e){var r=e?RWe(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.byteLength)}Moe.exports=FWe});var Uoe=E((nEt,Koe)=>{var NWe=/\w*$/;function LWe(t){var e=new t.constructor(t.source,NWe.exec(t));return e.lastIndex=t.lastIndex,e}Koe.exports=LWe});var qoe=E((sEt,Hoe)=>{var Goe=ac(),joe=Goe?Goe.prototype:void 0,Yoe=joe?joe.valueOf:void 0;function TWe(t){return Yoe?Object(Yoe.call(t)):{}}Hoe.exports=TWe});var jN=E((oEt,Joe)=>{var MWe=G0();function OWe(t,e){var r=e?MWe(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.length)}Joe.exports=OWe});var zoe=E((aEt,Woe)=>{var KWe=G0(),UWe=Ooe(),HWe=Uoe(),GWe=qoe(),jWe=jN(),YWe="[object Boolean]",qWe="[object Date]",JWe="[object Map]",WWe="[object Number]",zWe="[object RegExp]",VWe="[object Set]",_We="[object String]",XWe="[object Symbol]",ZWe="[object ArrayBuffer]",$We="[object DataView]",e8e="[object Float32Array]",t8e="[object Float64Array]",r8e="[object Int8Array]",i8e="[object Int16Array]",n8e="[object Int32Array]",s8e="[object Uint8Array]",o8e="[object Uint8ClampedArray]",a8e="[object Uint16Array]",A8e="[object Uint32Array]";function l8e(t,e,r){var i=t.constructor;switch(e){case ZWe:return KWe(t);case YWe:case qWe:return new i(+t);case $We:return UWe(t,r);case e8e:case t8e:case r8e:case i8e:case n8e:case s8e:case o8e:case a8e:case A8e:return jWe(t,r);case JWe:return new i;case WWe:case _We:return new i(t);case zWe:return HWe(t);case VWe:return new i;case XWe:return GWe(t)}}Woe.exports=l8e});var Xoe=E((AEt,Voe)=>{var c8e=Gs(),_oe=Object.create,u8e=function(){function t(){}return function(e){if(!c8e(e))return{};if(_oe)return _oe(e);t.prototype=e;var r=new t;return t.prototype=void 0,r}}();Voe.exports=u8e});var YN=E((lEt,Zoe)=>{var g8e=Xoe(),f8e=H0(),h8e=u0();function p8e(t){return typeof t.constructor=="function"&&!h8e(t)?g8e(f8e(t)):{}}Zoe.exports=p8e});var eae=E((cEt,$oe)=>{var d8e=jd(),C8e=Qo(),m8e="[object Map]";function E8e(t){return C8e(t)&&d8e(t)==m8e}$oe.exports=E8e});var nae=E((uEt,tae)=>{var I8e=eae(),y8e=A0(),rae=l0(),iae=rae&&rae.isMap,w8e=iae?y8e(iae):I8e;tae.exports=w8e});var oae=E((gEt,sae)=>{var B8e=jd(),Q8e=Qo(),b8e="[object Set]";function v8e(t){return Q8e(t)&&B8e(t)==b8e}sae.exports=v8e});var cae=E((fEt,aae)=>{var S8e=oae(),x8e=A0(),Aae=l0(),lae=Aae&&Aae.isSet,k8e=lae?x8e(lae):S8e;aae.exports=k8e});var pae=E((hEt,uae)=>{var P8e=Gd(),D8e=loe(),R8e=XB(),F8e=goe(),N8e=Eoe(),L8e=UN(),T8e=HN(),M8e=voe(),O8e=Poe(),K8e=FF(),U8e=Roe(),H8e=jd(),G8e=Noe(),j8e=zoe(),Y8e=YN(),q8e=As(),J8e=Od(),W8e=nae(),z8e=Gs(),V8e=cae(),_8e=zg(),X8e=lf(),Z8e=1,$8e=2,e4e=4,gae="[object Arguments]",t4e="[object Array]",r4e="[object Boolean]",i4e="[object Date]",n4e="[object Error]",fae="[object Function]",s4e="[object GeneratorFunction]",o4e="[object Map]",a4e="[object Number]",hae="[object Object]",A4e="[object RegExp]",l4e="[object Set]",c4e="[object String]",u4e="[object Symbol]",g4e="[object WeakMap]",f4e="[object ArrayBuffer]",h4e="[object DataView]",p4e="[object Float32Array]",d4e="[object Float64Array]",C4e="[object Int8Array]",m4e="[object Int16Array]",E4e="[object Int32Array]",I4e="[object Uint8Array]",y4e="[object Uint8ClampedArray]",w4e="[object Uint16Array]",B4e="[object Uint32Array]",rr={};rr[gae]=rr[t4e]=rr[f4e]=rr[h4e]=rr[r4e]=rr[i4e]=rr[p4e]=rr[d4e]=rr[C4e]=rr[m4e]=rr[E4e]=rr[o4e]=rr[a4e]=rr[hae]=rr[A4e]=rr[l4e]=rr[c4e]=rr[u4e]=rr[I4e]=rr[y4e]=rr[w4e]=rr[B4e]=!0;rr[n4e]=rr[fae]=rr[g4e]=!1;function j0(t,e,r,i,n,s){var o,a=e&Z8e,l=e&$8e,c=e&e4e;if(r&&(o=n?r(t,i,n,s):r(t)),o!==void 0)return o;if(!z8e(t))return t;var u=q8e(t);if(u){if(o=G8e(t),!a)return T8e(t,o)}else{var g=H8e(t),f=g==fae||g==s4e;if(J8e(t))return L8e(t,a);if(g==hae||g==gae||f&&!n){if(o=l||f?{}:Y8e(t),!a)return l?O8e(t,N8e(o,t)):M8e(t,F8e(o,t))}else{if(!rr[g])return n?t:{};o=j8e(t,g,a)}}s||(s=new P8e);var h=s.get(t);if(h)return h;s.set(t,o),V8e(t)?t.forEach(function(m){o.add(j0(m,e,r,m,t,s))}):W8e(t)&&t.forEach(function(m,I){o.set(I,j0(m,e,r,I,t,s))});var p=c?l?U8e:K8e:l?X8e:_8e,d=u?void 0:p(t);return D8e(d||t,function(m,I){d&&(I=m,m=t[I]),R8e(o,I,j0(m,e,r,I,t,s))}),o}uae.exports=j0});var qN=E((pEt,dae)=>{var Q4e=pae(),b4e=1,v4e=4;function S4e(t){return Q4e(t,b4e|v4e)}dae.exports=S4e});var mae=E((dEt,Cae)=>{var x4e=tF();function k4e(t,e,r){return t==null?t:x4e(t,e,r)}Cae.exports=k4e});var Qae=E((wEt,Bae)=>{function P4e(t){var e=t==null?0:t.length;return e?t[e-1]:void 0}Bae.exports=P4e});var vae=E((BEt,bae)=>{var D4e=xd(),R4e=zP();function F4e(t,e){return e.length<2?t:D4e(t,R4e(e,0,-1))}bae.exports=F4e});var xae=E((QEt,Sae)=>{var N4e=Gg(),L4e=Qae(),T4e=vae(),M4e=Sc();function O4e(t,e){return e=N4e(e,t),t=T4e(t,e),t==null||delete t[M4e(L4e(e))]}Sae.exports=O4e});var Pae=E((bEt,kae)=>{var K4e=xae();function U4e(t,e){return t==null?!0:K4e(t,e)}kae.exports=U4e});var Kae=E((tIt,Oae)=>{Oae.exports={name:"@yarnpkg/cli",version:"3.1.1",license:"BSD-2-Clause",main:"./sources/index.ts",dependencies:{"@yarnpkg/core":"workspace:^","@yarnpkg/fslib":"workspace:^","@yarnpkg/libzip":"workspace:^","@yarnpkg/parsers":"workspace:^","@yarnpkg/plugin-compat":"workspace:^","@yarnpkg/plugin-dlx":"workspace:^","@yarnpkg/plugin-essentials":"workspace:^","@yarnpkg/plugin-file":"workspace:^","@yarnpkg/plugin-git":"workspace:^","@yarnpkg/plugin-github":"workspace:^","@yarnpkg/plugin-http":"workspace:^","@yarnpkg/plugin-init":"workspace:^","@yarnpkg/plugin-link":"workspace:^","@yarnpkg/plugin-nm":"workspace:^","@yarnpkg/plugin-npm":"workspace:^","@yarnpkg/plugin-npm-cli":"workspace:^","@yarnpkg/plugin-pack":"workspace:^","@yarnpkg/plugin-patch":"workspace:^","@yarnpkg/plugin-pnp":"workspace:^","@yarnpkg/plugin-pnpm":"workspace:^","@yarnpkg/shell":"workspace:^",chalk:"^3.0.0","ci-info":"^3.2.0",clipanion:"^3.0.1",semver:"^7.1.2",tslib:"^1.13.0",typanion:"^3.3.0",yup:"^0.32.9"},devDependencies:{"@types/semver":"^7.1.0","@types/yup":"^0","@yarnpkg/builder":"workspace:^","@yarnpkg/monorepo":"workspace:^","@yarnpkg/pnpify":"workspace:^",micromatch:"^4.0.2",typescript:"^4.5.2"},peerDependencies:{"@yarnpkg/core":"workspace:^"},scripts:{postpack:"rm -rf lib",prepack:'run build:compile "$(pwd)"',"build:cli+hook":"run build:pnp:hook && builder build bundle","build:cli":"builder build bundle","run:cli":"builder run","update-local":"run build:cli --no-git-hash && rsync -a --delete bundles/ bin/"},publishConfig:{main:"./lib/index.js",types:"./lib/index.d.ts",bin:null},files:["/lib/**/*","!/lib/pluginConfiguration.*","!/lib/cli.*"],"@yarnpkg/builder":{bundles:{standard:["@yarnpkg/plugin-essentials","@yarnpkg/plugin-compat","@yarnpkg/plugin-dlx","@yarnpkg/plugin-file","@yarnpkg/plugin-git","@yarnpkg/plugin-github","@yarnpkg/plugin-http","@yarnpkg/plugin-init","@yarnpkg/plugin-link","@yarnpkg/plugin-nm","@yarnpkg/plugin-npm","@yarnpkg/plugin-npm-cli","@yarnpkg/plugin-pack","@yarnpkg/plugin-patch","@yarnpkg/plugin-pnp","@yarnpkg/plugin-pnpm"]}},repository:{type:"git",url:"ssh://git@github.com/yarnpkg/berry.git",directory:"packages/yarnpkg-cli"},engines:{node:">=12 <14 || 14.2 - 14.9 || >14.10.0"}}});var iL=E((SBt,QAe)=>{"use strict";QAe.exports=function(e,r){r===!0&&(r=0);var i=e.indexOf("://"),n=e.substring(0,i).split("+").filter(Boolean);return typeof r=="number"?n[r]:n}});var nL=E((xBt,bAe)=>{"use strict";var sze=iL();function vAe(t){if(Array.isArray(t))return t.indexOf("ssh")!==-1||t.indexOf("rsync")!==-1;if(typeof t!="string")return!1;var e=sze(t);return t=t.substring(t.indexOf("://")+3),vAe(e)?!0:t.indexOf("@"){"use strict";var oze=iL(),aze=nL(),Aze=require("querystring");function lze(t){t=(t||"").trim();var e={protocols:oze(t),protocol:null,port:null,resource:"",user:"",pathname:"",hash:"",search:"",href:t,query:Object.create(null)},r=t.indexOf("://"),i=-1,n=null,s=null;t.startsWith(".")&&(t.startsWith("./")&&(t=t.substring(2)),e.pathname=t,e.protocol="file");var o=t.charAt(1);return e.protocol||(e.protocol=e.protocols[0],e.protocol||(aze(t)?e.protocol="ssh":((o==="/"||o==="~")&&(t=t.substring(2)),e.protocol="file"))),r!==-1&&(t=t.substring(r+3)),s=t.split("/"),e.protocol!=="file"?e.resource=s.shift():e.resource="",n=e.resource.split("@"),n.length===2&&(e.user=n[0],e.resource=n[1]),n=e.resource.split(":"),n.length===2&&(e.resource=n[0],n[1]?(e.port=Number(n[1]),isNaN(e.port)&&(e.port=null,s.unshift(n[1]))):e.port=null),s=s.filter(Boolean),e.protocol==="file"?e.pathname=e.href:e.pathname=e.pathname||(e.protocol!=="file"||e.href[0]==="/"?"/":"")+s.join("/"),n=e.pathname.split("#"),n.length===2&&(e.pathname=n[0],e.hash=n[1]),n=e.pathname.split("?"),n.length===2&&(e.pathname=n[0],e.search=n[1]),e.query=Aze.parse(e.search),e.href=e.href.replace(/\/$/,""),e.pathname=e.pathname.replace(/\/$/,""),e}SAe.exports=lze});var DAe=E((PBt,kAe)=>{"use strict";var cze=typeof URL=="undefined"?require("url").URL:URL,PAe=(t,e)=>e.some(r=>r instanceof RegExp?r.test(t):r===t);kAe.exports=(t,e)=>{e=Object.assign({defaultProtocol:"http:",normalizeProtocol:!0,forceHttp:!1,forceHttps:!1,stripHash:!0,stripWWW:!0,removeQueryParameters:[/^utm_\w+/i],removeTrailingSlash:!0,removeDirectoryIndex:!1,sortQueryParameters:!0},e),Reflect.has(e,"normalizeHttps")&&(e.forceHttp=e.normalizeHttps),Reflect.has(e,"normalizeHttp")&&(e.forceHttps=e.normalizeHttp),Reflect.has(e,"stripFragment")&&(e.stripHash=e.stripFragment),t=t.trim();let r=t.startsWith("//");!r&&/^\.*\//.test(t)||(t=t.replace(/^(?!(?:\w+:)?\/\/)|^\/\//,e.defaultProtocol));let n=new cze(t);if(e.forceHttp&&e.forceHttps)throw new Error("The `forceHttp` and `forceHttps` options cannot be used together");if(e.forceHttp&&n.protocol==="https:"&&(n.protocol="http:"),e.forceHttps&&n.protocol==="http:"&&(n.protocol="https:"),e.stripHash&&(n.hash=""),n.pathname&&(n.pathname=n.pathname.replace(/((?![https?:]).)\/{2,}/g,(s,o)=>/^(?!\/)/g.test(o)?`${o}/`:"/")),n.pathname&&(n.pathname=decodeURI(n.pathname)),e.removeDirectoryIndex===!0&&(e.removeDirectoryIndex=[/^index\.[a-z]+$/]),Array.isArray(e.removeDirectoryIndex)&&e.removeDirectoryIndex.length>0){let s=n.pathname.split("/"),o=s[s.length-1];PAe(o,e.removeDirectoryIndex)&&(s=s.slice(0,s.length-1),n.pathname=s.slice(1).join("/")+"/")}if(n.hostname&&(n.hostname=n.hostname.replace(/\.$/,""),e.stripWWW&&/^www\.([a-z\-\d]{2,63})\.([a-z\.]{2,5})$/.test(n.hostname)&&(n.hostname=n.hostname.replace(/^www\./,""))),Array.isArray(e.removeQueryParameters))for(let s of[...n.searchParams.keys()])PAe(s,e.removeQueryParameters)&&n.searchParams.delete(s);return e.sortQueryParameters&&n.searchParams.sort(),t=n.toString(),(e.removeTrailingSlash||n.pathname==="/")&&(t=t.replace(/\/$/,"")),r&&!e.normalizeProtocol&&(t=t.replace(/^http:\/\//,"//")),t}});var FAe=E((DBt,RAe)=>{"use strict";var uze=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},gze=xAe(),fze=DAe();function hze(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;if(typeof t!="string"||!t.trim())throw new Error("Invalid url.");e&&((typeof e=="undefined"?"undefined":uze(e))!=="object"&&(e={stripFragment:!1}),t=fze(t,e));var r=gze(t);return r}RAe.exports=hze});var TAe=E((RBt,NAe)=>{"use strict";var pze=FAe(),LAe=nL();function dze(t){var e=pze(t);e.token="";var r=e.user.split(":");return r.length===2&&(r[1]==="x-oauth-basic"?e.token=r[0]:r[0]==="x-token-auth"&&(e.token=r[1])),LAe(e.protocols)||LAe(t)?e.protocol="ssh":e.protocols.length?e.protocol=e.protocols[0]:e.protocol="file",e.href=e.href.replace(/\/$/,""),e}NAe.exports=dze});var OAe=E((FBt,MAe)=>{"use strict";var Cze=TAe();function sL(t){if(typeof t!="string")throw new Error("The url must be a string.");var e=Cze(t),r=e.resource.split("."),i=null;switch(e.toString=function(l){return sL.stringify(this,l)},e.source=r.length>2?r.slice(1-r.length).join("."):e.source=e.resource,e.git_suffix=/\.git$/.test(e.pathname),e.name=decodeURIComponent(e.pathname.replace(/^\//,"").replace(/\.git$/,"")),e.owner=decodeURIComponent(e.user),e.source){case"git.cloudforge.com":e.owner=e.user,e.organization=r[0],e.source="cloudforge.com";break;case"visualstudio.com":if(e.resource==="vs-ssh.visualstudio.com"){i=e.name.split("/"),i.length===4&&(e.organization=i[1],e.owner=i[2],e.name=i[3],e.full_name=i[2]+"/"+i[3]);break}else{i=e.name.split("/"),i.length===2?(e.owner=i[1],e.name=i[1],e.full_name="_git/"+e.name):i.length===3?(e.name=i[2],i[0]==="DefaultCollection"?(e.owner=i[2],e.organization=i[0],e.full_name=e.organization+"/_git/"+e.name):(e.owner=i[0],e.full_name=e.owner+"/_git/"+e.name)):i.length===4&&(e.organization=i[0],e.owner=i[1],e.name=i[3],e.full_name=e.organization+"/"+e.owner+"/_git/"+e.name);break}case"dev.azure.com":case"azure.com":if(e.resource==="ssh.dev.azure.com"){i=e.name.split("/"),i.length===4&&(e.organization=i[1],e.owner=i[2],e.name=i[3]);break}else{i=e.name.split("/"),i.length===5?(e.organization=i[0],e.owner=i[1],e.name=i[4],e.full_name="_git/"+e.name):i.length===3?(e.name=i[2],i[0]==="DefaultCollection"?(e.owner=i[2],e.organization=i[0],e.full_name=e.organization+"/_git/"+e.name):(e.owner=i[0],e.full_name=e.owner+"/_git/"+e.name)):i.length===4&&(e.organization=i[0],e.owner=i[1],e.name=i[3],e.full_name=e.organization+"/"+e.owner+"/_git/"+e.name);break}default:i=e.name.split("/");var n=i.length-1;if(i.length>=2){var s=i.indexOf("blob",2),o=i.indexOf("tree",2),a=i.indexOf("commit",2);n=s>0?s-1:o>0?o-1:a>0?a-1:n,e.owner=i.slice(0,n).join("/"),e.name=i[n],a&&(e.commit=i[n+2])}e.ref="",e.filepathtype="",e.filepath="",i.length>n+2&&["blob","tree"].indexOf(i[n+1])>=0&&(e.filepathtype=i[n+1],e.ref=i[n+2],i.length>n+3&&(e.filepath=i.slice(n+3).join("/"))),e.organization=e.owner;break}return e.full_name||(e.full_name=e.owner,e.name&&(e.full_name&&(e.full_name+="/"),e.full_name+=e.name)),e}sL.stringify=function(t,e){e=e||(t.protocols&&t.protocols.length?t.protocols.join("+"):t.protocol);var r=t.port?":"+t.port:"",i=t.user||"git",n=t.git_suffix?".git":"";switch(e){case"ssh":return r?"ssh://"+i+"@"+t.resource+r+"/"+t.full_name+n:i+"@"+t.resource+":"+t.full_name+n;case"git+ssh":case"ssh+git":case"ftp":case"ftps":return e+"://"+i+"@"+t.resource+r+"/"+t.full_name+n;case"http":case"https":var s=t.token?mze(t):t.user&&(t.protocols.includes("http")||t.protocols.includes("https"))?t.user+"@":"";return e+"://"+s+t.resource+r+"/"+t.full_name+n;default:return t.href}};function mze(t){switch(t.source){case"bitbucket.org":return"x-token-auth:"+t.token+"@";default:return t.token+"@"}}MAe.exports=sL});var NL=E((Obt,ole)=>{var Mze=jg(),Oze=Kg();function Kze(t,e,r){(r!==void 0&&!Oze(t[e],r)||r===void 0&&!(e in t))&&Mze(t,e,r)}ole.exports=Kze});var Ale=E((Kbt,ale)=>{var Uze=Hd(),Hze=Qo();function Gze(t){return Hze(t)&&Uze(t)}ale.exports=Gze});var ule=E((Ubt,lle)=>{var jze=Ac(),Yze=H0(),qze=Qo(),Jze="[object Object]",Wze=Function.prototype,zze=Object.prototype,cle=Wze.toString,Vze=zze.hasOwnProperty,_ze=cle.call(Object);function Xze(t){if(!qze(t)||jze(t)!=Jze)return!1;var e=Yze(t);if(e===null)return!0;var r=Vze.call(e,"constructor")&&e.constructor;return typeof r=="function"&&r instanceof r&&cle.call(r)==_ze}lle.exports=Xze});var LL=E((Hbt,gle)=>{function Zze(t,e){if(!(e==="constructor"&&typeof t[e]=="function")&&e!="__proto__")return t[e]}gle.exports=Zze});var hle=E((Gbt,fle)=>{var $ze=Af(),e5e=lf();function t5e(t){return $ze(t,e5e(t))}fle.exports=t5e});var Ile=E((jbt,ple)=>{var dle=NL(),r5e=UN(),i5e=jN(),n5e=HN(),s5e=YN(),Cle=Pd(),mle=As(),o5e=Ale(),a5e=Od(),A5e=zB(),l5e=Gs(),c5e=ule(),u5e=c0(),Ele=LL(),g5e=hle();function f5e(t,e,r,i,n,s,o){var a=Ele(t,r),l=Ele(e,r),c=o.get(l);if(c){dle(t,r,c);return}var u=s?s(a,l,r+"",t,e,o):void 0,g=u===void 0;if(g){var f=mle(l),h=!f&&a5e(l),p=!f&&!h&&u5e(l);u=l,f||h||p?mle(a)?u=a:o5e(a)?u=n5e(a):h?(g=!1,u=r5e(l,!0)):p?(g=!1,u=i5e(l,!0)):u=[]:c5e(l)||Cle(l)?(u=a,Cle(a)?u=g5e(a):(!l5e(a)||A5e(a))&&(u=s5e(l))):g=!1}g&&(o.set(l,u),n(u,l,i,s,o),o.delete(l)),dle(t,r,u)}ple.exports=f5e});var Ble=E((Ybt,yle)=>{var h5e=Gd(),p5e=NL(),d5e=BF(),C5e=Ile(),m5e=Gs(),E5e=lf(),I5e=LL();function wle(t,e,r,i,n){t!==e&&d5e(e,function(s,o){if(n||(n=new h5e),m5e(s))C5e(t,e,o,r,wle,i,n);else{var a=i?i(I5e(t,o),s,o+"",t,e,n):void 0;a===void 0&&(a=s),p5e(t,o,a)}},E5e)}yle.exports=wle});var ble=E((qbt,Qle)=>{var y5e=e0(),w5e=nF(),B5e=sF();function Q5e(t,e){return B5e(w5e(t,e,y5e),t+"")}Qle.exports=Q5e});var Sle=E((Jbt,vle)=>{var b5e=Kg(),v5e=Hd(),S5e=kd(),x5e=Gs();function k5e(t,e,r){if(!x5e(r))return!1;var i=typeof e;return(i=="number"?v5e(r)&&S5e(e,r.length):i=="string"&&e in r)?b5e(r[e],t):!1}vle.exports=k5e});var kle=E((Wbt,xle)=>{var P5e=ble(),D5e=Sle();function R5e(t){return P5e(function(e,r){var i=-1,n=r.length,s=n>1?r[n-1]:void 0,o=n>2?r[2]:void 0;for(s=t.length>3&&typeof s=="function"?(n--,s):void 0,o&&D5e(r[0],r[1],o)&&(s=n<3?void 0:s,n=1),e=Object(e);++i{var F5e=Ble(),N5e=kle(),L5e=N5e(function(t,e,r){F5e(t,e,r)});Ple.exports=L5e});var Wle=E(($vt,Jle)=>{var VL;Jle.exports=()=>(typeof VL=="undefined"&&(VL=require("zlib").brotliDecompressSync(Buffer.from("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","base64")).toString()),VL)});var $le=E(XL=>{function pf(t,e){if(typeof t=="string")return t;if(t){let r,i;if(Array.isArray(t)){for(r=0;r0)return(f=pf(n[g],u))?f.replace("*",c.substring(g.length-1)):Gc(i,c,1)}return Gc(i,c)}}function l6e(t,e={}){let r=0,i,n=e.browser,s=e.fields||["module","main"];for(n&&!s.includes("browser")&&s.unshift("browser");r{var eT;nce.exports=()=>(typeof eT=="undefined"&&(eT=require("zlib").brotliDecompressSync(Buffer.from("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","base64")).toString()),eT)});var gce=E((aT,AT)=>{(function(t){aT&&typeof aT=="object"&&typeof AT!="undefined"?AT.exports=t():typeof define=="function"&&define.amd?define([],t):typeof window!="undefined"?window.isWindows=t():typeof global!="undefined"?global.isWindows=t():typeof self!="undefined"?self.isWindows=t():this.isWindows=t()})(function(){"use strict";return function(){return process&&(process.platform==="win32"||/^(msys|cygwin)$/.test(process.env.OSTYPE))}})});var dce=E((Dxt,fce)=>{"use strict";lT.ifExists=E6e;var mf=require("util"),Es=require("path"),hce=gce(),I6e=/^#!\s*(?:\/usr\/bin\/env)?\s*([^ \t]+)(.*)$/,y6e={createPwshFile:!0,createCmdFile:hce(),fs:require("fs")},w6e=new Map([[".js","node"],[".cjs","node"],[".mjs","node"],[".cmd","cmd"],[".bat","cmd"],[".ps1","pwsh"],[".sh","sh"]]);function pce(t){let e=P(P({},y6e),t),r=e.fs;return e.fs_={chmod:r.chmod?mf.promisify(r.chmod):async()=>{},mkdir:mf.promisify(r.mkdir),readFile:mf.promisify(r.readFile),stat:mf.promisify(r.stat),unlink:mf.promisify(r.unlink),writeFile:mf.promisify(r.writeFile)},e}async function lT(t,e,r){let i=pce(r);await i.fs_.stat(t),await B6e(t,e,i)}function E6e(t,e,r){return lT(t,e,r).catch(()=>{})}function Q6e(t,e){return e.fs_.unlink(t).catch(()=>{})}async function B6e(t,e,r){let i=await S6e(t,r);return await b6e(e,r),v6e(t,e,i,r)}function b6e(t,e){return e.fs_.mkdir(Es.dirname(t),{recursive:!0})}function v6e(t,e,r,i){let n=pce(i),s=[{generator:P6e,extension:""}];return n.createCmdFile&&s.push({generator:k6e,extension:".cmd"}),n.createPwshFile&&s.push({generator:D6e,extension:".ps1"}),Promise.all(s.map(o=>x6e(t,e+o.extension,r,o.generator,n)))}function R6e(t,e){return Q6e(t,e)}function N6e(t,e){return F6e(t,e)}async function S6e(t,e){let n=(await e.fs_.readFile(t,"utf8")).trim().split(/\r*\n/)[0].match(I6e);if(!n){let s=Es.extname(t).toLowerCase();return{program:w6e.get(s)||null,additionalArgs:""}}return{program:n[1],additionalArgs:n[2]}}async function x6e(t,e,r,i,n){let s=n.preserveSymlinks?"--preserve-symlinks":"",o=[r.additionalArgs,s].filter(a=>a).join(" ");return n=Object.assign({},n,{prog:r.program,args:o}),await R6e(e,n),await n.fs_.writeFile(e,i(t,e,n),"utf8"),N6e(e,n)}function k6e(t,e,r){let n=Es.relative(Es.dirname(e),t).split("/").join("\\"),s=Es.isAbsolute(n)?`"${n}"`:`"%~dp0\\${n}"`,o,a=r.prog,l=r.args||"",c=cT(r.nodePath).win32;a?(o=`"%~dp0\\${a}.exe"`,n=s):(a=s,l="",n="");let u=r.progArgs?`${r.progArgs.join(" ")} `:"",g=c?`@SET NODE_PATH=${c}\r +`:"";return o?g+=`@IF EXIST ${o} (\r + ${o} ${l} ${n} ${u}%*\r +) ELSE (\r + @SETLOCAL\r + @SET PATHEXT=%PATHEXT:;.JS;=;%\r + ${a} ${l} ${n} ${u}%*\r +)\r +`:g+=`@${a} ${l} ${n} ${u}%*\r +`,g}function P6e(t,e,r){let i=Es.relative(Es.dirname(e),t),n=r.prog&&r.prog.split("\\").join("/"),s;i=i.split("\\").join("/");let o=Es.isAbsolute(i)?`"${i}"`:`"$basedir/${i}"`,a=r.args||"",l=cT(r.nodePath).posix;n?(s=`"$basedir/${r.prog}"`,i=o):(n=o,a="",i="");let c=r.progArgs?`${r.progArgs.join(" ")} `:"",u=`#!/bin/sh +basedir=$(dirname "$(echo "$0" | sed -e 's,\\\\,/,g')") + +case \`uname\` in + *CYGWIN*) basedir=\`cygpath -w "$basedir"\`;; +esac + +`,g=r.nodePath?`export NODE_PATH="${l}" +`:"";return s?u+=`${g}if [ -x ${s} ]; then + exec ${s} ${a} ${i} ${c}"$@" +else + exec ${n} ${a} ${i} ${c}"$@" +fi +`:u+=`${g}${n} ${a} ${i} ${c}"$@" +exit $? +`,u}function D6e(t,e,r){let i=Es.relative(Es.dirname(e),t),n=r.prog&&r.prog.split("\\").join("/"),s=n&&`"${n}$exe"`,o;i=i.split("\\").join("/");let a=Es.isAbsolute(i)?`"${i}"`:`"$basedir/${i}"`,l=r.args||"",c=cT(r.nodePath),u=c.win32,g=c.posix;s?(o=`"$basedir/${r.prog}$exe"`,i=a):(s=a,l="",i="");let f=r.progArgs?`${r.progArgs.join(" ")} `:"",h=`#!/usr/bin/env pwsh +$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent + +$exe="" +${r.nodePath?`$env_node_path=$env:NODE_PATH +$env:NODE_PATH="${u}" +`:""}if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) { + # Fix case when both the Windows and Linux builds of Node + # are installed in the same directory + $exe=".exe" +}`;return r.nodePath&&(h+=` else { + $env:NODE_PATH="${g}" +}`),o?h+=` +$ret=0 +if (Test-Path ${o}) { + # Support pipeline input + if ($MyInvocation.ExpectingInput) { + $input | & ${o} ${l} ${i} ${f}$args + } else { + & ${o} ${l} ${i} ${f}$args + } + $ret=$LASTEXITCODE +} else { + # Support pipeline input + if ($MyInvocation.ExpectingInput) { + $input | & ${s} ${l} ${i} ${f}$args + } else { + & ${s} ${l} ${i} ${f}$args + } + $ret=$LASTEXITCODE +} +${r.nodePath?`$env:NODE_PATH=$env_node_path +`:""}exit $ret +`:h+=` +# Support pipeline input +if ($MyInvocation.ExpectingInput) { + $input | & ${s} ${l} ${i} ${f}$args +} else { + & ${s} ${l} ${i} ${f}$args +} +${r.nodePath?`$env:NODE_PATH=$env_node_path +`:""}exit $LASTEXITCODE +`,h}function F6e(t,e){return e.fs_.chmod(t,493)}function cT(t){if(!t)return{win32:"",posix:""};let e=typeof t=="string"?t.split(Es.delimiter):Array.from(t),r={};for(let i=0;i`/mnt/${a.toLowerCase()}`):e[i];r.win32=r.win32?`${r.win32};${n}`:n,r.posix=r.posix?`${r.posix}:${s}`:s,r[i]={win32:n,posix:s}}return r}fce.exports=lT});var PT=E((fPt,Nce)=>{Nce.exports=require("stream")});var Oce=E((hPt,Lce)=>{"use strict";function Tce(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter(function(n){return Object.getOwnPropertyDescriptor(t,n).enumerable})),r.push.apply(r,i)}return r}function e9e(t){for(var e=1;e0?this.tail.next=i:this.head=i,this.tail=i,++this.length}},{key:"unshift",value:function(r){var i={data:r,next:this.head};this.length===0&&(this.tail=i),this.head=i,++this.length}},{key:"shift",value:function(){if(this.length!==0){var r=this.head.data;return this.length===1?this.head=this.tail=null:this.head=this.head.next,--this.length,r}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(r){if(this.length===0)return"";for(var i=this.head,n=""+i.data;i=i.next;)n+=r+i.data;return n}},{key:"concat",value:function(r){if(this.length===0)return iQ.alloc(0);for(var i=iQ.allocUnsafe(r>>>0),n=this.head,s=0;n;)o9e(n.data,i,s),s+=n.data.length,n=n.next;return i}},{key:"consume",value:function(r,i){var n;return ro.length?o.length:r;if(a===o.length?s+=o:s+=o.slice(0,r),r-=a,r===0){a===o.length?(++n,i.next?this.head=i.next:this.head=this.tail=null):(this.head=i,i.data=o.slice(a));break}++n}return this.length-=n,s}},{key:"_getBuffer",value:function(r){var i=iQ.allocUnsafe(r),n=this.head,s=1;for(n.data.copy(i),r-=n.data.length;n=n.next;){var o=n.data,a=r>o.length?o.length:r;if(o.copy(i,i.length-r,0,a),r-=a,r===0){a===o.length?(++s,n.next?this.head=n.next:this.head=this.tail=null):(this.head=n,n.data=o.slice(a));break}++s}return this.length-=s,i}},{key:s9e,value:function(r,i){return DT(this,e9e({},i,{depth:0,customInspect:!1}))}}]),t}()});var FT=E((pPt,Kce)=>{"use strict";function a9e(t,e){var r=this,i=this._readableState&&this._readableState.destroyed,n=this._writableState&&this._writableState.destroyed;return i||n?(e?e(t):t&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,process.nextTick(RT,this,t)):process.nextTick(RT,this,t)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(t||null,function(s){!e&&s?r._writableState?r._writableState.errorEmitted?process.nextTick(nQ,r):(r._writableState.errorEmitted=!0,process.nextTick(Uce,r,s)):process.nextTick(Uce,r,s):e?(process.nextTick(nQ,r),e(s)):process.nextTick(nQ,r)}),this)}function Uce(t,e){RT(t,e),nQ(t)}function nQ(t){t._writableState&&!t._writableState.emitClose||t._readableState&&!t._readableState.emitClose||t.emit("close")}function A9e(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)}function RT(t,e){t.emit("error",e)}function l9e(t,e){var r=t._readableState,i=t._writableState;r&&r.autoDestroy||i&&i.autoDestroy?t.destroy(e):t.emit("error",e)}Kce.exports={destroy:a9e,undestroy:A9e,errorOrDestroy:l9e}});var VA=E((dPt,Hce)=>{"use strict";var Gce={};function Is(t,e,r){r||(r=Error);function i(s,o,a){return typeof e=="string"?e:e(s,o,a)}class n extends r{constructor(o,a,l){super(i(o,a,l))}}n.prototype.name=r.name,n.prototype.code=t,Gce[t]=n}function jce(t,e){if(Array.isArray(t)){let r=t.length;return t=t.map(i=>String(i)),r>2?`one of ${e} ${t.slice(0,r-1).join(", ")}, or `+t[r-1]:r===2?`one of ${e} ${t[0]} or ${t[1]}`:`of ${e} ${t[0]}`}else return`of ${e} ${String(t)}`}function c9e(t,e,r){return t.substr(!r||r<0?0:+r,e.length)===e}function u9e(t,e,r){return(r===void 0||r>t.length)&&(r=t.length),t.substring(r-e.length,r)===e}function g9e(t,e,r){return typeof r!="number"&&(r=0),r+e.length>t.length?!1:t.indexOf(e,r)!==-1}Is("ERR_INVALID_OPT_VALUE",function(t,e){return'The value "'+e+'" is invalid for option "'+t+'"'},TypeError);Is("ERR_INVALID_ARG_TYPE",function(t,e,r){let i;typeof e=="string"&&c9e(e,"not ")?(i="must not be",e=e.replace(/^not /,"")):i="must be";let n;if(u9e(t," argument"))n=`The ${t} ${i} ${jce(e,"type")}`;else{let s=g9e(t,".")?"property":"argument";n=`The "${t}" ${s} ${i} ${jce(e,"type")}`}return n+=`. Received type ${typeof r}`,n},TypeError);Is("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF");Is("ERR_METHOD_NOT_IMPLEMENTED",function(t){return"The "+t+" method is not implemented"});Is("ERR_STREAM_PREMATURE_CLOSE","Premature close");Is("ERR_STREAM_DESTROYED",function(t){return"Cannot call "+t+" after a stream was destroyed"});Is("ERR_MULTIPLE_CALLBACK","Callback called multiple times");Is("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable");Is("ERR_STREAM_WRITE_AFTER_END","write after end");Is("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError);Is("ERR_UNKNOWN_ENCODING",function(t){return"Unknown encoding: "+t},TypeError);Is("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event");Hce.exports.codes=Gce});var NT=E((CPt,Yce)=>{"use strict";var f9e=VA().codes.ERR_INVALID_OPT_VALUE;function h9e(t,e,r){return t.highWaterMark!=null?t.highWaterMark:e?t[r]:null}function p9e(t,e,r,i){var n=h9e(e,i,r);if(n!=null){if(!(isFinite(n)&&Math.floor(n)===n)||n<0){var s=i?r:"highWaterMark";throw new f9e(s,n)}return Math.floor(n)}return t.objectMode?16:16*1024}Yce.exports={getHighWaterMark:p9e}});var qce=E((mPt,LT)=>{typeof Object.create=="function"?LT.exports=function(e,r){r&&(e.super_=r,e.prototype=Object.create(r.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:LT.exports=function(e,r){if(r){e.super_=r;var i=function(){};i.prototype=r.prototype,e.prototype=new i,e.prototype.constructor=e}}});var _A=E((EPt,TT)=>{try{if(MT=require("util"),typeof MT.inherits!="function")throw"";TT.exports=MT.inherits}catch(t){TT.exports=qce()}var MT});var Wce=E((IPt,Jce)=>{Jce.exports=require("util").deprecate});var UT=E((yPt,zce)=>{"use strict";zce.exports=Sr;function Vce(t){var e=this;this.next=null,this.entry=null,this.finish=function(){d9e(e,t)}}var If;Sr.WritableState=em;var C9e={deprecate:Wce()},_ce=PT(),sQ=require("buffer").Buffer,m9e=global.Uint8Array||function(){};function E9e(t){return sQ.from(t)}function I9e(t){return sQ.isBuffer(t)||t instanceof m9e}var OT=FT(),y9e=NT(),w9e=y9e.getHighWaterMark,XA=VA().codes,B9e=XA.ERR_INVALID_ARG_TYPE,Q9e=XA.ERR_METHOD_NOT_IMPLEMENTED,b9e=XA.ERR_MULTIPLE_CALLBACK,v9e=XA.ERR_STREAM_CANNOT_PIPE,S9e=XA.ERR_STREAM_DESTROYED,x9e=XA.ERR_STREAM_NULL_VALUES,k9e=XA.ERR_STREAM_WRITE_AFTER_END,P9e=XA.ERR_UNKNOWN_ENCODING,yf=OT.errorOrDestroy;_A()(Sr,_ce);function D9e(){}function em(t,e,r){If=If||Yc(),t=t||{},typeof r!="boolean"&&(r=e instanceof If),this.objectMode=!!t.objectMode,r&&(this.objectMode=this.objectMode||!!t.writableObjectMode),this.highWaterMark=w9e(this,t,"writableHighWaterMark",r),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var i=t.decodeStrings===!1;this.decodeStrings=!i,this.defaultEncoding=t.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(n){R9e(e,n)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=t.emitClose!==!1,this.autoDestroy=!!t.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new Vce(this)}em.prototype.getBuffer=function(){for(var e=this.bufferedRequest,r=[];e;)r.push(e),e=e.next;return r};(function(){try{Object.defineProperty(em.prototype,"buffer",{get:C9e.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch(t){}})();var oQ;typeof Symbol=="function"&&Symbol.hasInstance&&typeof Function.prototype[Symbol.hasInstance]=="function"?(oQ=Function.prototype[Symbol.hasInstance],Object.defineProperty(Sr,Symbol.hasInstance,{value:function(e){return oQ.call(this,e)?!0:this!==Sr?!1:e&&e._writableState instanceof em}})):oQ=function(e){return e instanceof this};function Sr(t){If=If||Yc();var e=this instanceof If;if(!e&&!oQ.call(Sr,this))return new Sr(t);this._writableState=new em(t,this,e),this.writable=!0,t&&(typeof t.write=="function"&&(this._write=t.write),typeof t.writev=="function"&&(this._writev=t.writev),typeof t.destroy=="function"&&(this._destroy=t.destroy),typeof t.final=="function"&&(this._final=t.final)),_ce.call(this)}Sr.prototype.pipe=function(){yf(this,new v9e)};function F9e(t,e){var r=new k9e;yf(t,r),process.nextTick(e,r)}function N9e(t,e,r,i){var n;return r===null?n=new x9e:typeof r!="string"&&!e.objectMode&&(n=new B9e("chunk",["string","Buffer"],r)),n?(yf(t,n),process.nextTick(i,n),!1):!0}Sr.prototype.write=function(t,e,r){var i=this._writableState,n=!1,s=!i.objectMode&&I9e(t);return s&&!sQ.isBuffer(t)&&(t=E9e(t)),typeof e=="function"&&(r=e,e=null),s?e="buffer":e||(e=i.defaultEncoding),typeof r!="function"&&(r=D9e),i.ending?F9e(this,r):(s||N9e(this,i,t,r))&&(i.pendingcb++,n=L9e(this,i,s,t,e,r)),n};Sr.prototype.cork=function(){this._writableState.corked++};Sr.prototype.uncork=function(){var t=this._writableState;t.corked&&(t.corked--,!t.writing&&!t.corked&&!t.bufferProcessing&&t.bufferedRequest&&Xce(this,t))};Sr.prototype.setDefaultEncoding=function(e){if(typeof e=="string"&&(e=e.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((e+"").toLowerCase())>-1))throw new P9e(e);return this._writableState.defaultEncoding=e,this};Object.defineProperty(Sr.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}});function T9e(t,e,r){return!t.objectMode&&t.decodeStrings!==!1&&typeof e=="string"&&(e=sQ.from(e,r)),e}Object.defineProperty(Sr.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}});function L9e(t,e,r,i,n,s){if(!r){var o=T9e(e,i,n);i!==o&&(r=!0,n="buffer",i=o)}var a=e.objectMode?1:i.length;e.length+=a;var l=e.length{"use strict";var j9e=Object.keys||function(t){var e=[];for(var r in t)e.push(r);return e};eue.exports=Mo;var tue=HT(),GT=UT();_A()(Mo,tue);for(jT=j9e(GT.prototype),aQ=0;aQ{var lQ=require("buffer"),qa=lQ.Buffer;function iue(t,e){for(var r in t)e[r]=t[r]}qa.from&&qa.alloc&&qa.allocUnsafe&&qa.allocUnsafeSlow?rue.exports=lQ:(iue(lQ,YT),YT.Buffer=wf);function wf(t,e,r){return qa(t,e,r)}iue(qa,wf);wf.from=function(t,e,r){if(typeof t=="number")throw new TypeError("Argument must not be a number");return qa(t,e,r)};wf.alloc=function(t,e,r){if(typeof t!="number")throw new TypeError("Argument must be a number");var i=qa(t);return e!==void 0?typeof r=="string"?i.fill(e,r):i.fill(e):i.fill(0),i};wf.allocUnsafe=function(t){if(typeof t!="number")throw new TypeError("Argument must be a number");return qa(t)};wf.allocUnsafeSlow=function(t){if(typeof t!="number")throw new TypeError("Argument must be a number");return lQ.SlowBuffer(t)}});var WT=E(sue=>{"use strict";var qT=nue().Buffer,oue=qT.isEncoding||function(t){switch(t=""+t,t&&t.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function J9e(t){if(!t)return"utf8";for(var e;;)switch(t){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return t;default:if(e)return;t=(""+t).toLowerCase(),e=!0}}function W9e(t){var e=J9e(t);if(typeof e!="string"&&(qT.isEncoding===oue||!oue(t)))throw new Error("Unknown encoding: "+t);return e||t}sue.StringDecoder=rm;function rm(t){this.encoding=W9e(t);var e;switch(this.encoding){case"utf16le":this.text=V9e,this.end=_9e,e=4;break;case"utf8":this.fillLast=z9e,e=4;break;case"base64":this.text=X9e,this.end=Z9e,e=3;break;default:this.write=$9e,this.end=eVe;return}this.lastNeed=0,this.lastTotal=0,this.lastChar=qT.allocUnsafe(e)}rm.prototype.write=function(t){if(t.length===0)return"";var e,r;if(this.lastNeed){if(e=this.fillLast(t),e===void 0)return"";r=this.lastNeed,this.lastNeed=0}else r=0;return r>5==6?2:t>>4==14?3:t>>3==30?4:t>>6==2?-1:-2}function iVe(t,e,r){var i=e.length-1;if(i=0?(n>0&&(t.lastNeed=n-1),n):--i=0?(n>0&&(t.lastNeed=n-2),n):--i=0?(n>0&&(n===2?n=0:t.lastNeed=n-3),n):0))}function nVe(t,e,r){if((e[0]&192)!=128)return t.lastNeed=0,"\uFFFD";if(t.lastNeed>1&&e.length>1){if((e[1]&192)!=128)return t.lastNeed=1,"\uFFFD";if(t.lastNeed>2&&e.length>2&&(e[2]&192)!=128)return t.lastNeed=2,"\uFFFD"}}function z9e(t){var e=this.lastTotal-this.lastNeed,r=nVe(this,t,e);if(r!==void 0)return r;if(this.lastNeed<=t.length)return t.copy(this.lastChar,e,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);t.copy(this.lastChar,e,0,t.length),this.lastNeed-=t.length}function rVe(t,e){var r=iVe(this,t,e);if(!this.lastNeed)return t.toString("utf8",e);this.lastTotal=r;var i=t.length-(r-this.lastNeed);return t.copy(this.lastChar,0,i),t.toString("utf8",e,i)}function tVe(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+"\uFFFD":e}function V9e(t,e){if((t.length-e)%2==0){var r=t.toString("utf16le",e);if(r){var i=r.charCodeAt(r.length-1);if(i>=55296&&i<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1],r.slice(0,-1)}return r}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=t[t.length-1],t.toString("utf16le",e,t.length-1)}function _9e(t){var e=t&&t.length?this.write(t):"";if(this.lastNeed){var r=this.lastTotal-this.lastNeed;return e+this.lastChar.toString("utf16le",0,r)}return e}function X9e(t,e){var r=(t.length-e)%3;return r===0?t.toString("base64",e):(this.lastNeed=3-r,this.lastTotal=3,r===1?this.lastChar[0]=t[t.length-1]:(this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1]),t.toString("base64",e,t.length-r))}function Z9e(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+this.lastChar.toString("base64",0,3-this.lastNeed):e}function $9e(t){return t.toString(this.encoding)}function eVe(t){return t&&t.length?this.write(t):""}});var cQ=E((QPt,aue)=>{"use strict";var Aue=VA().codes.ERR_STREAM_PREMATURE_CLOSE;function sVe(t){var e=!1;return function(){if(!e){e=!0;for(var r=arguments.length,i=new Array(r),n=0;n{"use strict";var uQ;function ZA(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var AVe=cQ(),$A=Symbol("lastResolve"),qc=Symbol("lastReject"),im=Symbol("error"),gQ=Symbol("ended"),Jc=Symbol("lastPromise"),zT=Symbol("handlePromise"),Wc=Symbol("stream");function el(t,e){return{value:t,done:e}}function lVe(t){var e=t[$A];if(e!==null){var r=t[Wc].read();r!==null&&(t[Jc]=null,t[$A]=null,t[qc]=null,e(el(r,!1)))}}function cVe(t){process.nextTick(lVe,t)}function uVe(t,e){return function(r,i){t.then(function(){if(e[gQ]){r(el(void 0,!0));return}e[zT](r,i)},i)}}var gVe=Object.getPrototypeOf(function(){}),fVe=Object.setPrototypeOf((uQ={get stream(){return this[Wc]},next:function(){var e=this,r=this[im];if(r!==null)return Promise.reject(r);if(this[gQ])return Promise.resolve(el(void 0,!0));if(this[Wc].destroyed)return new Promise(function(o,a){process.nextTick(function(){e[im]?a(e[im]):o(el(void 0,!0))})});var i=this[Jc],n;if(i)n=new Promise(uVe(i,this));else{var s=this[Wc].read();if(s!==null)return Promise.resolve(el(s,!1));n=new Promise(this[zT])}return this[Jc]=n,n}},ZA(uQ,Symbol.asyncIterator,function(){return this}),ZA(uQ,"return",function(){var e=this;return new Promise(function(r,i){e[Wc].destroy(null,function(n){if(n){i(n);return}r(el(void 0,!0))})})}),uQ),gVe),hVe=function(e){var r,i=Object.create(fVe,(r={},ZA(r,Wc,{value:e,writable:!0}),ZA(r,$A,{value:null,writable:!0}),ZA(r,qc,{value:null,writable:!0}),ZA(r,im,{value:null,writable:!0}),ZA(r,gQ,{value:e._readableState.endEmitted,writable:!0}),ZA(r,zT,{value:function(s,o){var a=i[Wc].read();a?(i[Jc]=null,i[$A]=null,i[qc]=null,s(el(a,!1))):(i[$A]=s,i[qc]=o)},writable:!0}),r));return i[Jc]=null,AVe(e,function(n){if(n&&n.code!=="ERR_STREAM_PREMATURE_CLOSE"){var s=i[qc];s!==null&&(i[Jc]=null,i[$A]=null,i[qc]=null,s(n)),i[im]=n;return}var o=i[$A];o!==null&&(i[Jc]=null,i[$A]=null,i[qc]=null,o(el(void 0,!0))),i[gQ]=!0}),e.on("readable",cVe.bind(null,i)),i};cue.exports=hVe});var pue=E((vPt,gue)=>{"use strict";function fue(t,e,r,i,n,s,o){try{var a=t[s](o),l=a.value}catch(c){r(c);return}a.done?e(l):Promise.resolve(l).then(i,n)}function pVe(t){return function(){var e=this,r=arguments;return new Promise(function(i,n){var s=t.apply(e,r);function o(l){fue(s,i,n,o,a,"next",l)}function a(l){fue(s,i,n,o,a,"throw",l)}o(void 0)})}}function hue(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter(function(n){return Object.getOwnPropertyDescriptor(t,n).enumerable})),r.push.apply(r,i)}return r}function CVe(t){for(var e=1;e{"use strict";due.exports=kt;var Bf;kt.ReadableState=Cue;var SPt=require("events").EventEmitter,mue=function(e,r){return e.listeners(r).length},nm=PT(),fQ=require("buffer").Buffer,IVe=global.Uint8Array||function(){};function yVe(t){return fQ.from(t)}function wVe(t){return fQ.isBuffer(t)||t instanceof IVe}var VT=require("util"),Et;VT&&VT.debuglog?Et=VT.debuglog("stream"):Et=function(){};var BVe=Oce(),_T=FT(),QVe=NT(),bVe=QVe.getHighWaterMark,hQ=VA().codes,vVe=hQ.ERR_INVALID_ARG_TYPE,SVe=hQ.ERR_STREAM_PUSH_AFTER_EOF,xVe=hQ.ERR_METHOD_NOT_IMPLEMENTED,kVe=hQ.ERR_STREAM_UNSHIFT_AFTER_END_EVENT,Qf,XT,ZT;_A()(kt,nm);var sm=_T.errorOrDestroy,$T=["error","close","destroy","pause","resume"];function PVe(t,e,r){if(typeof t.prependListener=="function")return t.prependListener(e,r);!t._events||!t._events[e]?t.on(e,r):Array.isArray(t._events[e])?t._events[e].unshift(r):t._events[e]=[r,t._events[e]]}function Cue(t,e,r){Bf=Bf||Yc(),t=t||{},typeof r!="boolean"&&(r=e instanceof Bf),this.objectMode=!!t.objectMode,r&&(this.objectMode=this.objectMode||!!t.readableObjectMode),this.highWaterMark=bVe(this,t,"readableHighWaterMark",r),this.buffer=new BVe,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.paused=!0,this.emitClose=t.emitClose!==!1,this.autoDestroy=!!t.autoDestroy,this.destroyed=!1,this.defaultEncoding=t.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,t.encoding&&(Qf||(Qf=WT().StringDecoder),this.decoder=new Qf(t.encoding),this.encoding=t.encoding)}function kt(t){if(Bf=Bf||Yc(),!(this instanceof kt))return new kt(t);var e=this instanceof Bf;this._readableState=new Cue(t,this,e),this.readable=!0,t&&(typeof t.read=="function"&&(this._read=t.read),typeof t.destroy=="function"&&(this._destroy=t.destroy)),nm.call(this)}Object.defineProperty(kt.prototype,"destroyed",{enumerable:!1,get:function(){return this._readableState===void 0?!1:this._readableState.destroyed},set:function(e){!this._readableState||(this._readableState.destroyed=e)}});kt.prototype.destroy=_T.destroy;kt.prototype._undestroy=_T.undestroy;kt.prototype._destroy=function(t,e){e(t)};kt.prototype.push=function(t,e){var r=this._readableState,i;return r.objectMode?i=!0:typeof t=="string"&&(e=e||r.defaultEncoding,e!==r.encoding&&(t=fQ.from(t,e),e=""),i=!0),Eue(this,t,e,!1,i)};kt.prototype.unshift=function(t){return Eue(this,t,null,!0,!1)};function Eue(t,e,r,i,n){Et("readableAddChunk",e);var s=t._readableState;if(e===null)s.reading=!1,RVe(t,s);else{var o;if(n||(o=DVe(s,e)),o)sm(t,o);else if(s.objectMode||e&&e.length>0)if(typeof e!="string"&&!s.objectMode&&Object.getPrototypeOf(e)!==fQ.prototype&&(e=yVe(e)),i)s.endEmitted?sm(t,new kVe):eM(t,s,e,!0);else if(s.ended)sm(t,new SVe);else{if(s.destroyed)return!1;s.reading=!1,s.decoder&&!r?(e=s.decoder.write(e),s.objectMode||e.length!==0?eM(t,s,e,!1):tM(t,s)):eM(t,s,e,!1)}else i||(s.reading=!1,tM(t,s))}return!s.ended&&(s.length=Iue?t=Iue:(t--,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,t|=t>>>16,t++),t}function yue(t,e){return t<=0||e.length===0&&e.ended?0:e.objectMode?1:t!==t?e.flowing&&e.length?e.buffer.head.data.length:e.length:(t>e.highWaterMark&&(e.highWaterMark=FVe(t)),t<=e.length?t:e.ended?e.length:(e.needReadable=!0,0))}kt.prototype.read=function(t){Et("read",t),t=parseInt(t,10);var e=this._readableState,r=t;if(t!==0&&(e.emittedReadable=!1),t===0&&e.needReadable&&((e.highWaterMark!==0?e.length>=e.highWaterMark:e.length>0)||e.ended))return Et("read: emitReadable",e.length,e.ended),e.length===0&&e.ended?rM(this):pQ(this),null;if(t=yue(t,e),t===0&&e.ended)return e.length===0&&rM(this),null;var i=e.needReadable;Et("need readable",i),(e.length===0||e.length-t0?n=wue(t,e):n=null,n===null?(e.needReadable=e.length<=e.highWaterMark,t=0):(e.length-=t,e.awaitDrain=0),e.length===0&&(e.ended||(e.needReadable=!0),r!==t&&e.ended&&rM(this)),n!==null&&this.emit("data",n),n};function RVe(t,e){if(Et("onEofChunk"),!e.ended){if(e.decoder){var r=e.decoder.end();r&&r.length&&(e.buffer.push(r),e.length+=e.objectMode?1:r.length)}e.ended=!0,e.sync?pQ(t):(e.needReadable=!1,e.emittedReadable||(e.emittedReadable=!0,Bue(t)))}}function pQ(t){var e=t._readableState;Et("emitReadable",e.needReadable,e.emittedReadable),e.needReadable=!1,e.emittedReadable||(Et("emitReadable",e.flowing),e.emittedReadable=!0,process.nextTick(Bue,t))}function Bue(t){var e=t._readableState;Et("emitReadable_",e.destroyed,e.length,e.ended),!e.destroyed&&(e.length||e.ended)&&(t.emit("readable"),e.emittedReadable=!1),e.needReadable=!e.flowing&&!e.ended&&e.length<=e.highWaterMark,iM(t)}function tM(t,e){e.readingMore||(e.readingMore=!0,process.nextTick(NVe,t,e))}function NVe(t,e){for(;!e.reading&&!e.ended&&(e.length1&&Que(i.pipes,t)!==-1)&&!c&&(Et("false write response, pause",i.awaitDrain),i.awaitDrain++),r.pause())}function f(m){Et("onerror",m),d(),t.removeListener("error",f),mue(t,"error")===0&&sm(t,m)}PVe(t,"error",f);function h(){t.removeListener("finish",p),d()}t.once("close",h);function p(){Et("onfinish"),t.removeListener("close",h),d()}t.once("finish",p);function d(){Et("unpipe"),r.unpipe(t)}return t.emit("pipe",r),i.flowing||(Et("pipe resume"),r.resume()),t};function LVe(t){return function(){var r=t._readableState;Et("pipeOnDrain",r.awaitDrain),r.awaitDrain&&r.awaitDrain--,r.awaitDrain===0&&mue(t,"data")&&(r.flowing=!0,iM(t))}}kt.prototype.unpipe=function(t){var e=this._readableState,r={hasUnpiped:!1};if(e.pipesCount===0)return this;if(e.pipesCount===1)return t&&t!==e.pipes?this:(t||(t=e.pipes),e.pipes=null,e.pipesCount=0,e.flowing=!1,t&&t.emit("unpipe",this,r),this);if(!t){var i=e.pipes,n=e.pipesCount;e.pipes=null,e.pipesCount=0,e.flowing=!1;for(var s=0;s0,i.flowing!==!1&&this.resume()):t==="readable"&&!i.endEmitted&&!i.readableListening&&(i.readableListening=i.needReadable=!0,i.flowing=!1,i.emittedReadable=!1,Et("on readable",i.length,i.reading),i.length?pQ(this):i.reading||process.nextTick(TVe,this)),r};kt.prototype.addListener=kt.prototype.on;kt.prototype.removeListener=function(t,e){var r=nm.prototype.removeListener.call(this,t,e);return t==="readable"&&process.nextTick(bue,this),r};kt.prototype.removeAllListeners=function(t){var e=nm.prototype.removeAllListeners.apply(this,arguments);return(t==="readable"||t===void 0)&&process.nextTick(bue,this),e};function bue(t){var e=t._readableState;e.readableListening=t.listenerCount("readable")>0,e.resumeScheduled&&!e.paused?e.flowing=!0:t.listenerCount("data")>0&&t.resume()}function TVe(t){Et("readable nexttick read 0"),t.read(0)}kt.prototype.resume=function(){var t=this._readableState;return t.flowing||(Et("resume"),t.flowing=!t.readableListening,MVe(this,t)),t.paused=!1,this};function MVe(t,e){e.resumeScheduled||(e.resumeScheduled=!0,process.nextTick(OVe,t,e))}function OVe(t,e){Et("resume",e.reading),e.reading||t.read(0),e.resumeScheduled=!1,t.emit("resume"),iM(t),e.flowing&&!e.reading&&t.read(0)}kt.prototype.pause=function(){return Et("call pause flowing=%j",this._readableState.flowing),this._readableState.flowing!==!1&&(Et("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this};function iM(t){var e=t._readableState;for(Et("flow",e.flowing);e.flowing&&t.read()!==null;);}kt.prototype.wrap=function(t){var e=this,r=this._readableState,i=!1;t.on("end",function(){if(Et("wrapped end"),r.decoder&&!r.ended){var o=r.decoder.end();o&&o.length&&e.push(o)}e.push(null)}),t.on("data",function(o){if(Et("wrapped data"),r.decoder&&(o=r.decoder.write(o)),!(r.objectMode&&o==null)&&!(!r.objectMode&&(!o||!o.length))){var a=e.push(o);a||(i=!0,t.pause())}});for(var n in t)this[n]===void 0&&typeof t[n]=="function"&&(this[n]=function(a){return function(){return t[a].apply(t,arguments)}}(n));for(var s=0;s<$T.length;s++)t.on($T[s],this.emit.bind(this,$T[s]));return this._read=function(o){Et("wrapped _read",o),i&&(i=!1,t.resume())},this};typeof Symbol=="function"&&(kt.prototype[Symbol.asyncIterator]=function(){return XT===void 0&&(XT=uue()),XT(this)});Object.defineProperty(kt.prototype,"readableHighWaterMark",{enumerable:!1,get:function(){return this._readableState.highWaterMark}});Object.defineProperty(kt.prototype,"readableBuffer",{enumerable:!1,get:function(){return this._readableState&&this._readableState.buffer}});Object.defineProperty(kt.prototype,"readableFlowing",{enumerable:!1,get:function(){return this._readableState.flowing},set:function(e){this._readableState&&(this._readableState.flowing=e)}});kt._fromList=wue;Object.defineProperty(kt.prototype,"readableLength",{enumerable:!1,get:function(){return this._readableState.length}});function wue(t,e){if(e.length===0)return null;var r;return e.objectMode?r=e.buffer.shift():!t||t>=e.length?(e.decoder?r=e.buffer.join(""):e.buffer.length===1?r=e.buffer.first():r=e.buffer.concat(e.length),e.buffer.clear()):r=e.buffer.consume(t,e.decoder),r}function rM(t){var e=t._readableState;Et("endReadable",e.endEmitted),e.endEmitted||(e.ended=!0,process.nextTick(KVe,e,t))}function KVe(t,e){if(Et("endReadableNT",t.endEmitted,t.length),!t.endEmitted&&t.length===0&&(t.endEmitted=!0,e.readable=!1,e.emit("end"),t.autoDestroy)){var r=e._writableState;(!r||r.autoDestroy&&r.finished)&&e.destroy()}}typeof Symbol=="function"&&(kt.from=function(t,e){return ZT===void 0&&(ZT=pue()),ZT(kt,t,e)});function Que(t,e){for(var r=0,i=t.length;r{"use strict";vue.exports=Ja;var dQ=VA().codes,UVe=dQ.ERR_METHOD_NOT_IMPLEMENTED,HVe=dQ.ERR_MULTIPLE_CALLBACK,GVe=dQ.ERR_TRANSFORM_ALREADY_TRANSFORMING,jVe=dQ.ERR_TRANSFORM_WITH_LENGTH_0,CQ=Yc();_A()(Ja,CQ);function YVe(t,e){var r=this._transformState;r.transforming=!1;var i=r.writecb;if(i===null)return this.emit("error",new HVe);r.writechunk=null,r.writecb=null,e!=null&&this.push(e),i(t);var n=this._readableState;n.reading=!1,(n.needReadable||n.length{"use strict";xue.exports=om;var kue=nM();_A()(om,kue);function om(t){if(!(this instanceof om))return new om(t);kue.call(this,t)}om.prototype._transform=function(t,e,r){r(null,t)}});var Lue=E((DPt,Due)=>{"use strict";var sM;function JVe(t){var e=!1;return function(){e||(e=!0,t.apply(void 0,arguments))}}var Rue=VA().codes,WVe=Rue.ERR_MISSING_ARGS,zVe=Rue.ERR_STREAM_DESTROYED;function Fue(t){if(t)throw t}function VVe(t){return t.setHeader&&typeof t.abort=="function"}function _Ve(t,e,r,i){i=JVe(i);var n=!1;t.on("close",function(){n=!0}),sM===void 0&&(sM=cQ()),sM(t,{readable:e,writable:r},function(o){if(o)return i(o);n=!0,i()});var s=!1;return function(o){if(!n&&!s){if(s=!0,VVe(t))return t.abort();if(typeof t.destroy=="function")return t.destroy();i(o||new zVe("pipe"))}}}function Nue(t){t()}function XVe(t,e){return t.pipe(e)}function ZVe(t){return!t.length||typeof t[t.length-1]!="function"?Fue:t.pop()}function $Ve(){for(var t=arguments.length,e=new Array(t),r=0;r0;return _Ve(o,l,c,function(u){n||(n=u),u&&s.forEach(Nue),!l&&(s.forEach(Nue),i(n))})});return e.reduce(XVe)}Due.exports=$Ve});var bf=E((ys,am)=>{var Am=require("stream");process.env.READABLE_STREAM==="disable"&&Am?(am.exports=Am.Readable,Object.assign(am.exports,Am),am.exports.Stream=Am):(ys=am.exports=HT(),ys.Stream=Am||ys,ys.Readable=ys,ys.Writable=UT(),ys.Duplex=Yc(),ys.Transform=nM(),ys.PassThrough=Pue(),ys.finished=cQ(),ys.pipeline=Lue())});var Oue=E((RPt,Tue)=>{"use strict";var{Buffer:_s}=require("buffer"),Mue=Symbol.for("BufferList");function nr(t){if(!(this instanceof nr))return new nr(t);nr._init.call(this,t)}nr._init=function(e){Object.defineProperty(this,Mue,{value:!0}),this._bufs=[],this.length=0,e&&this.append(e)};nr.prototype._new=function(e){return new nr(e)};nr.prototype._offset=function(e){if(e===0)return[0,0];let r=0;for(let i=0;ithis.length||e<0)return;let r=this._offset(e);return this._bufs[r[0]][r[1]]};nr.prototype.slice=function(e,r){return typeof e=="number"&&e<0&&(e+=this.length),typeof r=="number"&&r<0&&(r+=this.length),this.copy(null,0,e,r)};nr.prototype.copy=function(e,r,i,n){if((typeof i!="number"||i<0)&&(i=0),(typeof n!="number"||n>this.length)&&(n=this.length),i>=this.length||n<=0)return e||_s.alloc(0);let s=!!e,o=this._offset(i),a=n-i,l=a,c=s&&r||0,u=o[1];if(i===0&&n===this.length){if(!s)return this._bufs.length===1?this._bufs[0]:_s.concat(this._bufs,this.length);for(let g=0;gf)this._bufs[g].copy(e,c,u),c+=f;else{this._bufs[g].copy(e,c,u,u+l),c+=f;break}l-=f,u&&(u=0)}return e.length>c?e.slice(0,c):e};nr.prototype.shallowSlice=function(e,r){if(e=e||0,r=typeof r!="number"?this.length:r,e<0&&(e+=this.length),r<0&&(r+=this.length),e===r)return this._new();let i=this._offset(e),n=this._offset(r),s=this._bufs.slice(i[0],n[0]+1);return n[1]===0?s.pop():s[s.length-1]=s[s.length-1].slice(0,n[1]),i[1]!==0&&(s[0]=s[0].slice(i[1])),this._new(s)};nr.prototype.toString=function(e,r,i){return this.slice(r,i).toString(e)};nr.prototype.consume=function(e){if(e=Math.trunc(e),Number.isNaN(e)||e<=0)return this;for(;this._bufs.length;)if(e>=this._bufs[0].length)e-=this._bufs[0].length,this.length-=this._bufs[0].length,this._bufs.shift();else{this._bufs[0]=this._bufs[0].slice(e),this.length-=e;break}return this};nr.prototype.duplicate=function(){let e=this._new();for(let r=0;rthis.length?this.length:e;let i=this._offset(e),n=i[0],s=i[1];for(;n=t.length){let l=o.indexOf(t,s);if(l!==-1)return this._reverseOffset([n,l]);s=o.length-t.length+1}else{let l=this._reverseOffset([n,s]);if(this._match(l,t))return l;s++}s=0}return-1};nr.prototype._match=function(t,e){if(this.length-t{"use strict";var oM=bf().Duplex,e7e=_A(),lm=Oue();function Oi(t){if(!(this instanceof Oi))return new Oi(t);if(typeof t=="function"){this._callback=t;let e=function(i){this._callback&&(this._callback(i),this._callback=null)}.bind(this);this.on("pipe",function(i){i.on("error",e)}),this.on("unpipe",function(i){i.removeListener("error",e)}),t=null}lm._init.call(this,t),oM.call(this)}e7e(Oi,oM);Object.assign(Oi.prototype,lm.prototype);Oi.prototype._new=function(e){return new Oi(e)};Oi.prototype._write=function(e,r,i){this._appendBuffer(e),typeof i=="function"&&i()};Oi.prototype._read=function(e){if(!this.length)return this.push(null);e=Math.min(e,this.length),this.push(this.slice(0,e)),this.consume(e)};Oi.prototype.end=function(e){oM.prototype.end.call(this,e),this._callback&&(this._callback(null,this.slice()),this._callback=null)};Oi.prototype._destroy=function(e,r){this._bufs.length=0,this.length=0,r(e)};Oi.prototype._isBufferList=function(e){return e instanceof Oi||e instanceof lm||Oi.isBufferList(e)};Oi.isBufferList=lm.isBufferList;mQ.exports=Oi;mQ.exports.BufferListStream=Oi;mQ.exports.BufferList=lm});var lM=E(vf=>{var t7e=Buffer.alloc,r7e="0000000000000000000",i7e="7777777777777777777",Uue="0".charCodeAt(0),Hue=Buffer.from("ustar\0","binary"),n7e=Buffer.from("00","binary"),s7e=Buffer.from("ustar ","binary"),o7e=Buffer.from(" \0","binary"),a7e=parseInt("7777",8),cm=257,aM=263,A7e=function(t,e,r){return typeof t!="number"?r:(t=~~t,t>=e?e:t>=0||(t+=e,t>=0)?t:0)},l7e=function(t){switch(t){case 0:return"file";case 1:return"link";case 2:return"symlink";case 3:return"character-device";case 4:return"block-device";case 5:return"directory";case 6:return"fifo";case 7:return"contiguous-file";case 72:return"pax-header";case 55:return"pax-global-header";case 27:return"gnu-long-link-path";case 28:case 30:return"gnu-long-path"}return null},c7e=function(t){switch(t){case"file":return 0;case"link":return 1;case"symlink":return 2;case"character-device":return 3;case"block-device":return 4;case"directory":return 5;case"fifo":return 6;case"contiguous-file":return 7;case"pax-header":return 72}return 0},Gue=function(t,e,r,i){for(;re?i7e.slice(0,e)+" ":r7e.slice(0,e-t.length)+t+" "};function u7e(t){var e;if(t[0]===128)e=!0;else if(t[0]===255)e=!1;else return null;for(var r=[],i=t.length-1;i>0;i--){var n=t[i];e?r.push(n):r.push(255-n)}var s=0,o=r.length;for(i=0;i=Math.pow(10,r)&&r++,e+r+t};vf.decodeLongPath=function(t,e){return Sf(t,0,t.length,e)};vf.encodePax=function(t){var e="";t.name&&(e+=AM(" path="+t.name+` +`)),t.linkname&&(e+=AM(" linkpath="+t.linkname+` +`));var r=t.pax;if(r)for(var i in r)e+=AM(" "+i+"="+r[i]+` +`);return Buffer.from(e)};vf.decodePax=function(t){for(var e={};t.length;){for(var r=0;r100;){var n=r.indexOf("/");if(n===-1)return null;i+=i?"/"+r.slice(0,n):r.slice(0,n),r=r.slice(n+1)}return Buffer.byteLength(r)>100||Buffer.byteLength(i)>155||t.linkname&&Buffer.byteLength(t.linkname)>100?null:(e.write(r),e.write(tl(t.mode&a7e,6),100),e.write(tl(t.uid,6),108),e.write(tl(t.gid,6),116),e.write(tl(t.size,11),124),e.write(tl(t.mtime.getTime()/1e3|0,11),136),e[156]=Uue+c7e(t.type),t.linkname&&e.write(t.linkname,157),Hue.copy(e,cm),n7e.copy(e,aM),t.uname&&e.write(t.uname,265),t.gname&&e.write(t.gname,297),e.write(tl(t.devmajor||0,6),329),e.write(tl(t.devminor||0,6),337),i&&e.write(i,345),e.write(tl(jue(e),6),148),e)};vf.decode=function(t,e,r){var i=t[156]===0?0:t[156]-Uue,n=Sf(t,0,100,e),s=rl(t,100,8),o=rl(t,108,8),a=rl(t,116,8),l=rl(t,124,12),c=rl(t,136,12),u=l7e(i),g=t[157]===0?null:Sf(t,157,100,e),f=Sf(t,265,32),h=Sf(t,297,32),p=rl(t,329,8),d=rl(t,337,8),m=jue(t);if(m===8*32)return null;if(m!==rl(t,148,8))throw new Error("Invalid tar header. Maybe the tar is corrupted or it needs to be gunzipped?");if(Hue.compare(t,cm,cm+6)===0)t[345]&&(n=Sf(t,345,155,e)+"/"+n);else if(!(s7e.compare(t,cm,cm+6)===0&&o7e.compare(t,aM,aM+2)===0)){if(!r)throw new Error("Invalid tar header: unknown format.")}return i===0&&n&&n[n.length-1]==="/"&&(i=5),{name:n,mode:s,uid:o,gid:a,size:l,mtime:new Date(1e3*c),type:u,linkname:g,uname:f,gname:h,devmajor:p,devminor:d}}});var _ue=E((LPt,Yue)=>{var que=require("util"),g7e=Kue(),um=lM(),Jue=bf().Writable,Wue=bf().PassThrough,zue=function(){},Vue=function(t){return t&=511,t&&512-t},f7e=function(t,e){var r=new EQ(t,e);return r.end(),r},h7e=function(t,e){return e.path&&(t.name=e.path),e.linkpath&&(t.linkname=e.linkpath),e.size&&(t.size=parseInt(e.size,10)),t.pax=e,t},EQ=function(t,e){this._parent=t,this.offset=e,Wue.call(this,{autoDestroy:!1})};que.inherits(EQ,Wue);EQ.prototype.destroy=function(t){this._parent.destroy(t)};var Wa=function(t){if(!(this instanceof Wa))return new Wa(t);Jue.call(this,t),t=t||{},this._offset=0,this._buffer=g7e(),this._missing=0,this._partial=!1,this._onparse=zue,this._header=null,this._stream=null,this._overflow=null,this._cb=null,this._locked=!1,this._destroyed=!1,this._pax=null,this._paxGlobal=null,this._gnuLongPath=null,this._gnuLongLinkPath=null;var e=this,r=e._buffer,i=function(){e._continue()},n=function(f){if(e._locked=!1,f)return e.destroy(f);e._stream||i()},s=function(){e._stream=null;var f=Vue(e._header.size);f?e._parse(f,o):e._parse(512,g),e._locked||i()},o=function(){e._buffer.consume(Vue(e._header.size)),e._parse(512,g),i()},a=function(){var f=e._header.size;e._paxGlobal=um.decodePax(r.slice(0,f)),r.consume(f),s()},l=function(){var f=e._header.size;e._pax=um.decodePax(r.slice(0,f)),e._paxGlobal&&(e._pax=Object.assign({},e._paxGlobal,e._pax)),r.consume(f),s()},c=function(){var f=e._header.size;this._gnuLongPath=um.decodeLongPath(r.slice(0,f),t.filenameEncoding),r.consume(f),s()},u=function(){var f=e._header.size;this._gnuLongLinkPath=um.decodeLongPath(r.slice(0,f),t.filenameEncoding),r.consume(f),s()},g=function(){var f=e._offset,h;try{h=e._header=um.decode(r.slice(0,512),t.filenameEncoding,t.allowUnknownFormat)}catch(p){e.emit("error",p)}if(r.consume(512),!h){e._parse(512,g),i();return}if(h.type==="gnu-long-path"){e._parse(h.size,c),i();return}if(h.type==="gnu-long-link-path"){e._parse(h.size,u),i();return}if(h.type==="pax-global-header"){e._parse(h.size,a),i();return}if(h.type==="pax-header"){e._parse(h.size,l),i();return}if(e._gnuLongPath&&(h.name=e._gnuLongPath,e._gnuLongPath=null),e._gnuLongLinkPath&&(h.linkname=e._gnuLongLinkPath,e._gnuLongLinkPath=null),e._pax&&(e._header=h=h7e(h,e._pax),e._pax=null),e._locked=!0,!h.size||h.type==="directory"){e._parse(512,g),e.emit("entry",h,f7e(e,f),n);return}e._stream=new EQ(e,f),e.emit("entry",h,e._stream,n),e._parse(h.size,s),i()};this._onheader=g,this._parse(512,g)};que.inherits(Wa,Jue);Wa.prototype.destroy=function(t){this._destroyed||(this._destroyed=!0,t&&this.emit("error",t),this.emit("close"),this._stream&&this._stream.emit("close"))};Wa.prototype._parse=function(t,e){this._destroyed||(this._offset+=t,this._missing=t,e===this._onheader&&(this._partial=!1),this._onparse=e)};Wa.prototype._continue=function(){if(!this._destroyed){var t=this._cb;this._cb=zue,this._overflow?this._write(this._overflow,void 0,t):t()}};Wa.prototype._write=function(t,e,r){if(!this._destroyed){var i=this._stream,n=this._buffer,s=this._missing;if(t.length&&(this._partial=!0),t.lengths&&(o=t.slice(s),t=t.slice(0,s)),i?i.end(t):n.append(t),this._overflow=o,this._onparse()}};Wa.prototype._final=function(t){if(this._partial)return this.destroy(new Error("Unexpected end of data"));t()};Yue.exports=Wa});var Zue=E((TPt,Xue)=>{Xue.exports=require("fs").constants||require("constants")});var ige=E((MPt,$ue)=>{var xf=Zue(),ege=tk(),IQ=_A(),p7e=Buffer.alloc,tge=bf().Readable,kf=bf().Writable,d7e=require("string_decoder").StringDecoder,yQ=lM(),C7e=parseInt("755",8),m7e=parseInt("644",8),rge=p7e(1024),cM=function(){},uM=function(t,e){e&=511,e&&t.push(rge.slice(0,512-e))};function E7e(t){switch(t&xf.S_IFMT){case xf.S_IFBLK:return"block-device";case xf.S_IFCHR:return"character-device";case xf.S_IFDIR:return"directory";case xf.S_IFIFO:return"fifo";case xf.S_IFLNK:return"symlink"}return"file"}var wQ=function(t){kf.call(this),this.written=0,this._to=t,this._destroyed=!1};IQ(wQ,kf);wQ.prototype._write=function(t,e,r){if(this.written+=t.length,this._to.push(t))return r();this._to._drain=r};wQ.prototype.destroy=function(){this._destroyed||(this._destroyed=!0,this.emit("close"))};var BQ=function(){kf.call(this),this.linkname="",this._decoder=new d7e("utf-8"),this._destroyed=!1};IQ(BQ,kf);BQ.prototype._write=function(t,e,r){this.linkname+=this._decoder.write(t),r()};BQ.prototype.destroy=function(){this._destroyed||(this._destroyed=!0,this.emit("close"))};var gm=function(){kf.call(this),this._destroyed=!1};IQ(gm,kf);gm.prototype._write=function(t,e,r){r(new Error("No body allowed for this entry"))};gm.prototype.destroy=function(){this._destroyed||(this._destroyed=!0,this.emit("close"))};var Oo=function(t){if(!(this instanceof Oo))return new Oo(t);tge.call(this,t),this._drain=cM,this._finalized=!1,this._finalizing=!1,this._destroyed=!1,this._stream=null};IQ(Oo,tge);Oo.prototype.entry=function(t,e,r){if(this._stream)throw new Error("already piping an entry");if(!(this._finalized||this._destroyed)){typeof e=="function"&&(r=e,e=null),r||(r=cM);var i=this;if((!t.size||t.type==="symlink")&&(t.size=0),t.type||(t.type=E7e(t.mode)),t.mode||(t.mode=t.type==="directory"?C7e:m7e),t.uid||(t.uid=0),t.gid||(t.gid=0),t.mtime||(t.mtime=new Date),typeof e=="string"&&(e=Buffer.from(e)),Buffer.isBuffer(e)){t.size=e.length,this._encode(t);var n=this.push(e);return uM(i,t.size),n?process.nextTick(r):this._drain=r,new gm}if(t.type==="symlink"&&!t.linkname){var s=new BQ;return ege(s,function(a){if(a)return i.destroy(),r(a);t.linkname=s.linkname,i._encode(t),r()}),s}if(this._encode(t),t.type!=="file"&&t.type!=="contiguous-file")return process.nextTick(r),new gm;var o=new wQ(this);return this._stream=o,ege(o,function(a){if(i._stream=null,a)return i.destroy(),r(a);if(o.written!==t.size)return i.destroy(),r(new Error("size mismatch"));uM(i,t.size),i._finalizing&&i.finalize(),r()}),o}};Oo.prototype.finalize=function(){if(this._stream){this._finalizing=!0;return}this._finalized||(this._finalized=!0,this.push(rge),this.push(null))};Oo.prototype.destroy=function(t){this._destroyed||(this._destroyed=!0,t&&this.emit("error",t),this.emit("close"),this._stream&&this._stream.destroy&&this._stream.destroy())};Oo.prototype._encode=function(t){if(!t.pax){var e=yQ.encode(t);if(e){this.push(e);return}}this._encodePax(t)};Oo.prototype._encodePax=function(t){var e=yQ.encodePax({name:t.name,linkname:t.linkname,pax:t.pax}),r={name:"PaxHeader",mode:t.mode,uid:t.uid,gid:t.gid,size:e.length,mtime:t.mtime,type:"pax-header",linkname:t.linkname&&"PaxHeader",uname:t.uname,gname:t.gname,devmajor:t.devmajor,devminor:t.devminor};this.push(yQ.encode(r)),this.push(e),uM(this,e.length),r.size=t.size,r.type=t.type,this.push(yQ.encode(r))};Oo.prototype._read=function(t){var e=this._drain;this._drain=cM,e()};$ue.exports=Oo});var nge=E(gM=>{gM.extract=_ue();gM.pack=ige()});var Cge=E((oDt,fge)=>{"use strict";var Pf=class{constructor(e,r,i){this.__specs=e||{},Object.keys(this.__specs).forEach(n=>{if(typeof this.__specs[n]=="string"){let s=this.__specs[n],o=this.__specs[s];if(o){let a=o.aliases||[];a.push(n,s),o.aliases=[...new Set(a)],this.__specs[n]=o}else throw new Error(`Alias refers to invalid key: ${s} -> ${n}`)}}),this.__opts=r||{},this.__providers=pge(i.filter(n=>n!=null&&typeof n=="object")),this.__isFiggyPudding=!0}get(e){return mM(this,e,!0)}get[Symbol.toStringTag](){return"FiggyPudding"}forEach(e,r=this){for(let[i,n]of this.entries())e.call(r,n,i,this)}toJSON(){let e={};return this.forEach((r,i)=>{e[i]=r}),e}*entries(e){for(let i of Object.keys(this.__specs))yield[i,this.get(i)];let r=e||this.__opts.other;if(r){let i=new Set;for(let n of this.__providers){let s=n.entries?n.entries(r):R7e(n);for(let[o,a]of s)r(o)&&!i.has(o)&&(i.add(o),yield[o,a])}}}*[Symbol.iterator](){for(let[e,r]of this.entries())yield[e,r]}*keys(){for(let[e]of this.entries())yield e}*values(){for(let[,e]of this.entries())yield e}concat(...e){return new Proxy(new Pf(this.__specs,this.__opts,pge(this.__providers).concat(e)),hge)}};try{let t=require("util");Pf.prototype[t.inspect.custom]=function(e,r){return this[Symbol.toStringTag]+" "+t.inspect(this.toJSON(),r)}}catch(t){}function F7e(t){throw Object.assign(new Error(`invalid config key requested: ${t}`),{code:"EBADKEY"})}function mM(t,e,r){let i=t.__specs[e];if(r&&!i&&(!t.__opts.other||!t.__opts.other(e)))F7e(e);else{i||(i={});let n;for(let s of t.__providers){if(n=dge(e,s),n===void 0&&i.aliases&&i.aliases.length){for(let o of i.aliases)if(o!==e&&(n=dge(o,s),n!==void 0))break}if(n!==void 0)break}return n===void 0&&i.default!==void 0?typeof i.default=="function"?i.default(t):i.default:n}}function dge(t,e){let r;return e.__isFiggyPudding?r=mM(e,t,!1):typeof e.get=="function"?r=e.get(t):r=e[t],r}var hge={has(t,e){return e in t.__specs&&mM(t,e,!1)!==void 0},ownKeys(t){return Object.keys(t.__specs)},get(t,e){return typeof e=="symbol"||e.slice(0,2)==="__"||e in Pf.prototype?t[e]:t.get(e)},set(t,e,r){if(typeof e=="symbol"||e.slice(0,2)==="__")return t[e]=r,!0;throw new Error("figgyPudding options cannot be modified. Use .concat() instead.")},deleteProperty(){throw new Error("figgyPudding options cannot be deleted. Use .concat() and shadow them instead.")}};fge.exports=N7e;function N7e(t,e){function r(...i){return new Proxy(new Pf(t,e,i),hge)}return r}function pge(t){let e=[];return t.forEach(r=>e.unshift(r)),e}function R7e(t){return Object.keys(t).map(e=>[e,t[e]])}});var Ige=E((aDt,Ko)=>{"use strict";var hm=require("crypto"),L7e=Cge(),T7e=require("stream").Transform,mge=["sha256","sha384","sha512"],M7e=/^[a-z0-9+/]+(?:=?=?)$/i,O7e=/^([^-]+)-([^?]+)([?\S*]*)$/,K7e=/^([^-]+)-([A-Za-z0-9+/=]{44,88})(\?[\x21-\x7E]*)*$/,U7e=/^[\x21-\x7E]+$/,on=L7e({algorithms:{default:["sha512"]},error:{default:!1},integrity:{},options:{default:[]},pickAlgorithm:{default:()=>H7e},Promise:{default:()=>Promise},sep:{default:" "},single:{default:!1},size:{},strict:{default:!1}}),zc=class{get isHash(){return!0}constructor(e,r){r=on(r);let i=!!r.strict;this.source=e.trim();let n=this.source.match(i?K7e:O7e);if(!n||i&&!mge.some(o=>o===n[1]))return;this.algorithm=n[1],this.digest=n[2];let s=n[3];this.options=s?s.slice(1).split("?"):[]}hexDigest(){return this.digest&&Buffer.from(this.digest,"base64").toString("hex")}toJSON(){return this.toString()}toString(e){if(e=on(e),e.strict&&!(mge.some(i=>i===this.algorithm)&&this.digest.match(M7e)&&(this.options||[]).every(i=>i.match(U7e))))return"";let r=this.options&&this.options.length?`?${this.options.join("?")}`:"";return`${this.algorithm}-${this.digest}${r}`}},Df=class{get isIntegrity(){return!0}toJSON(){return this.toString()}toString(e){e=on(e);let r=e.sep||" ";return e.strict&&(r=r.replace(/\S+/g," ")),Object.keys(this).map(i=>this[i].map(n=>zc.prototype.toString.call(n,e)).filter(n=>n.length).join(r)).filter(i=>i.length).join(r)}concat(e,r){r=on(r);let i=typeof e=="string"?e:pm(e,r);return Uo(`${this.toString(r)} ${i}`,r)}hexDigest(){return Uo(this,{single:!0}).hexDigest()}match(e,r){r=on(r);let i=Uo(e,r),n=i.pickAlgorithm(r);return this[n]&&i[n]&&this[n].find(s=>i[n].find(o=>s.digest===o.digest))||!1}pickAlgorithm(e){e=on(e);let r=e.pickAlgorithm,i=Object.keys(this);if(!i.length)throw new Error(`No algorithms available for ${JSON.stringify(this.toString())}`);return i.reduce((n,s)=>r(n,s)||n)}};Ko.exports.parse=Uo;function Uo(t,e){if(e=on(e),typeof t=="string")return EM(t,e);if(t.algorithm&&t.digest){let r=new Df;return r[t.algorithm]=[t],EM(pm(r,e),e)}else return EM(pm(t,e),e)}function EM(t,e){return e.single?new zc(t,e):t.trim().split(/\s+/).reduce((r,i)=>{let n=new zc(i,e);if(n.algorithm&&n.digest){let s=n.algorithm;r[s]||(r[s]=[]),r[s].push(n)}return r},new Df)}Ko.exports.stringify=pm;function pm(t,e){return e=on(e),t.algorithm&&t.digest?zc.prototype.toString.call(t,e):typeof t=="string"?pm(Uo(t,e),e):Df.prototype.toString.call(t,e)}Ko.exports.fromHex=G7e;function G7e(t,e,r){r=on(r);let i=r.options&&r.options.length?`?${r.options.join("?")}`:"";return Uo(`${e}-${Buffer.from(t,"hex").toString("base64")}${i}`,r)}Ko.exports.fromData=j7e;function j7e(t,e){e=on(e);let r=e.algorithms,i=e.options&&e.options.length?`?${e.options.join("?")}`:"";return r.reduce((n,s)=>{let o=hm.createHash(s).update(t).digest("base64"),a=new zc(`${s}-${o}${i}`,e);if(a.algorithm&&a.digest){let l=a.algorithm;n[l]||(n[l]=[]),n[l].push(a)}return n},new Df)}Ko.exports.fromStream=Y7e;function Y7e(t,e){e=on(e);let r=e.Promise||Promise,i=IM(e);return new r((n,s)=>{t.pipe(i),t.on("error",s),i.on("error",s);let o;i.on("integrity",a=>{o=a}),i.on("end",()=>n(o)),i.on("data",()=>{})})}Ko.exports.checkData=q7e;function q7e(t,e,r){if(r=on(r),e=Uo(e,r),!Object.keys(e).length){if(r.error)throw Object.assign(new Error("No valid integrity hashes to check against"),{code:"EINTEGRITY"});return!1}let i=e.pickAlgorithm(r),n=hm.createHash(i).update(t).digest("base64"),s=Uo({algorithm:i,digest:n}),o=s.match(e,r);if(o||!r.error)return o;if(typeof r.size=="number"&&t.length!==r.size){let a=new Error(`data size mismatch when checking ${e}. + Wanted: ${r.size} + Found: ${t.length}`);throw a.code="EBADSIZE",a.found=t.length,a.expected=r.size,a.sri=e,a}else{let a=new Error(`Integrity checksum failed when using ${i}: Wanted ${e}, but got ${s}. (${t.length} bytes)`);throw a.code="EINTEGRITY",a.found=s,a.expected=e,a.algorithm=i,a.sri=e,a}}Ko.exports.checkStream=J7e;function J7e(t,e,r){r=on(r);let i=r.Promise||Promise,n=IM(r.concat({integrity:e}));return new i((s,o)=>{t.pipe(n),t.on("error",o),n.on("error",o);let a;n.on("verified",l=>{a=l}),n.on("end",()=>s(a)),n.on("data",()=>{})})}Ko.exports.integrityStream=IM;function IM(t){t=on(t);let e=t.integrity&&Uo(t.integrity,t),r=e&&Object.keys(e).length,i=r&&e.pickAlgorithm(t),n=r&&e[i],s=Array.from(new Set(t.algorithms.concat(i?[i]:[]))),o=s.map(hm.createHash),a=0,l=new T7e({transform(c,u,g){a+=c.length,o.forEach(f=>f.update(c,u)),g(null,c,u)}}).on("end",()=>{let c=t.options&&t.options.length?`?${t.options.join("?")}`:"",u=Uo(o.map((f,h)=>`${s[h]}-${f.digest("base64")}${c}`).join(" "),t),g=r&&u.match(e,t);if(typeof t.size=="number"&&a!==t.size){let f=new Error(`stream size mismatch when checking ${e}. + Wanted: ${t.size} + Found: ${a}`);f.code="EBADSIZE",f.found=a,f.expected=t.size,f.sri=e,l.emit("error",f)}else if(t.integrity&&!g){let f=new Error(`${e} integrity checksum failed when using ${i}: wanted ${n} but got ${u}. (${a} bytes)`);f.code="EINTEGRITY",f.found=u,f.expected=n,f.algorithm=i,f.sri=e,l.emit("error",f)}else l.emit("size",a),l.emit("integrity",u),g&&l.emit("verified",g)});return l}Ko.exports.create=W7e;function W7e(t){t=on(t);let e=t.algorithms,r=t.options.length?`?${t.options.join("?")}`:"",i=e.map(hm.createHash);return{update:function(n,s){return i.forEach(o=>o.update(n,s)),this},digest:function(n){return e.reduce((o,a)=>{let l=i.shift().digest("base64"),c=new zc(`${a}-${l}${r}`,t);if(c.algorithm&&c.digest){let u=c.algorithm;o[u]||(o[u]=[]),o[u].push(c)}return o},new Df)}}}var z7e=new Set(hm.getHashes()),Ege=["md5","whirlpool","sha1","sha224","sha256","sha384","sha512","sha3","sha3-256","sha3-384","sha3-512","sha3_256","sha3_384","sha3_512"].filter(t=>z7e.has(t));function H7e(t,e){return Ege.indexOf(t.toLowerCase())>=Ege.indexOf(e.toLowerCase())?t:e}});var Fd={};it(Fd,{BuildType:()=>Gn,Cache:()=>Qt,Configuration:()=>fe,DEFAULT_LOCK_FILENAME:()=>DR,DEFAULT_RC_FILENAME:()=>PR,FormatType:()=>ps,InstallMode:()=>li,LightReport:()=>Fa,LinkType:()=>gt,Manifest:()=>Ze,MessageName:()=>z,PackageExtensionStatus:()=>ki,PackageExtensionType:()=>oi,Project:()=>Ke,ProjectLookup:()=>KA,Report:()=>Xi,ReportError:()=>nt,SettingsType:()=>ge,StreamReport:()=>Fe,TAG_REGEXP:()=>Rg,TelemetryManager:()=>Rd,ThrowReport:()=>ei,VirtualFetcher:()=>dd,Workspace:()=>Dd,WorkspaceResolver:()=>Yr,YarnVersion:()=>Zr,execUtils:()=>hr,folderUtils:()=>Pb,formatUtils:()=>ue,hashUtils:()=>mn,httpUtils:()=>Zt,miscUtils:()=>de,scriptUtils:()=>Kt,semverUtils:()=>qt,structUtils:()=>S,tgzUtils:()=>Ai,treeUtils:()=>Hs});var hr={};it(hr,{EndStrategy:()=>Pn,execvp:()=>Nhe,pipevp:()=>to});var ch={};it(ch,{AliasFS:()=>Xo,CwdFS:()=>Ft,DEFAULT_COMPRESSION_LEVEL:()=>pl,FakeFS:()=>eA,Filename:()=>wt,JailFS:()=>Zo,LazyFS:()=>oh,LinkStrategy:()=>eh,NoFS:()=>bE,NodeFS:()=>Wt,PortablePath:()=>Se,PosixFS:()=>ah,ProxiedFS:()=>fi,VirtualFS:()=>Pr,ZipFS:()=>Jr,ZipOpenFS:()=>Jn,constants:()=>mr,extendFs:()=>SE,normalizeLineEndings:()=>ul,npath:()=>M,opendir:()=>wE,patchFs:()=>pb,ppath:()=>v,statUtils:()=>rb,toFilename:()=>kr,xfs:()=>T});var mr={};it(mr,{SAFE_TIME:()=>tb,S_IFDIR:()=>zo,S_IFLNK:()=>_o,S_IFMT:()=>kn,S_IFREG:()=>Vo});var kn=61440,zo=16384,Vo=32768,_o=40960,tb=456789e3;var rb={};it(rb,{BigIntStatsEntry:()=>Xf,DEFAULT_MODE:()=>_f,DirEntry:()=>uO,StatEntry:()=>Za,areStatsEqual:()=>nb,clearStats:()=>pE,convertToBigIntStats:()=>dE,makeDefaultStats:()=>Zf,makeEmptyStats:()=>Jfe});var ib=ie(require("util"));var _f=Vo|420,uO=class{constructor(){this.name="";this.mode=0}isBlockDevice(){return!1}isCharacterDevice(){return!1}isDirectory(){return(this.mode&kn)===zo}isFIFO(){return!1}isFile(){return(this.mode&kn)===Vo}isSocket(){return!1}isSymbolicLink(){return(this.mode&kn)===_o}},Za=class{constructor(){this.uid=0;this.gid=0;this.size=0;this.blksize=0;this.atimeMs=0;this.mtimeMs=0;this.ctimeMs=0;this.birthtimeMs=0;this.atime=new Date(0);this.mtime=new Date(0);this.ctime=new Date(0);this.birthtime=new Date(0);this.dev=0;this.ino=0;this.mode=_f;this.nlink=1;this.rdev=0;this.blocks=1}isBlockDevice(){return!1}isCharacterDevice(){return!1}isDirectory(){return(this.mode&kn)===zo}isFIFO(){return!1}isFile(){return(this.mode&kn)===Vo}isSocket(){return!1}isSymbolicLink(){return(this.mode&kn)===_o}},Xf=class{constructor(){this.uid=BigInt(0);this.gid=BigInt(0);this.size=BigInt(0);this.blksize=BigInt(0);this.atimeMs=BigInt(0);this.mtimeMs=BigInt(0);this.ctimeMs=BigInt(0);this.birthtimeMs=BigInt(0);this.atimeNs=BigInt(0);this.mtimeNs=BigInt(0);this.ctimeNs=BigInt(0);this.birthtimeNs=BigInt(0);this.atime=new Date(0);this.mtime=new Date(0);this.ctime=new Date(0);this.birthtime=new Date(0);this.dev=BigInt(0);this.ino=BigInt(0);this.mode=BigInt(_f);this.nlink=BigInt(1);this.rdev=BigInt(0);this.blocks=BigInt(1)}isBlockDevice(){return!1}isCharacterDevice(){return!1}isDirectory(){return(this.mode&BigInt(kn))===BigInt(zo)}isFIFO(){return!1}isFile(){return(this.mode&BigInt(kn))===BigInt(Vo)}isSocket(){return!1}isSymbolicLink(){return(this.mode&BigInt(kn))===BigInt(_o)}};function Zf(){return new Za}function Jfe(){return pE(Zf())}function pE(t){for(let e in t)if(Object.prototype.hasOwnProperty.call(t,e)){let r=t[e];typeof r=="number"?t[e]=0:typeof r=="bigint"?t[e]=BigInt(0):ib.types.isDate(r)&&(t[e]=new Date(0))}return t}function dE(t){let e=new Xf;for(let r in t)if(Object.prototype.hasOwnProperty.call(t,r)){let i=t[r];typeof i=="number"?e[r]=BigInt(i):ib.types.isDate(i)&&(e[r]=new Date(i))}return e.atimeNs=e.atimeMs*BigInt(1e6),e.mtimeNs=e.mtimeMs*BigInt(1e6),e.ctimeNs=e.ctimeMs*BigInt(1e6),e.birthtimeNs=e.birthtimeMs*BigInt(1e6),e}function nb(t,e){if(t.atimeMs!==e.atimeMs||t.birthtimeMs!==e.birthtimeMs||t.blksize!==e.blksize||t.blocks!==e.blocks||t.ctimeMs!==e.ctimeMs||t.dev!==e.dev||t.gid!==e.gid||t.ino!==e.ino||t.isBlockDevice()!==e.isBlockDevice()||t.isCharacterDevice()!==e.isCharacterDevice()||t.isDirectory()!==e.isDirectory()||t.isFIFO()!==e.isFIFO()||t.isFile()!==e.isFile()||t.isSocket()!==e.isSocket()||t.isSymbolicLink()!==e.isSymbolicLink()||t.mode!==e.mode||t.mtimeMs!==e.mtimeMs||t.nlink!==e.nlink||t.rdev!==e.rdev||t.size!==e.size||t.uid!==e.uid)return!1;let r=t,i=e;return!(r.atimeNs!==i.atimeNs||r.mtimeNs!==i.mtimeNs||r.ctimeNs!==i.ctimeNs||r.birthtimeNs!==i.birthtimeNs)}var mE=ie(require("fs"));var $f=ie(require("path")),gO;(function(i){i[i.File=0]="File",i[i.Portable=1]="Portable",i[i.Native=2]="Native"})(gO||(gO={}));var Se={root:"/",dot:"."},wt={nodeModules:"node_modules",manifest:"package.json",lockfile:"yarn.lock",virtual:"__virtual__",pnpJs:".pnp.js",pnpCjs:".pnp.cjs",rc:".yarnrc.yml"},M=Object.create($f.default),v=Object.create($f.default.posix);M.cwd=()=>process.cwd();v.cwd=()=>sb(process.cwd());v.resolve=(...t)=>t.length>0&&v.isAbsolute(t[0])?$f.default.posix.resolve(...t):$f.default.posix.resolve(v.cwd(),...t);var fO=function(t,e,r){return e=t.normalize(e),r=t.normalize(r),e===r?".":(e.endsWith(t.sep)||(e=e+t.sep),r.startsWith(e)?r.slice(e.length):null)};M.fromPortablePath=hO;M.toPortablePath=sb;M.contains=(t,e)=>fO(M,t,e);v.contains=(t,e)=>fO(v,t,e);var Wfe=/^([a-zA-Z]:.*)$/,zfe=/^\\\\(\.\\)?(.*)$/,Vfe=/^\/([a-zA-Z]:.*)$/,_fe=/^\/unc\/(\.dot\/)?(.*)$/;function hO(t){if(process.platform!=="win32")return t;let e,r;if(e=t.match(Vfe))t=e[1];else if(r=t.match(_fe))t=`\\\\${r[1]?".\\":""}${r[2]}`;else return t;return t.replace(/\//g,"\\")}function sb(t){if(process.platform!=="win32")return t;let e,r;return(e=t.match(Wfe))?t=`/${e[1]}`:(r=t.match(zfe))&&(t=`/unc/${r[1]?".dot/":""}${r[2]}`),t.replace(/\\/g,"/")}function CE(t,e){return t===M?hO(e):sb(e)}function kr(t){if(M.parse(t).dir!==""||v.parse(t).dir!=="")throw new Error(`Invalid filename: "${t}"`);return t}var EE=new Date(tb*1e3),eh;(function(r){r.Allow="allow",r.ReadOnly="readOnly"})(eh||(eh={}));async function pO(t,e,r,i,n){let s=t.pathUtils.normalize(e),o=r.pathUtils.normalize(i),a=[],l=[],c=n.stableTime?{mtime:EE,atime:EE}:await r.lstatPromise(o);await t.mkdirpPromise(t.pathUtils.dirname(e),{utimes:[c.atime,c.mtime]});let u=typeof t.lutimesPromise=="function"?t.lutimesPromise.bind(t):t.utimesPromise.bind(t);await ob(a,l,u,t,s,r,o,n);for(let g of a)await g();await Promise.all(l.map(g=>g()))}async function ob(t,e,r,i,n,s,o,a){var f,h;let l=await Xfe(i,n),c=await s.lstatPromise(o),u=a.stableTime?{mtime:EE,atime:EE}:c,g;switch(!0){case c.isDirectory():g=await Zfe(t,e,r,i,n,l,s,o,c,a);break;case c.isFile():g=await $fe(t,e,r,i,n,l,s,o,c,a);break;case c.isSymbolicLink():g=await ehe(t,e,r,i,n,l,s,o,c,a);break;default:throw new Error(`Unsupported file type (${c.mode})`)}return(g||((f=l==null?void 0:l.mtime)==null?void 0:f.getTime())!==u.mtime.getTime()||((h=l==null?void 0:l.atime)==null?void 0:h.getTime())!==u.atime.getTime())&&(e.push(()=>r(n,u.atime,u.mtime)),g=!0),(l===null||(l.mode&511)!=(c.mode&511))&&(e.push(()=>i.chmodPromise(n,c.mode&511)),g=!0),g}async function Xfe(t,e){try{return await t.lstatPromise(e)}catch(r){return null}}async function Zfe(t,e,r,i,n,s,o,a,l,c){if(s!==null&&!s.isDirectory())if(c.overwrite)t.push(async()=>i.removePromise(n)),s=null;else return!1;let u=!1;s===null&&(t.push(async()=>{try{await i.mkdirPromise(n,{mode:l.mode})}catch(f){if(f.code!=="EEXIST")throw f}}),u=!0);let g=await o.readdirPromise(a);if(c.stableSort)for(let f of g.sort())await ob(t,e,r,i,i.pathUtils.join(n,f),o,o.pathUtils.join(a,f),c)&&(u=!0);else(await Promise.all(g.map(async h=>{await ob(t,e,r,i,i.pathUtils.join(n,h),o,o.pathUtils.join(a,h),c)}))).some(h=>h)&&(u=!0);return u}var ab=new WeakMap;function Ab(t,e,r,i,n){return async()=>{await t.linkPromise(r,e),n===eh.ReadOnly&&(i.mode&=~146,await t.chmodPromise(e,i.mode))}}function the(t,e,r,i,n){let s=ab.get(t);return typeof s=="undefined"?async()=>{try{await t.copyFilePromise(r,e,mE.default.constants.COPYFILE_FICLONE_FORCE),ab.set(t,!0)}catch(o){if(o.code==="ENOSYS"||o.code==="ENOTSUP")ab.set(t,!1),await Ab(t,e,r,i,n)();else throw o}}:s?async()=>t.copyFilePromise(r,e,mE.default.constants.COPYFILE_FICLONE_FORCE):Ab(t,e,r,i,n)}async function $fe(t,e,r,i,n,s,o,a,l,c){var f;if(s!==null)if(c.overwrite)t.push(async()=>i.removePromise(n)),s=null;else return!1;let u=(f=c.linkStrategy)!=null?f:null,g=i===o?u!==null?the(i,n,a,l,u):async()=>i.copyFilePromise(a,n,mE.default.constants.COPYFILE_FICLONE):u!==null?Ab(i,n,a,l,u):async()=>i.writeFilePromise(n,await o.readFilePromise(a));return t.push(async()=>g()),!0}async function ehe(t,e,r,i,n,s,o,a,l,c){if(s!==null)if(c.overwrite)t.push(async()=>i.removePromise(n)),s=null;else return!1;return t.push(async()=>{await i.symlinkPromise(CE(i.pathUtils,await o.readlinkPromise(a)),n)}),!0}function qn(t,e){return Object.assign(new Error(`${t}: ${e}`),{code:t})}function IE(t){return qn("EBUSY",t)}function th(t,e){return qn("ENOSYS",`${t}, ${e}`)}function $a(t){return qn("EINVAL",`invalid argument, ${t}`)}function Hi(t){return qn("EBADF",`bad file descriptor, ${t}`)}function bs(t){return qn("ENOENT",`no such file or directory, ${t}`)}function eo(t){return qn("ENOTDIR",`not a directory, ${t}`)}function rh(t){return qn("EISDIR",`illegal operation on a directory, ${t}`)}function yE(t){return qn("EEXIST",`file already exists, ${t}`)}function ln(t){return qn("EROFS",`read-only filesystem, ${t}`)}function dO(t){return qn("ENOTEMPTY",`directory not empty, ${t}`)}function CO(t){return qn("EOPNOTSUPP",`operation not supported, ${t}`)}function mO(){return qn("ERR_DIR_CLOSED","Directory handle was closed")}var lb=class extends Error{constructor(e,r){super(e);this.name="Libzip Error",this.code=r}};var EO=class{constructor(e,r,i={}){this.path=e;this.nextDirent=r;this.opts=i;this.closed=!1}throwIfClosed(){if(this.closed)throw mO()}async*[Symbol.asyncIterator](){try{let e;for(;(e=await this.read())!==null;)yield e}finally{await this.close()}}read(e){let r=this.readSync();return typeof e!="undefined"?e(null,r):Promise.resolve(r)}readSync(){return this.throwIfClosed(),this.nextDirent()}close(e){return this.closeSync(),typeof e!="undefined"?e(null):Promise.resolve()}closeSync(){var e,r;this.throwIfClosed(),(r=(e=this.opts).onClose)==null||r.call(e),this.closed=!0}};function wE(t,e,r,i){let n=()=>{let s=r.shift();return typeof s=="undefined"?null:Object.assign(t.statSync(t.pathUtils.join(e,s)),{name:s})};return new EO(e,n,i)}var IO=ie(require("os"));var eA=class{constructor(e){this.pathUtils=e}async*genTraversePromise(e,{stableSort:r=!1}={}){let i=[e];for(;i.length>0;){let n=i.shift();if((await this.lstatPromise(n)).isDirectory()){let o=await this.readdirPromise(n);if(r)for(let a of o.sort())i.push(this.pathUtils.join(n,a));else throw new Error("Not supported")}else yield n}}async removePromise(e,{recursive:r=!0,maxRetries:i=5}={}){let n;try{n=await this.lstatPromise(e)}catch(s){if(s.code==="ENOENT")return;throw s}if(n.isDirectory()){if(r){let o=await this.readdirPromise(e);await Promise.all(o.map(a=>this.removePromise(this.pathUtils.resolve(e,a))))}let s=0;do try{await this.rmdirPromise(e);break}catch(o){if(o.code==="EBUSY"||o.code==="ENOTEMPTY"){if(i===0)break;await new Promise(a=>setTimeout(a,s*100));continue}else throw o}while(s++{let l;try{[l]=await this.readJsonPromise(i)}catch(c){return Date.now()-s<500}try{return process.kill(l,0),!0}catch(c){return!1}};for(;o===null;)try{o=await this.openPromise(i,"wx")}catch(l){if(l.code==="EEXIST"){if(!await a())try{await this.unlinkPromise(i);continue}catch(c){}if(Date.now()-s<60*1e3)await new Promise(c=>setTimeout(c,n));else throw new Error(`Couldn't acquire a lock in a reasonable time (via ${i})`)}else throw l}await this.writePromise(o,JSON.stringify([process.pid]));try{return await r()}finally{try{await this.closePromise(o),await this.unlinkPromise(i)}catch(l){}}}async readJsonPromise(e){let r=await this.readFilePromise(e,"utf8");try{return JSON.parse(r)}catch(i){throw i.message+=` (in ${e})`,i}}readJsonSync(e){let r=this.readFileSync(e,"utf8");try{return JSON.parse(r)}catch(i){throw i.message+=` (in ${e})`,i}}async writeJsonPromise(e,r){return await this.writeFilePromise(e,`${JSON.stringify(r,null,2)} +`)}writeJsonSync(e,r){return this.writeFileSync(e,`${JSON.stringify(r,null,2)} +`)}async preserveTimePromise(e,r){let i=await this.lstatPromise(e),n=await r();typeof n!="undefined"&&(e=n),this.lutimesPromise?await this.lutimesPromise(e,i.atime,i.mtime):i.isSymbolicLink()||await this.utimesPromise(e,i.atime,i.mtime)}async preserveTimeSync(e,r){let i=this.lstatSync(e),n=r();typeof n!="undefined"&&(e=n),this.lutimesSync?this.lutimesSync(e,i.atime,i.mtime):i.isSymbolicLink()||this.utimesSync(e,i.atime,i.mtime)}},gl=class extends eA{constructor(){super(v)}};function rhe(t){let e=t.match(/\r?\n/g);if(e===null)return IO.EOL;let r=e.filter(n=>n===`\r +`).length,i=e.length-r;return r>i?`\r +`:` +`}function ul(t,e){return e.replace(/\r?\n/g,rhe(t))}var $c=ie(require("fs")),cb=ie(require("stream")),QO=ie(require("util")),ub=ie(require("zlib"));var yO=ie(require("fs"));var Wt=class extends gl{constructor(e=yO.default){super();this.realFs=e,typeof this.realFs.lutimes!="undefined"&&(this.lutimesPromise=this.lutimesPromiseImpl,this.lutimesSync=this.lutimesSyncImpl)}getExtractHint(){return!1}getRealPath(){return Se.root}resolve(e){return v.resolve(e)}async openPromise(e,r,i){return await new Promise((n,s)=>{this.realFs.open(M.fromPortablePath(e),r,i,this.makeCallback(n,s))})}openSync(e,r,i){return this.realFs.openSync(M.fromPortablePath(e),r,i)}async opendirPromise(e,r){return await new Promise((i,n)=>{typeof r!="undefined"?this.realFs.opendir(M.fromPortablePath(e),r,this.makeCallback(i,n)):this.realFs.opendir(M.fromPortablePath(e),this.makeCallback(i,n))}).then(i=>Object.defineProperty(i,"path",{value:e,configurable:!0,writable:!0}))}opendirSync(e,r){let i=typeof r!="undefined"?this.realFs.opendirSync(M.fromPortablePath(e),r):this.realFs.opendirSync(M.fromPortablePath(e));return Object.defineProperty(i,"path",{value:e,configurable:!0,writable:!0})}async readPromise(e,r,i=0,n=0,s=-1){return await new Promise((o,a)=>{this.realFs.read(e,r,i,n,s,(l,c)=>{l?a(l):o(c)})})}readSync(e,r,i,n,s){return this.realFs.readSync(e,r,i,n,s)}async writePromise(e,r,i,n,s){return await new Promise((o,a)=>typeof r=="string"?this.realFs.write(e,r,i,this.makeCallback(o,a)):this.realFs.write(e,r,i,n,s,this.makeCallback(o,a)))}writeSync(e,r,i,n,s){return typeof r=="string"?this.realFs.writeSync(e,r,i):this.realFs.writeSync(e,r,i,n,s)}async closePromise(e){await new Promise((r,i)=>{this.realFs.close(e,this.makeCallback(r,i))})}closeSync(e){this.realFs.closeSync(e)}createReadStream(e,r){let i=e!==null?M.fromPortablePath(e):e;return this.realFs.createReadStream(i,r)}createWriteStream(e,r){let i=e!==null?M.fromPortablePath(e):e;return this.realFs.createWriteStream(i,r)}async realpathPromise(e){return await new Promise((r,i)=>{this.realFs.realpath(M.fromPortablePath(e),{},this.makeCallback(r,i))}).then(r=>M.toPortablePath(r))}realpathSync(e){return M.toPortablePath(this.realFs.realpathSync(M.fromPortablePath(e),{}))}async existsPromise(e){return await new Promise(r=>{this.realFs.exists(M.fromPortablePath(e),r)})}accessSync(e,r){return this.realFs.accessSync(M.fromPortablePath(e),r)}async accessPromise(e,r){return await new Promise((i,n)=>{this.realFs.access(M.fromPortablePath(e),r,this.makeCallback(i,n))})}existsSync(e){return this.realFs.existsSync(M.fromPortablePath(e))}async statPromise(e,r){return await new Promise((i,n)=>{r?this.realFs.stat(M.fromPortablePath(e),r,this.makeCallback(i,n)):this.realFs.stat(M.fromPortablePath(e),this.makeCallback(i,n))})}statSync(e,r){return r?this.realFs.statSync(M.fromPortablePath(e),r):this.realFs.statSync(M.fromPortablePath(e))}async fstatPromise(e,r){return await new Promise((i,n)=>{r?this.realFs.fstat(e,r,this.makeCallback(i,n)):this.realFs.fstat(e,this.makeCallback(i,n))})}fstatSync(e,r){return r?this.realFs.fstatSync(e,r):this.realFs.fstatSync(e)}async lstatPromise(e,r){return await new Promise((i,n)=>{r?this.realFs.lstat(M.fromPortablePath(e),r,this.makeCallback(i,n)):this.realFs.lstat(M.fromPortablePath(e),this.makeCallback(i,n))})}lstatSync(e,r){return r?this.realFs.lstatSync(M.fromPortablePath(e),r):this.realFs.lstatSync(M.fromPortablePath(e))}async chmodPromise(e,r){return await new Promise((i,n)=>{this.realFs.chmod(M.fromPortablePath(e),r,this.makeCallback(i,n))})}chmodSync(e,r){return this.realFs.chmodSync(M.fromPortablePath(e),r)}async chownPromise(e,r,i){return await new Promise((n,s)=>{this.realFs.chown(M.fromPortablePath(e),r,i,this.makeCallback(n,s))})}chownSync(e,r,i){return this.realFs.chownSync(M.fromPortablePath(e),r,i)}async renamePromise(e,r){return await new Promise((i,n)=>{this.realFs.rename(M.fromPortablePath(e),M.fromPortablePath(r),this.makeCallback(i,n))})}renameSync(e,r){return this.realFs.renameSync(M.fromPortablePath(e),M.fromPortablePath(r))}async copyFilePromise(e,r,i=0){return await new Promise((n,s)=>{this.realFs.copyFile(M.fromPortablePath(e),M.fromPortablePath(r),i,this.makeCallback(n,s))})}copyFileSync(e,r,i=0){return this.realFs.copyFileSync(M.fromPortablePath(e),M.fromPortablePath(r),i)}async appendFilePromise(e,r,i){return await new Promise((n,s)=>{let o=typeof e=="string"?M.fromPortablePath(e):e;i?this.realFs.appendFile(o,r,i,this.makeCallback(n,s)):this.realFs.appendFile(o,r,this.makeCallback(n,s))})}appendFileSync(e,r,i){let n=typeof e=="string"?M.fromPortablePath(e):e;i?this.realFs.appendFileSync(n,r,i):this.realFs.appendFileSync(n,r)}async writeFilePromise(e,r,i){return await new Promise((n,s)=>{let o=typeof e=="string"?M.fromPortablePath(e):e;i?this.realFs.writeFile(o,r,i,this.makeCallback(n,s)):this.realFs.writeFile(o,r,this.makeCallback(n,s))})}writeFileSync(e,r,i){let n=typeof e=="string"?M.fromPortablePath(e):e;i?this.realFs.writeFileSync(n,r,i):this.realFs.writeFileSync(n,r)}async unlinkPromise(e){return await new Promise((r,i)=>{this.realFs.unlink(M.fromPortablePath(e),this.makeCallback(r,i))})}unlinkSync(e){return this.realFs.unlinkSync(M.fromPortablePath(e))}async utimesPromise(e,r,i){return await new Promise((n,s)=>{this.realFs.utimes(M.fromPortablePath(e),r,i,this.makeCallback(n,s))})}utimesSync(e,r,i){this.realFs.utimesSync(M.fromPortablePath(e),r,i)}async lutimesPromiseImpl(e,r,i){let n=this.realFs.lutimes;if(typeof n=="undefined")throw th("unavailable Node binding",`lutimes '${e}'`);return await new Promise((s,o)=>{n.call(this.realFs,M.fromPortablePath(e),r,i,this.makeCallback(s,o))})}lutimesSyncImpl(e,r,i){let n=this.realFs.lutimesSync;if(typeof n=="undefined")throw th("unavailable Node binding",`lutimes '${e}'`);n.call(this.realFs,M.fromPortablePath(e),r,i)}async mkdirPromise(e,r){return await new Promise((i,n)=>{this.realFs.mkdir(M.fromPortablePath(e),r,this.makeCallback(i,n))})}mkdirSync(e,r){return this.realFs.mkdirSync(M.fromPortablePath(e),r)}async rmdirPromise(e,r){return await new Promise((i,n)=>{r?this.realFs.rmdir(M.fromPortablePath(e),r,this.makeCallback(i,n)):this.realFs.rmdir(M.fromPortablePath(e),this.makeCallback(i,n))})}rmdirSync(e,r){return this.realFs.rmdirSync(M.fromPortablePath(e),r)}async linkPromise(e,r){return await new Promise((i,n)=>{this.realFs.link(M.fromPortablePath(e),M.fromPortablePath(r),this.makeCallback(i,n))})}linkSync(e,r){return this.realFs.linkSync(M.fromPortablePath(e),M.fromPortablePath(r))}async symlinkPromise(e,r,i){return await new Promise((n,s)=>{this.realFs.symlink(M.fromPortablePath(e.replace(/\/+$/,"")),M.fromPortablePath(r),i,this.makeCallback(n,s))})}symlinkSync(e,r,i){return this.realFs.symlinkSync(M.fromPortablePath(e.replace(/\/+$/,"")),M.fromPortablePath(r),i)}async readFilePromise(e,r){return await new Promise((i,n)=>{let s=typeof e=="string"?M.fromPortablePath(e):e;this.realFs.readFile(s,r,this.makeCallback(i,n))})}readFileSync(e,r){let i=typeof e=="string"?M.fromPortablePath(e):e;return this.realFs.readFileSync(i,r)}async readdirPromise(e,r){return await new Promise((i,n)=>{(r==null?void 0:r.withFileTypes)?this.realFs.readdir(M.fromPortablePath(e),{withFileTypes:!0},this.makeCallback(i,n)):this.realFs.readdir(M.fromPortablePath(e),this.makeCallback(s=>i(s),n))})}readdirSync(e,r){return(r==null?void 0:r.withFileTypes)?this.realFs.readdirSync(M.fromPortablePath(e),{withFileTypes:!0}):this.realFs.readdirSync(M.fromPortablePath(e))}async readlinkPromise(e){return await new Promise((r,i)=>{this.realFs.readlink(M.fromPortablePath(e),this.makeCallback(r,i))}).then(r=>M.toPortablePath(r))}readlinkSync(e){return M.toPortablePath(this.realFs.readlinkSync(M.fromPortablePath(e)))}async truncatePromise(e,r){return await new Promise((i,n)=>{this.realFs.truncate(M.fromPortablePath(e),r,this.makeCallback(i,n))})}truncateSync(e,r){return this.realFs.truncateSync(M.fromPortablePath(e),r)}watch(e,r,i){return this.realFs.watch(M.fromPortablePath(e),r,i)}watchFile(e,r,i){return this.realFs.watchFile(M.fromPortablePath(e),r,i)}unwatchFile(e,r){return this.realFs.unwatchFile(M.fromPortablePath(e),r)}makeCallback(e,r){return(i,n)=>{i?r(i):e(n)}}};var wO=ie(require("events"));var fl;(function(r){r.Change="change",r.Stop="stop"})(fl||(fl={}));var hl;(function(i){i.Ready="ready",i.Running="running",i.Stopped="stopped"})(hl||(hl={}));function BO(t,e){if(t!==e)throw new Error(`Invalid StatWatcher status: expected '${e}', got '${t}'`)}var ih=class extends wO.EventEmitter{constructor(e,r,{bigint:i=!1}={}){super();this.status=hl.Ready;this.changeListeners=new Map;this.startTimeout=null;this.fakeFs=e,this.path=r,this.bigint=i,this.lastStats=this.stat()}static create(e,r,i){let n=new ih(e,r,i);return n.start(),n}start(){BO(this.status,hl.Ready),this.status=hl.Running,this.startTimeout=setTimeout(()=>{this.startTimeout=null,this.fakeFs.existsSync(this.path)||this.emit(fl.Change,this.lastStats,this.lastStats)},3)}stop(){BO(this.status,hl.Running),this.status=hl.Stopped,this.startTimeout!==null&&(clearTimeout(this.startTimeout),this.startTimeout=null),this.emit(fl.Stop)}stat(){try{return this.fakeFs.statSync(this.path,{bigint:this.bigint})}catch(e){let r=this.bigint?new Xf:new Za;return pE(r)}}makeInterval(e){let r=setInterval(()=>{let i=this.stat(),n=this.lastStats;nb(i,n)||(this.lastStats=i,this.emit(fl.Change,i,n))},e.interval);return e.persistent?r:r.unref()}registerChangeListener(e,r){this.addListener(fl.Change,e),this.changeListeners.set(e,this.makeInterval(r))}unregisterChangeListener(e){this.removeListener(fl.Change,e);let r=this.changeListeners.get(e);typeof r!="undefined"&&clearInterval(r),this.changeListeners.delete(e)}unregisterAllChangeListeners(){for(let e of this.changeListeners.keys())this.unregisterChangeListener(e)}hasChangeListeners(){return this.changeListeners.size>0}ref(){for(let e of this.changeListeners.values())e.ref();return this}unref(){for(let e of this.changeListeners.values())e.unref();return this}};var BE=new WeakMap;function QE(t,e,r,i){let n,s,o,a;switch(typeof r){case"function":n=!1,s=!0,o=5007,a=r;break;default:({bigint:n=!1,persistent:s=!0,interval:o=5007}=r),a=i;break}let l=BE.get(t);typeof l=="undefined"&&BE.set(t,l=new Map);let c=l.get(e);return typeof c=="undefined"&&(c=ih.create(t,e,{bigint:n}),l.set(e,c)),c.registerChangeListener(a,{persistent:s,interval:o}),c}function nh(t,e,r){let i=BE.get(t);if(typeof i=="undefined")return;let n=i.get(e);typeof n!="undefined"&&(typeof r=="undefined"?n.unregisterAllChangeListeners():n.unregisterChangeListener(r),n.hasChangeListeners()||(n.stop(),i.delete(e)))}function sh(t){let e=BE.get(t);if(typeof e!="undefined")for(let r of e.keys())nh(t,r)}var pl="mixed";function ihe(t){if(typeof t=="string"&&String(+t)===t)return+t;if(Number.isFinite(t))return t<0?Date.now()/1e3:t;if((0,QO.isDate)(t))return t.getTime()/1e3;throw new Error("Invalid time")}function bO(){return Buffer.from([80,75,5,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0])}var Jr=class extends gl{constructor(e,r){super();this.lzSource=null;this.listings=new Map;this.entries=new Map;this.fileSources=new Map;this.fds=new Map;this.nextFd=0;this.ready=!1;this.readOnly=!1;this.libzip=r.libzip;let i=r;if(this.level=typeof i.level!="undefined"?i.level:pl,e!=null||(e=bO()),typeof e=="string"){let{baseFs:o=new Wt}=i;this.baseFs=o,this.path=e}else this.path=null,this.baseFs=null;if(r.stats)this.stats=r.stats;else if(typeof e=="string")try{this.stats=this.baseFs.statSync(e)}catch(o){if(o.code==="ENOENT"&&i.create)this.stats=Zf();else throw o}else this.stats=Zf();let n=this.libzip.malloc(4);try{let o=0;if(typeof e=="string"&&i.create&&(o|=this.libzip.ZIP_CREATE|this.libzip.ZIP_TRUNCATE),r.readOnly&&(o|=this.libzip.ZIP_RDONLY,this.readOnly=!0),typeof e=="string")this.zip=this.libzip.open(M.fromPortablePath(e),o,n);else{let a=this.allocateUnattachedSource(e);try{this.zip=this.libzip.openFromSource(a,o,n),this.lzSource=a}catch(l){throw this.libzip.source.free(a),l}}if(this.zip===0){let a=this.libzip.struct.errorS();throw this.libzip.error.initWithCode(a,this.libzip.getValue(n,"i32")),this.makeLibzipError(a)}}finally{this.libzip.free(n)}this.listings.set(Se.root,new Set);let s=this.libzip.getNumEntries(this.zip,0);for(let o=0;oe)throw new Error("Overread");let n=this.libzip.HEAPU8.subarray(r,r+e);return Buffer.from(n)}finally{this.libzip.free(r)}}finally{this.libzip.source.close(this.lzSource),this.libzip.source.free(this.lzSource),this.ready=!1}}prepareClose(){if(!this.ready)throw IE("archive closed, close");sh(this)}saveAndClose(){if(!this.path||!this.baseFs)throw new Error("ZipFS cannot be saved and must be discarded when loaded from a buffer");if(this.prepareClose(),this.readOnly){this.discardAndClose();return}let e=this.baseFs.existsSync(this.path)||this.stats.mode===_f?void 0:this.stats.mode;if(this.entries.size===0)this.discardAndClose(),this.baseFs.writeFileSync(this.path,bO(),{mode:e});else{if(this.libzip.close(this.zip)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));typeof e!="undefined"&&this.baseFs.chmodSync(this.path,e)}this.ready=!1}discardAndClose(){this.prepareClose(),this.libzip.discard(this.zip),this.ready=!1}resolve(e){return v.resolve(Se.root,e)}async openPromise(e,r,i){return this.openSync(e,r,i)}openSync(e,r,i){let n=this.nextFd++;return this.fds.set(n,{cursor:0,p:e}),n}hasOpenFileHandles(){return!!this.fds.size}async opendirPromise(e,r){return this.opendirSync(e,r)}opendirSync(e,r={}){let i=this.resolveFilename(`opendir '${e}'`,e);if(!this.entries.has(i)&&!this.listings.has(i))throw bs(`opendir '${e}'`);let n=this.listings.get(i);if(!n)throw eo(`opendir '${e}'`);let s=[...n],o=this.openSync(i,"r");return wE(this,i,s,{onClose:()=>{this.closeSync(o)}})}async readPromise(e,r,i,n,s){return this.readSync(e,r,i,n,s)}readSync(e,r,i=0,n=r.byteLength,s=-1){let o=this.fds.get(e);if(typeof o=="undefined")throw Hi("read");let a;s===-1||s===null?a=o.cursor:a=s;let l=this.readFileSync(o.p);l.copy(r,i,a,a+n);let c=Math.max(0,Math.min(l.length-a,n));return(s===-1||s===null)&&(o.cursor+=c),c}async writePromise(e,r,i,n,s){return typeof r=="string"?this.writeSync(e,r,s):this.writeSync(e,r,i,n,s)}writeSync(e,r,i,n,s){throw typeof this.fds.get(e)=="undefined"?Hi("read"):new Error("Unimplemented")}async closePromise(e){return this.closeSync(e)}closeSync(e){if(typeof this.fds.get(e)=="undefined")throw Hi("read");this.fds.delete(e)}createReadStream(e,{encoding:r}={}){if(e===null)throw new Error("Unimplemented");let i=this.openSync(e,"r"),n=Object.assign(new cb.PassThrough({emitClose:!0,autoDestroy:!0,destroy:(o,a)=>{clearImmediate(s),this.closeSync(i),a(o)}}),{close(){n.destroy()},bytesRead:0,path:e}),s=setImmediate(async()=>{try{let o=await this.readFilePromise(e,r);n.bytesRead=o.length,n.end(o)}catch(o){n.destroy(o)}});return n}createWriteStream(e,{encoding:r}={}){if(this.readOnly)throw ln(`open '${e}'`);if(e===null)throw new Error("Unimplemented");let i=[],n=this.openSync(e,"w"),s=Object.assign(new cb.PassThrough({autoDestroy:!0,emitClose:!0,destroy:(o,a)=>{try{o?a(o):(this.writeFileSync(e,Buffer.concat(i),r),a(null))}catch(l){a(l)}finally{this.closeSync(n)}}}),{bytesWritten:0,path:e,close(){s.destroy()}});return s.on("data",o=>{let a=Buffer.from(o);s.bytesWritten+=a.length,i.push(a)}),s}async realpathPromise(e){return this.realpathSync(e)}realpathSync(e){let r=this.resolveFilename(`lstat '${e}'`,e);if(!this.entries.has(r)&&!this.listings.has(r))throw bs(`lstat '${e}'`);return r}async existsPromise(e){return this.existsSync(e)}existsSync(e){if(!this.ready)throw IE(`archive closed, existsSync '${e}'`);if(this.symlinkCount===0){let i=v.resolve(Se.root,e);return this.entries.has(i)||this.listings.has(i)}let r;try{r=this.resolveFilename(`stat '${e}'`,e)}catch(i){return!1}return this.entries.has(r)||this.listings.has(r)}async accessPromise(e,r){return this.accessSync(e,r)}accessSync(e,r=$c.constants.F_OK){let i=this.resolveFilename(`access '${e}'`,e);if(!this.entries.has(i)&&!this.listings.has(i))throw bs(`access '${e}'`);if(this.readOnly&&r&$c.constants.W_OK)throw ln(`access '${e}'`)}async statPromise(e,r){return this.statSync(e,r)}statSync(e,r){let i=this.resolveFilename(`stat '${e}'`,e);if(!this.entries.has(i)&&!this.listings.has(i))throw bs(`stat '${e}'`);if(e[e.length-1]==="/"&&!this.listings.has(i))throw eo(`stat '${e}'`);return this.statImpl(`stat '${e}'`,i,r)}async fstatPromise(e,r){return this.fstatSync(e,r)}fstatSync(e,r){let i=this.fds.get(e);if(typeof i=="undefined")throw Hi("fstatSync");let{p:n}=i,s=this.resolveFilename(`stat '${n}'`,n);if(!this.entries.has(s)&&!this.listings.has(s))throw bs(`stat '${n}'`);if(n[n.length-1]==="/"&&!this.listings.has(s))throw eo(`stat '${n}'`);return this.statImpl(`fstat '${n}'`,s,r)}async lstatPromise(e,r){return this.lstatSync(e,r)}lstatSync(e,r){let i=this.resolveFilename(`lstat '${e}'`,e,!1);if(!this.entries.has(i)&&!this.listings.has(i))throw bs(`lstat '${e}'`);if(e[e.length-1]==="/"&&!this.listings.has(i))throw eo(`lstat '${e}'`);return this.statImpl(`lstat '${e}'`,i,r)}statImpl(e,r,i={}){let n=this.entries.get(r);if(typeof n!="undefined"){let s=this.libzip.struct.statS();if(this.libzip.statIndex(this.zip,n,0,0,s)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));let a=this.stats.uid,l=this.stats.gid,c=this.libzip.struct.statSize(s)>>>0,u=512,g=Math.ceil(c/u),f=(this.libzip.struct.statMtime(s)>>>0)*1e3,h=f,p=f,d=f,m=new Date(h),I=new Date(p),B=new Date(d),b=new Date(f),R=this.listings.has(r)?zo:this.isSymbolicLink(n)?_o:Vo,H=R===zo?493:420,L=R|this.getUnixMode(n,H)&511,K=this.libzip.struct.statCrc(s),J=Object.assign(new Za,{uid:a,gid:l,size:c,blksize:u,blocks:g,atime:m,birthtime:I,ctime:B,mtime:b,atimeMs:h,birthtimeMs:p,ctimeMs:d,mtimeMs:f,mode:L,crc:K});return i.bigint===!0?dE(J):J}if(this.listings.has(r)){let s=this.stats.uid,o=this.stats.gid,a=0,l=512,c=0,u=this.stats.mtimeMs,g=this.stats.mtimeMs,f=this.stats.mtimeMs,h=this.stats.mtimeMs,p=new Date(u),d=new Date(g),m=new Date(f),I=new Date(h),B=zo|493,b=0,R=Object.assign(new Za,{uid:s,gid:o,size:a,blksize:l,blocks:c,atime:p,birthtime:d,ctime:m,mtime:I,atimeMs:u,birthtimeMs:g,ctimeMs:f,mtimeMs:h,mode:B,crc:b});return i.bigint===!0?dE(R):R}throw new Error("Unreachable")}getUnixMode(e,r){if(this.libzip.file.getExternalAttributes(this.zip,e,0,0,this.libzip.uint08S,this.libzip.uint32S)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));return this.libzip.getValue(this.libzip.uint08S,"i8")>>>0!==this.libzip.ZIP_OPSYS_UNIX?r:this.libzip.getValue(this.libzip.uint32S,"i32")>>>16}registerListing(e){let r=this.listings.get(e);if(r)return r;let i=this.registerListing(v.dirname(e));return r=new Set,i.add(v.basename(e)),this.listings.set(e,r),r}registerEntry(e,r){this.registerListing(v.dirname(e)).add(v.basename(e)),this.entries.set(e,r)}unregisterListing(e){this.listings.delete(e);let r=this.listings.get(v.dirname(e));r==null||r.delete(v.basename(e))}unregisterEntry(e){this.unregisterListing(e);let r=this.entries.get(e);this.entries.delete(e),typeof r!="undefined"&&(this.fileSources.delete(r),this.isSymbolicLink(r)&&this.symlinkCount--)}deleteEntry(e,r){if(this.unregisterEntry(e),this.libzip.delete(this.zip,r)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip))}resolveFilename(e,r,i=!0){if(!this.ready)throw IE(`archive closed, ${e}`);let n=v.resolve(Se.root,r);if(n==="/")return Se.root;let s=this.entries.get(n);if(i&&s!==void 0)if(this.symlinkCount!==0&&this.isSymbolicLink(s)){let o=this.getFileSource(s).toString();return this.resolveFilename(e,v.resolve(v.dirname(n),o),!0)}else return n;for(;;){let o=this.resolveFilename(e,v.dirname(n),!0),a=this.listings.has(o),l=this.entries.has(o);if(!a&&!l)throw bs(e);if(!a)throw eo(e);if(n=v.resolve(o,v.basename(n)),!i||this.symlinkCount===0)break;let c=this.libzip.name.locate(this.zip,n.slice(1));if(c===-1)break;if(this.isSymbolicLink(c)){let u=this.getFileSource(c).toString();n=v.resolve(v.dirname(n),u)}else break}return n}allocateBuffer(e){Buffer.isBuffer(e)||(e=Buffer.from(e));let r=this.libzip.malloc(e.byteLength);if(!r)throw new Error("Couldn't allocate enough memory");return new Uint8Array(this.libzip.HEAPU8.buffer,r,e.byteLength).set(e),{buffer:r,byteLength:e.byteLength}}allocateUnattachedSource(e){let r=this.libzip.struct.errorS(),{buffer:i,byteLength:n}=this.allocateBuffer(e),s=this.libzip.source.fromUnattachedBuffer(i,n,0,!0,r);if(s===0)throw this.libzip.free(r),this.makeLibzipError(r);return s}allocateSource(e){let{buffer:r,byteLength:i}=this.allocateBuffer(e),n=this.libzip.source.fromBuffer(this.zip,r,i,0,!0);if(n===0)throw this.libzip.free(r),this.makeLibzipError(this.libzip.getError(this.zip));return n}setFileSource(e,r){let i=Buffer.isBuffer(r)?r:Buffer.from(r),n=v.relative(Se.root,e),s=this.allocateSource(r);try{let o=this.libzip.file.add(this.zip,n,s,this.libzip.ZIP_FL_OVERWRITE);if(o===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));if(this.level!=="mixed"){let a;if(this.level===0?a=this.libzip.ZIP_CM_STORE:a=this.libzip.ZIP_CM_DEFLATE,this.libzip.file.setCompression(this.zip,o,0,a,this.level)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip))}return this.fileSources.set(o,i),o}catch(o){throw this.libzip.source.free(s),o}}isSymbolicLink(e){if(this.symlinkCount===0)return!1;if(this.libzip.file.getExternalAttributes(this.zip,e,0,0,this.libzip.uint08S,this.libzip.uint32S)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));return this.libzip.getValue(this.libzip.uint08S,"i8")>>>0!==this.libzip.ZIP_OPSYS_UNIX?!1:(this.libzip.getValue(this.libzip.uint32S,"i32")>>>16&kn)===_o}getFileSource(e,r={asyncDecompress:!1}){let i=this.fileSources.get(e);if(typeof i!="undefined")return i;let n=this.libzip.struct.statS();if(this.libzip.statIndex(this.zip,e,0,0,n)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));let o=this.libzip.struct.statCompSize(n),a=this.libzip.struct.statCompMethod(n),l=this.libzip.malloc(o);try{let c=this.libzip.fopenIndex(this.zip,e,0,this.libzip.ZIP_FL_COMPRESSED);if(c===0)throw this.makeLibzipError(this.libzip.getError(this.zip));try{let u=this.libzip.fread(c,l,o,0);if(u===-1)throw this.makeLibzipError(this.libzip.file.getError(c));if(uo)throw new Error("Overread");let g=this.libzip.HEAPU8.subarray(l,l+o),f=Buffer.from(g);if(a===0)return this.fileSources.set(e,f),f;if(r.asyncDecompress)return new Promise((h,p)=>{ub.default.inflateRaw(f,(d,m)=>{d?p(d):(this.fileSources.set(e,m),h(m))})});{let h=ub.default.inflateRawSync(f);return this.fileSources.set(e,h),h}}finally{this.libzip.fclose(c)}}finally{this.libzip.free(l)}}async chmodPromise(e,r){return this.chmodSync(e,r)}chmodSync(e,r){if(this.readOnly)throw ln(`chmod '${e}'`);r&=493;let i=this.resolveFilename(`chmod '${e}'`,e,!1),n=this.entries.get(i);if(typeof n=="undefined")throw new Error(`Assertion failed: The entry should have been registered (${i})`);let o=this.getUnixMode(n,Vo|0)&~511|r;if(this.libzip.file.setExternalAttributes(this.zip,n,0,0,this.libzip.ZIP_OPSYS_UNIX,o<<16)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip))}async chownPromise(e,r,i){return this.chownSync(e,r,i)}chownSync(e,r,i){throw new Error("Unimplemented")}async renamePromise(e,r){return this.renameSync(e,r)}renameSync(e,r){throw new Error("Unimplemented")}async copyFilePromise(e,r,i){let{indexSource:n,indexDest:s,resolvedDestP:o}=this.prepareCopyFile(e,r,i),a=await this.getFileSource(n,{asyncDecompress:!0}),l=this.setFileSource(o,a);l!==s&&this.registerEntry(o,l)}copyFileSync(e,r,i=0){let{indexSource:n,indexDest:s,resolvedDestP:o}=this.prepareCopyFile(e,r,i),a=this.getFileSource(n),l=this.setFileSource(o,a);l!==s&&this.registerEntry(o,l)}prepareCopyFile(e,r,i=0){if(this.readOnly)throw ln(`copyfile '${e} -> '${r}'`);if((i&$c.constants.COPYFILE_FICLONE_FORCE)!=0)throw th("unsupported clone operation",`copyfile '${e}' -> ${r}'`);let n=this.resolveFilename(`copyfile '${e} -> ${r}'`,e),s=this.entries.get(n);if(typeof s=="undefined")throw $a(`copyfile '${e}' -> '${r}'`);let o=this.resolveFilename(`copyfile '${e}' -> ${r}'`,r),a=this.entries.get(o);if((i&($c.constants.COPYFILE_EXCL|$c.constants.COPYFILE_FICLONE_FORCE))!=0&&typeof a!="undefined")throw yE(`copyfile '${e}' -> '${r}'`);return{indexSource:s,resolvedDestP:o,indexDest:a}}async appendFilePromise(e,r,i){if(this.readOnly)throw ln(`open '${e}'`);return typeof i=="undefined"?i={flag:"a"}:typeof i=="string"?i={flag:"a",encoding:i}:typeof i.flag=="undefined"&&(i=P({flag:"a"},i)),this.writeFilePromise(e,r,i)}appendFileSync(e,r,i={}){if(this.readOnly)throw ln(`open '${e}'`);return typeof i=="undefined"?i={flag:"a"}:typeof i=="string"?i={flag:"a",encoding:i}:typeof i.flag=="undefined"&&(i=P({flag:"a"},i)),this.writeFileSync(e,r,i)}fdToPath(e,r){var n;let i=(n=this.fds.get(e))==null?void 0:n.p;if(typeof i=="undefined")throw Hi(r);return i}async writeFilePromise(e,r,i){let{encoding:n,mode:s,index:o,resolvedP:a}=this.prepareWriteFile(e,i);o!==void 0&&typeof i=="object"&&i.flag&&i.flag.includes("a")&&(r=Buffer.concat([await this.getFileSource(o,{asyncDecompress:!0}),Buffer.from(r)])),n!==null&&(r=r.toString(n));let l=this.setFileSource(a,r);l!==o&&this.registerEntry(a,l),s!==null&&await this.chmodPromise(a,s)}writeFileSync(e,r,i){let{encoding:n,mode:s,index:o,resolvedP:a}=this.prepareWriteFile(e,i);o!==void 0&&typeof i=="object"&&i.flag&&i.flag.includes("a")&&(r=Buffer.concat([this.getFileSource(o),Buffer.from(r)])),n!==null&&(r=r.toString(n));let l=this.setFileSource(a,r);l!==o&&this.registerEntry(a,l),s!==null&&this.chmodSync(a,s)}prepareWriteFile(e,r){if(typeof e=="number"&&(e=this.fdToPath(e,"read")),this.readOnly)throw ln(`open '${e}'`);let i=this.resolveFilename(`open '${e}'`,e);if(this.listings.has(i))throw rh(`open '${e}'`);let n=null,s=null;typeof r=="string"?n=r:typeof r=="object"&&({encoding:n=null,mode:s=null}=r);let o=this.entries.get(i);return{encoding:n,mode:s,resolvedP:i,index:o}}async unlinkPromise(e){return this.unlinkSync(e)}unlinkSync(e){if(this.readOnly)throw ln(`unlink '${e}'`);let r=this.resolveFilename(`unlink '${e}'`,e);if(this.listings.has(r))throw rh(`unlink '${e}'`);let i=this.entries.get(r);if(typeof i=="undefined")throw $a(`unlink '${e}'`);this.deleteEntry(r,i)}async utimesPromise(e,r,i){return this.utimesSync(e,r,i)}utimesSync(e,r,i){if(this.readOnly)throw ln(`utimes '${e}'`);let n=this.resolveFilename(`utimes '${e}'`,e);this.utimesImpl(n,i)}async lutimesPromise(e,r,i){return this.lutimesSync(e,r,i)}lutimesSync(e,r,i){if(this.readOnly)throw ln(`lutimes '${e}'`);let n=this.resolveFilename(`utimes '${e}'`,e,!1);this.utimesImpl(n,i)}utimesImpl(e,r){this.listings.has(e)&&(this.entries.has(e)||this.hydrateDirectory(e));let i=this.entries.get(e);if(i===void 0)throw new Error("Unreachable");if(this.libzip.file.setMtime(this.zip,i,0,ihe(r),0)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip))}async mkdirPromise(e,r){return this.mkdirSync(e,r)}mkdirSync(e,{mode:r=493,recursive:i=!1}={}){if(i){this.mkdirpSync(e,{chmod:r});return}if(this.readOnly)throw ln(`mkdir '${e}'`);let n=this.resolveFilename(`mkdir '${e}'`,e);if(this.entries.has(n)||this.listings.has(n))throw yE(`mkdir '${e}'`);this.hydrateDirectory(n),this.chmodSync(n,r)}async rmdirPromise(e,r){return this.rmdirSync(e,r)}rmdirSync(e,{recursive:r=!1}={}){if(this.readOnly)throw ln(`rmdir '${e}'`);if(r){this.removeSync(e);return}let i=this.resolveFilename(`rmdir '${e}'`,e),n=this.listings.get(i);if(!n)throw eo(`rmdir '${e}'`);if(n.size>0)throw dO(`rmdir '${e}'`);let s=this.entries.get(i);if(typeof s=="undefined")throw $a(`rmdir '${e}'`);this.deleteEntry(e,s)}hydrateDirectory(e){let r=this.libzip.dir.add(this.zip,v.relative(Se.root,e));if(r===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));return this.registerListing(e),this.registerEntry(e,r),r}async linkPromise(e,r){return this.linkSync(e,r)}linkSync(e,r){throw CO(`link '${e}' -> '${r}'`)}async symlinkPromise(e,r){return this.symlinkSync(e,r)}symlinkSync(e,r){if(this.readOnly)throw ln(`symlink '${e}' -> '${r}'`);let i=this.resolveFilename(`symlink '${e}' -> '${r}'`,r);if(this.listings.has(i))throw rh(`symlink '${e}' -> '${r}'`);if(this.entries.has(i))throw yE(`symlink '${e}' -> '${r}'`);let n=this.setFileSource(i,e);if(this.registerEntry(i,n),this.libzip.file.setExternalAttributes(this.zip,n,0,0,this.libzip.ZIP_OPSYS_UNIX,(_o|511)<<16)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));this.symlinkCount+=1}async readFilePromise(e,r){typeof r=="object"&&(r=r?r.encoding:void 0);let i=await this.readFileBuffer(e,{asyncDecompress:!0});return r?i.toString(r):i}readFileSync(e,r){typeof r=="object"&&(r=r?r.encoding:void 0);let i=this.readFileBuffer(e);return r?i.toString(r):i}readFileBuffer(e,r={asyncDecompress:!1}){typeof e=="number"&&(e=this.fdToPath(e,"read"));let i=this.resolveFilename(`open '${e}'`,e);if(!this.entries.has(i)&&!this.listings.has(i))throw bs(`open '${e}'`);if(e[e.length-1]==="/"&&!this.listings.has(i))throw eo(`open '${e}'`);if(this.listings.has(i))throw rh("read");let n=this.entries.get(i);if(n===void 0)throw new Error("Unreachable");return this.getFileSource(n,r)}async readdirPromise(e,r){return this.readdirSync(e,r)}readdirSync(e,r){let i=this.resolveFilename(`scandir '${e}'`,e);if(!this.entries.has(i)&&!this.listings.has(i))throw bs(`scandir '${e}'`);let n=this.listings.get(i);if(!n)throw eo(`scandir '${e}'`);let s=[...n];return(r==null?void 0:r.withFileTypes)?s.map(o=>Object.assign(this.statImpl("lstat",v.join(e,o)),{name:o})):s}async readlinkPromise(e){let r=this.prepareReadlink(e);return(await this.getFileSource(r,{asyncDecompress:!0})).toString()}readlinkSync(e){let r=this.prepareReadlink(e);return this.getFileSource(r).toString()}prepareReadlink(e){let r=this.resolveFilename(`readlink '${e}'`,e,!1);if(!this.entries.has(r)&&!this.listings.has(r))throw bs(`readlink '${e}'`);if(e[e.length-1]==="/"&&!this.listings.has(r))throw eo(`open '${e}'`);if(this.listings.has(r))throw $a(`readlink '${e}'`);let i=this.entries.get(r);if(i===void 0)throw new Error("Unreachable");if(!this.isSymbolicLink(i))throw $a(`readlink '${e}'`);return i}async truncatePromise(e,r=0){let i=this.resolveFilename(`open '${e}'`,e),n=this.entries.get(i);if(typeof n=="undefined")throw $a(`open '${e}'`);let s=await this.getFileSource(n,{asyncDecompress:!0}),o=Buffer.alloc(r,0);return s.copy(o),await this.writeFilePromise(e,o)}truncateSync(e,r=0){let i=this.resolveFilename(`open '${e}'`,e),n=this.entries.get(i);if(typeof n=="undefined")throw $a(`open '${e}'`);let s=this.getFileSource(n),o=Buffer.alloc(r,0);return s.copy(o),this.writeFileSync(e,o)}watch(e,r,i){let n;switch(typeof r){case"function":case"string":case"undefined":n=!0;break;default:({persistent:n=!0}=r);break}if(!n)return{on:()=>{},close:()=>{}};let s=setInterval(()=>{},24*60*60*1e3);return{on:()=>{},close:()=>{clearInterval(s)}}}watchFile(e,r,i){let n=v.resolve(Se.root,e);return QE(this,n,r,i)}unwatchFile(e,r){let i=v.resolve(Se.root,e);return nh(this,i,r)}};var fi=class extends eA{getExtractHint(e){return this.baseFs.getExtractHint(e)}resolve(e){return this.mapFromBase(this.baseFs.resolve(this.mapToBase(e)))}getRealPath(){return this.mapFromBase(this.baseFs.getRealPath())}async openPromise(e,r,i){return this.baseFs.openPromise(this.mapToBase(e),r,i)}openSync(e,r,i){return this.baseFs.openSync(this.mapToBase(e),r,i)}async opendirPromise(e,r){return Object.assign(await this.baseFs.opendirPromise(this.mapToBase(e),r),{path:e})}opendirSync(e,r){return Object.assign(this.baseFs.opendirSync(this.mapToBase(e),r),{path:e})}async readPromise(e,r,i,n,s){return await this.baseFs.readPromise(e,r,i,n,s)}readSync(e,r,i,n,s){return this.baseFs.readSync(e,r,i,n,s)}async writePromise(e,r,i,n,s){return typeof r=="string"?await this.baseFs.writePromise(e,r,i):await this.baseFs.writePromise(e,r,i,n,s)}writeSync(e,r,i,n,s){return typeof r=="string"?this.baseFs.writeSync(e,r,i):this.baseFs.writeSync(e,r,i,n,s)}async closePromise(e){return this.baseFs.closePromise(e)}closeSync(e){this.baseFs.closeSync(e)}createReadStream(e,r){return this.baseFs.createReadStream(e!==null?this.mapToBase(e):e,r)}createWriteStream(e,r){return this.baseFs.createWriteStream(e!==null?this.mapToBase(e):e,r)}async realpathPromise(e){return this.mapFromBase(await this.baseFs.realpathPromise(this.mapToBase(e)))}realpathSync(e){return this.mapFromBase(this.baseFs.realpathSync(this.mapToBase(e)))}async existsPromise(e){return this.baseFs.existsPromise(this.mapToBase(e))}existsSync(e){return this.baseFs.existsSync(this.mapToBase(e))}accessSync(e,r){return this.baseFs.accessSync(this.mapToBase(e),r)}async accessPromise(e,r){return this.baseFs.accessPromise(this.mapToBase(e),r)}async statPromise(e,r){return this.baseFs.statPromise(this.mapToBase(e),r)}statSync(e,r){return this.baseFs.statSync(this.mapToBase(e),r)}async fstatPromise(e,r){return this.baseFs.fstatPromise(e,r)}fstatSync(e,r){return this.baseFs.fstatSync(e,r)}async lstatPromise(e,r){return this.baseFs.lstatPromise(this.mapToBase(e),r)}lstatSync(e,r){return this.baseFs.lstatSync(this.mapToBase(e),r)}async chmodPromise(e,r){return this.baseFs.chmodPromise(this.mapToBase(e),r)}chmodSync(e,r){return this.baseFs.chmodSync(this.mapToBase(e),r)}async chownPromise(e,r,i){return this.baseFs.chownPromise(this.mapToBase(e),r,i)}chownSync(e,r,i){return this.baseFs.chownSync(this.mapToBase(e),r,i)}async renamePromise(e,r){return this.baseFs.renamePromise(this.mapToBase(e),this.mapToBase(r))}renameSync(e,r){return this.baseFs.renameSync(this.mapToBase(e),this.mapToBase(r))}async copyFilePromise(e,r,i=0){return this.baseFs.copyFilePromise(this.mapToBase(e),this.mapToBase(r),i)}copyFileSync(e,r,i=0){return this.baseFs.copyFileSync(this.mapToBase(e),this.mapToBase(r),i)}async appendFilePromise(e,r,i){return this.baseFs.appendFilePromise(this.fsMapToBase(e),r,i)}appendFileSync(e,r,i){return this.baseFs.appendFileSync(this.fsMapToBase(e),r,i)}async writeFilePromise(e,r,i){return this.baseFs.writeFilePromise(this.fsMapToBase(e),r,i)}writeFileSync(e,r,i){return this.baseFs.writeFileSync(this.fsMapToBase(e),r,i)}async unlinkPromise(e){return this.baseFs.unlinkPromise(this.mapToBase(e))}unlinkSync(e){return this.baseFs.unlinkSync(this.mapToBase(e))}async utimesPromise(e,r,i){return this.baseFs.utimesPromise(this.mapToBase(e),r,i)}utimesSync(e,r,i){return this.baseFs.utimesSync(this.mapToBase(e),r,i)}async mkdirPromise(e,r){return this.baseFs.mkdirPromise(this.mapToBase(e),r)}mkdirSync(e,r){return this.baseFs.mkdirSync(this.mapToBase(e),r)}async rmdirPromise(e,r){return this.baseFs.rmdirPromise(this.mapToBase(e),r)}rmdirSync(e,r){return this.baseFs.rmdirSync(this.mapToBase(e),r)}async linkPromise(e,r){return this.baseFs.linkPromise(this.mapToBase(e),this.mapToBase(r))}linkSync(e,r){return this.baseFs.linkSync(this.mapToBase(e),this.mapToBase(r))}async symlinkPromise(e,r,i){let n=this.mapToBase(r);if(this.pathUtils.isAbsolute(e))return this.baseFs.symlinkPromise(this.mapToBase(e),n,i);let s=this.mapToBase(this.pathUtils.join(this.pathUtils.dirname(r),e)),o=this.baseFs.pathUtils.relative(this.baseFs.pathUtils.dirname(n),s);return this.baseFs.symlinkPromise(o,n,i)}symlinkSync(e,r,i){let n=this.mapToBase(r);if(this.pathUtils.isAbsolute(e))return this.baseFs.symlinkSync(this.mapToBase(e),n,i);let s=this.mapToBase(this.pathUtils.join(this.pathUtils.dirname(r),e)),o=this.baseFs.pathUtils.relative(this.baseFs.pathUtils.dirname(n),s);return this.baseFs.symlinkSync(o,n,i)}async readFilePromise(e,r){return r==="utf8"?this.baseFs.readFilePromise(this.fsMapToBase(e),r):this.baseFs.readFilePromise(this.fsMapToBase(e),r)}readFileSync(e,r){return r==="utf8"?this.baseFs.readFileSync(this.fsMapToBase(e),r):this.baseFs.readFileSync(this.fsMapToBase(e),r)}async readdirPromise(e,r){return this.baseFs.readdirPromise(this.mapToBase(e),r)}readdirSync(e,r){return this.baseFs.readdirSync(this.mapToBase(e),r)}async readlinkPromise(e){return this.mapFromBase(await this.baseFs.readlinkPromise(this.mapToBase(e)))}readlinkSync(e){return this.mapFromBase(this.baseFs.readlinkSync(this.mapToBase(e)))}async truncatePromise(e,r){return this.baseFs.truncatePromise(this.mapToBase(e),r)}truncateSync(e,r){return this.baseFs.truncateSync(this.mapToBase(e),r)}watch(e,r,i){return this.baseFs.watch(this.mapToBase(e),r,i)}watchFile(e,r,i){return this.baseFs.watchFile(this.mapToBase(e),r,i)}unwatchFile(e,r){return this.baseFs.unwatchFile(this.mapToBase(e),r)}fsMapToBase(e){return typeof e=="number"?e:this.mapToBase(e)}};var Xo=class extends fi{constructor(e,{baseFs:r,pathUtils:i}){super(i);this.target=e,this.baseFs=r}getRealPath(){return this.target}getBaseFs(){return this.baseFs}mapFromBase(e){return e}mapToBase(e){return e}};var Ft=class extends fi{constructor(e,{baseFs:r=new Wt}={}){super(v);this.target=this.pathUtils.normalize(e),this.baseFs=r}getRealPath(){return this.pathUtils.resolve(this.baseFs.getRealPath(),this.target)}resolve(e){return this.pathUtils.isAbsolute(e)?v.normalize(e):this.baseFs.resolve(v.join(this.target,e))}mapFromBase(e){return e}mapToBase(e){return this.pathUtils.isAbsolute(e)?e:this.pathUtils.join(this.target,e)}};var vO=Se.root,Zo=class extends fi{constructor(e,{baseFs:r=new Wt}={}){super(v);this.target=this.pathUtils.resolve(Se.root,e),this.baseFs=r}getRealPath(){return this.pathUtils.resolve(this.baseFs.getRealPath(),this.pathUtils.relative(Se.root,this.target))}getTarget(){return this.target}getBaseFs(){return this.baseFs}mapToBase(e){let r=this.pathUtils.normalize(e);if(this.pathUtils.isAbsolute(e))return this.pathUtils.resolve(this.target,this.pathUtils.relative(vO,e));if(r.match(/^\.\.\/?/))throw new Error(`Resolving this path (${e}) would escape the jail`);return this.pathUtils.resolve(this.target,e)}mapFromBase(e){return this.pathUtils.resolve(vO,this.pathUtils.relative(this.target,e))}};var oh=class extends fi{constructor(e,r){super(r);this.instance=null;this.factory=e}get baseFs(){return this.instance||(this.instance=this.factory()),this.instance}set baseFs(e){this.instance=e}mapFromBase(e){return e}mapToBase(e){return e}};var ze=()=>Object.assign(new Error("ENOSYS: unsupported filesystem access"),{code:"ENOSYS"}),gb=class extends eA{constructor(){super(v)}getExtractHint(){throw ze()}getRealPath(){throw ze()}resolve(){throw ze()}async openPromise(){throw ze()}openSync(){throw ze()}async opendirPromise(){throw ze()}opendirSync(){throw ze()}async readPromise(){throw ze()}readSync(){throw ze()}async writePromise(){throw ze()}writeSync(){throw ze()}async closePromise(){throw ze()}closeSync(){throw ze()}createWriteStream(){throw ze()}createReadStream(){throw ze()}async realpathPromise(){throw ze()}realpathSync(){throw ze()}async readdirPromise(){throw ze()}readdirSync(){throw ze()}async existsPromise(e){throw ze()}existsSync(e){throw ze()}async accessPromise(){throw ze()}accessSync(){throw ze()}async statPromise(){throw ze()}statSync(){throw ze()}async fstatPromise(e){throw ze()}fstatSync(e){throw ze()}async lstatPromise(e){throw ze()}lstatSync(e){throw ze()}async chmodPromise(){throw ze()}chmodSync(){throw ze()}async chownPromise(){throw ze()}chownSync(){throw ze()}async mkdirPromise(){throw ze()}mkdirSync(){throw ze()}async rmdirPromise(){throw ze()}rmdirSync(){throw ze()}async linkPromise(){throw ze()}linkSync(){throw ze()}async symlinkPromise(){throw ze()}symlinkSync(){throw ze()}async renamePromise(){throw ze()}renameSync(){throw ze()}async copyFilePromise(){throw ze()}copyFileSync(){throw ze()}async appendFilePromise(){throw ze()}appendFileSync(){throw ze()}async writeFilePromise(){throw ze()}writeFileSync(){throw ze()}async unlinkPromise(){throw ze()}unlinkSync(){throw ze()}async utimesPromise(){throw ze()}utimesSync(){throw ze()}async readFilePromise(){throw ze()}readFileSync(){throw ze()}async readlinkPromise(){throw ze()}readlinkSync(){throw ze()}async truncatePromise(){throw ze()}truncateSync(){throw ze()}watch(){throw ze()}watchFile(){throw ze()}unwatchFile(){throw ze()}},bE=gb;bE.instance=new gb;var ah=class extends fi{constructor(e){super(M);this.baseFs=e}mapFromBase(e){return M.fromPortablePath(e)}mapToBase(e){return M.toPortablePath(e)}};var nhe=/^[0-9]+$/,fb=/^(\/(?:[^/]+\/)*?(?:\$\$virtual|__virtual__))((?:\/((?:[^/]+-)?[a-f0-9]+)(?:\/([^/]+))?)?((?:\/.*)?))$/,she=/^([^/]+-)?[a-f0-9]+$/,Pr=class extends fi{static makeVirtualPath(e,r,i){if(v.basename(e)!=="__virtual__")throw new Error('Assertion failed: Virtual folders must be named "__virtual__"');if(!v.basename(r).match(she))throw new Error("Assertion failed: Virtual components must be ended by an hexadecimal hash");let s=v.relative(v.dirname(e),i).split("/"),o=0;for(;o{let r=t.indexOf(e);if(r<=0)return null;let i=r;for(;r>=0&&(i=r+e.length,t[i]!==v.sep);){if(t[r-1]===v.sep)return null;r=t.indexOf(e,i)}return t.length>i&&t[i]!==v.sep?null:t.slice(0,i)},Jn=class extends gl{constructor({libzip:e,baseFs:r=new Wt,filter:i=null,maxOpenFiles:n=Infinity,readOnlyArchives:s=!1,useCache:o=!0,maxAge:a=5e3,fileExtensions:l=null}){super();this.fdMap=new Map;this.nextFd=3;this.isZip=new Set;this.notZip=new Set;this.realPaths=new Map;this.limitOpenFilesTimeout=null;this.libzipFactory=typeof e!="function"?()=>e:e,this.baseFs=r,this.zipInstances=o?new Map:null,this.filter=i,this.maxOpenFiles=n,this.readOnlyArchives=s,this.maxAge=a,this.fileExtensions=l}static async openPromise(e,r){let i=new Jn(r);try{return await e(i)}finally{i.saveAndClose()}}get libzip(){return typeof this.libzipInstance=="undefined"&&(this.libzipInstance=this.libzipFactory()),this.libzipInstance}getExtractHint(e){return this.baseFs.getExtractHint(e)}getRealPath(){return this.baseFs.getRealPath()}saveAndClose(){if(sh(this),this.zipInstances)for(let[e,{zipFs:r}]of this.zipInstances.entries())r.saveAndClose(),this.zipInstances.delete(e)}discardAndClose(){if(sh(this),this.zipInstances)for(let[e,{zipFs:r}]of this.zipInstances.entries())r.discardAndClose(),this.zipInstances.delete(e)}resolve(e){return this.baseFs.resolve(e)}remapFd(e,r){let i=this.nextFd++|$o;return this.fdMap.set(i,[e,r]),i}async openPromise(e,r,i){return await this.makeCallPromise(e,async()=>await this.baseFs.openPromise(e,r,i),async(n,{subPath:s})=>this.remapFd(n,await n.openPromise(s,r,i)))}openSync(e,r,i){return this.makeCallSync(e,()=>this.baseFs.openSync(e,r,i),(n,{subPath:s})=>this.remapFd(n,n.openSync(s,r,i)))}async opendirPromise(e,r){return await this.makeCallPromise(e,async()=>await this.baseFs.opendirPromise(e,r),async(i,{subPath:n})=>await i.opendirPromise(n,r),{requireSubpath:!1})}opendirSync(e,r){return this.makeCallSync(e,()=>this.baseFs.opendirSync(e,r),(i,{subPath:n})=>i.opendirSync(n,r),{requireSubpath:!1})}async readPromise(e,r,i,n,s){if((e&$o)==0)return await this.baseFs.readPromise(e,r,i,n,s);let o=this.fdMap.get(e);if(typeof o=="undefined")throw Hi("read");let[a,l]=o;return await a.readPromise(l,r,i,n,s)}readSync(e,r,i,n,s){if((e&$o)==0)return this.baseFs.readSync(e,r,i,n,s);let o=this.fdMap.get(e);if(typeof o=="undefined")throw Hi("readSync");let[a,l]=o;return a.readSync(l,r,i,n,s)}async writePromise(e,r,i,n,s){if((e&$o)==0)return typeof r=="string"?await this.baseFs.writePromise(e,r,i):await this.baseFs.writePromise(e,r,i,n,s);let o=this.fdMap.get(e);if(typeof o=="undefined")throw Hi("write");let[a,l]=o;return typeof r=="string"?await a.writePromise(l,r,i):await a.writePromise(l,r,i,n,s)}writeSync(e,r,i,n,s){if((e&$o)==0)return typeof r=="string"?this.baseFs.writeSync(e,r,i):this.baseFs.writeSync(e,r,i,n,s);let o=this.fdMap.get(e);if(typeof o=="undefined")throw Hi("writeSync");let[a,l]=o;return typeof r=="string"?a.writeSync(l,r,i):a.writeSync(l,r,i,n,s)}async closePromise(e){if((e&$o)==0)return await this.baseFs.closePromise(e);let r=this.fdMap.get(e);if(typeof r=="undefined")throw Hi("close");this.fdMap.delete(e);let[i,n]=r;return await i.closePromise(n)}closeSync(e){if((e&$o)==0)return this.baseFs.closeSync(e);let r=this.fdMap.get(e);if(typeof r=="undefined")throw Hi("closeSync");this.fdMap.delete(e);let[i,n]=r;return i.closeSync(n)}createReadStream(e,r){return e===null?this.baseFs.createReadStream(e,r):this.makeCallSync(e,()=>this.baseFs.createReadStream(e,r),(i,{subPath:n})=>i.createReadStream(n,r))}createWriteStream(e,r){return e===null?this.baseFs.createWriteStream(e,r):this.makeCallSync(e,()=>this.baseFs.createWriteStream(e,r),(i,{subPath:n})=>i.createWriteStream(n,r))}async realpathPromise(e){return await this.makeCallPromise(e,async()=>await this.baseFs.realpathPromise(e),async(r,{archivePath:i,subPath:n})=>{let s=this.realPaths.get(i);return typeof s=="undefined"&&(s=await this.baseFs.realpathPromise(i),this.realPaths.set(i,s)),this.pathUtils.join(s,this.pathUtils.relative(Se.root,await r.realpathPromise(n)))})}realpathSync(e){return this.makeCallSync(e,()=>this.baseFs.realpathSync(e),(r,{archivePath:i,subPath:n})=>{let s=this.realPaths.get(i);return typeof s=="undefined"&&(s=this.baseFs.realpathSync(i),this.realPaths.set(i,s)),this.pathUtils.join(s,this.pathUtils.relative(Se.root,r.realpathSync(n)))})}async existsPromise(e){return await this.makeCallPromise(e,async()=>await this.baseFs.existsPromise(e),async(r,{subPath:i})=>await r.existsPromise(i))}existsSync(e){return this.makeCallSync(e,()=>this.baseFs.existsSync(e),(r,{subPath:i})=>r.existsSync(i))}async accessPromise(e,r){return await this.makeCallPromise(e,async()=>await this.baseFs.accessPromise(e,r),async(i,{subPath:n})=>await i.accessPromise(n,r))}accessSync(e,r){return this.makeCallSync(e,()=>this.baseFs.accessSync(e,r),(i,{subPath:n})=>i.accessSync(n,r))}async statPromise(e,r){return await this.makeCallPromise(e,async()=>await this.baseFs.statPromise(e,r),async(i,{subPath:n})=>await i.statPromise(n,r))}statSync(e,r){return this.makeCallSync(e,()=>this.baseFs.statSync(e,r),(i,{subPath:n})=>i.statSync(n,r))}async fstatPromise(e,r){if((e&$o)==0)return this.baseFs.fstatPromise(e,r);let i=this.fdMap.get(e);if(typeof i=="undefined")throw Hi("fstat");let[n,s]=i;return n.fstatPromise(s,r)}fstatSync(e,r){if((e&$o)==0)return this.baseFs.fstatSync(e,r);let i=this.fdMap.get(e);if(typeof i=="undefined")throw Hi("fstatSync");let[n,s]=i;return n.fstatSync(s,r)}async lstatPromise(e,r){return await this.makeCallPromise(e,async()=>await this.baseFs.lstatPromise(e,r),async(i,{subPath:n})=>await i.lstatPromise(n,r))}lstatSync(e,r){return this.makeCallSync(e,()=>this.baseFs.lstatSync(e,r),(i,{subPath:n})=>i.lstatSync(n,r))}async chmodPromise(e,r){return await this.makeCallPromise(e,async()=>await this.baseFs.chmodPromise(e,r),async(i,{subPath:n})=>await i.chmodPromise(n,r))}chmodSync(e,r){return this.makeCallSync(e,()=>this.baseFs.chmodSync(e,r),(i,{subPath:n})=>i.chmodSync(n,r))}async chownPromise(e,r,i){return await this.makeCallPromise(e,async()=>await this.baseFs.chownPromise(e,r,i),async(n,{subPath:s})=>await n.chownPromise(s,r,i))}chownSync(e,r,i){return this.makeCallSync(e,()=>this.baseFs.chownSync(e,r,i),(n,{subPath:s})=>n.chownSync(s,r,i))}async renamePromise(e,r){return await this.makeCallPromise(e,async()=>await this.makeCallPromise(r,async()=>await this.baseFs.renamePromise(e,r),async()=>{throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"})}),async(i,{subPath:n})=>await this.makeCallPromise(r,async()=>{throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"})},async(s,{subPath:o})=>{if(i!==s)throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"});return await i.renamePromise(n,o)}))}renameSync(e,r){return this.makeCallSync(e,()=>this.makeCallSync(r,()=>this.baseFs.renameSync(e,r),()=>{throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"})}),(i,{subPath:n})=>this.makeCallSync(r,()=>{throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"})},(s,{subPath:o})=>{if(i!==s)throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"});return i.renameSync(n,o)}))}async copyFilePromise(e,r,i=0){let n=async(s,o,a,l)=>{if((i&Ah.constants.COPYFILE_FICLONE_FORCE)!=0)throw Object.assign(new Error(`EXDEV: cross-device clone not permitted, copyfile '${o}' -> ${l}'`),{code:"EXDEV"});if(i&Ah.constants.COPYFILE_EXCL&&await this.existsPromise(o))throw Object.assign(new Error(`EEXIST: file already exists, copyfile '${o}' -> '${l}'`),{code:"EEXIST"});let c;try{c=await s.readFilePromise(o)}catch(u){throw Object.assign(new Error(`EINVAL: invalid argument, copyfile '${o}' -> '${l}'`),{code:"EINVAL"})}await a.writeFilePromise(l,c)};return await this.makeCallPromise(e,async()=>await this.makeCallPromise(r,async()=>await this.baseFs.copyFilePromise(e,r,i),async(s,{subPath:o})=>await n(this.baseFs,e,s,o)),async(s,{subPath:o})=>await this.makeCallPromise(r,async()=>await n(s,o,this.baseFs,r),async(a,{subPath:l})=>s!==a?await n(s,o,a,l):await s.copyFilePromise(o,l,i)))}copyFileSync(e,r,i=0){let n=(s,o,a,l)=>{if((i&Ah.constants.COPYFILE_FICLONE_FORCE)!=0)throw Object.assign(new Error(`EXDEV: cross-device clone not permitted, copyfile '${o}' -> ${l}'`),{code:"EXDEV"});if(i&Ah.constants.COPYFILE_EXCL&&this.existsSync(o))throw Object.assign(new Error(`EEXIST: file already exists, copyfile '${o}' -> '${l}'`),{code:"EEXIST"});let c;try{c=s.readFileSync(o)}catch(u){throw Object.assign(new Error(`EINVAL: invalid argument, copyfile '${o}' -> '${l}'`),{code:"EINVAL"})}a.writeFileSync(l,c)};return this.makeCallSync(e,()=>this.makeCallSync(r,()=>this.baseFs.copyFileSync(e,r,i),(s,{subPath:o})=>n(this.baseFs,e,s,o)),(s,{subPath:o})=>this.makeCallSync(r,()=>n(s,o,this.baseFs,r),(a,{subPath:l})=>s!==a?n(s,o,a,l):s.copyFileSync(o,l,i)))}async appendFilePromise(e,r,i){return await this.makeCallPromise(e,async()=>await this.baseFs.appendFilePromise(e,r,i),async(n,{subPath:s})=>await n.appendFilePromise(s,r,i))}appendFileSync(e,r,i){return this.makeCallSync(e,()=>this.baseFs.appendFileSync(e,r,i),(n,{subPath:s})=>n.appendFileSync(s,r,i))}async writeFilePromise(e,r,i){return await this.makeCallPromise(e,async()=>await this.baseFs.writeFilePromise(e,r,i),async(n,{subPath:s})=>await n.writeFilePromise(s,r,i))}writeFileSync(e,r,i){return this.makeCallSync(e,()=>this.baseFs.writeFileSync(e,r,i),(n,{subPath:s})=>n.writeFileSync(s,r,i))}async unlinkPromise(e){return await this.makeCallPromise(e,async()=>await this.baseFs.unlinkPromise(e),async(r,{subPath:i})=>await r.unlinkPromise(i))}unlinkSync(e){return this.makeCallSync(e,()=>this.baseFs.unlinkSync(e),(r,{subPath:i})=>r.unlinkSync(i))}async utimesPromise(e,r,i){return await this.makeCallPromise(e,async()=>await this.baseFs.utimesPromise(e,r,i),async(n,{subPath:s})=>await n.utimesPromise(s,r,i))}utimesSync(e,r,i){return this.makeCallSync(e,()=>this.baseFs.utimesSync(e,r,i),(n,{subPath:s})=>n.utimesSync(s,r,i))}async mkdirPromise(e,r){return await this.makeCallPromise(e,async()=>await this.baseFs.mkdirPromise(e,r),async(i,{subPath:n})=>await i.mkdirPromise(n,r))}mkdirSync(e,r){return this.makeCallSync(e,()=>this.baseFs.mkdirSync(e,r),(i,{subPath:n})=>i.mkdirSync(n,r))}async rmdirPromise(e,r){return await this.makeCallPromise(e,async()=>await this.baseFs.rmdirPromise(e,r),async(i,{subPath:n})=>await i.rmdirPromise(n,r))}rmdirSync(e,r){return this.makeCallSync(e,()=>this.baseFs.rmdirSync(e,r),(i,{subPath:n})=>i.rmdirSync(n,r))}async linkPromise(e,r){return await this.makeCallPromise(r,async()=>await this.baseFs.linkPromise(e,r),async(i,{subPath:n})=>await i.linkPromise(e,n))}linkSync(e,r){return this.makeCallSync(r,()=>this.baseFs.linkSync(e,r),(i,{subPath:n})=>i.linkSync(e,n))}async symlinkPromise(e,r,i){return await this.makeCallPromise(r,async()=>await this.baseFs.symlinkPromise(e,r,i),async(n,{subPath:s})=>await n.symlinkPromise(e,s))}symlinkSync(e,r,i){return this.makeCallSync(r,()=>this.baseFs.symlinkSync(e,r,i),(n,{subPath:s})=>n.symlinkSync(e,s))}async readFilePromise(e,r){return this.makeCallPromise(e,async()=>{switch(r){case"utf8":return await this.baseFs.readFilePromise(e,r);default:return await this.baseFs.readFilePromise(e,r)}},async(i,{subPath:n})=>await i.readFilePromise(n,r))}readFileSync(e,r){return this.makeCallSync(e,()=>{switch(r){case"utf8":return this.baseFs.readFileSync(e,r);default:return this.baseFs.readFileSync(e,r)}},(i,{subPath:n})=>i.readFileSync(n,r))}async readdirPromise(e,r){return await this.makeCallPromise(e,async()=>await this.baseFs.readdirPromise(e,r),async(i,{subPath:n})=>await i.readdirPromise(n,r),{requireSubpath:!1})}readdirSync(e,r){return this.makeCallSync(e,()=>this.baseFs.readdirSync(e,r),(i,{subPath:n})=>i.readdirSync(n,r),{requireSubpath:!1})}async readlinkPromise(e){return await this.makeCallPromise(e,async()=>await this.baseFs.readlinkPromise(e),async(r,{subPath:i})=>await r.readlinkPromise(i))}readlinkSync(e){return this.makeCallSync(e,()=>this.baseFs.readlinkSync(e),(r,{subPath:i})=>r.readlinkSync(i))}async truncatePromise(e,r){return await this.makeCallPromise(e,async()=>await this.baseFs.truncatePromise(e,r),async(i,{subPath:n})=>await i.truncatePromise(n,r))}truncateSync(e,r){return this.makeCallSync(e,()=>this.baseFs.truncateSync(e,r),(i,{subPath:n})=>i.truncateSync(n,r))}watch(e,r,i){return this.makeCallSync(e,()=>this.baseFs.watch(e,r,i),(n,{subPath:s})=>n.watch(s,r,i))}watchFile(e,r,i){return this.makeCallSync(e,()=>this.baseFs.watchFile(e,r,i),()=>QE(this,e,r,i))}unwatchFile(e,r){return this.makeCallSync(e,()=>this.baseFs.unwatchFile(e,r),()=>nh(this,e,r))}async makeCallPromise(e,r,i,{requireSubpath:n=!0}={}){if(typeof e!="string")return await r();let s=this.resolve(e),o=this.findZip(s);return o?n&&o.subPath==="/"?await r():await this.getZipPromise(o.archivePath,async a=>await i(a,o)):await r()}makeCallSync(e,r,i,{requireSubpath:n=!0}={}){if(typeof e!="string")return r();let s=this.resolve(e),o=this.findZip(s);return!o||n&&o.subPath==="/"?r():this.getZipSync(o.archivePath,a=>i(a,o))}findZip(e){if(this.filter&&!this.filter.test(e))return null;let r="";for(;;){let i=e.substr(r.length),n;if(!this.fileExtensions)n=SO(i,".zip");else for(let s of this.fileExtensions)if(n=SO(i,s),n)break;if(!n)return null;if(r=this.pathUtils.join(r,n),this.isZip.has(r)===!1){if(this.notZip.has(r))continue;try{if(!this.baseFs.lstatSync(r).isFile()){this.notZip.add(r);continue}}catch{return null}this.isZip.add(r)}return{archivePath:r,subPath:this.pathUtils.join(Se.root,e.substr(r.length))}}}limitOpenFiles(e){if(this.zipInstances===null)return;let r=Date.now(),i=r+this.maxAge,n=e===null?0:this.zipInstances.size-e;for(let[s,{zipFs:o,expiresAt:a,refCount:l}]of this.zipInstances.entries())if(!(l!==0||o.hasOpenFileHandles())){if(r>=a){o.saveAndClose(),this.zipInstances.delete(s),n-=1;continue}else if(e===null||n<=0){i=a;break}o.saveAndClose(),this.zipInstances.delete(s),n-=1}this.limitOpenFilesTimeout===null&&(e===null&&this.zipInstances.size>0||e!==null)&&(this.limitOpenFilesTimeout=setTimeout(()=>{this.limitOpenFilesTimeout=null,this.limitOpenFiles(null)},i-r).unref())}async getZipPromise(e,r){let i=async()=>({baseFs:this.baseFs,libzip:this.libzip,readOnly:this.readOnlyArchives,stats:await this.baseFs.statPromise(e)});if(this.zipInstances){let n=this.zipInstances.get(e);if(!n){let s=await i();n=this.zipInstances.get(e),n||(n={zipFs:new Jr(e,s),expiresAt:0,refCount:0})}this.zipInstances.delete(e),this.limitOpenFiles(this.maxOpenFiles-1),this.zipInstances.set(e,n),n.expiresAt=Date.now()+this.maxAge,n.refCount+=1;try{return await r(n.zipFs)}finally{n.refCount-=1}}else{let n=new Jr(e,await i());try{return await r(n)}finally{n.saveAndClose()}}}getZipSync(e,r){let i=()=>({baseFs:this.baseFs,libzip:this.libzip,readOnly:this.readOnlyArchives,stats:this.baseFs.statSync(e)});if(this.zipInstances){let n=this.zipInstances.get(e);return n||(n={zipFs:new Jr(e,i()),expiresAt:0,refCount:0}),this.zipInstances.delete(e),this.limitOpenFiles(this.maxOpenFiles-1),this.zipInstances.set(e,n),n.expiresAt=Date.now()+this.maxAge,r(n.zipFs)}else{let n=new Jr(e,i());try{return r(n)}finally{n.saveAndClose()}}}};var lh=ie(require("util"));var vE=ie(require("url"));var hb=class extends fi{constructor(e){super(M);this.baseFs=e}mapFromBase(e){return e}mapToBase(e){return e instanceof vE.URL?(0,vE.fileURLToPath)(e):e}};var ohe=new Set(["accessSync","appendFileSync","createReadStream","createWriteStream","chmodSync","chownSync","closeSync","copyFileSync","linkSync","lstatSync","fstatSync","lutimesSync","mkdirSync","openSync","opendirSync","readSync","readlinkSync","readFileSync","readdirSync","readlinkSync","realpathSync","renameSync","rmdirSync","statSync","symlinkSync","truncateSync","unlinkSync","unwatchFile","utimesSync","watch","watchFile","writeFileSync","writeSync"]),xO=new Set(["accessPromise","appendFilePromise","chmodPromise","chownPromise","closePromise","copyFilePromise","linkPromise","fstatPromise","lstatPromise","lutimesPromise","mkdirPromise","openPromise","opendirPromise","readdirPromise","realpathPromise","readFilePromise","readdirPromise","readlinkPromise","renamePromise","rmdirPromise","statPromise","symlinkPromise","truncatePromise","unlinkPromise","utimesPromise","writeFilePromise","writeSync"]),ahe=new Set(["appendFilePromise","chmodPromise","chownPromise","closePromise","readPromise","readFilePromise","statPromise","truncatePromise","utimesPromise","writePromise","writeFilePromise"]);function pb(t,e){e=new hb(e);let r=(i,n,s)=>{let o=i[n];i[n]=s,typeof(o==null?void 0:o[lh.promisify.custom])!="undefined"&&(s[lh.promisify.custom]=o[lh.promisify.custom])};{r(t,"exists",(i,...n)=>{let o=typeof n[n.length-1]=="function"?n.pop():()=>{};process.nextTick(()=>{e.existsPromise(i).then(a=>{o(a)},()=>{o(!1)})})}),r(t,"read",(i,n,...s)=>{let a=typeof s[s.length-1]=="function"?s.pop():()=>{};process.nextTick(()=>{e.readPromise(i,n,...s).then(l=>{a(null,l,n)},l=>{a(l,0,n)})})});for(let i of xO){let n=i.replace(/Promise$/,"");if(typeof t[n]=="undefined")continue;let s=e[i];if(typeof s=="undefined")continue;r(t,n,(...a)=>{let c=typeof a[a.length-1]=="function"?a.pop():()=>{};process.nextTick(()=>{s.apply(e,a).then(u=>{c(null,u)},u=>{c(u)})})})}t.realpath.native=t.realpath}{r(t,"existsSync",i=>{try{return e.existsSync(i)}catch(n){return!1}});for(let i of ohe){let n=i;if(typeof t[n]=="undefined")continue;let s=e[i];typeof s!="undefined"&&r(t,n,s.bind(e))}t.realpathSync.native=t.realpathSync}{let i=process.emitWarning;process.emitWarning=()=>{};let n;try{n=t.promises}finally{process.emitWarning=i}if(typeof n!="undefined"){for(let o of xO){let a=o.replace(/Promise$/,"");if(typeof n[a]=="undefined")continue;let l=e[o];typeof l!="undefined"&&o!=="open"&&r(n,a,l.bind(e))}class s{constructor(a){this.fd=a}}for(let o of ahe){let a=o.replace(/Promise$/,""),l=e[o];typeof l!="undefined"&&r(s.prototype,a,function(...c){return l.call(e,this.fd,...c)})}r(n,"open",async(...o)=>{let a=await e.openPromise(...o);return new s(a)})}}t.read[lh.promisify.custom]=async(i,n,...s)=>({bytesRead:await e.readPromise(i,n,...s),buffer:n})}function SE(t,e){let r=Object.create(t);return pb(r,e),r}var kO=ie(require("os"));function PO(t){let e=M.toPortablePath(kO.default.tmpdir()),r=Math.ceil(Math.random()*4294967296).toString(16).padStart(8,"0");return v.join(e,`${t}${r}`)}var vs=new Set,DO=!1;function RO(){DO||(DO=!0,process.once("exit",()=>{T.rmtempSync()}))}var T=Object.assign(new Wt,{detachTemp(t){vs.delete(t)},mktempSync(t){for(RO();;){let e=PO("xfs-");try{this.mkdirSync(e)}catch(i){if(i.code==="EEXIST")continue;throw i}let r=this.realpathSync(e);if(vs.add(r),typeof t!="undefined")try{return t(r)}finally{if(vs.has(r)){vs.delete(r);try{this.removeSync(r)}catch{}}}else return r}},async mktempPromise(t){for(RO();;){let e=PO("xfs-");try{await this.mkdirPromise(e)}catch(i){if(i.code==="EEXIST")continue;throw i}let r=await this.realpathPromise(e);if(vs.add(r),typeof t!="undefined")try{return await t(r)}finally{if(vs.has(r)){vs.delete(r);try{await this.removePromise(r)}catch{}}}else return r}},async rmtempPromise(){await Promise.all(Array.from(vs.values()).map(async t=>{try{await T.removePromise(t,{maxRetries:0}),vs.delete(t)}catch{}}))},rmtempSync(){for(let t of vs)try{T.removeSync(t),vs.delete(t)}catch{}}});var vb=ie(bb()),Pn;(function(i){i[i.Never=0]="Never",i[i.ErrorCode=1]="ErrorCode",i[i.Always=2]="Always"})(Pn||(Pn={}));function dl(t){return t!==null&&typeof t.fd=="number"}var Cl=new Set;function Sb(){}function xb(){for(let t of Cl)t.kill()}async function to(t,e,{cwd:r,env:i=process.env,strict:n=!1,stdin:s=null,stdout:o,stderr:a,end:l=2}){let c=["pipe","pipe","pipe"];s===null?c[0]="ignore":dl(s)&&(c[0]=s),dl(o)&&(c[1]=o),dl(a)&&(c[2]=a);let u=(0,vb.default)(t,e,{cwd:M.fromPortablePath(r),env:_(P({},i),{PWD:M.fromPortablePath(r)}),stdio:c});Cl.add(u),Cl.size===1&&(process.on("SIGINT",Sb),process.on("SIGTERM",xb)),!dl(s)&&s!==null&&s.pipe(u.stdin),dl(o)||u.stdout.pipe(o,{end:!1}),dl(a)||u.stderr.pipe(a,{end:!1});let g=()=>{for(let f of new Set([o,a]))dl(f)||f.end()};return new Promise((f,h)=>{u.on("error",p=>{Cl.delete(u),Cl.size===0&&(process.off("SIGINT",Sb),process.off("SIGTERM",xb)),(l===2||l===1)&&g(),h(p)}),u.on("close",(p,d)=>{Cl.delete(u),Cl.size===0&&(process.off("SIGINT",Sb),process.off("SIGTERM",xb)),(l===2||l===1&&p>0)&&g(),p===0||!n?f({code:kb(p,d)}):h(p!==null?new Error(`Child "${t}" exited with exit code ${p}`):new Error(`Child "${t}" exited with signal ${d}`))})})}async function Nhe(t,e,{cwd:r,env:i=process.env,encoding:n="utf8",strict:s=!1}){let o=["ignore","pipe","pipe"],a=[],l=[],c=M.fromPortablePath(r);typeof i.PWD!="undefined"&&(i=_(P({},i),{PWD:c}));let u=(0,vb.default)(t,e,{cwd:c,env:i,stdio:o});return u.stdout.on("data",g=>{a.push(g)}),u.stderr.on("data",g=>{l.push(g)}),await new Promise((g,f)=>{u.on("error",()=>{f()}),u.on("close",(h,p)=>{let d=n==="buffer"?Buffer.concat(a):Buffer.concat(a).toString(n),m=n==="buffer"?Buffer.concat(l):Buffer.concat(l).toString(n);h===0||!s?g({code:kb(h,p),stdout:d,stderr:m}):f(Object.assign(new Error(`Child "${t}" exited with exit code ${h} + +${m}`),{code:kb(h,p),stdout:d,stderr:m}))})})}var Lhe=new Map([["SIGINT",2],["SIGQUIT",3],["SIGKILL",9],["SIGTERM",15]]);function kb(t,e){let r=Lhe.get(e);return typeof r!="undefined"?128+r:t!=null?t:1}var Pb={};it(Pb,{getDefaultGlobalFolder:()=>Rb,getHomeFolder:()=>uh,isFolderInside:()=>Fb});var Db=ie(require("os"));function Rb(){if(process.platform==="win32"){let t=M.toPortablePath(process.env.LOCALAPPDATA||M.join((0,Db.homedir)(),"AppData","Local"));return v.resolve(t,"Yarn/Berry")}if(process.env.XDG_DATA_HOME){let t=M.toPortablePath(process.env.XDG_DATA_HOME);return v.resolve(t,"yarn/berry")}return v.resolve(uh(),".yarn/berry")}function uh(){return M.toPortablePath((0,Db.homedir)()||"/usr/local/share")}function Fb(t,e){let r=v.relative(e,t);return r&&!r.startsWith("..")&&!v.isAbsolute(r)}var ue={};it(ue,{LogLevel:()=>Ts,Style:()=>Gl,Type:()=>Le,addLogFilterSupport:()=>Cp,applyColor:()=>On,applyHyperlink:()=>Ku,applyStyle:()=>Py,json:()=>Uu,mark:()=>xx,pretty:()=>Ve,prettyField:()=>Yl,prettyList:()=>Kx,supportsColor:()=>xy,supportsHyperlinks:()=>Mx,tuple:()=>jl});var pp=ie(jb()),dp=ie(ml()),o3=ie(Nn()),a3=ie(gU());var z;(function(te){te[te.UNNAMED=0]="UNNAMED",te[te.EXCEPTION=1]="EXCEPTION",te[te.MISSING_PEER_DEPENDENCY=2]="MISSING_PEER_DEPENDENCY",te[te.CYCLIC_DEPENDENCIES=3]="CYCLIC_DEPENDENCIES",te[te.DISABLED_BUILD_SCRIPTS=4]="DISABLED_BUILD_SCRIPTS",te[te.BUILD_DISABLED=5]="BUILD_DISABLED",te[te.SOFT_LINK_BUILD=6]="SOFT_LINK_BUILD",te[te.MUST_BUILD=7]="MUST_BUILD",te[te.MUST_REBUILD=8]="MUST_REBUILD",te[te.BUILD_FAILED=9]="BUILD_FAILED",te[te.RESOLVER_NOT_FOUND=10]="RESOLVER_NOT_FOUND",te[te.FETCHER_NOT_FOUND=11]="FETCHER_NOT_FOUND",te[te.LINKER_NOT_FOUND=12]="LINKER_NOT_FOUND",te[te.FETCH_NOT_CACHED=13]="FETCH_NOT_CACHED",te[te.YARN_IMPORT_FAILED=14]="YARN_IMPORT_FAILED",te[te.REMOTE_INVALID=15]="REMOTE_INVALID",te[te.REMOTE_NOT_FOUND=16]="REMOTE_NOT_FOUND",te[te.RESOLUTION_PACK=17]="RESOLUTION_PACK",te[te.CACHE_CHECKSUM_MISMATCH=18]="CACHE_CHECKSUM_MISMATCH",te[te.UNUSED_CACHE_ENTRY=19]="UNUSED_CACHE_ENTRY",te[te.MISSING_LOCKFILE_ENTRY=20]="MISSING_LOCKFILE_ENTRY",te[te.WORKSPACE_NOT_FOUND=21]="WORKSPACE_NOT_FOUND",te[te.TOO_MANY_MATCHING_WORKSPACES=22]="TOO_MANY_MATCHING_WORKSPACES",te[te.CONSTRAINTS_MISSING_DEPENDENCY=23]="CONSTRAINTS_MISSING_DEPENDENCY",te[te.CONSTRAINTS_INCOMPATIBLE_DEPENDENCY=24]="CONSTRAINTS_INCOMPATIBLE_DEPENDENCY",te[te.CONSTRAINTS_EXTRANEOUS_DEPENDENCY=25]="CONSTRAINTS_EXTRANEOUS_DEPENDENCY",te[te.CONSTRAINTS_INVALID_DEPENDENCY=26]="CONSTRAINTS_INVALID_DEPENDENCY",te[te.CANT_SUGGEST_RESOLUTIONS=27]="CANT_SUGGEST_RESOLUTIONS",te[te.FROZEN_LOCKFILE_EXCEPTION=28]="FROZEN_LOCKFILE_EXCEPTION",te[te.CROSS_DRIVE_VIRTUAL_LOCAL=29]="CROSS_DRIVE_VIRTUAL_LOCAL",te[te.FETCH_FAILED=30]="FETCH_FAILED",te[te.DANGEROUS_NODE_MODULES=31]="DANGEROUS_NODE_MODULES",te[te.NODE_GYP_INJECTED=32]="NODE_GYP_INJECTED",te[te.AUTHENTICATION_NOT_FOUND=33]="AUTHENTICATION_NOT_FOUND",te[te.INVALID_CONFIGURATION_KEY=34]="INVALID_CONFIGURATION_KEY",te[te.NETWORK_ERROR=35]="NETWORK_ERROR",te[te.LIFECYCLE_SCRIPT=36]="LIFECYCLE_SCRIPT",te[te.CONSTRAINTS_MISSING_FIELD=37]="CONSTRAINTS_MISSING_FIELD",te[te.CONSTRAINTS_INCOMPATIBLE_FIELD=38]="CONSTRAINTS_INCOMPATIBLE_FIELD",te[te.CONSTRAINTS_EXTRANEOUS_FIELD=39]="CONSTRAINTS_EXTRANEOUS_FIELD",te[te.CONSTRAINTS_INVALID_FIELD=40]="CONSTRAINTS_INVALID_FIELD",te[te.AUTHENTICATION_INVALID=41]="AUTHENTICATION_INVALID",te[te.PROLOG_UNKNOWN_ERROR=42]="PROLOG_UNKNOWN_ERROR",te[te.PROLOG_SYNTAX_ERROR=43]="PROLOG_SYNTAX_ERROR",te[te.PROLOG_EXISTENCE_ERROR=44]="PROLOG_EXISTENCE_ERROR",te[te.STACK_OVERFLOW_RESOLUTION=45]="STACK_OVERFLOW_RESOLUTION",te[te.AUTOMERGE_FAILED_TO_PARSE=46]="AUTOMERGE_FAILED_TO_PARSE",te[te.AUTOMERGE_IMMUTABLE=47]="AUTOMERGE_IMMUTABLE",te[te.AUTOMERGE_SUCCESS=48]="AUTOMERGE_SUCCESS",te[te.AUTOMERGE_REQUIRED=49]="AUTOMERGE_REQUIRED",te[te.DEPRECATED_CLI_SETTINGS=50]="DEPRECATED_CLI_SETTINGS",te[te.PLUGIN_NAME_NOT_FOUND=51]="PLUGIN_NAME_NOT_FOUND",te[te.INVALID_PLUGIN_REFERENCE=52]="INVALID_PLUGIN_REFERENCE",te[te.CONSTRAINTS_AMBIGUITY=53]="CONSTRAINTS_AMBIGUITY",te[te.CACHE_OUTSIDE_PROJECT=54]="CACHE_OUTSIDE_PROJECT",te[te.IMMUTABLE_INSTALL=55]="IMMUTABLE_INSTALL",te[te.IMMUTABLE_CACHE=56]="IMMUTABLE_CACHE",te[te.INVALID_MANIFEST=57]="INVALID_MANIFEST",te[te.PACKAGE_PREPARATION_FAILED=58]="PACKAGE_PREPARATION_FAILED",te[te.INVALID_RANGE_PEER_DEPENDENCY=59]="INVALID_RANGE_PEER_DEPENDENCY",te[te.INCOMPATIBLE_PEER_DEPENDENCY=60]="INCOMPATIBLE_PEER_DEPENDENCY",te[te.DEPRECATED_PACKAGE=61]="DEPRECATED_PACKAGE",te[te.INCOMPATIBLE_OS=62]="INCOMPATIBLE_OS",te[te.INCOMPATIBLE_CPU=63]="INCOMPATIBLE_CPU",te[te.FROZEN_ARTIFACT_EXCEPTION=64]="FROZEN_ARTIFACT_EXCEPTION",te[te.TELEMETRY_NOTICE=65]="TELEMETRY_NOTICE",te[te.PATCH_HUNK_FAILED=66]="PATCH_HUNK_FAILED",te[te.INVALID_CONFIGURATION_VALUE=67]="INVALID_CONFIGURATION_VALUE",te[te.UNUSED_PACKAGE_EXTENSION=68]="UNUSED_PACKAGE_EXTENSION",te[te.REDUNDANT_PACKAGE_EXTENSION=69]="REDUNDANT_PACKAGE_EXTENSION",te[te.AUTO_NM_SUCCESS=70]="AUTO_NM_SUCCESS",te[te.NM_CANT_INSTALL_EXTERNAL_SOFT_LINK=71]="NM_CANT_INSTALL_EXTERNAL_SOFT_LINK",te[te.NM_PRESERVE_SYMLINKS_REQUIRED=72]="NM_PRESERVE_SYMLINKS_REQUIRED",te[te.UPDATE_LOCKFILE_ONLY_SKIP_LINK=73]="UPDATE_LOCKFILE_ONLY_SKIP_LINK",te[te.NM_HARDLINKS_MODE_DOWNGRADED=74]="NM_HARDLINKS_MODE_DOWNGRADED",te[te.PROLOG_INSTANTIATION_ERROR=75]="PROLOG_INSTANTIATION_ERROR",te[te.INCOMPATIBLE_ARCHITECTURE=76]="INCOMPATIBLE_ARCHITECTURE",te[te.GHOST_ARCHITECTURE=77]="GHOST_ARCHITECTURE"})(z||(z={}));function KE(t){return`YN${t.toString(10).padStart(4,"0")}`}var de={};it(de,{BufferStream:()=>OH,CachingStrategy:()=>Dl,DefaultStream:()=>KH,assertNever:()=>Lv,bufferStream:()=>Cu,buildIgnorePattern:()=>DEe,convertMapsToIndexableObjects:()=>aI,dynamicRequire:()=>mu,escapeRegExp:()=>SEe,getArrayWithDefault:()=>hu,getFactoryWithDefault:()=>na,getMapWithDefault:()=>pu,getSetWithDefault:()=>Pl,isIndexableObject:()=>Tv,isPathLike:()=>REe,isTaggedYarnVersion:()=>vEe,mapAndFilter:()=>kl,mapAndFind:()=>MH,overrideType:()=>Nv,parseBoolean:()=>Hh,parseOptionalBoolean:()=>jH,prettifyAsyncErrors:()=>du,prettifySyncErrors:()=>Mv,releaseAfterUseAsync:()=>kEe,replaceEnvVariables:()=>Ov,sortMap:()=>gn,tryParseOptionalBoolean:()=>Kv,validateEnum:()=>xEe});var vh={};it(vh,{Builtins:()=>Iv,Cli:()=>oo,Command:()=>ye,Option:()=>Y,UsageError:()=>me});var yl=0,Eh=1,Gi=2,sv="",hi="\0",Au=-1,ov=/^(-h|--help)(?:=([0-9]+))?$/,UE=/^(--[a-z]+(?:-[a-z]+)*|-[a-zA-Z]+)$/,fU=/^-[a-zA-Z]{2,}$/,av=/^([^=]+)=([\s\S]*)$/,Av=process.env.DEBUG_CLI==="1";var me=class extends Error{constructor(e){super(e);this.clipanion={type:"usage"},this.name="UsageError"}},Ih=class extends Error{constructor(e,r){super();if(this.input=e,this.candidates=r,this.clipanion={type:"none"},this.name="UnknownSyntaxError",this.candidates.length===0)this.message="Command not found, but we're not sure what's the alternative.";else if(this.candidates.every(i=>i.reason!==null&&i.reason===r[0].reason)){let[{reason:i}]=this.candidates;this.message=`${i} + +${this.candidates.map(({usage:n})=>`$ ${n}`).join(` +`)}`}else if(this.candidates.length===1){let[{usage:i}]=this.candidates;this.message=`Command not found; did you mean: + +$ ${i} +${lv(e)}`}else this.message=`Command not found; did you mean one of: + +${this.candidates.map(({usage:i},n)=>`${`${n}.`.padStart(4)} ${i}`).join(` +`)} + +${lv(e)}`}},cv=class extends Error{constructor(e,r){super();this.input=e,this.usages=r,this.clipanion={type:"none"},this.name="AmbiguousSyntaxError",this.message=`Cannot find which to pick amongst the following alternatives: + +${this.usages.map((i,n)=>`${`${n}.`.padStart(4)} ${i}`).join(` +`)} + +${lv(e)}`}},lv=t=>`While running ${t.filter(e=>e!==hi).map(e=>{let r=JSON.stringify(e);return e.match(/\s/)||e.length===0||r!==`"${e}"`?r:e}).join(" ")}`;var yh=Symbol("clipanion/isOption");function ji(t){return _(P({},t),{[yh]:!0})}function so(t,e){return typeof t=="undefined"?[t,e]:typeof t=="object"&&t!==null&&!Array.isArray(t)?[void 0,t]:[t,e]}function HE(t,e=!1){let r=t.replace(/^\.: /,"");return e&&(r=r[0].toLowerCase()+r.slice(1)),r}function wh(t,e){return e.length===1?new me(`${t}: ${HE(e[0],!0)}`):new me(`${t}: +${e.map(r=>` +- ${HE(r)}`).join("")}`)}function Bh(t,e,r){if(typeof r=="undefined")return e;let i=[],n=[],s=a=>{let l=e;return e=a,s.bind(null,l)};if(!r(e,{errors:i,coercions:n,coercion:s}))throw wh(`Invalid value for ${t}`,i);for(let[,a]of n)a();return e}var ye=class{constructor(){this.help=!1}static Usage(e){return e}async catch(e){throw e}async validateAndExecute(){let r=this.constructor.schema;if(typeof r!="undefined"){let{isDict:n,isUnknown:s,applyCascade:o}=await Promise.resolve().then(()=>(Ss(),lu)),a=o(n(s()),r),l=[],c=[];if(!a(this,{errors:l,coercions:c}))throw wh("Invalid option schema",l);for(let[,g]of c)g()}let i=await this.execute();return typeof i!="undefined"?i:0}};ye.isOption=yh;ye.Default=[];function un(t){Av&&console.log(t)}var BU={candidateUsage:null,requiredOptions:[],errorMessage:null,ignoreOptions:!1,path:[],positionals:[],options:[],remainder:null,selectedIndex:Au};function QU(){return{nodes:[qi(),qi(),qi()]}}function nCe(t){let e=QU(),r=[],i=e.nodes.length;for(let n of t){r.push(i);for(let s=0;s{if(e.has(i))return;e.add(i);let n=t.nodes[i];for(let o of Object.values(n.statics))for(let{to:a}of o)r(a);for(let[,{to:o}]of n.dynamics)r(o);for(let{to:o}of n.shortcuts)r(o);let s=new Set(n.shortcuts.map(({to:o})=>o));for(;n.shortcuts.length>0;){let{to:o}=n.shortcuts.shift(),a=t.nodes[o];for(let[l,c]of Object.entries(a.statics)){let u=Object.prototype.hasOwnProperty.call(n.statics,l)?n.statics[l]:n.statics[l]=[];for(let g of c)u.some(({to:f})=>g.to===f)||u.push(g)}for(let[l,c]of a.dynamics)n.dynamics.some(([u,{to:g}])=>l===u&&c.to===g)||n.dynamics.push([l,c]);for(let l of a.shortcuts)s.has(l.to)||(n.shortcuts.push(l),s.add(l.to))}};r(yl)}function oCe(t,{prefix:e=""}={}){if(Av){un(`${e}Nodes are:`);for(let r=0;rl!==Gi).map(({state:l})=>({usage:l.candidateUsage,reason:null})));if(a.every(({node:l})=>l===Gi))throw new Ih(e,a.map(({state:l})=>({usage:l.candidateUsage,reason:l.errorMessage})));i=aCe(a)}if(i.length>0){un(" Results:");for(let s of i)un(` - ${s.node} -> ${JSON.stringify(s.state)}`)}else un(" No results");return i}function ACe(t,e){if(e.selectedIndex!==null)return!0;if(Object.prototype.hasOwnProperty.call(t.statics,hi)){for(let{to:r}of t.statics[hi])if(r===Eh)return!0}return!1}function cCe(t,e,r){let i=r&&e.length>0?[""]:[],n=vU(t,e,r),s=[],o=new Set,a=(l,c,u=!0)=>{let g=[c];for(;g.length>0;){let h=g;g=[];for(let p of h){let d=t.nodes[p],m=Object.keys(d.statics);for(let I of Object.keys(d.statics)){let B=m[0];for(let{to:b,reducer:R}of d.statics[B])R==="pushPath"&&(u||l.push(B),g.push(b))}}u=!1}let f=JSON.stringify(l);o.has(f)||(s.push(l),o.add(f))};for(let{node:l,state:c}of n){if(c.remainder!==null){a([c.remainder],l);continue}let u=t.nodes[l],g=ACe(u,c);for(let[f,h]of Object.entries(u.statics))(g&&f!==hi||!f.startsWith("-")&&h.some(({reducer:p})=>p==="pushPath"))&&a([...i,f],l);if(!!g)for(let[f,{to:h}]of u.dynamics){if(h===Gi)continue;let p=lCe(f,c);if(p!==null)for(let d of p)a([...i,d],l)}}return[...s].sort()}function gCe(t,e){let r=vU(t,[...e,hi]);return uCe(e,r.map(({state:i})=>i))}function aCe(t){let e=0;for(let{state:r}of t)r.path.length>e&&(e=r.path.length);return t.filter(({state:r})=>r.path.length===e)}function uCe(t,e){let r=e.filter(g=>g.selectedIndex!==null);if(r.length===0)throw new Error;let i=r.filter(g=>g.requiredOptions.every(f=>f.some(h=>g.options.find(p=>p.name===h))));if(i.length===0)throw new Ih(t,r.map(g=>({usage:g.candidateUsage,reason:null})));let n=0;for(let g of i)g.path.length>n&&(n=g.path.length);let s=i.filter(g=>g.path.length===n),o=g=>g.positionals.filter(({extra:f})=>!f).length+g.options.length,a=s.map(g=>({state:g,positionalCount:o(g)})),l=0;for(let{positionalCount:g}of a)g>l&&(l=g);let c=a.filter(({positionalCount:g})=>g===l).map(({state:g})=>g),u=fCe(c);if(u.length>1)throw new cv(t,u.map(g=>g.candidateUsage));return u[0]}function fCe(t){let e=[],r=[];for(let i of t)i.selectedIndex===Au?r.push(i):e.push(i);return r.length>0&&e.push(_(P({},BU),{path:SU(...r.map(i=>i.path)),options:r.reduce((i,n)=>i.concat(n.options),[])})),e}function SU(t,e,...r){return e===void 0?Array.from(t):SU(t.filter((i,n)=>i===e[n]),...r)}function qi(){return{dynamics:[],shortcuts:[],statics:{}}}function bU(t){return t===Eh||t===Gi}function Cv(t,e=0){return{to:bU(t.to)?t.to:t.to>2?t.to+e-2:t.to+e,reducer:t.reducer}}function iCe(t,e=0){let r=qi();for(let[i,n]of t.dynamics)r.dynamics.push([i,Cv(n,e)]);for(let i of t.shortcuts)r.shortcuts.push(Cv(i,e));for(let[i,n]of Object.entries(t.statics))r.statics[i]=n.map(s=>Cv(s,e));return r}function pi(t,e,r,i,n){t.nodes[e].dynamics.push([r,{to:i,reducer:n}])}function cu(t,e,r,i){t.nodes[e].shortcuts.push({to:r,reducer:i})}function ta(t,e,r,i,n){(Object.prototype.hasOwnProperty.call(t.nodes[e].statics,r)?t.nodes[e].statics[r]:t.nodes[e].statics[r]=[]).push({to:i,reducer:n})}function jE(t,e,r,i){if(Array.isArray(e)){let[n,...s]=e;return t[n](r,i,...s)}else return t[e](r,i)}function lCe(t,e){let r=Array.isArray(t)?YE[t[0]]:YE[t];if(typeof r.suggest=="undefined")return null;let i=Array.isArray(t)?t.slice(1):[];return r.suggest(e,...i)}var YE={always:()=>!0,isOptionLike:(t,e)=>!t.ignoreOptions&&e!=="-"&&e.startsWith("-"),isNotOptionLike:(t,e)=>t.ignoreOptions||e==="-"||!e.startsWith("-"),isOption:(t,e,r,i)=>!t.ignoreOptions&&e===r,isBatchOption:(t,e,r)=>!t.ignoreOptions&&fU.test(e)&&[...e.slice(1)].every(i=>r.includes(`-${i}`)),isBoundOption:(t,e,r,i)=>{let n=e.match(av);return!t.ignoreOptions&&!!n&&UE.test(n[1])&&r.includes(n[1])&&i.filter(s=>s.names.includes(n[1])).every(s=>s.allowBinding)},isNegatedOption:(t,e,r)=>!t.ignoreOptions&&e===`--no-${r.slice(2)}`,isHelp:(t,e)=>!t.ignoreOptions&&ov.test(e),isUnsupportedOption:(t,e,r)=>!t.ignoreOptions&&e.startsWith("-")&&UE.test(e)&&!r.includes(e),isInvalidOption:(t,e)=>!t.ignoreOptions&&e.startsWith("-")&&!UE.test(e)};YE.isOption.suggest=(t,e,r=!0)=>r?null:[e];var dv={setCandidateState:(t,e,r)=>P(P({},t),r),setSelectedIndex:(t,e,r)=>_(P({},t),{selectedIndex:r}),pushBatch:(t,e)=>_(P({},t),{options:t.options.concat([...e.slice(1)].map(r=>({name:`-${r}`,value:!0})))}),pushBound:(t,e)=>{let[,r,i]=e.match(av);return _(P({},t),{options:t.options.concat({name:r,value:i})})},pushPath:(t,e)=>_(P({},t),{path:t.path.concat(e)}),pushPositional:(t,e)=>_(P({},t),{positionals:t.positionals.concat({value:e,extra:!1})}),pushExtra:(t,e)=>_(P({},t),{positionals:t.positionals.concat({value:e,extra:!0})}),pushExtraNoLimits:(t,e)=>_(P({},t),{positionals:t.positionals.concat({value:e,extra:Ln})}),pushTrue:(t,e,r=e)=>_(P({},t),{options:t.options.concat({name:e,value:!0})}),pushFalse:(t,e,r=e)=>_(P({},t),{options:t.options.concat({name:r,value:!1})}),pushUndefined:(t,e)=>_(P({},t),{options:t.options.concat({name:e,value:void 0})}),pushStringValue:(t,e)=>{var r;let i=_(P({},t),{options:[...t.options]}),n=t.options[t.options.length-1];return n.value=((r=n.value)!==null&&r!==void 0?r:[]).concat([e]),i},setStringValue:(t,e)=>{let r=_(P({},t),{options:[...t.options]}),i=t.options[t.options.length-1];return i.value=e,r},inhibateOptions:t=>_(P({},t),{ignoreOptions:!0}),useHelp:(t,e,r)=>{let[,,i]=e.match(ov);return typeof i!="undefined"?_(P({},t),{options:[{name:"-c",value:String(r)},{name:"-i",value:i}]}):_(P({},t),{options:[{name:"-c",value:String(r)}]})},setError:(t,e,r)=>e===hi?_(P({},t),{errorMessage:`${r}.`}):_(P({},t),{errorMessage:`${r} ("${e}").`}),setOptionArityError:(t,e)=>{let r=t.options[t.options.length-1];return _(P({},t),{errorMessage:`Not enough arguments to option ${r.name}.`})}},Ln=Symbol(),xU=class{constructor(e,r){this.allOptionNames=[],this.arity={leading:[],trailing:[],extra:[],proxy:!1},this.options=[],this.paths=[],this.cliIndex=e,this.cliOpts=r}addPath(e){this.paths.push(e)}setArity({leading:e=this.arity.leading,trailing:r=this.arity.trailing,extra:i=this.arity.extra,proxy:n=this.arity.proxy}){Object.assign(this.arity,{leading:e,trailing:r,extra:i,proxy:n})}addPositional({name:e="arg",required:r=!0}={}){if(!r&&this.arity.extra===Ln)throw new Error("Optional parameters cannot be declared when using .rest() or .proxy()");if(!r&&this.arity.trailing.length>0)throw new Error("Optional parameters cannot be declared after the required trailing positional arguments");!r&&this.arity.extra!==Ln?this.arity.extra.push(e):this.arity.extra!==Ln&&this.arity.extra.length===0?this.arity.leading.push(e):this.arity.trailing.push(e)}addRest({name:e="arg",required:r=0}={}){if(this.arity.extra===Ln)throw new Error("Infinite lists cannot be declared multiple times in the same command");if(this.arity.trailing.length>0)throw new Error("Infinite lists cannot be declared after the required trailing positional arguments");for(let i=0;i1)throw new Error("The arity cannot be higher than 1 when the option only supports the --arg=value syntax");if(!Number.isInteger(i))throw new Error(`The arity must be an integer, got ${i}`);if(i<0)throw new Error(`The arity must be positive, got ${i}`);this.allOptionNames.push(...e),this.options.push({names:e,description:r,arity:i,hidden:n,required:s,allowBinding:o})}setContext(e){this.context=e}usage({detailed:e=!0,inlineOptions:r=!0}={}){let i=[this.cliOpts.binaryName],n=[];if(this.paths.length>0&&i.push(...this.paths[0]),e){for(let{names:o,arity:a,hidden:l,description:c,required:u}of this.options){if(l)continue;let g=[];for(let h=0;h`:`[${f}]`)}i.push(...this.arity.leading.map(o=>`<${o}>`)),this.arity.extra===Ln?i.push("..."):i.push(...this.arity.extra.map(o=>`[${o}]`)),i.push(...this.arity.trailing.map(o=>`<${o}>`))}return{usage:i.join(" "),options:n}}compile(){if(typeof this.context=="undefined")throw new Error("Assertion failed: No context attached");let e=QU(),r=yl,i=this.usage().usage,n=this.options.filter(a=>a.required).map(a=>a.names);r=xs(e,qi()),ta(e,yl,sv,r,["setCandidateState",{candidateUsage:i,requiredOptions:n}]);let s=this.arity.proxy?"always":"isNotOptionLike",o=this.paths.length>0?this.paths:[[]];for(let a of o){let l=r;if(a.length>0){let f=xs(e,qi());cu(e,l,f),this.registerOptions(e,f),l=f}for(let f=0;f0||!this.arity.proxy){let f=xs(e,qi());pi(e,l,"isHelp",f,["useHelp",this.cliIndex]),ta(e,f,hi,Eh,["setSelectedIndex",Au]),this.registerOptions(e,l)}this.arity.leading.length>0&&ta(e,l,hi,Gi,["setError","Not enough positional arguments"]);let c=l;for(let f=0;f0||f+1!==this.arity.leading.length)&&ta(e,h,hi,Gi,["setError","Not enough positional arguments"]),pi(e,c,"isNotOptionLike",h,"pushPositional"),c=h}let u=c;if(this.arity.extra===Ln||this.arity.extra.length>0){let f=xs(e,qi());if(cu(e,c,f),this.arity.extra===Ln){let h=xs(e,qi());this.arity.proxy||this.registerOptions(e,h),pi(e,c,s,h,"pushExtraNoLimits"),pi(e,h,s,h,"pushExtraNoLimits"),cu(e,h,f)}else for(let h=0;h0&&ta(e,u,hi,Gi,["setError","Not enough positional arguments"]);let g=u;for(let f=0;fo.length>s.length?o:s,"");if(i.arity===0)for(let s of i.names)pi(e,r,["isOption",s,i.hidden||s!==n],r,"pushTrue"),s.startsWith("--")&&!s.startsWith("--no-")&&pi(e,r,["isNegatedOption",s],r,["pushFalse",s]);else{let s=xs(e,qi());for(let o of i.names)pi(e,r,["isOption",o,i.hidden||o!==n],s,"pushUndefined");for(let o=0;o=0&&egCe(i,n),suggest:(n,s)=>cCe(i,n,s)}}};var kU=80,mv=Array(kU).fill("\u2501");for(let t=0;t<=24;++t)mv[mv.length-t]=`[38;5;${232+t}m\u2501`;var Ev={header:t=>`\u2501\u2501\u2501 ${t}${t.length`${t}`,error:t=>`${t}`,code:t=>`${t}`},PU={header:t=>t,bold:t=>t,error:t=>t,code:t=>t};function hCe(t){let e=t.split(` +`),r=e.filter(n=>n.match(/\S/)),i=r.length>0?r.reduce((n,s)=>Math.min(n,s.length-s.trimStart().length),Number.MAX_VALUE):0;return e.map(n=>n.slice(i).trimRight()).join(` +`)}function Vn(t,{format:e,paragraphs:r}){return t=t.replace(/\r\n?/g,` +`),t=hCe(t),t=t.replace(/^\n+|\n+$/g,""),t=t.replace(/^(\s*)-([^\n]*?)\n+/gm,`$1-$2 + +`),t=t.replace(/\n(\n)?\n*/g,"$1"),r&&(t=t.split(/\n/).map(i=>{let n=i.match(/^\s*[*-][\t ]+(.*)/);if(!n)return i.match(/(.{1,80})(?: |$)/g).join(` +`);let s=i.length-i.trimStart().length;return n[1].match(new RegExp(`(.{1,${78-s}})(?: |$)`,"g")).map((o,a)=>" ".repeat(s)+(a===0?"- ":" ")+o).join(` +`)}).join(` + +`)),t=t.replace(/(`+)((?:.|[\n])*?)\1/g,(i,n,s)=>e.code(n+s+n)),t=t.replace(/(\*\*)((?:.|[\n])*?)\1/g,(i,n,s)=>e.bold(n+s+n)),t?`${t} +`:""}var bh=class extends ye{constructor(e){super();this.contexts=e,this.commands=[]}static from(e,r){let i=new bh(r);i.path=e.path;for(let n of e.options)switch(n.name){case"-c":i.commands.push(Number(n.value));break;case"-i":i.index=Number(n.value);break}return i}async execute(){let e=this.commands;if(typeof this.index!="undefined"&&this.index>=0&&this.index1){this.context.stdout.write(`Multiple commands match your selection: +`),this.context.stdout.write(` +`);let r=0;for(let i of this.commands)this.context.stdout.write(this.cli.usage(this.contexts[i].commandClass,{prefix:`${r++}. `.padStart(5)}));this.context.stdout.write(` +`),this.context.stdout.write(`Run again with -h= to see the longer details of any of those commands. +`)}}};var DU=Symbol("clipanion/errorCommand");function pCe(){return process.env.FORCE_COLOR==="0"?!1:!!(process.env.FORCE_COLOR==="1"||typeof process.stdout!="undefined"&&process.stdout.isTTY)}var oo=class{constructor({binaryLabel:e,binaryName:r="...",binaryVersion:i,enableColors:n=pCe()}={}){this.registrations=new Map,this.builder=new Qh({binaryName:r}),this.binaryLabel=e,this.binaryName=r,this.binaryVersion=i,this.enableColors=n}static from(e,r={}){let i=new oo(r);for(let n of e)i.register(n);return i}register(e){var r;let i=new Map,n=new e;for(let l in n){let c=n[l];typeof c=="object"&&c!==null&&c[ye.isOption]&&i.set(l,c)}let s=this.builder.command(),o=s.cliIndex,a=(r=e.paths)!==null&&r!==void 0?r:n.paths;if(typeof a!="undefined")for(let l of a)s.addPath(l);this.registrations.set(e,{specs:i,builder:s,index:o});for(let[l,{definition:c}]of i.entries())c(s,l);s.setContext({commandClass:e})}process(e){let{contexts:r,process:i}=this.builder.compile(),n=i(e);switch(n.selectedIndex){case Au:return bh.from(n,r);default:{let{commandClass:s}=r[n.selectedIndex],o=this.registrations.get(s);if(typeof o=="undefined")throw new Error("Assertion failed: Expected the command class to have been registered.");let a=new s;a.path=n.path;try{for(let[l,{transformer:c}]of o.specs.entries())a[l]=c(o.builder,l,n);return a}catch(l){throw l[DU]=a,l}}break}}async run(e,r){let i;if(!Array.isArray(e))i=e;else try{i=this.process(e)}catch(s){return r.stdout.write(this.error(s)),1}if(i.help)return r.stdout.write(this.usage(i,{detailed:!0})),0;i.context=r,i.cli={binaryLabel:this.binaryLabel,binaryName:this.binaryName,binaryVersion:this.binaryVersion,enableColors:this.enableColors,definitions:()=>this.definitions(),error:(s,o)=>this.error(s,o),process:s=>this.process(s),run:(s,o)=>this.run(s,P(P({},r),o)),usage:(s,o)=>this.usage(s,o)};let n;try{n=await i.validateAndExecute().catch(s=>i.catch(s).then(()=>0))}catch(s){return r.stdout.write(this.error(s,{command:i})),1}return n}async runExit(e,r){process.exitCode=await this.run(e,r)}suggest(e,r){let{suggest:i}=this.builder.compile();return i(e,r)}definitions({colored:e=!1}={}){let r=[];for(let[i,{index:n}]of this.registrations){if(typeof i.usage=="undefined")continue;let{usage:s}=this.getUsageByIndex(n,{detailed:!1}),{usage:o,options:a}=this.getUsageByIndex(n,{detailed:!0,inlineOptions:!1}),l=typeof i.usage.category!="undefined"?Vn(i.usage.category,{format:this.format(e),paragraphs:!1}):void 0,c=typeof i.usage.description!="undefined"?Vn(i.usage.description,{format:this.format(e),paragraphs:!1}):void 0,u=typeof i.usage.details!="undefined"?Vn(i.usage.details,{format:this.format(e),paragraphs:!0}):void 0,g=typeof i.usage.examples!="undefined"?i.usage.examples.map(([f,h])=>[Vn(f,{format:this.format(e),paragraphs:!1}),h.replace(/\$0/g,this.binaryName)]):void 0;r.push({path:s,usage:o,category:l,description:c,details:u,examples:g,options:a})}return r}usage(e=null,{colored:r,detailed:i=!1,prefix:n="$ "}={}){var s;if(e===null){for(let l of this.registrations.keys()){let c=l.paths,u=typeof l.usage!="undefined";if(!c||c.length===0||c.length===1&&c[0].length===0||((s=c==null?void 0:c.some(h=>h.length===0))!==null&&s!==void 0?s:!1))if(e){e=null;break}else e=l;else if(u){e=null;continue}}e&&(i=!0)}let o=e!==null&&e instanceof ye?e.constructor:e,a="";if(o)if(i){let{description:l="",details:c="",examples:u=[]}=o.usage||{};l!==""&&(a+=Vn(l,{format:this.format(r),paragraphs:!1}).replace(/^./,h=>h.toUpperCase()),a+=` +`),(c!==""||u.length>0)&&(a+=`${this.format(r).header("Usage")} +`,a+=` +`);let{usage:g,options:f}=this.getUsageByRegistration(o,{inlineOptions:!1});if(a+=`${this.format(r).bold(n)}${g} +`,f.length>0){a+=` +`,a+=`${Ev.header("Options")} +`;let h=f.reduce((p,d)=>Math.max(p,d.definition.length),0);a+=` +`;for(let{definition:p,description:d}of f)a+=` ${this.format(r).bold(p.padEnd(h))} ${Vn(d,{format:this.format(r),paragraphs:!1})}`}if(c!==""&&(a+=` +`,a+=`${this.format(r).header("Details")} +`,a+=` +`,a+=Vn(c,{format:this.format(r),paragraphs:!0})),u.length>0){a+=` +`,a+=`${this.format(r).header("Examples")} +`;for(let[h,p]of u)a+=` +`,a+=Vn(h,{format:this.format(r),paragraphs:!1}),a+=`${p.replace(/^/m,` ${this.format(r).bold(n)}`).replace(/\$0/g,this.binaryName)} +`}}else{let{usage:l}=this.getUsageByRegistration(o);a+=`${this.format(r).bold(n)}${l} +`}else{let l=new Map;for(let[f,{index:h}]of this.registrations.entries()){if(typeof f.usage=="undefined")continue;let p=typeof f.usage.category!="undefined"?Vn(f.usage.category,{format:this.format(r),paragraphs:!1}):null,d=l.get(p);typeof d=="undefined"&&l.set(p,d=[]);let{usage:m}=this.getUsageByIndex(h);d.push({commandClass:f,usage:m})}let c=Array.from(l.keys()).sort((f,h)=>f===null?-1:h===null?1:f.localeCompare(h,"en",{usage:"sort",caseFirst:"upper"})),u=typeof this.binaryLabel!="undefined",g=typeof this.binaryVersion!="undefined";u||g?(u&&g?a+=`${this.format(r).header(`${this.binaryLabel} - ${this.binaryVersion}`)} + +`:u?a+=`${this.format(r).header(`${this.binaryLabel}`)} +`:a+=`${this.format(r).header(`${this.binaryVersion}`)} +`,a+=` ${this.format(r).bold(n)}${this.binaryName} +`):a+=`${this.format(r).bold(n)}${this.binaryName} +`;for(let f of c){let h=l.get(f).slice().sort((d,m)=>d.usage.localeCompare(m.usage,"en",{usage:"sort",caseFirst:"upper"})),p=f!==null?f.trim():"General commands";a+=` +`,a+=`${this.format(r).header(`${p}`)} +`;for(let{commandClass:d,usage:m}of h){let I=d.usage.description||"undocumented";a+=` +`,a+=` ${this.format(r).bold(m)} +`,a+=` ${Vn(I,{format:this.format(r),paragraphs:!1})}`}}a+=` +`,a+=Vn("You can also print more details about any of these commands by calling them with the `-h,--help` flag right after the command name.",{format:this.format(r),paragraphs:!0})}return a}error(e,r){var i,{colored:n,command:s=(i=e[DU])!==null&&i!==void 0?i:null}=r===void 0?{}:r;e instanceof Error||(e=new Error(`Execution failed with a non-error rejection (rejected value: ${JSON.stringify(e)})`));let o="",a=e.name.replace(/([a-z])([A-Z])/g,"$1 $2");a==="Error"&&(a="Internal Error"),o+=`${this.format(n).error(a)}: ${e.message} +`;let l=e.clipanion;return typeof l!="undefined"?l.type==="usage"&&(o+=` +`,o+=this.usage(s)):e.stack&&(o+=`${e.stack.replace(/^.*\n/,"")} +`),o}getUsageByRegistration(e,r){let i=this.registrations.get(e);if(typeof i=="undefined")throw new Error("Assertion failed: Unregistered command");return this.getUsageByIndex(i.index,r)}getUsageByIndex(e,r){return this.builder.getBuilderByIndex(e).usage(r)}format(e=this.enableColors){return e?Ev:PU}};oo.defaultContext={stdin:process.stdin,stdout:process.stdout,stderr:process.stderr};var Iv={};it(Iv,{DefinitionsCommand:()=>qE,HelpCommand:()=>JE,VersionCommand:()=>WE});var qE=class extends ye{async execute(){this.context.stdout.write(`${JSON.stringify(this.cli.definitions(),null,2)} +`)}};qE.paths=[["--clipanion=definitions"]];var JE=class extends ye{async execute(){this.context.stdout.write(this.cli.usage())}};JE.paths=[["-h"],["--help"]];var WE=class extends ye{async execute(){var e;this.context.stdout.write(`${(e=this.cli.binaryVersion)!==null&&e!==void 0?e:""} +`)}};WE.paths=[["-v"],["--version"]];var Y={};it(Y,{Array:()=>RU,Boolean:()=>FU,Counter:()=>NU,Proxy:()=>LU,Rest:()=>TU,String:()=>MU,applyValidator:()=>Bh,cleanValidationError:()=>HE,formatError:()=>wh,isOptionSymbol:()=>yh,makeCommandOption:()=>ji,rerouteArguments:()=>so});function RU(t,e,r){let[i,n]=so(e,r!=null?r:{}),{arity:s=1}=n,o=t.split(","),a=new Set(o);return ji({definition(l){l.addOption({names:o,arity:s,hidden:n==null?void 0:n.hidden,description:n==null?void 0:n.description,required:n.required})},transformer(l,c,u){let g=typeof i!="undefined"?[...i]:void 0;for(let{name:f,value:h}of u.options)!a.has(f)||(g=g!=null?g:[],g.push(h));return g}})}function FU(t,e,r){let[i,n]=so(e,r!=null?r:{}),s=t.split(","),o=new Set(s);return ji({definition(a){a.addOption({names:s,allowBinding:!1,arity:0,hidden:n.hidden,description:n.description,required:n.required})},transformer(a,l,c){let u=i;for(let{name:g,value:f}of c.options)!o.has(g)||(u=f);return u}})}function NU(t,e,r){let[i,n]=so(e,r!=null?r:{}),s=t.split(","),o=new Set(s);return ji({definition(a){a.addOption({names:s,allowBinding:!1,arity:0,hidden:n.hidden,description:n.description,required:n.required})},transformer(a,l,c){let u=i;for(let{name:g,value:f}of c.options)!o.has(g)||(u!=null||(u=0),f?u+=1:u=0);return u}})}function LU(t={}){return ji({definition(e,r){var i;e.addProxy({name:(i=t.name)!==null&&i!==void 0?i:r,required:t.required})},transformer(e,r,i){return i.positionals.map(({value:n})=>n)}})}function TU(t={}){return ji({definition(e,r){var i;e.addRest({name:(i=t.name)!==null&&i!==void 0?i:r,required:t.required})},transformer(e,r,i){let n=o=>{let a=i.positionals[o];return a.extra===Ln||a.extra===!1&&oo)}})}function dCe(t,e,r){let[i,n]=so(e,r!=null?r:{}),{arity:s=1}=n,o=t.split(","),a=new Set(o);return ji({definition(l){l.addOption({names:o,arity:n.tolerateBoolean?0:s,hidden:n.hidden,description:n.description,required:n.required})},transformer(l,c,u){let g,f=i;for(let{name:h,value:p}of u.options)!a.has(h)||(g=h,f=p);return typeof f=="string"?Bh(g!=null?g:c,f,n.validator):f}})}function CCe(t={}){let{required:e=!0}=t;return ji({definition(r,i){var n;r.addPositional({name:(n=t.name)!==null&&n!==void 0?n:i,required:t.required})},transformer(r,i,n){var s;for(let o=0;oJSON.stringify(i)).join(", ")})`);return e}function kl(t,e){let r=[];for(let i of t){let n=e(i);n!==LH&&r.push(n)}return r}var LH=Symbol();kl.skip=LH;function MH(t,e){for(let r of t){let i=e(r);if(i!==TH)return i}}var TH=Symbol();MH.skip=TH;function Tv(t){return typeof t=="object"&&t!==null}function aI(t){if(t instanceof Map&&(t=Object.fromEntries(t)),Tv(t))for(let e of Object.keys(t)){let r=t[e];Tv(r)&&(t[e]=aI(r))}return t}function na(t,e,r){let i=t.get(e);return typeof i=="undefined"&&t.set(e,i=r()),i}function hu(t,e){let r=t.get(e);return typeof r=="undefined"&&t.set(e,r=[]),r}function Pl(t,e){let r=t.get(e);return typeof r=="undefined"&&t.set(e,r=new Set),r}function pu(t,e){let r=t.get(e);return typeof r=="undefined"&&t.set(e,r=new Map),r}async function kEe(t,e){if(e==null)return await t();try{return await t()}finally{await e()}}async function du(t,e){try{return await t()}catch(r){throw r.message=e(r.message),r}}function Mv(t,e){try{return t()}catch(r){throw r.message=e(r.message),r}}async function Cu(t){return await new Promise((e,r)=>{let i=[];t.on("error",n=>{r(n)}),t.on("data",n=>{i.push(n)}),t.on("end",()=>{e(Buffer.concat(i))})})}var OH=class extends Fv.Transform{constructor(){super(...arguments);this.chunks=[]}_transform(e,r,i){if(r!=="buffer"||!Buffer.isBuffer(e))throw new Error("Assertion failed: BufferStream only accept buffers");this.chunks.push(e),i(null,null)}_flush(e){e(null,Buffer.concat(this.chunks))}},KH=class extends Fv.Transform{constructor(e=Buffer.alloc(0)){super();this.active=!0;this.ifEmpty=e}_transform(e,r,i){if(r!=="buffer"||!Buffer.isBuffer(e))throw new Error("Assertion failed: DefaultStream only accept buffers");this.active=!1,i(null,e)}_flush(e){this.active&&this.ifEmpty.length>0?e(null,this.ifEmpty):e(null)}},Uh=eval("require");function UH(t){return Uh(M.fromPortablePath(t))}function HH(path){let physicalPath=M.fromPortablePath(path),currentCacheEntry=Uh.cache[physicalPath];delete Uh.cache[physicalPath];let result;try{result=UH(physicalPath);let freshCacheEntry=Uh.cache[physicalPath],dynamicModule=eval("module"),freshCacheIndex=dynamicModule.children.indexOf(freshCacheEntry);freshCacheIndex!==-1&&dynamicModule.children.splice(freshCacheIndex,1)}finally{Uh.cache[physicalPath]=currentCacheEntry}return result}var GH=new Map;function PEe(t){let e=GH.get(t),r=T.statSync(t);if((e==null?void 0:e.mtime)===r.mtimeMs)return e.instance;let i=HH(t);return GH.set(t,{mtime:r.mtimeMs,instance:i}),i}var Dl;(function(i){i[i.NoCache=0]="NoCache",i[i.FsTime=1]="FsTime",i[i.Node=2]="Node"})(Dl||(Dl={}));function mu(t,{cachingStrategy:e=2}={}){switch(e){case 0:return HH(t);case 1:return PEe(t);case 2:return UH(t);default:throw new Error("Unsupported caching strategy")}}function gn(t,e){let r=Array.from(t);Array.isArray(e)||(e=[e]);let i=[];for(let s of e)i.push(r.map(o=>s(o)));let n=r.map((s,o)=>o);return n.sort((s,o)=>{for(let a of i){let l=a[s]a[o]?1:0;if(l!==0)return l}return 0}),n.map(s=>r[s])}function DEe(t){return t.length===0?null:t.map(e=>`(${FH.default.makeRe(e,{windows:!1,dot:!0}).source})`).join("|")}function Ov(t,{env:e}){let r=/\${(?[\d\w_]+)(?:)?(?:-(?[^}]*))?}/g;return t.replace(r,(...i)=>{let{variableName:n,colon:s,fallback:o}=i[i.length-1],a=Object.prototype.hasOwnProperty.call(e,n),l=e[n];if(l||a&&!s)return l;if(o!=null)return o;throw new me(`Environment variable not found (${n})`)})}function Hh(t){switch(t){case"true":case"1":case 1:case!0:return!0;case"false":case"0":case 0:case!1:return!1;default:throw new Error(`Couldn't parse "${t}" as a boolean`)}}function jH(t){return typeof t=="undefined"?t:Hh(t)}function Kv(t){try{return jH(t)}catch{return null}}function REe(t){return!!(M.isAbsolute(t)||t.match(/^(\.{1,2}|~)\//))}var S={};it(S,{areDescriptorsEqual:()=>i3,areIdentsEqual:()=>cp,areLocatorsEqual:()=>up,areVirtualPackagesEquivalent:()=>XQe,bindDescriptor:()=>VQe,bindLocator:()=>_Qe,convertDescriptorToLocator:()=>By,convertLocatorToDescriptor:()=>WQe,convertPackageToLocator:()=>zQe,convertToIdent:()=>JQe,convertToManifestRange:()=>ebe,copyPackage:()=>ap,devirtualizeDescriptor:()=>Ap,devirtualizeLocator:()=>lp,getIdentVendorPath:()=>Lx,isPackageCompatible:()=>Sy,isVirtualDescriptor:()=>hA,isVirtualLocator:()=>Io,makeDescriptor:()=>Yt,makeIdent:()=>Eo,makeLocator:()=>Vi,makeRange:()=>by,parseDescriptor:()=>pA,parseFileStyleRange:()=>ZQe,parseIdent:()=>En,parseLocator:()=>Hl,parseRange:()=>Tu,prettyDependent:()=>Nx,prettyDescriptor:()=>Xt,prettyIdent:()=>Vr,prettyLocator:()=>lt,prettyLocatorNoColors:()=>Rx,prettyRange:()=>yy,prettyReference:()=>fp,prettyResolution:()=>Fx,prettyWorkspace:()=>hp,renamePackage:()=>op,slugifyIdent:()=>Dx,slugifyLocator:()=>Mu,sortDescriptors:()=>Ou,stringifyDescriptor:()=>In,stringifyIdent:()=>St,stringifyLocator:()=>is,tryParseDescriptor:()=>gp,tryParseIdent:()=>n3,tryParseLocator:()=>Qy,virtualizeDescriptor:()=>kx,virtualizePackage:()=>Px});var Lu=ie(require("querystring")),e3=ie(Or()),t3=ie(wY());var mn={};it(mn,{checksumFile:()=>Ey,checksumPattern:()=>Iy,makeHash:()=>zi});var my=ie(require("crypto")),Sx=ie(vx());function zi(...t){let e=(0,my.createHash)("sha512"),r="";for(let i of t)typeof i=="string"?r+=i:i&&(r&&(e.update(r),r=""),e.update(i));return r&&e.update(r),e.digest("hex")}async function Ey(t,{baseFs:e,algorithm:r}={baseFs:T,algorithm:"sha512"}){let i=await e.openPromise(t,"r");try{let n=65536,s=Buffer.allocUnsafeSlow(n),o=(0,my.createHash)(r),a=0;for(;(a=await e.readPromise(i,s,0,n))!==0;)o.update(a===n?s:s.slice(0,a));return o.digest("hex")}finally{await e.closePromise(i)}}async function Iy(t,{cwd:e}){let i=(await(0,Sx.default)(t,{cwd:M.fromPortablePath(e),expandDirectories:!1,onlyDirectories:!0,unique:!0})).map(a=>`${a}/**/*`),n=await(0,Sx.default)([t,...i],{cwd:M.fromPortablePath(e),expandDirectories:!1,onlyFiles:!1,unique:!0});n.sort();let s=await Promise.all(n.map(async a=>{let l=[Buffer.from(a)],c=M.toPortablePath(a),u=await T.lstatPromise(c);return u.isSymbolicLink()?l.push(Buffer.from(await T.readlinkPromise(c))):u.isFile()&&l.push(await T.readFilePromise(c)),l.join("\0")})),o=(0,my.createHash)("sha512");for(let a of s)o.update(a);return o.digest("hex")}var wy="virtual:",YQe=5,r3=/(os|cpu)=([a-z0-9_-]+)/,qQe=(0,t3.makeParser)(r3);function Eo(t,e){if(t==null?void 0:t.startsWith("@"))throw new Error("Invalid scope: don't prefix it with '@'");return{identHash:zi(t,e),scope:t,name:e}}function Yt(t,e){return{identHash:t.identHash,scope:t.scope,name:t.name,descriptorHash:zi(t.identHash,e),range:e}}function Vi(t,e){return{identHash:t.identHash,scope:t.scope,name:t.name,locatorHash:zi(t.identHash,e),reference:e}}function JQe(t){return{identHash:t.identHash,scope:t.scope,name:t.name}}function By(t){return{identHash:t.identHash,scope:t.scope,name:t.name,locatorHash:t.descriptorHash,reference:t.range}}function WQe(t){return{identHash:t.identHash,scope:t.scope,name:t.name,descriptorHash:t.locatorHash,range:t.reference}}function zQe(t){return{identHash:t.identHash,scope:t.scope,name:t.name,locatorHash:t.locatorHash,reference:t.reference}}function op(t,e){return{identHash:e.identHash,scope:e.scope,name:e.name,locatorHash:e.locatorHash,reference:e.reference,version:t.version,languageName:t.languageName,linkType:t.linkType,conditions:t.conditions,dependencies:new Map(t.dependencies),peerDependencies:new Map(t.peerDependencies),dependenciesMeta:new Map(t.dependenciesMeta),peerDependenciesMeta:new Map(t.peerDependenciesMeta),bin:new Map(t.bin)}}function ap(t){return op(t,t)}function kx(t,e){if(e.includes("#"))throw new Error("Invalid entropy");return Yt(t,`virtual:${e}#${t.range}`)}function Px(t,e){if(e.includes("#"))throw new Error("Invalid entropy");return op(t,Vi(t,`virtual:${e}#${t.reference}`))}function hA(t){return t.range.startsWith(wy)}function Io(t){return t.reference.startsWith(wy)}function Ap(t){if(!hA(t))throw new Error("Not a virtual descriptor");return Yt(t,t.range.replace(/^[^#]*#/,""))}function lp(t){if(!Io(t))throw new Error("Not a virtual descriptor");return Vi(t,t.reference.replace(/^[^#]*#/,""))}function VQe(t,e){return t.range.includes("::")?t:Yt(t,`${t.range}::${Lu.default.stringify(e)}`)}function _Qe(t,e){return t.reference.includes("::")?t:Vi(t,`${t.reference}::${Lu.default.stringify(e)}`)}function cp(t,e){return t.identHash===e.identHash}function i3(t,e){return t.descriptorHash===e.descriptorHash}function up(t,e){return t.locatorHash===e.locatorHash}function XQe(t,e){if(!Io(t))throw new Error("Invalid package type");if(!Io(e))throw new Error("Invalid package type");if(!cp(t,e)||t.dependencies.size!==e.dependencies.size)return!1;for(let r of t.dependencies.values()){let i=e.dependencies.get(r.identHash);if(!i||!i3(r,i))return!1}return!0}function En(t){let e=n3(t);if(!e)throw new Error(`Invalid ident (${t})`);return e}function n3(t){let e=t.match(/^(?:@([^/]+?)\/)?([^/]+)$/);if(!e)return null;let[,r,i]=e,n=typeof r!="undefined"?r:null;return Eo(n,i)}function pA(t,e=!1){let r=gp(t,e);if(!r)throw new Error(`Invalid descriptor (${t})`);return r}function gp(t,e=!1){let r=e?t.match(/^(?:@([^/]+?)\/)?([^/]+?)(?:@(.+))$/):t.match(/^(?:@([^/]+?)\/)?([^/]+?)(?:@(.+))?$/);if(!r)return null;let[,i,n,s]=r;if(s==="unknown")throw new Error(`Invalid range (${t})`);let o=typeof i!="undefined"?i:null,a=typeof s!="undefined"?s:"unknown";return Yt(Eo(o,n),a)}function Hl(t,e=!1){let r=Qy(t,e);if(!r)throw new Error(`Invalid locator (${t})`);return r}function Qy(t,e=!1){let r=e?t.match(/^(?:@([^/]+?)\/)?([^/]+?)(?:@(.+))$/):t.match(/^(?:@([^/]+?)\/)?([^/]+?)(?:@(.+))?$/);if(!r)return null;let[,i,n,s]=r;if(s==="unknown")throw new Error(`Invalid reference (${t})`);let o=typeof i!="undefined"?i:null,a=typeof s!="undefined"?s:"unknown";return Vi(Eo(o,n),a)}function Tu(t,e){let r=t.match(/^([^#:]*:)?((?:(?!::)[^#])*)(?:#((?:(?!::).)*))?(?:::(.*))?$/);if(r===null)throw new Error(`Invalid range (${t})`);let i=typeof r[1]!="undefined"?r[1]:null;if(typeof(e==null?void 0:e.requireProtocol)=="string"&&i!==e.requireProtocol)throw new Error(`Invalid protocol (${i})`);if((e==null?void 0:e.requireProtocol)&&i===null)throw new Error(`Missing protocol (${i})`);let n=typeof r[3]!="undefined"?decodeURIComponent(r[2]):null;if((e==null?void 0:e.requireSource)&&n===null)throw new Error(`Missing source (${t})`);let s=typeof r[3]!="undefined"?decodeURIComponent(r[3]):decodeURIComponent(r[2]),o=(e==null?void 0:e.parseSelector)?Lu.default.parse(s):s,a=typeof r[4]!="undefined"?Lu.default.parse(r[4]):null;return{protocol:i,source:n,selector:o,params:a}}function ZQe(t,{protocol:e}){let{selector:r,params:i}=Tu(t,{requireProtocol:e,requireBindings:!0});if(typeof i.locator!="string")throw new Error(`Assertion failed: Invalid bindings for ${t}`);return{parentLocator:Hl(i.locator,!0),path:r}}function s3(t){return t=t.replace(/%/g,"%25"),t=t.replace(/:/g,"%3A"),t=t.replace(/#/g,"%23"),t}function $Qe(t){return t===null?!1:Object.entries(t).length>0}function by({protocol:t,source:e,selector:r,params:i}){let n="";return t!==null&&(n+=`${t}`),e!==null&&(n+=`${s3(e)}#`),n+=s3(r),$Qe(i)&&(n+=`::${Lu.default.stringify(i)}`),n}function ebe(t){let{params:e,protocol:r,source:i,selector:n}=Tu(t);for(let s in e)s.startsWith("__")&&delete e[s];return by({protocol:r,source:i,params:e,selector:n})}function St(t){return t.scope?`@${t.scope}/${t.name}`:`${t.name}`}function In(t){return t.scope?`@${t.scope}/${t.name}@${t.range}`:`${t.name}@${t.range}`}function is(t){return t.scope?`@${t.scope}/${t.name}@${t.reference}`:`${t.name}@${t.reference}`}function Dx(t){return t.scope!==null?`@${t.scope}-${t.name}`:t.name}function Mu(t){let{protocol:e,selector:r}=Tu(t.reference),i=e!==null?e.replace(/:$/,""):"exotic",n=e3.default.valid(r),s=n!==null?`${i}-${n}`:`${i}`,o=10,a=t.scope?`${Dx(t)}-${s}-${t.locatorHash.slice(0,o)}`:`${Dx(t)}-${s}-${t.locatorHash.slice(0,o)}`;return kr(a)}function Vr(t,e){return e.scope?`${Ve(t,`@${e.scope}/`,Le.SCOPE)}${Ve(t,e.name,Le.NAME)}`:`${Ve(t,e.name,Le.NAME)}`}function vy(t){if(t.startsWith(wy)){let e=vy(t.substr(t.indexOf("#")+1)),r=t.substr(wy.length,YQe);return`${e} [${r}]`}else return t.replace(/\?.*/,"?[...]")}function yy(t,e){return`${Ve(t,vy(e),Le.RANGE)}`}function Xt(t,e){return`${Vr(t,e)}${Ve(t,"@",Le.RANGE)}${yy(t,e.range)}`}function fp(t,e){return`${Ve(t,vy(e),Le.REFERENCE)}`}function lt(t,e){return`${Vr(t,e)}${Ve(t,"@",Le.REFERENCE)}${fp(t,e.reference)}`}function Rx(t){return`${St(t)}@${vy(t.reference)}`}function Ou(t){return gn(t,[e=>St(e),e=>e.range])}function hp(t,e){return Vr(t,e.locator)}function Fx(t,e,r){let i=hA(e)?Ap(e):e;return r===null?`${Xt(t,i)} \u2192 ${xx(t).Cross}`:i.identHash===r.identHash?`${Xt(t,i)} \u2192 ${fp(t,r.reference)}`:`${Xt(t,i)} \u2192 ${lt(t,r)}`}function Nx(t,e,r){return r===null?`${lt(t,e)}`:`${lt(t,e)} (via ${yy(t,r.range)})`}function Lx(t){return`node_modules/${St(t)}`}function Sy(t,e){return t.conditions?qQe(t.conditions,r=>{let[,i,n]=r.match(r3),s=e[i];return s?s.includes(n):!0}):!0}var gt;(function(r){r.HARD="HARD",r.SOFT="SOFT"})(gt||(gt={}));var oi;(function(i){i.Dependency="Dependency",i.PeerDependency="PeerDependency",i.PeerDependencyMeta="PeerDependencyMeta"})(oi||(oi={}));var ki;(function(i){i.Inactive="inactive",i.Redundant="redundant",i.Active="active"})(ki||(ki={}));var Le={NO_HINT:"NO_HINT",NULL:"NULL",SCOPE:"SCOPE",NAME:"NAME",RANGE:"RANGE",REFERENCE:"REFERENCE",NUMBER:"NUMBER",PATH:"PATH",URL:"URL",ADDED:"ADDED",REMOVED:"REMOVED",CODE:"CODE",DURATION:"DURATION",SIZE:"SIZE",IDENT:"IDENT",DESCRIPTOR:"DESCRIPTOR",LOCATOR:"LOCATOR",RESOLUTION:"RESOLUTION",DEPENDENT:"DEPENDENT",PACKAGE_EXTENSION:"PACKAGE_EXTENSION",SETTING:"SETTING"},Gl;(function(e){e[e.BOLD=2]="BOLD"})(Gl||(Gl={}));var Tx=dp.default.GITHUB_ACTIONS?{level:2}:pp.default.supportsColor?{level:pp.default.supportsColor.level}:{level:0},xy=Tx.level!==0,Mx=xy&&!dp.default.GITHUB_ACTIONS&&!dp.default.CIRCLE&&!dp.default.GITLAB,Ox=new pp.default.Instance(Tx),tbe=new Map([[Le.NO_HINT,null],[Le.NULL,["#a853b5",129]],[Le.SCOPE,["#d75f00",166]],[Le.NAME,["#d7875f",173]],[Le.RANGE,["#00afaf",37]],[Le.REFERENCE,["#87afff",111]],[Le.NUMBER,["#ffd700",220]],[Le.PATH,["#d75fd7",170]],[Le.URL,["#d75fd7",170]],[Le.ADDED,["#5faf00",70]],[Le.REMOVED,["#d70000",160]],[Le.CODE,["#87afff",111]],[Le.SIZE,["#ffd700",220]]]),Ls=t=>t,ky={[Le.NUMBER]:Ls({pretty:(t,e)=>`${e}`,json:t=>t}),[Le.IDENT]:Ls({pretty:(t,e)=>Vr(t,e),json:t=>St(t)}),[Le.LOCATOR]:Ls({pretty:(t,e)=>lt(t,e),json:t=>is(t)}),[Le.DESCRIPTOR]:Ls({pretty:(t,e)=>Xt(t,e),json:t=>In(t)}),[Le.RESOLUTION]:Ls({pretty:(t,{descriptor:e,locator:r})=>Fx(t,e,r),json:({descriptor:t,locator:e})=>({descriptor:In(t),locator:e!==null?is(e):null})}),[Le.DEPENDENT]:Ls({pretty:(t,{locator:e,descriptor:r})=>Nx(t,e,r),json:({locator:t,descriptor:e})=>({locator:is(t),descriptor:In(e)})}),[Le.PACKAGE_EXTENSION]:Ls({pretty:(t,e)=>{switch(e.type){case oi.Dependency:return`${Vr(t,e.parentDescriptor)} \u27A4 ${On(t,"dependencies",Le.CODE)} \u27A4 ${Vr(t,e.descriptor)}`;case oi.PeerDependency:return`${Vr(t,e.parentDescriptor)} \u27A4 ${On(t,"peerDependencies",Le.CODE)} \u27A4 ${Vr(t,e.descriptor)}`;case oi.PeerDependencyMeta:return`${Vr(t,e.parentDescriptor)} \u27A4 ${On(t,"peerDependenciesMeta",Le.CODE)} \u27A4 ${Vr(t,En(e.selector))} \u27A4 ${On(t,e.key,Le.CODE)}`;default:throw new Error(`Assertion failed: Unsupported package extension type: ${e.type}`)}},json:t=>{switch(t.type){case oi.Dependency:return`${St(t.parentDescriptor)} > ${St(t.descriptor)}`;case oi.PeerDependency:return`${St(t.parentDescriptor)} >> ${St(t.descriptor)}`;case oi.PeerDependencyMeta:return`${St(t.parentDescriptor)} >> ${t.selector} / ${t.key}`;default:throw new Error(`Assertion failed: Unsupported package extension type: ${t.type}`)}}}),[Le.SETTING]:Ls({pretty:(t,e)=>(t.get(e),Ku(t,On(t,e,Le.CODE),`https://yarnpkg.com/configuration/yarnrc#${e}`)),json:t=>t}),[Le.DURATION]:Ls({pretty:(t,e)=>{if(e>1e3*60){let r=Math.floor(e/1e3/60),i=Math.ceil((e-r*60*1e3)/1e3);return i===0?`${r}m`:`${r}m ${i}s`}else{let r=Math.floor(e/1e3),i=e-r*1e3;return i===0?`${r}s`:`${r}s ${i}ms`}},json:t=>t}),[Le.SIZE]:Ls({pretty:(t,e)=>{let r=["KB","MB","GB","TB"],i=r.length;for(;i>1&&e<1024**i;)i-=1;let n=1024**i,s=Math.floor(e*100/n)/100;return On(t,`${s} ${r[i-1]}`,Le.NUMBER)},json:t=>t}),[Le.PATH]:Ls({pretty:(t,e)=>On(t,M.fromPortablePath(e),Le.PATH),json:t=>M.fromPortablePath(t)})};function jl(t,e){return[e,t]}function Py(t,e,r){return t.get("enableColors")&&r&2&&(e=pp.default.bold(e)),e}function On(t,e,r){if(!t.get("enableColors"))return e;let i=tbe.get(r);if(i===null)return e;let n=typeof i=="undefined"?r:Tx.level>=3?i[0]:i[1],s=typeof n=="number"?Ox.ansi256(n):n.startsWith("#")?Ox.hex(n):Ox[n];if(typeof s!="function")throw new Error(`Invalid format type ${n}`);return s(e)}var rbe=!!process.env.KONSOLE_VERSION;function Ku(t,e,r){return t.get("enableHyperlinks")?rbe?`]8;;${r}\\${e}]8;;\\`:`]8;;${r}\x07${e}]8;;\x07`:e}function Ve(t,e,r){if(e===null)return On(t,"null",Le.NULL);if(Object.prototype.hasOwnProperty.call(ky,r))return ky[r].pretty(t,e);if(typeof e!="string")throw new Error(`Assertion failed: Expected the value to be a string, got ${typeof e}`);return On(t,e,r)}function Kx(t,e,r,{separator:i=", "}={}){return[...e].map(n=>Ve(t,n,r)).join(i)}function Uu(t,e){if(t===null)return null;if(Object.prototype.hasOwnProperty.call(ky,e))return Nv(e),ky[e].json(t);if(typeof t!="string")throw new Error(`Assertion failed: Expected the value to be a string, got ${typeof t}`);return t}function xx(t){return{Check:On(t,"\u2713","green"),Cross:On(t,"\u2718","red"),Question:On(t,"?","cyan")}}function Yl(t,{label:e,value:[r,i]}){return`${Ve(t,e,Le.CODE)}: ${Ve(t,r,i)}`}var Ts;(function(n){n.Error="error",n.Warning="warning",n.Info="info",n.Discard="discard"})(Ts||(Ts={}));function Cp(t,{configuration:e}){let r=e.get("logFilters"),i=new Map,n=new Map,s=[];for(let g of r){let f=g.get("level");if(typeof f=="undefined")continue;let h=g.get("code");typeof h!="undefined"&&i.set(h,f);let p=g.get("text");typeof p!="undefined"&&n.set(p,f);let d=g.get("pattern");typeof d!="undefined"&&s.push([o3.default.matcher(d,{contains:!0}),f])}s.reverse();let o=(g,f,h)=>{if(g===null||g===z.UNNAMED)return h;let p=n.size>0||s.length>0?(0,a3.default)(f):f;if(n.size>0){let d=n.get(p);if(typeof d!="undefined")return d!=null?d:h}if(s.length>0){for(let[d,m]of s)if(d(p))return m!=null?m:h}if(i.size>0){let d=i.get(KE(g));if(typeof d!="undefined")return d!=null?d:h}return h},a=t.reportInfo,l=t.reportWarning,c=t.reportError,u=function(g,f,h,p){switch(o(f,h,p)){case Ts.Info:a.call(g,f,h);break;case Ts.Warning:l.call(g,f!=null?f:z.UNNAMED,h);break;case Ts.Error:c.call(g,f!=null?f:z.UNNAMED,h);break}};t.reportInfo=function(...g){return u(this,...g,Ts.Info)},t.reportWarning=function(...g){return u(this,...g,Ts.Warning)},t.reportError=function(...g){return u(this,...g,Ts.Error)}}var Zt={};it(Zt,{Method:()=>Jl,RequestError:()=>z8.RequestError,del:()=>pxe,get:()=>fxe,getNetworkSettings:()=>Z8,post:()=>iP,put:()=>hxe,request:()=>xp});var q8=ie(zy()),J8=ie(require("https")),W8=ie(require("http")),tP=ie(Nn()),rP=ie(G8()),Vy=ie(require("url"));var j8=ie(require("stream")),Y8=ie(require("string_decoder"));var nt=class extends Error{constructor(e,r,i){super(r);this.reportExtra=i;this.reportCode=e}};function Axe(t){return typeof t.reportCode!="undefined"}var Xi=class{constructor(){this.reportedInfos=new Set;this.reportedWarnings=new Set;this.reportedErrors=new Set}static progressViaCounter(e){let r=0,i,n=new Promise(l=>{i=l}),s=l=>{let c=i;n=new Promise(u=>{i=u}),r=l,c()},o=(l=0)=>{s(r+1)},a=async function*(){for(;r{let o=i.write(s),a;do if(a=o.indexOf(` +`),a!==-1){let l=n+o.substr(0,a);o=o.substr(a+1),n="",e!==null?this.reportInfo(null,`${e} ${l}`):this.reportInfo(null,l)}while(a!==-1);n+=o}),r.on("end",()=>{let s=i.end();s!==""&&(e!==null?this.reportInfo(null,`${e} ${s}`):this.reportInfo(null,s))}),r}};var z8=ie(zy()),V8=new Map,_8=new Map,lxe=new W8.Agent({keepAlive:!0}),cxe=new J8.Agent({keepAlive:!0});function X8(t){let e=new Vy.URL(t),r={host:e.hostname,headers:{}};return e.port&&(r.port=Number(e.port)),{proxy:r}}async function uxe(t){return na(_8,t,()=>T.readFilePromise(t).then(e=>(_8.set(t,e),e)))}function gxe({statusCode:t,statusMessage:e},r){let i=Ve(r,t,Le.NUMBER),n=`https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/${t}`;return Ku(r,`${i}${e?` (${e})`:""}`,n)}async function _y(t,{configuration:e,customErrorMessage:r}){var i,n;try{return await t}catch(s){if(s.name!=="HTTPError")throw s;let o=(n=r==null?void 0:r(s))!=null?n:(i=s.response.body)==null?void 0:i.error;o==null&&(s.message.startsWith("Response code")?o="The remote server failed to provide the requested resource":o=s.message),s instanceof q8.TimeoutError&&s.event==="socket"&&(o+=`(can be increased via ${Ve(e,"httpTimeout",Le.SETTING)})`);let a=new nt(z.NETWORK_ERROR,o,l=>{s.response&&l.reportError(z.NETWORK_ERROR,` ${Yl(e,{label:"Response Code",value:jl(Le.NO_HINT,gxe(s.response,e))})}`),s.request&&(l.reportError(z.NETWORK_ERROR,` ${Yl(e,{label:"Request Method",value:jl(Le.NO_HINT,s.request.options.method)})}`),l.reportError(z.NETWORK_ERROR,` ${Yl(e,{label:"Request URL",value:jl(Le.URL,s.request.requestUrl)})}`)),s.request.redirects.length>0&&l.reportError(z.NETWORK_ERROR,` ${Yl(e,{label:"Request Redirects",value:jl(Le.NO_HINT,Kx(e,s.request.redirects,Le.URL))})}`),s.request.retryCount===s.request.options.retry.limit&&l.reportError(z.NETWORK_ERROR,` ${Yl(e,{label:"Request Retry Count",value:jl(Le.NO_HINT,`${Ve(e,s.request.retryCount,Le.NUMBER)} (can be increased via ${Ve(e,"httpRetry",Le.SETTING)})`)})}`)});throw a.originalError=s,a}}function Z8(t,e){let r=[...e.configuration.get("networkSettings")].sort(([o],[a])=>a.length-o.length),i={enableNetwork:void 0,caFilePath:void 0,httpProxy:void 0,httpsProxy:void 0},n=Object.keys(i),s=typeof t=="string"?new Vy.URL(t):t;for(let[o,a]of r)if(tP.default.isMatch(s.hostname,o))for(let l of n){let c=a.get(l);c!==null&&typeof i[l]=="undefined"&&(i[l]=c)}for(let o of n)typeof i[o]=="undefined"&&(i[o]=e.configuration.get(o));return i}var Jl;(function(n){n.GET="GET",n.PUT="PUT",n.POST="POST",n.DELETE="DELETE"})(Jl||(Jl={}));async function xp(t,e,{configuration:r,headers:i,jsonRequest:n,jsonResponse:s,method:o=Jl.GET}){let a=typeof t=="string"?new Vy.URL(t):t,l=Z8(a,{configuration:r});if(l.enableNetwork===!1)throw new Error(`Request to '${a.href}' has been blocked because of your configuration settings`);if(a.protocol==="http:"&&!tP.default.isMatch(a.hostname,r.get("unsafeHttpWhitelist")))throw new Error(`Unsafe http requests must be explicitly whitelisted in your configuration (${a.hostname})`);let u={agent:{http:l.httpProxy?rP.default.httpOverHttp(X8(l.httpProxy)):lxe,https:l.httpsProxy?rP.default.httpsOverHttp(X8(l.httpsProxy)):cxe},headers:i,method:o};u.responseType=s?"json":"buffer",e!==null&&(Buffer.isBuffer(e)||!n&&typeof e=="string"?u.body=e:u.json=e);let g=r.get("httpTimeout"),f=r.get("httpRetry"),h=r.get("enableStrictSsl"),p=l.caFilePath,{default:d}=await Promise.resolve().then(()=>ie(zy())),m=p?await uxe(p):void 0,I=d.extend(P({timeout:{socket:g},retry:f,https:{rejectUnauthorized:h,certificateAuthority:m}},u));return r.getLimit("networkConcurrency")(()=>I(a))}async function fxe(t,n){var s=n,{configuration:e,jsonResponse:r}=s,i=qr(s,["configuration","jsonResponse"]);let o=na(V8,t,()=>_y(xp(t,null,P({configuration:e},i)),{configuration:e}).then(a=>(V8.set(t,a.body),a.body)));return Buffer.isBuffer(o)===!1&&(o=await o),r?JSON.parse(o.toString()):o}async function hxe(t,e,n){var s=n,{customErrorMessage:r}=s,i=qr(s,["customErrorMessage"]);return(await _y(xp(t,e,_(P({},i),{method:Jl.PUT})),i)).body}async function iP(t,e,n){var s=n,{customErrorMessage:r}=s,i=qr(s,["customErrorMessage"]);return(await _y(xp(t,e,_(P({},i),{method:Jl.POST})),i)).body}async function pxe(t,i){var n=i,{customErrorMessage:e}=n,r=qr(n,["customErrorMessage"]);return(await _y(xp(t,null,_(P({},r),{method:Jl.DELETE})),r)).body}var Kt={};it(Kt,{PackageManager:()=>tn,detectPackageManager:()=>a9,executePackageAccessibleBinary:()=>g9,executePackageScript:()=>Uw,executePackageShellcode:()=>rD,executeWorkspaceAccessibleBinary:()=>qFe,executeWorkspaceLifecycleScript:()=>u9,executeWorkspaceScript:()=>c9,getPackageAccessibleBinaries:()=>Hw,getWorkspaceAccessibleBinaries:()=>l9,hasPackageScript:()=>GFe,hasWorkspaceScript:()=>tD,makeScriptEnv:()=>Vp,maybeExecuteWorkspaceLifecycleScript:()=>YFe,prepareExternalProject:()=>HFe});var Fp={};it(Fp,{getLibzipPromise:()=>$i,getLibzipSync:()=>v4});var yA=["number","number"],nP;(function(D){D[D.ZIP_ER_OK=0]="ZIP_ER_OK",D[D.ZIP_ER_MULTIDISK=1]="ZIP_ER_MULTIDISK",D[D.ZIP_ER_RENAME=2]="ZIP_ER_RENAME",D[D.ZIP_ER_CLOSE=3]="ZIP_ER_CLOSE",D[D.ZIP_ER_SEEK=4]="ZIP_ER_SEEK",D[D.ZIP_ER_READ=5]="ZIP_ER_READ",D[D.ZIP_ER_WRITE=6]="ZIP_ER_WRITE",D[D.ZIP_ER_CRC=7]="ZIP_ER_CRC",D[D.ZIP_ER_ZIPCLOSED=8]="ZIP_ER_ZIPCLOSED",D[D.ZIP_ER_NOENT=9]="ZIP_ER_NOENT",D[D.ZIP_ER_EXISTS=10]="ZIP_ER_EXISTS",D[D.ZIP_ER_OPEN=11]="ZIP_ER_OPEN",D[D.ZIP_ER_TMPOPEN=12]="ZIP_ER_TMPOPEN",D[D.ZIP_ER_ZLIB=13]="ZIP_ER_ZLIB",D[D.ZIP_ER_MEMORY=14]="ZIP_ER_MEMORY",D[D.ZIP_ER_CHANGED=15]="ZIP_ER_CHANGED",D[D.ZIP_ER_COMPNOTSUPP=16]="ZIP_ER_COMPNOTSUPP",D[D.ZIP_ER_EOF=17]="ZIP_ER_EOF",D[D.ZIP_ER_INVAL=18]="ZIP_ER_INVAL",D[D.ZIP_ER_NOZIP=19]="ZIP_ER_NOZIP",D[D.ZIP_ER_INTERNAL=20]="ZIP_ER_INTERNAL",D[D.ZIP_ER_INCONS=21]="ZIP_ER_INCONS",D[D.ZIP_ER_REMOVE=22]="ZIP_ER_REMOVE",D[D.ZIP_ER_DELETED=23]="ZIP_ER_DELETED",D[D.ZIP_ER_ENCRNOTSUPP=24]="ZIP_ER_ENCRNOTSUPP",D[D.ZIP_ER_RDONLY=25]="ZIP_ER_RDONLY",D[D.ZIP_ER_NOPASSWD=26]="ZIP_ER_NOPASSWD",D[D.ZIP_ER_WRONGPASSWD=27]="ZIP_ER_WRONGPASSWD",D[D.ZIP_ER_OPNOTSUPP=28]="ZIP_ER_OPNOTSUPP",D[D.ZIP_ER_INUSE=29]="ZIP_ER_INUSE",D[D.ZIP_ER_TELL=30]="ZIP_ER_TELL",D[D.ZIP_ER_COMPRESSED_DATA=31]="ZIP_ER_COMPRESSED_DATA"})(nP||(nP={}));var $8=t=>({get HEAP8(){return t.HEAP8},get HEAPU8(){return t.HEAPU8},errors:nP,SEEK_SET:0,SEEK_CUR:1,SEEK_END:2,ZIP_CHECKCONS:4,ZIP_CREATE:1,ZIP_EXCL:2,ZIP_TRUNCATE:8,ZIP_RDONLY:16,ZIP_FL_OVERWRITE:8192,ZIP_FL_COMPRESSED:4,ZIP_OPSYS_DOS:0,ZIP_OPSYS_AMIGA:1,ZIP_OPSYS_OPENVMS:2,ZIP_OPSYS_UNIX:3,ZIP_OPSYS_VM_CMS:4,ZIP_OPSYS_ATARI_ST:5,ZIP_OPSYS_OS_2:6,ZIP_OPSYS_MACINTOSH:7,ZIP_OPSYS_Z_SYSTEM:8,ZIP_OPSYS_CPM:9,ZIP_OPSYS_WINDOWS_NTFS:10,ZIP_OPSYS_MVS:11,ZIP_OPSYS_VSE:12,ZIP_OPSYS_ACORN_RISC:13,ZIP_OPSYS_VFAT:14,ZIP_OPSYS_ALTERNATE_MVS:15,ZIP_OPSYS_BEOS:16,ZIP_OPSYS_TANDEM:17,ZIP_OPSYS_OS_400:18,ZIP_OPSYS_OS_X:19,ZIP_CM_DEFAULT:-1,ZIP_CM_STORE:0,ZIP_CM_DEFLATE:8,uint08S:t._malloc(1),uint16S:t._malloc(2),uint32S:t._malloc(4),uint64S:t._malloc(8),malloc:t._malloc,free:t._free,getValue:t.getValue,open:t.cwrap("zip_open","number",["string","number","number"]),openFromSource:t.cwrap("zip_open_from_source","number",["number","number","number"]),close:t.cwrap("zip_close","number",["number"]),discard:t.cwrap("zip_discard",null,["number"]),getError:t.cwrap("zip_get_error","number",["number"]),getName:t.cwrap("zip_get_name","string",["number","number","number"]),getNumEntries:t.cwrap("zip_get_num_entries","number",["number","number"]),delete:t.cwrap("zip_delete","number",["number","number"]),stat:t.cwrap("zip_stat","number",["number","string","number","number"]),statIndex:t.cwrap("zip_stat_index","number",["number",...yA,"number","number"]),fopen:t.cwrap("zip_fopen","number",["number","string","number"]),fopenIndex:t.cwrap("zip_fopen_index","number",["number",...yA,"number"]),fread:t.cwrap("zip_fread","number",["number","number","number","number"]),fclose:t.cwrap("zip_fclose","number",["number"]),dir:{add:t.cwrap("zip_dir_add","number",["number","string"])},file:{add:t.cwrap("zip_file_add","number",["number","string","number","number"]),getError:t.cwrap("zip_file_get_error","number",["number"]),getExternalAttributes:t.cwrap("zip_file_get_external_attributes","number",["number",...yA,"number","number","number"]),setExternalAttributes:t.cwrap("zip_file_set_external_attributes","number",["number",...yA,"number","number","number"]),setMtime:t.cwrap("zip_file_set_mtime","number",["number",...yA,"number","number"]),setCompression:t.cwrap("zip_set_file_compression","number",["number",...yA,"number","number"])},ext:{countSymlinks:t.cwrap("zip_ext_count_symlinks","number",["number"])},error:{initWithCode:t.cwrap("zip_error_init_with_code",null,["number","number"]),strerror:t.cwrap("zip_error_strerror","string",["number"])},name:{locate:t.cwrap("zip_name_locate","number",["number","string","number"])},source:{fromUnattachedBuffer:t.cwrap("zip_source_buffer_create","number",["number","number","number","number"]),fromBuffer:t.cwrap("zip_source_buffer","number",["number","number",...yA,"number"]),free:t.cwrap("zip_source_free",null,["number"]),keep:t.cwrap("zip_source_keep",null,["number"]),open:t.cwrap("zip_source_open","number",["number"]),close:t.cwrap("zip_source_close","number",["number"]),seek:t.cwrap("zip_source_seek","number",["number",...yA,"number"]),tell:t.cwrap("zip_source_tell","number",["number"]),read:t.cwrap("zip_source_read","number",["number","number","number"]),error:t.cwrap("zip_source_error","number",["number"]),setMtime:t.cwrap("zip_source_set_mtime","number",["number","number"])},struct:{stat:t.cwrap("zipstruct_stat","number",[]),statS:t.cwrap("zipstruct_statS","number",[]),statName:t.cwrap("zipstruct_stat_name","string",["number"]),statIndex:t.cwrap("zipstruct_stat_index","number",["number"]),statSize:t.cwrap("zipstruct_stat_size","number",["number"]),statCompSize:t.cwrap("zipstruct_stat_comp_size","number",["number"]),statCompMethod:t.cwrap("zipstruct_stat_comp_method","number",["number"]),statMtime:t.cwrap("zipstruct_stat_mtime","number",["number"]),statCrc:t.cwrap("zipstruct_stat_crc","number",["number"]),error:t.cwrap("zipstruct_error","number",[]),errorS:t.cwrap("zipstruct_errorS","number",[]),errorCodeZip:t.cwrap("zipstruct_error_code_zip","number",["number"])}});var BP=null;function v4(){return BP===null&&(BP=$8(b4())),BP}async function $i(){return v4()}var jp={};it(jp,{ShellError:()=>as,execute:()=>Fw,globUtils:()=>bw});var Hp={};it(Hp,{parseResolution:()=>gw,parseShell:()=>Aw,parseSyml:()=>Ii,stringifyArgument:()=>SP,stringifyArgumentSegment:()=>xP,stringifyArithmeticExpression:()=>uw,stringifyCommand:()=>vP,stringifyCommandChain:()=>rg,stringifyCommandChainThen:()=>bP,stringifyCommandLine:()=>lw,stringifyCommandLineThen:()=>QP,stringifyEnvSegment:()=>cw,stringifyRedirectArgument:()=>Np,stringifyResolution:()=>fw,stringifyShell:()=>tg,stringifyShellLine:()=>tg,stringifySyml:()=>Qa,stringifyValueArgument:()=>ig});var k4=ie(x4());function Aw(t,e={isGlobPattern:()=>!1}){try{return(0,k4.parse)(t,e)}catch(r){throw r.location&&(r.message=r.message.replace(/(\.)?$/,` (line ${r.location.start.line}, column ${r.location.start.column})$1`)),r}}function tg(t,{endSemicolon:e=!1}={}){return t.map(({command:r,type:i},n)=>`${lw(r)}${i===";"?n!==t.length-1||e?";":"":" &"}`).join(" ")}function lw(t){return`${rg(t.chain)}${t.then?` ${QP(t.then)}`:""}`}function QP(t){return`${t.type} ${lw(t.line)}`}function rg(t){return`${vP(t)}${t.then?` ${bP(t.then)}`:""}`}function bP(t){return`${t.type} ${rg(t.chain)}`}function vP(t){switch(t.type){case"command":return`${t.envs.length>0?`${t.envs.map(e=>cw(e)).join(" ")} `:""}${t.args.map(e=>SP(e)).join(" ")}`;case"subshell":return`(${tg(t.subshell)})${t.args.length>0?` ${t.args.map(e=>Np(e)).join(" ")}`:""}`;case"group":return`{ ${tg(t.group,{endSemicolon:!0})} }${t.args.length>0?` ${t.args.map(e=>Np(e)).join(" ")}`:""}`;case"envs":return t.envs.map(e=>cw(e)).join(" ");default:throw new Error(`Unsupported command type: "${t.type}"`)}}function cw(t){return`${t.name}=${t.args[0]?ig(t.args[0]):""}`}function SP(t){switch(t.type){case"redirection":return Np(t);case"argument":return ig(t);default:throw new Error(`Unsupported argument type: "${t.type}"`)}}function Np(t){return`${t.subtype} ${t.args.map(e=>ig(e)).join(" ")}`}function ig(t){return t.segments.map(e=>xP(e)).join("")}function xP(t){let e=(i,n)=>n?`"${i}"`:i,r=i=>i===""?'""':i.match(/[(){}<>$|&; \t"']/)?`$'${i.replace(/\\/g,"\\\\").replace(/'/g,"\\'").replace(/\f/g,"\\f").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/\t/g,"\\t").replace(/\v/g,"\\v").replace(/\0/g,"\\0")}'`:i;switch(t.type){case"text":return r(t.text);case"glob":return t.pattern;case"shell":return e(`\${${tg(t.shell)}}`,t.quoted);case"variable":return e(typeof t.defaultValue=="undefined"?`\${${t.name}}`:t.defaultValue.length===0?`\${${t.name}:-}`:`\${${t.name}:-${t.defaultValue.map(i=>ig(i)).join(" ")}}`,t.quoted);case"arithmetic":return`$(( ${uw(t.arithmetic)} ))`;default:throw new Error(`Unsupported argument segment type: "${t.type}"`)}}function uw(t){let e=n=>{switch(n){case"addition":return"+";case"subtraction":return"-";case"multiplication":return"*";case"division":return"/";default:throw new Error(`Can't extract operator from arithmetic expression of type "${n}"`)}},r=(n,s)=>s?`( ${n} )`:n,i=n=>r(uw(n),!["number","variable"].includes(n.type));switch(t.type){case"number":return String(t.value);case"variable":return t.name;default:return`${i(t.left)} ${e(t.type)} ${i(t.right)}`}}var R4=ie(D4());function gw(t){let e=t.match(/^\*{1,2}\/(.*)/);if(e)throw new Error(`The override for '${t}' includes a glob pattern. Glob patterns have been removed since their behaviours don't match what you'd expect. Set the override to '${e[1]}' instead.`);try{return(0,R4.parse)(t)}catch(r){throw r.location&&(r.message=r.message.replace(/(\.)?$/,` (line ${r.location.start.line}, column ${r.location.start.column})$1`)),r}}function fw(t){let e="";return t.from&&(e+=t.from.fullName,t.from.description&&(e+=`@${t.from.description}`),e+="/"),e+=t.descriptor.fullName,t.descriptor.description&&(e+=`@${t.descriptor.description}`),e}var Qw=ie(w5()),b5=ie(Q5()),$De=/^(?![-?:,\][{}#&*!|>'"%@` \t\r\n]).([ \t]*(?![,\][{}:# \t\r\n]).)*$/,v5=["__metadata","version","resolution","dependencies","peerDependencies","dependenciesMeta","peerDependenciesMeta","binaries"],HP=class{constructor(e){this.data=e}};function S5(t){return t.match($De)?t:JSON.stringify(t)}function x5(t){return typeof t=="undefined"?!0:typeof t=="object"&&t!==null?Object.keys(t).every(e=>x5(t[e])):!1}function GP(t,e,r){if(t===null)return`null +`;if(typeof t=="number"||typeof t=="boolean")return`${t.toString()} +`;if(typeof t=="string")return`${S5(t)} +`;if(Array.isArray(t)){if(t.length===0)return`[] +`;let i=" ".repeat(e);return` +${t.map(s=>`${i}- ${GP(s,e+1,!1)}`).join("")}`}if(typeof t=="object"&&t){let i,n;t instanceof HP?(i=t.data,n=!1):(i=t,n=!0);let s=" ".repeat(e),o=Object.keys(i);n&&o.sort((l,c)=>{let u=v5.indexOf(l),g=v5.indexOf(c);return u===-1&&g===-1?lc?1:0:u!==-1&&g===-1?-1:u===-1&&g!==-1?1:u-g});let a=o.filter(l=>!x5(i[l])).map((l,c)=>{let u=i[l],g=S5(l),f=GP(u,e+1,!0),h=c>0||r?s:"";return f.startsWith(` +`)?`${h}${g}:${f}`:`${h}${g}: ${f}`}).join(e===0?` +`:"")||` +`;return r?` +${a}`:`${a}`}throw new Error(`Unsupported value type (${t})`)}function Qa(t){try{let e=GP(t,0,!1);return e!==` +`?e:""}catch(e){throw e.location&&(e.message=e.message.replace(/(\.)?$/,` (line ${e.location.start.line}, column ${e.location.start.column})$1`)),e}}Qa.PreserveOrdering=HP;function eRe(t){return t.endsWith(` +`)||(t+=` +`),(0,b5.parse)(t)}var tRe=/^(#.*(\r?\n))*?#\s+yarn\s+lockfile\s+v1\r?\n/i;function rRe(t){if(tRe.test(t))return eRe(t);let e=(0,Qw.safeLoad)(t,{schema:Qw.FAILSAFE_SCHEMA,json:!0});if(e==null)return{};if(typeof e!="object")throw new Error(`Expected an indexed object, got a ${typeof e} instead. Does your file follow Yaml's rules?`);if(Array.isArray(e))throw new Error("Expected an indexed object, got an array instead. Does your file follow Yaml's rules?");return e}function Ii(t){return rRe(t)}var U5=ie(jb()),H5=ie(require("os")),Kn=ie(require("stream")),G5=ie(require("util"));var as=class extends Error{constructor(e){super(e);this.name="ShellError"}};var bw={};it(bw,{fastGlobOptions:()=>D5,isBraceExpansion:()=>R5,isGlobPattern:()=>iRe,match:()=>nRe,micromatchOptions:()=>Sw});var k5=ie(gy()),P5=ie(require("fs")),vw=ie(Nn()),Sw={strictBrackets:!0},D5={onlyDirectories:!1,onlyFiles:!1};function iRe(t){if(!vw.default.scan(t,Sw).isGlob)return!1;try{vw.default.parse(t,Sw)}catch{return!1}return!0}function nRe(t,{cwd:e,baseFs:r}){return(0,k5.default)(t,_(P({},D5),{cwd:M.fromPortablePath(e),fs:SE(P5.default,new ah(r))}))}function R5(t){return vw.default.scan(t,Sw).isBrace}var F5=ie(bb()),Bo=ie(require("stream")),N5=ie(require("string_decoder")),wn;(function(i){i[i.STDIN=0]="STDIN",i[i.STDOUT=1]="STDOUT",i[i.STDERR=2]="STDERR"})(wn||(wn={}));var sc=new Set;function jP(){}function YP(){for(let t of sc)t.kill()}function L5(t,e,r,i){return n=>{let s=n[0]instanceof Bo.Transform?"pipe":n[0],o=n[1]instanceof Bo.Transform?"pipe":n[1],a=n[2]instanceof Bo.Transform?"pipe":n[2],l=(0,F5.default)(t,e,_(P({},i),{stdio:[s,o,a]}));return sc.add(l),sc.size===1&&(process.on("SIGINT",jP),process.on("SIGTERM",YP)),n[0]instanceof Bo.Transform&&n[0].pipe(l.stdin),n[1]instanceof Bo.Transform&&l.stdout.pipe(n[1],{end:!1}),n[2]instanceof Bo.Transform&&l.stderr.pipe(n[2],{end:!1}),{stdin:l.stdin,promise:new Promise(c=>{l.on("error",u=>{switch(sc.delete(l),sc.size===0&&(process.off("SIGINT",jP),process.off("SIGTERM",YP)),u.code){case"ENOENT":n[2].write(`command not found: ${t} +`),c(127);break;case"EACCES":n[2].write(`permission denied: ${t} +`),c(128);break;default:n[2].write(`uncaught error: ${u.message} +`),c(1);break}}),l.on("exit",u=>{sc.delete(l),sc.size===0&&(process.off("SIGINT",jP),process.off("SIGTERM",YP)),c(u!==null?u:129)})})}}}function T5(t){return e=>{let r=e[0]==="pipe"?new Bo.PassThrough:e[0];return{stdin:r,promise:Promise.resolve().then(()=>t({stdin:r,stdout:e[1],stderr:e[2]}))}}}var Os=class{constructor(e){this.stream=e}close(){}get(){return this.stream}},M5=class{constructor(){this.stream=null}close(){if(this.stream===null)throw new Error("Assertion failed: No stream attached");this.stream.end()}attach(e){this.stream=e}get(){if(this.stream===null)throw new Error("Assertion failed: No stream attached");return this.stream}},Gp=class{constructor(e,r){this.stdin=null;this.stdout=null;this.stderr=null;this.pipe=null;this.ancestor=e,this.implementation=r}static start(e,{stdin:r,stdout:i,stderr:n}){let s=new Gp(null,e);return s.stdin=r,s.stdout=i,s.stderr=n,s}pipeTo(e,r=1){let i=new Gp(this,e),n=new M5;return i.pipe=n,i.stdout=this.stdout,i.stderr=this.stderr,(r&1)==1?this.stdout=n:this.ancestor!==null&&(this.stderr=this.ancestor.stdout),(r&2)==2?this.stderr=n:this.ancestor!==null&&(this.stderr=this.ancestor.stderr),i}async exec(){let e=["ignore","ignore","ignore"];if(this.pipe)e[0]="pipe";else{if(this.stdin===null)throw new Error("Assertion failed: No input stream registered");e[0]=this.stdin.get()}let r;if(this.stdout===null)throw new Error("Assertion failed: No output stream registered");r=this.stdout,e[1]=r.get();let i;if(this.stderr===null)throw new Error("Assertion failed: No error stream registered");i=this.stderr,e[2]=i.get();let n=this.implementation(e);return this.pipe&&this.pipe.attach(n.stdin),await n.promise.then(s=>(r.close(),i.close(),s))}async run(){let e=[];for(let i=this;i;i=i.ancestor)e.push(i.exec());return(await Promise.all(e))[0]}};function xw(t,e){return Gp.start(t,e)}function O5(t,e=null){let r=new Bo.PassThrough,i=new N5.StringDecoder,n="";return r.on("data",s=>{let o=i.write(s),a;do if(a=o.indexOf(` +`),a!==-1){let l=n+o.substr(0,a);o=o.substr(a+1),n="",t(e!==null?`${e} ${l}`:l)}while(a!==-1);n+=o}),r.on("end",()=>{let s=i.end();s!==""&&t(e!==null?`${e} ${s}`:s)}),r}function K5(t,{prefix:e}){return{stdout:O5(r=>t.stdout.write(`${r} +`),t.stdout.isTTY?e:null),stderr:O5(r=>t.stderr.write(`${r} +`),t.stderr.isTTY?e:null)}}var sRe=(0,G5.promisify)(setTimeout);var Fi;(function(r){r[r.Readable=1]="Readable",r[r.Writable=2]="Writable"})(Fi||(Fi={}));function j5(t,e,r){let i=new Kn.PassThrough({autoDestroy:!0});switch(t){case wn.STDIN:(e&1)==1&&r.stdin.pipe(i,{end:!1}),(e&2)==2&&r.stdin instanceof Kn.Writable&&i.pipe(r.stdin,{end:!1});break;case wn.STDOUT:(e&1)==1&&r.stdout.pipe(i,{end:!1}),(e&2)==2&&i.pipe(r.stdout,{end:!1});break;case wn.STDERR:(e&1)==1&&r.stderr.pipe(i,{end:!1}),(e&2)==2&&i.pipe(r.stderr,{end:!1});break;default:throw new as(`Bad file descriptor: "${t}"`)}return i}function kw(t,e={}){let r=P(P({},t),e);return r.environment=P(P({},t.environment),e.environment),r.variables=P(P({},t.variables),e.variables),r}var oRe=new Map([["cd",async([t=(0,H5.homedir)(),...e],r,i)=>{let n=v.resolve(i.cwd,M.toPortablePath(t));if(!(await r.baseFs.statPromise(n).catch(o=>{throw o.code==="ENOENT"?new as(`cd: no such file or directory: ${t}`):o})).isDirectory())throw new as(`cd: not a directory: ${t}`);return i.cwd=n,0}],["pwd",async(t,e,r)=>(r.stdout.write(`${M.fromPortablePath(r.cwd)} +`),0)],[":",async(t,e,r)=>0],["true",async(t,e,r)=>0],["false",async(t,e,r)=>1],["exit",async([t,...e],r,i)=>i.exitCode=parseInt(t!=null?t:i.variables["?"],10)],["echo",async(t,e,r)=>(r.stdout.write(`${t.join(" ")} +`),0)],["sleep",async([t],e,r)=>{if(typeof t=="undefined")throw new as("sleep: missing operand");let i=Number(t);if(Number.isNaN(i))throw new as(`sleep: invalid time interval '${t}'`);return await sRe(1e3*i,0)}],["__ysh_run_procedure",async(t,e,r)=>{let i=r.procedures[t[0]];return await xw(i,{stdin:new Os(r.stdin),stdout:new Os(r.stdout),stderr:new Os(r.stderr)}).run()}],["__ysh_set_redirects",async(t,e,r)=>{let i=r.stdin,n=r.stdout,s=r.stderr,o=[],a=[],l=[],c=0;for(;t[c]!=="--";){let g=t[c++],{type:f,fd:h}=JSON.parse(g),p=B=>{switch(h){case null:case 0:o.push(B);break;default:throw new Error(`Unsupported file descriptor: "${h}"`)}},d=B=>{switch(h){case null:case 1:a.push(B);break;case 2:l.push(B);break;default:throw new Error(`Unsupported file descriptor: "${h}"`)}},m=Number(t[c++]),I=c+m;for(let B=c;Be.baseFs.createReadStream(v.resolve(r.cwd,M.toPortablePath(t[B]))));break;case"<<<":p(()=>{let b=new Kn.PassThrough;return process.nextTick(()=>{b.write(`${t[B]} +`),b.end()}),b});break;case"<&":p(()=>j5(Number(t[B]),1,r));break;case">":case">>":{let b=v.resolve(r.cwd,M.toPortablePath(t[B]));d(b==="/dev/null"?new Kn.Writable({autoDestroy:!0,emitClose:!0,write(R,H,L){setImmediate(L)}}):e.baseFs.createWriteStream(b,f===">>"?{flags:"a"}:void 0))}break;case">&":d(j5(Number(t[B]),2,r));break;default:throw new Error(`Assertion failed: Unsupported redirection type: "${f}"`)}}if(o.length>0){let g=new Kn.PassThrough;i=g;let f=h=>{if(h===o.length)g.end();else{let p=o[h]();p.pipe(g,{end:!1}),p.on("end",()=>{f(h+1)})}};f(0)}if(a.length>0){let g=new Kn.PassThrough;n=g;for(let f of a)g.pipe(f)}if(l.length>0){let g=new Kn.PassThrough;s=g;for(let f of l)g.pipe(f)}let u=await xw(Yp(t.slice(c+1),e,r),{stdin:new Os(i),stdout:new Os(n),stderr:new Os(s)}).run();return await Promise.all(a.map(g=>new Promise((f,h)=>{g.on("error",p=>{h(p)}),g.on("close",()=>{f()}),g.end()}))),await Promise.all(l.map(g=>new Promise((f,h)=>{g.on("error",p=>{h(p)}),g.on("close",()=>{f()}),g.end()}))),u}]]);async function aRe(t,e,r){let i=[],n=new Kn.PassThrough;return n.on("data",s=>i.push(s)),await Pw(t,e,kw(r,{stdout:n})),Buffer.concat(i).toString().replace(/[\r\n]+$/,"")}async function Y5(t,e,r){let i=t.map(async s=>{let o=await oc(s.args,e,r);return{name:s.name,value:o.join(" ")}});return(await Promise.all(i)).reduce((s,o)=>(s[o.name]=o.value,s),{})}function Dw(t){return t.match(/[^ \r\n\t]+/g)||[]}async function q5(t,e,r,i,n=i){switch(t.name){case"$":i(String(process.pid));break;case"#":i(String(e.args.length));break;case"@":if(t.quoted)for(let s of e.args)n(s);else for(let s of e.args){let o=Dw(s);for(let a=0;a=0&&st+e,subtraction:(t,e)=>t-e,multiplication:(t,e)=>t*e,division:(t,e)=>Math.trunc(t/e)};async function qp(t,e,r){if(t.type==="number"){if(Number.isInteger(t.value))return t.value;throw new Error(`Invalid number: "${t.value}", only integers are allowed`)}else if(t.type==="variable"){let i=[];await q5(_(P({},t),{quoted:!0}),e,r,s=>i.push(s));let n=Number(i.join(" "));return Number.isNaN(n)?qp({type:"variable",name:i.join(" ")},e,r):qp({type:"number",value:n},e,r)}else return ARe[t.type](await qp(t.left,e,r),await qp(t.right,e,r))}async function oc(t,e,r){let i=new Map,n=[],s=[],o=u=>{s.push(u)},a=()=>{s.length>0&&n.push(s.join("")),s=[]},l=u=>{o(u),a()},c=(u,g,f)=>{let h=JSON.stringify({type:u,fd:g}),p=i.get(h);typeof p=="undefined"&&i.set(h,p=[]),p.push(f)};for(let u of t){let g=!1;switch(u.type){case"redirection":{let f=await oc(u.args,e,r);for(let h of f)c(u.subtype,u.fd,h)}break;case"argument":for(let f of u.segments)switch(f.type){case"text":o(f.text);break;case"glob":o(f.pattern),g=!0;break;case"shell":{let h=await aRe(f.shell,e,r);if(f.quoted)o(h);else{let p=Dw(h);for(let d=0;d0){let u=[];for(let[g,f]of i.entries())u.splice(u.length,0,g,String(f.length),...f);n.splice(0,0,"__ysh_set_redirects",...u,"--")}return n}function Yp(t,e,r){e.builtins.has(t[0])||(t=["command",...t]);let i=M.fromPortablePath(r.cwd),n=r.environment;typeof n.PWD!="undefined"&&(n=_(P({},n),{PWD:i}));let[s,...o]=t;if(s==="command")return L5(o[0],o.slice(1),e,{cwd:i,env:n});let a=e.builtins.get(s);if(typeof a=="undefined")throw new Error(`Assertion failed: A builtin should exist for "${s}"`);return T5(async({stdin:l,stdout:c,stderr:u})=>{let{stdin:g,stdout:f,stderr:h}=r;r.stdin=l,r.stdout=c,r.stderr=u;try{return await a(o,e,r)}finally{r.stdin=g,r.stdout=f,r.stderr=h}})}function lRe(t,e,r){return i=>{let n=new Kn.PassThrough,s=Pw(t,e,kw(r,{stdin:n}));return{stdin:n,promise:s}}}function cRe(t,e,r){return i=>{let n=new Kn.PassThrough,s=Pw(t,e,r);return{stdin:n,promise:s}}}function J5(t,e,r,i){if(e.length===0)return t;{let n;do n=String(Math.random());while(Object.prototype.hasOwnProperty.call(i.procedures,n));return i.procedures=P({},i.procedures),i.procedures[n]=t,Yp([...e,"__ysh_run_procedure",n],r,i)}}async function W5(t,e,r){let i=t,n=null,s=null;for(;i;){let o=i.then?P({},r):r,a;switch(i.type){case"command":{let l=await oc(i.args,e,r),c=await Y5(i.envs,e,r);a=i.envs.length?Yp(l,e,kw(o,{environment:c})):Yp(l,e,o)}break;case"subshell":{let l=await oc(i.args,e,r),c=lRe(i.subshell,e,o);a=J5(c,l,e,o)}break;case"group":{let l=await oc(i.args,e,r),c=cRe(i.group,e,o);a=J5(c,l,e,o)}break;case"envs":{let l=await Y5(i.envs,e,r);o.environment=P(P({},o.environment),l),a=Yp(["true"],e,o)}break}if(typeof a=="undefined")throw new Error("Assertion failed: An action should have been generated");if(n===null)s=xw(a,{stdin:new Os(o.stdin),stdout:new Os(o.stdout),stderr:new Os(o.stderr)});else{if(s===null)throw new Error("Assertion failed: The execution pipeline should have been setup");switch(n){case"|":s=s.pipeTo(a,wn.STDOUT);break;case"|&":s=s.pipeTo(a,wn.STDOUT|wn.STDERR);break}}i.then?(n=i.then.type,i=i.then.chain):i=null}if(s===null)throw new Error("Assertion failed: The execution pipeline should have been setup");return await s.run()}async function uRe(t,e,r,{background:i=!1}={}){function n(s){let o=["#2E86AB","#A23B72","#F18F01","#C73E1D","#CCE2A3"],a=o[s%o.length];return U5.default.hex(a)}if(i){let s=r.nextBackgroundJobIndex++,o=n(s),a=`[${s}]`,l=o(a),{stdout:c,stderr:u}=K5(r,{prefix:l});return r.backgroundJobs.push(W5(t,e,kw(r,{stdout:c,stderr:u})).catch(g=>u.write(`${g.message} +`)).finally(()=>{r.stdout.isTTY&&r.stdout.write(`Job ${l}, '${o(rg(t))}' has ended +`)})),0}return await W5(t,e,r)}async function gRe(t,e,r,{background:i=!1}={}){let n,s=a=>{n=a,r.variables["?"]=String(a)},o=async a=>{try{return await uRe(a.chain,e,r,{background:i&&typeof a.then=="undefined"})}catch(l){if(!(l instanceof as))throw l;return r.stderr.write(`${l.message} +`),1}};for(s(await o(t));t.then;){if(r.exitCode!==null)return r.exitCode;switch(t.then.type){case"&&":n===0&&s(await o(t.then.line));break;case"||":n!==0&&s(await o(t.then.line));break;default:throw new Error(`Assertion failed: Unsupported command type: "${t.then.type}"`)}t=t.then.line}return n}async function Pw(t,e,r){let i=r.backgroundJobs;r.backgroundJobs=[];let n=0;for(let{command:s,type:o}of t){if(n=await gRe(s,e,r,{background:o==="&"}),r.exitCode!==null)return r.exitCode;r.variables["?"]=String(n)}return await Promise.all(r.backgroundJobs),r.backgroundJobs=i,n}function z5(t){switch(t.type){case"variable":return t.name==="@"||t.name==="#"||t.name==="*"||Number.isFinite(parseInt(t.name,10))||"defaultValue"in t&&!!t.defaultValue&&t.defaultValue.some(e=>Rw(e));case"arithmetic":return qP(t.arithmetic);case"shell":return JP(t.shell);default:return!1}}function Rw(t){switch(t.type){case"redirection":return t.args.some(e=>Rw(e));case"argument":return t.segments.some(e=>z5(e));default:throw new Error(`Assertion failed: Unsupported argument type: "${t.type}"`)}}function qP(t){switch(t.type){case"variable":return z5(t);case"number":return!1;default:return qP(t.left)||qP(t.right)}}function JP(t){return t.some(({command:e})=>{for(;e;){let r=e.chain;for(;r;){let i;switch(r.type){case"subshell":i=JP(r.subshell);break;case"command":i=r.envs.some(n=>n.args.some(s=>Rw(s)))||r.args.some(n=>Rw(n));break}if(i)return!0;if(!r.then)break;r=r.then.chain}if(!e.then)break;e=e.then.line}return!1})}async function Fw(t,e=[],{baseFs:r=new Wt,builtins:i={},cwd:n=M.toPortablePath(process.cwd()),env:s=process.env,stdin:o=process.stdin,stdout:a=process.stdout,stderr:l=process.stderr,variables:c={},glob:u=bw}={}){let g={};for(let[p,d]of Object.entries(s))typeof d!="undefined"&&(g[p]=d);let f=new Map(oRe);for(let[p,d]of Object.entries(i))f.set(p,d);o===null&&(o=new Kn.PassThrough,o.end());let h=Aw(t,u);if(!JP(h)&&h.length>0&&e.length>0){let{command:p}=h[h.length-1];for(;p.then;)p=p.then.line;let d=p.chain;for(;d.then;)d=d.then.chain;d.type==="command"&&(d.args=d.args.concat(e.map(m=>({type:"argument",segments:[{type:"text",text:m}]}))))}return await Pw(h,{args:e,baseFs:r,builtins:f,initialStdin:o,initialStdout:a,initialStderr:l,glob:u},{cwd:n,environment:g,exitCode:null,procedures:{},stdin:o,stdout:a,stderr:l,variables:Object.assign({},c,{["?"]:0}),nextBackgroundJobIndex:1,backgroundJobs:[]})}var s9=ie(ZP()),o9=ie(Wp()),cc=ie(require("stream"));var J6=ie(Or());var zp=class{supportsDescriptor(e,r){return!!(e.range.startsWith(zp.protocol)||r.project.tryWorkspaceByDescriptor(e)!==null)}supportsLocator(e,r){return!!e.reference.startsWith(zp.protocol)}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,i){return e}getResolutionDependencies(e,r){return[]}async getCandidates(e,r,i){return[i.project.getWorkspaceByDescriptor(e).anchoredLocator]}async getSatisfying(e,r,i){return null}async resolve(e,r){let i=r.project.getWorkspaceByCwd(e.reference.slice(zp.protocol.length));return _(P({},e),{version:i.manifest.version||"0.0.0",languageName:"unknown",linkType:gt.SOFT,conditions:null,dependencies:new Map([...i.manifest.dependencies,...i.manifest.devDependencies]),peerDependencies:new Map([...i.manifest.peerDependencies]),dependenciesMeta:i.manifest.dependenciesMeta,peerDependenciesMeta:i.manifest.peerDependenciesMeta,bin:i.manifest.bin})}},Yr=zp;Yr.protocol="workspace:";var qt={};it(qt,{SemVer:()=>j6.SemVer,satisfiesWithPrereleases:()=>lc,validRange:()=>Us});var Lw=ie(Or()),j6=ie(Or()),Y6=new Map;function lc(t,e,r=!1){if(!t)return!1;let i=`${e}${r}`,n=Y6.get(i);if(typeof n=="undefined")try{n=new Lw.default.Range(e,{includePrerelease:!0,loose:r})}catch{return!1}finally{Y6.set(i,n||null)}else if(n===null)return!1;let s;try{s=new Lw.default.SemVer(t,n)}catch(o){return!1}return n.test(s)?!0:(s.prerelease&&(s.prerelease=[]),n.set.some(o=>{for(let a of o)a.semver.prerelease&&(a.semver.prerelease=[]);return o.every(a=>a.test(s))}))}var q6=new Map;function Us(t){if(t.indexOf(":")!==-1)return null;let e=q6.get(t);if(typeof e!="undefined")return e;try{e=new Lw.default.Range(t)}catch{e=null}return q6.set(t,e),e}var vA=class{constructor(){this.indent=" ";this.name=null;this.version=null;this.os=null;this.cpu=null;this.type=null;this.packageManager=null;this.private=!1;this.license=null;this.main=null;this.module=null;this.browser=null;this.languageName=null;this.bin=new Map;this.scripts=new Map;this.dependencies=new Map;this.devDependencies=new Map;this.peerDependencies=new Map;this.workspaceDefinitions=[];this.dependenciesMeta=new Map;this.peerDependenciesMeta=new Map;this.resolutions=[];this.files=null;this.publishConfig=null;this.installConfig=null;this.preferUnplugged=null;this.raw={};this.errors=[]}static async tryFind(e,{baseFs:r=new Wt}={}){let i=v.join(e,"package.json");return await r.existsPromise(i)?await vA.fromFile(i,{baseFs:r}):null}static async find(e,{baseFs:r}={}){let i=await vA.tryFind(e,{baseFs:r});if(i===null)throw new Error("Manifest not found");return i}static async fromFile(e,{baseFs:r=new Wt}={}){let i=new vA;return await i.loadFile(e,{baseFs:r}),i}static fromText(e){let r=new vA;return r.loadFromText(e),r}static isManifestFieldCompatible(e,r){if(e===null)return!0;let i=!0,n=!1;for(let s of e)if(s[0]==="!"){if(n=!0,r===s.slice(1))return!1}else if(i=!1,s===r)return!0;return n&&i}loadFromText(e){let r;try{r=JSON.parse(z6(e)||"{}")}catch(i){throw i.message+=` (when parsing ${e})`,i}this.load(r),this.indent=W6(e)}async loadFile(e,{baseFs:r=new Wt}){let i=await r.readFilePromise(e,"utf8"),n;try{n=JSON.parse(z6(i)||"{}")}catch(s){throw s.message+=` (when parsing ${e})`,s}this.load(n),this.indent=W6(i)}load(e,{yamlCompatibilityMode:r=!1}={}){if(typeof e!="object"||e===null)throw new Error(`Utterly invalid manifest data (${e})`);this.raw=e;let i=[];if(this.name=null,typeof e.name=="string")try{this.name=En(e.name)}catch(s){i.push(new Error("Parsing failed for the 'name' field"))}if(typeof e.version=="string"?this.version=e.version:this.version=null,Array.isArray(e.os)){let s=[];this.os=s;for(let o of e.os)typeof o!="string"?i.push(new Error("Parsing failed for the 'os' field")):s.push(o)}else this.os=null;if(Array.isArray(e.cpu)){let s=[];this.cpu=s;for(let o of e.cpu)typeof o!="string"?i.push(new Error("Parsing failed for the 'cpu' field")):s.push(o)}else this.cpu=null;if(typeof e.type=="string"?this.type=e.type:this.type=null,typeof e.packageManager=="string"?this.packageManager=e.packageManager:this.packageManager=null,typeof e.private=="boolean"?this.private=e.private:this.private=!1,typeof e.license=="string"?this.license=e.license:this.license=null,typeof e.languageName=="string"?this.languageName=e.languageName:this.languageName=null,typeof e.main=="string"?this.main=en(e.main):this.main=null,typeof e.module=="string"?this.module=en(e.module):this.module=null,e.browser!=null)if(typeof e.browser=="string")this.browser=en(e.browser);else{this.browser=new Map;for(let[s,o]of Object.entries(e.browser))this.browser.set(en(s),typeof o=="string"?en(o):o)}else this.browser=null;if(this.bin=new Map,typeof e.bin=="string")this.name!==null?this.bin.set(this.name.name,en(e.bin)):i.push(new Error("String bin field, but no attached package name"));else if(typeof e.bin=="object"&&e.bin!==null)for(let[s,o]of Object.entries(e.bin)){if(typeof o!="string"){i.push(new Error(`Invalid bin definition for '${s}'`));continue}this.bin.set(s,en(o))}if(this.scripts=new Map,typeof e.scripts=="object"&&e.scripts!==null)for(let[s,o]of Object.entries(e.scripts)){if(typeof o!="string"){i.push(new Error(`Invalid script definition for '${s}'`));continue}this.scripts.set(s,o)}if(this.dependencies=new Map,typeof e.dependencies=="object"&&e.dependencies!==null)for(let[s,o]of Object.entries(e.dependencies)){if(typeof o!="string"){i.push(new Error(`Invalid dependency range for '${s}'`));continue}let a;try{a=En(s)}catch(c){i.push(new Error(`Parsing failed for the dependency name '${s}'`));continue}let l=Yt(a,o);this.dependencies.set(l.identHash,l)}if(this.devDependencies=new Map,typeof e.devDependencies=="object"&&e.devDependencies!==null)for(let[s,o]of Object.entries(e.devDependencies)){if(typeof o!="string"){i.push(new Error(`Invalid dependency range for '${s}'`));continue}let a;try{a=En(s)}catch(c){i.push(new Error(`Parsing failed for the dependency name '${s}'`));continue}let l=Yt(a,o);this.devDependencies.set(l.identHash,l)}if(this.peerDependencies=new Map,typeof e.peerDependencies=="object"&&e.peerDependencies!==null)for(let[s,o]of Object.entries(e.peerDependencies)){let a;try{a=En(s)}catch(c){i.push(new Error(`Parsing failed for the dependency name '${s}'`));continue}(typeof o!="string"||!o.startsWith(Yr.protocol)&&!Us(o))&&(i.push(new Error(`Invalid dependency range for '${s}'`)),o="*");let l=Yt(a,o);this.peerDependencies.set(l.identHash,l)}typeof e.workspaces=="object"&&e.workspaces.nohoist&&i.push(new Error("'nohoist' is deprecated, please use 'installConfig.hoistingLimits' instead"));let n=Array.isArray(e.workspaces)?e.workspaces:typeof e.workspaces=="object"&&e.workspaces!==null&&Array.isArray(e.workspaces.packages)?e.workspaces.packages:[];this.workspaceDefinitions=[];for(let s of n){if(typeof s!="string"){i.push(new Error(`Invalid workspace definition for '${s}'`));continue}this.workspaceDefinitions.push({pattern:s})}if(this.dependenciesMeta=new Map,typeof e.dependenciesMeta=="object"&&e.dependenciesMeta!==null)for(let[s,o]of Object.entries(e.dependenciesMeta)){if(typeof o!="object"||o===null){i.push(new Error(`Invalid meta field for '${s}`));continue}let a=pA(s),l=this.ensureDependencyMeta(a),c=Tw(o.built,{yamlCompatibilityMode:r});if(c===null){i.push(new Error(`Invalid built meta field for '${s}'`));continue}let u=Tw(o.optional,{yamlCompatibilityMode:r});if(u===null){i.push(new Error(`Invalid optional meta field for '${s}'`));continue}let g=Tw(o.unplugged,{yamlCompatibilityMode:r});if(g===null){i.push(new Error(`Invalid unplugged meta field for '${s}'`));continue}Object.assign(l,{built:c,optional:u,unplugged:g})}if(this.peerDependenciesMeta=new Map,typeof e.peerDependenciesMeta=="object"&&e.peerDependenciesMeta!==null)for(let[s,o]of Object.entries(e.peerDependenciesMeta)){if(typeof o!="object"||o===null){i.push(new Error(`Invalid meta field for '${s}'`));continue}let a=pA(s),l=this.ensurePeerDependencyMeta(a),c=Tw(o.optional,{yamlCompatibilityMode:r});if(c===null){i.push(new Error(`Invalid optional meta field for '${s}'`));continue}Object.assign(l,{optional:c})}if(this.resolutions=[],typeof e.resolutions=="object"&&e.resolutions!==null)for(let[s,o]of Object.entries(e.resolutions)){if(typeof o!="string"){i.push(new Error(`Invalid resolution entry for '${s}'`));continue}try{this.resolutions.push({pattern:gw(s),reference:o})}catch(a){i.push(a);continue}}if(Array.isArray(e.files)){this.files=new Set;for(let s of e.files){if(typeof s!="string"){i.push(new Error(`Invalid files entry for '${s}'`));continue}this.files.add(s)}}else this.files=null;if(typeof e.publishConfig=="object"&&e.publishConfig!==null){if(this.publishConfig={},typeof e.publishConfig.access=="string"&&(this.publishConfig.access=e.publishConfig.access),typeof e.publishConfig.main=="string"&&(this.publishConfig.main=en(e.publishConfig.main)),typeof e.publishConfig.module=="string"&&(this.publishConfig.module=en(e.publishConfig.module)),e.publishConfig.browser!=null)if(typeof e.publishConfig.browser=="string")this.publishConfig.browser=en(e.publishConfig.browser);else{this.publishConfig.browser=new Map;for(let[s,o]of Object.entries(e.publishConfig.browser))this.publishConfig.browser.set(en(s),typeof o=="string"?en(o):o)}if(typeof e.publishConfig.registry=="string"&&(this.publishConfig.registry=e.publishConfig.registry),typeof e.publishConfig.bin=="string")this.name!==null?this.publishConfig.bin=new Map([[this.name.name,en(e.publishConfig.bin)]]):i.push(new Error("String bin field, but no attached package name"));else if(typeof e.publishConfig.bin=="object"&&e.publishConfig.bin!==null){this.publishConfig.bin=new Map;for(let[s,o]of Object.entries(e.publishConfig.bin)){if(typeof o!="string"){i.push(new Error(`Invalid bin definition for '${s}'`));continue}this.publishConfig.bin.set(s,en(o))}}if(Array.isArray(e.publishConfig.executableFiles)){this.publishConfig.executableFiles=new Set;for(let s of e.publishConfig.executableFiles){if(typeof s!="string"){i.push(new Error("Invalid executable file definition"));continue}this.publishConfig.executableFiles.add(en(s))}}}else this.publishConfig=null;if(typeof e.installConfig=="object"&&e.installConfig!==null){this.installConfig={};for(let s of Object.keys(e.installConfig))s==="hoistingLimits"?typeof e.installConfig.hoistingLimits=="string"?this.installConfig.hoistingLimits=e.installConfig.hoistingLimits:i.push(new Error("Invalid hoisting limits definition")):s=="selfReferences"?typeof e.installConfig.selfReferences=="boolean"?this.installConfig.selfReferences=e.installConfig.selfReferences:i.push(new Error("Invalid selfReferences definition, must be a boolean value")):i.push(new Error(`Unrecognized installConfig key: ${s}`))}else this.installConfig=null;if(typeof e.optionalDependencies=="object"&&e.optionalDependencies!==null)for(let[s,o]of Object.entries(e.optionalDependencies)){if(typeof o!="string"){i.push(new Error(`Invalid dependency range for '${s}'`));continue}let a;try{a=En(s)}catch(g){i.push(new Error(`Parsing failed for the dependency name '${s}'`));continue}let l=Yt(a,o);this.dependencies.set(l.identHash,l);let c=Yt(a,"unknown"),u=this.ensureDependencyMeta(c);Object.assign(u,{optional:!0})}typeof e.preferUnplugged=="boolean"?this.preferUnplugged=e.preferUnplugged:this.preferUnplugged=null,this.errors=i}getForScope(e){switch(e){case"dependencies":return this.dependencies;case"devDependencies":return this.devDependencies;case"peerDependencies":return this.peerDependencies;default:throw new Error(`Unsupported value ("${e}")`)}}hasConsumerDependency(e){return!!(this.dependencies.has(e.identHash)||this.peerDependencies.has(e.identHash))}hasHardDependency(e){return!!(this.dependencies.has(e.identHash)||this.devDependencies.has(e.identHash))}hasSoftDependency(e){return!!this.peerDependencies.has(e.identHash)}hasDependency(e){return!!(this.hasHardDependency(e)||this.hasSoftDependency(e))}getConditions(){let e=[];return this.os&&this.os.length>0&&e.push(V6("os",this.os)),this.cpu&&this.cpu.length>0&&e.push(V6("cpu",this.cpu)),e.length>0?e.join(" & "):null}isCompatibleWithOS(e){return vA.isManifestFieldCompatible(this.os,e)}isCompatibleWithCPU(e){return vA.isManifestFieldCompatible(this.cpu,e)}ensureDependencyMeta(e){if(e.range!=="unknown"&&!J6.default.valid(e.range))throw new Error(`Invalid meta field range for '${In(e)}'`);let r=St(e),i=e.range!=="unknown"?e.range:null,n=this.dependenciesMeta.get(r);n||this.dependenciesMeta.set(r,n=new Map);let s=n.get(i);return s||n.set(i,s={}),s}ensurePeerDependencyMeta(e){if(e.range!=="unknown")throw new Error(`Invalid meta field range for '${In(e)}'`);let r=St(e),i=this.peerDependenciesMeta.get(r);return i||this.peerDependenciesMeta.set(r,i={}),i}setRawField(e,r,{after:i=[]}={}){let n=new Set(i.filter(s=>Object.prototype.hasOwnProperty.call(this.raw,s)));if(n.size===0||Object.prototype.hasOwnProperty.call(this.raw,e))this.raw[e]=r;else{let s=this.raw,o=this.raw={},a=!1;for(let l of Object.keys(s))o[l]=s[l],a||(n.delete(l),n.size===0&&(o[e]=r,a=!0))}}exportTo(e,{compatibilityMode:r=!0}={}){var s;if(Object.assign(e,this.raw),this.name!==null?e.name=St(this.name):delete e.name,this.version!==null?e.version=this.version:delete e.version,this.os!==null?e.os=this.os:delete e.os,this.cpu!==null?e.cpu=this.cpu:delete e.cpu,this.type!==null?e.type=this.type:delete e.type,this.packageManager!==null?e.packageManager=this.packageManager:delete e.packageManager,this.private?e.private=!0:delete e.private,this.license!==null?e.license=this.license:delete e.license,this.languageName!==null?e.languageName=this.languageName:delete e.languageName,this.main!==null?e.main=this.main:delete e.main,this.module!==null?e.module=this.module:delete e.module,this.browser!==null){let o=this.browser;typeof o=="string"?e.browser=o:o instanceof Map&&(e.browser=Object.assign({},...Array.from(o.keys()).sort().map(a=>({[a]:o.get(a)}))))}else delete e.browser;this.bin.size===1&&this.name!==null&&this.bin.has(this.name.name)?e.bin=this.bin.get(this.name.name):this.bin.size>0?e.bin=Object.assign({},...Array.from(this.bin.keys()).sort().map(o=>({[o]:this.bin.get(o)}))):delete e.bin,this.workspaceDefinitions.length>0?this.raw.workspaces&&!Array.isArray(this.raw.workspaces)?e.workspaces=_(P({},this.raw.workspaces),{packages:this.workspaceDefinitions.map(({pattern:o})=>o)}):e.workspaces=this.workspaceDefinitions.map(({pattern:o})=>o):this.raw.workspaces&&!Array.isArray(this.raw.workspaces)&&Object.keys(this.raw.workspaces).length>0?e.workspaces=this.raw.workspaces:delete e.workspaces;let i=[],n=[];for(let o of this.dependencies.values()){let a=this.dependenciesMeta.get(St(o)),l=!1;if(r&&a){let c=a.get(null);c&&c.optional&&(l=!0)}l?n.push(o):i.push(o)}i.length>0?e.dependencies=Object.assign({},...Ou(i).map(o=>({[St(o)]:o.range}))):delete e.dependencies,n.length>0?e.optionalDependencies=Object.assign({},...Ou(n).map(o=>({[St(o)]:o.range}))):delete e.optionalDependencies,this.devDependencies.size>0?e.devDependencies=Object.assign({},...Ou(this.devDependencies.values()).map(o=>({[St(o)]:o.range}))):delete e.devDependencies,this.peerDependencies.size>0?e.peerDependencies=Object.assign({},...Ou(this.peerDependencies.values()).map(o=>({[St(o)]:o.range}))):delete e.peerDependencies,e.dependenciesMeta={};for(let[o,a]of gn(this.dependenciesMeta.entries(),([l,c])=>l))for(let[l,c]of gn(a.entries(),([u,g])=>u!==null?`0${u}`:"1")){let u=l!==null?In(Yt(En(o),l)):o,g=P({},c);r&&l===null&&delete g.optional,Object.keys(g).length!==0&&(e.dependenciesMeta[u]=g)}if(Object.keys(e.dependenciesMeta).length===0&&delete e.dependenciesMeta,this.peerDependenciesMeta.size>0?e.peerDependenciesMeta=Object.assign({},...gn(this.peerDependenciesMeta.entries(),([o,a])=>o).map(([o,a])=>({[o]:a}))):delete e.peerDependenciesMeta,this.resolutions.length>0?e.resolutions=Object.assign({},...this.resolutions.map(({pattern:o,reference:a})=>({[fw(o)]:a}))):delete e.resolutions,this.files!==null?e.files=Array.from(this.files):delete e.files,this.preferUnplugged!==null?e.preferUnplugged=this.preferUnplugged:delete e.preferUnplugged,this.scripts!==null&&this.scripts.size>0){(s=e.scripts)!=null||(e.scripts={});for(let o of Object.keys(e.scripts))this.scripts.has(o)||delete e.scripts[o];for(let[o,a]of this.scripts.entries())e.scripts[o]=a}else delete e.scripts;return e}},Ze=vA;Ze.fileName="package.json",Ze.allDependencies=["dependencies","devDependencies","peerDependencies"],Ze.hardDependencies=["dependencies","devDependencies"];function W6(t){let e=t.match(/^[ \t]+/m);return e?e[0]:" "}function z6(t){return t.charCodeAt(0)===65279?t.slice(1):t}function en(t){return t.replace(/\\/g,"/")}function Tw(t,{yamlCompatibilityMode:e}){return e?Kv(t):typeof t=="undefined"||typeof t=="boolean"?t:null}function _6(t,e){let r=e.search(/[^!]/);if(r===-1)return"invalid";let i=r%2==0?"":"!",n=e.slice(r);return`${i}${t}=${n}`}function V6(t,e){return e.length===1?_6(t,e[0]):`(${e.map(r=>_6(t,r)).join(" | ")})`}var e9=ie($6()),Ow=ie(ml());var t9=["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"],r9=80,NFe=new Set([z.FETCH_NOT_CACHED,z.UNUSED_CACHE_ENTRY]),LFe=5,SA=Ow.default.GITHUB_ACTIONS?{start:t=>`::group::${t} +`,end:t=>`::endgroup:: +`}:Ow.default.TRAVIS?{start:t=>`travis_fold:start:${t} +`,end:t=>`travis_fold:end:${t} +`}:Ow.default.GITLAB?{start:t=>`section_start:${Math.floor(Date.now()/1e3)}:${t.toLowerCase().replace(/\W+/g,"_")}[collapsed=true]\r${t} +`,end:t=>`section_end:${Math.floor(Date.now()/1e3)}:${t.toLowerCase().replace(/\W+/g,"_")}\r`}:null,i9=new Date,TFe=["iTerm.app","Apple_Terminal"].includes(process.env.TERM_PROGRAM)||!!process.env.WT_SESSION,MFe=t=>t,Kw=MFe({patrick:{date:[17,3],chars:["\u{1F340}","\u{1F331}"],size:40},simba:{date:[19,7],chars:["\u{1F981}","\u{1F334}"],size:40},jack:{date:[31,10],chars:["\u{1F383}","\u{1F987}"],size:40},hogsfather:{date:[31,12],chars:["\u{1F389}","\u{1F384}"],size:40},default:{chars:["=","-"],size:80}}),OFe=TFe&&Object.keys(Kw).find(t=>{let e=Kw[t];return!(e.date&&(e.date[0]!==i9.getDate()||e.date[1]!==i9.getMonth()+1))})||"default";function n9(t,{configuration:e,json:r}){if(!e.get("enableMessageNames"))return"";let n=KE(t===null?0:t);return!r&&t===null?Ve(e,n,"grey"):n}function eD(t,{configuration:e,json:r}){let i=n9(t,{configuration:e,json:r});if(!i||t===null||t===z.UNNAMED)return i;let n=z[t],s=`https://yarnpkg.com/advanced/error-codes#${i}---${n}`.toLowerCase();return Ku(e,i,s)}var Fe=class extends Xi{constructor({configuration:e,stdout:r,json:i=!1,includeFooter:n=!0,includeLogs:s=!i,includeInfos:o=s,includeWarnings:a=s,forgettableBufferSize:l=LFe,forgettableNames:c=new Set}){super();this.uncommitted=new Set;this.cacheHitCount=0;this.cacheMissCount=0;this.lastCacheMiss=null;this.warningCount=0;this.errorCount=0;this.startTime=Date.now();this.indent=0;this.progress=new Map;this.progressTime=0;this.progressFrame=0;this.progressTimeout=null;this.forgettableLines=[];Cp(this,{configuration:e}),this.configuration=e,this.forgettableBufferSize=l,this.forgettableNames=new Set([...c,...NFe]),this.includeFooter=n,this.includeInfos=o,this.includeWarnings=a,this.json=i,this.stdout=r;let u=this.configuration.get("progressBarStyle")||OFe;if(!Object.prototype.hasOwnProperty.call(Kw,u))throw new Error("Assertion failed: Invalid progress bar style");this.progressStyle=Kw[u];let g="\u27A4 YN0000: \u250C ".length,f=Math.max(0,Math.min(process.stdout.columns-g,80));this.progressMaxScaledSize=Math.floor(this.progressStyle.size*f/80)}static async start(e,r){let i=new this(e),n=process.emitWarning;process.emitWarning=(s,o)=>{if(typeof s!="string"){let l=s;s=l.message,o=o!=null?o:l.name}let a=typeof o!="undefined"?`${o}: ${s}`:s;i.reportWarning(z.UNNAMED,a)};try{await r(i)}catch(s){i.reportExceptionOnce(s)}finally{await i.finalize(),process.emitWarning=n}return i}hasErrors(){return this.errorCount>0}exitCode(){return this.hasErrors()?1:0}reportCacheHit(e){this.cacheHitCount+=1}reportCacheMiss(e,r){this.lastCacheMiss=e,this.cacheMissCount+=1,typeof r!="undefined"&&!this.configuration.get("preferAggregateCacheInfo")&&this.reportInfo(z.FETCH_NOT_CACHED,r)}startTimerSync(e,r,i){let n=typeof r=="function"?{}:r,s=typeof r=="function"?r:i,o={committed:!1,action:()=>{this.reportInfo(null,`\u250C ${e}`),this.indent+=1,SA!==null&&!this.json&&this.includeInfos&&this.stdout.write(SA.start(e))}};n.skipIfEmpty?this.uncommitted.add(o):(o.action(),o.committed=!0);let a=Date.now();try{return s()}catch(l){throw this.reportExceptionOnce(l),l}finally{let l=Date.now();this.uncommitted.delete(o),o.committed&&(this.indent-=1,SA!==null&&!this.json&&this.includeInfos&&this.stdout.write(SA.end(e)),this.configuration.get("enableTimers")&&l-a>200?this.reportInfo(null,`\u2514 Completed in ${Ve(this.configuration,l-a,Le.DURATION)}`):this.reportInfo(null,"\u2514 Completed"))}}async startTimerPromise(e,r,i){let n=typeof r=="function"?{}:r,s=typeof r=="function"?r:i,o={committed:!1,action:()=>{this.reportInfo(null,`\u250C ${e}`),this.indent+=1,SA!==null&&!this.json&&this.includeInfos&&this.stdout.write(SA.start(e))}};n.skipIfEmpty?this.uncommitted.add(o):(o.action(),o.committed=!0);let a=Date.now();try{return await s()}catch(l){throw this.reportExceptionOnce(l),l}finally{let l=Date.now();this.uncommitted.delete(o),o.committed&&(this.indent-=1,SA!==null&&!this.json&&this.includeInfos&&this.stdout.write(SA.end(e)),this.configuration.get("enableTimers")&&l-a>200?this.reportInfo(null,`\u2514 Completed in ${Ve(this.configuration,l-a,Le.DURATION)}`):this.reportInfo(null,"\u2514 Completed"))}}async startCacheReport(e){let r=this.configuration.get("preferAggregateCacheInfo")?{cacheHitCount:this.cacheHitCount,cacheMissCount:this.cacheMissCount}:null;try{return await e()}catch(i){throw this.reportExceptionOnce(i),i}finally{r!==null&&this.reportCacheChanges(r)}}reportSeparator(){this.indent===0?this.writeLineWithForgettableReset(""):this.reportInfo(null,"")}reportInfo(e,r){if(!this.includeInfos)return;this.commit();let i=this.formatNameWithHyperlink(e),n=i?`${i}: `:"",s=`${Ve(this.configuration,"\u27A4","blueBright")} ${n}${this.formatIndent()}${r}`;if(this.json)this.reportJson({type:"info",name:e,displayName:this.formatName(e),indent:this.formatIndent(),data:r});else if(this.forgettableNames.has(e))if(this.forgettableLines.push(s),this.forgettableLines.length>this.forgettableBufferSize){for(;this.forgettableLines.length>this.forgettableBufferSize;)this.forgettableLines.shift();this.writeLines(this.forgettableLines,{truncate:!0})}else this.writeLine(s,{truncate:!0});else this.writeLineWithForgettableReset(s)}reportWarning(e,r){if(this.warningCount+=1,!this.includeWarnings)return;this.commit();let i=this.formatNameWithHyperlink(e),n=i?`${i}: `:"";this.json?this.reportJson({type:"warning",name:e,displayName:this.formatName(e),indent:this.formatIndent(),data:r}):this.writeLineWithForgettableReset(`${Ve(this.configuration,"\u27A4","yellowBright")} ${n}${this.formatIndent()}${r}`)}reportError(e,r){this.errorCount+=1,this.commit();let i=this.formatNameWithHyperlink(e),n=i?`${i}: `:"";this.json?this.reportJson({type:"error",name:e,displayName:this.formatName(e),indent:this.formatIndent(),data:r}):this.writeLineWithForgettableReset(`${Ve(this.configuration,"\u27A4","redBright")} ${n}${this.formatIndent()}${r}`,{truncate:!1})}reportProgress(e){let r=!1,i=Promise.resolve().then(async()=>{let s={progress:0,title:void 0};this.progress.set(e,{definition:s,lastScaledSize:-1}),this.refreshProgress(-1);for await(let{progress:o,title:a}of e)r||s.progress===o&&s.title===a||(s.progress=o,s.title=a,this.refreshProgress());n()}),n=()=>{r||(r=!0,this.progress.delete(e),this.refreshProgress(1))};return _(P({},i),{stop:n})}reportJson(e){this.json&&this.writeLineWithForgettableReset(`${JSON.stringify(e)}`)}async finalize(){if(!this.includeFooter)return;let e="";this.errorCount>0?e="Failed with errors":this.warningCount>0?e="Done with warnings":e="Done";let r=Ve(this.configuration,Date.now()-this.startTime,Le.DURATION),i=this.configuration.get("enableTimers")?`${e} in ${r}`:e;this.errorCount>0?this.reportError(z.UNNAMED,i):this.warningCount>0?this.reportWarning(z.UNNAMED,i):this.reportInfo(z.UNNAMED,i)}writeLine(e,{truncate:r}={}){this.clearProgress({clear:!0}),this.stdout.write(`${this.truncate(e,{truncate:r})} +`),this.writeProgress()}writeLineWithForgettableReset(e,{truncate:r}={}){this.forgettableLines=[],this.writeLine(e,{truncate:r})}writeLines(e,{truncate:r}={}){this.clearProgress({delta:e.length});for(let i of e)this.stdout.write(`${this.truncate(i,{truncate:r})} +`);this.writeProgress()}reportCacheChanges({cacheHitCount:e,cacheMissCount:r}){let i=this.cacheHitCount-e,n=this.cacheMissCount-r;if(i===0&&n===0)return;let s="";this.cacheHitCount>1?s+=`${this.cacheHitCount} packages were already cached`:this.cacheHitCount===1?s+=" - one package was already cached":s+="No packages were cached",this.cacheHitCount>0?this.cacheMissCount>1?s+=`, ${this.cacheMissCount} had to be fetched`:this.cacheMissCount===1&&(s+=`, one had to be fetched (${lt(this.configuration,this.lastCacheMiss)})`):this.cacheMissCount>1?s+=` - ${this.cacheMissCount} packages had to be fetched`:this.cacheMissCount===1&&(s+=` - one package had to be fetched (${lt(this.configuration,this.lastCacheMiss)})`),this.reportInfo(z.FETCH_NOT_CACHED,s)}commit(){let e=this.uncommitted;this.uncommitted=new Set;for(let r of e)r.committed=!0,r.action()}clearProgress({delta:e=0,clear:r=!1}){!this.configuration.get("enableProgressBars")||this.json||this.progress.size+e>0&&(this.stdout.write(`[${this.progress.size+e}A`),(e>0||r)&&this.stdout.write(""))}writeProgress(){if(!this.configuration.get("enableProgressBars")||this.json||(this.progressTimeout!==null&&clearTimeout(this.progressTimeout),this.progressTimeout=null,this.progress.size===0))return;let e=Date.now();e-this.progressTime>r9&&(this.progressFrame=(this.progressFrame+1)%t9.length,this.progressTime=e);let r=t9[this.progressFrame];for(let i of this.progress.values()){let n=this.progressStyle.chars[0].repeat(i.lastScaledSize),s=this.progressStyle.chars[1].repeat(this.progressMaxScaledSize-i.lastScaledSize),o=this.formatName(null),a=o?`${o}: `:"";this.stdout.write(`${Ve(this.configuration,"\u27A4","blueBright")} ${a}${r} ${n}${s} +`)}this.progressTimeout=setTimeout(()=>{this.refreshProgress()},r9)}refreshProgress(e=0){let r=!1;if(this.progress.size===0)r=!0;else for(let i of this.progress.values()){let n=Math.trunc(this.progressMaxScaledSize*i.definition.progress),s=i.lastScaledSize;if(i.lastScaledSize=n,n!==s){r=!0;break}}r&&(this.clearProgress({delta:e}),this.writeProgress())}truncate(e,{truncate:r}={}){return this.configuration.get("enableProgressBars")||(r=!1),typeof r=="undefined"&&(r=this.configuration.get("preferTruncatedLines")),r&&(e=(0,e9.default)(e,0,process.stdout.columns-1)),e}formatName(e){return n9(e,{configuration:this.configuration,json:this.json})}formatNameWithHyperlink(e){return eD(e,{configuration:this.configuration,json:this.json})}formatIndent(){return"\u2502 ".repeat(this.indent)}};var Zr="3.1.1";var tn;(function(n){n.Yarn1="Yarn Classic",n.Yarn2="Yarn",n.Npm="npm",n.Pnpm="pnpm"})(tn||(tn={}));async function ba(t,e,r,i=[]){if(process.platform==="win32"){let n=`@goto #_undefined_# 2>NUL || @title %COMSPEC% & @setlocal & @"${r}" ${i.map(s=>`"${s.replace('"','""')}"`).join(" ")} %*`;await T.writeFilePromise(v.format({dir:t,name:e,ext:".cmd"}),n)}await T.writeFilePromise(v.join(t,e),`#!/bin/sh +exec "${r}" ${i.map(n=>`'${n.replace(/'/g,`'"'"'`)}'`).join(" ")} "$@" +`,{mode:493})}async function a9(t){let e=await Ze.tryFind(t);if(e==null?void 0:e.packageManager){let i=Qy(e.packageManager);if(i==null?void 0:i.name){let n=`found ${JSON.stringify({packageManager:e.packageManager})} in manifest`,[s]=i.reference.split(".");switch(i.name){case"yarn":return{packageManager:Number(s)===1?tn.Yarn1:tn.Yarn2,reason:n};case"npm":return{packageManager:tn.Npm,reason:n};case"pnpm":return{packageManager:tn.Pnpm,reason:n}}}}let r;try{r=await T.readFilePromise(v.join(t,wt.lockfile),"utf8")}catch{}return r!==void 0?r.match(/^__metadata:$/m)?{packageManager:tn.Yarn2,reason:'"__metadata" key found in yarn.lock'}:{packageManager:tn.Yarn1,reason:'"__metadata" key not found in yarn.lock, must be a Yarn classic lockfile'}:T.existsSync(v.join(t,"package-lock.json"))?{packageManager:tn.Npm,reason:`found npm's "package-lock.json" lockfile`}:T.existsSync(v.join(t,"pnpm-lock.yaml"))?{packageManager:tn.Pnpm,reason:`found pnpm's "pnpm-lock.yaml" lockfile`}:null}async function Vp({project:t,locator:e,binFolder:r,lifecycleScript:i}){var l,c;let n={};for(let[u,g]of Object.entries(process.env))typeof g!="undefined"&&(n[u.toLowerCase()!=="path"?u:"PATH"]=g);let s=M.fromPortablePath(r);n.BERRY_BIN_FOLDER=M.fromPortablePath(s);let o=process.env.COREPACK_ROOT?M.join(process.env.COREPACK_ROOT,"dist/yarn.js"):process.argv[1];if(await Promise.all([ba(r,"node",process.execPath),...Zr!==null?[ba(r,"run",process.execPath,[o,"run"]),ba(r,"yarn",process.execPath,[o]),ba(r,"yarnpkg",process.execPath,[o]),ba(r,"node-gyp",process.execPath,[o,"run","--top-level","node-gyp"])]:[]]),t&&(n.INIT_CWD=M.fromPortablePath(t.configuration.startingCwd),n.PROJECT_CWD=M.fromPortablePath(t.cwd)),n.PATH=n.PATH?`${s}${M.delimiter}${n.PATH}`:`${s}`,n.npm_execpath=`${s}${M.sep}yarn`,n.npm_node_execpath=`${s}${M.sep}node`,e){if(!t)throw new Error("Assertion failed: Missing project");let u=t.tryWorkspaceByLocator(e),g=u?(l=u.manifest.version)!=null?l:"":(c=t.storedPackages.get(e.locatorHash).version)!=null?c:"";n.npm_package_name=St(e),n.npm_package_version=g}let a=Zr!==null?`yarn/${Zr}`:`yarn/${mu("@yarnpkg/core").version}-core`;return n.npm_config_user_agent=`${a} npm/? node/${process.versions.node} ${process.platform} ${process.arch}`,i&&(n.npm_lifecycle_event=i),t&&await t.configuration.triggerHook(u=>u.setupScriptEnvironment,t,n,async(u,g,f)=>await ba(r,kr(u),g,f)),n}var KFe=2,UFe=(0,o9.default)(KFe);async function HFe(t,e,{configuration:r,report:i,workspace:n=null,locator:s=null}){await UFe(async()=>{await T.mktempPromise(async o=>{let a=v.join(o,"pack.log"),l=null,{stdout:c,stderr:u}=r.getSubprocessStreams(a,{prefix:M.fromPortablePath(t),report:i}),g=s&&Io(s)?lp(s):s,f=g?is(g):"an external project";c.write(`Packing ${f} from sources +`);let h=await a9(t),p;h!==null?(c.write(`Using ${h.packageManager} for bootstrap. Reason: ${h.reason} + +`),p=h.packageManager):(c.write(`No package manager configuration detected; defaulting to Yarn + +`),p=tn.Yarn2),await T.mktempPromise(async d=>{let m=await Vp({binFolder:d}),B=new Map([[tn.Yarn1,async()=>{let R=n!==null?["workspace",n]:[],H=await to("yarn",["set","version","classic","--only-if-needed"],{cwd:t,env:m,stdin:l,stdout:c,stderr:u,end:Pn.ErrorCode});if(H.code!==0)return H.code;await T.appendFilePromise(v.join(t,".npmignore"),`/.yarn +`),c.write(` +`);let L=await to("yarn",["install"],{cwd:t,env:m,stdin:l,stdout:c,stderr:u,end:Pn.ErrorCode});if(L.code!==0)return L.code;c.write(` +`);let K=await to("yarn",[...R,"pack","--filename",M.fromPortablePath(e)],{cwd:t,env:m,stdin:l,stdout:c,stderr:u});return K.code!==0?K.code:0}],[tn.Yarn2,async()=>{let R=n!==null?["workspace",n]:[];m.YARN_ENABLE_INLINE_BUILDS="1";let H=v.join(t,wt.lockfile);await T.existsPromise(H)||await T.writeFilePromise(H,"");let L=await to("yarn",[...R,"pack","--install-if-needed","--filename",M.fromPortablePath(e)],{cwd:t,env:m,stdin:l,stdout:c,stderr:u});return L.code!==0?L.code:0}],[tn.Npm,async()=>{if(n!==null){let A=new cc.PassThrough,V=Cu(A);A.pipe(c,{end:!1});let W=await to("npm",["--version"],{cwd:t,env:m,stdin:l,stdout:A,stderr:u,end:Pn.Never});if(A.end(),W.code!==0)return c.end(),u.end(),W.code;let X=(await V).toString().trim();if(!lc(X,">=7.x")){let F=Eo(null,"npm"),D=Yt(F,X),he=Yt(F,">=7.x");throw new Error(`Workspaces aren't supported by ${Xt(r,D)}; please upgrade to ${Xt(r,he)} (npm has been detected as the primary package manager for ${Ve(r,t,Le.PATH)})`)}}let R=n!==null?["--workspace",n]:[];delete m.npm_config_user_agent;let H=await to("npm",["install"],{cwd:t,env:m,stdin:l,stdout:c,stderr:u,end:Pn.ErrorCode});if(H.code!==0)return H.code;let L=new cc.PassThrough,K=Cu(L);L.pipe(c);let J=await to("npm",["pack","--silent",...R],{cwd:t,env:m,stdin:l,stdout:L,stderr:u});if(J.code!==0)return J.code;let ne=(await K).toString().trim().replace(/^.*\n/s,""),q=v.resolve(t,M.toPortablePath(ne));return await T.renamePromise(q,e),0}]]).get(p);if(typeof B=="undefined")throw new Error("Assertion failed: Unsupported workflow");let b=await B();if(!(b===0||typeof b=="undefined"))throw T.detachTemp(o),new nt(z.PACKAGE_PREPARATION_FAILED,`Packing the package failed (exit code ${b}, logs can be found here: ${Ve(r,a,Le.PATH)})`)})})})}async function GFe(t,e,{project:r}){let i=r.tryWorkspaceByLocator(t);if(i!==null)return tD(i,e);let n=r.storedPackages.get(t.locatorHash);if(!n)throw new Error(`Package for ${lt(r.configuration,t)} not found in the project`);return await Jn.openPromise(async s=>{let o=r.configuration,a=r.configuration.getLinkers(),l={project:r,report:new Fe({stdout:new cc.PassThrough,configuration:o})},c=a.find(h=>h.supportsPackage(n,l));if(!c)throw new Error(`The package ${lt(r.configuration,n)} isn't supported by any of the available linkers`);let u=await c.findPackageLocation(n,l),g=new Ft(u,{baseFs:s});return(await Ze.find(Se.dot,{baseFs:g})).scripts.has(e)},{libzip:await $i()})}async function Uw(t,e,r,{cwd:i,project:n,stdin:s,stdout:o,stderr:a}){return await T.mktempPromise(async l=>{let{manifest:c,env:u,cwd:g}=await A9(t,{project:n,binFolder:l,cwd:i,lifecycleScript:e}),f=c.scripts.get(e);if(typeof f=="undefined")return 1;let h=async()=>await Fw(f,r,{cwd:g,env:u,stdin:s,stdout:o,stderr:a});return await(await n.configuration.reduceHook(d=>d.wrapScriptExecution,h,n,t,e,{script:f,args:r,cwd:g,env:u,stdin:s,stdout:o,stderr:a}))()})}async function rD(t,e,r,{cwd:i,project:n,stdin:s,stdout:o,stderr:a}){return await T.mktempPromise(async l=>{let{env:c,cwd:u}=await A9(t,{project:n,binFolder:l,cwd:i});return await Fw(e,r,{cwd:u,env:c,stdin:s,stdout:o,stderr:a})})}async function jFe(t,{binFolder:e,cwd:r,lifecycleScript:i}){let n=await Vp({project:t.project,locator:t.anchoredLocator,binFolder:e,lifecycleScript:i});return await Promise.all(Array.from(await l9(t),([s,[,o]])=>ba(e,kr(s),process.execPath,[o]))),typeof r=="undefined"&&(r=v.dirname(await T.realpathPromise(v.join(t.cwd,"package.json")))),{manifest:t.manifest,binFolder:e,env:n,cwd:r}}async function A9(t,{project:e,binFolder:r,cwd:i,lifecycleScript:n}){let s=e.tryWorkspaceByLocator(t);if(s!==null)return jFe(s,{binFolder:r,cwd:i,lifecycleScript:n});let o=e.storedPackages.get(t.locatorHash);if(!o)throw new Error(`Package for ${lt(e.configuration,t)} not found in the project`);return await Jn.openPromise(async a=>{let l=e.configuration,c=e.configuration.getLinkers(),u={project:e,report:new Fe({stdout:new cc.PassThrough,configuration:l})},g=c.find(m=>m.supportsPackage(o,u));if(!g)throw new Error(`The package ${lt(e.configuration,o)} isn't supported by any of the available linkers`);let f=await Vp({project:e,locator:t,binFolder:r,lifecycleScript:n});await Promise.all(Array.from(await Hw(t,{project:e}),([m,[,I]])=>ba(r,kr(m),process.execPath,[I])));let h=await g.findPackageLocation(o,u),p=new Ft(h,{baseFs:a}),d=await Ze.find(Se.dot,{baseFs:p});return typeof i=="undefined"&&(i=h),{manifest:d,binFolder:r,env:f,cwd:i}},{libzip:await $i()})}async function c9(t,e,r,{cwd:i,stdin:n,stdout:s,stderr:o}){return await Uw(t.anchoredLocator,e,r,{cwd:i,project:t.project,stdin:n,stdout:s,stderr:o})}function tD(t,e){return t.manifest.scripts.has(e)}async function u9(t,e,{cwd:r,report:i}){let{configuration:n}=t.project,s=null;await T.mktempPromise(async o=>{let a=v.join(o,`${e}.log`),l=`# This file contains the result of Yarn calling the "${e}" lifecycle script inside a workspace ("${M.fromPortablePath(t.cwd)}") +`,{stdout:c,stderr:u}=n.getSubprocessStreams(a,{report:i,prefix:lt(n,t.anchoredLocator),header:l});i.reportInfo(z.LIFECYCLE_SCRIPT,`Calling the "${e}" lifecycle script`);let g=await c9(t,e,[],{cwd:r,stdin:s,stdout:c,stderr:u});if(c.end(),u.end(),g!==0)throw T.detachTemp(o),new nt(z.LIFECYCLE_SCRIPT,`${(0,s9.default)(e)} script failed (exit code ${Ve(n,g,Le.NUMBER)}, logs can be found here: ${Ve(n,a,Le.PATH)}); run ${Ve(n,`yarn ${e}`,Le.CODE)} to investigate`)})}async function YFe(t,e,r){tD(t,e)&&await u9(t,e,r)}async function Hw(t,{project:e}){let r=e.configuration,i=new Map,n=e.storedPackages.get(t.locatorHash);if(!n)throw new Error(`Package for ${lt(r,t)} not found in the project`);let s=new cc.Writable,o=r.getLinkers(),a={project:e,report:new Fe({configuration:r,stdout:s})},l=new Set([t.locatorHash]);for(let u of n.dependencies.values()){let g=e.storedResolutions.get(u.descriptorHash);if(!g)throw new Error(`Assertion failed: The resolution (${Xt(r,u)}) should have been registered`);l.add(g)}let c=await Promise.all(Array.from(l,async u=>{let g=e.storedPackages.get(u);if(!g)throw new Error(`Assertion failed: The package (${u}) should have been registered`);if(g.bin.size===0)return kl.skip;let f=o.find(p=>p.supportsPackage(g,a));if(!f)return kl.skip;let h=null;try{h=await f.findPackageLocation(g,a)}catch(p){if(p.code==="LOCATOR_NOT_INSTALLED")return kl.skip;throw p}return{dependency:g,packageLocation:h}}));for(let u of c){if(u===kl.skip)continue;let{dependency:g,packageLocation:f}=u;for(let[h,p]of g.bin)i.set(h,[g,M.fromPortablePath(v.resolve(f,p))])}return i}async function l9(t){return await Hw(t.anchoredLocator,{project:t.project})}async function g9(t,e,r,{cwd:i,project:n,stdin:s,stdout:o,stderr:a,nodeArgs:l=[],packageAccessibleBinaries:c}){c!=null||(c=await Hw(t,{project:n}));let u=c.get(e);if(!u)throw new Error(`Binary not found (${e}) for ${lt(n.configuration,t)}`);return await T.mktempPromise(async g=>{let[,f]=u,h=await Vp({project:n,locator:t,binFolder:g});await Promise.all(Array.from(c,([d,[,m]])=>ba(h.BERRY_BIN_FOLDER,kr(d),process.execPath,[m])));let p;try{p=await to(process.execPath,[...l,f,...r],{cwd:i,env:h,stdin:s,stdout:o,stderr:a})}finally{await T.removePromise(h.BERRY_BIN_FOLDER)}return p.code})}async function qFe(t,e,r,{cwd:i,stdin:n,stdout:s,stderr:o,packageAccessibleBinaries:a}){return await g9(t.anchoredLocator,e,r,{project:t.project,cwd:i,stdin:n,stdout:s,stderr:o,packageAccessibleBinaries:a})}var Ai={};it(Ai,{convertToZip:()=>lTe,extractArchiveTo:()=>uTe,makeArchiveFromDirectory:()=>ATe});var d_=ie(require("stream")),C_=ie(Z7());var u_=ie(require("os")),g_=ie(c_()),f_=ie(require("worker_threads")),IR=class{constructor(e){this.source=e;this.pool=[];this.queue=new g_.default({concurrency:Math.max(1,(0,u_.cpus)().length)});let r=setTimeout(()=>{if(!(this.queue.size!==0||this.queue.pending!==0)){for(let i of this.pool)i.terminate();this.pool=[]}},1e3).unref();this.queue.on("idle",()=>{r.refresh()})}run(e){return this.queue.add(()=>{var i;let r=(i=this.pool.pop())!=null?i:new f_.Worker(this.source,{eval:!0,execArgv:[...process.execArgv,"--unhandled-rejections=strict"]});return r.ref(),new Promise((n,s)=>{let o=a=>{a!==0&&s(new Error(`Worker exited with code ${a}`))};r.once("message",a=>{this.pool.push(r),r.unref(),r.off("error",s),r.off("exit",o),n(a)}),r.once("error",s),r.once("exit",o),r.postMessage(e)})})}};var m_=ie(p_());async function ATe(t,{baseFs:e=new Wt,prefixPath:r=Se.root,compressionLevel:i,inMemory:n=!1}={}){let s=await $i(),o;if(n)o=new Jr(null,{libzip:s,level:i});else{let l=await T.mktempPromise(),c=v.join(l,"archive.zip");o=new Jr(c,{create:!0,libzip:s,level:i})}let a=v.resolve(Se.root,r);return await o.copyPromise(a,t,{baseFs:e,stableTime:!0,stableSort:!0}),o}var E_;async function lTe(t,e){let r=await T.mktempPromise(),i=v.join(r,"archive.zip");return E_||(E_=new IR((0,m_.getContent)())),await E_.run({tmpFile:i,tgz:t,opts:e}),new Jr(i,{libzip:await $i(),level:e.compressionLevel})}async function*cTe(t){let e=new C_.default.Parse,r=new d_.PassThrough({objectMode:!0,autoDestroy:!0,emitClose:!0});e.on("entry",i=>{r.write(i)}),e.on("error",i=>{r.destroy(i)}),e.on("close",()=>{r.destroyed||r.end()}),e.end(t);for await(let i of r){let n=i;yield n,n.resume()}}async function uTe(t,e,{stripComponents:r=0,prefixPath:i=Se.dot}={}){var s,o;function n(a){if(a.path[0]==="/")return!0;let l=a.path.split(/\//g);return!!(l.some(c=>c==="..")||l.length<=r)}for await(let a of cTe(t)){if(n(a))continue;let l=v.normalize(M.toPortablePath(a.path)).replace(/\/$/,"").split(/\//g);if(l.length<=r)continue;let c=l.slice(r).join("/"),u=v.join(i,c),g=420;switch((a.type==="Directory"||(((s=a.mode)!=null?s:0)&73)!=0)&&(g|=73),a.type){case"Directory":e.mkdirpSync(v.dirname(u),{chmod:493,utimes:[mr.SAFE_TIME,mr.SAFE_TIME]}),e.mkdirSync(u,{mode:g}),e.utimesSync(u,mr.SAFE_TIME,mr.SAFE_TIME);break;case"OldFile":case"File":e.mkdirpSync(v.dirname(u),{chmod:493,utimes:[mr.SAFE_TIME,mr.SAFE_TIME]}),e.writeFileSync(u,await Cu(a),{mode:g}),e.utimesSync(u,mr.SAFE_TIME,mr.SAFE_TIME);break;case"SymbolicLink":e.mkdirpSync(v.dirname(u),{chmod:493,utimes:[mr.SAFE_TIME,mr.SAFE_TIME]}),e.symlinkSync(a.linkpath,u),(o=e.lutimesSync)==null||o.call(e,u,mr.SAFE_TIME,mr.SAFE_TIME);break}}return e}var Hs={};it(Hs,{emitList:()=>gTe,emitTree:()=>b_,treeNodeToJson:()=>Q_,treeNodeToTreeify:()=>B_});var w_=ie(y_());function B_(t,{configuration:e}){let r={},i=(n,s)=>{let o=Array.isArray(n)?n.entries():Object.entries(n);for(let[a,{label:l,value:c,children:u}]of o){let g=[];typeof l!="undefined"&&g.push(Py(e,l,Gl.BOLD)),typeof c!="undefined"&&g.push(Ve(e,c[0],c[1])),g.length===0&&g.push(Py(e,`${a}`,Gl.BOLD));let f=g.join(": "),h=s[f]={};typeof u!="undefined"&&i(u,h)}};if(typeof t.children=="undefined")throw new Error("The root node must only contain children");return i(t.children,r),r}function Q_(t){let e=r=>{var s;if(typeof r.children=="undefined"){if(typeof r.value=="undefined")throw new Error("Assertion failed: Expected a value to be set if the children are missing");return Uu(r.value[0],r.value[1])}let i=Array.isArray(r.children)?r.children.entries():Object.entries((s=r.children)!=null?s:{}),n=Array.isArray(r.children)?[]:{};for(let[o,a]of i)n[o]=e(a);return typeof r.value=="undefined"?n:{value:Uu(r.value[0],r.value[1]),children:n}};return e(t)}function gTe(t,{configuration:e,stdout:r,json:i}){let n=t.map(s=>({value:s}));b_({children:n},{configuration:e,stdout:r,json:i})}function b_(t,{configuration:e,stdout:r,json:i,separators:n=0}){var o;if(i){let a=Array.isArray(t.children)?t.children.values():Object.values((o=t.children)!=null?o:{});for(let l of a)r.write(`${JSON.stringify(Q_(l))} +`);return}let s=(0,w_.asTree)(B_(t,{configuration:e}),!1,!1);if(n>=1&&(s=s.replace(/^([├└]─)/gm,`\u2502 +$1`).replace(/^│\n/,"")),n>=2)for(let a=0;a<2;++a)s=s.replace(/^([│ ].{2}[├│ ].{2}[^\n]+\n)(([│ ]).{2}[├└].{2}[^\n]*\n[│ ].{2}[│ ].{2}[├└]─)/gm,`$1$3 \u2502 +$2`).replace(/^│\n/,"");if(n>=3)throw new Error("Only the first two levels are accepted by treeUtils.emitTree");r.write(s)}var v_=ie(require("crypto")),BR=ie(require("fs"));var fTe=8,Qt=class{constructor(e,{configuration:r,immutable:i=r.get("enableImmutableCache"),check:n=!1}){this.markedFiles=new Set;this.mutexes=new Map;this.cacheId=`-${(0,v_.randomBytes)(8).toString("hex")}.tmp`;this.configuration=r,this.cwd=e,this.immutable=i,this.check=n;let s=r.get("cacheKeyOverride");if(s!==null)this.cacheKey=`${s}`;else{let o=r.get("compressionLevel"),a=o!==pl?`c${o}`:"";this.cacheKey=[fTe,a].join("")}}static async find(e,{immutable:r,check:i}={}){let n=new Qt(e.get("cacheFolder"),{configuration:e,immutable:r,check:i});return await n.setup(),n}get mirrorCwd(){if(!this.configuration.get("enableMirror"))return null;let e=`${this.configuration.get("globalFolder")}/cache`;return e!==this.cwd?e:null}getVersionFilename(e){return`${Mu(e)}-${this.cacheKey}.zip`}getChecksumFilename(e,r){let n=hTe(r).slice(0,10);return`${Mu(e)}-${n}.zip`}getLocatorPath(e,r,i={}){var s;return this.mirrorCwd===null||((s=i.unstablePackages)==null?void 0:s.has(e.locatorHash))?v.resolve(this.cwd,this.getVersionFilename(e)):r===null||QR(r)!==this.cacheKey?null:v.resolve(this.cwd,this.getChecksumFilename(e,r))}getLocatorMirrorPath(e){let r=this.mirrorCwd;return r!==null?v.resolve(r,this.getVersionFilename(e)):null}async setup(){if(!this.configuration.get("enableGlobalCache"))if(this.immutable){if(!await T.existsPromise(this.cwd))throw new nt(z.IMMUTABLE_CACHE,"Cache path does not exist.")}else{await T.mkdirPromise(this.cwd,{recursive:!0});let e=v.resolve(this.cwd,".gitignore");await T.changeFilePromise(e,`/.gitignore +*.flock +*.tmp +`)}(this.mirrorCwd||!this.immutable)&&await T.mkdirPromise(this.mirrorCwd||this.cwd,{recursive:!0})}async fetchPackageFromCache(e,r,a){var l=a,{onHit:i,onMiss:n,loader:s}=l,o=qr(l,["onHit","onMiss","loader"]);var A;let c=this.getLocatorMirrorPath(e),u=new Wt,g=()=>{let V=new Jr(null,{libzip:H}),W=v.join(Se.root,Lx(e));return V.mkdirSync(W,{recursive:!0}),V.writeJsonSync(v.join(W,wt.manifest),{name:St(e),mocked:!0}),V},f=async(V,W=null)=>{let X=!o.skipIntegrityCheck||!r?`${this.cacheKey}/${await Ey(V)}`:r;if(W!==null){let F=!o.skipIntegrityCheck||!r?`${this.cacheKey}/${await Ey(W)}`:r;if(X!==F)throw new nt(z.CACHE_CHECKSUM_MISMATCH,"The remote archive doesn't match the local checksum - has the local cache been corrupted?")}if(r!==null&&X!==r){let F;switch(this.check?F="throw":QR(r)!==QR(X)?F="update":F=this.configuration.get("checksumBehavior"),F){case"ignore":return r;case"update":return X;default:case"throw":throw new nt(z.CACHE_CHECKSUM_MISMATCH,"The remote archive doesn't match the expected checksum")}}return X},h=async V=>{if(!s)throw new Error(`Cache check required but no loader configured for ${lt(this.configuration,e)}`);let W=await s(),X=W.getRealPath();return W.saveAndClose(),await T.chmodPromise(X,420),await f(V,X)},p=async()=>{if(c===null||!await T.existsPromise(c)){let V=await s(),W=V.getRealPath();return V.saveAndClose(),{source:"loader",path:W}}return{source:"mirror",path:c}},d=async()=>{if(!s)throw new Error(`Cache entry required but missing for ${lt(this.configuration,e)}`);if(this.immutable)throw new nt(z.IMMUTABLE_CACHE,`Cache entry required but missing for ${lt(this.configuration,e)}`);let{path:V,source:W}=await p(),X=await f(V),F=this.getLocatorPath(e,X,o);if(!F)throw new Error("Assertion failed: Expected the cache path to be available");let D=[];W!=="mirror"&&c!==null&&D.push(async()=>{let pe=`${c}${this.cacheId}`;await T.copyFilePromise(V,pe,BR.default.constants.COPYFILE_FICLONE),await T.chmodPromise(pe,420),await T.renamePromise(pe,c)}),(!o.mirrorWriteOnly||c===null)&&D.push(async()=>{let pe=`${F}${this.cacheId}`;await T.copyFilePromise(V,pe,BR.default.constants.COPYFILE_FICLONE),await T.chmodPromise(pe,420),await T.renamePromise(pe,F)});let he=o.mirrorWriteOnly&&c!=null?c:F;return await Promise.all(D.map(pe=>pe())),[!1,he,X]},m=async()=>{let W=(async()=>{var Ne;let X=this.getLocatorPath(e,r,o),F=X!==null?await u.existsPromise(X):!1,D=!!((Ne=o.mockedPackages)==null?void 0:Ne.has(e.locatorHash))&&(!this.check||!F),he=D||F,pe=he?i:n;if(pe&&pe(),he){let Pe=null,qe=X;return D||(Pe=this.check?await h(qe):await f(qe)),[D,qe,Pe]}else return d()})();this.mutexes.set(e.locatorHash,W);try{return await W}finally{this.mutexes.delete(e.locatorHash)}};for(let V;V=this.mutexes.get(e.locatorHash);)await V;let[I,B,b]=await m();this.markedFiles.add(B);let R,H=await $i(),L=I?()=>g():()=>new Jr(B,{baseFs:u,libzip:H,readOnly:!0}),K=new oh(()=>Mv(()=>R=L(),V=>`Failed to open the cache entry for ${lt(this.configuration,e)}: ${V}`),v),J=new Xo(B,{baseFs:K,pathUtils:v}),ne=()=>{R==null||R.discardAndClose()},q=((A=o.unstablePackages)==null?void 0:A.has(e.locatorHash))?null:b;return[J,ne,q]}};function QR(t){let e=t.indexOf("/");return e!==-1?t.slice(0,e):null}function hTe(t){let e=t.indexOf("/");return e!==-1?t.slice(e+1):t}var F_=ie(x_()),NB=ie(ml());var N_=ie(Wp()),kR=ie(require("stream"));var k_={hooks:{reduceDependency:(t,e,r,i,{resolver:n,resolveOptions:s})=>{for(let{pattern:o,reference:a}of e.topLevelWorkspace.manifest.resolutions){if(o.from&&o.from.fullName!==St(r)||o.from&&o.from.description&&o.from.description!==r.reference||o.descriptor.fullName!==St(t)||o.descriptor.description&&o.descriptor.description!==t.range)continue;return n.bindDescriptor(Yt(t,a),e.topLevelWorkspace.anchoredLocator,s)}return t},validateProject:async(t,e)=>{for(let r of t.workspaces){let i=hp(t.configuration,r);await t.configuration.triggerHook(n=>n.validateWorkspace,r,{reportWarning:(n,s)=>e.reportWarning(n,`${i}: ${s}`),reportError:(n,s)=>e.reportError(n,`${i}: ${s}`)})}},validateWorkspace:async(t,e)=>{let{manifest:r}=t;r.resolutions.length&&t.cwd!==t.project.cwd&&r.errors.push(new Error("Resolutions field will be ignored"));for(let i of r.errors)e.reportWarning(z.INVALID_MANIFEST,i.message)}}};var vR=class{constructor(e){this.fetchers=e}supports(e,r){return!!this.tryFetcher(e,r)}getLocalPath(e,r){return this.getFetcher(e,r).getLocalPath(e,r)}async fetch(e,r){return await this.getFetcher(e,r).fetch(e,r)}tryFetcher(e,r){let i=this.fetchers.find(n=>n.supports(e,r));return i||null}getFetcher(e,r){let i=this.fetchers.find(n=>n.supports(e,r));if(!i)throw new nt(z.FETCHER_NOT_FOUND,`${lt(r.project.configuration,e)} isn't supported by any available fetcher`);return i}};var pd=class{constructor(e){this.resolvers=e.filter(r=>r)}supportsDescriptor(e,r){return!!this.tryResolverByDescriptor(e,r)}supportsLocator(e,r){return!!this.tryResolverByLocator(e,r)}shouldPersistResolution(e,r){return this.getResolverByLocator(e,r).shouldPersistResolution(e,r)}bindDescriptor(e,r,i){return this.getResolverByDescriptor(e,i).bindDescriptor(e,r,i)}getResolutionDependencies(e,r){return this.getResolverByDescriptor(e,r).getResolutionDependencies(e,r)}async getCandidates(e,r,i){return await this.getResolverByDescriptor(e,i).getCandidates(e,r,i)}async getSatisfying(e,r,i){return this.getResolverByDescriptor(e,i).getSatisfying(e,r,i)}async resolve(e,r){return await this.getResolverByLocator(e,r).resolve(e,r)}tryResolverByDescriptor(e,r){let i=this.resolvers.find(n=>n.supportsDescriptor(e,r));return i||null}getResolverByDescriptor(e,r){let i=this.resolvers.find(n=>n.supportsDescriptor(e,r));if(!i)throw new Error(`${Xt(r.project.configuration,e)} isn't supported by any available resolver`);return i}tryResolverByLocator(e,r){let i=this.resolvers.find(n=>n.supportsLocator(e,r));return i||null}getResolverByLocator(e,r){let i=this.resolvers.find(n=>n.supportsLocator(e,r));if(!i)throw new Error(`${lt(r.project.configuration,e)} isn't supported by any available resolver`);return i}};var P_=ie(Or());var Rg=/^(?!v)[a-z0-9._-]+$/i,SR=class{supportsDescriptor(e,r){return!!(Us(e.range)||Rg.test(e.range))}supportsLocator(e,r){return!!(P_.default.valid(e.reference)||Rg.test(e.reference))}shouldPersistResolution(e,r){return r.resolver.shouldPersistResolution(this.forwardLocator(e,r),r)}bindDescriptor(e,r,i){return i.resolver.bindDescriptor(this.forwardDescriptor(e,i),r,i)}getResolutionDependencies(e,r){return r.resolver.getResolutionDependencies(this.forwardDescriptor(e,r),r)}async getCandidates(e,r,i){return await i.resolver.getCandidates(this.forwardDescriptor(e,i),r,i)}async getSatisfying(e,r,i){return await i.resolver.getSatisfying(this.forwardDescriptor(e,i),r,i)}async resolve(e,r){let i=await r.resolver.resolve(this.forwardLocator(e,r),r);return op(i,e)}forwardDescriptor(e,r){return Yt(e,`${r.project.configuration.get("defaultProtocol")}${e.range}`)}forwardLocator(e,r){return Vi(e,`${r.project.configuration.get("defaultProtocol")}${e.reference}`)}};var dd=class{supports(e){return!!e.reference.startsWith("virtual:")}getLocalPath(e,r){let i=e.reference.indexOf("#");if(i===-1)throw new Error("Invalid virtual package reference");let n=e.reference.slice(i+1),s=Vi(e,n);return r.fetcher.getLocalPath(s,r)}async fetch(e,r){let i=e.reference.indexOf("#");if(i===-1)throw new Error("Invalid virtual package reference");let n=e.reference.slice(i+1),s=Vi(e,n),o=await r.fetcher.fetch(s,r);return await this.ensureVirtualLink(e,o,r)}getLocatorFilename(e){return Mu(e)}async ensureVirtualLink(e,r,i){let n=r.packageFs.getRealPath(),s=i.project.configuration.get("virtualFolder"),o=this.getLocatorFilename(e),a=Pr.makeVirtualPath(s,o,n),l=new Xo(a,{baseFs:r.packageFs,pathUtils:v});return _(P({},r),{packageFs:l})}};var Fg=class{static isVirtualDescriptor(e){return!!e.range.startsWith(Fg.protocol)}static isVirtualLocator(e){return!!e.reference.startsWith(Fg.protocol)}supportsDescriptor(e,r){return Fg.isVirtualDescriptor(e)}supportsLocator(e,r){return Fg.isVirtualLocator(e)}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,i){throw new Error('Assertion failed: calling "bindDescriptor" on a virtual descriptor is unsupported')}getResolutionDependencies(e,r){throw new Error('Assertion failed: calling "getResolutionDependencies" on a virtual descriptor is unsupported')}async getCandidates(e,r,i){throw new Error('Assertion failed: calling "getCandidates" on a virtual descriptor is unsupported')}async getSatisfying(e,r,i){throw new Error('Assertion failed: calling "getSatisfying" on a virtual descriptor is unsupported')}async resolve(e,r){throw new Error('Assertion failed: calling "resolve" on a virtual locator is unsupported')}},FB=Fg;FB.protocol="virtual:";var xR=class{supports(e){return!!e.reference.startsWith(Yr.protocol)}getLocalPath(e,r){return this.getWorkspace(e,r).cwd}async fetch(e,r){let i=this.getWorkspace(e,r).cwd;return{packageFs:new Ft(i),prefixPath:Se.dot,localPath:i}}getWorkspace(e,r){return r.project.getWorkspaceByCwd(e.reference.slice(Yr.protocol.length))}};var D_=ie(require("module"));function R_(){return new Set(D_.default.builtinModules||Object.keys(process.binding("natives")))}var dTe=new Set(["binFolder","version","flags","profile","gpg","ignoreNode","wrapOutput","home","confDir"]),LB="yarn_",PR=".yarnrc.yml",DR="yarn.lock",CTe="********",ge;(function(u){u.ANY="ANY",u.BOOLEAN="BOOLEAN",u.ABSOLUTE_PATH="ABSOLUTE_PATH",u.LOCATOR="LOCATOR",u.LOCATOR_LOOSE="LOCATOR_LOOSE",u.NUMBER="NUMBER",u.STRING="STRING",u.SECRET="SECRET",u.SHAPE="SHAPE",u.MAP="MAP"})(ge||(ge={}));var ps=Le,RR={lastUpdateCheck:{description:"Last timestamp we checked whether new Yarn versions were available",type:ge.STRING,default:null},yarnPath:{description:"Path to the local executable that must be used over the global one",type:ge.ABSOLUTE_PATH,default:null},ignorePath:{description:"If true, the local executable will be ignored when using the global one",type:ge.BOOLEAN,default:!1},ignoreCwd:{description:"If true, the `--cwd` flag will be ignored",type:ge.BOOLEAN,default:!1},cacheKeyOverride:{description:"A global cache key override; used only for test purposes",type:ge.STRING,default:null},globalFolder:{description:"Folder where are stored the system-wide settings",type:ge.ABSOLUTE_PATH,default:Rb()},cacheFolder:{description:"Folder where the cache files must be written",type:ge.ABSOLUTE_PATH,default:"./.yarn/cache"},compressionLevel:{description:"Zip files compression level, from 0 to 9 or mixed (a variant of 9, which stores some files uncompressed, when compression doesn't yield good results)",type:ge.NUMBER,values:["mixed",0,1,2,3,4,5,6,7,8,9],default:pl},virtualFolder:{description:"Folder where the virtual packages (cf doc) will be mapped on the disk (must be named __virtual__)",type:ge.ABSOLUTE_PATH,default:"./.yarn/__virtual__"},lockfileFilename:{description:"Name of the files where the Yarn dependency tree entries must be stored",type:ge.STRING,default:DR},installStatePath:{description:"Path of the file where the install state will be persisted",type:ge.ABSOLUTE_PATH,default:"./.yarn/install-state.gz"},immutablePatterns:{description:"Array of glob patterns; files matching them won't be allowed to change during immutable installs",type:ge.STRING,default:[],isArray:!0},rcFilename:{description:"Name of the files where the configuration can be found",type:ge.STRING,default:TB()},enableGlobalCache:{description:"If true, the system-wide cache folder will be used regardless of `cache-folder`",type:ge.BOOLEAN,default:!1},enableColors:{description:"If true, the CLI is allowed to use colors in its output",type:ge.BOOLEAN,default:xy,defaultText:""},enableHyperlinks:{description:"If true, the CLI is allowed to use hyperlinks in its output",type:ge.BOOLEAN,default:Mx,defaultText:""},enableInlineBuilds:{description:"If true, the CLI will print the build output on the command line",type:ge.BOOLEAN,default:NB.isCI,defaultText:""},enableMessageNames:{description:"If true, the CLI will prefix most messages with codes suitable for search engines",type:ge.BOOLEAN,default:!0},enableProgressBars:{description:"If true, the CLI is allowed to show a progress bar for long-running events",type:ge.BOOLEAN,default:!NB.isCI&&process.stdout.isTTY&&process.stdout.columns>22,defaultText:""},enableTimers:{description:"If true, the CLI is allowed to print the time spent executing commands",type:ge.BOOLEAN,default:!0},preferAggregateCacheInfo:{description:"If true, the CLI will only print a one-line report of any cache changes",type:ge.BOOLEAN,default:NB.isCI},preferInteractive:{description:"If true, the CLI will automatically use the interactive mode when called from a TTY",type:ge.BOOLEAN,default:!1},preferTruncatedLines:{description:"If true, the CLI will truncate lines that would go beyond the size of the terminal",type:ge.BOOLEAN,default:!1},progressBarStyle:{description:"Which style of progress bar should be used (only when progress bars are enabled)",type:ge.STRING,default:void 0,defaultText:""},defaultLanguageName:{description:"Default language mode that should be used when a package doesn't offer any insight",type:ge.STRING,default:"node"},defaultProtocol:{description:"Default resolution protocol used when resolving pure semver and tag ranges",type:ge.STRING,default:"npm:"},enableTransparentWorkspaces:{description:"If false, Yarn won't automatically resolve workspace dependencies unless they use the `workspace:` protocol",type:ge.BOOLEAN,default:!0},supportedArchitectures:{description:"Architectures that Yarn will fetch and inject into the resolver",type:ge.SHAPE,properties:{os:{description:"Array of supported process.platform strings, or null to target them all",type:ge.STRING,isArray:!0,isNullable:!0,default:["current"]},cpu:{description:"Array of supported process.arch strings, or null to target them all",type:ge.STRING,isArray:!0,isNullable:!0,default:["current"]}}},enableMirror:{description:"If true, the downloaded packages will be retrieved and stored in both the local and global folders",type:ge.BOOLEAN,default:!0},enableNetwork:{description:"If false, the package manager will refuse to use the network if required to",type:ge.BOOLEAN,default:!0},httpProxy:{description:"URL of the http proxy that must be used for outgoing http requests",type:ge.STRING,default:null},httpsProxy:{description:"URL of the http proxy that must be used for outgoing https requests",type:ge.STRING,default:null},unsafeHttpWhitelist:{description:"List of the hostnames for which http queries are allowed (glob patterns are supported)",type:ge.STRING,default:[],isArray:!0},httpTimeout:{description:"Timeout of each http request in milliseconds",type:ge.NUMBER,default:6e4},httpRetry:{description:"Retry times on http failure",type:ge.NUMBER,default:3},networkConcurrency:{description:"Maximal number of concurrent requests",type:ge.NUMBER,default:50},networkSettings:{description:"Network settings per hostname (glob patterns are supported)",type:ge.MAP,valueDefinition:{description:"",type:ge.SHAPE,properties:{caFilePath:{description:"Path to file containing one or multiple Certificate Authority signing certificates",type:ge.ABSOLUTE_PATH,default:null},enableNetwork:{description:"If false, the package manager will refuse to use the network if required to",type:ge.BOOLEAN,default:null},httpProxy:{description:"URL of the http proxy that must be used for outgoing http requests",type:ge.STRING,default:null},httpsProxy:{description:"URL of the http proxy that must be used for outgoing https requests",type:ge.STRING,default:null}}}},caFilePath:{description:"A path to a file containing one or multiple Certificate Authority signing certificates",type:ge.ABSOLUTE_PATH,default:null},enableStrictSsl:{description:"If false, SSL certificate errors will be ignored",type:ge.BOOLEAN,default:!0},logFilters:{description:"Overrides for log levels",type:ge.SHAPE,isArray:!0,concatenateValues:!0,properties:{code:{description:"Code of the messages covered by this override",type:ge.STRING,default:void 0},text:{description:"Code of the texts covered by this override",type:ge.STRING,default:void 0},pattern:{description:"Code of the patterns covered by this override",type:ge.STRING,default:void 0},level:{description:"Log level override, set to null to remove override",type:ge.STRING,values:Object.values(Ts),isNullable:!0,default:void 0}}},enableTelemetry:{description:"If true, telemetry will be periodically sent, following the rules in https://yarnpkg.com/advanced/telemetry",type:ge.BOOLEAN,default:!0},telemetryInterval:{description:"Minimal amount of time between two telemetry uploads, in days",type:ge.NUMBER,default:7},telemetryUserId:{description:"If you desire to tell us which project you are, you can set this field. Completely optional and opt-in.",type:ge.STRING,default:null},enableScripts:{description:"If true, packages are allowed to have install scripts by default",type:ge.BOOLEAN,default:!0},enableStrictSettings:{description:"If true, unknown settings will cause Yarn to abort",type:ge.BOOLEAN,default:!0},enableImmutableCache:{description:"If true, the cache is reputed immutable and actions that would modify it will throw",type:ge.BOOLEAN,default:!1},checksumBehavior:{description:"Enumeration defining what to do when a checksum doesn't match expectations",type:ge.STRING,default:"throw"},packageExtensions:{description:"Map of package corrections to apply on the dependency tree",type:ge.MAP,valueDefinition:{description:"The extension that will be applied to any package whose version matches the specified range",type:ge.SHAPE,properties:{dependencies:{description:"The set of dependencies that must be made available to the current package in order for it to work properly",type:ge.MAP,valueDefinition:{description:"A range",type:ge.STRING}},peerDependencies:{description:"Inherited dependencies - the consumer of the package will be tasked to provide them",type:ge.MAP,valueDefinition:{description:"A semver range",type:ge.STRING}},peerDependenciesMeta:{description:"Extra information related to the dependencies listed in the peerDependencies field",type:ge.MAP,valueDefinition:{description:"The peerDependency meta",type:ge.SHAPE,properties:{optional:{description:"If true, the selected peer dependency will be marked as optional by the package manager and the consumer omitting it won't be reported as an error",type:ge.BOOLEAN,default:!1}}}}}}}};function NR(t,e,r,i,n){if(i.isArray||i.type===ge.ANY&&Array.isArray(r))return Array.isArray(r)?r.map((s,o)=>FR(t,`${e}[${o}]`,s,i,n)):String(r).split(/,/).map(s=>FR(t,e,s,i,n));if(Array.isArray(r))throw new Error(`Non-array configuration settings "${e}" cannot be an array`);return FR(t,e,r,i,n)}function FR(t,e,r,i,n){var a;switch(i.type){case ge.ANY:return r;case ge.SHAPE:return mTe(t,e,r,i,n);case ge.MAP:return ETe(t,e,r,i,n)}if(r===null&&!i.isNullable&&i.default!==null)throw new Error(`Non-nullable configuration settings "${e}" cannot be set to null`);if((a=i.values)==null?void 0:a.includes(r))return r;let o=(()=>{if(i.type===ge.BOOLEAN&&typeof r!="string")return Hh(r);if(typeof r!="string")throw new Error(`Expected value (${r}) to be a string`);let l=Ov(r,{env:process.env});switch(i.type){case ge.ABSOLUTE_PATH:return v.resolve(n,M.toPortablePath(l));case ge.LOCATOR_LOOSE:return Hl(l,!1);case ge.NUMBER:return parseInt(l);case ge.LOCATOR:return Hl(l);case ge.BOOLEAN:return Hh(l);default:return l}})();if(i.values&&!i.values.includes(o))throw new Error(`Invalid value, expected one of ${i.values.join(", ")}`);return o}function mTe(t,e,r,i,n){if(typeof r!="object"||Array.isArray(r))throw new me(`Object configuration settings "${e}" must be an object`);let s=LR(t,i,{ignoreArrays:!0});if(r===null)return s;for(let[o,a]of Object.entries(r)){let l=`${e}.${o}`;if(!i.properties[o])throw new me(`Unrecognized configuration settings found: ${e}.${o} - run "yarn config -v" to see the list of settings supported in Yarn`);s.set(o,NR(t,l,a,i.properties[o],n))}return s}function ETe(t,e,r,i,n){let s=new Map;if(typeof r!="object"||Array.isArray(r))throw new me(`Map configuration settings "${e}" must be an object`);if(r===null)return s;for(let[o,a]of Object.entries(r)){let l=i.normalizeKeys?i.normalizeKeys(o):o,c=`${e}['${l}']`,u=i.valueDefinition;s.set(l,NR(t,c,a,u,n))}return s}function LR(t,e,{ignoreArrays:r=!1}={}){switch(e.type){case ge.SHAPE:{if(e.isArray&&!r)return[];let i=new Map;for(let[n,s]of Object.entries(e.properties))i.set(n,LR(t,s));return i}break;case ge.MAP:return e.isArray&&!r?[]:new Map;case ge.ABSOLUTE_PATH:return e.default===null?null:t.projectCwd===null?v.isAbsolute(e.default)?v.normalize(e.default):e.isNullable?null:void 0:Array.isArray(e.default)?e.default.map(i=>v.resolve(t.projectCwd,i)):v.resolve(t.projectCwd,e.default);default:return e.default}}function MB(t,e,r){if(e.type===ge.SECRET&&typeof t=="string"&&r.hideSecrets)return CTe;if(e.type===ge.ABSOLUTE_PATH&&typeof t=="string"&&r.getNativePaths)return M.fromPortablePath(t);if(e.isArray&&Array.isArray(t)){let i=[];for(let n of t)i.push(MB(n,e,r));return i}if(e.type===ge.MAP&&t instanceof Map){let i=new Map;for(let[n,s]of t.entries())i.set(n,MB(s,e.valueDefinition,r));return i}if(e.type===ge.SHAPE&&t instanceof Map){let i=new Map;for(let[n,s]of t.entries()){let o=e.properties[n];i.set(n,MB(s,o,r))}return i}return t}function ITe(){let t={};for(let[e,r]of Object.entries(process.env))e=e.toLowerCase(),!!e.startsWith(LB)&&(e=(0,F_.default)(e.slice(LB.length)),t[e]=r);return t}function TB(){let t=`${LB}rc_filename`;for(let[e,r]of Object.entries(process.env))if(e.toLowerCase()===t&&typeof r=="string")return r;return PR}var KA;(function(i){i[i.LOCKFILE=0]="LOCKFILE",i[i.MANIFEST=1]="MANIFEST",i[i.NONE=2]="NONE"})(KA||(KA={}));var Ra=class{constructor(e){this.projectCwd=null;this.plugins=new Map;this.settings=new Map;this.values=new Map;this.sources=new Map;this.invalid=new Map;this.packageExtensions=new Map;this.limits=new Map;this.startingCwd=e}static create(e,r,i){let n=new Ra(e);typeof r!="undefined"&&!(r instanceof Map)&&(n.projectCwd=r),n.importSettings(RR);let s=typeof i!="undefined"?i:r instanceof Map?r:new Map;for(let[o,a]of s)n.activatePlugin(o,a);return n}static async find(e,r,{lookup:i=0,strict:n=!0,usePath:s=!1,useRc:o=!0}={}){let a=ITe();delete a.rcFilename;let l=await Ra.findRcFiles(e),c=await Ra.findHomeRcFile();if(c){let I=l.find(B=>B.path===c.path);I?I.strict=!1:l.push(_(P({},c),{strict:!1}))}let u=({ignoreCwd:I,yarnPath:B,ignorePath:b,lockfileFilename:R})=>({ignoreCwd:I,yarnPath:B,ignorePath:b,lockfileFilename:R}),g=L=>{var K=L,{ignoreCwd:I,yarnPath:B,ignorePath:b,lockfileFilename:R}=K,H=qr(K,["ignoreCwd","yarnPath","ignorePath","lockfileFilename"]);return H},f=new Ra(e);f.importSettings(u(RR)),f.useWithSource("",u(a),e,{strict:!1});for(let{path:I,cwd:B,data:b}of l)f.useWithSource(I,u(b),B,{strict:!1});if(s){let I=f.get("yarnPath"),B=f.get("ignorePath");if(I!==null&&!B)return f}let h=f.get("lockfileFilename"),p;switch(i){case 0:p=await Ra.findProjectCwd(e,h);break;case 1:p=await Ra.findProjectCwd(e,null);break;case 2:T.existsSync(v.join(e,"package.json"))?p=v.resolve(e):p=null;break}f.startingCwd=e,f.projectCwd=p,f.importSettings(g(RR));let d=new Map([["@@core",k_]]),m=I=>"default"in I?I.default:I;if(r!==null){for(let R of r.plugins.keys())d.set(R,m(r.modules.get(R)));let I=new Map;for(let R of R_())I.set(R,()=>mu(R));for(let[R,H]of r.modules)I.set(R,()=>H);let B=new Set,b=async(R,H)=>{let{factory:L,name:K}=mu(R);if(B.has(K))return;let J=new Map(I),ne=A=>{if(J.has(A))return J.get(A)();throw new me(`This plugin cannot access the package referenced via ${A} which is neither a builtin, nor an exposed entry`)},q=await du(async()=>m(await L(ne)),A=>`${A} (when initializing ${K}, defined in ${H})`);I.set(K,()=>q),B.add(K),d.set(K,q)};if(a.plugins)for(let R of a.plugins.split(";")){let H=v.resolve(e,M.toPortablePath(R));await b(H,"")}for(let{path:R,cwd:H,data:L}of l)if(!!o&&!!Array.isArray(L.plugins))for(let K of L.plugins){let J=typeof K!="string"?K.path:K,ne=v.resolve(H,M.toPortablePath(J));await b(ne,R)}}for(let[I,B]of d)f.activatePlugin(I,B);f.useWithSource("",g(a),e,{strict:n});for(let{path:I,cwd:B,data:b,strict:R}of l)f.useWithSource(I,g(b),B,{strict:R!=null?R:n});return f.get("enableGlobalCache")&&(f.values.set("cacheFolder",`${f.get("globalFolder")}/cache`),f.sources.set("cacheFolder","")),await f.refreshPackageExtensions(),f}static async findRcFiles(e){let r=TB(),i=[],n=e,s=null;for(;n!==s;){s=n;let o=v.join(s,r);if(T.existsSync(o)){let a=await T.readFilePromise(o,"utf8"),l;try{l=Ii(a)}catch(c){let u="";throw a.match(/^\s+(?!-)[^:]+\s+\S+/m)&&(u=" (in particular, make sure you list the colons after each key name)"),new me(`Parse error when loading ${o}; please check it's proper Yaml${u}`)}i.push({path:o,cwd:s,data:l})}n=v.dirname(s)}return i}static async findHomeRcFile(){let e=TB(),r=uh(),i=v.join(r,e);if(T.existsSync(i)){let n=await T.readFilePromise(i,"utf8"),s=Ii(n);return{path:i,cwd:r,data:s}}return null}static async findProjectCwd(e,r){let i=null,n=e,s=null;for(;n!==s;){if(s=n,T.existsSync(v.join(s,"package.json"))&&(i=s),r!==null){if(T.existsSync(v.join(s,r))){i=s;break}}else if(i!==null)break;n=v.dirname(s)}return i}static async updateConfiguration(e,r){let i=TB(),n=v.join(e,i),s=T.existsSync(n)?Ii(await T.readFilePromise(n,"utf8")):{},o=!1,a;if(typeof r=="function"){try{a=r(s)}catch{a=r({})}if(a===s)return}else{a=s;for(let l of Object.keys(r)){let c=s[l],u=r[l],g;if(typeof u=="function")try{g=u(c)}catch{g=u(void 0)}else g=u;c!==g&&(a[l]=g,o=!0)}if(!o)return}await T.changeFilePromise(n,Qa(a),{automaticNewlines:!0})}static async updateHomeConfiguration(e){let r=uh();return await Ra.updateConfiguration(r,e)}activatePlugin(e,r){this.plugins.set(e,r),typeof r.configuration!="undefined"&&this.importSettings(r.configuration)}importSettings(e){for(let[r,i]of Object.entries(e))if(i!=null){if(this.settings.has(r))throw new Error(`Cannot redefine settings "${r}"`);this.settings.set(r,i),this.values.set(r,LR(this,i))}}useWithSource(e,r,i,n){try{this.use(e,r,i,n)}catch(s){throw s.message+=` (in ${Ve(this,e,Le.PATH)})`,s}}use(e,r,i,{strict:n=!0,overwrite:s=!1}={}){n=n&&this.get("enableStrictSettings");for(let o of["enableStrictSettings",...Object.keys(r)]){if(typeof r[o]=="undefined"||o==="plugins"||e===""&&dTe.has(o))continue;if(o==="rcFilename")throw new me(`The rcFilename settings can only be set via ${`${LB}RC_FILENAME`.toUpperCase()}, not via a rc file`);let l=this.settings.get(o);if(!l){if(n)throw new me(`Unrecognized or legacy configuration settings found: ${o} - run "yarn config -v" to see the list of settings supported in Yarn`);this.invalid.set(o,e);continue}if(this.sources.has(o)&&!(s||l.type===ge.MAP||l.isArray&&l.concatenateValues))continue;let c;try{c=NR(this,o,r[o],l,i)}catch(u){throw u.message+=` in ${Ve(this,e,Le.PATH)}`,u}if(o==="enableStrictSettings"&&e!==""){n=c;continue}if(l.type===ge.MAP){let u=this.values.get(o);this.values.set(o,new Map(s?[...u,...c]:[...c,...u])),this.sources.set(o,`${this.sources.get(o)}, ${e}`)}else if(l.isArray&&l.concatenateValues){let u=this.values.get(o);this.values.set(o,s?[...u,...c]:[...c,...u]),this.sources.set(o,`${this.sources.get(o)}, ${e}`)}else this.values.set(o,c),this.sources.set(o,e)}}get(e){if(!this.values.has(e))throw new Error(`Invalid configuration key "${e}"`);return this.values.get(e)}getSpecial(e,{hideSecrets:r=!1,getNativePaths:i=!1}){let n=this.get(e),s=this.settings.get(e);if(typeof s=="undefined")throw new me(`Couldn't find a configuration settings named "${e}"`);return MB(n,s,{hideSecrets:r,getNativePaths:i})}getSubprocessStreams(e,{header:r,prefix:i,report:n}){let s,o,a=T.createWriteStream(e);if(this.get("enableInlineBuilds")){let l=n.createStreamReporter(`${i} ${Ve(this,"STDOUT","green")}`),c=n.createStreamReporter(`${i} ${Ve(this,"STDERR","red")}`);s=new kR.PassThrough,s.pipe(l),s.pipe(a),o=new kR.PassThrough,o.pipe(c),o.pipe(a)}else s=a,o=a,typeof r!="undefined"&&s.write(`${r} +`);return{stdout:s,stderr:o}}makeResolver(){let e=[];for(let r of this.plugins.values())for(let i of r.resolvers||[])e.push(new i);return new pd([new FB,new Yr,new SR,...e])}makeFetcher(){let e=[];for(let r of this.plugins.values())for(let i of r.fetchers||[])e.push(new i);return new vR([new dd,new xR,...e])}getLinkers(){let e=[];for(let r of this.plugins.values())for(let i of r.linkers||[])e.push(new i);return e}getSupportedArchitectures(){let e=this.get("supportedArchitectures"),r=e.get("os");r!==null&&(r=r.map(n=>n==="current"?process.platform:n));let i=e.get("cpu");return i!==null&&(i=i.map(n=>n==="current"?process.arch:n)),{os:r,cpu:i}}async refreshPackageExtensions(){this.packageExtensions=new Map;let e=this.packageExtensions,r=(i,n,{userProvided:s=!1}={})=>{if(!Us(i.range))throw new Error("Only semver ranges are allowed as keys for the packageExtensions setting");let o=new Ze;o.load(n,{yamlCompatibilityMode:!0});let a=hu(e,i.identHash),l=[];a.push([i.range,l]);let c={status:ki.Inactive,userProvided:s,parentDescriptor:i};for(let u of o.dependencies.values())l.push(_(P({},c),{type:oi.Dependency,descriptor:u}));for(let u of o.peerDependencies.values())l.push(_(P({},c),{type:oi.PeerDependency,descriptor:u}));for(let[u,g]of o.peerDependenciesMeta)for(let[f,h]of Object.entries(g))l.push(_(P({},c),{type:oi.PeerDependencyMeta,selector:u,key:f,value:h}))};await this.triggerHook(i=>i.registerPackageExtensions,this,r);for(let[i,n]of this.get("packageExtensions"))r(pA(i,!0),aI(n),{userProvided:!0})}normalizePackage(e){let r=ap(e);if(this.packageExtensions==null)throw new Error("refreshPackageExtensions has to be called before normalizing packages");let i=this.packageExtensions.get(e.identHash);if(typeof i!="undefined"){let s=e.version;if(s!==null){for(let[o,a]of i)if(!!lc(s,o))for(let l of a)switch(l.status===ki.Inactive&&(l.status=ki.Redundant),l.type){case oi.Dependency:typeof r.dependencies.get(l.descriptor.identHash)=="undefined"&&(l.status=ki.Active,r.dependencies.set(l.descriptor.identHash,l.descriptor));break;case oi.PeerDependency:typeof r.peerDependencies.get(l.descriptor.identHash)=="undefined"&&(l.status=ki.Active,r.peerDependencies.set(l.descriptor.identHash,l.descriptor));break;case oi.PeerDependencyMeta:{let c=r.peerDependenciesMeta.get(l.selector);(typeof c=="undefined"||!Object.prototype.hasOwnProperty.call(c,l.key)||c[l.key]!==l.value)&&(l.status=ki.Active,na(r.peerDependenciesMeta,l.selector,()=>({}))[l.key]=l.value)}break;default:Lv(l);break}}}let n=s=>s.scope?`${s.scope}__${s.name}`:`${s.name}`;for(let s of r.peerDependenciesMeta.keys()){let o=En(s);r.peerDependencies.has(o.identHash)||r.peerDependencies.set(o.identHash,Yt(o,"*"))}for(let s of r.peerDependencies.values()){if(s.scope==="types")continue;let o=n(s),a=Eo("types",o),l=St(a);r.peerDependencies.has(a.identHash)||r.peerDependenciesMeta.has(l)||(r.peerDependencies.set(a.identHash,Yt(a,"*")),r.peerDependenciesMeta.set(l,{optional:!0}))}return r.dependencies=new Map(gn(r.dependencies,([,s])=>In(s))),r.peerDependencies=new Map(gn(r.peerDependencies,([,s])=>In(s))),r}getLimit(e){return na(this.limits,e,()=>(0,N_.default)(this.get(e)))}async triggerHook(e,...r){for(let i of this.plugins.values()){let n=i.hooks;if(!n)continue;let s=e(n);!s||await s(...r)}}async triggerMultipleHooks(e,r){for(let i of r)await this.triggerHook(e,...i)}async reduceHook(e,r,...i){let n=r;for(let s of this.plugins.values()){let o=s.hooks;if(!o)continue;let a=e(o);!a||(n=await a(n,...i))}return n}async firstHook(e,...r){for(let i of this.plugins.values()){let n=i.hooks;if(!n)continue;let s=e(n);if(!s)continue;let o=await s(...r);if(typeof o!="undefined")return o}return null}},fe=Ra;fe.telemetry=null;var Gn;(function(r){r[r.SCRIPT=0]="SCRIPT",r[r.SHELLCODE=1]="SHELLCODE"})(Gn||(Gn={}));var Fa=class extends Xi{constructor({configuration:e,stdout:r,suggestInstall:i=!0}){super();this.errorCount=0;Cp(this,{configuration:e}),this.configuration=e,this.stdout=r,this.suggestInstall=i}static async start(e,r){let i=new this(e);try{await r(i)}catch(n){i.reportExceptionOnce(n)}finally{await i.finalize()}return i}hasErrors(){return this.errorCount>0}exitCode(){return this.hasErrors()?1:0}reportCacheHit(e){}reportCacheMiss(e){}startTimerSync(e,r,i){return(typeof r=="function"?r:i)()}async startTimerPromise(e,r,i){return await(typeof r=="function"?r:i)()}async startCacheReport(e){return await e()}reportSeparator(){}reportInfo(e,r){}reportWarning(e,r){}reportError(e,r){this.errorCount+=1,this.stdout.write(`${Ve(this.configuration,"\u27A4","redBright")} ${this.formatNameWithHyperlink(e)}: ${r} +`)}reportProgress(e){let r=Promise.resolve().then(async()=>{for await(let{}of e);}),i=()=>{};return _(P({},r),{stop:i})}reportJson(e){}async finalize(){this.errorCount>0&&(this.stdout.write(` +`),this.stdout.write(`${Ve(this.configuration,"\u27A4","redBright")} Errors happened when preparing the environment required to run this command. +`),this.suggestInstall&&this.stdout.write(`${Ve(this.configuration,"\u27A4","redBright")} This might be caused by packages being missing from the lockfile, in which case running "yarn install" might help. +`))}formatNameWithHyperlink(e){return eD(e,{configuration:this.configuration,json:!1})}};var t0=ie(require("crypto")),v$=ie(CX()),r0=ie(Q$()),S$=ie(Wp()),x$=ie(Or()),lF=ie(require("util")),cF=ie(require("v8")),uF=ie(require("zlib"));var iUe=[[/^(git(?:\+(?:https|ssh))?:\/\/.*(?:\.git)?)#(.*)$/,(t,e,r,i)=>`${r}#commit=${i}`],[/^https:\/\/((?:[^/]+?)@)?codeload\.github\.com\/([^/]+\/[^/]+)\/tar\.gz\/([0-9a-f]+)$/,(t,e,r="",i,n)=>`https://${r}github.com/${i}.git#commit=${n}`],[/^https:\/\/((?:[^/]+?)@)?github\.com\/([^/]+\/[^/]+?)(?:\.git)?#([0-9a-f]+)$/,(t,e,r="",i,n)=>`https://${r}github.com/${i}.git#commit=${n}`],[/^https?:\/\/[^/]+\/(?:[^/]+\/)*(?:@.+(?:\/|(?:%2f)))?([^/]+)\/(?:-|download)\/\1-[^/]+\.tgz(?:#|$)/,t=>`npm:${t}`],[/^https:\/\/npm\.pkg\.github\.com\/download\/(?:@[^/]+)\/(?:[^/]+)\/(?:[^/]+)\/(?:[0-9a-f]+)(?:#|$)/,t=>`npm:${t}`],[/^https:\/\/npm\.fontawesome\.com\/(?:@[^/]+)\/([^/]+)\/-\/([^/]+)\/\1-\2.tgz(?:#|$)/,t=>`npm:${t}`],[/^https?:\/\/(?:[^\\.]+)\.jfrog\.io\/.*\/(@[^/]+)\/([^/]+)\/-\/\1\/\2-(?:[.\d\w-]+)\.tgz(?:#|$)/,(t,e)=>by({protocol:"npm:",source:null,selector:t,params:{__archiveUrl:e}})],[/^[^/]+\.tgz#[0-9a-f]+$/,t=>`npm:${t}`]],oF=class{constructor(){this.resolutions=null}async setup(e,{report:r}){let i=v.join(e.cwd,e.configuration.get("lockfileFilename"));if(!T.existsSync(i))return;let n=await T.readFilePromise(i,"utf8"),s=Ii(n);if(Object.prototype.hasOwnProperty.call(s,"__metadata"))return;let o=this.resolutions=new Map;for(let a of Object.keys(s)){let l=gp(a);if(!l){r.reportWarning(z.YARN_IMPORT_FAILED,`Failed to parse the string "${a}" into a proper descriptor`);continue}Us(l.range)&&(l=Yt(l,`npm:${l.range}`));let{version:c,resolved:u}=s[a];if(!u)continue;let g;for(let[h,p]of iUe){let d=u.match(h);if(d){g=p(c,...d);break}}if(!g){r.reportWarning(z.YARN_IMPORT_FAILED,`${Xt(e.configuration,l)}: Only some patterns can be imported from legacy lockfiles (not "${u}")`);continue}let f=l;try{let h=Tu(l.range),p=gp(h.selector,!0);p&&(f=p)}catch{}o.set(l.descriptorHash,Vi(f,g))}}supportsDescriptor(e,r){return this.resolutions?this.resolutions.has(e.descriptorHash):!1}supportsLocator(e,r){return!1}shouldPersistResolution(e,r){throw new Error("Assertion failed: This resolver doesn't support resolving locators to packages")}bindDescriptor(e,r,i){return e}getResolutionDependencies(e,r){return[]}async getCandidates(e,r,i){if(!this.resolutions)throw new Error("Assertion failed: The resolution store should have been setup");let n=this.resolutions.get(e.descriptorHash);if(!n)throw new Error("Assertion failed: The resolution should have been registered");return[n]}async getSatisfying(e,r,i){return null}async resolve(e,r){throw new Error("Assertion failed: This resolver doesn't support resolving locators to packages")}};var aF=class{constructor(e){this.resolver=e}supportsDescriptor(e,r){return!!(r.project.storedResolutions.get(e.descriptorHash)||r.project.originalPackages.has(By(e).locatorHash))}supportsLocator(e,r){return!!(r.project.originalPackages.has(e.locatorHash)&&!r.project.lockfileNeedsRefresh)}shouldPersistResolution(e,r){throw new Error("The shouldPersistResolution method shouldn't be called on the lockfile resolver, which would always answer yes")}bindDescriptor(e,r,i){return e}getResolutionDependencies(e,r){return this.resolver.getResolutionDependencies(e,r)}async getCandidates(e,r,i){let n=i.project.originalPackages.get(By(e).locatorHash);if(n)return[n];let s=i.project.storedResolutions.get(e.descriptorHash);if(!s)throw new Error("Expected the resolution to have been successful - resolution not found");if(n=i.project.originalPackages.get(s),!n)throw new Error("Expected the resolution to have been successful - package not found");return[n]}async getSatisfying(e,r,i){return null}async resolve(e,r){let i=r.project.originalPackages.get(e.locatorHash);if(!i)throw new Error("The lockfile resolver isn't meant to resolve packages - they should already have been stored into a cache");return i}};var AF=class{constructor(e){this.resolver=e}supportsDescriptor(e,r){return this.resolver.supportsDescriptor(e,r)}supportsLocator(e,r){return this.resolver.supportsLocator(e,r)}shouldPersistResolution(e,r){return this.resolver.shouldPersistResolution(e,r)}bindDescriptor(e,r,i){return this.resolver.bindDescriptor(e,r,i)}getResolutionDependencies(e,r){return this.resolver.getResolutionDependencies(e,r)}async getCandidates(e,r,i){throw new nt(z.MISSING_LOCKFILE_ENTRY,`This package doesn't seem to be present in your lockfile; run "yarn install" to update the lockfile`)}async getSatisfying(e,r,i){throw new nt(z.MISSING_LOCKFILE_ENTRY,`This package doesn't seem to be present in your lockfile; run "yarn install" to update the lockfile`)}async resolve(e,r){throw new nt(z.MISSING_LOCKFILE_ENTRY,`This package doesn't seem to be present in your lockfile; run "yarn install" to update the lockfile`)}};var ei=class extends Xi{reportCacheHit(e){}reportCacheMiss(e){}startTimerSync(e,r,i){return(typeof r=="function"?r:i)()}async startTimerPromise(e,r,i){return await(typeof r=="function"?r:i)()}async startCacheReport(e){return await e()}reportSeparator(){}reportInfo(e,r){}reportWarning(e,r){}reportError(e,r){}reportProgress(e){let r=Promise.resolve().then(async()=>{for await(let{}of e);}),i=()=>{};return _(P({},r),{stop:i})}reportJson(e){}async finalize(){}};var b$=ie(vx());var Dd=class{constructor(e,{project:r}){this.workspacesCwds=new Set;this.dependencies=new Map;this.project=r,this.cwd=e}async setup(){this.manifest=T.existsSync(v.join(this.cwd,Ze.fileName))?await Ze.find(this.cwd):new Ze,this.relativeCwd=v.relative(this.project.cwd,this.cwd)||Se.dot;let e=this.manifest.name?this.manifest.name:Eo(null,`${this.computeCandidateName()}-${zi(this.relativeCwd).substr(0,6)}`),r=this.manifest.version?this.manifest.version:"0.0.0";this.locator=Vi(e,r),this.anchoredDescriptor=Yt(this.locator,`${Yr.protocol}${this.relativeCwd}`),this.anchoredLocator=Vi(this.locator,`${Yr.protocol}${this.relativeCwd}`);let i=this.manifest.workspaceDefinitions.map(({pattern:s})=>s),n=await(0,b$.default)(i,{cwd:M.fromPortablePath(this.cwd),expandDirectories:!1,onlyDirectories:!0,onlyFiles:!1,ignore:["**/node_modules","**/.git","**/.yarn"]});n.sort();for(let s of n){let o=v.resolve(this.cwd,M.toPortablePath(s));T.existsSync(v.join(o,"package.json"))&&this.workspacesCwds.add(o)}}accepts(e){var o;let r=e.indexOf(":"),i=r!==-1?e.slice(0,r+1):null,n=r!==-1?e.slice(r+1):e;if(i===Yr.protocol&&v.normalize(n)===this.relativeCwd||i===Yr.protocol&&(n==="*"||n==="^"||n==="~"))return!0;let s=Us(n);return s?i===Yr.protocol?s.test((o=this.manifest.version)!=null?o:"0.0.0"):this.project.configuration.get("enableTransparentWorkspaces")&&this.manifest.version!==null?s.test(this.manifest.version):!1:!1}computeCandidateName(){return this.cwd===this.project.cwd?"root-workspace":`${v.basename(this.cwd)}`||"unnamed-workspace"}getRecursiveWorkspaceDependencies({dependencies:e=Ze.hardDependencies}={}){let r=new Set,i=n=>{for(let s of e)for(let o of n.manifest[s].values()){let a=this.project.tryWorkspaceByDescriptor(o);a===null||r.has(a)||(r.add(a),i(a))}};return i(this),r}getRecursiveWorkspaceDependents({dependencies:e=Ze.hardDependencies}={}){let r=new Set,i=n=>{for(let s of this.project.workspaces)e.some(a=>[...s.manifest[a].values()].some(l=>{let c=this.project.tryWorkspaceByDescriptor(l);return c!==null&&up(c.anchoredLocator,n.anchoredLocator)}))&&!r.has(s)&&(r.add(s),i(s))};return i(this),r}getRecursiveWorkspaceChildren(){let e=[];for(let r of this.workspacesCwds){let i=this.project.workspacesByCwd.get(r);i&&e.push(i,...i.getRecursiveWorkspaceChildren())}return e}async persistManifest(){let e={};this.manifest.exportTo(e);let r=v.join(this.cwd,Ze.fileName),i=`${JSON.stringify(e,null,this.manifest.indent)} +`;await T.changeFilePromise(r,i,{automaticNewlines:!0}),this.manifest.raw=e}};var k$=5,nUe=1,sUe=/ *, */g,P$=/\/$/,oUe=32,aUe=(0,lF.promisify)(uF.default.gzip),AUe=(0,lF.promisify)(uF.default.gunzip),li;(function(r){r.UpdateLockfile="update-lockfile",r.SkipBuild="skip-build"})(li||(li={}));var gF={restoreInstallersCustomData:["installersCustomData"],restoreResolutions:["accessibleLocators","conditionalLocators","disabledLocators","optionalBuilds","storedDescriptors","storedResolutions","storedPackages","lockFileChecksum"],restoreBuildState:["storedBuildState"]},D$=t=>zi(`${nUe}`,t),Ke=class{constructor(e,{configuration:r}){this.resolutionAliases=new Map;this.workspaces=[];this.workspacesByCwd=new Map;this.workspacesByIdent=new Map;this.storedResolutions=new Map;this.storedDescriptors=new Map;this.storedPackages=new Map;this.storedChecksums=new Map;this.storedBuildState=new Map;this.accessibleLocators=new Set;this.conditionalLocators=new Set;this.disabledLocators=new Set;this.originalPackages=new Map;this.optionalBuilds=new Set;this.lockfileNeedsRefresh=!1;this.peerRequirements=new Map;this.installersCustomData=new Map;this.lockFileChecksum=null;this.installStateChecksum=null;this.configuration=r,this.cwd=e}static async find(e,r){var c,u,g;if(!e.projectCwd)throw new me(`No project found in ${r}`);let i=e.projectCwd,n=r,s=null;for(;s!==e.projectCwd;){if(s=n,T.existsSync(v.join(s,wt.manifest))){i=s;break}n=v.dirname(s)}let o=new Ke(e.projectCwd,{configuration:e});(c=fe.telemetry)==null||c.reportProject(o.cwd),await o.setupResolutions(),await o.setupWorkspaces(),(u=fe.telemetry)==null||u.reportWorkspaceCount(o.workspaces.length),(g=fe.telemetry)==null||g.reportDependencyCount(o.workspaces.reduce((f,h)=>f+h.manifest.dependencies.size+h.manifest.devDependencies.size,0));let a=o.tryWorkspaceByCwd(i);if(a)return{project:o,workspace:a,locator:a.anchoredLocator};let l=await o.findLocatorForLocation(`${i}/`,{strict:!0});if(l)return{project:o,locator:l,workspace:null};throw new me(`The nearest package directory (${Ve(e,i,Le.PATH)}) doesn't seem to be part of the project declared in ${Ve(e,o.cwd,Le.PATH)}. + +- If the project directory is right, it might be that you forgot to list ${Ve(e,v.relative(o.cwd,i),Le.PATH)} as a workspace. +- If it isn't, it's likely because you have a yarn.lock or package.json file there, confusing the project root detection.`)}async setupResolutions(){var i;this.storedResolutions=new Map,this.storedDescriptors=new Map,this.storedPackages=new Map,this.lockFileChecksum=null;let e=v.join(this.cwd,this.configuration.get("lockfileFilename")),r=this.configuration.get("defaultLanguageName");if(T.existsSync(e)){let n=await T.readFilePromise(e,"utf8");this.lockFileChecksum=D$(n);let s=Ii(n);if(s.__metadata){let o=s.__metadata.version,a=s.__metadata.cacheKey;this.lockfileNeedsRefresh=o0;){let r=e;e=[];for(let i of r){if(this.workspacesByCwd.has(i))continue;let n=await this.addWorkspace(i),s=this.storedPackages.get(n.anchoredLocator.locatorHash);s&&(n.dependencies=s.dependencies);for(let o of n.workspacesCwds)e.push(o)}}}async addWorkspace(e){let r=new Dd(e,{project:this});await r.setup();let i=this.workspacesByIdent.get(r.locator.identHash);if(typeof i!="undefined")throw new Error(`Duplicate workspace name ${Vr(this.configuration,r.locator)}: ${M.fromPortablePath(e)} conflicts with ${M.fromPortablePath(i.cwd)}`);return this.workspaces.push(r),this.workspacesByCwd.set(e,r),this.workspacesByIdent.set(r.locator.identHash,r),r}get topLevelWorkspace(){return this.getWorkspaceByCwd(this.cwd)}tryWorkspaceByCwd(e){v.isAbsolute(e)||(e=v.resolve(this.cwd,e)),e=v.normalize(e).replace(/\/+$/,"");let r=this.workspacesByCwd.get(e);return r||null}getWorkspaceByCwd(e){let r=this.tryWorkspaceByCwd(e);if(!r)throw new Error(`Workspace not found (${e})`);return r}tryWorkspaceByFilePath(e){let r=null;for(let i of this.workspaces)v.relative(i.cwd,e).startsWith("../")||r&&r.cwd.length>=i.cwd.length||(r=i);return r||null}getWorkspaceByFilePath(e){let r=this.tryWorkspaceByFilePath(e);if(!r)throw new Error(`Workspace not found (${e})`);return r}tryWorkspaceByIdent(e){let r=this.workspacesByIdent.get(e.identHash);return typeof r=="undefined"?null:r}getWorkspaceByIdent(e){let r=this.tryWorkspaceByIdent(e);if(!r)throw new Error(`Workspace not found (${Vr(this.configuration,e)})`);return r}tryWorkspaceByDescriptor(e){let r=this.tryWorkspaceByIdent(e);return r===null||(hA(e)&&(e=Ap(e)),!r.accepts(e.range))?null:r}getWorkspaceByDescriptor(e){let r=this.tryWorkspaceByDescriptor(e);if(r===null)throw new Error(`Workspace not found (${Xt(this.configuration,e)})`);return r}tryWorkspaceByLocator(e){let r=this.tryWorkspaceByIdent(e);return r===null||(Io(e)&&(e=lp(e)),r.locator.locatorHash!==e.locatorHash&&r.anchoredLocator.locatorHash!==e.locatorHash)?null:r}getWorkspaceByLocator(e){let r=this.tryWorkspaceByLocator(e);if(!r)throw new Error(`Workspace not found (${lt(this.configuration,e)})`);return r}refreshWorkspaceDependencies(){for(let e of this.workspaces){let r=this.storedPackages.get(e.anchoredLocator.locatorHash);if(!r)throw new Error(`Assertion failed: Expected workspace ${hp(this.configuration,e)} (${Ve(this.configuration,v.join(e.cwd,wt.manifest),Le.PATH)}) to have been resolved. Run "yarn install" to update the lockfile`);e.dependencies=new Map(r.dependencies)}}forgetResolution(e){let r=n=>{this.storedResolutions.delete(n),this.storedDescriptors.delete(n)},i=n=>{this.originalPackages.delete(n),this.storedPackages.delete(n),this.accessibleLocators.delete(n)};if("descriptorHash"in e){let n=this.storedResolutions.get(e.descriptorHash);r(e.descriptorHash);let s=new Set(this.storedResolutions.values());typeof n!="undefined"&&!s.has(n)&&i(n)}if("locatorHash"in e){i(e.locatorHash);for(let[n,s]of this.storedResolutions)s===e.locatorHash&&r(n)}}forgetTransientResolutions(){let e=this.configuration.makeResolver();for(let r of this.originalPackages.values()){let i;try{i=e.shouldPersistResolution(r,{project:this,resolver:e})}catch{i=!1}i||this.forgetResolution(r)}}forgetVirtualResolutions(){for(let e of this.storedPackages.values())for(let[r,i]of e.dependencies)hA(i)&&e.dependencies.set(r,Ap(i))}getDependencyMeta(e,r){let i={},s=this.topLevelWorkspace.manifest.dependenciesMeta.get(St(e));if(!s)return i;let o=s.get(null);if(o&&Object.assign(i,o),r===null||!x$.default.valid(r))return i;for(let[a,l]of s)a!==null&&a===r&&Object.assign(i,l);return i}async findLocatorForLocation(e,{strict:r=!1}={}){let i=new ei,n=this.configuration.getLinkers(),s={project:this,report:i};for(let o of n){let a=await o.findPackageLocator(e,s);if(a){if(r&&(await o.findPackageLocation(a,s)).replace(P$,"")!==e.replace(P$,""))continue;return a}}return null}async resolveEverything(e){if(!this.workspacesByCwd||!this.workspacesByIdent)throw new Error("Workspaces must have been setup before calling this function");this.forgetVirtualResolutions(),e.lockfileOnly||this.forgetTransientResolutions();let r=e.resolver||this.configuration.makeResolver(),i=new oF;await i.setup(this,{report:e.report});let n=e.lockfileOnly?[new AF(r)]:[i,r],s=new pd([new aF(r),...n]),o=this.configuration.makeFetcher(),a=e.lockfileOnly?{project:this,report:e.report,resolver:s}:{project:this,report:e.report,resolver:s,fetchOptions:{project:this,cache:e.cache,checksums:this.storedChecksums,report:e.report,fetcher:o,cacheOptions:{mirrorWriteOnly:!0}}},l=new Map,c=new Map,u=new Map,g=new Map,f=new Map,h=new Map,p=this.topLevelWorkspace.anchoredLocator,d=new Set,m=[],I=async W=>{let X=await du(async()=>await s.resolve(W,a),D=>`${lt(this.configuration,W)}: ${D}`);if(!up(W,X))throw new Error(`Assertion failed: The locator cannot be changed by the resolver (went from ${lt(this.configuration,W)} to ${lt(this.configuration,X)})`);g.set(X.locatorHash,X);let F=this.configuration.normalizePackage(X);for(let[D,he]of F.dependencies){let pe=await this.configuration.reduceHook(Pe=>Pe.reduceDependency,he,this,F,he,{resolver:s,resolveOptions:a});if(!cp(he,pe))throw new Error("Assertion failed: The descriptor ident cannot be changed through aliases");let Ne=s.bindDescriptor(pe,W,a);F.dependencies.set(D,Ne)}return m.push(Promise.all([...F.dependencies.values()].map(D=>H(D)))),c.set(F.locatorHash,F),F},B=async W=>{let X=f.get(W.locatorHash);if(typeof X!="undefined")return X;let F=Promise.resolve().then(()=>I(W));return f.set(W.locatorHash,F),F},b=async(W,X)=>{let F=await H(X);return l.set(W.descriptorHash,W),u.set(W.descriptorHash,F.locatorHash),F},R=async W=>{let X=this.resolutionAliases.get(W.descriptorHash);if(typeof X!="undefined")return b(W,this.storedDescriptors.get(X));let F=s.getResolutionDependencies(W,a),D=new Map(await Promise.all(F.map(async Ne=>{let Pe=s.bindDescriptor(Ne,p,a),qe=await H(Pe);return d.add(qe.locatorHash),[Ne.descriptorHash,qe]}))),pe=(await du(async()=>await s.getCandidates(W,D,a),Ne=>`${Xt(this.configuration,W)}: ${Ne}`))[0];if(typeof pe=="undefined")throw new Error(`${Xt(this.configuration,W)}: No candidates found`);return l.set(W.descriptorHash,W),u.set(W.descriptorHash,pe.locatorHash),B(pe)},H=W=>{let X=h.get(W.descriptorHash);if(typeof X!="undefined")return X;l.set(W.descriptorHash,W);let F=Promise.resolve().then(()=>R(W));return h.set(W.descriptorHash,F),F};for(let W of this.workspaces){let X=W.anchoredDescriptor;m.push(H(X))}for(;m.length>0;){let W=[...m];m.length=0,await Promise.all(W)}let L=new Set(this.resolutionAliases.values()),K=new Set(c.keys()),J=new Set,ne=new Map;lUe({project:this,report:e.report,accessibleLocators:J,volatileDescriptors:L,optionalBuilds:K,peerRequirements:ne,allDescriptors:l,allResolutions:u,allPackages:c});for(let W of d)K.delete(W);for(let W of L)l.delete(W),u.delete(W);let q=this.configuration.getSupportedArchitectures(),A=new Set,V=new Set;for(let W of c.values())W.conditions!=null&&(!K.has(W.locatorHash)||(Sy(W,q)||(Sy(W,{os:[process.platform],cpu:[process.arch]})&&e.report.reportWarningOnce(z.GHOST_ARCHITECTURE,`${lt(this.configuration,W)}: Your current architecture (${process.platform}-${process.arch}) is supported by this package, but is missing from the ${Ve(this.configuration,"supportedArchitectures",ps.SETTING)} setting`),V.add(W.locatorHash)),A.add(W.locatorHash)));this.storedResolutions=u,this.storedDescriptors=l,this.storedPackages=c,this.accessibleLocators=J,this.conditionalLocators=A,this.disabledLocators=V,this.originalPackages=g,this.optionalBuilds=K,this.peerRequirements=ne,this.refreshWorkspaceDependencies()}async fetchEverything({cache:e,report:r,fetcher:i,mode:n}){let s={mockedPackages:this.disabledLocators,unstablePackages:this.conditionalLocators},o=i||this.configuration.makeFetcher(),a={checksums:this.storedChecksums,project:this,cache:e,fetcher:o,report:r,cacheOptions:s},l=Array.from(new Set(gn(this.storedResolutions.values(),[f=>{let h=this.storedPackages.get(f);if(!h)throw new Error("Assertion failed: The locator should have been registered");return is(h)}])));n===li.UpdateLockfile&&(l=l.filter(f=>!this.storedChecksums.has(f)));let c=!1,u=Xi.progressViaCounter(l.length);r.reportProgress(u);let g=(0,S$.default)(oUe);if(await r.startCacheReport(async()=>{await Promise.all(l.map(f=>g(async()=>{let h=this.storedPackages.get(f);if(!h)throw new Error("Assertion failed: The locator should have been registered");if(Io(h))return;let p;try{p=await o.fetch(h,a)}catch(d){d.message=`${lt(this.configuration,h)}: ${d.message}`,r.reportExceptionOnce(d),c=d;return}p.checksum!=null?this.storedChecksums.set(h.locatorHash,p.checksum):this.storedChecksums.delete(h.locatorHash),p.releaseFs&&p.releaseFs()}).finally(()=>{u.tick()})))}),c)throw c}async linkEverything({cache:e,report:r,fetcher:i,mode:n}){var A,V,W;let s={mockedPackages:this.disabledLocators,unstablePackages:this.conditionalLocators,skipIntegrityCheck:!0},o=i||this.configuration.makeFetcher(),a={checksums:this.storedChecksums,project:this,cache:e,fetcher:o,report:r,skipIntegrityCheck:!0,cacheOptions:s},l=this.configuration.getLinkers(),c={project:this,report:r},u=new Map(l.map(X=>{let F=X.makeInstaller(c),D=F.getCustomDataKey(),he=this.installersCustomData.get(D);return typeof he!="undefined"&&F.attachCustomData(he),[X,F]})),g=new Map,f=new Map,h=new Map,p=new Map(await Promise.all([...this.accessibleLocators].map(async X=>{let F=this.storedPackages.get(X);if(!F)throw new Error("Assertion failed: The locator should have been registered");return[X,await o.fetch(F,a)]}))),d=[];for(let X of this.accessibleLocators){let F=this.storedPackages.get(X);if(typeof F=="undefined")throw new Error("Assertion failed: The locator should have been registered");let D=p.get(F.locatorHash);if(typeof D=="undefined")throw new Error("Assertion failed: The fetch result should have been registered");let he=[],pe=Pe=>{he.push(Pe)},Ne=this.tryWorkspaceByLocator(F);if(Ne!==null){let Pe=[],{scripts:qe}=Ne.manifest;for(let se of["preinstall","install","postinstall"])qe.has(se)&&Pe.push([Gn.SCRIPT,se]);try{for(let[se,be]of u)if(se.supportsPackage(F,c)&&(await be.installPackage(F,D,{holdFetchResult:pe})).buildDirective!==null)throw new Error("Assertion failed: Linkers can't return build directives for workspaces; this responsibility befalls to the Yarn core")}finally{he.length===0?(A=D.releaseFs)==null||A.call(D):d.push(Promise.all(he).catch(()=>{}).then(()=>{var se;(se=D.releaseFs)==null||se.call(D)}))}let re=v.join(D.packageFs.getRealPath(),D.prefixPath);f.set(F.locatorHash,re),!Io(F)&&Pe.length>0&&h.set(F.locatorHash,{directives:Pe,buildLocations:[re]})}else{let Pe=l.find(se=>se.supportsPackage(F,c));if(!Pe)throw new nt(z.LINKER_NOT_FOUND,`${lt(this.configuration,F)} isn't supported by any available linker`);let qe=u.get(Pe);if(!qe)throw new Error("Assertion failed: The installer should have been registered");let re;try{re=await qe.installPackage(F,D,{holdFetchResult:pe})}finally{he.length===0?(V=D.releaseFs)==null||V.call(D):d.push(Promise.all(he).then(()=>{}).then(()=>{var se;(se=D.releaseFs)==null||se.call(D)}))}g.set(F.locatorHash,Pe),f.set(F.locatorHash,re.packageLocation),re.buildDirective&&re.buildDirective.length>0&&re.packageLocation&&h.set(F.locatorHash,{directives:re.buildDirective,buildLocations:[re.packageLocation]})}}let m=new Map;for(let X of this.accessibleLocators){let F=this.storedPackages.get(X);if(!F)throw new Error("Assertion failed: The locator should have been registered");let D=this.tryWorkspaceByLocator(F)!==null,he=async(pe,Ne)=>{let Pe=f.get(F.locatorHash);if(typeof Pe=="undefined")throw new Error(`Assertion failed: The package (${lt(this.configuration,F)}) should have been registered`);let qe=[];for(let re of F.dependencies.values()){let se=this.storedResolutions.get(re.descriptorHash);if(typeof se=="undefined")throw new Error(`Assertion failed: The resolution (${Xt(this.configuration,re)}, from ${lt(this.configuration,F)})should have been registered`);let be=this.storedPackages.get(se);if(typeof be=="undefined")throw new Error(`Assertion failed: The package (${se}, resolved from ${Xt(this.configuration,re)}) should have been registered`);let ae=this.tryWorkspaceByLocator(be)===null?g.get(se):null;if(typeof ae=="undefined")throw new Error(`Assertion failed: The package (${se}, resolved from ${Xt(this.configuration,re)}) should have been registered`);ae===pe||ae===null?f.get(be.locatorHash)!==null&&qe.push([re,be]):!D&&Pe!==null&&hu(m,se).push(Pe)}Pe!==null&&await Ne.attachInternalDependencies(F,qe)};if(D)for(let[pe,Ne]of u)pe.supportsPackage(F,c)&&await he(pe,Ne);else{let pe=g.get(F.locatorHash);if(!pe)throw new Error("Assertion failed: The linker should have been found");let Ne=u.get(pe);if(!Ne)throw new Error("Assertion failed: The installer should have been registered");await he(pe,Ne)}}for(let[X,F]of m){let D=this.storedPackages.get(X);if(!D)throw new Error("Assertion failed: The package should have been registered");let he=g.get(D.locatorHash);if(!he)throw new Error("Assertion failed: The linker should have been found");let pe=u.get(he);if(!pe)throw new Error("Assertion failed: The installer should have been registered");await pe.attachExternalDependents(D,F)}let I=new Map;for(let X of u.values()){let F=await X.finalizeInstall();for(let D of(W=F==null?void 0:F.records)!=null?W:[])h.set(D.locatorHash,{directives:D.buildDirective,buildLocations:D.buildLocations});typeof(F==null?void 0:F.customData)!="undefined"&&I.set(X.getCustomDataKey(),F.customData)}if(this.installersCustomData=I,await Promise.all(d),n===li.SkipBuild)return;let B=new Set(this.storedPackages.keys()),b=new Set(h.keys());for(let X of b)B.delete(X);let R=(0,t0.createHash)("sha512");R.update(process.versions.node),await this.configuration.triggerHook(X=>X.globalHashGeneration,this,X=>{R.update("\0"),R.update(X)});let H=R.digest("hex"),L=new Map,K=X=>{let F=L.get(X.locatorHash);if(typeof F!="undefined")return F;let D=this.storedPackages.get(X.locatorHash);if(typeof D=="undefined")throw new Error("Assertion failed: The package should have been registered");let he=(0,t0.createHash)("sha512");he.update(X.locatorHash),L.set(X.locatorHash,"");for(let pe of D.dependencies.values()){let Ne=this.storedResolutions.get(pe.descriptorHash);if(typeof Ne=="undefined")throw new Error(`Assertion failed: The resolution (${Xt(this.configuration,pe)}) should have been registered`);let Pe=this.storedPackages.get(Ne);if(typeof Pe=="undefined")throw new Error("Assertion failed: The package should have been registered");he.update(K(Pe))}return F=he.digest("hex"),L.set(X.locatorHash,F),F},J=(X,F)=>{let D=(0,t0.createHash)("sha512");D.update(H),D.update(K(X));for(let he of F)D.update(he);return D.digest("hex")},ne=new Map,q=!1;for(;b.size>0;){let X=b.size,F=[];for(let D of b){let he=this.storedPackages.get(D);if(!he)throw new Error("Assertion failed: The package should have been registered");let pe=!0;for(let qe of he.dependencies.values()){let re=this.storedResolutions.get(qe.descriptorHash);if(!re)throw new Error(`Assertion failed: The resolution (${Xt(this.configuration,qe)}) should have been registered`);if(b.has(re)){pe=!1;break}}if(!pe)continue;b.delete(D);let Ne=h.get(he.locatorHash);if(!Ne)throw new Error("Assertion failed: The build directive should have been registered");let Pe=J(he,Ne.buildLocations);if(this.storedBuildState.get(he.locatorHash)===Pe){ne.set(he.locatorHash,Pe);continue}q||(await this.persistInstallStateFile(),q=!0),this.storedBuildState.has(he.locatorHash)?r.reportInfo(z.MUST_REBUILD,`${lt(this.configuration,he)} must be rebuilt because its dependency tree changed`):r.reportInfo(z.MUST_BUILD,`${lt(this.configuration,he)} must be built because it never has been before or the last one failed`);for(let qe of Ne.buildLocations){if(!v.isAbsolute(qe))throw new Error(`Assertion failed: Expected the build location to be absolute (not ${qe})`);F.push((async()=>{for(let[re,se]of Ne.directives){let be=`# This file contains the result of Yarn building a package (${is(he)}) +`;switch(re){case Gn.SCRIPT:be+=`# Script name: ${se} +`;break;case Gn.SHELLCODE:be+=`# Script code: ${se} +`;break}let ae=null;if(!await T.mktempPromise(async De=>{let $=v.join(De,"build.log"),{stdout:G,stderr:Ce}=this.configuration.getSubprocessStreams($,{header:be,prefix:lt(this.configuration,he),report:r}),ee;try{switch(re){case Gn.SCRIPT:ee=await Uw(he,se,[],{cwd:qe,project:this,stdin:ae,stdout:G,stderr:Ce});break;case Gn.SHELLCODE:ee=await rD(he,se,[],{cwd:qe,project:this,stdin:ae,stdout:G,stderr:Ce});break}}catch(Oe){Ce.write(Oe.stack),ee=1}if(G.end(),Ce.end(),ee===0)return ne.set(he.locatorHash,Pe),!0;T.detachTemp(De);let Ue=`${lt(this.configuration,he)} couldn't be built successfully (exit code ${Ve(this.configuration,ee,Le.NUMBER)}, logs can be found here: ${Ve(this.configuration,$,Le.PATH)})`;return this.optionalBuilds.has(he.locatorHash)?(r.reportInfo(z.BUILD_FAILED,Ue),ne.set(he.locatorHash,Pe),!0):(r.reportError(z.BUILD_FAILED,Ue),!1)}))return}})())}}if(await Promise.all(F),X===b.size){let D=Array.from(b).map(he=>{let pe=this.storedPackages.get(he);if(!pe)throw new Error("Assertion failed: The package should have been registered");return lt(this.configuration,pe)}).join(", ");r.reportError(z.CYCLIC_DEPENDENCIES,`Some packages have circular dependencies that make their build order unsatisfiable - as a result they won't be built (affected packages are: ${D})`);break}}this.storedBuildState=ne}async install(e){var a,l;let r=this.configuration.get("nodeLinker");(a=fe.telemetry)==null||a.reportInstall(r),await e.report.startTimerPromise("Project validation",{skipIfEmpty:!0},async()=>{await this.configuration.triggerHook(c=>c.validateProject,this,{reportWarning:e.report.reportWarning.bind(e.report),reportError:e.report.reportError.bind(e.report)})});for(let c of this.configuration.packageExtensions.values())for(let[,u]of c)for(let g of u)g.status=ki.Inactive;let i=v.join(this.cwd,this.configuration.get("lockfileFilename")),n=null;if(e.immutable)try{n=await T.readFilePromise(i,"utf8")}catch(c){throw c.code==="ENOENT"?new nt(z.FROZEN_LOCKFILE_EXCEPTION,"The lockfile would have been created by this install, which is explicitly forbidden."):c}await e.report.startTimerPromise("Resolution step",async()=>{await this.resolveEverything(e)}),await e.report.startTimerPromise("Post-resolution validation",{skipIfEmpty:!0},async()=>{for(let[,c]of this.configuration.packageExtensions)for(let[,u]of c)for(let g of u)if(g.userProvided){let f=Ve(this.configuration,g,Le.PACKAGE_EXTENSION);switch(g.status){case ki.Inactive:e.report.reportWarning(z.UNUSED_PACKAGE_EXTENSION,`${f}: No matching package in the dependency tree; you may not need this rule anymore.`);break;case ki.Redundant:e.report.reportWarning(z.REDUNDANT_PACKAGE_EXTENSION,`${f}: This rule seems redundant when applied on the original package; the extension may have been applied upstream.`);break}}if(n!==null){let c=ul(n,this.generateLockfile());if(c!==n){let u=(0,v$.structuredPatch)(i,i,n,c);e.report.reportSeparator();for(let g of u.hunks){e.report.reportInfo(null,`@@ -${g.oldStart},${g.oldLines} +${g.newStart},${g.newLines} @@`);for(let f of g.lines)f.startsWith("+")?e.report.reportError(z.FROZEN_LOCKFILE_EXCEPTION,Ve(this.configuration,f,Le.ADDED)):f.startsWith("-")?e.report.reportError(z.FROZEN_LOCKFILE_EXCEPTION,Ve(this.configuration,f,Le.REMOVED)):e.report.reportInfo(null,Ve(this.configuration,f,"grey"))}throw e.report.reportSeparator(),new nt(z.FROZEN_LOCKFILE_EXCEPTION,"The lockfile would have been modified by this install, which is explicitly forbidden.")}}});for(let c of this.configuration.packageExtensions.values())for(let[,u]of c)for(let g of u)g.userProvided&&g.status===ki.Active&&((l=fe.telemetry)==null||l.reportPackageExtension(Uu(g,Le.PACKAGE_EXTENSION)));await e.report.startTimerPromise("Fetch step",async()=>{await this.fetchEverything(e),(typeof e.persistProject=="undefined"||e.persistProject)&&e.mode!==li.UpdateLockfile&&await this.cacheCleanup(e)});let s=e.immutable?[...new Set(this.configuration.get("immutablePatterns"))].sort():[],o=await Promise.all(s.map(async c=>Iy(c,{cwd:this.cwd})));(typeof e.persistProject=="undefined"||e.persistProject)&&await this.persist(),await e.report.startTimerPromise("Link step",async()=>{if(e.mode===li.UpdateLockfile){e.report.reportWarning(z.UPDATE_LOCKFILE_ONLY_SKIP_LINK,`Skipped due to ${Ve(this.configuration,"mode=update-lockfile",Le.CODE)}`);return}await this.linkEverything(e);let c=await Promise.all(s.map(async u=>Iy(u,{cwd:this.cwd})));for(let u=0;uc.afterAllInstalled,this,e)}generateLockfile(){let e=new Map;for(let[n,s]of this.storedResolutions.entries()){let o=e.get(s);o||e.set(s,o=new Set),o.add(n)}let r={};r.__metadata={version:k$,cacheKey:void 0};for(let[n,s]of e.entries()){let o=this.originalPackages.get(n);if(!o)continue;let a=[];for(let f of s){let h=this.storedDescriptors.get(f);if(!h)throw new Error("Assertion failed: The descriptor should have been registered");a.push(h)}let l=a.map(f=>In(f)).sort().join(", "),c=new Ze;c.version=o.linkType===gt.HARD?o.version:"0.0.0-use.local",c.languageName=o.languageName,c.dependencies=new Map(o.dependencies),c.peerDependencies=new Map(o.peerDependencies),c.dependenciesMeta=new Map(o.dependenciesMeta),c.peerDependenciesMeta=new Map(o.peerDependenciesMeta),c.bin=new Map(o.bin);let u,g=this.storedChecksums.get(o.locatorHash);if(typeof g!="undefined"){let f=g.indexOf("/");if(f===-1)throw new Error("Assertion failed: Expected the checksum to reference its cache key");let h=g.slice(0,f),p=g.slice(f+1);typeof r.__metadata.cacheKey=="undefined"&&(r.__metadata.cacheKey=h),h===r.__metadata.cacheKey?u=p:u=g}r[l]=_(P({},c.exportTo({},{compatibilityMode:!1})),{linkType:o.linkType.toLowerCase(),resolution:is(o),checksum:u,conditions:o.conditions||void 0})}return`${[`# This file is generated by running "yarn install" inside your project. +`,`# Manual changes might be lost - proceed with caution! +`].join("")} +`+Qa(r)}async persistLockfile(){let e=v.join(this.cwd,this.configuration.get("lockfileFilename")),r="";try{r=await T.readFilePromise(e,"utf8")}catch(s){}let i=this.generateLockfile(),n=ul(r,i);n!==r&&(await T.writeFilePromise(e,n),this.lockFileChecksum=D$(n),this.lockfileNeedsRefresh=!1)}async persistInstallStateFile(){let e=[];for(let o of Object.values(gF))e.push(...o);let r=(0,r0.default)(this,e),i=cF.default.serialize(r),n=zi(i);if(this.installStateChecksum===n)return;let s=this.configuration.get("installStatePath");await T.mkdirPromise(v.dirname(s),{recursive:!0}),await T.writeFilePromise(s,await aUe(i)),this.installStateChecksum=n}async restoreInstallState({restoreInstallersCustomData:e=!0,restoreResolutions:r=!0,restoreBuildState:i=!0}={}){let n=this.configuration.get("installStatePath");if(!T.existsSync(n)){r&&await this.applyLightResolution();return}let s=await AUe(await T.readFilePromise(n));this.installStateChecksum=zi(s);let o=cF.default.deserialize(s);e&&typeof o.installersCustomData!="undefined"&&(this.installersCustomData=o.installersCustomData),i&&Object.assign(this,(0,r0.default)(o,gF.restoreBuildState)),r&&(o.lockFileChecksum===this.lockFileChecksum?(Object.assign(this,(0,r0.default)(o,gF.restoreResolutions)),this.refreshWorkspaceDependencies()):await this.applyLightResolution())}async applyLightResolution(){await this.resolveEverything({lockfileOnly:!0,report:new ei}),await this.persistInstallStateFile()}async persist(){await this.persistLockfile();for(let e of this.workspacesByCwd.values())await e.persistManifest()}async cacheCleanup({cache:e,report:r}){let i=new Set([".gitignore"]);if(!Fb(e.cwd,this.cwd)||!await T.existsPromise(e.cwd))return;let n=this.configuration.get("preferAggregateCacheInfo"),s=0,o=null;for(let a of await T.readdirPromise(e.cwd)){if(i.has(a))continue;let l=v.resolve(e.cwd,a);e.markedFiles.has(l)||(o=a,e.immutable?r.reportError(z.IMMUTABLE_CACHE,`${Ve(this.configuration,v.basename(l),"magenta")} appears to be unused and would be marked for deletion, but the cache is immutable`):(n?s+=1:r.reportInfo(z.UNUSED_CACHE_ENTRY,`${Ve(this.configuration,v.basename(l),"magenta")} appears to be unused - removing`),await T.removePromise(l)))}n&&s!==0&&r.reportInfo(z.UNUSED_CACHE_ENTRY,s>1?`${s} packages appeared to be unused and were removed`:`${o} appeared to be unused and was removed`),e.markedFiles.clear()}};function lUe({project:t,allDescriptors:e,allResolutions:r,allPackages:i,accessibleLocators:n=new Set,optionalBuilds:s=new Set,volatileDescriptors:o=new Set,peerRequirements:a=new Map,report:l,tolerateMissingPackages:c=!1}){var ne;let u=new Map,g=[],f=new Map,h=new Map,p=new Map,d=new Map,m=new Map,I=new Map(t.workspaces.map(q=>{let A=q.anchoredLocator.locatorHash,V=i.get(A);if(typeof V=="undefined"){if(c)return[A,null];throw new Error("Assertion failed: The workspace should have an associated package")}return[A,ap(V)]})),B=()=>{let q=T.mktempSync(),A=v.join(q,"stacktrace.log"),V=String(g.length+1).length,W=g.map((X,F)=>`${`${F+1}.`.padStart(V," ")} ${is(X)} +`).join("");throw T.writeFileSync(A,W),T.detachTemp(q),new nt(z.STACK_OVERFLOW_RESOLUTION,`Encountered a stack overflow when resolving peer dependencies; cf ${M.fromPortablePath(A)}`)},b=q=>{let A=r.get(q.descriptorHash);if(typeof A=="undefined")throw new Error("Assertion failed: The resolution should have been registered");let V=i.get(A);if(!V)throw new Error("Assertion failed: The package could not be found");return V},R=(q,A,V,{top:W,optional:X})=>{g.length>1e3&&B(),g.push(A);let F=H(q,A,V,{top:W,optional:X});return g.pop(),F},H=(q,A,V,{top:W,optional:X})=>{if(n.has(A.locatorHash))return;n.add(A.locatorHash),X||s.delete(A.locatorHash);let F=i.get(A.locatorHash);if(!F){if(c)return;throw new Error(`Assertion failed: The package (${lt(t.configuration,A)}) should have been registered`)}let D=[],he=[],pe=[],Ne=[],Pe=[];for(let re of Array.from(F.dependencies.values())){if(F.peerDependencies.has(re.identHash)&&F.locatorHash!==W)continue;if(hA(re))throw new Error("Assertion failed: Virtual packages shouldn't be encountered when virtualizing a branch");o.delete(re.descriptorHash);let se=X;if(!se){let ee=F.dependenciesMeta.get(St(re));if(typeof ee!="undefined"){let Ue=ee.get(null);typeof Ue!="undefined"&&Ue.optional&&(se=!0)}}let be=r.get(re.descriptorHash);if(!be){if(c)continue;throw new Error(`Assertion failed: The resolution (${Xt(t.configuration,re)}) should have been registered`)}let ae=I.get(be)||i.get(be);if(!ae)throw new Error(`Assertion failed: The package (${be}, resolved from ${Xt(t.configuration,re)}) should have been registered`);if(ae.peerDependencies.size===0){R(re,ae,new Map,{top:W,optional:se});continue}let Ae=u.get(ae.locatorHash);typeof Ae=="number"&&Ae>=2&&B();let De,$,G=new Set,Ce;he.push(()=>{De=kx(re,A.locatorHash),$=Px(ae,A.locatorHash),F.dependencies.delete(re.identHash),F.dependencies.set(De.identHash,De),r.set(De.descriptorHash,$.locatorHash),e.set(De.descriptorHash,De),i.set($.locatorHash,$),D.push([ae,De,$])}),pe.push(()=>{var ee;Ce=new Map;for(let Ue of $.peerDependencies.values()){let Oe=F.dependencies.get(Ue.identHash);if(!Oe&&cp(A,Ue)&&(Oe=q),(!Oe||Oe.range==="missing:")&&$.dependencies.has(Ue.identHash)){$.peerDependencies.delete(Ue.identHash);continue}Oe||(Oe=Yt(Ue,"missing:")),$.dependencies.set(Oe.identHash,Oe),hA(Oe)&&Pl(p,Oe.descriptorHash).add($.locatorHash),f.set(Oe.identHash,Oe),Oe.range==="missing:"&&G.add(Oe.identHash),Ce.set(Ue.identHash,(ee=V.get(Ue.identHash))!=null?ee:$.locatorHash)}$.dependencies=new Map(gn($.dependencies,([Ue,Oe])=>St(Oe)))}),Ne.push(()=>{if(!i.has($.locatorHash))return;let ee=u.get(ae.locatorHash),Ue=typeof ee!="undefined"?ee+1:1;u.set(ae.locatorHash,Ue),R(De,$,Ce,{top:W,optional:se}),u.set(ae.locatorHash,Ue-1)}),Pe.push(()=>{let ee=F.dependencies.get(re.identHash);if(typeof ee=="undefined")throw new Error("Assertion failed: Expected the peer dependency to have been turned into a dependency");let Ue=r.get(ee.descriptorHash);if(typeof Ue=="undefined")throw new Error("Assertion failed: Expected the descriptor to be registered");if(Pl(m,Ue).add(A.locatorHash),!!i.has($.locatorHash)){for(let Oe of $.peerDependencies.values()){let vt=Ce.get(Oe.identHash);if(typeof vt=="undefined")throw new Error("Assertion failed: Expected the peer dependency ident to be registered");hu(pu(d,vt),St(Oe)).push($.locatorHash)}for(let Oe of G)$.dependencies.delete(Oe)}})}for(let re of[...he,...pe])re();let qe;do{qe=!0;for(let[re,se,be]of D){if(!i.has(be.locatorHash))continue;let ae=pu(h,re.locatorHash),Ae=zi(...[...be.dependencies.values()].map(Ce=>{let ee=Ce.range!=="missing:"?r.get(Ce.descriptorHash):"missing:";if(typeof ee=="undefined")throw new Error(`Assertion failed: Expected the resolution for ${Xt(t.configuration,Ce)} to have been registered`);return ee===W?`${ee} (top)`:ee}),se.identHash),De=ae.get(Ae);if(typeof De=="undefined"){ae.set(Ae,se);continue}if(De===se)continue;qe=!1,i.delete(be.locatorHash),e.delete(se.descriptorHash),r.delete(se.descriptorHash),n.delete(be.locatorHash);let $=p.get(se.descriptorHash)||[],G=[F.locatorHash,...$];p.delete(se.descriptorHash);for(let Ce of G){let ee=i.get(Ce);typeof ee!="undefined"&&ee.dependencies.set(se.identHash,De)}}}while(!qe);for(let re of[...Ne,...Pe])re()};for(let q of t.workspaces){let A=q.anchoredLocator;o.delete(q.anchoredDescriptor.descriptorHash),R(q.anchoredDescriptor,A,new Map,{top:A.locatorHash,optional:!1})}var L;(function(V){V[V.NotProvided=0]="NotProvided",V[V.NotCompatible=1]="NotCompatible"})(L||(L={}));let K=[];for(let[q,A]of m){let V=i.get(q);if(typeof V=="undefined")throw new Error("Assertion failed: Expected the root to be registered");let W=d.get(q);if(typeof W!="undefined")for(let X of A){let F=i.get(X);if(typeof F!="undefined")for(let[D,he]of W){let pe=En(D);if(F.peerDependencies.has(pe.identHash))continue;let Ne=`p${zi(X,D,q).slice(0,5)}`;a.set(Ne,{subject:X,requested:pe,rootRequester:q,allRequesters:he});let Pe=V.dependencies.get(pe.identHash);if(typeof Pe!="undefined"){let qe=b(Pe),re=(ne=qe.version)!=null?ne:"0.0.0",se=new Set;for(let ae of he){let Ae=i.get(ae);if(typeof Ae=="undefined")throw new Error("Assertion failed: Expected the link to be registered");let De=Ae.peerDependencies.get(pe.identHash);if(typeof De=="undefined")throw new Error("Assertion failed: Expected the ident to be registered");se.add(De.range)}[...se].every(ae=>{if(ae.startsWith(Yr.protocol)){if(!t.tryWorkspaceByLocator(qe))return!1;ae=ae.slice(Yr.protocol.length),(ae==="^"||ae==="~")&&(ae="*")}return lc(re,ae)})||K.push({type:1,subject:F,requested:pe,requester:V,version:re,hash:Ne,requirementCount:he.length})}else{let qe=V.peerDependenciesMeta.get(D);(qe==null?void 0:qe.optional)||K.push({type:0,subject:F,requested:pe,requester:V,hash:Ne})}}}}let J=[q=>Rx(q.subject),q=>St(q.requested),q=>`${q.type}`];for(let q of gn(K,J))switch(q.type){case 0:l==null||l.reportWarning(z.MISSING_PEER_DEPENDENCY,`${lt(t.configuration,q.subject)} doesn't provide ${Vr(t.configuration,q.requested)} (${Ve(t.configuration,q.hash,Le.CODE)}), requested by ${Vr(t.configuration,q.requester)}`);break;case 1:{let A=q.requirementCount>1?"and some of its descendants request":"requests";l==null||l.reportWarning(z.INCOMPATIBLE_PEER_DEPENDENCY,`${lt(t.configuration,q.subject)} provides ${Vr(t.configuration,q.requested)} (${Ve(t.configuration,q.hash,Le.CODE)}) with version ${fp(t.configuration,q.version)}, which doesn't satisfy what ${Vr(t.configuration,q.requester)} ${A}`)}break}K.length>0&&(l==null||l.reportWarning(z.UNNAMED,`Some peer dependencies are incorrectly met; run ${Ve(t.configuration,"yarn explain peer-requirements ",Le.CODE)} for details, where ${Ve(t.configuration,"",Le.CODE)} is the six-letter p-prefixed code`))}var Po;(function(l){l.VERSION="version",l.COMMAND_NAME="commandName",l.PLUGIN_NAME="pluginName",l.INSTALL_COUNT="installCount",l.PROJECT_COUNT="projectCount",l.WORKSPACE_COUNT="workspaceCount",l.DEPENDENCY_COUNT="dependencyCount",l.EXTENSION="packageExtension"})(Po||(Po={}));var Rd=class{constructor(e,r){this.values=new Map;this.hits=new Map;this.enumerators=new Map;this.configuration=e;let i=this.getRegistryPath();this.isNew=!T.existsSync(i),this.sendReport(r),this.startBuffer()}reportVersion(e){this.reportValue(Po.VERSION,e.replace(/-git\..*/,"-git"))}reportCommandName(e){this.reportValue(Po.COMMAND_NAME,e||"")}reportPluginName(e){this.reportValue(Po.PLUGIN_NAME,e)}reportProject(e){this.reportEnumerator(Po.PROJECT_COUNT,e)}reportInstall(e){this.reportHit(Po.INSTALL_COUNT,e)}reportPackageExtension(e){this.reportValue(Po.EXTENSION,e)}reportWorkspaceCount(e){this.reportValue(Po.WORKSPACE_COUNT,String(e))}reportDependencyCount(e){this.reportValue(Po.DEPENDENCY_COUNT,String(e))}reportValue(e,r){Pl(this.values,e).add(r)}reportEnumerator(e,r){Pl(this.enumerators,e).add(zi(r))}reportHit(e,r="*"){let i=pu(this.hits,e),n=na(i,r,()=>0);i.set(r,n+1)}getRegistryPath(){let e=this.configuration.get("globalFolder");return v.join(e,"telemetry.json")}sendReport(e){var u,g,f;let r=this.getRegistryPath(),i;try{i=T.readJsonSync(r)}catch{i={}}let n=Date.now(),s=this.configuration.get("telemetryInterval")*24*60*60*1e3,a=((u=i.lastUpdate)!=null?u:n+s+Math.floor(s*Math.random()))+s;if(a>n&&i.lastUpdate!=null)return;try{T.mkdirSync(v.dirname(r),{recursive:!0}),T.writeJsonSync(r,{lastUpdate:n})}catch{return}if(a>n||!i.blocks)return;let l=`https://browser-http-intake.logs.datadoghq.eu/v1/input/${e}?ddsource=yarn`,c=h=>iP(l,h,{configuration:this.configuration}).catch(()=>{});for(let[h,p]of Object.entries((g=i.blocks)!=null?g:{})){if(Object.keys(p).length===0)continue;let d=p;d.userId=h,d.reportType="primary";for(let B of Object.keys((f=d.enumerators)!=null?f:{}))d.enumerators[B]=d.enumerators[B].length;c(d);let m=new Map,I=20;for(let[B,b]of Object.entries(d.values))b.length>0&&m.set(B,b.slice(0,I));for(;m.size>0;){let B={};B.userId=h,B.reportType="secondary",B.metrics={};for(let[b,R]of m)B.metrics[b]=R.shift(),R.length===0&&m.delete(b);c(B)}}}applyChanges(){var o,a,l,c,u,g,f,h,p;let e=this.getRegistryPath(),r;try{r=T.readJsonSync(e)}catch{r={}}let i=(o=this.configuration.get("telemetryUserId"))!=null?o:"*",n=r.blocks=(a=r.blocks)!=null?a:{},s=n[i]=(l=n[i])!=null?l:{};for(let d of this.hits.keys()){let m=s.hits=(c=s.hits)!=null?c:{},I=m[d]=(u=m[d])!=null?u:{};for(let[B,b]of this.hits.get(d))I[B]=((g=I[B])!=null?g:0)+b}for(let d of["values","enumerators"])for(let m of this[d].keys()){let I=s[d]=(f=s[d])!=null?f:{};I[m]=[...new Set([...(h=I[m])!=null?h:[],...(p=this[d].get(m))!=null?p:[]])]}T.mkdirSync(v.dirname(e),{recursive:!0}),T.writeJsonSync(e,r)}startBuffer(){process.on("exit",()=>{try{this.applyChanges()}catch{}})}};var fF=ie(require("child_process")),R$=ie(ml());var hF=ie(require("fs"));var Yg=new Map([["constraints",[["constraints","query"],["constraints","source"],["constraints"]]],["exec",[]],["interactive-tools",[["search"],["upgrade-interactive"]]],["stage",[["stage"]]],["typescript",[]],["version",[["version","apply"],["version","check"],["version"]]],["workspace-tools",[["workspaces","focus"],["workspaces","foreach"]]]]);function cUe(t){let e=M.fromPortablePath(t);process.on("SIGINT",()=>{}),e?(0,fF.execFileSync)(process.execPath,[e,...process.argv.slice(2)],{stdio:"inherit",env:_(P({},process.env),{YARN_IGNORE_PATH:"1",YARN_IGNORE_CWD:"1"})}):(0,fF.execFileSync)(e,process.argv.slice(2),{stdio:"inherit",env:_(P({},process.env),{YARN_IGNORE_PATH:"1",YARN_IGNORE_CWD:"1"})})}async function i0({binaryVersion:t,pluginConfiguration:e}){async function r(){let n=new oo({binaryLabel:"Yarn Package Manager",binaryName:"yarn",binaryVersion:t});try{await i(n)}catch(s){process.stdout.write(n.error(s)),process.exitCode=1}}async function i(n){var p,d,m,I,B;let s=process.versions.node,o=">=12 <14 || 14.2 - 14.9 || >14.10.0";if(process.env.YARN_IGNORE_NODE!=="1"&&!qt.satisfiesWithPrereleases(s,o))throw new me(`This tool requires a Node version compatible with ${o} (got ${s}). Upgrade Node, or set \`YARN_IGNORE_NODE=1\` in your environment.`);let a=await fe.find(M.toPortablePath(process.cwd()),e,{usePath:!0,strict:!1}),l=a.get("yarnPath"),c=a.get("ignorePath"),u=a.get("ignoreCwd"),g=M.toPortablePath(M.resolve(process.argv[1])),f=b=>T.readFilePromise(b).catch(()=>Buffer.of());if(!c&&!u&&await(async()=>l===g||Buffer.compare(...await Promise.all([f(l),f(g)]))===0)()){process.env.YARN_IGNORE_PATH="1",process.env.YARN_IGNORE_CWD="1",await i(n);return}else if(l!==null&&!c)if(!T.existsSync(l))process.stdout.write(n.error(new Error(`The "yarn-path" option has been set (in ${a.sources.get("yarnPath")}), but the specified location doesn't exist (${l}).`))),process.exitCode=1;else try{cUe(l)}catch(b){process.exitCode=b.code||1}else{c&&delete process.env.YARN_IGNORE_PATH,a.get("enableTelemetry")&&!R$.isCI&&process.stdout.isTTY&&(fe.telemetry=new Rd(a,"puba9cdc10ec5790a2cf4969dd413a47270")),(p=fe.telemetry)==null||p.reportVersion(t);for(let[L,K]of a.plugins.entries()){Yg.has((m=(d=L.match(/^@yarnpkg\/plugin-(.*)$/))==null?void 0:d[1])!=null?m:"")&&((I=fe.telemetry)==null||I.reportPluginName(L));for(let J of K.commands||[])n.register(J)}let R=n.process(process.argv.slice(2));R.help||(B=fe.telemetry)==null||B.reportCommandName(R.path.join(" "));let H=R.cwd;if(typeof H!="undefined"&&!u){let L=(0,hF.realpathSync)(process.cwd()),K=(0,hF.realpathSync)(H);if(L!==K){process.chdir(H),await r();return}}await n.runExit(R,{cwd:M.toPortablePath(process.cwd()),plugins:e,quiet:!1,stdin:process.stdin,stdout:process.stdout,stderr:process.stderr})}}return r().catch(n=>{process.stdout.write(n.stack||n.message),process.exitCode=1}).finally(()=>T.rmtempPromise())}function F$(t){t.Command.Path=(...e)=>r=>{r.paths=r.paths||[],r.paths.push(e)};for(let e of["Array","Boolean","String","Proxy","Rest","Counter"])t.Command[e]=(...r)=>(i,n)=>{let s=t.Option[e](...r);Object.defineProperty(i,`__${n}`,{configurable:!1,enumerable:!0,get(){return s},set(o){this[n]=o}})};return t}var iC={};it(iC,{BaseCommand:()=>Be,WorkspaceRequiredError:()=>rt,getDynamicLibs:()=>Wie,getPluginConfiguration:()=>F0,main:()=>i0,openWorkspace:()=>rf,pluginCommands:()=>Yg});var Be=class extends ye{constructor(){super(...arguments);this.cwd=Y.String("--cwd",{hidden:!0})}};var rt=class extends me{constructor(e,r){let i=v.relative(e,r),n=v.join(e,Ze.fileName);super(`This command can only be run from within a workspace of your project (${i} isn't a workspace of ${n}).`)}};var dJe=ie(Or());Ss();var CJe=ie(gN()),Wie=()=>new Map([["@yarnpkg/cli",iC],["@yarnpkg/core",Fd],["@yarnpkg/fslib",ch],["@yarnpkg/libzip",Fp],["@yarnpkg/parsers",Hp],["@yarnpkg/shell",jp],["clipanion",vh],["semver",dJe],["typanion",lu],["yup",CJe]]);async function rf(t,e){let{project:r,workspace:i}=await Ke.find(t,e);if(!i)throw new rt(r.cwd,e);return i}var x_e=ie(Or());Ss();var k_e=ie(gN());var hL={};it(hL,{dedupeUtils:()=>zN,default:()=>Qze,suggestUtils:()=>LN});var WAe=ie(ml());var roe=ie(aC());Ss();var LN={};it(LN,{Modifier:()=>Lo,Strategy:()=>Fr,Target:()=>vr,WorkspaceModifier:()=>af,applyModifier:()=>Zse,extractDescriptorFromPath:()=>ON,extractRangeModifier:()=>Xse,fetchDescriptorFrom:()=>MN,findProjectDescriptors:()=>toe,getModifier:()=>AC,getSuggestedDescriptors:()=>lC,makeWorkspaceDescriptor:()=>eoe,toWorkspaceModifier:()=>$se});var TN=ie(Or()),L3e="workspace:",vr;(function(i){i.REGULAR="dependencies",i.DEVELOPMENT="devDependencies",i.PEER="peerDependencies"})(vr||(vr={}));var Lo;(function(i){i.CARET="^",i.TILDE="~",i.EXACT=""})(Lo||(Lo={}));var af;(function(i){i.CARET="^",i.TILDE="~",i.EXACT="*"})(af||(af={}));var Fr;(function(s){s.KEEP="keep",s.REUSE="reuse",s.PROJECT="project",s.LATEST="latest",s.CACHE="cache"})(Fr||(Fr={}));function AC(t,e){return t.exact?Lo.EXACT:t.caret?Lo.CARET:t.tilde?Lo.TILDE:e.configuration.get("defaultSemverRangePrefix")}var T3e=/^([\^~]?)[0-9]+(?:\.[0-9]+){0,2}(?:-\S+)?$/;function Xse(t,{project:e}){let r=t.match(T3e);return r?r[1]:e.configuration.get("defaultSemverRangePrefix")}function Zse(t,e){let{protocol:r,source:i,params:n,selector:s}=S.parseRange(t.range);return TN.default.valid(s)&&(s=`${e}${t.range}`),S.makeDescriptor(t,S.makeRange({protocol:r,source:i,params:n,selector:s}))}function $se(t){switch(t){case Lo.CARET:return af.CARET;case Lo.TILDE:return af.TILDE;case Lo.EXACT:return af.EXACT;default:throw new Error(`Assertion failed: Unknown modifier: "${t}"`)}}function eoe(t,e){return S.makeDescriptor(t.anchoredDescriptor,`${L3e}${$se(e)}`)}async function toe(t,{project:e,target:r}){let i=new Map,n=s=>{let o=i.get(s.descriptorHash);return o||i.set(s.descriptorHash,o={descriptor:s,locators:[]}),o};for(let s of e.workspaces)if(r===vr.PEER){let o=s.manifest.peerDependencies.get(t.identHash);o!==void 0&&n(o).locators.push(s.locator)}else{let o=s.manifest.dependencies.get(t.identHash),a=s.manifest.devDependencies.get(t.identHash);r===vr.DEVELOPMENT?a!==void 0?n(a).locators.push(s.locator):o!==void 0&&n(o).locators.push(s.locator):o!==void 0?n(o).locators.push(s.locator):a!==void 0&&n(a).locators.push(s.locator)}return i}async function ON(t,{cwd:e,workspace:r}){return await M3e(async i=>{v.isAbsolute(t)||(t=v.relative(r.cwd,v.resolve(e,t)),t.match(/^\.{0,2}\//)||(t=`./${t}`));let{project:n}=r,s=await MN(S.makeIdent(null,"archive"),t,{project:r.project,cache:i,workspace:r});if(!s)throw new Error("Assertion failed: The descriptor should have been found");let o=new ei,a=n.configuration.makeResolver(),l=n.configuration.makeFetcher(),c={checksums:n.storedChecksums,project:n,cache:i,fetcher:l,report:o,resolver:a},u=a.bindDescriptor(s,r.anchoredLocator,c),g=S.convertDescriptorToLocator(u),f=await l.fetch(g,c),h=await Ze.find(f.prefixPath,{baseFs:f.packageFs});if(!h.name)throw new Error("Target path doesn't have a name");return S.makeDescriptor(h.name,t)})}async function lC(t,{project:e,workspace:r,cache:i,target:n,modifier:s,strategies:o,maxResults:a=Infinity}){if(!(a>=0))throw new Error(`Invalid maxResults (${a})`);if(t.range!=="unknown")return{suggestions:[{descriptor:t,name:`Use ${S.prettyDescriptor(e.configuration,t)}`,reason:"(unambiguous explicit request)"}],rejections:[]};let l=typeof r!="undefined"&&r!==null&&r.manifest[n].get(t.identHash)||null,c=[],u=[],g=async f=>{try{await f()}catch(h){u.push(h)}};for(let f of o){if(c.length>=a)break;switch(f){case Fr.KEEP:await g(async()=>{l&&c.push({descriptor:l,name:`Keep ${S.prettyDescriptor(e.configuration,l)}`,reason:"(no changes)"})});break;case Fr.REUSE:await g(async()=>{for(let{descriptor:h,locators:p}of(await toe(t,{project:e,target:n})).values()){if(p.length===1&&p[0].locatorHash===r.anchoredLocator.locatorHash&&o.includes(Fr.KEEP))continue;let d=`(originally used by ${S.prettyLocator(e.configuration,p[0])}`;d+=p.length>1?` and ${p.length-1} other${p.length>2?"s":""})`:")",c.push({descriptor:h,name:`Reuse ${S.prettyDescriptor(e.configuration,h)}`,reason:d})}});break;case Fr.CACHE:await g(async()=>{for(let h of e.storedDescriptors.values())h.identHash===t.identHash&&c.push({descriptor:h,name:`Reuse ${S.prettyDescriptor(e.configuration,h)}`,reason:"(already used somewhere in the lockfile)"})});break;case Fr.PROJECT:await g(async()=>{if(r.manifest.name!==null&&t.identHash===r.manifest.name.identHash)return;let h=e.tryWorkspaceByIdent(t);if(h===null)return;let p=eoe(h,s);c.push({descriptor:p,name:`Attach ${S.prettyDescriptor(e.configuration,p)}`,reason:`(local workspace at ${ue.pretty(e.configuration,h.relativeCwd,ue.Type.PATH)})`})});break;case Fr.LATEST:await g(async()=>{if(t.range!=="unknown")c.push({descriptor:t,name:`Use ${S.prettyRange(e.configuration,t.range)}`,reason:"(explicit range requested)"});else if(n===vr.PEER)c.push({descriptor:S.makeDescriptor(t,"*"),name:"Use *",reason:"(catch-all peer dependency pattern)"});else if(!e.configuration.get("enableNetwork"))c.push({descriptor:null,name:"Resolve from latest",reason:ue.pretty(e.configuration,"(unavailable because enableNetwork is toggled off)","grey")});else{let h=await MN(t,"latest",{project:e,cache:i,workspace:r,preserveModifier:!1});h&&(h=Zse(h,s),c.push({descriptor:h,name:`Use ${S.prettyDescriptor(e.configuration,h)}`,reason:"(resolved from latest)"}))}});break}}return{suggestions:c.slice(0,a),rejections:u.slice(0,a)}}async function MN(t,e,{project:r,cache:i,workspace:n,preserveModifier:s=!0}){let o=S.makeDescriptor(t,e),a=new ei,l=r.configuration.makeFetcher(),c=r.configuration.makeResolver(),u={project:r,fetcher:l,cache:i,checksums:r.storedChecksums,report:a,cacheOptions:{skipIntegrityCheck:!0},skipIntegrityCheck:!0},g=_(P({},u),{resolver:c,fetchOptions:u}),f=c.bindDescriptor(o,n.anchoredLocator,g),h=await c.getCandidates(f,new Map,g);if(h.length===0)return null;let p=h[0],{protocol:d,source:m,params:I,selector:B}=S.parseRange(S.convertToManifestRange(p.reference));if(d===r.configuration.get("defaultProtocol")&&(d=null),TN.default.valid(B)&&s!==!1){let b=typeof s=="string"?s:o.range;B=Xse(b,{project:r})+B}return S.makeDescriptor(p,S.makeRange({protocol:d,source:m,params:I,selector:B}))}async function M3e(t){return await T.mktempPromise(async e=>{let r=fe.create(e);return r.useWithSource(e,{enableMirror:!1,compressionLevel:0},e,{overwrite:!0}),await t(new Qt(e,{configuration:r,check:!1,immutable:!1}))})}var cC=class extends Be{constructor(){super(...arguments);this.json=Y.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.exact=Y.Boolean("-E,--exact",!1,{description:"Don't use any semver modifier on the resolved range"});this.tilde=Y.Boolean("-T,--tilde",!1,{description:"Use the `~` semver modifier on the resolved range"});this.caret=Y.Boolean("-C,--caret",!1,{description:"Use the `^` semver modifier on the resolved range"});this.dev=Y.Boolean("-D,--dev",!1,{description:"Add a package as a dev dependency"});this.peer=Y.Boolean("-P,--peer",!1,{description:"Add a package as a peer dependency"});this.optional=Y.Boolean("-O,--optional",!1,{description:"Add / upgrade a package to an optional regular / peer dependency"});this.preferDev=Y.Boolean("--prefer-dev",!1,{description:"Add / upgrade a package to a dev dependency"});this.interactive=Y.Boolean("-i,--interactive",{description:"Reuse the specified package from other workspaces in the project"});this.cached=Y.Boolean("--cached",!1,{description:"Reuse the highest version already used somewhere within the project"});this.mode=Y.String("--mode",{description:"Change what artifacts installs generate",validator:Yi(li)});this.silent=Y.Boolean("--silent",{hidden:!0});this.packages=Y.Rest()}async execute(){var d;let e=await fe.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Ke.find(e,this.context.cwd),n=await Qt.find(e);if(!i)throw new rt(r.cwd,this.context.cwd);await r.restoreInstallState({restoreResolutions:!1});let s=(d=this.interactive)!=null?d:e.get("preferInteractive"),o=AC(this,r),a=[...s?[Fr.REUSE]:[],Fr.PROJECT,...this.cached?[Fr.CACHE]:[],Fr.LATEST],l=s?Infinity:1,c=await Promise.all(this.packages.map(async m=>{let I=m.match(/^\.{0,2}\//)?await ON(m,{cwd:this.context.cwd,workspace:i}):S.parseDescriptor(m),B=O3e(i,I,{dev:this.dev,peer:this.peer,preferDev:this.preferDev,optional:this.optional}),b=await lC(I,{project:r,workspace:i,cache:n,target:B,modifier:o,strategies:a,maxResults:l});return[I,b,B]})),u=await Fa.start({configuration:e,stdout:this.context.stdout,suggestInstall:!1},async m=>{for(let[I,{suggestions:B,rejections:b}]of c)if(B.filter(H=>H.descriptor!==null).length===0){let[H]=b;if(typeof H=="undefined")throw new Error("Assertion failed: Expected an error to have been set");r.configuration.get("enableNetwork")?m.reportError(z.CANT_SUGGEST_RESOLUTIONS,`${S.prettyDescriptor(e,I)} can't be resolved to a satisfying range`):m.reportError(z.CANT_SUGGEST_RESOLUTIONS,`${S.prettyDescriptor(e,I)} can't be resolved to a satisfying range (note: network resolution has been disabled)`),m.reportSeparator(),m.reportExceptionOnce(H)}});if(u.hasErrors())return u.exitCode();let g=!1,f=[],h=[];for(let[,{suggestions:m},I]of c){let B,b=m.filter(K=>K.descriptor!==null),R=b[0].descriptor,H=b.every(K=>S.areDescriptorsEqual(K.descriptor,R));b.length===1||H?B=R:(g=!0,{answer:B}=await(0,roe.prompt)({type:"select",name:"answer",message:"Which range do you want to use?",choices:m.map(({descriptor:K,name:J,reason:ne})=>K?{name:J,hint:ne,descriptor:K}:{name:J,hint:ne,disabled:!0}),onCancel:()=>process.exit(130),result(K){return this.find(K,"descriptor")},stdin:this.context.stdin,stdout:this.context.stdout}));let L=i.manifest[I].get(B.identHash);(typeof L=="undefined"||L.descriptorHash!==B.descriptorHash)&&(i.manifest[I].set(B.identHash,B),this.optional&&(I==="dependencies"?i.manifest.ensureDependencyMeta(_(P({},B),{range:"unknown"})).optional=!0:I==="peerDependencies"&&(i.manifest.ensurePeerDependencyMeta(_(P({},B),{range:"unknown"})).optional=!0)),typeof L=="undefined"?f.push([i,I,B,a]):h.push([i,I,L,B]))}return await e.triggerMultipleHooks(m=>m.afterWorkspaceDependencyAddition,f),await e.triggerMultipleHooks(m=>m.afterWorkspaceDependencyReplacement,h),g&&this.context.stdout.write(` +`),(await Fe.start({configuration:e,json:this.json,stdout:this.context.stdout,includeLogs:!this.context.quiet},async m=>{await r.install({cache:n,report:m,mode:this.mode})})).exitCode()}};cC.paths=[["add"]],cC.usage=ye.Usage({description:"add dependencies to the project",details:"\n This command adds a package to the package.json for the nearest workspace.\n\n - If it didn't exist before, the package will by default be added to the regular `dependencies` field, but this behavior can be overriden thanks to the `-D,--dev` flag (which will cause the dependency to be added to the `devDependencies` field instead) and the `-P,--peer` flag (which will do the same but for `peerDependencies`).\n\n - If the package was already listed in your dependencies, it will by default be upgraded whether it's part of your `dependencies` or `devDependencies` (it won't ever update `peerDependencies`, though).\n\n - If set, the `--prefer-dev` flag will operate as a more flexible `-D,--dev` in that it will add the package to your `devDependencies` if it isn't already listed in either `dependencies` or `devDependencies`, but it will also happily upgrade your `dependencies` if that's what you already use (whereas `-D,--dev` would throw an exception).\n\n - If set, the `-O,--optional` flag will add the package to the `optionalDependencies` field and, in combination with the `-P,--peer` flag, it will add the package as an optional peer dependency. If the package was already listed in your `dependencies`, it will be upgraded to `optionalDependencies`. If the package was already listed in your `peerDependencies`, in combination with the `-P,--peer` flag, it will be upgraded to an optional peer dependency: `\"peerDependenciesMeta\": { \"\": { \"optional\": true } }`\n\n - If the added package doesn't specify a range at all its `latest` tag will be resolved and the returned version will be used to generate a new semver range (using the `^` modifier by default unless otherwise configured via the `defaultSemverRangePrefix` configuration, or the `~` modifier if `-T,--tilde` is specified, or no modifier at all if `-E,--exact` is specified). Two exceptions to this rule: the first one is that if the package is a workspace then its local version will be used, and the second one is that if you use `-P,--peer` the default range will be `*` and won't be resolved at all.\n\n - If the added package specifies a range (such as `^1.0.0`, `latest`, or `rc`), Yarn will add this range as-is in the resulting package.json entry (in particular, tags such as `rc` will be encoded as-is rather than being converted into a semver range).\n\n If the `--cached` option is used, Yarn will preferably reuse the highest version already used somewhere within the project, even if through a transitive dependency.\n\n If the `-i,--interactive` option is used (or if the `preferInteractive` settings is toggled on) the command will first try to check whether other workspaces in the project use the specified package and, if so, will offer to reuse them.\n\n If the `--mode=` option is set, Yarn will change which artifacts are generated. The modes currently supported are:\n\n - `skip-build` will not run the build scripts at all. Note that this is different from setting `enableScripts` to false because the later will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run.\n\n - `update-lockfile` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost.\n\n For a compilation of all the supported protocols, please consult the dedicated page from our website: https://yarnpkg.com/features/protocols.\n ",examples:[["Add a regular package to the current workspace","$0 add lodash"],["Add a specific version for a package to the current workspace","$0 add lodash@1.2.3"],["Add a package from a GitHub repository (the master branch) to the current workspace using a URL","$0 add lodash@https://github.com/lodash/lodash"],["Add a package from a GitHub repository (the master branch) to the current workspace using the GitHub protocol","$0 add lodash@github:lodash/lodash"],["Add a package from a GitHub repository (the master branch) to the current workspace using the GitHub protocol (shorthand)","$0 add lodash@lodash/lodash"],["Add a package from a specific branch of a GitHub repository to the current workspace using the GitHub protocol (shorthand)","$0 add lodash-es@lodash/lodash#es"]]});var ioe=cC;function O3e(t,e,{dev:r,peer:i,preferDev:n,optional:s}){let o=t.manifest[vr.REGULAR].has(e.identHash),a=t.manifest[vr.DEVELOPMENT].has(e.identHash),l=t.manifest[vr.PEER].has(e.identHash);if((r||i)&&o)throw new me(`Package "${S.prettyIdent(t.project.configuration,e)}" is already listed as a regular dependency - remove the -D,-P flags or remove it from your dependencies first`);if(!r&&!i&&l)throw new me(`Package "${S.prettyIdent(t.project.configuration,e)}" is already listed as a peer dependency - use either of -D or -P, or remove it from your peer dependencies first`);if(s&&a)throw new me(`Package "${S.prettyIdent(t.project.configuration,e)}" is already listed as a dev dependency - remove the -O flag or remove it from your dev dependencies first`);if(s&&!i&&l)throw new me(`Package "${S.prettyIdent(t.project.configuration,e)}" is already listed as a peer dependency - remove the -O flag or add the -P flag or remove it from your peer dependencies first`);if((r||n)&&s)throw new me(`Package "${S.prettyIdent(t.project.configuration,e)}" cannot simultaneously be a dev dependency and an optional dependency`);return i?vr.PEER:r||n?vr.DEVELOPMENT:o?vr.REGULAR:a?vr.DEVELOPMENT:vr.REGULAR}var uC=class extends Be{constructor(){super(...arguments);this.verbose=Y.Boolean("-v,--verbose",!1,{description:"Print both the binary name and the locator of the package that provides the binary"});this.json=Y.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.name=Y.String({required:!1})}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins),{project:r,locator:i}=await Ke.find(e,this.context.cwd);if(await r.restoreInstallState(),this.name){let o=(await Kt.getPackageAccessibleBinaries(i,{project:r})).get(this.name);if(!o)throw new me(`Couldn't find a binary named "${this.name}" for package "${S.prettyLocator(e,i)}"`);let[,a]=o;return this.context.stdout.write(`${a} +`),0}return(await Fe.start({configuration:e,json:this.json,stdout:this.context.stdout},async s=>{let o=await Kt.getPackageAccessibleBinaries(i,{project:r}),l=Array.from(o.keys()).reduce((c,u)=>Math.max(c,u.length),0);for(let[c,[u,g]]of o)s.reportJson({name:c,source:S.stringifyIdent(u),path:g});if(this.verbose)for(let[c,[u]]of o)s.reportInfo(null,`${c.padEnd(l," ")} ${S.prettyLocator(e,u)}`);else for(let c of o.keys())s.reportInfo(null,c)})).exitCode()}};uC.paths=[["bin"]],uC.usage=ye.Usage({description:"get the path to a binary script",details:` + When used without arguments, this command will print the list of all the binaries available in the current workspace. Adding the \`-v,--verbose\` flag will cause the output to contain both the binary name and the locator of the package that provides the binary. + + When an argument is specified, this command will just print the path to the binary on the standard output and exit. Note that the reported path may be stored within a zip archive. + `,examples:[["List all the available binaries","$0 bin"],["Print the path to a specific binary","$0 bin eslint"]]});var noe=uC;var gC=class extends Be{constructor(){super(...arguments);this.mirror=Y.Boolean("--mirror",!1,{description:"Remove the global cache files instead of the local cache files"});this.all=Y.Boolean("--all",!1,{description:"Remove both the global cache files and the local cache files of the current project"})}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins),r=await Qt.find(e);return(await Fe.start({configuration:e,stdout:this.context.stdout},async()=>{let n=(this.all||this.mirror)&&r.mirrorCwd!==null,s=!this.mirror;n&&(await T.removePromise(r.mirrorCwd),await e.triggerHook(o=>o.cleanGlobalArtifacts,e)),s&&await T.removePromise(r.cwd)})).exitCode()}};gC.paths=[["cache","clean"],["cache","clear"]],gC.usage=ye.Usage({description:"remove the shared cache files",details:` + This command will remove all the files from the cache. + `,examples:[["Remove all the local archives","$0 cache clean"],["Remove all the archives stored in the ~/.yarn directory","$0 cache clean --mirror"]]});var soe=gC;var ooe=ie(p0()),KN=ie(require("util")),fC=class extends Be{constructor(){super(...arguments);this.json=Y.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.unsafe=Y.Boolean("--no-redacted",!1,{description:"Don't redact secrets (such as tokens) from the output"});this.name=Y.String()}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins),r=this.name.replace(/[.[].*$/,""),i=this.name.replace(/^[^.[]*/,"");if(typeof e.settings.get(r)=="undefined")throw new me(`Couldn't find a configuration settings named "${r}"`);let s=e.getSpecial(r,{hideSecrets:!this.unsafe,getNativePaths:!0}),o=de.convertMapsToIndexableObjects(s),a=i?(0,ooe.default)(o,i):o,l=await Fe.start({configuration:e,includeFooter:!1,json:this.json,stdout:this.context.stdout},async c=>{c.reportJson(a)});if(!this.json){if(typeof a=="string")return this.context.stdout.write(`${a} +`),l.exitCode();KN.inspect.styles.name="cyan",this.context.stdout.write(`${(0,KN.inspect)(a,{depth:Infinity,colors:e.get("enableColors"),compact:!1})} +`)}return l.exitCode()}};fC.paths=[["config","get"]],fC.usage=ye.Usage({description:"read a configuration settings",details:` + This command will print a configuration setting. + + Secrets (such as tokens) will be redacted from the output by default. If this behavior isn't desired, set the \`--no-redacted\` to get the untransformed value. + `,examples:[["Print a simple configuration setting","yarn config get yarnPath"],["Print a complex configuration setting","yarn config get packageExtensions"],["Print a nested field from the configuration",`yarn config get 'npmScopes["my-company"].npmRegistryServer'`],["Print a token from the configuration","yarn config get npmAuthToken --no-redacted"],["Print a configuration setting as JSON","yarn config get packageExtensions --json"]]});var aoe=fC;var Eae=ie(qN()),Iae=ie(p0()),yae=ie(mae()),JN=ie(require("util")),pC=class extends Be{constructor(){super(...arguments);this.json=Y.Boolean("--json",!1,{description:"Set complex configuration settings to JSON values"});this.home=Y.Boolean("-H,--home",!1,{description:"Update the home configuration instead of the project configuration"});this.name=Y.String();this.value=Y.String()}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins),r=()=>{if(!e.projectCwd)throw new me("This command must be run from within a project folder");return e.projectCwd},i=this.name.replace(/[.[].*$/,""),n=this.name.replace(/^[^.[]*\.?/,"");if(typeof e.settings.get(i)=="undefined")throw new me(`Couldn't find a configuration settings named "${i}"`);if(i==="enableStrictSettings")throw new me("This setting only affects the file it's in, and thus cannot be set from the CLI");let o=this.json?JSON.parse(this.value):this.value;await(this.home?h=>fe.updateHomeConfiguration(h):h=>fe.updateConfiguration(r(),h))(h=>{if(n){let p=(0,Eae.default)(h);return(0,yae.default)(p,this.name,o),p}else return _(P({},h),{[i]:o})});let c=(await fe.find(this.context.cwd,this.context.plugins)).getSpecial(i,{hideSecrets:!0,getNativePaths:!0}),u=de.convertMapsToIndexableObjects(c),g=n?(0,Iae.default)(u,n):u;return(await Fe.start({configuration:e,includeFooter:!1,stdout:this.context.stdout},async h=>{JN.inspect.styles.name="cyan",h.reportInfo(z.UNNAMED,`Successfully set ${this.name} to ${(0,JN.inspect)(g,{depth:Infinity,colors:e.get("enableColors"),compact:!1})}`)})).exitCode()}};pC.paths=[["config","set"]],pC.usage=ye.Usage({description:"change a configuration settings",details:` + This command will set a configuration setting. + + When used without the \`--json\` flag, it can only set a simple configuration setting (a string, a number, or a boolean). + + When used with the \`--json\` flag, it can set both simple and complex configuration settings, including Arrays and Objects. + `,examples:[["Set a simple configuration setting (a string, a number, or a boolean)","yarn config set initScope myScope"],["Set a simple configuration setting (a string, a number, or a boolean) using the `--json` flag",'yarn config set initScope --json \\"myScope\\"'],["Set a complex configuration setting (an Array) using the `--json` flag",`yarn config set unsafeHttpWhitelist --json '["*.example.com", "example.com"]'`],["Set a complex configuration setting (an Object) using the `--json` flag",`yarn config set packageExtensions --json '{ "@babel/parser@*": { "dependencies": { "@babel/types": "*" } } }'`],["Set a nested configuration setting",'yarn config set npmScopes.company.npmRegistryServer "https://npm.example.com"'],["Set a nested configuration setting using indexed access for non-simple keys",`yarn config set 'npmRegistries["//npm.example.com"].npmAuthToken' "ffffffff-ffff-ffff-ffff-ffffffffffff"`]]});var wae=pC;var Dae=ie(qN()),Rae=ie(Ld()),Fae=ie(Pae()),dC=class extends Be{constructor(){super(...arguments);this.home=Y.Boolean("-H,--home",!1,{description:"Update the home configuration instead of the project configuration"});this.name=Y.String()}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins),r=()=>{if(!e.projectCwd)throw new me("This command must be run from within a project folder");return e.projectCwd},i=this.name.replace(/[.[].*$/,""),n=this.name.replace(/^[^.[]*\.?/,"");if(typeof e.settings.get(i)=="undefined")throw new me(`Couldn't find a configuration settings named "${i}"`);let o=this.home?l=>fe.updateHomeConfiguration(l):l=>fe.updateConfiguration(r(),l);return(await Fe.start({configuration:e,includeFooter:!1,stdout:this.context.stdout},async l=>{let c=!1;await o(u=>{if(!(0,Rae.default)(u,this.name))return l.reportWarning(z.UNNAMED,`Configuration doesn't contain setting ${this.name}; there is nothing to unset`),c=!0,u;let g=n?(0,Dae.default)(u):P({},u);return(0,Fae.default)(g,this.name),g}),c||l.reportInfo(z.UNNAMED,`Successfully unset ${this.name}`)})).exitCode()}};dC.paths=[["config","unset"]],dC.usage=ye.Usage({description:"unset a configuration setting",details:` + This command will unset a configuration setting. + `,examples:[["Unset a simple configuration setting","yarn config unset initScope"],["Unset a complex configuration setting","yarn config unset packageExtensions"],["Unset a nested configuration setting","yarn config unset npmScopes.company.npmRegistryServer"]]});var Nae=dC;var WN=ie(require("util")),CC=class extends Be{constructor(){super(...arguments);this.verbose=Y.Boolean("-v,--verbose",!1,{description:"Print the setting description on top of the regular key/value information"});this.why=Y.Boolean("--why",!1,{description:"Print the reason why a setting is set a particular way"});this.json=Y.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins,{strict:!1});return(await Fe.start({configuration:e,json:this.json,stdout:this.context.stdout},async i=>{if(e.invalid.size>0&&!this.json){for(let[n,s]of e.invalid)i.reportError(z.INVALID_CONFIGURATION_KEY,`Invalid configuration key "${n}" in ${s}`);i.reportSeparator()}if(this.json){let n=de.sortMap(e.settings.keys(),s=>s);for(let s of n){let o=e.settings.get(s),a=e.getSpecial(s,{hideSecrets:!0,getNativePaths:!0}),l=e.sources.get(s);this.verbose?i.reportJson({key:s,effective:a,source:l}):i.reportJson(P({key:s,effective:a,source:l},o))}}else{let n=de.sortMap(e.settings.keys(),a=>a),s=n.reduce((a,l)=>Math.max(a,l.length),0),o={breakLength:Infinity,colors:e.get("enableColors"),maxArrayLength:2};if(this.why||this.verbose){let a=n.map(c=>{let u=e.settings.get(c);if(!u)throw new Error(`Assertion failed: This settings ("${c}") should have been registered`);let g=this.why?e.sources.get(c)||"":u.description;return[c,g]}),l=a.reduce((c,[,u])=>Math.max(c,u.length),0);for(let[c,u]of a)i.reportInfo(null,`${c.padEnd(s," ")} ${u.padEnd(l," ")} ${(0,WN.inspect)(e.getSpecial(c,{hideSecrets:!0,getNativePaths:!0}),o)}`)}else for(let a of n)i.reportInfo(null,`${a.padEnd(s," ")} ${(0,WN.inspect)(e.getSpecial(a,{hideSecrets:!0,getNativePaths:!0}),o)}`)}})).exitCode()}};CC.paths=[["config"]],CC.usage=ye.Usage({description:"display the current configuration",details:` + This command prints the current active configuration settings. + `,examples:[["Print the active configuration settings","$0 config"]]});var Lae=CC;Ss();var zN={};it(zN,{Strategy:()=>Oc,acceptedStrategies:()=>H4e,dedupe:()=>VN});var Tae=ie(Nn()),Oc;(function(e){e.HIGHEST="highest"})(Oc||(Oc={}));var H4e=new Set(Object.values(Oc)),G4e={highest:async(t,e,{resolver:r,fetcher:i,resolveOptions:n,fetchOptions:s})=>{let o=new Map;for(let[a,l]of t.storedResolutions){let c=t.storedDescriptors.get(a);if(typeof c=="undefined")throw new Error(`Assertion failed: The descriptor (${a}) should have been registered`);de.getSetWithDefault(o,c.identHash).add(l)}return Array.from(t.storedDescriptors.values(),async a=>{if(e.length&&!Tae.default.isMatch(S.stringifyIdent(a),e))return null;let l=t.storedResolutions.get(a.descriptorHash);if(typeof l=="undefined")throw new Error(`Assertion failed: The resolution (${a.descriptorHash}) should have been registered`);let c=t.originalPackages.get(l);if(typeof c=="undefined"||!r.shouldPersistResolution(c,n))return null;let u=o.get(a.identHash);if(typeof u=="undefined")throw new Error(`Assertion failed: The resolutions (${a.identHash}) should have been registered`);if(u.size===1)return null;let g=[...u].map(m=>{let I=t.originalPackages.get(m);if(typeof I=="undefined")throw new Error(`Assertion failed: The package (${m}) should have been registered`);return I.reference}),f=await r.getSatisfying(a,g,n),h=f==null?void 0:f[0];if(typeof h=="undefined")return null;let p=h.locatorHash,d=t.originalPackages.get(p);if(typeof d=="undefined")throw new Error(`Assertion failed: The package (${p}) should have been registered`);return p===l?null:{descriptor:a,currentPackage:c,updatedPackage:d}})}};async function VN(t,{strategy:e,patterns:r,cache:i,report:n}){let{configuration:s}=t,o=new ei,a=s.makeResolver(),l=s.makeFetcher(),c={cache:i,checksums:t.storedChecksums,fetcher:l,project:t,report:o,skipIntegrityCheck:!0,cacheOptions:{skipIntegrityCheck:!0}},u={project:t,resolver:a,report:o,fetchOptions:c};return await n.startTimerPromise("Deduplication step",async()=>{let f=await G4e[e](t,r,{resolver:a,resolveOptions:u,fetcher:l,fetchOptions:c}),h=Xi.progressViaCounter(f.length);n.reportProgress(h);let p=0;await Promise.all(f.map(I=>I.then(B=>{if(B===null)return;p++;let{descriptor:b,currentPackage:R,updatedPackage:H}=B;n.reportInfo(z.UNNAMED,`${S.prettyDescriptor(s,b)} can be deduped from ${S.prettyLocator(s,R)} to ${S.prettyLocator(s,H)}`),n.reportJson({descriptor:S.stringifyDescriptor(b),currentResolution:S.stringifyLocator(R),updatedResolution:S.stringifyLocator(H)}),t.storedResolutions.set(b.descriptorHash,H.locatorHash)}).finally(()=>h.tick())));let d;switch(p){case 0:d="No packages";break;case 1:d="One package";break;default:d=`${p} packages`}let m=ue.pretty(s,e,ue.Type.CODE);return n.reportInfo(z.UNNAMED,`${d} can be deduped using the ${m} strategy`),p})}var mC=class extends Be{constructor(){super(...arguments);this.strategy=Y.String("-s,--strategy",Oc.HIGHEST,{description:"The strategy to use when deduping dependencies",validator:Yi(Oc)});this.check=Y.Boolean("-c,--check",!1,{description:"Exit with exit code 1 when duplicates are found, without persisting the dependency tree"});this.json=Y.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.mode=Y.String("--mode",{description:"Change what artifacts installs generate",validator:Yi(li)});this.patterns=Y.Rest()}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins),{project:r}=await Ke.find(e,this.context.cwd),i=await Qt.find(e);await r.restoreInstallState({restoreResolutions:!1});let n=0,s=await Fe.start({configuration:e,includeFooter:!1,stdout:this.context.stdout,json:this.json},async o=>{n=await VN(r,{strategy:this.strategy,patterns:this.patterns,cache:i,report:o})});return s.hasErrors()?s.exitCode():this.check?n?1:0:(await Fe.start({configuration:e,stdout:this.context.stdout,json:this.json},async a=>{await r.install({cache:i,report:a,mode:this.mode})})).exitCode()}};mC.paths=[["dedupe"]],mC.usage=ye.Usage({description:"deduplicate dependencies with overlapping ranges",details:"\n Duplicates are defined as descriptors with overlapping ranges being resolved and locked to different locators. They are a natural consequence of Yarn's deterministic installs, but they can sometimes pile up and unnecessarily increase the size of your project.\n\n This command dedupes dependencies in the current project using different strategies (only one is implemented at the moment):\n\n - `highest`: Reuses (where possible) the locators with the highest versions. This means that dependencies can only be upgraded, never downgraded. It's also guaranteed that it never takes more than a single pass to dedupe the entire dependency tree.\n\n **Note:** Even though it never produces a wrong dependency tree, this command should be used with caution, as it modifies the dependency tree, which can sometimes cause problems when packages don't strictly follow semver recommendations. Because of this, it is recommended to also review the changes manually.\n\n If set, the `-c,--check` flag will only report the found duplicates, without persisting the modified dependency tree. If changes are found, the command will exit with a non-zero exit code, making it suitable for CI purposes.\n\n If the `--mode=` option is set, Yarn will change which artifacts are generated. The modes currently supported are:\n\n - `skip-build` will not run the build scripts at all. Note that this is different from setting `enableScripts` to false because the later will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run.\n\n - `update-lockfile` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost.\n\n This command accepts glob patterns as arguments (if valid Idents and supported by [micromatch](https://github.com/micromatch/micromatch)). Make sure to escape the patterns, to prevent your own shell from trying to expand them.\n\n ### In-depth explanation:\n\n Yarn doesn't deduplicate dependencies by default, otherwise installs wouldn't be deterministic and the lockfile would be useless. What it actually does is that it tries to not duplicate dependencies in the first place.\n\n **Example:** If `foo@^2.3.4` (a dependency of a dependency) has already been resolved to `foo@2.3.4`, running `yarn add foo@*`will cause Yarn to reuse `foo@2.3.4`, even if the latest `foo` is actually `foo@2.10.14`, thus preventing unnecessary duplication.\n\n Duplication happens when Yarn can't unlock dependencies that have already been locked inside the lockfile.\n\n **Example:** If `foo@^2.3.4` (a dependency of a dependency) has already been resolved to `foo@2.3.4`, running `yarn add foo@2.10.14` will cause Yarn to install `foo@2.10.14` because the existing resolution doesn't satisfy the range `2.10.14`. This behavior can lead to (sometimes) unwanted duplication, since now the lockfile contains 2 separate resolutions for the 2 `foo` descriptors, even though they have overlapping ranges, which means that the lockfile can be simplified so that both descriptors resolve to `foo@2.10.14`.\n ",examples:[["Dedupe all packages","$0 dedupe"],["Dedupe all packages using a specific strategy","$0 dedupe --strategy highest"],["Dedupe a specific package","$0 dedupe lodash"],["Dedupe all packages with the `@babel/*` scope","$0 dedupe '@babel/*'"],["Check for duplicates (can be used as a CI step)","$0 dedupe --check"]]});var Mae=mC;var Y0=class extends Be{async execute(){let{plugins:e}=await fe.find(this.context.cwd,this.context.plugins),r=[];for(let o of e){let{commands:a}=o[1];if(a){let c=oo.from(a).definitions();r.push([o[0],c])}}let i=this.cli.definitions(),n=(o,a)=>o.split(" ").slice(1).join()===a.split(" ").slice(1).join(),s=Kae()["@yarnpkg/builder"].bundles.standard;for(let o of r){let a=o[1];for(let l of a)i.find(c=>n(c.path,l.path)).plugin={name:o[0],isDefault:s.includes(o[0])}}this.context.stdout.write(`${JSON.stringify(i,null,2)} +`)}};Y0.paths=[["--clipanion=definitions"]];var Uae=Y0;var q0=class extends Be{async execute(){this.context.stdout.write(this.cli.usage(null))}};q0.paths=[["help"],["--help"],["-h"]];var Hae=q0;var _N=class extends Be{constructor(){super(...arguments);this.leadingArgument=Y.String();this.args=Y.Proxy()}async execute(){if(this.leadingArgument.match(/[\\/]/)&&!S.tryParseIdent(this.leadingArgument)){let e=v.resolve(this.context.cwd,M.toPortablePath(this.leadingArgument));return await this.cli.run(this.args,{cwd:e})}else return await this.cli.run(["run",this.leadingArgument,...this.args])}},Gae=_N;var J0=class extends Be{async execute(){this.context.stdout.write(`${Zr||""} +`)}};J0.paths=[["-v"],["--version"]];var jae=J0;var EC=class extends Be{constructor(){super(...arguments);this.commandName=Y.String();this.args=Y.Proxy()}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins),{project:r,locator:i}=await Ke.find(e,this.context.cwd);return await r.restoreInstallState(),await Kt.executePackageShellcode(i,this.commandName,this.args,{cwd:this.context.cwd,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr,project:r})}};EC.paths=[["exec"]],EC.usage=ye.Usage({description:"execute a shell script",details:` + This command simply executes a shell script within the context of the root directory of the active workspace using the portable shell. + + It also makes sure to call it in a way that's compatible with the current project (for example, on PnP projects the environment will be setup in such a way that PnP will be correctly injected into the environment). + `,examples:[["Execute a single shell command","$0 exec echo Hello World"],["Execute a shell script",'$0 exec "tsc & babel src --out-dir lib"']]});var Yae=EC;Ss();var IC=class extends Be{constructor(){super(...arguments);this.hash=Y.String({required:!1,validator:fv(gv(),[hv(/^p[0-9a-f]{5}$/)])})}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins),{project:r}=await Ke.find(e,this.context.cwd);return await r.restoreInstallState({restoreResolutions:!1}),await r.applyLightResolution(),typeof this.hash!="undefined"?await j4e(this.hash,r,{stdout:this.context.stdout}):(await Fe.start({configuration:e,stdout:this.context.stdout,includeFooter:!1},async n=>{var o;let s=[([,a])=>S.stringifyLocator(r.storedPackages.get(a.subject)),([,a])=>S.stringifyIdent(a.requested)];for(let[a,l]of de.sortMap(r.peerRequirements,s)){let c=r.storedPackages.get(l.subject);if(typeof c=="undefined")throw new Error("Assertion failed: Expected the subject package to have been registered");let u=r.storedPackages.get(l.rootRequester);if(typeof u=="undefined")throw new Error("Assertion failed: Expected the root package to have been registered");let g=(o=c.dependencies.get(l.requested.identHash))!=null?o:null,f=ue.pretty(e,a,ue.Type.CODE),h=S.prettyLocator(e,c),p=S.prettyIdent(e,l.requested),d=S.prettyIdent(e,u),m=l.allRequesters.length-1,I=`descendant${m===1?"":"s"}`,B=m>0?` and ${m} ${I}`:"",b=g!==null?"provides":"doesn't provide";n.reportInfo(null,`${f} \u2192 ${h} ${b} ${p} to ${d}${B}`)}})).exitCode()}};IC.paths=[["explain","peer-requirements"]],IC.usage=ye.Usage({description:"explain a set of peer requirements",details:` + A set of peer requirements represents all peer requirements that a dependent must satisfy when providing a given peer request to a requester and its descendants. + + When the hash argument is specified, this command prints a detailed explanation of all requirements of the set corresponding to the hash and whether they're satisfied or not. + + When used without arguments, this command lists all sets of peer requirements and the corresponding hash that can be used to get detailed information about a given set. + + **Note:** A hash is a six-letter p-prefixed code that can be obtained from peer dependency warnings or from the list of all peer requirements (\`yarn explain peer-requirements\`). + `,examples:[["Explain the corresponding set of peer requirements for a hash","$0 explain peer-requirements p1a4ed"],["List all sets of peer requirements","$0 explain peer-requirements"]]});var qae=IC;async function j4e(t,e,r){let{configuration:i}=e,n=e.peerRequirements.get(t);if(typeof n=="undefined")throw new Error(`No peerDependency requirements found for hash: "${t}"`);return(await Fe.start({configuration:i,stdout:r.stdout,includeFooter:!1},async o=>{var I,B;let a=e.storedPackages.get(n.subject);if(typeof a=="undefined")throw new Error("Assertion failed: Expected the subject package to have been registered");let l=e.storedPackages.get(n.rootRequester);if(typeof l=="undefined")throw new Error("Assertion failed: Expected the root package to have been registered");let c=(I=a.dependencies.get(n.requested.identHash))!=null?I:null,u=c!==null?e.storedResolutions.get(c.descriptorHash):null;if(typeof u=="undefined")throw new Error("Assertion failed: Expected the resolution to have been registered");let g=u!==null?e.storedPackages.get(u):null;if(typeof g=="undefined")throw new Error("Assertion failed: Expected the provided package to have been registered");let f=[...n.allRequesters.values()].map(b=>{let R=e.storedPackages.get(b);if(typeof R=="undefined")throw new Error("Assertion failed: Expected the package to be registered");let H=S.devirtualizeLocator(R),L=e.storedPackages.get(H.locatorHash);if(typeof L=="undefined")throw new Error("Assertion failed: Expected the package to be registered");let K=L.peerDependencies.get(n.requested.identHash);if(typeof K=="undefined")throw new Error("Assertion failed: Expected the peer dependency to be registered");return{pkg:R,peerDependency:K}});if(g!==null){let b=f.every(({peerDependency:R})=>qt.satisfiesWithPrereleases(g.version,R.range));o.reportInfo(z.UNNAMED,`${S.prettyLocator(i,a)} provides ${S.prettyLocator(i,g)} with version ${S.prettyReference(i,(B=g.version)!=null?B:"")}, which ${b?"satisfies":"doesn't satisfy"} the following requirements:`)}else o.reportInfo(z.UNNAMED,`${S.prettyLocator(i,a)} doesn't provide ${S.prettyIdent(i,n.requested)}, breaking the following requirements:`);o.reportSeparator();let h=ue.mark(i),p=[];for(let{pkg:b,peerDependency:R}of de.sortMap(f,H=>S.stringifyLocator(H.pkg))){let L=(g!==null?qt.satisfiesWithPrereleases(g.version,R.range):!1)?h.Check:h.Cross;p.push({stringifiedLocator:S.stringifyLocator(b),prettyLocator:S.prettyLocator(i,b),prettyRange:S.prettyRange(i,R.range),mark:L})}let d=Math.max(...p.map(({stringifiedLocator:b})=>b.length)),m=Math.max(...p.map(({prettyRange:b})=>b.length));for(let{stringifiedLocator:b,prettyLocator:R,prettyRange:H,mark:L}of de.sortMap(p,({stringifiedLocator:K})=>K))o.reportInfo(null,`${R.padEnd(d+(R.length-b.length)," ")} \u2192 ${H.padEnd(m," ")} ${L}`);p.length>1&&(o.reportSeparator(),o.reportInfo(z.UNNAMED,`Note: these requirements start with ${S.prettyLocator(e.configuration,l)}`))})).exitCode()}var Jae=ie(Nn()),yC=class extends Be{constructor(){super(...arguments);this.all=Y.Boolean("-A,--all",!1,{description:"Print versions of a package from the whole project"});this.recursive=Y.Boolean("-R,--recursive",!1,{description:"Print information for all packages, including transitive dependencies"});this.extra=Y.Array("-X,--extra",[],{description:"An array of requests of extra data provided by plugins"});this.cache=Y.Boolean("--cache",!1,{description:"Print information about the cache entry of a package (path, size, checksum)"});this.dependents=Y.Boolean("--dependents",!1,{description:"Print all dependents for each matching package"});this.manifest=Y.Boolean("--manifest",!1,{description:"Print data obtained by looking at the package archive (license, homepage, ...)"});this.nameOnly=Y.Boolean("--name-only",!1,{description:"Only print the name for the matching packages"});this.virtuals=Y.Boolean("--virtuals",!1,{description:"Print each instance of the virtual packages"});this.json=Y.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.patterns=Y.Rest()}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Ke.find(e,this.context.cwd),n=await Qt.find(e);if(!i&&!this.all)throw new rt(r.cwd,this.context.cwd);await r.restoreInstallState();let s=new Set(this.extra);this.cache&&s.add("cache"),this.dependents&&s.add("dependents"),this.manifest&&s.add("manifest");let o=(b,{recursive:R})=>{let H=b.anchoredLocator.locatorHash,L=new Map,K=[H];for(;K.length>0;){let J=K.shift();if(L.has(J))continue;let ne=r.storedPackages.get(J);if(typeof ne=="undefined")throw new Error("Assertion failed: Expected the package to be registered");if(L.set(J,ne),S.isVirtualLocator(ne)&&K.push(S.devirtualizeLocator(ne).locatorHash),!(!R&&J!==H))for(let q of ne.dependencies.values()){let A=r.storedResolutions.get(q.descriptorHash);if(typeof A=="undefined")throw new Error("Assertion failed: Expected the resolution to be registered");K.push(A)}}return L.values()},a=({recursive:b})=>{let R=new Map;for(let H of r.workspaces)for(let L of o(H,{recursive:b}))R.set(L.locatorHash,L);return R.values()},l=({all:b,recursive:R})=>b&&R?r.storedPackages.values():b?a({recursive:R}):o(i,{recursive:R}),c=({all:b,recursive:R})=>{let H=l({all:b,recursive:R}),L=this.patterns.map(ne=>{let q=S.parseLocator(ne),A=Jae.default.makeRe(S.stringifyIdent(q)),V=S.isVirtualLocator(q),W=V?S.devirtualizeLocator(q):q;return X=>{let F=S.stringifyIdent(X);if(!A.test(F))return!1;if(q.reference==="unknown")return!0;let D=S.isVirtualLocator(X),he=D?S.devirtualizeLocator(X):X;return!(V&&D&&q.reference!==X.reference||W.reference!==he.reference)}}),K=de.sortMap([...H],ne=>S.stringifyLocator(ne));return{selection:K.filter(ne=>L.length===0||L.some(q=>q(ne))),sortedLookup:K}},{selection:u,sortedLookup:g}=c({all:this.all,recursive:this.recursive});if(u.length===0)throw new me("No package matched your request");let f=new Map;if(this.dependents)for(let b of g)for(let R of b.dependencies.values()){let H=r.storedResolutions.get(R.descriptorHash);if(typeof H=="undefined")throw new Error("Assertion failed: Expected the resolution to be registered");de.getArrayWithDefault(f,H).push(b)}let h=new Map;for(let b of g){if(!S.isVirtualLocator(b))continue;let R=S.devirtualizeLocator(b);de.getArrayWithDefault(h,R.locatorHash).push(b)}let p={},d={children:p},m=e.makeFetcher(),I={project:r,fetcher:m,cache:n,checksums:r.storedChecksums,report:new ei,cacheOptions:{skipIntegrityCheck:!0},skipIntegrityCheck:!0},B=[async(b,R,H)=>{var J,ne;if(!R.has("manifest"))return;let L=await m.fetch(b,I),K;try{K=await Ze.find(L.prefixPath,{baseFs:L.packageFs})}finally{(J=L.releaseFs)==null||J.call(L)}H("Manifest",{License:ue.tuple(ue.Type.NO_HINT,K.license),Homepage:ue.tuple(ue.Type.URL,(ne=K.raw.homepage)!=null?ne:null)})},async(b,R,H)=>{var A;if(!R.has("cache"))return;let L={mockedPackages:r.disabledLocators,unstablePackages:r.conditionalLocators},K=(A=r.storedChecksums.get(b.locatorHash))!=null?A:null,J=n.getLocatorPath(b,K,L),ne;if(J!==null)try{ne=T.statSync(J)}catch{}let q=typeof ne!="undefined"?[ne.size,ue.Type.SIZE]:void 0;H("Cache",{Checksum:ue.tuple(ue.Type.NO_HINT,K),Path:ue.tuple(ue.Type.PATH,J),Size:q})}];for(let b of u){let R=S.isVirtualLocator(b);if(!this.virtuals&&R)continue;let H={},L={value:[b,ue.Type.LOCATOR],children:H};if(p[S.stringifyLocator(b)]=L,this.nameOnly){delete L.children;continue}let K=h.get(b.locatorHash);typeof K!="undefined"&&(H.Instances={label:"Instances",value:ue.tuple(ue.Type.NUMBER,K.length)}),H.Version={label:"Version",value:ue.tuple(ue.Type.NO_HINT,b.version)};let J=(q,A)=>{let V={};if(H[q]=V,Array.isArray(A))V.children=A.map(W=>({value:W}));else{let W={};V.children=W;for(let[X,F]of Object.entries(A))typeof F!="undefined"&&(W[X]={label:X,value:F})}};if(!R){for(let q of B)await q(b,s,J);await e.triggerHook(q=>q.fetchPackageInfo,b,s,J)}b.bin.size>0&&!R&&J("Exported Binaries",[...b.bin.keys()].map(q=>ue.tuple(ue.Type.PATH,q)));let ne=f.get(b.locatorHash);typeof ne!="undefined"&&ne.length>0&&J("Dependents",ne.map(q=>ue.tuple(ue.Type.LOCATOR,q))),b.dependencies.size>0&&!R&&J("Dependencies",[...b.dependencies.values()].map(q=>{var W;let A=r.storedResolutions.get(q.descriptorHash),V=typeof A!="undefined"&&(W=r.storedPackages.get(A))!=null?W:null;return ue.tuple(ue.Type.RESOLUTION,{descriptor:q,locator:V})})),b.peerDependencies.size>0&&R&&J("Peer dependencies",[...b.peerDependencies.values()].map(q=>{var X,F;let A=b.dependencies.get(q.identHash),V=typeof A!="undefined"&&(X=r.storedResolutions.get(A.descriptorHash))!=null?X:null,W=V!==null&&(F=r.storedPackages.get(V))!=null?F:null;return ue.tuple(ue.Type.RESOLUTION,{descriptor:q,locator:W})}))}Hs.emitTree(d,{configuration:e,json:this.json,stdout:this.context.stdout,separators:this.nameOnly?0:2})}};yC.paths=[["info"]],yC.usage=ye.Usage({description:"see information related to packages",details:"\n This command prints various information related to the specified packages, accepting glob patterns.\n\n By default, if the locator reference is missing, Yarn will default to print the information about all the matching direct dependencies of the package for the active workspace. To instead print all versions of the package that are direct dependencies of any of your workspaces, use the `-A,--all` flag. Adding the `-R,--recursive` flag will also report transitive dependencies.\n\n Some fields will be hidden by default in order to keep the output readable, but can be selectively displayed by using additional options (`--dependents`, `--manifest`, `--virtuals`, ...) described in the option descriptions.\n\n Note that this command will only print the information directly related to the selected packages - if you wish to know why the package is there in the first place, use `yarn why` which will do just that (it also provides a `-R,--recursive` flag that may be of some help).\n ",examples:[["Show information about Lodash","$0 info lodash"]]});var Wae=yC;var W0=ie(ml());Ss();var wC=class extends Be{constructor(){super(...arguments);this.json=Y.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.immutable=Y.Boolean("--immutable",{description:"Abort with an error exit code if the lockfile was to be modified"});this.immutableCache=Y.Boolean("--immutable-cache",{description:"Abort with an error exit code if the cache folder was to be modified"});this.checkCache=Y.Boolean("--check-cache",!1,{description:"Always refetch the packages and ensure that their checksums are consistent"});this.inlineBuilds=Y.Boolean("--inline-builds",{description:"Verbosely print the output of the build steps of dependencies"});this.mode=Y.String("--mode",{description:"Change what artifacts installs generate",validator:Yi(li)});this.cacheFolder=Y.String("--cache-folder",{hidden:!0});this.frozenLockfile=Y.Boolean("--frozen-lockfile",{hidden:!0});this.ignoreEngines=Y.Boolean("--ignore-engines",{hidden:!0});this.nonInteractive=Y.Boolean("--non-interactive",{hidden:!0});this.preferOffline=Y.Boolean("--prefer-offline",{hidden:!0});this.production=Y.Boolean("--production",{hidden:!0});this.registry=Y.String("--registry",{hidden:!0});this.silent=Y.Boolean("--silent",{hidden:!0});this.networkTimeout=Y.String("--network-timeout",{hidden:!0})}async execute(){var c;let e=await fe.find(this.context.cwd,this.context.plugins);typeof this.inlineBuilds!="undefined"&&e.useWithSource("",{enableInlineBuilds:this.inlineBuilds},e.startingCwd,{overwrite:!0});let r=!!process.env.FUNCTION_TARGET||!!process.env.GOOGLE_RUNTIME,i=async(u,{error:g})=>{let f=await Fe.start({configuration:e,stdout:this.context.stdout,includeFooter:!1},async h=>{g?h.reportError(z.DEPRECATED_CLI_SETTINGS,u):h.reportWarning(z.DEPRECATED_CLI_SETTINGS,u)});return f.hasErrors()?f.exitCode():null};if(typeof this.ignoreEngines!="undefined"){let u=await i("The --ignore-engines option is deprecated; engine checking isn't a core feature anymore",{error:!W0.default.VERCEL});if(u!==null)return u}if(typeof this.registry!="undefined"){let u=await i("The --registry option is deprecated; prefer setting npmRegistryServer in your .yarnrc.yml file",{error:!1});if(u!==null)return u}if(typeof this.preferOffline!="undefined"){let u=await i("The --prefer-offline flag is deprecated; use the --cached flag with 'yarn add' instead",{error:!W0.default.VERCEL});if(u!==null)return u}if(typeof this.production!="undefined"){let u=await i("The --production option is deprecated on 'install'; use 'yarn workspaces focus' instead",{error:!0});if(u!==null)return u}if(typeof this.nonInteractive!="undefined"){let u=await i("The --non-interactive option is deprecated",{error:!r});if(u!==null)return u}if(typeof this.frozenLockfile!="undefined"&&(await i("The --frozen-lockfile option is deprecated; use --immutable and/or --immutable-cache instead",{error:!1}),this.immutable=this.frozenLockfile),typeof this.cacheFolder!="undefined"){let u=await i("The cache-folder option has been deprecated; use rc settings instead",{error:!W0.default.NETLIFY});if(u!==null)return u}let n=(c=this.immutable)!=null?c:e.get("enableImmutableInstalls");if(e.projectCwd!==null){let u=await Fe.start({configuration:e,json:this.json,stdout:this.context.stdout,includeFooter:!1},async g=>{await Y4e(e,n)&&(g.reportInfo(z.AUTOMERGE_SUCCESS,"Automatically fixed merge conflicts \u{1F44D}"),g.reportSeparator())});if(u.hasErrors())return u.exitCode()}if(e.projectCwd!==null&&typeof e.sources.get("nodeLinker")=="undefined"){let u=e.projectCwd,g;try{g=await T.readFilePromise(v.join(u,wt.lockfile),"utf8")}catch{}if(g==null?void 0:g.includes("yarn lockfile v1")){let f=await Fe.start({configuration:e,json:this.json,stdout:this.context.stdout,includeFooter:!1},async h=>{h.reportInfo(z.AUTO_NM_SUCCESS,"Migrating from Yarn 1; automatically enabling the compatibility node-modules linker \u{1F44D}"),h.reportSeparator(),e.use("",{nodeLinker:"node-modules"},u,{overwrite:!0}),await fe.updateConfiguration(u,{nodeLinker:"node-modules"})});if(f.hasErrors())return f.exitCode()}}if(e.projectCwd!==null){let u=await Fe.start({configuration:e,json:this.json,stdout:this.context.stdout,includeFooter:!1},async g=>{var f;((f=fe.telemetry)==null?void 0:f.isNew)&&(g.reportInfo(z.TELEMETRY_NOTICE,"Yarn will periodically gather anonymous telemetry: https://yarnpkg.com/advanced/telemetry"),g.reportInfo(z.TELEMETRY_NOTICE,`Run ${ue.pretty(e,"yarn config set --home enableTelemetry 0",ue.Type.CODE)} to disable`),g.reportSeparator())});if(u.hasErrors())return u.exitCode()}let{project:s,workspace:o}=await Ke.find(e,this.context.cwd),a=await Qt.find(e,{immutable:this.immutableCache,check:this.checkCache});if(!o)throw new rt(s.cwd,this.context.cwd);return await s.restoreInstallState({restoreResolutions:!1}),(await Fe.start({configuration:e,json:this.json,stdout:this.context.stdout,includeLogs:!0},async u=>{await s.install({cache:a,report:u,immutable:n,mode:this.mode})})).exitCode()}};wC.paths=[["install"],ye.Default],wC.usage=ye.Usage({description:"install the project dependencies",details:` + This command sets up your project if needed. The installation is split into four different steps that each have their own characteristics: + + - **Resolution:** First the package manager will resolve your dependencies. The exact way a dependency version is privileged over another isn't standardized outside of the regular semver guarantees. If a package doesn't resolve to what you would expect, check that all dependencies are correctly declared (also check our website for more information: ). + + - **Fetch:** Then we download all the dependencies if needed, and make sure that they're all stored within our cache (check the value of \`cacheFolder\` in \`yarn config\` to see where the cache files are stored). + + - **Link:** Then we send the dependency tree information to internal plugins tasked with writing them on the disk in some form (for example by generating the .pnp.cjs file you might know). + + - **Build:** Once the dependency tree has been written on the disk, the package manager will now be free to run the build scripts for all packages that might need it, in a topological order compatible with the way they depend on one another. See https://yarnpkg.com/advanced/lifecycle-scripts for detail. + + Note that running this command is not part of the recommended workflow. Yarn supports zero-installs, which means that as long as you store your cache and your .pnp.cjs file inside your repository, everything will work without requiring any install right after cloning your repository or switching branches. + + If the \`--immutable\` option is set (defaults to true on CI), Yarn will abort with an error exit code if the lockfile was to be modified (other paths can be added using the \`immutablePatterns\` configuration setting). For backward compatibility we offer an alias under the name of \`--frozen-lockfile\`, but it will be removed in a later release. + + If the \`--immutable-cache\` option is set, Yarn will abort with an error exit code if the cache folder was to be modified (either because files would be added, or because they'd be removed). + + If the \`--check-cache\` option is set, Yarn will always refetch the packages and will ensure that their checksum matches what's 1/ described in the lockfile 2/ inside the existing cache files (if present). This is recommended as part of your CI workflow if you're both following the Zero-Installs model and accepting PRs from third-parties, as they'd otherwise have the ability to alter the checked-in packages before submitting them. + + If the \`--inline-builds\` option is set, Yarn will verbosely print the output of the build steps of your dependencies (instead of writing them into individual files). This is likely useful mostly for debug purposes only when using Docker-like environments. + + If the \`--mode=\` option is set, Yarn will change which artifacts are generated. The modes currently supported are: + + - \`skip-build\` will not run the build scripts at all. Note that this is different from setting \`enableScripts\` to false because the later will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run. + + - \`update-lockfile\` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost. + `,examples:[["Install the project","$0 install"],["Validate a project when using Zero-Installs","$0 install --immutable --immutable-cache"],["Validate a project when using Zero-Installs (slightly safer if you accept external PRs)","$0 install --immutable --immutable-cache --check-cache"]]});var zae=wC,q4e="|||||||",J4e=">>>>>>>",W4e="=======",Vae="<<<<<<<";async function Y4e(t,e){if(!t.projectCwd)return!1;let r=v.join(t.projectCwd,t.get("lockfileFilename"));if(!await T.existsPromise(r))return!1;let i=await T.readFilePromise(r,"utf8");if(!i.includes(Vae))return!1;if(e)throw new nt(z.AUTOMERGE_IMMUTABLE,"Cannot autofix a lockfile when running an immutable install");let[n,s]=z4e(i),o,a;try{o=Ii(n),a=Ii(s)}catch(c){throw new nt(z.AUTOMERGE_FAILED_TO_PARSE,"The individual variants of the lockfile failed to parse")}let l=P(P({},o),a);for(let[c,u]of Object.entries(l))typeof u=="string"&&delete l[c];return await T.changeFilePromise(r,Qa(l),{automaticNewlines:!0}),!0}function z4e(t){let e=[[],[]],r=t.split(/\r?\n/g),i=!1;for(;r.length>0;){let n=r.shift();if(typeof n=="undefined")throw new Error("Assertion failed: Some lines should remain");if(n.startsWith(Vae)){for(;r.length>0;){let s=r.shift();if(typeof s=="undefined")throw new Error("Assertion failed: Some lines should remain");if(s===W4e){i=!1;break}else if(i||s.startsWith(q4e)){i=!0;continue}else e[0].push(s)}for(;r.length>0;){let s=r.shift();if(typeof s=="undefined")throw new Error("Assertion failed: Some lines should remain");if(s.startsWith(J4e))break;e[1].push(s)}}else e[0].push(n),e[1].push(n)}return[e[0].join(` +`),e[1].join(` +`)]}var BC=class extends Be{constructor(){super(...arguments);this.all=Y.Boolean("-A,--all",!1,{description:"Link all workspaces belonging to the target project to the current one"});this.private=Y.Boolean("-p,--private",!1,{description:"Also link private workspaces belonging to the target project to the current one"});this.relative=Y.Boolean("-r,--relative",!1,{description:"Link workspaces using relative paths instead of absolute paths"});this.destination=Y.String()}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Ke.find(e,this.context.cwd),n=await Qt.find(e);if(!i)throw new rt(r.cwd,this.context.cwd);await r.restoreInstallState({restoreResolutions:!1});let s=v.resolve(this.context.cwd,M.toPortablePath(this.destination)),o=await fe.find(s,this.context.plugins,{useRc:!1,strict:!1}),{project:a,workspace:l}=await Ke.find(o,s);if(r.cwd===a.cwd)throw new me("Invalid destination; Can't link the project to itself");if(!l)throw new rt(a.cwd,s);let c=r.topLevelWorkspace,u=[];if(this.all){for(let f of a.workspaces)f.manifest.name&&(!f.manifest.private||this.private)&&u.push(f);if(u.length===0)throw new me("No workspace found to be linked in the target project")}else{if(!l.manifest.name)throw new me("The target workspace doesn't have a name and thus cannot be linked");if(l.manifest.private&&!this.private)throw new me("The target workspace is marked private - use the --private flag to link it anyway");u.push(l)}for(let f of u){let h=S.stringifyIdent(f.locator),p=this.relative?v.relative(r.cwd,f.cwd):f.cwd;c.manifest.resolutions.push({pattern:{descriptor:{fullName:h}},reference:`portal:${p}`})}return(await Fe.start({configuration:e,stdout:this.context.stdout},async f=>{await r.install({cache:n,report:f})})).exitCode()}};BC.paths=[["link"]],BC.usage=ye.Usage({description:"connect the local project to another one",details:"\n This command will set a new `resolutions` field in the project-level manifest and point it to the workspace at the specified location (even if part of another project).\n ",examples:[["Register a remote workspace for use in the current project","$0 link ~/ts-loader"],["Register all workspaces from a remote project for use in the current project","$0 link ~/jest --all"]]});var _ae=BC;var QC=class extends Be{constructor(){super(...arguments);this.args=Y.Proxy()}async execute(){return this.cli.run(["exec","node",...this.args])}};QC.paths=[["node"]],QC.usage=ye.Usage({description:"run node with the hook already setup",details:` + This command simply runs Node. It also makes sure to call it in a way that's compatible with the current project (for example, on PnP projects the environment will be setup in such a way that PnP will be correctly injected into the environment). + + The Node process will use the exact same version of Node as the one used to run Yarn itself, which might be a good way to ensure that your commands always use a consistent Node version. + `,examples:[["Run a Node script","$0 node ./my-script.js"]]});var Xae=QC;var lAe=ie(require("os"));var rAe=ie(require("os"));var V4e="https://raw.githubusercontent.com/yarnpkg/berry/master/plugins.yml";async function Kc(t){let e=await Zt.get(V4e,{configuration:t});return Ii(e.toString())}var bC=class extends Be{constructor(){super(...arguments);this.json=Y.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins);return(await Fe.start({configuration:e,json:this.json,stdout:this.context.stdout},async i=>{let n=await Kc(e);for(let s of Object.entries(n)){let[l,o]=s,a=o,{experimental:c}=a,u=qr(a,["experimental"]);let g=l;c&&(g+=" [experimental]"),i.reportJson(P({name:l,experimental:c},u)),i.reportInfo(null,g)}})).exitCode()}};bC.paths=[["plugin","list"]],bC.usage=ye.Usage({category:"Plugin-related commands",description:"list the available official plugins",details:"\n This command prints the plugins available directly from the Yarn repository. Only those plugins can be referenced by name in `yarn plugin import`.\n ",examples:[["List the official plugins","$0 plugin list"]]});var Zae=bC;var $ae=ie(Or()),vC=class extends Be{constructor(){super(...arguments);this.onlyIfNeeded=Y.Boolean("--only-if-needed",!1,{description:"Only lock the Yarn version if it isn't already locked"});this.version=Y.String()}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins);if(e.get("yarnPath")&&this.onlyIfNeeded)return 0;let r=()=>{if(typeof Zr=="undefined")throw new me("The --install flag can only be used without explicit version specifier from the Yarn CLI");return`file://${process.argv[1]}`},i;if(this.version==="self")i=r();else if(this.version==="latest"||this.version==="berry"||this.version==="stable")i=`https://repo.yarnpkg.com/${await eAe(e,"stable")}/packages/yarnpkg-cli/bin/yarn.js`;else if(this.version==="canary")i=`https://repo.yarnpkg.com/${await eAe(e,"canary")}/packages/yarnpkg-cli/bin/yarn.js`;else if(this.version==="classic")i="https://nightly.yarnpkg.com/latest.js";else if(this.version.match(/^\.{0,2}[\\/]/)||M.isAbsolute(this.version))i=`file://${M.resolve(this.version)}`;else if(qt.satisfiesWithPrereleases(this.version,">=2.0.0"))i=`https://repo.yarnpkg.com/${this.version}/packages/yarnpkg-cli/bin/yarn.js`;else if(qt.satisfiesWithPrereleases(this.version,"^0.x || ^1.x"))i=`https://github.com/yarnpkg/yarn/releases/download/v${this.version}/yarn-${this.version}.js`;else if(qt.validRange(this.version))i=`https://repo.yarnpkg.com/${await _4e(e,this.version)}/packages/yarnpkg-cli/bin/yarn.js`;else throw new me(`Invalid version descriptor "${this.version}"`);return(await Fe.start({configuration:e,stdout:this.context.stdout,includeLogs:!this.context.quiet},async s=>{let o="file://",a;i.startsWith(o)?(s.reportInfo(z.UNNAMED,`Downloading ${ue.pretty(e,i,ps.URL)}`),a=await T.readFilePromise(M.toPortablePath(i.slice(o.length)))):(s.reportInfo(z.UNNAMED,`Retrieving ${ue.pretty(e,i,ps.PATH)}`),a=await Zt.get(i,{configuration:e})),await XN(e,null,a,{report:s})})).exitCode()}};vC.paths=[["set","version"]],vC.usage=ye.Usage({description:"lock the Yarn version used by the project",details:"\n This command will download a specific release of Yarn directly from the Yarn GitHub repository, will store it inside your project, and will change the `yarnPath` settings from your project `.yarnrc.yml` file to point to the new file.\n\n A very good use case for this command is to enforce the version of Yarn used by the any single member of your team inside a same project - by doing this you ensure that you have control on Yarn upgrades and downgrades (including on your deployment servers), and get rid of most of the headaches related to someone using a slightly different version and getting a different behavior than you.\n\n The version specifier can be:\n\n - a tag:\n - `latest` / `berry` / `stable` -> the most recent stable berry (`>=2.0.0`) release\n - `canary` -> the most recent canary (release candidate) berry (`>=2.0.0`) release\n - `classic` -> the most recent classic (`^0.x || ^1.x`) release\n\n - a semver range (e.g. `2.x`) -> the most recent version satisfying the range (limited to berry releases)\n\n - a semver version (e.g. `2.4.1`, `1.22.1`)\n\n - a local file referenced through either a relative or absolute path\n\n - `self` -> the version used to invoke the command\n ",examples:[["Download the latest release from the Yarn repository","$0 set version latest"],["Download the latest canary release from the Yarn repository","$0 set version canary"],["Download the latest classic release from the Yarn repository","$0 set version classic"],["Download the most recent Yarn 3 build","$0 set version 3.x"],["Download a specific Yarn 2 build","$0 set version 2.0.0-rc.30"],["Switch back to a specific Yarn 1 release","$0 set version 1.22.1"],["Use a release from the local filesystem","$0 set version ./yarn.cjs"],["Download the version used to invoke the command","$0 set version self"]]});var tAe=vC;async function _4e(t,e){let i=(await Zt.get("https://repo.yarnpkg.com/tags",{configuration:t,jsonResponse:!0})).tags.filter(n=>qt.satisfiesWithPrereleases(n,e));if(i.length===0)throw new me(`No matching release found for range ${ue.pretty(t,e,ue.Type.RANGE)}.`);return i[0]}async function eAe(t,e){let r=await Zt.get("https://repo.yarnpkg.com/tags",{configuration:t,jsonResponse:!0});if(!r.latest[e])throw new me(`Tag ${ue.pretty(t,e,ue.Type.RANGE)} not found`);return r.latest[e]}async function XN(t,e,r,{report:i}){var g;e===null&&await T.mktempPromise(async f=>{let h=v.join(f,"yarn.cjs");await T.writeFilePromise(h,r);let{stdout:p}=await hr.execvp(process.execPath,[M.fromPortablePath(h),"--version"],{cwd:f,env:_(P({},process.env),{YARN_IGNORE_PATH:"1"})});if(e=p.trim(),!$ae.default.valid(e))throw new Error(`Invalid semver version. ${ue.pretty(t,"yarn --version",ue.Type.CODE)} returned: +${e}`)});let n=(g=t.projectCwd)!=null?g:t.startingCwd,s=v.resolve(n,".yarn/releases"),o=v.resolve(s,`yarn-${e}.cjs`),a=v.relative(t.startingCwd,o),l=v.relative(n,o),c=t.get("yarnPath"),u=c===null||c.startsWith(`${s}/`);if(i.reportInfo(z.UNNAMED,`Saving the new release in ${ue.pretty(t,a,"magenta")}`),await T.removePromise(v.dirname(o)),await T.mkdirPromise(v.dirname(o),{recursive:!0}),await T.writeFilePromise(o,r,{mode:493}),u){await fe.updateConfiguration(n,{yarnPath:l});let f=await Ze.tryFind(n)||new Ze;e&&de.isTaggedYarnVersion(e)&&(f.packageManager=`yarn@${e}`);let h={};f.exportTo(h);let p=v.join(n,Ze.fileName),d=`${JSON.stringify(h,null,f.indent)} +`;await T.changeFilePromise(p,d,{automaticNewlines:!0})}}var X4e=/^[0-9]+$/;function iAe(t){return X4e.test(t)?`pull/${t}/head`:t}var Z4e=({repository:t,branch:e},r)=>[["git","init",M.fromPortablePath(r)],["git","remote","add","origin",t],["git","fetch","origin",iAe(e)],["git","reset","--hard","FETCH_HEAD"]],$4e=({branch:t})=>[["git","fetch","origin",iAe(t),"--force"],["git","reset","--hard","FETCH_HEAD"],["git","clean","-dfx"]],eze=({plugins:t,noMinify:e},r)=>[["yarn","build:cli",...new Array().concat(...t.map(i=>["--plugin",v.resolve(r,i)])),...e?["--no-minify"]:[],"|"]],SC=class extends Be{constructor(){super(...arguments);this.installPath=Y.String("--path",{description:"The path where the repository should be cloned to"});this.repository=Y.String("--repository","https://github.com/yarnpkg/berry.git",{description:"The repository that should be cloned"});this.branch=Y.String("--branch","master",{description:"The branch of the repository that should be cloned"});this.plugins=Y.Array("--plugin",[],{description:"An array of additional plugins that should be included in the bundle"});this.noMinify=Y.Boolean("--no-minify",!1,{description:"Build a bundle for development (debugging) - non-minified and non-mangled"});this.force=Y.Boolean("-f,--force",!1,{description:"Always clone the repository instead of trying to fetch the latest commits"});this.skipPlugins=Y.Boolean("--skip-plugins",!1,{description:"Skip updating the contrib plugins"})}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins),{project:r}=await Ke.find(e,this.context.cwd),i=typeof this.installPath!="undefined"?v.resolve(this.context.cwd,M.toPortablePath(this.installPath)):v.resolve(M.toPortablePath((0,rAe.tmpdir)()),"yarnpkg-sources",mn.makeHash(this.repository).slice(0,6));return(await Fe.start({configuration:e,stdout:this.context.stdout},async s=>{await $N(this,{configuration:e,report:s,target:i}),s.reportSeparator(),s.reportInfo(z.UNNAMED,"Building a fresh bundle"),s.reportSeparator(),await xC(eze(this,i),{configuration:e,context:this.context,target:i}),s.reportSeparator();let o=v.resolve(i,"packages/yarnpkg-cli/bundles/yarn.js"),a=await T.readFilePromise(o);await XN(e,"sources",a,{report:s}),this.skipPlugins||await tze(this,{project:r,report:s,target:i})})).exitCode()}};SC.paths=[["set","version","from","sources"]],SC.usage=ye.Usage({description:"build Yarn from master",details:` + This command will clone the Yarn repository into a temporary folder, then build it. The resulting bundle will then be copied into the local project. + + By default, it also updates all contrib plugins to the same commit the bundle is built from. This behavior can be disabled by using the \`--skip-plugins\` flag. + `,examples:[["Build Yarn from master","$0 set version from sources"]]});var nAe=SC;async function xC(t,{configuration:e,context:r,target:i}){for(let[n,...s]of t){let o=s[s.length-1]==="|";if(o&&s.pop(),o)await hr.pipevp(n,s,{cwd:i,stdin:r.stdin,stdout:r.stdout,stderr:r.stderr,strict:!0});else{r.stdout.write(`${ue.pretty(e,` $ ${[n,...s].join(" ")}`,"grey")} +`);try{await hr.execvp(n,s,{cwd:i,strict:!0})}catch(a){throw r.stdout.write(a.stdout||a.stack),a}}}}async function $N(t,{configuration:e,report:r,target:i}){let n=!1;if(!t.force&&T.existsSync(v.join(i,".git"))){r.reportInfo(z.UNNAMED,"Fetching the latest commits"),r.reportSeparator();try{await xC($4e(t),{configuration:e,context:t.context,target:i}),n=!0}catch(s){r.reportSeparator(),r.reportWarning(z.UNNAMED,"Repository update failed; we'll try to regenerate it")}}n||(r.reportInfo(z.UNNAMED,"Cloning the remote repository"),r.reportSeparator(),await T.removePromise(i),await T.mkdirPromise(i,{recursive:!0}),await xC(Z4e(t,i),{configuration:e,context:t.context,target:i}))}async function tze(t,{project:e,report:r,target:i}){let n=await Kc(e.configuration),s=new Set(Object.keys(n));for(let o of e.configuration.plugins.keys())!s.has(o)||await ZN(o,t,{project:e,report:r,target:i})}var sAe=ie(Or()),oAe=ie(require("url")),aAe=ie(require("vm"));var kC=class extends Be{constructor(){super(...arguments);this.name=Y.String()}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins);return(await Fe.start({configuration:e,stdout:this.context.stdout},async i=>{let{project:n}=await Ke.find(e,this.context.cwd),s,o;if(this.name.match(/^\.{0,2}[\\/]/)||M.isAbsolute(this.name)){let a=v.resolve(this.context.cwd,M.toPortablePath(this.name));i.reportInfo(z.UNNAMED,`Reading ${ue.pretty(e,a,ue.Type.PATH)}`),s=v.relative(n.cwd,a),o=await T.readFilePromise(a)}else{let a;if(this.name.match(/^https?:/)){try{new oAe.URL(this.name)}catch{throw new nt(z.INVALID_PLUGIN_REFERENCE,`Plugin specifier "${this.name}" is neither a plugin name nor a valid url`)}s=this.name,a=this.name}else{let l=S.parseLocator(this.name.replace(/^((@yarnpkg\/)?plugin-)?/,"@yarnpkg/plugin-"));if(l.reference!=="unknown"&&!sAe.default.valid(l.reference))throw new nt(z.UNNAMED,"Official plugins only accept strict version references. Use an explicit URL if you wish to download them from another location.");let c=S.stringifyIdent(l),u=await Kc(e);if(!Object.prototype.hasOwnProperty.call(u,c))throw new nt(z.PLUGIN_NAME_NOT_FOUND,`Couldn't find a plugin named "${c}" on the remote registry. Note that only the plugins referenced on our website (https://github.com/yarnpkg/berry/blob/master/plugins.yml) can be referenced by their name; any other plugin will have to be referenced through its public url (for example https://github.com/yarnpkg/berry/raw/master/packages/plugin-typescript/bin/%40yarnpkg/plugin-typescript.js).`);s=c,a=u[c].url,l.reference!=="unknown"?a=a.replace(/\/master\//,`/${c}/${l.reference}/`):Zr!==null&&(a=a.replace(/\/master\//,`/@yarnpkg/cli/${Zr}/`))}i.reportInfo(z.UNNAMED,`Downloading ${ue.pretty(e,a,"green")}`),o=await Zt.get(a,{configuration:e})}await eL(s,o,{project:n,report:i})})).exitCode()}};kC.paths=[["plugin","import"]],kC.usage=ye.Usage({category:"Plugin-related commands",description:"download a plugin",details:` + This command downloads the specified plugin from its remote location and updates the configuration to reference it in further CLI invocations. + + Three types of plugin references are accepted: + + - If the plugin is stored within the Yarn repository, it can be referenced by name. + - Third-party plugins can be referenced directly through their public urls. + - Local plugins can be referenced by their path on the disk. + + Plugins cannot be downloaded from the npm registry, and aren't allowed to have dependencies (they need to be bundled into a single file, possibly thanks to the \`@yarnpkg/builder\` package). + `,examples:[['Download and activate the "@yarnpkg/plugin-exec" plugin',"$0 plugin import @yarnpkg/plugin-exec"],['Download and activate the "@yarnpkg/plugin-exec" plugin (shorthand)',"$0 plugin import exec"],["Download and activate a community plugin","$0 plugin import https://example.org/path/to/plugin.js"],["Activate a local plugin","$0 plugin import ./path/to/plugin.js"]]});var AAe=kC;async function eL(t,e,{project:r,report:i}){let{configuration:n}=r,s={},o={exports:s};(0,aAe.runInNewContext)(e.toString(),{module:o,exports:s});let a=o.exports.name,l=`.yarn/plugins/${a}.cjs`,c=v.resolve(r.cwd,l);i.reportInfo(z.UNNAMED,`Saving the new plugin in ${ue.pretty(n,l,"magenta")}`),await T.mkdirPromise(v.dirname(c),{recursive:!0}),await T.writeFilePromise(c,e);let u={path:l,spec:t};await fe.updateConfiguration(r.cwd,g=>{let f=[],h=!1;for(let p of g.plugins||[]){let d=typeof p!="string"?p.path:p,m=v.resolve(r.cwd,M.toPortablePath(d)),{name:I}=de.dynamicRequire(m);I!==a?f.push(p):(f.push(u),h=!0)}return h||f.push(u),_(P({},g),{plugins:f})})}var rze=({pluginName:t,noMinify:e},r)=>[["yarn",`build:${t}`,...e?["--no-minify"]:[],"|"]],PC=class extends Be{constructor(){super(...arguments);this.installPath=Y.String("--path",{description:"The path where the repository should be cloned to"});this.repository=Y.String("--repository","https://github.com/yarnpkg/berry.git",{description:"The repository that should be cloned"});this.branch=Y.String("--branch","master",{description:"The branch of the repository that should be cloned"});this.noMinify=Y.Boolean("--no-minify",!1,{description:"Build a plugin for development (debugging) - non-minified and non-mangled"});this.force=Y.Boolean("-f,--force",!1,{description:"Always clone the repository instead of trying to fetch the latest commits"});this.name=Y.String()}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins),r=typeof this.installPath!="undefined"?v.resolve(this.context.cwd,M.toPortablePath(this.installPath)):v.resolve(M.toPortablePath((0,lAe.tmpdir)()),"yarnpkg-sources",mn.makeHash(this.repository).slice(0,6));return(await Fe.start({configuration:e,stdout:this.context.stdout},async n=>{let{project:s}=await Ke.find(e,this.context.cwd),o=S.parseIdent(this.name.replace(/^((@yarnpkg\/)?plugin-)?/,"@yarnpkg/plugin-")),a=S.stringifyIdent(o),l=await Kc(e);if(!Object.prototype.hasOwnProperty.call(l,a))throw new nt(z.PLUGIN_NAME_NOT_FOUND,`Couldn't find a plugin named "${a}" on the remote registry. Note that only the plugins referenced on our website (https://github.com/yarnpkg/berry/blob/master/plugins.yml) can be built and imported from sources.`);let c=a;await $N(this,{configuration:e,report:n,target:r}),await ZN(c,this,{project:s,report:n,target:r})})).exitCode()}};PC.paths=[["plugin","import","from","sources"]],PC.usage=ye.Usage({category:"Plugin-related commands",description:"build a plugin from sources",details:` + This command clones the Yarn repository into a temporary folder, builds the specified contrib plugin and updates the configuration to reference it in further CLI invocations. + + The plugins can be referenced by their short name if sourced from the official Yarn repository. + `,examples:[['Build and activate the "@yarnpkg/plugin-exec" plugin',"$0 plugin import from sources @yarnpkg/plugin-exec"],['Build and activate the "@yarnpkg/plugin-exec" plugin (shorthand)',"$0 plugin import from sources exec"]]});var cAe=PC;async function ZN(t,{context:e,noMinify:r},{project:i,report:n,target:s}){let o=t.replace(/@yarnpkg\//,""),{configuration:a}=i;n.reportSeparator(),n.reportInfo(z.UNNAMED,`Building a fresh ${o}`),n.reportSeparator(),await xC(rze({pluginName:o,noMinify:r},s),{configuration:a,context:e,target:s}),n.reportSeparator();let l=v.resolve(s,`packages/${o}/bundles/${t}.js`),c=await T.readFilePromise(l);await eL(t,c,{project:i,report:n})}var DC=class extends Be{constructor(){super(...arguments);this.name=Y.String()}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins),{project:r}=await Ke.find(e,this.context.cwd);return(await Fe.start({configuration:e,stdout:this.context.stdout},async n=>{let s=this.name,o=S.parseIdent(s);if(!e.plugins.has(s))throw new me(`${S.prettyIdent(e,o)} isn't referenced by the current configuration`);let a=`.yarn/plugins/${s}.cjs`,l=v.resolve(r.cwd,a);T.existsSync(l)&&(n.reportInfo(z.UNNAMED,`Removing ${ue.pretty(e,a,ue.Type.PATH)}...`),await T.removePromise(l)),n.reportInfo(z.UNNAMED,"Updating the configuration..."),await fe.updateConfiguration(r.cwd,c=>{if(!Array.isArray(c.plugins))return c;let u=c.plugins.filter(g=>g.path!==a);return c.plugins.length===u.length?c:_(P({},c),{plugins:u})})})).exitCode()}};DC.paths=[["plugin","remove"]],DC.usage=ye.Usage({category:"Plugin-related commands",description:"remove a plugin",details:` + This command deletes the specified plugin from the .yarn/plugins folder and removes it from the configuration. + + **Note:** The plugins have to be referenced by their name property, which can be obtained using the \`yarn plugin runtime\` command. Shorthands are not allowed. + `,examples:[["Remove a plugin imported from the Yarn repository","$0 plugin remove @yarnpkg/plugin-typescript"],["Remove a plugin imported from a local file","$0 plugin remove my-local-plugin"]]});var uAe=DC;var RC=class extends Be{constructor(){super(...arguments);this.json=Y.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins);return(await Fe.start({configuration:e,json:this.json,stdout:this.context.stdout},async i=>{for(let n of e.plugins.keys()){let s=this.context.plugins.plugins.has(n),o=n;s&&(o+=" [builtin]"),i.reportJson({name:n,builtin:s}),i.reportInfo(null,`${o}`)}})).exitCode()}};RC.paths=[["plugin","runtime"]],RC.usage=ye.Usage({category:"Plugin-related commands",description:"list the active plugins",details:` + This command prints the currently active plugins. Will be displayed both builtin plugins and external plugins. + `,examples:[["List the currently active plugins","$0 plugin runtime"]]});var gAe=RC;var FC=class extends Be{constructor(){super(...arguments);this.idents=Y.Rest()}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Ke.find(e,this.context.cwd),n=await Qt.find(e);if(!i)throw new rt(r.cwd,this.context.cwd);let s=new Set;for(let a of this.idents)s.add(S.parseIdent(a).identHash);if(await r.restoreInstallState({restoreResolutions:!1}),await r.resolveEverything({cache:n,report:new ei}),s.size>0)for(let a of r.storedPackages.values())s.has(a.identHash)&&r.storedBuildState.delete(a.locatorHash);else r.storedBuildState.clear();return(await Fe.start({configuration:e,stdout:this.context.stdout,includeLogs:!this.context.quiet},async a=>{await r.install({cache:n,report:a})})).exitCode()}};FC.paths=[["rebuild"]],FC.usage=ye.Usage({description:"rebuild the project's native packages",details:` + This command will automatically cause Yarn to forget about previous compilations of the given packages and to run them again. + + Note that while Yarn forgets the compilation, the previous artifacts aren't erased from the filesystem and may affect the next builds (in good or bad). To avoid this, you may remove the .yarn/unplugged folder, or any other relevant location where packages might have been stored (Yarn may offer a way to do that automatically in the future). + + By default all packages will be rebuilt, but you can filter the list by specifying the names of the packages you want to clear from memory. + `,examples:[["Rebuild all packages","$0 rebuild"],["Rebuild fsevents only","$0 rebuild fsevents"]]});var fAe=FC;var tL=ie(Nn());Ss();var NC=class extends Be{constructor(){super(...arguments);this.all=Y.Boolean("-A,--all",!1,{description:"Apply the operation to all workspaces from the current project"});this.mode=Y.String("--mode",{description:"Change what artifacts installs generate",validator:Yi(li)});this.patterns=Y.Rest()}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Ke.find(e,this.context.cwd),n=await Qt.find(e);if(!i)throw new rt(r.cwd,this.context.cwd);await r.restoreInstallState({restoreResolutions:!1});let s=this.all?r.workspaces:[i],o=[vr.REGULAR,vr.DEVELOPMENT,vr.PEER],a=[],l=!1,c=[];for(let h of this.patterns){let p=!1,d=S.parseIdent(h);for(let m of s){let I=[...m.manifest.peerDependenciesMeta.keys()];for(let B of(0,tL.default)(I,h))m.manifest.peerDependenciesMeta.delete(B),l=!0,p=!0;for(let B of o){let b=m.manifest.getForScope(B),R=[...b.values()].map(H=>S.stringifyIdent(H));for(let H of(0,tL.default)(R,S.stringifyIdent(d))){let{identHash:L}=S.parseIdent(H),K=b.get(L);if(typeof K=="undefined")throw new Error("Assertion failed: Expected the descriptor to be registered");m.manifest[B].delete(L),c.push([m,B,K]),l=!0,p=!0}}}p||a.push(h)}let u=a.length>1?"Patterns":"Pattern",g=a.length>1?"don't":"doesn't",f=this.all?"any":"this";if(a.length>0)throw new me(`${u} ${ue.prettyList(e,a,ps.CODE)} ${g} match any packages referenced by ${f} workspace`);return l?(await e.triggerMultipleHooks(p=>p.afterWorkspaceDependencyRemoval,c),(await Fe.start({configuration:e,stdout:this.context.stdout},async p=>{await r.install({cache:n,report:p,mode:this.mode})})).exitCode()):0}};NC.paths=[["remove"]],NC.usage=ye.Usage({description:"remove dependencies from the project",details:` + This command will remove the packages matching the specified patterns from the current workspace. + + If the \`--mode=\` option is set, Yarn will change which artifacts are generated. The modes currently supported are: + + - \`skip-build\` will not run the build scripts at all. Note that this is different from setting \`enableScripts\` to false because the later will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run. + + - \`update-lockfile\` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost. + + This command accepts glob patterns as arguments (if valid Idents and supported by [micromatch](https://github.com/micromatch/micromatch)). Make sure to escape the patterns, to prevent your own shell from trying to expand them. + `,examples:[["Remove a dependency from the current project","$0 remove lodash"],["Remove a dependency from all workspaces at once","$0 remove lodash --all"],["Remove all dependencies starting with `eslint-`","$0 remove 'eslint-*'"],["Remove all dependencies with the `@babel` scope","$0 remove '@babel/*'"],["Remove all dependencies matching `react-dom` or `react-helmet`","$0 remove 'react-{dom,helmet}'"]]});var hAe=NC;var pAe=ie(require("util")),z0=class extends Be{async execute(){let e=await fe.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Ke.find(e,this.context.cwd);if(!i)throw new rt(r.cwd,this.context.cwd);return(await Fe.start({configuration:e,stdout:this.context.stdout},async s=>{let o=i.manifest.scripts,a=de.sortMap(o.keys(),u=>u),l={breakLength:Infinity,colors:e.get("enableColors"),maxArrayLength:2},c=a.reduce((u,g)=>Math.max(u,g.length),0);for(let[u,g]of o.entries())s.reportInfo(null,`${u.padEnd(c," ")} ${(0,pAe.inspect)(g,l)}`)})).exitCode()}};z0.paths=[["run"]];var dAe=z0;var LC=class extends Be{constructor(){super(...arguments);this.inspect=Y.String("--inspect",!1,{tolerateBoolean:!0,description:"Forwarded to the underlying Node process when executing a binary"});this.inspectBrk=Y.String("--inspect-brk",!1,{tolerateBoolean:!0,description:"Forwarded to the underlying Node process when executing a binary"});this.topLevel=Y.Boolean("-T,--top-level",!1,{description:"Check the root workspace for scripts and/or binaries instead of the current one"});this.binariesOnly=Y.Boolean("-B,--binaries-only",!1,{description:"Ignore any user defined scripts and only check for binaries"});this.silent=Y.Boolean("--silent",{hidden:!0});this.scriptName=Y.String();this.args=Y.Proxy()}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins),{project:r,workspace:i,locator:n}=await Ke.find(e,this.context.cwd);await r.restoreInstallState();let s=this.topLevel?r.topLevelWorkspace.anchoredLocator:n;if(!this.binariesOnly&&await Kt.hasPackageScript(s,this.scriptName,{project:r}))return await Kt.executePackageScript(s,this.scriptName,this.args,{project:r,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr});let o=await Kt.getPackageAccessibleBinaries(s,{project:r});if(o.get(this.scriptName)){let l=[];return this.inspect&&(typeof this.inspect=="string"?l.push(`--inspect=${this.inspect}`):l.push("--inspect")),this.inspectBrk&&(typeof this.inspectBrk=="string"?l.push(`--inspect-brk=${this.inspectBrk}`):l.push("--inspect-brk")),await Kt.executePackageAccessibleBinary(s,this.scriptName,this.args,{cwd:this.context.cwd,project:r,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr,nodeArgs:l,packageAccessibleBinaries:o})}if(!this.topLevel&&!this.binariesOnly&&i&&this.scriptName.includes(":")){let c=(await Promise.all(r.workspaces.map(async u=>u.manifest.scripts.has(this.scriptName)?u:null))).filter(u=>u!==null);if(c.length===1)return await Kt.executeWorkspaceScript(c[0],this.scriptName,this.args,{stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr})}if(this.topLevel)throw this.scriptName==="node-gyp"?new me(`Couldn't find a script name "${this.scriptName}" in the top-level (used by ${S.prettyLocator(e,n)}). This typically happens because some package depends on "node-gyp" to build itself, but didn't list it in their dependencies. To fix that, please run "yarn add node-gyp" into your top-level workspace. You also can open an issue on the repository of the specified package to suggest them to use an optional peer dependency.`):new me(`Couldn't find a script name "${this.scriptName}" in the top-level (used by ${S.prettyLocator(e,n)}).`);{if(this.scriptName==="global")throw new me("The 'yarn global' commands have been removed in 2.x - consider using 'yarn dlx' or a third-party plugin instead");let l=[this.scriptName].concat(this.args);for(let[c,u]of Yg)for(let g of u)if(l.length>=g.length&&JSON.stringify(l.slice(0,g.length))===JSON.stringify(g))throw new me(`Couldn't find a script named "${this.scriptName}", but a matching command can be found in the ${c} plugin. You can install it with "yarn plugin import ${c}".`);throw new me(`Couldn't find a script named "${this.scriptName}".`)}}};LC.paths=[["run"]],LC.usage=ye.Usage({description:"run a script defined in the package.json",details:` + This command will run a tool. The exact tool that will be executed will depend on the current state of your workspace: + + - If the \`scripts\` field from your local package.json contains a matching script name, its definition will get executed. + + - Otherwise, if one of the local workspace's dependencies exposes a binary with a matching name, this binary will get executed. + + - Otherwise, if the specified name contains a colon character and if one of the workspaces in the project contains exactly one script with a matching name, then this script will get executed. + + Whatever happens, the cwd of the spawned process will be the workspace that declares the script (which makes it possible to call commands cross-workspaces using the third syntax). + `,examples:[["Run the tests from the local workspace","$0 run test"],['Same thing, but without the "run" keyword',"$0 test"],["Inspect Webpack while running","$0 run --inspect-brk webpack"]]});var CAe=LC;var TC=class extends Be{constructor(){super(...arguments);this.save=Y.Boolean("-s,--save",!1,{description:"Persist the resolution inside the top-level manifest"});this.descriptor=Y.String();this.resolution=Y.String()}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Ke.find(e,this.context.cwd),n=await Qt.find(e);if(await r.restoreInstallState({restoreResolutions:!1}),!i)throw new rt(r.cwd,this.context.cwd);let s=S.parseDescriptor(this.descriptor,!0),o=S.makeDescriptor(s,this.resolution);return r.storedDescriptors.set(s.descriptorHash,s),r.storedDescriptors.set(o.descriptorHash,o),r.resolutionAliases.set(s.descriptorHash,o.descriptorHash),(await Fe.start({configuration:e,stdout:this.context.stdout},async l=>{await r.install({cache:n,report:l})})).exitCode()}};TC.paths=[["set","resolution"]],TC.usage=ye.Usage({description:"enforce a package resolution",details:'\n This command updates the resolution table so that `descriptor` is resolved by `resolution`.\n\n Note that by default this command only affect the current resolution table - meaning that this "manual override" will disappear if you remove the lockfile, or if the package disappear from the table. If you wish to make the enforced resolution persist whatever happens, add the `-s,--save` flag which will also edit the `resolutions` field from your top-level manifest.\n\n Note that no attempt is made at validating that `resolution` is a valid resolution entry for `descriptor`.\n ',examples:[["Force all instances of lodash@npm:^1.2.3 to resolve to 1.5.0","$0 set resolution lodash@npm:^1.2.3 1.5.0"]]});var mAe=TC;var EAe=ie(Nn()),MC=class extends Be{constructor(){super(...arguments);this.all=Y.Boolean("-A,--all",!1,{description:"Unlink all workspaces belonging to the target project from the current one"});this.leadingArguments=Y.Rest()}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Ke.find(e,this.context.cwd),n=await Qt.find(e);if(!i)throw new rt(r.cwd,this.context.cwd);let s=r.topLevelWorkspace,o=new Set;if(this.leadingArguments.length===0&&this.all)for(let{pattern:l,reference:c}of s.manifest.resolutions)c.startsWith("portal:")&&o.add(l.descriptor.fullName);if(this.leadingArguments.length>0)for(let l of this.leadingArguments){let c=v.resolve(this.context.cwd,M.toPortablePath(l));if(de.isPathLike(l)){let u=await fe.find(c,this.context.plugins,{useRc:!1,strict:!1}),{project:g,workspace:f}=await Ke.find(u,c);if(!f)throw new rt(g.cwd,c);if(this.all){for(let h of g.workspaces)h.manifest.name&&o.add(S.stringifyIdent(h.locator));if(o.size===0)throw new me("No workspace found to be unlinked in the target project")}else{if(!f.manifest.name)throw new me("The target workspace doesn't have a name and thus cannot be unlinked");o.add(S.stringifyIdent(f.locator))}}else{let u=[...s.manifest.resolutions.map(({pattern:g})=>g.descriptor.fullName)];for(let g of(0,EAe.default)(u,l))o.add(g)}}return s.manifest.resolutions=s.manifest.resolutions.filter(({pattern:l})=>!o.has(l.descriptor.fullName)),(await Fe.start({configuration:e,stdout:this.context.stdout},async l=>{await r.install({cache:n,report:l})})).exitCode()}};MC.paths=[["unlink"]],MC.usage=ye.Usage({description:"disconnect the local project from another one",details:` + This command will remove any resolutions in the project-level manifest that would have been added via a yarn link with similar arguments. + `,examples:[["Unregister a remote workspace in the current project","$0 unlink ~/ts-loader"],["Unregister all workspaces from a remote project in the current project","$0 unlink ~/jest --all"],["Unregister all previously linked workspaces","$0 unlink --all"],["Unregister all workspaces matching a glob","$0 unlink '@babel/*' 'pkg-{a,b}'"]]});var IAe=MC;var yAe=ie(aC()),rL=ie(Nn());Ss();var uf=class extends Be{constructor(){super(...arguments);this.interactive=Y.Boolean("-i,--interactive",{description:"Offer various choices, depending on the detected upgrade paths"});this.exact=Y.Boolean("-E,--exact",!1,{description:"Don't use any semver modifier on the resolved range"});this.tilde=Y.Boolean("-T,--tilde",!1,{description:"Use the `~` semver modifier on the resolved range"});this.caret=Y.Boolean("-C,--caret",!1,{description:"Use the `^` semver modifier on the resolved range"});this.recursive=Y.Boolean("-R,--recursive",!1,{description:"Resolve again ALL resolutions for those packages"});this.mode=Y.String("--mode",{description:"Change what artifacts installs generate",validator:Yi(li)});this.patterns=Y.Rest()}async execute(){return this.recursive?await this.executeUpRecursive():await this.executeUpClassic()}async executeUpRecursive(){let e=await fe.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Ke.find(e,this.context.cwd),n=await Qt.find(e);if(!i)throw new rt(r.cwd,this.context.cwd);await r.restoreInstallState({restoreResolutions:!1});let s=[...r.storedDescriptors.values()],o=s.map(u=>S.stringifyIdent(u)),a=new Set;for(let u of this.patterns){if(S.parseDescriptor(u).range!=="unknown")throw new me("Ranges aren't allowed when using --recursive");for(let g of(0,rL.default)(o,u)){let f=S.parseIdent(g);a.add(f.identHash)}}let l=s.filter(u=>a.has(u.identHash));for(let u of l)r.storedDescriptors.delete(u.descriptorHash),r.storedResolutions.delete(u.descriptorHash);return(await Fe.start({configuration:e,stdout:this.context.stdout},async u=>{await r.install({cache:n,report:u})})).exitCode()}async executeUpClassic(){var d;let e=await fe.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Ke.find(e,this.context.cwd),n=await Qt.find(e);if(!i)throw new rt(r.cwd,this.context.cwd);await r.restoreInstallState({restoreResolutions:!1});let s=(d=this.interactive)!=null?d:e.get("preferInteractive"),o=AC(this,r),a=s?[Fr.KEEP,Fr.REUSE,Fr.PROJECT,Fr.LATEST]:[Fr.PROJECT,Fr.LATEST],l=[],c=[];for(let m of this.patterns){let I=!1,B=S.parseDescriptor(m);for(let b of r.workspaces)for(let R of[vr.REGULAR,vr.DEVELOPMENT]){let L=[...b.manifest.getForScope(R).values()].map(K=>S.stringifyIdent(K));for(let K of(0,rL.default)(L,S.stringifyIdent(B))){let J=S.parseIdent(K),ne=b.manifest[R].get(J.identHash);if(typeof ne=="undefined")throw new Error("Assertion failed: Expected the descriptor to be registered");let q=S.makeDescriptor(J,B.range);l.push(Promise.resolve().then(async()=>[b,R,ne,await lC(q,{project:r,workspace:b,cache:n,target:R,modifier:o,strategies:a})])),I=!0}}I||c.push(m)}if(c.length>1)throw new me(`Patterns ${ue.prettyList(e,c,ps.CODE)} don't match any packages referenced by any workspace`);if(c.length>0)throw new me(`Pattern ${ue.prettyList(e,c,ps.CODE)} doesn't match any packages referenced by any workspace`);let u=await Promise.all(l),g=await Fa.start({configuration:e,stdout:this.context.stdout,suggestInstall:!1},async m=>{for(let[,,I,{suggestions:B,rejections:b}]of u){let R=B.filter(H=>H.descriptor!==null);if(R.length===0){let[H]=b;if(typeof H=="undefined")throw new Error("Assertion failed: Expected an error to have been set");let L=this.cli.error(H);r.configuration.get("enableNetwork")?m.reportError(z.CANT_SUGGEST_RESOLUTIONS,`${S.prettyDescriptor(e,I)} can't be resolved to a satisfying range + +${L}`):m.reportError(z.CANT_SUGGEST_RESOLUTIONS,`${S.prettyDescriptor(e,I)} can't be resolved to a satisfying range (note: network resolution has been disabled) + +${L}`)}else R.length>1&&!s&&m.reportError(z.CANT_SUGGEST_RESOLUTIONS,`${S.prettyDescriptor(e,I)} has multiple possible upgrade strategies; use -i to disambiguate manually`)}});if(g.hasErrors())return g.exitCode();let f=!1,h=[];for(let[m,I,,{suggestions:B}]of u){let b,R=B.filter(J=>J.descriptor!==null),H=R[0].descriptor,L=R.every(J=>S.areDescriptorsEqual(J.descriptor,H));R.length===1||L?b=H:(f=!0,{answer:b}=await(0,yAe.prompt)({type:"select",name:"answer",message:`Which range to you want to use in ${S.prettyWorkspace(e,m)} \u276F ${I}?`,choices:B.map(({descriptor:J,name:ne,reason:q})=>J?{name:ne,hint:q,descriptor:J}:{name:ne,hint:q,disabled:!0}),onCancel:()=>process.exit(130),result(J){return this.find(J,"descriptor")},stdin:this.context.stdin,stdout:this.context.stdout}));let K=m.manifest[I].get(b.identHash);if(typeof K=="undefined")throw new Error("Assertion failed: This descriptor should have a matching entry");if(K.descriptorHash!==b.descriptorHash)m.manifest[I].set(b.identHash,b),h.push([m,I,K,b]);else{let J=e.makeResolver(),ne={project:r,resolver:J},q=J.bindDescriptor(K,m.anchoredLocator,ne);r.forgetResolution(q)}}return await e.triggerMultipleHooks(m=>m.afterWorkspaceDependencyReplacement,h),f&&this.context.stdout.write(` +`),(await Fe.start({configuration:e,stdout:this.context.stdout},async m=>{await r.install({cache:n,report:m,mode:this.mode})})).exitCode()}};uf.paths=[["up"]],uf.usage=ye.Usage({description:"upgrade dependencies across the project",details:"\n This command upgrades the packages matching the list of specified patterns to their latest available version across the whole project (regardless of whether they're part of `dependencies` or `devDependencies` - `peerDependencies` won't be affected). This is a project-wide command: all workspaces will be upgraded in the process.\n\n If `-R,--recursive` is set the command will change behavior and no other switch will be allowed. When operating under this mode `yarn up` will force all ranges matching the selected packages to be resolved again (often to the highest available versions) before being stored in the lockfile. It however won't touch your manifests anymore, so depending on your needs you might want to run both `yarn up` and `yarn up -R` to cover all bases.\n\n If `-i,--interactive` is set (or if the `preferInteractive` settings is toggled on) the command will offer various choices, depending on the detected upgrade paths. Some upgrades require this flag in order to resolve ambiguities.\n\n The, `-C,--caret`, `-E,--exact` and `-T,--tilde` options have the same meaning as in the `add` command (they change the modifier used when the range is missing or a tag, and are ignored when the range is explicitly set).\n\n If the `--mode=` option is set, Yarn will change which artifacts are generated. The modes currently supported are:\n\n - `skip-build` will not run the build scripts at all. Note that this is different from setting `enableScripts` to false because the later will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run.\n\n - `update-lockfile` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost.\n\n Generally you can see `yarn up` as a counterpart to what was `yarn upgrade --latest` in Yarn 1 (ie it ignores the ranges previously listed in your manifests), but unlike `yarn upgrade` which only upgraded dependencies in the current workspace, `yarn up` will upgrade all workspaces at the same time.\n\n This command accepts glob patterns as arguments (if valid Descriptors and supported by [micromatch](https://github.com/micromatch/micromatch)). Make sure to escape the patterns, to prevent your own shell from trying to expand them.\n\n **Note:** The ranges have to be static, only the package scopes and names can contain glob patterns.\n ",examples:[["Upgrade all instances of lodash to the latest release","$0 up lodash"],["Upgrade all instances of lodash to the latest release, but ask confirmation for each","$0 up lodash -i"],["Upgrade all instances of lodash to 1.2.3","$0 up lodash@1.2.3"],["Upgrade all instances of packages with the `@babel` scope to the latest release","$0 up '@babel/*'"],["Upgrade all instances of packages containing the word `jest` to the latest release","$0 up '*jest*'"],["Upgrade all instances of packages with the `@babel` scope to 7.0.0","$0 up '@babel/*@7.0.0'"]]}),uf.schema=[pv("recursive",Bl.Forbids,["interactive","exact","tilde","caret"],{ignore:[void 0,!1]})];var wAe=uf;var OC=class extends Be{constructor(){super(...arguments);this.recursive=Y.Boolean("-R,--recursive",!1,{description:"List, for each workspace, what are all the paths that lead to the dependency"});this.json=Y.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.peers=Y.Boolean("--peers",!1,{description:"Also print the peer dependencies that match the specified name"});this.package=Y.String()}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Ke.find(e,this.context.cwd);if(!i)throw new rt(r.cwd,this.context.cwd);await r.restoreInstallState();let n=S.parseIdent(this.package).identHash,s=this.recursive?nze(r,n,{configuration:e,peers:this.peers}):ize(r,n,{configuration:e,peers:this.peers});Hs.emitTree(s,{configuration:e,stdout:this.context.stdout,json:this.json,separators:1})}};OC.paths=[["why"]],OC.usage=ye.Usage({description:"display the reason why a package is needed",details:` + This command prints the exact reasons why a package appears in the dependency tree. + + If \`-R,--recursive\` is set, the listing will go in depth and will list, for each workspaces, what are all the paths that lead to the dependency. Note that the display is somewhat optimized in that it will not print the package listing twice for a single package, so if you see a leaf named "Foo" when looking for "Bar", it means that "Foo" already got printed higher in the tree. + `,examples:[["Explain why lodash is used in your project","$0 why lodash"]]});var BAe=OC;function ize(t,e,{configuration:r,peers:i}){let n=de.sortMap(t.storedPackages.values(),a=>S.stringifyLocator(a)),s={},o={children:s};for(let a of n){let l={},c=null;for(let u of a.dependencies.values()){if(!i&&a.peerDependencies.has(u.identHash))continue;let g=t.storedResolutions.get(u.descriptorHash);if(!g)throw new Error("Assertion failed: The resolution should have been registered");let f=t.storedPackages.get(g);if(!f)throw new Error("Assertion failed: The package should have been registered");if(f.identHash!==e)continue;if(c===null){let p=S.stringifyLocator(a);s[p]={value:[a,ue.Type.LOCATOR],children:l}}let h=S.stringifyLocator(f);l[h]={value:[{descriptor:u,locator:f},ue.Type.DEPENDENT]}}}return o}function nze(t,e,{configuration:r,peers:i}){let n=de.sortMap(t.workspaces,f=>S.stringifyLocator(f.anchoredLocator)),s=new Set,o=new Set,a=f=>{if(s.has(f.locatorHash))return o.has(f.locatorHash);if(s.add(f.locatorHash),f.identHash===e)return o.add(f.locatorHash),!0;let h=!1;f.identHash===e&&(h=!0);for(let p of f.dependencies.values()){if(!i&&f.peerDependencies.has(p.identHash))continue;let d=t.storedResolutions.get(p.descriptorHash);if(!d)throw new Error("Assertion failed: The resolution should have been registered");let m=t.storedPackages.get(d);if(!m)throw new Error("Assertion failed: The package should have been registered");a(m)&&(h=!0)}return h&&o.add(f.locatorHash),h};for(let f of n){let h=t.storedPackages.get(f.anchoredLocator.locatorHash);if(!h)throw new Error("Assertion failed: The package should have been registered");a(h)}let l=new Set,c={},u={children:c},g=(f,h,p)=>{if(!o.has(f.locatorHash))return;let d=p!==null?ue.tuple(ue.Type.DEPENDENT,{locator:f,descriptor:p}):ue.tuple(ue.Type.LOCATOR,f),m={},I={value:d,children:m},B=S.stringifyLocator(f);if(h[B]=I,!l.has(f.locatorHash)&&(l.add(f.locatorHash),!(p!==null&&t.tryWorkspaceByLocator(f))))for(let b of f.dependencies.values()){if(!i&&f.peerDependencies.has(b.identHash))continue;let R=t.storedResolutions.get(b.descriptorHash);if(!R)throw new Error("Assertion failed: The resolution should have been registered");let H=t.storedPackages.get(R);if(!H)throw new Error("Assertion failed: The package should have been registered");g(H,m,b)}};for(let f of n){let h=t.storedPackages.get(f.anchoredLocator.locatorHash);if(!h)throw new Error("Assertion failed: The package should have been registered");g(h,c,null)}return u}var fL={};it(fL,{default:()=>wze,gitUtils:()=>Uc});var Uc={};it(Uc,{TreeishProtocols:()=>vn,clone:()=>cL,fetchBase:()=>jAe,fetchChangedFiles:()=>YAe,fetchChangedWorkspaces:()=>Ize,fetchRoot:()=>GAe,isGitUrl:()=>ff,lsRemote:()=>HAe,normalizeLocator:()=>AL,normalizeRepoUrl:()=>KC,resolveUrl:()=>lL,splitRepoUrl:()=>UC});var oL=ie(OAe()),gf=ie(require("querystring")),aL=ie(Or()),KAe=ie(require("url"));function UAe(){return _(P({},process.env),{GIT_SSH_COMMAND:"ssh -o BatchMode=yes"})}var Eze=[/^ssh:/,/^git(?:\+[^:]+)?:/,/^(?:git\+)?https?:[^#]+\/[^#]+(?:\.git)(?:#.*)?$/,/^git@[^#]+\/[^#]+\.git(?:#.*)?$/,/^(?:github:|https:\/\/github\.com\/)?(?!\.{1,2}\/)([a-zA-Z._0-9-]+)\/(?!\.{1,2}(?:#|$))([a-zA-Z._0-9-]+?)(?:\.git)?(?:#.*)?$/,/^https:\/\/github\.com\/(?!\.{1,2}\/)([a-zA-Z0-9._-]+)\/(?!\.{1,2}(?:#|$))([a-zA-Z0-9._-]+?)\/tarball\/(.+)?$/],vn;(function(n){n.Commit="commit",n.Head="head",n.Tag="tag",n.Semver="semver"})(vn||(vn={}));function ff(t){return t?Eze.some(e=>!!t.match(e)):!1}function UC(t){t=KC(t);let e=t.indexOf("#");if(e===-1)return{repo:t,treeish:{protocol:vn.Head,request:"HEAD"},extra:{}};let r=t.slice(0,e),i=t.slice(e+1);if(i.match(/^[a-z]+=/)){let n=gf.default.parse(i);for(let[l,c]of Object.entries(n))if(typeof c!="string")throw new Error(`Assertion failed: The ${l} parameter must be a literal string`);let s=Object.values(vn).find(l=>Object.prototype.hasOwnProperty.call(n,l)),o,a;typeof s!="undefined"?(o=s,a=n[s]):(o=vn.Head,a="HEAD");for(let l of Object.values(vn))delete n[l];return{repo:r,treeish:{protocol:o,request:a},extra:n}}else{let n=i.indexOf(":"),s,o;return n===-1?(s=null,o=i):(s=i.slice(0,n),o=i.slice(n+1)),{repo:r,treeish:{protocol:s,request:o},extra:{}}}}function KC(t,{git:e=!1}={}){var r;if(t=t.replace(/^git\+https:/,"https:"),t=t.replace(/^(?:github:|https:\/\/github\.com\/)?(?!\.{1,2}\/)([a-zA-Z0-9._-]+)\/(?!\.{1,2}(?:#|$))([a-zA-Z0-9._-]+?)(?:\.git)?(#.*)?$/,"https://github.com/$1/$2.git$3"),t=t.replace(/^https:\/\/github\.com\/(?!\.{1,2}\/)([a-zA-Z0-9._-]+)\/(?!\.{1,2}(?:#|$))([a-zA-Z0-9._-]+?)\/tarball\/(.+)?$/,"https://github.com/$1/$2.git#$3"),e){t=t.replace(/^git\+([^:]+):/,"$1:");let i;try{i=KAe.default.parse(t)}catch{i=null}i&&i.protocol==="ssh:"&&((r=i.path)==null?void 0:r.startsWith("/:"))&&(t=t.replace(/^ssh:\/\//,""))}return t}function AL(t){return S.makeLocator(t,KC(t.reference))}async function HAe(t,e){let r=KC(t,{git:!0});if(!Zt.getNetworkSettings(`https://${(0,oL.default)(r).resource}`,{configuration:e}).enableNetwork)throw new Error(`Request to '${r}' has been blocked because of your configuration settings`);let n;try{n=await hr.execvp("git",["ls-remote",r],{cwd:e.startingCwd,env:UAe(),strict:!0})}catch(l){throw l.message=`Listing the refs for ${t} failed`,l}let s=new Map,o=/^([a-f0-9]{40})\t([^\n]+)/gm,a;for(;(a=o.exec(n.stdout))!==null;)s.set(a[2],a[1]);return s}async function lL(t,e){let{repo:r,treeish:{protocol:i,request:n},extra:s}=UC(t),o=await HAe(r,e),a=(c,u)=>{switch(c){case vn.Commit:{if(!u.match(/^[a-f0-9]{40}$/))throw new Error("Invalid commit hash");return gf.default.stringify(_(P({},s),{commit:u}))}case vn.Head:{let g=o.get(u==="HEAD"?u:`refs/heads/${u}`);if(typeof g=="undefined")throw new Error(`Unknown head ("${u}")`);return gf.default.stringify(_(P({},s),{commit:g}))}case vn.Tag:{let g=o.get(`refs/tags/${u}`);if(typeof g=="undefined")throw new Error(`Unknown tag ("${u}")`);return gf.default.stringify(_(P({},s),{commit:g}))}case vn.Semver:{let g=qt.validRange(u);if(!g)throw new Error(`Invalid range ("${u}")`);let f=new Map([...o.entries()].filter(([p])=>p.startsWith("refs/tags/")).map(([p,d])=>[aL.default.parse(p.slice(10)),d]).filter(p=>p[0]!==null)),h=aL.default.maxSatisfying([...f.keys()],g);if(h===null)throw new Error(`No matching range ("${u}")`);return gf.default.stringify(_(P({},s),{commit:f.get(h)}))}case null:{let g;if((g=l(vn.Commit,u))!==null||(g=l(vn.Tag,u))!==null||(g=l(vn.Head,u))!==null)return g;throw u.match(/^[a-f0-9]+$/)?new Error(`Couldn't resolve "${u}" as either a commit, a tag, or a head - if a commit, use the 40-characters commit hash`):new Error(`Couldn't resolve "${u}" as either a commit, a tag, or a head`)}default:throw new Error(`Invalid Git resolution protocol ("${c}")`)}},l=(c,u)=>{try{return a(c,u)}catch(g){return null}};return`${r}#${a(i,n)}`}async function cL(t,e){return await e.getLimit("cloneConcurrency")(async()=>{let{repo:r,treeish:{protocol:i,request:n}}=UC(t);if(i!=="commit")throw new Error("Invalid treeish protocol when cloning");let s=KC(r,{git:!0});if(Zt.getNetworkSettings(`https://${(0,oL.default)(s).resource}`,{configuration:e}).enableNetwork===!1)throw new Error(`Request to '${s}' has been blocked because of your configuration settings`);let o=await T.mktempPromise(),a={cwd:o,env:UAe(),strict:!0};try{await hr.execvp("git",["clone","-c core.autocrlf=false",s,M.fromPortablePath(o)],a),await hr.execvp("git",["checkout",`${n}`],a)}catch(l){throw l.message=`Repository clone failed: ${l.message}`,l}return o})}async function GAe(t){let e=null,r,i=t;do r=i,await T.existsPromise(v.join(r,".git"))&&(e=r),i=v.dirname(r);while(e===null&&i!==r);return e}async function jAe(t,{baseRefs:e}){if(e.length===0)throw new me("Can't run this command with zero base refs specified.");let r=[];for(let a of e){let{code:l}=await hr.execvp("git",["merge-base",a,"HEAD"],{cwd:t});l===0&&r.push(a)}if(r.length===0)throw new me(`No ancestor could be found between any of HEAD and ${e.join(", ")}`);let{stdout:i}=await hr.execvp("git",["merge-base","HEAD",...r],{cwd:t,strict:!0}),n=i.trim(),{stdout:s}=await hr.execvp("git",["show","--quiet","--pretty=format:%s",n],{cwd:t,strict:!0}),o=s.trim();return{hash:n,title:o}}async function YAe(t,{base:e,project:r}){let i=de.buildIgnorePattern(r.configuration.get("changesetIgnorePatterns")),{stdout:n}=await hr.execvp("git",["diff","--name-only",`${e}`],{cwd:t,strict:!0}),s=n.split(/\r\n|\r|\n/).filter(c=>c.length>0).map(c=>v.resolve(t,M.toPortablePath(c))),{stdout:o}=await hr.execvp("git",["ls-files","--others","--exclude-standard"],{cwd:t,strict:!0}),a=o.split(/\r\n|\r|\n/).filter(c=>c.length>0).map(c=>v.resolve(t,M.toPortablePath(c))),l=[...new Set([...s,...a].sort())];return i?l.filter(c=>!v.relative(r.cwd,c).match(i)):l}async function Ize({ref:t,project:e}){if(e.configuration.projectCwd===null)throw new me("This command can only be run from within a Yarn project");let r=[v.resolve(e.cwd,e.configuration.get("cacheFolder")),v.resolve(e.cwd,e.configuration.get("installStatePath")),v.resolve(e.cwd,e.configuration.get("lockfileFilename")),v.resolve(e.cwd,e.configuration.get("virtualFolder"))];await e.configuration.triggerHook(o=>o.populateYarnPaths,e,o=>{o!=null&&r.push(o)});let i=await GAe(e.configuration.projectCwd);if(i==null)throw new me("This command can only be run on Git repositories");let n=await jAe(i,{baseRefs:typeof t=="string"?[t]:e.configuration.get("changesetBaseRefs")}),s=await YAe(i,{base:n.hash,project:e});return new Set(de.mapAndFilter(s,o=>{let a=e.tryWorkspaceByFilePath(o);return a===null?de.mapAndFilter.skip:r.some(l=>o.startsWith(l))?de.mapAndFilter.skip:a}))}var uL=class{supports(e,r){return ff(e.reference)}getLocalPath(e,r){return null}async fetch(e,r){let i=r.checksums.get(e.locatorHash)||null,n=AL(e),s=new Map(r.checksums);s.set(n.locatorHash,i);let o=_(P({},r),{checksums:s}),a=await this.downloadHosted(n,o);if(a!==null)return a;let[l,c,u]=await r.cache.fetchPackageFromCache(e,i,P({onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${S.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the remote repository`),loader:()=>this.cloneFromRemote(n,o),skipIntegrityCheck:r.skipIntegrityCheck},r.cacheOptions));return{packageFs:l,releaseFs:c,prefixPath:S.getIdentVendorPath(e),checksum:u}}async downloadHosted(e,r){return r.project.configuration.reduceHook(i=>i.fetchHostedRepository,null,e,r)}async cloneFromRemote(e,r){let i=await cL(e.reference,r.project.configuration),n=UC(e.reference),s=v.join(i,"package.tgz");await Kt.prepareExternalProject(i,s,{configuration:r.project.configuration,report:r.report,workspace:n.extra.workspace,locator:e});let o=await T.readFilePromise(s);return await de.releaseAfterUseAsync(async()=>await Ai.convertToZip(o,{compressionLevel:r.project.configuration.get("compressionLevel"),prefixPath:S.getIdentVendorPath(e),stripComponents:1}))}};var gL=class{supportsDescriptor(e,r){return ff(e.range)}supportsLocator(e,r){return ff(e.reference)}shouldPersistResolution(e,r){return!0}bindDescriptor(e,r,i){return e}getResolutionDependencies(e,r){return[]}async getCandidates(e,r,i){let n=await lL(e.range,i.project.configuration);return[S.makeLocator(e,n)]}async getSatisfying(e,r,i){return null}async resolve(e,r){if(!r.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let i=await r.fetchOptions.fetcher.fetch(e,r.fetchOptions),n=await de.releaseAfterUseAsync(async()=>await Ze.find(i.prefixPath,{baseFs:i.packageFs}),i.releaseFs);return _(P({},e),{version:n.version||"0.0.0",languageName:n.languageName||r.project.configuration.get("defaultLanguageName"),linkType:gt.HARD,conditions:n.getConditions(),dependencies:n.dependencies,peerDependencies:n.peerDependencies,dependenciesMeta:n.dependenciesMeta,peerDependenciesMeta:n.peerDependenciesMeta,bin:n.bin})}};var yze={configuration:{changesetBaseRefs:{description:"The base git refs that the current HEAD is compared against when detecting changes. Supports git branches, tags, and commits.",type:ge.STRING,isArray:!0,isNullable:!1,default:["master","origin/master","upstream/master","main","origin/main","upstream/main"]},changesetIgnorePatterns:{description:"Array of glob patterns; files matching them will be ignored when fetching the changed files",type:ge.STRING,default:[],isArray:!0},cloneConcurrency:{description:"Maximal number of concurrent clones",type:ge.NUMBER,default:2}},fetchers:[uL],resolvers:[gL]};var wze=yze;var HC=class extends Be{constructor(){super(...arguments);this.since=Y.String("--since",{description:"Only include workspaces that have been changed since the specified ref.",tolerateBoolean:!0});this.recursive=Y.Boolean("-R,--recursive",!1,{description:"Find packages via dependencies/devDependencies instead of using the workspaces field"});this.verbose=Y.Boolean("-v,--verbose",!1,{description:"Also return the cross-dependencies between workspaces"});this.json=Y.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins),{project:r}=await Ke.find(e,this.context.cwd);return(await Fe.start({configuration:e,json:this.json,stdout:this.context.stdout},async n=>{let s=this.since?await Uc.fetchChangedWorkspaces({ref:this.since,project:r}):r.workspaces,o=new Set(s);if(this.recursive)for(let a of[...s].map(l=>l.getRecursiveWorkspaceDependents()))for(let l of a)o.add(l);for(let a of o){let{manifest:l}=a,c;if(this.verbose){let u=new Set,g=new Set;for(let f of Ze.hardDependencies)for(let[h,p]of l.getForScope(f)){let d=r.tryWorkspaceByDescriptor(p);d===null?r.workspacesByIdent.has(h)&&g.add(p):u.add(d)}c={workspaceDependencies:Array.from(u).map(f=>f.relativeCwd),mismatchedWorkspaceDependencies:Array.from(g).map(f=>S.stringifyDescriptor(f))}}n.reportInfo(null,`${a.relativeCwd}`),n.reportJson(P({location:a.relativeCwd,name:l.name?S.stringifyIdent(l.name):null},c))}})).exitCode()}};HC.paths=[["workspaces","list"]],HC.usage=ye.Usage({category:"Workspace-related commands",description:"list all available workspaces",details:"\n This command will print the list of all workspaces in the project.\n\n - If `--since` is set, Yarn will only list workspaces that have been modified since the specified ref. By default Yarn will use the refs specified by the `changesetBaseRefs` configuration option.\n\n - If `-R,--recursive` is set, Yarn will find workspaces to run the command on by recursively evaluating `dependencies` and `devDependencies` fields, instead of looking at the `workspaces` fields.\n\n - If both the `-v,--verbose` and `--json` options are set, Yarn will also return the cross-dependencies between each workspaces (useful when you wish to automatically generate Buck / Bazel rules).\n "});var qAe=HC;var GC=class extends Be{constructor(){super(...arguments);this.workspaceName=Y.String();this.commandName=Y.String();this.args=Y.Proxy()}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Ke.find(e,this.context.cwd);if(!i)throw new rt(r.cwd,this.context.cwd);let n=r.workspaces,s=new Map(n.map(a=>{let l=S.convertToIdent(a.locator);return[S.stringifyIdent(l),a]})),o=s.get(this.workspaceName);if(o===void 0){let a=Array.from(s.keys()).sort();throw new me(`Workspace '${this.workspaceName}' not found. Did you mean any of the following: + - ${a.join(` + - `)}?`)}return this.cli.run([this.commandName,...this.args],{cwd:o.cwd})}};GC.paths=[["workspace"]],GC.usage=ye.Usage({category:"Workspace-related commands",description:"run a command within the specified workspace",details:` + This command will run a given sub-command on a single workspace. + `,examples:[["Add a package to a single workspace","yarn workspace components add -D react"],["Run build script on a single workspace","yarn workspace components run build"]]});var JAe=GC;var Bze={configuration:{enableImmutableInstalls:{description:"If true (the default on CI), prevents the install command from modifying the lockfile",type:ge.BOOLEAN,default:WAe.isCI},defaultSemverRangePrefix:{description:"The default save prefix: '^', '~' or ''",type:ge.STRING,values:["^","~",""],default:Lo.CARET}},commands:[soe,aoe,wae,Nae,mAe,nAe,tAe,qAe,Uae,Hae,Gae,jae,ioe,noe,Lae,Mae,Yae,qae,Wae,zae,_ae,IAe,Xae,cAe,AAe,uAe,Zae,gAe,fAe,hAe,dAe,CAe,wAe,BAe,JAe]},Qze=Bze;var mL={};it(mL,{default:()=>vze});var Me={optional:!0},zAe=[["@tailwindcss/aspect-ratio@<0.2.1",{peerDependencies:{tailwindcss:"^2.0.2"}}],["@tailwindcss/line-clamp@<0.2.1",{peerDependencies:{tailwindcss:"^2.0.2"}}],["@fullhuman/postcss-purgecss@3.1.3 || 3.1.3-alpha.0",{peerDependencies:{postcss:"^8.0.0"}}],["@samverschueren/stream-to-observable@<0.3.1",{peerDependenciesMeta:{rxjs:Me,zenObservable:Me}}],["any-observable@<0.5.1",{peerDependenciesMeta:{rxjs:Me,zenObservable:Me}}],["@pm2/agent@<1.0.4",{dependencies:{debug:"*"}}],["debug@<4.2.0",{peerDependenciesMeta:{["supports-color"]:Me}}],["got@<11",{dependencies:{["@types/responselike"]:"^1.0.0",["@types/keyv"]:"^3.1.1"}}],["cacheable-lookup@<4.1.2",{dependencies:{["@types/keyv"]:"^3.1.1"}}],["http-link-dataloader@*",{peerDependencies:{graphql:"^0.13.1 || ^14.0.0"}}],["typescript-language-server@*",{dependencies:{["vscode-jsonrpc"]:"^5.0.1",["vscode-languageserver-protocol"]:"^3.15.0"}}],["postcss-syntax@*",{peerDependenciesMeta:{["postcss-html"]:Me,["postcss-jsx"]:Me,["postcss-less"]:Me,["postcss-markdown"]:Me,["postcss-scss"]:Me}}],["jss-plugin-rule-value-function@<=10.1.1",{dependencies:{["tiny-warning"]:"^1.0.2"}}],["ink-select-input@<4.1.0",{peerDependencies:{react:"^16.8.2"}}],["license-webpack-plugin@<2.3.18",{peerDependenciesMeta:{webpack:Me}}],["snowpack@>=3.3.0",{dependencies:{["node-gyp"]:"^7.1.0"}}],["promise-inflight@*",{peerDependenciesMeta:{bluebird:Me}}],["reactcss@*",{peerDependencies:{react:"*"}}],["react-color@<=2.19.0",{peerDependencies:{react:"*"}}],["gatsby-plugin-i18n@*",{dependencies:{ramda:"^0.24.1"}}],["useragent@^2.0.0",{dependencies:{request:"^2.88.0",yamlparser:"0.0.x",semver:"5.5.x"}}],["@apollographql/apollo-tools@*",{peerDependencies:{graphql:"^14.2.1 || ^15.0.0"}}],["material-table@^2.0.0",{dependencies:{"@babel/runtime":"^7.11.2"}}],["@babel/parser@*",{dependencies:{"@babel/types":"^7.8.3"}}],["fork-ts-checker-webpack-plugin@<=6.3.4",{peerDependencies:{eslint:">= 6",typescript:">= 2.7",webpack:">= 4","vue-template-compiler":"*"},peerDependenciesMeta:{eslint:Me,"vue-template-compiler":Me}}],["rc-animate@<=3.1.1",{peerDependencies:{react:">=16.9.0","react-dom":">=16.9.0"}}],["react-bootstrap-table2-paginator@*",{dependencies:{classnames:"^2.2.6"}}],["react-draggable@<=4.4.3",{peerDependencies:{react:">= 16.3.0","react-dom":">= 16.3.0"}}],["apollo-upload-client@<14",{peerDependencies:{graphql:"14 - 15"}}],["react-instantsearch-core@<=6.7.0",{peerDependencies:{algoliasearch:">= 3.1 < 5"}}],["react-instantsearch-dom@<=6.7.0",{dependencies:{"react-fast-compare":"^3.0.0"}}],["ws@<7.2.1",{peerDependencies:{bufferutil:"^4.0.1","utf-8-validate":"^5.0.2"},peerDependenciesMeta:{bufferutil:Me,"utf-8-validate":Me}}],["react-portal@*",{peerDependencies:{"react-dom":"^15.0.0-0 || ^16.0.0-0 || ^17.0.0-0"}}],["react-scripts@<=4.0.1",{peerDependencies:{react:"*"}}],["testcafe@<=1.10.1",{dependencies:{"@babel/plugin-transform-for-of":"^7.12.1","@babel/runtime":"^7.12.5"}}],["testcafe-legacy-api@<=4.2.0",{dependencies:{"testcafe-hammerhead":"^17.0.1","read-file-relative":"^1.2.0"}}],["@google-cloud/firestore@<=4.9.3",{dependencies:{protobufjs:"^6.8.6"}}],["gatsby-source-apiserver@*",{dependencies:{["babel-polyfill"]:"^6.26.0"}}],["@webpack-cli/package-utils@<=1.0.1-alpha.4",{dependencies:{["cross-spawn"]:"^7.0.3"}}],["gatsby-remark-prismjs@<3.3.28",{dependencies:{lodash:"^4"}}],["gatsby-plugin-favicon@*",{peerDependencies:{webpack:"*"}}],["gatsby-plugin-sharp@*",{dependencies:{debug:"^4.3.1"}}],["gatsby-react-router-scroll@*",{dependencies:{["prop-types"]:"^15.7.2"}}],["@rebass/forms@*",{dependencies:{["@styled-system/should-forward-prop"]:"^5.0.0"},peerDependencies:{react:"^16.8.6"}}],["rebass@*",{peerDependencies:{react:"^16.8.6"}}],["@ant-design/react-slick@<=0.28.3",{peerDependencies:{react:">=16.0.0"}}],["mqtt@<4.2.7",{dependencies:{duplexify:"^4.1.1"}}],["vue-cli-plugin-vuetify@<=2.0.3",{dependencies:{semver:"^6.3.0"},peerDependenciesMeta:{"sass-loader":Me,"vuetify-loader":Me}}],["vue-cli-plugin-vuetify@<=2.0.4",{dependencies:{"null-loader":"^3.0.0"}}],["@vuetify/cli-plugin-utils@<=0.0.4",{dependencies:{semver:"^6.3.0"},peerDependenciesMeta:{"sass-loader":Me}}],["@vue/cli-plugin-typescript@<=5.0.0-alpha.0",{dependencies:{"babel-loader":"^8.1.0"}}],["@vue/cli-plugin-typescript@<=5.0.0-beta.0",{dependencies:{"@babel/core":"^7.12.16"},peerDependencies:{"vue-template-compiler":"^2.0.0"},peerDependenciesMeta:{"vue-template-compiler":Me}}],["cordova-ios@<=6.3.0",{dependencies:{underscore:"^1.9.2"}}],["cordova-lib@<=10.0.1",{dependencies:{underscore:"^1.9.2"}}],["git-node-fs@*",{peerDependencies:{"js-git":"^0.7.8"},peerDependenciesMeta:{"js-git":Me}}],["consolidate@*",{peerDependencies:{velocityjs:"^2.0.1",tinyliquid:"^0.2.34","liquid-node":"^3.0.1",jade:"^1.11.0","then-jade":"*",dust:"^0.3.0","dustjs-helpers":"^1.7.4","dustjs-linkedin":"^2.7.5",swig:"^1.4.2","swig-templates":"^2.0.3","razor-tmpl":"^1.3.1",atpl:">=0.7.6",liquor:"^0.0.5",twig:"^1.15.2",ejs:"^3.1.5",eco:"^1.1.0-rc-3",jazz:"^0.0.18",jqtpl:"~1.1.0",hamljs:"^0.6.2",hamlet:"^0.3.3",whiskers:"^0.4.0","haml-coffee":"^1.14.1","hogan.js":"^3.0.2",templayed:">=0.2.3",handlebars:"^4.7.6",underscore:"^1.11.0",lodash:"^4.17.20",pug:"^3.0.0","then-pug":"*",qejs:"^3.0.5",walrus:"^0.10.1",mustache:"^4.0.1",just:"^0.1.8",ect:"^0.5.9",mote:"^0.2.0",toffee:"^0.3.6",dot:"^1.1.3","bracket-template":"^1.1.5",ractive:"^1.3.12",nunjucks:"^3.2.2",htmling:"^0.0.8","babel-core":"^6.26.3",plates:"~0.4.11","react-dom":"^16.13.1",react:"^16.13.1","arc-templates":"^0.5.3",vash:"^0.13.0",slm:"^2.0.0",marko:"^3.14.4",teacup:"^2.0.0","coffee-script":"^1.12.7",squirrelly:"^5.1.0",twing:"^5.0.2"},peerDependenciesMeta:{velocityjs:Me,tinyliquid:Me,"liquid-node":Me,jade:Me,"then-jade":Me,dust:Me,"dustjs-helpers":Me,"dustjs-linkedin":Me,swig:Me,"swig-templates":Me,"razor-tmpl":Me,atpl:Me,liquor:Me,twig:Me,ejs:Me,eco:Me,jazz:Me,jqtpl:Me,hamljs:Me,hamlet:Me,whiskers:Me,"haml-coffee":Me,"hogan.js":Me,templayed:Me,handlebars:Me,underscore:Me,lodash:Me,pug:Me,"then-pug":Me,qejs:Me,walrus:Me,mustache:Me,just:Me,ect:Me,mote:Me,toffee:Me,dot:Me,"bracket-template":Me,ractive:Me,nunjucks:Me,htmling:Me,"babel-core":Me,plates:Me,"react-dom":Me,react:Me,"arc-templates":Me,vash:Me,slm:Me,marko:Me,teacup:Me,"coffee-script":Me,squirrelly:Me,twing:Me}}],["vue-loader@<=16.3.1",{peerDependencies:{"@vue/compiler-sfc":"^3.0.8",webpack:"^4.1.0 || ^5.0.0-0"}}],["scss-parser@*",{dependencies:{lodash:"^4.17.21"}}],["query-ast@*",{dependencies:{lodash:"^4.17.21"}}],["redux-thunk@<=2.3.0",{peerDependencies:{redux:"^4.0.0"}}],["skypack@<=0.3.2",{dependencies:{tar:"^6.1.0"}}],["@npmcli/metavuln-calculator@*",{dependencies:{"json-parse-even-better-errors":"^2.3.1"}}],["bin-links@*",{dependencies:{"mkdirp-infer-owner":"^1.0.2"}}],["rollup-plugin-polyfill-node@*",{peerDependencies:{rollup:"^1.20.0 || ^2.0.0"}}],["snowpack@*",{dependencies:{"magic-string":"^0.25.7"}}],["elm-webpack-loader@*",{dependencies:{temp:"^0.9.4"}}],["winston-transport@<=4.4.0",{dependencies:{logform:"^2.2.0"}}],["jest-vue-preprocessor@*",{dependencies:{"@babel/core":"7.8.7","@babel/template":"7.8.6"},peerDependencies:{pug:"^2.0.4"},peerDependenciesMeta:{pug:Me}}],["redux-persist@*",{peerDependencies:{react:">=16"},peerDependenciesMeta:{react:Me}}],["sodium@>=3",{dependencies:{"node-gyp":"^3.8.0"}}],["babel-plugin-graphql-tag@<=3.1.0",{peerDependencies:{graphql:"^14.0.0 || ^15.0.0"}}],["@playwright/test@<=1.14.1",{dependencies:{"jest-matcher-utils":"^26.4.2"}}],...["babel-plugin-remove-graphql-queries@<3.14.0-next.1","babel-preset-gatsby-package@<1.14.0-next.1","create-gatsby@<1.14.0-next.1","gatsby-admin@<0.24.0-next.1","gatsby-cli@<3.14.0-next.1","gatsby-core-utils@<2.14.0-next.1","gatsby-design-tokens@<3.14.0-next.1","gatsby-legacy-polyfills@<1.14.0-next.1","gatsby-plugin-benchmark-reporting@<1.14.0-next.1","gatsby-plugin-graphql-config@<0.23.0-next.1","gatsby-plugin-image@<1.14.0-next.1","gatsby-plugin-mdx@<2.14.0-next.1","gatsby-plugin-netlify-cms@<5.14.0-next.1","gatsby-plugin-no-sourcemaps@<3.14.0-next.1","gatsby-plugin-page-creator@<3.14.0-next.1","gatsby-plugin-preact@<5.14.0-next.1","gatsby-plugin-preload-fonts@<2.14.0-next.1","gatsby-plugin-schema-snapshot@<2.14.0-next.1","gatsby-plugin-styletron@<6.14.0-next.1","gatsby-plugin-subfont@<3.14.0-next.1","gatsby-plugin-utils@<1.14.0-next.1","gatsby-recipes@<0.25.0-next.1","gatsby-source-shopify@<5.6.0-next.1","gatsby-source-wikipedia@<3.14.0-next.1","gatsby-transformer-screenshot@<3.14.0-next.1","gatsby-worker@<0.5.0-next.1"].map(t=>[t,{dependencies:{"@babel/runtime":"^7.14.8"}}]),["gatsby-core-utils@<2.14.0-next.1",{dependencies:{got:"8.3.2"}}],["gatsby-plugin-gatsby-cloud@<=3.1.0-next.0",{dependencies:{"gatsby-core-utils":"^2.13.0-next.0"}}],["gatsby-plugin-gatsby-cloud@<=3.2.0-next.1",{peerDependencies:{webpack:"*"}}],["babel-plugin-remove-graphql-queries@<=3.14.0-next.1",{dependencies:{"gatsby-core-utils":"^2.8.0-next.1"}}],["gatsby-plugin-netlify@3.13.0-next.1",{dependencies:{"gatsby-core-utils":"^2.13.0-next.0"}}],["clipanion-v3-codemod@<=0.2.0",{peerDependencies:{jscodeshift:"^0.11.0"}}],["react-live@*",{peerDependencies:{"react-dom":"*",react:"*"}}],["webpack@<4.44.1",{peerDependenciesMeta:{"webpack-cli":Me,"webpack-command":Me}}],["webpack@<5.0.0-beta.23",{peerDependenciesMeta:{"webpack-cli":Me}}],["webpack-dev-server@<3.10.2",{peerDependenciesMeta:{"webpack-cli":Me}}]];var pL;function VAe(){return typeof pL=="undefined"&&(pL=require("zlib").brotliDecompressSync(Buffer.from("G7weAByFTVk3Vs7UfHhq4yykgEM7pbW7TI43SG2S5tvGrwHBAzdz+s/npQ6tgEvobvxisrPIadkXeUAJotBn5bDZ5kAhcRqsIHe3F75Walet5hNalwgFDtxb0BiDUjiUQkjG0yW2hto9HPgiCkm316d6bC0kST72YN7D7rfkhCE9x4J0XwB0yavalxpUu2t9xszHrmtwalOxT7VslsxWcB1qpqZwERUra4psWhTV8BgwWeizurec82Caf1ABL11YMfbf8FJ9JBceZOkgmvrQPbC9DUldX/yMbmX06UQluCEjSwUoyO+EZPIjofr+/oAZUck2enraRD+oWLlnlYnj8xB+gwSo9lmmks4fXv574qSqcWA6z21uYkzMu3EWj+K23RxeQlLqiE35/rC8GcS4CGkKHKKq+zAIQwD9iRDNfiAqueLLpicFFrNsAI4zeTD/eO9MHcnRa5m8UT+M2+V+AkFST4BlKneiAQRSdST8KEAIyFlULt6wa9EBd0Ds28VmpaxquJdVt+nwdEs5xUskI13OVtFyY0UrQIRAlCuvvWivvlSKQfTO+2Q8OyUR1W5RvetaPz4jD27hdtwHFFA1Ptx6Ee/t2cY2rg2G46M1pNDRf2pWhvpy8pqMnuI3++4OF3+7OFIWXGjh+o7Nr2jNvbiYcQdQS1h903/jVFgOpA0yJ78z+x759bFA0rq+6aY5qPB4FzS3oYoLupDUhD9nDz6F6H7hpnlMf18KNKDu4IKjTWwrAnY6MFQw1W6ymOALHlFyCZmQhldg1MQHaMVVQTVgDC60TfaBqG++Y8PEoFhN/PBTZT175KNP/BlHDYGOOBmnBdzqJKplZ/ljiVG0ZBzfqeBRrrUkn6rA54462SgiliKoYVnbeptMdXNfAuaupIEi0bApF10TlgHfmEJAPUVidRVFyDupSem5po5vErPqWKhKbUIp0LozpYsIKK57dM/HKr+nguF+7924IIWMICkQ8JUigs9D+W+c4LnNoRtPPKNRUiCYmP+Jfo2lfKCKw8qpraEeWU3uiNRO6zcyKQoXPR5htmzzLznke7b4YbXW3I1lIRzmgG02Udb58U+7TpwyN7XymCgH+wuPDthZVQvRZuEP+SnLtMicz9m5zASWOBiAcLmkuFlTKuHspSIhCBD0yUPKcxu81A+4YD78rA2vtwsUEday9WNyrShyrl60rWmA+SmbYZkQOwFJWArxRYYc5jGhA5ikxYw1rx3ei4NmeX/lKiwpZ9Ln1tV2Ae7sArvxuVLbJjqJRjW1vFXAyHpvLG+8MJ6T2Ubx5M2KDa2SN6vuIGxJ9WQM9Mk3Q7aCNiZONXllhqq24DmoLbQfW2rYWsOgHWjtOmIQMyMKdiHZDjoyIq5+U700nZ6odJAoYXPQBvFNiQ78d5jaXliBqLTJEqUCwi+LiH2mx92EmNKDsJL74Z613+3lf20pxkV1+erOrjj8pW00vsPaahKUM+05ssd5uwM7K482KWEf3TCwlg/o3e5ngto7qSMz7YteIgCsF1UOcsLk7F7MxWbvrPMY473ew0G+noVL8EPbkmEMftMSeL6HFub/zy+2JQ==","base64")).toString()),pL}var dL;function _Ae(){return typeof dL=="undefined"&&(dL=require("zlib").brotliDecompressSync(Buffer.from("G8MSIIzURnVBnObTcvb3XE6v2S9Qgc2K801Oa5otNKEtK8BINZNcaQHy+9/vf/WXBimwutXC33P2DPc64pps5rz7NGGWaOKNSPL4Y2KRE8twut2lFOIN+OXPtRmPMRhMTILib2bEQx43az2I5d3YS8Roa5UZpF/ujHb3Djd3GDvYUfvFYSUQ39vb2cmifp/rgB4J/65JK3wRBTvMBoNBmn3mbXC63/gbBkW/2IRPri0O8bcsRBsmarF328pAln04nyJFkwUAvNu934supAqLtyerZZpJ8I8suJHhf/ocMV+scKwa8NOiDKIPXw6Ex/EEZD6TEGaW8N5zvNHYF10l6Lfooj7D5W2k3dgvQSbp2Wv8TGOayS978gxlOLVjTGXs66ozewbrjwElLtyrYNnWTfzzdEutgROUFPVMhnMoy8EjJLLlWwIEoySxliim9kYW30JUHiPVyjt0iAw/ZpPmCbUCltYPnq6ZNblIKhTNhqS/oqC9iya5sGKZTOVsTEg34n92uZTf2iPpcZih8rPW8CzA+adIGmyCPcKdLMsBLShd+zuEbTrqpwuh+DLmracZcjPC5Sdf5odDAhKpFuOsQS67RT+1VgWWygSv3YwxDnylc04/PYuaMeIzhBkLrvs7e/OUzRTF56MmfY6rI63QtEjEQzq637zQqJ39nNhu3NmoRRhW/086bHGBUtx0PE0j3aEGvkdh9WJC8y8j8mqqke9/dQ5la+Q3ba4RlhvTbnfQhPDDab3tUifkjKuOsp13mXEmO00Mu88F/M67R7LXfoFDFLNtgCSWjWX+3Jn1371pJTK9xPBiMJafvDjtFyAzu8rxeQ0TKMQXNPs5xxiBOd+BRJP8KP88XPtJIbZKh/cdW8KvBUkpqKpGoiIaA32c3/JnQr4efXt85mXvidOvn/eU3Pase1typLYBalJ14mCso9h79nuMOuCa/kZAOkJHmTjP5RM2WNoPasZUAnT1TAE/NH25hUxcQv6hQWR/m1PKk4ooXMcM4SR1iYU3fUohvqk4RY2hbmTVVIXv6TvqO+0doOjgeVFAcom+RlwJQmOVH7pr1Q9LoJT6n1DeQEB+NHygsATbIwTcOKZlJsY8G4+suX1uQLjUWwLjjs0mvSvZcLTpIGAekeR7GCgl8eo3ndAqEe2XCav4huliHjdbIPBsGJuPX7lrO9HX1UbXRH5opOe1x6JsOSgHZR+EaxuXVhpLLxm6jk1LJtZfHSc6BKPun3CpYYVMJGwEUyk8MTGG0XL5MfEwaXpnc9TKnBmlGn6nHiGREc3ysn47XIBDzA+YvFdjZzVIEDcKGpS6PbUJehFRjEne8D0lVU1XuRtlgszq6pTNlQ/3MzNOEgCWPyTct22V2mEi2krizn5VDo9B19/X2DB3hCGRMM7ONbtnAcIx/OWB1u5uPbW1gsH8irXxT/IzG0PoXWYjhbMsH3KTuoOl5o17PulcgvsfTSnKFM354GWI8luqZnrswWjiXy3G+Vbyo1KMopFmmvBwNELgaS8z8dNZchx/Cl/xjddxhMcyqtzFyONb2Zdu90NkI8pAeufe7YlXrp53v8Dj/l8vWeVspRKBGXScBBPI/HinSTGmLDOGGOCIyH0JFdOZx0gWsacNlQLJMIrBhqRxXxHF/5pseWwejlAAvZ3klZSDSYY8mkToaWejXhgNomeGtx1DTLEUFMRkgF5yFB22WYdJnaWN14r1YJj81hGi45+jrADS5nYRhCiSlCJJ1nL8pYX+HDSMhdTEWyRcgHVp/IsUIZYMfT+YYncUQPgcxNGCHfZ88vDdrcUuaGIl6zhAsiaq7R5dfqrqXH/JcBhfjT8D0azayIyEz75Nxp6YkcyDxlJq3EXnJUpqDohJJOysL1t1uNiHESlvsxPb5cpbW0+ICZqJmUZus1BMW0F5IVBODLIo2zHHjA0=","base64")).toString()),dL}var CL;function XAe(){return typeof CL=="undefined"&&(CL=require("zlib").brotliDecompressSync(Buffer.from("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","base64")).toString()),CL}var ZAe=new Map([[S.makeIdent(null,"fsevents").identHash,VAe],[S.makeIdent(null,"resolve").identHash,_Ae],[S.makeIdent(null,"typescript").identHash,XAe]]),bze={hooks:{registerPackageExtensions:async(t,e)=>{for(let[r,i]of zAe)e(S.parseDescriptor(r,!0),i)},getBuiltinPatch:async(t,e)=>{var s;let r="compat/";if(!e.startsWith(r))return;let i=S.parseIdent(e.slice(r.length)),n=(s=ZAe.get(i.identHash))==null?void 0:s();return typeof n!="undefined"?n:null},reduceDependency:async(t,e,r,i)=>typeof ZAe.get(t.identHash)=="undefined"?t:S.makeDescriptor(t,S.makeRange({protocol:"patch:",source:S.stringifyDescriptor(t),selector:`~builtin`,params:null}))}},vze=bze;var EL={};it(EL,{default:()=>xze});var V0=class extends Be{constructor(){super(...arguments);this.pkg=Y.String("-p,--package",{description:"The package to run the provided command from"});this.quiet=Y.Boolean("-q,--quiet",!1,{description:"Only report critical errors instead of printing the full install logs"});this.command=Y.String();this.args=Y.Proxy()}async execute(){let e=[];this.pkg&&e.push("--package",this.pkg),this.quiet&&e.push("--quiet");let r=S.parseIdent(this.command),i=S.makeIdent(r.scope,`create-${r.name}`);return this.cli.run(["dlx",...e,S.stringifyIdent(i),...this.args])}};V0.paths=[["create"]];var $Ae=V0;var jC=class extends Be{constructor(){super(...arguments);this.packages=Y.Array("-p,--package",{description:"The package(s) to install before running the command"});this.quiet=Y.Boolean("-q,--quiet",!1,{description:"Only report critical errors instead of printing the full install logs"});this.command=Y.String();this.args=Y.Proxy()}async execute(){return fe.telemetry=null,await T.mktempPromise(async e=>{var p;let r=v.join(e,`dlx-${process.pid}`);await T.mkdirPromise(r),await T.writeFilePromise(v.join(r,"package.json"),`{} +`),await T.writeFilePromise(v.join(r,"yarn.lock"),"");let i=v.join(r,".yarnrc.yml"),n=await fe.findProjectCwd(this.context.cwd,wt.lockfile),s=!(await fe.find(this.context.cwd,null,{strict:!1})).get("enableGlobalCache"),o=n!==null?v.join(n,".yarnrc.yml"):null;o!==null&&T.existsSync(o)?(await T.copyFilePromise(o,i),await fe.updateConfiguration(r,d=>{let m=_(P({},d),{enableGlobalCache:s,enableTelemetry:!1});return Array.isArray(d.plugins)&&(m.plugins=d.plugins.map(I=>{let B=typeof I=="string"?I:I.path,b=M.isAbsolute(B)?B:M.resolve(M.fromPortablePath(n),B);return typeof I=="string"?b:{path:b,spec:I.spec}})),m})):await T.writeFilePromise(i,`enableGlobalCache: ${s} +enableTelemetry: false +`);let a=(p=this.packages)!=null?p:[this.command],l=S.parseDescriptor(this.command).name,c=await this.cli.run(["add","--",...a],{cwd:r,quiet:this.quiet});if(c!==0)return c;this.quiet||this.context.stdout.write(` +`);let u=await fe.find(r,this.context.plugins),{project:g,workspace:f}=await Ke.find(u,r);if(f===null)throw new rt(g.cwd,r);await g.restoreInstallState();let h=await Kt.getWorkspaceAccessibleBinaries(f);return h.has(l)===!1&&h.size===1&&typeof this.packages=="undefined"&&(l=Array.from(h)[0][0]),await Kt.executeWorkspaceAccessibleBinary(f,l,this.args,{packageAccessibleBinaries:h,cwd:this.context.cwd,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr})})}};jC.paths=[["dlx"]],jC.usage=ye.Usage({description:"run a package in a temporary environment",details:"\n This command will install a package within a temporary environment, and run its binary script if it contains any. The binary will run within the current cwd.\n\n By default Yarn will download the package named `command`, but this can be changed through the use of the `-p,--package` flag which will instruct Yarn to still run the same command but from a different package.\n\n Using `yarn dlx` as a replacement of `yarn add` isn't recommended, as it makes your project non-deterministic (Yarn doesn't keep track of the packages installed through `dlx` - neither their name, nor their version).\n ",examples:[["Use create-react-app to create a new React app","yarn dlx create-react-app ./my-app"],["Install multiple packages for a single command",`yarn dlx -p typescript -p ts-node ts-node --transpile-only -e "console.log('hello!')"`]]});var ele=jC;var Sze={commands:[$Ae,ele]},xze=Sze;var xL={};it(xL,{default:()=>Dze,fileUtils:()=>IL});var hf=/^(?:[a-zA-Z]:[\\/]|\.{0,2}\/)/,YC=/^[^?]*\.(?:tar\.gz|tgz)(?:::.*)?$/,Nr="file:";var IL={};it(IL,{makeArchiveFromLocator:()=>_0,makeBufferFromLocator:()=>BL,makeLocator:()=>wL,makeSpec:()=>tle,parseSpec:()=>yL});function yL(t){let{params:e,selector:r}=S.parseRange(t),i=M.toPortablePath(r);return{parentLocator:e&&typeof e.locator=="string"?S.parseLocator(e.locator):null,path:i}}function tle({parentLocator:t,path:e,folderHash:r,protocol:i}){let n=t!==null?{locator:S.stringifyLocator(t)}:{},s=typeof r!="undefined"?{hash:r}:{};return S.makeRange({protocol:i,source:e,selector:e,params:P(P({},s),n)})}function wL(t,{parentLocator:e,path:r,folderHash:i,protocol:n}){return S.makeLocator(t,tle({parentLocator:e,path:r,folderHash:i,protocol:n}))}async function _0(t,{protocol:e,fetchOptions:r,inMemory:i=!1}){let{parentLocator:n,path:s}=S.parseFileStyleRange(t.reference,{protocol:e}),o=v.isAbsolute(s)?{packageFs:new Ft(Se.root),prefixPath:Se.dot,localPath:Se.root}:await r.fetcher.fetch(n,r),a=o.localPath?{packageFs:new Ft(Se.root),prefixPath:v.relative(Se.root,o.localPath)}:o;o!==a&&o.releaseFs&&o.releaseFs();let l=a.packageFs,c=v.join(a.prefixPath,s);return await de.releaseAfterUseAsync(async()=>await Ai.makeArchiveFromDirectory(c,{baseFs:l,prefixPath:S.getIdentVendorPath(t),compressionLevel:r.project.configuration.get("compressionLevel"),inMemory:i}),a.releaseFs)}async function BL(t,{protocol:e,fetchOptions:r}){return(await _0(t,{protocol:e,fetchOptions:r,inMemory:!0})).getBufferAndClose()}var QL=class{supports(e,r){return!!e.reference.startsWith(Nr)}getLocalPath(e,r){let{parentLocator:i,path:n}=S.parseFileStyleRange(e.reference,{protocol:Nr});if(v.isAbsolute(n))return n;let s=r.fetcher.getLocalPath(i,r);return s===null?null:v.resolve(s,n)}async fetch(e,r){let i=r.checksums.get(e.locatorHash)||null,[n,s,o]=await r.cache.fetchPackageFromCache(e,i,P({onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${S.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the disk`),loader:()=>this.fetchFromDisk(e,r),skipIntegrityCheck:r.skipIntegrityCheck},r.cacheOptions));return{packageFs:n,releaseFs:s,prefixPath:S.getIdentVendorPath(e),localPath:this.getLocalPath(e,r),checksum:o}}async fetchFromDisk(e,r){return _0(e,{protocol:Nr,fetchOptions:r})}};var kze=2,bL=class{supportsDescriptor(e,r){return e.range.match(hf)?!0:!!e.range.startsWith(Nr)}supportsLocator(e,r){return!!e.reference.startsWith(Nr)}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,i){return hf.test(e.range)&&(e=S.makeDescriptor(e,`${Nr}${e.range}`)),S.bindDescriptor(e,{locator:S.stringifyLocator(r)})}getResolutionDependencies(e,r){return[]}async getCandidates(e,r,i){if(!i.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let{path:n,parentLocator:s}=yL(e.range);if(s===null)throw new Error("Assertion failed: The descriptor should have been bound");let o=await BL(S.makeLocator(e,S.makeRange({protocol:Nr,source:n,selector:n,params:{locator:S.stringifyLocator(s)}})),{protocol:Nr,fetchOptions:i.fetchOptions}),a=mn.makeHash(`${kze}`,o).slice(0,6);return[wL(e,{parentLocator:s,path:n,folderHash:a,protocol:Nr})]}async getSatisfying(e,r,i){return null}async resolve(e,r){if(!r.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let i=await r.fetchOptions.fetcher.fetch(e,r.fetchOptions),n=await de.releaseAfterUseAsync(async()=>await Ze.find(i.prefixPath,{baseFs:i.packageFs}),i.releaseFs);return _(P({},e),{version:n.version||"0.0.0",languageName:n.languageName||r.project.configuration.get("defaultLanguageName"),linkType:gt.HARD,conditions:n.getConditions(),dependencies:n.dependencies,peerDependencies:n.peerDependencies,dependenciesMeta:n.dependenciesMeta,peerDependenciesMeta:n.peerDependenciesMeta,bin:n.bin})}};var vL=class{supports(e,r){return YC.test(e.reference)?!!e.reference.startsWith(Nr):!1}getLocalPath(e,r){return null}async fetch(e,r){let i=r.checksums.get(e.locatorHash)||null,[n,s,o]=await r.cache.fetchPackageFromCache(e,i,P({onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${S.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the disk`),loader:()=>this.fetchFromDisk(e,r),skipIntegrityCheck:r.skipIntegrityCheck},r.cacheOptions));return{packageFs:n,releaseFs:s,prefixPath:S.getIdentVendorPath(e),checksum:o}}async fetchFromDisk(e,r){let{parentLocator:i,path:n}=S.parseFileStyleRange(e.reference,{protocol:Nr}),s=v.isAbsolute(n)?{packageFs:new Ft(Se.root),prefixPath:Se.dot,localPath:Se.root}:await r.fetcher.fetch(i,r),o=s.localPath?{packageFs:new Ft(Se.root),prefixPath:v.relative(Se.root,s.localPath)}:s;s!==o&&s.releaseFs&&s.releaseFs();let a=o.packageFs,l=v.join(o.prefixPath,n),c=await a.readFilePromise(l);return await de.releaseAfterUseAsync(async()=>await Ai.convertToZip(c,{compressionLevel:r.project.configuration.get("compressionLevel"),prefixPath:S.getIdentVendorPath(e),stripComponents:1}),o.releaseFs)}};var SL=class{supportsDescriptor(e,r){return YC.test(e.range)?!!(e.range.startsWith(Nr)||hf.test(e.range)):!1}supportsLocator(e,r){return YC.test(e.reference)?!!e.reference.startsWith(Nr):!1}shouldPersistResolution(e,r){return!0}bindDescriptor(e,r,i){return hf.test(e.range)&&(e=S.makeDescriptor(e,`${Nr}${e.range}`)),S.bindDescriptor(e,{locator:S.stringifyLocator(r)})}getResolutionDependencies(e,r){return[]}async getCandidates(e,r,i){let n=e.range;return n.startsWith(Nr)&&(n=n.slice(Nr.length)),[S.makeLocator(e,`${Nr}${M.toPortablePath(n)}`)]}async getSatisfying(e,r,i){return null}async resolve(e,r){if(!r.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let i=await r.fetchOptions.fetcher.fetch(e,r.fetchOptions),n=await de.releaseAfterUseAsync(async()=>await Ze.find(i.prefixPath,{baseFs:i.packageFs}),i.releaseFs);return _(P({},e),{version:n.version||"0.0.0",languageName:n.languageName||r.project.configuration.get("defaultLanguageName"),linkType:gt.HARD,conditions:n.getConditions(),dependencies:n.dependencies,peerDependencies:n.peerDependencies,dependenciesMeta:n.dependenciesMeta,peerDependenciesMeta:n.peerDependenciesMeta,bin:n.bin})}};var Pze={fetchers:[vL,QL],resolvers:[SL,bL]},Dze=Pze;var PL={};it(PL,{default:()=>Nze});var rle=ie(require("querystring")),ile=[/^https?:\/\/(?:([^/]+?)@)?github.com\/([^/#]+)\/([^/#]+)\/tarball\/([^/#]+)(?:#(.*))?$/,/^https?:\/\/(?:([^/]+?)@)?github.com\/([^/#]+)\/([^/#]+?)(?:\.git)?(?:#(.*))?$/];function nle(t){return t?ile.some(e=>!!t.match(e)):!1}function sle(t){let e;for(let a of ile)if(e=t.match(a),e)break;if(!e)throw new Error(Rze(t));let[,r,i,n,s="master"]=e,{commit:o}=rle.default.parse(s);return s=o||s.replace(/[^:]*:/,""),{auth:r,username:i,reponame:n,treeish:s}}function Rze(t){return`Input cannot be parsed as a valid GitHub URL ('${t}').`}var kL=class{supports(e,r){return!!nle(e.reference)}getLocalPath(e,r){return null}async fetch(e,r){let i=r.checksums.get(e.locatorHash)||null,[n,s,o]=await r.cache.fetchPackageFromCache(e,i,P({onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${S.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from GitHub`),loader:()=>this.fetchFromNetwork(e,r),skipIntegrityCheck:r.skipIntegrityCheck},r.cacheOptions));return{packageFs:n,releaseFs:s,prefixPath:S.getIdentVendorPath(e),checksum:o}}async fetchFromNetwork(e,r){let i=await Zt.get(this.getLocatorUrl(e,r),{configuration:r.project.configuration});return await T.mktempPromise(async n=>{let s=new Ft(n);await Ai.extractArchiveTo(i,s,{stripComponents:1});let o=Uc.splitRepoUrl(e.reference),a=v.join(n,"package.tgz");await Kt.prepareExternalProject(n,a,{configuration:r.project.configuration,report:r.report,workspace:o.extra.workspace,locator:e});let l=await T.readFilePromise(a);return await Ai.convertToZip(l,{compressionLevel:r.project.configuration.get("compressionLevel"),prefixPath:S.getIdentVendorPath(e),stripComponents:1})})}getLocatorUrl(e,r){let{auth:i,username:n,reponame:s,treeish:o}=sle(e.reference);return`https://${i?`${i}@`:""}github.com/${n}/${s}/archive/${o}.tar.gz`}};var Fze={hooks:{async fetchHostedRepository(t,e,r){if(t!==null)return t;let i=new kL;if(!i.supports(e,r))return null;try{return await i.fetch(e,r)}catch(n){return null}}}},Nze=Fze;var FL={};it(FL,{default:()=>Tze});var qC=/^[^?]*\.(?:tar\.gz|tgz)(?:\?.*)?$/,JC=/^https?:/;var DL=class{supports(e,r){return qC.test(e.reference)?!!JC.test(e.reference):!1}getLocalPath(e,r){return null}async fetch(e,r){let i=r.checksums.get(e.locatorHash)||null,[n,s,o]=await r.cache.fetchPackageFromCache(e,i,P({onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${S.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the remote server`),loader:()=>this.fetchFromNetwork(e,r),skipIntegrityCheck:r.skipIntegrityCheck},r.cacheOptions));return{packageFs:n,releaseFs:s,prefixPath:S.getIdentVendorPath(e),checksum:o}}async fetchFromNetwork(e,r){let i=await Zt.get(e.reference,{configuration:r.project.configuration});return await Ai.convertToZip(i,{compressionLevel:r.project.configuration.get("compressionLevel"),prefixPath:S.getIdentVendorPath(e),stripComponents:1})}};var RL=class{supportsDescriptor(e,r){return qC.test(e.range)?!!JC.test(e.range):!1}supportsLocator(e,r){return qC.test(e.reference)?!!JC.test(e.reference):!1}shouldPersistResolution(e,r){return!0}bindDescriptor(e,r,i){return e}getResolutionDependencies(e,r){return[]}async getCandidates(e,r,i){return[S.convertDescriptorToLocator(e)]}async getSatisfying(e,r,i){return null}async resolve(e,r){if(!r.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let i=await r.fetchOptions.fetcher.fetch(e,r.fetchOptions),n=await de.releaseAfterUseAsync(async()=>await Ze.find(i.prefixPath,{baseFs:i.packageFs}),i.releaseFs);return _(P({},e),{version:n.version||"0.0.0",languageName:n.languageName||r.project.configuration.get("defaultLanguageName"),linkType:gt.HARD,conditions:n.getConditions(),dependencies:n.dependencies,peerDependencies:n.peerDependencies,dependenciesMeta:n.dependenciesMeta,peerDependenciesMeta:n.peerDependenciesMeta,bin:n.bin})}};var Lze={fetchers:[DL],resolvers:[RL]},Tze=Lze;var ML={};it(ML,{default:()=>M5e});var Rle=ie(Dle()),TL=ie(require("util")),WC=class extends Be{constructor(){super(...arguments);this.private=Y.Boolean("-p,--private",!1,{description:"Initialize a private package"});this.workspace=Y.Boolean("-w,--workspace",!1,{description:"Initialize a workspace root with a `packages/` directory"});this.install=Y.String("-i,--install",!1,{tolerateBoolean:!0,description:"Initialize a package with a specific bundle that will be locked in the project"});this.usev2=Y.Boolean("-2",!1,{hidden:!0});this.yes=Y.Boolean("-y,--yes",{hidden:!0});this.assumeFreshProject=Y.Boolean("--assume-fresh-project",!1,{hidden:!0})}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins),r=typeof this.install=="string"?this.install:this.usev2||this.install===!0?"latest":null;return r!==null?await this.executeProxy(e,r):await this.executeRegular(e)}async executeProxy(e,r){if(e.projectCwd!==null&&e.projectCwd!==this.context.cwd)throw new me("Cannot use the --install flag from within a project subdirectory");T.existsSync(this.context.cwd)||await T.mkdirPromise(this.context.cwd,{recursive:!0});let i=v.join(this.context.cwd,e.get("lockfileFilename"));T.existsSync(i)||await T.writeFilePromise(i,"");let n=await this.cli.run(["set","version",r],{quiet:!0});if(n!==0)return n;let s=[];return this.private&&s.push("-p"),this.workspace&&s.push("-w"),this.yes&&s.push("-y"),await T.mktempPromise(async o=>{let{code:a}=await hr.pipevp("yarn",["init",...s],{cwd:this.context.cwd,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr,env:await Kt.makeScriptEnv({binFolder:o})});return a})}async executeRegular(e){var l;let r=null;try{r=(await Ke.find(e,this.context.cwd)).project}catch{r=null}T.existsSync(this.context.cwd)||await T.mkdirPromise(this.context.cwd,{recursive:!0});let i=await Ze.tryFind(this.context.cwd)||new Ze,n=Object.fromEntries(e.get("initFields").entries());i.load(n),i.name=(l=i.name)!=null?l:S.makeIdent(e.get("initScope"),v.basename(this.context.cwd)),i.packageManager=Zr&&de.isTaggedYarnVersion(Zr)?`yarn@${Zr}`:null,typeof i.raw.private=="undefined"&&(this.private||this.workspace&&i.workspaceDefinitions.length===0)&&(i.private=!0),this.workspace&&i.workspaceDefinitions.length===0&&(await T.mkdirPromise(v.join(this.context.cwd,"packages"),{recursive:!0}),i.workspaceDefinitions=[{pattern:"packages/*"}]);let s={};i.exportTo(s),TL.inspect.styles.name="cyan",this.context.stdout.write(`${(0,TL.inspect)(s,{depth:Infinity,colors:!0,compact:!1})} +`);let o=v.join(this.context.cwd,Ze.fileName);await T.changeFilePromise(o,`${JSON.stringify(s,null,2)} +`,{automaticNewlines:!0});let a=v.join(this.context.cwd,"README.md");if(T.existsSync(a)||await T.writeFilePromise(a,`# ${S.stringifyIdent(i.name)} +`),!r||r.cwd===this.context.cwd){let c=v.join(this.context.cwd,wt.lockfile);T.existsSync(c)||await T.writeFilePromise(c,"");let g=["/.yarn/*","!/.yarn/patches","!/.yarn/plugins","!/.yarn/releases","!/.yarn/sdks","","# Swap the comments on the following lines if you don't wish to use zero-installs","# Documentation here: https://yarnpkg.com/features/zero-installs","!/.yarn/cache","#/.pnp.*"].map(m=>`${m} +`).join(""),f=v.join(this.context.cwd,".gitignore");T.existsSync(f)||await T.writeFilePromise(f,g);let h={["*"]:{endOfLine:"lf",insertFinalNewline:!0},["*.{js,json,yml}"]:{charset:"utf-8",indentStyle:"space",indentSize:2}};(0,Rle.default)(h,e.get("initEditorConfig"));let p=`root = true +`;for(let[m,I]of Object.entries(h)){p+=` +[${m}] +`;for(let[B,b]of Object.entries(I))p+=`${B.replace(/[A-Z]/g,H=>`_${H.toLowerCase()}`)} = ${b} +`}let d=v.join(this.context.cwd,".editorconfig");T.existsSync(d)||await T.writeFilePromise(d,p),T.existsSync(v.join(this.context.cwd,".git"))||await hr.execvp("git",["init"],{cwd:this.context.cwd})}}};WC.paths=[["init"]],WC.usage=ye.Usage({description:"create a new package",details:"\n This command will setup a new package in your local directory.\n\n If the `-p,--private` or `-w,--workspace` options are set, the package will be private by default.\n\n If the `-w,--workspace` option is set, the package will be configured to accept a set of workspaces in the `packages/` directory.\n\n If the `-i,--install` option is given a value, Yarn will first download it using `yarn set version` and only then forward the init call to the newly downloaded bundle. Without arguments, the downloaded bundle will be `latest`.\n\n The initial settings of the manifest can be changed by using the `initScope` and `initFields` configuration values. Additionally, Yarn will generate an EditorConfig file whose rules can be altered via `initEditorConfig`, and will initialize a Git repository in the current directory.\n ",examples:[["Create a new package in the local directory","yarn init"],["Create a new private package in the local directory","yarn init -p"],["Create a new package and store the Yarn release inside","yarn init -i=latest"],["Create a new private package and defines it as a workspace root","yarn init -w"]]});var Fle=WC;var T5e={configuration:{initScope:{description:"Scope used when creating packages via the init command",type:ge.STRING,default:null},initFields:{description:"Additional fields to set when creating packages via the init command",type:ge.MAP,valueDefinition:{description:"",type:ge.ANY}},initEditorConfig:{description:"Extra rules to define in the generator editorconfig",type:ge.MAP,valueDefinition:{description:"",type:ge.ANY}}},commands:[Fle]},M5e=T5e;var GL={};it(GL,{default:()=>K5e});var Ua="portal:",Ha="link:";var OL=class{supports(e,r){return!!e.reference.startsWith(Ua)}getLocalPath(e,r){let{parentLocator:i,path:n}=S.parseFileStyleRange(e.reference,{protocol:Ua});if(v.isAbsolute(n))return n;let s=r.fetcher.getLocalPath(i,r);return s===null?null:v.resolve(s,n)}async fetch(e,r){var c;let{parentLocator:i,path:n}=S.parseFileStyleRange(e.reference,{protocol:Ua}),s=v.isAbsolute(n)?{packageFs:new Ft(Se.root),prefixPath:Se.dot,localPath:Se.root}:await r.fetcher.fetch(i,r),o=s.localPath?{packageFs:new Ft(Se.root),prefixPath:v.relative(Se.root,s.localPath),localPath:Se.root}:s;s!==o&&s.releaseFs&&s.releaseFs();let a=o.packageFs,l=v.resolve((c=o.localPath)!=null?c:o.packageFs.getRealPath(),o.prefixPath,n);return s.localPath?{packageFs:new Ft(l,{baseFs:a}),releaseFs:o.releaseFs,prefixPath:Se.dot,localPath:l}:{packageFs:new Zo(l,{baseFs:a}),releaseFs:o.releaseFs,prefixPath:Se.dot}}};var KL=class{supportsDescriptor(e,r){return!!e.range.startsWith(Ua)}supportsLocator(e,r){return!!e.reference.startsWith(Ua)}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,i){return S.bindDescriptor(e,{locator:S.stringifyLocator(r)})}getResolutionDependencies(e,r){return[]}async getCandidates(e,r,i){let n=e.range.slice(Ua.length);return[S.makeLocator(e,`${Ua}${M.toPortablePath(n)}`)]}async getSatisfying(e,r,i){return null}async resolve(e,r){if(!r.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let i=await r.fetchOptions.fetcher.fetch(e,r.fetchOptions),n=await de.releaseAfterUseAsync(async()=>await Ze.find(i.prefixPath,{baseFs:i.packageFs}),i.releaseFs);return _(P({},e),{version:n.version||"0.0.0",languageName:n.languageName||r.project.configuration.get("defaultLanguageName"),linkType:gt.SOFT,conditions:n.getConditions(),dependencies:new Map([...n.dependencies]),peerDependencies:n.peerDependencies,dependenciesMeta:n.dependenciesMeta,peerDependenciesMeta:n.peerDependenciesMeta,bin:n.bin})}};var UL=class{supports(e,r){return!!e.reference.startsWith(Ha)}getLocalPath(e,r){let{parentLocator:i,path:n}=S.parseFileStyleRange(e.reference,{protocol:Ha});if(v.isAbsolute(n))return n;let s=r.fetcher.getLocalPath(i,r);return s===null?null:v.resolve(s,n)}async fetch(e,r){var c;let{parentLocator:i,path:n}=S.parseFileStyleRange(e.reference,{protocol:Ha}),s=v.isAbsolute(n)?{packageFs:new Ft(Se.root),prefixPath:Se.dot,localPath:Se.root}:await r.fetcher.fetch(i,r),o=s.localPath?{packageFs:new Ft(Se.root),prefixPath:v.relative(Se.root,s.localPath),localPath:Se.root}:s;s!==o&&s.releaseFs&&s.releaseFs();let a=o.packageFs,l=v.resolve((c=o.localPath)!=null?c:o.packageFs.getRealPath(),o.prefixPath,n);return s.localPath?{packageFs:new Ft(l,{baseFs:a}),releaseFs:o.releaseFs,prefixPath:Se.dot,discardFromLookup:!0,localPath:l}:{packageFs:new Zo(l,{baseFs:a}),releaseFs:o.releaseFs,prefixPath:Se.dot,discardFromLookup:!0}}};var HL=class{supportsDescriptor(e,r){return!!e.range.startsWith(Ha)}supportsLocator(e,r){return!!e.reference.startsWith(Ha)}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,i){return S.bindDescriptor(e,{locator:S.stringifyLocator(r)})}getResolutionDependencies(e,r){return[]}async getCandidates(e,r,i){let n=e.range.slice(Ha.length);return[S.makeLocator(e,`${Ha}${M.toPortablePath(n)}`)]}async getSatisfying(e,r,i){return null}async resolve(e,r){return _(P({},e),{version:"0.0.0",languageName:r.project.configuration.get("defaultLanguageName"),linkType:gt.SOFT,conditions:null,dependencies:new Map,peerDependencies:new Map,dependenciesMeta:new Map,peerDependenciesMeta:new Map,bin:new Map})}};var O5e={fetchers:[UL,OL],resolvers:[HL,KL]},K5e=O5e;var mT={};it(mT,{default:()=>Y6e});var Ga;(function(i){i[i.YES=0]="YES",i[i.NO=1]="NO",i[i.DEPENDS=2]="DEPENDS"})(Ga||(Ga={}));var jL=(t,e)=>`${t}@${e}`,Nle=(t,e)=>{let r=e.indexOf("#"),i=r>=0?e.substring(r+1):e;return jL(t,i)},qs;(function(s){s[s.NONE=-1]="NONE",s[s.PERF=0]="PERF",s[s.CHECK=1]="CHECK",s[s.REASONS=2]="REASONS",s[s.INTENSIVE_CHECK=9]="INTENSIVE_CHECK"})(qs||(qs={}));var Tle=(t,e={})=>{let r=e.debugLevel||Number(process.env.NM_DEBUG_LEVEL||-1),i=e.check||r>=9,n=e.hoistingLimits||new Map,s={check:i,debugLevel:r,hoistingLimits:n,fastLookupPossible:!0},o;s.debugLevel>=0&&(o=Date.now());let a=U5e(t,s),l=!1,c=0;do l=YL(a,[a],new Set([a.locator]),new Map,s).anotherRoundNeeded,s.fastLookupPossible=!1,c++;while(l);if(s.debugLevel>=0&&console.log(`hoist time: ${Date.now()-o}ms, rounds: ${c}`),s.debugLevel>=1){let u=zC(a);if(YL(a,[a],new Set([a.locator]),new Map,s).isGraphChanged)throw new Error(`The hoisting result is not terminal, prev tree: +${u}, next tree: +${zC(a)}`);let f=Lle(a);if(f)throw new Error(`${f}, after hoisting finished: +${zC(a)}`)}return s.debugLevel>=2&&console.log(zC(a)),H5e(a)},G5e=t=>{let e=t[t.length-1],r=new Map,i=new Set,n=s=>{if(!i.has(s)){i.add(s);for(let o of s.hoistedDependencies.values())r.set(o.name,o);for(let o of s.dependencies.values())s.peerNames.has(o.name)||n(o)}};return n(e),r},j5e=t=>{let e=t[t.length-1],r=new Map,i=new Set,n=new Set,s=(o,a)=>{if(i.has(o))return;i.add(o);for(let c of o.hoistedDependencies.values())if(!a.has(c.name)){let u;for(let g of t)u=g.dependencies.get(c.name),u&&r.set(u.name,u)}let l=new Set;for(let c of o.dependencies.values())l.add(c.name);for(let c of o.dependencies.values())o.peerNames.has(c.name)||s(c,l)};return s(e,n),r},Mle=(t,e)=>{if(e.decoupled)return e;let{name:r,references:i,ident:n,locator:s,dependencies:o,originalDependencies:a,hoistedDependencies:l,peerNames:c,reasons:u,isHoistBorder:g,hoistPriority:f,isWorkspace:h,hoistedFrom:p,hoistedTo:d}=e,m={name:r,references:new Set(i),ident:n,locator:s,dependencies:new Map(o),originalDependencies:new Map(a),hoistedDependencies:new Map(l),peerNames:new Set(c),reasons:new Map(u),decoupled:!0,isHoistBorder:g,hoistPriority:f,isWorkspace:h,hoistedFrom:new Map(p),hoistedTo:new Map(d)},I=m.dependencies.get(r);return I&&I.ident==m.ident&&m.dependencies.set(r,m),t.dependencies.set(m.name,m),m},Y5e=(t,e)=>{let r=new Map([[t.name,[t.ident]]]);for(let n of t.dependencies.values())t.peerNames.has(n.name)||r.set(n.name,[n.ident]);let i=Array.from(e.keys());i.sort((n,s)=>{let o=e.get(n),a=e.get(s);return a.hoistPriority!==o.hoistPriority?a.hoistPriority-o.hoistPriority:a.peerDependents.size!==o.peerDependents.size?a.peerDependents.size-o.peerDependents.size:a.dependents.size-o.dependents.size});for(let n of i){let s=n.substring(0,n.indexOf("@",1)),o=n.substring(s.length+1);if(!t.peerNames.has(s)){let a=r.get(s);a||(a=[],r.set(s,a)),a.indexOf(o)<0&&a.push(o)}}return r},qL=t=>{let e=new Set,r=(i,n=new Set)=>{if(!n.has(i)){n.add(i);for(let s of i.peerNames)if(!t.peerNames.has(s)){let o=t.dependencies.get(s);o&&!e.has(o)&&r(o,n)}e.add(i)}};for(let i of t.dependencies.values())t.peerNames.has(i.name)||r(i);return e},YL=(t,e,r,i,n,s=new Set)=>{let o=e[e.length-1];if(s.has(o))return{anotherRoundNeeded:!1,isGraphChanged:!1};s.add(o);let a=J5e(o),l=Y5e(o,a),c=t==o?new Map:n.fastLookupPossible?G5e(e):j5e(e),u,g=!1,f=!1,h=new Map(Array.from(l.entries()).map(([d,m])=>[d,m[0]])),p=new Map;do{let d=q5e(t,e,r,c,h,l,i,p,n);d.isGraphChanged&&(f=!0),d.anotherRoundNeeded&&(g=!0),u=!1;for(let[m,I]of l)I.length>1&&!o.dependencies.has(m)&&(h.delete(m),I.shift(),h.set(m,I[0]),u=!0)}while(u);for(let d of o.dependencies.values())if(!o.peerNames.has(d.name)&&!r.has(d.locator)){r.add(d.locator);let m=YL(t,[...e,d],r,p,n);m.isGraphChanged&&(f=!0),m.anotherRoundNeeded&&(g=!0),r.delete(d.locator)}return{anotherRoundNeeded:g,isGraphChanged:f}},W5e=(t,e,r,i,n,s,o,a,{outputReason:l,fastLookupPossible:c})=>{let u,g=null,f=new Set;l&&(u=`${Array.from(e).map(m=>wi(m)).join("\u2192")}`);let h=r[r.length-1],d=!(i.ident===h.ident);if(l&&!d&&(g="- self-reference"),d&&(d=!i.isWorkspace,l&&!d&&(g="- workspace")),d&&(d=!h.isWorkspace||h.hoistedFrom.has(i.name)||e.size===1,l&&!d&&(g=h.reasons.get(i.name))),d&&(d=!t.peerNames.has(i.name),l&&!d&&(g=`- cannot shadow peer: ${wi(t.originalDependencies.get(i.name).locator)} at ${u}`)),d){let m=!1,I=n.get(i.name);if(m=!I||I.ident===i.ident,l&&!m&&(g=`- filled by: ${wi(I.locator)} at ${u}`),m)for(let B=r.length-1;B>=1;B--){let R=r[B].dependencies.get(i.name);if(R&&R.ident!==i.ident){m=!1;let H=a.get(h);H||(H=new Set,a.set(h,H)),H.add(i.name),l&&(g=`- filled by ${wi(R.locator)} at ${r.slice(0,B).map(L=>wi(L.locator)).join("\u2192")}`);break}}d=m}if(d&&(d=s.get(i.name)===i.ident,l&&!d&&(g=`- filled by: ${wi(o.get(i.name)[0])} at ${u}`)),d){let m=!0,I=new Set(i.peerNames);for(let B=r.length-1;B>=1;B--){let b=r[B];for(let R of I){if(b.peerNames.has(R)&&b.originalDependencies.has(R))continue;let H=b.dependencies.get(R);H&&t.dependencies.get(R)!==H&&(B===r.length-1?f.add(H):(f=null,m=!1,l&&(g=`- peer dependency ${wi(H.locator)} from parent ${wi(b.locator)} was not hoisted to ${u}`))),I.delete(R)}if(!m)break}d=m}if(d&&!c)for(let m of i.hoistedDependencies.values()){let I=n.get(m.name);if(!I||m.ident!==I.ident){d=!1,l&&(g=`- previously hoisted dependency mismatch, needed: ${wi(m.locator)}, available: ${wi(I==null?void 0:I.locator)}`);break}}return f!==null&&f.size>0?{isHoistable:2,dependsOn:f,reason:g}:{isHoistable:d?0:1,reason:g}},q5e=(t,e,r,i,n,s,o,a,l)=>{let c=e[e.length-1],u=new Set,g=!1,f=!1,h=(m,I,B,b)=>{if(u.has(B))return;let R=[...I,B.locator],H=new Map,L=new Map;for(let q of qL(B)){let A=W5e(c,r,[c,...m,B],q,i,n,s,a,{outputReason:l.debugLevel>=2,fastLookupPossible:l.fastLookupPossible});if(L.set(q,A),A.isHoistable===2)for(let V of A.dependsOn){let W=H.get(V.name)||new Set;W.add(q.name),H.set(V.name,W)}}let K=new Set,J=(q,A,V)=>{if(!K.has(q)){K.add(q),L.set(q,{isHoistable:1,reason:V});for(let W of H.get(q.name)||[])J(B.dependencies.get(W),A,l.debugLevel>=2?`- peer dependency ${wi(q.locator)} from parent ${wi(B.locator)} was not hoisted`:"")}};for(let[q,A]of L)A.isHoistable===1&&J(q,A,A.reason);for(let q of L.keys())if(!K.has(q)){f=!0;let A=o.get(B);A&&A.has(q.name)&&(g=!0),B.dependencies.delete(q.name),B.hoistedDependencies.set(q.name,q),B.reasons.delete(q.name);let V=c.dependencies.get(q.name);if(l.debugLevel>=2){let W=Array.from(I).concat([B.locator]).map(F=>wi(F)).join("\u2192"),X=c.hoistedFrom.get(q.name);X||(X=[],c.hoistedFrom.set(q.name,X)),X.push(W),B.hoistedTo.set(q.name,Array.from(e).map(F=>wi(F.locator)).join("\u2192"))}if(!V)c.ident!==q.ident&&(c.dependencies.set(q.name,q),b.add(q));else for(let W of q.references)V.references.add(W)}if(l.check){let q=Lle(t);if(q)throw new Error(`${q}, after hoisting dependencies of ${[c,...m,B].map(A=>wi(A.locator)).join("\u2192")}: +${zC(t)}`)}let ne=qL(B);for(let q of ne)if(K.has(q)){let A=L.get(q);if((n.get(q.name)===q.ident||!B.reasons.has(q.name))&&A.isHoistable!==0&&B.reasons.set(q.name,A.reason),!q.isHoistBorder&&R.indexOf(q.locator)<0){u.add(B);let W=Mle(B,q);h([...m,B],[...I,B.locator],W,d),u.delete(B)}}},p,d=new Set(qL(c));do{p=d,d=new Set;for(let m of p){if(m.locator===c.locator||m.isHoistBorder)continue;let I=Mle(c,m);h([],Array.from(r),I,d)}}while(d.size>0);return{anotherRoundNeeded:g,isGraphChanged:f}},Lle=t=>{let e=[],r=new Set,i=new Set,n=(s,o,a)=>{if(r.has(s)||(r.add(s),i.has(s)))return;let l=new Map(o);for(let c of s.dependencies.values())s.peerNames.has(c.name)||l.set(c.name,c);for(let c of s.originalDependencies.values()){let u=l.get(c.name),g=()=>`${Array.from(i).concat([s]).map(f=>wi(f.locator)).join("\u2192")}`;if(s.peerNames.has(c.name)){let f=o.get(c.name);(f!==u||!f||f.ident!==c.ident)&&e.push(`${g()} - broken peer promise: expected ${c.ident} but found ${f&&f.ident}`)}else{let f=a.hoistedFrom.get(s.name),h=s.hoistedTo.get(c.name),p=`${f?` hoisted from ${f.join(", ")}`:""}`,d=`${h?` hoisted to ${h}`:""}`,m=`${g()}${p}`;u?u.ident!==c.ident&&e.push(`${m} - broken require promise for ${c.name}${d}: expected ${c.ident}, but found: ${u.ident}`):e.push(`${m} - broken require promise: no required dependency ${c.name}${d} found`)}}i.add(s);for(let c of s.dependencies.values())s.peerNames.has(c.name)||n(c,l,s);i.delete(s)};return n(t,t.dependencies,t),e.join(` +`)},U5e=(t,e)=>{let{identName:r,name:i,reference:n,peerNames:s}=t,o={name:i,references:new Set([n]),locator:jL(r,n),ident:Nle(r,n),dependencies:new Map,originalDependencies:new Map,hoistedDependencies:new Map,peerNames:new Set(s),reasons:new Map,decoupled:!0,isHoistBorder:!0,hoistPriority:0,isWorkspace:!0,hoistedFrom:new Map,hoistedTo:new Map},a=new Map([[t,o]]),l=(c,u)=>{let g=a.get(c),f=!!g;if(!g){let{name:h,identName:p,reference:d,peerNames:m,hoistPriority:I,isWorkspace:B}=c,b=e.hoistingLimits.get(u.locator);g={name:h,references:new Set([d]),locator:jL(p,d),ident:Nle(p,d),dependencies:new Map,originalDependencies:new Map,hoistedDependencies:new Map,peerNames:new Set(m),reasons:new Map,decoupled:!0,isHoistBorder:b?b.has(h):!1,hoistPriority:I||0,isWorkspace:B||!1,hoistedFrom:new Map,hoistedTo:new Map},a.set(c,g)}if(u.dependencies.set(c.name,g),u.originalDependencies.set(c.name,g),f){let h=new Set,p=d=>{if(!h.has(d)){h.add(d),d.decoupled=!1;for(let m of d.dependencies.values())d.peerNames.has(m.name)||p(m)}};p(g)}else for(let h of c.dependencies)l(h,g)};for(let c of t.dependencies)l(c,o);return o},JL=t=>t.substring(0,t.indexOf("@",1)),H5e=t=>{let e={name:t.name,identName:JL(t.locator),references:new Set(t.references),dependencies:new Set},r=new Set([t]),i=(n,s,o)=>{let a=r.has(n),l;if(s===n)l=o;else{let{name:c,references:u,locator:g}=n;l={name:c,identName:JL(g),references:u,dependencies:new Set}}if(o.dependencies.add(l),!a){r.add(n);for(let c of n.dependencies.values())n.peerNames.has(c.name)||i(c,n,l);r.delete(n)}};for(let n of t.dependencies.values())i(n,t,e);return e},J5e=t=>{let e=new Map,r=new Set([t]),i=o=>`${o.name}@${o.ident}`,n=o=>{let a=i(o),l=e.get(a);return l||(l={dependents:new Set,peerDependents:new Set,hoistPriority:0},e.set(a,l)),l},s=(o,a)=>{let l=!!r.has(a);if(n(a).dependents.add(o.ident),!l){r.add(a);for(let u of a.dependencies.values()){let g=n(u);g.hoistPriority=Math.max(g.hoistPriority,u.hoistPriority),a.peerNames.has(u.name)?g.peerDependents.add(a.ident):s(a,u)}}};for(let o of t.dependencies.values())t.peerNames.has(o.name)||s(t,o);return e},wi=t=>{if(!t)return"none";let e=t.indexOf("@",1),r=t.substring(0,e);r.endsWith("$wsroot$")&&(r=`wh:${r.replace("$wsroot$","")}`);let i=t.substring(e+1);if(i==="workspace:.")return".";if(i){let n=(i.indexOf("#")>0?i.split("#")[1]:i).replace("npm:","");return i.startsWith("virtual")&&(r=`v:${r}`),n.startsWith("workspace")&&(r=`w:${r}`,n=""),`${r}${n?`@${n}`:""}`}else return`${r}`},Ole=5e4,zC=t=>{let e=0,r=(n,s,o="")=>{if(e>Ole||s.has(n))return"";e++;let a=Array.from(n.dependencies.values()).sort((c,u)=>c.name.localeCompare(u.name)),l="";s.add(n);for(let c=0;c":"")+(f!==u.name?`a:${u.name}:`:"")+wi(u.locator)+(g?` ${g}`:"")+(u!==n&&h.length>0?`, hoisted from: ${h.join(", ")}`:"")} +`,l+=r(u,s,`${o}${cOle?` +Tree is too large, part of the tree has been dunped +`:"")};var Js;(function(r){r.HARD="HARD",r.SOFT="SOFT"})(Js||(Js={}));var Sn;(function(i){i.WORKSPACES="workspaces",i.DEPENDENCIES="dependencies",i.NONE="none"})(Sn||(Sn={}));var Kle="node_modules",Hc="$wsroot$";var VC=(t,e)=>{let{packageTree:r,hoistingLimits:i,errors:n,preserveSymlinksRequired:s}=z5e(t,e),o=null;if(n.length===0){let a=Tle(r,{hoistingLimits:i});o=V5e(t,a,e)}return{tree:o,errors:n,preserveSymlinksRequired:s}},ms=t=>`${t.name}@${t.reference}`,WL=t=>{let e=new Map;for(let[r,i]of t.entries())if(!i.dirList){let n=e.get(i.locator);n||(n={target:i.target,linkType:i.linkType,locations:[],aliases:i.aliases},e.set(i.locator,n)),n.locations.push(r)}for(let r of e.values())r.locations=r.locations.sort((i,n)=>{let s=i.split(v.delimiter).length,o=n.split(v.delimiter).length;return s!==o?o-s:n.localeCompare(i)});return e},Ule=(t,e)=>{let r=S.isVirtualLocator(t)?S.devirtualizeLocator(t):t,i=S.isVirtualLocator(e)?S.devirtualizeLocator(e):e;return S.areLocatorsEqual(r,i)},zL=(t,e,r,i)=>{if(t.linkType!==Js.SOFT)return!1;let n=M.toPortablePath(r.resolveVirtual&&e.reference&&e.reference.startsWith("virtual:")?r.resolveVirtual(t.packageLocation):t.packageLocation);return v.contains(i,n)===null},_5e=t=>{let e=t.getPackageInformation(t.topLevel);if(e===null)throw new Error("Assertion failed: Expected the top-level package to have been registered");if(t.findPackageLocator(e.packageLocation)===null)throw new Error("Assertion failed: Expected the top-level package to have a physical locator");let i=M.toPortablePath(e.packageLocation.slice(0,-1)),n=new Map,s={children:new Map},o=t.getDependencyTreeRoots(),a=new Map,l=new Set,c=(f,h)=>{let p=ms(f);if(l.has(p))return;l.add(p);let d=t.getPackageInformation(f);if(d){let m=h?ms(h):"";if(ms(f)!==m&&d.linkType===Js.SOFT&&!zL(d,f,t,i)){let I=Hle(d,f,t);(!a.get(I)||f.reference.startsWith("workspace:"))&&a.set(I,f)}for(let[I,B]of d.packageDependencies)B!==null&&(d.packagePeers.has(I)||c(t.getLocator(I,B),f))}};for(let f of o)c(f,null);let u=i.split(v.sep);for(let f of a.values()){let h=t.getPackageInformation(f),d=M.toPortablePath(h.packageLocation.slice(0,-1)).split(v.sep).slice(u.length),m=s;for(let I of d){let B=m.children.get(I);B||(B={children:new Map},m.children.set(I,B)),m=B}m.workspaceLocator=f}let g=(f,h)=>{if(f.workspaceLocator){let p=ms(h),d=n.get(p);d||(d=new Set,n.set(p,d)),d.add(f.workspaceLocator)}for(let p of f.children.values())g(p,f.workspaceLocator||h)};for(let f of s.children.values())g(f,s.workspaceLocator);return n},z5e=(t,e)=>{let r=[],i=!1,n=new Map,s=_5e(t),o=t.getPackageInformation(t.topLevel);if(o===null)throw new Error("Assertion failed: Expected the top-level package to have been registered");let a=t.findPackageLocator(o.packageLocation);if(a===null)throw new Error("Assertion failed: Expected the top-level package to have a physical locator");let l=M.toPortablePath(o.packageLocation.slice(0,-1)),c={name:a.name,identName:a.name,reference:a.reference,peerNames:o.packagePeers,dependencies:new Set,isWorkspace:!0},u=new Map,g=(h,p)=>`${ms(p)}:${h}`,f=(h,p,d,m,I,B,b,R)=>{var X,F;let H=g(h,d),L=u.get(H),K=!!L;!K&&d.name===a.name&&d.reference===a.reference&&(L=c,u.set(H,c));let J=zL(p,d,t,l);if(!L){let D=p.linkType===Js.SOFT&&d.name.endsWith(Hc);L={name:h,identName:d.name,reference:d.reference,dependencies:new Set,peerNames:D?new Set:p.packagePeers,isWorkspace:D},u.set(H,L)}let ne;if(J?ne=2:I.linkType===Js.SOFT?ne=1:ne=0,L.hoistPriority=Math.max(L.hoistPriority||0,ne),R&&!J){let D=ms({name:m.identName,reference:m.reference}),he=n.get(D)||new Set;n.set(D,he),he.add(L.name)}let q=new Map(p.packageDependencies);if(e.project){let D=e.project.workspacesByCwd.get(M.toPortablePath(p.packageLocation.slice(0,-1)));if(D){let he=new Set([...Array.from(D.manifest.peerDependencies.values(),pe=>S.stringifyIdent(pe)),...Array.from(D.manifest.peerDependenciesMeta.keys())]);for(let pe of he)q.has(pe)||(q.set(pe,B.get(pe)||null),L.peerNames.add(pe))}}let A=ms({name:d.name.replace(Hc,""),reference:d.reference}),V=s.get(A);if(V)for(let D of V)q.set(`${D.name}${Hc}`,D.reference);(p!==I||p.linkType!==Js.SOFT||!e.selfReferencesByCwd||e.selfReferencesByCwd.get(b))&&m.dependencies.add(L);let W=d!==a&&p.linkType===Js.SOFT&&!d.name.endsWith(Hc)&&!J;if(!K&&!W){let D=new Map;for(let[he,pe]of q)if(pe!==null){let Ne=t.getLocator(he,pe),Pe=t.getLocator(he.replace(Hc,""),pe),qe=t.getPackageInformation(Pe);if(qe===null)throw new Error("Assertion failed: Expected the package to have been registered");let re=zL(qe,Ne,t,l);if(e.validateExternalSoftLinks&&e.project&&re){qe.packageDependencies.size>0&&(i=!0);for(let[De,$]of qe.packageDependencies)if($!==null){let G=S.parseLocator(Array.isArray($)?`${$[0]}@${$[1]}`:`${De}@${$}`);if(ms(G)!==ms(Ne)){let Ce=q.get(De);if(Ce){let ee=S.parseLocator(Array.isArray(Ce)?`${Ce[0]}@${Ce[1]}`:`${De}@${Ce}`);Ule(ee,G)||r.push({messageName:z.NM_CANT_INSTALL_EXTERNAL_SOFT_LINK,text:`Cannot link ${S.prettyIdent(e.project.configuration,S.parseIdent(Ne.name))} into ${S.prettyLocator(e.project.configuration,S.parseLocator(`${d.name}@${d.reference}`))} dependency ${S.prettyLocator(e.project.configuration,G)} conflicts with parent dependency ${S.prettyLocator(e.project.configuration,ee)}`})}else{let ee=D.get(De);if(ee){let Ue=ee.target,Oe=S.parseLocator(Array.isArray(Ue)?`${Ue[0]}@${Ue[1]}`:`${De}@${Ue}`);Ule(Oe,G)||r.push({messageName:z.NM_CANT_INSTALL_EXTERNAL_SOFT_LINK,text:`Cannot link ${S.prettyIdent(e.project.configuration,S.parseIdent(Ne.name))} into ${S.prettyLocator(e.project.configuration,S.parseLocator(`${d.name}@${d.reference}`))} dependency ${S.prettyLocator(e.project.configuration,G)} conflicts with dependency ${S.prettyLocator(e.project.configuration,Oe)} from sibling portal ${S.prettyIdent(e.project.configuration,S.parseIdent(ee.portal.name))}`})}else D.set(De,{target:G.reference,portal:Ne})}}}}let se=(X=e.hoistingLimitsByCwd)==null?void 0:X.get(b),be=re?b:v.relative(l,M.toPortablePath(qe.packageLocation))||Se.dot,ae=(F=e.hoistingLimitsByCwd)==null?void 0:F.get(be),Ae=se===Sn.DEPENDENCIES||ae===Sn.DEPENDENCIES||ae===Sn.WORKSPACES;f(ms(Ne)===ms(d)?h:he,qe,Ne,L,p,q,be,Ae)}}};return f(a.name,o,a,c,o,o.packageDependencies,Se.dot,!1),{packageTree:c,hoistingLimits:n,errors:r,preserveSymlinksRequired:i}};function Hle(t,e,r){let i=r.resolveVirtual&&e.reference&&e.reference.startsWith("virtual:")?r.resolveVirtual(t.packageLocation):t.packageLocation;return M.toPortablePath(i||t.packageLocation)}function X5e(t,e,r){let i=e.getLocator(t.name.replace(Hc,""),t.reference),n=e.getPackageInformation(i);if(n===null)throw new Error("Assertion failed: Expected the package to be registered");let s,o;return r.pnpifyFs?(o=M.toPortablePath(n.packageLocation),s=Js.SOFT):(o=Hle(n,t,e),s=n.linkType),{linkType:s,target:o}}var V5e=(t,e,r)=>{let i=new Map,n=(u,g,f)=>{let{linkType:h,target:p}=X5e(u,t,r);return{locator:ms(u),nodePath:g,target:p,linkType:h,aliases:f}},s=u=>{let[g,f]=u.split("/");return f?{scope:kr(g),name:kr(f)}:{scope:null,name:kr(g)}},o=new Set,a=(u,g,f)=>{if(!o.has(u)){o.add(u);for(let h of u.dependencies){if(h===u)continue;let p=Array.from(h.references).sort(),d={name:h.identName,reference:p[0]},{name:m,scope:I}=s(h.name),B=I?[I,m]:[m],b=v.join(g,Kle),R=v.join(b,...B),H=`${f}/${d.name}`,L=n(d,f,p.slice(1)),K=!1;if(L.linkType===Js.SOFT&&r.project){let J=r.project.workspacesByCwd.get(L.target.slice(0,-1));K=!!(J&&!J.manifest.name)}if(!h.name.endsWith(Hc)&&!K){let J=i.get(R);if(J){if(J.dirList)throw new Error(`Assertion failed: ${R} cannot merge dir node with leaf node`);{let V=S.parseLocator(J.locator),W=S.parseLocator(L.locator);if(J.linkType!==L.linkType)throw new Error(`Assertion failed: ${R} cannot merge nodes with different link types ${J.nodePath}/${S.stringifyLocator(V)} and ${f}/${S.stringifyLocator(W)}`);if(V.identHash!==W.identHash)throw new Error(`Assertion failed: ${R} cannot merge nodes with different idents ${J.nodePath}/${S.stringifyLocator(V)} and ${f}/s${S.stringifyLocator(W)}`);L.aliases=[...L.aliases,...J.aliases,S.parseLocator(J.locator).reference]}}i.set(R,L);let ne=R.split("/"),q=ne.indexOf(Kle),A=ne.length-1;for(;q>=0&&A>q;){let V=M.toPortablePath(ne.slice(0,A).join(v.sep)),W=kr(ne[A]),X=i.get(V);if(!X)i.set(V,{dirList:new Set([W])});else if(X.dirList){if(X.dirList.has(W))break;X.dirList.add(W)}A--}}a(h,L.linkType===Js.SOFT?L.target:R,H)}}},l=n({name:e.name,reference:Array.from(e.references)[0]},"",[]),c=l.target;return i.set(c,l),a(e,c,""),i};var oT={};it(oT,{PnpInstaller:()=>Cf,PnpLinker:()=>jc,default:()=>m6e,getPnpPath:()=>qA,jsInstallUtils:()=>Ws,pnpUtils:()=>nT,quotePathIfNeeded:()=>uce});var lce=ie(Or()),cce=ie(require("url"));var Gle;(function(r){r.HARD="HARD",r.SOFT="SOFT"})(Gle||(Gle={}));var Ht;(function(f){f.DEFAULT="DEFAULT",f.TOP_LEVEL="TOP_LEVEL",f.FALLBACK_EXCLUSION_LIST="FALLBACK_EXCLUSION_LIST",f.FALLBACK_EXCLUSION_ENTRIES="FALLBACK_EXCLUSION_ENTRIES",f.FALLBACK_EXCLUSION_DATA="FALLBACK_EXCLUSION_DATA",f.PACKAGE_REGISTRY_DATA="PACKAGE_REGISTRY_DATA",f.PACKAGE_REGISTRY_ENTRIES="PACKAGE_REGISTRY_ENTRIES",f.PACKAGE_STORE_DATA="PACKAGE_STORE_DATA",f.PACKAGE_STORE_ENTRIES="PACKAGE_STORE_ENTRIES",f.PACKAGE_INFORMATION_DATA="PACKAGE_INFORMATION_DATA",f.PACKAGE_DEPENDENCIES="PACKAGE_DEPENDENCIES",f.PACKAGE_DEPENDENCY="PACKAGE_DEPENDENCY"})(Ht||(Ht={}));var jle={[Ht.DEFAULT]:{collapsed:!1,next:{["*"]:Ht.DEFAULT}},[Ht.TOP_LEVEL]:{collapsed:!1,next:{fallbackExclusionList:Ht.FALLBACK_EXCLUSION_LIST,packageRegistryData:Ht.PACKAGE_REGISTRY_DATA,["*"]:Ht.DEFAULT}},[Ht.FALLBACK_EXCLUSION_LIST]:{collapsed:!1,next:{["*"]:Ht.FALLBACK_EXCLUSION_ENTRIES}},[Ht.FALLBACK_EXCLUSION_ENTRIES]:{collapsed:!0,next:{["*"]:Ht.FALLBACK_EXCLUSION_DATA}},[Ht.FALLBACK_EXCLUSION_DATA]:{collapsed:!0,next:{["*"]:Ht.DEFAULT}},[Ht.PACKAGE_REGISTRY_DATA]:{collapsed:!1,next:{["*"]:Ht.PACKAGE_REGISTRY_ENTRIES}},[Ht.PACKAGE_REGISTRY_ENTRIES]:{collapsed:!0,next:{["*"]:Ht.PACKAGE_STORE_DATA}},[Ht.PACKAGE_STORE_DATA]:{collapsed:!1,next:{["*"]:Ht.PACKAGE_STORE_ENTRIES}},[Ht.PACKAGE_STORE_ENTRIES]:{collapsed:!0,next:{["*"]:Ht.PACKAGE_INFORMATION_DATA}},[Ht.PACKAGE_INFORMATION_DATA]:{collapsed:!1,next:{packageDependencies:Ht.PACKAGE_DEPENDENCIES,["*"]:Ht.DEFAULT}},[Ht.PACKAGE_DEPENDENCIES]:{collapsed:!1,next:{["*"]:Ht.PACKAGE_DEPENDENCY}},[Ht.PACKAGE_DEPENDENCY]:{collapsed:!0,next:{["*"]:Ht.DEFAULT}}};function Z5e(t,e,r){let i="";i+="[";for(let n=0,s=t.length;ns(o)));let n=r.map((s,o)=>o);return n.sort((s,o)=>{for(let a of i){let l=a[s]a[o]?1:0;if(l!==0)return l}return 0}),n.map(s=>r[s])}function r6e(t){let e=new Map,r=_C(t.fallbackExclusionList||[],[({name:i,reference:n})=>i,({name:i,reference:n})=>n]);for(let{name:i,reference:n}of r){let s=e.get(i);typeof s=="undefined"&&e.set(i,s=new Set),s.add(n)}return Array.from(e).map(([i,n])=>[i,Array.from(n)])}function i6e(t){return _C(t.fallbackPool||[],([e])=>e)}function n6e(t){let e=[];for(let[r,i]of _C(t.packageRegistry,([n])=>n===null?"0":`1${n}`)){let n=[];e.push([r,n]);for(let[s,{packageLocation:o,packageDependencies:a,packagePeers:l,linkType:c,discardFromLookup:u}]of _C(i,([g])=>g===null?"0":`1${g}`)){let g=[];r!==null&&s!==null&&!a.has(r)&&g.push([r,s]);for(let[p,d]of _C(a.entries(),([m])=>m))g.push([p,d]);let f=l&&l.size>0?Array.from(l):void 0,h=u||void 0;n.push([s,{packageLocation:o,packageDependencies:g,packagePeers:f,linkType:c,discardFromLookup:h}])}}return e}function XC(t){return{__info:["This file is automatically generated. Do not touch it, or risk","your modifications being lost. We also recommend you not to read","it either without using the @yarnpkg/pnp package, as the data layout","is entirely unspecified and WILL change from a version to another."],dependencyTreeRoots:t.dependencyTreeRoots,enableTopLevelFallback:t.enableTopLevelFallback||!1,ignorePatternData:t.ignorePattern||null,fallbackExclusionList:r6e(t),fallbackPool:i6e(t),packageRegistryData:n6e(t)}}var zle=ie(Wle());function Vle(t,e){return[t?`${t} +`:"",`/* eslint-disable */ + +`,`try { +`,` Object.freeze({}).detectStrictMode = true; +`,`} catch (error) { +`," throw new Error(`The whole PnP file got strict-mode-ified, which is known to break (Emscripten libraries aren't strict mode). This usually happens when the file goes through Babel.`);\n",`} +`,` +`,`var __non_webpack_module__ = module; +`,` +`,`function $$SETUP_STATE(hydrateRuntimeState, basePath) { +`,e.replace(/^/gm," "),`} +`,` +`,(0,zle.default)()].join("")}function s6e(t){return JSON.stringify(t,null,2)}function o6e(t){return[`return hydrateRuntimeState(${qle(t)}, {basePath: basePath || __dirname}); +`].join("")}function a6e(t){return[`var path = require('path'); +`,`var dataLocation = path.resolve(__dirname, ${JSON.stringify(t)}); +`,`return hydrateRuntimeState(require(dataLocation), {basePath: basePath || path.dirname(dataLocation)}); +`].join("")}function _le(t){let e=XC(t),r=o6e(e);return Vle(t.shebang,r)}function Xle(t){let e=XC(t),r=a6e(t.dataLocation),i=Vle(t.shebang,r);return{dataFile:s6e(e),loaderFile:i}}var tce=ie(require("fs")),u6e=ie(require("path")),rce=ie(require("util"));function _L(t,{basePath:e}){let r=M.toPortablePath(e),i=v.resolve(r),n=t.ignorePatternData!==null?new RegExp(t.ignorePatternData):null,s=new Map,o=new Map(t.packageRegistryData.map(([g,f])=>[g,new Map(f.map(([h,p])=>{var b;if(g===null!=(h===null))throw new Error("Assertion failed: The name and reference should be null, or neither should");let d=(b=p.discardFromLookup)!=null?b:!1,m={name:g,reference:h},I=s.get(p.packageLocation);I?(I.discardFromLookup=I.discardFromLookup&&d,d||(I.locator=m)):s.set(p.packageLocation,{locator:m,discardFromLookup:d});let B=null;return[h,{packageDependencies:new Map(p.packageDependencies),packagePeers:new Set(p.packagePeers),linkType:p.linkType,discardFromLookup:d,get packageLocation(){return B||(B=v.join(i,p.packageLocation))}}]}))])),a=new Map(t.fallbackExclusionList.map(([g,f])=>[g,new Set(f)])),l=new Map(t.fallbackPool),c=t.dependencyTreeRoots,u=t.enableTopLevelFallback;return{basePath:r,dependencyTreeRoots:c,enableTopLevelFallback:u,fallbackExclusionList:a,fallbackPool:l,ignorePattern:n,packageLocatorsByLocations:s,packageRegistry:o}}var df=ie(require("module")),ece=ie($le()),ZL=ie(require("util"));var ur;(function(l){l.API_ERROR="API_ERROR",l.BUILTIN_NODE_RESOLUTION_FAILED="BUILTIN_NODE_RESOLUTION_FAILED",l.MISSING_DEPENDENCY="MISSING_DEPENDENCY",l.MISSING_PEER_DEPENDENCY="MISSING_PEER_DEPENDENCY",l.QUALIFIED_PATH_RESOLUTION_FAILED="QUALIFIED_PATH_RESOLUTION_FAILED",l.INTERNAL="INTERNAL",l.UNDECLARED_DEPENDENCY="UNDECLARED_DEPENDENCY",l.UNSUPPORTED="UNSUPPORTED"})(ur||(ur={}));var c6e=new Set([ur.BUILTIN_NODE_RESOLUTION_FAILED,ur.MISSING_DEPENDENCY,ur.MISSING_PEER_DEPENDENCY,ur.QUALIFIED_PATH_RESOLUTION_FAILED,ur.UNDECLARED_DEPENDENCY]);function ui(t,e,r={}){let i=c6e.has(t)?"MODULE_NOT_FOUND":t,n={configurable:!0,writable:!0,enumerable:!1};return Object.defineProperties(new Error(e),{code:_(P({},n),{value:i}),pnpCode:_(P({},n),{value:t}),data:_(P({},n),{value:r})})}function YA(t){return M.normalize(M.fromPortablePath(t))}function $L(t,e){let r=Number(process.env.PNP_ALWAYS_WARN_ON_FALLBACK)>0,i=Number(process.env.PNP_DEBUG_LEVEL),n=new Set(df.Module.builtinModules||Object.keys(process.binding("natives"))),s=re=>n.has(re)||re.startsWith("node:"),o=/^(?![a-zA-Z]:[\\/]|\\\\|\.{0,2}(?:\/|$))((?:node:)?(?:@[^/]+\/)?[^/]+)\/*(.*|)$/,a=/^(\/|\.{1,2}(\/|$))/,l=/\/$/,c=/^\.{0,2}\//,u={name:null,reference:null},g=[],f=new Set;if(t.enableTopLevelFallback===!0&&g.push(u),e.compatibilityMode!==!1)for(let re of["react-scripts","gatsby"]){let se=t.packageRegistry.get(re);if(se)for(let be of se.keys()){if(be===null)throw new Error("Assertion failed: This reference shouldn't be null");g.push({name:re,reference:be})}}let{ignorePattern:h,packageRegistry:p,packageLocatorsByLocations:d}=t;function m(re,se){return{fn:re,args:se,error:null,result:null}}function I(re){var De,$,G,Ce,ee,Ue;let se=(G=($=(De=process.stderr)==null?void 0:De.hasColors)==null?void 0:$.call(De))!=null?G:process.stdout.isTTY,be=(Oe,vt)=>`[${Oe}m${vt}`,ae=re.error;console.error(ae?be("31;1",`\u2716 ${(Ce=re.error)==null?void 0:Ce.message.replace(/\n.*/s,"")}`):be("33;1","\u203C Resolution")),re.args.length>0&&console.error();for(let Oe of re.args)console.error(` ${be("37;1","In \u2190")} ${(0,ZL.inspect)(Oe,{colors:se,compact:!0})}`);re.result&&(console.error(),console.error(` ${be("37;1","Out \u2192")} ${(0,ZL.inspect)(re.result,{colors:se,compact:!0})}`));let Ae=(Ue=(ee=new Error().stack.match(/(?<=^ +)at.*/gm))==null?void 0:ee.slice(2))!=null?Ue:[];if(Ae.length>0){console.error();for(let Oe of Ae)console.error(` ${be("38;5;244",Oe)}`)}console.error()}function B(re,se){if(e.allowDebug===!1)return se;if(Number.isFinite(i)){if(i>=2)return(...be)=>{let ae=m(re,be);try{return ae.result=se(...be)}catch(Ae){throw ae.error=Ae}finally{I(ae)}};if(i>=1)return(...be)=>{try{return se(...be)}catch(ae){let Ae=m(re,be);throw Ae.error=ae,I(Ae),ae}}}return se}function b(re){let se=W(re);if(!se)throw ui(ur.INTERNAL,"Couldn't find a matching entry in the dependency tree for the specified parent (this is probably an internal error)");return se}function R(re){if(re.name===null)return!0;for(let se of t.dependencyTreeRoots)if(se.name===re.name&&se.reference===re.reference)return!0;return!1}let H=new Set(["default","node","require"]);function L(re,se=H){let be=D(v.join(re,"internal.js"),{resolveIgnored:!0,includeDiscardFromLookup:!0});if(be===null)throw ui(ur.INTERNAL,`The locator that owns the "${re}" path can't be found inside the dependency tree (this is probably an internal error)`);let{packageLocation:ae}=b(be),Ae=v.join(ae,wt.manifest);if(!e.fakeFs.existsSync(Ae))return null;let De=JSON.parse(e.fakeFs.readFileSync(Ae,"utf8")),$=v.contains(ae,re);if($===null)throw ui(ur.INTERNAL,"unqualifiedPath doesn't contain the packageLocation (this is probably an internal error)");c.test($)||($=`./${$}`);let G=(0,ece.resolve)(De,v.normalize($),{conditions:se,unsafe:!0});return typeof G=="string"?v.join(ae,G):null}function K(re,se,{extensions:be}){let ae;try{se.push(re),ae=e.fakeFs.statSync(re)}catch(Ae){}if(ae&&!ae.isDirectory())return e.fakeFs.realpathSync(re);if(ae&&ae.isDirectory()){let Ae;try{Ae=JSON.parse(e.fakeFs.readFileSync(v.join(re,wt.manifest),"utf8"))}catch($){}let De;if(Ae&&Ae.main&&(De=v.resolve(re,Ae.main)),De&&De!==re){let $=K(De,se,{extensions:be});if($!==null)return $}}for(let Ae=0,De=be.length;Ae{let G=JSON.stringify($.name);if(ae.has(G))return;ae.add(G);let Ce=X($);for(let ee of Ce)if(b(ee).packagePeers.has(re))Ae(ee);else{let Oe=be.get(ee.name);typeof Oe=="undefined"&&be.set(ee.name,Oe=new Set),Oe.add(ee.reference)}};Ae(se);let De=[];for(let $ of[...be.keys()].sort())for(let G of[...be.get($)].sort())De.push({name:$,reference:G});return De}function D(re,{resolveIgnored:se=!1,includeDiscardFromLookup:be=!1}={}){if(q(re)&&!se)return null;let ae=v.relative(t.basePath,re);ae.match(a)||(ae=`./${ae}`),ae.endsWith("/")||(ae=`${ae}/`);do{let Ae=d.get(ae);if(typeof Ae=="undefined"||Ae.discardFromLookup&&!be){ae=ae.substring(0,ae.lastIndexOf("/",ae.length-2)+1);continue}return Ae.locator}while(ae!=="");return null}function he(re,se,{considerBuiltins:be=!0}={}){if(re==="pnpapi")return M.toPortablePath(e.pnpapiResolution);if(be&&s(re))return null;let ae=YA(re),Ae=se&&YA(se);if(se&&q(se)&&(!v.isAbsolute(re)||D(re)===null)){let G=ne(re,se);if(G===!1)throw ui(ur.BUILTIN_NODE_RESOLUTION_FAILED,`The builtin node resolution algorithm was unable to resolve the requested module (it didn't go through the pnp resolver because the issuer was explicitely ignored by the regexp) + +Require request: "${ae}" +Required by: ${Ae} +`,{request:ae,issuer:Ae});return M.toPortablePath(G)}let De,$=re.match(o);if($){if(!se)throw ui(ur.API_ERROR,"The resolveToUnqualified function must be called with a valid issuer when the path isn't a builtin nor absolute",{request:ae,issuer:Ae});let[,G,Ce]=$,ee=D(se);if(!ee){let yr=ne(re,se);if(yr===!1)throw ui(ur.BUILTIN_NODE_RESOLUTION_FAILED,`The builtin node resolution algorithm was unable to resolve the requested module (it didn't go through the pnp resolver because the issuer doesn't seem to be part of the Yarn-managed dependency tree). + +Require path: "${ae}" +Required by: ${Ae} +`,{request:ae,issuer:Ae});return M.toPortablePath(yr)}let Oe=b(ee).packageDependencies.get(G),vt=null;if(Oe==null&&ee.name!==null){let yr=t.fallbackExclusionList.get(ee.name);if(!yr||!yr.has(ee.reference)){for(let Qi=0,Go=g.length;QiR(Ki))?dt=ui(ur.MISSING_PEER_DEPENDENCY,`${ee.name} tried to access ${G} (a peer dependency) but it isn't provided by your application; this makes the require call ambiguous and unsound. + +Required package: ${G}${G!==ae?` (via "${ae}")`:""} +Required by: ${ee.name}@${ee.reference} (via ${Ae}) +${yr.map(Ki=>`Ancestor breaking the chain: ${Ki.name}@${Ki.reference} +`).join("")} +`,{request:ae,issuer:Ae,issuerLocator:Object.assign({},ee),dependencyName:G,brokenAncestors:yr}):dt=ui(ur.MISSING_PEER_DEPENDENCY,`${ee.name} tried to access ${G} (a peer dependency) but it isn't provided by its ancestors; this makes the require call ambiguous and unsound. + +Required package: ${G}${G!==ae?` (via "${ae}")`:""} +Required by: ${ee.name}@${ee.reference} (via ${Ae}) + +${yr.map(Ki=>`Ancestor breaking the chain: ${Ki.name}@${Ki.reference} +`).join("")} +`,{request:ae,issuer:Ae,issuerLocator:Object.assign({},ee),dependencyName:G,brokenAncestors:yr})}else Oe===void 0&&(!be&&s(re)?R(ee)?dt=ui(ur.UNDECLARED_DEPENDENCY,`Your application tried to access ${G}. While this module is usually interpreted as a Node builtin, your resolver is running inside a non-Node resolution context where such builtins are ignored. Since ${G} isn't otherwise declared in your dependencies, this makes the require call ambiguous and unsound. + +Required package: ${G}${G!==ae?` (via "${ae}")`:""} +Required by: ${Ae} +`,{request:ae,issuer:Ae,dependencyName:G}):dt=ui(ur.UNDECLARED_DEPENDENCY,`${ee.name} tried to access ${G}. While this module is usually interpreted as a Node builtin, your resolver is running inside a non-Node resolution context where such builtins are ignored. Since ${G} isn't otherwise declared in ${ee.name}'s dependencies, this makes the require call ambiguous and unsound. + +Required package: ${G}${G!==ae?` (via "${ae}")`:""} +Required by: ${Ae} +`,{request:ae,issuer:Ae,issuerLocator:Object.assign({},ee),dependencyName:G}):R(ee)?dt=ui(ur.UNDECLARED_DEPENDENCY,`Your application tried to access ${G}, but it isn't declared in your dependencies; this makes the require call ambiguous and unsound. + +Required package: ${G}${G!==ae?` (via "${ae}")`:""} +Required by: ${Ae} +`,{request:ae,issuer:Ae,dependencyName:G}):dt=ui(ur.UNDECLARED_DEPENDENCY,`${ee.name} tried to access ${G}, but it isn't declared in its dependencies; this makes the require call ambiguous and unsound. + +Required package: ${G}${G!==ae?` (via "${ae}")`:""} +Required by: ${ee.name}@${ee.reference} (via ${Ae}) +`,{request:ae,issuer:Ae,issuerLocator:Object.assign({},ee),dependencyName:G}));if(Oe==null){if(vt===null||dt===null)throw dt||new Error("Assertion failed: Expected an error to have been set");Oe=vt;let yr=dt.message.replace(/\n.*/g,"");dt.message=yr,!f.has(yr)&&i!==0&&(f.add(yr),process.emitWarning(dt))}let ri=Array.isArray(Oe)?{name:Oe[0],reference:Oe[1]}:{name:G,reference:Oe},ii=b(ri);if(!ii.packageLocation)throw ui(ur.MISSING_DEPENDENCY,`A dependency seems valid but didn't get installed for some reason. This might be caused by a partial install, such as dev vs prod. + +Required package: ${ri.name}@${ri.reference}${ri.name!==ae?` (via "${ae}")`:""} +Required by: ${ee.name}@${ee.reference} (via ${Ae}) +`,{request:ae,issuer:Ae,dependencyLocator:Object.assign({},ri)});let an=ii.packageLocation;Ce?De=v.join(an,Ce):De=an}else if(v.isAbsolute(re))De=v.normalize(re);else{if(!se)throw ui(ur.API_ERROR,"The resolveToUnqualified function must be called with a valid issuer when the path isn't a builtin nor absolute",{request:ae,issuer:Ae});let G=v.resolve(se);se.match(l)?De=v.normalize(v.join(G,re)):De=v.normalize(v.join(v.dirname(G),re))}return v.normalize(De)}function pe(re,se,be=H){if(a.test(re))return se;let ae=L(se,be);return ae?v.normalize(ae):se}function Ne(re,{extensions:se=Object.keys(df.Module._extensions)}={}){let be=[],ae=K(re,be,{extensions:se});if(ae)return v.normalize(ae);{let Ae=YA(re),De=D(re);if(De){let{packageLocation:$}=b(De);if(!e.fakeFs.existsSync($)){let G=$.includes("/unplugged/")?"Required unplugged package missing from disk. This may happen when switching branches without running installs (unplugged packages must be fully materialized on disk to work).":"Required package missing from disk. If you keep your packages inside your repository then restarting the Node process may be enough. Otherwise, try to run an install first.";throw ui(ur.QUALIFIED_PATH_RESOLUTION_FAILED,`${G} + +Missing package: ${De.name}@${De.reference} +Expected package location: ${YA($)} +`,{unqualifiedPath:Ae})}}throw ui(ur.QUALIFIED_PATH_RESOLUTION_FAILED,`Qualified path resolution failed - none of those files can be found on the disk. + +Source path: ${Ae} +${be.map($=>`Not found: ${YA($)} +`).join("")}`,{unqualifiedPath:Ae})}}function Pe(re,se,{considerBuiltins:be,extensions:ae,conditions:Ae}={}){let De=he(re,se,{considerBuiltins:be});if(re==="pnpapi")return De;if(De===null)return null;let $=()=>se!==null?q(se):!1,G=(!be||!s(re))&&!$()?pe(re,De,Ae):De;try{return Ne(G,{extensions:ae})}catch(Ce){throw Ce.pnpCode==="QUALIFIED_PATH_RESOLUTION_FAILED"&&Object.assign(Ce.data,{request:YA(re),issuer:se&&YA(se)}),Ce}}function qe(re){let se=v.normalize(re),be=Pr.resolveVirtual(se);return be!==se?be:null}return{VERSIONS:A,topLevel:V,getLocator:(re,se)=>Array.isArray(se)?{name:se[0],reference:se[1]}:{name:re,reference:se},getDependencyTreeRoots:()=>[...t.dependencyTreeRoots],getAllLocators(){let re=[];for(let[se,be]of p)for(let ae of be.keys())se!==null&&ae!==null&&re.push({name:se,reference:ae});return re},getPackageInformation:re=>{let se=W(re);if(se===null)return null;let be=M.fromPortablePath(se.packageLocation);return _(P({},se),{packageLocation:be})},findPackageLocator:re=>D(M.toPortablePath(re)),resolveToUnqualified:B("resolveToUnqualified",(re,se,be)=>{let ae=se!==null?M.toPortablePath(se):null,Ae=he(M.toPortablePath(re),ae,be);return Ae===null?null:M.fromPortablePath(Ae)}),resolveUnqualified:B("resolveUnqualified",(re,se)=>M.fromPortablePath(Ne(M.toPortablePath(re),se))),resolveRequest:B("resolveRequest",(re,se,be)=>{let ae=se!==null?M.toPortablePath(se):null,Ae=Pe(M.toPortablePath(re),ae,be);return Ae===null?null:M.fromPortablePath(Ae)}),resolveVirtual:B("resolveVirtual",re=>{let se=qe(M.toPortablePath(re));return se!==null?M.fromPortablePath(se):null})}}var ISt=(0,rce.promisify)(tce.readFile);var ice=(t,e,r)=>{let i=XC(t),n=_L(i,{basePath:e}),s=M.join(e,wt.pnpCjs);return $L(n,{fakeFs:r,pnpapiResolution:s})};var tT=ie(sce());var Ws={};it(Ws,{checkAndReportManifestCompatibility:()=>oce,extractBuildScripts:()=>Z0,getExtractHint:()=>rT,hasBindingGyp:()=>iT});function oce(t,e,{configuration:r,report:i}){return S.isPackageCompatible(t,{os:[process.platform],cpu:[process.arch]})?!0:(i==null||i.reportWarningOnce(z.INCOMPATIBLE_ARCHITECTURE,`${S.prettyLocator(r,t)} The ${process.platform}-${process.arch} architecture is incompatible with this module, ${e} skipped.`),!1)}function Z0(t,e,r,{configuration:i,report:n}){let s=[];for(let a of["preinstall","install","postinstall"])e.manifest.scripts.has(a)&&s.push([Gn.SCRIPT,a]);return!e.manifest.scripts.has("install")&&e.misc.hasBindingGyp&&s.push([Gn.SHELLCODE,"node-gyp rebuild"]),s.length===0?[]:t.linkType!==gt.HARD?(n==null||n.reportWarningOnce(z.SOFT_LINK_BUILD,`${S.prettyLocator(i,t)} lists build scripts, but is referenced through a soft link. Soft links don't support build scripts, so they'll be ignored.`),[]):r&&r.built===!1?(n==null||n.reportInfoOnce(z.BUILD_DISABLED,`${S.prettyLocator(i,t)} lists build scripts, but its build has been explicitly disabled through configuration.`),[]):!i.get("enableScripts")&&!r.built?(n==null||n.reportWarningOnce(z.DISABLED_BUILD_SCRIPTS,`${S.prettyLocator(i,t)} lists build scripts, but all build scripts have been disabled.`),[]):oce(t,"build",{configuration:i,report:n})?s:[]}var g6e=new Set([".exe",".h",".hh",".hpp",".c",".cc",".cpp",".java",".jar",".node"]);function rT(t){return t.packageFs.getExtractHint({relevantExtensions:g6e})}function iT(t){let e=v.join(t.prefixPath,"binding.gyp");return t.packageFs.existsSync(e)}var nT={};it(nT,{getUnpluggedPath:()=>ZC});function ZC(t,{configuration:e}){return v.resolve(e.get("pnpUnpluggedFolder"),S.slugifyLocator(t))}var f6e=new Set([S.makeIdent(null,"nan").identHash,S.makeIdent(null,"node-gyp").identHash,S.makeIdent(null,"node-pre-gyp").identHash,S.makeIdent(null,"node-addon-api").identHash,S.makeIdent(null,"fsevents").identHash]),jc=class{constructor(){this.mode="strict";this.pnpCache=new Map}supportsPackage(e,r){return!(r.project.configuration.get("nodeLinker")!=="pnp"||r.project.configuration.get("pnpMode")!==this.mode)}async findPackageLocation(e,r){let i=qA(r.project).cjs;if(!T.existsSync(i))throw new me(`The project in ${ue.pretty(r.project.configuration,`${r.project.cwd}/package.json`,ue.Type.PATH)} doesn't seem to have been installed - running an install there might help`);let n=de.getFactoryWithDefault(this.pnpCache,i,()=>de.dynamicRequire(i,{cachingStrategy:de.CachingStrategy.FsTime})),s={name:S.stringifyIdent(e),reference:e.reference},o=n.getPackageInformation(s);if(!o)throw new me(`Couldn't find ${S.prettyLocator(r.project.configuration,e)} in the currently installed PnP map - running an install might help`);return M.toPortablePath(o.packageLocation)}async findPackageLocator(e,r){let i=qA(r.project).cjs;if(!T.existsSync(i))return null;let s=de.getFactoryWithDefault(this.pnpCache,i,()=>de.dynamicRequire(i,{cachingStrategy:de.CachingStrategy.FsTime})).findPackageLocator(M.fromPortablePath(e));return s?S.makeLocator(S.parseIdent(s.name),s.reference):null}makeInstaller(e){return new Cf(e)}},Cf=class{constructor(e){this.opts=e;this.mode="strict";this.packageRegistry=new Map;this.virtualTemplates=new Map;this.isESMLoaderRequired=!1;this.customData={store:new Map};this.unpluggedPaths=new Set;this.opts=e}getCustomDataKey(){return JSON.stringify({name:"PnpInstaller",version:2})}attachCustomData(e){this.customData=e}async installPackage(e,r){let i=S.stringifyIdent(e),n=e.reference,s=!!this.opts.project.tryWorkspaceByLocator(e),o=S.isVirtualLocator(e),a=e.peerDependencies.size>0&&!o,l=!a&&!s,c=!a&&e.linkType!==gt.SOFT,u,g;if(l||c){let B=o?S.devirtualizeLocator(e):e;u=this.customData.store.get(B.locatorHash),typeof u=="undefined"&&(u=await h6e(r),e.linkType===gt.HARD&&this.customData.store.set(B.locatorHash,u)),u.manifest.type==="module"&&(this.isESMLoaderRequired=!0),g=this.opts.project.getDependencyMeta(B,e.version)}let f=l?Z0(e,u,g,{configuration:this.opts.project.configuration,report:this.opts.report}):[],h=c?await this.unplugPackageIfNeeded(e,u,r,g):r.packageFs;if(v.isAbsolute(r.prefixPath))throw new Error(`Assertion failed: Expected the prefix path (${r.prefixPath}) to be relative to the parent`);let p=v.resolve(h.getRealPath(),r.prefixPath),d=sT(this.opts.project.cwd,p),m=new Map,I=new Set;if(o){for(let B of e.peerDependencies.values())m.set(S.stringifyIdent(B),null),I.add(S.stringifyIdent(B));if(!s){let B=S.devirtualizeLocator(e);this.virtualTemplates.set(B.locatorHash,{location:sT(this.opts.project.cwd,Pr.resolveVirtual(p)),locator:B})}}return de.getMapWithDefault(this.packageRegistry,i).set(n,{packageLocation:d,packageDependencies:m,packagePeers:I,linkType:e.linkType,discardFromLookup:r.discardFromLookup||!1}),{packageLocation:p,buildDirective:f.length>0?f:null}}async attachInternalDependencies(e,r){let i=this.getPackageInformation(e);for(let[n,s]of r){let o=S.areIdentsEqual(n,s)?s.reference:[S.stringifyIdent(s),s.reference];i.packageDependencies.set(S.stringifyIdent(n),o)}}async attachExternalDependents(e,r){for(let i of r)this.getDiskInformation(i).packageDependencies.set(S.stringifyIdent(e),e.reference)}async finalizeInstall(){if(this.opts.project.configuration.get("pnpMode")!==this.mode)return;let e=qA(this.opts.project);if(T.existsSync(e.cjsLegacy)&&(this.opts.report.reportWarning(z.UNNAMED,`Removing the old ${ue.pretty(this.opts.project.configuration,wt.pnpJs,ue.Type.PATH)} file. You might need to manually update existing references to reference the new ${ue.pretty(this.opts.project.configuration,wt.pnpCjs,ue.Type.PATH)} file. If you use Editor SDKs, you'll have to rerun ${ue.pretty(this.opts.project.configuration,"yarn sdks",ue.Type.CODE)}.`),await T.removePromise(e.cjsLegacy)),this.isEsmEnabled()||await T.removePromise(e.esmLoader),this.opts.project.configuration.get("nodeLinker")!=="pnp"){await T.removePromise(e.cjs),await T.removePromise(this.opts.project.configuration.get("pnpDataPath")),await T.removePromise(e.esmLoader);return}for(let{locator:u,location:g}of this.virtualTemplates.values())de.getMapWithDefault(this.packageRegistry,S.stringifyIdent(u)).set(u.reference,{packageLocation:g,packageDependencies:new Map,packagePeers:new Set,linkType:gt.SOFT,discardFromLookup:!1});this.packageRegistry.set(null,new Map([[null,this.getPackageInformation(this.opts.project.topLevelWorkspace.anchoredLocator)]]));let r=this.opts.project.configuration.get("pnpFallbackMode"),i=this.opts.project.workspaces.map(({anchoredLocator:u})=>({name:S.stringifyIdent(u),reference:u.reference})),n=r!=="none",s=[],o=new Map,a=de.buildIgnorePattern([".yarn/sdks/**",...this.opts.project.configuration.get("pnpIgnorePatterns")]),l=this.packageRegistry,c=this.opts.project.configuration.get("pnpShebang");if(r==="dependencies-only")for(let u of this.opts.project.storedPackages.values())this.opts.project.tryWorkspaceByLocator(u)&&s.push({name:S.stringifyIdent(u),reference:u.reference});return await this.finalizeInstallWithPnp({dependencyTreeRoots:i,enableTopLevelFallback:n,fallbackExclusionList:s,fallbackPool:o,ignorePattern:a,packageRegistry:l,shebang:c}),{customData:this.customData}}async transformPnpSettings(e){}isEsmEnabled(){if(this.opts.project.configuration.sources.has("pnpEnableEsmLoader"))return this.opts.project.configuration.get("pnpEnableEsmLoader");if(this.isESMLoaderRequired)return!0;for(let e of this.opts.project.workspaces)if(e.manifest.type==="module")return!0;return!1}async finalizeInstallWithPnp(e){let r=qA(this.opts.project),i=this.opts.project.configuration.get("pnpDataPath"),n=await this.locateNodeModules(e.ignorePattern);if(n.length>0){this.opts.report.reportWarning(z.DANGEROUS_NODE_MODULES,"One or more node_modules have been detected and will be removed. This operation may take some time.");for(let o of n)await T.removePromise(o)}if(await this.transformPnpSettings(e),this.opts.project.configuration.get("pnpEnableInlining")){let o=_le(e);await T.changeFilePromise(r.cjs,o,{automaticNewlines:!0,mode:493}),await T.removePromise(i)}else{let o=v.relative(v.dirname(r.cjs),i),{dataFile:a,loaderFile:l}=Xle(_(P({},e),{dataLocation:o}));await T.changeFilePromise(r.cjs,l,{automaticNewlines:!0,mode:493}),await T.changeFilePromise(i,a,{automaticNewlines:!0,mode:420})}this.isEsmEnabled()&&(this.opts.report.reportWarning(z.UNNAMED,"ESM support for PnP uses the experimental loader API and is therefore experimental"),await T.changeFilePromise(r.esmLoader,(0,tT.default)(),{automaticNewlines:!0,mode:420}));let s=this.opts.project.configuration.get("pnpUnpluggedFolder");if(this.unpluggedPaths.size===0)await T.removePromise(s);else for(let o of await T.readdirPromise(s)){let a=v.resolve(s,o);this.unpluggedPaths.has(a)||await T.removePromise(a)}}async locateNodeModules(e){let r=[],i=e?new RegExp(e):null;for(let n of this.opts.project.workspaces){let s=v.join(n.cwd,"node_modules");if(i&&i.test(v.relative(this.opts.project.cwd,n.cwd))||!T.existsSync(s))continue;let o=await T.readdirPromise(s,{withFileTypes:!0}),a=o.filter(l=>!l.isDirectory()||l.name===".bin"||!l.name.startsWith("."));if(a.length===o.length)r.push(s);else for(let l of a)r.push(v.join(s,l.name))}return r}async unplugPackageIfNeeded(e,r,i,n){return this.shouldBeUnplugged(e,r,n)?this.unplugPackage(e,i):i.packageFs}shouldBeUnplugged(e,r,i){return typeof i.unplugged!="undefined"?i.unplugged:f6e.has(e.identHash)||e.conditions!=null?!0:r.manifest.preferUnplugged!==null?r.manifest.preferUnplugged:!!(Z0(e,r,i,{configuration:this.opts.project.configuration}).length>0||r.misc.extractHint)}async unplugPackage(e,r){let i=ZC(e,{configuration:this.opts.project.configuration});if(this.opts.project.disabledLocators.has(e.locatorHash))return new Xo(i,{baseFs:r.packageFs,pathUtils:v});this.unpluggedPaths.add(i);let n=v.join(i,r.prefixPath,".ready");return await T.existsPromise(n)?new Ft(i):(this.opts.project.storedBuildState.delete(e.locatorHash),await T.mkdirPromise(i,{recursive:!0}),await T.copyPromise(i,Se.dot,{baseFs:r.packageFs,overwrite:!1}),await T.writeFilePromise(n,""),new Ft(i))}getPackageInformation(e){let r=S.stringifyIdent(e),i=e.reference,n=this.packageRegistry.get(r);if(!n)throw new Error(`Assertion failed: The package information store should have been available (for ${S.prettyIdent(this.opts.project.configuration,e)})`);let s=n.get(i);if(!s)throw new Error(`Assertion failed: The package information should have been available (for ${S.prettyLocator(this.opts.project.configuration,e)})`);return s}getDiskInformation(e){let r=de.getMapWithDefault(this.packageRegistry,"@@disk"),i=sT(this.opts.project.cwd,e);return de.getFactoryWithDefault(r,i,()=>({packageLocation:i,packageDependencies:new Map,packagePeers:new Set,linkType:gt.SOFT,discardFromLookup:!1}))}};function sT(t,e){let r=v.relative(t,e);return r.match(/^\.{0,2}\//)||(r=`./${r}`),r.replace(/\/?$/,"/")}async function h6e(t){var i;let e=(i=await Ze.tryFind(t.prefixPath,{baseFs:t.packageFs}))!=null?i:new Ze,r=new Set(["preinstall","install","postinstall"]);for(let n of e.scripts.keys())r.has(n)||e.scripts.delete(n);return{manifest:{scripts:e.scripts,preferUnplugged:e.preferUnplugged,type:e.type},misc:{extractHint:rT(t),hasBindingGyp:iT(t)}}}var ace=ie(Nn());var $C=class extends Be{constructor(){super(...arguments);this.all=Y.Boolean("-A,--all",!1,{description:"Unplug direct dependencies from the entire project"});this.recursive=Y.Boolean("-R,--recursive",!1,{description:"Unplug both direct and transitive dependencies"});this.json=Y.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.patterns=Y.Rest()}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Ke.find(e,this.context.cwd),n=await Qt.find(e);if(!i)throw new rt(r.cwd,this.context.cwd);if(e.get("nodeLinker")!=="pnp")throw new me("This command can only be used if the `nodeLinker` option is set to `pnp`");await r.restoreInstallState();let s=new Set(this.patterns),o=this.patterns.map(f=>{let h=S.parseDescriptor(f),p=h.range!=="unknown"?h:S.makeDescriptor(h,"*");if(!qt.validRange(p.range))throw new me(`The range of the descriptor patterns must be a valid semver range (${S.prettyDescriptor(e,p)})`);return d=>{let m=S.stringifyIdent(d);return!ace.default.isMatch(m,S.stringifyIdent(p))||d.version&&!qt.satisfiesWithPrereleases(d.version,p.range)?!1:(s.delete(f),!0)}}),a=()=>{let f=[];for(let h of r.storedPackages.values())!r.tryWorkspaceByLocator(h)&&!S.isVirtualLocator(h)&&o.some(p=>p(h))&&f.push(h);return f},l=f=>{let h=new Set,p=[],d=(m,I)=>{if(!h.has(m.locatorHash)&&(h.add(m.locatorHash),!r.tryWorkspaceByLocator(m)&&o.some(B=>B(m))&&p.push(m),!(I>0&&!this.recursive)))for(let B of m.dependencies.values()){let b=r.storedResolutions.get(B.descriptorHash);if(!b)throw new Error("Assertion failed: The resolution should have been registered");let R=r.storedPackages.get(b);if(!R)throw new Error("Assertion failed: The package should have been registered");d(R,I+1)}};for(let m of f){let I=r.storedPackages.get(m.anchoredLocator.locatorHash);if(!I)throw new Error("Assertion failed: The package should have been registered");d(I,0)}return p},c,u;if(this.all&&this.recursive?(c=a(),u="the project"):this.all?(c=l(r.workspaces),u="any workspace"):(c=l([i]),u="this workspace"),s.size>1)throw new me(`Patterns ${ue.prettyList(e,s,ue.Type.CODE)} don't match any packages referenced by ${u}`);if(s.size>0)throw new me(`Pattern ${ue.prettyList(e,s,ue.Type.CODE)} doesn't match any packages referenced by ${u}`);return c=de.sortMap(c,f=>S.stringifyLocator(f)),(await Fe.start({configuration:e,stdout:this.context.stdout,json:this.json},async f=>{var h;for(let p of c){let d=(h=p.version)!=null?h:"unknown",m=r.topLevelWorkspace.manifest.ensureDependencyMeta(S.makeDescriptor(p,d));m.unplugged=!0,f.reportInfo(z.UNNAMED,`Will unpack ${S.prettyLocator(e,p)} to ${ue.pretty(e,ZC(p,{configuration:e}),ue.Type.PATH)}`),f.reportJson({locator:S.stringifyLocator(p),version:d})}await r.topLevelWorkspace.persistManifest(),f.reportSeparator(),await r.install({cache:n,report:f})})).exitCode()}};$C.paths=[["unplug"]],$C.usage=ye.Usage({description:"force the unpacking of a list of packages",details:"\n This command will add the selectors matching the specified patterns to the list of packages that must be unplugged when installed.\n\n A package being unplugged means that instead of being referenced directly through its archive, it will be unpacked at install time in the directory configured via `pnpUnpluggedFolder`. Note that unpacking packages this way is generally not recommended because it'll make it harder to store your packages within the repository. However, it's a good approach to quickly and safely debug some packages, and can even sometimes be required depending on the context (for example when the package contains shellscripts).\n\n Running the command will set a persistent flag inside your top-level `package.json`, in the `dependenciesMeta` field. As such, to undo its effects, you'll need to revert the changes made to the manifest and run `yarn install` to apply the modification.\n\n By default, only direct dependencies from the current workspace are affected. If `-A,--all` is set, direct dependencies from the entire project are affected. Using the `-R,--recursive` flag will affect transitive dependencies as well as direct ones.\n\n This command accepts glob patterns inside the scope and name components (not the range). Make sure to escape the patterns to prevent your own shell from trying to expand them.\n ",examples:[["Unplug the lodash dependency from the active workspace","yarn unplug lodash"],["Unplug all instances of lodash referenced by any workspace","yarn unplug lodash -A"],["Unplug all instances of lodash referenced by the active workspace and its dependencies","yarn unplug lodash -R"],["Unplug all instances of lodash, anywhere","yarn unplug lodash -AR"],["Unplug one specific version of lodash","yarn unplug lodash@1.2.3"],["Unplug all packages with the `@babel` scope","yarn unplug '@babel/*'"],["Unplug all packages (only for testing, not recommended)","yarn unplug -R '*'"]]});var Ace=$C;var qA=t=>({cjs:v.join(t.cwd,wt.pnpCjs),cjsLegacy:v.join(t.cwd,wt.pnpJs),esmLoader:v.join(t.cwd,".pnp.loader.mjs")}),uce=t=>/\s/.test(t)?JSON.stringify(t):t;async function p6e(t,e,r){let i=qA(t),n=`--require ${uce(M.fromPortablePath(i.cjs))}`;if(T.existsSync(i.esmLoader)&&(n=`${n} --experimental-loader ${(0,cce.pathToFileURL)(M.fromPortablePath(i.esmLoader)).href}`),i.cjs.includes(" ")&&lce.default.lt(process.versions.node,"12.0.0"))throw new Error(`Expected the build location to not include spaces when using Node < 12.0.0 (${process.versions.node})`);if(T.existsSync(i.cjs)){let s=e.NODE_OPTIONS||"",o=/\s*--require\s+\S*\.pnp\.c?js\s*/g,a=/\s*--experimental-loader\s+\S*\.pnp\.loader\.mjs\s*/;s=s.replace(o," ").replace(a," ").trim(),s=s?`${n} ${s}`:n,e.NODE_OPTIONS=s}}async function d6e(t,e){let r=qA(t);e(r.cjs),e(r.esmLoader),e(t.configuration.get("pnpDataPath")),e(t.configuration.get("pnpUnpluggedFolder"))}var C6e={hooks:{populateYarnPaths:d6e,setupScriptEnvironment:p6e},configuration:{nodeLinker:{description:'The linker used for installing Node packages, one of: "pnp", "node-modules"',type:ge.STRING,default:"pnp"},pnpMode:{description:"If 'strict', generates standard PnP maps. If 'loose', merges them with the n_m resolution.",type:ge.STRING,default:"strict"},pnpShebang:{description:"String to prepend to the generated PnP script",type:ge.STRING,default:"#!/usr/bin/env node"},pnpIgnorePatterns:{description:"Array of glob patterns; files matching them will use the classic resolution",type:ge.STRING,default:[],isArray:!0},pnpEnableEsmLoader:{description:"If true, Yarn will generate an ESM loader (`.pnp.loader.mjs`). If this is not explicitly set Yarn tries to automatically detect whether ESM support is required.",type:ge.BOOLEAN,default:!1},pnpEnableInlining:{description:"If true, the PnP data will be inlined along with the generated loader",type:ge.BOOLEAN,default:!0},pnpFallbackMode:{description:"If true, the generated PnP loader will follow the top-level fallback rule",type:ge.STRING,default:"dependencies-only"},pnpUnpluggedFolder:{description:"Folder where the unplugged packages must be stored",type:ge.ABSOLUTE_PATH,default:"./.yarn/unplugged"},pnpDataPath:{description:"Path of the file where the PnP data (used by the loader) must be written",type:ge.ABSOLUTE_PATH,default:"./.pnp.data.json"}},linkers:[jc],commands:[Ace]},m6e=C6e;var Cce=ie(dce());var uT=ie(require("crypto")),mce=ie(require("fs")),Ece=1,gi="node_modules",gT=".bin",Ice=".yarn-state.yml",Bi;(function(i){i.CLASSIC="classic",i.HARDLINKS_LOCAL="hardlinks-local",i.HARDLINKS_GLOBAL="hardlinks-global"})(Bi||(Bi={}));var fT=class{constructor(){this.installStateCache=new Map}supportsPackage(e,r){return r.project.configuration.get("nodeLinker")==="node-modules"}async findPackageLocation(e,r){let i=r.project.tryWorkspaceByLocator(e);if(i)return i.cwd;let n=await de.getFactoryWithDefault(this.installStateCache,r.project.cwd,async()=>await hT(r.project,{unrollAliases:!0}));if(n===null)throw new me("Couldn't find the node_modules state file - running an install might help (findPackageLocation)");let s=n.locatorMap.get(S.stringifyLocator(e));if(!s){let a=new me(`Couldn't find ${S.prettyLocator(r.project.configuration,e)} in the currently installed node_modules map - running an install might help`);throw a.code="LOCATOR_NOT_INSTALLED",a}let o=r.project.configuration.startingCwd;return s.locations.find(a=>v.contains(o,a))||s.locations[0]}async findPackageLocator(e,r){let i=await de.getFactoryWithDefault(this.installStateCache,r.project.cwd,async()=>await hT(r.project,{unrollAliases:!0}));if(i===null)return null;let{locationRoot:n,segments:s}=$0(v.resolve(e),{skipPrefix:r.project.cwd}),o=i.locationTree.get(n);if(!o)return null;let a=o.locator;for(let l of s){if(o=o.children.get(l),!o)break;a=o.locator||a}return S.parseLocator(a)}makeInstaller(e){return new yce(e)}},yce=class{constructor(e){this.opts=e;this.localStore=new Map;this.realLocatorChecksums=new Map;this.customData={store:new Map}}getCustomDataKey(){return JSON.stringify({name:"NodeModulesInstaller",version:1})}attachCustomData(e){this.customData=e}async installPackage(e,r){var u;let i=v.resolve(r.packageFs.getRealPath(),r.prefixPath),n=this.customData.store.get(e.locatorHash);if(typeof n=="undefined"&&(n=await L6e(e,r),e.linkType===gt.HARD&&this.customData.store.set(e.locatorHash,n)),!Ws.checkAndReportManifestCompatibility(e,"link",{configuration:this.opts.project.configuration,report:this.opts.report}))return{packageLocation:null,buildDirective:null};let s=new Map,o=new Set;s.has(S.stringifyIdent(e))||s.set(S.stringifyIdent(e),e.reference);let a=e;if(S.isVirtualLocator(e)){a=S.devirtualizeLocator(e);for(let g of e.peerDependencies.values())s.set(S.stringifyIdent(g),null),o.add(S.stringifyIdent(g))}let l={packageLocation:`${M.fromPortablePath(i)}/`,packageDependencies:s,packagePeers:o,linkType:e.linkType,discardFromLookup:(u=r.discardFromLookup)!=null?u:!1};this.localStore.set(e.locatorHash,{pkg:e,customPackageData:n,dependencyMeta:this.opts.project.getDependencyMeta(e,e.version),pnpNode:l});let c=r.checksum?r.checksum.substring(r.checksum.indexOf("/")+1):null;return this.realLocatorChecksums.set(a.locatorHash,c),{packageLocation:i,buildDirective:null}}async attachInternalDependencies(e,r){let i=this.localStore.get(e.locatorHash);if(typeof i=="undefined")throw new Error("Assertion failed: Expected information object to have been registered");for(let[n,s]of r){let o=S.areIdentsEqual(n,s)?s.reference:[S.stringifyIdent(s),s.reference];i.pnpNode.packageDependencies.set(S.stringifyIdent(n),o)}}async attachExternalDependents(e,r){throw new Error("External dependencies haven't been implemented for the node-modules linker")}async finalizeInstall(){if(this.opts.project.configuration.get("nodeLinker")!=="node-modules")return;let e=new Pr({baseFs:new Jn({libzip:await $i(),maxOpenFiles:80,readOnlyArchives:!0})}),r=await hT(this.opts.project),i=this.opts.project.configuration.get("nmMode");(r===null||i!==r.nmMode)&&(this.opts.project.storedBuildState.clear(),r={locatorMap:new Map,binSymlinks:new Map,locationTree:new Map,nmMode:i});let n=new Map(this.opts.project.workspaces.map(f=>{var p,d;let h=this.opts.project.configuration.get("nmHoistingLimits");try{h=de.validateEnum(Sn,(d=(p=f.manifest.installConfig)==null?void 0:p.hoistingLimits)!=null?d:h)}catch(m){let I=S.prettyWorkspace(this.opts.project.configuration,f);this.opts.report.reportWarning(z.INVALID_MANIFEST,`${I}: Invalid 'installConfig.hoistingLimits' value. Expected one of ${Object.values(Sn).join(", ")}, using default: "${h}"`)}return[f.relativeCwd,h]})),s=new Map(this.opts.project.workspaces.map(f=>{var p,d;let h=this.opts.project.configuration.get("nmSelfReferences");return h=(d=(p=f.manifest.installConfig)==null?void 0:p.selfReferences)!=null?d:h,[f.relativeCwd,h]})),o={VERSIONS:{std:1},topLevel:{name:null,reference:null},getLocator:(f,h)=>Array.isArray(h)?{name:h[0],reference:h[1]}:{name:f,reference:h},getDependencyTreeRoots:()=>this.opts.project.workspaces.map(f=>{let h=f.anchoredLocator;return{name:S.stringifyIdent(f.locator),reference:h.reference}}),getPackageInformation:f=>{let h=f.reference===null?this.opts.project.topLevelWorkspace.anchoredLocator:S.makeLocator(S.parseIdent(f.name),f.reference),p=this.localStore.get(h.locatorHash);if(typeof p=="undefined")throw new Error("Assertion failed: Expected the package reference to have been registered");return p.pnpNode},findPackageLocator:f=>{let h=this.opts.project.tryWorkspaceByCwd(M.toPortablePath(f));if(h!==null){let p=h.anchoredLocator;return{name:S.stringifyIdent(p),reference:p.reference}}throw new Error("Assertion failed: Unimplemented")},resolveToUnqualified:()=>{throw new Error("Assertion failed: Unimplemented")},resolveUnqualified:()=>{throw new Error("Assertion failed: Unimplemented")},resolveRequest:()=>{throw new Error("Assertion failed: Unimplemented")},resolveVirtual:f=>M.fromPortablePath(Pr.resolveVirtual(M.toPortablePath(f)))},{tree:a,errors:l,preserveSymlinksRequired:c}=VC(o,{pnpifyFs:!1,validateExternalSoftLinks:!0,hoistingLimitsByCwd:n,project:this.opts.project,selfReferencesByCwd:s});if(!a){for(let{messageName:f,text:h}of l)this.opts.report.reportError(f,h);return}let u=WL(a);await T6e(r,u,{baseFs:e,project:this.opts.project,report:this.opts.report,realLocatorChecksums:this.realLocatorChecksums,loadManifest:async f=>{let h=S.parseLocator(f),p=this.localStore.get(h.locatorHash);if(typeof p=="undefined")throw new Error("Assertion failed: Expected the slot to exist");return p.customPackageData.manifest}});let g=[];for(let[f,h]of u.entries()){if(wce(f))continue;let p=S.parseLocator(f),d=this.localStore.get(p.locatorHash);if(typeof d=="undefined")throw new Error("Assertion failed: Expected the slot to exist");if(this.opts.project.tryWorkspaceByLocator(d.pkg))continue;let m=Ws.extractBuildScripts(d.pkg,d.customPackageData,d.dependencyMeta,{configuration:this.opts.project.configuration,report:this.opts.report});m.length!==0&&g.push({buildLocations:h.locations,locatorHash:p.locatorHash,buildDirective:m})}return c&&this.opts.report.reportWarning(z.NM_PRESERVE_SYMLINKS_REQUIRED,`The application uses portals and that's why ${ue.pretty(this.opts.project.configuration,"--preserve-symlinks",ue.Type.CODE)} Node option is required for launching it`),{customData:this.customData,records:g}}};async function L6e(t,e){var n;let r=(n=await Ze.tryFind(e.prefixPath,{baseFs:e.packageFs}))!=null?n:new Ze,i=new Set(["preinstall","install","postinstall"]);for(let s of r.scripts.keys())i.has(s)||r.scripts.delete(s);return{manifest:{bin:r.bin,scripts:r.scripts},misc:{extractHint:Ws.getExtractHint(e),hasBindingGyp:Ws.hasBindingGyp(e)}}}async function M6e(t,e,r,i){let n="";n+=`# Warning: This file is automatically generated. Removing it is fine, but will +`,n+=`# cause your node_modules installation to become invalidated. +`,n+=` +`,n+=`__metadata: +`,n+=` version: ${Ece} +`,n+=` nmMode: ${i.value} +`;let s=Array.from(e.keys()).sort(),o=S.stringifyLocator(t.topLevelWorkspace.anchoredLocator);for(let c of s){let u=e.get(c);n+=` +`,n+=`${JSON.stringify(c)}: +`,n+=` locations: +`;for(let g of u.locations){let f=v.contains(t.cwd,g);if(f===null)throw new Error(`Assertion failed: Expected the path to be within the project (${g})`);n+=` - ${JSON.stringify(f)} +`}if(u.aliases.length>0){n+=` aliases: +`;for(let g of u.aliases)n+=` - ${JSON.stringify(g)} +`}if(c===o&&r.size>0){n+=` bin: +`;for(let[g,f]of r){let h=v.contains(t.cwd,g);if(h===null)throw new Error(`Assertion failed: Expected the path to be within the project (${g})`);n+=` ${JSON.stringify(h)}: +`;for(let[p,d]of f){let m=v.relative(v.join(g,gi),d);n+=` ${JSON.stringify(p)}: ${JSON.stringify(m)} +`}}}}let a=t.cwd,l=v.join(a,gi,Ice);await T.changeFilePromise(l,n,{automaticNewlines:!0})}async function hT(t,{unrollAliases:e=!1}={}){let r=t.cwd,i=v.join(r,gi,Ice);if(!T.existsSync(i))return null;let n=Ii(await T.readFilePromise(i,"utf8"));if(n.__metadata.version>Ece)return null;let s=n.__metadata.nmMode||Bi.CLASSIC,o=new Map,a=new Map;delete n.__metadata;for(let[l,c]of Object.entries(n)){let u=c.locations.map(f=>v.join(r,f)),g=c.bin;if(g)for(let[f,h]of Object.entries(g)){let p=v.join(r,M.toPortablePath(f)),d=de.getMapWithDefault(a,p);for(let[m,I]of Object.entries(h))d.set(kr(m),M.toPortablePath([p,gi,I].join(v.delimiter)))}if(o.set(l,{target:Se.dot,linkType:gt.HARD,locations:u,aliases:c.aliases||[]}),e&&c.aliases)for(let f of c.aliases){let{scope:h,name:p}=S.parseLocator(l),d=S.makeLocator(S.makeIdent(h,p),f),m=S.stringifyLocator(d);o.set(m,{target:Se.dot,linkType:gt.HARD,locations:u,aliases:[]})}}return{locatorMap:o,binSymlinks:a,locationTree:Bce(o,{skipPrefix:t.cwd}),nmMode:s}}var Ef=async(t,e)=>{if(t.split(v.sep).indexOf(gi)<0)throw new Error(`Assertion failed: trying to remove dir that doesn't contain node_modules: ${t}`);try{if(!e.innerLoop&&(await T.lstatPromise(t)).isSymbolicLink()){await T.unlinkPromise(t);return}let r=await T.readdirPromise(t,{withFileTypes:!0});for(let i of r){let n=v.join(t,kr(i.name));i.isDirectory()?(i.name!==gi||e&&e.innerLoop)&&await Ef(n,{innerLoop:!0,contentsOnly:!1}):await T.unlinkPromise(n)}e.contentsOnly||await T.rmdirPromise(t)}catch(r){if(r.code!=="ENOENT"&&r.code!=="ENOTEMPTY")throw r}},Qce=4,$0=(t,{skipPrefix:e})=>{let r=v.contains(e,t);if(r===null)throw new Error(`Assertion failed: Writing attempt prevented to ${t} which is outside project root: ${e}`);let i=r.split(v.sep).filter(l=>l!==""),n=i.indexOf(gi),s=i.slice(0,n).join(v.sep),o=v.join(e,s),a=i.slice(n);return{locationRoot:o,segments:a}},Bce=(t,{skipPrefix:e})=>{let r=new Map;if(t===null)return r;let i=()=>({children:new Map,linkType:gt.HARD});for(let[n,s]of t.entries()){if(s.linkType===gt.SOFT&&v.contains(e,s.target)!==null){let a=de.getFactoryWithDefault(r,s.target,i);a.locator=n,a.linkType=s.linkType}for(let o of s.locations){let{locationRoot:a,segments:l}=$0(o,{skipPrefix:e}),c=de.getFactoryWithDefault(r,a,i);for(let u=0;u{let r;try{process.platform==="win32"&&(r=await T.lstatPromise(t))}catch(i){}process.platform=="win32"&&(!r||r.isDirectory())?await T.symlinkPromise(t,e,"junction"):await T.symlinkPromise(v.relative(v.dirname(e),t),e)};async function bce(t,e,r){let i=v.join(t,kr(`${uT.default.randomBytes(16).toString("hex")}.tmp`));try{await T.writeFilePromise(i,r);try{await T.linkPromise(i,e)}catch(n){}}finally{await T.unlinkPromise(i)}}async function O6e({srcPath:t,dstPath:e,srcMode:r,globalHardlinksStore:i,baseFs:n,nmMode:s,digest:o}){if(s.value===Bi.HARDLINKS_GLOBAL&&i&&o){let l=v.join(i,o.substring(0,2),`${o.substring(2)}.dat`),c;try{if(await mn.checksumFile(l,{baseFs:T,algorithm:"sha1"})!==o){let g=v.join(i,kr(`${uT.default.randomBytes(16).toString("hex")}.tmp`));await T.renamePromise(l,g);let f=await n.readFilePromise(t);await T.writeFilePromise(g,f);try{await T.linkPromise(g,l),await T.unlinkPromise(g)}catch(h){}}await T.linkPromise(l,e),c=!0}catch(u){c=!1}if(!c){let u=await n.readFilePromise(t);await bce(i,l,u);try{await T.linkPromise(l,e)}catch(g){g&&g.code&&g.code=="EXDEV"&&(s.value=Bi.HARDLINKS_LOCAL,await n.copyFilePromise(t,e))}}}else await n.copyFilePromise(t,e);let a=r&511;a!==420&&await T.chmodPromise(e,a)}var JA;(function(i){i.FILE="file",i.DIRECTORY="directory",i.SYMLINK="symlink"})(JA||(JA={}));var K6e=async(t,e,{baseFs:r,globalHardlinksStore:i,nmMode:n,packageChecksum:s})=>{await T.mkdirPromise(t,{recursive:!0});let o=async(l=Se.dot)=>{let c=v.join(e,l),u=await r.readdirPromise(c,{withFileTypes:!0}),g=new Map;for(let f of u){let h=v.join(l,f.name),p,d=v.join(c,f.name);if(f.isFile()){if(p={kind:JA.FILE,mode:(await r.lstatPromise(d)).mode},n.value===Bi.HARDLINKS_GLOBAL){let m=await mn.checksumFile(d,{baseFs:r,algorithm:"sha1"});p.digest=m}}else if(f.isDirectory())p={kind:JA.DIRECTORY};else if(f.isSymbolicLink())p={kind:JA.SYMLINK,symlinkTo:await r.readlinkPromise(d)};else throw new Error(`Unsupported file type (file: ${d}, mode: 0o${await r.statSync(d).mode.toString(8).padStart(6,"0")})`);if(g.set(h,p),f.isDirectory()&&h!==gi){let m=await o(h);for(let[I,B]of m)g.set(I,B)}}return g},a;if(n.value===Bi.HARDLINKS_GLOBAL&&i&&s){let l=v.join(i,s.substring(0,2),`${s.substring(2)}.json`);try{a=new Map(Object.entries(JSON.parse(await T.readFilePromise(l,"utf8"))))}catch(c){a=await o(),await bce(i,l,Buffer.from(JSON.stringify(Object.fromEntries(a))))}}else a=await o();for(let[l,c]of a){let u=v.join(e,l),g=v.join(t,l);c.kind===JA.DIRECTORY?await T.mkdirPromise(g,{recursive:!0}):c.kind===JA.FILE?await O6e({srcPath:u,dstPath:g,srcMode:c.mode,digest:c.digest,nmMode:n,baseFs:r,globalHardlinksStore:i}):c.kind===JA.SYMLINK&&await pT(v.resolve(v.dirname(g),c.symlinkTo),g)}};function U6e(t,e){let r=new Map([...t]),i=new Map([...e]);for(let[n,s]of t){let o=v.join(n,gi);if(!T.existsSync(o)){s.children.delete(gi);for(let a of i.keys())v.contains(o,a)!==null&&i.delete(a)}}return{locationTree:r,binSymlinks:i}}function wce(t){let e=S.parseDescriptor(t);return S.isVirtualDescriptor(e)&&(e=S.devirtualizeDescriptor(e)),e.range.startsWith("link:")}async function H6e(t,e,r,{loadManifest:i}){let n=new Map;for(let[a,{locations:l}]of t){let c=wce(a)?null:await i(a,l[0]),u=new Map;if(c)for(let[g,f]of c.bin){let h=v.join(l[0],f);f!==""&&T.existsSync(h)&&u.set(g,f)}n.set(a,u)}let s=new Map,o=(a,l,c)=>{let u=new Map,g=v.contains(r,a);if(c.locator&&g!==null){let f=n.get(c.locator);for(let[h,p]of f){let d=v.join(a,M.toPortablePath(p));u.set(kr(h),d)}for(let[h,p]of c.children){let d=v.join(a,h),m=o(d,d,p);m.size>0&&s.set(a,new Map([...s.get(a)||new Map,...m]))}}else for(let[f,h]of c.children){let p=o(v.join(a,f),l,h);for(let[d,m]of p)u.set(d,m)}return u};for(let[a,l]of e){let c=o(a,a,l);c.size>0&&s.set(a,new Map([...s.get(a)||new Map,...c]))}return s}var vce=(t,e)=>{if(!t||!e)return t===e;let r=S.parseLocator(t);S.isVirtualLocator(r)&&(r=S.devirtualizeLocator(r));let i=S.parseLocator(e);return S.isVirtualLocator(i)&&(i=S.devirtualizeLocator(i)),S.areLocatorsEqual(r,i)};function dT(t){return v.join(t.get("globalFolder"),"store")}async function T6e(t,e,{baseFs:r,project:i,report:n,loadManifest:s,realLocatorChecksums:o}){let a=v.join(i.cwd,gi),{locationTree:l,binSymlinks:c}=U6e(t.locationTree,t.binSymlinks),u=Bce(e,{skipPrefix:i.cwd}),g=[],f=async({srcDir:L,dstDir:K,linkType:J,globalHardlinksStore:ne,nmMode:q,packageChecksum:A})=>{let V=(async()=>{try{J===gt.SOFT?(await T.mkdirPromise(v.dirname(K),{recursive:!0}),await pT(v.resolve(L),K)):await K6e(K,L,{baseFs:r,globalHardlinksStore:ne,nmMode:q,packageChecksum:A})}catch(W){throw W.message=`While persisting ${L} -> ${K} ${W.message}`,W}finally{B.tick()}})().then(()=>g.splice(g.indexOf(V),1));g.push(V),g.length>Qce&&await Promise.race(g)},h=async(L,K,J)=>{let ne=(async()=>{let q=async(A,V,W)=>{try{W.innerLoop||await T.mkdirPromise(V,{recursive:!0});let X=await T.readdirPromise(A,{withFileTypes:!0});for(let F of X){if(!W.innerLoop&&F.name===gT)continue;let D=v.join(A,F.name),he=v.join(V,F.name);F.isDirectory()?(F.name!==gi||W&&W.innerLoop)&&(await T.mkdirPromise(he,{recursive:!0}),await q(D,he,_(P({},W),{innerLoop:!0}))):H.value===Bi.HARDLINKS_LOCAL||H.value===Bi.HARDLINKS_GLOBAL?await T.linkPromise(D,he):await T.copyFilePromise(D,he,mce.default.constants.COPYFILE_FICLONE)}}catch(X){throw W.innerLoop||(X.message=`While cloning ${A} -> ${V} ${X.message}`),X}finally{W.innerLoop||B.tick()}};await q(L,K,J)})().then(()=>g.splice(g.indexOf(ne),1));g.push(ne),g.length>Qce&&await Promise.race(g)},p=async(L,K,J)=>{if(!J)K.children.has(gi)&&await Ef(v.join(L,gi),{contentsOnly:!1}),await Ef(L,{contentsOnly:L===a});else for(let[ne,q]of K.children){let A=J.children.get(ne);await p(v.join(L,ne),q,A)}};for(let[L,K]of l){let J=u.get(L);for(let[ne,q]of K.children){if(ne===".")continue;let A=J&&J.children.get(ne);await p(v.join(L,ne),q,A)}}let d=async(L,K,J)=>{if(!J)K.children.has(gi)&&await Ef(v.join(L,gi),{contentsOnly:!0}),await Ef(L,{contentsOnly:K.linkType===gt.HARD});else{vce(K.locator,J.locator)||await Ef(L,{contentsOnly:K.linkType===gt.HARD});for(let[ne,q]of K.children){let A=J.children.get(ne);await d(v.join(L,ne),q,A)}}};for(let[L,K]of u){let J=l.get(L);for(let[ne,q]of K.children){if(ne===".")continue;let A=J&&J.children.get(ne);await d(v.join(L,ne),q,A)}}let m=new Map,I=[];for(let[L,{locations:K}]of t.locatorMap.entries())for(let J of K){let{locationRoot:ne,segments:q}=$0(J,{skipPrefix:i.cwd}),A=u.get(ne),V=ne;if(A){for(let W of q)if(V=v.join(V,W),A=A.children.get(W),!A)break;if(A){let W=vce(A.locator,L),X=e.get(A.locator),F=X.target,D=V,he=X.linkType;if(W)m.has(F)||m.set(F,D);else if(F!==D){let pe=S.parseLocator(A.locator);S.isVirtualLocator(pe)&&(pe=S.devirtualizeLocator(pe)),I.push({srcDir:F,dstDir:D,linkType:he,realLocatorHash:pe.locatorHash})}}}}for(let[L,{locations:K}]of e.entries())for(let J of K){let{locationRoot:ne,segments:q}=$0(J,{skipPrefix:i.cwd}),A=l.get(ne),V=u.get(ne),W=ne,X=e.get(L),F=S.parseLocator(L);S.isVirtualLocator(F)&&(F=S.devirtualizeLocator(F));let D=F.locatorHash,he=X.target,pe=J;if(he===pe)continue;let Ne=X.linkType;for(let Pe of q)V=V.children.get(Pe);if(!A)I.push({srcDir:he,dstDir:pe,linkType:Ne,realLocatorHash:D});else for(let Pe of q)if(W=v.join(W,Pe),A=A.children.get(Pe),!A){I.push({srcDir:he,dstDir:pe,linkType:Ne,realLocatorHash:D});break}}let B=Xi.progressViaCounter(I.length),b=n.reportProgress(B),R=i.configuration.get("nmMode"),H={value:R};try{let L=H.value===Bi.HARDLINKS_GLOBAL?`${dT(i.configuration)}/v1`:null;if(L&&!await T.existsPromise(L)){await T.mkdirpPromise(L);for(let J=0;J<256;J++)await T.mkdirPromise(v.join(L,J.toString(16).padStart(2,"0")))}for(let J of I)(J.linkType===gt.SOFT||!m.has(J.srcDir))&&(m.set(J.srcDir,J.dstDir),await f(_(P({},J),{globalHardlinksStore:L,nmMode:H,packageChecksum:o.get(J.realLocatorHash)||null})));await Promise.all(g),g.length=0;for(let J of I){let ne=m.get(J.srcDir);J.linkType!==gt.SOFT&&J.dstDir!==ne&&await h(ne,J.dstDir,{nmMode:H})}await Promise.all(g),await T.mkdirPromise(a,{recursive:!0});let K=await H6e(e,u,i.cwd,{loadManifest:s});await G6e(c,K,i.cwd),await M6e(i,e,K,H),R==Bi.HARDLINKS_GLOBAL&&H.value==Bi.HARDLINKS_LOCAL&&n.reportWarningOnce(z.NM_HARDLINKS_MODE_DOWNGRADED,"'nmMode' has been downgraded to 'hardlinks-local' due to global cache and install folder being on different devices")}finally{b.stop()}}async function G6e(t,e,r){for(let i of t.keys()){if(v.contains(r,i)===null)throw new Error(`Assertion failed. Excepted bin symlink location to be inside project dir, instead it was at ${i}`);if(!e.has(i)){let n=v.join(i,gi,gT);await T.removePromise(n)}}for(let[i,n]of e){if(v.contains(r,i)===null)throw new Error(`Assertion failed. Excepted bin symlink location to be inside project dir, instead it was at ${i}`);let s=v.join(i,gi,gT),o=t.get(i)||new Map;await T.mkdirPromise(s,{recursive:!0});for(let a of o.keys())n.has(a)||(await T.removePromise(v.join(s,a)),process.platform==="win32"&&await T.removePromise(v.join(s,kr(`${a}.cmd`))));for(let[a,l]of n){let c=o.get(a),u=v.join(s,a);c!==l&&(process.platform==="win32"?await(0,Cce.default)(M.fromPortablePath(l),M.fromPortablePath(u),{createPwshFile:!1}):(await T.removePromise(u),await pT(l,u),v.contains(r,await T.realpathPromise(l))!==null&&await T.chmodPromise(l,493)))}}}var CT=class extends jc{constructor(){super(...arguments);this.mode="loose"}makeInstaller(e){return new Sce(e)}},Sce=class extends Cf{constructor(){super(...arguments);this.mode="loose"}async transformPnpSettings(e){let r=new Pr({baseFs:new Jn({libzip:await $i(),maxOpenFiles:80,readOnlyArchives:!0})}),i=ice(e,this.opts.project.cwd,r),{tree:n,errors:s}=VC(i,{pnpifyFs:!1,project:this.opts.project});if(!n){for(let{messageName:u,text:g}of s)this.opts.report.reportError(u,g);return}let o=new Map;e.fallbackPool=o;let a=(u,g)=>{let f=S.parseLocator(g.locator),h=S.stringifyIdent(f);h===u?o.set(u,f.reference):o.set(u,[h,f.reference])},l=v.join(this.opts.project.cwd,wt.nodeModules),c=n.get(l);if(typeof c!="undefined"){if("target"in c)throw new Error("Assertion failed: Expected the root junction point to be a directory");for(let u of c.dirList){let g=v.join(l,u),f=n.get(g);if(typeof f=="undefined")throw new Error("Assertion failed: Expected the child to have been registered");if("target"in f)a(u,f);else for(let h of f.dirList){let p=v.join(g,h),d=n.get(p);if(typeof d=="undefined")throw new Error("Assertion failed: Expected the subchild to have been registered");if("target"in d)a(`${u}/${h}`,d);else throw new Error("Assertion failed: Expected the leaf junction to be a package")}}}}};var j6e={hooks:{cleanGlobalArtifacts:async t=>{let e=dT(t);await T.removePromise(e)}},configuration:{nmHoistingLimits:{description:"Prevent packages to be hoisted past specific levels",type:ge.STRING,values:[Sn.WORKSPACES,Sn.DEPENDENCIES,Sn.NONE],default:Sn.NONE},nmMode:{description:'If set to "hardlinks-local" Yarn will utilize hardlinks to reduce disk space consumption inside "node_modules" directories. With "hardlinks-global" Yarn will use global content addressable storage to reduce "node_modules" size across all the projects using this option.',type:ge.STRING,values:[Bi.CLASSIC,Bi.HARDLINKS_LOCAL,Bi.HARDLINKS_GLOBAL],default:Bi.CLASSIC},nmSelfReferences:{description:"If set to 'false' the workspace will not be allowed to require itself and corresponding self-referencing symlink will not be created",type:ge.BOOLEAN,default:!0}},linkers:[fT,CT]},Y6e=j6e;var yM={};it(yM,{default:()=>Z7e,npmConfigUtils:()=>gr,npmHttpUtils:()=>Lt,npmPublishUtils:()=>Rf});var Rce=ie(Or());var ir="npm:";var Lt={};it(Lt,{AuthType:()=>jn,customPackageError:()=>W6e,del:()=>_6e,get:()=>zs,getIdentUrl:()=>zA,handleInvalidAuthenticationError:()=>WA,post:()=>z6e,put:()=>V6e});var Pce=ie(aC()),Dce=ie(require("url"));var gr={};it(gr,{RegistryType:()=>ja,getAuditRegistry:()=>q6e,getAuthConfiguration:()=>IT,getDefaultRegistry:()=>eQ,getPublishRegistry:()=>xce,getRegistryConfiguration:()=>kce,getScopeConfiguration:()=>ET,getScopeRegistry:()=>Ya,normalizeRegistry:()=>To});var ja;(function(i){i.AUDIT_REGISTRY="npmAuditRegistry",i.FETCH_REGISTRY="npmRegistryServer",i.PUBLISH_REGISTRY="npmPublishRegistry"})(ja||(ja={}));function To(t){return t.replace(/\/$/,"")}function q6e(t,{configuration:e}){let r=e.get(ja.AUDIT_REGISTRY);return r!==null?To(r):xce(t,{configuration:e})}function xce(t,{configuration:e}){var r;return((r=t.publishConfig)==null?void 0:r.registry)?To(t.publishConfig.registry):t.name?Ya(t.name.scope,{configuration:e,type:ja.PUBLISH_REGISTRY}):eQ({configuration:e,type:ja.PUBLISH_REGISTRY})}function Ya(t,{configuration:e,type:r=ja.FETCH_REGISTRY}){let i=ET(t,{configuration:e});if(i===null)return eQ({configuration:e,type:r});let n=i.get(r);return n===null?eQ({configuration:e,type:r}):To(n)}function eQ({configuration:t,type:e=ja.FETCH_REGISTRY}){let r=t.get(e);return To(r!==null?r:t.get(ja.FETCH_REGISTRY))}function kce(t,{configuration:e}){let r=e.get("npmRegistries"),i=To(t),n=r.get(i);if(typeof n!="undefined")return n;let s=r.get(i.replace(/^[a-z]+:/,""));return typeof s!="undefined"?s:null}function ET(t,{configuration:e}){if(t===null)return null;let i=e.get("npmScopes").get(t);return i||null}function IT(t,{configuration:e,ident:r}){let i=r&&ET(r.scope,{configuration:e});return(i==null?void 0:i.get("npmAuthIdent"))||(i==null?void 0:i.get("npmAuthToken"))?i:kce(t,{configuration:e})||e}var jn;(function(n){n[n.NO_AUTH=0]="NO_AUTH",n[n.BEST_EFFORT=1]="BEST_EFFORT",n[n.CONFIGURATION=2]="CONFIGURATION",n[n.ALWAYS_AUTH=3]="ALWAYS_AUTH"})(jn||(jn={}));async function WA(t,{attemptedAs:e,registry:r,headers:i,configuration:n}){var s,o;if(((s=t.originalError)==null?void 0:s.name)==="HTTPError"&&((o=t.originalError)==null?void 0:o.response.statusCode)===401)throw new nt(z.AUTHENTICATION_INVALID,`Invalid authentication (${typeof e!="string"?`as ${await J6e(r,i,{configuration:n})}`:`attempted as ${e}`})`)}function W6e(t){var e;return((e=t.response)==null?void 0:e.statusCode)===404?"Package not found":null}function zA(t){return t.scope?`/@${t.scope}%2f${t.name}`:`/${t.name}`}async function zs(t,a){var l=a,{configuration:e,headers:r,ident:i,authType:n,registry:s}=l,o=qr(l,["configuration","headers","ident","authType","registry"]);if(i&&typeof s=="undefined"&&(s=Ya(i.scope,{configuration:e})),i&&i.scope&&typeof n=="undefined"&&(n=1),typeof s!="string")throw new Error("Assertion failed: The registry should be a string");let c=await tQ(s,{authType:n,configuration:e,ident:i});c&&(r=_(P({},r),{authorization:c}));try{return await Zt.get(t.charAt(0)==="/"?`${s}${t}`:t,P({configuration:e,headers:r},o))}catch(u){throw await WA(u,{registry:s,configuration:e,headers:r}),u}}async function z6e(t,e,c){var u=c,{attemptedAs:r,configuration:i,headers:n,ident:s,authType:o=3,registry:a}=u,l=qr(u,["attemptedAs","configuration","headers","ident","authType","registry"]);if(s&&typeof a=="undefined"&&(a=Ya(s.scope,{configuration:i})),typeof a!="string")throw new Error("Assertion failed: The registry should be a string");let g=await tQ(a,{authType:o,configuration:i,ident:s});g&&(n=_(P({},n),{authorization:g}));try{return await Zt.post(a+t,e,P({configuration:i,headers:n},l))}catch(f){if(!wT(f))throw await WA(f,{attemptedAs:r,registry:a,configuration:i,headers:n}),f;let h=await yT(),p=P(P({},n),BT(h));try{return await Zt.post(`${a}${t}`,e,P({configuration:i,headers:p},l))}catch(d){throw await WA(d,{attemptedAs:r,registry:a,configuration:i,headers:n}),d}}}async function V6e(t,e,c){var u=c,{attemptedAs:r,configuration:i,headers:n,ident:s,authType:o=3,registry:a}=u,l=qr(u,["attemptedAs","configuration","headers","ident","authType","registry"]);if(s&&typeof a=="undefined"&&(a=Ya(s.scope,{configuration:i})),typeof a!="string")throw new Error("Assertion failed: The registry should be a string");let g=await tQ(a,{authType:o,configuration:i,ident:s});g&&(n=_(P({},n),{authorization:g}));try{return await Zt.put(a+t,e,P({configuration:i,headers:n},l))}catch(f){if(!wT(f))throw await WA(f,{attemptedAs:r,registry:a,configuration:i,headers:n}),f;let h=await yT(),p=P(P({},n),BT(h));try{return await Zt.put(`${a}${t}`,e,P({configuration:i,headers:p},l))}catch(d){throw await WA(d,{attemptedAs:r,registry:a,configuration:i,headers:n}),d}}}async function _6e(t,l){var c=l,{attemptedAs:e,configuration:r,headers:i,ident:n,authType:s=3,registry:o}=c,a=qr(c,["attemptedAs","configuration","headers","ident","authType","registry"]);if(n&&typeof o=="undefined"&&(o=Ya(n.scope,{configuration:r})),typeof o!="string")throw new Error("Assertion failed: The registry should be a string");let u=await tQ(o,{authType:s,configuration:r,ident:n});u&&(i=_(P({},i),{authorization:u}));try{return await Zt.del(o+t,P({configuration:r,headers:i},a))}catch(g){if(!wT(g))throw await WA(g,{attemptedAs:e,registry:o,configuration:r,headers:i}),g;let f=await yT(),h=P(P({},i),BT(f));try{return await Zt.del(`${o}${t}`,P({configuration:r,headers:h},a))}catch(p){throw await WA(p,{attemptedAs:e,registry:o,configuration:r,headers:i}),p}}}async function tQ(t,{authType:e=2,configuration:r,ident:i}){let n=IT(t,{configuration:r,ident:i}),s=X6e(n,e);if(!s)return null;let o=await r.reduceHook(a=>a.getNpmAuthenticationHeader,void 0,t,{configuration:r,ident:i});if(o)return o;if(n.get("npmAuthToken"))return`Bearer ${n.get("npmAuthToken")}`;if(n.get("npmAuthIdent")){let a=n.get("npmAuthIdent");return a.includes(":")?`Basic ${Buffer.from(a).toString("base64")}`:`Basic ${a}`}if(s&&e!==1)throw new nt(z.AUTHENTICATION_NOT_FOUND,"No authentication configured for request");return null}function X6e(t,e){switch(e){case 2:return t.get("npmAlwaysAuth");case 1:case 3:return!0;case 0:return!1;default:throw new Error("Unreachable")}}async function J6e(t,e,{configuration:r}){var i;if(typeof e=="undefined"||typeof e.authorization=="undefined")return"an anonymous user";try{return(i=(await Zt.get(new Dce.URL(`${t}/-/whoami`).href,{configuration:r,headers:e,jsonResponse:!0})).username)!=null?i:"an unknown user"}catch{return"an unknown user"}}async function yT(){if(process.env.TEST_ENV)return process.env.TEST_NPM_2FA_TOKEN||"";let{otp:t}=await(0,Pce.prompt)({type:"password",name:"otp",message:"One-time password:",required:!0,onCancel:()=>process.exit(130)});return t}function wT(t){var e,r;if(((e=t.originalError)==null?void 0:e.name)!=="HTTPError")return!1;try{return((r=t.originalError)==null?void 0:r.response.headers["www-authenticate"].split(/,\s*/).map(n=>n.toLowerCase())).includes("otp")}catch(i){return!1}}function BT(t){return{["npm-otp"]:t}}var QT=class{supports(e,r){if(!e.reference.startsWith(ir))return!1;let{selector:i,params:n}=S.parseRange(e.reference);return!(!Rce.default.valid(i)||n===null||typeof n.__archiveUrl!="string")}getLocalPath(e,r){return null}async fetch(e,r){let i=r.checksums.get(e.locatorHash)||null,[n,s,o]=await r.cache.fetchPackageFromCache(e,i,P({onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${S.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the remote server`),loader:()=>this.fetchFromNetwork(e,r),skipIntegrityCheck:r.skipIntegrityCheck},r.cacheOptions));return{packageFs:n,releaseFs:s,prefixPath:S.getIdentVendorPath(e),checksum:o}}async fetchFromNetwork(e,r){let{params:i}=S.parseRange(e.reference);if(i===null||typeof i.__archiveUrl!="string")throw new Error("Assertion failed: The archiveUrl querystring parameter should have been available");let n=await zs(i.__archiveUrl,{configuration:r.project.configuration,ident:e});return await Ai.convertToZip(n,{compressionLevel:r.project.configuration.get("compressionLevel"),prefixPath:S.getIdentVendorPath(e),stripComponents:1})}};var bT=class{supportsDescriptor(e,r){return!(!e.range.startsWith(ir)||!S.tryParseDescriptor(e.range.slice(ir.length),!0))}supportsLocator(e,r){return!1}shouldPersistResolution(e,r){throw new Error("Unreachable")}bindDescriptor(e,r,i){return e}getResolutionDependencies(e,r){let i=S.parseDescriptor(e.range.slice(ir.length),!0);return r.resolver.getResolutionDependencies(i,r)}async getCandidates(e,r,i){let n=S.parseDescriptor(e.range.slice(ir.length),!0);return await i.resolver.getCandidates(n,r,i)}async getSatisfying(e,r,i){let n=S.parseDescriptor(e.range.slice(ir.length),!0);return i.resolver.getSatisfying(n,r,i)}resolve(e,r){throw new Error("Unreachable")}};var vT=ie(Or()),Fce=ie(require("url"));var Vs=class{supports(e,r){if(!e.reference.startsWith(ir))return!1;let i=new Fce.URL(e.reference);return!(!vT.default.valid(i.pathname)||i.searchParams.has("__archiveUrl"))}getLocalPath(e,r){return null}async fetch(e,r){let i=r.checksums.get(e.locatorHash)||null,[n,s,o]=await r.cache.fetchPackageFromCache(e,i,P({onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${S.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the remote registry`),loader:()=>this.fetchFromNetwork(e,r),skipIntegrityCheck:r.skipIntegrityCheck},r.cacheOptions));return{packageFs:n,releaseFs:s,prefixPath:S.getIdentVendorPath(e),checksum:o}}async fetchFromNetwork(e,r){let i;try{i=await zs(Vs.getLocatorUrl(e),{configuration:r.project.configuration,ident:e})}catch(n){i=await zs(Vs.getLocatorUrl(e).replace(/%2f/g,"/"),{configuration:r.project.configuration,ident:e})}return await Ai.convertToZip(i,{compressionLevel:r.project.configuration.get("compressionLevel"),prefixPath:S.getIdentVendorPath(e),stripComponents:1})}static isConventionalTarballUrl(e,r,{configuration:i}){let n=Ya(e.scope,{configuration:i}),s=Vs.getLocatorUrl(e);return r=r.replace(/^https?:(\/\/(?:[^/]+\.)?npmjs.org(?:$|\/))/,"https:$1"),n=n.replace(/^https:\/\/registry\.npmjs\.org($|\/)/,"https://registry.yarnpkg.com$1"),r=r.replace(/^https:\/\/registry\.npmjs\.org($|\/)/,"https://registry.yarnpkg.com$1"),r===n+s||r===n+s.replace(/%2f/g,"/")}static getLocatorUrl(e){let r=vT.default.clean(e.reference.slice(ir.length));if(r===null)throw new nt(z.RESOLVER_NOT_FOUND,"The npm semver resolver got selected, but the version isn't semver");return`${zA(e)}/-/${e.name}-${r}.tgz`}};var ST=ie(Or());var rQ=S.makeIdent(null,"node-gyp"),Z6e=/\b(node-gyp|prebuild-install)\b/,xT=class{supportsDescriptor(e,r){return e.range.startsWith(ir)?!!qt.validRange(e.range.slice(ir.length)):!1}supportsLocator(e,r){if(!e.reference.startsWith(ir))return!1;let{selector:i}=S.parseRange(e.reference);return!!ST.default.valid(i)}shouldPersistResolution(e,r){return!0}bindDescriptor(e,r,i){return e}getResolutionDependencies(e,r){return[]}async getCandidates(e,r,i){let n=qt.validRange(e.range.slice(ir.length));if(n===null)throw new Error(`Expected a valid range, got ${e.range.slice(ir.length)}`);let s=await zs(zA(e),{configuration:i.project.configuration,ident:e,jsonResponse:!0}),o=de.mapAndFilter(Object.keys(s.versions),c=>{try{let u=new qt.SemVer(c);if(n.test(u))return u}catch{}return de.mapAndFilter.skip}),a=o.filter(c=>!s.versions[c.raw].deprecated),l=a.length>0?a:o;return l.sort((c,u)=>-c.compare(u)),l.map(c=>{let u=S.makeLocator(e,`${ir}${c.raw}`),g=s.versions[c.raw].dist.tarball;return Vs.isConventionalTarballUrl(u,g,{configuration:i.project.configuration})?u:S.bindLocator(u,{__archiveUrl:g})})}async getSatisfying(e,r,i){let n=qt.validRange(e.range.slice(ir.length));if(n===null)throw new Error(`Expected a valid range, got ${e.range.slice(ir.length)}`);return de.mapAndFilter(r,s=>{try{let{selector:o}=S.parseRange(s,{requireProtocol:ir}),a=new qt.SemVer(o);if(n.test(a))return{reference:s,version:a}}catch{}return de.mapAndFilter.skip}).sort((s,o)=>-s.version.compare(o.version)).map(({reference:s})=>S.makeLocator(e,s))}async resolve(e,r){let{selector:i}=S.parseRange(e.reference),n=ST.default.clean(i);if(n===null)throw new nt(z.RESOLVER_NOT_FOUND,"The npm semver resolver got selected, but the version isn't semver");let s=await zs(zA(e),{configuration:r.project.configuration,ident:e,jsonResponse:!0});if(!Object.prototype.hasOwnProperty.call(s,"versions"))throw new nt(z.REMOTE_INVALID,'Registry returned invalid data for - missing "versions" field');if(!Object.prototype.hasOwnProperty.call(s.versions,n))throw new nt(z.REMOTE_NOT_FOUND,`Registry failed to return reference "${n}"`);let o=new Ze;if(o.load(s.versions[n]),!o.dependencies.has(rQ.identHash)&&!o.peerDependencies.has(rQ.identHash)){for(let a of o.scripts.values())if(a.match(Z6e)){o.dependencies.set(rQ.identHash,S.makeDescriptor(rQ,"latest")),r.report.reportWarningOnce(z.NODE_GYP_INJECTED,`${S.prettyLocator(r.project.configuration,e)}: Implicit dependencies on node-gyp are discouraged`);break}}return typeof o.raw.deprecated=="string"&&r.report.reportWarningOnce(z.DEPRECATED_PACKAGE,`${S.prettyLocator(r.project.configuration,e)} is deprecated: ${o.raw.deprecated}`),_(P({},e),{version:n,languageName:"node",linkType:gt.HARD,conditions:o.getConditions(),dependencies:o.dependencies,peerDependencies:o.peerDependencies,dependenciesMeta:o.dependenciesMeta,peerDependenciesMeta:o.peerDependenciesMeta,bin:o.bin})}};var kT=class{supportsDescriptor(e,r){return!(!e.range.startsWith(ir)||!Rg.test(e.range.slice(ir.length)))}supportsLocator(e,r){return!1}shouldPersistResolution(e,r){throw new Error("Unreachable")}bindDescriptor(e,r,i){return e}getResolutionDependencies(e,r){return[]}async getCandidates(e,r,i){let n=e.range.slice(ir.length),s=await zs(zA(e),{configuration:i.project.configuration,ident:e,jsonResponse:!0});if(!Object.prototype.hasOwnProperty.call(s,"dist-tags"))throw new nt(z.REMOTE_INVALID,'Registry returned invalid data - missing "dist-tags" field');let o=s["dist-tags"];if(!Object.prototype.hasOwnProperty.call(o,n))throw new nt(z.REMOTE_NOT_FOUND,`Registry failed to return tag "${n}"`);let a=o[n],l=S.makeLocator(e,`${ir}${a}`),c=s.versions[a].dist.tarball;return Vs.isConventionalTarballUrl(l,c,{configuration:i.project.configuration})?[l]:[S.bindLocator(l,{__archiveUrl:c})]}async getSatisfying(e,r,i){return null}async resolve(e,r){throw new Error("Unreachable")}};var Rf={};it(Rf,{getGitHead:()=>_7e,makePublishBody:()=>V7e});var CM={};it(CM,{default:()=>D7e,packUtils:()=>za});var za={};it(za,{genPackList:()=>QQ,genPackStream:()=>dM,genPackageManifest:()=>age,hasPackScripts:()=>hM,prepareForPack:()=>pM});var fM=ie(Nn()),sge=ie(nge()),oge=ie(require("zlib")),I7e=["/package.json","/readme","/readme.*","/license","/license.*","/licence","/licence.*","/changelog","/changelog.*"],y7e=["/package.tgz",".github",".git",".hg","node_modules",".npmignore",".gitignore",".#*",".DS_Store"];async function hM(t){return!!(Kt.hasWorkspaceScript(t,"prepack")||Kt.hasWorkspaceScript(t,"postpack"))}async function pM(t,{report:e},r){await Kt.maybeExecuteWorkspaceLifecycleScript(t,"prepack",{report:e});try{let i=v.join(t.cwd,Ze.fileName);await T.existsPromise(i)&&await t.manifest.loadFile(i,{baseFs:T}),await r()}finally{await Kt.maybeExecuteWorkspaceLifecycleScript(t,"postpack",{report:e})}}async function dM(t,e){var s,o;typeof e=="undefined"&&(e=await QQ(t));let r=new Set;for(let a of(o=(s=t.manifest.publishConfig)==null?void 0:s.executableFiles)!=null?o:new Set)r.add(v.normalize(a));for(let a of t.manifest.bin.values())r.add(v.normalize(a));let i=sge.default.pack();process.nextTick(async()=>{for(let a of e){let l=v.normalize(a),c=v.resolve(t.cwd,l),u=v.join("package",l),g=await T.lstatPromise(c),f={name:u,mtime:new Date(mr.SAFE_TIME*1e3)},h=r.has(l)?493:420,p,d,m=new Promise((B,b)=>{p=B,d=b}),I=B=>{B?d(B):p()};if(g.isFile()){let B;l==="package.json"?B=Buffer.from(JSON.stringify(await age(t),null,2)):B=await T.readFilePromise(c),i.entry(_(P({},f),{mode:h,type:"file"}),B,I)}else g.isSymbolicLink()?i.entry(_(P({},f),{mode:h,type:"symlink",linkname:await T.readlinkPromise(c)}),I):I(new Error(`Unsupported file type ${g.mode} for ${M.fromPortablePath(l)}`));await m}i.finalize()});let n=(0,oge.createGzip)();return i.pipe(n),n}async function age(t){let e=JSON.parse(JSON.stringify(t.manifest.raw));return await t.project.configuration.triggerHook(r=>r.beforeWorkspacePacking,t,e),e}async function QQ(t){var g,f,h,p,d,m,I,B;let e=t.project,r=e.configuration,i={accept:[],reject:[]};for(let b of y7e)i.reject.push(b);for(let b of I7e)i.accept.push(b);i.reject.push(r.get("rcFilename"));let n=b=>{if(b===null||!b.startsWith(`${t.cwd}/`))return;let R=v.relative(t.cwd,b),H=v.resolve(Se.root,R);i.reject.push(H)};n(v.resolve(e.cwd,r.get("lockfileFilename"))),n(r.get("cacheFolder")),n(r.get("globalFolder")),n(r.get("installStatePath")),n(r.get("virtualFolder")),n(r.get("yarnPath")),await r.triggerHook(b=>b.populateYarnPaths,e,b=>{n(b)});for(let b of e.workspaces){let R=v.relative(t.cwd,b.cwd);R!==""&&!R.match(/^(\.\.)?\//)&&i.reject.push(`/${R}`)}let s={accept:[],reject:[]},o=(f=(g=t.manifest.publishConfig)==null?void 0:g.main)!=null?f:t.manifest.main,a=(p=(h=t.manifest.publishConfig)==null?void 0:h.module)!=null?p:t.manifest.module,l=(m=(d=t.manifest.publishConfig)==null?void 0:d.browser)!=null?m:t.manifest.browser,c=(B=(I=t.manifest.publishConfig)==null?void 0:I.bin)!=null?B:t.manifest.bin;o!=null&&s.accept.push(v.resolve(Se.root,o)),a!=null&&s.accept.push(v.resolve(Se.root,a)),typeof l=="string"&&s.accept.push(v.resolve(Se.root,l));for(let b of c.values())s.accept.push(v.resolve(Se.root,b));if(l instanceof Map)for(let[b,R]of l.entries())s.accept.push(v.resolve(Se.root,b)),typeof R=="string"&&s.accept.push(v.resolve(Se.root,R));let u=t.manifest.files!==null;if(u){s.reject.push("/*");for(let b of t.manifest.files)Age(s.accept,b,{cwd:Se.root})}return await w7e(t.cwd,{hasExplicitFileList:u,globalList:i,ignoreList:s})}async function w7e(t,{hasExplicitFileList:e,globalList:r,ignoreList:i}){let n=[],s=new Zo(t),o=[[Se.root,[i]]];for(;o.length>0;){let[a,l]=o.pop(),c=await s.lstatPromise(a);if(!cge(a,{globalList:r,ignoreLists:c.isDirectory()?null:l}))if(c.isDirectory()){let u=await s.readdirPromise(a),g=!1,f=!1;if(!e||a!==Se.root)for(let d of u)g=g||d===".gitignore",f=f||d===".npmignore";let h=f?await lge(s,a,".npmignore"):g?await lge(s,a,".gitignore"):null,p=h!==null?[h].concat(l):l;cge(a,{globalList:r,ignoreLists:l})&&(p=[...l,{accept:[],reject:["**/*"]}]);for(let d of u)o.push([v.resolve(a,d),p])}else(c.isFile()||c.isSymbolicLink())&&n.push(v.relative(Se.root,a))}return n.sort()}async function lge(t,e,r){let i={accept:[],reject:[]},n=await t.readFilePromise(v.join(e,r),"utf8");for(let s of n.split(/\n/g))Age(i.reject,s,{cwd:e});return i}function B7e(t,{cwd:e}){let r=t[0]==="!";return r&&(t=t.slice(1)),t.match(/\.{0,1}\//)&&(t=v.resolve(e,t)),r&&(t=`!${t}`),t}function Age(t,e,{cwd:r}){let i=e.trim();i===""||i[0]==="#"||t.push(B7e(i,{cwd:r}))}function cge(t,{globalList:e,ignoreLists:r}){if(bQ(t,e.accept))return!1;if(bQ(t,e.reject))return!0;if(r!==null)for(let i of r){if(bQ(t,i.accept))return!1;if(bQ(t,i.reject))return!0}return!1}function bQ(t,e){let r=e,i=[];for(let n=0;n{await pM(i,{report:l},async()=>{l.reportJson({base:M.fromPortablePath(i.cwd)});let c=await QQ(i);for(let u of c)l.reportInfo(null,M.fromPortablePath(u)),l.reportJson({location:M.fromPortablePath(u)});if(!this.dryRun){let u=await dM(i,c),g=T.createWriteStream(s);u.pipe(g),await new Promise(f=>{g.on("finish",f)})}}),this.dryRun||(l.reportInfo(z.UNNAMED,`Package archive generated in ${ue.pretty(e,s,ue.Type.PATH)}`),l.reportJson({output:M.fromPortablePath(s)}))})).exitCode()}};fm.paths=[["pack"]],fm.usage=ye.Usage({description:"generate a tarball from the active workspace",details:"\n This command will turn the active workspace into a compressed archive suitable for publishing. The archive will by default be stored at the root of the workspace (`package.tgz`).\n\n If the `-o,---out` is set the archive will be created at the specified path. The `%s` and `%v` variables can be used within the path and will be respectively replaced by the package name and version.\n ",examples:[["Create an archive from the active workspace","yarn pack"],["List the files that would be made part of the workspace's archive","yarn pack --dry-run"],["Name and output the archive in a dedicated folder","yarn pack --out /artifacts/%s-%v.tgz"]]});var gge=fm;function Q7e(t,{workspace:e}){let r=t.replace("%s",b7e(e)).replace("%v",v7e(e));return M.toPortablePath(r)}function b7e(t){return t.manifest.name!==null?S.slugifyIdent(t.manifest.name):"package"}function v7e(t){return t.manifest.version!==null?t.manifest.version:"unknown"}var S7e=["dependencies","devDependencies","peerDependencies"],x7e="workspace:",k7e=(t,e)=>{var i,n;e.publishConfig&&(e.publishConfig.main&&(e.main=e.publishConfig.main),e.publishConfig.browser&&(e.browser=e.publishConfig.browser),e.publishConfig.module&&(e.module=e.publishConfig.module),e.publishConfig.browser&&(e.browser=e.publishConfig.browser),e.publishConfig.exports&&(e.exports=e.publishConfig.exports),e.publishConfig.bin&&(e.bin=e.publishConfig.bin));let r=t.project;for(let s of S7e)for(let o of t.manifest.getForScope(s).values()){let a=r.tryWorkspaceByDescriptor(o),l=S.parseRange(o.range);if(l.protocol===x7e)if(a===null){if(r.tryWorkspaceByIdent(o)===null)throw new nt(z.WORKSPACE_NOT_FOUND,`${S.prettyDescriptor(r.configuration,o)}: No local workspace found for this range`)}else{let c;S.areDescriptorsEqual(o,a.anchoredDescriptor)||l.selector==="*"?c=(i=a.manifest.version)!=null?i:"0.0.0":l.selector==="~"||l.selector==="^"?c=`${l.selector}${(n=a.manifest.version)!=null?n:"0.0.0"}`:c=l.selector,e[s][S.stringifyIdent(o)]=c}}},P7e={hooks:{beforeWorkspacePacking:k7e},commands:[gge]},D7e=P7e;var yge=ie(require("crypto")),wge=ie(Ige()),Bge=ie(require("url"));async function V7e(t,e,{access:r,tag:i,registry:n,gitHead:s}){let o=t.project.configuration,a=t.manifest.name,l=t.manifest.version,c=S.stringifyIdent(a),u=(0,yge.createHash)("sha1").update(e).digest("hex"),g=wge.default.fromData(e).toString();typeof r=="undefined"&&(t.manifest.publishConfig&&typeof t.manifest.publishConfig.access=="string"?r=t.manifest.publishConfig.access:o.get("npmPublishAccess")!==null?r=o.get("npmPublishAccess"):a.scope?r="restricted":r="public");let f=await za.genPackageManifest(t),h=`${c}-${l}.tgz`,p=new Bge.URL(`${To(n)}/${c}/-/${h}`);return{_id:c,_attachments:{[h]:{content_type:"application/octet-stream",data:e.toString("base64"),length:e.length}},name:c,access:r,["dist-tags"]:{[i]:l},versions:{[l]:_(P({},f),{_id:`${c}@${l}`,name:c,version:l,gitHead:s,dist:{shasum:u,integrity:g,tarball:p.toString()}})}}}async function _7e(t){try{let{stdout:e}=await hr.execvp("git",["rev-parse","--revs-only","HEAD"],{cwd:t});return e.trim()===""?void 0:e.trim()}catch{return}}var wM={npmAlwaysAuth:{description:"URL of the selected npm registry (note: npm enterprise isn't supported)",type:ge.BOOLEAN,default:!1},npmAuthIdent:{description:"Authentication identity for the npm registry (_auth in npm and yarn v1)",type:ge.SECRET,default:null},npmAuthToken:{description:"Authentication token for the npm registry (_authToken in npm and yarn v1)",type:ge.SECRET,default:null}},Qge={npmAuditRegistry:{description:"Registry to query for audit reports",type:ge.STRING,default:null},npmPublishRegistry:{description:"Registry to push packages to",type:ge.STRING,default:null},npmRegistryServer:{description:"URL of the selected npm registry (note: npm enterprise isn't supported)",type:ge.STRING,default:"https://registry.yarnpkg.com"}},X7e={configuration:_(P(P({},wM),Qge),{npmScopes:{description:"Settings per package scope",type:ge.MAP,valueDefinition:{description:"",type:ge.SHAPE,properties:P(P({},wM),Qge)}},npmRegistries:{description:"Settings per registry",type:ge.MAP,normalizeKeys:To,valueDefinition:{description:"",type:ge.SHAPE,properties:P({},wM)}}}),fetchers:[QT,Vs],resolvers:[bT,xT,kT]},Z7e=X7e;var vM={};it(vM,{default:()=>a_e});Ss();var Ho;(function(i){i.All="all",i.Production="production",i.Development="development"})(Ho||(Ho={}));var Xs;(function(s){s.Info="info",s.Low="low",s.Moderate="moderate",s.High="high",s.Critical="critical"})(Xs||(Xs={}));var vQ=[Xs.Info,Xs.Low,Xs.Moderate,Xs.High,Xs.Critical];function bge(t,e){let r=[],i=new Set,n=o=>{i.has(o)||(i.add(o),r.push(o))};for(let o of e)n(o);let s=new Set;for(;r.length>0;){let o=r.shift(),a=t.storedResolutions.get(o);if(typeof a=="undefined")throw new Error("Assertion failed: Expected the resolution to have been registered");let l=t.storedPackages.get(a);if(!!l){s.add(o);for(let c of l.dependencies.values())n(c.descriptorHash)}}return s}function $7e(t,e){return new Set([...t].filter(r=>!e.has(r)))}function e_e(t,e,{all:r}){let i=r?t.workspaces:[e],n=i.map(f=>f.manifest),s=new Set(n.map(f=>[...f.dependencies].map(([h,p])=>h)).flat()),o=new Set(n.map(f=>[...f.devDependencies].map(([h,p])=>h)).flat()),a=i.map(f=>[...f.dependencies.values()]).flat(),l=a.filter(f=>s.has(f.identHash)).map(f=>f.descriptorHash),c=a.filter(f=>o.has(f.identHash)).map(f=>f.descriptorHash),u=bge(t,l),g=bge(t,c);return $7e(g,u)}function vge(t){let e={};for(let r of t)e[S.stringifyIdent(r)]=S.parseRange(r.range).selector;return e}function Sge(t){if(typeof t=="undefined")return new Set;let e=vQ.indexOf(t),r=vQ.slice(e);return new Set(r)}function t_e(t,e){let r=Sge(e),i={};for(let n of r)i[n]=t[n];return i}function xge(t,e){var i;let r=t_e(t,e);for(let n of Object.keys(r))if((i=r[n])!=null?i:0>0)return!0;return!1}function kge(t,e){var s;let r={},i={children:r},n=Object.values(t.advisories);if(e!=null){let o=Sge(e);n=n.filter(a=>o.has(a.severity))}for(let o of de.sortMap(n,a=>a.module_name))r[o.module_name]={label:o.module_name,value:ue.tuple(ue.Type.RANGE,o.findings.map(a=>a.version).join(", ")),children:{Issue:{label:"Issue",value:ue.tuple(ue.Type.NO_HINT,o.title)},URL:{label:"URL",value:ue.tuple(ue.Type.URL,o.url)},Severity:{label:"Severity",value:ue.tuple(ue.Type.NO_HINT,o.severity)},["Vulnerable Versions"]:{label:"Vulnerable Versions",value:ue.tuple(ue.Type.RANGE,o.vulnerable_versions)},["Patched Versions"]:{label:"Patched Versions",value:ue.tuple(ue.Type.RANGE,o.patched_versions)},Via:{label:"Via",value:ue.tuple(ue.Type.NO_HINT,Array.from(new Set(o.findings.map(a=>a.paths).flat().map(a=>a.split(">")[0]))).join(", "))},Recommendation:{label:"Recommendation",value:ue.tuple(ue.Type.NO_HINT,(s=o.recommendation)==null?void 0:s.replace(/\n/g," "))}}};return i}function Pge(t,e,{all:r,environment:i}){let n=r?t.workspaces:[e],s=[Ho.All,Ho.Production].includes(i),o=[];if(s)for(let c of n)for(let u of c.manifest.dependencies.values())o.push(u);let a=[Ho.All,Ho.Development].includes(i),l=[];if(a)for(let c of n)for(let u of c.manifest.devDependencies.values())l.push(u);return vge([...o,...l].filter(c=>S.parseRange(c.range).protocol===null))}function Dge(t,e,{all:r}){var s;let i=e_e(t,e,{all:r}),n={};for(let o of t.storedPackages.values())n[S.stringifyIdent(o)]={version:(s=o.version)!=null?s:"0.0.0",integrity:o.identHash,requires:vge(o.dependencies.values()),dev:i.has(S.convertLocatorToDescriptor(o).descriptorHash)};return n}var dm=class extends Be{constructor(){super(...arguments);this.all=Y.Boolean("-A,--all",!1,{description:"Audit dependencies from all workspaces"});this.recursive=Y.Boolean("-R,--recursive",!1,{description:"Audit transitive dependencies as well"});this.environment=Y.String("--environment",Ho.All,{description:"Which environments to cover",validator:Yi(Ho)});this.json=Y.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.severity=Y.String("--severity",Xs.Info,{description:"Minimal severity requested for packages to be displayed",validator:Yi(Xs)})}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Ke.find(e,this.context.cwd);if(!i)throw new rt(r.cwd,this.context.cwd);await r.restoreInstallState();let n=Pge(r,i,{all:this.all,environment:this.environment}),s=Dge(r,i,{all:this.all});if(!this.recursive)for(let f of Object.keys(s))Object.prototype.hasOwnProperty.call(n,f)?s[f].requires={}:delete s[f];let o={requires:n,dependencies:s},a=gr.getAuditRegistry(i.manifest,{configuration:e}),l,c=await Fa.start({configuration:e,stdout:this.context.stdout},async()=>{l=await Lt.post("/-/npm/v1/security/audits/quick",o,{authType:Lt.AuthType.BEST_EFFORT,configuration:e,jsonResponse:!0,registry:a})});if(c.hasErrors())return c.exitCode();let u=xge(l.metadata.vulnerabilities,this.severity);return!this.json&&u?(Hs.emitTree(kge(l,this.severity),{configuration:e,json:this.json,stdout:this.context.stdout,separators:2}),1):(await Fe.start({configuration:e,includeFooter:!1,json:this.json,stdout:this.context.stdout},async f=>{f.reportJson(l),u||f.reportInfo(z.EXCEPTION,"No audit suggestions")})).exitCode()}};dm.paths=[["npm","audit"]],dm.usage=ye.Usage({description:"perform a vulnerability audit against the installed packages",details:` + This command checks for known security reports on the packages you use. The reports are by default extracted from the npm registry, and may or may not be relevant to your actual program (not all vulnerabilities affect all code paths). + + For consistency with our other commands the default is to only check the direct dependencies for the active workspace. To extend this search to all workspaces, use \`-A,--all\`. To extend this search to both direct and transitive dependencies, use \`-R,--recursive\`. + + Applying the \`--severity\` flag will limit the audit table to vulnerabilities of the corresponding severity and above. Valid values are ${vQ.map(e=>`\`${e}\``).join(", ")}. + + If the \`--json\` flag is set, Yarn will print the output exactly as received from the registry. Regardless of this flag, the process will exit with a non-zero exit code if a report is found for the selected packages. + + To understand the dependency tree requiring vulnerable packages, check the raw report with the \`--json\` flag or use \`yarn why \` to get more information as to who depends on them. + `,examples:[["Checks for known security issues with the installed packages. The output is a list of known issues.","yarn npm audit"],["Audit dependencies in all workspaces","yarn npm audit --all"],["Limit auditing to `dependencies` (excludes `devDependencies`)","yarn npm audit --environment production"],["Show audit report as valid JSON","yarn npm audit --json"],["Audit all direct and transitive dependencies","yarn npm audit --recursive"],["Output moderate (or more severe) vulnerabilities","yarn npm audit --severity moderate"]]});var Rge=dm;var BM=ie(Or()),QM=ie(require("util")),Cm=class extends Be{constructor(){super(...arguments);this.fields=Y.String("-f,--fields",{description:"A comma-separated list of manifest fields that should be displayed"});this.json=Y.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.packages=Y.Rest()}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins),{project:r}=await Ke.find(e,this.context.cwd),i=typeof this.fields!="undefined"?new Set(["name",...this.fields.split(/\s*,\s*/)]):null,n=[],s=!1,o=await Fe.start({configuration:e,includeFooter:!1,json:this.json,stdout:this.context.stdout},async a=>{for(let l of this.packages){let c;if(l==="."){let b=r.topLevelWorkspace;if(!b.manifest.name)throw new me(`Missing 'name' field in ${M.fromPortablePath(v.join(b.cwd,wt.manifest))}`);c=S.makeDescriptor(b.manifest.name,"unknown")}else c=S.parseDescriptor(l);let u=Lt.getIdentUrl(c),g=bM(await Lt.get(u,{configuration:e,ident:c,jsonResponse:!0,customErrorMessage:Lt.customPackageError})),f=Object.keys(g.versions).sort(BM.default.compareLoose),p=g["dist-tags"].latest||f[f.length-1],d=qt.validRange(c.range);if(d){let b=BM.default.maxSatisfying(f,d);b!==null?p=b:(a.reportWarning(z.UNNAMED,`Unmet range ${S.prettyRange(e,c.range)}; falling back to the latest version`),s=!0)}else c.range!=="unknown"&&(a.reportWarning(z.UNNAMED,`Invalid range ${S.prettyRange(e,c.range)}; falling back to the latest version`),s=!0);let m=g.versions[p],I=_(P(P({},g),m),{version:p,versions:f}),B;if(i!==null){B={};for(let b of i){let R=I[b];if(typeof R!="undefined")B[b]=R;else{a.reportWarning(z.EXCEPTION,`The '${b}' field doesn't exist inside ${S.prettyIdent(e,c)}'s informations`),s=!0;continue}}}else this.json||(delete I.dist,delete I.readme,delete I.users),B=I;a.reportJson(B),this.json||n.push(B)}});QM.inspect.styles.name="cyan";for(let a of n)(a!==n[0]||s)&&this.context.stdout.write(` +`),this.context.stdout.write(`${(0,QM.inspect)(a,{depth:Infinity,colors:!0,compact:!1})} +`);return o.exitCode()}};Cm.paths=[["npm","info"]],Cm.usage=ye.Usage({category:"Npm-related commands",description:"show information about a package",details:"\n This command will fetch information about a package from the npm registry, and prints it in a tree format.\n\n The package does not have to be installed locally, but needs to have been published (in particular, local changes will be ignored even for workspaces).\n\n Append `@` to the package argument to provide information specific to the latest version that satisfies the range. If the range is invalid or if there is no version satisfying the range, the command will print a warning and fall back to the latest version.\n\n If the `-f,--fields` option is set, it's a comma-separated list of fields which will be used to only display part of the package informations.\n\n By default, this command won't return the `dist`, `readme`, and `users` fields, since they are often very long. To explicitly request those fields, explicitly list them with the `--fields` flag or request the output in JSON mode.\n ",examples:[["Show all available information about react (except the `dist`, `readme`, and `users` fields)","yarn npm info react"],["Show all available information about react as valid JSON (including the `dist`, `readme`, and `users` fields)","yarn npm info react --json"],["Show all available information about react 16.12.0","yarn npm info react@16.12.0"],["Show the description of react","yarn npm info react --fields description"],["Show all available versions of react","yarn npm info react --fields versions"],["Show the readme of react","yarn npm info react --fields readme"],["Show a few fields of react","yarn npm info react --fields homepage,repository"]]});var Fge=Cm;function bM(t){if(Array.isArray(t)){let e=[];for(let r of t)r=bM(r),r&&e.push(r);return e}else if(typeof t=="object"&&t!==null){let e={};for(let r of Object.keys(t)){if(r.startsWith("_"))continue;let i=bM(t[r]);i&&(e[r]=i)}return e}else return t||null}var Nge=ie(aC()),mm=class extends Be{constructor(){super(...arguments);this.scope=Y.String("-s,--scope",{description:"Login to the registry configured for a given scope"});this.publish=Y.Boolean("--publish",!1,{description:"Login to the publish registry"})}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins),r=await SQ({configuration:e,cwd:this.context.cwd,publish:this.publish,scope:this.scope});return(await Fe.start({configuration:e,stdout:this.context.stdout},async n=>{let s=await i_e({registry:r,report:n,stdin:this.context.stdin,stdout:this.context.stdout}),o=`/-/user/org.couchdb.user:${encodeURIComponent(s.name)}`,a=await Lt.put(o,s,{attemptedAs:s.name,configuration:e,registry:r,jsonResponse:!0,authType:Lt.AuthType.NO_AUTH});return await r_e(r,a.token,{configuration:e,scope:this.scope}),n.reportInfo(z.UNNAMED,"Successfully logged in")})).exitCode()}};mm.paths=[["npm","login"]],mm.usage=ye.Usage({category:"Npm-related commands",description:"store new login info to access the npm registry",details:"\n This command will ask you for your username, password, and 2FA One-Time-Password (when it applies). It will then modify your local configuration (in your home folder, never in the project itself) to reference the new tokens thus generated.\n\n Adding the `-s,--scope` flag will cause the authentication to be done against whatever registry is configured for the associated scope (see also `npmScopes`).\n\n Adding the `--publish` flag will cause the authentication to be done against the registry used when publishing the package (see also `publishConfig.registry` and `npmPublishRegistry`).\n ",examples:[["Login to the default registry","yarn npm login"],["Login to the registry linked to the @my-scope registry","yarn npm login --scope my-scope"],["Login to the publish registry for the current package","yarn npm login --publish"]]});var Lge=mm;async function SQ({scope:t,publish:e,configuration:r,cwd:i}){return t&&e?gr.getScopeRegistry(t,{configuration:r,type:gr.RegistryType.PUBLISH_REGISTRY}):t?gr.getScopeRegistry(t,{configuration:r}):e?gr.getPublishRegistry((await rf(r,i)).manifest,{configuration:r}):gr.getDefaultRegistry({configuration:r})}async function r_e(t,e,{configuration:r,scope:i}){let n=o=>a=>{let l=de.isIndexableObject(a)?a:{},c=l[o],u=de.isIndexableObject(c)?c:{};return _(P({},l),{[o]:_(P({},u),{npmAuthToken:e})})},s=i?{npmScopes:n(i)}:{npmRegistries:n(t)};return await fe.updateHomeConfiguration(s)}async function i_e({registry:t,report:e,stdin:r,stdout:i}){if(process.env.TEST_ENV)return{name:process.env.TEST_NPM_USER||"",password:process.env.TEST_NPM_PASSWORD||""};e.reportInfo(z.UNNAMED,`Logging in to ${t}`);let n=!1;t.match(/^https:\/\/npm\.pkg\.github\.com(\/|$)/)&&(e.reportInfo(z.UNNAMED,"You seem to be using the GitHub Package Registry. Tokens must be generated with the 'repo', 'write:packages', and 'read:packages' permissions."),n=!0),e.reportSeparator();let{username:s,password:o}=await(0,Nge.prompt)([{type:"input",name:"username",message:"Username:",required:!0,onCancel:()=>process.exit(130),stdin:r,stdout:i},{type:"password",name:"password",message:n?"Token:":"Password:",required:!0,onCancel:()=>process.exit(130),stdin:r,stdout:i}]);return e.reportSeparator(),{name:s,password:o}}var Ff=new Set(["npmAuthIdent","npmAuthToken"]),Em=class extends Be{constructor(){super(...arguments);this.scope=Y.String("-s,--scope",{description:"Logout of the registry configured for a given scope"});this.publish=Y.Boolean("--publish",!1,{description:"Logout of the publish registry"});this.all=Y.Boolean("-A,--all",!1,{description:"Logout of all registries"})}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins),r=async()=>{var l;let n=await SQ({configuration:e,cwd:this.context.cwd,publish:this.publish,scope:this.scope}),s=await fe.find(this.context.cwd,this.context.plugins),o=S.makeIdent((l=this.scope)!=null?l:null,"pkg");return!gr.getAuthConfiguration(n,{configuration:s,ident:o}).get("npmAuthToken")};return(await Fe.start({configuration:e,stdout:this.context.stdout},async n=>{if(this.all&&(await n_e(),n.reportInfo(z.UNNAMED,"Successfully logged out from everything")),this.scope){await Tge("npmScopes",this.scope),await r()?n.reportInfo(z.UNNAMED,`Successfully logged out from ${this.scope}`):n.reportWarning(z.UNNAMED,"Scope authentication settings removed, but some other ones settings still apply to it");return}let s=await SQ({configuration:e,cwd:this.context.cwd,publish:this.publish});await Tge("npmRegistries",s),await r()?n.reportInfo(z.UNNAMED,`Successfully logged out from ${s}`):n.reportWarning(z.UNNAMED,"Registry authentication settings removed, but some other ones settings still apply to it")})).exitCode()}};Em.paths=[["npm","logout"]],Em.usage=ye.Usage({category:"Npm-related commands",description:"logout of the npm registry",details:"\n This command will log you out by modifying your local configuration (in your home folder, never in the project itself) to delete all credentials linked to a registry.\n\n Adding the `-s,--scope` flag will cause the deletion to be done against whatever registry is configured for the associated scope (see also `npmScopes`).\n\n Adding the `--publish` flag will cause the deletion to be done against the registry used when publishing the package (see also `publishConfig.registry` and `npmPublishRegistry`).\n\n Adding the `-A,--all` flag will cause the deletion to be done against all registries and scopes.\n ",examples:[["Logout of the default registry","yarn npm logout"],["Logout of the @my-scope scope","yarn npm logout --scope my-scope"],["Logout of the publish registry for the current package","yarn npm logout --publish"],["Logout of all registries","yarn npm logout --all"]]});var Mge=Em;function s_e(t,e){let r=t[e];if(!de.isIndexableObject(r))return!1;let i=new Set(Object.keys(r));if([...Ff].every(s=>!i.has(s)))return!1;for(let s of Ff)i.delete(s);if(i.size===0)return t[e]=void 0,!0;let n=P({},r);for(let s of Ff)delete n[s];return t[e]=n,!0}async function n_e(){let t=e=>{let r=!1,i=de.isIndexableObject(e)?P({},e):{};i.npmAuthToken&&(delete i.npmAuthToken,r=!0);for(let n of Object.keys(i))s_e(i,n)&&(r=!0);if(Object.keys(i).length!==0)return r?i:e};return await fe.updateHomeConfiguration({npmRegistries:t,npmScopes:t})}async function Tge(t,e){return await fe.updateHomeConfiguration({[t]:r=>{let i=de.isIndexableObject(r)?r:{};if(!Object.prototype.hasOwnProperty.call(i,e))return r;let n=i[e],s=de.isIndexableObject(n)?n:{},o=new Set(Object.keys(s));if([...Ff].every(l=>!o.has(l)))return r;for(let l of Ff)o.delete(l);if(o.size===0)return Object.keys(i).length===1?void 0:_(P({},i),{[e]:void 0});let a={};for(let l of Ff)a[l]=void 0;return _(P({},i),{[e]:P(P({},s),a)})}})}var Im=class extends Be{constructor(){super(...arguments);this.access=Y.String("--access",{description:"The access for the published package (public or restricted)"});this.tag=Y.String("--tag","latest",{description:"The tag on the registry that the package should be attached to"});this.tolerateRepublish=Y.Boolean("--tolerate-republish",!1,{description:"Warn and exit when republishing an already existing version of a package"})}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Ke.find(e,this.context.cwd);if(!i)throw new rt(r.cwd,this.context.cwd);if(i.manifest.private)throw new me("Private workspaces cannot be published");if(i.manifest.name===null||i.manifest.version===null)throw new me("Workspaces must have valid names and versions to be published on an external registry");await r.restoreInstallState();let n=i.manifest.name,s=i.manifest.version,o=gr.getPublishRegistry(i.manifest,{configuration:e});return(await Fe.start({configuration:e,stdout:this.context.stdout},async l=>{var c,u;if(this.tolerateRepublish)try{let g=await Lt.get(Lt.getIdentUrl(n),{configuration:e,registry:o,ident:n,jsonResponse:!0});if(!Object.prototype.hasOwnProperty.call(g,"versions"))throw new nt(z.REMOTE_INVALID,'Registry returned invalid data for - missing "versions" field');if(Object.prototype.hasOwnProperty.call(g.versions,s)){l.reportWarning(z.UNNAMED,`Registry already knows about version ${s}; skipping.`);return}}catch(g){if(((u=(c=g.originalError)==null?void 0:c.response)==null?void 0:u.statusCode)!==404)throw g}await Kt.maybeExecuteWorkspaceLifecycleScript(i,"prepublish",{report:l}),await za.prepareForPack(i,{report:l},async()=>{let g=await za.genPackList(i);for(let m of g)l.reportInfo(null,m);let f=await za.genPackStream(i,g),h=await de.bufferStream(f),p=await Rf.getGitHead(i.cwd),d=await Rf.makePublishBody(i,h,{access:this.access,tag:this.tag,registry:o,gitHead:p});await Lt.put(Lt.getIdentUrl(n),d,{configuration:e,registry:o,ident:n,jsonResponse:!0})}),l.reportInfo(z.UNNAMED,"Package archive published")})).exitCode()}};Im.paths=[["npm","publish"]],Im.usage=ye.Usage({category:"Npm-related commands",description:"publish the active workspace to the npm registry",details:'\n This command will pack the active workspace into a fresh archive and upload it to the npm registry.\n\n The package will by default be attached to the `latest` tag on the registry, but this behavior can be overriden by using the `--tag` option.\n\n Note that for legacy reasons scoped packages are by default published with an access set to `restricted` (aka "private packages"). This requires you to register for a paid npm plan. In case you simply wish to publish a public scoped package to the registry (for free), just add the `--access public` flag. This behavior can be enabled by default through the `npmPublishAccess` settings.\n ',examples:[["Publish the active workspace","yarn npm publish"]]});var Oge=Im;var Uge=ie(Or());var ym=class extends Be{constructor(){super(...arguments);this.json=Y.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.package=Y.String({required:!1})}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Ke.find(e,this.context.cwd),n;if(typeof this.package!="undefined")n=S.parseIdent(this.package);else{if(!i)throw new rt(r.cwd,this.context.cwd);if(!i.manifest.name)throw new me(`Missing 'name' field in ${M.fromPortablePath(v.join(i.cwd,wt.manifest))}`);n=i.manifest.name}let s=await wm(n,e),a={children:de.sortMap(Object.entries(s),([l])=>l).map(([l,c])=>({value:ue.tuple(ue.Type.RESOLUTION,{descriptor:S.makeDescriptor(n,l),locator:S.makeLocator(n,c)})}))};return Hs.emitTree(a,{configuration:e,json:this.json,stdout:this.context.stdout})}};ym.paths=[["npm","tag","list"]],ym.usage=ye.Usage({category:"Npm-related commands",description:"list all dist-tags of a package",details:` + This command will list all tags of a package from the npm registry. + + If the package is not specified, Yarn will default to the current workspace. + `,examples:[["List all tags of package `my-pkg`","yarn npm tag list my-pkg"]]});var Kge=ym;async function wm(t,e){let r=`/-/package${Lt.getIdentUrl(t)}/dist-tags`;return Lt.get(r,{configuration:e,ident:t,jsonResponse:!0,customErrorMessage:Lt.customPackageError})}var Bm=class extends Be{constructor(){super(...arguments);this.package=Y.String();this.tag=Y.String()}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Ke.find(e,this.context.cwd);if(!i)throw new rt(r.cwd,this.context.cwd);let n=S.parseDescriptor(this.package,!0),s=n.range;if(!Uge.default.valid(s))throw new me(`The range ${ue.pretty(e,n.range,ue.Type.RANGE)} must be a valid semver version`);let o=gr.getPublishRegistry(i.manifest,{configuration:e}),a=ue.pretty(e,n,ue.Type.IDENT),l=ue.pretty(e,s,ue.Type.RANGE),c=ue.pretty(e,this.tag,ue.Type.CODE);return(await Fe.start({configuration:e,stdout:this.context.stdout},async g=>{let f=await wm(n,e);Object.prototype.hasOwnProperty.call(f,this.tag)&&f[this.tag]===s&&g.reportWarning(z.UNNAMED,`Tag ${c} is already set to version ${l}`);let h=`/-/package${Lt.getIdentUrl(n)}/dist-tags/${encodeURIComponent(this.tag)}`;await Lt.put(h,s,{configuration:e,registry:o,ident:n,jsonRequest:!0,jsonResponse:!0}),g.reportInfo(z.UNNAMED,`Tag ${c} added to version ${l} of package ${a}`)})).exitCode()}};Bm.paths=[["npm","tag","add"]],Bm.usage=ye.Usage({category:"Npm-related commands",description:"add a tag for a specific version of a package",details:` + This command will add a tag to the npm registry for a specific version of a package. If the tag already exists, it will be overwritten. + `,examples:[["Add a `beta` tag for version `2.3.4-beta.4` of package `my-pkg`","yarn npm tag add my-pkg@2.3.4-beta.4 beta"]]});var Hge=Bm;var Qm=class extends Be{constructor(){super(...arguments);this.package=Y.String();this.tag=Y.String()}async execute(){if(this.tag==="latest")throw new me("The 'latest' tag cannot be removed.");let e=await fe.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Ke.find(e,this.context.cwd);if(!i)throw new rt(r.cwd,this.context.cwd);let n=S.parseIdent(this.package),s=gr.getPublishRegistry(i.manifest,{configuration:e}),o=ue.pretty(e,this.tag,ue.Type.CODE),a=ue.pretty(e,n,ue.Type.IDENT),l=await wm(n,e);if(!Object.prototype.hasOwnProperty.call(l,this.tag))throw new me(`${o} is not a tag of package ${a}`);return(await Fe.start({configuration:e,stdout:this.context.stdout},async u=>{let g=`/-/package${Lt.getIdentUrl(n)}/dist-tags/${encodeURIComponent(this.tag)}`;await Lt.del(g,{configuration:e,registry:s,ident:n,jsonResponse:!0}),u.reportInfo(z.UNNAMED,`Tag ${o} removed from package ${a}`)})).exitCode()}};Qm.paths=[["npm","tag","remove"]],Qm.usage=ye.Usage({category:"Npm-related commands",description:"remove a tag from a package",details:` + This command will remove a tag from a package from the npm registry. + `,examples:[["Remove the `beta` tag from package `my-pkg`","yarn npm tag remove my-pkg beta"]]});var Gge=Qm;var bm=class extends Be{constructor(){super(...arguments);this.scope=Y.String("-s,--scope",{description:"Print username for the registry configured for a given scope"});this.publish=Y.Boolean("--publish",!1,{description:"Print username for the publish registry"})}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins),r;return this.scope&&this.publish?r=gr.getScopeRegistry(this.scope,{configuration:e,type:gr.RegistryType.PUBLISH_REGISTRY}):this.scope?r=gr.getScopeRegistry(this.scope,{configuration:e}):this.publish?r=gr.getPublishRegistry((await rf(e,this.context.cwd)).manifest,{configuration:e}):r=gr.getDefaultRegistry({configuration:e}),(await Fe.start({configuration:e,stdout:this.context.stdout},async n=>{var o,a;let s;try{s=await Lt.get("/-/whoami",{configuration:e,registry:r,authType:Lt.AuthType.ALWAYS_AUTH,jsonResponse:!0,ident:this.scope?S.makeIdent(this.scope,""):void 0})}catch(l){if(((o=l.response)==null?void 0:o.statusCode)===401||((a=l.response)==null?void 0:a.statusCode)===403){n.reportError(z.AUTHENTICATION_INVALID,"Authentication failed - your credentials may have expired");return}else throw l}n.reportInfo(z.UNNAMED,s.username)})).exitCode()}};bm.paths=[["npm","whoami"]],bm.usage=ye.Usage({category:"Npm-related commands",description:"display the name of the authenticated user",details:"\n Print the username associated with the current authentication settings to the standard output.\n\n When using `-s,--scope`, the username printed will be the one that matches the authentication settings of the registry associated with the given scope (those settings can be overriden using the `npmRegistries` map, and the registry associated with the scope is configured via the `npmScopes` map).\n\n When using `--publish`, the registry we'll select will by default be the one used when publishing packages (`publishConfig.registry` or `npmPublishRegistry` if available, otherwise we'll fallback to the regular `npmRegistryServer`).\n ",examples:[["Print username for the default registry","yarn npm whoami"],["Print username for the registry on a given scope","yarn npm whoami --scope company"]]});var jge=bm;var o_e={configuration:{npmPublishAccess:{description:"Default access of the published packages",type:ge.STRING,default:null}},commands:[Rge,Fge,Lge,Mge,Oge,Hge,Kge,Gge,jge]},a_e=o_e;var NM={};it(NM,{default:()=>B_e,patchUtils:()=>SM});var SM={};it(SM,{applyPatchFile:()=>PQ,diffFolders:()=>DM,extractPackageToDisk:()=>PM,extractPatchFlags:()=>Xge,isParentRequired:()=>kM,loadPatchFiles:()=>km,makeDescriptor:()=>I_e,makeLocator:()=>xM,parseDescriptor:()=>Sm,parseLocator:()=>xm,parsePatchFile:()=>kQ});var vm=class extends Error{constructor(e,r){super(`Cannot apply hunk #${e+1}`);this.hunk=r}};var A_e=/^@@ -(\d+)(,(\d+))? \+(\d+)(,(\d+))? @@.*/;function Nf(t){return v.relative(Se.root,v.resolve(Se.root,M.toPortablePath(t)))}function l_e(t){let e=t.trim().match(A_e);if(!e)throw new Error(`Bad header line: '${t}'`);return{original:{start:Math.max(Number(e[1]),1),length:Number(e[3]||1)},patched:{start:Math.max(Number(e[4]),1),length:Number(e[6]||1)}}}var c_e=420,u_e=493,Lr;(function(i){i.Context="context",i.Insertion="insertion",i.Deletion="deletion"})(Lr||(Lr={}));var Yge=()=>({semverExclusivity:null,diffLineFromPath:null,diffLineToPath:null,oldMode:null,newMode:null,deletedFileMode:null,newFileMode:null,renameFrom:null,renameTo:null,beforeHash:null,afterHash:null,fromPath:null,toPath:null,hunks:null}),g_e=t=>({header:l_e(t),parts:[]}),f_e={["@"]:"header",["-"]:Lr.Deletion,["+"]:Lr.Insertion,[" "]:Lr.Context,["\\"]:"pragma",undefined:Lr.Context};function p_e(t){let e=[],r=Yge(),i="parsing header",n=null,s=null;function o(){n&&(s&&(n.parts.push(s),s=null),r.hunks.push(n),n=null)}function a(){o(),e.push(r),r=Yge()}for(let l=0;l0?"patch":"mode change",B=null;switch(I){case"rename":{if(!u||!g)throw new Error("Bad parser state: rename from & to not given");e.push({type:"rename",semverExclusivity:i,fromPath:Nf(u),toPath:Nf(g)}),B=g}break;case"file deletion":{let b=n||p;if(!b)throw new Error("Bad parse state: no path given for file deletion");e.push({type:"file deletion",semverExclusivity:i,hunk:m&&m[0]||null,path:Nf(b),mode:xQ(l),hash:f})}break;case"file creation":{let b=s||d;if(!b)throw new Error("Bad parse state: no path given for file creation");e.push({type:"file creation",semverExclusivity:i,hunk:m&&m[0]||null,path:Nf(b),mode:xQ(c),hash:h})}break;case"patch":case"mode change":B=d||s;break;default:de.assertNever(I);break}B&&o&&a&&o!==a&&e.push({type:"mode change",semverExclusivity:i,path:Nf(B),oldMode:xQ(o),newMode:xQ(a)}),B&&m&&m.length&&e.push({type:"patch",semverExclusivity:i,path:Nf(B),hunks:m,beforeHash:f,afterHash:h})}if(e.length===0)throw new Error("Unable to parse patch file: No changes found. Make sure the patch is a valid UTF8 encoded string");return e}function xQ(t){let e=parseInt(t,8)&511;if(e!==c_e&&e!==u_e)throw new Error(`Unexpected file mode string: ${t}`);return e}function kQ(t){let e=t.split(/\n/g);return e[e.length-1]===""&&e.pop(),d_e(p_e(e))}function h_e(t){let e=0,r=0;for(let{type:i,lines:n}of t.parts)switch(i){case Lr.Context:r+=n.length,e+=n.length;break;case Lr.Deletion:e+=n.length;break;case Lr.Insertion:r+=n.length;break;default:de.assertNever(i);break}if(e!==t.header.original.length||r!==t.header.patched.length){let i=n=>n<0?n:`+${n}`;throw new Error(`hunk header integrity check failed (expected @@ ${i(t.header.original.length)} ${i(t.header.patched.length)} @@, got @@ ${i(e)} ${i(r)} @@)`)}}async function Lf(t,e,r){let i=await t.lstatPromise(e),n=await r();if(typeof n!="undefined"&&(e=n),t.lutimesPromise)await t.lutimesPromise(e,i.atime,i.mtime);else if(!i.isSymbolicLink())await t.utimesPromise(e,i.atime,i.mtime);else throw new Error("Cannot preserve the time values of a symlink")}async function PQ(t,{baseFs:e=new Wt,dryRun:r=!1,version:i=null}={}){for(let n of t)if(!(n.semverExclusivity!==null&&i!==null&&!qt.satisfiesWithPrereleases(i,n.semverExclusivity)))switch(n.type){case"file deletion":if(r){if(!e.existsSync(n.path))throw new Error(`Trying to delete a file that doesn't exist: ${n.path}`)}else await Lf(e,v.dirname(n.path),async()=>{await e.unlinkPromise(n.path)});break;case"rename":if(r){if(!e.existsSync(n.fromPath))throw new Error(`Trying to move a file that doesn't exist: ${n.fromPath}`)}else await Lf(e,v.dirname(n.fromPath),async()=>{await Lf(e,v.dirname(n.toPath),async()=>{await Lf(e,n.fromPath,async()=>(await e.movePromise(n.fromPath,n.toPath),n.toPath))})});break;case"file creation":if(r){if(e.existsSync(n.path))throw new Error(`Trying to create a file that already exists: ${n.path}`)}else{let s=n.hunk?n.hunk.parts[0].lines.join(` +`)+(n.hunk.parts[0].noNewlineAtEndOfFile?"":` +`):"";await e.mkdirpPromise(v.dirname(n.path),{chmod:493,utimes:[mr.SAFE_TIME,mr.SAFE_TIME]}),await e.writeFilePromise(n.path,s,{mode:n.mode}),await e.utimesPromise(n.path,mr.SAFE_TIME,mr.SAFE_TIME)}break;case"patch":await Lf(e,n.path,async()=>{await C_e(n,{baseFs:e,dryRun:r})});break;case"mode change":{let o=(await e.statPromise(n.path)).mode;if(qge(n.newMode)!==qge(o))continue;await Lf(e,n.path,async()=>{await e.chmodPromise(n.path,n.newMode)})}break;default:de.assertNever(n);break}}function qge(t){return(t&64)>0}function Jge(t){return t.replace(/\s+$/,"")}function m_e(t,e){return Jge(t)===Jge(e)}async function C_e({hunks:t,path:e},{baseFs:r,dryRun:i=!1}){let n=await r.statSync(e).mode,o=(await r.readFileSync(e,"utf8")).split(/\n/),a=[],l=0,c=0;for(let g of t){let f=Math.max(c,g.header.patched.start+l),h=Math.max(0,f-c),p=Math.max(0,o.length-f-g.header.original.length),d=Math.max(h,p),m=0,I=0,B=null;for(;m<=d;){if(m<=h&&(I=f-m,B=Wge(g,o,I),B!==null)){m=-m;break}if(m<=p&&(I=f+m,B=Wge(g,o,I),B!==null))break;m+=1}if(B===null)throw new vm(t.indexOf(g),g);a.push(B),l+=m,c=I+g.header.original.length}if(i)return;let u=0;for(let g of a)for(let f of g)switch(f.type){case"splice":{let h=f.index+u;o.splice(h,f.numToDelete,...f.linesToInsert),u+=f.linesToInsert.length-f.numToDelete}break;case"pop":o.pop();break;case"push":o.push(f.line);break;default:de.assertNever(f);break}await r.writeFilePromise(e,o.join(` +`),{mode:n})}function Wge(t,e,r){let i=[];for(let n of t.parts)switch(n.type){case Lr.Context:case Lr.Deletion:{for(let s of n.lines){let o=e[r];if(o==null||!m_e(o,s))return null;r+=1}n.type===Lr.Deletion&&(i.push({type:"splice",index:r-n.lines.length,numToDelete:n.lines.length,linesToInsert:[]}),n.noNewlineAtEndOfFile&&i.push({type:"push",line:""}))}break;case Lr.Insertion:i.push({type:"splice",index:r,numToDelete:0,linesToInsert:n.lines}),n.noNewlineAtEndOfFile&&i.push({type:"pop"});break;default:de.assertNever(n.type);break}return i}var E_e=/^builtin<([^>]+)>$/;function zge(t,e){let{source:r,selector:i,params:n}=S.parseRange(t);if(r===null)throw new Error("Patch locators must explicitly define their source");let s=i?i.split(/&/).map(c=>M.toPortablePath(c)):[],o=n&&typeof n.locator=="string"?S.parseLocator(n.locator):null,a=n&&typeof n.version=="string"?n.version:null,l=e(r);return{parentLocator:o,sourceItem:l,patchPaths:s,sourceVersion:a}}function Sm(t){let i=zge(t.range,S.parseDescriptor),{sourceItem:e}=i,r=qr(i,["sourceItem"]);return _(P({},r),{sourceDescriptor:e})}function xm(t){let i=zge(t.reference,S.parseLocator),{sourceItem:e}=i,r=qr(i,["sourceItem"]);return _(P({},r),{sourceLocator:e})}function Vge({parentLocator:t,sourceItem:e,patchPaths:r,sourceVersion:i,patchHash:n},s){let o=t!==null?{locator:S.stringifyLocator(t)}:{},a=typeof i!="undefined"?{version:i}:{},l=typeof n!="undefined"?{hash:n}:{};return S.makeRange({protocol:"patch:",source:s(e),selector:r.join("&"),params:P(P(P({},a),l),o)})}function I_e(t,{parentLocator:e,sourceDescriptor:r,patchPaths:i}){return S.makeLocator(t,Vge({parentLocator:e,sourceItem:r,patchPaths:i},S.stringifyDescriptor))}function xM(t,{parentLocator:e,sourcePackage:r,patchPaths:i,patchHash:n}){return S.makeLocator(t,Vge({parentLocator:e,sourceItem:r,sourceVersion:r.version,patchPaths:i,patchHash:n},S.stringifyLocator))}function _ge({onAbsolute:t,onRelative:e,onBuiltin:r},i){i.startsWith("~")&&(i=i.slice(1));let s=i.match(E_e);return s!==null?r(s[1]):v.isAbsolute(i)?t(i):e(i)}function Xge(t){let e=t.startsWith("~");return e&&(t=t.slice(1)),{optional:e}}function kM(t){return _ge({onAbsolute:()=>!1,onRelative:()=>!0,onBuiltin:()=>!1},t)}async function km(t,e,r){let i=t!==null?await r.fetcher.fetch(t,r):null,n=i&&i.localPath?{packageFs:new Ft(Se.root),prefixPath:v.relative(Se.root,i.localPath)}:i;i&&i!==n&&i.releaseFs&&i.releaseFs();let s=await de.releaseAfterUseAsync(async()=>await Promise.all(e.map(async o=>{let a=Xge(o),l=await _ge({onAbsolute:async()=>await T.readFilePromise(o,"utf8"),onRelative:async()=>{if(n===null)throw new Error("Assertion failed: The parent locator should have been fetched");return await n.packageFs.readFilePromise(v.join(n.prefixPath,o),"utf8")},onBuiltin:async c=>await r.project.configuration.firstHook(u=>u.getBuiltinPatch,r.project,c)},o);return _(P({},a),{source:l})})));for(let o of s)typeof o.source=="string"&&(o.source=o.source.replace(/\r\n?/g,` +`));return s}async function PM(t,{cache:e,project:r}){let i=r.storedPackages.get(t.locatorHash);if(typeof i=="undefined")throw new Error("Assertion failed: Expected the package to be registered");let n=r.storedChecksums,s=new ei,o=r.configuration.makeFetcher(),a=await o.fetch(t,{cache:e,project:r,fetcher:o,checksums:n,report:s}),l=await T.mktempPromise(),c=v.join(l,"source"),u=v.join(l,"user"),g=v.join(l,".yarn-patch.json");return await Promise.all([T.copyPromise(c,a.prefixPath,{baseFs:a.packageFs}),T.copyPromise(u,a.prefixPath,{baseFs:a.packageFs}),T.writeJsonPromise(g,{locator:S.stringifyLocator(t),version:i.version})]),T.detachTemp(l),u}async function DM(t,e){let r=M.fromPortablePath(t).replace(/\\/g,"/"),i=M.fromPortablePath(e).replace(/\\/g,"/"),{stdout:n,stderr:s}=await hr.execvp("git",["-c","core.safecrlf=false","diff","--src-prefix=a/","--dst-prefix=b/","--ignore-cr-at-eol","--full-index","--no-index","--text",r,i],{cwd:M.toPortablePath(process.cwd()),env:_(P({},process.env),{GIT_CONFIG_NOSYSTEM:"1",HOME:"",XDG_CONFIG_HOME:"",USERPROFILE:""})});if(s.length>0)throw new Error(`Unable to diff directories. Make sure you have a recent version of 'git' available in PATH. +The following error was reported by 'git': +${s}`);let o=r.startsWith("/")?a=>a.slice(1):a=>a;return n.replace(new RegExp(`(a|b)(${de.escapeRegExp(`/${o(r)}/`)})`,"g"),"$1/").replace(new RegExp(`(a|b)${de.escapeRegExp(`/${o(i)}/`)}`,"g"),"$1/").replace(new RegExp(de.escapeRegExp(`${r}/`),"g"),"").replace(new RegExp(de.escapeRegExp(`${i}/`),"g"),"")}function Zge(t,{configuration:e,report:r}){for(let i of t.parts)for(let n of i.lines)switch(i.type){case Lr.Context:r.reportInfo(null,` ${ue.pretty(e,n,"grey")}`);break;case Lr.Deletion:r.reportError(z.FROZEN_LOCKFILE_EXCEPTION,`- ${ue.pretty(e,n,ue.Type.REMOVED)}`);break;case Lr.Insertion:r.reportError(z.FROZEN_LOCKFILE_EXCEPTION,`+ ${ue.pretty(e,n,ue.Type.ADDED)}`);break;default:de.assertNever(i.type)}}var RM=class{supports(e,r){return!!e.reference.startsWith("patch:")}getLocalPath(e,r){return null}async fetch(e,r){let i=r.checksums.get(e.locatorHash)||null,[n,s,o]=await r.cache.fetchPackageFromCache(e,i,P({onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${S.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the disk`),loader:()=>this.patchPackage(e,r),skipIntegrityCheck:r.skipIntegrityCheck},r.cacheOptions));return{packageFs:n,releaseFs:s,prefixPath:S.getIdentVendorPath(e),localPath:this.getLocalPath(e,r),checksum:o}}async patchPackage(e,r){let{parentLocator:i,sourceLocator:n,sourceVersion:s,patchPaths:o}=xm(e),a=await km(i,o,r),l=await T.mktempPromise(),c=v.join(l,"current.zip"),u=await r.fetcher.fetch(n,r),g=S.getIdentVendorPath(e),f=await $i(),h=new Jr(c,{libzip:f,create:!0,level:r.project.configuration.get("compressionLevel")});await de.releaseAfterUseAsync(async()=>{await h.copyPromise(g,u.prefixPath,{baseFs:u.packageFs,stableSort:!0})},u.releaseFs),h.saveAndClose();for(let{source:p,optional:d}of a){if(p===null)continue;let m=new Jr(c,{libzip:f,level:r.project.configuration.get("compressionLevel")}),I=new Ft(v.resolve(Se.root,g),{baseFs:m});try{await PQ(kQ(p),{baseFs:I,version:s})}catch(B){if(!(B instanceof vm))throw B;let b=r.project.configuration.get("enableInlineHunks"),R=!b&&!d?" (set enableInlineHunks for details)":"",H=`${S.prettyLocator(r.project.configuration,e)}: ${B.message}${R}`,L=K=>{!b||Zge(B.hunk,{configuration:r.project.configuration,report:K})};if(m.discardAndClose(),d){r.report.reportWarningOnce(z.PATCH_HUNK_FAILED,H,{reportExtra:L});continue}else throw new nt(z.PATCH_HUNK_FAILED,H,L)}m.saveAndClose()}return new Jr(c,{libzip:f,level:r.project.configuration.get("compressionLevel")})}};var y_e=3,FM=class{supportsDescriptor(e,r){return!!e.range.startsWith("patch:")}supportsLocator(e,r){return!!e.reference.startsWith("patch:")}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,i){let{patchPaths:n}=Sm(e);return n.every(s=>!kM(s))?e:S.bindDescriptor(e,{locator:S.stringifyLocator(r)})}getResolutionDependencies(e,r){let{sourceDescriptor:i}=Sm(e);return[i]}async getCandidates(e,r,i){if(!i.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let{parentLocator:n,sourceDescriptor:s,patchPaths:o}=Sm(e),a=await km(n,o,i.fetchOptions),l=r.get(s.descriptorHash);if(typeof l=="undefined")throw new Error("Assertion failed: The dependency should have been resolved");let c=mn.makeHash(`${y_e}`,...a.map(u=>JSON.stringify(u))).slice(0,6);return[xM(e,{parentLocator:n,sourcePackage:l,patchPaths:o,patchHash:c})]}async getSatisfying(e,r,i){return null}async resolve(e,r){let{sourceLocator:i}=xm(e),n=await r.resolver.resolve(i,r);return P(P({},n),e)}};var Pm=class extends Be{constructor(){super(...arguments);this.save=Y.Boolean("-s,--save",!1,{description:"Add the patch to your resolution entries"});this.patchFolder=Y.String()}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Ke.find(e,this.context.cwd);if(!i)throw new rt(r.cwd,this.context.cwd);await r.restoreInstallState();let n=v.resolve(this.context.cwd,M.toPortablePath(this.patchFolder)),s=v.join(n,"../source"),o=v.join(n,"../.yarn-patch.json");if(!T.existsSync(s))throw new me("The argument folder didn't get created by 'yarn patch'");let a=await DM(s,n),l=await T.readJsonPromise(o),c=S.parseLocator(l.locator,!0);if(!r.storedPackages.has(c.locatorHash))throw new me("No package found in the project for the given locator");if(!this.save){this.context.stdout.write(a);return}let u=e.get("patchFolder"),g=v.join(u,S.slugifyLocator(c));await T.mkdirPromise(u,{recursive:!0}),await T.writeFilePromise(g,a);let f=v.relative(r.cwd,g);r.topLevelWorkspace.manifest.resolutions.push({pattern:{descriptor:{fullName:S.stringifyIdent(c),description:l.version}},reference:`patch:${S.stringifyLocator(c)}#${f}`}),await r.persist()}};Pm.paths=[["patch-commit"]],Pm.usage=ye.Usage({description:"generate a patch out of a directory",details:"\n This will print a patchfile on stdout based on the diff between the folder passed in and the original version of the package. Such file is suitable for consumption with the `patch:` protocol.\n\n Only folders generated by `yarn patch` are accepted as valid input for `yarn patch-commit`.\n "});var $ge=Pm;var Dm=class extends Be{constructor(){super(...arguments);this.json=Y.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.package=Y.String()}async execute(){let e=await fe.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Ke.find(e,this.context.cwd),n=await Qt.find(e);if(!i)throw new rt(r.cwd,this.context.cwd);await r.restoreInstallState();let s=S.parseLocator(this.package);if(s.reference==="unknown"){let o=de.mapAndFilter([...r.storedPackages.values()],a=>a.identHash!==s.identHash?de.mapAndFilter.skip:S.isVirtualLocator(a)?de.mapAndFilter.skip:a);if(o.length===0)throw new me("No package found in the project for the given locator");if(o.length>1)throw new me(`Multiple candidate packages found; explicitly choose one of them (use \`yarn why \` to get more information as to who depends on them): +${o.map(a=>` +- ${S.prettyLocator(e,a)}`).join("")}`);s=o[0]}if(!r.storedPackages.has(s.locatorHash))throw new me("No package found in the project for the given locator");await Fe.start({configuration:e,json:this.json,stdout:this.context.stdout},async o=>{let a=await PM(s,{cache:n,project:r});o.reportJson({locator:S.stringifyLocator(s),path:M.fromPortablePath(a)}),o.reportInfo(z.UNNAMED,`Package ${S.prettyLocator(e,s)} got extracted with success!`),o.reportInfo(z.UNNAMED,`You can now edit the following folder: ${ue.pretty(e,M.fromPortablePath(a),"magenta")}`),o.reportInfo(z.UNNAMED,`Once you are done run ${ue.pretty(e,`yarn patch-commit ${process.platform==="win32"?'"':""}${M.fromPortablePath(a)}${process.platform==="win32"?'"':""}`,"cyan")} and Yarn will store a patchfile based on your changes.`)})}};Dm.paths=[["patch"]],Dm.usage=ye.Usage({description:"prepare a package for patching",details:'\n This command will cause a package to be extracted in a temporary directory (under a folder named "patch-workdir"). This folder will be editable at will; running `yarn patch` inside it will then cause Yarn to generate a patchfile and register it into your top-level manifest (cf the `patch:` protocol).\n '});var efe=Dm;var w_e={configuration:{enableInlineHunks:{description:"If true, the installs will print unmatched patch hunks",type:ge.BOOLEAN,default:!1},patchFolder:{description:"Folder where the patch files must be written",type:ge.ABSOLUTE_PATH,default:"./.yarn/patches"}},commands:[$ge,efe],fetchers:[RM],resolvers:[FM]},B_e=w_e;var TM={};it(TM,{default:()=>S_e});var tfe=ie(Wp()),LM=class{supportsPackage(e,r){return r.project.configuration.get("nodeLinker")==="pnpm"}async findPackageLocation(e,r){return nfe(e,{project:r.project})}async findPackageLocator(e,r){let i=ife(),n=r.project.installersCustomData.get(i);if(!n)throw new me(`The project in ${ue.pretty(r.project.configuration,`${r.project.cwd}/package.json`,ue.Type.PATH)} doesn't seem to have been installed - running an install there might help`);let s=e.match(/(^.*\/node_modules\/(@[^/]*\/)?[^/]+)(\/.*$)/);if(s){let l=n.locatorByPath.get(s[1]);if(l)return l}let o=e,a=e;do{a=o,o=v.dirname(a);let l=n.locatorByPath.get(a);if(l)return l}while(o!==a);return null}makeInstaller(e){return new rfe(e)}},rfe=class{constructor(e){this.opts=e;this.asyncActions=new afe;this.packageLocations=new Map;this.customData={locatorByPath:new Map}}getCustomDataKey(){return ife()}attachCustomData(e){this.customData=e}async installPackage(e,r,i){switch(e.linkType){case gt.SOFT:return this.installPackageSoft(e,r,i);case gt.HARD:return this.installPackageHard(e,r,i)}throw new Error("Assertion failed: Unsupported package link type")}async installPackageSoft(e,r,i){let n=v.resolve(r.packageFs.getRealPath(),r.prefixPath);return this.packageLocations.set(e.locatorHash,n),{packageLocation:n,buildDirective:null}}async installPackageHard(e,r,i){var u;let n=nfe(e,{project:this.opts.project});this.customData.locatorByPath.set(n,S.stringifyLocator(e)),this.packageLocations.set(e.locatorHash,n),i.holdFetchResult(this.asyncActions.set(e.locatorHash,async()=>{await T.mkdirPromise(n,{recursive:!0}),await T.copyPromise(n,r.prefixPath,{baseFs:r.packageFs,overwrite:!1})}));let o=S.isVirtualLocator(e)?S.devirtualizeLocator(e):e,a={manifest:(u=await Ze.tryFind(r.prefixPath,{baseFs:r.packageFs}))!=null?u:new Ze,misc:{hasBindingGyp:Ws.hasBindingGyp(r)}},l=this.opts.project.getDependencyMeta(o,e.version),c=Ws.extractBuildScripts(e,a,l,{configuration:this.opts.project.configuration,report:this.opts.report});return{packageLocation:n,buildDirective:c}}async attachInternalDependencies(e,r){this.opts.project.configuration.get("nodeLinker")==="pnpm"&&(!ofe(e,{project:this.opts.project})||this.asyncActions.reduce(e.locatorHash,async i=>{await i;let n=this.packageLocations.get(e.locatorHash);if(typeof n=="undefined")throw new Error(`Assertion failed: Expected the package to have been registered (${S.stringifyLocator(e)})`);let s=v.join(n,wt.nodeModules);r.length>0&&await T.mkdirpPromise(s);let o=await Q_e(s),a=[];for(let[l,c]of r){let u=c;ofe(c,{project:this.opts.project})||(this.opts.report.reportWarning(z.UNNAMED,"The pnpm linker doesn't support providing different versions to workspaces' peer dependencies"),u=S.devirtualizeLocator(c));let g=this.packageLocations.get(u.locatorHash);if(typeof g=="undefined")throw new Error(`Assertion failed: Expected the package to have been registered (${S.stringifyLocator(c)})`);let f=S.stringifyIdent(l),h=v.join(s,f),p=v.relative(v.dirname(h),g),d=o.get(f);o.delete(f),a.push(Promise.resolve().then(async()=>{if(d){if(d.isSymbolicLink()&&await T.readlinkPromise(h)===p)return;await T.removePromise(h)}await T.mkdirpPromise(v.dirname(h)),process.platform=="win32"?await T.symlinkPromise(g,h,"junction"):await T.symlinkPromise(p,h)}))}for(let l of o.keys())a.push(T.removePromise(v.join(s,l)));await Promise.all(a)}))}async attachExternalDependents(e,r){throw new Error("External dependencies haven't been implemented for the pnpm linker")}async finalizeInstall(){let e=sfe(this.opts.project),r=new Set;for(let s of this.packageLocations.values())r.add(v.basename(s));let i;try{i=await T.readdirPromise(e)}catch{i=[]}let n=[];for(let s of i)r.has(s)||n.push(T.removePromise(v.join(e,s)));await Promise.all(n),await this.asyncActions.wait()}};function ife(){return JSON.stringify({name:"PnpmInstaller",version:1})}function sfe(t){return v.join(t.cwd,wt.nodeModules,".store")}function nfe(t,{project:e}){let r=S.slugifyLocator(t);return v.join(sfe(e),r)}function ofe(t,{project:e}){return!S.isVirtualLocator(t)||!e.tryWorkspaceByLocator(t)}async function Q_e(t){let e=new Map,r=[];try{r=await T.readdirPromise(t,{withFileTypes:!0})}catch(i){if(i.code!=="ENOENT")throw i}try{for(let i of r)if(!i.name.startsWith("."))if(i.name.startsWith("@"))for(let n of await T.readdirPromise(v.join(t,i.name),{withFileTypes:!0}))e.set(`${i.name}/${n.name}`,n);else e.set(i.name,i)}catch(i){if(i.code!=="ENOENT")throw i}return e}function b_e(){let t,e;return{promise:new Promise((i,n)=>{t=i,e=n}),resolve:t,reject:e}}var afe=class{constructor(){this.deferred=new Map;this.promises=new Map;this.limit=(0,tfe.default)(10)}set(e,r){let i=this.deferred.get(e);typeof i=="undefined"&&this.deferred.set(e,i=b_e());let n=this.limit(()=>r());return this.promises.set(e,n),n.then(()=>{this.promises.get(e)===n&&i.resolve()},s=>{this.promises.get(e)===n&&i.reject(s)}),i.promise}reduce(e,r){var n;let i=(n=this.promises.get(e))!=null?n:Promise.resolve();this.set(e,()=>r(i))}async wait(){await Promise.all(this.promises.values())}};var v_e={linkers:[LM]},S_e=v_e;var F0=()=>({modules:new Map([["@yarnpkg/cli",iC],["@yarnpkg/core",Fd],["@yarnpkg/fslib",ch],["@yarnpkg/libzip",Fp],["@yarnpkg/parsers",Hp],["@yarnpkg/shell",jp],["clipanion",F$(vh)],["semver",x_e],["typanion",lu],["yup",k_e],["@yarnpkg/plugin-essentials",hL],["@yarnpkg/plugin-compat",mL],["@yarnpkg/plugin-dlx",EL],["@yarnpkg/plugin-file",xL],["@yarnpkg/plugin-git",fL],["@yarnpkg/plugin-github",PL],["@yarnpkg/plugin-http",FL],["@yarnpkg/plugin-init",ML],["@yarnpkg/plugin-link",GL],["@yarnpkg/plugin-nm",mT],["@yarnpkg/plugin-npm",yM],["@yarnpkg/plugin-npm-cli",vM],["@yarnpkg/plugin-pack",CM],["@yarnpkg/plugin-patch",NM],["@yarnpkg/plugin-pnp",oT],["@yarnpkg/plugin-pnpm",TM]]),plugins:new Set(["@yarnpkg/plugin-essentials","@yarnpkg/plugin-compat","@yarnpkg/plugin-dlx","@yarnpkg/plugin-file","@yarnpkg/plugin-git","@yarnpkg/plugin-github","@yarnpkg/plugin-http","@yarnpkg/plugin-init","@yarnpkg/plugin-link","@yarnpkg/plugin-nm","@yarnpkg/plugin-npm","@yarnpkg/plugin-npm-cli","@yarnpkg/plugin-pack","@yarnpkg/plugin-patch","@yarnpkg/plugin-pnp","@yarnpkg/plugin-pnpm"])});i0({binaryVersion:Zr||"",pluginConfiguration:F0()});})(); +/*! + * buildToken + * Builds OAuth token prefix (helper function) + * + * @name buildToken + * @function + * @param {GitUrl} obj The parsed Git url object. + * @return {String} token prefix + */ +/*! + * fill-range + * + * Copyright (c) 2014-present, Jon Schlinkert. + * Licensed under the MIT License. + */ +/*! + * is-extglob + * + * Copyright (c) 2014-2016, Jon Schlinkert. + * Licensed under the MIT License. + */ +/*! + * is-glob + * + * Copyright (c) 2014-2017, Jon Schlinkert. + * Released under the MIT License. + */ +/*! + * is-number + * + * Copyright (c) 2014-present, Jon Schlinkert. + * Released under the MIT License. + */ +/*! + * is-windows + * + * Copyright © 2015-2018, Jon Schlinkert. + * Released under the MIT License. + */ +/*! + * to-regex-range + * + * Copyright (c) 2015-present, Jon Schlinkert. + * Released under the MIT License. + */ diff --git a/spec/fixtures/repos/yarn2-pnp-zero-install/.yarnrc.yml b/spec/fixtures/repos/yarn2-pnp-zero-install/.yarnrc.yml new file mode 100644 index 000000000..9e303c308 --- /dev/null +++ b/spec/fixtures/repos/yarn2-pnp-zero-install/.yarnrc.yml @@ -0,0 +1 @@ +yarnPath: .yarn/releases/yarn-3.1.1.cjs diff --git a/spec/fixtures/repos/yarn2-pnp-zero-install/index.js b/spec/fixtures/repos/yarn2-pnp-zero-install/index.js new file mode 100644 index 000000000..719325261 --- /dev/null +++ b/spec/fixtures/repos/yarn2-pnp-zero-install/index.js @@ -0,0 +1,11 @@ +const express = require("express"); +const app = express(); +const port = process.env["PORT"] || 3000; + +app.get("/", (_req,res) => { + res.send("Hello from yarn2-pnp-zero-install"); +}); + +app.listen(port, () => { + console.log(`yarn2-pnp-zero-install listening on ${port}`); +}); diff --git a/spec/fixtures/repos/yarn2-pnp-zero-install/package.json b/spec/fixtures/repos/yarn2-pnp-zero-install/package.json new file mode 100644 index 000000000..49b548ecc --- /dev/null +++ b/spec/fixtures/repos/yarn2-pnp-zero-install/package.json @@ -0,0 +1,13 @@ +{ + "name": "yarn2-pnp-zero-install", + "version": "1.0.0", + "main": "index.js", + "license": "MIT", + "scripts": { + "start": "yarn node index.js" + }, + "dependencies": { + "express": "^4.17.2" + }, + "packageManager": "yarn@3.1.1" +} diff --git a/spec/fixtures/repos/yarn2-pnp-zero-install/yarn.lock b/spec/fixtures/repos/yarn2-pnp-zero-install/yarn.lock new file mode 100644 index 000000000..ebbb475d7 --- /dev/null +++ b/spec/fixtures/repos/yarn2-pnp-zero-install/yarn.lock @@ -0,0 +1,465 @@ +# This file is generated by running "yarn install" inside your project. +# Manual changes might be lost - proceed with caution! + +__metadata: + version: 5 + cacheKey: 8 + +"accepts@npm:~1.3.7": + version: 1.3.8 + resolution: "accepts@npm:1.3.8" + dependencies: + mime-types: ~2.1.34 + negotiator: 0.6.3 + checksum: 50c43d32e7b50285ebe84b613ee4a3aa426715a7d131b65b786e2ead0fd76b6b60091b9916d3478a75f11f162628a2139991b6c03ab3f1d9ab7c86075dc8eab4 + languageName: node + linkType: hard + +"array-flatten@npm:1.1.1": + version: 1.1.1 + resolution: "array-flatten@npm:1.1.1" + checksum: a9925bf3512d9dce202112965de90c222cd59a4fbfce68a0951d25d965cf44642931f40aac72309c41f12df19afa010ecadceb07cfff9ccc1621e99d89ab5f3b + languageName: node + linkType: hard + +"body-parser@npm:1.19.1": + version: 1.19.1 + resolution: "body-parser@npm:1.19.1" + dependencies: + bytes: 3.1.1 + content-type: ~1.0.4 + debug: 2.6.9 + depd: ~1.1.2 + http-errors: 1.8.1 + iconv-lite: 0.4.24 + on-finished: ~2.3.0 + qs: 6.9.6 + raw-body: 2.4.2 + type-is: ~1.6.18 + checksum: 9197a300a6580b8723c7b6b1e22cebd5ba47cd4a6fd45c153350efcde79293869ddee8d17d95fb52724812d649d89d62775faab072608d3243a0cbb00582234e + languageName: node + linkType: hard + +"bytes@npm:3.1.1": + version: 3.1.1 + resolution: "bytes@npm:3.1.1" + checksum: 949ab99a385d6acf4d2c69f1afc618615dc905936e0b0b9aa94a9e94d722baaba44d6a0851536585a0892ae4d462b5a270ccb1b04c774640742cbde5538ca328 + languageName: node + linkType: hard + +"content-disposition@npm:0.5.4": + version: 0.5.4 + resolution: "content-disposition@npm:0.5.4" + dependencies: + safe-buffer: 5.2.1 + checksum: afb9d545e296a5171d7574fcad634b2fdf698875f4006a9dd04a3e1333880c5c0c98d47b560d01216fb6505a54a2ba6a843ee3a02ec86d7e911e8315255f56c3 + languageName: node + linkType: hard + +"content-type@npm:~1.0.4": + version: 1.0.4 + resolution: "content-type@npm:1.0.4" + checksum: 3d93585fda985d1554eca5ebd251994327608d2e200978fdbfba21c0c679914d5faf266d17027de44b34a72c7b0745b18584ecccaa7e1fdfb6a68ac7114f12e0 + languageName: node + linkType: hard + +"cookie-signature@npm:1.0.6": + version: 1.0.6 + resolution: "cookie-signature@npm:1.0.6" + checksum: f4e1b0a98a27a0e6e66fd7ea4e4e9d8e038f624058371bf4499cfcd8f3980be9a121486995202ba3fca74fbed93a407d6d54d43a43f96fd28d0bd7a06761591a + languageName: node + linkType: hard + +"cookie@npm:0.4.1": + version: 0.4.1 + resolution: "cookie@npm:0.4.1" + checksum: bd7c47f5d94ab70ccdfe8210cde7d725880d2fcda06d8e375afbdd82de0c8d3b73541996e9ce57d35f67f672c4ee6d60208adec06b3c5fc94cebb85196084cf8 + languageName: node + linkType: hard + +"debug@npm:2.6.9": + version: 2.6.9 + resolution: "debug@npm:2.6.9" + dependencies: + ms: 2.0.0 + checksum: d2f51589ca66df60bf36e1fa6e4386b318c3f1e06772280eea5b1ae9fd3d05e9c2b7fd8a7d862457d00853c75b00451aa2d7459b924629ee385287a650f58fe6 + languageName: node + linkType: hard + +"depd@npm:~1.1.2": + version: 1.1.2 + resolution: "depd@npm:1.1.2" + checksum: 6b406620d269619852885ce15965272b829df6f409724415e0002c8632ab6a8c0a08ec1f0bd2add05dc7bd7507606f7e2cc034fa24224ab829580040b835ecd9 + languageName: node + linkType: hard + +"destroy@npm:~1.0.4": + version: 1.0.4 + resolution: "destroy@npm:1.0.4" + checksum: da9ab4961dc61677c709da0c25ef01733042614453924d65636a7db37308fef8a24cd1e07172e61173d471ca175371295fbc984b0af5b2b4ff47cd57bd784c03 + languageName: node + linkType: hard + +"ee-first@npm:1.1.1": + version: 1.1.1 + resolution: "ee-first@npm:1.1.1" + checksum: 1b4cac778d64ce3b582a7e26b218afe07e207a0f9bfe13cc7395a6d307849cfe361e65033c3251e00c27dd060cab43014c2d6b2647676135e18b77d2d05b3f4f + languageName: node + linkType: hard + +"encodeurl@npm:~1.0.2": + version: 1.0.2 + resolution: "encodeurl@npm:1.0.2" + checksum: e50e3d508cdd9c4565ba72d2012e65038e5d71bdc9198cb125beb6237b5b1ade6c0d343998da9e170fb2eae52c1bed37d4d6d98a46ea423a0cddbed5ac3f780c + languageName: node + linkType: hard + +"escape-html@npm:~1.0.3": + version: 1.0.3 + resolution: "escape-html@npm:1.0.3" + checksum: 6213ca9ae00d0ab8bccb6d8d4e0a98e76237b2410302cf7df70aaa6591d509a2a37ce8998008cbecae8fc8ffaadf3fb0229535e6a145f3ce0b211d060decbb24 + languageName: node + linkType: hard + +"etag@npm:~1.8.1": + version: 1.8.1 + resolution: "etag@npm:1.8.1" + checksum: 571aeb3dbe0f2bbd4e4fadbdb44f325fc75335cd5f6f6b6a091e6a06a9f25ed5392f0863c5442acb0646787446e816f13cbfc6edce5b07658541dff573cab1ff + languageName: node + linkType: hard + +"express@npm:^4.17.2": + version: 4.17.2 + resolution: "express@npm:4.17.2" + dependencies: + accepts: ~1.3.7 + array-flatten: 1.1.1 + body-parser: 1.19.1 + content-disposition: 0.5.4 + content-type: ~1.0.4 + cookie: 0.4.1 + cookie-signature: 1.0.6 + debug: 2.6.9 + depd: ~1.1.2 + encodeurl: ~1.0.2 + escape-html: ~1.0.3 + etag: ~1.8.1 + finalhandler: ~1.1.2 + fresh: 0.5.2 + merge-descriptors: 1.0.1 + methods: ~1.1.2 + on-finished: ~2.3.0 + parseurl: ~1.3.3 + path-to-regexp: 0.1.7 + proxy-addr: ~2.0.7 + qs: 6.9.6 + range-parser: ~1.2.1 + safe-buffer: 5.2.1 + send: 0.17.2 + serve-static: 1.14.2 + setprototypeof: 1.2.0 + statuses: ~1.5.0 + type-is: ~1.6.18 + utils-merge: 1.0.1 + vary: ~1.1.2 + checksum: 1535d56d20e65a1a39b5f056c025dd635290a744478ac69cc47633aeb4b2ce51458f8eb4080cfb7ba47c853ba5cfd794d404cff822a25127f1556b726ec3914a + languageName: node + linkType: hard + +"finalhandler@npm:~1.1.2": + version: 1.1.2 + resolution: "finalhandler@npm:1.1.2" + dependencies: + debug: 2.6.9 + encodeurl: ~1.0.2 + escape-html: ~1.0.3 + on-finished: ~2.3.0 + parseurl: ~1.3.3 + statuses: ~1.5.0 + unpipe: ~1.0.0 + checksum: 617880460c5138dd7ccfd555cb5dde4d8f170f4b31b8bd51e4b646bb2946c30f7db716428a1f2882d730d2b72afb47d1f67cc487b874cb15426f95753a88965e + languageName: node + linkType: hard + +"forwarded@npm:0.2.0": + version: 0.2.0 + resolution: "forwarded@npm:0.2.0" + checksum: fd27e2394d8887ebd16a66ffc889dc983fbbd797d5d3f01087c020283c0f019a7d05ee85669383d8e0d216b116d720fc0cef2f6e9b7eb9f4c90c6e0bc7fd28e6 + languageName: node + linkType: hard + +"fresh@npm:0.5.2": + version: 0.5.2 + resolution: "fresh@npm:0.5.2" + checksum: 13ea8b08f91e669a64e3ba3a20eb79d7ca5379a81f1ff7f4310d54e2320645503cc0c78daedc93dfb6191287295f6479544a649c64d8e41a1c0fb0c221552346 + languageName: node + linkType: hard + +"http-errors@npm:1.8.1": + version: 1.8.1 + resolution: "http-errors@npm:1.8.1" + dependencies: + depd: ~1.1.2 + inherits: 2.0.4 + setprototypeof: 1.2.0 + statuses: ">= 1.5.0 < 2" + toidentifier: 1.0.1 + checksum: d3c7e7e776fd51c0a812baff570bdf06fe49a5dc448b700ab6171b1250e4cf7db8b8f4c0b133e4bfe2451022a5790c1ca6c2cae4094dedd6ac8304a1267f91d2 + languageName: node + linkType: hard + +"iconv-lite@npm:0.4.24": + version: 0.4.24 + resolution: "iconv-lite@npm:0.4.24" + dependencies: + safer-buffer: ">= 2.1.2 < 3" + checksum: bd9f120f5a5b306f0bc0b9ae1edeb1577161503f5f8252a20f1a9e56ef8775c9959fd01c55f2d3a39d9a8abaf3e30c1abeb1895f367dcbbe0a8fd1c9ca01c4f6 + languageName: node + linkType: hard + +"inherits@npm:2.0.4": + version: 2.0.4 + resolution: "inherits@npm:2.0.4" + checksum: 4a48a733847879d6cf6691860a6b1e3f0f4754176e4d71494c41f3475553768b10f84b5ce1d40fbd0e34e6bfbb864ee35858ad4dd2cf31e02fc4a154b724d7f1 + languageName: node + linkType: hard + +"ipaddr.js@npm:1.9.1": + version: 1.9.1 + resolution: "ipaddr.js@npm:1.9.1" + checksum: f88d3825981486f5a1942414c8d77dd6674dd71c065adcfa46f578d677edcb99fda25af42675cb59db492fdf427b34a5abfcde3982da11a8fd83a500b41cfe77 + languageName: node + linkType: hard + +"media-typer@npm:0.3.0": + version: 0.3.0 + resolution: "media-typer@npm:0.3.0" + checksum: af1b38516c28ec95d6b0826f6c8f276c58aec391f76be42aa07646b4e39d317723e869700933ca6995b056db4b09a78c92d5440dc23657e6764be5d28874bba1 + languageName: node + linkType: hard + +"merge-descriptors@npm:1.0.1": + version: 1.0.1 + resolution: "merge-descriptors@npm:1.0.1" + checksum: 5abc259d2ae25bb06d19ce2b94a21632583c74e2a9109ee1ba7fd147aa7362b380d971e0251069f8b3eb7d48c21ac839e21fa177b335e82c76ec172e30c31a26 + languageName: node + linkType: hard + +"methods@npm:~1.1.2": + version: 1.1.2 + resolution: "methods@npm:1.1.2" + checksum: 0917ff4041fa8e2f2fda5425a955fe16ca411591fbd123c0d722fcf02b73971ed6f764d85f0a6f547ce49ee0221ce2c19a5fa692157931cecb422984f1dcd13a + languageName: node + linkType: hard + +"mime-db@npm:1.51.0": + version: 1.51.0 + resolution: "mime-db@npm:1.51.0" + checksum: 613b1ac9d6e725cc24444600b124a7f1ce6c60b1baa654f39a3e260d0995a6dffc5693190217e271af7e2a5612dae19f2a73f3e316707d797a7391165f7ef423 + languageName: node + linkType: hard + +"mime-types@npm:~2.1.24, mime-types@npm:~2.1.34": + version: 2.1.34 + resolution: "mime-types@npm:2.1.34" + dependencies: + mime-db: 1.51.0 + checksum: 67013de9e9d6799bde6d669d18785b7e18bcd212e710d3e04a4727f92f67a8ad4e74aee24be28b685adb794944814bde649119b58ee3282ffdbee58f9278d9f3 + languageName: node + linkType: hard + +"mime@npm:1.6.0": + version: 1.6.0 + resolution: "mime@npm:1.6.0" + bin: + mime: cli.js + checksum: fef25e39263e6d207580bdc629f8872a3f9772c923c7f8c7e793175cee22777bbe8bba95e5d509a40aaa292d8974514ce634ae35769faa45f22d17edda5e8557 + languageName: node + linkType: hard + +"ms@npm:2.0.0": + version: 2.0.0 + resolution: "ms@npm:2.0.0" + checksum: 0e6a22b8b746d2e0b65a430519934fefd41b6db0682e3477c10f60c76e947c4c0ad06f63ffdf1d78d335f83edee8c0aa928aa66a36c7cd95b69b26f468d527f4 + languageName: node + linkType: hard + +"ms@npm:2.1.3": + version: 2.1.3 + resolution: "ms@npm:2.1.3" + checksum: aa92de608021b242401676e35cfa5aa42dd70cbdc082b916da7fb925c542173e36bce97ea3e804923fe92c0ad991434e4a38327e15a1b5b5f945d66df615ae6d + languageName: node + linkType: hard + +"negotiator@npm:0.6.3": + version: 0.6.3 + resolution: "negotiator@npm:0.6.3" + checksum: b8ffeb1e262eff7968fc90a2b6767b04cfd9842582a9d0ece0af7049537266e7b2506dfb1d107a32f06dd849ab2aea834d5830f7f4d0e5cb7d36e1ae55d021d9 + languageName: node + linkType: hard + +"on-finished@npm:~2.3.0": + version: 2.3.0 + resolution: "on-finished@npm:2.3.0" + dependencies: + ee-first: 1.1.1 + checksum: 1db595bd963b0124d6fa261d18320422407b8f01dc65863840f3ddaaf7bcad5b28ff6847286703ca53f4ec19595bd67a2f1253db79fc4094911ec6aa8df1671b + languageName: node + linkType: hard + +"parseurl@npm:~1.3.3": + version: 1.3.3 + resolution: "parseurl@npm:1.3.3" + checksum: 407cee8e0a3a4c5cd472559bca8b6a45b82c124e9a4703302326e9ab60fc1081442ada4e02628efef1eb16197ddc7f8822f5a91fd7d7c86b51f530aedb17dfa2 + languageName: node + linkType: hard + +"path-to-regexp@npm:0.1.7": + version: 0.1.7 + resolution: "path-to-regexp@npm:0.1.7" + checksum: 69a14ea24db543e8b0f4353305c5eac6907917031340e5a8b37df688e52accd09e3cebfe1660b70d76b6bd89152f52183f28c74813dbf454ba1a01c82a38abce + languageName: node + linkType: hard + +"proxy-addr@npm:~2.0.7": + version: 2.0.7 + resolution: "proxy-addr@npm:2.0.7" + dependencies: + forwarded: 0.2.0 + ipaddr.js: 1.9.1 + checksum: 29c6990ce9364648255454842f06f8c46fcd124d3e6d7c5066df44662de63cdc0bad032e9bf5a3d653ff72141cc7b6019873d685708ac8210c30458ad99f2b74 + languageName: node + linkType: hard + +"qs@npm:6.9.6": + version: 6.9.6 + resolution: "qs@npm:6.9.6" + checksum: cb6df402bb8a3dbefa4bd46eba0dfca427079baca923e6b8d28a03e6bfb16a5c1dcdb96e69388f9c5813ac8ff17bb8bbca22f2ecd31fe1e344a55cb531b5fabf + languageName: node + linkType: hard + +"range-parser@npm:~1.2.1": + version: 1.2.1 + resolution: "range-parser@npm:1.2.1" + checksum: 0a268d4fea508661cf5743dfe3d5f47ce214fd6b7dec1de0da4d669dd4ef3d2144468ebe4179049eff253d9d27e719c88dae55be64f954e80135a0cada804ec9 + languageName: node + linkType: hard + +"raw-body@npm:2.4.2": + version: 2.4.2 + resolution: "raw-body@npm:2.4.2" + dependencies: + bytes: 3.1.1 + http-errors: 1.8.1 + iconv-lite: 0.4.24 + unpipe: 1.0.0 + checksum: c6f8d6a75c65c0a047f888cb29efc97f60fb36e950ba2cb31fefce694f98186e844a03367920faa7dc5bffaf33df08aee0b9dd935280e366439fa6492a5b163e + languageName: node + linkType: hard + +"safe-buffer@npm:5.2.1": + version: 5.2.1 + resolution: "safe-buffer@npm:5.2.1" + checksum: b99c4b41fdd67a6aaf280fcd05e9ffb0813654894223afb78a31f14a19ad220bba8aba1cb14eddce1fcfb037155fe6de4e861784eb434f7d11ed58d1e70dd491 + languageName: node + linkType: hard + +"safer-buffer@npm:>= 2.1.2 < 3": + version: 2.1.2 + resolution: "safer-buffer@npm:2.1.2" + checksum: cab8f25ae6f1434abee8d80023d7e72b598cf1327164ddab31003c51215526801e40b66c5e65d658a0af1e9d6478cadcb4c745f4bd6751f97d8644786c0978b0 + languageName: node + linkType: hard + +"send@npm:0.17.2": + version: 0.17.2 + resolution: "send@npm:0.17.2" + dependencies: + debug: 2.6.9 + depd: ~1.1.2 + destroy: ~1.0.4 + encodeurl: ~1.0.2 + escape-html: ~1.0.3 + etag: ~1.8.1 + fresh: 0.5.2 + http-errors: 1.8.1 + mime: 1.6.0 + ms: 2.1.3 + on-finished: ~2.3.0 + range-parser: ~1.2.1 + statuses: ~1.5.0 + checksum: c28f36deb4ccba9b8d6e6a1e472b8e7c40a1f51575bdf8f67303568cc9e71131faa3adc36fdb72611616ccad1584358bbe4c3ebf419e663ecc5de868ad3d3f03 + languageName: node + linkType: hard + +"serve-static@npm:1.14.2": + version: 1.14.2 + resolution: "serve-static@npm:1.14.2" + dependencies: + encodeurl: ~1.0.2 + escape-html: ~1.0.3 + parseurl: ~1.3.3 + send: 0.17.2 + checksum: d97f3183b1dfcd8ce9c0e37e18e87fd31147ed6c8ee0b2c3a089d795e44ee851ca5061db01574f806d54f4e4b70bc694d9ca64578653514e04a28cbc97a1de05 + languageName: node + linkType: hard + +"setprototypeof@npm:1.2.0": + version: 1.2.0 + resolution: "setprototypeof@npm:1.2.0" + checksum: be18cbbf70e7d8097c97f713a2e76edf84e87299b40d085c6bf8b65314e994cc15e2e317727342fa6996e38e1f52c59720b53fe621e2eb593a6847bf0356db89 + languageName: node + linkType: hard + +"statuses@npm:>= 1.5.0 < 2, statuses@npm:~1.5.0": + version: 1.5.0 + resolution: "statuses@npm:1.5.0" + checksum: c469b9519de16a4bb19600205cffb39ee471a5f17b82589757ca7bd40a8d92ebb6ed9f98b5a540c5d302ccbc78f15dc03cc0280dd6e00df1335568a5d5758a5c + languageName: node + linkType: hard + +"toidentifier@npm:1.0.1": + version: 1.0.1 + resolution: "toidentifier@npm:1.0.1" + checksum: 952c29e2a85d7123239b5cfdd889a0dde47ab0497f0913d70588f19c53f7e0b5327c95f4651e413c74b785147f9637b17410ac8c846d5d4a20a5a33eb6dc3a45 + languageName: node + linkType: hard + +"type-is@npm:~1.6.18": + version: 1.6.18 + resolution: "type-is@npm:1.6.18" + dependencies: + media-typer: 0.3.0 + mime-types: ~2.1.24 + checksum: 2c8e47675d55f8b4e404bcf529abdf5036c537a04c2b20177bcf78c9e3c1da69da3942b1346e6edb09e823228c0ee656ef0e033765ec39a70d496ef601a0c657 + languageName: node + linkType: hard + +"unpipe@npm:1.0.0, unpipe@npm:~1.0.0": + version: 1.0.0 + resolution: "unpipe@npm:1.0.0" + checksum: 4fa18d8d8d977c55cb09715385c203197105e10a6d220087ec819f50cb68870f02942244f1017565484237f1f8c5d3cd413631b1ae104d3096f24fdfde1b4aa2 + languageName: node + linkType: hard + +"utils-merge@npm:1.0.1": + version: 1.0.1 + resolution: "utils-merge@npm:1.0.1" + checksum: c81095493225ecfc28add49c106ca4f09cdf56bc66731aa8dabc2edbbccb1e1bfe2de6a115e5c6a380d3ea166d1636410b62ef216bb07b3feb1cfde1d95d5080 + languageName: node + linkType: hard + +"vary@npm:~1.1.2": + version: 1.1.2 + resolution: "vary@npm:1.1.2" + checksum: ae0123222c6df65b437669d63dfa8c36cee20a504101b2fcd97b8bf76f91259c17f9f2b4d70a1e3c6bbcee7f51b28392833adb6b2770b23b01abec84e369660b + languageName: node + linkType: hard + +"yarn2-pnp-zero-install@workspace:.": + version: 0.0.0-use.local + resolution: "yarn2-pnp-zero-install@workspace:." + dependencies: + express: ^4.17.2 + languageName: unknown + linkType: soft diff --git a/spec/hatchet/absolute_path_spec.rb b/spec/hatchet/absolute_path_spec.rb new file mode 100644 index 000000000..e6e8d61f0 --- /dev/null +++ b/spec/hatchet/absolute_path_spec.rb @@ -0,0 +1,14 @@ +require_relative '../spec_helper' + +#Test that all paths set by the buildpack are absolute instead of relative +describe "Buildpack paths" do + it "are absolute" do + buildpacks = [ + :default, + "https://github.com/sharpstone/force_absolute_paths_buildpack" + ] + Hatchet::Runner.new("node-js-getting-started", buildpacks: buildpacks).deploy do |app| + #deploy works + end + end +end diff --git a/spec/hatchet/ci_spec.rb b/spec/hatchet/ci_spec.rb new file mode 100644 index 000000000..0f6fbf086 --- /dev/null +++ b/spec/hatchet/ci_spec.rb @@ -0,0 +1,12 @@ +require_relative '../spec_helper' + +#Test CI deploys run tests and use the cache +describe "Heroku CI" do + it "Uses the cache" do + Hatchet::Runner.new("node-js-getting-started").run_ci do |test_run| + expect(test_run.output).to_not include("Restoring cache") + test_run.run_again + expect(test_run.output).to include("Restoring cache") + end + end +end diff --git a/spec/hatchet/getting_started_spec.rb b/spec/hatchet/getting_started_spec.rb new file mode 100644 index 000000000..3e224149e --- /dev/null +++ b/spec/hatchet/getting_started_spec.rb @@ -0,0 +1,10 @@ +require_relative '../spec_helper' + +#Test deploying the getting started guide works +describe "Heroku node getting started" do + it "clears runtime cache" do + Hatchet::Runner.new("node-js-getting-started").deploy do |app| + #Deploy works + end + end +end diff --git a/spec/hatchet/stack_spec.rb b/spec/hatchet/stack_spec.rb new file mode 100644 index 000000000..426da3283 --- /dev/null +++ b/spec/hatchet/stack_spec.rb @@ -0,0 +1,24 @@ +require_relative "../spec_helper" + +describe "Stack Changes" do + #Test upgrading stack invalidates the cache + it "should not restore cached directories" do + Hatchet::Runner.new("default-node", stack: "heroku-20").deploy do |app, heroku| + app.update_stack("heroku-22") + app.commit! + app.push! + expect(app.output).to include("Cached directories were not restored due to a change in version of node, npm, yarn or stack") + end + end + +#Test cache for regular deploys is used on repeated deploys + it "should not restore cache if the stack did not change" do + Hatchet::Runner.new('default-node', stack: "heroku-20").deploy do |app, heroku| + app.update_stack("heroku-20") + app.commit! + app.push! + expect(app.output).to_not include("Cached directories were not restored due to a change in version of node, npm, yarn or stack") + expect(app.output).to include("not cached - skipping") + end + end +end diff --git a/spec/hatchet/version_spec.rb b/spec/hatchet/version_spec.rb new file mode 100644 index 000000000..d06eb554f --- /dev/null +++ b/spec/hatchet/version_spec.rb @@ -0,0 +1,19 @@ +require_relative '../spec_helper' + +#Test that builds fail when a bad version is specified +describe "bad node version" do + it "gives a helpful error" do + Hatchet::Runner.new("default-node", allow_failure: true).tap do |app| + app.before_deploy do + File.open("package.json", "w+") do |f| + f.write '{"engines": { + "node": "14.x.badversion" + }}' + end + end + app.deploy do + expect(app.output).to include("Invalid semantic version \"14.x.badversion\"") + end + end + end +end diff --git a/spec/nodebin/node_vX_metrics_spec.rb b/spec/nodebin/node_vX_metrics_spec.rb new file mode 100644 index 000000000..c0861d1fe --- /dev/null +++ b/spec/nodebin/node_vX_metrics_spec.rb @@ -0,0 +1,31 @@ +require_relative '../spec_helper' + +versions = get_test_versions + +versions.select { |version| version_supports_metrics(version) }.each do |version| + describe "Node Metrics for v#{version}" do + context "test metrics for Node v#{version} app" do + let(:app) { + Hatchet::Runner.new( + "spec/fixtures/repos/node-14-metrics", + before_deploy: -> { set_node_version(version) }, + config: { + "HEROKU_METRICS_URL" => "http://localhost:3000", + "METRICS_INTERVAL_OVERRIDE" => "10000" + } + ) + } + + it "should deploy" do + app.deploy do |app| + expect(app.output).to include("Downloading and installing node #{version}...") + data = successful_json_body(app) + expect(data["gauges"]["node.eventloop.delay.ms.max"]).to be >= 2000 + expect(data["counters"]["node.gc.collections"]).to be >= 0 + expect(data["counters"]["node.gc.young.collections"]).to be >= 0 + expect(data["counters"]["node.gc.old.collections"]).to be >= 0 + end + end + end + end +end diff --git a/spec/nodebin/node_vX_spec.rb b/spec/nodebin/node_vX_spec.rb new file mode 100644 index 000000000..4bf2bce86 --- /dev/null +++ b/spec/nodebin/node_vX_spec.rb @@ -0,0 +1,23 @@ +require_relative '../spec_helper' + +versions = get_test_versions + +versions.each do |version| + describe "Hello World for Node v#{version}" do + context "a single-process Node v#{version} app" do + let(:app) { + Hatchet::Runner.new( + "spec/fixtures/repos/node-14", + before_deploy: -> { set_node_version(version) } + ) + } + + it "should deploy successfully" do + app.deploy do |app| + expect(app.output).to include("Downloading and installing node #{version}...") + expect(successful_body(app).strip).to eq("Hello, world!") + end + end + end + end +end diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb new file mode 100644 index 000000000..446ea175c --- /dev/null +++ b/spec/spec_helper.rb @@ -0,0 +1,93 @@ +ENV['HATCHET_BUILDPACK_BASE'] = 'https://github.com/heroku/heroku-buildpack-nodejs.git' + +require 'rspec/core' +require 'hatchet' +require 'fileutils' +require 'hatchet' +require 'rspec/retry' +require 'date' +require 'json' +require 'sem_version' + +ENV['RACK_ENV'] = 'test' + +RSpec.configure do |config| + config.run_all_when_everything_filtered = true + config.alias_example_to :fit, focused: true + config.full_backtrace = true + config.verbose_retry = true # show retry status in spec process + config.default_retry_count = 2 # retry all tests that fail again + + config.expect_with :rspec do |c| + c.syntax = :expect + end +end + +def successful_body(app, options = {}) + retry_limit = options[:retry_limit] || 100 + path = options[:path] ? "/#{options[:path]}" : '' + Excon.get("http://#{app.name}.herokuapp.com#{path}", + idempotent: true, + expects: 200, + retry_interval: 0.5, + retry_limit: retry_limit + ).body +rescue Excon::Error::HTTPStatus => e + puts e.response.body + raise e +end + +def successful_json_body(app, options = {}) + body = successful_body(app, options) + JSON.parse(body) +end + +def set_node_version(version) + package_json = File.read('package.json') + package = JSON.parse(package_json) + package["engines"]["node"] = version + File.open('package.json', 'w') do |f| + f.puts JSON.dump(package) + end +end + +def run!(cmd) + out = `#{cmd}` + raise "Error running command #{cmd.inspect}: #{out}" unless $?.success? + out +end + +def resolve_binary_path + RUBY_PLATFORM.match(/darwin/) ? './lib/vendor/resolve-version-darwin' : './lib/vendor/resolve-version-linux' +end + +def resolve_node_version(requirements, options = {}) + requirements.map do |requirement| + result = run!("#{resolve_binary_path} node #{requirement}") + result.split(' ').first + end +end + +def resolve_all_supported_node_versions(options = {}) + result = run!("#{resolve_binary_path} list node") + list = result.lines().map { |line| line.split(' ').first } + list.select do |n| + SemVersion.new(n).satisfies?('>= 10.0.0') + end +end + +def version_supports_metrics(version) + SemVersion.new(version).satisfies?('>= 10.0.0') && SemVersion.new(version).satisfies?('< 21.0.0') +end + +def get_test_versions + if ENV['TEST_NODE_VERSION'] + versions = [ENV['TEST_NODE_VERSION']] + elsif ENV['TEST_ALL_NODE_VERSIONS'] == 'true' + versions = resolve_all_supported_node_versions() + else + versions = resolve_node_version(['14.x', '16.x', '18.x', '19.x', '20.x']) + end + puts("Running tests for Node versions: #{versions.join(', ')}") + versions +end diff --git a/support/aws/hmac b/support/aws/hmac deleted file mode 100755 index 5aa074a0d..000000000 --- a/support/aws/hmac +++ /dev/null @@ -1,79 +0,0 @@ -#!/bin/bash -# Implement HMAC functionality on top of the OpenSSL digest functions. -# licensed under the terms of the GNU GPL v2 -# Copyright 2007 Victor Lowther - -die() { - echo $* - exit 1 -} - -check_deps() { - local res=0 - while [ $# -ne 0 ]; do - which "${1}" >& /dev/null || { res=1; echo "${1} not found."; } - shift - done - (( res == 0 )) || die "aborting." -} - -# write a byte (passed as hex) to stdout -write_byte() { - # $1 = byte to write - printf "\\x$(printf "%x" ${1})" -} - -# make an hmac pad out of a key. -# this is not the most secure way of doing it, but it is -# the most expedient. -make_hmac_pad() { - # using key in file $1 and byte in $2, create the appropriate hmac pad - # Pad keys out to $3 bytes - # if key is longer than $3, use hash $4 to hash the key first. - local x y a size remainder oifs - (( remainder = ${3} )) - # in case someone else was messing with IFS. - for x in $(echo -n "${1}" | od -v -t u1 | cut -b 9-); - do - write_byte $((${x} ^ ${2})) - (( remainder -= 1 )) - done - for ((y=0; remainder - y ;y++)); do - write_byte $((0 ^ ${2})) - done -} - -# utility functions for making hmac pads -hmac_ipad() { - make_hmac_pad "${1}" 0x36 ${2} "${3}" -} - -hmac_opad() { - make_hmac_pad "${1}" 0x5c ${2} "${3}" -} - -# hmac something -do_hmac() { - # $1 = algo to use. Must be one that openssl knows about - # $2 = keyfile to use - # $3 = file to hash. uses stdin if none is given. - # accepts input on stdin, leaves it on stdout. - # Output is binary, if you want something else pipe it accordingly. - local blocklen keysize x - case "${1}" in - sha) blocklen=64 ;; - sha1) blocklen=64 ;; - md5) blocklen=64 ;; - md4) blocklen=64 ;; - sha256) blocklen=64 ;; - sha512) blocklen=128 ;; - *) die "Unknown hash ${1} passed to hmac!" ;; - esac - cat <(hmac_ipad ${2} ${blocklen} "${1}") "${3:--}" | openssl dgst "-${1}" -binary | \ - cat <(hmac_opad ${2} ${blocklen} "${1}") - | openssl dgst "-${1}" -binary -} - -[[ ${1} ]] || die "Must pass the name of the hash function to use to ${0}". - -check_deps od openssl -do_hmac "${@}" diff --git a/support/aws/s3 b/support/aws/s3 deleted file mode 100755 index a25290bb7..000000000 --- a/support/aws/s3 +++ /dev/null @@ -1,230 +0,0 @@ -#!/bin/bash -# basic amazon s3 operations -# Licensed under the terms of the GNU GPL v2 -# Copyright 2007 Victor Lowther - -set -e - -basedir="$( cd -P "$( dirname "$0" )" && pwd )" -PATH="$basedir:$PATH" - -# print a message and bail -die() { - echo $* - exit 1 -} - -# check to see if the variable name passed exists and holds a value. -# Die if it does not. -check_or_die() { - [[ ${!1} ]] || die "Environment variable ${1} is not set." -} - -# check to see if we have all the needed S3 variables defined. -# Bail if we do not. -check_s3() { - local sak x - for x in AWS_ID AWS_SECRET; do - check_or_die ${x}; - done - sak="$(echo -n $AWS_SECRET | wc -c)" - (( ${sak%%[!0-9 ]*} == 40 )) || \ - die "S3 Secret Access Key is not exactly 40 bytes long. Please fix it." -} -# check to see if our external dependencies exist -check_dep() { - local res=0 - while [[ $# -ne 0 ]]; do - which "${1}" >& /dev/null || { res=1; echo "${1} not found."; } - shift - done - (( res == 0 )) || die "aborting." -} - -check_deps() { - check_dep openssl date hmac cat grep curl - check_s3 -} - -urlenc() { - # $1 = string to url encode - # output is on stdout - # we don't urlencode everything, just enough stuff. - echo -n "${1}" | - sed 's/%/%25/g - s/ /%20/g - s/#/%23/g - s/\$/%24/g - s/\&/%26/g - s/+/%2b/g - s/,/%2c/g - s/:/%3a/g - s/;/%3b/g - s/?/%3f/g - s/@/%40/g - s/ /%09/g' -} - -xmldec() { - # no parameters. - # accept input on stdin, put it on stdout. - # patches accepted to get more stuff - sed 's/\"/\"/g - s/\&/\&/g - s/\<//g' -} - -## basic S3 functionality. x-amz-header functionality is not implemented. -# make an S3 signature string, which will be output on stdout. -s3_signature_string() { - # $1 = HTTP verb - # $2 = date string, must be in UTC - # $3 = bucket name, if any - # $4 = resource path, if any - # $5 = content md5, if any - # $6 = content MIME type, if any - # $7 = canonicalized headers, if any - # signature string will be output on stdout - local verr="Must pass a verb to s3_signature_string!" - local verb="${1:?verr}" - local bucket="${3}" - local resource="${4}" - local derr="Must pass a date to s3_signature_string!" - local date="${2:?derr}" - local mime="${6}" - local md5="${5}" - local headers="${7}" - printf "%s\n%s\n%s\n%s\n%s\n%s%s" \ - "${verb}" "${md5}" "${mime}" "${date}" \ - "${headers}" "${bucket}" "${resource}" | \ - hmac sha1 "${AWS_SECRET}" | openssl base64 -e -a -} - -# cheesy, but it is the best way to have multiple headers. -curl_headers() { - # each arg passed will be output on its own line - local parms=$# - for ((;$#;)); do - echo "header = \"${1}\"" - shift - done -} - -s3_curl() { - # invoke curl to do all the heavy HTTP lifting - # $1 = method (one of GET, PUT, or DELETE. HEAD is not handled yet.) - # $2 = remote bucket. - # $3 = remote name - # $4 = local name. - # $5 = mime type - local bucket remote date sig md5 arg inout headers - # header handling is kinda fugly, but it works. - bucket="${2:+/${2}}/" # slashify the bucket - remote="$(urlenc "${3}")" # if you don't, strange things may happen. - stdopts="--connect-timeout 10 --fail --silent" - mime="${5}" - [[ $CURL_S3_DEBUG == true ]] && stdopts="${stdopts} --show-error --fail" - case "${1}" in - GET) arg="-o" inout="${4:--}" # stdout if no $4 - headers[${#headers[@]}]="x-amz-acl: public-read" - ;; - PUT) [[ ${2} ]] || die "PUT can has bucket?" - if [[ ! ${3} ]]; then - arg="-X PUT" - headers[${#headers[@]}]="Content-Length: 0" - elif [[ -f ${4} ]]; then - md5="$(openssl dgst -md5 -binary "${4}"|openssl base64 -e -a)" - arg="-T" inout="${4}" - headers[${#headers[@]}]="x-amz-acl: public-read" - headers[${#headers[@]}]="Expect: 100-continue" - if [ "$mime" != "" ]; then - headers[${#headers[@]}]="Content-Type: $mime" - fi - else - die "Cannot write non-existing file ${4}" - fi - ;; - DELETE) arg="-X DELETE" - ;; - HEAD) arg="-I" ;; - *) die "Unknown verb ${1}. It probably would not have worked anyways." ;; - esac - date="$(TZ=UTC date '+%a, %e %b %Y %H:%M:%S %z')" - sig=$(s3_signature_string ${1} "${date}" "${bucket}" "${remote}" "${md5}" "${mime}" "x-amz-acl:public-read") - - headers[${#headers[@]}]="Authorization: AWS ${AWS_ID}:${sig}" - headers[${#headers[@]}]="Date: ${date}" - [[ ${md5} ]] && headers[${#headers[@]}]="Content-MD5: ${md5}" - curl ${arg} "${inout}" ${stdopts} -o - -K <(curl_headers "${headers[@]}") \ - "http://s3.amazonaws.com${bucket}${remote}" - return $? -} - -s3_put() { - # $1 = remote bucket to put it into - # $2 = remote name to put - # $3 = file to put. This must be present if $2 is. - # $4 = mime type - s3_curl PUT "${1}" "${2}" "${3:-${2}}" "${4}" - return $? -} - -s3_get() { - # $1 = bucket to get file from - # $2 = remote file to get - # $3 = local file to get into. Will be overwritten if it exists. - # If this contains a path, that path must exist before calling this. - s3_curl GET "${1}" "${2}" "${3:-${2}}" - return $? -} - -s3_test() { - # same args as s3_get, but uses the HEAD verb instead of the GET verb. - s3_curl HEAD "${1}" "${2}" >/dev/null - return $? -} - -# Hideously ugly, but it works well enough. -s3_buckets() { - s3_get |grep -o '[^>]*' |sed 's/<[^>]*>//g' |xmldec - return $? -} - -# this will only return the first thousand entries, alas -# Mabye some kind soul can fix this without writing an XML parser in bash? -# Also need to add xml entity handling. -s3_list() { - # $1 = bucket to list - [ "x${1}" == "x" ] && return 1 - s3_get "${1}" |grep -o '[^>]*' |sed 's/<[^>]*>//g'| xmldec - return $? -} - -s3_delete() { - # $1 = bucket to delete from - # $2 = item to delete - s3_curl DELETE "${1}" "${2}" - return $? -} - -# because this uses s3_list, it suffers from the same flaws. -s3_rmrf() { - # $1 = bucket to delete everything from - s3_list "${1}" | while read f; do - s3_delete "${1}" "${f}"; - done -} - -check_deps -case $1 in - put) shift; s3_put "$@" ;; - get) shift; s3_get "$@" ;; - rm) shift; s3_delete "$@" ;; - ls) shift; s3_list "$@" ;; - test) shift; s3_test "$@" ;; - buckets) s3_buckets ;; - rmrf) shift; s3_rmrf "$@" ;; - *) die "Unknown command ${1}." - ;; -esac diff --git a/support/manifest b/support/manifest deleted file mode 100755 index b4376989f..000000000 --- a/support/manifest +++ /dev/null @@ -1,44 +0,0 @@ -#!/bin/sh - -set -e - -manifest_type="$1" - -if [ "$manifest_type" == "" ]; then - echo "usage: $0 " - exit 1 -fi - -if [ "$AWS_ID" == "" ]; then - echo "must set AWS_ID" - exit 1 -fi - -if [ "$AWS_SECRET" == "" ]; then - echo "must set AWS_SECRET" - exit 1 -fi - -if [ "$S3_BUCKET" == "" ]; then - echo "must set S3_BUCKET" - exit 1 -fi - -basedir="$( cd -P "$( dirname "$0" )" && pwd )" - -# make a temp directory -tempdir="$( mktemp -t node_XXXX )" -rm -rf $tempdir -mkdir -p $tempdir -pushd $tempdir - -# generate manifest -$basedir/aws/s3 ls $S3_BUCKET \ - | grep "^${manifest_type}" \ - | sed -e "s/${manifest_type}-\([0-9.]*\)\\.tgz/\\1/" \ - | awk 'BEGIN {FS="."} {printf("%03d.%03d.%03d %s\n",$1,$2,$3,$0)}' | sort -r | cut -d" " -f2 \ - > manifest.${manifest_type} - -# upload manifest to s3 -$basedir/aws/s3 put $S3_BUCKET \ - manifest.${manifest_type} "" "text/plain" diff --git a/support/package_nodejs b/support/package_nodejs deleted file mode 100755 index 22f62cbf5..000000000 --- a/support/package_nodejs +++ /dev/null @@ -1,48 +0,0 @@ -#!/bin/sh - -set -e - -node_version="$1" - -if [ "$node_version" == "" ]; then - echo "usage: $0 VERSION" - exit 1 -fi - -if [ "$AWS_ID" == "" ]; then - echo "must set AWS_ID" - exit 1 -fi - -if [ "$AWS_SECRET" == "" ]; then - echo "must set AWS_SECRET" - exit 1 -fi - -if [ "$S3_BUCKET" == "" ]; then - echo "must set S3_BUCKET" - exit 1 -fi - -basedir="$( cd -P "$( dirname "$0" )" && pwd )" - -# make a temp directory -tempdir="$( mktemp -t node_XXXX )" -rm -rf $tempdir -mkdir -p $tempdir -cd $tempdir - -# build and package nodejs for heroku -vulcan build -v \ - -n node \ - -c "cd node-v${node_version} && ./configure --prefix=/app/vendor/node && make install" \ - -p /app/vendor/node \ - -s http://nodejs.org/dist/v${node_version}/node-v${node_version}.tar.gz \ - -o $tempdir/node-${node_version}.tgz - -# upload nodejs to s3 -$basedir/aws/s3 put $S3_BUCKET \ - nodejs-${node_version}.tgz $tempdir/node-${node_version}.tgz - -# generate manifest -$basedir/manifest nodejs diff --git a/support/package_npm b/support/package_npm deleted file mode 100755 index 7de93de08..000000000 --- a/support/package_npm +++ /dev/null @@ -1,53 +0,0 @@ -#!/bin/sh - -set -e - -npm_version="$1" - -if [ "$npm_version" == "" ]; then - echo "usage: $0 VERSION" - exit 1 -fi - -if [ "$AWS_ID" == "" ]; then - echo "must set AWS_ID" - exit 1 -fi - -if [ "$AWS_SECRET" == "" ]; then - echo "must set AWS_SECRET" - exit 1 -fi - -if [ "$S3_BUCKET" == "" ]; then - echo "must set S3_BUCKET" - exit 1 -fi - -basedir="$( cd -P "$( dirname "$0" )" && pwd )" - -# make a temp directory -tempdir="$( mktemp -t node_XXXX )" -rm -rf $tempdir -mkdir -p $tempdir -cd $tempdir - -# download npm -git clone https://github.com/isaacs/npm.git - -# go into npm dir -pushd npm - -# grab the right version -git checkout v${npm_version} -git submodule update --init --recursive - -# package it up -tar czvf $tempdir/npm-${npm_version}.tgz * - -# upload npm to s3 -$basedir/aws/s3 put $S3_BUCKET \ - npm-${npm_version}.tgz $tempdir/npm-${npm_version}.tgz - -# generate manifest -$basedir/manifest npm diff --git a/test/fixtures/bad-json/README.md b/test/fixtures/bad-json/README.md new file mode 100644 index 000000000..cda334ae1 --- /dev/null +++ b/test/fixtures/bad-json/README.md @@ -0,0 +1 @@ +A fake README, to keep npm from polluting stderr. \ No newline at end of file diff --git a/test/fixtures/bad-json/package.json b/test/fixtures/bad-json/package.json new file mode 100644 index 000000000..6cf6b35f4 --- /dev/null +++ b/test/fixtures/bad-json/package.json @@ -0,0 +1,13 @@ +{ + "name": "node-buildpack-test-app", + "version": "0.0.1", + "description": "node buildpack integration test app", + "repository" : { + "type" : "git", + "url" : "http://github.com/example/example.git" + }, + "dependencies": { + "hashish": "*" + "express": "*" + } +} diff --git a/test/fixtures/build-script-override/README.md b/test/fixtures/build-script-override/README.md new file mode 100644 index 000000000..cda334ae1 --- /dev/null +++ b/test/fixtures/build-script-override/README.md @@ -0,0 +1 @@ +A fake README, to keep npm from polluting stderr. \ No newline at end of file diff --git a/test/fixtures/build-script-override/package.json b/test/fixtures/build-script-override/package.json new file mode 100644 index 000000000..c6a54e5c2 --- /dev/null +++ b/test/fixtures/build-script-override/package.json @@ -0,0 +1,16 @@ +{ + "name": "node-buildpack-test-app", + "version": "0.0.1", + "description": "node buildpack integration test app", + "repository": { + "type": "git", + "url": "http://github.com/example/example.git" + }, + "engines": { + "node": "14.x" + }, + "scripts" : { + "build": "echo build hook message", + "heroku-postbuild": "echo heroku-postbuild hook message" + } +} diff --git a/test/fixtures/build-script-yarn/README.md b/test/fixtures/build-script-yarn/README.md new file mode 100644 index 000000000..cda334ae1 --- /dev/null +++ b/test/fixtures/build-script-yarn/README.md @@ -0,0 +1 @@ +A fake README, to keep npm from polluting stderr. \ No newline at end of file diff --git a/test/fixtures/build-script-yarn/package.json b/test/fixtures/build-script-yarn/package.json new file mode 100644 index 000000000..3d8bd455a --- /dev/null +++ b/test/fixtures/build-script-yarn/package.json @@ -0,0 +1,13 @@ +{ + "name": "node-buildpack-test-app", + "version": "0.0.1", + "description": "node buildpack integration test app", + "repository" : { + "type" : "git", + "url" : "http://github.com/example/example.git" + }, + "scripts" : { + "build" : "echo build hook message" + }, + "license": "MIT" +} diff --git a/test/fixtures/build-script-yarn/yarn.lock b/test/fixtures/build-script-yarn/yarn.lock new file mode 100644 index 000000000..fb57ccd13 --- /dev/null +++ b/test/fixtures/build-script-yarn/yarn.lock @@ -0,0 +1,4 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + diff --git a/test/fixtures/build-script/README.md b/test/fixtures/build-script/README.md new file mode 100644 index 000000000..cda334ae1 --- /dev/null +++ b/test/fixtures/build-script/README.md @@ -0,0 +1 @@ +A fake README, to keep npm from polluting stderr. \ No newline at end of file diff --git a/test/fixtures/build-script/package.json b/test/fixtures/build-script/package.json new file mode 100644 index 000000000..802432b6f --- /dev/null +++ b/test/fixtures/build-script/package.json @@ -0,0 +1,15 @@ +{ + "name": "node-buildpack-test-app", + "version": "0.0.1", + "description": "node buildpack integration test app", + "repository" : { + "type" : "git", + "url" : "http://github.com/example/example.git" + }, + "engines": { + "node": "14.x" + }, + "scripts" : { + "build" : "echo build hook message" + } +} diff --git a/test/fixtures/cache-directories-camel/README.md b/test/fixtures/cache-directories-camel/README.md new file mode 100644 index 000000000..cda334ae1 --- /dev/null +++ b/test/fixtures/cache-directories-camel/README.md @@ -0,0 +1 @@ +A fake README, to keep npm from polluting stderr. \ No newline at end of file diff --git a/test/fixtures/cache-directories-camel/bower.json b/test/fixtures/cache-directories-camel/bower.json new file mode 100644 index 000000000..519a4c2ef --- /dev/null +++ b/test/fixtures/cache-directories-camel/bower.json @@ -0,0 +1,6 @@ +{ + "name": "node-buildpack-test-app", + "dependencies": { + "jquery": "^1.11.1" + } +} diff --git a/test/fixtures/cache-directories-camel/client/package.json b/test/fixtures/cache-directories-camel/client/package.json new file mode 100644 index 000000000..ea34bcc29 --- /dev/null +++ b/test/fixtures/cache-directories-camel/client/package.json @@ -0,0 +1,18 @@ +{ + "name": "client", + "version": "1.0.0", + "description": "", + "main": "index.js", + "repository": { + "type": "git", + "url": "http://github.com/example/example.git" + }, + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "author": "", + "license": "ISC", + "dependencies": { + "underscore": "^1.8.3" + } +} diff --git a/test/fixtures/cache-directories-camel/package.json b/test/fixtures/cache-directories-camel/package.json new file mode 100644 index 000000000..8c4c02ba4 --- /dev/null +++ b/test/fixtures/cache-directories-camel/package.json @@ -0,0 +1,17 @@ +{ + "name": "node-buildpack-test-app", + "version": "0.0.1", + "description": "node buildpack integration test app", + "repository" : { + "type" : "git", + "url" : "http://github.com/example/example.git" + }, + "engines": { + "node": "0.12.4" + }, + "dependencies": {}, + "scripts": { + "postinstall": "npm install --prefix=server && npm install --prefix=client" + }, + "cacheDirectories": ["server/node_modules", "client/node_modules", "non/existent"] +} diff --git a/test/fixtures/cache-directories-camel/server/package.json b/test/fixtures/cache-directories-camel/server/package.json new file mode 100644 index 000000000..da85d6e77 --- /dev/null +++ b/test/fixtures/cache-directories-camel/server/package.json @@ -0,0 +1,18 @@ +{ + "name": "server", + "version": "1.0.0", + "description": "", + "main": "index.js", + "repository": { + "type": "git", + "url": "http://github.com/example/example.git" + }, + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "author": "", + "license": "ISC", + "dependencies": { + "lodash": "^3.9.3" + } +} diff --git a/test/fixtures/cache-directories/README.md b/test/fixtures/cache-directories/README.md new file mode 100644 index 000000000..cda334ae1 --- /dev/null +++ b/test/fixtures/cache-directories/README.md @@ -0,0 +1 @@ +A fake README, to keep npm from polluting stderr. \ No newline at end of file diff --git a/test/fixtures/cache-directories/bower.json b/test/fixtures/cache-directories/bower.json new file mode 100644 index 000000000..2940de117 --- /dev/null +++ b/test/fixtures/cache-directories/bower.json @@ -0,0 +1,6 @@ +{ + "name": "node-buildpack-test-app", + "dependencies": { + "jquery": "^3.6.0" + } +} diff --git a/test/fixtures/cache-directories/package.json b/test/fixtures/cache-directories/package.json new file mode 100644 index 000000000..38c455640 --- /dev/null +++ b/test/fixtures/cache-directories/package.json @@ -0,0 +1,22 @@ +{ + "name": "node-buildpack-test-app", + "version": "0.0.1", + "description": "node buildpack integration test app", + "repository": { + "type": "git", + "url": "http://github.com/example/example.git" + }, + "engines": { + "node": "12.x" + }, + "dependencies": { + "bower": "1.8.12" + }, + "scripts": { + "postinstall": "bower install --allow-root" + }, + "cache_directories": [ + "bower_components", + "node_modules" + ] +} diff --git a/test/fixtures/cache-prebuild/README.md b/test/fixtures/cache-prebuild/README.md new file mode 100644 index 000000000..cda334ae1 --- /dev/null +++ b/test/fixtures/cache-prebuild/README.md @@ -0,0 +1 @@ +A fake README, to keep npm from polluting stderr. \ No newline at end of file diff --git a/test/fixtures/cache-prebuild/package.json b/test/fixtures/cache-prebuild/package.json new file mode 100644 index 000000000..d0aa049c8 --- /dev/null +++ b/test/fixtures/cache-prebuild/package.json @@ -0,0 +1,12 @@ +{ + "name": "node-buildpack-test-app", + "version": "0.0.1", + "description": "node buildpack integration test app", + "repository" : { + "type" : "git", + "url" : "http://github.com/example/example.git" + }, + "scripts": { + "start": "node server.js" + } +} diff --git a/test/fixtures/caching/README.md b/test/fixtures/caching/README.md new file mode 100644 index 000000000..cda334ae1 --- /dev/null +++ b/test/fixtures/caching/README.md @@ -0,0 +1 @@ +A fake README, to keep npm from polluting stderr. \ No newline at end of file diff --git a/test/fixtures/caching/package.json b/test/fixtures/caching/package.json new file mode 100644 index 000000000..cef769f74 --- /dev/null +++ b/test/fixtures/caching/package.json @@ -0,0 +1,15 @@ +{ + "name": "node-buildpack-test-app", + "version": "0.0.1", + "description": "node buildpack integration test app", + "repository" : { + "type" : "git", + "url" : "http://github.com/example/example.git" + }, + "engines": { + "node": "14.x" + }, + "dependencies": { + "express": "latest" + } +} diff --git a/test/fixtures/ci-caching/README.md b/test/fixtures/ci-caching/README.md new file mode 100644 index 000000000..cda334ae1 --- /dev/null +++ b/test/fixtures/ci-caching/README.md @@ -0,0 +1 @@ +A fake README, to keep npm from polluting stderr. \ No newline at end of file diff --git a/test/fixtures/ci-caching/package-lock.json b/test/fixtures/ci-caching/package-lock.json new file mode 100644 index 000000000..b574997eb --- /dev/null +++ b/test/fixtures/ci-caching/package-lock.json @@ -0,0 +1,2563 @@ +{ + "name": "node-buildpack-test-app", + "version": "0.0.1", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "name": "node-buildpack-test-app", + "version": "0.0.1", + "dependencies": { + "electron": "^19.0.2", + "express": "latest", + "typescript": "^4.7.2" + }, + "engines": { + "node": "14.x" + } + }, + "node_modules/@electron/get": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@electron/get/-/get-1.14.1.tgz", + "integrity": "sha512-BrZYyL/6m0ZXz/lDxy/nlVhQz+WF+iPS6qXolEU8atw7h6v1aYkjwJZ63m+bJMBTxDE66X+r2tPS4a/8C82sZw==", + "dependencies": { + "debug": "^4.1.1", + "env-paths": "^2.2.0", + "fs-extra": "^8.1.0", + "got": "^9.6.0", + "progress": "^2.0.3", + "semver": "^6.2.0", + "sumchecker": "^3.0.1" + }, + "engines": { + "node": ">=8.6" + }, + "optionalDependencies": { + "global-agent": "^3.0.0", + "global-tunnel-ng": "^2.7.1" + } + }, + "node_modules/@sindresorhus/is": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz", + "integrity": "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/@szmarczak/http-timer": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz", + "integrity": "sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==", + "dependencies": { + "defer-to-connect": "^1.0.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@types/node": { + "version": "16.11.38", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.11.38.tgz", + "integrity": "sha512-hjO/0K140An3GWDw2HJfq7gko3wWeznbjXgg+rzPdVzhe198hp4x2i1dgveAOEiFKd8sOilAxzoSJiVv5P/CUg==" + }, + "node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" + }, + "node_modules/body-parser": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.0.tgz", + "integrity": "sha512-DfJ+q6EPcGKZD1QWUjSpqp+Q7bDQTsQIF4zfUAtZ6qk+H/3/QRhg9CEp39ss+/T2vw0+HaidC0ecJj/DRLIaKg==", + "dependencies": { + "bytes": "3.1.2", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.10.3", + "raw-body": "2.5.1", + "type-is": "~1.6.18", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/body-parser/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/body-parser/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/boolean": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/boolean/-/boolean-3.2.0.tgz", + "integrity": "sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==", + "optional": true + }, + "node_modules/buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", + "engines": { + "node": "*" + } + }, + "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==" + }, + "node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/cacheable-request": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz", + "integrity": "sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==", + "dependencies": { + "clone-response": "^1.0.2", + "get-stream": "^5.1.0", + "http-cache-semantics": "^4.0.0", + "keyv": "^3.0.0", + "lowercase-keys": "^2.0.0", + "normalize-url": "^4.1.0", + "responselike": "^1.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cacheable-request/node_modules/get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cacheable-request/node_modules/lowercase-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", + "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", + "engines": { + "node": ">=8" + } + }, + "node_modules/call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dependencies": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/clone-response": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz", + "integrity": "sha512-yjLXh88P599UOyPTFX0POsd7WxnbsVsGohcwzHOLspIhhpalPw1BcqED8NblyZLKcGrL8dTgMlcaZxV2jAD41Q==", + "dependencies": { + "mimic-response": "^1.0.0" + } + }, + "node_modules/concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "engines": [ + "node >= 0.8" + ], + "dependencies": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, + "node_modules/config-chain": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.13.tgz", + "integrity": "sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==", + "optional": true, + "dependencies": { + "ini": "^1.3.4", + "proto-list": "~1.2.1" + } + }, + "node_modules/content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "dependencies": { + "safe-buffer": "5.2.1" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/content-type": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", + "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", + "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" + }, + "node_modules/core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" + }, + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decompress-response": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", + "integrity": "sha512-BzRPQuY1ip+qDonAOz42gRm/pg9F768C+npV/4JOsxRC2sq+Rlk+Q4ZCAsOhnIaMrgarILY+RMUIvMmmX1qAEA==", + "dependencies": { + "mimic-response": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/defer-to-connect": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.3.tgz", + "integrity": "sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==" + }, + "node_modules/define-properties": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz", + "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==", + "optional": true, + "dependencies": { + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/detect-node": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", + "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", + "optional": true + }, + "node_modules/duplexer3": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", + "integrity": "sha512-CEj8FwwNA4cVH2uFCoHUrmojhYh1vmCdOaneKJXwkeY1i9jnlslVo9dx+hQ5Hl9GnH/Bwy/IjxAyOePyPKYnzA==" + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" + }, + "node_modules/electron": { + "version": "19.0.2", + "resolved": "https://registry.npmjs.org/electron/-/electron-19.0.2.tgz", + "integrity": "sha512-9RzS8wUpxY8dHFJRncro2mEIkCg9Vig1Q0iLu5y3dusEIDKcBRKoW9mVhUeqvZVZgb2SsTEowZBBdBhdL6/+aQ==", + "hasInstallScript": true, + "dependencies": { + "@electron/get": "^1.14.1", + "@types/node": "^16.11.26", + "extract-zip": "^1.0.3" + }, + "bin": { + "electron": "cli.js" + }, + "engines": { + "node": ">= 8.6" + } + }, + "node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dependencies": { + "once": "^1.4.0" + } + }, + "node_modules/env-paths": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", + "engines": { + "node": ">=6" + } + }, + "node_modules/es6-error": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz", + "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==", + "optional": true + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" + }, + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "optional": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/express": { + "version": "4.18.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.18.1.tgz", + "integrity": "sha512-zZBcOX9TfehHQhtupq57OF8lFZ3UZi08Y97dwFCkD8p9d/d2Y3M+ykKcwaMDEL+4qyUolgBDX6AblpR3fL212Q==", + "dependencies": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "1.20.0", + "content-disposition": "0.5.4", + "content-type": "~1.0.4", + "cookie": "0.5.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "1.2.0", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.7", + "qs": "6.10.3", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "0.18.0", + "serve-static": "1.15.0", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/express/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/express/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/extract-zip": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.7.0.tgz", + "integrity": "sha512-xoh5G1W/PB0/27lXgMQyIhP5DSY/LhoCsOyZgb+6iMmRtCwVBo55uKaMoEYrDCKQhWvqEip5ZPKAc6eFNyf/MA==", + "dependencies": { + "concat-stream": "^1.6.2", + "debug": "^2.6.9", + "mkdirp": "^0.5.4", + "yauzl": "^2.10.0" + }, + "bin": { + "extract-zip": "cli.js" + } + }, + "node_modules/extract-zip/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/extract-zip/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/fd-slicer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", + "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", + "dependencies": { + "pend": "~1.2.0" + } + }, + "node_modules/finalhandler": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", + "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "statuses": "2.0.1", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/finalhandler/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/finalhandler/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" + } + }, + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + }, + "node_modules/get-intrinsic": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", + "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", + "dependencies": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/global-agent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/global-agent/-/global-agent-3.0.0.tgz", + "integrity": "sha512-PT6XReJ+D07JvGoxQMkT6qji/jVNfX/h364XHZOWeRzy64sSFr+xJ5OX7LI3b4MPQzdL4H8Y8M0xzPpsVMwA8Q==", + "optional": true, + "dependencies": { + "boolean": "^3.0.1", + "es6-error": "^4.1.1", + "matcher": "^3.0.0", + "roarr": "^2.15.3", + "semver": "^7.3.2", + "serialize-error": "^7.0.1" + }, + "engines": { + "node": ">=10.0" + } + }, + "node_modules/global-agent/node_modules/semver": { + "version": "7.3.7", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", + "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "optional": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/global-tunnel-ng": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/global-tunnel-ng/-/global-tunnel-ng-2.7.1.tgz", + "integrity": "sha512-4s+DyciWBV0eK148wqXxcmVAbFVPqtc3sEtUE/GTQfuU80rySLcMhUmHKSHI7/LDj8q0gDYI1lIhRRB7ieRAqg==", + "optional": true, + "dependencies": { + "encodeurl": "^1.0.2", + "lodash": "^4.17.10", + "npm-conf": "^1.1.3", + "tunnel": "^0.0.6" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/globalthis": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", + "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", + "optional": true, + "dependencies": { + "define-properties": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/got": { + "version": "9.6.0", + "resolved": "https://registry.npmjs.org/got/-/got-9.6.0.tgz", + "integrity": "sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==", + "dependencies": { + "@sindresorhus/is": "^0.14.0", + "@szmarczak/http-timer": "^1.1.2", + "cacheable-request": "^6.0.0", + "decompress-response": "^3.3.0", + "duplexer3": "^0.1.4", + "get-stream": "^4.1.0", + "lowercase-keys": "^1.0.1", + "mimic-response": "^1.0.1", + "p-cancelable": "^1.0.0", + "to-readable-stream": "^1.0.0", + "url-parse-lax": "^3.0.0" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==" + }, + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", + "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", + "optional": true, + "dependencies": { + "get-intrinsic": "^1.1.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/http-cache-semantics": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz", + "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==" + }, + "node_modules/http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "dependencies": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "optional": true + }, + "node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + }, + "node_modules/json-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz", + "integrity": "sha512-CuUqjv0FUZIdXkHPI8MezCnFCdaTAacej1TZYulLoAg1h/PhwkdXFN4V/gzY4g+fMBCOV2xF+rp7t2XD2ns/NQ==" + }, + "node_modules/json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", + "optional": true + }, + "node_modules/jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/keyv": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz", + "integrity": "sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==", + "dependencies": { + "json-buffer": "3.0.0" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "optional": true + }, + "node_modules/lowercase-keys": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", + "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "optional": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/matcher": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/matcher/-/matcher-3.0.0.tgz", + "integrity": "sha512-OkeDaAZ/bQCxeFAozM55PKcKU0yJMPGifLwV4Qgjitu+5MoAfSQN4lsLJeXZ1b8w0x+/Emda6MZgXS1jvsapng==", + "optional": true, + "dependencies": { + "escape-string-regexp": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==" + }, + "node_modules/methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-response": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", + "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", + "engines": { + "node": ">=4" + } + }, + "node_modules/minimist": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", + "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==" + }, + "node_modules/mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "dependencies": { + "minimist": "^1.2.6" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/normalize-url": { + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.1.tgz", + "integrity": "sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA==", + "engines": { + "node": ">=8" + } + }, + "node_modules/npm-conf": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/npm-conf/-/npm-conf-1.1.3.tgz", + "integrity": "sha512-Yic4bZHJOt9RCFbRP3GgpqhScOY4HH3V2P8yBj6CeYq118Qr+BLXqT2JvpJ00mryLESpgOxf5XlFv4ZjXxLScw==", + "optional": true, + "dependencies": { + "config-chain": "^1.1.11", + "pify": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/object-inspect": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz", + "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "optional": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "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/p-cancelable": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz", + "integrity": "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==", + "engines": { + "node": ">=6" + } + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==" + }, + "node_modules/pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==" + }, + "node_modules/pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", + "optional": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/prepend-http": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", + "integrity": "sha512-ravE6m9Atw9Z/jjttRUZ+clIXogdghyZAuWJ3qEzjT+jI/dL1ifAqhZeC5VHzQp1MSt1+jxKkFNemj/iO7tVUA==", + "engines": { + "node": ">=4" + } + }, + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + }, + "node_modules/progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/proto-list": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", + "integrity": "sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==", + "optional": true + }, + "node_modules/proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "dependencies": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/qs": { + "version": "6.10.3", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz", + "integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==", + "dependencies": { + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/raw-body": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", + "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", + "dependencies": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/readable-stream/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "node_modules/responselike": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz", + "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=", + "dependencies": { + "lowercase-keys": "^1.0.0" + } + }, + "node_modules/roarr": { + "version": "2.15.4", + "resolved": "https://registry.npmjs.org/roarr/-/roarr-2.15.4.tgz", + "integrity": "sha512-CHhPh+UNHD2GTXNYhPWLnU8ONHdI+5DI+4EYIAOaiD63rHeYlZvyh8P+in5999TTSFgUYuKUAjzRI4mdh/p+2A==", + "optional": true, + "dependencies": { + "boolean": "^3.0.1", + "detect-node": "^2.0.4", + "globalthis": "^1.0.1", + "json-stringify-safe": "^5.0.1", + "semver-compare": "^1.0.0", + "sprintf-js": "^1.1.2" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/semver-compare": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz", + "integrity": "sha1-De4hahyUGrN+nvsXiPavxf9VN/w=", + "optional": true + }, + "node_modules/send": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", + "dependencies": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "2.4.1", + "range-parser": "~1.2.1", + "statuses": "2.0.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/send/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/send/node_modules/debug/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/send/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + }, + "node_modules/serialize-error": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-7.0.1.tgz", + "integrity": "sha512-8I8TjW5KMOKsZQTvoxjuSIa7foAwPWGOts+6o7sgjz41/qMD9VQHEDxi6PBvK2l0MXUmqZyNpUK+T2tQaaElvw==", + "optional": true, + "dependencies": { + "type-fest": "^0.13.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/serve-static": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", + "dependencies": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.18.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" + }, + "node_modules/side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "dependencies": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/sprintf-js": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.2.tgz", + "integrity": "sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==", + "optional": true + }, + "node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/string_decoder/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "node_modules/sumchecker": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/sumchecker/-/sumchecker-3.0.1.tgz", + "integrity": "sha512-MvjXzkz/BOfyVDkG0oFOtBxHX2u3gKbMHIF/dXblZsgD3BWOFLmHovIpZY7BykJdAjcqRCBi1WYBNdEC9yI7vg==", + "dependencies": { + "debug": "^4.1.0" + }, + "engines": { + "node": ">= 8.0" + } + }, + "node_modules/to-readable-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz", + "integrity": "sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==", + "engines": { + "node": ">=6" + } + }, + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/tunnel": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz", + "integrity": "sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==", + "optional": true, + "engines": { + "node": ">=0.6.11 <=0.7.0 || >=0.7.3" + } + }, + "node_modules/type-fest": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.13.1.tgz", + "integrity": "sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==", + "optional": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "dependencies": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" + }, + "node_modules/typescript": { + "version": "4.7.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.7.2.tgz", + "integrity": "sha512-Mamb1iX2FDUpcTRzltPxgWMKy3fhg0TN378ylbktPGPK/99KbDtMQ4W1hwgsbPAsG3a0xKa1vmw4VKZQbkvz5A==", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" + } + }, + "node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/url-parse-lax": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz", + "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=", + "dependencies": { + "prepend-http": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + }, + "node_modules/utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + }, + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "optional": true + }, + "node_modules/yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=", + "dependencies": { + "buffer-crc32": "~0.2.3", + "fd-slicer": "~1.1.0" + } + } + }, + "dependencies": { + "@electron/get": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@electron/get/-/get-1.14.1.tgz", + "integrity": "sha512-BrZYyL/6m0ZXz/lDxy/nlVhQz+WF+iPS6qXolEU8atw7h6v1aYkjwJZ63m+bJMBTxDE66X+r2tPS4a/8C82sZw==", + "requires": { + "debug": "^4.1.1", + "env-paths": "^2.2.0", + "fs-extra": "^8.1.0", + "global-agent": "^3.0.0", + "global-tunnel-ng": "^2.7.1", + "got": "^9.6.0", + "progress": "^2.0.3", + "semver": "^6.2.0", + "sumchecker": "^3.0.1" + } + }, + "@sindresorhus/is": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz", + "integrity": "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==" + }, + "@szmarczak/http-timer": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz", + "integrity": "sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==", + "requires": { + "defer-to-connect": "^1.0.1" + } + }, + "@types/node": { + "version": "16.11.38", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.11.38.tgz", + "integrity": "sha512-hjO/0K140An3GWDw2HJfq7gko3wWeznbjXgg+rzPdVzhe198hp4x2i1dgveAOEiFKd8sOilAxzoSJiVv5P/CUg==" + }, + "accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "requires": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + } + }, + "array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" + }, + "body-parser": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.0.tgz", + "integrity": "sha512-DfJ+q6EPcGKZD1QWUjSpqp+Q7bDQTsQIF4zfUAtZ6qk+H/3/QRhg9CEp39ss+/T2vw0+HaidC0ecJj/DRLIaKg==", + "requires": { + "bytes": "3.1.2", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.10.3", + "raw-body": "2.5.1", + "type-is": "~1.6.18", + "unpipe": "1.0.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + } + } + }, + "boolean": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/boolean/-/boolean-3.2.0.tgz", + "integrity": "sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==", + "optional": true + }, + "buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==" + }, + "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==" + }, + "bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==" + }, + "cacheable-request": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz", + "integrity": "sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==", + "requires": { + "clone-response": "^1.0.2", + "get-stream": "^5.1.0", + "http-cache-semantics": "^4.0.0", + "keyv": "^3.0.0", + "lowercase-keys": "^2.0.0", + "normalize-url": "^4.1.0", + "responselike": "^1.0.2" + }, + "dependencies": { + "get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "requires": { + "pump": "^3.0.0" + } + }, + "lowercase-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", + "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==" + } + } + }, + "call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "requires": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + } + }, + "clone-response": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz", + "integrity": "sha512-yjLXh88P599UOyPTFX0POsd7WxnbsVsGohcwzHOLspIhhpalPw1BcqED8NblyZLKcGrL8dTgMlcaZxV2jAD41Q==", + "requires": { + "mimic-response": "^1.0.0" + } + }, + "concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "requires": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, + "config-chain": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.13.tgz", + "integrity": "sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==", + "optional": true, + "requires": { + "ini": "^1.3.4", + "proto-list": "~1.2.1" + } + }, + "content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "requires": { + "safe-buffer": "5.2.1" + } + }, + "content-type": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", + "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==" + }, + "cookie": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", + "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==" + }, + "cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" + }, + "core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" + }, + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "requires": { + "ms": "2.1.2" + } + }, + "decompress-response": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", + "integrity": "sha512-BzRPQuY1ip+qDonAOz42gRm/pg9F768C+npV/4JOsxRC2sq+Rlk+Q4ZCAsOhnIaMrgarILY+RMUIvMmmX1qAEA==", + "requires": { + "mimic-response": "^1.0.0" + } + }, + "defer-to-connect": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.3.tgz", + "integrity": "sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==" + }, + "define-properties": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz", + "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==", + "optional": true, + "requires": { + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + } + }, + "depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==" + }, + "destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==" + }, + "detect-node": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", + "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", + "optional": true + }, + "duplexer3": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", + "integrity": "sha512-CEj8FwwNA4cVH2uFCoHUrmojhYh1vmCdOaneKJXwkeY1i9jnlslVo9dx+hQ5Hl9GnH/Bwy/IjxAyOePyPKYnzA==" + }, + "ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" + }, + "electron": { + "version": "19.0.2", + "resolved": "https://registry.npmjs.org/electron/-/electron-19.0.2.tgz", + "integrity": "sha512-9RzS8wUpxY8dHFJRncro2mEIkCg9Vig1Q0iLu5y3dusEIDKcBRKoW9mVhUeqvZVZgb2SsTEowZBBdBhdL6/+aQ==", + "requires": { + "@electron/get": "^1.14.1", + "@types/node": "^16.11.26", + "extract-zip": "^1.0.3" + } + }, + "encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==" + }, + "end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "requires": { + "once": "^1.4.0" + } + }, + "env-paths": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==" + }, + "es6-error": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz", + "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==", + "optional": true + }, + "escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" + }, + "escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "optional": true + }, + "etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==" + }, + "express": { + "version": "4.18.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.18.1.tgz", + "integrity": "sha512-zZBcOX9TfehHQhtupq57OF8lFZ3UZi08Y97dwFCkD8p9d/d2Y3M+ykKcwaMDEL+4qyUolgBDX6AblpR3fL212Q==", + "requires": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "1.20.0", + "content-disposition": "0.5.4", + "content-type": "~1.0.4", + "cookie": "0.5.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "1.2.0", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.7", + "qs": "6.10.3", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "0.18.0", + "serve-static": "1.15.0", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + } + } + }, + "extract-zip": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.7.0.tgz", + "integrity": "sha512-xoh5G1W/PB0/27lXgMQyIhP5DSY/LhoCsOyZgb+6iMmRtCwVBo55uKaMoEYrDCKQhWvqEip5ZPKAc6eFNyf/MA==", + "requires": { + "concat-stream": "^1.6.2", + "debug": "^2.6.9", + "mkdirp": "^0.5.4", + "yauzl": "^2.10.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + } + } + }, + "fd-slicer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", + "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", + "requires": { + "pend": "~1.2.0" + } + }, + "finalhandler": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", + "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", + "requires": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "statuses": "2.0.1", + "unpipe": "~1.0.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + } + } + }, + "forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==" + }, + "fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==" + }, + "fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + }, + "get-intrinsic": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", + "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", + "requires": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1" + } + }, + "get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "requires": { + "pump": "^3.0.0" + } + }, + "global-agent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/global-agent/-/global-agent-3.0.0.tgz", + "integrity": "sha512-PT6XReJ+D07JvGoxQMkT6qji/jVNfX/h364XHZOWeRzy64sSFr+xJ5OX7LI3b4MPQzdL4H8Y8M0xzPpsVMwA8Q==", + "optional": true, + "requires": { + "boolean": "^3.0.1", + "es6-error": "^4.1.1", + "matcher": "^3.0.0", + "roarr": "^2.15.3", + "semver": "^7.3.2", + "serialize-error": "^7.0.1" + }, + "dependencies": { + "semver": { + "version": "7.3.7", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", + "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "optional": true, + "requires": { + "lru-cache": "^6.0.0" + } + } + } + }, + "global-tunnel-ng": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/global-tunnel-ng/-/global-tunnel-ng-2.7.1.tgz", + "integrity": "sha512-4s+DyciWBV0eK148wqXxcmVAbFVPqtc3sEtUE/GTQfuU80rySLcMhUmHKSHI7/LDj8q0gDYI1lIhRRB7ieRAqg==", + "optional": true, + "requires": { + "encodeurl": "^1.0.2", + "lodash": "^4.17.10", + "npm-conf": "^1.1.3", + "tunnel": "^0.0.6" + } + }, + "globalthis": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", + "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", + "optional": true, + "requires": { + "define-properties": "^1.1.3" + } + }, + "got": { + "version": "9.6.0", + "resolved": "https://registry.npmjs.org/got/-/got-9.6.0.tgz", + "integrity": "sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==", + "requires": { + "@sindresorhus/is": "^0.14.0", + "@szmarczak/http-timer": "^1.1.2", + "cacheable-request": "^6.0.0", + "decompress-response": "^3.3.0", + "duplexer3": "^0.1.4", + "get-stream": "^4.1.0", + "lowercase-keys": "^1.0.1", + "mimic-response": "^1.0.1", + "p-cancelable": "^1.0.0", + "to-readable-stream": "^1.0.0", + "url-parse-lax": "^3.0.0" + } + }, + "graceful-fs": { + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==" + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-property-descriptors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", + "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", + "optional": true, + "requires": { + "get-intrinsic": "^1.1.1" + } + }, + "has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" + }, + "http-cache-semantics": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz", + "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==" + }, + "http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "requires": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + } + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "optional": true + }, + "ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==" + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + }, + "json-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz", + "integrity": "sha512-CuUqjv0FUZIdXkHPI8MezCnFCdaTAacej1TZYulLoAg1h/PhwkdXFN4V/gzY4g+fMBCOV2xF+rp7t2XD2ns/NQ==" + }, + "json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", + "optional": true + }, + "jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "keyv": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz", + "integrity": "sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==", + "requires": { + "json-buffer": "3.0.0" + } + }, + "lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "optional": true + }, + "lowercase-keys": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", + "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==" + }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "optional": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "matcher": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/matcher/-/matcher-3.0.0.tgz", + "integrity": "sha512-OkeDaAZ/bQCxeFAozM55PKcKU0yJMPGifLwV4Qgjitu+5MoAfSQN4lsLJeXZ1b8w0x+/Emda6MZgXS1jvsapng==", + "optional": true, + "requires": { + "escape-string-regexp": "^4.0.0" + } + }, + "media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==" + }, + "merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==" + }, + "methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==" + }, + "mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" + }, + "mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" + }, + "mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "requires": { + "mime-db": "1.52.0" + } + }, + "mimic-response": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", + "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==" + }, + "minimist": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", + "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==" + }, + "mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "requires": { + "minimist": "^1.2.6" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==" + }, + "normalize-url": { + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.1.tgz", + "integrity": "sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA==" + }, + "npm-conf": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/npm-conf/-/npm-conf-1.1.3.tgz", + "integrity": "sha512-Yic4bZHJOt9RCFbRP3GgpqhScOY4HH3V2P8yBj6CeYq118Qr+BLXqT2JvpJ00mryLESpgOxf5XlFv4ZjXxLScw==", + "optional": true, + "requires": { + "config-chain": "^1.1.11", + "pify": "^3.0.0" + } + }, + "object-inspect": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz", + "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==" + }, + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "optional": true + }, + "on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "requires": { + "ee-first": "1.1.1" + } + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "requires": { + "wrappy": "1" + } + }, + "p-cancelable": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz", + "integrity": "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==" + }, + "parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" + }, + "path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==" + }, + "pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==" + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", + "optional": true + }, + "prepend-http": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", + "integrity": "sha512-ravE6m9Atw9Z/jjttRUZ+clIXogdghyZAuWJ3qEzjT+jI/dL1ifAqhZeC5VHzQp1MSt1+jxKkFNemj/iO7tVUA==" + }, + "process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + }, + "progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==" + }, + "proto-list": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", + "integrity": "sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==", + "optional": true + }, + "proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "requires": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + } + }, + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "qs": { + "version": "6.10.3", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz", + "integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==", + "requires": { + "side-channel": "^1.0.4" + } + }, + "range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" + }, + "raw-body": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", + "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", + "requires": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + } + }, + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + }, + "dependencies": { + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + } + } + }, + "responselike": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz", + "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=", + "requires": { + "lowercase-keys": "^1.0.0" + } + }, + "roarr": { + "version": "2.15.4", + "resolved": "https://registry.npmjs.org/roarr/-/roarr-2.15.4.tgz", + "integrity": "sha512-CHhPh+UNHD2GTXNYhPWLnU8ONHdI+5DI+4EYIAOaiD63rHeYlZvyh8P+in5999TTSFgUYuKUAjzRI4mdh/p+2A==", + "optional": true, + "requires": { + "boolean": "^3.0.1", + "detect-node": "^2.0.4", + "globalthis": "^1.0.1", + "json-stringify-safe": "^5.0.1", + "semver-compare": "^1.0.0", + "sprintf-js": "^1.1.2" + } + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + }, + "semver-compare": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz", + "integrity": "sha1-De4hahyUGrN+nvsXiPavxf9VN/w=", + "optional": true + }, + "send": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", + "requires": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "2.4.1", + "range-parser": "~1.2.1", + "statuses": "2.0.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + }, + "dependencies": { + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + } + } + }, + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + } + } + }, + "serialize-error": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-7.0.1.tgz", + "integrity": "sha512-8I8TjW5KMOKsZQTvoxjuSIa7foAwPWGOts+6o7sgjz41/qMD9VQHEDxi6PBvK2l0MXUmqZyNpUK+T2tQaaElvw==", + "optional": true, + "requires": { + "type-fest": "^0.13.1" + } + }, + "serve-static": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", + "requires": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.18.0" + } + }, + "setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" + }, + "side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "requires": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + } + }, + "sprintf-js": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.2.tgz", + "integrity": "sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==", + "optional": true + }, + "statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==" + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" + }, + "dependencies": { + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + } + } + }, + "sumchecker": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/sumchecker/-/sumchecker-3.0.1.tgz", + "integrity": "sha512-MvjXzkz/BOfyVDkG0oFOtBxHX2u3gKbMHIF/dXblZsgD3BWOFLmHovIpZY7BykJdAjcqRCBi1WYBNdEC9yI7vg==", + "requires": { + "debug": "^4.1.0" + } + }, + "to-readable-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz", + "integrity": "sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==" + }, + "toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==" + }, + "tunnel": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz", + "integrity": "sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==", + "optional": true + }, + "type-fest": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.13.1.tgz", + "integrity": "sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==", + "optional": true + }, + "type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "requires": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + } + }, + "typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" + }, + "typescript": { + "version": "4.7.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.7.2.tgz", + "integrity": "sha512-Mamb1iX2FDUpcTRzltPxgWMKy3fhg0TN378ylbktPGPK/99KbDtMQ4W1hwgsbPAsG3a0xKa1vmw4VKZQbkvz5A==" + }, + "universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" + }, + "unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" + }, + "url-parse-lax": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz", + "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=", + "requires": { + "prepend-http": "^2.0.0" + } + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + }, + "utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=" + }, + "vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "optional": true + }, + "yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=", + "requires": { + "buffer-crc32": "~0.2.3", + "fd-slicer": "~1.1.0" + } + } + } +} diff --git a/test/fixtures/ci-caching/package.json b/test/fixtures/ci-caching/package.json new file mode 100644 index 000000000..0e5afbf65 --- /dev/null +++ b/test/fixtures/ci-caching/package.json @@ -0,0 +1,17 @@ +{ + "name": "node-buildpack-test-app", + "version": "0.0.1", + "description": "node buildpack integration test app", + "repository" : { + "type" : "git", + "url" : "http://github.com/example/example.git" + }, + "engines": { + "node": "14.x" + }, + "dependencies": { + "express": "latest", + "electron": "^19.0.2", + "typescript": "^4.7.2" + } +} diff --git a/test/fixtures/ci-dependencies-yarn/README.md b/test/fixtures/ci-dependencies-yarn/README.md new file mode 100644 index 000000000..cda334ae1 --- /dev/null +++ b/test/fixtures/ci-dependencies-yarn/README.md @@ -0,0 +1 @@ +A fake README, to keep npm from polluting stderr. \ No newline at end of file diff --git a/test/fixtures/ci-dependencies-yarn/package.json b/test/fixtures/ci-dependencies-yarn/package.json new file mode 100644 index 000000000..65c53ac33 --- /dev/null +++ b/test/fixtures/ci-dependencies-yarn/package.json @@ -0,0 +1,19 @@ +{ + "name": "node-buildpack-test-app", + "version": "0.0.1", + "description": "node buildpack integration test app", + "repository": { + "type": "git", + "url": "http://github.com/example/example.git" + }, + "license": "MIT", + "engines": { + "yarn": "1.x" + }, + "devDependencies": { + "lodash": "^2.4.1" + }, + "scripts": { + "test": "ls node_modules" + } +} diff --git a/test/fixtures/ci-dependencies-yarn/yarn.lock b/test/fixtures/ci-dependencies-yarn/yarn.lock new file mode 100644 index 000000000..3b5c3f597 --- /dev/null +++ b/test/fixtures/ci-dependencies-yarn/yarn.lock @@ -0,0 +1,7 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +lodash@^2.4.1: + version "2.4.2" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-2.4.2.tgz#fadd834b9683073da179b3eae6d9c0d15053f73e" diff --git a/test/fixtures/ci-dependencies/README.md b/test/fixtures/ci-dependencies/README.md new file mode 100644 index 000000000..cda334ae1 --- /dev/null +++ b/test/fixtures/ci-dependencies/README.md @@ -0,0 +1 @@ +A fake README, to keep npm from polluting stderr. \ No newline at end of file diff --git a/test/fixtures/ci-dependencies/package-lock.json b/test/fixtures/ci-dependencies/package-lock.json new file mode 100644 index 000000000..4ae5d70a2 --- /dev/null +++ b/test/fixtures/ci-dependencies/package-lock.json @@ -0,0 +1,14 @@ +{ + "name": "node-buildpack-test-app", + "version": "0.0.1", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "lodash": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-2.4.2.tgz", + "integrity": "sha1-+t2DS5aDBz2hebPq5tnA0VBT9z4=", + "dev": true + } + } +} diff --git a/test/fixtures/ci-dependencies/package.json b/test/fixtures/ci-dependencies/package.json new file mode 100644 index 000000000..ede43326e --- /dev/null +++ b/test/fixtures/ci-dependencies/package.json @@ -0,0 +1,18 @@ +{ + "name": "node-buildpack-test-app", + "version": "0.0.1", + "description": "node buildpack integration test app", + "repository": { + "type": "git", + "url": "http://github.com/example/example.git" + }, + "engines": { + "node": "14.x" + }, + "devDependencies": { + "lodash": "^2.4.1" + }, + "scripts": { + "test": "ls node_modules" + } +} diff --git a/test/fixtures/ci-env-test/README.md b/test/fixtures/ci-env-test/README.md new file mode 100644 index 000000000..cda334ae1 --- /dev/null +++ b/test/fixtures/ci-env-test/README.md @@ -0,0 +1 @@ +A fake README, to keep npm from polluting stderr. \ No newline at end of file diff --git a/test/fixtures/ci-env-test/package.json b/test/fixtures/ci-env-test/package.json new file mode 100644 index 000000000..5c35bb607 --- /dev/null +++ b/test/fixtures/ci-env-test/package.json @@ -0,0 +1,16 @@ +{ + "name": "node-buildpack-test-app", + "version": "0.0.1", + "repository" : { + "type" : "git", + "url" : "http://github.com/example/example.git" + }, + "engines": { + "node": "14.x" + }, + "scripts" : { + "heroku-prebuild" : "echo heroku-prebuild hook message", + "heroku-postbuild" : "echo heroku-postbuild hook message", + "test": "echo NODE_ENV: $NODE_ENV" + } +} diff --git a/test/fixtures/cleanup-scripts/README.md b/test/fixtures/cleanup-scripts/README.md new file mode 100644 index 000000000..cda334ae1 --- /dev/null +++ b/test/fixtures/cleanup-scripts/README.md @@ -0,0 +1 @@ +A fake README, to keep npm from polluting stderr. \ No newline at end of file diff --git a/test/fixtures/cleanup-scripts/package.json b/test/fixtures/cleanup-scripts/package.json new file mode 100644 index 000000000..0d14c5825 --- /dev/null +++ b/test/fixtures/cleanup-scripts/package.json @@ -0,0 +1,15 @@ +{ + "name": "node-buildpack-test-app", + "version": "0.0.1", + "description": "node buildpack integration test app", + "repository" : { + "type" : "git", + "url" : "http://github.com/example/example.git" + }, + "engines": { + "node": "14.x" + }, + "scripts" : { + "heroku-cleanup" : "echo heroku-cleanup hook message" + } +} diff --git a/test/fixtures/complex-scripts/README.md b/test/fixtures/complex-scripts/README.md new file mode 100644 index 000000000..cda334ae1 --- /dev/null +++ b/test/fixtures/complex-scripts/README.md @@ -0,0 +1 @@ +A fake README, to keep npm from polluting stderr. \ No newline at end of file diff --git a/test/fixtures/complex-scripts/package.json b/test/fixtures/complex-scripts/package.json new file mode 100644 index 000000000..26b5bd1aa --- /dev/null +++ b/test/fixtures/complex-scripts/package.json @@ -0,0 +1,18 @@ +{ + "name": "node-buildpack-test-app", + "version": "0.0.1", + "description": "node buildpack integration test app", + "repository" : { + "type" : "git", + "url" : "http://github.com/example/example.git" + }, + "engines": { + "node": "14.x" + }, + "scripts": { + "start": "\"no closing quote", + "build": "concurrently \"npm run build-server\" npm run build-client", + "heroku-postbuild": "if [ -z \"${CI}\" ]; then yarn build-assets; fi", + "postinstall": "if [ \"${NODE_ENV}\" = \"staging\" ]; then env ASSETS_ENV=production gulp assets:build; else echo \"Skipped heroku-postbuild\"; fi" + } +} diff --git a/test/fixtures/dangerous-range-greater-than/README.md b/test/fixtures/dangerous-range-greater-than/README.md new file mode 100644 index 000000000..cda334ae1 --- /dev/null +++ b/test/fixtures/dangerous-range-greater-than/README.md @@ -0,0 +1 @@ +A fake README, to keep npm from polluting stderr. \ No newline at end of file diff --git a/test/fixtures/dangerous-range-greater-than/package.json b/test/fixtures/dangerous-range-greater-than/package.json new file mode 100644 index 000000000..d2ca404de --- /dev/null +++ b/test/fixtures/dangerous-range-greater-than/package.json @@ -0,0 +1,15 @@ +{ + "name": "node-buildpack-test-app", + "version": "0.0.1", + "description": "node buildpack integration test app", + "repository" : { + "type" : "git", + "url" : "http://github.com/example/example.git" + }, + "scripts": { + "postinstall": "exit 1" + }, + "engines": { + "node": ">0.4" + } +} diff --git a/test/fixtures/dangerous-range-star/README.md b/test/fixtures/dangerous-range-star/README.md new file mode 100644 index 000000000..cda334ae1 --- /dev/null +++ b/test/fixtures/dangerous-range-star/README.md @@ -0,0 +1 @@ +A fake README, to keep npm from polluting stderr. \ No newline at end of file diff --git a/test/fixtures/dangerous-range-star/package.json b/test/fixtures/dangerous-range-star/package.json new file mode 100644 index 000000000..203435c6e --- /dev/null +++ b/test/fixtures/dangerous-range-star/package.json @@ -0,0 +1,15 @@ +{ + "name": "node-buildpack-test-app", + "version": "0.0.1", + "description": "node buildpack integration test app", + "repository" : { + "type" : "git", + "url" : "http://github.com/example/example.git" + }, + "scripts": { + "postinstall": "exit 1" + }, + "engines": { + "node": "*" + } +} diff --git a/test/fixtures/dependencies-modules-checked-in-with-devdependencies/README.md b/test/fixtures/dependencies-modules-checked-in-with-devdependencies/README.md new file mode 100644 index 000000000..cda334ae1 --- /dev/null +++ b/test/fixtures/dependencies-modules-checked-in-with-devdependencies/README.md @@ -0,0 +1 @@ +A fake README, to keep npm from polluting stderr. \ No newline at end of file diff --git a/test/fixtures/dependencies-modules-checked-in-with-devdependencies/node_modules/@heroku/linewrap/linewrap.js b/test/fixtures/dependencies-modules-checked-in-with-devdependencies/node_modules/@heroku/linewrap/linewrap.js new file mode 100644 index 000000000..72f3acd07 --- /dev/null +++ b/test/fixtures/dependencies-modules-checked-in-with-devdependencies/node_modules/@heroku/linewrap/linewrap.js @@ -0,0 +1,784 @@ +// code is originally from https://github.com/AnAppAMonth/linewrap + +// Presets +var presetMap = { + 'html': { + skipScheme: 'html', + lineBreakScheme: 'html', + whitespace: 'collapse' + } +} + +// lineBreak Schemes +var brPat = /<\s*br(?:[\s/]*|\s[^>]*)>/gi +var lineBreakSchemeMap = { + 'unix': [/\n/g, '\n'], + 'dos': [/\r\n/g, '\r\n'], + 'mac': [/\r/g, '\r'], + 'html': [brPat, '
'], + 'xhtml': [brPat, '
'] +} + +// skip Schemes +var skipSchemeMap = { + 'ansi-color': /\x1B\[[^m]*m/g, + 'html': /<[^>]*>/g, + 'bbcode': /\[[^]]*\]/g +} + +var modeMap = { + 'soft': 1, + 'hard': 1 +} + +var wsMap = { + 'collapse': 1, + 'default': 1, + 'line': 1, + 'all': 1 +} + +var rlbMap = { + 'all': 1, + 'multi': 1, + 'none': 1 +} +var rlbSMPat = /([sm])(\d+)/ + +var escapePat = /[-/\\^$*+?.()|[\]{}]/g +function escapeRegExp (s) { + return s.replace(escapePat, '\\$&') +} + +var linewrap = module.exports = function (start, stop, params) { + if (typeof start === 'object') { + params = start + start = params.start + stop = params.stop + } + + if (typeof stop === 'object') { + params = stop + start = start || params.start + stop = undefined + } + + if (!stop) { + stop = start + start = 0 + } + + if (!params) { params = {}; } + // Supported options and default values. + var preset, + mode = 'soft', + whitespace = 'default', + tabWidth = 4, + skip, skipScheme, lineBreak, lineBreakScheme, + respectLineBreaks = 'all', + respectNum, + preservedLineIndent, + wrapLineIndent, wrapLineIndentBase + + var skipPat + var lineBreakPat, lineBreakStr + var multiLineBreakPat + var preservedLinePrefix = '' + var wrapLineIndentPat, wrapLineInitPrefix = '' + var tabRepl + var item, flags + var i + + // First process presets, because these settings can be overwritten later. + preset = params.preset + if (preset) { + if (!(preset instanceof Array)) { + preset = [preset] + } + for (i = 0; i < preset.length; i++) { + item = presetMap[preset[i]] + if (item) { + if (item.mode) { + mode = item.mode + } + if (item.whitespace) { + whitespace = item.whitespace + } + if (item.tabWidth !== undefined) { + tabWidth = item.tabWidth + } + if (item.skip) { + skip = item.skip + } + if (item.skipScheme) { + skipScheme = item.skipScheme + } + if (item.lineBreak) { + lineBreak = item.lineBreak + } + if (item.lineBreakScheme) { + lineBreakScheme = item.lineBreakScheme + } + if (item.respectLineBreaks) { + respectLineBreaks = item.respectLineBreaks + } + if (item.preservedLineIndent !== undefined) { + preservedLineIndent = item.preservedLineIndent + } + if (item.wrapLineIndent !== undefined) { + wrapLineIndent = item.wrapLineIndent + } + if (item.wrapLineIndentBase) { + wrapLineIndentBase = item.wrapLineIndentBase + } + } else { + throw new TypeError('preset must be one of "' + Object.keys(presetMap).join('", "') + '"') + } + } + } + + if (params.mode) { + if (modeMap[params.mode]) { + mode = params.mode + } else { + throw new TypeError('mode must be one of "' + Object.keys(modeMap).join('", "') + '"') + } + } + // Available options: 'collapse', 'default', 'line', and 'all' + if (params.whitespace) { + if (wsMap[params.whitespace]) { + whitespace = params.whitespace + } else { + throw new TypeError('whitespace must be one of "' + Object.keys(wsMap).join('", "') + '"') + } + } + + if (params.tabWidth !== undefined) { + if (parseInt(params.tabWidth, 10) >= 0) { + tabWidth = parseInt(params.tabWidth, 10) + } else { + throw new TypeError('tabWidth must be a non-negative integer') + } + } + tabRepl = new Array(tabWidth + 1).join(' ') + + // Available options: 'all', 'multi', 'm\d+', 's\d+', 'none' + if (params.respectLineBreaks) { + if (rlbMap[params.respectLineBreaks] || rlbSMPat.test(params.respectLineBreaks)) { + respectLineBreaks = params.respectLineBreaks + } else { + throw new TypeError('respectLineBreaks must be one of "' + Object.keys(rlbMap).join('", "') + + '", "m", "s"') + } + } + // After these conversions, now we have 4 options in `respectLineBreaks`: + // 'all', 'none', 'm' and 's'. + // `respectNum` is applicable iff `respectLineBreaks` is either 'm' or 's'. + if (respectLineBreaks === 'multi') { + respectLineBreaks = 'm' + respectNum = 2 + } else if (!rlbMap[respectLineBreaks]) { + var match = rlbSMPat.exec(respectLineBreaks) + respectLineBreaks = match[1] + respectNum = parseInt(match[2], 10) + } + + if (params.preservedLineIndent !== undefined) { + if (parseInt(params.preservedLineIndent, 10) >= 0) { + preservedLineIndent = parseInt(params.preservedLineIndent, 10) + } else { + throw new TypeError('preservedLineIndent must be a non-negative integer') + } + } + + if (preservedLineIndent > 0) { + preservedLinePrefix = new Array(preservedLineIndent + 1).join(' ') + } + + if (params.wrapLineIndent !== undefined) { + if (!isNaN(parseInt(params.wrapLineIndent, 10))) { + wrapLineIndent = parseInt(params.wrapLineIndent, 10) + } else { + throw new TypeError('wrapLineIndent must be an integer') + } + } + if (params.wrapLineIndentBase) { + wrapLineIndentBase = params.wrapLineIndentBase + } + + if (wrapLineIndentBase) { + if (wrapLineIndent === undefined) { + throw new TypeError('wrapLineIndent must be specified when wrapLineIndentBase is specified') + } + if (wrapLineIndentBase instanceof RegExp) { + wrapLineIndentPat = wrapLineIndentBase + } else if (typeof wrapLineIndentBase === 'string') { + wrapLineIndentPat = new RegExp(escapeRegExp(wrapLineIndentBase)) + } else { + throw new TypeError('wrapLineIndentBase must be either a RegExp object or a string') + } + } else if (wrapLineIndent > 0) { + wrapLineInitPrefix = new Array(wrapLineIndent + 1).join(' ') + } else if (wrapLineIndent < 0) { + throw new TypeError('wrapLineIndent must be non-negative when a base is not specified') + } + + // NOTE: For the two RegExps `skipPat` and `lineBreakPat` that can be specified + // by the user: + // 1. We require them to be "global", so we have to convert them to global + // if the user specifies a non-global regex. + // 2. We cannot call `split()` on them, because they may or may not contain + // capturing parentheses which affect the output of `split()`. + + // Precedence: Regex = Str > Scheme + if (params.skipScheme) { + if (skipSchemeMap[params.skipScheme]) { + skipScheme = params.skipScheme + } else { + throw new TypeError('skipScheme must be one of "' + Object.keys(skipSchemeMap).join('", "') + '"') + } + } + if (params.skip) { + skip = params.skip + } + + if (skip) { + if (skip instanceof RegExp) { + skipPat = skip + if (!skipPat.global) { + flags = 'g' + if (skipPat.ignoreCase) { flags += 'i'; } + if (skipPat.multiline) { flags += 'm'; } + skipPat = new RegExp(skipPat.source, flags) + } + } else if (typeof skip === 'string') { + skipPat = new RegExp(escapeRegExp(skip), 'g') + } else { + throw new TypeError('skip must be either a RegExp object or a string') + } + } + if (!skipPat && skipScheme) { + skipPat = skipSchemeMap[skipScheme] + } + + // Precedence: + // - for lineBreakPat: Regex > Scheme > Str + // - for lineBreakStr: Str > Scheme > Regex + if (params.lineBreakScheme) { + if (lineBreakSchemeMap[params.lineBreakScheme]) { + lineBreakScheme = params.lineBreakScheme + } else { + throw new TypeError('lineBreakScheme must be one of "' + Object.keys(lineBreakSchemeMap).join('", "') + '"') + } + } + if (params.lineBreak) { + lineBreak = params.lineBreak + } + + if (lineBreakScheme) { + // Supported schemes: 'unix', 'dos', 'mac', 'html', 'xhtml' + item = lineBreakSchemeMap[lineBreakScheme] + if (item) { + lineBreakPat = item[0] + lineBreakStr = item[1] + } + } + if (lineBreak) { + if (lineBreak instanceof Array) { + if (lineBreak.length === 1) { + lineBreak = lineBreak[0] + } else if (lineBreak.length >= 2) { + if (lineBreak[0] instanceof RegExp) { + lineBreakPat = lineBreak[0] + if (typeof lineBreak[1] === 'string') { + lineBreakStr = lineBreak[1] + } + } else if (lineBreak[1] instanceof RegExp) { + lineBreakPat = lineBreak[1] + if (typeof lineBreak[0] === 'string') { + lineBreakStr = lineBreak[0] + } + } else if (typeof lineBreak[0] === 'string' && typeof lineBreak[1] === 'string') { + lineBreakPat = new RegExp(escapeRegExp(lineBreak[0]), 'g') + lineBreakStr = lineBreak[1] + } else { + lineBreak = lineBreak[0] + } + } + } + if (typeof lineBreak === 'string') { + lineBreakStr = lineBreak + if (!lineBreakPat) { + lineBreakPat = new RegExp(escapeRegExp(lineBreak), 'g') + } + } else if (lineBreak instanceof RegExp) { + lineBreakPat = lineBreak + } else if (!(lineBreak instanceof Array)) { + throw new TypeError('lineBreak must be a RegExp object, a string, or an array consisted of a RegExp object and a string') + } + } + // Only assign defaults when `lineBreakPat` is not assigned. + // So if `params.lineBreak` is a RegExp, we don't have a value in `lineBreakStr` + // yet. We will try to get the value from the input string, and if failed, we + // will throw an exception. + if (!lineBreakPat) { + lineBreakPat = /\n/g + lineBreakStr = '\n' + } + + // Create `multiLineBreakPat` based on `lineBreakPat`, that matches strings + // consisted of one or more line breaks and zero or more whitespaces. + // Also convert `lineBreakPat` to global if not already so. + flags = 'g' + if (lineBreakPat.ignoreCase) { flags += 'i'; } + if (lineBreakPat.multiline) { flags += 'm'; } + multiLineBreakPat = new RegExp('\\s*(?:' + lineBreakPat.source + ')(?:' + + lineBreakPat.source + '|\\s)*', flags) + if (!lineBreakPat.global) { + lineBreakPat = new RegExp(lineBreakPat.source, flags) + } + + // Initialize other useful variables. + var re = mode === 'hard' ? /\b/ : /(\S+\s+)/ + var prefix = new Array(start + 1).join(' ') + var wsStrip = (whitespace === 'default' || whitespace === 'collapse'), + wsCollapse = (whitespace === 'collapse'), + wsLine = (whitespace === 'line'), + wsAll = (whitespace === 'all') + var tabPat = /\t/g, + collapsePat = / +/g, + pPat = /^\s+/, + tPat = /\s+$/, + nonWsPat = /\S/, + wsPat = /\s/ + var wrapLen = stop - start + + return function (text) { + text = text.toString().replace(tabPat, tabRepl) + + var match + if (!lineBreakStr) { + // Try to get lineBreakStr from `text` + lineBreakPat.lastIndex = 0 + match = lineBreakPat.exec(text) + if (match) { + lineBreakStr = match[0] + } else { + throw new TypeError('Line break string for the output not specified') + } + } + + // text -> blocks; each bloc -> segments; each segment -> chunks + var blocks, base = 0 + var mo, arr, b, res + // Split `text` by line breaks. + blocks = [] + multiLineBreakPat.lastIndex = 0 + match = multiLineBreakPat.exec(text) + while(match) { + blocks.push(text.substring(base, match.index)) + + if (respectLineBreaks !== 'none') { + arr = [] + b = 0 + lineBreakPat.lastIndex = 0 + mo = lineBreakPat.exec(match[0]) + while(mo) { + arr.push(match[0].substring(b, mo.index)) + b = mo.index + mo[0].length + mo = lineBreakPat.exec(match[0]) + } + arr.push(match[0].substring(b)) + blocks.push({type: 'break', breaks: arr}) + } else { + // Strip line breaks and insert spaces when necessary. + if (wsCollapse) { + res = ' ' + } else { + res = match[0].replace(lineBreakPat, '') + } + blocks.push({type: 'break', remaining: res}) + } + + base = match.index + match[0].length + match = multiLineBreakPat.exec(text) + } + blocks.push(text.substring(base)) + + var i, j, k + var segments + if (skipPat) { + segments = [] + for (i = 0; i < blocks.length; i++) { + var bloc = blocks[i] + if (typeof bloc !== 'string') { + // This is an object. + segments.push(bloc) + } else { + base = 0 + skipPat.lastIndex = 0 + match = skipPat.exec(bloc) + while(match) { + segments.push(bloc.substring(base, match.index)) + segments.push({type: 'skip', value: match[0]}) + base = match.index + match[0].length + match = skipPat.exec(bloc) + } + segments.push(bloc.substring(base)) + } + } + } else { + segments = blocks + } + + var chunks = [] + for (i = 0; i < segments.length; i++) { + var segment = segments[i] + if (typeof segment !== 'string') { + // This is an object. + chunks.push(segment) + } else { + if (wsCollapse) { + segment = segment.replace(collapsePat, ' ') + } + + var parts = segment.split(re), + acc = [] + + for (j = 0; j < parts.length; j++) { + var x = parts[j] + if (mode === 'hard') { + for (k = 0; k < x.length; k += wrapLen) { + acc.push(x.slice(k, k + wrapLen)) + } + } else { acc.push(x); } + } + chunks = chunks.concat(acc) + } + } + + var curLine = 0, + curLineLength = start + preservedLinePrefix.length, + lines = [ prefix + preservedLinePrefix ], + // Holds the "real length" (excluding trailing whitespaces) of the + // current line if it exceeds `stop`, otherwise 0. + // ONLY USED when `wsAll` is true, in `finishOffCurLine()`. + bulge = 0, + // `cleanLine` is true iff we are at the beginning of an output line. By + // "beginning" we mean it doesn't contain any non-whitespace char yet. + // But its `curLineLength` can be greater than `start`, or even possibly + // be greater than `stop`, if `wsStrip` is false. + // + // Note that a "clean" line can still contain skip strings, in addition + // to whitespaces. + // + // This variable is used to allow us strip preceding whitespaces when + // `wsStrip` is true, or `wsLine` is true and `preservedLine` is false. + cleanLine = true, + // `preservedLine` is true iff we are in a preserved input line. + // + // It's used when `wsLine` is true to (combined with `cleanLine`) decide + // whether a whitespace is at the beginning of a preserved input line and + // should not be stripped. + preservedLine = true, + // The current indent prefix for wrapped lines. + wrapLinePrefix = wrapLineInitPrefix, + remnant + + // Always returns '' if `beforeHardBreak` is true. + // + // Assumption: Each call of this function is always followed by a `lines.push()` call. + // + // This function can change the status of `cleanLine`, but we don't modify the value of + // `cleanLine` in this function. It's fine because `cleanLine` will be set to the correct + // value after the `lines.push()` call following this function call. We also don't update + // `curLineLength` when pushing a new line and it's safe for the same reason. + function finishOffCurLine (beforeHardBreak) { + var str = lines[curLine], + idx, ln, rBase + + if (!wsAll) { + // Strip all trailing whitespaces past `start`. + idx = str.length - 1 + while (idx >= start && str[idx] === ' ') { idx--; } + while (idx >= start && wsPat.test(str[idx])) { idx--; } + idx++ + + if (idx !== str.length) { + lines[curLine] = str.substring(0, idx) + } + + if (preservedLine && cleanLine && wsLine && curLineLength > stop) { + // Add the remnants to the next line, just like when `wsAll` is true. + rBase = str.length - (curLineLength - stop) + if (rBase < idx) { + // We didn't reach `stop` when stripping due to a bulge. + rBase = idx + } + } + } else { + // Strip trailing whitespaces exceeding stop. + if (curLineLength > stop) { + bulge = bulge || stop + rBase = str.length - (curLineLength - bulge) + lines[curLine] = str.substring(0, rBase) + } + bulge = 0 + } + + // Bug: the current implementation of `wrapLineIndent` is buggy: we are not + // taking the extra space occupied by the additional indentation into account + // when wrapping the line. For example, in "hard" mode, we should hard-wrap + // long words at `wrapLen - wrapLinePrefix.length` instead of `wrapLen` + // and remnants should also be wrapped at `wrapLen - wrapLinePrefix.length`. + if (preservedLine) { + // This is a preserved line, and the next output line isn't a + // preserved line. + preservedLine = false + if (wrapLineIndentPat) { + idx = lines[curLine].substring(start).search(wrapLineIndentPat) + if (idx >= 0 && idx + wrapLineIndent > 0) { + wrapLinePrefix = new Array(idx + wrapLineIndent + 1).join(' ') + } else { + wrapLinePrefix = '' + } + } + } + + // Some remnants are left to the next line. + if (rBase) { + while (rBase + wrapLen < str.length) { + if (wsAll) { + ln = str.substring(rBase, rBase + wrapLen) + lines.push(prefix + wrapLinePrefix + ln) + } else { + lines.push(prefix + wrapLinePrefix) + } + rBase += wrapLen + curLine++ + } + if (beforeHardBreak) { + if (wsAll) { + ln = str.substring(rBase) + lines.push(prefix + wrapLinePrefix + ln) + } else { + lines.push(prefix + wrapLinePrefix) + } + curLine++ + } else { + ln = str.substring(rBase) + return wrapLinePrefix + ln + } + } + + return '' + } + + for (i = 0; i < chunks.length; i++) { + var chunk = chunks[i] + + if (chunk === '') { continue; } + + if (typeof chunk !== 'string') { + if (chunk.type === 'break') { + // This is one or more line breaks. + // Each entry in `breaks` is just zero or more whitespaces. + if (respectLineBreaks !== 'none') { + // Note that if `whitespace` is "collapse", we still need + // to collapse whitespaces in entries of `breaks`. + var breaks = chunk.breaks + var num = breaks.length - 1 + + if (respectLineBreaks === 's') { + // This is the most complex scenario. We have to check + // the line breaks one by one. + for (j = 0; j < num; j++) { + if (breaks[j + 1].length < respectNum) { + // This line break should be stripped. + if (wsCollapse) { + breaks[j + 1] = ' ' + } else { + breaks[j + 1] = breaks[j] + breaks[j + 1] + } + } else { + // This line break should be preserved. + // First finish off the current line. + if (wsAll) { + lines[curLine] += breaks[j] + curLineLength += breaks[j].length + } + finishOffCurLine(true) + + lines.push(prefix + preservedLinePrefix) + curLine++ + curLineLength = start + preservedLinePrefix.length + + preservedLine = cleanLine = true + } + } + // We are adding to either the existing line (if no line break + // is qualified for preservance) or a "new" line. + if (!cleanLine || wsAll || (wsLine && preservedLine)) { + if (wsCollapse || (!cleanLine && breaks[num] === '')) { + breaks[num] = ' ' + } + lines[curLine] += breaks[num] + curLineLength += breaks[num].length + } + } else if (respectLineBreaks === 'm' && num < respectNum) { + // These line breaks should be stripped. + if (!cleanLine || wsAll || (wsLine && preservedLine)) { + if (wsCollapse) { + chunk = ' ' + } else { + chunk = breaks.join('') + if (!cleanLine && chunk === '') { + chunk = ' ' + } + } + lines[curLine] += chunk + curLineLength += chunk.length + } + } else { // 'all' || ('m' && num >= respectNum) + // These line breaks should be preserved. + if (wsStrip) { + // Finish off the current line. + finishOffCurLine(true) + + for (j = 0; j < num; j++) { + lines.push(prefix + preservedLinePrefix) + curLine++ + } + + curLineLength = start + preservedLinePrefix.length + preservedLine = cleanLine = true + } else { + if (wsAll || (preservedLine && cleanLine)) { + lines[curLine] += breaks[0] + curLineLength += breaks[0].length + } + + for (j = 0; j < num; j++) { + // Finish off the current line. + finishOffCurLine(true) + + lines.push(prefix + preservedLinePrefix + breaks[j + 1]) + curLine++ + curLineLength = start + preservedLinePrefix.length + breaks[j + 1].length + + preservedLine = cleanLine = true + } + } + } + } else { + // These line breaks should be stripped. + if (!cleanLine || wsAll || (wsLine && preservedLine)) { + chunk = chunk.remaining + + // Bug: If `wsAll` is true, `cleanLine` is false, and `chunk` + // is '', we insert a space to replace the line break. This + // space will be preserved even if we are at the end of an + // output line, which is wrong behavior. However, I'm not + // sure it's worth it to fix this edge case. + if (wsCollapse || (!cleanLine && chunk === '')) { + chunk = ' ' + } + lines[curLine] += chunk + curLineLength += chunk.length + } + } + } else if (chunk.type === 'skip') { + // This is a skip string. + // Assumption: skip strings don't end with whitespaces. + if (curLineLength > stop) { + remnant = finishOffCurLine(false) + + lines.push(prefix + wrapLinePrefix) + curLine++ + curLineLength = start + wrapLinePrefix.length + + if (remnant) { + lines[curLine] += remnant + curLineLength += remnant.length + } + + cleanLine = true + } + lines[curLine] += chunk.value + } + continue + } + + var chunk2 + while (1) { + chunk2 = undefined + if (curLineLength + chunk.length > stop && + curLineLength + (chunk2 = chunk.replace(tPat, '')).length > stop && + chunk2 !== '' && + curLineLength > start) { + // This line is full, add `chunk` to the next line + remnant = finishOffCurLine(false) + + lines.push(prefix + wrapLinePrefix) + curLine++ + curLineLength = start + wrapLinePrefix.length + + if (remnant) { + lines[curLine] += remnant + curLineLength += remnant.length + cleanLine = true + continue + } + + if (wsStrip || (wsLine && !(preservedLine && cleanLine))) { + chunk = chunk.replace(pPat, '') + } + cleanLine = false + } else { + // Add `chunk` to this line + if (cleanLine) { + if (wsStrip || (wsLine && !(preservedLine && cleanLine))) { + chunk = chunk.replace(pPat, '') + if (chunk !== '') { + cleanLine = false + } + } else { + if (nonWsPat.test(chunk)) { + cleanLine = false + } + } + } + } + break + } + if (wsAll && chunk2 && curLineLength + chunk2.length > stop) { + bulge = curLineLength + chunk2.length + } + lines[curLine] += chunk + curLineLength += chunk.length + } + // Finally, finish off the last line. + finishOffCurLine(true) + return lines.join(lineBreakStr) + } +} + +linewrap.soft = linewrap + +linewrap.hard = function ( /*start, stop, params*/) { + var args = [].slice.call(arguments) + var last = args.length - 1 + if (typeof args[last] === 'object') { + args[last].mode = 'hard' + } else { + args.push({ mode: 'hard' }) + } + return linewrap.apply(null, args) +} + +linewrap.wrap = function (text /*, start, stop, params*/) { + var args = [].slice.call(arguments) + args.shift() + return linewrap.apply(null, args)(text) +} + diff --git a/test/fixtures/dependencies-modules-checked-in-with-devdependencies/node_modules/@heroku/linewrap/package.json b/test/fixtures/dependencies-modules-checked-in-with-devdependencies/node_modules/@heroku/linewrap/package.json new file mode 100644 index 000000000..b7459c9d9 --- /dev/null +++ b/test/fixtures/dependencies-modules-checked-in-with-devdependencies/node_modules/@heroku/linewrap/package.json @@ -0,0 +1,47 @@ +{ + "_from": "@heroku/linewrap@*", + "_id": "@heroku/linewrap@1.0.0", + "_inBundle": false, + "_integrity": "sha512-qPeQp2DnALUwWKaL6ZXfnOw/lHp+zNg5V8whx5c/Y10HMWYjuQFqKupgoJgyuEYjnvYwoZTarW280+aOXWQLCQ==", + "_location": "/@heroku/linewrap", + "_phantomChildren": {}, + "_requested": { + "type": "range", + "registry": true, + "raw": "@heroku/linewrap@*", + "name": "@heroku/linewrap", + "escapedName": "@heroku%2flinewrap", + "scope": "@heroku", + "rawSpec": "*", + "saveSpec": null, + "fetchSpec": "*" + }, + "_requiredBy": [ + "/" + ], + "_resolved": "https://registry.npmjs.org/@heroku/linewrap/-/linewrap-1.0.0.tgz", + "_shasum": "a9d4e99f0a3e423a899b775f5f3d6747a1ff15c6", + "_spec": "@heroku/linewrap@*", + "_where": "/Users/danielle.adams/Code/heroku/heroku-buildpack-nodejs/test/fixtures/dependencies-modules-checked-in-with-devdependencies", + "author": { + "name": "Jeff Dickey" + }, + "bugs": { + "url": "https://github.com/heroku/node-linewrap/issues" + }, + "bundleDependencies": false, + "deprecated": false, + "description": "", + "homepage": "https://github.com/heroku/node-linewrap#readme", + "license": "ISC", + "main": "linewrap.js", + "name": "@heroku/linewrap", + "repository": { + "type": "git", + "url": "git+https://github.com/heroku/node-linewrap.git" + }, + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "version": "1.0.0" +} diff --git a/test/fixtures/dependencies-modules-checked-in-with-devdependencies/node_modules/lodash/LICENSE.txt b/test/fixtures/dependencies-modules-checked-in-with-devdependencies/node_modules/lodash/LICENSE.txt new file mode 100644 index 000000000..49869bbab --- /dev/null +++ b/test/fixtures/dependencies-modules-checked-in-with-devdependencies/node_modules/lodash/LICENSE.txt @@ -0,0 +1,22 @@ +Copyright 2012-2013 The Dojo Foundation +Based on Underscore.js 1.5.2, copyright 2009-2013 Jeremy Ashkenas, +DocumentCloud and Investigative Reporters & Editors + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. \ No newline at end of file diff --git a/test/fixtures/dependencies-modules-checked-in-with-devdependencies/node_modules/lodash/README.md b/test/fixtures/dependencies-modules-checked-in-with-devdependencies/node_modules/lodash/README.md new file mode 100644 index 000000000..86b063677 --- /dev/null +++ b/test/fixtures/dependencies-modules-checked-in-with-devdependencies/node_modules/lodash/README.md @@ -0,0 +1,145 @@ +# Lo-Dash v2.4.2 +A utility library delivering consistency, [customization](https://lodash.com/custom-builds), [performance](https://lodash.com/benchmarks), & [extras](https://lodash.com/#features). + +## Download + +Check out our [wiki]([https://github.com/lodash/lodash/wiki/build-differences]) for details over the differences between builds. + +* Modern builds perfect for newer browsers/environments:
+[Development](https://raw.github.com/lodash/lodash/2.4.2/dist/lodash.js) & +[Production](https://raw.github.com/lodash/lodash/2.4.2/dist/lodash.min.js) + +* Compatibility builds for older environment support too:
+[Development](https://raw.github.com/lodash/lodash/2.4.2/dist/lodash.compat.js) & +[Production](https://raw.github.com/lodash/lodash/2.4.2/dist/lodash.compat.min.js) + +* Underscore builds to use as a drop-in replacement:
+[Development](https://raw.github.com/lodash/lodash/2.4.2/dist/lodash.underscore.js) & +[Production](https://raw.github.com/lodash/lodash/2.4.2/dist/lodash.underscore.min.js) + +CDN copies are available on [cdnjs](http://cdnjs.com/libraries/lodash.js/) & [jsDelivr](http://www.jsdelivr.com/#!lodash). For smaller file sizes, create [custom builds](https://lodash.com/custom-builds) with only the features needed. + +Love modules? We’ve got you covered with [lodash-amd](https://npmjs.org/package/lodash-amd), [lodash-es6](https://github.com/lodash/lodash-es6), [lodash-node](https://npmjs.org/package/lodash-node), & [npm packages](https://npmjs.org/browse/keyword/lodash-modularized) per method. + +## Dive in + +There’s plenty of **[documentation](https://lodash.com/docs)**, [unit tests](https://lodash.com/tests), & [benchmarks](https://lodash.com/benchmarks).
+Check out DevDocs as a fast, organized, & searchable interface for our documentation. + +The full changelog for this release is available on our [wiki](https://github.com/lodash/lodash/wiki/Changelog).
+A list of upcoming features is available on our [roadmap](https://github.com/lodash/lodash/wiki/Roadmap). + +## Installation & usage + +In browsers: + +```html + +``` + +Using [`npm`](http://npmjs.org/): + +```bash +npm i --save lodash + +{sudo} npm i -g lodash +npm ln lodash +``` + +In [Node.js](http://nodejs.org/) & [Ringo](http://ringojs.org/): + +```js +var _ = require('lodash'); +// or as Underscore +var _ = require('lodash/dist/lodash.underscore'); +``` + +**Notes:** + * Don’t assign values to [special variable](http://nodejs.org/api/repl.html#repl_repl_features) `_` when in the REPL + * If Lo-Dash is installed globally, run [`npm ln lodash`](http://blog.nodejs.org/2011/03/23/npm-1-0-global-vs-local-installation/) in your project’s root directory *before* requiring it + +In [Rhino](http://www.mozilla.org/rhino/): + +```js +load('lodash.js'); +``` + +In an AMD loader: + +```js +require({ + 'packages': [ + { 'name': 'lodash', 'location': 'path/to/lodash', 'main': 'lodash' } + ] +}, +['lodash'], function(_) { + console.log(_.VERSION); +}); +``` + +## Resources + + * Podcasts + - [JavaScript Jabber](http://javascriptjabber.com/079-jsj-lo-dash-with-john-david-dalton/) + + * Posts + - [Say “Hello” to Lo-Dash](http://kitcambridge.be/blog/say-hello-to-lo-dash/) + - [Custom builds in Lo-Dash 2.0](http://kitcambridge.be/blog/custom-builds-in-lo-dash-2-dot-0/) + + * Videos + - [Introduction](https://vimeo.com/44154599) + - [Origins](https://vimeo.com/44154600) + - [Optimizations & builds](https://vimeo.com/44154601) + - [Native method use](https://vimeo.com/48576012) + - [Testing](https://vimeo.com/45865290) + - [CascadiaJS ’12](http://www.youtube.com/watch?v=dpPy4f_SeEk) + + A list of other community created podcasts, posts, & videos is available on our [wiki](https://github.com/lodash/lodash/wiki/Resources). + +## Features + + * AMD loader support ([curl](https://github.com/cujojs/curl), [dojo](http://dojotoolkit.org/), [requirejs](http://requirejs.org/), etc.) + * [_(…)](https://lodash.com/docs#_) supports intuitive chaining + * [_.at](https://lodash.com/docs#at) for cherry-picking collection values + * [_.bindKey](https://lodash.com/docs#bindKey) for binding [*“lazy”*](http://michaux.ca/articles/lazy-function-definition-pattern) defined methods + * [_.clone](https://lodash.com/docs#clone) supports shallow cloning of `Date` & `RegExp` objects + * [_.cloneDeep](https://lodash.com/docs#cloneDeep) for deep cloning arrays & objects + * [_.constant](https://lodash.com/docs#constant) & [_.property](https://lodash.com/docs#property) function generators for composing functions + * [_.contains](https://lodash.com/docs#contains) accepts a `fromIndex` + * [_.create](https://lodash.com/docs#create) for easier object inheritance + * [_.createCallback](https://lodash.com/docs#createCallback) for extending callbacks in methods & mixins + * [_.curry](https://lodash.com/docs#curry) for creating [curried](http://hughfdjackson.com/javascript/2013/07/06/why-curry-helps/) functions + * [_.debounce](https://lodash.com/docs#debounce) & [_.throttle](https://lodash.com/docs#throttle) accept additional `options` for more control + * [_.findIndex](https://lodash.com/docs#findIndex) & [_.findKey](https://lodash.com/docs#findKey) for finding indexes & keys + * [_.forEach](https://lodash.com/docs#forEach) is chainable & supports exiting early + * [_.forIn](https://lodash.com/docs#forIn) for iterating own & inherited properties + * [_.forOwn](https://lodash.com/docs#forOwn) for iterating own properties + * [_.isPlainObject](https://lodash.com/docs#isPlainObject) for checking if values are created by `Object` + * [_.mapValues](https://lodash.com/docs#mapValues) for [mapping](https://lodash.com/docs#map) values to an object + * [_.memoize](https://lodash.com/docs#memoize) exposes the `cache` of memoized functions + * [_.merge](https://lodash.com/docs#merge) for a deep [_.extend](https://lodash.com/docs#extend) + * [_.noop](https://lodash.com/docs#noop) for function placeholders + * [_.now](https://lodash.com/docs#now) as a cross-browser `Date.now` alternative + * [_.parseInt](https://lodash.com/docs#parseInt) for consistent behavior + * [_.pull](https://lodash.com/docs#pull) & [_.remove](https://lodash.com/docs#remove) for mutating arrays + * [_.random](https://lodash.com/docs#random) supports returning floating-point numbers + * [_.runInContext](https://lodash.com/docs#runInContext) for easier mocking + * [_.sortBy](https://lodash.com/docs#sortBy) supports sorting by multiple properties + * [_.support](https://lodash.com/docs#support) for flagging environment features + * [_.template](https://lodash.com/docs#template) supports [*“imports”*](https://lodash.com/docs#templateSettings_imports) options & [ES6 template delimiters](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-literals-string-literals) + * [_.transform](https://lodash.com/docs#transform) as a powerful alternative to [_.reduce](https://lodash.com/docs#reduce) for transforming objects + * [_.where](https://lodash.com/docs#where) supports deep object comparisons + * [_.xor](https://lodash.com/docs#xor) as a companion to [_.difference](https://lodash.com/docs#difference), [_.intersection](https://lodash.com/docs#intersection), & [_.union](https://lodash.com/docs#union) + * [_.zip](https://lodash.com/docs#zip) is capable of unzipping values + * [_.omit](https://lodash.com/docs#omit), [_.pick](https://lodash.com/docs#pick), & + [more](https://lodash.com/docs "_.assign, _.clone, _.cloneDeep, _.first, _.initial, _.isEqual, _.last, _.merge, _.rest") accept callbacks + * [_.contains](https://lodash.com/docs#contains), [_.toArray](https://lodash.com/docs#toArray), & + [more](https://lodash.com/docs "_.at, _.countBy, _.every, _.filter, _.find, _.forEach, _.forEachRight, _.groupBy, _.invoke, _.map, _.max, _.min, _.pluck, _.reduce, _.reduceRight, _.reject, _.shuffle, _.size, _.some, _.sortBy, _.where") accept strings + * [_.filter](https://lodash.com/docs#filter), [_.map](https://lodash.com/docs#map), & + [more](https://lodash.com/docs "_.countBy, _.every, _.find, _.findKey, _.findLast, _.findLastIndex, _.findLastKey, _.first, _.groupBy, _.initial, _.last, _.max, _.min, _.reject, _.rest, _.some, _.sortBy, _.sortedIndex, _.uniq") support *“_.pluck”* & *“_.where”* shorthands + * [_.findLast](https://lodash.com/docs#findLast), [_.findLastIndex](https://lodash.com/docs#findLastIndex), & + [more](https://lodash.com/docs "_.findLastKey, _.forEachRight, _.forInRight, _.forOwnRight, _.partialRight") right-associative methods + +## Support + +Tested in Chrome 5~31, Firefox 2~25, IE 6-11, Opera 9.25-17, Safari 3-7, Node.js 0.6.21-0.10.22, Narwhal 0.3.2, PhantomJS 1.9.2, RingoJS 0.9, & Rhino 1.7RC5. diff --git a/test/fixtures/dependencies-modules-checked-in-with-devdependencies/node_modules/lodash/dist/lodash.compat.js b/test/fixtures/dependencies-modules-checked-in-with-devdependencies/node_modules/lodash/dist/lodash.compat.js new file mode 100644 index 000000000..4d35185f8 --- /dev/null +++ b/test/fixtures/dependencies-modules-checked-in-with-devdependencies/node_modules/lodash/dist/lodash.compat.js @@ -0,0 +1,7158 @@ +/** + * @license + * Lo-Dash 2.4.2 (Custom Build) + * Build: `lodash -o ./dist/lodash.compat.js` + * Copyright 2012-2013 The Dojo Foundation + * Based on Underscore.js 1.5.2 + * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors + * Available under MIT license + */ +;(function() { + + /** Used as a safe reference for `undefined` in pre ES5 environments */ + var undefined; + + /** Used to pool arrays and objects used internally */ + var arrayPool = [], + objectPool = []; + + /** Used to generate unique IDs */ + var idCounter = 0; + + /** Used internally to indicate various things */ + var indicatorObject = {}; + + /** Used to prefix keys to avoid issues with `__proto__` and properties on `Object.prototype` */ + var keyPrefix = +new Date + ''; + + /** Used as the size when optimizations are enabled for large arrays */ + var largeArraySize = 75; + + /** Used as the max size of the `arrayPool` and `objectPool` */ + var maxPoolSize = 40; + + /** Used to detect and test whitespace */ + var whitespace = ( + // whitespace + ' \t\x0B\f\xA0\ufeff' + + + // line terminators + '\n\r\u2028\u2029' + + + // unicode category "Zs" space separators + '\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000' + ); + + /** Used to match empty string literals in compiled template source */ + var reEmptyStringLeading = /\b__p \+= '';/g, + reEmptyStringMiddle = /\b(__p \+=) '' \+/g, + reEmptyStringTrailing = /(__e\(.*?\)|\b__t\)) \+\n'';/g; + + /** + * Used to match ES6 template delimiters + * http://people.mozilla.org/~jorendorff/es6-draft.html#sec-literals-string-literals + */ + var reEsTemplate = /\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g; + + /** Used to match regexp flags from their coerced string values */ + var reFlags = /\w*$/; + + /** Used to detected named functions */ + var reFuncName = /^\s*function[ \n\r\t]+\w/; + + /** Used to match "interpolate" template delimiters */ + var reInterpolate = /<%=([\s\S]+?)%>/g; + + /** Used to match leading whitespace and zeros to be removed */ + var reLeadingSpacesAndZeros = RegExp('^[' + whitespace + ']*0+(?=.$)'); + + /** Used to ensure capturing order of template delimiters */ + var reNoMatch = /($^)/; + + /** Used to detect functions containing a `this` reference */ + var reThis = /\bthis\b/; + + /** Used to match unescaped characters in compiled string literals */ + var reUnescapedString = /['\n\r\t\u2028\u2029\\]/g; + + /** Used to assign default `context` object properties */ + var contextProps = [ + 'Array', 'Boolean', 'Date', 'Error', 'Function', 'Math', 'Number', 'Object', + 'RegExp', 'String', '_', 'attachEvent', 'clearTimeout', 'isFinite', 'isNaN', + 'parseInt', 'setTimeout' + ]; + + /** Used to fix the JScript [[DontEnum]] bug */ + var shadowedProps = [ + 'constructor', 'hasOwnProperty', 'isPrototypeOf', 'propertyIsEnumerable', + 'toLocaleString', 'toString', 'valueOf' + ]; + + /** Used to make template sourceURLs easier to identify */ + var templateCounter = 0; + + /** `Object#toString` result shortcuts */ + var argsClass = '[object Arguments]', + arrayClass = '[object Array]', + boolClass = '[object Boolean]', + dateClass = '[object Date]', + errorClass = '[object Error]', + funcClass = '[object Function]', + numberClass = '[object Number]', + objectClass = '[object Object]', + regexpClass = '[object RegExp]', + stringClass = '[object String]'; + + /** Used to identify object classifications that `_.clone` supports */ + var cloneableClasses = {}; + cloneableClasses[funcClass] = false; + cloneableClasses[argsClass] = cloneableClasses[arrayClass] = + cloneableClasses[boolClass] = cloneableClasses[dateClass] = + cloneableClasses[numberClass] = cloneableClasses[objectClass] = + cloneableClasses[regexpClass] = cloneableClasses[stringClass] = true; + + /** Used as an internal `_.debounce` options object */ + var debounceOptions = { + 'leading': false, + 'maxWait': 0, + 'trailing': false + }; + + /** Used as the property descriptor for `__bindData__` */ + var descriptor = { + 'configurable': false, + 'enumerable': false, + 'value': null, + 'writable': false + }; + + /** Used as the data object for `iteratorTemplate` */ + var iteratorData = { + 'args': '', + 'array': null, + 'bottom': '', + 'firstArg': '', + 'init': '', + 'keys': null, + 'loop': '', + 'shadowedProps': null, + 'support': null, + 'top': '', + 'useHas': false + }; + + /** Used to determine if values are of the language type Object */ + var objectTypes = { + 'boolean': false, + 'function': true, + 'object': true, + 'number': false, + 'string': false, + 'undefined': false + }; + + /** Used to escape characters for inclusion in compiled string literals */ + var stringEscapes = { + '\\': '\\', + "'": "'", + '\n': 'n', + '\r': 'r', + '\t': 't', + '\u2028': 'u2028', + '\u2029': 'u2029' + }; + + /** Used as a reference to the global object */ + var root = (objectTypes[typeof window] && window) || this; + + /** Detect free variable `exports` */ + var freeExports = objectTypes[typeof exports] && exports && !exports.nodeType && exports; + + /** Detect free variable `module` */ + var freeModule = objectTypes[typeof module] && module && !module.nodeType && module; + + /** Detect the popular CommonJS extension `module.exports` */ + var moduleExports = freeModule && freeModule.exports === freeExports && freeExports; + + /** Detect free variable `global` from Node.js or Browserified code and use it as `root` */ + var freeGlobal = objectTypes[typeof global] && global; + if (freeGlobal && (freeGlobal.global === freeGlobal || freeGlobal.window === freeGlobal)) { + root = freeGlobal; + } + + /*--------------------------------------------------------------------------*/ + + /** + * The base implementation of `_.indexOf` without support for binary searches + * or `fromIndex` constraints. + * + * @private + * @param {Array} array The array to search. + * @param {*} value The value to search for. + * @param {number} [fromIndex=0] The index to search from. + * @returns {number} Returns the index of the matched value or `-1`. + */ + function baseIndexOf(array, value, fromIndex) { + var index = (fromIndex || 0) - 1, + length = array ? array.length : 0; + + while (++index < length) { + if (array[index] === value) { + return index; + } + } + return -1; + } + + /** + * An implementation of `_.contains` for cache objects that mimics the return + * signature of `_.indexOf` by returning `0` if the value is found, else `-1`. + * + * @private + * @param {Object} cache The cache object to inspect. + * @param {*} value The value to search for. + * @returns {number} Returns `0` if `value` is found, else `-1`. + */ + function cacheIndexOf(cache, value) { + var type = typeof value; + cache = cache.cache; + + if (type == 'boolean' || value == null) { + return cache[value] ? 0 : -1; + } + if (type != 'number' && type != 'string') { + type = 'object'; + } + var key = type == 'number' ? value : keyPrefix + value; + cache = (cache = cache[type]) && cache[key]; + + return type == 'object' + ? (cache && baseIndexOf(cache, value) > -1 ? 0 : -1) + : (cache ? 0 : -1); + } + + /** + * Adds a given value to the corresponding cache object. + * + * @private + * @param {*} value The value to add to the cache. + */ + function cachePush(value) { + var cache = this.cache, + type = typeof value; + + if (type == 'boolean' || value == null) { + cache[value] = true; + } else { + if (type != 'number' && type != 'string') { + type = 'object'; + } + var key = type == 'number' ? value : keyPrefix + value, + typeCache = cache[type] || (cache[type] = {}); + + if (type == 'object') { + (typeCache[key] || (typeCache[key] = [])).push(value); + } else { + typeCache[key] = true; + } + } + } + + /** + * Used by `_.max` and `_.min` as the default callback when a given + * collection is a string value. + * + * @private + * @param {string} value The character to inspect. + * @returns {number} Returns the code unit of given character. + */ + function charAtCallback(value) { + return value.charCodeAt(0); + } + + /** + * Used by `sortBy` to compare transformed `collection` elements, stable sorting + * them in ascending order. + * + * @private + * @param {Object} a The object to compare to `b`. + * @param {Object} b The object to compare to `a`. + * @returns {number} Returns the sort order indicator of `1` or `-1`. + */ + function compareAscending(a, b) { + var ac = a.criteria, + bc = b.criteria, + index = -1, + length = ac.length; + + while (++index < length) { + var value = ac[index], + other = bc[index]; + + if (value !== other) { + if (value > other || typeof value == 'undefined') { + return 1; + } + if (value < other || typeof other == 'undefined') { + return -1; + } + } + } + // Fixes an `Array#sort` bug in the JS engine embedded in Adobe applications + // that causes it, under certain circumstances, to return the same value for + // `a` and `b`. See https://github.com/jashkenas/underscore/pull/1247 + // + // This also ensures a stable sort in V8 and other engines. + // See http://code.google.com/p/v8/issues/detail?id=90 + return a.index - b.index; + } + + /** + * Creates a cache object to optimize linear searches of large arrays. + * + * @private + * @param {Array} [array=[]] The array to search. + * @returns {null|Object} Returns the cache object or `null` if caching should not be used. + */ + function createCache(array) { + var index = -1, + length = array.length, + first = array[0], + mid = array[(length / 2) | 0], + last = array[length - 1]; + + if (first && typeof first == 'object' && + mid && typeof mid == 'object' && last && typeof last == 'object') { + return false; + } + var cache = getObject(); + cache['false'] = cache['null'] = cache['true'] = cache['undefined'] = false; + + var result = getObject(); + result.array = array; + result.cache = cache; + result.push = cachePush; + + while (++index < length) { + result.push(array[index]); + } + return result; + } + + /** + * Used by `template` to escape characters for inclusion in compiled + * string literals. + * + * @private + * @param {string} match The matched character to escape. + * @returns {string} Returns the escaped character. + */ + function escapeStringChar(match) { + return '\\' + stringEscapes[match]; + } + + /** + * Gets an array from the array pool or creates a new one if the pool is empty. + * + * @private + * @returns {Array} The array from the pool. + */ + function getArray() { + return arrayPool.pop() || []; + } + + /** + * Gets an object from the object pool or creates a new one if the pool is empty. + * + * @private + * @returns {Object} The object from the pool. + */ + function getObject() { + return objectPool.pop() || { + 'array': null, + 'cache': null, + 'criteria': null, + 'false': false, + 'index': 0, + 'null': false, + 'number': null, + 'object': null, + 'push': null, + 'string': null, + 'true': false, + 'undefined': false, + 'value': null + }; + } + + /** + * Checks if `value` is a DOM node in IE < 9. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if the `value` is a DOM node, else `false`. + */ + function isNode(value) { + // IE < 9 presents DOM nodes as `Object` objects except they have `toString` + // methods that are `typeof` "string" and still can coerce nodes to strings + return typeof value.toString != 'function' && typeof (value + '') == 'string'; + } + + /** + * Releases the given array back to the array pool. + * + * @private + * @param {Array} [array] The array to release. + */ + function releaseArray(array) { + array.length = 0; + if (arrayPool.length < maxPoolSize) { + arrayPool.push(array); + } + } + + /** + * Releases the given object back to the object pool. + * + * @private + * @param {Object} [object] The object to release. + */ + function releaseObject(object) { + var cache = object.cache; + if (cache) { + releaseObject(cache); + } + object.array = object.cache = object.criteria = object.object = object.number = object.string = object.value = null; + if (objectPool.length < maxPoolSize) { + objectPool.push(object); + } + } + + /** + * Slices the `collection` from the `start` index up to, but not including, + * the `end` index. + * + * Note: This function is used instead of `Array#slice` to support node lists + * in IE < 9 and to ensure dense arrays are returned. + * + * @private + * @param {Array|Object|string} collection The collection to slice. + * @param {number} start The start index. + * @param {number} end The end index. + * @returns {Array} Returns the new array. + */ + function slice(array, start, end) { + start || (start = 0); + if (typeof end == 'undefined') { + end = array ? array.length : 0; + } + var index = -1, + length = end - start || 0, + result = Array(length < 0 ? 0 : length); + + while (++index < length) { + result[index] = array[start + index]; + } + return result; + } + + /*--------------------------------------------------------------------------*/ + + /** + * Create a new `lodash` function using the given context object. + * + * @static + * @memberOf _ + * @category Utilities + * @param {Object} [context=root] The context object. + * @returns {Function} Returns the `lodash` function. + */ + function runInContext(context) { + // Avoid issues with some ES3 environments that attempt to use values, named + // after built-in constructors like `Object`, for the creation of literals. + // ES5 clears this up by stating that literals must use built-in constructors. + // See http://es5.github.io/#x11.1.5. + context = context ? _.defaults(root.Object(), context, _.pick(root, contextProps)) : root; + + /** Native constructor references */ + var Array = context.Array, + Boolean = context.Boolean, + Date = context.Date, + Error = context.Error, + Function = context.Function, + Math = context.Math, + Number = context.Number, + Object = context.Object, + RegExp = context.RegExp, + String = context.String, + TypeError = context.TypeError; + + /** + * Used for `Array` method references. + * + * Normally `Array.prototype` would suffice, however, using an array literal + * avoids issues in Narwhal. + */ + var arrayRef = []; + + /** Used for native method references */ + var errorProto = Error.prototype, + objectProto = Object.prototype, + stringProto = String.prototype; + + /** Used to restore the original `_` reference in `noConflict` */ + var oldDash = context._; + + /** Used to resolve the internal [[Class]] of values */ + var toString = objectProto.toString; + + /** Used to detect if a method is native */ + var reNative = RegExp('^' + + String(toString) + .replace(/[.*+?^${}()|[\]\\]/g, '\\$&') + .replace(/toString| for [^\]]+/g, '.*?') + '$' + ); + + /** Native method shortcuts */ + var ceil = Math.ceil, + clearTimeout = context.clearTimeout, + floor = Math.floor, + fnToString = Function.prototype.toString, + getPrototypeOf = isNative(getPrototypeOf = Object.getPrototypeOf) && getPrototypeOf, + hasOwnProperty = objectProto.hasOwnProperty, + push = arrayRef.push, + propertyIsEnumerable = objectProto.propertyIsEnumerable, + setTimeout = context.setTimeout, + splice = arrayRef.splice, + unshift = arrayRef.unshift; + + /** Used to set meta data on functions */ + var defineProperty = (function() { + // IE 8 only accepts DOM elements + try { + var o = {}, + func = isNative(func = Object.defineProperty) && func, + result = func(o, o, o) && func; + } catch(e) { } + return result; + }()); + + /* Native method shortcuts for methods with the same name as other `lodash` methods */ + var nativeCreate = isNative(nativeCreate = Object.create) && nativeCreate, + nativeIsArray = isNative(nativeIsArray = Array.isArray) && nativeIsArray, + nativeIsFinite = context.isFinite, + nativeIsNaN = context.isNaN, + nativeKeys = isNative(nativeKeys = Object.keys) && nativeKeys, + nativeMax = Math.max, + nativeMin = Math.min, + nativeParseInt = context.parseInt, + nativeRandom = Math.random; + + /** Used to lookup a built-in constructor by [[Class]] */ + var ctorByClass = {}; + ctorByClass[arrayClass] = Array; + ctorByClass[boolClass] = Boolean; + ctorByClass[dateClass] = Date; + ctorByClass[funcClass] = Function; + ctorByClass[objectClass] = Object; + ctorByClass[numberClass] = Number; + ctorByClass[regexpClass] = RegExp; + ctorByClass[stringClass] = String; + + /** Used to avoid iterating non-enumerable properties in IE < 9 */ + var nonEnumProps = {}; + nonEnumProps[arrayClass] = nonEnumProps[dateClass] = nonEnumProps[numberClass] = { 'constructor': true, 'toLocaleString': true, 'toString': true, 'valueOf': true }; + nonEnumProps[boolClass] = nonEnumProps[stringClass] = { 'constructor': true, 'toString': true, 'valueOf': true }; + nonEnumProps[errorClass] = nonEnumProps[funcClass] = nonEnumProps[regexpClass] = { 'constructor': true, 'toString': true }; + nonEnumProps[objectClass] = { 'constructor': true }; + + (function() { + var length = shadowedProps.length; + while (length--) { + var key = shadowedProps[length]; + for (var className in nonEnumProps) { + if (hasOwnProperty.call(nonEnumProps, className) && !hasOwnProperty.call(nonEnumProps[className], key)) { + nonEnumProps[className][key] = false; + } + } + } + }()); + + /*--------------------------------------------------------------------------*/ + + /** + * Creates a `lodash` object which wraps the given value to enable intuitive + * method chaining. + * + * In addition to Lo-Dash methods, wrappers also have the following `Array` methods: + * `concat`, `join`, `pop`, `push`, `reverse`, `shift`, `slice`, `sort`, `splice`, + * and `unshift` + * + * Chaining is supported in custom builds as long as the `value` method is + * implicitly or explicitly included in the build. + * + * The chainable wrapper functions are: + * `after`, `assign`, `bind`, `bindAll`, `bindKey`, `chain`, `compact`, + * `compose`, `concat`, `countBy`, `create`, `createCallback`, `curry`, + * `debounce`, `defaults`, `defer`, `delay`, `difference`, `filter`, `flatten`, + * `forEach`, `forEachRight`, `forIn`, `forInRight`, `forOwn`, `forOwnRight`, + * `functions`, `groupBy`, `indexBy`, `initial`, `intersection`, `invert`, + * `invoke`, `keys`, `map`, `max`, `memoize`, `merge`, `min`, `object`, `omit`, + * `once`, `pairs`, `partial`, `partialRight`, `pick`, `pluck`, `pull`, `push`, + * `range`, `reject`, `remove`, `rest`, `reverse`, `shuffle`, `slice`, `sort`, + * `sortBy`, `splice`, `tap`, `throttle`, `times`, `toArray`, `transform`, + * `union`, `uniq`, `unshift`, `unzip`, `values`, `where`, `without`, `wrap`, + * and `zip` + * + * The non-chainable wrapper functions are: + * `clone`, `cloneDeep`, `contains`, `escape`, `every`, `find`, `findIndex`, + * `findKey`, `findLast`, `findLastIndex`, `findLastKey`, `has`, `identity`, + * `indexOf`, `isArguments`, `isArray`, `isBoolean`, `isDate`, `isElement`, + * `isEmpty`, `isEqual`, `isFinite`, `isFunction`, `isNaN`, `isNull`, `isNumber`, + * `isObject`, `isPlainObject`, `isRegExp`, `isString`, `isUndefined`, `join`, + * `lastIndexOf`, `mixin`, `noConflict`, `parseInt`, `pop`, `random`, `reduce`, + * `reduceRight`, `result`, `shift`, `size`, `some`, `sortedIndex`, `runInContext`, + * `template`, `unescape`, `uniqueId`, and `value` + * + * The wrapper functions `first` and `last` return wrapped values when `n` is + * provided, otherwise they return unwrapped values. + * + * Explicit chaining can be enabled by using the `_.chain` method. + * + * @name _ + * @constructor + * @category Chaining + * @param {*} value The value to wrap in a `lodash` instance. + * @returns {Object} Returns a `lodash` instance. + * @example + * + * var wrapped = _([1, 2, 3]); + * + * // returns an unwrapped value + * wrapped.reduce(function(sum, num) { + * return sum + num; + * }); + * // => 6 + * + * // returns a wrapped value + * var squares = wrapped.map(function(num) { + * return num * num; + * }); + * + * _.isArray(squares); + * // => false + * + * _.isArray(squares.value()); + * // => true + */ + function lodash(value) { + // don't wrap if already wrapped, even if wrapped by a different `lodash` constructor + return (value && typeof value == 'object' && !isArray(value) && hasOwnProperty.call(value, '__wrapped__')) + ? value + : new lodashWrapper(value); + } + + /** + * A fast path for creating `lodash` wrapper objects. + * + * @private + * @param {*} value The value to wrap in a `lodash` instance. + * @param {boolean} chainAll A flag to enable chaining for all methods + * @returns {Object} Returns a `lodash` instance. + */ + function lodashWrapper(value, chainAll) { + this.__chain__ = !!chainAll; + this.__wrapped__ = value; + } + // ensure `new lodashWrapper` is an instance of `lodash` + lodashWrapper.prototype = lodash.prototype; + + /** + * An object used to flag environments features. + * + * @static + * @memberOf _ + * @type Object + */ + var support = lodash.support = {}; + + (function() { + var ctor = function() { this.x = 1; }, + object = { '0': 1, 'length': 1 }, + props = []; + + ctor.prototype = { 'valueOf': 1, 'y': 1 }; + for (var key in new ctor) { props.push(key); } + for (key in arguments) { } + + /** + * Detect if an `arguments` object's [[Class]] is resolvable (all but Firefox < 4, IE < 9). + * + * @memberOf _.support + * @type boolean + */ + support.argsClass = toString.call(arguments) == argsClass; + + /** + * Detect if `arguments` objects are `Object` objects (all but Narwhal and Opera < 10.5). + * + * @memberOf _.support + * @type boolean + */ + support.argsObject = arguments.constructor == Object && !(arguments instanceof Array); + + /** + * Detect if `name` or `message` properties of `Error.prototype` are + * enumerable by default. (IE < 9, Safari < 5.1) + * + * @memberOf _.support + * @type boolean + */ + support.enumErrorProps = propertyIsEnumerable.call(errorProto, 'message') || propertyIsEnumerable.call(errorProto, 'name'); + + /** + * Detect if `prototype` properties are enumerable by default. + * + * Firefox < 3.6, Opera > 9.50 - Opera < 11.60, and Safari < 5.1 + * (if the prototype or a property on the prototype has been set) + * incorrectly sets a function's `prototype` property [[Enumerable]] + * value to `true`. + * + * @memberOf _.support + * @type boolean + */ + support.enumPrototypes = propertyIsEnumerable.call(ctor, 'prototype'); + + /** + * Detect if functions can be decompiled by `Function#toString` + * (all but PS3 and older Opera mobile browsers & avoided in Windows 8 apps). + * + * @memberOf _.support + * @type boolean + */ + support.funcDecomp = !isNative(context.WinRTError) && reThis.test(runInContext); + + /** + * Detect if `Function#name` is supported (all but IE). + * + * @memberOf _.support + * @type boolean + */ + support.funcNames = typeof Function.name == 'string'; + + /** + * Detect if `arguments` object indexes are non-enumerable + * (Firefox < 4, IE < 9, PhantomJS, Safari < 5.1). + * + * @memberOf _.support + * @type boolean + */ + support.nonEnumArgs = key != 0; + + /** + * Detect if properties shadowing those on `Object.prototype` are non-enumerable. + * + * In IE < 9 an objects own properties, shadowing non-enumerable ones, are + * made non-enumerable as well (a.k.a the JScript [[DontEnum]] bug). + * + * @memberOf _.support + * @type boolean + */ + support.nonEnumShadows = !/valueOf/.test(props); + + /** + * Detect if own properties are iterated after inherited properties (all but IE < 9). + * + * @memberOf _.support + * @type boolean + */ + support.ownLast = props[0] != 'x'; + + /** + * Detect if `Array#shift` and `Array#splice` augment array-like objects correctly. + * + * Firefox < 10, IE compatibility mode, and IE < 9 have buggy Array `shift()` + * and `splice()` functions that fail to remove the last element, `value[0]`, + * of array-like objects even though the `length` property is set to `0`. + * The `shift()` method is buggy in IE 8 compatibility mode, while `splice()` + * is buggy regardless of mode in IE < 9 and buggy in compatibility mode in IE 9. + * + * @memberOf _.support + * @type boolean + */ + support.spliceObjects = (arrayRef.splice.call(object, 0, 1), !object[0]); + + /** + * Detect lack of support for accessing string characters by index. + * + * IE < 8 can't access characters by index and IE 8 can only access + * characters by index on string literals. + * + * @memberOf _.support + * @type boolean + */ + support.unindexedChars = ('x'[0] + Object('x')[0]) != 'xx'; + + /** + * Detect if a DOM node's [[Class]] is resolvable (all but IE < 9) + * and that the JS engine errors when attempting to coerce an object to + * a string without a `toString` function. + * + * @memberOf _.support + * @type boolean + */ + try { + support.nodeClass = !(toString.call(document) == objectClass && !({ 'toString': 0 } + '')); + } catch(e) { + support.nodeClass = true; + } + }(1)); + + /** + * By default, the template delimiters used by Lo-Dash are similar to those in + * embedded Ruby (ERB). Change the following template settings to use alternative + * delimiters. + * + * @static + * @memberOf _ + * @type Object + */ + lodash.templateSettings = { + + /** + * Used to detect `data` property values to be HTML-escaped. + * + * @memberOf _.templateSettings + * @type RegExp + */ + 'escape': /<%-([\s\S]+?)%>/g, + + /** + * Used to detect code to be evaluated. + * + * @memberOf _.templateSettings + * @type RegExp + */ + 'evaluate': /<%([\s\S]+?)%>/g, + + /** + * Used to detect `data` property values to inject. + * + * @memberOf _.templateSettings + * @type RegExp + */ + 'interpolate': reInterpolate, + + /** + * Used to reference the data object in the template text. + * + * @memberOf _.templateSettings + * @type string + */ + 'variable': '', + + /** + * Used to import variables into the compiled template. + * + * @memberOf _.templateSettings + * @type Object + */ + 'imports': { + + /** + * A reference to the `lodash` function. + * + * @memberOf _.templateSettings.imports + * @type Function + */ + '_': lodash + } + }; + + /*--------------------------------------------------------------------------*/ + + /** + * The template used to create iterator functions. + * + * @private + * @param {Object} data The data object used to populate the text. + * @returns {string} Returns the interpolated text. + */ + var iteratorTemplate = function(obj) { + + var __p = 'var index, iterable = ' + + (obj.firstArg) + + ', result = ' + + (obj.init) + + ';\nif (!iterable) return result;\n' + + (obj.top) + + ';'; + if (obj.array) { + __p += '\nvar length = iterable.length; index = -1;\nif (' + + (obj.array) + + ') { '; + if (support.unindexedChars) { + __p += '\n if (isString(iterable)) {\n iterable = iterable.split(\'\')\n } '; + } + __p += '\n while (++index < length) {\n ' + + (obj.loop) + + ';\n }\n}\nelse { '; + } else if (support.nonEnumArgs) { + __p += '\n var length = iterable.length; index = -1;\n if (length && isArguments(iterable)) {\n while (++index < length) {\n index += \'\';\n ' + + (obj.loop) + + ';\n }\n } else { '; + } + + if (support.enumPrototypes) { + __p += '\n var skipProto = typeof iterable == \'function\';\n '; + } + + if (support.enumErrorProps) { + __p += '\n var skipErrorProps = iterable === errorProto || iterable instanceof Error;\n '; + } + + var conditions = []; if (support.enumPrototypes) { conditions.push('!(skipProto && index == "prototype")'); } if (support.enumErrorProps) { conditions.push('!(skipErrorProps && (index == "message" || index == "name"))'); } + + if (obj.useHas && obj.keys) { + __p += '\n var ownIndex = -1,\n ownProps = objectTypes[typeof iterable] && keys(iterable),\n length = ownProps ? ownProps.length : 0;\n\n while (++ownIndex < length) {\n index = ownProps[ownIndex];\n'; + if (conditions.length) { + __p += ' if (' + + (conditions.join(' && ')) + + ') {\n '; + } + __p += + (obj.loop) + + '; '; + if (conditions.length) { + __p += '\n }'; + } + __p += '\n } '; + } else { + __p += '\n for (index in iterable) {\n'; + if (obj.useHas) { conditions.push("hasOwnProperty.call(iterable, index)"); } if (conditions.length) { + __p += ' if (' + + (conditions.join(' && ')) + + ') {\n '; + } + __p += + (obj.loop) + + '; '; + if (conditions.length) { + __p += '\n }'; + } + __p += '\n } '; + if (support.nonEnumShadows) { + __p += '\n\n if (iterable !== objectProto) {\n var ctor = iterable.constructor,\n isProto = iterable === (ctor && ctor.prototype),\n className = iterable === stringProto ? stringClass : iterable === errorProto ? errorClass : toString.call(iterable),\n nonEnum = nonEnumProps[className];\n '; + for (k = 0; k < 7; k++) { + __p += '\n index = \'' + + (obj.shadowedProps[k]) + + '\';\n if ((!(isProto && nonEnum[index]) && hasOwnProperty.call(iterable, index))'; + if (!obj.useHas) { + __p += ' || (!nonEnum[index] && iterable[index] !== objectProto[index])'; + } + __p += ') {\n ' + + (obj.loop) + + ';\n } '; + } + __p += '\n } '; + } + + } + + if (obj.array || support.nonEnumArgs) { + __p += '\n}'; + } + __p += + (obj.bottom) + + ';\nreturn result'; + + return __p + }; + + /*--------------------------------------------------------------------------*/ + + /** + * The base implementation of `_.bind` that creates the bound function and + * sets its meta data. + * + * @private + * @param {Array} bindData The bind data array. + * @returns {Function} Returns the new bound function. + */ + function baseBind(bindData) { + var func = bindData[0], + partialArgs = bindData[2], + thisArg = bindData[4]; + + function bound() { + // `Function#bind` spec + // http://es5.github.io/#x15.3.4.5 + if (partialArgs) { + // avoid `arguments` object deoptimizations by using `slice` instead + // of `Array.prototype.slice.call` and not assigning `arguments` to a + // variable as a ternary expression + var args = slice(partialArgs); + push.apply(args, arguments); + } + // mimic the constructor's `return` behavior + // http://es5.github.io/#x13.2.2 + if (this instanceof bound) { + // ensure `new bound` is an instance of `func` + var thisBinding = baseCreate(func.prototype), + result = func.apply(thisBinding, args || arguments); + return isObject(result) ? result : thisBinding; + } + return func.apply(thisArg, args || arguments); + } + setBindData(bound, bindData); + return bound; + } + + /** + * The base implementation of `_.clone` without argument juggling or support + * for `thisArg` binding. + * + * @private + * @param {*} value The value to clone. + * @param {boolean} [isDeep=false] Specify a deep clone. + * @param {Function} [callback] The function to customize cloning values. + * @param {Array} [stackA=[]] Tracks traversed source objects. + * @param {Array} [stackB=[]] Associates clones with source counterparts. + * @returns {*} Returns the cloned value. + */ + function baseClone(value, isDeep, callback, stackA, stackB) { + if (callback) { + var result = callback(value); + if (typeof result != 'undefined') { + return result; + } + } + // inspect [[Class]] + var isObj = isObject(value); + if (isObj) { + var className = toString.call(value); + if (!cloneableClasses[className] || (!support.nodeClass && isNode(value))) { + return value; + } + var ctor = ctorByClass[className]; + switch (className) { + case boolClass: + case dateClass: + return new ctor(+value); + + case numberClass: + case stringClass: + return new ctor(value); + + case regexpClass: + result = ctor(value.source, reFlags.exec(value)); + result.lastIndex = value.lastIndex; + return result; + } + } else { + return value; + } + var isArr = isArray(value); + if (isDeep) { + // check for circular references and return corresponding clone + var initedStack = !stackA; + stackA || (stackA = getArray()); + stackB || (stackB = getArray()); + + var length = stackA.length; + while (length--) { + if (stackA[length] == value) { + return stackB[length]; + } + } + result = isArr ? ctor(value.length) : {}; + } + else { + result = isArr ? slice(value) : assign({}, value); + } + // add array properties assigned by `RegExp#exec` + if (isArr) { + if (hasOwnProperty.call(value, 'index')) { + result.index = value.index; + } + if (hasOwnProperty.call(value, 'input')) { + result.input = value.input; + } + } + // exit for shallow clone + if (!isDeep) { + return result; + } + // add the source value to the stack of traversed objects + // and associate it with its clone + stackA.push(value); + stackB.push(result); + + // recursively populate clone (susceptible to call stack limits) + (isArr ? baseEach : forOwn)(value, function(objValue, key) { + result[key] = baseClone(objValue, isDeep, callback, stackA, stackB); + }); + + if (initedStack) { + releaseArray(stackA); + releaseArray(stackB); + } + return result; + } + + /** + * The base implementation of `_.create` without support for assigning + * properties to the created object. + * + * @private + * @param {Object} prototype The object to inherit from. + * @returns {Object} Returns the new object. + */ + function baseCreate(prototype, properties) { + return isObject(prototype) ? nativeCreate(prototype) : {}; + } + // fallback for browsers without `Object.create` + if (!nativeCreate) { + baseCreate = (function() { + function Object() {} + return function(prototype) { + if (isObject(prototype)) { + Object.prototype = prototype; + var result = new Object; + Object.prototype = null; + } + return result || context.Object(); + }; + }()); + } + + /** + * The base implementation of `_.createCallback` without support for creating + * "_.pluck" or "_.where" style callbacks. + * + * @private + * @param {*} [func=identity] The value to convert to a callback. + * @param {*} [thisArg] The `this` binding of the created callback. + * @param {number} [argCount] The number of arguments the callback accepts. + * @returns {Function} Returns a callback function. + */ + function baseCreateCallback(func, thisArg, argCount) { + if (typeof func != 'function') { + return identity; + } + // exit early for no `thisArg` or already bound by `Function#bind` + if (typeof thisArg == 'undefined' || !('prototype' in func)) { + return func; + } + var bindData = func.__bindData__; + if (typeof bindData == 'undefined') { + if (support.funcNames) { + bindData = !func.name; + } + bindData = bindData || !support.funcDecomp; + if (!bindData) { + var source = fnToString.call(func); + if (!support.funcNames) { + bindData = !reFuncName.test(source); + } + if (!bindData) { + // checks if `func` references the `this` keyword and stores the result + bindData = reThis.test(source); + setBindData(func, bindData); + } + } + } + // exit early if there are no `this` references or `func` is bound + if (bindData === false || (bindData !== true && bindData[1] & 1)) { + return func; + } + switch (argCount) { + case 1: return function(value) { + return func.call(thisArg, value); + }; + case 2: return function(a, b) { + return func.call(thisArg, a, b); + }; + case 3: return function(value, index, collection) { + return func.call(thisArg, value, index, collection); + }; + case 4: return function(accumulator, value, index, collection) { + return func.call(thisArg, accumulator, value, index, collection); + }; + } + return bind(func, thisArg); + } + + /** + * The base implementation of `createWrapper` that creates the wrapper and + * sets its meta data. + * + * @private + * @param {Array} bindData The bind data array. + * @returns {Function} Returns the new function. + */ + function baseCreateWrapper(bindData) { + var func = bindData[0], + bitmask = bindData[1], + partialArgs = bindData[2], + partialRightArgs = bindData[3], + thisArg = bindData[4], + arity = bindData[5]; + + var isBind = bitmask & 1, + isBindKey = bitmask & 2, + isCurry = bitmask & 4, + isCurryBound = bitmask & 8, + key = func; + + function bound() { + var thisBinding = isBind ? thisArg : this; + if (partialArgs) { + var args = slice(partialArgs); + push.apply(args, arguments); + } + if (partialRightArgs || isCurry) { + args || (args = slice(arguments)); + if (partialRightArgs) { + push.apply(args, partialRightArgs); + } + if (isCurry && args.length < arity) { + bitmask |= 16 & ~32; + return baseCreateWrapper([func, (isCurryBound ? bitmask : bitmask & ~3), args, null, thisArg, arity]); + } + } + args || (args = arguments); + if (isBindKey) { + func = thisBinding[key]; + } + if (this instanceof bound) { + thisBinding = baseCreate(func.prototype); + var result = func.apply(thisBinding, args); + return isObject(result) ? result : thisBinding; + } + return func.apply(thisBinding, args); + } + setBindData(bound, bindData); + return bound; + } + + /** + * The base implementation of `_.difference` that accepts a single array + * of values to exclude. + * + * @private + * @param {Array} array The array to process. + * @param {Array} [values] The array of values to exclude. + * @returns {Array} Returns a new array of filtered values. + */ + function baseDifference(array, values) { + var index = -1, + indexOf = getIndexOf(), + length = array ? array.length : 0, + isLarge = length >= largeArraySize && indexOf === baseIndexOf, + result = []; + + if (isLarge) { + var cache = createCache(values); + if (cache) { + indexOf = cacheIndexOf; + values = cache; + } else { + isLarge = false; + } + } + while (++index < length) { + var value = array[index]; + if (indexOf(values, value) < 0) { + result.push(value); + } + } + if (isLarge) { + releaseObject(values); + } + return result; + } + + /** + * The base implementation of `_.flatten` without support for callback + * shorthands or `thisArg` binding. + * + * @private + * @param {Array} array The array to flatten. + * @param {boolean} [isShallow=false] A flag to restrict flattening to a single level. + * @param {boolean} [isStrict=false] A flag to restrict flattening to arrays and `arguments` objects. + * @param {number} [fromIndex=0] The index to start from. + * @returns {Array} Returns a new flattened array. + */ + function baseFlatten(array, isShallow, isStrict, fromIndex) { + var index = (fromIndex || 0) - 1, + length = array ? array.length : 0, + result = []; + + while (++index < length) { + var value = array[index]; + + if (value && typeof value == 'object' && typeof value.length == 'number' + && (isArray(value) || isArguments(value))) { + // recursively flatten arrays (susceptible to call stack limits) + if (!isShallow) { + value = baseFlatten(value, isShallow, isStrict); + } + var valIndex = -1, + valLength = value.length, + resIndex = result.length; + + result.length += valLength; + while (++valIndex < valLength) { + result[resIndex++] = value[valIndex]; + } + } else if (!isStrict) { + result.push(value); + } + } + return result; + } + + /** + * The base implementation of `_.isEqual`, without support for `thisArg` binding, + * that allows partial "_.where" style comparisons. + * + * @private + * @param {*} a The value to compare. + * @param {*} b The other value to compare. + * @param {Function} [callback] The function to customize comparing values. + * @param {Function} [isWhere=false] A flag to indicate performing partial comparisons. + * @param {Array} [stackA=[]] Tracks traversed `a` objects. + * @param {Array} [stackB=[]] Tracks traversed `b` objects. + * @returns {boolean} Returns `true` if the values are equivalent, else `false`. + */ + function baseIsEqual(a, b, callback, isWhere, stackA, stackB) { + // used to indicate that when comparing objects, `a` has at least the properties of `b` + if (callback) { + var result = callback(a, b); + if (typeof result != 'undefined') { + return !!result; + } + } + // exit early for identical values + if (a === b) { + // treat `+0` vs. `-0` as not equal + return a !== 0 || (1 / a == 1 / b); + } + var type = typeof a, + otherType = typeof b; + + // exit early for unlike primitive values + if (a === a && + !(a && objectTypes[type]) && + !(b && objectTypes[otherType])) { + return false; + } + // exit early for `null` and `undefined` avoiding ES3's Function#call behavior + // http://es5.github.io/#x15.3.4.4 + if (a == null || b == null) { + return a === b; + } + // compare [[Class]] names + var className = toString.call(a), + otherClass = toString.call(b); + + if (className == argsClass) { + className = objectClass; + } + if (otherClass == argsClass) { + otherClass = objectClass; + } + if (className != otherClass) { + return false; + } + switch (className) { + case boolClass: + case dateClass: + // coerce dates and booleans to numbers, dates to milliseconds and booleans + // to `1` or `0` treating invalid dates coerced to `NaN` as not equal + return +a == +b; + + case numberClass: + // treat `NaN` vs. `NaN` as equal + return (a != +a) + ? b != +b + // but treat `+0` vs. `-0` as not equal + : (a == 0 ? (1 / a == 1 / b) : a == +b); + + case regexpClass: + case stringClass: + // coerce regexes to strings (http://es5.github.io/#x15.10.6.4) + // treat string primitives and their corresponding object instances as equal + return a == String(b); + } + var isArr = className == arrayClass; + if (!isArr) { + // unwrap any `lodash` wrapped values + var aWrapped = hasOwnProperty.call(a, '__wrapped__'), + bWrapped = hasOwnProperty.call(b, '__wrapped__'); + + if (aWrapped || bWrapped) { + return baseIsEqual(aWrapped ? a.__wrapped__ : a, bWrapped ? b.__wrapped__ : b, callback, isWhere, stackA, stackB); + } + // exit for functions and DOM nodes + if (className != objectClass || (!support.nodeClass && (isNode(a) || isNode(b)))) { + return false; + } + // in older versions of Opera, `arguments` objects have `Array` constructors + var ctorA = !support.argsObject && isArguments(a) ? Object : a.constructor, + ctorB = !support.argsObject && isArguments(b) ? Object : b.constructor; + + // non `Object` object instances with different constructors are not equal + if (ctorA != ctorB && + !(isFunction(ctorA) && ctorA instanceof ctorA && isFunction(ctorB) && ctorB instanceof ctorB) && + ('constructor' in a && 'constructor' in b) + ) { + return false; + } + } + // assume cyclic structures are equal + // the algorithm for detecting cyclic structures is adapted from ES 5.1 + // section 15.12.3, abstract operation `JO` (http://es5.github.io/#x15.12.3) + var initedStack = !stackA; + stackA || (stackA = getArray()); + stackB || (stackB = getArray()); + + var length = stackA.length; + while (length--) { + if (stackA[length] == a) { + return stackB[length] == b; + } + } + var size = 0; + result = true; + + // add `a` and `b` to the stack of traversed objects + stackA.push(a); + stackB.push(b); + + // recursively compare objects and arrays (susceptible to call stack limits) + if (isArr) { + // compare lengths to determine if a deep comparison is necessary + length = a.length; + size = b.length; + result = size == length; + + if (result || isWhere) { + // deep compare the contents, ignoring non-numeric properties + while (size--) { + var index = length, + value = b[size]; + + if (isWhere) { + while (index--) { + if ((result = baseIsEqual(a[index], value, callback, isWhere, stackA, stackB))) { + break; + } + } + } else if (!(result = baseIsEqual(a[size], value, callback, isWhere, stackA, stackB))) { + break; + } + } + } + } + else { + // deep compare objects using `forIn`, instead of `forOwn`, to avoid `Object.keys` + // which, in this case, is more costly + forIn(b, function(value, key, b) { + if (hasOwnProperty.call(b, key)) { + // count the number of properties. + size++; + // deep compare each property value. + return (result = hasOwnProperty.call(a, key) && baseIsEqual(a[key], value, callback, isWhere, stackA, stackB)); + } + }); + + if (result && !isWhere) { + // ensure both objects have the same number of properties + forIn(a, function(value, key, a) { + if (hasOwnProperty.call(a, key)) { + // `size` will be `-1` if `a` has more properties than `b` + return (result = --size > -1); + } + }); + } + } + stackA.pop(); + stackB.pop(); + + if (initedStack) { + releaseArray(stackA); + releaseArray(stackB); + } + return result; + } + + /** + * The base implementation of `_.merge` without argument juggling or support + * for `thisArg` binding. + * + * @private + * @param {Object} object The destination object. + * @param {Object} source The source object. + * @param {Function} [callback] The function to customize merging properties. + * @param {Array} [stackA=[]] Tracks traversed source objects. + * @param {Array} [stackB=[]] Associates values with source counterparts. + */ + function baseMerge(object, source, callback, stackA, stackB) { + (isArray(source) ? forEach : forOwn)(source, function(source, key) { + var found, + isArr, + result = source, + value = object[key]; + + if (source && ((isArr = isArray(source)) || isPlainObject(source))) { + // avoid merging previously merged cyclic sources + var stackLength = stackA.length; + while (stackLength--) { + if ((found = stackA[stackLength] == source)) { + value = stackB[stackLength]; + break; + } + } + if (!found) { + var isShallow; + if (callback) { + result = callback(value, source); + if ((isShallow = typeof result != 'undefined')) { + value = result; + } + } + if (!isShallow) { + value = isArr + ? (isArray(value) ? value : []) + : (isPlainObject(value) ? value : {}); + } + // add `source` and associated `value` to the stack of traversed objects + stackA.push(source); + stackB.push(value); + + // recursively merge objects and arrays (susceptible to call stack limits) + if (!isShallow) { + baseMerge(value, source, callback, stackA, stackB); + } + } + } + else { + if (callback) { + result = callback(value, source); + if (typeof result == 'undefined') { + result = source; + } + } + if (typeof result != 'undefined') { + value = result; + } + } + object[key] = value; + }); + } + + /** + * The base implementation of `_.random` without argument juggling or support + * for returning floating-point numbers. + * + * @private + * @param {number} min The minimum possible value. + * @param {number} max The maximum possible value. + * @returns {number} Returns a random number. + */ + function baseRandom(min, max) { + return min + floor(nativeRandom() * (max - min + 1)); + } + + /** + * The base implementation of `_.uniq` without support for callback shorthands + * or `thisArg` binding. + * + * @private + * @param {Array} array The array to process. + * @param {boolean} [isSorted=false] A flag to indicate that `array` is sorted. + * @param {Function} [callback] The function called per iteration. + * @returns {Array} Returns a duplicate-value-free array. + */ + function baseUniq(array, isSorted, callback) { + var index = -1, + indexOf = getIndexOf(), + length = array ? array.length : 0, + result = []; + + var isLarge = !isSorted && length >= largeArraySize && indexOf === baseIndexOf, + seen = (callback || isLarge) ? getArray() : result; + + if (isLarge) { + var cache = createCache(seen); + indexOf = cacheIndexOf; + seen = cache; + } + while (++index < length) { + var value = array[index], + computed = callback ? callback(value, index, array) : value; + + if (isSorted + ? !index || seen[seen.length - 1] !== computed + : indexOf(seen, computed) < 0 + ) { + if (callback || isLarge) { + seen.push(computed); + } + result.push(value); + } + } + if (isLarge) { + releaseArray(seen.array); + releaseObject(seen); + } else if (callback) { + releaseArray(seen); + } + return result; + } + + /** + * Creates a function that aggregates a collection, creating an object composed + * of keys generated from the results of running each element of the collection + * through a callback. The given `setter` function sets the keys and values + * of the composed object. + * + * @private + * @param {Function} setter The setter function. + * @returns {Function} Returns the new aggregator function. + */ + function createAggregator(setter) { + return function(collection, callback, thisArg) { + var result = {}; + callback = lodash.createCallback(callback, thisArg, 3); + + if (isArray(collection)) { + var index = -1, + length = collection.length; + + while (++index < length) { + var value = collection[index]; + setter(result, value, callback(value, index, collection), collection); + } + } else { + baseEach(collection, function(value, key, collection) { + setter(result, value, callback(value, key, collection), collection); + }); + } + return result; + }; + } + + /** + * Creates a function that, when called, either curries or invokes `func` + * with an optional `this` binding and partially applied arguments. + * + * @private + * @param {Function|string} func The function or method name to reference. + * @param {number} bitmask The bitmask of method flags to compose. + * The bitmask may be composed of the following flags: + * 1 - `_.bind` + * 2 - `_.bindKey` + * 4 - `_.curry` + * 8 - `_.curry` (bound) + * 16 - `_.partial` + * 32 - `_.partialRight` + * @param {Array} [partialArgs] An array of arguments to prepend to those + * provided to the new function. + * @param {Array} [partialRightArgs] An array of arguments to append to those + * provided to the new function. + * @param {*} [thisArg] The `this` binding of `func`. + * @param {number} [arity] The arity of `func`. + * @returns {Function} Returns the new function. + */ + function createWrapper(func, bitmask, partialArgs, partialRightArgs, thisArg, arity) { + var isBind = bitmask & 1, + isBindKey = bitmask & 2, + isCurry = bitmask & 4, + isCurryBound = bitmask & 8, + isPartial = bitmask & 16, + isPartialRight = bitmask & 32; + + if (!isBindKey && !isFunction(func)) { + throw new TypeError; + } + if (isPartial && !partialArgs.length) { + bitmask &= ~16; + isPartial = partialArgs = false; + } + if (isPartialRight && !partialRightArgs.length) { + bitmask &= ~32; + isPartialRight = partialRightArgs = false; + } + var bindData = func && func.__bindData__; + if (bindData && bindData !== true) { + // clone `bindData` + bindData = slice(bindData); + if (bindData[2]) { + bindData[2] = slice(bindData[2]); + } + if (bindData[3]) { + bindData[3] = slice(bindData[3]); + } + // set `thisBinding` is not previously bound + if (isBind && !(bindData[1] & 1)) { + bindData[4] = thisArg; + } + // set if previously bound but not currently (subsequent curried functions) + if (!isBind && bindData[1] & 1) { + bitmask |= 8; + } + // set curried arity if not yet set + if (isCurry && !(bindData[1] & 4)) { + bindData[5] = arity; + } + // append partial left arguments + if (isPartial) { + push.apply(bindData[2] || (bindData[2] = []), partialArgs); + } + // append partial right arguments + if (isPartialRight) { + unshift.apply(bindData[3] || (bindData[3] = []), partialRightArgs); + } + // merge flags + bindData[1] |= bitmask; + return createWrapper.apply(null, bindData); + } + // fast path for `_.bind` + var creater = (bitmask == 1 || bitmask === 17) ? baseBind : baseCreateWrapper; + return creater([func, bitmask, partialArgs, partialRightArgs, thisArg, arity]); + } + + /** + * Creates compiled iteration functions. + * + * @private + * @param {...Object} [options] The compile options object(s). + * @param {string} [options.array] Code to determine if the iterable is an array or array-like. + * @param {boolean} [options.useHas] Specify using `hasOwnProperty` checks in the object loop. + * @param {Function} [options.keys] A reference to `_.keys` for use in own property iteration. + * @param {string} [options.args] A comma separated string of iteration function arguments. + * @param {string} [options.top] Code to execute before the iteration branches. + * @param {string} [options.loop] Code to execute in the object loop. + * @param {string} [options.bottom] Code to execute after the iteration branches. + * @returns {Function} Returns the compiled function. + */ + function createIterator() { + // data properties + iteratorData.shadowedProps = shadowedProps; + + // iterator options + iteratorData.array = iteratorData.bottom = iteratorData.loop = iteratorData.top = ''; + iteratorData.init = 'iterable'; + iteratorData.useHas = true; + + // merge options into a template data object + for (var object, index = 0; object = arguments[index]; index++) { + for (var key in object) { + iteratorData[key] = object[key]; + } + } + var args = iteratorData.args; + iteratorData.firstArg = /^[^,]+/.exec(args)[0]; + + // create the function factory + var factory = Function( + 'baseCreateCallback, errorClass, errorProto, hasOwnProperty, ' + + 'indicatorObject, isArguments, isArray, isString, keys, objectProto, ' + + 'objectTypes, nonEnumProps, stringClass, stringProto, toString', + 'return function(' + args + ') {\n' + iteratorTemplate(iteratorData) + '\n}' + ); + + // return the compiled function + return factory( + baseCreateCallback, errorClass, errorProto, hasOwnProperty, + indicatorObject, isArguments, isArray, isString, iteratorData.keys, objectProto, + objectTypes, nonEnumProps, stringClass, stringProto, toString + ); + } + + /** + * Used by `escape` to convert characters to HTML entities. + * + * @private + * @param {string} match The matched character to escape. + * @returns {string} Returns the escaped character. + */ + function escapeHtmlChar(match) { + return htmlEscapes[match]; + } + + /** + * Gets the appropriate "indexOf" function. If the `_.indexOf` method is + * customized, this method returns the custom method, otherwise it returns + * the `baseIndexOf` function. + * + * @private + * @returns {Function} Returns the "indexOf" function. + */ + function getIndexOf() { + var result = (result = lodash.indexOf) === indexOf ? baseIndexOf : result; + return result; + } + + /** + * Checks if `value` is a native function. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if the `value` is a native function, else `false`. + */ + function isNative(value) { + return typeof value == 'function' && reNative.test(value); + } + + /** + * Sets `this` binding data on a given function. + * + * @private + * @param {Function} func The function to set data on. + * @param {Array} value The data array to set. + */ + var setBindData = !defineProperty ? noop : function(func, value) { + descriptor.value = value; + defineProperty(func, '__bindData__', descriptor); + descriptor.value = null; + }; + + /** + * A fallback implementation of `isPlainObject` which checks if a given value + * is an object created by the `Object` constructor, assuming objects created + * by the `Object` constructor have no inherited enumerable properties and that + * there are no `Object.prototype` extensions. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a plain object, else `false`. + */ + function shimIsPlainObject(value) { + var ctor, + result; + + // avoid non Object objects, `arguments` objects, and DOM elements + if (!(value && toString.call(value) == objectClass) || + (ctor = value.constructor, isFunction(ctor) && !(ctor instanceof ctor)) || + (!support.argsClass && isArguments(value)) || + (!support.nodeClass && isNode(value))) { + return false; + } + // IE < 9 iterates inherited properties before own properties. If the first + // iterated property is an object's own property then there are no inherited + // enumerable properties. + if (support.ownLast) { + forIn(value, function(value, key, object) { + result = hasOwnProperty.call(object, key); + return false; + }); + return result !== false; + } + // In most environments an object's own properties are iterated before + // its inherited properties. If the last iterated property is an object's + // own property then there are no inherited enumerable properties. + forIn(value, function(value, key) { + result = key; + }); + return typeof result == 'undefined' || hasOwnProperty.call(value, result); + } + + /** + * Used by `unescape` to convert HTML entities to characters. + * + * @private + * @param {string} match The matched character to unescape. + * @returns {string} Returns the unescaped character. + */ + function unescapeHtmlChar(match) { + return htmlUnescapes[match]; + } + + /*--------------------------------------------------------------------------*/ + + /** + * Checks if `value` is an `arguments` object. + * + * @static + * @memberOf _ + * @category Objects + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if the `value` is an `arguments` object, else `false`. + * @example + * + * (function() { return _.isArguments(arguments); })(1, 2, 3); + * // => true + * + * _.isArguments([1, 2, 3]); + * // => false + */ + function isArguments(value) { + return value && typeof value == 'object' && typeof value.length == 'number' && + toString.call(value) == argsClass || false; + } + // fallback for browsers that can't detect `arguments` objects by [[Class]] + if (!support.argsClass) { + isArguments = function(value) { + return value && typeof value == 'object' && typeof value.length == 'number' && + hasOwnProperty.call(value, 'callee') && !propertyIsEnumerable.call(value, 'callee') || false; + }; + } + + /** + * Checks if `value` is an array. + * + * @static + * @memberOf _ + * @type Function + * @category Objects + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if the `value` is an array, else `false`. + * @example + * + * (function() { return _.isArray(arguments); })(); + * // => false + * + * _.isArray([1, 2, 3]); + * // => true + */ + var isArray = nativeIsArray || function(value) { + return value && typeof value == 'object' && typeof value.length == 'number' && + toString.call(value) == arrayClass || false; + }; + + /** + * A fallback implementation of `Object.keys` which produces an array of the + * given object's own enumerable property names. + * + * @private + * @type Function + * @param {Object} object The object to inspect. + * @returns {Array} Returns an array of property names. + */ + var shimKeys = createIterator({ + 'args': 'object', + 'init': '[]', + 'top': 'if (!(objectTypes[typeof object])) return result', + 'loop': 'result.push(index)' + }); + + /** + * Creates an array composed of the own enumerable property names of an object. + * + * @static + * @memberOf _ + * @category Objects + * @param {Object} object The object to inspect. + * @returns {Array} Returns an array of property names. + * @example + * + * _.keys({ 'one': 1, 'two': 2, 'three': 3 }); + * // => ['one', 'two', 'three'] (property order is not guaranteed across environments) + */ + var keys = !nativeKeys ? shimKeys : function(object) { + if (!isObject(object)) { + return []; + } + if ((support.enumPrototypes && typeof object == 'function') || + (support.nonEnumArgs && object.length && isArguments(object))) { + return shimKeys(object); + } + return nativeKeys(object); + }; + + /** Reusable iterator options shared by `each`, `forIn`, and `forOwn` */ + var eachIteratorOptions = { + 'args': 'collection, callback, thisArg', + 'top': "callback = callback && typeof thisArg == 'undefined' ? callback : baseCreateCallback(callback, thisArg, 3)", + 'array': "typeof length == 'number'", + 'keys': keys, + 'loop': 'if (callback(iterable[index], index, collection) === false) return result' + }; + + /** Reusable iterator options for `assign` and `defaults` */ + var defaultsIteratorOptions = { + 'args': 'object, source, guard', + 'top': + 'var args = arguments,\n' + + ' argsIndex = 0,\n' + + " argsLength = typeof guard == 'number' ? 2 : args.length;\n" + + 'while (++argsIndex < argsLength) {\n' + + ' iterable = args[argsIndex];\n' + + ' if (iterable && objectTypes[typeof iterable]) {', + 'keys': keys, + 'loop': "if (typeof result[index] == 'undefined') result[index] = iterable[index]", + 'bottom': ' }\n}' + }; + + /** Reusable iterator options for `forIn` and `forOwn` */ + var forOwnIteratorOptions = { + 'top': 'if (!objectTypes[typeof iterable]) return result;\n' + eachIteratorOptions.top, + 'array': false + }; + + /** + * Used to convert characters to HTML entities: + * + * Though the `>` character is escaped for symmetry, characters like `>` and `/` + * don't require escaping in HTML and have no special meaning unless they're part + * of a tag or an unquoted attribute value. + * http://mathiasbynens.be/notes/ambiguous-ampersands (under "semi-related fun fact") + */ + var htmlEscapes = { + '&': '&', + '<': '<', + '>': '>', + '"': '"', + "'": ''' + }; + + /** Used to convert HTML entities to characters */ + var htmlUnescapes = invert(htmlEscapes); + + /** Used to match HTML entities and HTML characters */ + var reEscapedHtml = RegExp('(' + keys(htmlUnescapes).join('|') + ')', 'g'), + reUnescapedHtml = RegExp('[' + keys(htmlEscapes).join('') + ']', 'g'); + + /** + * A function compiled to iterate `arguments` objects, arrays, objects, and + * strings consistenly across environments, executing the callback for each + * element in the collection. The callback is bound to `thisArg` and invoked + * with three arguments; (value, index|key, collection). Callbacks may exit + * iteration early by explicitly returning `false`. + * + * @private + * @type Function + * @param {Array|Object|string} collection The collection to iterate over. + * @param {Function} [callback=identity] The function called per iteration. + * @param {*} [thisArg] The `this` binding of `callback`. + * @returns {Array|Object|string} Returns `collection`. + */ + var baseEach = createIterator(eachIteratorOptions); + + /*--------------------------------------------------------------------------*/ + + /** + * Assigns own enumerable properties of source object(s) to the destination + * object. Subsequent sources will overwrite property assignments of previous + * sources. If a callback is provided it will be executed to produce the + * assigned values. The callback is bound to `thisArg` and invoked with two + * arguments; (objectValue, sourceValue). + * + * @static + * @memberOf _ + * @type Function + * @alias extend + * @category Objects + * @param {Object} object The destination object. + * @param {...Object} [source] The source objects. + * @param {Function} [callback] The function to customize assigning values. + * @param {*} [thisArg] The `this` binding of `callback`. + * @returns {Object} Returns the destination object. + * @example + * + * _.assign({ 'name': 'fred' }, { 'employer': 'slate' }); + * // => { 'name': 'fred', 'employer': 'slate' } + * + * var defaults = _.partialRight(_.assign, function(a, b) { + * return typeof a == 'undefined' ? b : a; + * }); + * + * var object = { 'name': 'barney' }; + * defaults(object, { 'name': 'fred', 'employer': 'slate' }); + * // => { 'name': 'barney', 'employer': 'slate' } + */ + var assign = createIterator(defaultsIteratorOptions, { + 'top': + defaultsIteratorOptions.top.replace(';', + ';\n' + + "if (argsLength > 3 && typeof args[argsLength - 2] == 'function') {\n" + + ' var callback = baseCreateCallback(args[--argsLength - 1], args[argsLength--], 2);\n' + + "} else if (argsLength > 2 && typeof args[argsLength - 1] == 'function') {\n" + + ' callback = args[--argsLength];\n' + + '}' + ), + 'loop': 'result[index] = callback ? callback(result[index], iterable[index]) : iterable[index]' + }); + + /** + * Creates a clone of `value`. If `isDeep` is `true` nested objects will also + * be cloned, otherwise they will be assigned by reference. If a callback + * is provided it will be executed to produce the cloned values. If the + * callback returns `undefined` cloning will be handled by the method instead. + * The callback is bound to `thisArg` and invoked with one argument; (value). + * + * @static + * @memberOf _ + * @category Objects + * @param {*} value The value to clone. + * @param {boolean} [isDeep=false] Specify a deep clone. + * @param {Function} [callback] The function to customize cloning values. + * @param {*} [thisArg] The `this` binding of `callback`. + * @returns {*} Returns the cloned value. + * @example + * + * var characters = [ + * { 'name': 'barney', 'age': 36 }, + * { 'name': 'fred', 'age': 40 } + * ]; + * + * var shallow = _.clone(characters); + * shallow[0] === characters[0]; + * // => true + * + * var deep = _.clone(characters, true); + * deep[0] === characters[0]; + * // => false + * + * _.mixin({ + * 'clone': _.partialRight(_.clone, function(value) { + * return _.isElement(value) ? value.cloneNode(false) : undefined; + * }) + * }); + * + * var clone = _.clone(document.body); + * clone.childNodes.length; + * // => 0 + */ + function clone(value, isDeep, callback, thisArg) { + // allows working with "Collections" methods without using their `index` + // and `collection` arguments for `isDeep` and `callback` + if (typeof isDeep != 'boolean' && isDeep != null) { + thisArg = callback; + callback = isDeep; + isDeep = false; + } + return baseClone(value, isDeep, typeof callback == 'function' && baseCreateCallback(callback, thisArg, 1)); + } + + /** + * Creates a deep clone of `value`. If a callback is provided it will be + * executed to produce the cloned values. If the callback returns `undefined` + * cloning will be handled by the method instead. The callback is bound to + * `thisArg` and invoked with one argument; (value). + * + * Note: This method is loosely based on the structured clone algorithm. Functions + * and DOM nodes are **not** cloned. The enumerable properties of `arguments` objects and + * objects created by constructors other than `Object` are cloned to plain `Object` objects. + * See http://www.w3.org/TR/html5/infrastructure.html#internal-structured-cloning-algorithm. + * + * @static + * @memberOf _ + * @category Objects + * @param {*} value The value to deep clone. + * @param {Function} [callback] The function to customize cloning values. + * @param {*} [thisArg] The `this` binding of `callback`. + * @returns {*} Returns the deep cloned value. + * @example + * + * var characters = [ + * { 'name': 'barney', 'age': 36 }, + * { 'name': 'fred', 'age': 40 } + * ]; + * + * var deep = _.cloneDeep(characters); + * deep[0] === characters[0]; + * // => false + * + * var view = { + * 'label': 'docs', + * 'node': element + * }; + * + * var clone = _.cloneDeep(view, function(value) { + * return _.isElement(value) ? value.cloneNode(true) : undefined; + * }); + * + * clone.node == view.node; + * // => false + */ + function cloneDeep(value, callback, thisArg) { + return baseClone(value, true, typeof callback == 'function' && baseCreateCallback(callback, thisArg, 1)); + } + + /** + * Creates an object that inherits from the given `prototype` object. If a + * `properties` object is provided its own enumerable properties are assigned + * to the created object. + * + * @static + * @memberOf _ + * @category Objects + * @param {Object} prototype The object to inherit from. + * @param {Object} [properties] The properties to assign to the object. + * @returns {Object} Returns the new object. + * @example + * + * function Shape() { + * this.x = 0; + * this.y = 0; + * } + * + * function Circle() { + * Shape.call(this); + * } + * + * Circle.prototype = _.create(Shape.prototype, { 'constructor': Circle }); + * + * var circle = new Circle; + * circle instanceof Circle; + * // => true + * + * circle instanceof Shape; + * // => true + */ + function create(prototype, properties) { + var result = baseCreate(prototype); + return properties ? assign(result, properties) : result; + } + + /** + * Assigns own enumerable properties of source object(s) to the destination + * object for all destination properties that resolve to `undefined`. Once a + * property is set, additional defaults of the same property will be ignored. + * + * @static + * @memberOf _ + * @type Function + * @category Objects + * @param {Object} object The destination object. + * @param {...Object} [source] The source objects. + * @param- {Object} [guard] Allows working with `_.reduce` without using its + * `key` and `object` arguments as sources. + * @returns {Object} Returns the destination object. + * @example + * + * var object = { 'name': 'barney' }; + * _.defaults(object, { 'name': 'fred', 'employer': 'slate' }); + * // => { 'name': 'barney', 'employer': 'slate' } + */ + var defaults = createIterator(defaultsIteratorOptions); + + /** + * This method is like `_.findIndex` except that it returns the key of the + * first element that passes the callback check, instead of the element itself. + * + * If a property name is provided for `callback` the created "_.pluck" style + * callback will return the property value of the given element. + * + * If an object is provided for `callback` the created "_.where" style callback + * will return `true` for elements that have the properties of the given object, + * else `false`. + * + * @static + * @memberOf _ + * @category Objects + * @param {Object} object The object to search. + * @param {Function|Object|string} [callback=identity] The function called per + * iteration. If a property name or object is provided it will be used to + * create a "_.pluck" or "_.where" style callback, respectively. + * @param {*} [thisArg] The `this` binding of `callback`. + * @returns {string|undefined} Returns the key of the found element, else `undefined`. + * @example + * + * var characters = { + * 'barney': { 'age': 36, 'blocked': false }, + * 'fred': { 'age': 40, 'blocked': true }, + * 'pebbles': { 'age': 1, 'blocked': false } + * }; + * + * _.findKey(characters, function(chr) { + * return chr.age < 40; + * }); + * // => 'barney' (property order is not guaranteed across environments) + * + * // using "_.where" callback shorthand + * _.findKey(characters, { 'age': 1 }); + * // => 'pebbles' + * + * // using "_.pluck" callback shorthand + * _.findKey(characters, 'blocked'); + * // => 'fred' + */ + function findKey(object, callback, thisArg) { + var result; + callback = lodash.createCallback(callback, thisArg, 3); + forOwn(object, function(value, key, object) { + if (callback(value, key, object)) { + result = key; + return false; + } + }); + return result; + } + + /** + * This method is like `_.findKey` except that it iterates over elements + * of a `collection` in the opposite order. + * + * If a property name is provided for `callback` the created "_.pluck" style + * callback will return the property value of the given element. + * + * If an object is provided for `callback` the created "_.where" style callback + * will return `true` for elements that have the properties of the given object, + * else `false`. + * + * @static + * @memberOf _ + * @category Objects + * @param {Object} object The object to search. + * @param {Function|Object|string} [callback=identity] The function called per + * iteration. If a property name or object is provided it will be used to + * create a "_.pluck" or "_.where" style callback, respectively. + * @param {*} [thisArg] The `this` binding of `callback`. + * @returns {string|undefined} Returns the key of the found element, else `undefined`. + * @example + * + * var characters = { + * 'barney': { 'age': 36, 'blocked': true }, + * 'fred': { 'age': 40, 'blocked': false }, + * 'pebbles': { 'age': 1, 'blocked': true } + * }; + * + * _.findLastKey(characters, function(chr) { + * return chr.age < 40; + * }); + * // => returns `pebbles`, assuming `_.findKey` returns `barney` + * + * // using "_.where" callback shorthand + * _.findLastKey(characters, { 'age': 40 }); + * // => 'fred' + * + * // using "_.pluck" callback shorthand + * _.findLastKey(characters, 'blocked'); + * // => 'pebbles' + */ + function findLastKey(object, callback, thisArg) { + var result; + callback = lodash.createCallback(callback, thisArg, 3); + forOwnRight(object, function(value, key, object) { + if (callback(value, key, object)) { + result = key; + return false; + } + }); + return result; + } + + /** + * Iterates over own and inherited enumerable properties of an object, + * executing the callback for each property. The callback is bound to `thisArg` + * and invoked with three arguments; (value, key, object). Callbacks may exit + * iteration early by explicitly returning `false`. + * + * @static + * @memberOf _ + * @type Function + * @category Objects + * @param {Object} object The object to iterate over. + * @param {Function} [callback=identity] The function called per iteration. + * @param {*} [thisArg] The `this` binding of `callback`. + * @returns {Object} Returns `object`. + * @example + * + * function Shape() { + * this.x = 0; + * this.y = 0; + * } + * + * Shape.prototype.move = function(x, y) { + * this.x += x; + * this.y += y; + * }; + * + * _.forIn(new Shape, function(value, key) { + * console.log(key); + * }); + * // => logs 'x', 'y', and 'move' (property order is not guaranteed across environments) + */ + var forIn = createIterator(eachIteratorOptions, forOwnIteratorOptions, { + 'useHas': false + }); + + /** + * This method is like `_.forIn` except that it iterates over elements + * of a `collection` in the opposite order. + * + * @static + * @memberOf _ + * @category Objects + * @param {Object} object The object to iterate over. + * @param {Function} [callback=identity] The function called per iteration. + * @param {*} [thisArg] The `this` binding of `callback`. + * @returns {Object} Returns `object`. + * @example + * + * function Shape() { + * this.x = 0; + * this.y = 0; + * } + * + * Shape.prototype.move = function(x, y) { + * this.x += x; + * this.y += y; + * }; + * + * _.forInRight(new Shape, function(value, key) { + * console.log(key); + * }); + * // => logs 'move', 'y', and 'x' assuming `_.forIn ` logs 'x', 'y', and 'move' + */ + function forInRight(object, callback, thisArg) { + var pairs = []; + + forIn(object, function(value, key) { + pairs.push(key, value); + }); + + var length = pairs.length; + callback = baseCreateCallback(callback, thisArg, 3); + while (length--) { + if (callback(pairs[length--], pairs[length], object) === false) { + break; + } + } + return object; + } + + /** + * Iterates over own enumerable properties of an object, executing the callback + * for each property. The callback is bound to `thisArg` and invoked with three + * arguments; (value, key, object). Callbacks may exit iteration early by + * explicitly returning `false`. + * + * @static + * @memberOf _ + * @type Function + * @category Objects + * @param {Object} object The object to iterate over. + * @param {Function} [callback=identity] The function called per iteration. + * @param {*} [thisArg] The `this` binding of `callback`. + * @returns {Object} Returns `object`. + * @example + * + * _.forOwn({ '0': 'zero', '1': 'one', 'length': 2 }, function(num, key) { + * console.log(key); + * }); + * // => logs '0', '1', and 'length' (property order is not guaranteed across environments) + */ + var forOwn = createIterator(eachIteratorOptions, forOwnIteratorOptions); + + /** + * This method is like `_.forOwn` except that it iterates over elements + * of a `collection` in the opposite order. + * + * @static + * @memberOf _ + * @category Objects + * @param {Object} object The object to iterate over. + * @param {Function} [callback=identity] The function called per iteration. + * @param {*} [thisArg] The `this` binding of `callback`. + * @returns {Object} Returns `object`. + * @example + * + * _.forOwnRight({ '0': 'zero', '1': 'one', 'length': 2 }, function(num, key) { + * console.log(key); + * }); + * // => logs 'length', '1', and '0' assuming `_.forOwn` logs '0', '1', and 'length' + */ + function forOwnRight(object, callback, thisArg) { + var props = keys(object), + length = props.length; + + callback = baseCreateCallback(callback, thisArg, 3); + while (length--) { + var key = props[length]; + if (callback(object[key], key, object) === false) { + break; + } + } + return object; + } + + /** + * Creates a sorted array of property names of all enumerable properties, + * own and inherited, of `object` that have function values. + * + * @static + * @memberOf _ + * @alias methods + * @category Objects + * @param {Object} object The object to inspect. + * @returns {Array} Returns an array of property names that have function values. + * @example + * + * _.functions(_); + * // => ['all', 'any', 'bind', 'bindAll', 'clone', 'compact', 'compose', ...] + */ + function functions(object) { + var result = []; + forIn(object, function(value, key) { + if (isFunction(value)) { + result.push(key); + } + }); + return result.sort(); + } + + /** + * Checks if the specified property name exists as a direct property of `object`, + * instead of an inherited property. + * + * @static + * @memberOf _ + * @category Objects + * @param {Object} object The object to inspect. + * @param {string} key The name of the property to check. + * @returns {boolean} Returns `true` if key is a direct property, else `false`. + * @example + * + * _.has({ 'a': 1, 'b': 2, 'c': 3 }, 'b'); + * // => true + */ + function has(object, key) { + return object ? hasOwnProperty.call(object, key) : false; + } + + /** + * Creates an object composed of the inverted keys and values of the given object. + * + * @static + * @memberOf _ + * @category Objects + * @param {Object} object The object to invert. + * @returns {Object} Returns the created inverted object. + * @example + * + * _.invert({ 'first': 'fred', 'second': 'barney' }); + * // => { 'fred': 'first', 'barney': 'second' } + */ + function invert(object) { + var index = -1, + props = keys(object), + length = props.length, + result = {}; + + while (++index < length) { + var key = props[index]; + result[object[key]] = key; + } + return result; + } + + /** + * Checks if `value` is a boolean value. + * + * @static + * @memberOf _ + * @category Objects + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if the `value` is a boolean value, else `false`. + * @example + * + * _.isBoolean(null); + * // => false + */ + function isBoolean(value) { + return value === true || value === false || + value && typeof value == 'object' && toString.call(value) == boolClass || false; + } + + /** + * Checks if `value` is a date. + * + * @static + * @memberOf _ + * @category Objects + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if the `value` is a date, else `false`. + * @example + * + * _.isDate(new Date); + * // => true + */ + function isDate(value) { + return value && typeof value == 'object' && toString.call(value) == dateClass || false; + } + + /** + * Checks if `value` is a DOM element. + * + * @static + * @memberOf _ + * @category Objects + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if the `value` is a DOM element, else `false`. + * @example + * + * _.isElement(document.body); + * // => true + */ + function isElement(value) { + return value && value.nodeType === 1 || false; + } + + /** + * Checks if `value` is empty. Arrays, strings, or `arguments` objects with a + * length of `0` and objects with no own enumerable properties are considered + * "empty". + * + * @static + * @memberOf _ + * @category Objects + * @param {Array|Object|string} value The value to inspect. + * @returns {boolean} Returns `true` if the `value` is empty, else `false`. + * @example + * + * _.isEmpty([1, 2, 3]); + * // => false + * + * _.isEmpty({}); + * // => true + * + * _.isEmpty(''); + * // => true + */ + function isEmpty(value) { + var result = true; + if (!value) { + return result; + } + var className = toString.call(value), + length = value.length; + + if ((className == arrayClass || className == stringClass || + (support.argsClass ? className == argsClass : isArguments(value))) || + (className == objectClass && typeof length == 'number' && isFunction(value.splice))) { + return !length; + } + forOwn(value, function() { + return (result = false); + }); + return result; + } + + /** + * Performs a deep comparison between two values to determine if they are + * equivalent to each other. If a callback is provided it will be executed + * to compare values. If the callback returns `undefined` comparisons will + * be handled by the method instead. The callback is bound to `thisArg` and + * invoked with two arguments; (a, b). + * + * @static + * @memberOf _ + * @category Objects + * @param {*} a The value to compare. + * @param {*} b The other value to compare. + * @param {Function} [callback] The function to customize comparing values. + * @param {*} [thisArg] The `this` binding of `callback`. + * @returns {boolean} Returns `true` if the values are equivalent, else `false`. + * @example + * + * var object = { 'name': 'fred' }; + * var copy = { 'name': 'fred' }; + * + * object == copy; + * // => false + * + * _.isEqual(object, copy); + * // => true + * + * var words = ['hello', 'goodbye']; + * var otherWords = ['hi', 'goodbye']; + * + * _.isEqual(words, otherWords, function(a, b) { + * var reGreet = /^(?:hello|hi)$/i, + * aGreet = _.isString(a) && reGreet.test(a), + * bGreet = _.isString(b) && reGreet.test(b); + * + * return (aGreet || bGreet) ? (aGreet == bGreet) : undefined; + * }); + * // => true + */ + function isEqual(a, b, callback, thisArg) { + return baseIsEqual(a, b, typeof callback == 'function' && baseCreateCallback(callback, thisArg, 2)); + } + + /** + * Checks if `value` is, or can be coerced to, a finite number. + * + * Note: This is not the same as native `isFinite` which will return true for + * booleans and empty strings. See http://es5.github.io/#x15.1.2.5. + * + * @static + * @memberOf _ + * @category Objects + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if the `value` is finite, else `false`. + * @example + * + * _.isFinite(-101); + * // => true + * + * _.isFinite('10'); + * // => true + * + * _.isFinite(true); + * // => false + * + * _.isFinite(''); + * // => false + * + * _.isFinite(Infinity); + * // => false + */ + function isFinite(value) { + return nativeIsFinite(value) && !nativeIsNaN(parseFloat(value)); + } + + /** + * Checks if `value` is a function. + * + * @static + * @memberOf _ + * @category Objects + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if the `value` is a function, else `false`. + * @example + * + * _.isFunction(_); + * // => true + */ + function isFunction(value) { + return typeof value == 'function'; + } + // fallback for older versions of Chrome and Safari + if (isFunction(/x/)) { + isFunction = function(value) { + return typeof value == 'function' && toString.call(value) == funcClass; + }; + } + + /** + * Checks if `value` is the language type of Object. + * (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`) + * + * @static + * @memberOf _ + * @category Objects + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if the `value` is an object, else `false`. + * @example + * + * _.isObject({}); + * // => true + * + * _.isObject([1, 2, 3]); + * // => true + * + * _.isObject(1); + * // => false + */ + function isObject(value) { + // check if the value is the ECMAScript language type of Object + // http://es5.github.io/#x8 + // and avoid a V8 bug + // http://code.google.com/p/v8/issues/detail?id=2291 + return !!(value && objectTypes[typeof value]); + } + + /** + * Checks if `value` is `NaN`. + * + * Note: This is not the same as native `isNaN` which will return `true` for + * `undefined` and other non-numeric values. See http://es5.github.io/#x15.1.2.4. + * + * @static + * @memberOf _ + * @category Objects + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if the `value` is `NaN`, else `false`. + * @example + * + * _.isNaN(NaN); + * // => true + * + * _.isNaN(new Number(NaN)); + * // => true + * + * isNaN(undefined); + * // => true + * + * _.isNaN(undefined); + * // => false + */ + function isNaN(value) { + // `NaN` as a primitive is the only value that is not equal to itself + // (perform the [[Class]] check first to avoid errors with some host objects in IE) + return isNumber(value) && value != +value; + } + + /** + * Checks if `value` is `null`. + * + * @static + * @memberOf _ + * @category Objects + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if the `value` is `null`, else `false`. + * @example + * + * _.isNull(null); + * // => true + * + * _.isNull(undefined); + * // => false + */ + function isNull(value) { + return value === null; + } + + /** + * Checks if `value` is a number. + * + * Note: `NaN` is considered a number. See http://es5.github.io/#x8.5. + * + * @static + * @memberOf _ + * @category Objects + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if the `value` is a number, else `false`. + * @example + * + * _.isNumber(8.4 * 5); + * // => true + */ + function isNumber(value) { + return typeof value == 'number' || + value && typeof value == 'object' && toString.call(value) == numberClass || false; + } + + /** + * Checks if `value` is an object created by the `Object` constructor. + * + * @static + * @memberOf _ + * @category Objects + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a plain object, else `false`. + * @example + * + * function Shape() { + * this.x = 0; + * this.y = 0; + * } + * + * _.isPlainObject(new Shape); + * // => false + * + * _.isPlainObject([1, 2, 3]); + * // => false + * + * _.isPlainObject({ 'x': 0, 'y': 0 }); + * // => true + */ + var isPlainObject = !getPrototypeOf ? shimIsPlainObject : function(value) { + if (!(value && toString.call(value) == objectClass) || (!support.argsClass && isArguments(value))) { + return false; + } + var valueOf = value.valueOf, + objProto = isNative(valueOf) && (objProto = getPrototypeOf(valueOf)) && getPrototypeOf(objProto); + + return objProto + ? (value == objProto || getPrototypeOf(value) == objProto) + : shimIsPlainObject(value); + }; + + /** + * Checks if `value` is a regular expression. + * + * @static + * @memberOf _ + * @category Objects + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if the `value` is a regular expression, else `false`. + * @example + * + * _.isRegExp(/fred/); + * // => true + */ + function isRegExp(value) { + return value && objectTypes[typeof value] && toString.call(value) == regexpClass || false; + } + + /** + * Checks if `value` is a string. + * + * @static + * @memberOf _ + * @category Objects + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if the `value` is a string, else `false`. + * @example + * + * _.isString('fred'); + * // => true + */ + function isString(value) { + return typeof value == 'string' || + value && typeof value == 'object' && toString.call(value) == stringClass || false; + } + + /** + * Checks if `value` is `undefined`. + * + * @static + * @memberOf _ + * @category Objects + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if the `value` is `undefined`, else `false`. + * @example + * + * _.isUndefined(void 0); + * // => true + */ + function isUndefined(value) { + return typeof value == 'undefined'; + } + + /** + * Creates an object with the same keys as `object` and values generated by + * running each own enumerable property of `object` through the callback. + * The callback is bound to `thisArg` and invoked with three arguments; + * (value, key, object). + * + * If a property name is provided for `callback` the created "_.pluck" style + * callback will return the property value of the given element. + * + * If an object is provided for `callback` the created "_.where" style callback + * will return `true` for elements that have the properties of the given object, + * else `false`. + * + * @static + * @memberOf _ + * @category Objects + * @param {Object} object The object to iterate over. + * @param {Function|Object|string} [callback=identity] The function called + * per iteration. If a property name or object is provided it will be used + * to create a "_.pluck" or "_.where" style callback, respectively. + * @param {*} [thisArg] The `this` binding of `callback`. + * @returns {Array} Returns a new object with values of the results of each `callback` execution. + * @example + * + * _.mapValues({ 'a': 1, 'b': 2, 'c': 3} , function(num) { return num * 3; }); + * // => { 'a': 3, 'b': 6, 'c': 9 } + * + * var characters = { + * 'fred': { 'name': 'fred', 'age': 40 }, + * 'pebbles': { 'name': 'pebbles', 'age': 1 } + * }; + * + * // using "_.pluck" callback shorthand + * _.mapValues(characters, 'age'); + * // => { 'fred': 40, 'pebbles': 1 } + */ + function mapValues(object, callback, thisArg) { + var result = {}; + callback = lodash.createCallback(callback, thisArg, 3); + + forOwn(object, function(value, key, object) { + result[key] = callback(value, key, object); + }); + return result; + } + + /** + * Recursively merges own enumerable properties of the source object(s), that + * don't resolve to `undefined` into the destination object. Subsequent sources + * will overwrite property assignments of previous sources. If a callback is + * provided it will be executed to produce the merged values of the destination + * and source properties. If the callback returns `undefined` merging will + * be handled by the method instead. The callback is bound to `thisArg` and + * invoked with two arguments; (objectValue, sourceValue). + * + * @static + * @memberOf _ + * @category Objects + * @param {Object} object The destination object. + * @param {...Object} [source] The source objects. + * @param {Function} [callback] The function to customize merging properties. + * @param {*} [thisArg] The `this` binding of `callback`. + * @returns {Object} Returns the destination object. + * @example + * + * var names = { + * 'characters': [ + * { 'name': 'barney' }, + * { 'name': 'fred' } + * ] + * }; + * + * var ages = { + * 'characters': [ + * { 'age': 36 }, + * { 'age': 40 } + * ] + * }; + * + * _.merge(names, ages); + * // => { 'characters': [{ 'name': 'barney', 'age': 36 }, { 'name': 'fred', 'age': 40 }] } + * + * var food = { + * 'fruits': ['apple'], + * 'vegetables': ['beet'] + * }; + * + * var otherFood = { + * 'fruits': ['banana'], + * 'vegetables': ['carrot'] + * }; + * + * _.merge(food, otherFood, function(a, b) { + * return _.isArray(a) ? a.concat(b) : undefined; + * }); + * // => { 'fruits': ['apple', 'banana'], 'vegetables': ['beet', 'carrot] } + */ + function merge(object) { + var args = arguments, + length = 2; + + if (!isObject(object)) { + return object; + } + // allows working with `_.reduce` and `_.reduceRight` without using + // their `index` and `collection` arguments + if (typeof args[2] != 'number') { + length = args.length; + } + if (length > 3 && typeof args[length - 2] == 'function') { + var callback = baseCreateCallback(args[--length - 1], args[length--], 2); + } else if (length > 2 && typeof args[length - 1] == 'function') { + callback = args[--length]; + } + var sources = slice(arguments, 1, length), + index = -1, + stackA = getArray(), + stackB = getArray(); + + while (++index < length) { + baseMerge(object, sources[index], callback, stackA, stackB); + } + releaseArray(stackA); + releaseArray(stackB); + return object; + } + + /** + * Creates a shallow clone of `object` excluding the specified properties. + * Property names may be specified as individual arguments or as arrays of + * property names. If a callback is provided it will be executed for each + * property of `object` omitting the properties the callback returns truey + * for. The callback is bound to `thisArg` and invoked with three arguments; + * (value, key, object). + * + * @static + * @memberOf _ + * @category Objects + * @param {Object} object The source object. + * @param {Function|...string|string[]} [callback] The properties to omit or the + * function called per iteration. + * @param {*} [thisArg] The `this` binding of `callback`. + * @returns {Object} Returns an object without the omitted properties. + * @example + * + * _.omit({ 'name': 'fred', 'age': 40 }, 'age'); + * // => { 'name': 'fred' } + * + * _.omit({ 'name': 'fred', 'age': 40 }, function(value) { + * return typeof value == 'number'; + * }); + * // => { 'name': 'fred' } + */ + function omit(object, callback, thisArg) { + var result = {}; + if (typeof callback != 'function') { + var props = []; + forIn(object, function(value, key) { + props.push(key); + }); + props = baseDifference(props, baseFlatten(arguments, true, false, 1)); + + var index = -1, + length = props.length; + + while (++index < length) { + var key = props[index]; + result[key] = object[key]; + } + } else { + callback = lodash.createCallback(callback, thisArg, 3); + forIn(object, function(value, key, object) { + if (!callback(value, key, object)) { + result[key] = value; + } + }); + } + return result; + } + + /** + * Creates a two dimensional array of an object's key-value pairs, + * i.e. `[[key1, value1], [key2, value2]]`. + * + * @static + * @memberOf _ + * @category Objects + * @param {Object} object The object to inspect. + * @returns {Array} Returns new array of key-value pairs. + * @example + * + * _.pairs({ 'barney': 36, 'fred': 40 }); + * // => [['barney', 36], ['fred', 40]] (property order is not guaranteed across environments) + */ + function pairs(object) { + var index = -1, + props = keys(object), + length = props.length, + result = Array(length); + + while (++index < length) { + var key = props[index]; + result[index] = [key, object[key]]; + } + return result; + } + + /** + * Creates a shallow clone of `object` composed of the specified properties. + * Property names may be specified as individual arguments or as arrays of + * property names. If a callback is provided it will be executed for each + * property of `object` picking the properties the callback returns truey + * for. The callback is bound to `thisArg` and invoked with three arguments; + * (value, key, object). + * + * @static + * @memberOf _ + * @category Objects + * @param {Object} object The source object. + * @param {Function|...string|string[]} [callback] The function called per + * iteration or property names to pick, specified as individual property + * names or arrays of property names. + * @param {*} [thisArg] The `this` binding of `callback`. + * @returns {Object} Returns an object composed of the picked properties. + * @example + * + * _.pick({ 'name': 'fred', '_userid': 'fred1' }, 'name'); + * // => { 'name': 'fred' } + * + * _.pick({ 'name': 'fred', '_userid': 'fred1' }, function(value, key) { + * return key.charAt(0) != '_'; + * }); + * // => { 'name': 'fred' } + */ + function pick(object, callback, thisArg) { + var result = {}; + if (typeof callback != 'function') { + var index = -1, + props = baseFlatten(arguments, true, false, 1), + length = isObject(object) ? props.length : 0; + + while (++index < length) { + var key = props[index]; + if (key in object) { + result[key] = object[key]; + } + } + } else { + callback = lodash.createCallback(callback, thisArg, 3); + forIn(object, function(value, key, object) { + if (callback(value, key, object)) { + result[key] = value; + } + }); + } + return result; + } + + /** + * An alternative to `_.reduce` this method transforms `object` to a new + * `accumulator` object which is the result of running each of its own + * enumerable properties through a callback, with each callback execution + * potentially mutating the `accumulator` object. The callback is bound to + * `thisArg` and invoked with four arguments; (accumulator, value, key, object). + * Callbacks may exit iteration early by explicitly returning `false`. + * + * @static + * @memberOf _ + * @category Objects + * @param {Array|Object} object The object to iterate over. + * @param {Function} [callback=identity] The function called per iteration. + * @param {*} [accumulator] The custom accumulator value. + * @param {*} [thisArg] The `this` binding of `callback`. + * @returns {*} Returns the accumulated value. + * @example + * + * var squares = _.transform([1, 2, 3, 4, 5, 6, 7, 8, 9, 10], function(result, num) { + * num *= num; + * if (num % 2) { + * return result.push(num) < 3; + * } + * }); + * // => [1, 9, 25] + * + * var mapped = _.transform({ 'a': 1, 'b': 2, 'c': 3 }, function(result, num, key) { + * result[key] = num * 3; + * }); + * // => { 'a': 3, 'b': 6, 'c': 9 } + */ + function transform(object, callback, accumulator, thisArg) { + var isArr = isArray(object); + if (accumulator == null) { + if (isArr) { + accumulator = []; + } else { + var ctor = object && object.constructor, + proto = ctor && ctor.prototype; + + accumulator = baseCreate(proto); + } + } + if (callback) { + callback = lodash.createCallback(callback, thisArg, 4); + (isArr ? baseEach : forOwn)(object, function(value, index, object) { + return callback(accumulator, value, index, object); + }); + } + return accumulator; + } + + /** + * Creates an array composed of the own enumerable property values of `object`. + * + * @static + * @memberOf _ + * @category Objects + * @param {Object} object The object to inspect. + * @returns {Array} Returns an array of property values. + * @example + * + * _.values({ 'one': 1, 'two': 2, 'three': 3 }); + * // => [1, 2, 3] (property order is not guaranteed across environments) + */ + function values(object) { + var index = -1, + props = keys(object), + length = props.length, + result = Array(length); + + while (++index < length) { + result[index] = object[props[index]]; + } + return result; + } + + /*--------------------------------------------------------------------------*/ + + /** + * Creates an array of elements from the specified indexes, or keys, of the + * `collection`. Indexes may be specified as individual arguments or as arrays + * of indexes. + * + * @static + * @memberOf _ + * @category Collections + * @param {Array|Object|string} collection The collection to iterate over. + * @param {...(number|number[]|string|string[])} [index] The indexes of `collection` + * to retrieve, specified as individual indexes or arrays of indexes. + * @returns {Array} Returns a new array of elements corresponding to the + * provided indexes. + * @example + * + * _.at(['a', 'b', 'c', 'd', 'e'], [0, 2, 4]); + * // => ['a', 'c', 'e'] + * + * _.at(['fred', 'barney', 'pebbles'], 0, 2); + * // => ['fred', 'pebbles'] + */ + function at(collection) { + var args = arguments, + index = -1, + props = baseFlatten(args, true, false, 1), + length = (args[2] && args[2][args[1]] === collection) ? 1 : props.length, + result = Array(length); + + if (support.unindexedChars && isString(collection)) { + collection = collection.split(''); + } + while(++index < length) { + result[index] = collection[props[index]]; + } + return result; + } + + /** + * Checks if a given value is present in a collection using strict equality + * for comparisons, i.e. `===`. If `fromIndex` is negative, it is used as the + * offset from the end of the collection. + * + * @static + * @memberOf _ + * @alias include + * @category Collections + * @param {Array|Object|string} collection The collection to iterate over. + * @param {*} target The value to check for. + * @param {number} [fromIndex=0] The index to search from. + * @returns {boolean} Returns `true` if the `target` element is found, else `false`. + * @example + * + * _.contains([1, 2, 3], 1); + * // => true + * + * _.contains([1, 2, 3], 1, 2); + * // => false + * + * _.contains({ 'name': 'fred', 'age': 40 }, 'fred'); + * // => true + * + * _.contains('pebbles', 'eb'); + * // => true + */ + function contains(collection, target, fromIndex) { + var index = -1, + indexOf = getIndexOf(), + length = collection ? collection.length : 0, + result = false; + + fromIndex = (fromIndex < 0 ? nativeMax(0, length + fromIndex) : fromIndex) || 0; + if (isArray(collection)) { + result = indexOf(collection, target, fromIndex) > -1; + } else if (typeof length == 'number') { + result = (isString(collection) ? collection.indexOf(target, fromIndex) : indexOf(collection, target, fromIndex)) > -1; + } else { + baseEach(collection, function(value) { + if (++index >= fromIndex) { + return !(result = value === target); + } + }); + } + return result; + } + + /** + * Creates an object composed of keys generated from the results of running + * each element of `collection` through the callback. The corresponding value + * of each key is the number of times the key was returned by the callback. + * The callback is bound to `thisArg` and invoked with three arguments; + * (value, index|key, collection). + * + * If a property name is provided for `callback` the created "_.pluck" style + * callback will return the property value of the given element. + * + * If an object is provided for `callback` the created "_.where" style callback + * will return `true` for elements that have the properties of the given object, + * else `false`. + * + * @static + * @memberOf _ + * @category Collections + * @param {Array|Object|string} collection The collection to iterate over. + * @param {Function|Object|string} [callback=identity] The function called + * per iteration. If a property name or object is provided it will be used + * to create a "_.pluck" or "_.where" style callback, respectively. + * @param {*} [thisArg] The `this` binding of `callback`. + * @returns {Object} Returns the composed aggregate object. + * @example + * + * _.countBy([4.3, 6.1, 6.4], function(num) { return Math.floor(num); }); + * // => { '4': 1, '6': 2 } + * + * _.countBy([4.3, 6.1, 6.4], function(num) { return this.floor(num); }, Math); + * // => { '4': 1, '6': 2 } + * + * _.countBy(['one', 'two', 'three'], 'length'); + * // => { '3': 2, '5': 1 } + */ + var countBy = createAggregator(function(result, value, key) { + (hasOwnProperty.call(result, key) ? result[key]++ : result[key] = 1); + }); + + /** + * Checks if the given callback returns truey value for **all** elements of + * a collection. The callback is bound to `thisArg` and invoked with three + * arguments; (value, index|key, collection). + * + * If a property name is provided for `callback` the created "_.pluck" style + * callback will return the property value of the given element. + * + * If an object is provided for `callback` the created "_.where" style callback + * will return `true` for elements that have the properties of the given object, + * else `false`. + * + * @static + * @memberOf _ + * @alias all + * @category Collections + * @param {Array|Object|string} collection The collection to iterate over. + * @param {Function|Object|string} [callback=identity] The function called + * per iteration. If a property name or object is provided it will be used + * to create a "_.pluck" or "_.where" style callback, respectively. + * @param {*} [thisArg] The `this` binding of `callback`. + * @returns {boolean} Returns `true` if all elements passed the callback check, + * else `false`. + * @example + * + * _.every([true, 1, null, 'yes']); + * // => false + * + * var characters = [ + * { 'name': 'barney', 'age': 36 }, + * { 'name': 'fred', 'age': 40 } + * ]; + * + * // using "_.pluck" callback shorthand + * _.every(characters, 'age'); + * // => true + * + * // using "_.where" callback shorthand + * _.every(characters, { 'age': 36 }); + * // => false + */ + function every(collection, callback, thisArg) { + var result = true; + callback = lodash.createCallback(callback, thisArg, 3); + + if (isArray(collection)) { + var index = -1, + length = collection.length; + + while (++index < length) { + if (!(result = !!callback(collection[index], index, collection))) { + break; + } + } + } else { + baseEach(collection, function(value, index, collection) { + return (result = !!callback(value, index, collection)); + }); + } + return result; + } + + /** + * Iterates over elements of a collection, returning an array of all elements + * the callback returns truey for. The callback is bound to `thisArg` and + * invoked with three arguments; (value, index|key, collection). + * + * If a property name is provided for `callback` the created "_.pluck" style + * callback will return the property value of the given element. + * + * If an object is provided for `callback` the created "_.where" style callback + * will return `true` for elements that have the properties of the given object, + * else `false`. + * + * @static + * @memberOf _ + * @alias select + * @category Collections + * @param {Array|Object|string} collection The collection to iterate over. + * @param {Function|Object|string} [callback=identity] The function called + * per iteration. If a property name or object is provided it will be used + * to create a "_.pluck" or "_.where" style callback, respectively. + * @param {*} [thisArg] The `this` binding of `callback`. + * @returns {Array} Returns a new array of elements that passed the callback check. + * @example + * + * var evens = _.filter([1, 2, 3, 4, 5, 6], function(num) { return num % 2 == 0; }); + * // => [2, 4, 6] + * + * var characters = [ + * { 'name': 'barney', 'age': 36, 'blocked': false }, + * { 'name': 'fred', 'age': 40, 'blocked': true } + * ]; + * + * // using "_.pluck" callback shorthand + * _.filter(characters, 'blocked'); + * // => [{ 'name': 'fred', 'age': 40, 'blocked': true }] + * + * // using "_.where" callback shorthand + * _.filter(characters, { 'age': 36 }); + * // => [{ 'name': 'barney', 'age': 36, 'blocked': false }] + */ + function filter(collection, callback, thisArg) { + var result = []; + callback = lodash.createCallback(callback, thisArg, 3); + + if (isArray(collection)) { + var index = -1, + length = collection.length; + + while (++index < length) { + var value = collection[index]; + if (callback(value, index, collection)) { + result.push(value); + } + } + } else { + baseEach(collection, function(value, index, collection) { + if (callback(value, index, collection)) { + result.push(value); + } + }); + } + return result; + } + + /** + * Iterates over elements of a collection, returning the first element that + * the callback returns truey for. The callback is bound to `thisArg` and + * invoked with three arguments; (value, index|key, collection). + * + * If a property name is provided for `callback` the created "_.pluck" style + * callback will return the property value of the given element. + * + * If an object is provided for `callback` the created "_.where" style callback + * will return `true` for elements that have the properties of the given object, + * else `false`. + * + * @static + * @memberOf _ + * @alias detect, findWhere + * @category Collections + * @param {Array|Object|string} collection The collection to iterate over. + * @param {Function|Object|string} [callback=identity] The function called + * per iteration. If a property name or object is provided it will be used + * to create a "_.pluck" or "_.where" style callback, respectively. + * @param {*} [thisArg] The `this` binding of `callback`. + * @returns {*} Returns the found element, else `undefined`. + * @example + * + * var characters = [ + * { 'name': 'barney', 'age': 36, 'blocked': false }, + * { 'name': 'fred', 'age': 40, 'blocked': true }, + * { 'name': 'pebbles', 'age': 1, 'blocked': false } + * ]; + * + * _.find(characters, function(chr) { + * return chr.age < 40; + * }); + * // => { 'name': 'barney', 'age': 36, 'blocked': false } + * + * // using "_.where" callback shorthand + * _.find(characters, { 'age': 1 }); + * // => { 'name': 'pebbles', 'age': 1, 'blocked': false } + * + * // using "_.pluck" callback shorthand + * _.find(characters, 'blocked'); + * // => { 'name': 'fred', 'age': 40, 'blocked': true } + */ + function find(collection, callback, thisArg) { + callback = lodash.createCallback(callback, thisArg, 3); + + if (isArray(collection)) { + var index = -1, + length = collection.length; + + while (++index < length) { + var value = collection[index]; + if (callback(value, index, collection)) { + return value; + } + } + } else { + var result; + baseEach(collection, function(value, index, collection) { + if (callback(value, index, collection)) { + result = value; + return false; + } + }); + return result; + } + } + + /** + * This method is like `_.find` except that it iterates over elements + * of a `collection` from right to left. + * + * @static + * @memberOf _ + * @category Collections + * @param {Array|Object|string} collection The collection to iterate over. + * @param {Function|Object|string} [callback=identity] The function called + * per iteration. If a property name or object is provided it will be used + * to create a "_.pluck" or "_.where" style callback, respectively. + * @param {*} [thisArg] The `this` binding of `callback`. + * @returns {*} Returns the found element, else `undefined`. + * @example + * + * _.findLast([1, 2, 3, 4], function(num) { + * return num % 2 == 1; + * }); + * // => 3 + */ + function findLast(collection, callback, thisArg) { + var result; + callback = lodash.createCallback(callback, thisArg, 3); + forEachRight(collection, function(value, index, collection) { + if (callback(value, index, collection)) { + result = value; + return false; + } + }); + return result; + } + + /** + * Iterates over elements of a collection, executing the callback for each + * element. The callback is bound to `thisArg` and invoked with three arguments; + * (value, index|key, collection). Callbacks may exit iteration early by + * explicitly returning `false`. + * + * Note: As with other "Collections" methods, objects with a `length` property + * are iterated like arrays. To avoid this behavior `_.forIn` or `_.forOwn` + * may be used for object iteration. + * + * @static + * @memberOf _ + * @alias each + * @category Collections + * @param {Array|Object|string} collection The collection to iterate over. + * @param {Function} [callback=identity] The function called per iteration. + * @param {*} [thisArg] The `this` binding of `callback`. + * @returns {Array|Object|string} Returns `collection`. + * @example + * + * _([1, 2, 3]).forEach(function(num) { console.log(num); }).join(','); + * // => logs each number and returns '1,2,3' + * + * _.forEach({ 'one': 1, 'two': 2, 'three': 3 }, function(num) { console.log(num); }); + * // => logs each number and returns the object (property order is not guaranteed across environments) + */ + function forEach(collection, callback, thisArg) { + if (callback && typeof thisArg == 'undefined' && isArray(collection)) { + var index = -1, + length = collection.length; + + while (++index < length) { + if (callback(collection[index], index, collection) === false) { + break; + } + } + } else { + baseEach(collection, callback, thisArg); + } + return collection; + } + + /** + * This method is like `_.forEach` except that it iterates over elements + * of a `collection` from right to left. + * + * @static + * @memberOf _ + * @alias eachRight + * @category Collections + * @param {Array|Object|string} collection The collection to iterate over. + * @param {Function} [callback=identity] The function called per iteration. + * @param {*} [thisArg] The `this` binding of `callback`. + * @returns {Array|Object|string} Returns `collection`. + * @example + * + * _([1, 2, 3]).forEachRight(function(num) { console.log(num); }).join(','); + * // => logs each number from right to left and returns '3,2,1' + */ + function forEachRight(collection, callback, thisArg) { + var iterable = collection, + length = collection ? collection.length : 0; + + callback = callback && typeof thisArg == 'undefined' ? callback : baseCreateCallback(callback, thisArg, 3); + if (isArray(collection)) { + while (length--) { + if (callback(collection[length], length, collection) === false) { + break; + } + } + } else { + if (typeof length != 'number') { + var props = keys(collection); + length = props.length; + } else if (support.unindexedChars && isString(collection)) { + iterable = collection.split(''); + } + baseEach(collection, function(value, key, collection) { + key = props ? props[--length] : --length; + return callback(iterable[key], key, collection); + }); + } + return collection; + } + + /** + * Creates an object composed of keys generated from the results of running + * each element of a collection through the callback. The corresponding value + * of each key is an array of the elements responsible for generating the key. + * The callback is bound to `thisArg` and invoked with three arguments; + * (value, index|key, collection). + * + * If a property name is provided for `callback` the created "_.pluck" style + * callback will return the property value of the given element. + * + * If an object is provided for `callback` the created "_.where" style callback + * will return `true` for elements that have the properties of the given object, + * else `false` + * + * @static + * @memberOf _ + * @category Collections + * @param {Array|Object|string} collection The collection to iterate over. + * @param {Function|Object|string} [callback=identity] The function called + * per iteration. If a property name or object is provided it will be used + * to create a "_.pluck" or "_.where" style callback, respectively. + * @param {*} [thisArg] The `this` binding of `callback`. + * @returns {Object} Returns the composed aggregate object. + * @example + * + * _.groupBy([4.2, 6.1, 6.4], function(num) { return Math.floor(num); }); + * // => { '4': [4.2], '6': [6.1, 6.4] } + * + * _.groupBy([4.2, 6.1, 6.4], function(num) { return this.floor(num); }, Math); + * // => { '4': [4.2], '6': [6.1, 6.4] } + * + * // using "_.pluck" callback shorthand + * _.groupBy(['one', 'two', 'three'], 'length'); + * // => { '3': ['one', 'two'], '5': ['three'] } + */ + var groupBy = createAggregator(function(result, value, key) { + (hasOwnProperty.call(result, key) ? result[key] : result[key] = []).push(value); + }); + + /** + * Creates an object composed of keys generated from the results of running + * each element of the collection through the given callback. The corresponding + * value of each key is the last element responsible for generating the key. + * The callback is bound to `thisArg` and invoked with three arguments; + * (value, index|key, collection). + * + * If a property name is provided for `callback` the created "_.pluck" style + * callback will return the property value of the given element. + * + * If an object is provided for `callback` the created "_.where" style callback + * will return `true` for elements that have the properties of the given object, + * else `false`. + * + * @static + * @memberOf _ + * @category Collections + * @param {Array|Object|string} collection The collection to iterate over. + * @param {Function|Object|string} [callback=identity] The function called + * per iteration. If a property name or object is provided it will be used + * to create a "_.pluck" or "_.where" style callback, respectively. + * @param {*} [thisArg] The `this` binding of `callback`. + * @returns {Object} Returns the composed aggregate object. + * @example + * + * var keys = [ + * { 'dir': 'left', 'code': 97 }, + * { 'dir': 'right', 'code': 100 } + * ]; + * + * _.indexBy(keys, 'dir'); + * // => { 'left': { 'dir': 'left', 'code': 97 }, 'right': { 'dir': 'right', 'code': 100 } } + * + * _.indexBy(keys, function(key) { return String.fromCharCode(key.code); }); + * // => { 'a': { 'dir': 'left', 'code': 97 }, 'd': { 'dir': 'right', 'code': 100 } } + * + * _.indexBy(characters, function(key) { this.fromCharCode(key.code); }, String); + * // => { 'a': { 'dir': 'left', 'code': 97 }, 'd': { 'dir': 'right', 'code': 100 } } + */ + var indexBy = createAggregator(function(result, value, key) { + result[key] = value; + }); + + /** + * Invokes the method named by `methodName` on each element in the `collection` + * returning an array of the results of each invoked method. Additional arguments + * will be provided to each invoked method. If `methodName` is a function it + * will be invoked for, and `this` bound to, each element in the `collection`. + * + * @static + * @memberOf _ + * @category Collections + * @param {Array|Object|string} collection The collection to iterate over. + * @param {Function|string} methodName The name of the method to invoke or + * the function invoked per iteration. + * @param {...*} [arg] Arguments to invoke the method with. + * @returns {Array} Returns a new array of the results of each invoked method. + * @example + * + * _.invoke([[5, 1, 7], [3, 2, 1]], 'sort'); + * // => [[1, 5, 7], [1, 2, 3]] + * + * _.invoke([123, 456], String.prototype.split, ''); + * // => [['1', '2', '3'], ['4', '5', '6']] + */ + function invoke(collection, methodName) { + var args = slice(arguments, 2), + index = -1, + isFunc = typeof methodName == 'function', + length = collection ? collection.length : 0, + result = Array(typeof length == 'number' ? length : 0); + + forEach(collection, function(value) { + result[++index] = (isFunc ? methodName : value[methodName]).apply(value, args); + }); + return result; + } + + /** + * Creates an array of values by running each element in the collection + * through the callback. The callback is bound to `thisArg` and invoked with + * three arguments; (value, index|key, collection). + * + * If a property name is provided for `callback` the created "_.pluck" style + * callback will return the property value of the given element. + * + * If an object is provided for `callback` the created "_.where" style callback + * will return `true` for elements that have the properties of the given object, + * else `false`. + * + * @static + * @memberOf _ + * @alias collect + * @category Collections + * @param {Array|Object|string} collection The collection to iterate over. + * @param {Function|Object|string} [callback=identity] The function called + * per iteration. If a property name or object is provided it will be used + * to create a "_.pluck" or "_.where" style callback, respectively. + * @param {*} [thisArg] The `this` binding of `callback`. + * @returns {Array} Returns a new array of the results of each `callback` execution. + * @example + * + * _.map([1, 2, 3], function(num) { return num * 3; }); + * // => [3, 6, 9] + * + * _.map({ 'one': 1, 'two': 2, 'three': 3 }, function(num) { return num * 3; }); + * // => [3, 6, 9] (property order is not guaranteed across environments) + * + * var characters = [ + * { 'name': 'barney', 'age': 36 }, + * { 'name': 'fred', 'age': 40 } + * ]; + * + * // using "_.pluck" callback shorthand + * _.map(characters, 'name'); + * // => ['barney', 'fred'] + */ + function map(collection, callback, thisArg) { + var index = -1, + length = collection ? collection.length : 0, + result = Array(typeof length == 'number' ? length : 0); + + callback = lodash.createCallback(callback, thisArg, 3); + if (isArray(collection)) { + while (++index < length) { + result[index] = callback(collection[index], index, collection); + } + } else { + baseEach(collection, function(value, key, collection) { + result[++index] = callback(value, key, collection); + }); + } + return result; + } + + /** + * Retrieves the maximum value of a collection. If the collection is empty or + * falsey `-Infinity` is returned. If a callback is provided it will be executed + * for each value in the collection to generate the criterion by which the value + * is ranked. The callback is bound to `thisArg` and invoked with three + * arguments; (value, index, collection). + * + * If a property name is provided for `callback` the created "_.pluck" style + * callback will return the property value of the given element. + * + * If an object is provided for `callback` the created "_.where" style callback + * will return `true` for elements that have the properties of the given object, + * else `false`. + * + * @static + * @memberOf _ + * @category Collections + * @param {Array|Object|string} collection The collection to iterate over. + * @param {Function|Object|string} [callback=identity] The function called + * per iteration. If a property name or object is provided it will be used + * to create a "_.pluck" or "_.where" style callback, respectively. + * @param {*} [thisArg] The `this` binding of `callback`. + * @returns {*} Returns the maximum value. + * @example + * + * _.max([4, 2, 8, 6]); + * // => 8 + * + * var characters = [ + * { 'name': 'barney', 'age': 36 }, + * { 'name': 'fred', 'age': 40 } + * ]; + * + * _.max(characters, function(chr) { return chr.age; }); + * // => { 'name': 'fred', 'age': 40 }; + * + * // using "_.pluck" callback shorthand + * _.max(characters, 'age'); + * // => { 'name': 'fred', 'age': 40 }; + */ + function max(collection, callback, thisArg) { + var computed = -Infinity, + result = computed; + + // allows working with functions like `_.map` without using + // their `index` argument as a callback + if (typeof callback != 'function' && thisArg && thisArg[callback] === collection) { + callback = null; + } + if (callback == null && isArray(collection)) { + var index = -1, + length = collection.length; + + while (++index < length) { + var value = collection[index]; + if (value > result) { + result = value; + } + } + } else { + callback = (callback == null && isString(collection)) + ? charAtCallback + : lodash.createCallback(callback, thisArg, 3); + + baseEach(collection, function(value, index, collection) { + var current = callback(value, index, collection); + if (current > computed) { + computed = current; + result = value; + } + }); + } + return result; + } + + /** + * Retrieves the minimum value of a collection. If the collection is empty or + * falsey `Infinity` is returned. If a callback is provided it will be executed + * for each value in the collection to generate the criterion by which the value + * is ranked. The callback is bound to `thisArg` and invoked with three + * arguments; (value, index, collection). + * + * If a property name is provided for `callback` the created "_.pluck" style + * callback will return the property value of the given element. + * + * If an object is provided for `callback` the created "_.where" style callback + * will return `true` for elements that have the properties of the given object, + * else `false`. + * + * @static + * @memberOf _ + * @category Collections + * @param {Array|Object|string} collection The collection to iterate over. + * @param {Function|Object|string} [callback=identity] The function called + * per iteration. If a property name or object is provided it will be used + * to create a "_.pluck" or "_.where" style callback, respectively. + * @param {*} [thisArg] The `this` binding of `callback`. + * @returns {*} Returns the minimum value. + * @example + * + * _.min([4, 2, 8, 6]); + * // => 2 + * + * var characters = [ + * { 'name': 'barney', 'age': 36 }, + * { 'name': 'fred', 'age': 40 } + * ]; + * + * _.min(characters, function(chr) { return chr.age; }); + * // => { 'name': 'barney', 'age': 36 }; + * + * // using "_.pluck" callback shorthand + * _.min(characters, 'age'); + * // => { 'name': 'barney', 'age': 36 }; + */ + function min(collection, callback, thisArg) { + var computed = Infinity, + result = computed; + + // allows working with functions like `_.map` without using + // their `index` argument as a callback + if (typeof callback != 'function' && thisArg && thisArg[callback] === collection) { + callback = null; + } + if (callback == null && isArray(collection)) { + var index = -1, + length = collection.length; + + while (++index < length) { + var value = collection[index]; + if (value < result) { + result = value; + } + } + } else { + callback = (callback == null && isString(collection)) + ? charAtCallback + : lodash.createCallback(callback, thisArg, 3); + + baseEach(collection, function(value, index, collection) { + var current = callback(value, index, collection); + if (current < computed) { + computed = current; + result = value; + } + }); + } + return result; + } + + /** + * Retrieves the value of a specified property from all elements in the collection. + * + * @static + * @memberOf _ + * @type Function + * @category Collections + * @param {Array|Object|string} collection The collection to iterate over. + * @param {string} property The name of the property to pluck. + * @returns {Array} Returns a new array of property values. + * @example + * + * var characters = [ + * { 'name': 'barney', 'age': 36 }, + * { 'name': 'fred', 'age': 40 } + * ]; + * + * _.pluck(characters, 'name'); + * // => ['barney', 'fred'] + */ + var pluck = map; + + /** + * Reduces a collection to a value which is the accumulated result of running + * each element in the collection through the callback, where each successive + * callback execution consumes the return value of the previous execution. If + * `accumulator` is not provided the first element of the collection will be + * used as the initial `accumulator` value. The callback is bound to `thisArg` + * and invoked with four arguments; (accumulator, value, index|key, collection). + * + * @static + * @memberOf _ + * @alias foldl, inject + * @category Collections + * @param {Array|Object|string} collection The collection to iterate over. + * @param {Function} [callback=identity] The function called per iteration. + * @param {*} [accumulator] Initial value of the accumulator. + * @param {*} [thisArg] The `this` binding of `callback`. + * @returns {*} Returns the accumulated value. + * @example + * + * var sum = _.reduce([1, 2, 3], function(sum, num) { + * return sum + num; + * }); + * // => 6 + * + * var mapped = _.reduce({ 'a': 1, 'b': 2, 'c': 3 }, function(result, num, key) { + * result[key] = num * 3; + * return result; + * }, {}); + * // => { 'a': 3, 'b': 6, 'c': 9 } + */ + function reduce(collection, callback, accumulator, thisArg) { + var noaccum = arguments.length < 3; + callback = lodash.createCallback(callback, thisArg, 4); + + if (isArray(collection)) { + var index = -1, + length = collection.length; + + if (noaccum) { + accumulator = collection[++index]; + } + while (++index < length) { + accumulator = callback(accumulator, collection[index], index, collection); + } + } else { + baseEach(collection, function(value, index, collection) { + accumulator = noaccum + ? (noaccum = false, value) + : callback(accumulator, value, index, collection) + }); + } + return accumulator; + } + + /** + * This method is like `_.reduce` except that it iterates over elements + * of a `collection` from right to left. + * + * @static + * @memberOf _ + * @alias foldr + * @category Collections + * @param {Array|Object|string} collection The collection to iterate over. + * @param {Function} [callback=identity] The function called per iteration. + * @param {*} [accumulator] Initial value of the accumulator. + * @param {*} [thisArg] The `this` binding of `callback`. + * @returns {*} Returns the accumulated value. + * @example + * + * var list = [[0, 1], [2, 3], [4, 5]]; + * var flat = _.reduceRight(list, function(a, b) { return a.concat(b); }, []); + * // => [4, 5, 2, 3, 0, 1] + */ + function reduceRight(collection, callback, accumulator, thisArg) { + var noaccum = arguments.length < 3; + callback = lodash.createCallback(callback, thisArg, 4); + forEachRight(collection, function(value, index, collection) { + accumulator = noaccum + ? (noaccum = false, value) + : callback(accumulator, value, index, collection); + }); + return accumulator; + } + + /** + * The opposite of `_.filter` this method returns the elements of a + * collection that the callback does **not** return truey for. + * + * If a property name is provided for `callback` the created "_.pluck" style + * callback will return the property value of the given element. + * + * If an object is provided for `callback` the created "_.where" style callback + * will return `true` for elements that have the properties of the given object, + * else `false`. + * + * @static + * @memberOf _ + * @category Collections + * @param {Array|Object|string} collection The collection to iterate over. + * @param {Function|Object|string} [callback=identity] The function called + * per iteration. If a property name or object is provided it will be used + * to create a "_.pluck" or "_.where" style callback, respectively. + * @param {*} [thisArg] The `this` binding of `callback`. + * @returns {Array} Returns a new array of elements that failed the callback check. + * @example + * + * var odds = _.reject([1, 2, 3, 4, 5, 6], function(num) { return num % 2 == 0; }); + * // => [1, 3, 5] + * + * var characters = [ + * { 'name': 'barney', 'age': 36, 'blocked': false }, + * { 'name': 'fred', 'age': 40, 'blocked': true } + * ]; + * + * // using "_.pluck" callback shorthand + * _.reject(characters, 'blocked'); + * // => [{ 'name': 'barney', 'age': 36, 'blocked': false }] + * + * // using "_.where" callback shorthand + * _.reject(characters, { 'age': 36 }); + * // => [{ 'name': 'fred', 'age': 40, 'blocked': true }] + */ + function reject(collection, callback, thisArg) { + callback = lodash.createCallback(callback, thisArg, 3); + return filter(collection, function(value, index, collection) { + return !callback(value, index, collection); + }); + } + + /** + * Retrieves a random element or `n` random elements from a collection. + * + * @static + * @memberOf _ + * @category Collections + * @param {Array|Object|string} collection The collection to sample. + * @param {number} [n] The number of elements to sample. + * @param- {Object} [guard] Allows working with functions like `_.map` + * without using their `index` arguments as `n`. + * @returns {Array} Returns the random sample(s) of `collection`. + * @example + * + * _.sample([1, 2, 3, 4]); + * // => 2 + * + * _.sample([1, 2, 3, 4], 2); + * // => [3, 1] + */ + function sample(collection, n, guard) { + if (collection && typeof collection.length != 'number') { + collection = values(collection); + } else if (support.unindexedChars && isString(collection)) { + collection = collection.split(''); + } + if (n == null || guard) { + return collection ? collection[baseRandom(0, collection.length - 1)] : undefined; + } + var result = shuffle(collection); + result.length = nativeMin(nativeMax(0, n), result.length); + return result; + } + + /** + * Creates an array of shuffled values, using a version of the Fisher-Yates + * shuffle. See http://en.wikipedia.org/wiki/Fisher-Yates_shuffle. + * + * @static + * @memberOf _ + * @category Collections + * @param {Array|Object|string} collection The collection to shuffle. + * @returns {Array} Returns a new shuffled collection. + * @example + * + * _.shuffle([1, 2, 3, 4, 5, 6]); + * // => [4, 1, 6, 3, 5, 2] + */ + function shuffle(collection) { + var index = -1, + length = collection ? collection.length : 0, + result = Array(typeof length == 'number' ? length : 0); + + forEach(collection, function(value) { + var rand = baseRandom(0, ++index); + result[index] = result[rand]; + result[rand] = value; + }); + return result; + } + + /** + * Gets the size of the `collection` by returning `collection.length` for arrays + * and array-like objects or the number of own enumerable properties for objects. + * + * @static + * @memberOf _ + * @category Collections + * @param {Array|Object|string} collection The collection to inspect. + * @returns {number} Returns `collection.length` or number of own enumerable properties. + * @example + * + * _.size([1, 2]); + * // => 2 + * + * _.size({ 'one': 1, 'two': 2, 'three': 3 }); + * // => 3 + * + * _.size('pebbles'); + * // => 7 + */ + function size(collection) { + var length = collection ? collection.length : 0; + return typeof length == 'number' ? length : keys(collection).length; + } + + /** + * Checks if the callback returns a truey value for **any** element of a + * collection. The function returns as soon as it finds a passing value and + * does not iterate over the entire collection. The callback is bound to + * `thisArg` and invoked with three arguments; (value, index|key, collection). + * + * If a property name is provided for `callback` the created "_.pluck" style + * callback will return the property value of the given element. + * + * If an object is provided for `callback` the created "_.where" style callback + * will return `true` for elements that have the properties of the given object, + * else `false`. + * + * @static + * @memberOf _ + * @alias any + * @category Collections + * @param {Array|Object|string} collection The collection to iterate over. + * @param {Function|Object|string} [callback=identity] The function called + * per iteration. If a property name or object is provided it will be used + * to create a "_.pluck" or "_.where" style callback, respectively. + * @param {*} [thisArg] The `this` binding of `callback`. + * @returns {boolean} Returns `true` if any element passed the callback check, + * else `false`. + * @example + * + * _.some([null, 0, 'yes', false], Boolean); + * // => true + * + * var characters = [ + * { 'name': 'barney', 'age': 36, 'blocked': false }, + * { 'name': 'fred', 'age': 40, 'blocked': true } + * ]; + * + * // using "_.pluck" callback shorthand + * _.some(characters, 'blocked'); + * // => true + * + * // using "_.where" callback shorthand + * _.some(characters, { 'age': 1 }); + * // => false + */ + function some(collection, callback, thisArg) { + var result; + callback = lodash.createCallback(callback, thisArg, 3); + + if (isArray(collection)) { + var index = -1, + length = collection.length; + + while (++index < length) { + if ((result = callback(collection[index], index, collection))) { + break; + } + } + } else { + baseEach(collection, function(value, index, collection) { + return !(result = callback(value, index, collection)); + }); + } + return !!result; + } + + /** + * Creates an array of elements, sorted in ascending order by the results of + * running each element in a collection through the callback. This method + * performs a stable sort, that is, it will preserve the original sort order + * of equal elements. The callback is bound to `thisArg` and invoked with + * three arguments; (value, index|key, collection). + * + * If a property name is provided for `callback` the created "_.pluck" style + * callback will return the property value of the given element. + * + * If an array of property names is provided for `callback` the collection + * will be sorted by each property value. + * + * If an object is provided for `callback` the created "_.where" style callback + * will return `true` for elements that have the properties of the given object, + * else `false`. + * + * @static + * @memberOf _ + * @category Collections + * @param {Array|Object|string} collection The collection to iterate over. + * @param {Array|Function|Object|string} [callback=identity] The function called + * per iteration. If a property name or object is provided it will be used + * to create a "_.pluck" or "_.where" style callback, respectively. + * @param {*} [thisArg] The `this` binding of `callback`. + * @returns {Array} Returns a new array of sorted elements. + * @example + * + * _.sortBy([1, 2, 3], function(num) { return Math.sin(num); }); + * // => [3, 1, 2] + * + * _.sortBy([1, 2, 3], function(num) { return this.sin(num); }, Math); + * // => [3, 1, 2] + * + * var characters = [ + * { 'name': 'barney', 'age': 36 }, + * { 'name': 'fred', 'age': 40 }, + * { 'name': 'barney', 'age': 26 }, + * { 'name': 'fred', 'age': 30 } + * ]; + * + * // using "_.pluck" callback shorthand + * _.map(_.sortBy(characters, 'age'), _.values); + * // => [['barney', 26], ['fred', 30], ['barney', 36], ['fred', 40]] + * + * // sorting by multiple properties + * _.map(_.sortBy(characters, ['name', 'age']), _.values); + * // = > [['barney', 26], ['barney', 36], ['fred', 30], ['fred', 40]] + */ + function sortBy(collection, callback, thisArg) { + var index = -1, + isArr = isArray(callback), + length = collection ? collection.length : 0, + result = Array(typeof length == 'number' ? length : 0); + + if (!isArr) { + callback = lodash.createCallback(callback, thisArg, 3); + } + forEach(collection, function(value, key, collection) { + var object = result[++index] = getObject(); + if (isArr) { + object.criteria = map(callback, function(key) { return value[key]; }); + } else { + (object.criteria = getArray())[0] = callback(value, key, collection); + } + object.index = index; + object.value = value; + }); + + length = result.length; + result.sort(compareAscending); + while (length--) { + var object = result[length]; + result[length] = object.value; + if (!isArr) { + releaseArray(object.criteria); + } + releaseObject(object); + } + return result; + } + + /** + * Converts the `collection` to an array. + * + * @static + * @memberOf _ + * @category Collections + * @param {Array|Object|string} collection The collection to convert. + * @returns {Array} Returns the new converted array. + * @example + * + * (function() { return _.toArray(arguments).slice(1); })(1, 2, 3, 4); + * // => [2, 3, 4] + */ + function toArray(collection) { + if (collection && typeof collection.length == 'number') { + return (support.unindexedChars && isString(collection)) + ? collection.split('') + : slice(collection); + } + return values(collection); + } + + /** + * Performs a deep comparison of each element in a `collection` to the given + * `properties` object, returning an array of all elements that have equivalent + * property values. + * + * @static + * @memberOf _ + * @type Function + * @category Collections + * @param {Array|Object|string} collection The collection to iterate over. + * @param {Object} props The object of property values to filter by. + * @returns {Array} Returns a new array of elements that have the given properties. + * @example + * + * var characters = [ + * { 'name': 'barney', 'age': 36, 'pets': ['hoppy'] }, + * { 'name': 'fred', 'age': 40, 'pets': ['baby puss', 'dino'] } + * ]; + * + * _.where(characters, { 'age': 36 }); + * // => [{ 'name': 'barney', 'age': 36, 'pets': ['hoppy'] }] + * + * _.where(characters, { 'pets': ['dino'] }); + * // => [{ 'name': 'fred', 'age': 40, 'pets': ['baby puss', 'dino'] }] + */ + var where = filter; + + /*--------------------------------------------------------------------------*/ + + /** + * Creates an array with all falsey values removed. The values `false`, `null`, + * `0`, `""`, `undefined`, and `NaN` are all falsey. + * + * @static + * @memberOf _ + * @category Arrays + * @param {Array} array The array to compact. + * @returns {Array} Returns a new array of filtered values. + * @example + * + * _.compact([0, 1, false, 2, '', 3]); + * // => [1, 2, 3] + */ + function compact(array) { + var index = -1, + length = array ? array.length : 0, + result = []; + + while (++index < length) { + var value = array[index]; + if (value) { + result.push(value); + } + } + return result; + } + + /** + * Creates an array excluding all values of the provided arrays using strict + * equality for comparisons, i.e. `===`. + * + * @static + * @memberOf _ + * @category Arrays + * @param {Array} array The array to process. + * @param {...Array} [values] The arrays of values to exclude. + * @returns {Array} Returns a new array of filtered values. + * @example + * + * _.difference([1, 2, 3, 4, 5], [5, 2, 10]); + * // => [1, 3, 4] + */ + function difference(array) { + return baseDifference(array, baseFlatten(arguments, true, true, 1)); + } + + /** + * This method is like `_.find` except that it returns the index of the first + * element that passes the callback check, instead of the element itself. + * + * If a property name is provided for `callback` the created "_.pluck" style + * callback will return the property value of the given element. + * + * If an object is provided for `callback` the created "_.where" style callback + * will return `true` for elements that have the properties of the given object, + * else `false`. + * + * @static + * @memberOf _ + * @category Arrays + * @param {Array} array The array to search. + * @param {Function|Object|string} [callback=identity] The function called + * per iteration. If a property name or object is provided it will be used + * to create a "_.pluck" or "_.where" style callback, respectively. + * @param {*} [thisArg] The `this` binding of `callback`. + * @returns {number} Returns the index of the found element, else `-1`. + * @example + * + * var characters = [ + * { 'name': 'barney', 'age': 36, 'blocked': false }, + * { 'name': 'fred', 'age': 40, 'blocked': true }, + * { 'name': 'pebbles', 'age': 1, 'blocked': false } + * ]; + * + * _.findIndex(characters, function(chr) { + * return chr.age < 20; + * }); + * // => 2 + * + * // using "_.where" callback shorthand + * _.findIndex(characters, { 'age': 36 }); + * // => 0 + * + * // using "_.pluck" callback shorthand + * _.findIndex(characters, 'blocked'); + * // => 1 + */ + function findIndex(array, callback, thisArg) { + var index = -1, + length = array ? array.length : 0; + + callback = lodash.createCallback(callback, thisArg, 3); + while (++index < length) { + if (callback(array[index], index, array)) { + return index; + } + } + return -1; + } + + /** + * This method is like `_.findIndex` except that it iterates over elements + * of a `collection` from right to left. + * + * If a property name is provided for `callback` the created "_.pluck" style + * callback will return the property value of the given element. + * + * If an object is provided for `callback` the created "_.where" style callback + * will return `true` for elements that have the properties of the given object, + * else `false`. + * + * @static + * @memberOf _ + * @category Arrays + * @param {Array} array The array to search. + * @param {Function|Object|string} [callback=identity] The function called + * per iteration. If a property name or object is provided it will be used + * to create a "_.pluck" or "_.where" style callback, respectively. + * @param {*} [thisArg] The `this` binding of `callback`. + * @returns {number} Returns the index of the found element, else `-1`. + * @example + * + * var characters = [ + * { 'name': 'barney', 'age': 36, 'blocked': true }, + * { 'name': 'fred', 'age': 40, 'blocked': false }, + * { 'name': 'pebbles', 'age': 1, 'blocked': true } + * ]; + * + * _.findLastIndex(characters, function(chr) { + * return chr.age > 30; + * }); + * // => 1 + * + * // using "_.where" callback shorthand + * _.findLastIndex(characters, { 'age': 36 }); + * // => 0 + * + * // using "_.pluck" callback shorthand + * _.findLastIndex(characters, 'blocked'); + * // => 2 + */ + function findLastIndex(array, callback, thisArg) { + var length = array ? array.length : 0; + callback = lodash.createCallback(callback, thisArg, 3); + while (length--) { + if (callback(array[length], length, array)) { + return length; + } + } + return -1; + } + + /** + * Gets the first element or first `n` elements of an array. If a callback + * is provided elements at the beginning of the array are returned as long + * as the callback returns truey. The callback is bound to `thisArg` and + * invoked with three arguments; (value, index, array). + * + * If a property name is provided for `callback` the created "_.pluck" style + * callback will return the property value of the given element. + * + * If an object is provided for `callback` the created "_.where" style callback + * will return `true` for elements that have the properties of the given object, + * else `false`. + * + * @static + * @memberOf _ + * @alias head, take + * @category Arrays + * @param {Array} array The array to query. + * @param {Function|Object|number|string} [callback] The function called + * per element or the number of elements to return. If a property name or + * object is provided it will be used to create a "_.pluck" or "_.where" + * style callback, respectively. + * @param {*} [thisArg] The `this` binding of `callback`. + * @returns {*} Returns the first element(s) of `array`. + * @example + * + * _.first([1, 2, 3]); + * // => 1 + * + * _.first([1, 2, 3], 2); + * // => [1, 2] + * + * _.first([1, 2, 3], function(num) { + * return num < 3; + * }); + * // => [1, 2] + * + * var characters = [ + * { 'name': 'barney', 'blocked': true, 'employer': 'slate' }, + * { 'name': 'fred', 'blocked': false, 'employer': 'slate' }, + * { 'name': 'pebbles', 'blocked': true, 'employer': 'na' } + * ]; + * + * // using "_.pluck" callback shorthand + * _.first(characters, 'blocked'); + * // => [{ 'name': 'barney', 'blocked': true, 'employer': 'slate' }] + * + * // using "_.where" callback shorthand + * _.pluck(_.first(characters, { 'employer': 'slate' }), 'name'); + * // => ['barney', 'fred'] + */ + function first(array, callback, thisArg) { + var n = 0, + length = array ? array.length : 0; + + if (typeof callback != 'number' && callback != null) { + var index = -1; + callback = lodash.createCallback(callback, thisArg, 3); + while (++index < length && callback(array[index], index, array)) { + n++; + } + } else { + n = callback; + if (n == null || thisArg) { + return array ? array[0] : undefined; + } + } + return slice(array, 0, nativeMin(nativeMax(0, n), length)); + } + + /** + * Flattens a nested array (the nesting can be to any depth). If `isShallow` + * is truey, the array will only be flattened a single level. If a callback + * is provided each element of the array is passed through the callback before + * flattening. The callback is bound to `thisArg` and invoked with three + * arguments; (value, index, array). + * + * If a property name is provided for `callback` the created "_.pluck" style + * callback will return the property value of the given element. + * + * If an object is provided for `callback` the created "_.where" style callback + * will return `true` for elements that have the properties of the given object, + * else `false`. + * + * @static + * @memberOf _ + * @category Arrays + * @param {Array} array The array to flatten. + * @param {boolean} [isShallow=false] A flag to restrict flattening to a single level. + * @param {Function|Object|string} [callback=identity] The function called + * per iteration. If a property name or object is provided it will be used + * to create a "_.pluck" or "_.where" style callback, respectively. + * @param {*} [thisArg] The `this` binding of `callback`. + * @returns {Array} Returns a new flattened array. + * @example + * + * _.flatten([1, [2], [3, [[4]]]]); + * // => [1, 2, 3, 4]; + * + * _.flatten([1, [2], [3, [[4]]]], true); + * // => [1, 2, 3, [[4]]]; + * + * var characters = [ + * { 'name': 'barney', 'age': 30, 'pets': ['hoppy'] }, + * { 'name': 'fred', 'age': 40, 'pets': ['baby puss', 'dino'] } + * ]; + * + * // using "_.pluck" callback shorthand + * _.flatten(characters, 'pets'); + * // => ['hoppy', 'baby puss', 'dino'] + */ + function flatten(array, isShallow, callback, thisArg) { + // juggle arguments + if (typeof isShallow != 'boolean' && isShallow != null) { + thisArg = callback; + callback = (typeof isShallow != 'function' && thisArg && thisArg[isShallow] === array) ? null : isShallow; + isShallow = false; + } + if (callback != null) { + array = map(array, callback, thisArg); + } + return baseFlatten(array, isShallow); + } + + /** + * Gets the index at which the first occurrence of `value` is found using + * strict equality for comparisons, i.e. `===`. If the array is already sorted + * providing `true` for `fromIndex` will run a faster binary search. + * + * @static + * @memberOf _ + * @category Arrays + * @param {Array} array The array to search. + * @param {*} value The value to search for. + * @param {boolean|number} [fromIndex=0] The index to search from or `true` + * to perform a binary search on a sorted array. + * @returns {number} Returns the index of the matched value or `-1`. + * @example + * + * _.indexOf([1, 2, 3, 1, 2, 3], 2); + * // => 1 + * + * _.indexOf([1, 2, 3, 1, 2, 3], 2, 3); + * // => 4 + * + * _.indexOf([1, 1, 2, 2, 3, 3], 2, true); + * // => 2 + */ + function indexOf(array, value, fromIndex) { + if (typeof fromIndex == 'number') { + var length = array ? array.length : 0; + fromIndex = (fromIndex < 0 ? nativeMax(0, length + fromIndex) : fromIndex || 0); + } else if (fromIndex) { + var index = sortedIndex(array, value); + return array[index] === value ? index : -1; + } + return baseIndexOf(array, value, fromIndex); + } + + /** + * Gets all but the last element or last `n` elements of an array. If a + * callback is provided elements at the end of the array are excluded from + * the result as long as the callback returns truey. The callback is bound + * to `thisArg` and invoked with three arguments; (value, index, array). + * + * If a property name is provided for `callback` the created "_.pluck" style + * callback will return the property value of the given element. + * + * If an object is provided for `callback` the created "_.where" style callback + * will return `true` for elements that have the properties of the given object, + * else `false`. + * + * @static + * @memberOf _ + * @category Arrays + * @param {Array} array The array to query. + * @param {Function|Object|number|string} [callback=1] The function called + * per element or the number of elements to exclude. If a property name or + * object is provided it will be used to create a "_.pluck" or "_.where" + * style callback, respectively. + * @param {*} [thisArg] The `this` binding of `callback`. + * @returns {Array} Returns a slice of `array`. + * @example + * + * _.initial([1, 2, 3]); + * // => [1, 2] + * + * _.initial([1, 2, 3], 2); + * // => [1] + * + * _.initial([1, 2, 3], function(num) { + * return num > 1; + * }); + * // => [1] + * + * var characters = [ + * { 'name': 'barney', 'blocked': false, 'employer': 'slate' }, + * { 'name': 'fred', 'blocked': true, 'employer': 'slate' }, + * { 'name': 'pebbles', 'blocked': true, 'employer': 'na' } + * ]; + * + * // using "_.pluck" callback shorthand + * _.initial(characters, 'blocked'); + * // => [{ 'name': 'barney', 'blocked': false, 'employer': 'slate' }] + * + * // using "_.where" callback shorthand + * _.pluck(_.initial(characters, { 'employer': 'na' }), 'name'); + * // => ['barney', 'fred'] + */ + function initial(array, callback, thisArg) { + var n = 0, + length = array ? array.length : 0; + + if (typeof callback != 'number' && callback != null) { + var index = length; + callback = lodash.createCallback(callback, thisArg, 3); + while (index-- && callback(array[index], index, array)) { + n++; + } + } else { + n = (callback == null || thisArg) ? 1 : callback || n; + } + return slice(array, 0, nativeMin(nativeMax(0, length - n), length)); + } + + /** + * Creates an array of unique values present in all provided arrays using + * strict equality for comparisons, i.e. `===`. + * + * @static + * @memberOf _ + * @category Arrays + * @param {...Array} [array] The arrays to inspect. + * @returns {Array} Returns an array of shared values. + * @example + * + * _.intersection([1, 2, 3], [5, 2, 1, 4], [2, 1]); + * // => [1, 2] + */ + function intersection() { + var args = [], + argsIndex = -1, + argsLength = arguments.length, + caches = getArray(), + indexOf = getIndexOf(), + trustIndexOf = indexOf === baseIndexOf, + seen = getArray(); + + while (++argsIndex < argsLength) { + var value = arguments[argsIndex]; + if (isArray(value) || isArguments(value)) { + args.push(value); + caches.push(trustIndexOf && value.length >= largeArraySize && + createCache(argsIndex ? args[argsIndex] : seen)); + } + } + var array = args[0], + index = -1, + length = array ? array.length : 0, + result = []; + + outer: + while (++index < length) { + var cache = caches[0]; + value = array[index]; + + if ((cache ? cacheIndexOf(cache, value) : indexOf(seen, value)) < 0) { + argsIndex = argsLength; + (cache || seen).push(value); + while (--argsIndex) { + cache = caches[argsIndex]; + if ((cache ? cacheIndexOf(cache, value) : indexOf(args[argsIndex], value)) < 0) { + continue outer; + } + } + result.push(value); + } + } + while (argsLength--) { + cache = caches[argsLength]; + if (cache) { + releaseObject(cache); + } + } + releaseArray(caches); + releaseArray(seen); + return result; + } + + /** + * Gets the last element or last `n` elements of an array. If a callback is + * provided elements at the end of the array are returned as long as the + * callback returns truey. The callback is bound to `thisArg` and invoked + * with three arguments; (value, index, array). + * + * If a property name is provided for `callback` the created "_.pluck" style + * callback will return the property value of the given element. + * + * If an object is provided for `callback` the created "_.where" style callback + * will return `true` for elements that have the properties of the given object, + * else `false`. + * + * @static + * @memberOf _ + * @category Arrays + * @param {Array} array The array to query. + * @param {Function|Object|number|string} [callback] The function called + * per element or the number of elements to return. If a property name or + * object is provided it will be used to create a "_.pluck" or "_.where" + * style callback, respectively. + * @param {*} [thisArg] The `this` binding of `callback`. + * @returns {*} Returns the last element(s) of `array`. + * @example + * + * _.last([1, 2, 3]); + * // => 3 + * + * _.last([1, 2, 3], 2); + * // => [2, 3] + * + * _.last([1, 2, 3], function(num) { + * return num > 1; + * }); + * // => [2, 3] + * + * var characters = [ + * { 'name': 'barney', 'blocked': false, 'employer': 'slate' }, + * { 'name': 'fred', 'blocked': true, 'employer': 'slate' }, + * { 'name': 'pebbles', 'blocked': true, 'employer': 'na' } + * ]; + * + * // using "_.pluck" callback shorthand + * _.pluck(_.last(characters, 'blocked'), 'name'); + * // => ['fred', 'pebbles'] + * + * // using "_.where" callback shorthand + * _.last(characters, { 'employer': 'na' }); + * // => [{ 'name': 'pebbles', 'blocked': true, 'employer': 'na' }] + */ + function last(array, callback, thisArg) { + var n = 0, + length = array ? array.length : 0; + + if (typeof callback != 'number' && callback != null) { + var index = length; + callback = lodash.createCallback(callback, thisArg, 3); + while (index-- && callback(array[index], index, array)) { + n++; + } + } else { + n = callback; + if (n == null || thisArg) { + return array ? array[length - 1] : undefined; + } + } + return slice(array, nativeMax(0, length - n)); + } + + /** + * Gets the index at which the last occurrence of `value` is found using strict + * equality for comparisons, i.e. `===`. If `fromIndex` is negative, it is used + * as the offset from the end of the collection. + * + * If a property name is provided for `callback` the created "_.pluck" style + * callback will return the property value of the given element. + * + * If an object is provided for `callback` the created "_.where" style callback + * will return `true` for elements that have the properties of the given object, + * else `false`. + * + * @static + * @memberOf _ + * @category Arrays + * @param {Array} array The array to search. + * @param {*} value The value to search for. + * @param {number} [fromIndex=array.length-1] The index to search from. + * @returns {number} Returns the index of the matched value or `-1`. + * @example + * + * _.lastIndexOf([1, 2, 3, 1, 2, 3], 2); + * // => 4 + * + * _.lastIndexOf([1, 2, 3, 1, 2, 3], 2, 3); + * // => 1 + */ + function lastIndexOf(array, value, fromIndex) { + var index = array ? array.length : 0; + if (typeof fromIndex == 'number') { + index = (fromIndex < 0 ? nativeMax(0, index + fromIndex) : nativeMin(fromIndex, index - 1)) + 1; + } + while (index--) { + if (array[index] === value) { + return index; + } + } + return -1; + } + + /** + * Removes all provided values from the given array using strict equality for + * comparisons, i.e. `===`. + * + * @static + * @memberOf _ + * @category Arrays + * @param {Array} array The array to modify. + * @param {...*} [value] The values to remove. + * @returns {Array} Returns `array`. + * @example + * + * var array = [1, 2, 3, 1, 2, 3]; + * _.pull(array, 2, 3); + * console.log(array); + * // => [1, 1] + */ + function pull(array) { + var args = arguments, + argsIndex = 0, + argsLength = args.length, + length = array ? array.length : 0; + + while (++argsIndex < argsLength) { + var index = -1, + value = args[argsIndex]; + while (++index < length) { + if (array[index] === value) { + splice.call(array, index--, 1); + length--; + } + } + } + return array; + } + + /** + * Creates an array of numbers (positive and/or negative) progressing from + * `start` up to but not including `end`. If `start` is less than `stop` a + * zero-length range is created unless a negative `step` is specified. + * + * @static + * @memberOf _ + * @category Arrays + * @param {number} [start=0] The start of the range. + * @param {number} end The end of the range. + * @param {number} [step=1] The value to increment or decrement by. + * @returns {Array} Returns a new range array. + * @example + * + * _.range(4); + * // => [0, 1, 2, 3] + * + * _.range(1, 5); + * // => [1, 2, 3, 4] + * + * _.range(0, 20, 5); + * // => [0, 5, 10, 15] + * + * _.range(0, -4, -1); + * // => [0, -1, -2, -3] + * + * _.range(1, 4, 0); + * // => [1, 1, 1] + * + * _.range(0); + * // => [] + */ + function range(start, end, step) { + start = +start || 0; + step = typeof step == 'number' ? step : (+step || 1); + + if (end == null) { + end = start; + start = 0; + } + // use `Array(length)` so engines like Chakra and V8 avoid slower modes + // http://youtu.be/XAqIpGU8ZZk#t=17m25s + var index = -1, + length = nativeMax(0, ceil((end - start) / (step || 1))), + result = Array(length); + + while (++index < length) { + result[index] = start; + start += step; + } + return result; + } + + /** + * Removes all elements from an array that the callback returns truey for + * and returns an array of removed elements. The callback is bound to `thisArg` + * and invoked with three arguments; (value, index, array). + * + * If a property name is provided for `callback` the created "_.pluck" style + * callback will return the property value of the given element. + * + * If an object is provided for `callback` the created "_.where" style callback + * will return `true` for elements that have the properties of the given object, + * else `false`. + * + * @static + * @memberOf _ + * @category Arrays + * @param {Array} array The array to modify. + * @param {Function|Object|string} [callback=identity] The function called + * per iteration. If a property name or object is provided it will be used + * to create a "_.pluck" or "_.where" style callback, respectively. + * @param {*} [thisArg] The `this` binding of `callback`. + * @returns {Array} Returns a new array of removed elements. + * @example + * + * var array = [1, 2, 3, 4, 5, 6]; + * var evens = _.remove(array, function(num) { return num % 2 == 0; }); + * + * console.log(array); + * // => [1, 3, 5] + * + * console.log(evens); + * // => [2, 4, 6] + */ + function remove(array, callback, thisArg) { + var index = -1, + length = array ? array.length : 0, + result = []; + + callback = lodash.createCallback(callback, thisArg, 3); + while (++index < length) { + var value = array[index]; + if (callback(value, index, array)) { + result.push(value); + splice.call(array, index--, 1); + length--; + } + } + return result; + } + + /** + * The opposite of `_.initial` this method gets all but the first element or + * first `n` elements of an array. If a callback function is provided elements + * at the beginning of the array are excluded from the result as long as the + * callback returns truey. The callback is bound to `thisArg` and invoked + * with three arguments; (value, index, array). + * + * If a property name is provided for `callback` the created "_.pluck" style + * callback will return the property value of the given element. + * + * If an object is provided for `callback` the created "_.where" style callback + * will return `true` for elements that have the properties of the given object, + * else `false`. + * + * @static + * @memberOf _ + * @alias drop, tail + * @category Arrays + * @param {Array} array The array to query. + * @param {Function|Object|number|string} [callback=1] The function called + * per element or the number of elements to exclude. If a property name or + * object is provided it will be used to create a "_.pluck" or "_.where" + * style callback, respectively. + * @param {*} [thisArg] The `this` binding of `callback`. + * @returns {Array} Returns a slice of `array`. + * @example + * + * _.rest([1, 2, 3]); + * // => [2, 3] + * + * _.rest([1, 2, 3], 2); + * // => [3] + * + * _.rest([1, 2, 3], function(num) { + * return num < 3; + * }); + * // => [3] + * + * var characters = [ + * { 'name': 'barney', 'blocked': true, 'employer': 'slate' }, + * { 'name': 'fred', 'blocked': false, 'employer': 'slate' }, + * { 'name': 'pebbles', 'blocked': true, 'employer': 'na' } + * ]; + * + * // using "_.pluck" callback shorthand + * _.pluck(_.rest(characters, 'blocked'), 'name'); + * // => ['fred', 'pebbles'] + * + * // using "_.where" callback shorthand + * _.rest(characters, { 'employer': 'slate' }); + * // => [{ 'name': 'pebbles', 'blocked': true, 'employer': 'na' }] + */ + function rest(array, callback, thisArg) { + if (typeof callback != 'number' && callback != null) { + var n = 0, + index = -1, + length = array ? array.length : 0; + + callback = lodash.createCallback(callback, thisArg, 3); + while (++index < length && callback(array[index], index, array)) { + n++; + } + } else { + n = (callback == null || thisArg) ? 1 : nativeMax(0, callback); + } + return slice(array, n); + } + + /** + * Uses a binary search to determine the smallest index at which a value + * should be inserted into a given sorted array in order to maintain the sort + * order of the array. If a callback is provided it will be executed for + * `value` and each element of `array` to compute their sort ranking. The + * callback is bound to `thisArg` and invoked with one argument; (value). + * + * If a property name is provided for `callback` the created "_.pluck" style + * callback will return the property value of the given element. + * + * If an object is provided for `callback` the created "_.where" style callback + * will return `true` for elements that have the properties of the given object, + * else `false`. + * + * @static + * @memberOf _ + * @category Arrays + * @param {Array} array The array to inspect. + * @param {*} value The value to evaluate. + * @param {Function|Object|string} [callback=identity] The function called + * per iteration. If a property name or object is provided it will be used + * to create a "_.pluck" or "_.where" style callback, respectively. + * @param {*} [thisArg] The `this` binding of `callback`. + * @returns {number} Returns the index at which `value` should be inserted + * into `array`. + * @example + * + * _.sortedIndex([20, 30, 50], 40); + * // => 2 + * + * // using "_.pluck" callback shorthand + * _.sortedIndex([{ 'x': 20 }, { 'x': 30 }, { 'x': 50 }], { 'x': 40 }, 'x'); + * // => 2 + * + * var dict = { + * 'wordToNumber': { 'twenty': 20, 'thirty': 30, 'fourty': 40, 'fifty': 50 } + * }; + * + * _.sortedIndex(['twenty', 'thirty', 'fifty'], 'fourty', function(word) { + * return dict.wordToNumber[word]; + * }); + * // => 2 + * + * _.sortedIndex(['twenty', 'thirty', 'fifty'], 'fourty', function(word) { + * return this.wordToNumber[word]; + * }, dict); + * // => 2 + */ + function sortedIndex(array, value, callback, thisArg) { + var low = 0, + high = array ? array.length : low; + + // explicitly reference `identity` for better inlining in Firefox + callback = callback ? lodash.createCallback(callback, thisArg, 1) : identity; + value = callback(value); + + while (low < high) { + var mid = (low + high) >>> 1; + (callback(array[mid]) < value) + ? low = mid + 1 + : high = mid; + } + return low; + } + + /** + * Creates an array of unique values, in order, of the provided arrays using + * strict equality for comparisons, i.e. `===`. + * + * @static + * @memberOf _ + * @category Arrays + * @param {...Array} [array] The arrays to inspect. + * @returns {Array} Returns an array of combined values. + * @example + * + * _.union([1, 2, 3], [5, 2, 1, 4], [2, 1]); + * // => [1, 2, 3, 5, 4] + */ + function union() { + return baseUniq(baseFlatten(arguments, true, true)); + } + + /** + * Creates a duplicate-value-free version of an array using strict equality + * for comparisons, i.e. `===`. If the array is sorted, providing + * `true` for `isSorted` will use a faster algorithm. If a callback is provided + * each element of `array` is passed through the callback before uniqueness + * is computed. The callback is bound to `thisArg` and invoked with three + * arguments; (value, index, array). + * + * If a property name is provided for `callback` the created "_.pluck" style + * callback will return the property value of the given element. + * + * If an object is provided for `callback` the created "_.where" style callback + * will return `true` for elements that have the properties of the given object, + * else `false`. + * + * @static + * @memberOf _ + * @alias unique + * @category Arrays + * @param {Array} array The array to process. + * @param {boolean} [isSorted=false] A flag to indicate that `array` is sorted. + * @param {Function|Object|string} [callback=identity] The function called + * per iteration. If a property name or object is provided it will be used + * to create a "_.pluck" or "_.where" style callback, respectively. + * @param {*} [thisArg] The `this` binding of `callback`. + * @returns {Array} Returns a duplicate-value-free array. + * @example + * + * _.uniq([1, 2, 1, 3, 1]); + * // => [1, 2, 3] + * + * _.uniq([1, 1, 2, 2, 3], true); + * // => [1, 2, 3] + * + * _.uniq(['A', 'b', 'C', 'a', 'B', 'c'], function(letter) { return letter.toLowerCase(); }); + * // => ['A', 'b', 'C'] + * + * _.uniq([1, 2.5, 3, 1.5, 2, 3.5], function(num) { return this.floor(num); }, Math); + * // => [1, 2.5, 3] + * + * // using "_.pluck" callback shorthand + * _.uniq([{ 'x': 1 }, { 'x': 2 }, { 'x': 1 }], 'x'); + * // => [{ 'x': 1 }, { 'x': 2 }] + */ + function uniq(array, isSorted, callback, thisArg) { + // juggle arguments + if (typeof isSorted != 'boolean' && isSorted != null) { + thisArg = callback; + callback = (typeof isSorted != 'function' && thisArg && thisArg[isSorted] === array) ? null : isSorted; + isSorted = false; + } + if (callback != null) { + callback = lodash.createCallback(callback, thisArg, 3); + } + return baseUniq(array, isSorted, callback); + } + + /** + * Creates an array excluding all provided values using strict equality for + * comparisons, i.e. `===`. + * + * @static + * @memberOf _ + * @category Arrays + * @param {Array} array The array to filter. + * @param {...*} [value] The values to exclude. + * @returns {Array} Returns a new array of filtered values. + * @example + * + * _.without([1, 2, 1, 0, 3, 1, 4], 0, 1); + * // => [2, 3, 4] + */ + function without(array) { + return baseDifference(array, slice(arguments, 1)); + } + + /** + * Creates an array that is the symmetric difference of the provided arrays. + * See http://en.wikipedia.org/wiki/Symmetric_difference. + * + * @static + * @memberOf _ + * @category Arrays + * @param {...Array} [array] The arrays to inspect. + * @returns {Array} Returns an array of values. + * @example + * + * _.xor([1, 2, 3], [5, 2, 1, 4]); + * // => [3, 5, 4] + * + * _.xor([1, 2, 5], [2, 3, 5], [3, 4, 5]); + * // => [1, 4, 5] + */ + function xor() { + var index = -1, + length = arguments.length; + + while (++index < length) { + var array = arguments[index]; + if (isArray(array) || isArguments(array)) { + var result = result + ? baseUniq(baseDifference(result, array).concat(baseDifference(array, result))) + : array; + } + } + return result || []; + } + + /** + * Creates an array of grouped elements, the first of which contains the first + * elements of the given arrays, the second of which contains the second + * elements of the given arrays, and so on. + * + * @static + * @memberOf _ + * @alias unzip + * @category Arrays + * @param {...Array} [array] Arrays to process. + * @returns {Array} Returns a new array of grouped elements. + * @example + * + * _.zip(['fred', 'barney'], [30, 40], [true, false]); + * // => [['fred', 30, true], ['barney', 40, false]] + */ + function zip() { + var array = arguments.length > 1 ? arguments : arguments[0], + index = -1, + length = array ? max(pluck(array, 'length')) : 0, + result = Array(length < 0 ? 0 : length); + + while (++index < length) { + result[index] = pluck(array, index); + } + return result; + } + + /** + * Creates an object composed from arrays of `keys` and `values`. Provide + * either a single two dimensional array, i.e. `[[key1, value1], [key2, value2]]` + * or two arrays, one of `keys` and one of corresponding `values`. + * + * @static + * @memberOf _ + * @alias object + * @category Arrays + * @param {Array} keys The array of keys. + * @param {Array} [values=[]] The array of values. + * @returns {Object} Returns an object composed of the given keys and + * corresponding values. + * @example + * + * _.zipObject(['fred', 'barney'], [30, 40]); + * // => { 'fred': 30, 'barney': 40 } + */ + function zipObject(keys, values) { + var index = -1, + length = keys ? keys.length : 0, + result = {}; + + if (!values && length && !isArray(keys[0])) { + values = []; + } + while (++index < length) { + var key = keys[index]; + if (values) { + result[key] = values[index]; + } else if (key) { + result[key[0]] = key[1]; + } + } + return result; + } + + /*--------------------------------------------------------------------------*/ + + /** + * Creates a function that executes `func`, with the `this` binding and + * arguments of the created function, only after being called `n` times. + * + * @static + * @memberOf _ + * @category Functions + * @param {number} n The number of times the function must be called before + * `func` is executed. + * @param {Function} func The function to restrict. + * @returns {Function} Returns the new restricted function. + * @example + * + * var saves = ['profile', 'settings']; + * + * var done = _.after(saves.length, function() { + * console.log('Done saving!'); + * }); + * + * _.forEach(saves, function(type) { + * asyncSave({ 'type': type, 'complete': done }); + * }); + * // => logs 'Done saving!', after all saves have completed + */ + function after(n, func) { + if (!isFunction(func)) { + throw new TypeError; + } + return function() { + if (--n < 1) { + return func.apply(this, arguments); + } + }; + } + + /** + * Creates a function that, when called, invokes `func` with the `this` + * binding of `thisArg` and prepends any additional `bind` arguments to those + * provided to the bound function. + * + * @static + * @memberOf _ + * @category Functions + * @param {Function} func The function to bind. + * @param {*} [thisArg] The `this` binding of `func`. + * @param {...*} [arg] Arguments to be partially applied. + * @returns {Function} Returns the new bound function. + * @example + * + * var func = function(greeting) { + * return greeting + ' ' + this.name; + * }; + * + * func = _.bind(func, { 'name': 'fred' }, 'hi'); + * func(); + * // => 'hi fred' + */ + function bind(func, thisArg) { + return arguments.length > 2 + ? createWrapper(func, 17, slice(arguments, 2), null, thisArg) + : createWrapper(func, 1, null, null, thisArg); + } + + /** + * Binds methods of an object to the object itself, overwriting the existing + * method. Method names may be specified as individual arguments or as arrays + * of method names. If no method names are provided all the function properties + * of `object` will be bound. + * + * @static + * @memberOf _ + * @category Functions + * @param {Object} object The object to bind and assign the bound methods to. + * @param {...string} [methodName] The object method names to + * bind, specified as individual method names or arrays of method names. + * @returns {Object} Returns `object`. + * @example + * + * var view = { + * 'label': 'docs', + * 'onClick': function() { console.log('clicked ' + this.label); } + * }; + * + * _.bindAll(view); + * jQuery('#docs').on('click', view.onClick); + * // => logs 'clicked docs', when the button is clicked + */ + function bindAll(object) { + var funcs = arguments.length > 1 ? baseFlatten(arguments, true, false, 1) : functions(object), + index = -1, + length = funcs.length; + + while (++index < length) { + var key = funcs[index]; + object[key] = createWrapper(object[key], 1, null, null, object); + } + return object; + } + + /** + * Creates a function that, when called, invokes the method at `object[key]` + * and prepends any additional `bindKey` arguments to those provided to the bound + * function. This method differs from `_.bind` by allowing bound functions to + * reference methods that will be redefined or don't yet exist. + * See http://michaux.ca/articles/lazy-function-definition-pattern. + * + * @static + * @memberOf _ + * @category Functions + * @param {Object} object The object the method belongs to. + * @param {string} key The key of the method. + * @param {...*} [arg] Arguments to be partially applied. + * @returns {Function} Returns the new bound function. + * @example + * + * var object = { + * 'name': 'fred', + * 'greet': function(greeting) { + * return greeting + ' ' + this.name; + * } + * }; + * + * var func = _.bindKey(object, 'greet', 'hi'); + * func(); + * // => 'hi fred' + * + * object.greet = function(greeting) { + * return greeting + 'ya ' + this.name + '!'; + * }; + * + * func(); + * // => 'hiya fred!' + */ + function bindKey(object, key) { + return arguments.length > 2 + ? createWrapper(key, 19, slice(arguments, 2), null, object) + : createWrapper(key, 3, null, null, object); + } + + /** + * Creates a function that is the composition of the provided functions, + * where each function consumes the return value of the function that follows. + * For example, composing the functions `f()`, `g()`, and `h()` produces `f(g(h()))`. + * Each function is executed with the `this` binding of the composed function. + * + * @static + * @memberOf _ + * @category Functions + * @param {...Function} [func] Functions to compose. + * @returns {Function} Returns the new composed function. + * @example + * + * var realNameMap = { + * 'pebbles': 'penelope' + * }; + * + * var format = function(name) { + * name = realNameMap[name.toLowerCase()] || name; + * return name.charAt(0).toUpperCase() + name.slice(1).toLowerCase(); + * }; + * + * var greet = function(formatted) { + * return 'Hiya ' + formatted + '!'; + * }; + * + * var welcome = _.compose(greet, format); + * welcome('pebbles'); + * // => 'Hiya Penelope!' + */ + function compose() { + var funcs = arguments, + length = funcs.length; + + while (length--) { + if (!isFunction(funcs[length])) { + throw new TypeError; + } + } + return function() { + var args = arguments, + length = funcs.length; + + while (length--) { + args = [funcs[length].apply(this, args)]; + } + return args[0]; + }; + } + + /** + * Creates a function which accepts one or more arguments of `func` that when + * invoked either executes `func` returning its result, if all `func` arguments + * have been provided, or returns a function that accepts one or more of the + * remaining `func` arguments, and so on. The arity of `func` can be specified + * if `func.length` is not sufficient. + * + * @static + * @memberOf _ + * @category Functions + * @param {Function} func The function to curry. + * @param {number} [arity=func.length] The arity of `func`. + * @returns {Function} Returns the new curried function. + * @example + * + * var curried = _.curry(function(a, b, c) { + * console.log(a + b + c); + * }); + * + * curried(1)(2)(3); + * // => 6 + * + * curried(1, 2)(3); + * // => 6 + * + * curried(1, 2, 3); + * // => 6 + */ + function curry(func, arity) { + arity = typeof arity == 'number' ? arity : (+arity || func.length); + return createWrapper(func, 4, null, null, null, arity); + } + + /** + * Creates a function that will delay the execution of `func` until after + * `wait` milliseconds have elapsed since the last time it was invoked. + * Provide an options object to indicate that `func` should be invoked on + * the leading and/or trailing edge of the `wait` timeout. Subsequent calls + * to the debounced function will return the result of the last `func` call. + * + * Note: If `leading` and `trailing` options are `true` `func` will be called + * on the trailing edge of the timeout only if the the debounced function is + * invoked more than once during the `wait` timeout. + * + * @static + * @memberOf _ + * @category Functions + * @param {Function} func The function to debounce. + * @param {number} wait The number of milliseconds to delay. + * @param {Object} [options] The options object. + * @param {boolean} [options.leading=false] Specify execution on the leading edge of the timeout. + * @param {number} [options.maxWait] The maximum time `func` is allowed to be delayed before it's called. + * @param {boolean} [options.trailing=true] Specify execution on the trailing edge of the timeout. + * @returns {Function} Returns the new debounced function. + * @example + * + * // avoid costly calculations while the window size is in flux + * var lazyLayout = _.debounce(calculateLayout, 150); + * jQuery(window).on('resize', lazyLayout); + * + * // execute `sendMail` when the click event is fired, debouncing subsequent calls + * jQuery('#postbox').on('click', _.debounce(sendMail, 300, { + * 'leading': true, + * 'trailing': false + * }); + * + * // ensure `batchLog` is executed once after 1 second of debounced calls + * var source = new EventSource('/stream'); + * source.addEventListener('message', _.debounce(batchLog, 250, { + * 'maxWait': 1000 + * }, false); + */ + function debounce(func, wait, options) { + var args, + maxTimeoutId, + result, + stamp, + thisArg, + timeoutId, + trailingCall, + lastCalled = 0, + maxWait = false, + trailing = true; + + if (!isFunction(func)) { + throw new TypeError; + } + wait = nativeMax(0, wait) || 0; + if (options === true) { + var leading = true; + trailing = false; + } else if (isObject(options)) { + leading = options.leading; + maxWait = 'maxWait' in options && (nativeMax(wait, options.maxWait) || 0); + trailing = 'trailing' in options ? options.trailing : trailing; + } + var delayed = function() { + var remaining = wait - (now() - stamp); + if (remaining <= 0) { + if (maxTimeoutId) { + clearTimeout(maxTimeoutId); + } + var isCalled = trailingCall; + maxTimeoutId = timeoutId = trailingCall = undefined; + if (isCalled) { + lastCalled = now(); + result = func.apply(thisArg, args); + if (!timeoutId && !maxTimeoutId) { + args = thisArg = null; + } + } + } else { + timeoutId = setTimeout(delayed, remaining); + } + }; + + var maxDelayed = function() { + if (timeoutId) { + clearTimeout(timeoutId); + } + maxTimeoutId = timeoutId = trailingCall = undefined; + if (trailing || (maxWait !== wait)) { + lastCalled = now(); + result = func.apply(thisArg, args); + if (!timeoutId && !maxTimeoutId) { + args = thisArg = null; + } + } + }; + + return function() { + args = arguments; + stamp = now(); + thisArg = this; + trailingCall = trailing && (timeoutId || !leading); + + if (maxWait === false) { + var leadingCall = leading && !timeoutId; + } else { + if (!maxTimeoutId && !leading) { + lastCalled = stamp; + } + var remaining = maxWait - (stamp - lastCalled), + isCalled = remaining <= 0; + + if (isCalled) { + if (maxTimeoutId) { + maxTimeoutId = clearTimeout(maxTimeoutId); + } + lastCalled = stamp; + result = func.apply(thisArg, args); + } + else if (!maxTimeoutId) { + maxTimeoutId = setTimeout(maxDelayed, remaining); + } + } + if (isCalled && timeoutId) { + timeoutId = clearTimeout(timeoutId); + } + else if (!timeoutId && wait !== maxWait) { + timeoutId = setTimeout(delayed, wait); + } + if (leadingCall) { + isCalled = true; + result = func.apply(thisArg, args); + } + if (isCalled && !timeoutId && !maxTimeoutId) { + args = thisArg = null; + } + return result; + }; + } + + /** + * Defers executing the `func` function until the current call stack has cleared. + * Additional arguments will be provided to `func` when it is invoked. + * + * @static + * @memberOf _ + * @category Functions + * @param {Function} func The function to defer. + * @param {...*} [arg] Arguments to invoke the function with. + * @returns {number} Returns the timer id. + * @example + * + * _.defer(function(text) { console.log(text); }, 'deferred'); + * // logs 'deferred' after one or more milliseconds + */ + function defer(func) { + if (!isFunction(func)) { + throw new TypeError; + } + var args = slice(arguments, 1); + return setTimeout(function() { func.apply(undefined, args); }, 1); + } + + /** + * Executes the `func` function after `wait` milliseconds. Additional arguments + * will be provided to `func` when it is invoked. + * + * @static + * @memberOf _ + * @category Functions + * @param {Function} func The function to delay. + * @param {number} wait The number of milliseconds to delay execution. + * @param {...*} [arg] Arguments to invoke the function with. + * @returns {number} Returns the timer id. + * @example + * + * _.delay(function(text) { console.log(text); }, 1000, 'later'); + * // => logs 'later' after one second + */ + function delay(func, wait) { + if (!isFunction(func)) { + throw new TypeError; + } + var args = slice(arguments, 2); + return setTimeout(function() { func.apply(undefined, args); }, wait); + } + + /** + * Creates a function that memoizes the result of `func`. If `resolver` is + * provided it will be used to determine the cache key for storing the result + * based on the arguments provided to the memoized function. By default, the + * first argument provided to the memoized function is used as the cache key. + * The `func` is executed with the `this` binding of the memoized function. + * The result cache is exposed as the `cache` property on the memoized function. + * + * @static + * @memberOf _ + * @category Functions + * @param {Function} func The function to have its output memoized. + * @param {Function} [resolver] A function used to resolve the cache key. + * @returns {Function} Returns the new memoizing function. + * @example + * + * var fibonacci = _.memoize(function(n) { + * return n < 2 ? n : fibonacci(n - 1) + fibonacci(n - 2); + * }); + * + * fibonacci(9) + * // => 34 + * + * var data = { + * 'fred': { 'name': 'fred', 'age': 40 }, + * 'pebbles': { 'name': 'pebbles', 'age': 1 } + * }; + * + * // modifying the result cache + * var get = _.memoize(function(name) { return data[name]; }, _.identity); + * get('pebbles'); + * // => { 'name': 'pebbles', 'age': 1 } + * + * get.cache.pebbles.name = 'penelope'; + * get('pebbles'); + * // => { 'name': 'penelope', 'age': 1 } + */ + function memoize(func, resolver) { + if (!isFunction(func)) { + throw new TypeError; + } + var memoized = function() { + var cache = memoized.cache, + key = resolver ? resolver.apply(this, arguments) : keyPrefix + arguments[0]; + + return hasOwnProperty.call(cache, key) + ? cache[key] + : (cache[key] = func.apply(this, arguments)); + } + memoized.cache = {}; + return memoized; + } + + /** + * Creates a function that is restricted to execute `func` once. Repeat calls to + * the function will return the value of the first call. The `func` is executed + * with the `this` binding of the created function. + * + * @static + * @memberOf _ + * @category Functions + * @param {Function} func The function to restrict. + * @returns {Function} Returns the new restricted function. + * @example + * + * var initialize = _.once(createApplication); + * initialize(); + * initialize(); + * // `initialize` executes `createApplication` once + */ + function once(func) { + var ran, + result; + + if (!isFunction(func)) { + throw new TypeError; + } + return function() { + if (ran) { + return result; + } + ran = true; + result = func.apply(this, arguments); + + // clear the `func` variable so the function may be garbage collected + func = null; + return result; + }; + } + + /** + * Creates a function that, when called, invokes `func` with any additional + * `partial` arguments prepended to those provided to the new function. This + * method is similar to `_.bind` except it does **not** alter the `this` binding. + * + * @static + * @memberOf _ + * @category Functions + * @param {Function} func The function to partially apply arguments to. + * @param {...*} [arg] Arguments to be partially applied. + * @returns {Function} Returns the new partially applied function. + * @example + * + * var greet = function(greeting, name) { return greeting + ' ' + name; }; + * var hi = _.partial(greet, 'hi'); + * hi('fred'); + * // => 'hi fred' + */ + function partial(func) { + return createWrapper(func, 16, slice(arguments, 1)); + } + + /** + * This method is like `_.partial` except that `partial` arguments are + * appended to those provided to the new function. + * + * @static + * @memberOf _ + * @category Functions + * @param {Function} func The function to partially apply arguments to. + * @param {...*} [arg] Arguments to be partially applied. + * @returns {Function} Returns the new partially applied function. + * @example + * + * var defaultsDeep = _.partialRight(_.merge, _.defaults); + * + * var options = { + * 'variable': 'data', + * 'imports': { 'jq': $ } + * }; + * + * defaultsDeep(options, _.templateSettings); + * + * options.variable + * // => 'data' + * + * options.imports + * // => { '_': _, 'jq': $ } + */ + function partialRight(func) { + return createWrapper(func, 32, null, slice(arguments, 1)); + } + + /** + * Creates a function that, when executed, will only call the `func` function + * at most once per every `wait` milliseconds. Provide an options object to + * indicate that `func` should be invoked on the leading and/or trailing edge + * of the `wait` timeout. Subsequent calls to the throttled function will + * return the result of the last `func` call. + * + * Note: If `leading` and `trailing` options are `true` `func` will be called + * on the trailing edge of the timeout only if the the throttled function is + * invoked more than once during the `wait` timeout. + * + * @static + * @memberOf _ + * @category Functions + * @param {Function} func The function to throttle. + * @param {number} wait The number of milliseconds to throttle executions to. + * @param {Object} [options] The options object. + * @param {boolean} [options.leading=true] Specify execution on the leading edge of the timeout. + * @param {boolean} [options.trailing=true] Specify execution on the trailing edge of the timeout. + * @returns {Function} Returns the new throttled function. + * @example + * + * // avoid excessively updating the position while scrolling + * var throttled = _.throttle(updatePosition, 100); + * jQuery(window).on('scroll', throttled); + * + * // execute `renewToken` when the click event is fired, but not more than once every 5 minutes + * jQuery('.interactive').on('click', _.throttle(renewToken, 300000, { + * 'trailing': false + * })); + */ + function throttle(func, wait, options) { + var leading = true, + trailing = true; + + if (!isFunction(func)) { + throw new TypeError; + } + if (options === false) { + leading = false; + } else if (isObject(options)) { + leading = 'leading' in options ? options.leading : leading; + trailing = 'trailing' in options ? options.trailing : trailing; + } + debounceOptions.leading = leading; + debounceOptions.maxWait = wait; + debounceOptions.trailing = trailing; + + return debounce(func, wait, debounceOptions); + } + + /** + * Creates a function that provides `value` to the wrapper function as its + * first argument. Additional arguments provided to the function are appended + * to those provided to the wrapper function. The wrapper is executed with + * the `this` binding of the created function. + * + * @static + * @memberOf _ + * @category Functions + * @param {*} value The value to wrap. + * @param {Function} wrapper The wrapper function. + * @returns {Function} Returns the new function. + * @example + * + * var p = _.wrap(_.escape, function(func, text) { + * return '

' + func(text) + '

'; + * }); + * + * p('Fred, Wilma, & Pebbles'); + * // => '

Fred, Wilma, & Pebbles

' + */ + function wrap(value, wrapper) { + return createWrapper(wrapper, 16, [value]); + } + + /*--------------------------------------------------------------------------*/ + + /** + * Creates a function that returns `value`. + * + * @static + * @memberOf _ + * @category Utilities + * @param {*} value The value to return from the new function. + * @returns {Function} Returns the new function. + * @example + * + * var object = { 'name': 'fred' }; + * var getter = _.constant(object); + * getter() === object; + * // => true + */ + function constant(value) { + return function() { + return value; + }; + } + + /** + * Produces a callback bound to an optional `thisArg`. If `func` is a property + * name the created callback will return the property value for a given element. + * If `func` is an object the created callback will return `true` for elements + * that contain the equivalent object properties, otherwise it will return `false`. + * + * @static + * @memberOf _ + * @category Utilities + * @param {*} [func=identity] The value to convert to a callback. + * @param {*} [thisArg] The `this` binding of the created callback. + * @param {number} [argCount] The number of arguments the callback accepts. + * @returns {Function} Returns a callback function. + * @example + * + * var characters = [ + * { 'name': 'barney', 'age': 36 }, + * { 'name': 'fred', 'age': 40 } + * ]; + * + * // wrap to create custom callback shorthands + * _.createCallback = _.wrap(_.createCallback, function(func, callback, thisArg) { + * var match = /^(.+?)__([gl]t)(.+)$/.exec(callback); + * return !match ? func(callback, thisArg) : function(object) { + * return match[2] == 'gt' ? object[match[1]] > match[3] : object[match[1]] < match[3]; + * }; + * }); + * + * _.filter(characters, 'age__gt38'); + * // => [{ 'name': 'fred', 'age': 40 }] + */ + function createCallback(func, thisArg, argCount) { + var type = typeof func; + if (func == null || type == 'function') { + return baseCreateCallback(func, thisArg, argCount); + } + // handle "_.pluck" style callback shorthands + if (type != 'object') { + return property(func); + } + var props = keys(func), + key = props[0], + a = func[key]; + + // handle "_.where" style callback shorthands + if (props.length == 1 && a === a && !isObject(a)) { + // fast path the common case of providing an object with a single + // property containing a primitive value + return function(object) { + var b = object[key]; + return a === b && (a !== 0 || (1 / a == 1 / b)); + }; + } + return function(object) { + var length = props.length, + result = false; + + while (length--) { + if (!(result = baseIsEqual(object[props[length]], func[props[length]], null, true))) { + break; + } + } + return result; + }; + } + + /** + * Converts the characters `&`, `<`, `>`, `"`, and `'` in `string` to their + * corresponding HTML entities. + * + * @static + * @memberOf _ + * @category Utilities + * @param {string} string The string to escape. + * @returns {string} Returns the escaped string. + * @example + * + * _.escape('Fred, Wilma, & Pebbles'); + * // => 'Fred, Wilma, & Pebbles' + */ + function escape(string) { + return string == null ? '' : String(string).replace(reUnescapedHtml, escapeHtmlChar); + } + + /** + * This method returns the first argument provided to it. + * + * @static + * @memberOf _ + * @category Utilities + * @param {*} value Any value. + * @returns {*} Returns `value`. + * @example + * + * var object = { 'name': 'fred' }; + * _.identity(object) === object; + * // => true + */ + function identity(value) { + return value; + } + + /** + * Adds function properties of a source object to the destination object. + * If `object` is a function methods will be added to its prototype as well. + * + * @static + * @memberOf _ + * @category Utilities + * @param {Function|Object} [object=lodash] object The destination object. + * @param {Object} source The object of functions to add. + * @param {Object} [options] The options object. + * @param {boolean} [options.chain=true] Specify whether the functions added are chainable. + * @example + * + * function capitalize(string) { + * return string.charAt(0).toUpperCase() + string.slice(1).toLowerCase(); + * } + * + * _.mixin({ 'capitalize': capitalize }); + * _.capitalize('fred'); + * // => 'Fred' + * + * _('fred').capitalize().value(); + * // => 'Fred' + * + * _.mixin({ 'capitalize': capitalize }, { 'chain': false }); + * _('fred').capitalize(); + * // => 'Fred' + */ + function mixin(object, source, options) { + var chain = true, + methodNames = source && functions(source); + + if (!source || (!options && !methodNames.length)) { + if (options == null) { + options = source; + } + ctor = lodashWrapper; + source = object; + object = lodash; + methodNames = functions(source); + } + if (options === false) { + chain = false; + } else if (isObject(options) && 'chain' in options) { + chain = options.chain; + } + var ctor = object, + isFunc = isFunction(ctor); + + forEach(methodNames, function(methodName) { + var func = object[methodName] = source[methodName]; + if (isFunc) { + ctor.prototype[methodName] = function() { + var chainAll = this.__chain__, + value = this.__wrapped__, + args = [value]; + + push.apply(args, arguments); + var result = func.apply(object, args); + if (chain || chainAll) { + if (value === result && isObject(result)) { + return this; + } + result = new ctor(result); + result.__chain__ = chainAll; + } + return result; + }; + } + }); + } + + /** + * Reverts the '_' variable to its previous value and returns a reference to + * the `lodash` function. + * + * @static + * @memberOf _ + * @category Utilities + * @returns {Function} Returns the `lodash` function. + * @example + * + * var lodash = _.noConflict(); + */ + function noConflict() { + context._ = oldDash; + return this; + } + + /** + * A no-operation function. + * + * @static + * @memberOf _ + * @category Utilities + * @example + * + * var object = { 'name': 'fred' }; + * _.noop(object) === undefined; + * // => true + */ + function noop() { + // no operation performed + } + + /** + * Gets the number of milliseconds that have elapsed since the Unix epoch + * (1 January 1970 00:00:00 UTC). + * + * @static + * @memberOf _ + * @category Utilities + * @example + * + * var stamp = _.now(); + * _.defer(function() { console.log(_.now() - stamp); }); + * // => logs the number of milliseconds it took for the deferred function to be called + */ + var now = isNative(now = Date.now) && now || function() { + return new Date().getTime(); + }; + + /** + * Converts the given value into an integer of the specified radix. + * If `radix` is `undefined` or `0` a `radix` of `10` is used unless the + * `value` is a hexadecimal, in which case a `radix` of `16` is used. + * + * Note: This method avoids differences in native ES3 and ES5 `parseInt` + * implementations. See http://es5.github.io/#E. + * + * @static + * @memberOf _ + * @category Utilities + * @param {string} value The value to parse. + * @param {number} [radix] The radix used to interpret the value to parse. + * @returns {number} Returns the new integer value. + * @example + * + * _.parseInt('08'); + * // => 8 + */ + var parseInt = nativeParseInt(whitespace + '08') == 8 ? nativeParseInt : function(value, radix) { + // Firefox < 21 and Opera < 15 follow the ES3 specified implementation of `parseInt` + return nativeParseInt(isString(value) ? value.replace(reLeadingSpacesAndZeros, '') : value, radix || 0); + }; + + /** + * Creates a "_.pluck" style function, which returns the `key` value of a + * given object. + * + * @static + * @memberOf _ + * @category Utilities + * @param {string} key The name of the property to retrieve. + * @returns {Function} Returns the new function. + * @example + * + * var characters = [ + * { 'name': 'fred', 'age': 40 }, + * { 'name': 'barney', 'age': 36 } + * ]; + * + * var getName = _.property('name'); + * + * _.map(characters, getName); + * // => ['barney', 'fred'] + * + * _.sortBy(characters, getName); + * // => [{ 'name': 'barney', 'age': 36 }, { 'name': 'fred', 'age': 40 }] + */ + function property(key) { + return function(object) { + return object[key]; + }; + } + + /** + * Produces a random number between `min` and `max` (inclusive). If only one + * argument is provided a number between `0` and the given number will be + * returned. If `floating` is truey or either `min` or `max` are floats a + * floating-point number will be returned instead of an integer. + * + * @static + * @memberOf _ + * @category Utilities + * @param {number} [min=0] The minimum possible value. + * @param {number} [max=1] The maximum possible value. + * @param {boolean} [floating=false] Specify returning a floating-point number. + * @returns {number} Returns a random number. + * @example + * + * _.random(0, 5); + * // => an integer between 0 and 5 + * + * _.random(5); + * // => also an integer between 0 and 5 + * + * _.random(5, true); + * // => a floating-point number between 0 and 5 + * + * _.random(1.2, 5.2); + * // => a floating-point number between 1.2 and 5.2 + */ + function random(min, max, floating) { + var noMin = min == null, + noMax = max == null; + + if (floating == null) { + if (typeof min == 'boolean' && noMax) { + floating = min; + min = 1; + } + else if (!noMax && typeof max == 'boolean') { + floating = max; + noMax = true; + } + } + if (noMin && noMax) { + max = 1; + } + min = +min || 0; + if (noMax) { + max = min; + min = 0; + } else { + max = +max || 0; + } + if (floating || min % 1 || max % 1) { + var rand = nativeRandom(); + return nativeMin(min + (rand * (max - min + parseFloat('1e-' + ((rand +'').length - 1)))), max); + } + return baseRandom(min, max); + } + + /** + * Resolves the value of property `key` on `object`. If `key` is a function + * it will be invoked with the `this` binding of `object` and its result returned, + * else the property value is returned. If `object` is falsey then `undefined` + * is returned. + * + * @static + * @memberOf _ + * @category Utilities + * @param {Object} object The object to inspect. + * @param {string} key The name of the property to resolve. + * @returns {*} Returns the resolved value. + * @example + * + * var object = { + * 'cheese': 'crumpets', + * 'stuff': function() { + * return 'nonsense'; + * } + * }; + * + * _.result(object, 'cheese'); + * // => 'crumpets' + * + * _.result(object, 'stuff'); + * // => 'nonsense' + */ + function result(object, key) { + if (object) { + var value = object[key]; + return isFunction(value) ? object[key]() : value; + } + } + + /** + * A micro-templating method that handles arbitrary delimiters, preserves + * whitespace, and correctly escapes quotes within interpolated code. + * + * Note: In the development build, `_.template` utilizes sourceURLs for easier + * debugging. See http://www.html5rocks.com/en/tutorials/developertools/sourcemaps/#toc-sourceurl + * + * For more information on precompiling templates see: + * https://lodash.com/custom-builds + * + * For more information on Chrome extension sandboxes see: + * http://developer.chrome.com/stable/extensions/sandboxingEval.html + * + * @static + * @memberOf _ + * @category Utilities + * @param {string} text The template text. + * @param {Object} data The data object used to populate the text. + * @param {Object} [options] The options object. + * @param {RegExp} [options.escape] The "escape" delimiter. + * @param {RegExp} [options.evaluate] The "evaluate" delimiter. + * @param {Object} [options.imports] An object to import into the template as local variables. + * @param {RegExp} [options.interpolate] The "interpolate" delimiter. + * @param {string} [sourceURL] The sourceURL of the template's compiled source. + * @param {string} [variable] The data object variable name. + * @returns {Function|string} Returns a compiled function when no `data` object + * is given, else it returns the interpolated text. + * @example + * + * // using the "interpolate" delimiter to create a compiled template + * var compiled = _.template('hello <%= name %>'); + * compiled({ 'name': 'fred' }); + * // => 'hello fred' + * + * // using the "escape" delimiter to escape HTML in data property values + * _.template('<%- value %>', { 'value': '